]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
cert management: move some headings a level up for better visibility
[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" : {
e9cd3bd4 9 "allowtoken" : 1,
5d9c884c
DM
10 "description" : "Mark replication job for removal.",
11 "method" : "DELETE",
12 "name" : "delete",
13 "parameters" : {
14 "additionalProperties" : 0,
15 "properties" : {
16 "force" : {
17 "default" : 0,
18 "description" : "Will remove the jobconfig entry, but will not cleanup.",
19 "optional" : 1,
20 "type" : "boolean",
21 "typetext" : "<boolean>"
22 },
23 "id" : {
24 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25 "format" : "pve-replication-job-id",
26 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
27 "type" : "string"
28 },
29 "keep" : {
30 "default" : 0,
31 "description" : "Keep replicated data at target (do not remove).",
32 "optional" : 1,
33 "type" : "boolean",
34 "typetext" : "<boolean>"
35 }
36 }
37 },
38 "permissions" : {
39 "check" : [
40 "perm",
41 "/storage",
42 [
43 "Datastore.Allocate"
44 ]
45 ]
46 },
47 "protected" : 1,
48 "returns" : {
49 "type" : "null"
50 }
51 },
52 "GET" : {
e9cd3bd4 53 "allowtoken" : 1,
5d9c884c
DM
54 "description" : "Read replication job configuration.",
55 "method" : "GET",
56 "name" : "read",
57 "parameters" : {
58 "additionalProperties" : 0,
59 "properties" : {
60 "id" : {
61 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
62 "format" : "pve-replication-job-id",
63 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
64 "type" : "string"
65 }
66 }
67 },
68 "permissions" : {
69 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
70 "user" : "all"
71 },
72 "returns" : {
73 "type" : "object"
74 }
75 },
76 "PUT" : {
e9cd3bd4 77 "allowtoken" : 1,
5d9c884c
DM
78 "description" : "Update replication job configuration.",
79 "method" : "PUT",
80 "name" : "update",
81 "parameters" : {
82 "additionalProperties" : 0,
83 "properties" : {
84 "comment" : {
85 "description" : "Description.",
86 "maxLength" : 4096,
87 "optional" : 1,
88 "type" : "string",
89 "typetext" : "<string>"
90 },
91 "delete" : {
92 "description" : "A list of settings you want to delete.",
93 "format" : "pve-configid-list",
94 "maxLength" : 4096,
95 "optional" : 1,
96 "type" : "string",
97 "typetext" : "<string>"
98 },
99 "digest" : {
100 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
101 "maxLength" : 40,
102 "optional" : 1,
103 "type" : "string",
104 "typetext" : "<string>"
105 },
106 "disable" : {
107 "description" : "Flag to disable/deactivate the entry.",
108 "optional" : 1,
109 "type" : "boolean",
110 "typetext" : "<boolean>"
111 },
112 "id" : {
113 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
114 "format" : "pve-replication-job-id",
115 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
116 "type" : "string"
117 },
118 "rate" : {
119 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
120 "minimum" : 1,
121 "optional" : 1,
122 "type" : "number",
123 "typetext" : "<number> (1 - N)"
124 },
125 "remove_job" : {
126 "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.",
127 "enum" : [
128 "local",
129 "full"
130 ],
131 "optional" : 1,
132 "type" : "string"
133 },
134 "schedule" : {
135 "default" : "*/15",
136 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
137 "format" : "pve-calendar-event",
138 "maxLength" : 128,
139 "optional" : 1,
140 "type" : "string",
141 "typetext" : "<string>"
a9a8e3d1
DM
142 },
143 "source" : {
144 "description" : "Source of the replication.",
145 "format" : "pve-node",
146 "optional" : 1,
147 "type" : "string",
148 "typetext" : "<string>"
5d9c884c
DM
149 }
150 },
151 "type" : "object"
152 },
153 "permissions" : {
154 "check" : [
155 "perm",
156 "/storage",
157 [
158 "Datastore.Allocate"
159 ]
160 ]
161 },
162 "protected" : 1,
163 "returns" : {
164 "type" : "null"
165 }
166 }
167 },
168 "leaf" : 1,
169 "path" : "/cluster/replication/{id}",
170 "text" : "{id}"
171 }
172 ],
173 "info" : {
174 "GET" : {
e9cd3bd4 175 "allowtoken" : 1,
5d9c884c
DM
176 "description" : "List replication jobs.",
177 "method" : "GET",
178 "name" : "index",
179 "parameters" : {
180 "additionalProperties" : 0
181 },
182 "permissions" : {
183 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
184 "user" : "all"
185 },
186 "returns" : {
187 "items" : {
188 "properties" : {},
189 "type" : "object"
190 },
191 "links" : [
192 {
193 "href" : "{id}",
194 "rel" : "child"
195 }
196 ],
197 "type" : "array"
198 }
199 },
200 "POST" : {
e9cd3bd4 201 "allowtoken" : 1,
5d9c884c
DM
202 "description" : "Create a new replication job",
203 "method" : "POST",
204 "name" : "create",
205 "parameters" : {
206 "additionalProperties" : 0,
207 "properties" : {
208 "comment" : {
209 "description" : "Description.",
210 "maxLength" : 4096,
211 "optional" : 1,
212 "type" : "string",
213 "typetext" : "<string>"
214 },
215 "disable" : {
216 "description" : "Flag to disable/deactivate the entry.",
217 "optional" : 1,
218 "type" : "boolean",
219 "typetext" : "<boolean>"
220 },
221 "id" : {
222 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
223 "format" : "pve-replication-job-id",
224 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
225 "type" : "string"
226 },
227 "rate" : {
228 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
229 "minimum" : 1,
230 "optional" : 1,
231 "type" : "number",
232 "typetext" : "<number> (1 - N)"
233 },
234 "remove_job" : {
235 "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.",
236 "enum" : [
237 "local",
238 "full"
239 ],
240 "optional" : 1,
241 "type" : "string"
242 },
243 "schedule" : {
244 "default" : "*/15",
245 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
246 "format" : "pve-calendar-event",
247 "maxLength" : 128,
248 "optional" : 1,
249 "type" : "string",
250 "typetext" : "<string>"
251 },
a9a8e3d1
DM
252 "source" : {
253 "description" : "Source of the replication.",
254 "format" : "pve-node",
255 "optional" : 1,
256 "type" : "string",
257 "typetext" : "<string>"
258 },
5d9c884c
DM
259 "target" : {
260 "description" : "Target node.",
261 "format" : "pve-node",
262 "optional" : 0,
263 "type" : "string",
264 "typetext" : "<string>"
265 },
266 "type" : {
267 "description" : "Section type.",
268 "enum" : [
269 "local"
270 ],
271 "type" : "string"
272 }
273 },
274 "type" : "object"
275 },
276 "permissions" : {
277 "check" : [
278 "perm",
279 "/storage",
280 [
281 "Datastore.Allocate"
282 ]
283 ]
284 },
285 "protected" : 1,
286 "returns" : {
287 "type" : "null"
288 }
289 }
290 },
291 "leaf" : 0,
292 "path" : "/cluster/replication",
293 "text" : "replication"
294 },
32d876b5
DM
295 {
296 "children" : [
297 {
27a7acb2
DM
298 "children" : [
299 {
300 "info" : {
301 "DELETE" : {
e9cd3bd4 302 "allowtoken" : 1,
27a7acb2
DM
303 "description" : "Removes a node from the cluster configuration.",
304 "method" : "DELETE",
305 "name" : "delnode",
306 "parameters" : {
307 "additionalProperties" : 0,
308 "properties" : {
309 "node" : {
310 "description" : "The cluster node name.",
311 "format" : "pve-node",
312 "type" : "string",
313 "typetext" : "<string>"
314 }
315 }
316 },
317 "protected" : 1,
318 "returns" : {
319 "type" : "null"
320 }
321 },
322 "POST" : {
e9cd3bd4 323 "allowtoken" : 1,
e2d681b3 324 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
325 "method" : "POST",
326 "name" : "addnode",
327 "parameters" : {
328 "additionalProperties" : 0,
329 "properties" : {
330 "force" : {
331 "description" : "Do not throw error if node already exists.",
332 "optional" : 1,
333 "type" : "boolean",
334 "typetext" : "<boolean>"
335 },
1e3f8156
TL
336 "link[n]" : {
337 "description" : "Address and priority information of a single corosync link.",
338 "format" : {
339 "address" : {
340 "default_key" : 1,
341 "description" : "Hostname (or IP) of this corosync link address.",
342 "format" : "address",
343 "format_description" : "IP",
344 "type" : "string"
345 },
346 "priority" : {
347 "default" : 0,
348 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
349 "maximum" : 255,
350 "minimum" : 0,
351 "optional" : 1,
352 "type" : "integer"
353 }
354 },
355 "optional" : 1,
356 "type" : "string",
357 "typetext" : "[address=]<IP> [,priority=<integer>]"
358 },
27a7acb2
DM
359 "node" : {
360 "description" : "The cluster node name.",
361 "format" : "pve-node",
362 "type" : "string",
363 "typetext" : "<string>"
364 },
365 "nodeid" : {
366 "description" : "Node id for this node.",
367 "minimum" : 1,
368 "optional" : 1,
369 "type" : "integer",
370 "typetext" : "<integer> (1 - N)"
371 },
27a7acb2
DM
372 "votes" : {
373 "description" : "Number of votes for this node",
374 "minimum" : 0,
375 "optional" : 1,
376 "type" : "integer",
377 "typetext" : "<integer> (0 - N)"
378 }
379 }
380 },
381 "protected" : 1,
382 "returns" : {
383 "properties" : {
384 "corosync_authkey" : {
385 "type" : "string"
386 },
387 "corosync_conf" : {
388 "type" : "string"
389 }
390 },
391 "type" : "object"
392 }
393 }
394 },
395 "leaf" : 1,
396 "path" : "/cluster/config/nodes/{node}",
397 "text" : "{node}"
398 }
399 ],
32d876b5
DM
400 "info" : {
401 "GET" : {
e9cd3bd4 402 "allowtoken" : 1,
32d876b5
DM
403 "description" : "Corosync node list.",
404 "method" : "GET",
405 "name" : "nodes",
406 "parameters" : {
407 "additionalProperties" : 0
408 },
5d9c884c
DM
409 "permissions" : {
410 "check" : [
411 "perm",
412 "/",
413 [
414 "Sys.Audit"
415 ]
416 ]
417 },
32d876b5
DM
418 "returns" : {
419 "items" : {
420 "properties" : {
421 "node" : {
422 "type" : "string"
423 }
424 },
425 "type" : "object"
426 },
427 "links" : [
428 {
429 "href" : "{node}",
430 "rel" : "child"
431 }
432 ],
433 "type" : "array"
434 }
435 }
436 },
27a7acb2 437 "leaf" : 0,
32d876b5
DM
438 "path" : "/cluster/config/nodes",
439 "text" : "nodes"
440 },
27a7acb2
DM
441 {
442 "info" : {
443 "GET" : {
e9cd3bd4 444 "allowtoken" : 1,
27a7acb2
DM
445 "description" : "Get information needed to join this cluster over the connected node.",
446 "method" : "GET",
447 "name" : "join_info",
448 "parameters" : {
449 "additionalProperties" : 0,
450 "properties" : {
451 "node" : {
452 "default" : "current connected node",
453 "description" : "The node for which the joinee gets the nodeinfo. ",
454 "format" : "pve-node",
455 "optional" : 1,
456 "type" : "string",
457 "typetext" : "<string>"
458 }
459 }
460 },
a9a8e3d1
DM
461 "permissions" : {
462 "check" : [
463 "perm",
464 "/",
465 [
466 "Sys.Audit"
467 ]
468 ]
469 },
27a7acb2
DM
470 "returns" : {
471 "additionalProperties" : 0,
472 "properties" : {
473 "config_digest" : {
474 "type" : "string"
475 },
476 "nodelist" : {
477 "items" : {
478 "additionalProperties" : 1,
479 "properties" : {
480 "name" : {
481 "description" : "The cluster node name.",
482 "format" : "pve-node",
483 "type" : "string"
484 },
485 "nodeid" : {
486 "description" : "Node id for this node.",
487 "minimum" : 1,
488 "optional" : 1,
489 "type" : "integer"
490 },
491 "pve_addr" : {
492 "format" : "ip",
493 "type" : "string"
494 },
495 "pve_fp" : {
496 "description" : "Certificate SHA 256 fingerprint.",
497 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
498 "type" : "string"
499 },
500 "quorum_votes" : {
501 "minimum" : 0,
502 "type" : "integer"
503 },
504 "ring0_addr" : {
1e3f8156
TL
505 "description" : "Address and priority information of a single corosync link.",
506 "format" : {
507 "address" : {
508 "default_key" : 1,
509 "description" : "Hostname (or IP) of this corosync link address.",
510 "format" : "address",
511 "format_description" : "IP",
512 "type" : "string"
513 },
514 "priority" : {
515 "default" : 0,
516 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
517 "maximum" : 255,
518 "minimum" : 0,
519 "optional" : 1,
520 "type" : "integer"
521 }
522 },
27a7acb2
DM
523 "optional" : 1,
524 "type" : "string"
525 }
526 },
527 "type" : "object"
528 },
529 "type" : "array"
530 },
531 "preferred_node" : {
532 "description" : "The cluster node name.",
533 "format" : "pve-node",
534 "type" : "string"
535 },
536 "totem" : {
537 "type" : "object"
538 }
539 },
540 "type" : "object"
541 }
542 },
543 "POST" : {
e9cd3bd4 544 "allowtoken" : 1,
27a7acb2
DM
545 "description" : "Joins this node into an existing cluster.",
546 "method" : "POST",
547 "name" : "join",
548 "parameters" : {
549 "additionalProperties" : 0,
550 "properties" : {
551 "fingerprint" : {
552 "description" : "Certificate SHA 256 fingerprint.",
553 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
554 "type" : "string"
555 },
556 "force" : {
557 "description" : "Do not throw error if node already exists.",
558 "optional" : 1,
559 "type" : "boolean",
560 "typetext" : "<boolean>"
561 },
562 "hostname" : {
563 "description" : "Hostname (or IP) of an existing cluster member.",
564 "type" : "string",
565 "typetext" : "<string>"
566 },
1e3f8156
TL
567 "link[n]" : {
568 "default" : "IP resolved by node's hostname",
569 "description" : "Address and priority information of a single corosync link.",
570 "format" : {
571 "address" : {
572 "default_key" : 1,
573 "description" : "Hostname (or IP) of this corosync link address.",
574 "format" : "address",
575 "format_description" : "IP",
576 "type" : "string"
577 },
578 "priority" : {
579 "default" : 0,
580 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
581 "maximum" : 255,
582 "minimum" : 0,
583 "optional" : 1,
584 "type" : "integer"
585 }
586 },
587 "optional" : 1,
588 "type" : "string",
589 "typetext" : "[address=]<IP> [,priority=<integer>]"
590 },
27a7acb2
DM
591 "nodeid" : {
592 "description" : "Node id for this node.",
593 "minimum" : 1,
594 "optional" : 1,
595 "type" : "integer",
596 "typetext" : "<integer> (1 - N)"
597 },
598 "password" : {
599 "description" : "Superuser (root) password of peer node.",
600 "maxLength" : 128,
601 "type" : "string",
602 "typetext" : "<string>"
603 },
27a7acb2
DM
604 "votes" : {
605 "description" : "Number of votes for this node",
606 "minimum" : 0,
607 "optional" : 1,
608 "type" : "integer",
609 "typetext" : "<integer> (0 - N)"
610 }
611 }
612 },
613 "protected" : 1,
614 "returns" : {
615 "type" : "string"
616 }
617 }
618 },
619 "leaf" : 1,
620 "path" : "/cluster/config/join",
621 "text" : "join"
622 },
32d876b5
DM
623 {
624 "info" : {
625 "GET" : {
e9cd3bd4 626 "allowtoken" : 1,
32d876b5
DM
627 "description" : "Get corosync totem protocol settings.",
628 "method" : "GET",
629 "name" : "totem",
630 "parameters" : {
631 "additionalProperties" : 0
632 },
5d9c884c
DM
633 "permissions" : {
634 "check" : [
635 "perm",
636 "/",
637 [
638 "Sys.Audit"
639 ]
640 ]
641 },
32d876b5 642 "returns" : {
32d876b5
DM
643 "type" : "object"
644 }
645 }
646 },
647 "leaf" : 1,
648 "path" : "/cluster/config/totem",
649 "text" : "totem"
9226ccbc
TL
650 },
651 {
652 "info" : {
653 "GET" : {
e9cd3bd4 654 "allowtoken" : 1,
9226ccbc
TL
655 "description" : "Get QDevice status",
656 "method" : "GET",
657 "name" : "status",
658 "parameters" : {
659 "additionalProperties" : 0
660 },
661 "permissions" : {
662 "check" : [
663 "perm",
664 "/",
665 [
666 "Sys.Audit"
667 ]
668 ]
669 },
670 "returns" : {
671 "type" : "object"
672 }
673 }
674 },
675 "leaf" : 1,
676 "path" : "/cluster/config/qdevice",
677 "text" : "qdevice"
32d876b5
DM
678 }
679 ],
680 "info" : {
681 "GET" : {
e9cd3bd4 682 "allowtoken" : 1,
32d876b5
DM
683 "description" : "Directory index.",
684 "method" : "GET",
685 "name" : "index",
686 "parameters" : {
687 "additionalProperties" : 0
688 },
5d9c884c
DM
689 "permissions" : {
690 "check" : [
691 "perm",
692 "/",
693 [
694 "Sys.Audit"
695 ]
696 ]
697 },
32d876b5
DM
698 "returns" : {
699 "items" : {
700 "properties" : {},
701 "type" : "object"
702 },
703 "links" : [
704 {
705 "href" : "{name}",
706 "rel" : "child"
707 }
708 ],
709 "type" : "array"
710 }
27a7acb2
DM
711 },
712 "POST" : {
e9cd3bd4 713 "allowtoken" : 1,
27a7acb2
DM
714 "description" : "Generate new cluster configuration.",
715 "method" : "POST",
716 "name" : "create",
717 "parameters" : {
718 "additionalProperties" : 0,
719 "properties" : {
27a7acb2
DM
720 "clustername" : {
721 "description" : "The name of the cluster.",
722 "format" : "pve-node",
723 "maxLength" : 15,
724 "type" : "string",
725 "typetext" : "<string>"
726 },
1e3f8156
TL
727 "link[n]" : {
728 "description" : "Address and priority information of a single corosync link.",
729 "format" : {
730 "address" : {
731 "default_key" : 1,
732 "description" : "Hostname (or IP) of this corosync link address.",
733 "format" : "address",
734 "format_description" : "IP",
735 "type" : "string"
736 },
737 "priority" : {
738 "default" : 0,
739 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
740 "maximum" : 255,
741 "minimum" : 0,
742 "optional" : 1,
743 "type" : "integer"
744 }
745 },
746 "optional" : 1,
747 "type" : "string",
748 "typetext" : "[address=]<IP> [,priority=<integer>]"
749 },
27a7acb2
DM
750 "nodeid" : {
751 "description" : "Node id for this node.",
752 "minimum" : 1,
753 "optional" : 1,
754 "type" : "integer",
755 "typetext" : "<integer> (1 - N)"
756 },
27a7acb2
DM
757 "votes" : {
758 "description" : "Number of votes for this node.",
759 "minimum" : 1,
760 "optional" : 1,
761 "type" : "integer",
762 "typetext" : "<integer> (1 - N)"
763 }
764 }
765 },
766 "protected" : 1,
767 "returns" : {
768 "type" : "string"
769 }
32d876b5
DM
770 }
771 },
772 "leaf" : 0,
773 "path" : "/cluster/config",
774 "text" : "config"
775 },
56122987 776 {
56122987
DM
777 "children" : [
778 {
56122987
DM
779 "children" : [
780 {
44660702
DM
781 "children" : [
782 {
783 "info" : {
784 "DELETE" : {
e9cd3bd4 785 "allowtoken" : 1,
44660702
DM
786 "description" : "Delete rule.",
787 "method" : "DELETE",
788 "name" : "delete_rule",
789 "parameters" : {
790 "additionalProperties" : 0,
791 "properties" : {
792 "digest" : {
793 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
794 "maxLength" : 40,
795 "optional" : 1,
013dc89f
DM
796 "type" : "string",
797 "typetext" : "<string>"
44660702
DM
798 },
799 "group" : {
800 "description" : "Security Group name.",
4bd7df8b 801 "maxLength" : 18,
44660702
DM
802 "minLength" : 2,
803 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
804 "type" : "string"
805 },
806 "pos" : {
807 "description" : "Update rule at position <pos>.",
808 "minimum" : 0,
809 "optional" : 1,
4bd7df8b 810 "type" : "integer",
013dc89f 811 "typetext" : "<integer> (0 - N)"
44660702
DM
812 }
813 }
814 },
815 "permissions" : {
816 "check" : [
817 "perm",
818 "/",
819 [
820 "Sys.Modify"
821 ]
822 ]
823 },
824 "protected" : 1,
825 "proxyto" : null,
826 "returns" : {
827 "type" : "null"
7aacca6f
DM
828 }
829 },
44660702 830 "GET" : {
e9cd3bd4 831 "allowtoken" : 1,
44660702
DM
832 "description" : "Get single rule data.",
833 "method" : "GET",
834 "name" : "get_rule",
835 "parameters" : {
836 "additionalProperties" : 0,
837 "properties" : {
838 "group" : {
839 "description" : "Security Group name.",
4bd7df8b 840 "maxLength" : 18,
44660702
DM
841 "minLength" : 2,
842 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
843 "type" : "string"
844 },
845 "pos" : {
846 "description" : "Update rule at position <pos>.",
847 "minimum" : 0,
848 "optional" : 1,
4bd7df8b 849 "type" : "integer",
013dc89f 850 "typetext" : "<integer> (0 - N)"
44660702 851 }
7aacca6f 852 }
56122987 853 },
44660702
DM
854 "permissions" : {
855 "check" : [
856 "perm",
857 "/",
858 [
859 "Sys.Audit"
860 ]
861 ]
862 },
863 "proxyto" : null,
864 "returns" : {
865 "properties" : {
e2d681b3
TL
866 "action" : {
867 "type" : "string"
868 },
869 "comment" : {
870 "optional" : 1,
871 "type" : "string"
872 },
873 "dest" : {
874 "optional" : 1,
875 "type" : "string"
876 },
877 "dport" : {
878 "optional" : 1,
879 "type" : "string"
880 },
881 "enable" : {
882 "optional" : 1,
883 "type" : "integer"
884 },
885 "iface" : {
886 "optional" : 1,
887 "type" : "string"
888 },
889 "ipversion" : {
890 "optional" : 1,
891 "type" : "integer"
892 },
95895385
TL
893 "log" : {
894 "description" : "Log level for firewall rule",
895 "enum" : [
896 "emerg",
897 "alert",
898 "crit",
899 "err",
900 "warning",
901 "notice",
902 "info",
903 "debug",
904 "nolog"
905 ],
906 "optional" : 1,
907 "type" : "string"
908 },
e2d681b3
TL
909 "macro" : {
910 "optional" : 1,
5f26e15b 911 "type" : "string"
e2d681b3 912 },
44660702
DM
913 "pos" : {
914 "type" : "integer"
e2d681b3
TL
915 },
916 "proto" : {
917 "optional" : 1,
918 "type" : "string"
919 },
920 "source" : {
921 "optional" : 1,
922 "type" : "string"
923 },
924 "sport" : {
925 "optional" : 1,
926 "type" : "string"
927 },
928 "type" : {
929 "type" : "string"
44660702
DM
930 }
931 },
932 "type" : "object"
56122987 933 }
44660702 934 },
7aacca6f 935 "PUT" : {
e9cd3bd4 936 "allowtoken" : 1,
44660702
DM
937 "description" : "Modify rule data.",
938 "method" : "PUT",
939 "name" : "update_rule",
7aacca6f
DM
940 "parameters" : {
941 "additionalProperties" : 0,
942 "properties" : {
44660702
DM
943 "action" : {
944 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 945 "maxLength" : 20,
44660702 946 "minLength" : 2,
7aacca6f 947 "optional" : 1,
44660702 948 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
949 "type" : "string"
950 },
44660702 951 "comment" : {
e94f0d56 952 "description" : "Descriptive comment.",
7aacca6f 953 "optional" : 1,
013dc89f
DM
954 "type" : "string",
955 "typetext" : "<string>"
7aacca6f 956 },
44660702
DM
957 "delete" : {
958 "description" : "A list of settings you want to delete.",
959 "format" : "pve-configid-list",
7aacca6f 960 "optional" : 1,
013dc89f
DM
961 "type" : "string",
962 "typetext" : "<string>"
7aacca6f 963 },
44660702
DM
964 "dest" : {
965 "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.",
966 "format" : "pve-fw-addr-spec",
7aacca6f 967 "optional" : 1,
013dc89f
DM
968 "type" : "string",
969 "typetext" : "<string>"
7aacca6f
DM
970 },
971 "digest" : {
972 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 973 "maxLength" : 40,
7aacca6f 974 "optional" : 1,
013dc89f
DM
975 "type" : "string",
976 "typetext" : "<string>"
7aacca6f 977 },
44660702
DM
978 "dport" : {
979 "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.",
980 "format" : "pve-fw-dport-spec",
7aacca6f 981 "optional" : 1,
013dc89f
DM
982 "type" : "string",
983 "typetext" : "<string>"
7aacca6f 984 },
44660702 985 "enable" : {
e94f0d56 986 "description" : "Flag to enable/disable a rule.",
44660702 987 "minimum" : 0,
7aacca6f 988 "optional" : 1,
4bd7df8b 989 "type" : "integer",
013dc89f 990 "typetext" : "<integer> (0 - N)"
7aacca6f 991 },
44660702
DM
992 "group" : {
993 "description" : "Security Group name.",
4bd7df8b 994 "maxLength" : 18,
44660702
DM
995 "minLength" : 2,
996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
997 "type" : "string"
998 },
999 "iface" : {
1000 "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.",
1001 "format" : "pve-iface",
1002 "maxLength" : 20,
1003 "minLength" : 2,
7aacca6f 1004 "optional" : 1,
013dc89f
DM
1005 "type" : "string",
1006 "typetext" : "<string>"
7aacca6f 1007 },
95895385
TL
1008 "log" : {
1009 "description" : "Log level for firewall rule.",
1010 "enum" : [
1011 "emerg",
1012 "alert",
1013 "crit",
1014 "err",
1015 "warning",
1016 "notice",
1017 "info",
1018 "debug",
1019 "nolog"
1020 ],
1021 "optional" : 1,
1022 "type" : "string"
1023 },
44660702 1024 "macro" : {
e94f0d56 1025 "description" : "Use predefined standard macro.",
44660702
DM
1026 "maxLength" : 128,
1027 "optional" : 1,
013dc89f
DM
1028 "type" : "string",
1029 "typetext" : "<string>"
7aacca6f
DM
1030 },
1031 "moveto" : {
1032 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1033 "minimum" : 0,
7aacca6f 1034 "optional" : 1,
4bd7df8b 1035 "type" : "integer",
013dc89f 1036 "typetext" : "<integer> (0 - N)"
7aacca6f 1037 },
44660702
DM
1038 "pos" : {
1039 "description" : "Update rule at position <pos>.",
1040 "minimum" : 0,
1041 "optional" : 1,
4bd7df8b 1042 "type" : "integer",
013dc89f 1043 "typetext" : "<integer> (0 - N)"
7aacca6f 1044 },
44660702
DM
1045 "proto" : {
1046 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1047 "format" : "pve-fw-protocol-spec",
7aacca6f 1048 "optional" : 1,
013dc89f
DM
1049 "type" : "string",
1050 "typetext" : "<string>"
44660702
DM
1051 },
1052 "source" : {
1053 "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.",
1054 "format" : "pve-fw-addr-spec",
1055 "optional" : 1,
013dc89f
DM
1056 "type" : "string",
1057 "typetext" : "<string>"
44660702
DM
1058 },
1059 "sport" : {
1060 "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.",
1061 "format" : "pve-fw-sport-spec",
1062 "optional" : 1,
013dc89f
DM
1063 "type" : "string",
1064 "typetext" : "<string>"
7aacca6f
DM
1065 },
1066 "type" : {
e94f0d56 1067 "description" : "Rule type.",
7aacca6f
DM
1068 "enum" : [
1069 "in",
1070 "out",
1071 "group"
1072 ],
1073 "optional" : 1,
1074 "type" : "string"
1075 }
1076 }
1077 },
7aacca6f
DM
1078 "permissions" : {
1079 "check" : [
1080 "perm",
1081 "/",
1082 [
1083 "Sys.Modify"
1084 ]
1085 ]
1086 },
44660702 1087 "protected" : 1,
7aacca6f
DM
1088 "proxyto" : null,
1089 "returns" : {
1090 "type" : "null"
1091 }
7aacca6f
DM
1092 }
1093 },
44660702 1094 "leaf" : 1,
7aacca6f 1095 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1096 "text" : "{pos}"
7aacca6f
DM
1097 }
1098 ],
44660702
DM
1099 "info" : {
1100 "DELETE" : {
e9cd3bd4 1101 "allowtoken" : 1,
44660702
DM
1102 "description" : "Delete security group.",
1103 "method" : "DELETE",
1104 "name" : "delete_security_group",
1105 "parameters" : {
1106 "additionalProperties" : 0,
1107 "properties" : {
1108 "group" : {
1109 "description" : "Security Group name.",
4bd7df8b 1110 "maxLength" : 18,
44660702
DM
1111 "minLength" : 2,
1112 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1113 "type" : "string"
1114 }
56122987 1115 }
7aacca6f 1116 },
44660702
DM
1117 "permissions" : {
1118 "check" : [
1119 "perm",
1120 "/",
1121 [
1122 "Sys.Modify"
1123 ]
7aacca6f 1124 ]
56122987 1125 },
44660702
DM
1126 "protected" : 1,
1127 "returns" : {
1128 "type" : "null"
56122987 1129 }
7aacca6f 1130 },
7aacca6f 1131 "GET" : {
e9cd3bd4 1132 "allowtoken" : 1,
44660702 1133 "description" : "List rules.",
7aacca6f 1134 "method" : "GET",
44660702
DM
1135 "name" : "get_rules",
1136 "parameters" : {
1137 "additionalProperties" : 0,
7aacca6f 1138 "properties" : {
44660702
DM
1139 "group" : {
1140 "description" : "Security Group name.",
4bd7df8b 1141 "maxLength" : 18,
44660702
DM
1142 "minLength" : 2,
1143 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1144 "type" : "string"
7aacca6f 1145 }
44660702 1146 }
7aacca6f
DM
1147 },
1148 "permissions" : {
1149 "check" : [
1150 "perm",
1151 "/",
1152 [
1153 "Sys.Audit"
1154 ]
1155 ]
1156 },
44660702
DM
1157 "proxyto" : null,
1158 "returns" : {
1159 "items" : {
1160 "properties" : {
1161 "pos" : {
1162 "type" : "integer"
1163 }
1164 },
1165 "type" : "object"
1166 },
1167 "links" : [
1168 {
1169 "href" : "{pos}",
1170 "rel" : "child"
1171 }
1172 ],
1173 "type" : "array"
1174 }
1175 },
1176 "POST" : {
e9cd3bd4 1177 "allowtoken" : 1,
44660702
DM
1178 "description" : "Create new rule.",
1179 "method" : "POST",
1180 "name" : "create_rule",
7aacca6f
DM
1181 "parameters" : {
1182 "additionalProperties" : 0,
1183 "properties" : {
44660702
DM
1184 "action" : {
1185 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1186 "maxLength" : 20,
56122987 1187 "minLength" : 2,
44660702
DM
1188 "optional" : 0,
1189 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1190 "type" : "string"
56122987 1191 },
44660702 1192 "comment" : {
e94f0d56 1193 "description" : "Descriptive comment.",
56122987 1194 "optional" : 1,
013dc89f
DM
1195 "type" : "string",
1196 "typetext" : "<string>"
56122987 1197 },
44660702
DM
1198 "dest" : {
1199 "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
1200 "format" : "pve-fw-addr-spec",
1201 "optional" : 1,
013dc89f
DM
1202 "type" : "string",
1203 "typetext" : "<string>"
56122987 1204 },
44660702
DM
1205 "digest" : {
1206 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1207 "maxLength" : 40,
7aacca6f 1208 "optional" : 1,
013dc89f
DM
1209 "type" : "string",
1210 "typetext" : "<string>"
56122987 1211 },
44660702
DM
1212 "dport" : {
1213 "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.",
1214 "format" : "pve-fw-dport-spec",
56122987 1215 "optional" : 1,
013dc89f
DM
1216 "type" : "string",
1217 "typetext" : "<string>"
56122987 1218 },
7aacca6f 1219 "enable" : {
e94f0d56 1220 "description" : "Flag to enable/disable a rule.",
44660702 1221 "minimum" : 0,
7aacca6f 1222 "optional" : 1,
4bd7df8b 1223 "type" : "integer",
013dc89f 1224 "typetext" : "<integer> (0 - N)"
56122987 1225 },
44660702
DM
1226 "group" : {
1227 "description" : "Security Group name.",
4bd7df8b 1228 "maxLength" : 18,
44660702 1229 "minLength" : 2,
7aacca6f 1230 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1231 "type" : "string"
1232 },
1233 "iface" : {
1234 "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.",
1235 "format" : "pve-iface",
1236 "maxLength" : 20,
7aacca6f 1237 "minLength" : 2,
44660702 1238 "optional" : 1,
013dc89f
DM
1239 "type" : "string",
1240 "typetext" : "<string>"
56122987 1241 },
95895385
TL
1242 "log" : {
1243 "description" : "Log level for firewall rule.",
1244 "enum" : [
1245 "emerg",
1246 "alert",
1247 "crit",
1248 "err",
1249 "warning",
1250 "notice",
1251 "info",
1252 "debug",
1253 "nolog"
1254 ],
1255 "optional" : 1,
1256 "type" : "string"
1257 },
7aacca6f 1258 "macro" : {
e94f0d56 1259 "description" : "Use predefined standard macro.",
44660702 1260 "maxLength" : 128,
7aacca6f 1261 "optional" : 1,
013dc89f
DM
1262 "type" : "string",
1263 "typetext" : "<string>"
7aacca6f
DM
1264 },
1265 "pos" : {
1266 "description" : "Update rule at position <pos>.",
44660702 1267 "minimum" : 0,
56122987 1268 "optional" : 1,
4bd7df8b 1269 "type" : "integer",
013dc89f 1270 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1271 },
1272 "proto" : {
1273 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1274 "format" : "pve-fw-protocol-spec",
7aacca6f 1275 "optional" : 1,
013dc89f
DM
1276 "type" : "string",
1277 "typetext" : "<string>"
44660702
DM
1278 },
1279 "source" : {
1280 "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.",
1281 "format" : "pve-fw-addr-spec",
1282 "optional" : 1,
013dc89f
DM
1283 "type" : "string",
1284 "typetext" : "<string>"
44660702
DM
1285 },
1286 "sport" : {
1287 "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.",
1288 "format" : "pve-fw-sport-spec",
1289 "optional" : 1,
013dc89f
DM
1290 "type" : "string",
1291 "typetext" : "<string>"
44660702
DM
1292 },
1293 "type" : {
e94f0d56 1294 "description" : "Rule type.",
44660702
DM
1295 "enum" : [
1296 "in",
1297 "out",
1298 "group"
1299 ],
1300 "optional" : 0,
1301 "type" : "string"
56122987 1302 }
44660702 1303 }
56122987 1304 },
56122987
DM
1305 "permissions" : {
1306 "check" : [
1307 "perm",
1308 "/",
1309 [
1310 "Sys.Modify"
1311 ]
1312 ]
1313 },
44660702
DM
1314 "protected" : 1,
1315 "proxyto" : null,
56122987
DM
1316 "returns" : {
1317 "type" : "null"
7aacca6f 1318 }
44660702
DM
1319 }
1320 },
1321 "leaf" : 0,
1322 "path" : "/cluster/firewall/groups/{group}",
1323 "text" : "{group}"
1324 }
1325 ],
1326 "info" : {
1327 "GET" : {
e9cd3bd4 1328 "allowtoken" : 1,
44660702
DM
1329 "description" : "List security groups.",
1330 "method" : "GET",
1331 "name" : "list_security_groups",
1332 "parameters" : {
1333 "additionalProperties" : 0
1334 },
1335 "permissions" : {
1336 "user" : "all"
1337 },
1338 "returns" : {
1339 "items" : {
1340 "properties" : {
1341 "comment" : {
1342 "optional" : 1,
1343 "type" : "string"
1344 },
1345 "digest" : {
1346 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1347 "maxLength" : 40,
1348 "optional" : 0,
1349 "type" : "string"
1350 },
1351 "group" : {
1352 "description" : "Security Group name.",
4bd7df8b 1353 "maxLength" : 18,
44660702
DM
1354 "minLength" : 2,
1355 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1356 "type" : "string"
1357 }
1358 },
1359 "type" : "object"
56122987 1360 },
44660702
DM
1361 "links" : [
1362 {
1363 "href" : "{group}",
1364 "rel" : "child"
1365 }
1366 ],
1367 "type" : "array"
1368 }
1369 },
1370 "POST" : {
e9cd3bd4 1371 "allowtoken" : 1,
44660702
DM
1372 "description" : "Create new security group.",
1373 "method" : "POST",
1374 "name" : "create_security_group",
1375 "parameters" : {
1376 "additionalProperties" : 0,
1377 "properties" : {
1378 "comment" : {
1379 "optional" : 1,
013dc89f
DM
1380 "type" : "string",
1381 "typetext" : "<string>"
44660702
DM
1382 },
1383 "digest" : {
1384 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1385 "maxLength" : 40,
1386 "optional" : 1,
013dc89f
DM
1387 "type" : "string",
1388 "typetext" : "<string>"
44660702
DM
1389 },
1390 "group" : {
1391 "description" : "Security Group name.",
4bd7df8b 1392 "maxLength" : 18,
44660702
DM
1393 "minLength" : 2,
1394 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1395 "type" : "string"
1396 },
1397 "rename" : {
1398 "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 1399 "maxLength" : 18,
44660702
DM
1400 "minLength" : 2,
1401 "optional" : 1,
1402 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1403 "type" : "string"
1404 }
1405 }
1406 },
1407 "permissions" : {
1408 "check" : [
1409 "perm",
1410 "/",
1411 [
1412 "Sys.Modify"
1413 ]
1414 ]
1415 },
1416 "protected" : 1,
1417 "returns" : {
1418 "type" : "null"
1419 }
1420 }
1421 },
1422 "leaf" : 0,
1423 "path" : "/cluster/firewall/groups",
1424 "text" : "groups"
1425 },
1426 {
1427 "children" : [
1428 {
1429 "info" : {
7aacca6f 1430 "DELETE" : {
e9cd3bd4 1431 "allowtoken" : 1,
44660702
DM
1432 "description" : "Delete rule.",
1433 "method" : "DELETE",
1434 "name" : "delete_rule",
1435 "parameters" : {
1436 "additionalProperties" : 0,
1437 "properties" : {
1438 "digest" : {
1439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1440 "maxLength" : 40,
1441 "optional" : 1,
013dc89f
DM
1442 "type" : "string",
1443 "typetext" : "<string>"
44660702
DM
1444 },
1445 "pos" : {
1446 "description" : "Update rule at position <pos>.",
1447 "minimum" : 0,
1448 "optional" : 1,
4bd7df8b 1449 "type" : "integer",
013dc89f 1450 "typetext" : "<integer> (0 - N)"
44660702
DM
1451 }
1452 }
1453 },
56122987
DM
1454 "permissions" : {
1455 "check" : [
1456 "perm",
1457 "/",
1458 [
7aacca6f 1459 "Sys.Modify"
56122987
DM
1460 ]
1461 ]
1462 },
44660702 1463 "protected" : 1,
56122987
DM
1464 "proxyto" : null,
1465 "returns" : {
7aacca6f 1466 "type" : "null"
44660702
DM
1467 }
1468 },
1469 "GET" : {
e9cd3bd4 1470 "allowtoken" : 1,
44660702
DM
1471 "description" : "Get single rule data.",
1472 "method" : "GET",
1473 "name" : "get_rule",
56122987
DM
1474 "parameters" : {
1475 "additionalProperties" : 0,
1476 "properties" : {
1477 "pos" : {
7aacca6f 1478 "description" : "Update rule at position <pos>.",
44660702 1479 "minimum" : 0,
56122987 1480 "optional" : 1,
4bd7df8b 1481 "type" : "integer",
013dc89f 1482 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1483 }
1484 }
1485 },
7aacca6f
DM
1486 "permissions" : {
1487 "check" : [
1488 "perm",
1489 "/",
1490 [
1491 "Sys.Audit"
1492 ]
1493 ]
56122987 1494 },
44660702
DM
1495 "proxyto" : null,
1496 "returns" : {
7aacca6f 1497 "properties" : {
e2d681b3
TL
1498 "action" : {
1499 "type" : "string"
1500 },
1501 "comment" : {
1502 "optional" : 1,
1503 "type" : "string"
1504 },
1505 "dest" : {
1506 "optional" : 1,
1507 "type" : "string"
1508 },
1509 "dport" : {
1510 "optional" : 1,
1511 "type" : "string"
1512 },
1513 "enable" : {
1514 "optional" : 1,
1515 "type" : "integer"
1516 },
1517 "iface" : {
1518 "optional" : 1,
1519 "type" : "string"
1520 },
1521 "ipversion" : {
1522 "optional" : 1,
1523 "type" : "integer"
1524 },
95895385
TL
1525 "log" : {
1526 "description" : "Log level for firewall rule",
1527 "enum" : [
1528 "emerg",
1529 "alert",
1530 "crit",
1531 "err",
1532 "warning",
1533 "notice",
1534 "info",
1535 "debug",
1536 "nolog"
1537 ],
1538 "optional" : 1,
1539 "type" : "string"
1540 },
e2d681b3
TL
1541 "macro" : {
1542 "optional" : 1,
5f26e15b 1543 "type" : "string"
e2d681b3 1544 },
44660702
DM
1545 "pos" : {
1546 "type" : "integer"
e2d681b3
TL
1547 },
1548 "proto" : {
1549 "optional" : 1,
1550 "type" : "string"
1551 },
1552 "source" : {
1553 "optional" : 1,
1554 "type" : "string"
1555 },
1556 "sport" : {
1557 "optional" : 1,
1558 "type" : "string"
1559 },
1560 "type" : {
1561 "type" : "string"
7aacca6f 1562 }
44660702
DM
1563 },
1564 "type" : "object"
1565 }
56122987 1566 },
44660702 1567 "PUT" : {
e9cd3bd4 1568 "allowtoken" : 1,
44660702
DM
1569 "description" : "Modify rule data.",
1570 "method" : "PUT",
1571 "name" : "update_rule",
7aacca6f
DM
1572 "parameters" : {
1573 "additionalProperties" : 0,
1574 "properties" : {
44660702
DM
1575 "action" : {
1576 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1577 "maxLength" : 20,
1578 "minLength" : 2,
1579 "optional" : 1,
1580 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1581 "type" : "string"
7aacca6f 1582 },
44660702 1583 "comment" : {
e94f0d56 1584 "description" : "Descriptive comment.",
44660702 1585 "optional" : 1,
013dc89f
DM
1586 "type" : "string",
1587 "typetext" : "<string>"
7aacca6f 1588 },
44660702
DM
1589 "delete" : {
1590 "description" : "A list of settings you want to delete.",
1591 "format" : "pve-configid-list",
1592 "optional" : 1,
013dc89f
DM
1593 "type" : "string",
1594 "typetext" : "<string>"
44660702
DM
1595 },
1596 "dest" : {
1597 "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.",
1598 "format" : "pve-fw-addr-spec",
1599 "optional" : 1,
013dc89f
DM
1600 "type" : "string",
1601 "typetext" : "<string>"
44660702
DM
1602 },
1603 "digest" : {
1604 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1605 "maxLength" : 40,
1606 "optional" : 1,
013dc89f
DM
1607 "type" : "string",
1608 "typetext" : "<string>"
44660702
DM
1609 },
1610 "dport" : {
1611 "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.",
1612 "format" : "pve-fw-dport-spec",
1613 "optional" : 1,
013dc89f
DM
1614 "type" : "string",
1615 "typetext" : "<string>"
44660702
DM
1616 },
1617 "enable" : {
e94f0d56 1618 "description" : "Flag to enable/disable a rule.",
44660702
DM
1619 "minimum" : 0,
1620 "optional" : 1,
4bd7df8b 1621 "type" : "integer",
013dc89f 1622 "typetext" : "<integer> (0 - N)"
44660702
DM
1623 },
1624 "iface" : {
1625 "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.",
1626 "format" : "pve-iface",
1627 "maxLength" : 20,
7aacca6f 1628 "minLength" : 2,
44660702 1629 "optional" : 1,
013dc89f
DM
1630 "type" : "string",
1631 "typetext" : "<string>"
7aacca6f 1632 },
95895385
TL
1633 "log" : {
1634 "description" : "Log level for firewall rule.",
1635 "enum" : [
1636 "emerg",
1637 "alert",
1638 "crit",
1639 "err",
1640 "warning",
1641 "notice",
1642 "info",
1643 "debug",
1644 "nolog"
1645 ],
1646 "optional" : 1,
1647 "type" : "string"
1648 },
44660702 1649 "macro" : {
e94f0d56 1650 "description" : "Use predefined standard macro.",
44660702
DM
1651 "maxLength" : 128,
1652 "optional" : 1,
013dc89f
DM
1653 "type" : "string",
1654 "typetext" : "<string>"
44660702
DM
1655 },
1656 "moveto" : {
1657 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1658 "minimum" : 0,
1659 "optional" : 1,
4bd7df8b 1660 "type" : "integer",
013dc89f 1661 "typetext" : "<integer> (0 - N)"
44660702
DM
1662 },
1663 "pos" : {
1664 "description" : "Update rule at position <pos>.",
1665 "minimum" : 0,
1666 "optional" : 1,
4bd7df8b 1667 "type" : "integer",
013dc89f 1668 "typetext" : "<integer> (0 - N)"
44660702
DM
1669 },
1670 "proto" : {
1671 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1672 "format" : "pve-fw-protocol-spec",
1673 "optional" : 1,
013dc89f
DM
1674 "type" : "string",
1675 "typetext" : "<string>"
44660702
DM
1676 },
1677 "source" : {
1678 "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.",
1679 "format" : "pve-fw-addr-spec",
1680 "optional" : 1,
013dc89f
DM
1681 "type" : "string",
1682 "typetext" : "<string>"
44660702
DM
1683 },
1684 "sport" : {
1685 "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.",
1686 "format" : "pve-fw-sport-spec",
1687 "optional" : 1,
013dc89f
DM
1688 "type" : "string",
1689 "typetext" : "<string>"
44660702
DM
1690 },
1691 "type" : {
e94f0d56 1692 "description" : "Rule type.",
44660702
DM
1693 "enum" : [
1694 "in",
1695 "out",
1696 "group"
1697 ],
1698 "optional" : 1,
1699 "type" : "string"
7aacca6f 1700 }
56122987
DM
1701 }
1702 },
7aacca6f
DM
1703 "permissions" : {
1704 "check" : [
1705 "perm",
1706 "/",
1707 [
1708 "Sys.Modify"
1709 ]
1710 ]
1711 },
44660702
DM
1712 "protected" : 1,
1713 "proxyto" : null,
1714 "returns" : {
1715 "type" : "null"
1716 }
7aacca6f 1717 }
56122987 1718 },
44660702
DM
1719 "leaf" : 1,
1720 "path" : "/cluster/firewall/rules/{pos}",
1721 "text" : "{pos}"
7aacca6f
DM
1722 }
1723 ],
7aacca6f 1724 "info" : {
44660702 1725 "GET" : {
e9cd3bd4 1726 "allowtoken" : 1,
44660702
DM
1727 "description" : "List rules.",
1728 "method" : "GET",
1729 "name" : "get_rules",
7aacca6f 1730 "parameters" : {
44660702 1731 "additionalProperties" : 0
7aacca6f
DM
1732 },
1733 "permissions" : {
1734 "check" : [
1735 "perm",
1736 "/",
1737 [
44660702 1738 "Sys.Audit"
7aacca6f
DM
1739 ]
1740 ]
1741 },
44660702 1742 "proxyto" : null,
7aacca6f 1743 "returns" : {
7aacca6f
DM
1744 "items" : {
1745 "properties" : {
44660702
DM
1746 "pos" : {
1747 "type" : "integer"
7aacca6f
DM
1748 }
1749 },
1750 "type" : "object"
56122987 1751 },
7aacca6f
DM
1752 "links" : [
1753 {
44660702 1754 "href" : "{pos}",
7aacca6f
DM
1755 "rel" : "child"
1756 }
44660702
DM
1757 ],
1758 "type" : "array"
7aacca6f 1759 }
44660702 1760 },
7aacca6f 1761 "POST" : {
e9cd3bd4 1762 "allowtoken" : 1,
44660702 1763 "description" : "Create new rule.",
7aacca6f 1764 "method" : "POST",
44660702 1765 "name" : "create_rule",
7aacca6f
DM
1766 "parameters" : {
1767 "additionalProperties" : 0,
1768 "properties" : {
44660702
DM
1769 "action" : {
1770 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1771 "maxLength" : 20,
7aacca6f 1772 "minLength" : 2,
44660702
DM
1773 "optional" : 0,
1774 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1775 "type" : "string"
7aacca6f
DM
1776 },
1777 "comment" : {
e94f0d56 1778 "description" : "Descriptive comment.",
7aacca6f 1779 "optional" : 1,
013dc89f
DM
1780 "type" : "string",
1781 "typetext" : "<string>"
44660702
DM
1782 },
1783 "dest" : {
1784 "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.",
1785 "format" : "pve-fw-addr-spec",
1786 "optional" : 1,
013dc89f
DM
1787 "type" : "string",
1788 "typetext" : "<string>"
44660702
DM
1789 },
1790 "digest" : {
1791 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1792 "maxLength" : 40,
1793 "optional" : 1,
013dc89f
DM
1794 "type" : "string",
1795 "typetext" : "<string>"
44660702
DM
1796 },
1797 "dport" : {
1798 "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.",
1799 "format" : "pve-fw-dport-spec",
1800 "optional" : 1,
013dc89f
DM
1801 "type" : "string",
1802 "typetext" : "<string>"
44660702
DM
1803 },
1804 "enable" : {
e94f0d56 1805 "description" : "Flag to enable/disable a rule.",
44660702
DM
1806 "minimum" : 0,
1807 "optional" : 1,
4bd7df8b 1808 "type" : "integer",
013dc89f 1809 "typetext" : "<integer> (0 - N)"
44660702
DM
1810 },
1811 "iface" : {
1812 "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.",
1813 "format" : "pve-iface",
1814 "maxLength" : 20,
1815 "minLength" : 2,
1816 "optional" : 1,
013dc89f
DM
1817 "type" : "string",
1818 "typetext" : "<string>"
44660702 1819 },
95895385
TL
1820 "log" : {
1821 "description" : "Log level for firewall rule.",
1822 "enum" : [
1823 "emerg",
1824 "alert",
1825 "crit",
1826 "err",
1827 "warning",
1828 "notice",
1829 "info",
1830 "debug",
1831 "nolog"
1832 ],
1833 "optional" : 1,
1834 "type" : "string"
1835 },
44660702 1836 "macro" : {
e94f0d56 1837 "description" : "Use predefined standard macro.",
44660702
DM
1838 "maxLength" : 128,
1839 "optional" : 1,
013dc89f
DM
1840 "type" : "string",
1841 "typetext" : "<string>"
44660702
DM
1842 },
1843 "pos" : {
1844 "description" : "Update rule at position <pos>.",
1845 "minimum" : 0,
1846 "optional" : 1,
4bd7df8b 1847 "type" : "integer",
013dc89f 1848 "typetext" : "<integer> (0 - N)"
44660702
DM
1849 },
1850 "proto" : {
1851 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1852 "format" : "pve-fw-protocol-spec",
1853 "optional" : 1,
013dc89f
DM
1854 "type" : "string",
1855 "typetext" : "<string>"
44660702
DM
1856 },
1857 "source" : {
1858 "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.",
1859 "format" : "pve-fw-addr-spec",
1860 "optional" : 1,
013dc89f
DM
1861 "type" : "string",
1862 "typetext" : "<string>"
44660702
DM
1863 },
1864 "sport" : {
1865 "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.",
1866 "format" : "pve-fw-sport-spec",
1867 "optional" : 1,
013dc89f
DM
1868 "type" : "string",
1869 "typetext" : "<string>"
44660702
DM
1870 },
1871 "type" : {
e94f0d56 1872 "description" : "Rule type.",
44660702
DM
1873 "enum" : [
1874 "in",
1875 "out",
1876 "group"
1877 ],
1878 "optional" : 0,
1879 "type" : "string"
7aacca6f
DM
1880 }
1881 }
1882 },
1883 "permissions" : {
1884 "check" : [
1885 "perm",
1886 "/",
1887 [
1888 "Sys.Modify"
1889 ]
1890 ]
1891 },
44660702
DM
1892 "protected" : 1,
1893 "proxyto" : null,
7aacca6f 1894 "returns" : {
44660702
DM
1895 "type" : "null"
1896 }
1897 }
1898 },
1899 "leaf" : 0,
1900 "path" : "/cluster/firewall/rules",
1901 "text" : "rules"
1902 },
1903 {
1904 "children" : [
1905 {
1906 "children" : [
1907 {
1908 "info" : {
1909 "DELETE" : {
e9cd3bd4 1910 "allowtoken" : 1,
44660702
DM
1911 "description" : "Remove IP or Network from IPSet.",
1912 "method" : "DELETE",
1913 "name" : "remove_ip",
1914 "parameters" : {
1915 "additionalProperties" : 0,
1916 "properties" : {
1917 "cidr" : {
1918 "description" : "Network/IP specification in CIDR format.",
1919 "format" : "IPorCIDRorAlias",
013dc89f
DM
1920 "type" : "string",
1921 "typetext" : "<string>"
44660702
DM
1922 },
1923 "digest" : {
1924 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1925 "maxLength" : 40,
1926 "optional" : 1,
013dc89f
DM
1927 "type" : "string",
1928 "typetext" : "<string>"
44660702
DM
1929 },
1930 "name" : {
1931 "description" : "IP set name.",
1932 "maxLength" : 64,
1933 "minLength" : 2,
1934 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1935 "type" : "string"
1936 }
1937 }
1938 },
1939 "permissions" : {
1940 "check" : [
1941 "perm",
1942 "/",
1943 [
1944 "Sys.Modify"
1945 ]
1946 ]
1947 },
1948 "protected" : 1,
1949 "returns" : {
1950 "type" : "null"
1951 }
7aacca6f 1952 },
44660702 1953 "GET" : {
e9cd3bd4 1954 "allowtoken" : 1,
44660702
DM
1955 "description" : "Read IP or Network settings from IPSet.",
1956 "method" : "GET",
1957 "name" : "read_ip",
1958 "parameters" : {
1959 "additionalProperties" : 0,
1960 "properties" : {
1961 "cidr" : {
1962 "description" : "Network/IP specification in CIDR format.",
1963 "format" : "IPorCIDRorAlias",
013dc89f
DM
1964 "type" : "string",
1965 "typetext" : "<string>"
44660702
DM
1966 },
1967 "name" : {
1968 "description" : "IP set name.",
1969 "maxLength" : 64,
1970 "minLength" : 2,
1971 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1972 "type" : "string"
1973 }
1974 }
1975 },
1976 "permissions" : {
1977 "check" : [
1978 "perm",
1979 "/",
1980 [
1981 "Sys.Audit"
1982 ]
1983 ]
1984 },
1985 "protected" : 1,
1986 "returns" : {
1987 "type" : "object"
1988 }
7aacca6f 1989 },
44660702 1990 "PUT" : {
e9cd3bd4 1991 "allowtoken" : 1,
44660702
DM
1992 "description" : "Update IP or Network settings",
1993 "method" : "PUT",
1994 "name" : "update_ip",
1995 "parameters" : {
1996 "additionalProperties" : 0,
1997 "properties" : {
1998 "cidr" : {
1999 "description" : "Network/IP specification in CIDR format.",
2000 "format" : "IPorCIDRorAlias",
013dc89f
DM
2001 "type" : "string",
2002 "typetext" : "<string>"
44660702
DM
2003 },
2004 "comment" : {
2005 "optional" : 1,
013dc89f
DM
2006 "type" : "string",
2007 "typetext" : "<string>"
44660702
DM
2008 },
2009 "digest" : {
2010 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2011 "maxLength" : 40,
2012 "optional" : 1,
013dc89f
DM
2013 "type" : "string",
2014 "typetext" : "<string>"
44660702
DM
2015 },
2016 "name" : {
2017 "description" : "IP set name.",
2018 "maxLength" : 64,
2019 "minLength" : 2,
2020 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2021 "type" : "string"
2022 },
2023 "nomatch" : {
2024 "optional" : 1,
013dc89f
DM
2025 "type" : "boolean",
2026 "typetext" : "<boolean>"
44660702
DM
2027 }
2028 }
2029 },
2030 "permissions" : {
2031 "check" : [
2032 "perm",
2033 "/",
2034 [
2035 "Sys.Modify"
2036 ]
2037 ]
2038 },
2039 "protected" : 1,
2040 "returns" : {
2041 "type" : "null"
2042 }
7aacca6f
DM
2043 }
2044 },
44660702
DM
2045 "leaf" : 1,
2046 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2047 "text" : "{cidr}"
7aacca6f 2048 }
44660702 2049 ],
7aacca6f
DM
2050 "info" : {
2051 "DELETE" : {
e9cd3bd4 2052 "allowtoken" : 1,
44660702
DM
2053 "description" : "Delete IPSet",
2054 "method" : "DELETE",
2055 "name" : "delete_ipset",
56122987 2056 "parameters" : {
44660702 2057 "additionalProperties" : 0,
56122987
DM
2058 "properties" : {
2059 "name" : {
44660702 2060 "description" : "IP set name.",
56122987 2061 "maxLength" : 64,
44660702 2062 "minLength" : 2,
56122987 2063 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2064 "type" : "string"
56122987 2065 }
44660702 2066 }
7aacca6f 2067 },
56122987
DM
2068 "permissions" : {
2069 "check" : [
2070 "perm",
2071 "/",
2072 [
2073 "Sys.Modify"
2074 ]
2075 ]
2076 },
7aacca6f
DM
2077 "protected" : 1,
2078 "returns" : {
2079 "type" : "null"
44660702 2080 }
7aacca6f 2081 },
44660702 2082 "GET" : {
e9cd3bd4 2083 "allowtoken" : 1,
44660702
DM
2084 "description" : "List IPSet content",
2085 "method" : "GET",
2086 "name" : "get_ipset",
56122987
DM
2087 "parameters" : {
2088 "additionalProperties" : 0,
2089 "properties" : {
7aacca6f 2090 "name" : {
44660702 2091 "description" : "IP set name.",
7aacca6f 2092 "maxLength" : 64,
7aacca6f 2093 "minLength" : 2,
44660702 2094 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2095 "type" : "string"
56122987 2096 }
7aacca6f 2097 }
56122987 2098 },
56122987
DM
2099 "permissions" : {
2100 "check" : [
2101 "perm",
2102 "/",
2103 [
44660702 2104 "Sys.Audit"
56122987
DM
2105 ]
2106 ]
44660702
DM
2107 },
2108 "returns" : {
2109 "items" : {
2110 "properties" : {
2111 "cidr" : {
2112 "type" : "string"
2113 },
2114 "comment" : {
2115 "optional" : 1,
2116 "type" : "string"
2117 },
2118 "digest" : {
2119 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2120 "maxLength" : 40,
2121 "optional" : 0,
2122 "type" : "string"
2123 },
2124 "nomatch" : {
2125 "optional" : 1,
2126 "type" : "boolean"
2127 }
2128 },
2129 "type" : "object"
2130 },
2131 "links" : [
2132 {
2133 "href" : "{cidr}",
2134 "rel" : "child"
2135 }
2136 ],
2137 "type" : "array"
7aacca6f
DM
2138 }
2139 },
44660702 2140 "POST" : {
e9cd3bd4 2141 "allowtoken" : 1,
44660702
DM
2142 "description" : "Add IP or Network to IPSet.",
2143 "method" : "POST",
2144 "name" : "create_ip",
56122987
DM
2145 "parameters" : {
2146 "additionalProperties" : 0,
2147 "properties" : {
44660702
DM
2148 "cidr" : {
2149 "description" : "Network/IP specification in CIDR format.",
2150 "format" : "IPorCIDRorAlias",
013dc89f
DM
2151 "type" : "string",
2152 "typetext" : "<string>"
44660702
DM
2153 },
2154 "comment" : {
2155 "optional" : 1,
013dc89f
DM
2156 "type" : "string",
2157 "typetext" : "<string>"
44660702
DM
2158 },
2159 "name" : {
2160 "description" : "IP set name.",
2161 "maxLength" : 64,
2162 "minLength" : 2,
2163 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2164 "type" : "string"
2165 },
2166 "nomatch" : {
2167 "optional" : 1,
013dc89f
DM
2168 "type" : "boolean",
2169 "typetext" : "<boolean>"
56122987
DM
2170 }
2171 }
2172 },
56122987
DM
2173 "permissions" : {
2174 "check" : [
2175 "perm",
2176 "/",
2177 [
44660702 2178 "Sys.Modify"
56122987
DM
2179 ]
2180 ]
2181 },
44660702 2182 "protected" : 1,
56122987 2183 "returns" : {
44660702
DM
2184 "type" : "null"
2185 }
56122987
DM
2186 }
2187 },
44660702
DM
2188 "leaf" : 0,
2189 "path" : "/cluster/firewall/ipset/{name}",
2190 "text" : "{name}"
56122987
DM
2191 }
2192 ],
56122987 2193 "info" : {
44660702 2194 "GET" : {
e9cd3bd4 2195 "allowtoken" : 1,
44660702
DM
2196 "description" : "List IPSets",
2197 "method" : "GET",
2198 "name" : "ipset_index",
56122987 2199 "parameters" : {
7aacca6f 2200 "additionalProperties" : 0
56122987 2201 },
56122987
DM
2202 "permissions" : {
2203 "check" : [
2204 "perm",
2205 "/",
2206 [
7aacca6f 2207 "Sys.Audit"
56122987
DM
2208 ]
2209 ]
2210 },
56122987
DM
2211 "returns" : {
2212 "items" : {
2213 "properties" : {
44660702
DM
2214 "comment" : {
2215 "optional" : 1,
2216 "type" : "string"
56122987 2217 },
44660702
DM
2218 "digest" : {
2219 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2220 "maxLength" : 40,
2221 "optional" : 0,
2222 "type" : "string"
2223 },
2224 "name" : {
2225 "description" : "IP set name.",
2226 "maxLength" : 64,
2227 "minLength" : 2,
2228 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2229 "type" : "string"
56122987
DM
2230 }
2231 },
2232 "type" : "object"
44660702
DM
2233 },
2234 "links" : [
2235 {
2236 "href" : "{name}",
2237 "rel" : "child"
2238 }
2239 ],
2240 "type" : "array"
56122987 2241 }
44660702
DM
2242 },
2243 "POST" : {
e9cd3bd4 2244 "allowtoken" : 1,
44660702
DM
2245 "description" : "Create new IPSet",
2246 "method" : "POST",
2247 "name" : "create_ipset",
7aacca6f
DM
2248 "parameters" : {
2249 "additionalProperties" : 0,
2250 "properties" : {
44660702
DM
2251 "comment" : {
2252 "optional" : 1,
013dc89f
DM
2253 "type" : "string",
2254 "typetext" : "<string>"
44660702
DM
2255 },
2256 "digest" : {
2257 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2258 "maxLength" : 40,
2259 "optional" : 1,
013dc89f
DM
2260 "type" : "string",
2261 "typetext" : "<string>"
44660702
DM
2262 },
2263 "name" : {
2264 "description" : "IP set name.",
2265 "maxLength" : 64,
2266 "minLength" : 2,
2267 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2268 "type" : "string"
2269 },
2270 "rename" : {
2271 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2272 "maxLength" : 64,
2273 "minLength" : 2,
2274 "optional" : 1,
2275 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2276 "type" : "string"
7aacca6f
DM
2277 }
2278 }
2279 },
56122987
DM
2280 "permissions" : {
2281 "check" : [
2282 "perm",
2283 "/",
2284 [
44660702 2285 "Sys.Modify"
56122987
DM
2286 ]
2287 ]
2288 },
44660702 2289 "protected" : 1,
56122987 2290 "returns" : {
44660702
DM
2291 "type" : "null"
2292 }
56122987 2293 }
7aacca6f 2294 },
44660702
DM
2295 "leaf" : 0,
2296 "path" : "/cluster/firewall/ipset",
2297 "text" : "ipset"
2298 },
56122987 2299 {
44660702
DM
2300 "children" : [
2301 {
2302 "info" : {
2303 "DELETE" : {
e9cd3bd4 2304 "allowtoken" : 1,
44660702
DM
2305 "description" : "Remove IP or Network alias.",
2306 "method" : "DELETE",
2307 "name" : "remove_alias",
2308 "parameters" : {
2309 "additionalProperties" : 0,
2310 "properties" : {
2311 "digest" : {
2312 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2313 "maxLength" : 40,
2314 "optional" : 1,
013dc89f
DM
2315 "type" : "string",
2316 "typetext" : "<string>"
44660702
DM
2317 },
2318 "name" : {
2319 "description" : "Alias name.",
2320 "maxLength" : 64,
2321 "minLength" : 2,
2322 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2323 "type" : "string"
2324 }
2325 }
2326 },
2327 "permissions" : {
2328 "check" : [
2329 "perm",
2330 "/",
2331 [
2332 "Sys.Modify"
2333 ]
2334 ]
2335 },
2336 "protected" : 1,
2337 "returns" : {
2338 "type" : "null"
2339 }
2340 },
2341 "GET" : {
e9cd3bd4 2342 "allowtoken" : 1,
44660702
DM
2343 "description" : "Read alias.",
2344 "method" : "GET",
2345 "name" : "read_alias",
2346 "parameters" : {
2347 "additionalProperties" : 0,
2348 "properties" : {
2349 "name" : {
2350 "description" : "Alias name.",
2351 "maxLength" : 64,
2352 "minLength" : 2,
2353 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2354 "type" : "string"
2355 }
2356 }
2357 },
2358 "permissions" : {
2359 "check" : [
2360 "perm",
2361 "/",
2362 [
2363 "Sys.Audit"
2364 ]
2365 ]
2366 },
2367 "returns" : {
2368 "type" : "object"
2369 }
2370 },
2371 "PUT" : {
e9cd3bd4 2372 "allowtoken" : 1,
44660702
DM
2373 "description" : "Update IP or Network alias.",
2374 "method" : "PUT",
2375 "name" : "update_alias",
2376 "parameters" : {
2377 "additionalProperties" : 0,
2378 "properties" : {
2379 "cidr" : {
2380 "description" : "Network/IP specification in CIDR format.",
2381 "format" : "IPorCIDR",
013dc89f
DM
2382 "type" : "string",
2383 "typetext" : "<string>"
44660702
DM
2384 },
2385 "comment" : {
2386 "optional" : 1,
013dc89f
DM
2387 "type" : "string",
2388 "typetext" : "<string>"
44660702
DM
2389 },
2390 "digest" : {
2391 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2392 "maxLength" : 40,
2393 "optional" : 1,
013dc89f
DM
2394 "type" : "string",
2395 "typetext" : "<string>"
44660702
DM
2396 },
2397 "name" : {
2398 "description" : "Alias name.",
2399 "maxLength" : 64,
2400 "minLength" : 2,
2401 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2402 "type" : "string"
2403 },
2404 "rename" : {
2405 "description" : "Rename an existing alias.",
2406 "maxLength" : 64,
2407 "minLength" : 2,
2408 "optional" : 1,
2409 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2410 "type" : "string"
2411 }
2412 }
2413 },
2414 "permissions" : {
2415 "check" : [
2416 "perm",
2417 "/",
2418 [
2419 "Sys.Modify"
2420 ]
2421 ]
2422 },
2423 "protected" : 1,
2424 "returns" : {
2425 "type" : "null"
2426 }
2427 }
2428 },
2429 "leaf" : 1,
2430 "path" : "/cluster/firewall/aliases/{name}",
2431 "text" : "{name}"
2432 }
2433 ],
2434 "info" : {
2435 "GET" : {
e9cd3bd4 2436 "allowtoken" : 1,
44660702
DM
2437 "description" : "List aliases",
2438 "method" : "GET",
2439 "name" : "get_aliases",
2440 "parameters" : {
2441 "additionalProperties" : 0
2442 },
2443 "permissions" : {
2444 "check" : [
2445 "perm",
2446 "/",
2447 [
2448 "Sys.Audit"
2449 ]
2450 ]
2451 },
2452 "returns" : {
2453 "items" : {
2454 "properties" : {
2455 "cidr" : {
2456 "type" : "string"
2457 },
2458 "comment" : {
2459 "optional" : 1,
2460 "type" : "string"
2461 },
2462 "digest" : {
2463 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2464 "maxLength" : 40,
2465 "optional" : 0,
2466 "type" : "string"
2467 },
2468 "name" : {
2469 "type" : "string"
2470 }
2471 },
2472 "type" : "object"
2473 },
2474 "links" : [
2475 {
2476 "href" : "{name}",
2477 "rel" : "child"
2478 }
2479 ],
2480 "type" : "array"
2481 }
2482 },
2483 "POST" : {
e9cd3bd4 2484 "allowtoken" : 1,
44660702
DM
2485 "description" : "Create IP or Network Alias.",
2486 "method" : "POST",
2487 "name" : "create_alias",
56122987
DM
2488 "parameters" : {
2489 "additionalProperties" : 0,
2490 "properties" : {
44660702
DM
2491 "cidr" : {
2492 "description" : "Network/IP specification in CIDR format.",
2493 "format" : "IPorCIDR",
013dc89f
DM
2494 "type" : "string",
2495 "typetext" : "<string>"
44660702
DM
2496 },
2497 "comment" : {
2498 "optional" : 1,
013dc89f
DM
2499 "type" : "string",
2500 "typetext" : "<string>"
44660702
DM
2501 },
2502 "name" : {
2503 "description" : "Alias name.",
2504 "maxLength" : 64,
2505 "minLength" : 2,
2506 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2507 "type" : "string"
56122987
DM
2508 }
2509 }
2510 },
56122987
DM
2511 "permissions" : {
2512 "check" : [
2513 "perm",
2514 "/",
2515 [
2516 "Sys.Modify"
2517 ]
2518 ]
2519 },
44660702 2520 "protected" : 1,
56122987
DM
2521 "returns" : {
2522 "type" : "null"
2523 }
44660702
DM
2524 }
2525 },
2526 "leaf" : 0,
2527 "path" : "/cluster/firewall/aliases",
2528 "text" : "aliases"
2529 },
2530 {
2531 "info" : {
2532 "GET" : {
e9cd3bd4 2533 "allowtoken" : 1,
44660702
DM
2534 "description" : "Get Firewall options.",
2535 "method" : "GET",
2536 "name" : "get_options",
2537 "parameters" : {
2538 "additionalProperties" : 0
7aacca6f 2539 },
56122987
DM
2540 "permissions" : {
2541 "check" : [
2542 "perm",
2543 "/",
2544 [
44660702 2545 "Sys.Audit"
56122987
DM
2546 ]
2547 ]
2548 },
44660702 2549 "returns" : {
56122987 2550 "properties" : {
5da3d723
TL
2551 "ebtables" : {
2552 "default" : 1,
2553 "description" : "Enable ebtables rules cluster wide.",
2554 "optional" : 1,
2555 "type" : "boolean"
2556 },
44660702
DM
2557 "enable" : {
2558 "description" : "Enable or disable the firewall cluster wide.",
2559 "minimum" : 0,
56122987 2560 "optional" : 1,
7aacca6f 2561 "type" : "integer"
56122987 2562 },
95895385
TL
2563 "log_ratelimit" : {
2564 "description" : "Log ratelimiting settings",
2565 "format" : {
2566 "burst" : {
2567 "default" : 5,
2568 "description" : "Inital burst of packages which will get logged",
2569 "minimum" : 0,
2570 "optional" : 1,
2571 "type" : "integer"
2572 },
2573 "enable" : {
2574 "default" : "1",
2575 "default_key" : 1,
2576 "description" : "Enable or disable log rate limiting",
2577 "type" : "boolean"
2578 },
2579 "rate" : {
2580 "default" : "1/second",
2581 "description" : "Frequency with which the burst bucket gets refilled",
2582 "format_description" : "rate",
2583 "optional" : 1,
2584 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2585 "type" : "string"
2586 }
2587 },
2588 "optional" : 1,
2589 "type" : "string"
2590 },
44660702
DM
2591 "policy_in" : {
2592 "description" : "Input policy.",
2593 "enum" : [
2594 "ACCEPT",
2595 "REJECT",
2596 "DROP"
2597 ],
56122987 2598 "optional" : 1,
44660702 2599 "type" : "string"
7aacca6f 2600 },
44660702
DM
2601 "policy_out" : {
2602 "description" : "Output policy.",
2603 "enum" : [
2604 "ACCEPT",
2605 "REJECT",
2606 "DROP"
2607 ],
7aacca6f 2608 "optional" : 1,
44660702
DM
2609 "type" : "string"
2610 }
2611 },
2612 "type" : "object"
2613 }
2614 },
2615 "PUT" : {
e9cd3bd4 2616 "allowtoken" : 1,
44660702
DM
2617 "description" : "Set Firewall options.",
2618 "method" : "PUT",
2619 "name" : "set_options",
2620 "parameters" : {
2621 "additionalProperties" : 0,
2622 "properties" : {
2623 "delete" : {
2624 "description" : "A list of settings you want to delete.",
2625 "format" : "pve-configid-list",
56122987 2626 "optional" : 1,
013dc89f
DM
2627 "type" : "string",
2628 "typetext" : "<string>"
56122987 2629 },
44660702
DM
2630 "digest" : {
2631 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2632 "maxLength" : 40,
56122987 2633 "optional" : 1,
013dc89f
DM
2634 "type" : "string",
2635 "typetext" : "<string>"
56122987 2636 },
5da3d723
TL
2637 "ebtables" : {
2638 "default" : 1,
2639 "description" : "Enable ebtables rules cluster wide.",
2640 "optional" : 1,
2641 "type" : "boolean",
2642 "typetext" : "<boolean>"
2643 },
44660702
DM
2644 "enable" : {
2645 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2646 "minimum" : 0,
56122987 2647 "optional" : 1,
4bd7df8b 2648 "type" : "integer",
013dc89f 2649 "typetext" : "<integer> (0 - N)"
56122987 2650 },
95895385
TL
2651 "log_ratelimit" : {
2652 "description" : "Log ratelimiting settings",
2653 "format" : {
2654 "burst" : {
2655 "default" : 5,
2656 "description" : "Inital burst of packages which will get logged",
2657 "minimum" : 0,
2658 "optional" : 1,
2659 "type" : "integer"
2660 },
2661 "enable" : {
2662 "default" : "1",
2663 "default_key" : 1,
2664 "description" : "Enable or disable log rate limiting",
2665 "type" : "boolean"
2666 },
2667 "rate" : {
2668 "default" : "1/second",
2669 "description" : "Frequency with which the burst bucket gets refilled",
2670 "format_description" : "rate",
2671 "optional" : 1,
2672 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2673 "type" : "string"
2674 }
2675 },
2676 "optional" : 1,
2677 "type" : "string",
2678 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2679 },
44660702
DM
2680 "policy_in" : {
2681 "description" : "Input policy.",
56122987 2682 "enum" : [
44660702
DM
2683 "ACCEPT",
2684 "REJECT",
2685 "DROP"
56122987 2686 ],
56122987 2687 "optional" : 1,
44660702 2688 "type" : "string"
56122987 2689 },
44660702
DM
2690 "policy_out" : {
2691 "description" : "Output policy.",
56122987 2692 "enum" : [
44660702
DM
2693 "ACCEPT",
2694 "REJECT",
2695 "DROP"
56122987 2696 ],
7aacca6f 2697 "optional" : 1,
44660702 2698 "type" : "string"
56122987 2699 }
44660702
DM
2700 }
2701 },
2702 "permissions" : {
2703 "check" : [
2704 "perm",
2705 "/",
2706 [
2707 "Sys.Modify"
2708 ]
2709 ]
7aacca6f
DM
2710 },
2711 "protected" : 1,
44660702
DM
2712 "returns" : {
2713 "type" : "null"
2714 }
2715 }
2716 },
2717 "leaf" : 1,
2718 "path" : "/cluster/firewall/options",
2719 "text" : "options"
2720 },
2721 {
2722 "info" : {
7aacca6f 2723 "GET" : {
e9cd3bd4 2724 "allowtoken" : 1,
44660702 2725 "description" : "List available macros",
7aacca6f 2726 "method" : "GET",
44660702
DM
2727 "name" : "get_macros",
2728 "parameters" : {
2729 "additionalProperties" : 0
7aacca6f 2730 },
44660702
DM
2731 "permissions" : {
2732 "user" : "all"
2733 },
2734 "returns" : {
2735 "items" : {
2736 "properties" : {
2737 "descr" : {
2738 "description" : "More verbose description (if available).",
2739 "type" : "string"
2740 },
2741 "macro" : {
2742 "description" : "Macro name.",
2743 "type" : "string"
2744 }
2745 },
2746 "type" : "object"
2747 },
2748 "type" : "array"
2749 }
2750 }
2751 },
2752 "leaf" : 1,
2753 "path" : "/cluster/firewall/macros",
2754 "text" : "macros"
2755 },
2756 {
2757 "info" : {
2758 "GET" : {
e9cd3bd4 2759 "allowtoken" : 1,
44660702
DM
2760 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2761 "method" : "GET",
2762 "name" : "refs",
7aacca6f 2763 "parameters" : {
44660702 2764 "additionalProperties" : 0,
7aacca6f 2765 "properties" : {
44660702
DM
2766 "type" : {
2767 "description" : "Only list references of specified type.",
2768 "enum" : [
2769 "alias",
2770 "ipset"
2771 ],
2772 "optional" : 1,
2773 "type" : "string"
7aacca6f 2774 }
44660702 2775 }
7aacca6f
DM
2776 },
2777 "permissions" : {
2778 "check" : [
2779 "perm",
2780 "/",
2781 [
2782 "Sys.Audit"
2783 ]
2784 ]
2785 },
44660702
DM
2786 "returns" : {
2787 "items" : {
2788 "properties" : {
2789 "comment" : {
2790 "optional" : 1,
2791 "type" : "string"
2792 },
2793 "name" : {
2794 "type" : "string"
2795 },
2796 "ref" : {
2797 "type" : "string"
2798 },
2799 "type" : {
2800 "enum" : [
2801 "alias",
2802 "ipset"
2803 ],
2804 "type" : "string"
2805 }
2806 },
2807 "type" : "object"
2808 },
2809 "type" : "array"
2810 }
56122987
DM
2811 }
2812 },
7aacca6f 2813 "leaf" : 1,
44660702
DM
2814 "path" : "/cluster/firewall/refs",
2815 "text" : "refs"
56122987
DM
2816 }
2817 ],
56122987 2818 "info" : {
44660702 2819 "GET" : {
e9cd3bd4 2820 "allowtoken" : 1,
44660702
DM
2821 "description" : "Directory index.",
2822 "method" : "GET",
2823 "name" : "index",
56122987 2824 "parameters" : {
56122987
DM
2825 "additionalProperties" : 0
2826 },
44660702
DM
2827 "permissions" : {
2828 "user" : "all"
2829 },
56122987 2830 "returns" : {
44660702
DM
2831 "items" : {
2832 "properties" : {},
2833 "type" : "object"
2834 },
7aacca6f
DM
2835 "links" : [
2836 {
44660702
DM
2837 "href" : "{name}",
2838 "rel" : "child"
7aacca6f
DM
2839 }
2840 ],
7aacca6f 2841 "type" : "array"
7aacca6f 2842 }
56122987
DM
2843 }
2844 },
44660702
DM
2845 "leaf" : 0,
2846 "path" : "/cluster/firewall",
2847 "text" : "firewall"
7aacca6f
DM
2848 },
2849 {
56122987
DM
2850 "children" : [
2851 {
56122987 2852 "info" : {
44660702 2853 "DELETE" : {
e9cd3bd4 2854 "allowtoken" : 1,
44660702
DM
2855 "description" : "Delete vzdump backup job definition.",
2856 "method" : "DELETE",
2857 "name" : "delete_job",
2858 "parameters" : {
2859 "additionalProperties" : 0,
2860 "properties" : {
2861 "id" : {
2862 "description" : "The job ID.",
2863 "maxLength" : 50,
013dc89f
DM
2864 "type" : "string",
2865 "typetext" : "<string>"
44660702
DM
2866 }
2867 }
2868 },
2869 "permissions" : {
2870 "check" : [
2871 "perm",
2872 "/",
2873 [
2874 "Sys.Modify"
2875 ]
2876 ]
2877 },
2878 "protected" : 1,
56122987
DM
2879 "returns" : {
2880 "type" : "null"
44660702
DM
2881 }
2882 },
2883 "GET" : {
e9cd3bd4 2884 "allowtoken" : 1,
44660702
DM
2885 "description" : "Read vzdump backup job definition.",
2886 "method" : "GET",
2887 "name" : "read_job",
2888 "parameters" : {
2889 "additionalProperties" : 0,
2890 "properties" : {
2891 "id" : {
2892 "description" : "The job ID.",
2893 "maxLength" : 50,
013dc89f
DM
2894 "type" : "string",
2895 "typetext" : "<string>"
44660702
DM
2896 }
2897 }
56122987 2898 },
7aacca6f
DM
2899 "permissions" : {
2900 "check" : [
2901 "perm",
2902 "/",
2903 [
44660702 2904 "Sys.Audit"
7aacca6f
DM
2905 ]
2906 ]
2907 },
44660702
DM
2908 "returns" : {
2909 "type" : "object"
2910 }
2911 },
2912 "PUT" : {
e9cd3bd4 2913 "allowtoken" : 1,
44660702
DM
2914 "description" : "Update vzdump backup job definition.",
2915 "method" : "PUT",
2916 "name" : "update_job",
56122987 2917 "parameters" : {
44660702 2918 "additionalProperties" : 0,
56122987 2919 "properties" : {
44660702
DM
2920 "all" : {
2921 "default" : 0,
2922 "description" : "Backup all known guest systems on this host.",
7aacca6f 2923 "optional" : 1,
013dc89f
DM
2924 "type" : "boolean",
2925 "typetext" : "<boolean>"
7aacca6f 2926 },
44660702
DM
2927 "bwlimit" : {
2928 "default" : 0,
2929 "description" : "Limit I/O bandwidth (KBytes per second).",
2930 "minimum" : 0,
2931 "optional" : 1,
4bd7df8b 2932 "type" : "integer",
013dc89f 2933 "typetext" : "<integer> (0 - N)"
44660702
DM
2934 },
2935 "compress" : {
2936 "default" : "0",
2937 "description" : "Compress dump file.",
7aacca6f 2938 "enum" : [
44660702
DM
2939 "0",
2940 "1",
2941 "gzip",
2942 "lzo"
7aacca6f 2943 ],
44660702
DM
2944 "optional" : 1,
2945 "type" : "string"
7aacca6f 2946 },
44660702
DM
2947 "delete" : {
2948 "description" : "A list of settings you want to delete.",
2949 "format" : "pve-configid-list",
7aacca6f 2950 "optional" : 1,
013dc89f
DM
2951 "type" : "string",
2952 "typetext" : "<string>"
56122987 2953 },
44660702
DM
2954 "dow" : {
2955 "description" : "Day of week selection.",
2956 "format" : "pve-day-of-week-list",
7aacca6f 2957 "optional" : 1,
013dc89f
DM
2958 "type" : "string",
2959 "typetext" : "<string>"
56122987 2960 },
44660702
DM
2961 "dumpdir" : {
2962 "description" : "Store resulting files to specified directory.",
56122987 2963 "optional" : 1,
013dc89f
DM
2964 "type" : "string",
2965 "typetext" : "<string>"
56122987 2966 },
44660702
DM
2967 "enabled" : {
2968 "default" : "1",
2969 "description" : "Enable or disable the job.",
2970 "optional" : 1,
013dc89f
DM
2971 "type" : "boolean",
2972 "typetext" : "<boolean>"
44660702
DM
2973 },
2974 "exclude" : {
2975 "description" : "Exclude specified guest systems (assumes --all)",
2976 "format" : "pve-vmid-list",
2977 "optional" : 1,
013dc89f
DM
2978 "type" : "string",
2979 "typetext" : "<string>"
44660702
DM
2980 },
2981 "exclude-path" : {
2982 "description" : "Exclude certain files/directories (shell globs).",
2983 "format" : "string-alist",
2984 "optional" : 1,
013dc89f
DM
2985 "type" : "string",
2986 "typetext" : "<string>"
44660702
DM
2987 },
2988 "id" : {
2989 "description" : "The job ID.",
2990 "maxLength" : 50,
013dc89f
DM
2991 "type" : "string",
2992 "typetext" : "<string>"
44660702
DM
2993 },
2994 "ionice" : {
2995 "default" : 7,
2996 "description" : "Set CFQ ionice priority.",
2997 "maximum" : 8,
2998 "minimum" : 0,
2999 "optional" : 1,
4bd7df8b 3000 "type" : "integer",
013dc89f 3001 "typetext" : "<integer> (0 - 8)"
44660702
DM
3002 },
3003 "lockwait" : {
3004 "default" : 180,
3005 "description" : "Maximal time to wait for the global lock (minutes).",
3006 "minimum" : 0,
3007 "optional" : 1,
4bd7df8b 3008 "type" : "integer",
013dc89f 3009 "typetext" : "<integer> (0 - N)"
44660702
DM
3010 },
3011 "mailnotification" : {
3012 "default" : "always",
3013 "description" : "Specify when to send an email",
56122987 3014 "enum" : [
44660702
DM
3015 "always",
3016 "failure"
56122987 3017 ],
44660702
DM
3018 "optional" : 1,
3019 "type" : "string"
3020 },
3021 "mailto" : {
3022 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3023 "format" : "string-list",
3024 "optional" : 1,
013dc89f
DM
3025 "type" : "string",
3026 "typetext" : "<string>"
44660702
DM
3027 },
3028 "maxfiles" : {
3029 "default" : 1,
3030 "description" : "Maximal number of backup files per guest system.",
3031 "minimum" : 1,
3032 "optional" : 1,
4bd7df8b 3033 "type" : "integer",
013dc89f 3034 "typetext" : "<integer> (1 - N)"
44660702
DM
3035 },
3036 "mode" : {
3037 "default" : "snapshot",
3038 "description" : "Backup mode.",
3039 "enum" : [
3040 "snapshot",
3041 "suspend",
3042 "stop"
3043 ],
3044 "optional" : 1,
3045 "type" : "string"
3046 },
3047 "node" : {
3048 "description" : "Only run if executed on this node.",
3049 "format" : "pve-node",
3050 "optional" : 1,
013dc89f
DM
3051 "type" : "string",
3052 "typetext" : "<string>"
44660702
DM
3053 },
3054 "pigz" : {
3055 "default" : 0,
3056 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3057 "optional" : 1,
013dc89f
DM
3058 "type" : "integer",
3059 "typetext" : "<integer>"
44660702 3060 },
9226ccbc
TL
3061 "pool" : {
3062 "description" : "Backup all known guest systems included in the specified pool.",
3063 "optional" : 1,
3064 "type" : "string",
3065 "typetext" : "<string>"
3066 },
44660702
DM
3067 "quiet" : {
3068 "default" : 0,
3069 "description" : "Be quiet.",
3070 "optional" : 1,
013dc89f
DM
3071 "type" : "boolean",
3072 "typetext" : "<boolean>"
44660702
DM
3073 },
3074 "remove" : {
3075 "default" : 1,
3076 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3077 "optional" : 1,
013dc89f
DM
3078 "type" : "boolean",
3079 "typetext" : "<boolean>"
44660702
DM
3080 },
3081 "script" : {
3082 "description" : "Use specified hook script.",
3083 "optional" : 1,
013dc89f
DM
3084 "type" : "string",
3085 "typetext" : "<string>"
44660702
DM
3086 },
3087 "size" : {
3088 "default" : 1024,
3089 "description" : "Unused, will be removed in a future release.",
3090 "minimum" : 500,
3091 "optional" : 1,
4bd7df8b 3092 "type" : "integer",
013dc89f 3093 "typetext" : "<integer> (500 - N)"
44660702
DM
3094 },
3095 "starttime" : {
3096 "description" : "Job Start time.",
3097 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3098 "type" : "string",
44660702 3099 "typetext" : "HH:MM"
7aacca6f 3100 },
44660702
DM
3101 "stdexcludes" : {
3102 "default" : 1,
3103 "description" : "Exclude temporary files and logs.",
3104 "optional" : 1,
013dc89f
DM
3105 "type" : "boolean",
3106 "typetext" : "<boolean>"
44660702
DM
3107 },
3108 "stop" : {
3109 "default" : 0,
1e3f8156 3110 "description" : "Stop running backup jobs on this host.",
44660702 3111 "optional" : 1,
013dc89f
DM
3112 "type" : "boolean",
3113 "typetext" : "<boolean>"
44660702
DM
3114 },
3115 "stopwait" : {
3116 "default" : 10,
3117 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3118 "minimum" : 0,
3119 "optional" : 1,
4bd7df8b 3120 "type" : "integer",
013dc89f 3121 "typetext" : "<integer> (0 - N)"
44660702
DM
3122 },
3123 "storage" : {
3124 "description" : "Store resulting file to this storage.",
3125 "format" : "pve-storage-id",
3126 "optional" : 1,
013dc89f
DM
3127 "type" : "string",
3128 "typetext" : "<string>"
56122987 3129 },
44660702
DM
3130 "tmpdir" : {
3131 "description" : "Store temporary files to specified directory.",
3132 "optional" : 1,
013dc89f
DM
3133 "type" : "string",
3134 "typetext" : "<string>"
44660702
DM
3135 },
3136 "vmid" : {
3137 "description" : "The ID of the guest system you want to backup.",
3138 "format" : "pve-vmid-list",
3139 "optional" : 1,
013dc89f
DM
3140 "type" : "string",
3141 "typetext" : "<string>"
56122987 3142 }
44660702 3143 }
56122987
DM
3144 },
3145 "permissions" : {
3146 "check" : [
3147 "perm",
3148 "/",
3149 [
44660702 3150 "Sys.Modify"
56122987
DM
3151 ]
3152 ]
3153 },
44660702
DM
3154 "protected" : 1,
3155 "returns" : {
3156 "type" : "null"
7aacca6f 3157 }
56122987
DM
3158 }
3159 },
44660702
DM
3160 "leaf" : 1,
3161 "path" : "/cluster/backup/{id}",
3162 "text" : "{id}"
3163 }
3164 ],
3165 "info" : {
3166 "GET" : {
e9cd3bd4 3167 "allowtoken" : 1,
44660702
DM
3168 "description" : "List vzdump backup schedule.",
3169 "method" : "GET",
3170 "name" : "index",
3171 "parameters" : {
3172 "additionalProperties" : 0
3173 },
3174 "permissions" : {
3175 "check" : [
3176 "perm",
3177 "/",
3178 [
3179 "Sys.Audit"
3180 ]
3181 ]
3182 },
3183 "returns" : {
3184 "items" : {
3185 "properties" : {
3186 "id" : {
1c532546
TL
3187 "description" : "The job ID.",
3188 "maxLength" : 50,
44660702
DM
3189 "type" : "string"
3190 }
3191 },
3192 "type" : "object"
3193 },
3194 "links" : [
3195 {
3196 "href" : "{id}",
3197 "rel" : "child"
3198 }
3199 ],
3200 "type" : "array"
3201 }
3202 },
3203 "POST" : {
e9cd3bd4 3204 "allowtoken" : 1,
44660702
DM
3205 "description" : "Create new vzdump backup job.",
3206 "method" : "POST",
3207 "name" : "create_job",
3208 "parameters" : {
3209 "additionalProperties" : 0,
3210 "properties" : {
3211 "all" : {
3212 "default" : 0,
3213 "description" : "Backup all known guest systems on this host.",
3214 "optional" : 1,
013dc89f
DM
3215 "type" : "boolean",
3216 "typetext" : "<boolean>"
44660702
DM
3217 },
3218 "bwlimit" : {
3219 "default" : 0,
3220 "description" : "Limit I/O bandwidth (KBytes per second).",
3221 "minimum" : 0,
3222 "optional" : 1,
4bd7df8b 3223 "type" : "integer",
013dc89f 3224 "typetext" : "<integer> (0 - N)"
44660702
DM
3225 },
3226 "compress" : {
3227 "default" : "0",
3228 "description" : "Compress dump file.",
3229 "enum" : [
3230 "0",
3231 "1",
3232 "gzip",
3233 "lzo"
3234 ],
3235 "optional" : 1,
3236 "type" : "string"
3237 },
3238 "dow" : {
3239 "default" : "mon,tue,wed,thu,fri,sat,sun",
3240 "description" : "Day of week selection.",
3241 "format" : "pve-day-of-week-list",
3242 "optional" : 1,
013dc89f
DM
3243 "type" : "string",
3244 "typetext" : "<string>"
44660702
DM
3245 },
3246 "dumpdir" : {
3247 "description" : "Store resulting files to specified directory.",
3248 "optional" : 1,
013dc89f
DM
3249 "type" : "string",
3250 "typetext" : "<string>"
44660702
DM
3251 },
3252 "enabled" : {
3253 "default" : "1",
3254 "description" : "Enable or disable the job.",
3255 "optional" : 1,
013dc89f
DM
3256 "type" : "boolean",
3257 "typetext" : "<boolean>"
44660702
DM
3258 },
3259 "exclude" : {
3260 "description" : "Exclude specified guest systems (assumes --all)",
3261 "format" : "pve-vmid-list",
3262 "optional" : 1,
013dc89f
DM
3263 "type" : "string",
3264 "typetext" : "<string>"
44660702
DM
3265 },
3266 "exclude-path" : {
3267 "description" : "Exclude certain files/directories (shell globs).",
3268 "format" : "string-alist",
3269 "optional" : 1,
013dc89f
DM
3270 "type" : "string",
3271 "typetext" : "<string>"
44660702
DM
3272 },
3273 "ionice" : {
3274 "default" : 7,
3275 "description" : "Set CFQ ionice priority.",
3276 "maximum" : 8,
3277 "minimum" : 0,
3278 "optional" : 1,
4bd7df8b 3279 "type" : "integer",
013dc89f 3280 "typetext" : "<integer> (0 - 8)"
44660702
DM
3281 },
3282 "lockwait" : {
3283 "default" : 180,
3284 "description" : "Maximal time to wait for the global lock (minutes).",
3285 "minimum" : 0,
3286 "optional" : 1,
4bd7df8b 3287 "type" : "integer",
013dc89f 3288 "typetext" : "<integer> (0 - N)"
44660702
DM
3289 },
3290 "mailnotification" : {
3291 "default" : "always",
3292 "description" : "Specify when to send an email",
3293 "enum" : [
3294 "always",
3295 "failure"
3296 ],
3297 "optional" : 1,
3298 "type" : "string"
3299 },
3300 "mailto" : {
3301 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3302 "format" : "string-list",
3303 "optional" : 1,
013dc89f
DM
3304 "type" : "string",
3305 "typetext" : "<string>"
44660702
DM
3306 },
3307 "maxfiles" : {
3308 "default" : 1,
3309 "description" : "Maximal number of backup files per guest system.",
3310 "minimum" : 1,
3311 "optional" : 1,
4bd7df8b 3312 "type" : "integer",
013dc89f 3313 "typetext" : "<integer> (1 - N)"
44660702
DM
3314 },
3315 "mode" : {
3316 "default" : "snapshot",
3317 "description" : "Backup mode.",
3318 "enum" : [
3319 "snapshot",
3320 "suspend",
3321 "stop"
3322 ],
3323 "optional" : 1,
3324 "type" : "string"
3325 },
3326 "node" : {
3327 "description" : "Only run if executed on this node.",
3328 "format" : "pve-node",
3329 "optional" : 1,
013dc89f
DM
3330 "type" : "string",
3331 "typetext" : "<string>"
44660702
DM
3332 },
3333 "pigz" : {
3334 "default" : 0,
3335 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3336 "optional" : 1,
013dc89f
DM
3337 "type" : "integer",
3338 "typetext" : "<integer>"
44660702 3339 },
9226ccbc
TL
3340 "pool" : {
3341 "description" : "Backup all known guest systems included in the specified pool.",
3342 "optional" : 1,
3343 "type" : "string",
3344 "typetext" : "<string>"
3345 },
44660702
DM
3346 "quiet" : {
3347 "default" : 0,
3348 "description" : "Be quiet.",
3349 "optional" : 1,
013dc89f
DM
3350 "type" : "boolean",
3351 "typetext" : "<boolean>"
44660702
DM
3352 },
3353 "remove" : {
3354 "default" : 1,
3355 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3356 "optional" : 1,
013dc89f
DM
3357 "type" : "boolean",
3358 "typetext" : "<boolean>"
44660702
DM
3359 },
3360 "script" : {
3361 "description" : "Use specified hook script.",
3362 "optional" : 1,
013dc89f
DM
3363 "type" : "string",
3364 "typetext" : "<string>"
44660702
DM
3365 },
3366 "size" : {
3367 "default" : 1024,
3368 "description" : "Unused, will be removed in a future release.",
3369 "minimum" : 500,
3370 "optional" : 1,
4bd7df8b 3371 "type" : "integer",
013dc89f 3372 "typetext" : "<integer> (500 - N)"
44660702
DM
3373 },
3374 "starttime" : {
3375 "description" : "Job Start time.",
3376 "pattern" : "\\d{1,2}:\\d{1,2}",
3377 "type" : "string",
3378 "typetext" : "HH:MM"
3379 },
3380 "stdexcludes" : {
3381 "default" : 1,
3382 "description" : "Exclude temporary files and logs.",
3383 "optional" : 1,
013dc89f
DM
3384 "type" : "boolean",
3385 "typetext" : "<boolean>"
44660702
DM
3386 },
3387 "stop" : {
3388 "default" : 0,
1e3f8156 3389 "description" : "Stop running backup jobs on this host.",
44660702 3390 "optional" : 1,
013dc89f
DM
3391 "type" : "boolean",
3392 "typetext" : "<boolean>"
44660702
DM
3393 },
3394 "stopwait" : {
3395 "default" : 10,
3396 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3397 "minimum" : 0,
3398 "optional" : 1,
4bd7df8b 3399 "type" : "integer",
013dc89f 3400 "typetext" : "<integer> (0 - N)"
44660702
DM
3401 },
3402 "storage" : {
3403 "description" : "Store resulting file to this storage.",
3404 "format" : "pve-storage-id",
3405 "optional" : 1,
013dc89f
DM
3406 "type" : "string",
3407 "typetext" : "<string>"
44660702
DM
3408 },
3409 "tmpdir" : {
3410 "description" : "Store temporary files to specified directory.",
3411 "optional" : 1,
013dc89f
DM
3412 "type" : "string",
3413 "typetext" : "<string>"
44660702
DM
3414 },
3415 "vmid" : {
3416 "description" : "The ID of the guest system you want to backup.",
3417 "format" : "pve-vmid-list",
3418 "optional" : 1,
013dc89f
DM
3419 "type" : "string",
3420 "typetext" : "<string>"
44660702
DM
3421 }
3422 }
3423 },
3424 "permissions" : {
3425 "check" : [
3426 "perm",
3427 "/",
3428 [
3429 "Sys.Modify"
3430 ]
de0983cb
DM
3431 ],
3432 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3433 },
3434 "protected" : 1,
3435 "returns" : {
3436 "type" : "null"
3437 }
3438 }
3439 },
3440 "leaf" : 0,
3441 "path" : "/cluster/backup",
3442 "text" : "backup"
3443 },
3444 {
3445 "children" : [
3446 {
3447 "children" : [
3448 {
3449 "children" : [
56122987 3450 {
56122987
DM
3451 "info" : {
3452 "POST" : {
e9cd3bd4 3453 "allowtoken" : 1,
44660702
DM
3454 "description" : "Request resource migration (online) to another node.",
3455 "method" : "POST",
3456 "name" : "migrate",
56122987 3457 "parameters" : {
7aacca6f 3458 "additionalProperties" : 0,
56122987
DM
3459 "properties" : {
3460 "node" : {
95895385 3461 "description" : "Target node.",
44660702 3462 "format" : "pve-node",
013dc89f
DM
3463 "type" : "string",
3464 "typetext" : "<string>"
56122987
DM
3465 },
3466 "sid" : {
44660702 3467 "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 3468 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3469 "type" : "string",
44660702 3470 "typetext" : "<type>:<name>"
56122987 3471 }
7aacca6f 3472 }
56122987 3473 },
56122987
DM
3474 "permissions" : {
3475 "check" : [
3476 "perm",
3477 "/",
3478 [
3479 "Sys.Console"
3480 ]
3481 ]
3482 },
7aacca6f 3483 "protected" : 1,
7aacca6f
DM
3484 "returns" : {
3485 "type" : "null"
44660702 3486 }
56122987 3487 }
44660702
DM
3488 },
3489 "leaf" : 1,
3490 "path" : "/cluster/ha/resources/{sid}/migrate",
3491 "text" : "migrate"
3492 },
3493 {
3494 "info" : {
3495 "POST" : {
e9cd3bd4 3496 "allowtoken" : 1,
44660702
DM
3497 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3498 "method" : "POST",
3499 "name" : "relocate",
3500 "parameters" : {
3501 "additionalProperties" : 0,
3502 "properties" : {
3503 "node" : {
95895385 3504 "description" : "Target node.",
44660702 3505 "format" : "pve-node",
013dc89f
DM
3506 "type" : "string",
3507 "typetext" : "<string>"
44660702
DM
3508 },
3509 "sid" : {
3510 "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).",
3511 "format" : "pve-ha-resource-or-vm-id",
3512 "type" : "string",
3513 "typetext" : "<type>:<name>"
3514 }
3515 }
3516 },
3517 "permissions" : {
3518 "check" : [
3519 "perm",
3520 "/",
3521 [
3522 "Sys.Console"
3523 ]
3524 ]
3525 },
3526 "protected" : 1,
3527 "returns" : {
3528 "type" : "null"
3529 }
3530 }
3531 },
3532 "leaf" : 1,
3533 "path" : "/cluster/ha/resources/{sid}/relocate",
3534 "text" : "relocate"
3535 }
3536 ],
3537 "info" : {
3538 "DELETE" : {
e9cd3bd4 3539 "allowtoken" : 1,
44660702
DM
3540 "description" : "Delete resource configuration.",
3541 "method" : "DELETE",
3542 "name" : "delete",
7aacca6f 3543 "parameters" : {
44660702 3544 "additionalProperties" : 0,
7aacca6f
DM
3545 "properties" : {
3546 "sid" : {
3547 "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 3548 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3549 "type" : "string",
44660702
DM
3550 "typetext" : "<type>:<name>"
3551 }
3552 }
3553 },
3554 "permissions" : {
3555 "check" : [
3556 "perm",
3557 "/",
3558 [
3559 "Sys.Console"
3560 ]
3561 ]
3562 },
3563 "protected" : 1,
3564 "returns" : {
3565 "type" : "null"
3566 }
3567 },
3568 "GET" : {
e9cd3bd4 3569 "allowtoken" : 1,
44660702
DM
3570 "description" : "Read resource configuration.",
3571 "method" : "GET",
3572 "name" : "read",
3573 "parameters" : {
3574 "additionalProperties" : 0,
3575 "properties" : {
3576 "sid" : {
3577 "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 3578 "format" : "pve-ha-resource-or-vm-id",
44660702 3579 "type" : "string",
7aacca6f
DM
3580 "typetext" : "<type>:<name>"
3581 }
44660702 3582 }
7aacca6f
DM
3583 },
3584 "permissions" : {
3585 "check" : [
3586 "perm",
3587 "/",
3588 [
3589 "Sys.Audit"
3590 ]
3591 ]
3592 },
5f26e15b
TL
3593 "returns" : {
3594 "properties" : {
3595 "comment" : {
3596 "description" : "Description.",
3597 "optional" : 1,
3598 "type" : "string"
3599 },
3600 "digest" : {
3601 "description" : "Can be used to prevent concurrent modifications.",
3602 "type" : "string"
3603 },
3604 "group" : {
3605 "description" : "The HA group identifier.",
3606 "format" : "pve-configid",
3607 "optional" : 1,
3608 "type" : "string"
3609 },
3610 "max_relocate" : {
3611 "description" : "Maximal number of service relocate tries when a service failes to start.",
3612 "optional" : 1,
3613 "type" : "integer"
3614 },
3615 "max_restart" : {
3616 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3617 "optional" : 1,
3618 "type" : "integer"
3619 },
3620 "sid" : {
3621 "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).",
3622 "format" : "pve-ha-resource-or-vm-id",
3623 "type" : "string",
3624 "typetext" : "<type>:<name>"
3625 },
3626 "state" : {
3627 "description" : "Requested resource state.",
3628 "enum" : [
3629 "started",
3630 "stopped",
3631 "enabled",
3632 "disabled",
3633 "ignored"
3634 ],
3635 "optional" : 1,
3636 "type" : "string"
3637 },
3638 "type" : {
3639 "description" : "The type of the resources.",
3640 "type" : "string"
3641 }
3642 },
3643 "type" : "object"
3644 }
7aacca6f 3645 },
56122987 3646 "PUT" : {
e9cd3bd4 3647 "allowtoken" : 1,
44660702 3648 "description" : "Update resource configuration.",
7aacca6f 3649 "method" : "PUT",
44660702 3650 "name" : "update",
56122987
DM
3651 "parameters" : {
3652 "additionalProperties" : 0,
3653 "properties" : {
44660702
DM
3654 "comment" : {
3655 "description" : "Description.",
3656 "maxLength" : 4096,
56122987 3657 "optional" : 1,
013dc89f
DM
3658 "type" : "string",
3659 "typetext" : "<string>"
56122987 3660 },
7aacca6f
DM
3661 "delete" : {
3662 "description" : "A list of settings you want to delete.",
7aacca6f 3663 "format" : "pve-configid-list",
44660702
DM
3664 "maxLength" : 4096,
3665 "optional" : 1,
013dc89f
DM
3666 "type" : "string",
3667 "typetext" : "<string>"
56122987 3668 },
44660702
DM
3669 "digest" : {
3670 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3671 "maxLength" : 40,
3672 "optional" : 1,
013dc89f
DM
3673 "type" : "string",
3674 "typetext" : "<string>"
56122987 3675 },
44660702
DM
3676 "group" : {
3677 "description" : "The HA group identifier.",
3678 "format" : "pve-configid",
7aacca6f 3679 "optional" : 1,
013dc89f
DM
3680 "type" : "string",
3681 "typetext" : "<string>"
56122987
DM
3682 },
3683 "max_relocate" : {
7aacca6f 3684 "default" : 1,
56122987 3685 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3686 "minimum" : 0,
3687 "optional" : 1,
4bd7df8b 3688 "type" : "integer",
013dc89f 3689 "typetext" : "<integer> (0 - N)"
7aacca6f 3690 },
44660702
DM
3691 "max_restart" : {
3692 "default" : 1,
3693 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3694 "minimum" : 0,
7aacca6f 3695 "optional" : 1,
4bd7df8b 3696 "type" : "integer",
013dc89f 3697 "typetext" : "<integer> (0 - N)"
44660702
DM
3698 },
3699 "sid" : {
3700 "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).",
3701 "format" : "pve-ha-resource-or-vm-id",
3702 "type" : "string",
3703 "typetext" : "<type>:<name>"
7aacca6f
DM
3704 },
3705 "state" : {
f13c1238
DM
3706 "default" : "started",
3707 "description" : "Requested resource state.",
7aacca6f 3708 "enum" : [
f13c1238
DM
3709 "started",
3710 "stopped",
7aacca6f 3711 "enabled",
2489d6df
WB
3712 "disabled",
3713 "ignored"
7aacca6f 3714 ],
7aacca6f 3715 "optional" : 1,
f13c1238 3716 "type" : "string",
2489d6df 3717 "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 3718 }
44660702
DM
3719 },
3720 "type" : "object"
56122987 3721 },
56122987
DM
3722 "permissions" : {
3723 "check" : [
3724 "perm",
3725 "/",
3726 [
3727 "Sys.Console"
3728 ]
3729 ]
3730 },
7aacca6f 3731 "protected" : 1,
56122987
DM
3732 "returns" : {
3733 "type" : "null"
3734 }
3735 }
3736 },
44660702 3737 "leaf" : 0,
7aacca6f 3738 "path" : "/cluster/ha/resources/{sid}",
44660702 3739 "text" : "{sid}"
56122987
DM
3740 }
3741 ],
7aacca6f
DM
3742 "info" : {
3743 "GET" : {
e9cd3bd4 3744 "allowtoken" : 1,
44660702
DM
3745 "description" : "List HA resources.",
3746 "method" : "GET",
3747 "name" : "index",
7aacca6f 3748 "parameters" : {
44660702
DM
3749 "additionalProperties" : 0,
3750 "properties" : {
3751 "type" : {
3752 "description" : "Only list resources of specific type",
3753 "enum" : [
3754 "ct",
3755 "vm"
3756 ],
3757 "optional" : 1,
3758 "type" : "string"
3759 }
3760 }
7aacca6f 3761 },
7aacca6f
DM
3762 "permissions" : {
3763 "check" : [
3764 "perm",
3765 "/",
3766 [
3767 "Sys.Audit"
3768 ]
3769 ]
3770 },
7aacca6f 3771 "returns" : {
7aacca6f 3772 "items" : {
7aacca6f 3773 "properties" : {
44660702 3774 "sid" : {
7aacca6f
DM
3775 "type" : "string"
3776 }
44660702
DM
3777 },
3778 "type" : "object"
7aacca6f
DM
3779 },
3780 "links" : [
3781 {
44660702 3782 "href" : "{sid}",
7aacca6f
DM
3783 "rel" : "child"
3784 }
44660702
DM
3785 ],
3786 "type" : "array"
7aacca6f
DM
3787 }
3788 },
3789 "POST" : {
e9cd3bd4 3790 "allowtoken" : 1,
44660702 3791 "description" : "Create a new HA resource.",
7aacca6f 3792 "method" : "POST",
44660702 3793 "name" : "create",
7aacca6f 3794 "parameters" : {
44660702 3795 "additionalProperties" : 0,
7aacca6f
DM
3796 "properties" : {
3797 "comment" : {
7aacca6f 3798 "description" : "Description.",
44660702 3799 "maxLength" : 4096,
7aacca6f 3800 "optional" : 1,
013dc89f
DM
3801 "type" : "string",
3802 "typetext" : "<string>"
7aacca6f 3803 },
44660702
DM
3804 "group" : {
3805 "description" : "The HA group identifier.",
3806 "format" : "pve-configid",
7aacca6f 3807 "optional" : 1,
013dc89f
DM
3808 "type" : "string",
3809 "typetext" : "<string>"
7aacca6f 3810 },
44660702
DM
3811 "max_relocate" : {
3812 "default" : 1,
3813 "description" : "Maximal number of service relocate tries when a service failes to start.",
3814 "minimum" : 0,
7aacca6f 3815 "optional" : 1,
4bd7df8b 3816 "type" : "integer",
013dc89f 3817 "typetext" : "<integer> (0 - N)"
7aacca6f 3818 },
44660702
DM
3819 "max_restart" : {
3820 "default" : 1,
3821 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3822 "minimum" : 0,
3823 "optional" : 1,
4bd7df8b 3824 "type" : "integer",
013dc89f 3825 "typetext" : "<integer> (0 - N)"
44660702
DM
3826 },
3827 "sid" : {
3828 "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).",
3829 "format" : "pve-ha-resource-or-vm-id",
3830 "type" : "string",
3831 "typetext" : "<type>:<name>"
3832 },
3833 "state" : {
f13c1238
DM
3834 "default" : "started",
3835 "description" : "Requested resource state.",
7aacca6f 3836 "enum" : [
f13c1238
DM
3837 "started",
3838 "stopped",
44660702 3839 "enabled",
2489d6df
WB
3840 "disabled",
3841 "ignored"
7aacca6f 3842 ],
7aacca6f 3843 "optional" : 1,
f13c1238 3844 "type" : "string",
2489d6df 3845 "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 3846 },
44660702
DM
3847 "type" : {
3848 "description" : "Resource type.",
3849 "enum" : [
3850 "ct",
3851 "vm"
3852 ],
3853 "optional" : 1,
3854 "type" : "string"
3855 }
7aacca6f 3856 },
44660702 3857 "type" : "object"
7aacca6f
DM
3858 },
3859 "permissions" : {
3860 "check" : [
3861 "perm",
3862 "/",
3863 [
3864 "Sys.Console"
3865 ]
3866 ]
3867 },
44660702
DM
3868 "protected" : 1,
3869 "returns" : {
3870 "type" : "null"
3871 }
7aacca6f
DM
3872 }
3873 },
44660702
DM
3874 "leaf" : 0,
3875 "path" : "/cluster/ha/resources",
3876 "text" : "resources"
3877 },
3878 {
56122987
DM
3879 "children" : [
3880 {
56122987 3881 "info" : {
44660702 3882 "DELETE" : {
e9cd3bd4 3883 "allowtoken" : 1,
44660702
DM
3884 "description" : "Delete ha group configuration.",
3885 "method" : "DELETE",
3886 "name" : "delete",
56122987 3887 "parameters" : {
7aacca6f 3888 "additionalProperties" : 0,
56122987 3889 "properties" : {
7aacca6f
DM
3890 "group" : {
3891 "description" : "The HA group identifier.",
44660702 3892 "format" : "pve-configid",
013dc89f
DM
3893 "type" : "string",
3894 "typetext" : "<string>"
56122987 3895 }
7aacca6f 3896 }
56122987 3897 },
56122987
DM
3898 "permissions" : {
3899 "check" : [
3900 "perm",
3901 "/",
3902 [
7aacca6f 3903 "Sys.Console"
56122987
DM
3904 ]
3905 ]
3906 },
44660702 3907 "protected" : 1,
7aacca6f
DM
3908 "returns" : {
3909 "type" : "null"
56122987
DM
3910 }
3911 },
44660702 3912 "GET" : {
e9cd3bd4 3913 "allowtoken" : 1,
44660702
DM
3914 "description" : "Read ha group configuration.",
3915 "method" : "GET",
3916 "name" : "read",
56122987 3917 "parameters" : {
44660702 3918 "additionalProperties" : 0,
56122987
DM
3919 "properties" : {
3920 "group" : {
3921 "description" : "The HA group identifier.",
44660702 3922 "format" : "pve-configid",
013dc89f
DM
3923 "type" : "string",
3924 "typetext" : "<string>"
56122987 3925 }
44660702 3926 }
56122987 3927 },
56122987
DM
3928 "permissions" : {
3929 "check" : [
3930 "perm",
3931 "/",
3932 [
44660702 3933 "Sys.Audit"
56122987
DM
3934 ]
3935 ]
3936 },
44660702 3937 "returns" : {}
7aacca6f 3938 },
44660702 3939 "PUT" : {
e9cd3bd4 3940 "allowtoken" : 1,
44660702
DM
3941 "description" : "Update ha group configuration.",
3942 "method" : "PUT",
3943 "name" : "update",
7aacca6f 3944 "parameters" : {
44660702 3945 "additionalProperties" : 0,
7aacca6f 3946 "properties" : {
44660702
DM
3947 "comment" : {
3948 "description" : "Description.",
3949 "maxLength" : 4096,
3950 "optional" : 1,
013dc89f
DM
3951 "type" : "string",
3952 "typetext" : "<string>"
44660702
DM
3953 },
3954 "delete" : {
3955 "description" : "A list of settings you want to delete.",
3956 "format" : "pve-configid-list",
3957 "maxLength" : 4096,
3958 "optional" : 1,
013dc89f
DM
3959 "type" : "string",
3960 "typetext" : "<string>"
44660702
DM
3961 },
3962 "digest" : {
3963 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3964 "maxLength" : 40,
3965 "optional" : 1,
013dc89f
DM
3966 "type" : "string",
3967 "typetext" : "<string>"
44660702 3968 },
7aacca6f
DM
3969 "group" : {
3970 "description" : "The HA group identifier.",
44660702 3971 "format" : "pve-configid",
013dc89f
DM
3972 "type" : "string",
3973 "typetext" : "<string>"
44660702
DM
3974 },
3975 "nodes" : {
f13c1238 3976 "description" : "List of cluster node names with optional priority.",
44660702
DM
3977 "format" : "pve-ha-group-node-list",
3978 "optional" : 1,
7aacca6f 3979 "type" : "string",
f13c1238
DM
3980 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3981 "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
3982 },
3983 "nofailback" : {
3984 "default" : 0,
3985 "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.",
3986 "optional" : 1,
013dc89f
DM
3987 "type" : "boolean",
3988 "typetext" : "<boolean>"
44660702
DM
3989 },
3990 "restricted" : {
3991 "default" : 0,
c4808e75 3992 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3993 "optional" : 1,
013dc89f 3994 "type" : "boolean",
c4808e75
DM
3995 "typetext" : "<boolean>",
3996 "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
3997 }
3998 },
44660702 3999 "type" : "object"
7aacca6f 4000 },
7aacca6f
DM
4001 "permissions" : {
4002 "check" : [
4003 "perm",
4004 "/",
4005 [
44660702 4006 "Sys.Console"
7aacca6f
DM
4007 ]
4008 ]
4009 },
44660702
DM
4010 "protected" : 1,
4011 "returns" : {
4012 "type" : "null"
4013 }
56122987
DM
4014 }
4015 },
4016 "leaf" : 1,
44660702
DM
4017 "path" : "/cluster/ha/groups/{group}",
4018 "text" : "{group}"
56122987 4019 }
44660702
DM
4020 ],
4021 "info" : {
4022 "GET" : {
e9cd3bd4 4023 "allowtoken" : 1,
44660702
DM
4024 "description" : "Get HA groups.",
4025 "method" : "GET",
4026 "name" : "index",
4027 "parameters" : {
4028 "additionalProperties" : 0
4029 },
4030 "permissions" : {
4031 "check" : [
4032 "perm",
4033 "/",
4034 [
4035 "Sys.Audit"
4036 ]
4037 ]
4038 },
4039 "returns" : {
4040 "items" : {
4041 "properties" : {
4042 "group" : {
4043 "type" : "string"
4044 }
4045 },
4046 "type" : "object"
4047 },
4048 "links" : [
4049 {
4050 "href" : "{group}",
4051 "rel" : "child"
4052 }
4053 ],
4054 "type" : "array"
4055 }
4056 },
4057 "POST" : {
e9cd3bd4 4058 "allowtoken" : 1,
44660702
DM
4059 "description" : "Create a new HA group.",
4060 "method" : "POST",
4061 "name" : "create",
4062 "parameters" : {
4063 "additionalProperties" : 0,
4064 "properties" : {
4065 "comment" : {
4066 "description" : "Description.",
4067 "maxLength" : 4096,
4068 "optional" : 1,
013dc89f
DM
4069 "type" : "string",
4070 "typetext" : "<string>"
44660702
DM
4071 },
4072 "group" : {
4073 "description" : "The HA group identifier.",
4074 "format" : "pve-configid",
013dc89f
DM
4075 "type" : "string",
4076 "typetext" : "<string>"
44660702
DM
4077 },
4078 "nodes" : {
f13c1238 4079 "description" : "List of cluster node names with optional priority.",
44660702
DM
4080 "format" : "pve-ha-group-node-list",
4081 "optional" : 0,
4082 "type" : "string",
f13c1238
DM
4083 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4084 "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
4085 },
4086 "nofailback" : {
4087 "default" : 0,
4088 "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.",
4089 "optional" : 1,
013dc89f
DM
4090 "type" : "boolean",
4091 "typetext" : "<boolean>"
44660702
DM
4092 },
4093 "restricted" : {
4094 "default" : 0,
c4808e75 4095 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4096 "optional" : 1,
013dc89f 4097 "type" : "boolean",
c4808e75
DM
4098 "typetext" : "<boolean>",
4099 "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
4100 },
4101 "type" : {
4102 "description" : "Group type.",
4103 "enum" : [
4104 "group"
4105 ],
4106 "optional" : 1,
4107 "type" : "string"
4108 }
4109 },
4110 "type" : "object"
4111 },
4112 "permissions" : {
4113 "check" : [
4114 "perm",
4115 "/",
4116 [
4117 "Sys.Console"
4118 ]
4119 ]
4120 },
4121 "protected" : 1,
4122 "returns" : {
4123 "type" : "null"
4124 }
4125 }
4126 },
4127 "leaf" : 0,
4128 "path" : "/cluster/ha/groups",
4129 "text" : "groups"
7aacca6f
DM
4130 },
4131 {
7aacca6f
DM
4132 "children" : [
4133 {
4134 "info" : {
4135 "GET" : {
e9cd3bd4 4136 "allowtoken" : 1,
56122987 4137 "description" : "Get HA manger status.",
44660702 4138 "method" : "GET",
7aacca6f 4139 "name" : "status",
44660702
DM
4140 "parameters" : {
4141 "additionalProperties" : 0
4142 },
56122987
DM
4143 "permissions" : {
4144 "check" : [
4145 "perm",
4146 "/",
4147 [
4148 "Sys.Audit"
4149 ]
4150 ]
7aacca6f 4151 },
44660702
DM
4152 "returns" : {
4153 "type" : "array"
56122987
DM
4154 }
4155 }
7aacca6f 4156 },
7aacca6f 4157 "leaf" : 1,
44660702
DM
4158 "path" : "/cluster/ha/status/current",
4159 "text" : "current"
56122987
DM
4160 },
4161 {
4162 "info" : {
4163 "GET" : {
e9cd3bd4 4164 "allowtoken" : 1,
7aacca6f 4165 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4166 "method" : "GET",
4167 "name" : "manager_status",
7aacca6f
DM
4168 "parameters" : {
4169 "additionalProperties" : 0
4170 },
56122987
DM
4171 "permissions" : {
4172 "check" : [
4173 "perm",
4174 "/",
4175 [
4176 "Sys.Audit"
4177 ]
4178 ]
44660702
DM
4179 },
4180 "returns" : {
4181 "type" : "object"
7aacca6f 4182 }
56122987
DM
4183 }
4184 },
56122987 4185 "leaf" : 1,
44660702
DM
4186 "path" : "/cluster/ha/status/manager_status",
4187 "text" : "manager_status"
56122987
DM
4188 }
4189 ],
56122987
DM
4190 "info" : {
4191 "GET" : {
e9cd3bd4 4192 "allowtoken" : 1,
44660702 4193 "description" : "Directory index.",
7aacca6f 4194 "method" : "GET",
44660702
DM
4195 "name" : "index",
4196 "parameters" : {
4197 "additionalProperties" : 0
4198 },
4199 "permissions" : {
4200 "user" : "all"
4201 },
56122987 4202 "returns" : {
56122987
DM
4203 "items" : {
4204 "properties" : {},
4205 "type" : "object"
4206 },
4207 "links" : [
4208 {
44660702
DM
4209 "href" : "{name}",
4210 "rel" : "child"
56122987 4211 }
7aacca6f
DM
4212 ],
4213 "type" : "array"
44660702 4214 }
56122987 4215 }
7aacca6f 4216 },
44660702 4217 "leaf" : 0,
7aacca6f 4218 "path" : "/cluster/ha/status",
44660702 4219 "text" : "status"
56122987
DM
4220 }
4221 ],
56122987
DM
4222 "info" : {
4223 "GET" : {
e9cd3bd4 4224 "allowtoken" : 1,
7aacca6f 4225 "description" : "Directory index.",
44660702
DM
4226 "method" : "GET",
4227 "name" : "index",
4228 "parameters" : {
4229 "additionalProperties" : 0
4230 },
7aacca6f
DM
4231 "permissions" : {
4232 "check" : [
4233 "perm",
4234 "/",
4235 [
4236 "Sys.Audit"
4237 ]
4238 ]
4239 },
56122987 4240 "returns" : {
56122987 4241 "items" : {
7aacca6f
DM
4242 "properties" : {
4243 "id" : {
4244 "type" : "string"
4245 }
44660702
DM
4246 },
4247 "type" : "object"
7aacca6f
DM
4248 },
4249 "links" : [
4250 {
4251 "href" : "{id}",
4252 "rel" : "child"
4253 }
44660702
DM
4254 ],
4255 "type" : "array"
7aacca6f
DM
4256 }
4257 }
44660702
DM
4258 },
4259 "leaf" : 0,
4260 "path" : "/cluster/ha",
4261 "text" : "ha"
7aacca6f 4262 },
a9a8e3d1
DM
4263 {
4264 "children" : [
4265 {
4266 "children" : [
4267 {
4268 "info" : {
4269 "DELETE" : {
e9cd3bd4 4270 "allowtoken" : 1,
a9a8e3d1
DM
4271 "description" : "Deactivate existing ACME account at CA.",
4272 "method" : "DELETE",
4273 "name" : "deactivate_account",
4274 "parameters" : {
4275 "additionalProperties" : 0,
4276 "properties" : {
4277 "name" : {
4278 "default" : "default",
4279 "description" : "ACME account config file name.",
4280 "format" : "pve-configid",
4281 "format_description" : "name",
4282 "optional" : 1,
4283 "type" : "string",
4284 "typetext" : "<name>"
4285 }
4286 }
4287 },
4288 "protected" : 1,
4289 "returns" : {
4290 "type" : "string"
4291 }
4292 },
4293 "GET" : {
e9cd3bd4 4294 "allowtoken" : 1,
a9a8e3d1
DM
4295 "description" : "Return existing ACME account information.",
4296 "method" : "GET",
4297 "name" : "get_account",
4298 "parameters" : {
4299 "additionalProperties" : 0,
4300 "properties" : {
4301 "name" : {
4302 "default" : "default",
4303 "description" : "ACME account config file name.",
4304 "format" : "pve-configid",
4305 "format_description" : "name",
4306 "optional" : 1,
4307 "type" : "string",
4308 "typetext" : "<name>"
4309 }
4310 }
4311 },
4312 "protected" : 1,
4313 "returns" : {
4314 "additionalProperties" : 0,
4315 "properties" : {
4316 "account" : {
4317 "optional" : 1,
4d47f125 4318 "renderer" : "yaml",
a9a8e3d1
DM
4319 "type" : "object"
4320 },
4321 "directory" : {
4322 "description" : "URL of ACME CA directory endpoint.",
4323 "optional" : 1,
4324 "pattern" : "^https?://.*",
4325 "type" : "string"
4326 },
4327 "location" : {
4328 "optional" : 1,
4329 "type" : "string"
4330 },
4331 "tos" : {
4332 "optional" : 1,
4333 "type" : "string"
4334 }
4335 },
4336 "type" : "object"
4337 }
4338 },
4339 "PUT" : {
e9cd3bd4 4340 "allowtoken" : 1,
a9a8e3d1
DM
4341 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4342 "method" : "PUT",
4343 "name" : "update_account",
4344 "parameters" : {
4345 "additionalProperties" : 0,
4346 "properties" : {
4347 "contact" : {
4348 "description" : "Contact email addresses.",
4349 "format" : "email-list",
4350 "optional" : 1,
4351 "type" : "string",
4352 "typetext" : "<string>"
4353 },
4354 "name" : {
4355 "default" : "default",
4356 "description" : "ACME account config file name.",
4357 "format" : "pve-configid",
4358 "format_description" : "name",
4359 "optional" : 1,
4360 "type" : "string",
4361 "typetext" : "<name>"
4362 }
4363 }
4364 },
4365 "protected" : 1,
4366 "returns" : {
4367 "type" : "string"
4368 }
4369 }
4370 },
4371 "leaf" : 1,
4372 "path" : "/cluster/acme/account/{name}",
4373 "text" : "{name}"
4374 }
4375 ],
4376 "info" : {
4377 "GET" : {
e9cd3bd4 4378 "allowtoken" : 1,
a9a8e3d1
DM
4379 "description" : "ACMEAccount index.",
4380 "method" : "GET",
4381 "name" : "account_index",
4382 "parameters" : {
4383 "additionalProperties" : 0
4384 },
4385 "permissions" : {
4386 "user" : "all"
4387 },
4388 "protected" : 1,
4389 "returns" : {
4390 "items" : {
4391 "properties" : {},
4392 "type" : "object"
4393 },
4394 "links" : [
4395 {
4396 "href" : "{name}",
4397 "rel" : "child"
4398 }
4399 ],
4400 "type" : "array"
4401 }
4402 },
4403 "POST" : {
e9cd3bd4 4404 "allowtoken" : 1,
a9a8e3d1
DM
4405 "description" : "Register a new ACME account with CA.",
4406 "method" : "POST",
4407 "name" : "register_account",
4408 "parameters" : {
4409 "additionalProperties" : 0,
4410 "properties" : {
4411 "contact" : {
4412 "description" : "Contact email addresses.",
4413 "format" : "email-list",
4414 "type" : "string",
4415 "typetext" : "<string>"
4416 },
4417 "directory" : {
4418 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4419 "description" : "URL of ACME CA directory endpoint.",
4420 "optional" : 1,
4421 "pattern" : "^https?://.*",
4422 "type" : "string"
4423 },
4424 "name" : {
4425 "default" : "default",
4426 "description" : "ACME account config file name.",
4427 "format" : "pve-configid",
4428 "format_description" : "name",
4429 "optional" : 1,
4430 "type" : "string",
4431 "typetext" : "<name>"
4432 },
4433 "tos_url" : {
4434 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4435 "optional" : 1,
4436 "type" : "string",
4437 "typetext" : "<string>"
4438 }
4439 }
4440 },
4441 "protected" : 1,
4442 "returns" : {
4443 "type" : "string"
4444 }
4445 }
4446 },
4447 "leaf" : 0,
4448 "path" : "/cluster/acme/account",
4449 "text" : "account"
4450 },
4451 {
4452 "info" : {
4453 "GET" : {
e9cd3bd4 4454 "allowtoken" : 1,
a9a8e3d1
DM
4455 "description" : "Retrieve ACME TermsOfService URL from CA.",
4456 "method" : "GET",
4457 "name" : "get_tos",
4458 "parameters" : {
4459 "additionalProperties" : 0,
4460 "properties" : {
4461 "directory" : {
4462 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4463 "description" : "URL of ACME CA directory endpoint.",
4464 "optional" : 1,
4465 "pattern" : "^https?://.*",
4466 "type" : "string"
4467 }
4468 }
4469 },
5da3d723
TL
4470 "permissions" : {
4471 "user" : "all"
4472 },
a9a8e3d1
DM
4473 "returns" : {
4474 "description" : "ACME TermsOfService URL.",
5c1699e5 4475 "optional" : 1,
a9a8e3d1
DM
4476 "type" : "string"
4477 }
4478 }
4479 },
4480 "leaf" : 1,
4481 "path" : "/cluster/acme/tos",
4482 "text" : "tos"
4483 },
4484 {
4485 "info" : {
4486 "GET" : {
e9cd3bd4 4487 "allowtoken" : 1,
a9a8e3d1
DM
4488 "description" : "Get named known ACME directory endpoints.",
4489 "method" : "GET",
4490 "name" : "get_directories",
4491 "parameters" : {
4492 "additionalProperties" : 0
4493 },
5da3d723
TL
4494 "permissions" : {
4495 "user" : "all"
4496 },
a9a8e3d1
DM
4497 "returns" : {
4498 "items" : {
4499 "additionalProperties" : 0,
4500 "properties" : {
4501 "name" : {
4502 "type" : "string"
4503 },
4504 "url" : {
4505 "description" : "URL of ACME CA directory endpoint.",
4506 "pattern" : "^https?://.*",
4507 "type" : "string"
4508 }
4509 },
4510 "type" : "object"
4511 },
4512 "type" : "array"
4513 }
4514 }
4515 },
4516 "leaf" : 1,
4517 "path" : "/cluster/acme/directories",
4518 "text" : "directories"
4519 }
4520 ],
4521 "info" : {
4522 "GET" : {
e9cd3bd4 4523 "allowtoken" : 1,
a9a8e3d1
DM
4524 "description" : "ACMEAccount index.",
4525 "method" : "GET",
4526 "name" : "index",
4527 "parameters" : {
4528 "additionalProperties" : 0
4529 },
4530 "permissions" : {
4531 "user" : "all"
4532 },
4533 "returns" : {
4534 "items" : {
4535 "properties" : {},
4536 "type" : "object"
4537 },
4538 "links" : [
4539 {
4540 "href" : "{name}",
4541 "rel" : "child"
4542 }
4543 ],
4544 "type" : "array"
4545 }
4546 }
4547 },
4548 "leaf" : 0,
4549 "path" : "/cluster/acme",
4550 "text" : "acme"
4551 },
1c532546
TL
4552 {
4553 "children" : [
4554 {
4555 "info" : {
4556 "GET" : {
e9cd3bd4 4557 "allowtoken" : 1,
1c532546
TL
4558 "description" : "Get ceph metadata.",
4559 "method" : "GET",
4560 "name" : "metadata",
4561 "parameters" : {
4562 "additionalProperties" : 0
4563 },
4564 "permissions" : {
4565 "check" : [
4566 "perm",
4567 "/",
4568 [
4569 "Sys.Audit",
4570 "Datastore.Audit"
4571 ],
4572 "any",
4573 1
4574 ]
4575 },
4576 "protected" : 1,
4577 "returns" : {
4578 "type" : "object"
4579 }
4580 }
4581 },
4582 "leaf" : 1,
4583 "path" : "/cluster/ceph/metadata",
4584 "text" : "metadata"
4585 },
4586 {
4587 "info" : {
4588 "GET" : {
e9cd3bd4 4589 "allowtoken" : 1,
1c532546
TL
4590 "description" : "Get ceph status.",
4591 "method" : "GET",
4592 "name" : "status",
4593 "parameters" : {
4594 "additionalProperties" : 0
4595 },
4596 "permissions" : {
4597 "check" : [
4598 "perm",
4599 "/",
4600 [
4601 "Sys.Audit",
4602 "Datastore.Audit"
4603 ],
4604 "any",
4605 1
4606 ]
4607 },
4608 "protected" : 1,
4609 "returns" : {
4610 "type" : "object"
4611 }
4612 }
4613 },
4614 "leaf" : 1,
4615 "path" : "/cluster/ceph/status",
4616 "text" : "status"
4617 },
4618 {
4619 "children" : [
4620 {
4621 "info" : {
4622 "GET" : {
e9cd3bd4 4623 "allowtoken" : 1,
1c532546
TL
4624 "description" : "Get the status of a specific ceph flag.",
4625 "method" : "GET",
4626 "name" : "get_flag",
4627 "parameters" : {
4628 "additionalProperties" : 0,
4629 "properties" : {
4630 "flag" : {
4631 "description" : "The name of the flag name to get.",
4632 "enum" : [
4633 "nobackfill",
4634 "nodeep-scrub",
4635 "nodown",
4636 "noin",
4637 "noout",
4638 "norebalance",
4639 "norecover",
4640 "noscrub",
4641 "notieragent",
4642 "noup",
4643 "pause"
4644 ],
4645 "type" : "string"
4646 }
4647 }
4648 },
4649 "permissions" : {
4650 "check" : [
4651 "perm",
4652 "/",
4653 [
4654 "Sys.Audit"
4655 ]
4656 ]
4657 },
4658 "protected" : 1,
4659 "returns" : {
4660 "type" : "boolean"
4661 }
4662 },
4663 "PUT" : {
e9cd3bd4 4664 "allowtoken" : 1,
1c532546
TL
4665 "description" : "Set or clear (unset) a specific ceph flag",
4666 "method" : "PUT",
4667 "name" : "update_flag",
4668 "parameters" : {
4669 "additionalProperties" : 0,
4670 "properties" : {
4671 "flag" : {
4672 "description" : "The ceph flag to update",
4673 "enum" : [
4674 "nobackfill",
4675 "nodeep-scrub",
4676 "nodown",
4677 "noin",
4678 "noout",
4679 "norebalance",
4680 "norecover",
4681 "noscrub",
4682 "notieragent",
4683 "noup",
4684 "pause"
4685 ],
4686 "type" : "string"
4687 },
4688 "value" : {
4689 "description" : "The new value of the flag",
4690 "type" : "boolean",
4691 "typetext" : "<boolean>"
4692 }
4693 }
4694 },
4695 "permissions" : {
4696 "check" : [
4697 "perm",
4698 "/",
4699 [
4700 "Sys.Modify"
4701 ]
4702 ]
4703 },
4704 "protected" : 1,
4705 "returns" : {
4706 "type" : "null"
4707 }
4708 }
4709 },
4710 "leaf" : 1,
4711 "path" : "/cluster/ceph/flags/{flag}",
4712 "text" : "{flag}"
4713 }
4714 ],
4715 "info" : {
4716 "GET" : {
e9cd3bd4 4717 "allowtoken" : 1,
1c532546
TL
4718 "description" : "get the status of all ceph flags",
4719 "method" : "GET",
4720 "name" : "get_all_flags",
4721 "parameters" : {
4722 "additionalProperties" : 0
4723 },
4724 "permissions" : {
4725 "check" : [
4726 "perm",
4727 "/",
4728 [
4729 "Sys.Audit"
4730 ]
4731 ]
4732 },
4733 "protected" : 1,
4734 "returns" : {
4735 "items" : {
4736 "additionalProperties" : 1,
4737 "properties" : {
4738 "name" : {
4739 "description" : "Flag name.",
4740 "enum" : [
4741 "nobackfill",
4742 "nodeep-scrub",
4743 "nodown",
4744 "noin",
4745 "noout",
4746 "norebalance",
4747 "norecover",
4748 "noscrub",
4749 "notieragent",
4750 "noup",
4751 "pause"
4752 ],
4753 "type" : "string"
4754 }
4755 },
4756 "type" : "object"
4757 },
4758 "links" : [
4759 {
4760 "href" : "{name}",
4761 "rel" : "child"
4762 }
4763 ],
4764 "type" : "array"
4765 }
4766 },
4767 "PUT" : {
e9cd3bd4 4768 "allowtoken" : 1,
1c532546
TL
4769 "description" : "Set/Unset multiple ceph flags at once.",
4770 "method" : "PUT",
4771 "name" : "set_flags",
4772 "parameters" : {
4773 "additionalProperties" : 0,
4774 "properties" : {
4775 "nobackfill" : {
4776 "description" : "Backfilling of PGs is suspended.",
4777 "optional" : 1,
4778 "type" : "boolean",
4779 "typetext" : "<boolean>"
4780 },
4781 "nodeep-scrub" : {
4782 "description" : "Deep Scrubbing is disabled.",
4783 "optional" : 1,
4784 "type" : "boolean",
4785 "typetext" : "<boolean>"
4786 },
4787 "nodown" : {
4788 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
4789 "optional" : 1,
4790 "type" : "boolean",
4791 "typetext" : "<boolean>"
4792 },
4793 "noin" : {
4794 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
4795 "optional" : 1,
4796 "type" : "boolean",
4797 "typetext" : "<boolean>"
4798 },
4799 "noout" : {
4800 "description" : "OSDs will not automatically be marked out after the configured interval.",
4801 "optional" : 1,
4802 "type" : "boolean",
4803 "typetext" : "<boolean>"
4804 },
4805 "norebalance" : {
4806 "description" : "Rebalancing of PGs is suspended.",
4807 "optional" : 1,
4808 "type" : "boolean",
4809 "typetext" : "<boolean>"
4810 },
4811 "norecover" : {
4812 "description" : "Recovery of PGs is suspended.",
4813 "optional" : 1,
4814 "type" : "boolean",
4815 "typetext" : "<boolean>"
4816 },
4817 "noscrub" : {
4818 "description" : "Scrubbing is disabled.",
4819 "optional" : 1,
4820 "type" : "boolean",
4821 "typetext" : "<boolean>"
4822 },
4823 "notieragent" : {
4824 "description" : "Cache tiering activity is suspended.",
4825 "optional" : 1,
4826 "type" : "boolean",
4827 "typetext" : "<boolean>"
4828 },
4829 "noup" : {
4830 "description" : "OSDs are not allowed to start.",
4831 "optional" : 1,
4832 "type" : "boolean",
4833 "typetext" : "<boolean>"
4834 },
4835 "pause" : {
4836 "description" : "Pauses read and writes.",
4837 "optional" : 1,
4838 "type" : "boolean",
4839 "typetext" : "<boolean>"
4840 }
4841 }
4842 },
4843 "permissions" : {
4844 "check" : [
4845 "perm",
4846 "/",
4847 [
4848 "Sys.Modify"
4849 ]
4850 ]
4851 },
4852 "protected" : 1,
4853 "returns" : {
4854 "type" : "string"
4855 }
4856 }
4857 },
4858 "leaf" : 0,
4859 "path" : "/cluster/ceph/flags",
4860 "text" : "flags"
4861 }
4862 ],
4863 "info" : {
4864 "GET" : {
e9cd3bd4 4865 "allowtoken" : 1,
1c532546
TL
4866 "description" : "Cluster ceph index.",
4867 "method" : "GET",
4868 "name" : "cephindex",
4869 "parameters" : {
4870 "additionalProperties" : 0
4871 },
4872 "permissions" : {
4873 "user" : "all"
4874 },
4875 "returns" : {
4876 "items" : {
4877 "properties" : {},
4878 "type" : "object"
4879 },
4880 "links" : [
4881 {
4882 "href" : "{name}",
4883 "rel" : "child"
4884 }
4885 ],
4886 "type" : "array"
4887 }
4888 }
4889 },
4890 "leaf" : 0,
4891 "path" : "/cluster/ceph",
4892 "text" : "ceph"
4893 },
7aacca6f 4894 {
7aacca6f
DM
4895 "info" : {
4896 "GET" : {
e9cd3bd4 4897 "allowtoken" : 1,
7aacca6f 4898 "description" : "Read cluster log",
44660702
DM
4899 "method" : "GET",
4900 "name" : "log",
56122987 4901 "parameters" : {
7aacca6f 4902 "additionalProperties" : 0,
56122987
DM
4903 "properties" : {
4904 "max" : {
7aacca6f 4905 "description" : "Maximum number of entries.",
44660702
DM
4906 "minimum" : 1,
4907 "optional" : 1,
4bd7df8b 4908 "type" : "integer",
013dc89f 4909 "typetext" : "<integer> (1 - N)"
56122987 4910 }
7aacca6f 4911 }
56122987 4912 },
44660702
DM
4913 "permissions" : {
4914 "user" : "all"
4915 },
7aacca6f 4916 "returns" : {
7aacca6f 4917 "items" : {
44660702
DM
4918 "properties" : {},
4919 "type" : "object"
4920 },
4921 "type" : "array"
7aacca6f 4922 }
56122987 4923 }
44660702
DM
4924 },
4925 "leaf" : 1,
4926 "path" : "/cluster/log",
4927 "text" : "log"
56122987
DM
4928 },
4929 {
56122987
DM
4930 "info" : {
4931 "GET" : {
e9cd3bd4 4932 "allowtoken" : 1,
44660702 4933 "description" : "Resources index (cluster wide).",
7aacca6f 4934 "method" : "GET",
7aacca6f 4935 "name" : "resources",
56122987
DM
4936 "parameters" : {
4937 "additionalProperties" : 0,
4938 "properties" : {
4939 "type" : {
4940 "enum" : [
4941 "vm",
4942 "storage",
1c532546
TL
4943 "node",
4944 "sdn"
44660702
DM
4945 ],
4946 "optional" : 1,
4947 "type" : "string"
56122987
DM
4948 }
4949 }
4950 },
44660702
DM
4951 "permissions" : {
4952 "user" : "all"
4953 },
4954 "returns" : {
4955 "items" : {
4d47f125
TL
4956 "properties" : {
4957 "cpu" : {
4958 "description" : "CPU utilization (when type in node,qemu,lxc).",
4959 "optional" : 1,
4960 "renderer" : "fraction_as_percentage",
4961 "type" : "number"
4962 },
4963 "disk" : {
4964 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
4965 "optional" : 1,
4966 "renderer" : "bytes",
4967 "type" : "string"
4968 },
4969 "hastate" : {
4970 "description" : "HA service status (for HA managed VMs).",
4971 "optional" : 1,
4972 "type" : "string"
4973 },
4974 "id" : {
4975 "type" : "string"
4976 },
4977 "level" : {
4978 "description" : "Support level (when type == node).",
4979 "optional" : 1,
4980 "type" : "string"
4981 },
4982 "maxcpu" : {
4983 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
4984 "optional" : 1,
4985 "type" : "number"
4986 },
4987 "maxdisk" : {
4988 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
4989 "optional" : 1,
4990 "renderer" : "bytes",
4991 "type" : "integer"
4992 },
4993 "maxmem" : {
4994 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
4995 "optional" : 1,
4996 "renderer" : "bytes",
4997 "type" : "integer"
4998 },
4999 "mem" : {
5000 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
5001 "optional" : 1,
5002 "renderer" : "bytes",
5003 "type" : "string"
5004 },
5005 "node" : {
5006 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
5007 "format" : "pve-node",
5008 "optional" : 1,
5009 "type" : "string"
5010 },
5011 "pool" : {
5012 "description" : "The pool name (when type in pool,qemu,lxc).",
5013 "optional" : 1,
5014 "type" : "string"
5015 },
5016 "status" : {
5017 "description" : "Resource type dependent status.",
5018 "optional" : 1,
5019 "type" : "string"
5020 },
5021 "storage" : {
5022 "description" : "The storage identifier (when type == storage).",
5023 "format" : "pve-storage-id",
5024 "optional" : 1,
5025 "type" : "string"
5026 },
5027 "type" : {
5028 "description" : "Resource type.",
5029 "enum" : [
5030 "node",
5031 "storage",
5032 "pool",
5033 "qemu",
5034 "lxc",
1c532546
TL
5035 "openvz",
5036 "sdn"
4d47f125
TL
5037 ],
5038 "type" : "string"
5039 },
5040 "uptime" : {
5041 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
5042 "optional" : 1,
5043 "renderer" : "duration",
5044 "type" : "integer"
5045 }
5046 },
44660702
DM
5047 "type" : "object"
5048 },
5049 "type" : "array"
5050 }
56122987
DM
5051 }
5052 },
7aacca6f 5053 "leaf" : 1,
44660702
DM
5054 "path" : "/cluster/resources",
5055 "text" : "resources"
56122987
DM
5056 },
5057 {
56122987
DM
5058 "info" : {
5059 "GET" : {
e9cd3bd4 5060 "allowtoken" : 1,
7aacca6f 5061 "description" : "List recent tasks (cluster wide).",
44660702 5062 "method" : "GET",
7aacca6f 5063 "name" : "tasks",
56122987
DM
5064 "parameters" : {
5065 "additionalProperties" : 0
5066 },
44660702
DM
5067 "permissions" : {
5068 "user" : "all"
5069 },
56122987
DM
5070 "returns" : {
5071 "items" : {
5072 "properties" : {
5073 "upid" : {
5074 "type" : "string"
5075 }
44660702
DM
5076 },
5077 "type" : "object"
5078 },
5079 "type" : "array"
7aacca6f 5080 }
56122987
DM
5081 }
5082 },
7aacca6f 5083 "leaf" : 1,
44660702
DM
5084 "path" : "/cluster/tasks",
5085 "text" : "tasks"
56122987
DM
5086 },
5087 {
56122987 5088 "info" : {
7aacca6f 5089 "GET" : {
e9cd3bd4 5090 "allowtoken" : 1,
44660702
DM
5091 "description" : "Get datacenter options.",
5092 "method" : "GET",
5093 "name" : "get_options",
56122987 5094 "parameters" : {
7aacca6f
DM
5095 "additionalProperties" : 0
5096 },
5097 "permissions" : {
5098 "check" : [
5099 "perm",
5100 "/",
5101 [
5102 "Sys.Audit"
5103 ]
5104 ]
5105 },
7aacca6f 5106 "returns" : {
44660702 5107 "type" : "object"
7aacca6f
DM
5108 }
5109 },
5110 "PUT" : {
e9cd3bd4 5111 "allowtoken" : 1,
44660702
DM
5112 "description" : "Set datacenter options.",
5113 "method" : "PUT",
7aacca6f
DM
5114 "name" : "set_options",
5115 "parameters" : {
5116 "additionalProperties" : 0,
5117 "properties" : {
27a7acb2
DM
5118 "bwlimit" : {
5119 "description" : "Set bandwidth/io limits various operations.",
5120 "format" : {
5121 "clone" : {
95895385 5122 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
5123 "format_description" : "LIMIT",
5124 "minimum" : "0",
5125 "optional" : 1,
5126 "type" : "number"
5127 },
5128 "default" : {
95895385 5129 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
5130 "format_description" : "LIMIT",
5131 "minimum" : "0",
5132 "optional" : 1,
5133 "type" : "number"
5134 },
5135 "migration" : {
95895385 5136 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
5137 "format_description" : "LIMIT",
5138 "minimum" : "0",
5139 "optional" : 1,
5140 "type" : "number"
5141 },
5142 "move" : {
95895385 5143 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
5144 "format_description" : "LIMIT",
5145 "minimum" : "0",
5146 "optional" : 1,
5147 "type" : "number"
5148 },
5149 "restore" : {
95895385 5150 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
5151 "format_description" : "LIMIT",
5152 "minimum" : "0",
5153 "optional" : 1,
5154 "type" : "number"
5155 }
5156 },
5157 "optional" : 1,
5158 "type" : "string",
5159 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
5160 },
56122987 5161 "console" : {
a9a8e3d1 5162 "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
5163 "enum" : [
5164 "applet",
5165 "vv",
a9a8e3d1
DM
5166 "html5",
5167 "xtermjs"
44660702
DM
5168 ],
5169 "optional" : 1,
5170 "type" : "string"
56122987 5171 },
7aacca6f 5172 "delete" : {
7aacca6f 5173 "description" : "A list of settings you want to delete.",
44660702 5174 "format" : "pve-configid-list",
7aacca6f 5175 "optional" : 1,
013dc89f
DM
5176 "type" : "string",
5177 "typetext" : "<string>"
7aacca6f 5178 },
44660702
DM
5179 "email_from" : {
5180 "description" : "Specify email address to send notification from (default is root@$hostname)",
5181 "format" : "email-opt",
7aacca6f 5182 "optional" : 1,
013dc89f
DM
5183 "type" : "string",
5184 "typetext" : "<string>"
44660702
DM
5185 },
5186 "fencing" : {
5187 "default" : "watchdog",
5188 "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 5189 "enum" : [
44660702
DM
5190 "watchdog",
5191 "hardware",
5192 "both"
7aacca6f 5193 ],
44660702
DM
5194 "optional" : 1,
5195 "type" : "string"
5196 },
5f26e15b
TL
5197 "ha" : {
5198 "description" : "Cluster wide HA settings.",
5199 "format" : {
5200 "shutdown_policy" : {
5201 "default" : "conditional",
5c1699e5 5202 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.",
5f26e15b
TL
5203 "enum" : [
5204 "freeze",
5205 "failover",
5c1699e5
TL
5206 "conditional",
5207 "migrate"
5f26e15b
TL
5208 ],
5209 "type" : "string",
e9cd3bd4 5210 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node when a reboot or shutdown was triggered. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place."
5f26e15b
TL
5211 }
5212 },
5213 "optional" : 1,
5214 "type" : "string",
5c1699e5 5215 "typetext" : "shutdown_policy=<enum>"
5f26e15b 5216 },
44660702
DM
5217 "http_proxy" : {
5218 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
5219 "optional" : 1,
5220 "pattern" : "http://.*",
5221 "type" : "string"
7aacca6f 5222 },
56122987 5223 "keyboard" : {
44660702 5224 "description" : "Default keybord layout for vnc server.",
56122987 5225 "enum" : [
44660702
DM
5226 "de",
5227 "de-ch",
7aacca6f 5228 "da",
56122987 5229 "en-gb",
44660702
DM
5230 "en-us",
5231 "es",
5232 "fi",
5233 "fr",
5234 "fr-be",
5235 "fr-ca",
5236 "fr-ch",
5237 "hu",
7aacca6f 5238 "is",
44660702
DM
5239 "it",
5240 "ja",
5241 "lt",
56122987 5242 "mk",
7aacca6f 5243 "nl",
56122987 5244 "no",
44660702 5245 "pl",
7aacca6f 5246 "pt",
44660702
DM
5247 "pt-br",
5248 "sv",
5249 "sl",
5250 "tr"
56122987 5251 ],
56122987
DM
5252 "optional" : 1,
5253 "type" : "string"
5254 },
44660702
DM
5255 "language" : {
5256 "description" : "Default GUI language.",
5257 "enum" : [
4d47f125 5258 "ca",
1c532546
TL
5259 "da",
5260 "de",
44660702 5261 "en",
1c532546 5262 "es",
4d47f125 5263 "eu",
1c532546 5264 "fa",
4d47f125 5265 "fr",
1c532546 5266 "he",
4d47f125 5267 "it",
4d47f125
TL
5268 "ja",
5269 "nb",
5270 "nn",
4d47f125
TL
5271 "pl",
5272 "pt_BR",
5273 "ru",
5274 "sl",
5275 "sv",
1c532546
TL
5276 "tr",
5277 "zh_CN",
5278 "zh_TW"
44660702 5279 ],
56122987 5280 "optional" : 1,
44660702 5281 "type" : "string"
56122987 5282 },
4bd7df8b
DM
5283 "mac_prefix" : {
5284 "description" : "Prefix for autogenerated MAC addresses.",
95895385 5285 "format" : "mac-prefix",
4bd7df8b 5286 "optional" : 1,
95895385
TL
5287 "type" : "string",
5288 "typetext" : "<string>"
4bd7df8b 5289 },
44660702
DM
5290 "max_workers" : {
5291 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
5292 "minimum" : 1,
56122987 5293 "optional" : 1,
4bd7df8b 5294 "type" : "integer",
013dc89f 5295 "typetext" : "<integer> (1 - N)"
56122987 5296 },
de0983cb
DM
5297 "migration" : {
5298 "description" : "For cluster wide migration settings.",
5299 "format" : {
5300 "network" : {
5301 "description" : "CIDR of the (sub) network that is used for migration.",
5302 "format" : "CIDR",
5303 "format_description" : "CIDR",
5304 "optional" : 1,
5305 "type" : "string"
5306 },
5307 "type" : {
5308 "default" : "secure",
5309 "default_key" : 1,
5310 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
5311 "enum" : [
5312 "secure",
5313 "insecure"
5314 ],
5315 "type" : "string"
5316 }
5317 },
5318 "optional" : 1,
5319 "type" : "string",
5320 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
5321 },
7aacca6f 5322 "migration_unsecure" : {
de0983cb 5323 "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 5324 "optional" : 1,
013dc89f
DM
5325 "type" : "boolean",
5326 "typetext" : "<boolean>"
95895385
TL
5327 },
5328 "u2f" : {
5329 "description" : "u2f",
5330 "format" : {
5331 "appid" : {
5332 "description" : "U2F AppId URL override. Defaults to the origin.",
5333 "format_description" : "APPID",
5334 "optional" : 1,
5335 "type" : "string"
5336 },
5337 "origin" : {
5338 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
5339 "format_description" : "URL",
5340 "optional" : 1,
5341 "type" : "string"
5342 }
5343 },
5344 "optional" : 1,
5345 "type" : "string",
5346 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
5347 }
5348 }
5349 },
44660702
DM
5350 "permissions" : {
5351 "check" : [
5352 "perm",
5353 "/",
5354 [
5355 "Sys.Modify"
5356 ]
5357 ]
5358 },
56122987 5359 "protected" : 1,
7aacca6f
DM
5360 "returns" : {
5361 "type" : "null"
44660702 5362 }
7aacca6f
DM
5363 }
5364 },
44660702
DM
5365 "leaf" : 1,
5366 "path" : "/cluster/options",
7aacca6f
DM
5367 "text" : "options"
5368 },
5369 {
7aacca6f 5370 "info" : {
56122987 5371 "GET" : {
e9cd3bd4 5372 "allowtoken" : 1,
1e3f8156 5373 "description" : "Get cluster status information.",
44660702
DM
5374 "method" : "GET",
5375 "name" : "get_status",
56122987
DM
5376 "parameters" : {
5377 "additionalProperties" : 0
5378 },
56122987
DM
5379 "permissions" : {
5380 "check" : [
5381 "perm",
5382 "/",
5383 [
5384 "Sys.Audit"
5385 ]
5386 ]
5387 },
7aacca6f 5388 "protected" : 1,
56122987 5389 "returns" : {
56122987 5390 "items" : {
56122987 5391 "properties" : {
e9cd3bd4
TL
5392 "id" : {
5393 "type" : "string"
5394 },
5395 "ip" : {
5396 "description" : "[node] IP of the resolved nodename.",
5397 "optional" : 1,
5398 "type" : "string"
5399 },
5400 "level" : {
5401 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
5402 "optional" : 1,
5403 "type" : "string"
5404 },
5405 "local" : {
5406 "description" : "[node] Indicates if this is the responding node.",
5407 "optional" : 1,
5408 "type" : "boolean"
5409 },
5410 "name" : {
5411 "type" : "string"
5412 },
5413 "nodeid" : {
5414 "description" : "[node] ID of the node from the corosync configuration.",
5415 "optional" : 1,
5416 "type" : "integer"
5417 },
5418 "nodes" : {
5419 "description" : "[cluster] Nodes count, including offline nodes.",
5420 "optional" : 1,
5421 "type" : "integer"
5422 },
5423 "online" : {
5424 "description" : "[node] Indicates if the node is online or offline.",
5425 "optional" : 1,
5426 "type" : "boolean"
5427 },
5428 "quorate" : {
5429 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
5430 "optional" : 1,
5431 "type" : "boolean"
5432 },
56122987 5433 "type" : {
e9cd3bd4
TL
5434 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
5435 "enum" : [
5436 "cluster",
5437 "node"
5438 ],
56122987 5439 "type" : "string"
e9cd3bd4
TL
5440 },
5441 "version" : {
5442 "description" : "[cluster] Current version of the corosync configuration file.",
5443 "optional" : 1,
5444 "type" : "integer"
56122987 5445 }
44660702
DM
5446 },
5447 "type" : "object"
7aacca6f
DM
5448 },
5449 "type" : "array"
56122987
DM
5450 }
5451 }
5452 },
44660702 5453 "leaf" : 1,
7aacca6f 5454 "path" : "/cluster/status",
44660702 5455 "text" : "status"
56122987
DM
5456 },
5457 {
56122987
DM
5458 "info" : {
5459 "GET" : {
e9cd3bd4 5460 "allowtoken" : 1,
56122987 5461 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
5462 "method" : "GET",
5463 "name" : "nextid",
56122987 5464 "parameters" : {
44660702 5465 "additionalProperties" : 0,
56122987
DM
5466 "properties" : {
5467 "vmid" : {
44660702 5468 "description" : "The (unique) ID of the VM.",
56122987 5469 "format" : "pve-vmid",
7aacca6f 5470 "minimum" : 1,
7aacca6f 5471 "optional" : 1,
4bd7df8b 5472 "type" : "integer",
013dc89f 5473 "typetext" : "<integer> (1 - N)"
56122987 5474 }
44660702 5475 }
56122987 5476 },
7aacca6f
DM
5477 "permissions" : {
5478 "user" : "all"
44660702
DM
5479 },
5480 "returns" : {
5481 "description" : "The next free VMID.",
5482 "type" : "integer"
7aacca6f 5483 }
56122987
DM
5484 }
5485 },
7aacca6f 5486 "leaf" : 1,
44660702
DM
5487 "path" : "/cluster/nextid",
5488 "text" : "nextid"
56122987
DM
5489 }
5490 ],
44660702
DM
5491 "info" : {
5492 "GET" : {
e9cd3bd4 5493 "allowtoken" : 1,
44660702
DM
5494 "description" : "Cluster index.",
5495 "method" : "GET",
5496 "name" : "index",
5497 "parameters" : {
5498 "additionalProperties" : 0
5499 },
5500 "permissions" : {
5501 "user" : "all"
5502 },
5503 "returns" : {
5504 "items" : {
5505 "properties" : {},
5506 "type" : "object"
5507 },
5508 "links" : [
5509 {
5510 "href" : "{name}",
5511 "rel" : "child"
5512 }
5513 ],
5514 "type" : "array"
5515 }
5516 }
5517 },
5518 "leaf" : 0,
5519 "path" : "/cluster",
7aacca6f 5520 "text" : "cluster"
56122987
DM
5521 },
5522 {
56122987
DM
5523 "children" : [
5524 {
7aacca6f
DM
5525 "children" : [
5526 {
5527 "children" : [
5528 {
56122987
DM
5529 "children" : [
5530 {
56122987
DM
5531 "children" : [
5532 {
5533 "children" : [
5534 {
56122987
DM
5535 "info" : {
5536 "DELETE" : {
e9cd3bd4 5537 "allowtoken" : 1,
44660702 5538 "description" : "Delete rule.",
7aacca6f 5539 "method" : "DELETE",
44660702 5540 "name" : "delete_rule",
56122987 5541 "parameters" : {
44660702 5542 "additionalProperties" : 0,
56122987 5543 "properties" : {
44660702
DM
5544 "digest" : {
5545 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5546 "maxLength" : 40,
5547 "optional" : 1,
013dc89f
DM
5548 "type" : "string",
5549 "typetext" : "<string>"
44660702 5550 },
56122987 5551 "node" : {
7aacca6f 5552 "description" : "The cluster node name.",
44660702 5553 "format" : "pve-node",
013dc89f
DM
5554 "type" : "string",
5555 "typetext" : "<string>"
7aacca6f 5556 },
56122987 5557 "pos" : {
7aacca6f 5558 "description" : "Update rule at position <pos>.",
44660702 5559 "minimum" : 0,
56122987 5560 "optional" : 1,
4bd7df8b 5561 "type" : "integer",
013dc89f 5562 "typetext" : "<integer> (0 - N)"
44660702
DM
5563 },
5564 "vmid" : {
5565 "description" : "The (unique) ID of the VM.",
5566 "format" : "pve-vmid",
5567 "minimum" : 1,
4bd7df8b 5568 "type" : "integer",
013dc89f 5569 "typetext" : "<integer> (1 - N)"
56122987 5570 }
44660702 5571 }
7aacca6f 5572 },
56122987
DM
5573 "permissions" : {
5574 "check" : [
5575 "perm",
5576 "/vms/{vmid}",
5577 [
5578 "VM.Config.Network"
5579 ]
5580 ]
5581 },
44660702
DM
5582 "protected" : 1,
5583 "proxyto" : null,
56122987
DM
5584 "returns" : {
5585 "type" : "null"
44660702
DM
5586 }
5587 },
5588 "GET" : {
e9cd3bd4 5589 "allowtoken" : 1,
44660702
DM
5590 "description" : "Get single rule data.",
5591 "method" : "GET",
5592 "name" : "get_rule",
5593 "parameters" : {
5594 "additionalProperties" : 0,
5595 "properties" : {
5596 "node" : {
5597 "description" : "The cluster node name.",
5598 "format" : "pve-node",
013dc89f
DM
5599 "type" : "string",
5600 "typetext" : "<string>"
44660702
DM
5601 },
5602 "pos" : {
5603 "description" : "Update rule at position <pos>.",
5604 "minimum" : 0,
5605 "optional" : 1,
4bd7df8b 5606 "type" : "integer",
013dc89f 5607 "typetext" : "<integer> (0 - N)"
44660702
DM
5608 },
5609 "vmid" : {
5610 "description" : "The (unique) ID of the VM.",
5611 "format" : "pve-vmid",
5612 "minimum" : 1,
4bd7df8b 5613 "type" : "integer",
013dc89f 5614 "typetext" : "<integer> (1 - N)"
44660702
DM
5615 }
5616 }
56122987 5617 },
56122987
DM
5618 "permissions" : {
5619 "check" : [
5620 "perm",
5621 "/vms/{vmid}",
5622 [
44660702 5623 "VM.Audit"
56122987
DM
5624 ]
5625 ]
5626 },
56122987 5627 "proxyto" : null,
44660702
DM
5628 "returns" : {
5629 "properties" : {
e2d681b3
TL
5630 "action" : {
5631 "type" : "string"
5632 },
5633 "comment" : {
5634 "optional" : 1,
5635 "type" : "string"
5636 },
5637 "dest" : {
5638 "optional" : 1,
5639 "type" : "string"
5640 },
5641 "dport" : {
5642 "optional" : 1,
5643 "type" : "string"
5644 },
5645 "enable" : {
5646 "optional" : 1,
5647 "type" : "integer"
5648 },
5649 "iface" : {
5650 "optional" : 1,
5651 "type" : "string"
5652 },
5653 "ipversion" : {
5654 "optional" : 1,
5655 "type" : "integer"
5656 },
95895385
TL
5657 "log" : {
5658 "description" : "Log level for firewall rule",
5659 "enum" : [
5660 "emerg",
5661 "alert",
5662 "crit",
5663 "err",
5664 "warning",
5665 "notice",
5666 "info",
5667 "debug",
5668 "nolog"
5669 ],
5670 "optional" : 1,
5671 "type" : "string"
5672 },
e2d681b3
TL
5673 "macro" : {
5674 "optional" : 1,
5f26e15b 5675 "type" : "string"
e2d681b3 5676 },
44660702
DM
5677 "pos" : {
5678 "type" : "integer"
e2d681b3
TL
5679 },
5680 "proto" : {
5681 "optional" : 1,
5682 "type" : "string"
5683 },
5684 "source" : {
5685 "optional" : 1,
5686 "type" : "string"
5687 },
5688 "sport" : {
5689 "optional" : 1,
5690 "type" : "string"
5691 },
5692 "type" : {
5693 "type" : "string"
44660702
DM
5694 }
5695 },
5696 "type" : "object"
5697 }
5698 },
5699 "PUT" : {
e9cd3bd4 5700 "allowtoken" : 1,
7aacca6f
DM
5701 "description" : "Modify rule data.",
5702 "method" : "PUT",
44660702 5703 "name" : "update_rule",
56122987 5704 "parameters" : {
44660702 5705 "additionalProperties" : 0,
56122987 5706 "properties" : {
44660702
DM
5707 "action" : {
5708 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5709 "maxLength" : 20,
5710 "minLength" : 2,
56122987 5711 "optional" : 1,
44660702 5712 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
5713 "type" : "string"
5714 },
7aacca6f 5715 "comment" : {
e94f0d56 5716 "description" : "Descriptive comment.",
7aacca6f 5717 "optional" : 1,
013dc89f
DM
5718 "type" : "string",
5719 "typetext" : "<string>"
7aacca6f
DM
5720 },
5721 "delete" : {
7aacca6f 5722 "description" : "A list of settings you want to delete.",
44660702
DM
5723 "format" : "pve-configid-list",
5724 "optional" : 1,
013dc89f
DM
5725 "type" : "string",
5726 "typetext" : "<string>"
7aacca6f
DM
5727 },
5728 "dest" : {
44660702 5729 "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 5730 "format" : "pve-fw-addr-spec",
56122987 5731 "optional" : 1,
013dc89f
DM
5732 "type" : "string",
5733 "typetext" : "<string>"
56122987 5734 },
7aacca6f 5735 "digest" : {
44660702 5736 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 5737 "maxLength" : 40,
56122987 5738 "optional" : 1,
013dc89f
DM
5739 "type" : "string",
5740 "typetext" : "<string>"
44660702
DM
5741 },
5742 "dport" : {
5743 "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.",
5744 "format" : "pve-fw-dport-spec",
5745 "optional" : 1,
013dc89f
DM
5746 "type" : "string",
5747 "typetext" : "<string>"
56122987 5748 },
7aacca6f 5749 "enable" : {
e94f0d56 5750 "description" : "Flag to enable/disable a rule.",
44660702 5751 "minimum" : 0,
56122987 5752 "optional" : 1,
4bd7df8b 5753 "type" : "integer",
013dc89f 5754 "typetext" : "<integer> (0 - N)"
7aacca6f 5755 },
44660702
DM
5756 "iface" : {
5757 "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.",
5758 "format" : "pve-iface",
5759 "maxLength" : 20,
7aacca6f 5760 "minLength" : 2,
56122987 5761 "optional" : 1,
013dc89f
DM
5762 "type" : "string",
5763 "typetext" : "<string>"
56122987 5764 },
95895385
TL
5765 "log" : {
5766 "description" : "Log level for firewall rule.",
5767 "enum" : [
5768 "emerg",
5769 "alert",
5770 "crit",
5771 "err",
5772 "warning",
5773 "notice",
5774 "info",
5775 "debug",
5776 "nolog"
5777 ],
5778 "optional" : 1,
5779 "type" : "string"
5780 },
44660702 5781 "macro" : {
e94f0d56 5782 "description" : "Use predefined standard macro.",
44660702 5783 "maxLength" : 128,
56122987 5784 "optional" : 1,
013dc89f
DM
5785 "type" : "string",
5786 "typetext" : "<string>"
56122987 5787 },
44660702
DM
5788 "moveto" : {
5789 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
5790 "minimum" : 0,
56122987 5791 "optional" : 1,
4bd7df8b 5792 "type" : "integer",
013dc89f 5793 "typetext" : "<integer> (0 - N)"
56122987 5794 },
44660702
DM
5795 "node" : {
5796 "description" : "The cluster node name.",
5797 "format" : "pve-node",
013dc89f
DM
5798 "type" : "string",
5799 "typetext" : "<string>"
44660702
DM
5800 },
5801 "pos" : {
5802 "description" : "Update rule at position <pos>.",
5803 "minimum" : 0,
5804 "optional" : 1,
4bd7df8b 5805 "type" : "integer",
013dc89f 5806 "typetext" : "<integer> (0 - N)"
56122987 5807 },
44660702
DM
5808 "proto" : {
5809 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
5810 "format" : "pve-fw-protocol-spec",
5811 "optional" : 1,
013dc89f
DM
5812 "type" : "string",
5813 "typetext" : "<string>"
7aacca6f 5814 },
44660702
DM
5815 "source" : {
5816 "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.",
5817 "format" : "pve-fw-addr-spec",
56122987 5818 "optional" : 1,
013dc89f
DM
5819 "type" : "string",
5820 "typetext" : "<string>"
56122987
DM
5821 },
5822 "sport" : {
5823 "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
5824 "format" : "pve-fw-sport-spec",
5825 "optional" : 1,
013dc89f
DM
5826 "type" : "string",
5827 "typetext" : "<string>"
44660702
DM
5828 },
5829 "type" : {
e94f0d56 5830 "description" : "Rule type.",
44660702
DM
5831 "enum" : [
5832 "in",
5833 "out",
5834 "group"
5835 ],
56122987 5836 "optional" : 1,
56122987 5837 "type" : "string"
44660702
DM
5838 },
5839 "vmid" : {
5840 "description" : "The (unique) ID of the VM.",
5841 "format" : "pve-vmid",
5842 "minimum" : 1,
4bd7df8b 5843 "type" : "integer",
013dc89f 5844 "typetext" : "<integer> (1 - N)"
56122987 5845 }
44660702 5846 }
56122987 5847 },
56122987
DM
5848 "permissions" : {
5849 "check" : [
5850 "perm",
5851 "/vms/{vmid}",
5852 [
44660702 5853 "VM.Config.Network"
56122987
DM
5854 ]
5855 ]
7aacca6f 5856 },
44660702 5857 "protected" : 1,
7aacca6f 5858 "proxyto" : null,
7aacca6f 5859 "returns" : {
44660702
DM
5860 "type" : "null"
5861 }
56122987 5862 }
7aacca6f 5863 },
44660702 5864 "leaf" : 1,
7aacca6f 5865 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 5866 "text" : "{pos}"
56122987
DM
5867 }
5868 ],
56122987 5869 "info" : {
44660702 5870 "GET" : {
e9cd3bd4 5871 "allowtoken" : 1,
44660702
DM
5872 "description" : "List rules.",
5873 "method" : "GET",
5874 "name" : "get_rules",
5875 "parameters" : {
5876 "additionalProperties" : 0,
5877 "properties" : {
5878 "node" : {
5879 "description" : "The cluster node name.",
5880 "format" : "pve-node",
013dc89f
DM
5881 "type" : "string",
5882 "typetext" : "<string>"
44660702
DM
5883 },
5884 "vmid" : {
5885 "description" : "The (unique) ID of the VM.",
5886 "format" : "pve-vmid",
5887 "minimum" : 1,
4bd7df8b 5888 "type" : "integer",
013dc89f 5889 "typetext" : "<integer> (1 - N)"
44660702
DM
5890 }
5891 }
56122987 5892 },
56122987
DM
5893 "permissions" : {
5894 "check" : [
5895 "perm",
5896 "/vms/{vmid}",
5897 [
44660702 5898 "VM.Audit"
56122987
DM
5899 ]
5900 ]
7aacca6f 5901 },
44660702
DM
5902 "proxyto" : null,
5903 "returns" : {
5904 "items" : {
5905 "properties" : {
5906 "pos" : {
5907 "type" : "integer"
5908 }
5909 },
5910 "type" : "object"
5911 },
5912 "links" : [
5913 {
5914 "href" : "{pos}",
5915 "rel" : "child"
5916 }
5917 ],
5918 "type" : "array"
5919 }
5920 },
5921 "POST" : {
e9cd3bd4 5922 "allowtoken" : 1,
44660702 5923 "description" : "Create new rule.",
7aacca6f 5924 "method" : "POST",
44660702 5925 "name" : "create_rule",
56122987 5926 "parameters" : {
44660702 5927 "additionalProperties" : 0,
56122987 5928 "properties" : {
44660702
DM
5929 "action" : {
5930 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
5931 "maxLength" : 20,
5932 "minLength" : 2,
5933 "optional" : 0,
5934 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5935 "type" : "string"
56122987 5936 },
44660702 5937 "comment" : {
e94f0d56 5938 "description" : "Descriptive comment.",
56122987 5939 "optional" : 1,
013dc89f
DM
5940 "type" : "string",
5941 "typetext" : "<string>"
56122987 5942 },
44660702
DM
5943 "dest" : {
5944 "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.",
5945 "format" : "pve-fw-addr-spec",
5946 "optional" : 1,
013dc89f
DM
5947 "type" : "string",
5948 "typetext" : "<string>"
56122987 5949 },
44660702
DM
5950 "digest" : {
5951 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5952 "maxLength" : 40,
56122987 5953 "optional" : 1,
013dc89f
DM
5954 "type" : "string",
5955 "typetext" : "<string>"
56122987 5956 },
7aacca6f
DM
5957 "dport" : {
5958 "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 5959 "format" : "pve-fw-dport-spec",
7aacca6f 5960 "optional" : 1,
013dc89f
DM
5961 "type" : "string",
5962 "typetext" : "<string>"
56122987
DM
5963 },
5964 "enable" : {
e94f0d56 5965 "description" : "Flag to enable/disable a rule.",
56122987 5966 "minimum" : 0,
44660702 5967 "optional" : 1,
4bd7df8b 5968 "type" : "integer",
013dc89f 5969 "typetext" : "<integer> (0 - N)"
56122987 5970 },
44660702
DM
5971 "iface" : {
5972 "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.",
5973 "format" : "pve-iface",
5974 "maxLength" : 20,
7aacca6f 5975 "minLength" : 2,
44660702 5976 "optional" : 1,
013dc89f
DM
5977 "type" : "string",
5978 "typetext" : "<string>"
56122987 5979 },
95895385
TL
5980 "log" : {
5981 "description" : "Log level for firewall rule.",
5982 "enum" : [
5983 "emerg",
5984 "alert",
5985 "crit",
5986 "err",
5987 "warning",
5988 "notice",
5989 "info",
5990 "debug",
5991 "nolog"
5992 ],
5993 "optional" : 1,
5994 "type" : "string"
5995 },
44660702 5996 "macro" : {
e94f0d56 5997 "description" : "Use predefined standard macro.",
44660702 5998 "maxLength" : 128,
56122987 5999 "optional" : 1,
013dc89f
DM
6000 "type" : "string",
6001 "typetext" : "<string>"
7aacca6f 6002 },
44660702
DM
6003 "node" : {
6004 "description" : "The cluster node name.",
6005 "format" : "pve-node",
013dc89f
DM
6006 "type" : "string",
6007 "typetext" : "<string>"
44660702
DM
6008 },
6009 "pos" : {
6010 "description" : "Update rule at position <pos>.",
6011 "minimum" : 0,
6012 "optional" : 1,
4bd7df8b 6013 "type" : "integer",
013dc89f 6014 "typetext" : "<integer> (0 - N)"
44660702
DM
6015 },
6016 "proto" : {
6017 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
6018 "format" : "pve-fw-protocol-spec",
7aacca6f 6019 "optional" : 1,
013dc89f
DM
6020 "type" : "string",
6021 "typetext" : "<string>"
7aacca6f
DM
6022 },
6023 "source" : {
6024 "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 6025 "format" : "pve-fw-addr-spec",
7aacca6f 6026 "optional" : 1,
013dc89f
DM
6027 "type" : "string",
6028 "typetext" : "<string>"
7aacca6f 6029 },
44660702
DM
6030 "sport" : {
6031 "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.",
6032 "format" : "pve-fw-sport-spec",
7aacca6f 6033 "optional" : 1,
013dc89f
DM
6034 "type" : "string",
6035 "typetext" : "<string>"
7aacca6f 6036 },
44660702 6037 "type" : {
e94f0d56 6038 "description" : "Rule type.",
44660702
DM
6039 "enum" : [
6040 "in",
6041 "out",
6042 "group"
6043 ],
6044 "optional" : 0,
6045 "type" : "string"
7aacca6f 6046 },
7aacca6f 6047 "vmid" : {
44660702 6048 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
6049 "format" : "pve-vmid",
6050 "minimum" : 1,
4bd7df8b 6051 "type" : "integer",
013dc89f 6052 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
6053 }
6054 }
6055 },
56122987
DM
6056 "permissions" : {
6057 "check" : [
6058 "perm",
6059 "/vms/{vmid}",
6060 [
44660702 6061 "VM.Config.Network"
56122987
DM
6062 ]
6063 ]
6064 },
44660702
DM
6065 "protected" : 1,
6066 "proxyto" : null,
56122987 6067 "returns" : {
44660702
DM
6068 "type" : "null"
6069 }
56122987
DM
6070 }
6071 },
44660702 6072 "leaf" : 0,
7aacca6f 6073 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 6074 "text" : "rules"
56122987
DM
6075 },
6076 {
6077 "children" : [
6078 {
56122987 6079 "info" : {
44660702 6080 "DELETE" : {
e9cd3bd4 6081 "allowtoken" : 1,
44660702
DM
6082 "description" : "Remove IP or Network alias.",
6083 "method" : "DELETE",
6084 "name" : "remove_alias",
56122987 6085 "parameters" : {
44660702 6086 "additionalProperties" : 0,
56122987 6087 "properties" : {
44660702
DM
6088 "digest" : {
6089 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6090 "maxLength" : 40,
6091 "optional" : 1,
013dc89f
DM
6092 "type" : "string",
6093 "typetext" : "<string>"
56122987
DM
6094 },
6095 "name" : {
56122987 6096 "description" : "Alias name.",
44660702 6097 "maxLength" : 64,
7aacca6f 6098 "minLength" : 2,
44660702 6099 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
6100 "type" : "string"
6101 },
7aacca6f 6102 "node" : {
44660702 6103 "description" : "The cluster node name.",
7aacca6f 6104 "format" : "pve-node",
013dc89f
DM
6105 "type" : "string",
6106 "typetext" : "<string>"
44660702
DM
6107 },
6108 "vmid" : {
6109 "description" : "The (unique) ID of the VM.",
6110 "format" : "pve-vmid",
6111 "minimum" : 1,
4bd7df8b 6112 "type" : "integer",
013dc89f 6113 "typetext" : "<integer> (1 - N)"
56122987 6114 }
44660702 6115 }
56122987 6116 },
7aacca6f
DM
6117 "permissions" : {
6118 "check" : [
6119 "perm",
6120 "/vms/{vmid}",
6121 [
6122 "VM.Config.Network"
6123 ]
6124 ]
56122987 6125 },
44660702
DM
6126 "protected" : 1,
6127 "returns" : {
6128 "type" : "null"
6129 }
6130 },
6131 "GET" : {
e9cd3bd4 6132 "allowtoken" : 1,
44660702
DM
6133 "description" : "Read alias.",
6134 "method" : "GET",
6135 "name" : "read_alias",
56122987 6136 "parameters" : {
44660702 6137 "additionalProperties" : 0,
56122987 6138 "properties" : {
56122987 6139 "name" : {
7aacca6f 6140 "description" : "Alias name.",
44660702 6141 "maxLength" : 64,
56122987 6142 "minLength" : 2,
44660702 6143 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 6144 "type" : "string"
7aacca6f
DM
6145 },
6146 "node" : {
6147 "description" : "The cluster node name.",
44660702 6148 "format" : "pve-node",
013dc89f
DM
6149 "type" : "string",
6150 "typetext" : "<string>"
44660702
DM
6151 },
6152 "vmid" : {
6153 "description" : "The (unique) ID of the VM.",
6154 "format" : "pve-vmid",
6155 "minimum" : 1,
4bd7df8b 6156 "type" : "integer",
013dc89f 6157 "typetext" : "<integer> (1 - N)"
56122987 6158 }
44660702 6159 }
56122987 6160 },
44660702
DM
6161 "permissions" : {
6162 "check" : [
6163 "perm",
6164 "/vms/{vmid}",
6165 [
6166 "VM.Audit"
6167 ]
6168 ]
56122987 6169 },
44660702
DM
6170 "returns" : {
6171 "type" : "object"
6172 }
7aacca6f 6173 },
44660702 6174 "PUT" : {
e9cd3bd4 6175 "allowtoken" : 1,
44660702
DM
6176 "description" : "Update IP or Network alias.",
6177 "method" : "PUT",
6178 "name" : "update_alias",
56122987
DM
6179 "parameters" : {
6180 "additionalProperties" : 0,
6181 "properties" : {
44660702
DM
6182 "cidr" : {
6183 "description" : "Network/IP specification in CIDR format.",
6184 "format" : "IPorCIDR",
013dc89f
DM
6185 "type" : "string",
6186 "typetext" : "<string>"
44660702
DM
6187 },
6188 "comment" : {
6189 "optional" : 1,
013dc89f
DM
6190 "type" : "string",
6191 "typetext" : "<string>"
56122987
DM
6192 },
6193 "digest" : {
44660702 6194 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
6195 "maxLength" : 40,
6196 "optional" : 1,
013dc89f
DM
6197 "type" : "string",
6198 "typetext" : "<string>"
56122987 6199 },
7aacca6f 6200 "name" : {
44660702 6201 "description" : "Alias name.",
56122987
DM
6202 "maxLength" : 64,
6203 "minLength" : 2,
6204 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 6205 "type" : "string"
7aacca6f
DM
6206 },
6207 "node" : {
7aacca6f 6208 "description" : "The cluster node name.",
44660702 6209 "format" : "pve-node",
013dc89f
DM
6210 "type" : "string",
6211 "typetext" : "<string>"
44660702
DM
6212 },
6213 "rename" : {
6214 "description" : "Rename an existing alias.",
6215 "maxLength" : 64,
6216 "minLength" : 2,
6217 "optional" : 1,
6218 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6219 "type" : "string"
6220 },
6221 "vmid" : {
6222 "description" : "The (unique) ID of the VM.",
6223 "format" : "pve-vmid",
6224 "minimum" : 1,
4bd7df8b 6225 "type" : "integer",
013dc89f 6226 "typetext" : "<integer> (1 - N)"
56122987
DM
6227 }
6228 }
6229 },
7aacca6f
DM
6230 "permissions" : {
6231 "check" : [
6232 "perm",
6233 "/vms/{vmid}",
6234 [
6235 "VM.Config.Network"
6236 ]
6237 ]
6238 },
6239 "protected" : 1,
7aacca6f
DM
6240 "returns" : {
6241 "type" : "null"
44660702 6242 }
56122987
DM
6243 }
6244 },
44660702 6245 "leaf" : 1,
7aacca6f 6246 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 6247 "text" : "{name}"
56122987
DM
6248 }
6249 ],
6250 "info" : {
44660702 6251 "GET" : {
e9cd3bd4 6252 "allowtoken" : 1,
44660702
DM
6253 "description" : "List aliases",
6254 "method" : "GET",
6255 "name" : "get_aliases",
56122987 6256 "parameters" : {
44660702 6257 "additionalProperties" : 0,
56122987 6258 "properties" : {
7aacca6f 6259 "node" : {
7aacca6f 6260 "description" : "The cluster node name.",
44660702 6261 "format" : "pve-node",
013dc89f
DM
6262 "type" : "string",
6263 "typetext" : "<string>"
56122987 6264 },
44660702
DM
6265 "vmid" : {
6266 "description" : "The (unique) ID of the VM.",
6267 "format" : "pve-vmid",
6268 "minimum" : 1,
4bd7df8b 6269 "type" : "integer",
013dc89f 6270 "typetext" : "<integer> (1 - N)"
56122987 6271 }
44660702 6272 }
56122987 6273 },
56122987
DM
6274 "permissions" : {
6275 "check" : [
6276 "perm",
6277 "/vms/{vmid}",
6278 [
44660702 6279 "VM.Audit"
56122987
DM
6280 ]
6281 ]
6282 },
56122987
DM
6283 "returns" : {
6284 "items" : {
6285 "properties" : {
44660702 6286 "cidr" : {
56122987
DM
6287 "type" : "string"
6288 },
44660702
DM
6289 "comment" : {
6290 "optional" : 1,
7aacca6f 6291 "type" : "string"
56122987
DM
6292 },
6293 "digest" : {
56122987 6294 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 6295 "maxLength" : 40,
56122987
DM
6296 "optional" : 0,
6297 "type" : "string"
6298 },
44660702 6299 "name" : {
56122987
DM
6300 "type" : "string"
6301 }
44660702
DM
6302 },
6303 "type" : "object"
56122987 6304 },
56122987
DM
6305 "links" : [
6306 {
6307 "href" : "{name}",
6308 "rel" : "child"
6309 }
44660702
DM
6310 ],
6311 "type" : "array"
6312 }
6313 },
6314 "POST" : {
e9cd3bd4 6315 "allowtoken" : 1,
44660702
DM
6316 "description" : "Create IP or Network Alias.",
6317 "method" : "POST",
6318 "name" : "create_alias",
56122987 6319 "parameters" : {
7aacca6f 6320 "additionalProperties" : 0,
56122987 6321 "properties" : {
44660702
DM
6322 "cidr" : {
6323 "description" : "Network/IP specification in CIDR format.",
6324 "format" : "IPorCIDR",
013dc89f
DM
6325 "type" : "string",
6326 "typetext" : "<string>"
44660702
DM
6327 },
6328 "comment" : {
6329 "optional" : 1,
013dc89f
DM
6330 "type" : "string",
6331 "typetext" : "<string>"
44660702
DM
6332 },
6333 "name" : {
6334 "description" : "Alias name.",
6335 "maxLength" : 64,
6336 "minLength" : 2,
6337 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6338 "type" : "string"
56122987
DM
6339 },
6340 "node" : {
7aacca6f 6341 "description" : "The cluster node name.",
44660702 6342 "format" : "pve-node",
013dc89f
DM
6343 "type" : "string",
6344 "typetext" : "<string>"
44660702
DM
6345 },
6346 "vmid" : {
6347 "description" : "The (unique) ID of the VM.",
6348 "format" : "pve-vmid",
6349 "minimum" : 1,
4bd7df8b 6350 "type" : "integer",
013dc89f 6351 "typetext" : "<integer> (1 - N)"
56122987 6352 }
7aacca6f 6353 }
56122987 6354 },
44660702
DM
6355 "permissions" : {
6356 "check" : [
6357 "perm",
6358 "/vms/{vmid}",
6359 [
6360 "VM.Config.Network"
6361 ]
6362 ]
6363 },
6364 "protected" : 1,
6365 "returns" : {
6366 "type" : "null"
6367 }
56122987 6368 }
44660702
DM
6369 },
6370 "leaf" : 0,
6371 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
6372 "text" : "aliases"
56122987
DM
6373 },
6374 {
56122987
DM
6375 "children" : [
6376 {
7aacca6f
DM
6377 "children" : [
6378 {
6379 "info" : {
6380 "DELETE" : {
e9cd3bd4 6381 "allowtoken" : 1,
44660702 6382 "description" : "Remove IP or Network from IPSet.",
7aacca6f 6383 "method" : "DELETE",
44660702 6384 "name" : "remove_ip",
7aacca6f 6385 "parameters" : {
44660702 6386 "additionalProperties" : 0,
7aacca6f 6387 "properties" : {
44660702
DM
6388 "cidr" : {
6389 "description" : "Network/IP specification in CIDR format.",
6390 "format" : "IPorCIDRorAlias",
013dc89f
DM
6391 "type" : "string",
6392 "typetext" : "<string>"
44660702
DM
6393 },
6394 "digest" : {
6395 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6396 "maxLength" : 40,
6397 "optional" : 1,
013dc89f
DM
6398 "type" : "string",
6399 "typetext" : "<string>"
44660702 6400 },
7aacca6f 6401 "name" : {
7aacca6f 6402 "description" : "IP set name.",
44660702
DM
6403 "maxLength" : 64,
6404 "minLength" : 2,
7aacca6f 6405 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 6406 "type" : "string"
7aacca6f
DM
6407 },
6408 "node" : {
6409 "description" : "The cluster node name.",
44660702 6410 "format" : "pve-node",
013dc89f
DM
6411 "type" : "string",
6412 "typetext" : "<string>"
7aacca6f
DM
6413 },
6414 "vmid" : {
44660702 6415 "description" : "The (unique) ID of the VM.",
7aacca6f 6416 "format" : "pve-vmid",
44660702 6417 "minimum" : 1,
4bd7df8b 6418 "type" : "integer",
013dc89f 6419 "typetext" : "<integer> (1 - N)"
7aacca6f 6420 }
44660702 6421 }
7aacca6f 6422 },
7aacca6f
DM
6423 "permissions" : {
6424 "check" : [
6425 "perm",
6426 "/vms/{vmid}",
6427 [
6428 "VM.Config.Network"
6429 ]
6430 ]
6431 },
6432 "protected" : 1,
44660702
DM
6433 "returns" : {
6434 "type" : "null"
6435 }
56122987 6436 },
44660702 6437 "GET" : {
e9cd3bd4 6438 "allowtoken" : 1,
44660702
DM
6439 "description" : "Read IP or Network settings from IPSet.",
6440 "method" : "GET",
6441 "name" : "read_ip",
7aacca6f 6442 "parameters" : {
44660702 6443 "additionalProperties" : 0,
7aacca6f 6444 "properties" : {
7aacca6f 6445 "cidr" : {
44660702 6446 "description" : "Network/IP specification in CIDR format.",
7aacca6f 6447 "format" : "IPorCIDRorAlias",
013dc89f
DM
6448 "type" : "string",
6449 "typetext" : "<string>"
7aacca6f
DM
6450 },
6451 "name" : {
7aacca6f 6452 "description" : "IP set name.",
44660702 6453 "maxLength" : 64,
7aacca6f 6454 "minLength" : 2,
44660702
DM
6455 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6456 "type" : "string"
7aacca6f 6457 },
44660702
DM
6458 "node" : {
6459 "description" : "The cluster node name.",
6460 "format" : "pve-node",
013dc89f
DM
6461 "type" : "string",
6462 "typetext" : "<string>"
7aacca6f 6463 },
44660702
DM
6464 "vmid" : {
6465 "description" : "The (unique) ID of the VM.",
6466 "format" : "pve-vmid",
6467 "minimum" : 1,
4bd7df8b 6468 "type" : "integer",
013dc89f 6469 "typetext" : "<integer> (1 - N)"
7aacca6f 6470 }
44660702 6471 }
7aacca6f 6472 },
44660702
DM
6473 "permissions" : {
6474 "check" : [
6475 "perm",
6476 "/vms/{vmid}",
6477 [
6478 "VM.Audit"
6479 ]
6480 ]
6481 },
6482 "protected" : 1,
7aacca6f 6483 "returns" : {
44660702 6484 "type" : "object"
7aacca6f 6485 }
56122987 6486 },
44660702 6487 "PUT" : {
e9cd3bd4 6488 "allowtoken" : 1,
44660702
DM
6489 "description" : "Update IP or Network settings",
6490 "method" : "PUT",
6491 "name" : "update_ip",
7aacca6f
DM
6492 "parameters" : {
6493 "additionalProperties" : 0,
6494 "properties" : {
44660702
DM
6495 "cidr" : {
6496 "description" : "Network/IP specification in CIDR format.",
6497 "format" : "IPorCIDRorAlias",
013dc89f
DM
6498 "type" : "string",
6499 "typetext" : "<string>"
44660702
DM
6500 },
6501 "comment" : {
6502 "optional" : 1,
013dc89f
DM
6503 "type" : "string",
6504 "typetext" : "<string>"
44660702
DM
6505 },
6506 "digest" : {
6507 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6508 "maxLength" : 40,
6509 "optional" : 1,
013dc89f
DM
6510 "type" : "string",
6511 "typetext" : "<string>"
44660702 6512 },
7aacca6f 6513 "name" : {
7aacca6f 6514 "description" : "IP set name.",
44660702 6515 "maxLength" : 64,
7aacca6f 6516 "minLength" : 2,
44660702
DM
6517 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6518 "type" : "string"
7aacca6f
DM
6519 },
6520 "node" : {
7aacca6f 6521 "description" : "The cluster node name.",
44660702 6522 "format" : "pve-node",
013dc89f
DM
6523 "type" : "string",
6524 "typetext" : "<string>"
7aacca6f 6525 },
44660702
DM
6526 "nomatch" : {
6527 "optional" : 1,
013dc89f
DM
6528 "type" : "boolean",
6529 "typetext" : "<boolean>"
7aacca6f
DM
6530 },
6531 "vmid" : {
6532 "description" : "The (unique) ID of the VM.",
44660702 6533 "format" : "pve-vmid",
7aacca6f 6534 "minimum" : 1,
4bd7df8b 6535 "type" : "integer",
013dc89f 6536 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
6537 }
6538 }
6539 },
6540 "permissions" : {
6541 "check" : [
6542 "perm",
6543 "/vms/{vmid}",
6544 [
44660702 6545 "VM.Config.Network"
7aacca6f
DM
6546 ]
6547 ]
6548 },
7aacca6f 6549 "protected" : 1,
7aacca6f 6550 "returns" : {
44660702 6551 "type" : "null"
7aacca6f 6552 }
56122987 6553 }
7aacca6f 6554 },
7aacca6f 6555 "leaf" : 1,
44660702
DM
6556 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
6557 "text" : "{cidr}"
7aacca6f 6558 }
44660702
DM
6559 ],
6560 "info" : {
6561 "DELETE" : {
e9cd3bd4 6562 "allowtoken" : 1,
44660702
DM
6563 "description" : "Delete IPSet",
6564 "method" : "DELETE",
6565 "name" : "delete_ipset",
6566 "parameters" : {
6567 "additionalProperties" : 0,
6568 "properties" : {
6569 "name" : {
6570 "description" : "IP set name.",
6571 "maxLength" : 64,
6572 "minLength" : 2,
6573 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6574 "type" : "string"
6575 },
6576 "node" : {
6577 "description" : "The cluster node name.",
6578 "format" : "pve-node",
013dc89f
DM
6579 "type" : "string",
6580 "typetext" : "<string>"
44660702
DM
6581 },
6582 "vmid" : {
6583 "description" : "The (unique) ID of the VM.",
6584 "format" : "pve-vmid",
6585 "minimum" : 1,
4bd7df8b 6586 "type" : "integer",
013dc89f 6587 "typetext" : "<integer> (1 - N)"
44660702
DM
6588 }
6589 }
7aacca6f 6590 },
44660702
DM
6591 "permissions" : {
6592 "check" : [
6593 "perm",
6594 "/vms/{vmid}",
6595 [
6596 "VM.Config.Network"
6597 ]
6598 ]
7aacca6f 6599 },
44660702
DM
6600 "protected" : 1,
6601 "returns" : {
6602 "type" : "null"
6603 }
6604 },
6605 "GET" : {
e9cd3bd4 6606 "allowtoken" : 1,
44660702
DM
6607 "description" : "List IPSet content",
6608 "method" : "GET",
6609 "name" : "get_ipset",
6610 "parameters" : {
6611 "additionalProperties" : 0,
6612 "properties" : {
6613 "name" : {
6614 "description" : "IP set name.",
6615 "maxLength" : 64,
6616 "minLength" : 2,
6617 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6618 "type" : "string"
6619 },
6620 "node" : {
6621 "description" : "The cluster node name.",
6622 "format" : "pve-node",
013dc89f
DM
6623 "type" : "string",
6624 "typetext" : "<string>"
44660702
DM
6625 },
6626 "vmid" : {
6627 "description" : "The (unique) ID of the VM.",
6628 "format" : "pve-vmid",
6629 "minimum" : 1,
4bd7df8b 6630 "type" : "integer",
013dc89f 6631 "typetext" : "<integer> (1 - N)"
44660702
DM
6632 }
6633 }
7aacca6f 6634 },
44660702
DM
6635 "permissions" : {
6636 "check" : [
6637 "perm",
6638 "/vms/{vmid}",
6639 [
6640 "VM.Audit"
6641 ]
6642 ]
7aacca6f 6643 },
44660702
DM
6644 "returns" : {
6645 "items" : {
6646 "properties" : {
6647 "cidr" : {
6648 "type" : "string"
6649 },
6650 "comment" : {
6651 "optional" : 1,
6652 "type" : "string"
6653 },
6654 "digest" : {
6655 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6656 "maxLength" : 40,
6657 "optional" : 0,
6658 "type" : "string"
6659 },
6660 "nomatch" : {
6661 "optional" : 1,
6662 "type" : "boolean"
6663 }
6664 },
6665 "type" : "object"
6666 },
6667 "links" : [
6668 {
6669 "href" : "{cidr}",
6670 "rel" : "child"
6671 }
6672 ],
6673 "type" : "array"
56122987
DM
6674 }
6675 },
44660702 6676 "POST" : {
e9cd3bd4 6677 "allowtoken" : 1,
44660702
DM
6678 "description" : "Add IP or Network to IPSet.",
6679 "method" : "POST",
6680 "name" : "create_ip",
6681 "parameters" : {
6682 "additionalProperties" : 0,
6683 "properties" : {
6684 "cidr" : {
6685 "description" : "Network/IP specification in CIDR format.",
6686 "format" : "IPorCIDRorAlias",
013dc89f
DM
6687 "type" : "string",
6688 "typetext" : "<string>"
44660702
DM
6689 },
6690 "comment" : {
6691 "optional" : 1,
013dc89f
DM
6692 "type" : "string",
6693 "typetext" : "<string>"
44660702
DM
6694 },
6695 "name" : {
6696 "description" : "IP set name.",
6697 "maxLength" : 64,
6698 "minLength" : 2,
6699 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6700 "type" : "string"
6701 },
6702 "node" : {
6703 "description" : "The cluster node name.",
6704 "format" : "pve-node",
013dc89f
DM
6705 "type" : "string",
6706 "typetext" : "<string>"
44660702
DM
6707 },
6708 "nomatch" : {
6709 "optional" : 1,
013dc89f
DM
6710 "type" : "boolean",
6711 "typetext" : "<boolean>"
44660702
DM
6712 },
6713 "vmid" : {
6714 "description" : "The (unique) ID of the VM.",
6715 "format" : "pve-vmid",
6716 "minimum" : 1,
4bd7df8b 6717 "type" : "integer",
013dc89f 6718 "typetext" : "<integer> (1 - N)"
44660702
DM
6719 }
6720 }
6721 },
6722 "permissions" : {
6723 "check" : [
6724 "perm",
6725 "/vms/{vmid}",
6726 [
6727 "VM.Config.Network"
6728 ]
6729 ]
6730 },
6731 "protected" : 1,
6732 "returns" : {
6733 "type" : "null"
6734 }
6735 }
6736 },
6737 "leaf" : 0,
6738 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
6739 "text" : "{name}"
6740 }
6741 ],
6742 "info" : {
6743 "GET" : {
e9cd3bd4 6744 "allowtoken" : 1,
44660702
DM
6745 "description" : "List IPSets",
6746 "method" : "GET",
6747 "name" : "ipset_index",
6748 "parameters" : {
6749 "additionalProperties" : 0,
6750 "properties" : {
6751 "node" : {
6752 "description" : "The cluster node name.",
6753 "format" : "pve-node",
013dc89f
DM
6754 "type" : "string",
6755 "typetext" : "<string>"
44660702
DM
6756 },
6757 "vmid" : {
6758 "description" : "The (unique) ID of the VM.",
6759 "format" : "pve-vmid",
6760 "minimum" : 1,
4bd7df8b 6761 "type" : "integer",
013dc89f 6762 "typetext" : "<integer> (1 - N)"
44660702
DM
6763 }
6764 }
56122987
DM
6765 },
6766 "permissions" : {
6767 "check" : [
6768 "perm",
6769 "/vms/{vmid}",
6770 [
44660702 6771 "VM.Audit"
56122987
DM
6772 ]
6773 ]
6774 },
7aacca6f 6775 "returns" : {
7aacca6f
DM
6776 "items" : {
6777 "properties" : {
7aacca6f
DM
6778 "comment" : {
6779 "optional" : 1,
6780 "type" : "string"
6781 },
6782 "digest" : {
7aacca6f 6783 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
6784 "maxLength" : 40,
6785 "optional" : 0,
6786 "type" : "string"
6787 },
6788 "name" : {
6789 "description" : "IP set name.",
6790 "maxLength" : 64,
6791 "minLength" : 2,
6792 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6793 "type" : "string"
7aacca6f
DM
6794 }
6795 },
6796 "type" : "object"
6797 },
6798 "links" : [
6799 {
44660702
DM
6800 "href" : "{name}",
6801 "rel" : "child"
7aacca6f 6802 }
44660702
DM
6803 ],
6804 "type" : "array"
6805 }
6806 },
6807 "POST" : {
e9cd3bd4 6808 "allowtoken" : 1,
44660702
DM
6809 "description" : "Create new IPSet",
6810 "method" : "POST",
6811 "name" : "create_ipset",
56122987
DM
6812 "parameters" : {
6813 "additionalProperties" : 0,
6814 "properties" : {
44660702
DM
6815 "comment" : {
6816 "optional" : 1,
013dc89f
DM
6817 "type" : "string",
6818 "typetext" : "<string>"
56122987 6819 },
44660702
DM
6820 "digest" : {
6821 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6822 "maxLength" : 40,
6823 "optional" : 1,
013dc89f
DM
6824 "type" : "string",
6825 "typetext" : "<string>"
44660702
DM
6826 },
6827 "name" : {
6828 "description" : "IP set name.",
6829 "maxLength" : 64,
6830 "minLength" : 2,
6831 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6832 "type" : "string"
6833 },
6834 "node" : {
6835 "description" : "The cluster node name.",
6836 "format" : "pve-node",
013dc89f
DM
6837 "type" : "string",
6838 "typetext" : "<string>"
44660702
DM
6839 },
6840 "rename" : {
6841 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
6842 "maxLength" : 64,
6843 "minLength" : 2,
6844 "optional" : 1,
6845 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
6846 "type" : "string"
6847 },
6848 "vmid" : {
6849 "description" : "The (unique) ID of the VM.",
6850 "format" : "pve-vmid",
6851 "minimum" : 1,
4bd7df8b 6852 "type" : "integer",
013dc89f 6853 "typetext" : "<integer> (1 - N)"
44660702
DM
6854 }
6855 }
6856 },
7aacca6f
DM
6857 "permissions" : {
6858 "check" : [
6859 "perm",
6860 "/vms/{vmid}",
6861 [
6862 "VM.Config.Network"
6863 ]
6864 ]
6865 },
44660702 6866 "protected" : 1,
56122987 6867 "returns" : {
7aacca6f 6868 "type" : "null"
44660702
DM
6869 }
6870 }
6871 },
6872 "leaf" : 0,
6873 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
6874 "text" : "ipset"
6875 },
6876 {
6877 "info" : {
6878 "GET" : {
e9cd3bd4 6879 "allowtoken" : 1,
44660702
DM
6880 "description" : "Get VM firewall options.",
6881 "method" : "GET",
6882 "name" : "get_options",
7aacca6f
DM
6883 "parameters" : {
6884 "additionalProperties" : 0,
56122987 6885 "properties" : {
7aacca6f
DM
6886 "node" : {
6887 "description" : "The cluster node name.",
44660702 6888 "format" : "pve-node",
013dc89f
DM
6889 "type" : "string",
6890 "typetext" : "<string>"
7aacca6f 6891 },
44660702
DM
6892 "vmid" : {
6893 "description" : "The (unique) ID of the VM.",
6894 "format" : "pve-vmid",
6895 "minimum" : 1,
4bd7df8b 6896 "type" : "integer",
013dc89f 6897 "typetext" : "<integer> (1 - N)"
44660702
DM
6898 }
6899 }
6900 },
6901 "permissions" : {
6902 "check" : [
6903 "perm",
6904 "/vms/{vmid}",
6905 [
6906 "VM.Audit"
6907 ]
6908 ]
6909 },
6910 "proxyto" : "node",
6911 "returns" : {
6912 "properties" : {
6913 "dhcp" : {
5c1699e5 6914 "default" : 0,
44660702 6915 "description" : "Enable DHCP.",
56122987 6916 "optional" : 1,
44660702 6917 "type" : "boolean"
56122987 6918 },
44660702 6919 "enable" : {
5c1699e5 6920 "default" : 0,
44660702 6921 "description" : "Enable/disable firewall rules.",
7aacca6f 6922 "optional" : 1,
44660702 6923 "type" : "boolean"
56122987 6924 },
44660702
DM
6925 "ipfilter" : {
6926 "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 6927 "optional" : 1,
44660702 6928 "type" : "boolean"
7aacca6f 6929 },
56122987 6930 "log_level_in" : {
7aacca6f 6931 "description" : "Log level for incoming traffic.",
56122987
DM
6932 "enum" : [
6933 "emerg",
6934 "alert",
6935 "crit",
6936 "err",
6937 "warning",
6938 "notice",
6939 "info",
6940 "debug",
6941 "nolog"
6942 ],
56122987
DM
6943 "optional" : 1,
6944 "type" : "string"
6945 },
44660702
DM
6946 "log_level_out" : {
6947 "description" : "Log level for outgoing traffic.",
6948 "enum" : [
6949 "emerg",
6950 "alert",
6951 "crit",
6952 "err",
6953 "warning",
6954 "notice",
6955 "info",
6956 "debug",
6957 "nolog"
6958 ],
6959 "optional" : 1,
6960 "type" : "string"
6961 },
6962 "macfilter" : {
5c1699e5 6963 "default" : 0,
44660702 6964 "description" : "Enable/disable MAC address filter.",
56122987 6965 "optional" : 1,
7aacca6f 6966 "type" : "boolean"
56122987
DM
6967 },
6968 "ndp" : {
5c1699e5
TL
6969 "default" : 0,
6970 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 6971 "optional" : 1,
44660702 6972 "type" : "boolean"
56122987
DM
6973 },
6974 "policy_in" : {
56122987
DM
6975 "description" : "Input policy.",
6976 "enum" : [
6977 "ACCEPT",
6978 "REJECT",
6979 "DROP"
44660702
DM
6980 ],
6981 "optional" : 1,
6982 "type" : "string"
56122987 6983 },
44660702
DM
6984 "policy_out" : {
6985 "description" : "Output policy.",
6986 "enum" : [
6987 "ACCEPT",
6988 "REJECT",
6989 "DROP"
6990 ],
6991 "optional" : 1,
6992 "type" : "string"
6993 },
6994 "radv" : {
6995 "description" : "Allow sending Router Advertisement.",
6996 "optional" : 1,
6997 "type" : "boolean"
6998 }
6999 },
7000 "type" : "object"
7001 }
7002 },
7003 "PUT" : {
e9cd3bd4 7004 "allowtoken" : 1,
44660702
DM
7005 "description" : "Set Firewall options.",
7006 "method" : "PUT",
7007 "name" : "set_options",
7008 "parameters" : {
7009 "additionalProperties" : 0,
7010 "properties" : {
7011 "delete" : {
7012 "description" : "A list of settings you want to delete.",
7013 "format" : "pve-configid-list",
7014 "optional" : 1,
013dc89f
DM
7015 "type" : "string",
7016 "typetext" : "<string>"
44660702
DM
7017 },
7018 "dhcp" : {
5c1699e5 7019 "default" : 0,
44660702 7020 "description" : "Enable DHCP.",
7aacca6f 7021 "optional" : 1,
013dc89f
DM
7022 "type" : "boolean",
7023 "typetext" : "<boolean>"
7aacca6f
DM
7024 },
7025 "digest" : {
7026 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 7027 "maxLength" : 40,
7aacca6f 7028 "optional" : 1,
013dc89f
DM
7029 "type" : "string",
7030 "typetext" : "<string>"
7aacca6f
DM
7031 },
7032 "enable" : {
5c1699e5 7033 "default" : 0,
7aacca6f 7034 "description" : "Enable/disable firewall rules.",
56122987 7035 "optional" : 1,
013dc89f
DM
7036 "type" : "boolean",
7037 "typetext" : "<boolean>"
7aacca6f 7038 },
44660702
DM
7039 "ipfilter" : {
7040 "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.",
7041 "optional" : 1,
013dc89f
DM
7042 "type" : "boolean",
7043 "typetext" : "<boolean>"
44660702
DM
7044 },
7045 "log_level_in" : {
7046 "description" : "Log level for incoming traffic.",
56122987
DM
7047 "enum" : [
7048 "emerg",
7049 "alert",
7050 "crit",
7051 "err",
7052 "warning",
7053 "notice",
7054 "info",
7055 "debug",
7056 "nolog"
7aacca6f 7057 ],
7aacca6f 7058 "optional" : 1,
44660702 7059 "type" : "string"
7aacca6f 7060 },
44660702
DM
7061 "log_level_out" : {
7062 "description" : "Log level for outgoing traffic.",
56122987
DM
7063 "enum" : [
7064 "emerg",
7065 "alert",
7066 "crit",
7067 "err",
7068 "warning",
7069 "notice",
7070 "info",
7071 "debug",
7072 "nolog"
7073 ],
56122987 7074 "optional" : 1,
44660702 7075 "type" : "string"
56122987
DM
7076 },
7077 "macfilter" : {
5c1699e5 7078 "default" : 0,
56122987 7079 "description" : "Enable/disable MAC address filter.",
7aacca6f 7080 "optional" : 1,
013dc89f
DM
7081 "type" : "boolean",
7082 "typetext" : "<boolean>"
56122987 7083 },
44660702 7084 "ndp" : {
5c1699e5
TL
7085 "default" : 0,
7086 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 7087 "optional" : 1,
013dc89f
DM
7088 "type" : "boolean",
7089 "typetext" : "<boolean>"
44660702
DM
7090 },
7091 "node" : {
7092 "description" : "The cluster node name.",
7093 "format" : "pve-node",
013dc89f
DM
7094 "type" : "string",
7095 "typetext" : "<string>"
44660702 7096 },
56122987 7097 "policy_in" : {
44660702 7098 "description" : "Input policy.",
56122987
DM
7099 "enum" : [
7100 "ACCEPT",
7101 "REJECT",
7102 "DROP"
7aacca6f 7103 ],
56122987 7104 "optional" : 1,
7aacca6f 7105 "type" : "string"
56122987 7106 },
44660702
DM
7107 "policy_out" : {
7108 "description" : "Output policy.",
7109 "enum" : [
7110 "ACCEPT",
7111 "REJECT",
7112 "DROP"
7113 ],
56122987 7114 "optional" : 1,
44660702 7115 "type" : "string"
56122987 7116 },
44660702
DM
7117 "radv" : {
7118 "description" : "Allow sending Router Advertisement.",
56122987 7119 "optional" : 1,
013dc89f
DM
7120 "type" : "boolean",
7121 "typetext" : "<boolean>"
7aacca6f
DM
7122 },
7123 "vmid" : {
7124 "description" : "The (unique) ID of the VM.",
44660702 7125 "format" : "pve-vmid",
7aacca6f 7126 "minimum" : 1,
4bd7df8b 7127 "type" : "integer",
013dc89f 7128 "typetext" : "<integer> (1 - N)"
56122987
DM
7129 }
7130 }
7131 },
56122987
DM
7132 "permissions" : {
7133 "check" : [
7134 "perm",
7135 "/vms/{vmid}",
7136 [
44660702 7137 "VM.Config.Network"
56122987
DM
7138 ]
7139 ]
7aacca6f 7140 },
44660702 7141 "protected" : 1,
7aacca6f 7142 "proxyto" : "node",
44660702
DM
7143 "returns" : {
7144 "type" : "null"
7145 }
56122987
DM
7146 }
7147 },
44660702 7148 "leaf" : 1,
7aacca6f 7149 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 7150 "text" : "options"
56122987
DM
7151 },
7152 {
56122987
DM
7153 "info" : {
7154 "GET" : {
e9cd3bd4 7155 "allowtoken" : 1,
44660702
DM
7156 "description" : "Read firewall log",
7157 "method" : "GET",
7158 "name" : "log",
7159 "parameters" : {
7160 "additionalProperties" : 0,
7161 "properties" : {
7162 "limit" : {
7163 "minimum" : 0,
7164 "optional" : 1,
4bd7df8b 7165 "type" : "integer",
013dc89f 7166 "typetext" : "<integer> (0 - N)"
56122987 7167 },
44660702
DM
7168 "node" : {
7169 "description" : "The cluster node name.",
7170 "format" : "pve-node",
013dc89f
DM
7171 "type" : "string",
7172 "typetext" : "<string>"
44660702
DM
7173 },
7174 "start" : {
7175 "minimum" : 0,
7176 "optional" : 1,
4bd7df8b 7177 "type" : "integer",
013dc89f 7178 "typetext" : "<integer> (0 - N)"
44660702
DM
7179 },
7180 "vmid" : {
7181 "description" : "The (unique) ID of the VM.",
7182 "format" : "pve-vmid",
7183 "minimum" : 1,
4bd7df8b 7184 "type" : "integer",
013dc89f 7185 "typetext" : "<integer> (1 - N)"
44660702
DM
7186 }
7187 }
7aacca6f 7188 },
7aacca6f
DM
7189 "permissions" : {
7190 "check" : [
7191 "perm",
7192 "/vms/{vmid}",
7193 [
7194 "VM.Console"
7195 ]
7196 ]
56122987 7197 },
7aacca6f 7198 "protected" : 1,
44660702
DM
7199 "proxyto" : "node",
7200 "returns" : {
7201 "items" : {
7202 "properties" : {
7203 "n" : {
7204 "description" : "Line number",
7205 "type" : "integer"
7206 },
7207 "t" : {
7208 "description" : "Line text",
7209 "type" : "string"
7210 }
56122987 7211 },
44660702 7212 "type" : "object"
7aacca6f 7213 },
44660702 7214 "type" : "array"
7aacca6f
DM
7215 }
7216 }
7217 },
44660702 7218 "leaf" : 1,
7aacca6f 7219 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 7220 "text" : "log"
7aacca6f
DM
7221 },
7222 {
7aacca6f
DM
7223 "info" : {
7224 "GET" : {
e9cd3bd4 7225 "allowtoken" : 1,
7aacca6f 7226 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
7227 "method" : "GET",
7228 "name" : "refs",
56122987 7229 "parameters" : {
44660702 7230 "additionalProperties" : 0,
56122987
DM
7231 "properties" : {
7232 "node" : {
7aacca6f 7233 "description" : "The cluster node name.",
44660702 7234 "format" : "pve-node",
013dc89f
DM
7235 "type" : "string",
7236 "typetext" : "<string>"
56122987
DM
7237 },
7238 "type" : {
56122987
DM
7239 "description" : "Only list references of specified type.",
7240 "enum" : [
7241 "alias",
7242 "ipset"
7aacca6f 7243 ],
44660702
DM
7244 "optional" : 1,
7245 "type" : "string"
7246 },
7247 "vmid" : {
7248 "description" : "The (unique) ID of the VM.",
7249 "format" : "pve-vmid",
7250 "minimum" : 1,
4bd7df8b 7251 "type" : "integer",
013dc89f 7252 "typetext" : "<integer> (1 - N)"
56122987 7253 }
44660702
DM
7254 }
7255 },
7256 "permissions" : {
7257 "check" : [
7258 "perm",
7259 "/vms/{vmid}",
7260 [
7261 "VM.Audit"
7262 ]
7263 ]
56122987
DM
7264 },
7265 "returns" : {
56122987
DM
7266 "items" : {
7267 "properties" : {
44660702
DM
7268 "comment" : {
7269 "optional" : 1,
56122987
DM
7270 "type" : "string"
7271 },
7272 "name" : {
7273 "type" : "string"
7274 },
44660702
DM
7275 "type" : {
7276 "enum" : [
7277 "alias",
7278 "ipset"
7279 ],
7aacca6f 7280 "type" : "string"
56122987
DM
7281 }
7282 },
7283 "type" : "object"
7aacca6f
DM
7284 },
7285 "type" : "array"
7286 }
56122987 7287 }
44660702
DM
7288 },
7289 "leaf" : 1,
7290 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
7291 "text" : "refs"
56122987
DM
7292 }
7293 ],
56122987
DM
7294 "info" : {
7295 "GET" : {
e9cd3bd4 7296 "allowtoken" : 1,
44660702 7297 "description" : "Directory index.",
56122987 7298 "method" : "GET",
44660702 7299 "name" : "index",
56122987 7300 "parameters" : {
44660702 7301 "additionalProperties" : 0,
56122987
DM
7302 "properties" : {
7303 "node" : {
7304 "description" : "The cluster node name.",
44660702 7305 "format" : "pve-node",
013dc89f
DM
7306 "type" : "string",
7307 "typetext" : "<string>"
56122987
DM
7308 },
7309 "vmid" : {
44660702 7310 "description" : "The (unique) ID of the VM.",
56122987
DM
7311 "format" : "pve-vmid",
7312 "minimum" : 1,
4bd7df8b 7313 "type" : "integer",
013dc89f 7314 "typetext" : "<integer> (1 - N)"
56122987 7315 }
44660702 7316 }
56122987 7317 },
56122987 7318 "permissions" : {
27a7acb2
DM
7319 "user" : "all"
7320 },
7321 "returns" : {
7322 "items" : {
7323 "properties" : {},
7324 "type" : "object"
7325 },
7326 "links" : [
7327 {
7328 "href" : "{name}",
7329 "rel" : "child"
7330 }
7331 ],
7332 "type" : "array"
7333 }
7334 }
7335 },
7336 "leaf" : 0,
7337 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
7338 "text" : "firewall"
7339 },
7340 {
7341 "children" : [
7342 {
7343 "info" : {
7344 "POST" : {
e9cd3bd4 7345 "allowtoken" : 1,
27a7acb2
DM
7346 "description" : "Execute fsfreeze-freeze.",
7347 "method" : "POST",
7348 "name" : "fsfreeze-freeze",
7349 "parameters" : {
7350 "additionalProperties" : 0,
7351 "properties" : {
7352 "node" : {
7353 "description" : "The cluster node name.",
7354 "format" : "pve-node",
7355 "type" : "string",
7356 "typetext" : "<string>"
7357 },
7358 "vmid" : {
7359 "description" : "The (unique) ID of the VM.",
7360 "format" : "pve-vmid",
7361 "minimum" : 1,
7362 "type" : "integer",
7363 "typetext" : "<integer> (1 - N)"
7364 }
7365 }
7366 },
7367 "permissions" : {
7368 "check" : [
7369 "perm",
7370 "/vms/{vmid}",
7371 [
7372 "VM.Monitor"
7373 ]
7374 ]
7375 },
7376 "protected" : 1,
7377 "proxyto" : "node",
7378 "returns" : {
7379 "description" : "Returns an object with a single `result` property.",
7380 "type" : "object"
7381 }
7382 }
7383 },
7384 "leaf" : 1,
7385 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
7386 "text" : "fsfreeze-freeze"
7387 },
7388 {
7389 "info" : {
7390 "POST" : {
e9cd3bd4 7391 "allowtoken" : 1,
27a7acb2
DM
7392 "description" : "Execute fsfreeze-status.",
7393 "method" : "POST",
7394 "name" : "fsfreeze-status",
7395 "parameters" : {
7396 "additionalProperties" : 0,
7397 "properties" : {
7398 "node" : {
7399 "description" : "The cluster node name.",
7400 "format" : "pve-node",
7401 "type" : "string",
7402 "typetext" : "<string>"
7403 },
7404 "vmid" : {
7405 "description" : "The (unique) ID of the VM.",
7406 "format" : "pve-vmid",
7407 "minimum" : 1,
7408 "type" : "integer",
7409 "typetext" : "<integer> (1 - N)"
7410 }
7411 }
7412 },
7413 "permissions" : {
7414 "check" : [
7415 "perm",
7416 "/vms/{vmid}",
7417 [
7418 "VM.Monitor"
7419 ]
7420 ]
7421 },
7422 "protected" : 1,
7423 "proxyto" : "node",
7424 "returns" : {
7425 "description" : "Returns an object with a single `result` property.",
7426 "type" : "object"
7427 }
7428 }
7429 },
7430 "leaf" : 1,
7431 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
7432 "text" : "fsfreeze-status"
7433 },
7434 {
7435 "info" : {
7436 "POST" : {
e9cd3bd4 7437 "allowtoken" : 1,
27a7acb2
DM
7438 "description" : "Execute fsfreeze-thaw.",
7439 "method" : "POST",
7440 "name" : "fsfreeze-thaw",
7441 "parameters" : {
7442 "additionalProperties" : 0,
7443 "properties" : {
7444 "node" : {
7445 "description" : "The cluster node name.",
7446 "format" : "pve-node",
7447 "type" : "string",
7448 "typetext" : "<string>"
7449 },
7450 "vmid" : {
7451 "description" : "The (unique) ID of the VM.",
7452 "format" : "pve-vmid",
7453 "minimum" : 1,
7454 "type" : "integer",
7455 "typetext" : "<integer> (1 - N)"
7456 }
7457 }
7458 },
7459 "permissions" : {
7460 "check" : [
7461 "perm",
7462 "/vms/{vmid}",
7463 [
7464 "VM.Monitor"
7465 ]
7466 ]
7467 },
7468 "protected" : 1,
7469 "proxyto" : "node",
7470 "returns" : {
7471 "description" : "Returns an object with a single `result` property.",
7472 "type" : "object"
7473 }
7474 }
7475 },
7476 "leaf" : 1,
7477 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
7478 "text" : "fsfreeze-thaw"
7479 },
7480 {
7481 "info" : {
7482 "POST" : {
e9cd3bd4 7483 "allowtoken" : 1,
27a7acb2
DM
7484 "description" : "Execute fstrim.",
7485 "method" : "POST",
7486 "name" : "fstrim",
7487 "parameters" : {
7488 "additionalProperties" : 0,
7489 "properties" : {
7490 "node" : {
7491 "description" : "The cluster node name.",
7492 "format" : "pve-node",
7493 "type" : "string",
7494 "typetext" : "<string>"
7495 },
7496 "vmid" : {
7497 "description" : "The (unique) ID of the VM.",
7498 "format" : "pve-vmid",
7499 "minimum" : 1,
7500 "type" : "integer",
7501 "typetext" : "<integer> (1 - N)"
7502 }
7503 }
7504 },
7505 "permissions" : {
7506 "check" : [
7507 "perm",
7508 "/vms/{vmid}",
7509 [
7510 "VM.Monitor"
7511 ]
7512 ]
7513 },
7514 "protected" : 1,
7515 "proxyto" : "node",
7516 "returns" : {
7517 "description" : "Returns an object with a single `result` property.",
7518 "type" : "object"
7519 }
7520 }
7521 },
7522 "leaf" : 1,
7523 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
7524 "text" : "fstrim"
7525 },
7526 {
7527 "info" : {
7528 "GET" : {
e9cd3bd4 7529 "allowtoken" : 1,
27a7acb2
DM
7530 "description" : "Execute get-fsinfo.",
7531 "method" : "GET",
7532 "name" : "get-fsinfo",
7533 "parameters" : {
7534 "additionalProperties" : 0,
7535 "properties" : {
7536 "node" : {
7537 "description" : "The cluster node name.",
7538 "format" : "pve-node",
7539 "type" : "string",
7540 "typetext" : "<string>"
7541 },
7542 "vmid" : {
7543 "description" : "The (unique) ID of the VM.",
7544 "format" : "pve-vmid",
7545 "minimum" : 1,
7546 "type" : "integer",
7547 "typetext" : "<integer> (1 - N)"
7548 }
7549 }
7550 },
7551 "permissions" : {
7552 "check" : [
7553 "perm",
7554 "/vms/{vmid}",
7555 [
7556 "VM.Monitor"
7557 ]
7558 ]
7559 },
7560 "protected" : 1,
7561 "proxyto" : "node",
7562 "returns" : {
7563 "description" : "Returns an object with a single `result` property.",
7564 "type" : "object"
7565 }
7566 }
7567 },
7568 "leaf" : 1,
7569 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
7570 "text" : "get-fsinfo"
7571 },
7572 {
7573 "info" : {
7574 "GET" : {
e9cd3bd4 7575 "allowtoken" : 1,
27a7acb2
DM
7576 "description" : "Execute get-host-name.",
7577 "method" : "GET",
7578 "name" : "get-host-name",
7579 "parameters" : {
7580 "additionalProperties" : 0,
7581 "properties" : {
7582 "node" : {
7583 "description" : "The cluster node name.",
7584 "format" : "pve-node",
7585 "type" : "string",
7586 "typetext" : "<string>"
7587 },
7588 "vmid" : {
7589 "description" : "The (unique) ID of the VM.",
7590 "format" : "pve-vmid",
7591 "minimum" : 1,
7592 "type" : "integer",
7593 "typetext" : "<integer> (1 - N)"
7594 }
7595 }
7596 },
7597 "permissions" : {
7598 "check" : [
7599 "perm",
7600 "/vms/{vmid}",
7601 [
7602 "VM.Monitor"
7603 ]
7604 ]
7605 },
7606 "protected" : 1,
7607 "proxyto" : "node",
7608 "returns" : {
7609 "description" : "Returns an object with a single `result` property.",
7610 "type" : "object"
7611 }
7612 }
7613 },
7614 "leaf" : 1,
7615 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
7616 "text" : "get-host-name"
7617 },
7618 {
7619 "info" : {
7620 "GET" : {
e9cd3bd4 7621 "allowtoken" : 1,
27a7acb2
DM
7622 "description" : "Execute get-memory-block-info.",
7623 "method" : "GET",
7624 "name" : "get-memory-block-info",
7625 "parameters" : {
7626 "additionalProperties" : 0,
7627 "properties" : {
7628 "node" : {
7629 "description" : "The cluster node name.",
7630 "format" : "pve-node",
7631 "type" : "string",
7632 "typetext" : "<string>"
7633 },
7634 "vmid" : {
7635 "description" : "The (unique) ID of the VM.",
7636 "format" : "pve-vmid",
7637 "minimum" : 1,
7638 "type" : "integer",
7639 "typetext" : "<integer> (1 - N)"
7640 }
7641 }
7642 },
7643 "permissions" : {
7644 "check" : [
7645 "perm",
7646 "/vms/{vmid}",
7647 [
7648 "VM.Monitor"
7649 ]
7650 ]
7651 },
7652 "protected" : 1,
7653 "proxyto" : "node",
7654 "returns" : {
7655 "description" : "Returns an object with a single `result` property.",
7656 "type" : "object"
7657 }
7658 }
7659 },
7660 "leaf" : 1,
7661 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
7662 "text" : "get-memory-block-info"
7663 },
7664 {
7665 "info" : {
7666 "GET" : {
e9cd3bd4 7667 "allowtoken" : 1,
27a7acb2
DM
7668 "description" : "Execute get-memory-blocks.",
7669 "method" : "GET",
7670 "name" : "get-memory-blocks",
7671 "parameters" : {
7672 "additionalProperties" : 0,
7673 "properties" : {
7674 "node" : {
7675 "description" : "The cluster node name.",
7676 "format" : "pve-node",
7677 "type" : "string",
7678 "typetext" : "<string>"
7679 },
7680 "vmid" : {
7681 "description" : "The (unique) ID of the VM.",
7682 "format" : "pve-vmid",
7683 "minimum" : 1,
7684 "type" : "integer",
7685 "typetext" : "<integer> (1 - N)"
7686 }
7687 }
7688 },
7689 "permissions" : {
7690 "check" : [
7691 "perm",
7692 "/vms/{vmid}",
7693 [
7694 "VM.Monitor"
7695 ]
7696 ]
7697 },
7698 "protected" : 1,
7699 "proxyto" : "node",
7700 "returns" : {
7701 "description" : "Returns an object with a single `result` property.",
7702 "type" : "object"
7703 }
7704 }
7705 },
7706 "leaf" : 1,
7707 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
7708 "text" : "get-memory-blocks"
7709 },
7710 {
7711 "info" : {
7712 "GET" : {
e9cd3bd4 7713 "allowtoken" : 1,
27a7acb2
DM
7714 "description" : "Execute get-osinfo.",
7715 "method" : "GET",
7716 "name" : "get-osinfo",
7717 "parameters" : {
7718 "additionalProperties" : 0,
7719 "properties" : {
7720 "node" : {
7721 "description" : "The cluster node name.",
7722 "format" : "pve-node",
7723 "type" : "string",
7724 "typetext" : "<string>"
7725 },
7726 "vmid" : {
7727 "description" : "The (unique) ID of the VM.",
7728 "format" : "pve-vmid",
7729 "minimum" : 1,
7730 "type" : "integer",
7731 "typetext" : "<integer> (1 - N)"
7732 }
7733 }
7734 },
7735 "permissions" : {
7736 "check" : [
7737 "perm",
7738 "/vms/{vmid}",
7739 [
7740 "VM.Monitor"
7741 ]
7742 ]
7743 },
7744 "protected" : 1,
7745 "proxyto" : "node",
7746 "returns" : {
7747 "description" : "Returns an object with a single `result` property.",
7748 "type" : "object"
7749 }
7750 }
7751 },
7752 "leaf" : 1,
7753 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
7754 "text" : "get-osinfo"
7755 },
7756 {
7757 "info" : {
7758 "GET" : {
e9cd3bd4 7759 "allowtoken" : 1,
27a7acb2
DM
7760 "description" : "Execute get-time.",
7761 "method" : "GET",
7762 "name" : "get-time",
7763 "parameters" : {
7764 "additionalProperties" : 0,
7765 "properties" : {
7766 "node" : {
7767 "description" : "The cluster node name.",
7768 "format" : "pve-node",
7769 "type" : "string",
7770 "typetext" : "<string>"
7771 },
7772 "vmid" : {
7773 "description" : "The (unique) ID of the VM.",
7774 "format" : "pve-vmid",
7775 "minimum" : 1,
7776 "type" : "integer",
7777 "typetext" : "<integer> (1 - N)"
7778 }
7779 }
7780 },
7781 "permissions" : {
7782 "check" : [
7783 "perm",
7784 "/vms/{vmid}",
7785 [
7786 "VM.Monitor"
7787 ]
7788 ]
7789 },
7790 "protected" : 1,
7791 "proxyto" : "node",
7792 "returns" : {
7793 "description" : "Returns an object with a single `result` property.",
7794 "type" : "object"
7795 }
7796 }
7797 },
7798 "leaf" : 1,
7799 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
7800 "text" : "get-time"
7801 },
7802 {
7803 "info" : {
7804 "GET" : {
e9cd3bd4 7805 "allowtoken" : 1,
27a7acb2
DM
7806 "description" : "Execute get-timezone.",
7807 "method" : "GET",
7808 "name" : "get-timezone",
7809 "parameters" : {
7810 "additionalProperties" : 0,
7811 "properties" : {
7812 "node" : {
7813 "description" : "The cluster node name.",
7814 "format" : "pve-node",
7815 "type" : "string",
7816 "typetext" : "<string>"
7817 },
7818 "vmid" : {
7819 "description" : "The (unique) ID of the VM.",
7820 "format" : "pve-vmid",
7821 "minimum" : 1,
7822 "type" : "integer",
7823 "typetext" : "<integer> (1 - N)"
7824 }
7825 }
7826 },
7827 "permissions" : {
7828 "check" : [
7829 "perm",
7830 "/vms/{vmid}",
7831 [
7832 "VM.Monitor"
7833 ]
7834 ]
7835 },
7836 "protected" : 1,
7837 "proxyto" : "node",
7838 "returns" : {
7839 "description" : "Returns an object with a single `result` property.",
7840 "type" : "object"
7841 }
7842 }
7843 },
7844 "leaf" : 1,
7845 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
7846 "text" : "get-timezone"
7847 },
7848 {
7849 "info" : {
7850 "GET" : {
e9cd3bd4 7851 "allowtoken" : 1,
27a7acb2
DM
7852 "description" : "Execute get-users.",
7853 "method" : "GET",
7854 "name" : "get-users",
7855 "parameters" : {
7856 "additionalProperties" : 0,
7857 "properties" : {
7858 "node" : {
7859 "description" : "The cluster node name.",
7860 "format" : "pve-node",
7861 "type" : "string",
7862 "typetext" : "<string>"
7863 },
7864 "vmid" : {
7865 "description" : "The (unique) ID of the VM.",
7866 "format" : "pve-vmid",
7867 "minimum" : 1,
7868 "type" : "integer",
7869 "typetext" : "<integer> (1 - N)"
7870 }
7871 }
7872 },
7873 "permissions" : {
7874 "check" : [
7875 "perm",
7876 "/vms/{vmid}",
7877 [
7878 "VM.Monitor"
7879 ]
7880 ]
7881 },
7882 "protected" : 1,
7883 "proxyto" : "node",
7884 "returns" : {
7885 "description" : "Returns an object with a single `result` property.",
7886 "type" : "object"
7887 }
7888 }
7889 },
7890 "leaf" : 1,
7891 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
7892 "text" : "get-users"
7893 },
7894 {
7895 "info" : {
7896 "GET" : {
e9cd3bd4 7897 "allowtoken" : 1,
27a7acb2
DM
7898 "description" : "Execute get-vcpus.",
7899 "method" : "GET",
7900 "name" : "get-vcpus",
7901 "parameters" : {
7902 "additionalProperties" : 0,
7903 "properties" : {
7904 "node" : {
7905 "description" : "The cluster node name.",
7906 "format" : "pve-node",
7907 "type" : "string",
7908 "typetext" : "<string>"
7909 },
7910 "vmid" : {
7911 "description" : "The (unique) ID of the VM.",
7912 "format" : "pve-vmid",
7913 "minimum" : 1,
7914 "type" : "integer",
7915 "typetext" : "<integer> (1 - N)"
7916 }
7917 }
7918 },
7919 "permissions" : {
7920 "check" : [
7921 "perm",
7922 "/vms/{vmid}",
7923 [
7924 "VM.Monitor"
7925 ]
7926 ]
7927 },
7928 "protected" : 1,
7929 "proxyto" : "node",
7930 "returns" : {
7931 "description" : "Returns an object with a single `result` property.",
7932 "type" : "object"
7933 }
7934 }
7935 },
7936 "leaf" : 1,
7937 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
7938 "text" : "get-vcpus"
7939 },
7940 {
7941 "info" : {
7942 "GET" : {
e9cd3bd4 7943 "allowtoken" : 1,
27a7acb2
DM
7944 "description" : "Execute info.",
7945 "method" : "GET",
7946 "name" : "info",
7947 "parameters" : {
7948 "additionalProperties" : 0,
7949 "properties" : {
7950 "node" : {
7951 "description" : "The cluster node name.",
7952 "format" : "pve-node",
7953 "type" : "string",
7954 "typetext" : "<string>"
7955 },
7956 "vmid" : {
7957 "description" : "The (unique) ID of the VM.",
7958 "format" : "pve-vmid",
7959 "minimum" : 1,
7960 "type" : "integer",
7961 "typetext" : "<integer> (1 - N)"
7962 }
7963 }
7964 },
7965 "permissions" : {
7966 "check" : [
7967 "perm",
7968 "/vms/{vmid}",
7969 [
7970 "VM.Monitor"
7971 ]
7972 ]
7973 },
7974 "protected" : 1,
7975 "proxyto" : "node",
7976 "returns" : {
7977 "description" : "Returns an object with a single `result` property.",
7978 "type" : "object"
7979 }
7980 }
7981 },
7982 "leaf" : 1,
7983 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
7984 "text" : "info"
7985 },
7986 {
7987 "info" : {
7988 "GET" : {
e9cd3bd4 7989 "allowtoken" : 1,
27a7acb2
DM
7990 "description" : "Execute network-get-interfaces.",
7991 "method" : "GET",
7992 "name" : "network-get-interfaces",
7993 "parameters" : {
7994 "additionalProperties" : 0,
7995 "properties" : {
7996 "node" : {
7997 "description" : "The cluster node name.",
7998 "format" : "pve-node",
7999 "type" : "string",
8000 "typetext" : "<string>"
8001 },
8002 "vmid" : {
8003 "description" : "The (unique) ID of the VM.",
8004 "format" : "pve-vmid",
8005 "minimum" : 1,
8006 "type" : "integer",
8007 "typetext" : "<integer> (1 - N)"
8008 }
8009 }
8010 },
8011 "permissions" : {
8012 "check" : [
8013 "perm",
8014 "/vms/{vmid}",
8015 [
8016 "VM.Monitor"
8017 ]
8018 ]
8019 },
8020 "protected" : 1,
8021 "proxyto" : "node",
8022 "returns" : {
8023 "description" : "Returns an object with a single `result` property.",
8024 "type" : "object"
8025 }
8026 }
8027 },
8028 "leaf" : 1,
8029 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
8030 "text" : "network-get-interfaces"
8031 },
8032 {
8033 "info" : {
8034 "POST" : {
e9cd3bd4 8035 "allowtoken" : 1,
27a7acb2
DM
8036 "description" : "Execute ping.",
8037 "method" : "POST",
8038 "name" : "ping",
8039 "parameters" : {
8040 "additionalProperties" : 0,
8041 "properties" : {
8042 "node" : {
8043 "description" : "The cluster node name.",
8044 "format" : "pve-node",
8045 "type" : "string",
8046 "typetext" : "<string>"
8047 },
8048 "vmid" : {
8049 "description" : "The (unique) ID of the VM.",
8050 "format" : "pve-vmid",
8051 "minimum" : 1,
8052 "type" : "integer",
8053 "typetext" : "<integer> (1 - N)"
8054 }
8055 }
8056 },
8057 "permissions" : {
8058 "check" : [
8059 "perm",
8060 "/vms/{vmid}",
8061 [
8062 "VM.Monitor"
8063 ]
8064 ]
8065 },
8066 "protected" : 1,
8067 "proxyto" : "node",
8068 "returns" : {
8069 "description" : "Returns an object with a single `result` property.",
8070 "type" : "object"
8071 }
8072 }
8073 },
8074 "leaf" : 1,
8075 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
8076 "text" : "ping"
8077 },
8078 {
8079 "info" : {
8080 "POST" : {
e9cd3bd4 8081 "allowtoken" : 1,
27a7acb2
DM
8082 "description" : "Execute shutdown.",
8083 "method" : "POST",
8084 "name" : "shutdown",
8085 "parameters" : {
8086 "additionalProperties" : 0,
8087 "properties" : {
8088 "node" : {
8089 "description" : "The cluster node name.",
8090 "format" : "pve-node",
8091 "type" : "string",
8092 "typetext" : "<string>"
8093 },
8094 "vmid" : {
8095 "description" : "The (unique) ID of the VM.",
8096 "format" : "pve-vmid",
8097 "minimum" : 1,
8098 "type" : "integer",
8099 "typetext" : "<integer> (1 - N)"
8100 }
8101 }
8102 },
8103 "permissions" : {
8104 "check" : [
8105 "perm",
8106 "/vms/{vmid}",
8107 [
8108 "VM.Monitor"
8109 ]
8110 ]
8111 },
8112 "protected" : 1,
8113 "proxyto" : "node",
8114 "returns" : {
8115 "description" : "Returns an object with a single `result` property.",
8116 "type" : "object"
8117 }
8118 }
8119 },
8120 "leaf" : 1,
8121 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
8122 "text" : "shutdown"
8123 },
8124 {
8125 "info" : {
8126 "POST" : {
e9cd3bd4 8127 "allowtoken" : 1,
27a7acb2
DM
8128 "description" : "Execute suspend-disk.",
8129 "method" : "POST",
8130 "name" : "suspend-disk",
8131 "parameters" : {
8132 "additionalProperties" : 0,
8133 "properties" : {
8134 "node" : {
8135 "description" : "The cluster node name.",
8136 "format" : "pve-node",
8137 "type" : "string",
8138 "typetext" : "<string>"
8139 },
8140 "vmid" : {
8141 "description" : "The (unique) ID of the VM.",
8142 "format" : "pve-vmid",
8143 "minimum" : 1,
8144 "type" : "integer",
8145 "typetext" : "<integer> (1 - N)"
8146 }
8147 }
8148 },
8149 "permissions" : {
8150 "check" : [
8151 "perm",
8152 "/vms/{vmid}",
8153 [
8154 "VM.Monitor"
8155 ]
8156 ]
8157 },
8158 "protected" : 1,
8159 "proxyto" : "node",
8160 "returns" : {
8161 "description" : "Returns an object with a single `result` property.",
8162 "type" : "object"
8163 }
8164 }
8165 },
8166 "leaf" : 1,
8167 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
8168 "text" : "suspend-disk"
8169 },
8170 {
8171 "info" : {
8172 "POST" : {
e9cd3bd4 8173 "allowtoken" : 1,
27a7acb2
DM
8174 "description" : "Execute suspend-hybrid.",
8175 "method" : "POST",
8176 "name" : "suspend-hybrid",
8177 "parameters" : {
8178 "additionalProperties" : 0,
8179 "properties" : {
8180 "node" : {
8181 "description" : "The cluster node name.",
8182 "format" : "pve-node",
8183 "type" : "string",
8184 "typetext" : "<string>"
8185 },
8186 "vmid" : {
8187 "description" : "The (unique) ID of the VM.",
8188 "format" : "pve-vmid",
8189 "minimum" : 1,
8190 "type" : "integer",
8191 "typetext" : "<integer> (1 - N)"
8192 }
8193 }
8194 },
8195 "permissions" : {
8196 "check" : [
8197 "perm",
8198 "/vms/{vmid}",
8199 [
8200 "VM.Monitor"
8201 ]
8202 ]
8203 },
8204 "protected" : 1,
8205 "proxyto" : "node",
8206 "returns" : {
8207 "description" : "Returns an object with a single `result` property.",
8208 "type" : "object"
8209 }
8210 }
8211 },
8212 "leaf" : 1,
8213 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
8214 "text" : "suspend-hybrid"
8215 },
8216 {
8217 "info" : {
8218 "POST" : {
e9cd3bd4 8219 "allowtoken" : 1,
27a7acb2
DM
8220 "description" : "Execute suspend-ram.",
8221 "method" : "POST",
8222 "name" : "suspend-ram",
8223 "parameters" : {
8224 "additionalProperties" : 0,
8225 "properties" : {
8226 "node" : {
8227 "description" : "The cluster node name.",
8228 "format" : "pve-node",
8229 "type" : "string",
8230 "typetext" : "<string>"
8231 },
8232 "vmid" : {
8233 "description" : "The (unique) ID of the VM.",
8234 "format" : "pve-vmid",
8235 "minimum" : 1,
8236 "type" : "integer",
8237 "typetext" : "<integer> (1 - N)"
8238 }
8239 }
8240 },
8241 "permissions" : {
8242 "check" : [
8243 "perm",
8244 "/vms/{vmid}",
8245 [
8246 "VM.Monitor"
8247 ]
8248 ]
8249 },
8250 "protected" : 1,
8251 "proxyto" : "node",
8252 "returns" : {
8253 "description" : "Returns an object with a single `result` property.",
8254 "type" : "object"
8255 }
8256 }
8257 },
8258 "leaf" : 1,
8259 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
8260 "text" : "suspend-ram"
4d47f125
TL
8261 },
8262 {
8263 "info" : {
8264 "POST" : {
e9cd3bd4 8265 "allowtoken" : 1,
4d47f125
TL
8266 "description" : "Sets the password for the given user to the given password",
8267 "method" : "POST",
8268 "name" : "set-user-password",
8269 "parameters" : {
8270 "additionalProperties" : 0,
8271 "properties" : {
8272 "crypted" : {
8273 "default" : 0,
8274 "description" : "set to 1 if the password has already been passed through crypt()",
8275 "optional" : 1,
8276 "type" : "boolean",
8277 "typetext" : "<boolean>"
8278 },
8279 "node" : {
8280 "description" : "The cluster node name.",
8281 "format" : "pve-node",
8282 "type" : "string",
8283 "typetext" : "<string>"
8284 },
8285 "password" : {
8286 "description" : "The new password.",
1c532546 8287 "maxLength" : 1024,
4d47f125
TL
8288 "minLength" : 5,
8289 "type" : "string",
8290 "typetext" : "<string>"
8291 },
8292 "username" : {
8293 "description" : "The user to set the password for.",
8294 "type" : "string",
8295 "typetext" : "<string>"
8296 },
8297 "vmid" : {
8298 "description" : "The (unique) ID of the VM.",
8299 "format" : "pve-vmid",
8300 "minimum" : 1,
8301 "type" : "integer",
8302 "typetext" : "<integer> (1 - N)"
8303 }
8304 }
27a7acb2 8305 },
4d47f125
TL
8306 "permissions" : {
8307 "check" : [
8308 "perm",
8309 "/vms/{vmid}",
8310 [
8311 "VM.Monitor"
8312 ]
8313 ]
8314 },
8315 "protected" : 1,
8316 "proxyto" : "node",
8317 "returns" : {
8318 "description" : "Returns an object with a single `result` property.",
8319 "type" : "object"
27a7acb2
DM
8320 }
8321 }
8322 },
4d47f125
TL
8323 "leaf" : 1,
8324 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
8325 "text" : "set-user-password"
27a7acb2 8326 },
4d47f125
TL
8327 {
8328 "info" : {
8329 "POST" : {
e9cd3bd4 8330 "allowtoken" : 1,
4d47f125
TL
8331 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
8332 "method" : "POST",
8333 "name" : "exec",
8334 "parameters" : {
8335 "additionalProperties" : 0,
8336 "properties" : {
8337 "command" : {
8338 "description" : "The command as a list of program + arguments",
8339 "format" : "string-alist",
8340 "type" : "string",
8341 "typetext" : "<string>"
8342 },
8343 "node" : {
8344 "description" : "The cluster node name.",
8345 "format" : "pve-node",
8346 "type" : "string",
8347 "typetext" : "<string>"
8348 },
8349 "vmid" : {
8350 "description" : "The (unique) ID of the VM.",
8351 "format" : "pve-vmid",
8352 "minimum" : 1,
8353 "type" : "integer",
8354 "typetext" : "<integer> (1 - N)"
8355 }
8356 }
27a7acb2 8357 },
4d47f125
TL
8358 "permissions" : {
8359 "check" : [
8360 "perm",
8361 "/vms/{vmid}",
8362 [
8363 "VM.Monitor"
8364 ]
8365 ]
27a7acb2 8366 },
4d47f125
TL
8367 "protected" : 1,
8368 "proxyto" : "node",
8369 "returns" : {
8370 "properties" : {
8371 "pid" : {
8372 "description" : "The PID of the process started by the guest-agent.",
8373 "type" : "integer"
8374 }
8375 },
8376 "type" : "object"
27a7acb2
DM
8377 }
8378 }
8379 },
4d47f125
TL
8380 "leaf" : 1,
8381 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
8382 "text" : "exec"
8383 },
8384 {
8385 "info" : {
8386 "GET" : {
e9cd3bd4 8387 "allowtoken" : 1,
4d47f125
TL
8388 "description" : "Gets the status of the given pid started by the guest-agent",
8389 "method" : "GET",
8390 "name" : "exec-status",
8391 "parameters" : {
8392 "additionalProperties" : 0,
8393 "properties" : {
8394 "node" : {
8395 "description" : "The cluster node name.",
8396 "format" : "pve-node",
8397 "type" : "string",
8398 "typetext" : "<string>"
8399 },
8400 "pid" : {
8401 "description" : "The PID to query",
8402 "type" : "integer",
8403 "typetext" : "<integer>"
8404 },
8405 "vmid" : {
8406 "description" : "The (unique) ID of the VM.",
8407 "format" : "pve-vmid",
8408 "minimum" : 1,
8409 "type" : "integer",
8410 "typetext" : "<integer> (1 - N)"
8411 }
8412 }
56122987 8413 },
4d47f125
TL
8414 "permissions" : {
8415 "check" : [
8416 "perm",
8417 "/vms/{vmid}",
8418 [
8419 "VM.Monitor"
8420 ]
8421 ]
56122987 8422 },
4d47f125
TL
8423 "protected" : 1,
8424 "proxyto" : "node",
8425 "returns" : {
8426 "properties" : {
8427 "err-data" : {
8428 "description" : "stderr of the process",
8429 "optional" : 1,
8430 "type" : "string"
8431 },
8432 "err-truncated" : {
8433 "description" : "true if stderr was not fully captured",
8434 "optional" : 1,
8435 "type" : "boolean"
8436 },
8437 "exitcode" : {
8438 "description" : "process exit code if it was normally terminated.",
8439 "optional" : 1,
8440 "type" : "integer"
8441 },
8442 "exited" : {
8443 "description" : "Tells if the given command has exited yet.",
8444 "type" : "boolean"
8445 },
8446 "out-data" : {
8447 "description" : "stdout of the process",
8448 "optional" : 1,
8449 "type" : "string"
8450 },
8451 "out-truncated" : {
8452 "description" : "true if stdout was not fully captured",
8453 "optional" : 1,
8454 "type" : "boolean"
8455 },
8456 "signal" : {
8457 "description" : "signal number or exception code if the process was abnormally terminated.",
8458 "optional" : 1,
8459 "type" : "integer"
8460 }
8461 },
8462 "type" : "object"
56122987
DM
8463 }
8464 }
8465 },
4d47f125
TL
8466 "leaf" : 1,
8467 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
8468 "text" : "exec-status"
8469 },
8470 {
8471 "info" : {
8472 "GET" : {
e9cd3bd4 8473 "allowtoken" : 1,
4d47f125
TL
8474 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
8475 "method" : "GET",
8476 "name" : "file-read",
8477 "parameters" : {
8478 "additionalProperties" : 0,
8479 "properties" : {
8480 "file" : {
8481 "description" : "The path to the file",
8482 "type" : "string",
8483 "typetext" : "<string>"
8484 },
8485 "node" : {
8486 "description" : "The cluster node name.",
8487 "format" : "pve-node",
8488 "type" : "string",
8489 "typetext" : "<string>"
8490 },
8491 "vmid" : {
8492 "description" : "The (unique) ID of the VM.",
8493 "format" : "pve-vmid",
8494 "minimum" : 1,
8495 "type" : "integer",
8496 "typetext" : "<integer> (1 - N)"
8497 }
8498 }
8499 },
8500 "permissions" : {
8501 "check" : [
8502 "perm",
8503 "/vms/{vmid}",
8504 [
8505 "VM.Monitor"
8506 ]
8507 ]
8508 },
8509 "protected" : 1,
8510 "proxyto" : "node",
8511 "returns" : {
8512 "description" : "Returns an object with a `content` property.",
8513 "properties" : {
8514 "content" : {
8515 "description" : "The content of the file, maximum 16777216",
8516 "type" : "string"
8517 },
8518 "truncated" : {
8519 "description" : "If set to 1, the output is truncated and not complete",
8520 "optional" : 1,
8521 "type" : "boolean"
8522 }
8523 },
8524 "type" : "object"
8525 }
8526 }
56122987 8527 },
4d47f125
TL
8528 "leaf" : 1,
8529 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
8530 "text" : "file-read"
8531 },
8532 {
8533 "info" : {
8534 "POST" : {
e9cd3bd4 8535 "allowtoken" : 1,
4d47f125
TL
8536 "description" : "Writes the given file via guest agent.",
8537 "method" : "POST",
8538 "name" : "file-write",
8539 "parameters" : {
8540 "additionalProperties" : 0,
8541 "properties" : {
8542 "content" : {
8543 "description" : "The content to write into the file.",
8544 "maxLength" : 61440,
8545 "type" : "string",
8546 "typetext" : "<string>"
8547 },
8548 "file" : {
8549 "description" : "The path to the file.",
8550 "type" : "string",
8551 "typetext" : "<string>"
8552 },
8553 "node" : {
8554 "description" : "The cluster node name.",
8555 "format" : "pve-node",
8556 "type" : "string",
8557 "typetext" : "<string>"
8558 },
8559 "vmid" : {
8560 "description" : "The (unique) ID of the VM.",
8561 "format" : "pve-vmid",
8562 "minimum" : 1,
8563 "type" : "integer",
8564 "typetext" : "<integer> (1 - N)"
8565 }
8566 }
8567 },
8568 "permissions" : {
8569 "check" : [
8570 "perm",
8571 "/vms/{vmid}",
8572 [
8573 "VM.Monitor"
8574 ]
8575 ]
8576 },
8577 "protected" : 1,
8578 "proxyto" : "node",
8579 "returns" : {
8580 "type" : "null"
7aacca6f 8581 }
4d47f125
TL
8582 }
8583 },
8584 "leaf" : 1,
8585 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
8586 "text" : "file-write"
56122987 8587 }
4d47f125 8588 ],
7aacca6f 8589 "info" : {
56122987 8590 "GET" : {
e9cd3bd4 8591 "allowtoken" : 1,
4d47f125 8592 "description" : "Qemu Agent command index.",
44660702 8593 "method" : "GET",
4d47f125 8594 "name" : "index",
56122987 8595 "parameters" : {
4d47f125 8596 "additionalProperties" : 1,
56122987
DM
8597 "properties" : {
8598 "node" : {
44660702 8599 "description" : "The cluster node name.",
56122987 8600 "format" : "pve-node",
013dc89f
DM
8601 "type" : "string",
8602 "typetext" : "<string>"
56122987 8603 },
7aacca6f 8604 "vmid" : {
7aacca6f
DM
8605 "description" : "The (unique) ID of the VM.",
8606 "format" : "pve-vmid",
44660702 8607 "minimum" : 1,
4bd7df8b 8608 "type" : "integer",
013dc89f 8609 "typetext" : "<integer> (1 - N)"
56122987 8610 }
44660702 8611 }
56122987 8612 },
56122987 8613 "permissions" : {
4d47f125 8614 "user" : "all"
56122987 8615 },
4d47f125 8616 "proxyto" : "node",
7aacca6f 8617 "returns" : {
4d47f125 8618 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 8619 "items" : {
44660702
DM
8620 "properties" : {},
8621 "type" : "object"
8622 },
4d47f125
TL
8623 "links" : [
8624 {
8625 "href" : "{name}",
8626 "rel" : "child"
8627 }
8628 ],
44660702 8629 "type" : "array"
7aacca6f 8630 }
4d47f125
TL
8631 },
8632 "POST" : {
e9cd3bd4 8633 "allowtoken" : 1,
4d47f125
TL
8634 "description" : "Execute Qemu Guest Agent commands.",
8635 "method" : "POST",
8636 "name" : "agent",
44660702
DM
8637 "parameters" : {
8638 "additionalProperties" : 0,
8639 "properties" : {
4d47f125
TL
8640 "command" : {
8641 "description" : "The QGA command.",
8642 "enum" : [
8643 "fsfreeze-freeze",
8644 "fsfreeze-status",
8645 "fsfreeze-thaw",
8646 "fstrim",
8647 "get-fsinfo",
8648 "get-host-name",
8649 "get-memory-block-info",
8650 "get-memory-blocks",
8651 "get-osinfo",
8652 "get-time",
8653 "get-timezone",
8654 "get-users",
8655 "get-vcpus",
8656 "info",
8657 "network-get-interfaces",
8658 "ping",
8659 "shutdown",
8660 "suspend-disk",
8661 "suspend-hybrid",
8662 "suspend-ram"
8663 ],
8664 "type" : "string"
8665 },
8666 "node" : {
8667 "description" : "The cluster node name.",
8668 "format" : "pve-node",
8669 "type" : "string",
8670 "typetext" : "<string>"
8671 },
8672 "vmid" : {
8673 "description" : "The (unique) ID of the VM.",
8674 "format" : "pve-vmid",
8675 "minimum" : 1,
8676 "type" : "integer",
8677 "typetext" : "<integer> (1 - N)"
8678 }
8679 }
8680 },
8681 "permissions" : {
8682 "check" : [
8683 "perm",
8684 "/vms/{vmid}",
8685 [
8686 "VM.Monitor"
8687 ]
8688 ]
8689 },
8690 "protected" : 1,
8691 "proxyto" : "node",
8692 "returns" : {
8693 "description" : "Returns an object with a single `result` property.",
8694 "type" : "object"
8695 }
8696 }
8697 },
8698 "leaf" : 0,
8699 "path" : "/nodes/{node}/qemu/{vmid}/agent",
8700 "text" : "agent"
8701 },
8702 {
8703 "info" : {
8704 "GET" : {
e9cd3bd4 8705 "allowtoken" : 1,
4d47f125
TL
8706 "description" : "Read VM RRD statistics (returns PNG)",
8707 "method" : "GET",
8708 "name" : "rrd",
8709 "parameters" : {
8710 "additionalProperties" : 0,
8711 "properties" : {
8712 "cf" : {
8713 "description" : "The RRD consolidation function",
8714 "enum" : [
8715 "AVERAGE",
8716 "MAX"
8717 ],
44660702 8718 "optional" : 1,
4d47f125
TL
8719 "type" : "string"
8720 },
8721 "ds" : {
8722 "description" : "The list of datasources you want to display.",
8723 "format" : "pve-configid-list",
8724 "type" : "string",
8725 "typetext" : "<string>"
44660702
DM
8726 },
8727 "node" : {
8728 "description" : "The cluster node name.",
8729 "format" : "pve-node",
013dc89f
DM
8730 "type" : "string",
8731 "typetext" : "<string>"
44660702 8732 },
4d47f125
TL
8733 "timeframe" : {
8734 "description" : "Specify the time frame you are interested in.",
8735 "enum" : [
8736 "hour",
8737 "day",
8738 "week",
8739 "month",
8740 "year"
8741 ],
8742 "type" : "string"
8743 },
44660702
DM
8744 "vmid" : {
8745 "description" : "The (unique) ID of the VM.",
8746 "format" : "pve-vmid",
8747 "minimum" : 1,
4bd7df8b 8748 "type" : "integer",
013dc89f 8749 "typetext" : "<integer> (1 - N)"
44660702
DM
8750 }
8751 }
7aacca6f 8752 },
56122987
DM
8753 "permissions" : {
8754 "check" : [
8755 "perm",
8756 "/vms/{vmid}",
8757 [
44660702
DM
8758 "VM.Audit"
8759 ]
56122987
DM
8760 ]
8761 },
4d47f125 8762 "protected" : 1,
44660702
DM
8763 "returns" : {
8764 "properties" : {
4d47f125 8765 "filename" : {
44660702
DM
8766 "type" : "string"
8767 }
8768 },
8769 "type" : "object"
8770 }
4d47f125
TL
8771 }
8772 },
8773 "leaf" : 1,
8774 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
8775 "text" : "rrd"
8776 },
8777 {
8778 "info" : {
8779 "GET" : {
e9cd3bd4 8780 "allowtoken" : 1,
4d47f125
TL
8781 "description" : "Read VM RRD statistics",
8782 "method" : "GET",
8783 "name" : "rrddata",
8784 "parameters" : {
8785 "additionalProperties" : 0,
8786 "properties" : {
8787 "cf" : {
8788 "description" : "The RRD consolidation function",
8789 "enum" : [
8790 "AVERAGE",
8791 "MAX"
8792 ],
8793 "optional" : 1,
8794 "type" : "string"
8795 },
8796 "node" : {
8797 "description" : "The cluster node name.",
8798 "format" : "pve-node",
8799 "type" : "string",
8800 "typetext" : "<string>"
8801 },
8802 "timeframe" : {
8803 "description" : "Specify the time frame you are interested in.",
8804 "enum" : [
8805 "hour",
8806 "day",
8807 "week",
8808 "month",
8809 "year"
8810 ],
8811 "type" : "string"
8812 },
8813 "vmid" : {
8814 "description" : "The (unique) ID of the VM.",
8815 "format" : "pve-vmid",
8816 "minimum" : 1,
8817 "type" : "integer",
8818 "typetext" : "<integer> (1 - N)"
8819 }
8820 }
8821 },
8822 "permissions" : {
8823 "check" : [
8824 "perm",
8825 "/vms/{vmid}",
8826 [
8827 "VM.Audit"
8828 ]
8829 ]
8830 },
8831 "protected" : 1,
8832 "returns" : {
8833 "items" : {
8834 "properties" : {},
8835 "type" : "object"
8836 },
8837 "type" : "array"
8838 }
8839 }
8840 },
8841 "leaf" : 1,
8842 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
8843 "text" : "rrddata"
8844 },
8845 {
8846 "info" : {
8847 "GET" : {
e9cd3bd4
TL
8848 "allowtoken" : 1,
8849 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
8850 "method" : "GET",
8851 "name" : "vm_config",
56122987 8852 "parameters" : {
44660702 8853 "additionalProperties" : 0,
4d47f125
TL
8854 "properties" : {
8855 "current" : {
8856 "default" : 0,
8857 "description" : "Get current values (instead of pending values).",
8858 "optional" : 1,
8859 "type" : "boolean",
8860 "typetext" : "<boolean>"
8861 },
8862 "node" : {
8863 "description" : "The cluster node name.",
8864 "format" : "pve-node",
8865 "type" : "string",
8866 "typetext" : "<string>"
8867 },
5f26e15b
TL
8868 "snapshot" : {
8869 "description" : "Fetch config values from given snapshot.",
8870 "format" : "pve-configid",
8871 "maxLength" : 40,
8872 "optional" : 1,
8873 "type" : "string",
8874 "typetext" : "<string>"
8875 },
4d47f125
TL
8876 "vmid" : {
8877 "description" : "The (unique) ID of the VM.",
8878 "format" : "pve-vmid",
8879 "minimum" : 1,
8880 "type" : "integer",
8881 "typetext" : "<integer> (1 - N)"
8882 }
8883 }
8884 },
8885 "permissions" : {
8886 "check" : [
8887 "perm",
8888 "/vms/{vmid}",
8889 [
8890 "VM.Audit"
8891 ]
8892 ]
8893 },
8894 "proxyto" : "node",
8895 "returns" : {
e9cd3bd4 8896 "description" : "The VM configuration.",
56122987 8897 "properties" : {
44660702
DM
8898 "acpi" : {
8899 "default" : 1,
8900 "description" : "Enable/disable ACPI.",
8901 "optional" : 1,
4d47f125 8902 "type" : "boolean"
44660702
DM
8903 },
8904 "agent" : {
4d47f125
TL
8905 "description" : "Enable/disable Qemu GuestAgent and its properties.",
8906 "format" : {
8907 "enabled" : {
8908 "default" : 0,
8909 "default_key" : 1,
8910 "description" : "Enable/disable Qemu GuestAgent.",
8911 "type" : "boolean"
8912 },
8913 "fstrim_cloned_disks" : {
8914 "default" : 0,
8915 "description" : "Run fstrim after cloning/moving a disk.",
8916 "optional" : 1,
8917 "type" : "boolean"
5c1699e5
TL
8918 },
8919 "type" : {
8920 "default" : "virtio",
8921 "description" : "Select the agent type",
8922 "enum" : [
8923 "virtio",
8924 "isa"
8925 ],
8926 "optional" : 1,
8927 "type" : "string"
4d47f125
TL
8928 }
8929 },
7aacca6f 8930 "optional" : 1,
4d47f125 8931 "type" : "string"
7aacca6f 8932 },
e2d681b3
TL
8933 "arch" : {
8934 "description" : "Virtual processor architecture. Defaults to the host.",
8935 "enum" : [
8936 "x86_64",
8937 "aarch64"
8938 ],
8939 "optional" : 1,
8940 "type" : "string"
8941 },
44660702 8942 "args" : {
c2993fe5 8943 "description" : "Arbitrary arguments passed to kvm.",
44660702 8944 "optional" : 1,
c2993fe5
DM
8945 "type" : "string",
8946 "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 8947 },
1c532546
TL
8948 "audio0" : {
8949 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
8950 "format" : {
8951 "device" : {
8952 "description" : "Configure an audio device.",
8953 "enum" : [
8954 "ich9-intel-hda",
8955 "intel-hda",
8956 "AC97"
8957 ],
8958 "type" : "string"
8959 },
8960 "driver" : {
8961 "default" : "spice",
8962 "description" : "Driver backend for the audio device.",
8963 "enum" : [
8964 "spice"
8965 ],
8966 "optional" : 1,
8967 "type" : "string"
8968 }
8969 },
8970 "optional" : 1,
8971 "type" : "string"
8972 },
44660702
DM
8973 "autostart" : {
8974 "default" : 0,
8975 "description" : "Automatic restart after crash (currently ignored).",
56122987 8976 "optional" : 1,
4d47f125 8977 "type" : "boolean"
56122987 8978 },
4d47f125
TL
8979 "balloon" : {
8980 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
8981 "minimum" : 0,
7aacca6f 8982 "optional" : 1,
4d47f125 8983 "type" : "integer"
7aacca6f 8984 },
44660702
DM
8985 "bios" : {
8986 "default" : "seabios",
8987 "description" : "Select BIOS implementation.",
8988 "enum" : [
8989 "seabios",
8990 "ovmf"
8991 ],
56122987 8992 "optional" : 1,
44660702 8993 "type" : "string"
7aacca6f 8994 },
44660702
DM
8995 "boot" : {
8996 "default" : "cdn",
8997 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
8998 "optional" : 1,
8999 "pattern" : "[acdn]{1,4}",
9000 "type" : "string"
9001 },
9002 "bootdisk" : {
9003 "description" : "Enable booting from specified disk.",
9004 "format" : "pve-qm-bootdisk",
9005 "optional" : 1,
9006 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9007 "type" : "string"
9008 },
9009 "cdrom" : {
9010 "description" : "This is an alias for option -ide2",
de0983cb 9011 "format" : "pve-qm-ide",
44660702 9012 "optional" : 1,
7aacca6f 9013 "type" : "string",
013dc89f 9014 "typetext" : "<volume>"
44660702 9015 },
95895385
TL
9016 "cicustom" : {
9017 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
9018 "format" : "pve-qm-cicustom",
9019 "optional" : 1,
9020 "type" : "string"
9021 },
27a7acb2
DM
9022 "cipassword" : {
9023 "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.",
9024 "optional" : 1,
4d47f125 9025 "type" : "string"
27a7acb2
DM
9026 },
9027 "citype" : {
9028 "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.",
9029 "enum" : [
9030 "configdrive2",
9031 "nocloud"
9032 ],
9033 "optional" : 1,
9034 "type" : "string"
9035 },
9036 "ciuser" : {
9037 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9038 "optional" : 1,
4d47f125 9039 "type" : "string"
27a7acb2 9040 },
44660702
DM
9041 "cores" : {
9042 "default" : 1,
9043 "description" : "The number of cores per socket.",
9044 "minimum" : 1,
7aacca6f 9045 "optional" : 1,
4d47f125 9046 "type" : "integer"
7aacca6f 9047 },
44660702
DM
9048 "cpu" : {
9049 "description" : "Emulated CPU type.",
56122987 9050 "format" : {
44660702
DM
9051 "cputype" : {
9052 "default" : "kvm64",
7aacca6f 9053 "default_key" : 1,
44660702 9054 "description" : "Emulated CPU type.",
56122987 9055 "enum" : [
44660702
DM
9056 "486",
9057 "athlon",
f004f5b9 9058 "Broadwell",
35a75dd3 9059 "Broadwell-IBRS",
f004f5b9 9060 "Broadwell-noTSX",
35a75dd3 9061 "Broadwell-noTSX-IBRS",
1c532546 9062 "Cascadelake-Server",
f004f5b9 9063 "Conroe",
44660702 9064 "core2duo",
f004f5b9 9065 "coreduo",
27a7acb2
DM
9066 "EPYC",
9067 "EPYC-IBPB",
f004f5b9 9068 "Haswell",
35a75dd3 9069 "Haswell-IBRS",
f004f5b9 9070 "Haswell-noTSX",
35a75dd3 9071 "Haswell-noTSX-IBRS",
f004f5b9
DM
9072 "host",
9073 "IvyBridge",
35a75dd3 9074 "IvyBridge-IBRS",
1c532546 9075 "KnightsMill",
44660702
DM
9076 "kvm32",
9077 "kvm64",
35a75dd3 9078 "max",
44660702 9079 "Nehalem",
35a75dd3 9080 "Nehalem-IBRS",
44660702
DM
9081 "Opteron_G1",
9082 "Opteron_G2",
9083 "Opteron_G3",
9084 "Opteron_G4",
9085 "Opteron_G5",
f004f5b9
DM
9086 "Penryn",
9087 "pentium",
9088 "pentium2",
9089 "pentium3",
9090 "phenom",
9091 "qemu32",
9092 "qemu64",
9093 "SandyBridge",
35a75dd3 9094 "SandyBridge-IBRS",
5d9c884c 9095 "Skylake-Client",
35a75dd3
DM
9096 "Skylake-Client-IBRS",
9097 "Skylake-Server",
9098 "Skylake-Server-IBRS",
9099 "Westmere",
9100 "Westmere-IBRS"
56122987 9101 ],
56122987
DM
9102 "type" : "string"
9103 },
35a75dd3 9104 "flags" : {
1c532546 9105 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
9106 "format_description" : "+FLAG[;-FLAG...]",
9107 "optional" : 1,
1c532546 9108 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
9109 "type" : "string"
9110 },
44660702
DM
9111 "hidden" : {
9112 "default" : 0,
9113 "description" : "Do not identify as a KVM virtual machine.",
56122987 9114 "optional" : 1,
44660702 9115 "type" : "boolean"
5f26e15b
TL
9116 },
9117 "hv-vendor-id" : {
9118 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
9119 "format_description" : "vendor-id",
9120 "optional" : 1,
9121 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
9122 "type" : "string"
44660702
DM
9123 }
9124 },
9125 "optional" : 1,
4d47f125 9126 "type" : "string"
44660702
DM
9127 },
9128 "cpulimit" : {
9129 "default" : 0,
c2993fe5 9130 "description" : "Limit of CPU usage.",
44660702
DM
9131 "maximum" : 128,
9132 "minimum" : 0,
9133 "optional" : 1,
c2993fe5
DM
9134 "type" : "number",
9135 "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
9136 },
9137 "cpuunits" : {
de0983cb 9138 "default" : 1024,
c2993fe5 9139 "description" : "CPU weight for a VM.",
2489d6df
WB
9140 "maximum" : 262144,
9141 "minimum" : 2,
44660702 9142 "optional" : 1,
c2993fe5 9143 "type" : "integer",
2489d6df 9144 "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 9145 },
44660702
DM
9146 "description" : {
9147 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
9148 "optional" : 1,
4d47f125 9149 "type" : "string"
44660702
DM
9150 },
9151 "digest" : {
4d47f125
TL
9152 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
9153 "type" : "string"
44660702 9154 },
4d47f125
TL
9155 "efidisk0" : {
9156 "description" : "Configure a Disk for storing EFI vars",
9157 "format" : {
9158 "file" : {
9159 "default_key" : 1,
9160 "description" : "The drive's backing volume.",
9161 "format" : "pve-volume-id-or-qm-path",
9162 "format_description" : "volume",
9163 "type" : "string"
9164 },
9165 "format" : {
9166 "description" : "The drive's backing file's data format.",
9167 "enum" : [
9168 "raw",
9169 "cow",
9170 "qcow",
9171 "qed",
9172 "qcow2",
9173 "vmdk",
9174 "cloop"
9175 ],
9176 "optional" : 1,
9177 "type" : "string"
9178 },
9179 "size" : {
9180 "description" : "Disk size. This is purely informational and has no effect.",
9181 "format" : "disk-size",
9182 "format_description" : "DiskSize",
9183 "optional" : 1,
9184 "type" : "string"
9185 },
9186 "volume" : {
9187 "alias" : "file"
9188 }
9189 },
44660702 9190 "optional" : 1,
4d47f125 9191 "type" : "string"
44660702
DM
9192 },
9193 "freeze" : {
9194 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
9195 "optional" : 1,
4d47f125 9196 "type" : "boolean"
44660702 9197 },
5f26e15b
TL
9198 "hookscript" : {
9199 "description" : "Script that will be executed during various steps in the vms lifetime.",
9200 "format" : "pve-volume-id",
9201 "optional" : 1,
9202 "type" : "string"
9203 },
44660702 9204 "hostpci[n]" : {
c2993fe5 9205 "description" : "Map host PCI devices into guest.",
44660702
DM
9206 "format" : "pve-qm-hostpci",
9207 "optional" : 1,
57b78691 9208 "type" : "string",
bb4c8cf8 9209 "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
9210 },
9211 "hotplug" : {
9212 "default" : "network,disk,usb",
9213 "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'.",
9214 "format" : "pve-hotplug-features",
9215 "optional" : 1,
4d47f125 9216 "type" : "string"
44660702 9217 },
4bd7df8b
DM
9218 "hugepages" : {
9219 "description" : "Enable/disable hugepages memory.",
9220 "enum" : [
9221 "any",
9222 "2",
9223 "1024"
9224 ],
9225 "optional" : 1,
9226 "type" : "string"
9227 },
44660702
DM
9228 "ide[n]" : {
9229 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
9230 "format" : {
9231 "aio" : {
9232 "description" : "AIO type to use.",
9233 "enum" : [
9234 "native",
9235 "threads"
56122987 9236 ],
56122987 9237 "optional" : 1,
44660702 9238 "type" : "string"
56122987 9239 },
44660702
DM
9240 "backup" : {
9241 "description" : "Whether the drive should be included when making backups.",
56122987 9242 "optional" : 1,
44660702 9243 "type" : "boolean"
56122987 9244 },
7aacca6f 9245 "bps" : {
de0983cb 9246 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9247 "format_description" : "bps",
9248 "optional" : 1,
9249 "type" : "integer"
9250 },
de0983cb
DM
9251 "bps_max_length" : {
9252 "description" : "Maximum length of I/O bursts in seconds.",
9253 "format_description" : "seconds",
9254 "minimum" : 1,
9255 "optional" : 1,
9256 "type" : "integer"
9257 },
44660702 9258 "bps_rd" : {
de0983cb 9259 "description" : "Maximum read speed in bytes per second.",
44660702 9260 "format_description" : "bps",
56122987 9261 "optional" : 1,
44660702 9262 "type" : "integer"
56122987 9263 },
de0983cb 9264 "bps_rd_length" : {
5d9c884c
DM
9265 "alias" : "bps_rd_max_length"
9266 },
9267 "bps_rd_max_length" : {
de0983cb
DM
9268 "description" : "Maximum length of read I/O bursts in seconds.",
9269 "format_description" : "seconds",
9270 "minimum" : 1,
9271 "optional" : 1,
9272 "type" : "integer"
9273 },
44660702 9274 "bps_wr" : {
de0983cb 9275 "description" : "Maximum write speed in bytes per second.",
44660702
DM
9276 "format_description" : "bps",
9277 "optional" : 1,
9278 "type" : "integer"
9279 },
de0983cb 9280 "bps_wr_length" : {
5d9c884c
DM
9281 "alias" : "bps_wr_max_length"
9282 },
9283 "bps_wr_max_length" : {
de0983cb
DM
9284 "description" : "Maximum length of write I/O bursts in seconds.",
9285 "format_description" : "seconds",
9286 "minimum" : 1,
9287 "optional" : 1,
9288 "type" : "integer"
9289 },
44660702
DM
9290 "cache" : {
9291 "description" : "The drive's cache mode",
9292 "enum" : [
9293 "none",
9294 "writethrough",
9295 "writeback",
9296 "unsafe",
9297 "directsync"
9298 ],
44660702
DM
9299 "optional" : 1,
9300 "type" : "string"
9301 },
9302 "cyls" : {
9303 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9304 "optional" : 1,
9305 "type" : "integer"
9306 },
9307 "detect_zeroes" : {
9308 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9309 "optional" : 1,
9310 "type" : "boolean"
9311 },
9312 "discard" : {
9313 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9314 "enum" : [
9315 "ignore",
9316 "on"
9317 ],
56122987 9318 "optional" : 1,
44660702
DM
9319 "type" : "string"
9320 },
9321 "file" : {
9322 "default_key" : 1,
9323 "description" : "The drive's backing volume.",
9324 "format" : "pve-volume-id-or-qm-path",
9325 "format_description" : "volume",
9326 "type" : "string"
56122987 9327 },
7aacca6f 9328 "format" : {
7aacca6f 9329 "description" : "The drive's backing file's data format.",
56122987 9330 "enum" : [
7aacca6f
DM
9331 "raw",
9332 "cow",
9333 "qcow",
9334 "qed",
9335 "qcow2",
9336 "vmdk",
9337 "cloop"
56122987
DM
9338 ],
9339 "optional" : 1,
56122987
DM
9340 "type" : "string"
9341 },
44660702
DM
9342 "heads" : {
9343 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
9344 "optional" : 1,
9345 "type" : "integer"
7aacca6f 9346 },
44660702 9347 "iops" : {
de0983cb 9348 "description" : "Maximum r/w I/O in operations per second.",
44660702 9349 "format_description" : "iops",
56122987 9350 "optional" : 1,
44660702 9351 "type" : "integer"
56122987 9352 },
44660702 9353 "iops_max" : {
de0983cb 9354 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9355 "format_description" : "iops",
56122987 9356 "optional" : 1,
44660702 9357 "type" : "integer"
56122987 9358 },
de0983cb
DM
9359 "iops_max_length" : {
9360 "description" : "Maximum length of I/O bursts in seconds.",
9361 "format_description" : "seconds",
9362 "minimum" : 1,
9363 "optional" : 1,
9364 "type" : "integer"
9365 },
44660702 9366 "iops_rd" : {
de0983cb 9367 "description" : "Maximum read I/O in operations per second.",
44660702
DM
9368 "format_description" : "iops",
9369 "optional" : 1,
9370 "type" : "integer"
9371 },
de0983cb 9372 "iops_rd_length" : {
5d9c884c 9373 "alias" : "iops_rd_max_length"
de0983cb 9374 },
44660702 9375 "iops_rd_max" : {
de0983cb 9376 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 9377 "format_description" : "iops",
44660702
DM
9378 "optional" : 1,
9379 "type" : "integer"
9380 },
5d9c884c
DM
9381 "iops_rd_max_length" : {
9382 "description" : "Maximum length of read I/O bursts in seconds.",
9383 "format_description" : "seconds",
9384 "minimum" : 1,
9385 "optional" : 1,
9386 "type" : "integer"
9387 },
44660702 9388 "iops_wr" : {
de0983cb 9389 "description" : "Maximum write I/O in operations per second.",
44660702 9390 "format_description" : "iops",
56122987 9391 "optional" : 1,
7aacca6f 9392 "type" : "integer"
56122987 9393 },
de0983cb 9394 "iops_wr_length" : {
5d9c884c 9395 "alias" : "iops_wr_max_length"
de0983cb 9396 },
44660702 9397 "iops_wr_max" : {
de0983cb 9398 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9399 "format_description" : "iops",
7aacca6f 9400 "optional" : 1,
44660702 9401 "type" : "integer"
56122987 9402 },
5d9c884c
DM
9403 "iops_wr_max_length" : {
9404 "description" : "Maximum length of write I/O bursts in seconds.",
9405 "format_description" : "seconds",
9406 "minimum" : 1,
9407 "optional" : 1,
9408 "type" : "integer"
9409 },
44660702 9410 "mbps" : {
de0983cb 9411 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
9412 "format_description" : "mbps",
9413 "optional" : 1,
9414 "type" : "number"
9415 },
9416 "mbps_max" : {
de0983cb 9417 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9418 "format_description" : "mbps",
9419 "optional" : 1,
9420 "type" : "number"
9421 },
9422 "mbps_rd" : {
de0983cb 9423 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
9424 "format_description" : "mbps",
9425 "optional" : 1,
9426 "type" : "number"
9427 },
9428 "mbps_rd_max" : {
de0983cb 9429 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9430 "format_description" : "mbps",
9431 "optional" : 1,
9432 "type" : "number"
9433 },
9434 "mbps_wr" : {
de0983cb 9435 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9436 "format_description" : "mbps",
9437 "optional" : 1,
9438 "type" : "number"
9439 },
9440 "mbps_wr_max" : {
de0983cb 9441 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9442 "format_description" : "mbps",
56122987 9443 "optional" : 1,
44660702 9444 "type" : "number"
56122987 9445 },
7aacca6f 9446 "media" : {
7aacca6f 9447 "default" : "disk",
7aacca6f
DM
9448 "description" : "The drive's media type.",
9449 "enum" : [
9450 "cdrom",
9451 "disk"
44660702 9452 ],
44660702
DM
9453 "optional" : 1,
9454 "type" : "string"
56122987 9455 },
44660702
DM
9456 "model" : {
9457 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
9458 "format" : "urlencoded",
9459 "format_description" : "model",
9460 "maxLength" : 120,
56122987 9461 "optional" : 1,
44660702 9462 "type" : "string"
56122987 9463 },
5d9c884c
DM
9464 "replicate" : {
9465 "default" : 1,
9466 "description" : "Whether the drive should considered for replication jobs.",
9467 "optional" : 1,
9468 "type" : "boolean"
9469 },
44660702
DM
9470 "rerror" : {
9471 "description" : "Read error action.",
9472 "enum" : [
9473 "ignore",
9474 "report",
9475 "stop"
9476 ],
56122987 9477 "optional" : 1,
44660702
DM
9478 "type" : "string"
9479 },
9480 "secs" : {
9481 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9482 "optional" : 1,
9483 "type" : "integer"
9484 },
9485 "serial" : {
9486 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9487 "format" : "urlencoded",
9488 "format_description" : "serial",
9489 "maxLength" : 60,
9490 "optional" : 1,
9491 "type" : "string"
9492 },
27a7acb2
DM
9493 "shared" : {
9494 "default" : 0,
9495 "description" : "Mark this locally-managed volume as available on all nodes",
9496 "optional" : 1,
9497 "type" : "boolean",
9498 "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!"
9499 },
44660702
DM
9500 "size" : {
9501 "description" : "Disk size. This is purely informational and has no effect.",
9502 "format" : "disk-size",
f004f5b9 9503 "format_description" : "DiskSize",
44660702
DM
9504 "optional" : 1,
9505 "type" : "string"
9506 },
9507 "snapshot" : {
27a7acb2 9508 "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
9509 "optional" : 1,
9510 "type" : "boolean"
9511 },
25203dc1
NC
9512 "ssd" : {
9513 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
9514 "optional" : 1,
9515 "type" : "boolean"
9516 },
44660702
DM
9517 "trans" : {
9518 "description" : "Force disk geometry bios translation mode.",
9519 "enum" : [
9520 "none",
9521 "lba",
9522 "auto"
9523 ],
44660702
DM
9524 "optional" : 1,
9525 "type" : "string"
9526 },
9527 "volume" : {
9528 "alias" : "file"
9529 },
9530 "werror" : {
9531 "description" : "Write error action.",
9532 "enum" : [
9533 "enospc",
9534 "ignore",
9535 "report",
9536 "stop"
9537 ],
44660702
DM
9538 "optional" : 1,
9539 "type" : "string"
95895385
TL
9540 },
9541 "wwn" : {
9542 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
9543 "format_description" : "wwn",
9544 "optional" : 1,
9545 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
9546 "type" : "string"
56122987
DM
9547 }
9548 },
44660702 9549 "optional" : 1,
4d47f125 9550 "type" : "string"
27a7acb2
DM
9551 },
9552 "ipconfig[n]" : {
9553 "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",
9554 "format" : "pve-qm-ipconfig",
9555 "optional" : 1,
4d47f125 9556 "type" : "string"
56122987 9557 },
95895385
TL
9558 "ivshmem" : {
9559 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
9560 "format" : {
9561 "name" : {
9562 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
9563 "format_description" : "string",
9564 "optional" : 1,
9565 "pattern" : "[a-zA-Z0-9\\-]+",
9566 "type" : "string"
9567 },
9568 "size" : {
9569 "description" : "The size of the file in MB.",
9570 "minimum" : 1,
9571 "type" : "integer"
9572 }
9573 },
9574 "optional" : 1,
9575 "type" : "string"
9576 },
44660702 9577 "keyboard" : {
35a75dd3 9578 "default" : null,
5da3d723 9579 "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
9580 "enum" : [
9581 "de",
9582 "de-ch",
9583 "da",
9584 "en-gb",
9585 "en-us",
9586 "es",
9587 "fi",
9588 "fr",
9589 "fr-be",
9590 "fr-ca",
9591 "fr-ch",
9592 "hu",
9593 "is",
9594 "it",
9595 "ja",
9596 "lt",
9597 "mk",
9598 "nl",
9599 "no",
9600 "pl",
9601 "pt",
9602 "pt-br",
9603 "sv",
9604 "sl",
9605 "tr"
9606 ],
56122987 9607 "optional" : 1,
44660702
DM
9608 "type" : "string"
9609 },
9610 "kvm" : {
7aacca6f 9611 "default" : 1,
44660702
DM
9612 "description" : "Enable/disable KVM hardware virtualization.",
9613 "optional" : 1,
4d47f125 9614 "type" : "boolean"
56122987 9615 },
44660702
DM
9616 "localtime" : {
9617 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 9618 "optional" : 1,
4d47f125 9619 "type" : "boolean"
56122987 9620 },
44660702
DM
9621 "lock" : {
9622 "description" : "Lock/unlock the VM.",
9623 "enum" : [
44660702 9624 "backup",
5f26e15b
TL
9625 "clone",
9626 "create",
9627 "migrate",
9628 "rollback",
44660702 9629 "snapshot",
95895385
TL
9630 "snapshot-delete",
9631 "suspending",
9632 "suspended"
44660702 9633 ],
7aacca6f 9634 "optional" : 1,
44660702
DM
9635 "type" : "string"
9636 },
9637 "machine" : {
4d47f125 9638 "description" : "Specifies the Qemu machine type.",
44660702
DM
9639 "maxLength" : 40,
9640 "optional" : 1,
5c1699e5 9641 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
9642 "type" : "string"
9643 },
9644 "memory" : {
9645 "default" : 512,
9646 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
9647 "minimum" : 16,
9648 "optional" : 1,
4d47f125 9649 "type" : "integer"
44660702
DM
9650 },
9651 "migrate_downtime" : {
9652 "default" : 0.1,
9653 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
9654 "minimum" : 0,
9655 "optional" : 1,
4d47f125 9656 "type" : "number"
44660702
DM
9657 },
9658 "migrate_speed" : {
9659 "default" : 0,
9660 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
9661 "minimum" : 0,
9662 "optional" : 1,
4d47f125 9663 "type" : "integer"
44660702
DM
9664 },
9665 "name" : {
9666 "description" : "Set a name for the VM. Only used on the configuration web interface.",
9667 "format" : "dns-name",
9668 "optional" : 1,
4d47f125 9669 "type" : "string"
44660702 9670 },
27a7acb2
DM
9671 "nameserver" : {
9672 "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.",
9673 "format" : "address-list",
9674 "optional" : 1,
4d47f125 9675 "type" : "string"
27a7acb2 9676 },
44660702 9677 "net[n]" : {
c2993fe5 9678 "description" : "Specify network devices.",
f004f5b9
DM
9679 "format" : {
9680 "bridge" : {
c2993fe5 9681 "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
9682 "format_description" : "bridge",
9683 "optional" : 1,
9684 "type" : "string"
9685 },
9686 "e1000" : {
9687 "alias" : "macaddr",
9688 "keyAlias" : "model"
9689 },
9690 "e1000-82540em" : {
9691 "alias" : "macaddr",
9692 "keyAlias" : "model"
9693 },
9694 "e1000-82544gc" : {
9695 "alias" : "macaddr",
9696 "keyAlias" : "model"
9697 },
9698 "e1000-82545em" : {
9699 "alias" : "macaddr",
9700 "keyAlias" : "model"
9701 },
9702 "firewall" : {
9703 "description" : "Whether this interface should be protected by the firewall.",
9704 "optional" : 1,
9705 "type" : "boolean"
9706 },
9707 "i82551" : {
9708 "alias" : "macaddr",
9709 "keyAlias" : "model"
9710 },
9711 "i82557b" : {
9712 "alias" : "macaddr",
9713 "keyAlias" : "model"
9714 },
9715 "i82559er" : {
9716 "alias" : "macaddr",
9717 "keyAlias" : "model"
9718 },
9719 "link_down" : {
c2993fe5 9720 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
9721 "optional" : 1,
9722 "type" : "boolean"
9723 },
9724 "macaddr" : {
c2993fe5 9725 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 9726 "format" : "mac-addr",
f004f5b9 9727 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 9728 "optional" : 1,
95895385
TL
9729 "type" : "string",
9730 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
9731 },
9732 "model" : {
9733 "default_key" : 1,
c2993fe5 9734 "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
9735 "enum" : [
9736 "rtl8139",
9737 "ne2k_pci",
9738 "e1000",
9739 "pcnet",
9740 "virtio",
9741 "ne2k_isa",
9742 "i82551",
9743 "i82557b",
9744 "i82559er",
9745 "vmxnet3",
9746 "e1000-82540em",
9747 "e1000-82544gc",
9748 "e1000-82545em"
9749 ],
f004f5b9
DM
9750 "type" : "string"
9751 },
9752 "ne2k_isa" : {
9753 "alias" : "macaddr",
9754 "keyAlias" : "model"
9755 },
9756 "ne2k_pci" : {
9757 "alias" : "macaddr",
9758 "keyAlias" : "model"
9759 },
9760 "pcnet" : {
9761 "alias" : "macaddr",
9762 "keyAlias" : "model"
9763 },
9764 "queues" : {
9765 "description" : "Number of packet queues to be used on the device.",
9766 "maximum" : 16,
9767 "minimum" : 0,
9768 "optional" : 1,
9769 "type" : "integer"
9770 },
9771 "rate" : {
c2993fe5 9772 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
9773 "minimum" : 0,
9774 "optional" : 1,
9775 "type" : "number"
9776 },
9777 "rtl8139" : {
9778 "alias" : "macaddr",
9779 "keyAlias" : "model"
9780 },
9781 "tag" : {
9782 "description" : "VLAN tag to apply to packets on this interface.",
9783 "maximum" : 4094,
c2993fe5 9784 "minimum" : 1,
f004f5b9
DM
9785 "optional" : 1,
9786 "type" : "integer"
9787 },
9788 "trunks" : {
9789 "description" : "VLAN trunks to pass through this interface.",
9790 "format_description" : "vlanid[;vlanid...]",
9791 "optional" : 1,
9792 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9793 "type" : "string"
9794 },
9795 "virtio" : {
9796 "alias" : "macaddr",
9797 "keyAlias" : "model"
9798 },
9799 "vmxnet3" : {
9800 "alias" : "macaddr",
9801 "keyAlias" : "model"
9802 }
9803 },
44660702 9804 "optional" : 1,
4d47f125 9805 "type" : "string"
44660702
DM
9806 },
9807 "numa" : {
9808 "default" : 0,
9809 "description" : "Enable/disable NUMA.",
9810 "optional" : 1,
4d47f125 9811 "type" : "boolean"
44660702
DM
9812 },
9813 "numa[n]" : {
c2993fe5 9814 "description" : "NUMA topology.",
56122987 9815 "format" : {
7aacca6f 9816 "cpus" : {
c2993fe5 9817 "description" : "CPUs accessing this NUMA node.",
44660702
DM
9818 "format_description" : "id[-id];...",
9819 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9820 "type" : "string"
7aacca6f
DM
9821 },
9822 "hostnodes" : {
c2993fe5 9823 "description" : "Host NUMA nodes to use.",
44660702 9824 "format_description" : "id[-id];...",
7aacca6f 9825 "optional" : 1,
7aacca6f 9826 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 9827 "type" : "string"
7aacca6f 9828 },
44660702 9829 "memory" : {
c2993fe5 9830 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 9831 "optional" : 1,
44660702
DM
9832 "type" : "number"
9833 },
9834 "policy" : {
c2993fe5 9835 "description" : "NUMA allocation policy.",
7aacca6f
DM
9836 "enum" : [
9837 "preferred",
9838 "bind",
9839 "interleave"
9840 ],
44660702
DM
9841 "optional" : 1,
9842 "type" : "string"
56122987 9843 }
44660702 9844 },
56122987 9845 "optional" : 1,
4d47f125 9846 "type" : "string"
56122987 9847 },
44660702 9848 "onboot" : {
7aacca6f 9849 "default" : 0,
44660702
DM
9850 "description" : "Specifies whether a VM will be started during system bootup.",
9851 "optional" : 1,
4d47f125 9852 "type" : "boolean"
7aacca6f
DM
9853 },
9854 "ostype" : {
c2993fe5 9855 "description" : "Specify guest operating system.",
7aacca6f
DM
9856 "enum" : [
9857 "other",
9858 "wxp",
9859 "w2k",
9860 "w2k3",
9861 "w2k8",
9862 "wvista",
9863 "win7",
9864 "win8",
32d876b5 9865 "win10",
7aacca6f
DM
9866 "l24",
9867 "l26",
9868 "solaris"
9869 ],
7aacca6f 9870 "optional" : 1,
c2993fe5 9871 "type" : "string",
5c1699e5 9872 "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 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 9873 },
44660702 9874 "parallel[n]" : {
c2993fe5 9875 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 9876 "optional" : 1,
44660702 9877 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
9878 "type" : "string",
9879 "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
9880 },
9881 "protection" : {
9882 "default" : 0,
c2993fe5 9883 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 9884 "optional" : 1,
4d47f125 9885 "type" : "boolean"
7aacca6f 9886 },
44660702
DM
9887 "reboot" : {
9888 "default" : 1,
9889 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 9890 "optional" : 1,
4d47f125 9891 "type" : "boolean"
44660702
DM
9892 },
9893 "sata[n]" : {
9894 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 9895 "format" : {
44660702
DM
9896 "aio" : {
9897 "description" : "AIO type to use.",
7aacca6f 9898 "enum" : [
44660702
DM
9899 "native",
9900 "threads"
7aacca6f 9901 ],
44660702
DM
9902 "optional" : 1,
9903 "type" : "string"
7aacca6f 9904 },
44660702
DM
9905 "backup" : {
9906 "description" : "Whether the drive should be included when making backups.",
56122987 9907 "optional" : 1,
7aacca6f 9908 "type" : "boolean"
44660702
DM
9909 },
9910 "bps" : {
de0983cb 9911 "description" : "Maximum r/w speed in bytes per second.",
44660702 9912 "format_description" : "bps",
7aacca6f 9913 "optional" : 1,
44660702 9914 "type" : "integer"
56122987 9915 },
de0983cb
DM
9916 "bps_max_length" : {
9917 "description" : "Maximum length of I/O bursts in seconds.",
9918 "format_description" : "seconds",
9919 "minimum" : 1,
9920 "optional" : 1,
9921 "type" : "integer"
9922 },
44660702 9923 "bps_rd" : {
de0983cb 9924 "description" : "Maximum read speed in bytes per second.",
44660702 9925 "format_description" : "bps",
56122987 9926 "optional" : 1,
44660702 9927 "type" : "integer"
56122987 9928 },
de0983cb 9929 "bps_rd_length" : {
5d9c884c
DM
9930 "alias" : "bps_rd_max_length"
9931 },
9932 "bps_rd_max_length" : {
de0983cb
DM
9933 "description" : "Maximum length of read I/O bursts in seconds.",
9934 "format_description" : "seconds",
9935 "minimum" : 1,
9936 "optional" : 1,
9937 "type" : "integer"
9938 },
44660702 9939 "bps_wr" : {
de0983cb 9940 "description" : "Maximum write speed in bytes per second.",
44660702 9941 "format_description" : "bps",
56122987 9942 "optional" : 1,
44660702 9943 "type" : "integer"
56122987 9944 },
de0983cb 9945 "bps_wr_length" : {
5d9c884c
DM
9946 "alias" : "bps_wr_max_length"
9947 },
9948 "bps_wr_max_length" : {
de0983cb
DM
9949 "description" : "Maximum length of write I/O bursts in seconds.",
9950 "format_description" : "seconds",
9951 "minimum" : 1,
9952 "optional" : 1,
9953 "type" : "integer"
9954 },
56122987 9955 "cache" : {
44660702 9956 "description" : "The drive's cache mode",
56122987
DM
9957 "enum" : [
9958 "none",
9959 "writethrough",
9960 "writeback",
9961 "unsafe",
9962 "directsync"
9963 ],
56122987 9964 "optional" : 1,
44660702 9965 "type" : "string"
56122987 9966 },
44660702
DM
9967 "cyls" : {
9968 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 9969 "optional" : 1,
44660702 9970 "type" : "integer"
7aacca6f
DM
9971 },
9972 "detect_zeroes" : {
9973 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 9974 "optional" : 1,
44660702 9975 "type" : "boolean"
56122987 9976 },
44660702
DM
9977 "discard" : {
9978 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9979 "enum" : [
9980 "ignore",
9981 "on"
9982 ],
56122987 9983 "optional" : 1,
44660702 9984 "type" : "string"
7aacca6f 9985 },
44660702
DM
9986 "file" : {
9987 "default_key" : 1,
9988 "description" : "The drive's backing volume.",
9989 "format" : "pve-volume-id-or-qm-path",
9990 "format_description" : "volume",
9991 "type" : "string"
56122987 9992 },
7aacca6f 9993 "format" : {
44660702 9994 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9995 "enum" : [
9996 "raw",
9997 "cow",
9998 "qcow",
9999 "qed",
10000 "qcow2",
10001 "vmdk",
10002 "cloop"
10003 ],
7aacca6f 10004 "optional" : 1,
44660702 10005 "type" : "string"
56122987 10006 },
7aacca6f 10007 "heads" : {
7aacca6f 10008 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10009 "optional" : 1,
7aacca6f 10010 "type" : "integer"
56122987 10011 },
44660702 10012 "iops" : {
de0983cb 10013 "description" : "Maximum r/w I/O in operations per second.",
44660702 10014 "format_description" : "iops",
56122987 10015 "optional" : 1,
44660702 10016 "type" : "integer"
56122987 10017 },
44660702 10018 "iops_max" : {
de0983cb 10019 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10020 "format_description" : "iops",
56122987 10021 "optional" : 1,
44660702 10022 "type" : "integer"
56122987 10023 },
de0983cb
DM
10024 "iops_max_length" : {
10025 "description" : "Maximum length of I/O bursts in seconds.",
10026 "format_description" : "seconds",
10027 "minimum" : 1,
10028 "optional" : 1,
10029 "type" : "integer"
10030 },
44660702 10031 "iops_rd" : {
de0983cb 10032 "description" : "Maximum read I/O in operations per second.",
44660702 10033 "format_description" : "iops",
7aacca6f 10034 "optional" : 1,
44660702 10035 "type" : "integer"
56122987 10036 },
de0983cb 10037 "iops_rd_length" : {
5d9c884c 10038 "alias" : "iops_rd_max_length"
de0983cb 10039 },
44660702 10040 "iops_rd_max" : {
de0983cb 10041 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10042 "format_description" : "iops",
56122987 10043 "optional" : 1,
44660702 10044 "type" : "integer"
7aacca6f 10045 },
5d9c884c
DM
10046 "iops_rd_max_length" : {
10047 "description" : "Maximum length of read I/O bursts in seconds.",
10048 "format_description" : "seconds",
10049 "minimum" : 1,
10050 "optional" : 1,
10051 "type" : "integer"
10052 },
44660702 10053 "iops_wr" : {
de0983cb 10054 "description" : "Maximum write I/O in operations per second.",
44660702 10055 "format_description" : "iops",
56122987 10056 "optional" : 1,
44660702 10057 "type" : "integer"
56122987 10058 },
de0983cb 10059 "iops_wr_length" : {
5d9c884c 10060 "alias" : "iops_wr_max_length"
de0983cb 10061 },
56122987 10062 "iops_wr_max" : {
de0983cb 10063 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10064 "format_description" : "iops",
56122987 10065 "optional" : 1,
44660702 10066 "type" : "integer"
56122987 10067 },
5d9c884c
DM
10068 "iops_wr_max_length" : {
10069 "description" : "Maximum length of write I/O bursts in seconds.",
10070 "format_description" : "seconds",
10071 "minimum" : 1,
10072 "optional" : 1,
10073 "type" : "integer"
10074 },
44660702 10075 "mbps" : {
de0983cb 10076 "description" : "Maximum r/w speed in megabytes per second.",
44660702 10077 "format_description" : "mbps",
56122987 10078 "optional" : 1,
44660702 10079 "type" : "number"
56122987 10080 },
44660702 10081 "mbps_max" : {
de0983cb 10082 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10083 "format_description" : "mbps",
10084 "optional" : 1,
10085 "type" : "number"
56122987 10086 },
44660702 10087 "mbps_rd" : {
de0983cb 10088 "description" : "Maximum read speed in megabytes per second.",
44660702 10089 "format_description" : "mbps",
56122987 10090 "optional" : 1,
44660702 10091 "type" : "number"
56122987 10092 },
44660702 10093 "mbps_rd_max" : {
de0983cb 10094 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10095 "format_description" : "mbps",
56122987 10096 "optional" : 1,
44660702 10097 "type" : "number"
56122987 10098 },
44660702 10099 "mbps_wr" : {
de0983cb 10100 "description" : "Maximum write speed in megabytes per second.",
56122987 10101 "format_description" : "mbps",
44660702
DM
10102 "optional" : 1,
10103 "type" : "number"
56122987 10104 },
44660702 10105 "mbps_wr_max" : {
de0983cb 10106 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10107 "format_description" : "mbps",
10108 "optional" : 1,
10109 "type" : "number"
7aacca6f 10110 },
44660702
DM
10111 "media" : {
10112 "default" : "disk",
10113 "description" : "The drive's media type.",
10114 "enum" : [
10115 "cdrom",
10116 "disk"
10117 ],
56122987 10118 "optional" : 1,
44660702
DM
10119 "type" : "string"
10120 },
5d9c884c
DM
10121 "replicate" : {
10122 "default" : 1,
10123 "description" : "Whether the drive should considered for replication jobs.",
10124 "optional" : 1,
10125 "type" : "boolean"
10126 },
44660702
DM
10127 "rerror" : {
10128 "description" : "Read error action.",
7aacca6f 10129 "enum" : [
44660702
DM
10130 "ignore",
10131 "report",
10132 "stop"
10133 ],
7aacca6f 10134 "optional" : 1,
44660702 10135 "type" : "string"
56122987 10136 },
44660702
DM
10137 "secs" : {
10138 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10139 "optional" : 1,
44660702 10140 "type" : "integer"
56122987 10141 },
44660702
DM
10142 "serial" : {
10143 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10144 "format" : "urlencoded",
10145 "format_description" : "serial",
10146 "maxLength" : 60,
56122987 10147 "optional" : 1,
44660702 10148 "type" : "string"
56122987 10149 },
27a7acb2
DM
10150 "shared" : {
10151 "default" : 0,
10152 "description" : "Mark this locally-managed volume as available on all nodes",
10153 "optional" : 1,
10154 "type" : "boolean",
10155 "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!"
10156 },
44660702
DM
10157 "size" : {
10158 "description" : "Disk size. This is purely informational and has no effect.",
10159 "format" : "disk-size",
f004f5b9 10160 "format_description" : "DiskSize",
44660702
DM
10161 "optional" : 1,
10162 "type" : "string"
10163 },
10164 "snapshot" : {
27a7acb2 10165 "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 10166 "optional" : 1,
44660702
DM
10167 "type" : "boolean"
10168 },
25203dc1
NC
10169 "ssd" : {
10170 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10171 "optional" : 1,
10172 "type" : "boolean"
10173 },
44660702
DM
10174 "trans" : {
10175 "description" : "Force disk geometry bios translation mode.",
56122987 10176 "enum" : [
7aacca6f
DM
10177 "none",
10178 "lba",
10179 "auto"
56122987 10180 ],
44660702
DM
10181 "optional" : 1,
10182 "type" : "string"
56122987 10183 },
7aacca6f
DM
10184 "volume" : {
10185 "alias" : "file"
56122987 10186 },
44660702
DM
10187 "werror" : {
10188 "description" : "Write error action.",
10189 "enum" : [
10190 "enospc",
10191 "ignore",
10192 "report",
10193 "stop"
10194 ],
7aacca6f 10195 "optional" : 1,
44660702 10196 "type" : "string"
95895385
TL
10197 },
10198 "wwn" : {
10199 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10200 "format_description" : "wwn",
10201 "optional" : 1,
10202 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10203 "type" : "string"
44660702
DM
10204 }
10205 },
10206 "optional" : 1,
4d47f125 10207 "type" : "string"
44660702
DM
10208 },
10209 "scsi[n]" : {
e9cd3bd4 10210 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702 10211 "format" : {
56122987 10212 "aio" : {
56122987
DM
10213 "description" : "AIO type to use.",
10214 "enum" : [
10215 "native",
10216 "threads"
10217 ],
7aacca6f 10218 "optional" : 1,
44660702 10219 "type" : "string"
56122987 10220 },
44660702
DM
10221 "backup" : {
10222 "description" : "Whether the drive should be included when making backups.",
56122987 10223 "optional" : 1,
44660702 10224 "type" : "boolean"
56122987 10225 },
44660702 10226 "bps" : {
de0983cb 10227 "description" : "Maximum r/w speed in bytes per second.",
44660702 10228 "format_description" : "bps",
56122987 10229 "optional" : 1,
44660702 10230 "type" : "integer"
56122987 10231 },
de0983cb
DM
10232 "bps_max_length" : {
10233 "description" : "Maximum length of I/O bursts in seconds.",
10234 "format_description" : "seconds",
10235 "minimum" : 1,
10236 "optional" : 1,
10237 "type" : "integer"
10238 },
44660702 10239 "bps_rd" : {
de0983cb 10240 "description" : "Maximum read speed in bytes per second.",
44660702 10241 "format_description" : "bps",
56122987 10242 "optional" : 1,
44660702 10243 "type" : "integer"
56122987 10244 },
de0983cb 10245 "bps_rd_length" : {
5d9c884c
DM
10246 "alias" : "bps_rd_max_length"
10247 },
10248 "bps_rd_max_length" : {
de0983cb
DM
10249 "description" : "Maximum length of read I/O bursts in seconds.",
10250 "format_description" : "seconds",
10251 "minimum" : 1,
10252 "optional" : 1,
10253 "type" : "integer"
10254 },
7aacca6f 10255 "bps_wr" : {
de0983cb 10256 "description" : "Maximum write speed in bytes per second.",
7aacca6f 10257 "format_description" : "bps",
56122987 10258 "optional" : 1,
44660702 10259 "type" : "integer"
56122987 10260 },
de0983cb 10261 "bps_wr_length" : {
5d9c884c
DM
10262 "alias" : "bps_wr_max_length"
10263 },
10264 "bps_wr_max_length" : {
de0983cb
DM
10265 "description" : "Maximum length of write I/O bursts in seconds.",
10266 "format_description" : "seconds",
10267 "minimum" : 1,
10268 "optional" : 1,
10269 "type" : "integer"
10270 },
44660702
DM
10271 "cache" : {
10272 "description" : "The drive's cache mode",
7aacca6f 10273 "enum" : [
44660702
DM
10274 "none",
10275 "writethrough",
10276 "writeback",
10277 "unsafe",
10278 "directsync"
7aacca6f 10279 ],
56122987 10280 "optional" : 1,
44660702 10281 "type" : "string"
56122987 10282 },
44660702
DM
10283 "cyls" : {
10284 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10285 "optional" : 1,
44660702 10286 "type" : "integer"
56122987 10287 },
44660702
DM
10288 "detect_zeroes" : {
10289 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 10290 "optional" : 1,
44660702 10291 "type" : "boolean"
56122987 10292 },
44660702
DM
10293 "discard" : {
10294 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10295 "enum" : [
10296 "ignore",
10297 "on"
10298 ],
7aacca6f 10299 "optional" : 1,
44660702 10300 "type" : "string"
56122987 10301 },
44660702
DM
10302 "file" : {
10303 "default_key" : 1,
10304 "description" : "The drive's backing volume.",
10305 "format" : "pve-volume-id-or-qm-path",
10306 "format_description" : "volume",
10307 "type" : "string"
56122987 10308 },
7aacca6f 10309 "format" : {
44660702 10310 "description" : "The drive's backing file's data format.",
56122987 10311 "enum" : [
7aacca6f
DM
10312 "raw",
10313 "cow",
10314 "qcow",
10315 "qed",
10316 "qcow2",
10317 "vmdk",
10318 "cloop"
10319 ],
44660702
DM
10320 "optional" : 1,
10321 "type" : "string"
56122987 10322 },
44660702
DM
10323 "heads" : {
10324 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10325 "optional" : 1,
7aacca6f 10326 "type" : "integer"
56122987 10327 },
44660702 10328 "iops" : {
de0983cb 10329 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10330 "format_description" : "iops",
44660702
DM
10331 "optional" : 1,
10332 "type" : "integer"
7aacca6f 10333 },
44660702 10334 "iops_max" : {
de0983cb 10335 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10336 "format_description" : "iops",
56122987 10337 "optional" : 1,
44660702 10338 "type" : "integer"
7aacca6f 10339 },
de0983cb
DM
10340 "iops_max_length" : {
10341 "description" : "Maximum length of I/O bursts in seconds.",
10342 "format_description" : "seconds",
10343 "minimum" : 1,
10344 "optional" : 1,
10345 "type" : "integer"
10346 },
44660702 10347 "iops_rd" : {
de0983cb 10348 "description" : "Maximum read I/O in operations per second.",
44660702 10349 "format_description" : "iops",
7aacca6f 10350 "optional" : 1,
44660702 10351 "type" : "integer"
56122987 10352 },
de0983cb 10353 "iops_rd_length" : {
5d9c884c 10354 "alias" : "iops_rd_max_length"
de0983cb 10355 },
44660702 10356 "iops_rd_max" : {
de0983cb 10357 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
10358 "format_description" : "iops",
10359 "optional" : 1,
10360 "type" : "integer"
10361 },
5d9c884c
DM
10362 "iops_rd_max_length" : {
10363 "description" : "Maximum length of read I/O bursts in seconds.",
10364 "format_description" : "seconds",
10365 "minimum" : 1,
10366 "optional" : 1,
10367 "type" : "integer"
10368 },
44660702 10369 "iops_wr" : {
de0983cb 10370 "description" : "Maximum write I/O in operations per second.",
44660702 10371 "format_description" : "iops",
56122987 10372 "optional" : 1,
44660702
DM
10373 "type" : "integer"
10374 },
de0983cb 10375 "iops_wr_length" : {
5d9c884c 10376 "alias" : "iops_wr_max_length"
de0983cb 10377 },
44660702 10378 "iops_wr_max" : {
de0983cb 10379 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10380 "format_description" : "iops",
10381 "optional" : 1,
10382 "type" : "integer"
56122987 10383 },
5d9c884c
DM
10384 "iops_wr_max_length" : {
10385 "description" : "Maximum length of write I/O bursts in seconds.",
10386 "format_description" : "seconds",
10387 "minimum" : 1,
10388 "optional" : 1,
10389 "type" : "integer"
10390 },
7aacca6f 10391 "iothread" : {
7aacca6f 10392 "description" : "Whether to use iothreads for this drive",
56122987 10393 "optional" : 1,
56122987
DM
10394 "type" : "boolean"
10395 },
44660702 10396 "mbps" : {
de0983cb 10397 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10398 "format_description" : "mbps",
10399 "optional" : 1,
10400 "type" : "number"
10401 },
10402 "mbps_max" : {
de0983cb 10403 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10404 "format_description" : "mbps",
10405 "optional" : 1,
10406 "type" : "number"
10407 },
10408 "mbps_rd" : {
de0983cb 10409 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10410 "format_description" : "mbps",
10411 "optional" : 1,
10412 "type" : "number"
10413 },
10414 "mbps_rd_max" : {
de0983cb 10415 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10416 "format_description" : "mbps",
10417 "optional" : 1,
10418 "type" : "number"
10419 },
10420 "mbps_wr" : {
de0983cb 10421 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10422 "format_description" : "mbps",
10423 "optional" : 1,
10424 "type" : "number"
10425 },
10426 "mbps_wr_max" : {
de0983cb 10427 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10428 "format_description" : "mbps",
10429 "optional" : 1,
10430 "type" : "number"
10431 },
7aacca6f 10432 "media" : {
44660702
DM
10433 "default" : "disk",
10434 "description" : "The drive's media type.",
7aacca6f
DM
10435 "enum" : [
10436 "cdrom",
10437 "disk"
10438 ],
56122987 10439 "optional" : 1,
44660702
DM
10440 "type" : "string"
10441 },
10442 "queues" : {
10443 "description" : "Number of queues.",
44660702
DM
10444 "minimum" : 2,
10445 "optional" : 1,
10446 "type" : "integer"
10447 },
5d9c884c
DM
10448 "replicate" : {
10449 "default" : 1,
10450 "description" : "Whether the drive should considered for replication jobs.",
10451 "optional" : 1,
10452 "type" : "boolean"
10453 },
10454 "rerror" : {
10455 "description" : "Read error action.",
10456 "enum" : [
10457 "ignore",
10458 "report",
10459 "stop"
10460 ],
10461 "optional" : 1,
10462 "type" : "string"
10463 },
52e44c50
FG
10464 "scsiblock" : {
10465 "default" : 0,
10466 "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",
10467 "optional" : 1,
10468 "type" : "boolean"
10469 },
44660702
DM
10470 "secs" : {
10471 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10472 "optional" : 1,
10473 "type" : "integer"
10474 },
10475 "serial" : {
10476 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10477 "format" : "urlencoded",
10478 "format_description" : "serial",
10479 "maxLength" : 60,
10480 "optional" : 1,
10481 "type" : "string"
10482 },
27a7acb2
DM
10483 "shared" : {
10484 "default" : 0,
10485 "description" : "Mark this locally-managed volume as available on all nodes",
10486 "optional" : 1,
10487 "type" : "boolean",
10488 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
10489 },
44660702
DM
10490 "size" : {
10491 "description" : "Disk size. This is purely informational and has no effect.",
10492 "format" : "disk-size",
f004f5b9 10493 "format_description" : "DiskSize",
44660702
DM
10494 "optional" : 1,
10495 "type" : "string"
56122987 10496 },
7aacca6f 10497 "snapshot" : {
27a7acb2 10498 "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
7aacca6f 10499 "optional" : 1,
44660702 10500 "type" : "boolean"
7aacca6f 10501 },
25203dc1
NC
10502 "ssd" : {
10503 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10504 "optional" : 1,
10505 "type" : "boolean"
10506 },
44660702
DM
10507 "trans" : {
10508 "description" : "Force disk geometry bios translation mode.",
10509 "enum" : [
10510 "none",
10511 "lba",
10512 "auto"
10513 ],
44660702
DM
10514 "optional" : 1,
10515 "type" : "string"
10516 },
10517 "volume" : {
10518 "alias" : "file"
10519 },
10520 "werror" : {
10521 "description" : "Write error action.",
10522 "enum" : [
10523 "enospc",
10524 "ignore",
10525 "report",
10526 "stop"
10527 ],
56122987 10528 "optional" : 1,
44660702 10529 "type" : "string"
95895385
TL
10530 },
10531 "wwn" : {
10532 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10533 "format_description" : "wwn",
10534 "optional" : 1,
10535 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10536 "type" : "string"
56122987 10537 }
44660702 10538 },
7aacca6f 10539 "optional" : 1,
4d47f125 10540 "type" : "string"
44660702
DM
10541 },
10542 "scsihw" : {
10543 "default" : "lsi",
c2993fe5 10544 "description" : "SCSI controller model",
7aacca6f 10545 "enum" : [
44660702
DM
10546 "lsi",
10547 "lsi53c810",
10548 "virtio-scsi-pci",
10549 "virtio-scsi-single",
10550 "megasas",
10551 "pvscsi"
7aacca6f 10552 ],
44660702
DM
10553 "optional" : 1,
10554 "type" : "string"
56122987 10555 },
27a7acb2
DM
10556 "searchdomain" : {
10557 "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.",
10558 "optional" : 1,
4d47f125 10559 "type" : "string"
27a7acb2 10560 },
44660702 10561 "serial[n]" : {
c2993fe5 10562 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 10563 "optional" : 1,
44660702 10564 "pattern" : "(/dev/.+|socket)",
c2993fe5 10565 "type" : "string",
57b78691 10566 "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 10567 },
44660702
DM
10568 "shares" : {
10569 "default" : 1000,
5da3d723 10570 "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
10571 "maximum" : 50000,
10572 "minimum" : 0,
56122987 10573 "optional" : 1,
4d47f125 10574 "type" : "integer"
56122987 10575 },
44660702
DM
10576 "smbios1" : {
10577 "description" : "Specify SMBIOS type 1 fields.",
10578 "format" : "pve-qm-smbios1",
1e3f8156 10579 "maxLength" : 512,
56122987 10580 "optional" : 1,
4d47f125 10581 "type" : "string"
56122987 10582 },
44660702
DM
10583 "smp" : {
10584 "default" : 1,
10585 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 10586 "minimum" : 1,
7aacca6f 10587 "optional" : 1,
4d47f125 10588 "type" : "integer"
7aacca6f 10589 },
44660702
DM
10590 "sockets" : {
10591 "default" : 1,
10592 "description" : "The number of CPU sockets.",
10593 "minimum" : 1,
7aacca6f 10594 "optional" : 1,
4d47f125 10595 "type" : "integer"
56122987 10596 },
1c532546
TL
10597 "spice_enhancements" : {
10598 "description" : "Configure additional enhancements for SPICE.",
10599 "format" : {
10600 "foldersharing" : {
10601 "default" : "0",
10602 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
10603 "optional" : 1,
10604 "type" : "boolean"
10605 },
10606 "videostreaming" : {
10607 "default" : "off",
10608 "description" : "Enable video streaming. Uses compression for detected video streams.",
10609 "enum" : [
10610 "off",
10611 "all",
10612 "filter"
10613 ],
10614 "optional" : 1,
10615 "type" : "string"
10616 }
10617 },
10618 "optional" : 1,
10619 "type" : "string"
10620 },
27a7acb2
DM
10621 "sshkeys" : {
10622 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
10623 "format" : "urlencoded",
10624 "optional" : 1,
4d47f125 10625 "type" : "string"
27a7acb2 10626 },
44660702
DM
10627 "startdate" : {
10628 "default" : "now",
10629 "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 10630 "optional" : 1,
44660702 10631 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 10632 "type" : "string",
44660702 10633 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 10634 },
7aacca6f 10635 "startup" : {
7aacca6f 10636 "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 10637 "format" : "pve-startup-order",
56122987 10638 "optional" : 1,
44660702
DM
10639 "type" : "string",
10640 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 10641 },
44660702 10642 "tablet" : {
7aacca6f 10643 "default" : 1,
c2993fe5 10644 "description" : "Enable/disable the USB tablet device.",
7aacca6f 10645 "optional" : 1,
c2993fe5
DM
10646 "type" : "boolean",
10647 "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 10648 },
5c1699e5
TL
10649 "tags" : {
10650 "description" : "Tags of the VM. This is only meta information.",
10651 "format" : "pve-tag-list",
10652 "optional" : 1,
10653 "type" : "string"
10654 },
44660702
DM
10655 "tdf" : {
10656 "default" : 0,
10657 "description" : "Enable/disable time drift fix.",
7aacca6f 10658 "optional" : 1,
4d47f125 10659 "type" : "boolean"
7aacca6f 10660 },
44660702
DM
10661 "template" : {
10662 "default" : 0,
10663 "description" : "Enable/disable Template.",
7aacca6f 10664 "optional" : 1,
4d47f125 10665 "type" : "boolean"
7aacca6f 10666 },
44660702 10667 "unused[n]" : {
c2993fe5 10668 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 10669 "format" : "pve-volume-id",
7aacca6f 10670 "optional" : 1,
4d47f125 10671 "type" : "string"
7aacca6f 10672 },
44660702 10673 "usb[n]" : {
c2993fe5 10674 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
10675 "format" : {
10676 "host" : {
10677 "default_key" : 1,
c2993fe5 10678 "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
10679 "format" : "pve-qm-usb-device",
10680 "format_description" : "HOSTUSBDEVICE|spice",
10681 "type" : "string"
10682 },
10683 "usb3" : {
c2993fe5 10684 "default" : 0,
1c532546 10685 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
10686 "optional" : 1,
10687 "type" : "boolean"
10688 }
10689 },
7aacca6f 10690 "optional" : 1,
4d47f125 10691 "type" : "string"
56122987 10692 },
44660702
DM
10693 "vcpus" : {
10694 "default" : 0,
10695 "description" : "Number of hotplugged vcpus.",
10696 "minimum" : 1,
56122987 10697 "optional" : 1,
4d47f125 10698 "type" : "integer"
56122987 10699 },
44660702 10700 "vga" : {
e2d681b3
TL
10701 "description" : "Configure the VGA hardware.",
10702 "format" : {
10703 "memory" : {
10704 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
10705 "maximum" : 512,
10706 "minimum" : 4,
10707 "optional" : 1,
10708 "type" : "integer"
10709 },
10710 "type" : {
10711 "default" : "std",
10712 "default_key" : 1,
10713 "description" : "Select the VGA type.",
10714 "enum" : [
10715 "cirrus",
10716 "qxl",
10717 "qxl2",
10718 "qxl3",
10719 "qxl4",
5f26e15b 10720 "none",
e2d681b3
TL
10721 "serial0",
10722 "serial1",
10723 "serial2",
10724 "serial3",
10725 "std",
10726 "virtio",
10727 "vmware"
10728 ],
10729 "optional" : 1,
10730 "type" : "string"
10731 }
10732 },
56122987 10733 "optional" : 1,
c2993fe5 10734 "type" : "string",
e2d681b3 10735 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
56122987 10736 },
44660702
DM
10737 "virtio[n]" : {
10738 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 10739 "format" : {
44660702
DM
10740 "aio" : {
10741 "description" : "AIO type to use.",
56122987 10742 "enum" : [
44660702
DM
10743 "native",
10744 "threads"
56122987 10745 ],
56122987
DM
10746 "optional" : 1,
10747 "type" : "string"
10748 },
44660702
DM
10749 "backup" : {
10750 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10751 "optional" : 1,
10752 "type" : "boolean"
7aacca6f 10753 },
44660702 10754 "bps" : {
de0983cb 10755 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10756 "format_description" : "bps",
10757 "optional" : 1,
10758 "type" : "integer"
56122987 10759 },
de0983cb
DM
10760 "bps_max_length" : {
10761 "description" : "Maximum length of I/O bursts in seconds.",
10762 "format_description" : "seconds",
10763 "minimum" : 1,
10764 "optional" : 1,
10765 "type" : "integer"
10766 },
44660702 10767 "bps_rd" : {
de0983cb 10768 "description" : "Maximum read speed in bytes per second.",
44660702 10769 "format_description" : "bps",
56122987 10770 "optional" : 1,
44660702 10771 "type" : "integer"
56122987 10772 },
de0983cb 10773 "bps_rd_length" : {
5d9c884c
DM
10774 "alias" : "bps_rd_max_length"
10775 },
10776 "bps_rd_max_length" : {
de0983cb
DM
10777 "description" : "Maximum length of read I/O bursts in seconds.",
10778 "format_description" : "seconds",
10779 "minimum" : 1,
10780 "optional" : 1,
10781 "type" : "integer"
10782 },
44660702 10783 "bps_wr" : {
de0983cb 10784 "description" : "Maximum write speed in bytes per second.",
44660702 10785 "format_description" : "bps",
56122987 10786 "optional" : 1,
44660702
DM
10787 "type" : "integer"
10788 },
de0983cb 10789 "bps_wr_length" : {
5d9c884c
DM
10790 "alias" : "bps_wr_max_length"
10791 },
10792 "bps_wr_max_length" : {
de0983cb
DM
10793 "description" : "Maximum length of write I/O bursts in seconds.",
10794 "format_description" : "seconds",
10795 "minimum" : 1,
10796 "optional" : 1,
10797 "type" : "integer"
10798 },
44660702
DM
10799 "cache" : {
10800 "description" : "The drive's cache mode",
56122987 10801 "enum" : [
44660702
DM
10802 "none",
10803 "writethrough",
10804 "writeback",
10805 "unsafe",
10806 "directsync"
56122987 10807 ],
56122987 10808 "optional" : 1,
44660702 10809 "type" : "string"
56122987 10810 },
44660702
DM
10811 "cyls" : {
10812 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 10813 "optional" : 1,
44660702 10814 "type" : "integer"
7aacca6f 10815 },
44660702
DM
10816 "detect_zeroes" : {
10817 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10818 "optional" : 1,
10819 "type" : "boolean"
7aacca6f 10820 },
44660702
DM
10821 "discard" : {
10822 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10823 "enum" : [
10824 "ignore",
10825 "on"
10826 ],
56122987 10827 "optional" : 1,
44660702 10828 "type" : "string"
56122987
DM
10829 },
10830 "file" : {
7aacca6f 10831 "default_key" : 1,
44660702 10832 "description" : "The drive's backing volume.",
7aacca6f 10833 "format" : "pve-volume-id-or-qm-path",
44660702
DM
10834 "format_description" : "volume",
10835 "type" : "string"
7aacca6f
DM
10836 },
10837 "format" : {
7aacca6f
DM
10838 "description" : "The drive's backing file's data format.",
10839 "enum" : [
10840 "raw",
10841 "cow",
10842 "qcow",
10843 "qed",
10844 "qcow2",
10845 "vmdk",
10846 "cloop"
56122987
DM
10847 ],
10848 "optional" : 1,
56122987
DM
10849 "type" : "string"
10850 },
44660702
DM
10851 "heads" : {
10852 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10853 "optional" : 1,
44660702 10854 "type" : "integer"
56122987 10855 },
44660702 10856 "iops" : {
de0983cb 10857 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 10858 "format_description" : "iops",
56122987 10859 "optional" : 1,
44660702 10860 "type" : "integer"
56122987 10861 },
44660702 10862 "iops_max" : {
de0983cb 10863 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10864 "format_description" : "iops",
56122987 10865 "optional" : 1,
56122987
DM
10866 "type" : "integer"
10867 },
de0983cb
DM
10868 "iops_max_length" : {
10869 "description" : "Maximum length of I/O bursts in seconds.",
10870 "format_description" : "seconds",
10871 "minimum" : 1,
10872 "optional" : 1,
10873 "type" : "integer"
10874 },
44660702 10875 "iops_rd" : {
de0983cb 10876 "description" : "Maximum read I/O in operations per second.",
44660702 10877 "format_description" : "iops",
56122987 10878 "optional" : 1,
44660702 10879 "type" : "integer"
56122987 10880 },
de0983cb 10881 "iops_rd_length" : {
5d9c884c 10882 "alias" : "iops_rd_max_length"
de0983cb 10883 },
44660702 10884 "iops_rd_max" : {
de0983cb 10885 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10886 "format_description" : "iops",
7aacca6f 10887 "optional" : 1,
44660702 10888 "type" : "integer"
56122987 10889 },
5d9c884c
DM
10890 "iops_rd_max_length" : {
10891 "description" : "Maximum length of read I/O bursts in seconds.",
10892 "format_description" : "seconds",
10893 "minimum" : 1,
10894 "optional" : 1,
10895 "type" : "integer"
10896 },
44660702 10897 "iops_wr" : {
de0983cb 10898 "description" : "Maximum write I/O in operations per second.",
44660702 10899 "format_description" : "iops",
7aacca6f 10900 "optional" : 1,
44660702 10901 "type" : "integer"
56122987 10902 },
de0983cb 10903 "iops_wr_length" : {
5d9c884c 10904 "alias" : "iops_wr_max_length"
de0983cb 10905 },
44660702 10906 "iops_wr_max" : {
de0983cb 10907 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10908 "format_description" : "iops",
56122987
DM
10909 "optional" : 1,
10910 "type" : "integer"
10911 },
5d9c884c
DM
10912 "iops_wr_max_length" : {
10913 "description" : "Maximum length of write I/O bursts in seconds.",
10914 "format_description" : "seconds",
10915 "minimum" : 1,
10916 "optional" : 1,
10917 "type" : "integer"
10918 },
44660702
DM
10919 "iothread" : {
10920 "description" : "Whether to use iothreads for this drive",
44660702
DM
10921 "optional" : 1,
10922 "type" : "boolean"
10923 },
10924 "mbps" : {
de0983cb 10925 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 10926 "format_description" : "mbps",
44660702
DM
10927 "optional" : 1,
10928 "type" : "number"
10929 },
10930 "mbps_max" : {
de0983cb 10931 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10932 "format_description" : "mbps",
10933 "optional" : 1,
10934 "type" : "number"
7aacca6f 10935 },
44660702 10936 "mbps_rd" : {
de0983cb 10937 "description" : "Maximum read speed in megabytes per second.",
44660702 10938 "format_description" : "mbps",
56122987 10939 "optional" : 1,
44660702 10940 "type" : "number"
56122987 10941 },
44660702 10942 "mbps_rd_max" : {
de0983cb 10943 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10944 "format_description" : "mbps",
7aacca6f 10945 "optional" : 1,
44660702 10946 "type" : "number"
56122987 10947 },
44660702 10948 "mbps_wr" : {
de0983cb 10949 "description" : "Maximum write speed in megabytes per second.",
44660702 10950 "format_description" : "mbps",
56122987 10951 "optional" : 1,
44660702 10952 "type" : "number"
56122987 10953 },
44660702 10954 "mbps_wr_max" : {
de0983cb 10955 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10956 "format_description" : "mbps",
56122987 10957 "optional" : 1,
44660702 10958 "type" : "number"
56122987
DM
10959 },
10960 "media" : {
7aacca6f 10961 "default" : "disk",
44660702 10962 "description" : "The drive's media type.",
56122987
DM
10963 "enum" : [
10964 "cdrom",
10965 "disk"
10966 ],
44660702
DM
10967 "optional" : 1,
10968 "type" : "string"
56122987 10969 },
5d9c884c
DM
10970 "replicate" : {
10971 "default" : 1,
10972 "description" : "Whether the drive should considered for replication jobs.",
10973 "optional" : 1,
10974 "type" : "boolean"
10975 },
7aacca6f 10976 "rerror" : {
44660702 10977 "description" : "Read error action.",
56122987 10978 "enum" : [
7aacca6f
DM
10979 "ignore",
10980 "report",
10981 "stop"
56122987 10982 ],
56122987 10983 "optional" : 1,
44660702 10984 "type" : "string"
56122987 10985 },
44660702
DM
10986 "secs" : {
10987 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10988 "optional" : 1,
10989 "type" : "integer"
10990 },
10991 "serial" : {
10992 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10993 "format" : "urlencoded",
10994 "format_description" : "serial",
10995 "maxLength" : 60,
56122987 10996 "optional" : 1,
7aacca6f 10997 "type" : "string"
56122987 10998 },
27a7acb2
DM
10999 "shared" : {
11000 "default" : 0,
11001 "description" : "Mark this locally-managed volume as available on all nodes",
11002 "optional" : 1,
11003 "type" : "boolean",
11004 "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!"
11005 },
44660702
DM
11006 "size" : {
11007 "description" : "Disk size. This is purely informational and has no effect.",
11008 "format" : "disk-size",
f004f5b9 11009 "format_description" : "DiskSize",
56122987 11010 "optional" : 1,
44660702 11011 "type" : "string"
56122987 11012 },
44660702 11013 "snapshot" : {
27a7acb2 11014 "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 11015 "optional" : 1,
44660702 11016 "type" : "boolean"
56122987 11017 },
44660702
DM
11018 "trans" : {
11019 "description" : "Force disk geometry bios translation mode.",
11020 "enum" : [
11021 "none",
11022 "lba",
11023 "auto"
11024 ],
44660702
DM
11025 "optional" : 1,
11026 "type" : "string"
11027 },
11028 "volume" : {
11029 "alias" : "file"
11030 },
11031 "werror" : {
11032 "description" : "Write error action.",
11033 "enum" : [
11034 "enospc",
11035 "ignore",
11036 "report",
11037 "stop"
11038 ],
56122987 11039 "optional" : 1,
44660702 11040 "type" : "string"
56122987 11041 }
44660702 11042 },
56122987 11043 "optional" : 1,
4d47f125 11044 "type" : "string"
56122987 11045 },
4d47f125
TL
11046 "vmgenid" : {
11047 "default" : "1 (autogenerated)",
11048 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
11049 "format_description" : "UUID",
11050 "optional" : 1,
11051 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
11052 "type" : "string",
11053 "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 11054 },
2489d6df
WB
11055 "vmstatestorage" : {
11056 "description" : "Default storage for VM state volumes/files.",
11057 "format" : "pve-storage-id",
11058 "optional" : 1,
4d47f125 11059 "type" : "string"
2489d6df 11060 },
44660702 11061 "watchdog" : {
c2993fe5 11062 "description" : "Create a virtual hardware watchdog device.",
44660702 11063 "format" : "pve-qm-watchdog",
56122987 11064 "optional" : 1,
c2993fe5
DM
11065 "type" : "string",
11066 "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 11067 }
4d47f125
TL
11068 },
11069 "type" : "object"
44660702 11070 }
56122987 11071 },
4d47f125 11072 "POST" : {
e9cd3bd4 11073 "allowtoken" : 1,
4d47f125
TL
11074 "description" : "Set virtual machine options (asynchrounous API).",
11075 "method" : "POST",
11076 "name" : "update_vm_async",
56122987 11077 "parameters" : {
7aacca6f 11078 "additionalProperties" : 0,
56122987 11079 "properties" : {
44660702
DM
11080 "acpi" : {
11081 "default" : 1,
11082 "description" : "Enable/disable ACPI.",
7aacca6f 11083 "optional" : 1,
013dc89f
DM
11084 "type" : "boolean",
11085 "typetext" : "<boolean>"
7aacca6f 11086 },
44660702 11087 "agent" : {
4d47f125
TL
11088 "description" : "Enable/disable Qemu GuestAgent and its properties.",
11089 "format" : {
11090 "enabled" : {
11091 "default" : 0,
11092 "default_key" : 1,
11093 "description" : "Enable/disable Qemu GuestAgent.",
11094 "type" : "boolean"
11095 },
11096 "fstrim_cloned_disks" : {
11097 "default" : 0,
11098 "description" : "Run fstrim after cloning/moving a disk.",
11099 "optional" : 1,
11100 "type" : "boolean"
5c1699e5
TL
11101 },
11102 "type" : {
11103 "default" : "virtio",
11104 "description" : "Select the agent type",
11105 "enum" : [
11106 "virtio",
11107 "isa"
11108 ],
11109 "optional" : 1,
11110 "type" : "string"
4d47f125
TL
11111 }
11112 },
7aacca6f 11113 "optional" : 1,
4d47f125 11114 "type" : "string",
5c1699e5 11115 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 11116 },
e2d681b3
TL
11117 "arch" : {
11118 "description" : "Virtual processor architecture. Defaults to the host.",
11119 "enum" : [
11120 "x86_64",
11121 "aarch64"
11122 ],
11123 "optional" : 1,
11124 "type" : "string"
11125 },
44660702 11126 "args" : {
c2993fe5 11127 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 11128 "optional" : 1,
c2993fe5 11129 "type" : "string",
013dc89f 11130 "typetext" : "<string>",
c2993fe5 11131 "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 11132 },
1c532546
TL
11133 "audio0" : {
11134 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
11135 "format" : {
11136 "device" : {
11137 "description" : "Configure an audio device.",
11138 "enum" : [
11139 "ich9-intel-hda",
11140 "intel-hda",
11141 "AC97"
11142 ],
11143 "type" : "string"
11144 },
11145 "driver" : {
11146 "default" : "spice",
11147 "description" : "Driver backend for the audio device.",
11148 "enum" : [
11149 "spice"
11150 ],
11151 "optional" : 1,
11152 "type" : "string"
11153 }
11154 },
11155 "optional" : 1,
11156 "type" : "string",
11157 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
11158 },
44660702
DM
11159 "autostart" : {
11160 "default" : 0,
11161 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 11162 "optional" : 1,
013dc89f
DM
11163 "type" : "boolean",
11164 "typetext" : "<boolean>"
7aacca6f 11165 },
4d47f125
TL
11166 "background_delay" : {
11167 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
11168 "maximum" : 30,
11169 "minimum" : 1,
11170 "optional" : 1,
11171 "type" : "integer",
11172 "typetext" : "<integer> (1 - 30)"
11173 },
44660702
DM
11174 "balloon" : {
11175 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11176 "minimum" : 0,
11177 "optional" : 1,
4bd7df8b 11178 "type" : "integer",
013dc89f 11179 "typetext" : "<integer> (0 - N)"
44660702
DM
11180 },
11181 "bios" : {
11182 "default" : "seabios",
11183 "description" : "Select BIOS implementation.",
7aacca6f 11184 "enum" : [
44660702
DM
11185 "seabios",
11186 "ovmf"
7aacca6f 11187 ],
56122987 11188 "optional" : 1,
7aacca6f
DM
11189 "type" : "string"
11190 },
44660702
DM
11191 "boot" : {
11192 "default" : "cdn",
11193 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 11194 "optional" : 1,
44660702
DM
11195 "pattern" : "[acdn]{1,4}",
11196 "type" : "string"
56122987 11197 },
44660702
DM
11198 "bootdisk" : {
11199 "description" : "Enable booting from specified disk.",
11200 "format" : "pve-qm-bootdisk",
11201 "optional" : 1,
11202 "pattern" : "(ide|sata|scsi|virtio)\\d+",
11203 "type" : "string"
11204 },
11205 "cdrom" : {
11206 "description" : "This is an alias for option -ide2",
de0983cb 11207 "format" : "pve-qm-ide",
56122987 11208 "optional" : 1,
7aacca6f 11209 "type" : "string",
013dc89f 11210 "typetext" : "<volume>"
44660702 11211 },
95895385
TL
11212 "cicustom" : {
11213 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
11214 "format" : "pve-qm-cicustom",
11215 "optional" : 1,
11216 "type" : "string",
11217 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
11218 },
27a7acb2
DM
11219 "cipassword" : {
11220 "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.",
11221 "optional" : 1,
11222 "type" : "string",
11223 "typetext" : "<string>"
11224 },
11225 "citype" : {
11226 "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.",
11227 "enum" : [
11228 "configdrive2",
11229 "nocloud"
11230 ],
11231 "optional" : 1,
11232 "type" : "string"
11233 },
11234 "ciuser" : {
11235 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
11236 "optional" : 1,
11237 "type" : "string",
11238 "typetext" : "<string>"
11239 },
44660702
DM
11240 "cores" : {
11241 "default" : 1,
11242 "description" : "The number of cores per socket.",
11243 "minimum" : 1,
11244 "optional" : 1,
4bd7df8b 11245 "type" : "integer",
013dc89f 11246 "typetext" : "<integer> (1 - N)"
44660702
DM
11247 },
11248 "cpu" : {
11249 "description" : "Emulated CPU type.",
11250 "format" : {
11251 "cputype" : {
11252 "default" : "kvm64",
11253 "default_key" : 1,
11254 "description" : "Emulated CPU type.",
11255 "enum" : [
11256 "486",
11257 "athlon",
f004f5b9 11258 "Broadwell",
35a75dd3 11259 "Broadwell-IBRS",
f004f5b9 11260 "Broadwell-noTSX",
35a75dd3 11261 "Broadwell-noTSX-IBRS",
1c532546 11262 "Cascadelake-Server",
f004f5b9 11263 "Conroe",
44660702 11264 "core2duo",
f004f5b9 11265 "coreduo",
27a7acb2
DM
11266 "EPYC",
11267 "EPYC-IBPB",
f004f5b9 11268 "Haswell",
35a75dd3 11269 "Haswell-IBRS",
f004f5b9 11270 "Haswell-noTSX",
35a75dd3 11271 "Haswell-noTSX-IBRS",
f004f5b9
DM
11272 "host",
11273 "IvyBridge",
35a75dd3 11274 "IvyBridge-IBRS",
1c532546 11275 "KnightsMill",
44660702
DM
11276 "kvm32",
11277 "kvm64",
35a75dd3 11278 "max",
44660702 11279 "Nehalem",
35a75dd3 11280 "Nehalem-IBRS",
44660702
DM
11281 "Opteron_G1",
11282 "Opteron_G2",
11283 "Opteron_G3",
11284 "Opteron_G4",
11285 "Opteron_G5",
f004f5b9
DM
11286 "Penryn",
11287 "pentium",
11288 "pentium2",
11289 "pentium3",
11290 "phenom",
11291 "qemu32",
11292 "qemu64",
11293 "SandyBridge",
35a75dd3 11294 "SandyBridge-IBRS",
5d9c884c 11295 "Skylake-Client",
35a75dd3
DM
11296 "Skylake-Client-IBRS",
11297 "Skylake-Server",
11298 "Skylake-Server-IBRS",
11299 "Westmere",
11300 "Westmere-IBRS"
44660702 11301 ],
44660702
DM
11302 "type" : "string"
11303 },
35a75dd3 11304 "flags" : {
1c532546 11305 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
11306 "format_description" : "+FLAG[;-FLAG...]",
11307 "optional" : 1,
1c532546 11308 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
11309 "type" : "string"
11310 },
44660702
DM
11311 "hidden" : {
11312 "default" : 0,
11313 "description" : "Do not identify as a KVM virtual machine.",
11314 "optional" : 1,
11315 "type" : "boolean"
5f26e15b
TL
11316 },
11317 "hv-vendor-id" : {
11318 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
11319 "format_description" : "vendor-id",
11320 "optional" : 1,
11321 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
11322 "type" : "string"
44660702
DM
11323 }
11324 },
11325 "optional" : 1,
4bd7df8b 11326 "type" : "string",
5f26e15b 11327 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702
DM
11328 },
11329 "cpulimit" : {
11330 "default" : 0,
c2993fe5 11331 "description" : "Limit of CPU usage.",
44660702
DM
11332 "maximum" : 128,
11333 "minimum" : 0,
11334 "optional" : 1,
c2993fe5 11335 "type" : "number",
013dc89f 11336 "typetext" : "<number> (0 - 128)",
c2993fe5 11337 "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
11338 },
11339 "cpuunits" : {
de0983cb 11340 "default" : 1024,
c2993fe5 11341 "description" : "CPU weight for a VM.",
2489d6df
WB
11342 "maximum" : 262144,
11343 "minimum" : 2,
44660702 11344 "optional" : 1,
c2993fe5 11345 "type" : "integer",
2489d6df
WB
11346 "typetext" : "<integer> (2 - 262144)",
11347 "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
11348 },
11349 "delete" : {
11350 "description" : "A list of settings you want to delete.",
11351 "format" : "pve-configid-list",
11352 "optional" : 1,
013dc89f
DM
11353 "type" : "string",
11354 "typetext" : "<string>"
44660702
DM
11355 },
11356 "description" : {
11357 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
11358 "optional" : 1,
013dc89f
DM
11359 "type" : "string",
11360 "typetext" : "<string>"
44660702
DM
11361 },
11362 "digest" : {
11363 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
11364 "maxLength" : 40,
11365 "optional" : 1,
013dc89f
DM
11366 "type" : "string",
11367 "typetext" : "<string>"
44660702 11368 },
4d47f125
TL
11369 "efidisk0" : {
11370 "description" : "Configure a Disk for storing EFI vars",
11371 "format" : {
11372 "file" : {
11373 "default_key" : 1,
11374 "description" : "The drive's backing volume.",
11375 "format" : "pve-volume-id-or-qm-path",
11376 "format_description" : "volume",
11377 "type" : "string"
11378 },
11379 "format" : {
11380 "description" : "The drive's backing file's data format.",
11381 "enum" : [
11382 "raw",
11383 "cow",
11384 "qcow",
11385 "qed",
11386 "qcow2",
11387 "vmdk",
11388 "cloop"
11389 ],
11390 "optional" : 1,
11391 "type" : "string"
11392 },
11393 "size" : {
11394 "description" : "Disk size. This is purely informational and has no effect.",
11395 "format" : "disk-size",
11396 "format_description" : "DiskSize",
11397 "optional" : 1,
11398 "type" : "string"
11399 },
11400 "volume" : {
11401 "alias" : "file"
11402 }
11403 },
11404 "optional" : 1,
11405 "type" : "string",
11406 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
11407 },
44660702
DM
11408 "force" : {
11409 "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.",
11410 "optional" : 1,
11411 "requires" : "delete",
013dc89f
DM
11412 "type" : "boolean",
11413 "typetext" : "<boolean>"
44660702
DM
11414 },
11415 "freeze" : {
11416 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11417 "optional" : 1,
013dc89f
DM
11418 "type" : "boolean",
11419 "typetext" : "<boolean>"
44660702 11420 },
5f26e15b
TL
11421 "hookscript" : {
11422 "description" : "Script that will be executed during various steps in the vms lifetime.",
11423 "format" : "pve-volume-id",
11424 "optional" : 1,
11425 "type" : "string",
11426 "typetext" : "<string>"
11427 },
44660702 11428 "hostpci[n]" : {
c2993fe5 11429 "description" : "Map host PCI devices into guest.",
44660702
DM
11430 "format" : "pve-qm-hostpci",
11431 "optional" : 1,
57b78691 11432 "type" : "string",
e2d681b3 11433 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 11434 "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 11435 },
7aacca6f 11436 "hotplug" : {
7aacca6f 11437 "default" : "network,disk,usb",
44660702
DM
11438 "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'.",
11439 "format" : "pve-hotplug-features",
56122987 11440 "optional" : 1,
013dc89f
DM
11441 "type" : "string",
11442 "typetext" : "<string>"
56122987 11443 },
4bd7df8b
DM
11444 "hugepages" : {
11445 "description" : "Enable/disable hugepages memory.",
11446 "enum" : [
11447 "any",
11448 "2",
11449 "1024"
11450 ],
11451 "optional" : 1,
11452 "type" : "string"
11453 },
56122987 11454 "ide[n]" : {
7aacca6f 11455 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11456 "format" : {
44660702
DM
11457 "aio" : {
11458 "description" : "AIO type to use.",
11459 "enum" : [
11460 "native",
11461 "threads"
11462 ],
56122987 11463 "optional" : 1,
44660702 11464 "type" : "string"
56122987 11465 },
44660702
DM
11466 "backup" : {
11467 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11468 "optional" : 1,
11469 "type" : "boolean"
11470 },
11471 "bps" : {
de0983cb 11472 "description" : "Maximum r/w speed in bytes per second.",
44660702 11473 "format_description" : "bps",
56122987 11474 "optional" : 1,
44660702 11475 "type" : "integer"
56122987 11476 },
de0983cb
DM
11477 "bps_max_length" : {
11478 "description" : "Maximum length of I/O bursts in seconds.",
11479 "format_description" : "seconds",
11480 "minimum" : 1,
11481 "optional" : 1,
11482 "type" : "integer"
11483 },
44660702 11484 "bps_rd" : {
de0983cb 11485 "description" : "Maximum read speed in bytes per second.",
44660702 11486 "format_description" : "bps",
56122987 11487 "optional" : 1,
44660702 11488 "type" : "integer"
56122987 11489 },
de0983cb 11490 "bps_rd_length" : {
5d9c884c
DM
11491 "alias" : "bps_rd_max_length"
11492 },
11493 "bps_rd_max_length" : {
de0983cb
DM
11494 "description" : "Maximum length of read I/O bursts in seconds.",
11495 "format_description" : "seconds",
11496 "minimum" : 1,
11497 "optional" : 1,
11498 "type" : "integer"
11499 },
7aacca6f 11500 "bps_wr" : {
de0983cb 11501 "description" : "Maximum write speed in bytes per second.",
44660702
DM
11502 "format_description" : "bps",
11503 "optional" : 1,
11504 "type" : "integer"
7aacca6f 11505 },
de0983cb 11506 "bps_wr_length" : {
5d9c884c
DM
11507 "alias" : "bps_wr_max_length"
11508 },
11509 "bps_wr_max_length" : {
de0983cb
DM
11510 "description" : "Maximum length of write I/O bursts in seconds.",
11511 "format_description" : "seconds",
11512 "minimum" : 1,
11513 "optional" : 1,
11514 "type" : "integer"
11515 },
44660702
DM
11516 "cache" : {
11517 "description" : "The drive's cache mode",
11518 "enum" : [
11519 "none",
11520 "writethrough",
11521 "writeback",
11522 "unsafe",
11523 "directsync"
11524 ],
56122987 11525 "optional" : 1,
44660702
DM
11526 "type" : "string"
11527 },
11528 "cyls" : {
11529 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11530 "optional" : 1,
11531 "type" : "integer"
11532 },
11533 "detect_zeroes" : {
11534 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11535 "optional" : 1,
11536 "type" : "boolean"
56122987 11537 },
7aacca6f 11538 "discard" : {
7aacca6f 11539 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11540 "enum" : [
7aacca6f
DM
11541 "ignore",
11542 "on"
56122987
DM
11543 ],
11544 "optional" : 1,
44660702 11545 "type" : "string"
7aacca6f 11546 },
44660702
DM
11547 "file" : {
11548 "default_key" : 1,
11549 "description" : "The drive's backing volume.",
11550 "format" : "pve-volume-id-or-qm-path",
11551 "format_description" : "volume",
11552 "type" : "string"
7aacca6f
DM
11553 },
11554 "format" : {
44660702 11555 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11556 "enum" : [
11557 "raw",
11558 "cow",
11559 "qcow",
11560 "qed",
11561 "qcow2",
11562 "vmdk",
11563 "cloop"
11564 ],
7aacca6f 11565 "optional" : 1,
44660702 11566 "type" : "string"
56122987 11567 },
7aacca6f 11568 "heads" : {
44660702 11569 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11570 "optional" : 1,
44660702 11571 "type" : "integer"
7aacca6f 11572 },
44660702 11573 "iops" : {
de0983cb 11574 "description" : "Maximum r/w I/O in operations per second.",
44660702 11575 "format_description" : "iops",
7aacca6f 11576 "optional" : 1,
44660702 11577 "type" : "integer"
56122987 11578 },
44660702 11579 "iops_max" : {
de0983cb 11580 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11581 "format_description" : "iops",
56122987 11582 "optional" : 1,
44660702 11583 "type" : "integer"
56122987 11584 },
de0983cb
DM
11585 "iops_max_length" : {
11586 "description" : "Maximum length of I/O bursts in seconds.",
11587 "format_description" : "seconds",
11588 "minimum" : 1,
11589 "optional" : 1,
11590 "type" : "integer"
11591 },
44660702 11592 "iops_rd" : {
de0983cb 11593 "description" : "Maximum read I/O in operations per second.",
44660702 11594 "format_description" : "iops",
56122987 11595 "optional" : 1,
44660702 11596 "type" : "integer"
7aacca6f 11597 },
de0983cb 11598 "iops_rd_length" : {
5d9c884c 11599 "alias" : "iops_rd_max_length"
de0983cb 11600 },
44660702 11601 "iops_rd_max" : {
de0983cb 11602 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11603 "format_description" : "iops",
7aacca6f 11604 "optional" : 1,
44660702 11605 "type" : "integer"
7aacca6f 11606 },
5d9c884c
DM
11607 "iops_rd_max_length" : {
11608 "description" : "Maximum length of read I/O bursts in seconds.",
11609 "format_description" : "seconds",
11610 "minimum" : 1,
11611 "optional" : 1,
11612 "type" : "integer"
11613 },
44660702 11614 "iops_wr" : {
de0983cb 11615 "description" : "Maximum write I/O in operations per second.",
44660702 11616 "format_description" : "iops",
7aacca6f 11617 "optional" : 1,
44660702 11618 "type" : "integer"
56122987 11619 },
de0983cb 11620 "iops_wr_length" : {
5d9c884c 11621 "alias" : "iops_wr_max_length"
de0983cb 11622 },
44660702 11623 "iops_wr_max" : {
de0983cb 11624 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11625 "format_description" : "iops",
7aacca6f 11626 "optional" : 1,
44660702 11627 "type" : "integer"
7aacca6f 11628 },
5d9c884c
DM
11629 "iops_wr_max_length" : {
11630 "description" : "Maximum length of write I/O bursts in seconds.",
11631 "format_description" : "seconds",
11632 "minimum" : 1,
11633 "optional" : 1,
11634 "type" : "integer"
11635 },
7aacca6f 11636 "mbps" : {
de0983cb 11637 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 11638 "format_description" : "mbps",
7aacca6f 11639 "optional" : 1,
44660702 11640 "type" : "number"
7aacca6f 11641 },
44660702 11642 "mbps_max" : {
de0983cb 11643 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11644 "format_description" : "mbps",
7aacca6f 11645 "optional" : 1,
44660702 11646 "type" : "number"
7aacca6f 11647 },
44660702 11648 "mbps_rd" : {
de0983cb 11649 "description" : "Maximum read speed in megabytes per second.",
44660702 11650 "format_description" : "mbps",
7aacca6f 11651 "optional" : 1,
44660702 11652 "type" : "number"
7aacca6f 11653 },
44660702 11654 "mbps_rd_max" : {
de0983cb 11655 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11656 "format_description" : "mbps",
11657 "optional" : 1,
11658 "type" : "number"
7aacca6f 11659 },
44660702 11660 "mbps_wr" : {
de0983cb 11661 "description" : "Maximum write speed in megabytes per second.",
44660702 11662 "format_description" : "mbps",
7aacca6f 11663 "optional" : 1,
44660702
DM
11664 "type" : "number"
11665 },
11666 "mbps_wr_max" : {
de0983cb 11667 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11668 "format_description" : "mbps",
11669 "optional" : 1,
11670 "type" : "number"
11671 },
11672 "media" : {
11673 "default" : "disk",
11674 "description" : "The drive's media type.",
56122987 11675 "enum" : [
44660702
DM
11676 "cdrom",
11677 "disk"
56122987 11678 ],
44660702
DM
11679 "optional" : 1,
11680 "type" : "string"
56122987 11681 },
7aacca6f 11682 "model" : {
44660702 11683 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 11684 "format" : "urlencoded",
7aacca6f 11685 "format_description" : "model",
44660702 11686 "maxLength" : 120,
56122987 11687 "optional" : 1,
44660702 11688 "type" : "string"
56122987 11689 },
5d9c884c
DM
11690 "replicate" : {
11691 "default" : 1,
11692 "description" : "Whether the drive should considered for replication jobs.",
11693 "optional" : 1,
11694 "type" : "boolean"
11695 },
44660702
DM
11696 "rerror" : {
11697 "description" : "Read error action.",
11698 "enum" : [
11699 "ignore",
11700 "report",
11701 "stop"
11702 ],
56122987 11703 "optional" : 1,
44660702 11704 "type" : "string"
56122987 11705 },
44660702
DM
11706 "secs" : {
11707 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11708 "optional" : 1,
11709 "type" : "integer"
56122987 11710 },
44660702
DM
11711 "serial" : {
11712 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11713 "format" : "urlencoded",
11714 "format_description" : "serial",
11715 "maxLength" : 60,
56122987 11716 "optional" : 1,
44660702 11717 "type" : "string"
56122987 11718 },
27a7acb2
DM
11719 "shared" : {
11720 "default" : 0,
11721 "description" : "Mark this locally-managed volume as available on all nodes",
11722 "optional" : 1,
11723 "type" : "boolean",
11724 "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!"
11725 },
44660702
DM
11726 "size" : {
11727 "description" : "Disk size. This is purely informational and has no effect.",
11728 "format" : "disk-size",
f004f5b9 11729 "format_description" : "DiskSize",
56122987 11730 "optional" : 1,
44660702 11731 "type" : "string"
56122987 11732 },
44660702 11733 "snapshot" : {
27a7acb2 11734 "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 11735 "optional" : 1,
44660702 11736 "type" : "boolean"
56122987 11737 },
25203dc1
NC
11738 "ssd" : {
11739 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11740 "optional" : 1,
11741 "type" : "boolean"
11742 },
44660702
DM
11743 "trans" : {
11744 "description" : "Force disk geometry bios translation mode.",
11745 "enum" : [
11746 "none",
11747 "lba",
11748 "auto"
11749 ],
56122987 11750 "optional" : 1,
44660702
DM
11751 "type" : "string"
11752 },
11753 "volume" : {
11754 "alias" : "file"
56122987 11755 },
7aacca6f 11756 "werror" : {
44660702 11757 "description" : "Write error action.",
7aacca6f
DM
11758 "enum" : [
11759 "enospc",
11760 "ignore",
11761 "report",
11762 "stop"
11763 ],
56122987 11764 "optional" : 1,
44660702 11765 "type" : "string"
95895385
TL
11766 },
11767 "wwn" : {
11768 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11769 "format_description" : "wwn",
11770 "optional" : 1,
11771 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11772 "type" : "string"
7aacca6f 11773 }
44660702
DM
11774 },
11775 "optional" : 1,
4bd7df8b 11776 "type" : "string",
95895385 11777 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
11778 },
11779 "ipconfig[n]" : {
11780 "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",
11781 "format" : "pve-qm-ipconfig",
11782 "optional" : 1,
11783 "type" : "string",
11784 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 11785 },
95895385
TL
11786 "ivshmem" : {
11787 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11788 "format" : {
11789 "name" : {
11790 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11791 "format_description" : "string",
11792 "optional" : 1,
11793 "pattern" : "[a-zA-Z0-9\\-]+",
11794 "type" : "string"
11795 },
11796 "size" : {
11797 "description" : "The size of the file in MB.",
11798 "minimum" : 1,
11799 "type" : "integer"
11800 }
11801 },
11802 "optional" : 1,
11803 "type" : "string",
11804 "typetext" : "size=<integer> [,name=<string>]"
11805 },
44660702 11806 "keyboard" : {
35a75dd3 11807 "default" : null,
5da3d723 11808 "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
11809 "enum" : [
11810 "de",
11811 "de-ch",
11812 "da",
11813 "en-gb",
11814 "en-us",
11815 "es",
11816 "fi",
11817 "fr",
11818 "fr-be",
11819 "fr-ca",
11820 "fr-ch",
11821 "hu",
11822 "is",
11823 "it",
11824 "ja",
11825 "lt",
11826 "mk",
11827 "nl",
11828 "no",
11829 "pl",
11830 "pt",
11831 "pt-br",
11832 "sv",
11833 "sl",
11834 "tr"
11835 ],
7aacca6f 11836 "optional" : 1,
44660702 11837 "type" : "string"
7aacca6f 11838 },
44660702 11839 "kvm" : {
7aacca6f 11840 "default" : 1,
44660702 11841 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11842 "optional" : 1,
013dc89f
DM
11843 "type" : "boolean",
11844 "typetext" : "<boolean>"
7aacca6f 11845 },
44660702
DM
11846 "localtime" : {
11847 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 11848 "optional" : 1,
013dc89f
DM
11849 "type" : "boolean",
11850 "typetext" : "<boolean>"
7aacca6f 11851 },
44660702
DM
11852 "lock" : {
11853 "description" : "Lock/unlock the VM.",
11854 "enum" : [
44660702 11855 "backup",
5f26e15b
TL
11856 "clone",
11857 "create",
11858 "migrate",
11859 "rollback",
44660702 11860 "snapshot",
95895385
TL
11861 "snapshot-delete",
11862 "suspending",
11863 "suspended"
44660702 11864 ],
7aacca6f 11865 "optional" : 1,
44660702 11866 "type" : "string"
7aacca6f 11867 },
44660702 11868 "machine" : {
4d47f125 11869 "description" : "Specifies the Qemu machine type.",
44660702 11870 "maxLength" : 40,
7aacca6f 11871 "optional" : 1,
5c1699e5 11872 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 11873 "type" : "string"
7aacca6f 11874 },
44660702
DM
11875 "memory" : {
11876 "default" : 512,
11877 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11878 "minimum" : 16,
7aacca6f 11879 "optional" : 1,
4bd7df8b 11880 "type" : "integer",
013dc89f 11881 "typetext" : "<integer> (16 - N)"
7aacca6f 11882 },
44660702
DM
11883 "migrate_downtime" : {
11884 "default" : 0.1,
11885 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11886 "minimum" : 0,
7aacca6f 11887 "optional" : 1,
4bd7df8b 11888 "type" : "number",
013dc89f 11889 "typetext" : "<number> (0 - N)"
7aacca6f 11890 },
44660702 11891 "migrate_speed" : {
7aacca6f 11892 "default" : 0,
44660702
DM
11893 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11894 "minimum" : 0,
11895 "optional" : 1,
4bd7df8b 11896 "type" : "integer",
013dc89f 11897 "typetext" : "<integer> (0 - N)"
7aacca6f 11898 },
44660702
DM
11899 "name" : {
11900 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11901 "format" : "dns-name",
7aacca6f 11902 "optional" : 1,
013dc89f
DM
11903 "type" : "string",
11904 "typetext" : "<string>"
7aacca6f 11905 },
27a7acb2
DM
11906 "nameserver" : {
11907 "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.",
11908 "format" : "address-list",
11909 "optional" : 1,
11910 "type" : "string",
11911 "typetext" : "<string>"
11912 },
44660702 11913 "net[n]" : {
c2993fe5 11914 "description" : "Specify network devices.",
f004f5b9
DM
11915 "format" : {
11916 "bridge" : {
c2993fe5 11917 "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
11918 "format_description" : "bridge",
11919 "optional" : 1,
11920 "type" : "string"
11921 },
11922 "e1000" : {
11923 "alias" : "macaddr",
11924 "keyAlias" : "model"
11925 },
11926 "e1000-82540em" : {
11927 "alias" : "macaddr",
11928 "keyAlias" : "model"
11929 },
11930 "e1000-82544gc" : {
11931 "alias" : "macaddr",
11932 "keyAlias" : "model"
11933 },
11934 "e1000-82545em" : {
11935 "alias" : "macaddr",
11936 "keyAlias" : "model"
11937 },
11938 "firewall" : {
11939 "description" : "Whether this interface should be protected by the firewall.",
11940 "optional" : 1,
11941 "type" : "boolean"
11942 },
11943 "i82551" : {
11944 "alias" : "macaddr",
11945 "keyAlias" : "model"
11946 },
11947 "i82557b" : {
11948 "alias" : "macaddr",
11949 "keyAlias" : "model"
11950 },
11951 "i82559er" : {
11952 "alias" : "macaddr",
11953 "keyAlias" : "model"
11954 },
11955 "link_down" : {
c2993fe5 11956 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11957 "optional" : 1,
11958 "type" : "boolean"
11959 },
11960 "macaddr" : {
c2993fe5 11961 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11962 "format" : "mac-addr",
f004f5b9 11963 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11964 "optional" : 1,
95895385
TL
11965 "type" : "string",
11966 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11967 },
11968 "model" : {
11969 "default_key" : 1,
c2993fe5 11970 "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
11971 "enum" : [
11972 "rtl8139",
11973 "ne2k_pci",
11974 "e1000",
11975 "pcnet",
11976 "virtio",
11977 "ne2k_isa",
11978 "i82551",
11979 "i82557b",
11980 "i82559er",
11981 "vmxnet3",
11982 "e1000-82540em",
11983 "e1000-82544gc",
11984 "e1000-82545em"
11985 ],
f004f5b9
DM
11986 "type" : "string"
11987 },
11988 "ne2k_isa" : {
11989 "alias" : "macaddr",
11990 "keyAlias" : "model"
11991 },
11992 "ne2k_pci" : {
11993 "alias" : "macaddr",
11994 "keyAlias" : "model"
11995 },
11996 "pcnet" : {
11997 "alias" : "macaddr",
11998 "keyAlias" : "model"
11999 },
12000 "queues" : {
12001 "description" : "Number of packet queues to be used on the device.",
12002 "maximum" : 16,
12003 "minimum" : 0,
12004 "optional" : 1,
12005 "type" : "integer"
12006 },
12007 "rate" : {
c2993fe5 12008 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
12009 "minimum" : 0,
12010 "optional" : 1,
12011 "type" : "number"
12012 },
12013 "rtl8139" : {
12014 "alias" : "macaddr",
12015 "keyAlias" : "model"
12016 },
12017 "tag" : {
12018 "description" : "VLAN tag to apply to packets on this interface.",
12019 "maximum" : 4094,
c2993fe5 12020 "minimum" : 1,
f004f5b9
DM
12021 "optional" : 1,
12022 "type" : "integer"
12023 },
12024 "trunks" : {
12025 "description" : "VLAN trunks to pass through this interface.",
12026 "format_description" : "vlanid[;vlanid...]",
12027 "optional" : 1,
12028 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12029 "type" : "string"
12030 },
12031 "virtio" : {
12032 "alias" : "macaddr",
12033 "keyAlias" : "model"
12034 },
12035 "vmxnet3" : {
12036 "alias" : "macaddr",
12037 "keyAlias" : "model"
12038 }
12039 },
7aacca6f 12040 "optional" : 1,
4bd7df8b 12041 "type" : "string",
013dc89f 12042 "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 12043 },
44660702
DM
12044 "node" : {
12045 "description" : "The cluster node name.",
12046 "format" : "pve-node",
013dc89f
DM
12047 "type" : "string",
12048 "typetext" : "<string>"
44660702
DM
12049 },
12050 "numa" : {
12051 "default" : 0,
12052 "description" : "Enable/disable NUMA.",
7aacca6f 12053 "optional" : 1,
013dc89f
DM
12054 "type" : "boolean",
12055 "typetext" : "<boolean>"
7aacca6f 12056 },
44660702 12057 "numa[n]" : {
c2993fe5 12058 "description" : "NUMA topology.",
44660702
DM
12059 "format" : {
12060 "cpus" : {
c2993fe5 12061 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12062 "format_description" : "id[-id];...",
12063 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12064 "type" : "string"
12065 },
12066 "hostnodes" : {
c2993fe5 12067 "description" : "Host NUMA nodes to use.",
44660702
DM
12068 "format_description" : "id[-id];...",
12069 "optional" : 1,
12070 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12071 "type" : "string"
12072 },
12073 "memory" : {
c2993fe5 12074 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
12075 "optional" : 1,
12076 "type" : "number"
12077 },
12078 "policy" : {
c2993fe5 12079 "description" : "NUMA allocation policy.",
44660702
DM
12080 "enum" : [
12081 "preferred",
12082 "bind",
12083 "interleave"
12084 ],
44660702
DM
12085 "optional" : 1,
12086 "type" : "string"
12087 }
12088 },
7aacca6f 12089 "optional" : 1,
4bd7df8b
DM
12090 "type" : "string",
12091 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 12092 },
44660702
DM
12093 "onboot" : {
12094 "default" : 0,
12095 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 12096 "optional" : 1,
013dc89f
DM
12097 "type" : "boolean",
12098 "typetext" : "<boolean>"
7aacca6f 12099 },
44660702 12100 "ostype" : {
c2993fe5 12101 "description" : "Specify guest operating system.",
44660702
DM
12102 "enum" : [
12103 "other",
12104 "wxp",
12105 "w2k",
12106 "w2k3",
12107 "w2k8",
12108 "wvista",
12109 "win7",
12110 "win8",
32d876b5 12111 "win10",
44660702
DM
12112 "l24",
12113 "l26",
12114 "solaris"
12115 ],
7aacca6f 12116 "optional" : 1,
c2993fe5 12117 "type" : "string",
5c1699e5 12118 "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 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 12119 },
44660702 12120 "parallel[n]" : {
c2993fe5 12121 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 12122 "optional" : 1,
44660702 12123 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
12124 "type" : "string",
12125 "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 12126 },
44660702
DM
12127 "protection" : {
12128 "default" : 0,
c2993fe5 12129 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 12130 "optional" : 1,
013dc89f
DM
12131 "type" : "boolean",
12132 "typetext" : "<boolean>"
7aacca6f 12133 },
44660702
DM
12134 "reboot" : {
12135 "default" : 1,
12136 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 12137 "optional" : 1,
013dc89f
DM
12138 "type" : "boolean",
12139 "typetext" : "<boolean>"
7aacca6f 12140 },
44660702
DM
12141 "revert" : {
12142 "description" : "Revert a pending change.",
12143 "format" : "pve-configid-list",
7aacca6f 12144 "optional" : 1,
013dc89f
DM
12145 "type" : "string",
12146 "typetext" : "<string>"
7aacca6f 12147 },
44660702
DM
12148 "sata[n]" : {
12149 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 12150 "format" : {
44660702
DM
12151 "aio" : {
12152 "description" : "AIO type to use.",
12153 "enum" : [
12154 "native",
12155 "threads"
12156 ],
44660702
DM
12157 "optional" : 1,
12158 "type" : "string"
12159 },
12160 "backup" : {
12161 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12162 "optional" : 1,
12163 "type" : "boolean"
12164 },
12165 "bps" : {
de0983cb 12166 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 12167 "format_description" : "bps",
7aacca6f
DM
12168 "optional" : 1,
12169 "type" : "integer"
56122987 12170 },
de0983cb
DM
12171 "bps_max_length" : {
12172 "description" : "Maximum length of I/O bursts in seconds.",
12173 "format_description" : "seconds",
12174 "minimum" : 1,
12175 "optional" : 1,
12176 "type" : "integer"
12177 },
44660702 12178 "bps_rd" : {
de0983cb 12179 "description" : "Maximum read speed in bytes per second.",
44660702 12180 "format_description" : "bps",
7aacca6f 12181 "optional" : 1,
44660702 12182 "type" : "integer"
7aacca6f 12183 },
de0983cb 12184 "bps_rd_length" : {
5d9c884c
DM
12185 "alias" : "bps_rd_max_length"
12186 },
12187 "bps_rd_max_length" : {
de0983cb
DM
12188 "description" : "Maximum length of read I/O bursts in seconds.",
12189 "format_description" : "seconds",
12190 "minimum" : 1,
12191 "optional" : 1,
12192 "type" : "integer"
12193 },
44660702 12194 "bps_wr" : {
de0983cb 12195 "description" : "Maximum write speed in bytes per second.",
44660702 12196 "format_description" : "bps",
7aacca6f 12197 "optional" : 1,
44660702 12198 "type" : "integer"
7aacca6f 12199 },
de0983cb 12200 "bps_wr_length" : {
5d9c884c
DM
12201 "alias" : "bps_wr_max_length"
12202 },
12203 "bps_wr_max_length" : {
de0983cb
DM
12204 "description" : "Maximum length of write I/O bursts in seconds.",
12205 "format_description" : "seconds",
12206 "minimum" : 1,
12207 "optional" : 1,
12208 "type" : "integer"
12209 },
44660702
DM
12210 "cache" : {
12211 "description" : "The drive's cache mode",
12212 "enum" : [
12213 "none",
12214 "writethrough",
12215 "writeback",
12216 "unsafe",
12217 "directsync"
12218 ],
7aacca6f 12219 "optional" : 1,
44660702 12220 "type" : "string"
7aacca6f 12221 },
44660702
DM
12222 "cyls" : {
12223 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 12224 "optional" : 1,
44660702 12225 "type" : "integer"
7aacca6f 12226 },
44660702
DM
12227 "detect_zeroes" : {
12228 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 12229 "optional" : 1,
44660702 12230 "type" : "boolean"
7aacca6f 12231 },
44660702
DM
12232 "discard" : {
12233 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12234 "enum" : [
12235 "ignore",
12236 "on"
12237 ],
7aacca6f 12238 "optional" : 1,
44660702
DM
12239 "type" : "string"
12240 },
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"
7aacca6f
DM
12247 },
12248 "format" : {
7aacca6f 12249 "description" : "The drive's backing file's data format.",
56122987
DM
12250 "enum" : [
12251 "raw",
12252 "cow",
12253 "qcow",
12254 "qed",
12255 "qcow2",
12256 "vmdk",
12257 "cloop"
12258 ],
12259 "optional" : 1,
7aacca6f 12260 "type" : "string"
56122987 12261 },
7aacca6f 12262 "heads" : {
7aacca6f 12263 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12264 "optional" : 1,
12265 "type" : "integer"
56122987 12266 },
44660702 12267 "iops" : {
de0983cb 12268 "description" : "Maximum r/w I/O in operations per second.",
44660702 12269 "format_description" : "iops",
56122987 12270 "optional" : 1,
44660702 12271 "type" : "integer"
7aacca6f 12272 },
44660702 12273 "iops_max" : {
de0983cb 12274 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12275 "format_description" : "iops",
7aacca6f 12276 "optional" : 1,
44660702 12277 "type" : "integer"
56122987 12278 },
de0983cb
DM
12279 "iops_max_length" : {
12280 "description" : "Maximum length of I/O bursts in seconds.",
12281 "format_description" : "seconds",
12282 "minimum" : 1,
12283 "optional" : 1,
12284 "type" : "integer"
12285 },
44660702 12286 "iops_rd" : {
de0983cb 12287 "description" : "Maximum read I/O in operations per second.",
44660702 12288 "format_description" : "iops",
56122987 12289 "optional" : 1,
44660702 12290 "type" : "integer"
7aacca6f 12291 },
de0983cb 12292 "iops_rd_length" : {
5d9c884c 12293 "alias" : "iops_rd_max_length"
de0983cb 12294 },
44660702 12295 "iops_rd_max" : {
de0983cb 12296 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12297 "format_description" : "iops",
56122987 12298 "optional" : 1,
44660702 12299 "type" : "integer"
56122987 12300 },
5d9c884c
DM
12301 "iops_rd_max_length" : {
12302 "description" : "Maximum length of read I/O bursts in seconds.",
12303 "format_description" : "seconds",
12304 "minimum" : 1,
12305 "optional" : 1,
12306 "type" : "integer"
12307 },
44660702 12308 "iops_wr" : {
de0983cb 12309 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12310 "format_description" : "iops",
12311 "optional" : 1,
12312 "type" : "integer"
56122987 12313 },
de0983cb 12314 "iops_wr_length" : {
5d9c884c 12315 "alias" : "iops_wr_max_length"
de0983cb 12316 },
44660702 12317 "iops_wr_max" : {
de0983cb 12318 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12319 "format_description" : "iops",
12320 "optional" : 1,
12321 "type" : "integer"
12322 },
5d9c884c
DM
12323 "iops_wr_max_length" : {
12324 "description" : "Maximum length of write I/O bursts in seconds.",
12325 "format_description" : "seconds",
12326 "minimum" : 1,
12327 "optional" : 1,
12328 "type" : "integer"
12329 },
44660702 12330 "mbps" : {
de0983cb 12331 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12332 "format_description" : "mbps",
12333 "optional" : 1,
12334 "type" : "number"
12335 },
12336 "mbps_max" : {
de0983cb 12337 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12338 "format_description" : "mbps",
12339 "optional" : 1,
12340 "type" : "number"
12341 },
12342 "mbps_rd" : {
de0983cb 12343 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12344 "format_description" : "mbps",
12345 "optional" : 1,
12346 "type" : "number"
12347 },
12348 "mbps_rd_max" : {
de0983cb 12349 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12350 "format_description" : "mbps",
12351 "optional" : 1,
12352 "type" : "number"
12353 },
12354 "mbps_wr" : {
de0983cb 12355 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12356 "format_description" : "mbps",
12357 "optional" : 1,
12358 "type" : "number"
12359 },
12360 "mbps_wr_max" : {
de0983cb 12361 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12362 "format_description" : "mbps",
12363 "optional" : 1,
12364 "type" : "number"
12365 },
12366 "media" : {
12367 "default" : "disk",
12368 "description" : "The drive's media type.",
12369 "enum" : [
12370 "cdrom",
12371 "disk"
12372 ],
56122987 12373 "optional" : 1,
44660702
DM
12374 "type" : "string"
12375 },
5d9c884c
DM
12376 "replicate" : {
12377 "default" : 1,
12378 "description" : "Whether the drive should considered for replication jobs.",
12379 "optional" : 1,
12380 "type" : "boolean"
12381 },
44660702 12382 "rerror" : {
7aacca6f
DM
12383 "description" : "Read error action.",
12384 "enum" : [
12385 "ignore",
12386 "report",
12387 "stop"
44660702 12388 ],
56122987 12389 "optional" : 1,
44660702 12390 "type" : "string"
56122987 12391 },
7aacca6f 12392 "secs" : {
44660702 12393 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12394 "optional" : 1,
44660702 12395 "type" : "integer"
56122987 12396 },
44660702
DM
12397 "serial" : {
12398 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12399 "format" : "urlencoded",
12400 "format_description" : "serial",
12401 "maxLength" : 60,
56122987 12402 "optional" : 1,
44660702 12403 "type" : "string"
56122987 12404 },
27a7acb2
DM
12405 "shared" : {
12406 "default" : 0,
12407 "description" : "Mark this locally-managed volume as available on all nodes",
12408 "optional" : 1,
12409 "type" : "boolean",
12410 "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!"
12411 },
44660702
DM
12412 "size" : {
12413 "description" : "Disk size. This is purely informational and has no effect.",
12414 "format" : "disk-size",
f004f5b9 12415 "format_description" : "DiskSize",
56122987 12416 "optional" : 1,
44660702 12417 "type" : "string"
56122987
DM
12418 },
12419 "snapshot" : {
27a7acb2 12420 "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 12421 "optional" : 1,
44660702 12422 "type" : "boolean"
56122987 12423 },
25203dc1
NC
12424 "ssd" : {
12425 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12426 "optional" : 1,
12427 "type" : "boolean"
12428 },
56122987 12429 "trans" : {
7aacca6f 12430 "description" : "Force disk geometry bios translation mode.",
56122987
DM
12431 "enum" : [
12432 "none",
12433 "lba",
12434 "auto"
12435 ],
12436 "optional" : 1,
44660702 12437 "type" : "string"
56122987 12438 },
44660702
DM
12439 "volume" : {
12440 "alias" : "file"
56122987 12441 },
7aacca6f 12442 "werror" : {
44660702 12443 "description" : "Write error action.",
56122987 12444 "enum" : [
7aacca6f 12445 "enospc",
56122987 12446 "ignore",
7aacca6f
DM
12447 "report",
12448 "stop"
12449 ],
7aacca6f 12450 "optional" : 1,
44660702 12451 "type" : "string"
95895385
TL
12452 },
12453 "wwn" : {
12454 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12455 "format_description" : "wwn",
12456 "optional" : 1,
12457 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12458 "type" : "string"
44660702
DM
12459 }
12460 },
12461 "optional" : 1,
4bd7df8b 12462 "type" : "string",
95895385 12463 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
12464 },
12465 "scsi[n]" : {
e9cd3bd4 12466 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
12467 "format" : {
12468 "aio" : {
7aacca6f 12469 "description" : "AIO type to use.",
56122987
DM
12470 "enum" : [
12471 "native",
12472 "threads"
44660702 12473 ],
56122987 12474 "optional" : 1,
44660702 12475 "type" : "string"
56122987 12476 },
7aacca6f 12477 "backup" : {
7aacca6f 12478 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12479 "optional" : 1,
44660702 12480 "type" : "boolean"
56122987 12481 },
44660702 12482 "bps" : {
de0983cb 12483 "description" : "Maximum r/w speed in bytes per second.",
44660702 12484 "format_description" : "bps",
7aacca6f 12485 "optional" : 1,
44660702 12486 "type" : "integer"
7aacca6f 12487 },
de0983cb
DM
12488 "bps_max_length" : {
12489 "description" : "Maximum length of I/O bursts in seconds.",
12490 "format_description" : "seconds",
12491 "minimum" : 1,
12492 "optional" : 1,
12493 "type" : "integer"
12494 },
44660702 12495 "bps_rd" : {
de0983cb 12496 "description" : "Maximum read speed in bytes per second.",
44660702 12497 "format_description" : "bps",
56122987 12498 "optional" : 1,
44660702 12499 "type" : "integer"
56122987 12500 },
de0983cb 12501 "bps_rd_length" : {
5d9c884c
DM
12502 "alias" : "bps_rd_max_length"
12503 },
12504 "bps_rd_max_length" : {
de0983cb
DM
12505 "description" : "Maximum length of read I/O bursts in seconds.",
12506 "format_description" : "seconds",
12507 "minimum" : 1,
12508 "optional" : 1,
12509 "type" : "integer"
12510 },
44660702 12511 "bps_wr" : {
de0983cb 12512 "description" : "Maximum write speed in bytes per second.",
44660702 12513 "format_description" : "bps",
56122987 12514 "optional" : 1,
44660702 12515 "type" : "integer"
56122987 12516 },
de0983cb 12517 "bps_wr_length" : {
5d9c884c
DM
12518 "alias" : "bps_wr_max_length"
12519 },
12520 "bps_wr_max_length" : {
de0983cb
DM
12521 "description" : "Maximum length of write I/O bursts in seconds.",
12522 "format_description" : "seconds",
12523 "minimum" : 1,
12524 "optional" : 1,
12525 "type" : "integer"
12526 },
44660702
DM
12527 "cache" : {
12528 "description" : "The drive's cache mode",
12529 "enum" : [
12530 "none",
12531 "writethrough",
12532 "writeback",
12533 "unsafe",
12534 "directsync"
12535 ],
56122987 12536 "optional" : 1,
44660702
DM
12537 "type" : "string"
12538 },
12539 "cyls" : {
12540 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12541 "optional" : 1,
12542 "type" : "integer"
12543 },
12544 "detect_zeroes" : {
12545 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12546 "optional" : 1,
12547 "type" : "boolean"
12548 },
12549 "discard" : {
12550 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12551 "enum" : [
12552 "ignore",
12553 "on"
12554 ],
44660702
DM
12555 "optional" : 1,
12556 "type" : "string"
12557 },
12558 "file" : {
12559 "default_key" : 1,
12560 "description" : "The drive's backing volume.",
12561 "format" : "pve-volume-id-or-qm-path",
12562 "format_description" : "volume",
12563 "type" : "string"
56122987 12564 },
7aacca6f 12565 "format" : {
44660702 12566 "description" : "The drive's backing file's data format.",
7aacca6f
DM
12567 "enum" : [
12568 "raw",
12569 "cow",
12570 "qcow",
12571 "qed",
12572 "qcow2",
12573 "vmdk",
12574 "cloop"
12575 ],
56122987 12576 "optional" : 1,
44660702 12577 "type" : "string"
56122987 12578 },
44660702
DM
12579 "heads" : {
12580 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12581 "optional" : 1,
44660702 12582 "type" : "integer"
56122987 12583 },
44660702 12584 "iops" : {
de0983cb 12585 "description" : "Maximum r/w I/O in operations per second.",
44660702 12586 "format_description" : "iops",
7aacca6f 12587 "optional" : 1,
44660702 12588 "type" : "integer"
56122987 12589 },
44660702 12590 "iops_max" : {
de0983cb 12591 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 12592 "format_description" : "iops",
7aacca6f 12593 "optional" : 1,
44660702 12594 "type" : "integer"
56122987 12595 },
de0983cb
DM
12596 "iops_max_length" : {
12597 "description" : "Maximum length of I/O bursts in seconds.",
12598 "format_description" : "seconds",
12599 "minimum" : 1,
12600 "optional" : 1,
12601 "type" : "integer"
12602 },
44660702 12603 "iops_rd" : {
de0983cb 12604 "description" : "Maximum read I/O in operations per second.",
44660702 12605 "format_description" : "iops",
56122987 12606 "optional" : 1,
44660702 12607 "type" : "integer"
56122987 12608 },
de0983cb 12609 "iops_rd_length" : {
5d9c884c 12610 "alias" : "iops_rd_max_length"
de0983cb 12611 },
44660702 12612 "iops_rd_max" : {
de0983cb 12613 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12614 "format_description" : "iops",
56122987 12615 "optional" : 1,
44660702 12616 "type" : "integer"
56122987 12617 },
5d9c884c
DM
12618 "iops_rd_max_length" : {
12619 "description" : "Maximum length of read I/O bursts in seconds.",
12620 "format_description" : "seconds",
12621 "minimum" : 1,
12622 "optional" : 1,
12623 "type" : "integer"
12624 },
44660702 12625 "iops_wr" : {
de0983cb 12626 "description" : "Maximum write I/O in operations per second.",
44660702 12627 "format_description" : "iops",
56122987 12628 "optional" : 1,
44660702 12629 "type" : "integer"
56122987 12630 },
de0983cb 12631 "iops_wr_length" : {
5d9c884c 12632 "alias" : "iops_wr_max_length"
de0983cb 12633 },
44660702 12634 "iops_wr_max" : {
de0983cb 12635 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 12636 "format_description" : "iops",
44660702
DM
12637 "optional" : 1,
12638 "type" : "integer"
7aacca6f 12639 },
5d9c884c
DM
12640 "iops_wr_max_length" : {
12641 "description" : "Maximum length of write I/O bursts in seconds.",
12642 "format_description" : "seconds",
12643 "minimum" : 1,
12644 "optional" : 1,
12645 "type" : "integer"
12646 },
7aacca6f 12647 "iothread" : {
44660702 12648 "description" : "Whether to use iothreads for this drive",
56122987 12649 "optional" : 1,
44660702 12650 "type" : "boolean"
56122987 12651 },
44660702 12652 "mbps" : {
de0983cb 12653 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12654 "format_description" : "mbps",
56122987 12655 "optional" : 1,
44660702 12656 "type" : "number"
56122987 12657 },
44660702 12658 "mbps_max" : {
de0983cb 12659 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12660 "format_description" : "mbps",
56122987 12661 "optional" : 1,
44660702 12662 "type" : "number"
56122987 12663 },
44660702 12664 "mbps_rd" : {
de0983cb 12665 "description" : "Maximum read speed in megabytes per second.",
44660702 12666 "format_description" : "mbps",
7aacca6f 12667 "optional" : 1,
44660702 12668 "type" : "number"
56122987 12669 },
44660702 12670 "mbps_rd_max" : {
de0983cb 12671 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12672 "format_description" : "mbps",
7aacca6f 12673 "optional" : 1,
44660702 12674 "type" : "number"
7aacca6f 12675 },
44660702 12676 "mbps_wr" : {
de0983cb 12677 "description" : "Maximum write speed in megabytes per second.",
44660702 12678 "format_description" : "mbps",
56122987 12679 "optional" : 1,
44660702 12680 "type" : "number"
56122987 12681 },
44660702 12682 "mbps_wr_max" : {
de0983cb 12683 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12684 "format_description" : "mbps",
56122987 12685 "optional" : 1,
44660702
DM
12686 "type" : "number"
12687 },
12688 "media" : {
12689 "default" : "disk",
12690 "description" : "The drive's media type.",
7aacca6f 12691 "enum" : [
44660702
DM
12692 "cdrom",
12693 "disk"
7aacca6f 12694 ],
56122987 12695 "optional" : 1,
44660702 12696 "type" : "string"
56122987 12697 },
7aacca6f 12698 "queues" : {
44660702 12699 "description" : "Number of queues.",
7aacca6f 12700 "minimum" : 2,
7aacca6f
DM
12701 "optional" : 1,
12702 "type" : "integer"
56122987 12703 },
5d9c884c
DM
12704 "replicate" : {
12705 "default" : 1,
12706 "description" : "Whether the drive should considered for replication jobs.",
12707 "optional" : 1,
12708 "type" : "boolean"
12709 },
12710 "rerror" : {
12711 "description" : "Read error action.",
12712 "enum" : [
12713 "ignore",
12714 "report",
12715 "stop"
12716 ],
12717 "optional" : 1,
12718 "type" : "string"
12719 },
52e44c50
FG
12720 "scsiblock" : {
12721 "default" : 0,
12722 "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",
12723 "optional" : 1,
12724 "type" : "boolean"
12725 },
44660702
DM
12726 "secs" : {
12727 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12728 "optional" : 1,
44660702 12729 "type" : "integer"
56122987 12730 },
44660702
DM
12731 "serial" : {
12732 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12733 "format" : "urlencoded",
12734 "format_description" : "serial",
12735 "maxLength" : 60,
56122987 12736 "optional" : 1,
44660702 12737 "type" : "string"
56122987 12738 },
27a7acb2
DM
12739 "shared" : {
12740 "default" : 0,
12741 "description" : "Mark this locally-managed volume as available on all nodes",
12742 "optional" : 1,
12743 "type" : "boolean",
12744 "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!"
12745 },
44660702
DM
12746 "size" : {
12747 "description" : "Disk size. This is purely informational and has no effect.",
12748 "format" : "disk-size",
f004f5b9 12749 "format_description" : "DiskSize",
44660702
DM
12750 "optional" : 1,
12751 "type" : "string"
12752 },
12753 "snapshot" : {
27a7acb2 12754 "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 12755 "optional" : 1,
44660702
DM
12756 "type" : "boolean"
12757 },
25203dc1
NC
12758 "ssd" : {
12759 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12760 "optional" : 1,
12761 "type" : "boolean"
12762 },
44660702
DM
12763 "trans" : {
12764 "description" : "Force disk geometry bios translation mode.",
56122987 12765 "enum" : [
44660702
DM
12766 "none",
12767 "lba",
12768 "auto"
56122987 12769 ],
44660702
DM
12770 "optional" : 1,
12771 "type" : "string"
12772 },
12773 "volume" : {
12774 "alias" : "file"
56122987 12775 },
7aacca6f 12776 "werror" : {
7aacca6f
DM
12777 "description" : "Write error action.",
12778 "enum" : [
12779 "enospc",
12780 "ignore",
12781 "report",
12782 "stop"
44660702 12783 ],
56122987 12784 "optional" : 1,
7aacca6f 12785 "type" : "string"
95895385
TL
12786 },
12787 "wwn" : {
12788 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12789 "format_description" : "wwn",
12790 "optional" : 1,
12791 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12792 "type" : "string"
56122987 12793 }
44660702 12794 },
56122987 12795 "optional" : 1,
4bd7df8b 12796 "type" : "string",
95895385 12797 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
12798 },
12799 "scsihw" : {
44660702 12800 "default" : "lsi",
c2993fe5 12801 "description" : "SCSI controller model",
56122987
DM
12802 "enum" : [
12803 "lsi",
12804 "lsi53c810",
12805 "virtio-scsi-pci",
12806 "virtio-scsi-single",
12807 "megasas",
12808 "pvscsi"
12809 ],
12810 "optional" : 1,
56122987
DM
12811 "type" : "string"
12812 },
27a7acb2
DM
12813 "searchdomain" : {
12814 "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.",
12815 "optional" : 1,
12816 "type" : "string",
12817 "typetext" : "<string>"
12818 },
44660702 12819 "serial[n]" : {
c2993fe5 12820 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 12821 "optional" : 1,
44660702 12822 "pattern" : "(/dev/.+|socket)",
c2993fe5 12823 "type" : "string",
57b78691 12824 "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 12825 },
44660702
DM
12826 "shares" : {
12827 "default" : 1000,
5da3d723 12828 "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
12829 "maximum" : 50000,
12830 "minimum" : 0,
7aacca6f 12831 "optional" : 1,
4bd7df8b 12832 "type" : "integer",
013dc89f 12833 "typetext" : "<integer> (0 - 50000)"
56122987 12834 },
7aacca6f
DM
12835 "skiplock" : {
12836 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12837 "optional" : 1,
013dc89f
DM
12838 "type" : "boolean",
12839 "typetext" : "<boolean>"
56122987 12840 },
44660702
DM
12841 "smbios1" : {
12842 "description" : "Specify SMBIOS type 1 fields.",
12843 "format" : "pve-qm-smbios1",
1e3f8156 12844 "maxLength" : 512,
56122987 12845 "optional" : 1,
4bd7df8b 12846 "type" : "string",
1e3f8156 12847 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
56122987 12848 },
44660702
DM
12849 "smp" : {
12850 "default" : 1,
12851 "description" : "The number of CPUs. Please use option -sockets instead.",
12852 "minimum" : 1,
56122987 12853 "optional" : 1,
4bd7df8b 12854 "type" : "integer",
013dc89f 12855 "typetext" : "<integer> (1 - N)"
56122987 12856 },
44660702
DM
12857 "sockets" : {
12858 "default" : 1,
12859 "description" : "The number of CPU sockets.",
12860 "minimum" : 1,
56122987 12861 "optional" : 1,
4bd7df8b 12862 "type" : "integer",
013dc89f 12863 "typetext" : "<integer> (1 - N)"
56122987 12864 },
1c532546
TL
12865 "spice_enhancements" : {
12866 "description" : "Configure additional enhancements for SPICE.",
12867 "format" : {
12868 "foldersharing" : {
12869 "default" : "0",
12870 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
12871 "optional" : 1,
12872 "type" : "boolean"
12873 },
12874 "videostreaming" : {
12875 "default" : "off",
12876 "description" : "Enable video streaming. Uses compression for detected video streams.",
12877 "enum" : [
12878 "off",
12879 "all",
12880 "filter"
12881 ],
12882 "optional" : 1,
12883 "type" : "string"
12884 }
12885 },
12886 "optional" : 1,
12887 "type" : "string",
12888 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
12889 },
27a7acb2
DM
12890 "sshkeys" : {
12891 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12892 "format" : "urlencoded",
12893 "optional" : 1,
12894 "type" : "string",
12895 "typetext" : "<string>"
12896 },
44660702
DM
12897 "startdate" : {
12898 "default" : "now",
12899 "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'.",
12900 "optional" : 1,
12901 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12902 "type" : "string",
44660702
DM
12903 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12904 },
12905 "startup" : {
12906 "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.",
12907 "format" : "pve-startup-order",
7aacca6f 12908 "optional" : 1,
44660702
DM
12909 "type" : "string",
12910 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 12911 },
44660702
DM
12912 "tablet" : {
12913 "default" : 1,
c2993fe5 12914 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12915 "optional" : 1,
c2993fe5 12916 "type" : "boolean",
013dc89f 12917 "typetext" : "<boolean>",
c2993fe5 12918 "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 12919 },
5c1699e5
TL
12920 "tags" : {
12921 "description" : "Tags of the VM. This is only meta information.",
12922 "format" : "pve-tag-list",
12923 "optional" : 1,
12924 "type" : "string",
12925 "typetext" : "<string>"
12926 },
44660702
DM
12927 "tdf" : {
12928 "default" : 0,
12929 "description" : "Enable/disable time drift fix.",
7aacca6f 12930 "optional" : 1,
013dc89f
DM
12931 "type" : "boolean",
12932 "typetext" : "<boolean>"
7aacca6f 12933 },
44660702
DM
12934 "template" : {
12935 "default" : 0,
12936 "description" : "Enable/disable Template.",
7aacca6f 12937 "optional" : 1,
013dc89f
DM
12938 "type" : "boolean",
12939 "typetext" : "<boolean>"
7aacca6f 12940 },
44660702 12941 "unused[n]" : {
c2993fe5 12942 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12943 "format" : "pve-volume-id",
7aacca6f 12944 "optional" : 1,
013dc89f
DM
12945 "type" : "string",
12946 "typetext" : "<string>"
7aacca6f 12947 },
44660702 12948 "usb[n]" : {
c2993fe5 12949 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12950 "format" : {
44660702
DM
12951 "host" : {
12952 "default_key" : 1,
c2993fe5 12953 "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
12954 "format" : "pve-qm-usb-device",
12955 "format_description" : "HOSTUSBDEVICE|spice",
12956 "type" : "string"
7aacca6f 12957 },
44660702 12958 "usb3" : {
c2993fe5 12959 "default" : 0,
1c532546 12960 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 12961 "optional" : 1,
44660702 12962 "type" : "boolean"
7aacca6f 12963 }
44660702 12964 },
7aacca6f 12965 "optional" : 1,
4bd7df8b
DM
12966 "type" : "string",
12967 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 12968 },
44660702 12969 "vcpus" : {
7aacca6f 12970 "default" : 0,
44660702
DM
12971 "description" : "Number of hotplugged vcpus.",
12972 "minimum" : 1,
7aacca6f 12973 "optional" : 1,
4bd7df8b 12974 "type" : "integer",
013dc89f 12975 "typetext" : "<integer> (1 - N)"
7aacca6f 12976 },
44660702 12977 "vga" : {
e2d681b3
TL
12978 "description" : "Configure the VGA hardware.",
12979 "format" : {
12980 "memory" : {
12981 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12982 "maximum" : 512,
12983 "minimum" : 4,
12984 "optional" : 1,
12985 "type" : "integer"
12986 },
12987 "type" : {
12988 "default" : "std",
12989 "default_key" : 1,
12990 "description" : "Select the VGA type.",
12991 "enum" : [
12992 "cirrus",
12993 "qxl",
12994 "qxl2",
12995 "qxl3",
12996 "qxl4",
5f26e15b 12997 "none",
e2d681b3
TL
12998 "serial0",
12999 "serial1",
13000 "serial2",
13001 "serial3",
13002 "std",
13003 "virtio",
13004 "vmware"
13005 ],
13006 "optional" : 1,
13007 "type" : "string"
13008 }
13009 },
7aacca6f 13010 "optional" : 1,
c2993fe5 13011 "type" : "string",
e2d681b3
TL
13012 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
13013 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 13014 },
44660702
DM
13015 "virtio[n]" : {
13016 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 13017 "format" : {
7aacca6f 13018 "aio" : {
7aacca6f 13019 "description" : "AIO type to use.",
56122987 13020 "enum" : [
7aacca6f
DM
13021 "native",
13022 "threads"
7aacca6f 13023 ],
44660702
DM
13024 "optional" : 1,
13025 "type" : "string"
56122987 13026 },
44660702
DM
13027 "backup" : {
13028 "description" : "Whether the drive should be included when making backups.",
56122987 13029 "optional" : 1,
44660702 13030 "type" : "boolean"
7aacca6f 13031 },
44660702 13032 "bps" : {
de0983cb 13033 "description" : "Maximum r/w speed in bytes per second.",
44660702 13034 "format_description" : "bps",
7aacca6f 13035 "optional" : 1,
44660702 13036 "type" : "integer"
56122987 13037 },
de0983cb
DM
13038 "bps_max_length" : {
13039 "description" : "Maximum length of I/O bursts in seconds.",
13040 "format_description" : "seconds",
13041 "minimum" : 1,
13042 "optional" : 1,
13043 "type" : "integer"
13044 },
56122987 13045 "bps_rd" : {
de0983cb 13046 "description" : "Maximum read speed in bytes per second.",
44660702 13047 "format_description" : "bps",
56122987 13048 "optional" : 1,
7aacca6f 13049 "type" : "integer"
56122987 13050 },
de0983cb 13051 "bps_rd_length" : {
5d9c884c
DM
13052 "alias" : "bps_rd_max_length"
13053 },
13054 "bps_rd_max_length" : {
de0983cb
DM
13055 "description" : "Maximum length of read I/O bursts in seconds.",
13056 "format_description" : "seconds",
13057 "minimum" : 1,
13058 "optional" : 1,
13059 "type" : "integer"
13060 },
44660702 13061 "bps_wr" : {
de0983cb 13062 "description" : "Maximum write speed in bytes per second.",
44660702 13063 "format_description" : "bps",
56122987 13064 "optional" : 1,
7aacca6f 13065 "type" : "integer"
56122987 13066 },
de0983cb 13067 "bps_wr_length" : {
5d9c884c
DM
13068 "alias" : "bps_wr_max_length"
13069 },
13070 "bps_wr_max_length" : {
de0983cb
DM
13071 "description" : "Maximum length of write I/O bursts in seconds.",
13072 "format_description" : "seconds",
13073 "minimum" : 1,
13074 "optional" : 1,
13075 "type" : "integer"
13076 },
7aacca6f 13077 "cache" : {
44660702 13078 "description" : "The drive's cache mode",
7aacca6f
DM
13079 "enum" : [
13080 "none",
13081 "writethrough",
13082 "writeback",
13083 "unsafe",
13084 "directsync"
13085 ],
56122987 13086 "optional" : 1,
44660702 13087 "type" : "string"
7aacca6f 13088 },
44660702
DM
13089 "cyls" : {
13090 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13091 "optional" : 1,
13092 "type" : "integer"
13093 },
13094 "detect_zeroes" : {
13095 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13096 "optional" : 1,
13097 "type" : "boolean"
13098 },
13099 "discard" : {
13100 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 13101 "enum" : [
44660702
DM
13102 "ignore",
13103 "on"
56122987
DM
13104 ],
13105 "optional" : 1,
44660702 13106 "type" : "string"
56122987 13107 },
44660702
DM
13108 "file" : {
13109 "default_key" : 1,
13110 "description" : "The drive's backing volume.",
13111 "format" : "pve-volume-id-or-qm-path",
13112 "format_description" : "volume",
13113 "type" : "string"
13114 },
13115 "format" : {
13116 "description" : "The drive's backing file's data format.",
13117 "enum" : [
13118 "raw",
13119 "cow",
13120 "qcow",
13121 "qed",
13122 "qcow2",
13123 "vmdk",
13124 "cloop"
13125 ],
56122987 13126 "optional" : 1,
44660702 13127 "type" : "string"
56122987 13128 },
44660702
DM
13129 "heads" : {
13130 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13131 "optional" : 1,
13132 "type" : "integer"
13133 },
13134 "iops" : {
de0983cb 13135 "description" : "Maximum r/w I/O in operations per second.",
44660702 13136 "format_description" : "iops",
56122987 13137 "optional" : 1,
44660702
DM
13138 "type" : "integer"
13139 },
13140 "iops_max" : {
de0983cb 13141 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
13142 "format_description" : "iops",
13143 "optional" : 1,
13144 "type" : "integer"
56122987 13145 },
de0983cb
DM
13146 "iops_max_length" : {
13147 "description" : "Maximum length of I/O bursts in seconds.",
13148 "format_description" : "seconds",
13149 "minimum" : 1,
13150 "optional" : 1,
13151 "type" : "integer"
13152 },
7aacca6f 13153 "iops_rd" : {
de0983cb 13154 "description" : "Maximum read I/O in operations per second.",
7aacca6f 13155 "format_description" : "iops",
7aacca6f 13156 "optional" : 1,
44660702 13157 "type" : "integer"
56122987 13158 },
de0983cb 13159 "iops_rd_length" : {
5d9c884c 13160 "alias" : "iops_rd_max_length"
de0983cb 13161 },
44660702 13162 "iops_rd_max" : {
de0983cb 13163 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13164 "format_description" : "iops",
13165 "optional" : 1,
13166 "type" : "integer"
13167 },
5d9c884c
DM
13168 "iops_rd_max_length" : {
13169 "description" : "Maximum length of read I/O bursts in seconds.",
13170 "format_description" : "seconds",
13171 "minimum" : 1,
13172 "optional" : 1,
13173 "type" : "integer"
13174 },
44660702 13175 "iops_wr" : {
de0983cb 13176 "description" : "Maximum write I/O in operations per second.",
44660702
DM
13177 "format_description" : "iops",
13178 "optional" : 1,
13179 "type" : "integer"
13180 },
de0983cb 13181 "iops_wr_length" : {
5d9c884c 13182 "alias" : "iops_wr_max_length"
de0983cb 13183 },
44660702 13184 "iops_wr_max" : {
de0983cb 13185 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13186 "format_description" : "iops",
13187 "optional" : 1,
13188 "type" : "integer"
13189 },
5d9c884c
DM
13190 "iops_wr_max_length" : {
13191 "description" : "Maximum length of write I/O bursts in seconds.",
13192 "format_description" : "seconds",
13193 "minimum" : 1,
13194 "optional" : 1,
13195 "type" : "integer"
13196 },
44660702
DM
13197 "iothread" : {
13198 "description" : "Whether to use iothreads for this drive",
44660702
DM
13199 "optional" : 1,
13200 "type" : "boolean"
13201 },
13202 "mbps" : {
de0983cb 13203 "description" : "Maximum r/w speed in megabytes per second.",
44660702 13204 "format_description" : "mbps",
7aacca6f 13205 "optional" : 1,
44660702 13206 "type" : "number"
7aacca6f
DM
13207 },
13208 "mbps_max" : {
de0983cb 13209 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13210 "format_description" : "mbps",
56122987 13211 "optional" : 1,
44660702 13212 "type" : "number"
56122987 13213 },
44660702 13214 "mbps_rd" : {
de0983cb 13215 "description" : "Maximum read speed in megabytes per second.",
44660702 13216 "format_description" : "mbps",
56122987 13217 "optional" : 1,
44660702 13218 "type" : "number"
56122987 13219 },
44660702 13220 "mbps_rd_max" : {
de0983cb 13221 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13222 "format_description" : "mbps",
13223 "optional" : 1,
13224 "type" : "number"
13225 },
13226 "mbps_wr" : {
de0983cb 13227 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13228 "format_description" : "mbps",
13229 "optional" : 1,
13230 "type" : "number"
13231 },
13232 "mbps_wr_max" : {
de0983cb 13233 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13234 "format_description" : "mbps",
13235 "optional" : 1,
13236 "type" : "number"
13237 },
13238 "media" : {
13239 "default" : "disk",
13240 "description" : "The drive's media type.",
56122987 13241 "enum" : [
44660702
DM
13242 "cdrom",
13243 "disk"
56122987
DM
13244 ],
13245 "optional" : 1,
44660702 13246 "type" : "string"
56122987 13247 },
5d9c884c
DM
13248 "replicate" : {
13249 "default" : 1,
13250 "description" : "Whether the drive should considered for replication jobs.",
13251 "optional" : 1,
13252 "type" : "boolean"
13253 },
44660702
DM
13254 "rerror" : {
13255 "description" : "Read error action.",
13256 "enum" : [
13257 "ignore",
13258 "report",
13259 "stop"
13260 ],
56122987 13261 "optional" : 1,
44660702 13262 "type" : "string"
56122987 13263 },
44660702
DM
13264 "secs" : {
13265 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13266 "optional" : 1,
44660702 13267 "type" : "integer"
56122987 13268 },
7aacca6f
DM
13269 "serial" : {
13270 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 13271 "format" : "urlencoded",
44660702 13272 "format_description" : "serial",
7aacca6f 13273 "maxLength" : 60,
44660702
DM
13274 "optional" : 1,
13275 "type" : "string"
56122987 13276 },
27a7acb2
DM
13277 "shared" : {
13278 "default" : 0,
13279 "description" : "Mark this locally-managed volume as available on all nodes",
13280 "optional" : 1,
13281 "type" : "boolean",
13282 "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!"
13283 },
44660702
DM
13284 "size" : {
13285 "description" : "Disk size. This is purely informational and has no effect.",
13286 "format" : "disk-size",
f004f5b9 13287 "format_description" : "DiskSize",
44660702
DM
13288 "optional" : 1,
13289 "type" : "string"
56122987 13290 },
44660702 13291 "snapshot" : {
27a7acb2 13292 "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 13293 "optional" : 1,
44660702 13294 "type" : "boolean"
56122987 13295 },
44660702
DM
13296 "trans" : {
13297 "description" : "Force disk geometry bios translation mode.",
13298 "enum" : [
13299 "none",
13300 "lba",
13301 "auto"
13302 ],
7aacca6f 13303 "optional" : 1,
44660702 13304 "type" : "string"
7aacca6f 13305 },
44660702
DM
13306 "volume" : {
13307 "alias" : "file"
13308 },
13309 "werror" : {
13310 "description" : "Write error action.",
13311 "enum" : [
13312 "enospc",
13313 "ignore",
13314 "report",
13315 "stop"
13316 ],
7aacca6f 13317 "optional" : 1,
44660702 13318 "type" : "string"
56122987
DM
13319 }
13320 },
7aacca6f 13321 "optional" : 1,
4bd7df8b 13322 "type" : "string",
27a7acb2 13323 "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 13324 },
4d47f125
TL
13325 "vmgenid" : {
13326 "default" : "1 (autogenerated)",
13327 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
13328 "format_description" : "UUID",
13329 "optional" : 1,
13330 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
13331 "type" : "string",
13332 "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."
13333 },
44660702
DM
13334 "vmid" : {
13335 "description" : "The (unique) ID of the VM.",
13336 "format" : "pve-vmid",
13337 "minimum" : 1,
4bd7df8b 13338 "type" : "integer",
013dc89f 13339 "typetext" : "<integer> (1 - N)"
56122987 13340 },
2489d6df
WB
13341 "vmstatestorage" : {
13342 "description" : "Default storage for VM state volumes/files.",
13343 "format" : "pve-storage-id",
13344 "optional" : 1,
13345 "type" : "string",
13346 "typetext" : "<string>"
13347 },
44660702 13348 "watchdog" : {
c2993fe5 13349 "description" : "Create a virtual hardware watchdog device.",
44660702 13350 "format" : "pve-qm-watchdog",
56122987 13351 "optional" : 1,
c2993fe5 13352 "type" : "string",
013dc89f 13353 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 13354 "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 13355 }
7aacca6f 13356 }
56122987 13357 },
56122987
DM
13358 "permissions" : {
13359 "check" : [
13360 "perm",
13361 "/vms/{vmid}",
13362 [
13363 "VM.Config.Disk",
13364 "VM.Config.CDROM",
13365 "VM.Config.CPU",
13366 "VM.Config.Memory",
13367 "VM.Config.Network",
13368 "VM.Config.HWType",
13369 "VM.Config.Options"
13370 ],
13371 "any",
13372 1
13373 ]
13374 },
44660702 13375 "protected" : 1,
7aacca6f 13376 "proxyto" : "node",
56122987 13377 "returns" : {
4d47f125
TL
13378 "optional" : 1,
13379 "type" : "string"
7aacca6f 13380 }
4d47f125
TL
13381 },
13382 "PUT" : {
e9cd3bd4 13383 "allowtoken" : 1,
4d47f125
TL
13384 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
13385 "method" : "PUT",
13386 "name" : "update_vm",
7aacca6f 13387 "parameters" : {
44660702 13388 "additionalProperties" : 0,
7aacca6f 13389 "properties" : {
4d47f125
TL
13390 "acpi" : {
13391 "default" : 1,
13392 "description" : "Enable/disable ACPI.",
13393 "optional" : 1,
13394 "type" : "boolean",
13395 "typetext" : "<boolean>"
7aacca6f 13396 },
4d47f125
TL
13397 "agent" : {
13398 "description" : "Enable/disable Qemu GuestAgent and its properties.",
13399 "format" : {
13400 "enabled" : {
13401 "default" : 0,
13402 "default_key" : 1,
13403 "description" : "Enable/disable Qemu GuestAgent.",
13404 "type" : "boolean"
13405 },
13406 "fstrim_cloned_disks" : {
13407 "default" : 0,
13408 "description" : "Run fstrim after cloning/moving a disk.",
13409 "optional" : 1,
13410 "type" : "boolean"
5c1699e5
TL
13411 },
13412 "type" : {
13413 "default" : "virtio",
13414 "description" : "Select the agent type",
13415 "enum" : [
13416 "virtio",
13417 "isa"
13418 ],
13419 "optional" : 1,
13420 "type" : "string"
4d47f125 13421 }
44660702 13422 },
4d47f125
TL
13423 "optional" : 1,
13424 "type" : "string",
5c1699e5 13425 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 13426 },
e2d681b3
TL
13427 "arch" : {
13428 "description" : "Virtual processor architecture. Defaults to the host.",
13429 "enum" : [
13430 "x86_64",
13431 "aarch64"
13432 ],
13433 "optional" : 1,
13434 "type" : "string"
13435 },
4d47f125
TL
13436 "args" : {
13437 "description" : "Arbitrary arguments passed to kvm.",
13438 "optional" : 1,
13439 "type" : "string",
13440 "typetext" : "<string>",
13441 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
13442 },
1c532546
TL
13443 "audio0" : {
13444 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
13445 "format" : {
13446 "device" : {
13447 "description" : "Configure an audio device.",
13448 "enum" : [
13449 "ich9-intel-hda",
13450 "intel-hda",
13451 "AC97"
13452 ],
13453 "type" : "string"
13454 },
13455 "driver" : {
13456 "default" : "spice",
13457 "description" : "Driver backend for the audio device.",
13458 "enum" : [
13459 "spice"
13460 ],
13461 "optional" : 1,
13462 "type" : "string"
13463 }
13464 },
13465 "optional" : 1,
13466 "type" : "string",
13467 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
13468 },
4d47f125
TL
13469 "autostart" : {
13470 "default" : 0,
13471 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 13472 "optional" : 1,
013dc89f
DM
13473 "type" : "boolean",
13474 "typetext" : "<boolean>"
7aacca6f 13475 },
4d47f125
TL
13476 "balloon" : {
13477 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13478 "minimum" : 0,
13479 "optional" : 1,
13480 "type" : "integer",
13481 "typetext" : "<integer> (0 - N)"
13482 },
13483 "bios" : {
13484 "default" : "seabios",
13485 "description" : "Select BIOS implementation.",
13486 "enum" : [
13487 "seabios",
13488 "ovmf"
13489 ],
13490 "optional" : 1,
13491 "type" : "string"
13492 },
13493 "boot" : {
13494 "default" : "cdn",
13495 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
13496 "optional" : 1,
13497 "pattern" : "[acdn]{1,4}",
13498 "type" : "string"
13499 },
13500 "bootdisk" : {
13501 "description" : "Enable booting from specified disk.",
13502 "format" : "pve-qm-bootdisk",
13503 "optional" : 1,
13504 "pattern" : "(ide|sata|scsi|virtio)\\d+",
13505 "type" : "string"
13506 },
13507 "cdrom" : {
13508 "description" : "This is an alias for option -ide2",
13509 "format" : "pve-qm-ide",
13510 "optional" : 1,
13511 "type" : "string",
13512 "typetext" : "<volume>"
13513 },
95895385
TL
13514 "cicustom" : {
13515 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
13516 "format" : "pve-qm-cicustom",
13517 "optional" : 1,
13518 "type" : "string",
13519 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
13520 },
4d47f125
TL
13521 "cipassword" : {
13522 "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.",
13523 "optional" : 1,
013dc89f
DM
13524 "type" : "string",
13525 "typetext" : "<string>"
44660702 13526 },
4d47f125
TL
13527 "citype" : {
13528 "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.",
13529 "enum" : [
13530 "configdrive2",
13531 "nocloud"
13532 ],
13533 "optional" : 1,
13534 "type" : "string"
13535 },
13536 "ciuser" : {
13537 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13538 "optional" : 1,
013dc89f
DM
13539 "type" : "string",
13540 "typetext" : "<string>"
56122987 13541 },
4d47f125
TL
13542 "cores" : {
13543 "default" : 1,
13544 "description" : "The number of cores per socket.",
7aacca6f 13545 "minimum" : 1,
4d47f125 13546 "optional" : 1,
4bd7df8b 13547 "type" : "integer",
013dc89f 13548 "typetext" : "<integer> (1 - N)"
4d47f125
TL
13549 },
13550 "cpu" : {
13551 "description" : "Emulated CPU type.",
13552 "format" : {
13553 "cputype" : {
13554 "default" : "kvm64",
13555 "default_key" : 1,
13556 "description" : "Emulated CPU type.",
13557 "enum" : [
13558 "486",
13559 "athlon",
13560 "Broadwell",
13561 "Broadwell-IBRS",
13562 "Broadwell-noTSX",
13563 "Broadwell-noTSX-IBRS",
1c532546 13564 "Cascadelake-Server",
4d47f125
TL
13565 "Conroe",
13566 "core2duo",
13567 "coreduo",
13568 "EPYC",
13569 "EPYC-IBPB",
13570 "Haswell",
13571 "Haswell-IBRS",
13572 "Haswell-noTSX",
13573 "Haswell-noTSX-IBRS",
13574 "host",
13575 "IvyBridge",
13576 "IvyBridge-IBRS",
1c532546 13577 "KnightsMill",
4d47f125
TL
13578 "kvm32",
13579 "kvm64",
13580 "max",
13581 "Nehalem",
13582 "Nehalem-IBRS",
13583 "Opteron_G1",
13584 "Opteron_G2",
13585 "Opteron_G3",
13586 "Opteron_G4",
13587 "Opteron_G5",
13588 "Penryn",
13589 "pentium",
13590 "pentium2",
13591 "pentium3",
13592 "phenom",
13593 "qemu32",
13594 "qemu64",
13595 "SandyBridge",
13596 "SandyBridge-IBRS",
13597 "Skylake-Client",
13598 "Skylake-Client-IBRS",
13599 "Skylake-Server",
13600 "Skylake-Server-IBRS",
13601 "Westmere",
13602 "Westmere-IBRS"
13603 ],
13604 "type" : "string"
13605 },
13606 "flags" : {
1c532546 13607 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
4d47f125
TL
13608 "format_description" : "+FLAG[;-FLAG...]",
13609 "optional" : 1,
1c532546 13610 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
4d47f125
TL
13611 "type" : "string"
13612 },
13613 "hidden" : {
13614 "default" : 0,
13615 "description" : "Do not identify as a KVM virtual machine.",
13616 "optional" : 1,
13617 "type" : "boolean"
5f26e15b
TL
13618 },
13619 "hv-vendor-id" : {
13620 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
13621 "format_description" : "vendor-id",
13622 "optional" : 1,
13623 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
13624 "type" : "string"
4d47f125
TL
13625 }
13626 },
13627 "optional" : 1,
013dc89f 13628 "type" : "string",
5f26e15b 13629 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
44660702 13630 },
4d47f125
TL
13631 "cpulimit" : {
13632 "default" : 0,
13633 "description" : "Limit of CPU usage.",
13634 "maximum" : 128,
13635 "minimum" : 0,
13636 "optional" : 1,
13637 "type" : "number",
13638 "typetext" : "<number> (0 - 128)",
13639 "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."
13640 },
13641 "cpuunits" : {
13642 "default" : 1024,
13643 "description" : "CPU weight for a VM.",
13644 "maximum" : 262144,
13645 "minimum" : 2,
13646 "optional" : 1,
4bd7df8b 13647 "type" : "integer",
4d47f125
TL
13648 "typetext" : "<integer> (2 - 262144)",
13649 "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 13650 },
4d47f125
TL
13651 "delete" : {
13652 "description" : "A list of settings you want to delete.",
13653 "format" : "pve-configid-list",
13654 "optional" : 1,
13655 "type" : "string",
13656 "typetext" : "<string>"
13657 },
13658 "description" : {
13659 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
13660 "optional" : 1,
13661 "type" : "string",
13662 "typetext" : "<string>"
13663 },
13664 "digest" : {
13665 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13666 "maxLength" : 40,
44660702 13667 "optional" : 1,
4d47f125
TL
13668 "type" : "string",
13669 "typetext" : "<string>"
13670 },
13671 "efidisk0" : {
13672 "description" : "Configure a Disk for storing EFI vars",
13673 "format" : {
13674 "file" : {
13675 "default_key" : 1,
13676 "description" : "The drive's backing volume.",
13677 "format" : "pve-volume-id-or-qm-path",
13678 "format_description" : "volume",
13679 "type" : "string"
13680 },
13681 "format" : {
13682 "description" : "The drive's backing file's data format.",
13683 "enum" : [
13684 "raw",
13685 "cow",
13686 "qcow",
13687 "qed",
13688 "qcow2",
13689 "vmdk",
13690 "cloop"
13691 ],
13692 "optional" : 1,
13693 "type" : "string"
13694 },
13695 "size" : {
13696 "description" : "Disk size. This is purely informational and has no effect.",
13697 "format" : "disk-size",
13698 "format_description" : "DiskSize",
13699 "optional" : 1,
13700 "type" : "string"
13701 },
13702 "volume" : {
13703 "alias" : "file"
13704 }
13705 },
13706 "optional" : 1,
13707 "type" : "string",
13708 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
13709 },
13710 "force" : {
13711 "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.",
13712 "optional" : 1,
13713 "requires" : "delete",
013dc89f
DM
13714 "type" : "boolean",
13715 "typetext" : "<boolean>"
56122987 13716 },
4d47f125
TL
13717 "freeze" : {
13718 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13719 "optional" : 1,
13720 "type" : "boolean",
13721 "typetext" : "<boolean>"
7aacca6f 13722 },
5f26e15b
TL
13723 "hookscript" : {
13724 "description" : "Script that will be executed during various steps in the vms lifetime.",
13725 "format" : "pve-volume-id",
13726 "optional" : 1,
13727 "type" : "string",
13728 "typetext" : "<string>"
13729 },
4d47f125
TL
13730 "hostpci[n]" : {
13731 "description" : "Map host PCI devices into guest.",
13732 "format" : "pve-qm-hostpci",
13733 "optional" : 1,
13734 "type" : "string",
e2d681b3 13735 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 13736 "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 13737 },
4d47f125
TL
13738 "hotplug" : {
13739 "default" : "network,disk,usb",
13740 "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'.",
13741 "format" : "pve-hotplug-features",
13742 "optional" : 1,
35a75dd3
DM
13743 "type" : "string",
13744 "typetext" : "<string>"
13745 },
4d47f125
TL
13746 "hugepages" : {
13747 "description" : "Enable/disable hugepages memory.",
35a75dd3 13748 "enum" : [
4d47f125
TL
13749 "any",
13750 "2",
13751 "1024"
35a75dd3
DM
13752 ],
13753 "optional" : 1,
13754 "type" : "string"
13755 },
4d47f125
TL
13756 "ide[n]" : {
13757 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
13758 "format" : {
13759 "aio" : {
13760 "description" : "AIO type to use.",
13761 "enum" : [
13762 "native",
13763 "threads"
13764 ],
44660702 13765 "optional" : 1,
44660702
DM
13766 "type" : "string"
13767 },
4d47f125
TL
13768 "backup" : {
13769 "description" : "Whether the drive should be included when making backups.",
56122987 13770 "optional" : 1,
4d47f125 13771 "type" : "boolean"
56122987 13772 },
4d47f125
TL
13773 "bps" : {
13774 "description" : "Maximum r/w speed in bytes per second.",
13775 "format_description" : "bps",
de0983cb 13776 "optional" : 1,
4d47f125 13777 "type" : "integer"
de0983cb 13778 },
4d47f125
TL
13779 "bps_max_length" : {
13780 "description" : "Maximum length of I/O bursts in seconds.",
13781 "format_description" : "seconds",
13782 "minimum" : 1,
de0983cb 13783 "optional" : 1,
4d47f125 13784 "type" : "integer"
7aacca6f 13785 },
4d47f125
TL
13786 "bps_rd" : {
13787 "description" : "Maximum read speed in bytes per second.",
13788 "format_description" : "bps",
7aacca6f 13789 "optional" : 1,
4d47f125 13790 "type" : "integer"
56122987 13791 },
4d47f125
TL
13792 "bps_rd_length" : {
13793 "alias" : "bps_rd_max_length"
13794 },
13795 "bps_rd_max_length" : {
13796 "description" : "Maximum length of read I/O bursts in seconds.",
13797 "format_description" : "seconds",
13798 "minimum" : 1,
56122987 13799 "optional" : 1,
4d47f125 13800 "type" : "integer"
56122987 13801 },
4d47f125
TL
13802 "bps_wr" : {
13803 "description" : "Maximum write speed in bytes per second.",
13804 "format_description" : "bps",
52e44c50 13805 "optional" : 1,
4d47f125 13806 "type" : "integer"
52e44c50 13807 },
4d47f125
TL
13808 "bps_wr_length" : {
13809 "alias" : "bps_wr_max_length"
13810 },
13811 "bps_wr_max_length" : {
13812 "description" : "Maximum length of write I/O bursts in seconds.",
13813 "format_description" : "seconds",
44660702 13814 "minimum" : 1,
56122987 13815 "optional" : 1,
4d47f125 13816 "type" : "integer"
56122987 13817 },
4d47f125
TL
13818 "cache" : {
13819 "description" : "The drive's cache mode",
13820 "enum" : [
13821 "none",
13822 "writethrough",
13823 "writeback",
13824 "unsafe",
13825 "directsync"
13826 ],
7aacca6f 13827 "optional" : 1,
4d47f125 13828 "type" : "string"
7aacca6f 13829 },
4d47f125
TL
13830 "cyls" : {
13831 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13832 "optional" : 1,
13833 "type" : "integer"
56122987 13834 },
4d47f125
TL
13835 "detect_zeroes" : {
13836 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13837 "optional" : 1,
4d47f125 13838 "type" : "boolean"
56122987 13839 },
4d47f125
TL
13840 "discard" : {
13841 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13842 "enum" : [
13843 "ignore",
13844 "on"
13845 ],
56122987 13846 "optional" : 1,
4d47f125 13847 "type" : "string"
7aacca6f 13848 },
4d47f125
TL
13849 "file" : {
13850 "default_key" : 1,
13851 "description" : "The drive's backing volume.",
13852 "format" : "pve-volume-id-or-qm-path",
13853 "format_description" : "volume",
13854 "type" : "string"
56122987 13855 },
4d47f125
TL
13856 "format" : {
13857 "description" : "The drive's backing file's data format.",
13858 "enum" : [
13859 "raw",
13860 "cow",
13861 "qcow",
13862 "qed",
13863 "qcow2",
13864 "vmdk",
13865 "cloop"
13866 ],
7aacca6f 13867 "optional" : 1,
4d47f125 13868 "type" : "string"
7aacca6f 13869 },
4d47f125
TL
13870 "heads" : {
13871 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 13872 "optional" : 1,
4d47f125 13873 "type" : "integer"
56122987 13874 },
4d47f125
TL
13875 "iops" : {
13876 "description" : "Maximum r/w I/O in operations per second.",
13877 "format_description" : "iops",
44660702 13878 "optional" : 1,
4d47f125 13879 "type" : "integer"
44660702 13880 },
4d47f125
TL
13881 "iops_max" : {
13882 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
13883 "format_description" : "iops",
44660702 13884 "optional" : 1,
4d47f125 13885 "type" : "integer"
56122987 13886 },
4d47f125
TL
13887 "iops_max_length" : {
13888 "description" : "Maximum length of I/O bursts in seconds.",
13889 "format_description" : "seconds",
13890 "minimum" : 1,
7aacca6f 13891 "optional" : 1,
4d47f125 13892 "type" : "integer"
7aacca6f 13893 },
4d47f125
TL
13894 "iops_rd" : {
13895 "description" : "Maximum read I/O in operations per second.",
13896 "format_description" : "iops",
13897 "optional" : 1,
13898 "type" : "integer"
13899 },
13900 "iops_rd_length" : {
13901 "alias" : "iops_rd_max_length"
13902 },
13903 "iops_rd_max" : {
13904 "description" : "Maximum unthrottled read I/O pool in operations per second.",
13905 "format_description" : "iops",
13906 "optional" : 1,
13907 "type" : "integer"
13908 },
13909 "iops_rd_max_length" : {
13910 "description" : "Maximum length of read I/O bursts in seconds.",
13911 "format_description" : "seconds",
44660702 13912 "minimum" : 1,
4d47f125
TL
13913 "optional" : 1,
13914 "type" : "integer"
7aacca6f 13915 },
4d47f125
TL
13916 "iops_wr" : {
13917 "description" : "Maximum write I/O in operations per second.",
13918 "format_description" : "iops",
44660702 13919 "optional" : 1,
4d47f125 13920 "type" : "integer"
44660702 13921 },
4d47f125
TL
13922 "iops_wr_length" : {
13923 "alias" : "iops_wr_max_length"
13924 },
13925 "iops_wr_max" : {
13926 "description" : "Maximum unthrottled write I/O pool in operations per second.",
13927 "format_description" : "iops",
13928 "optional" : 1,
13929 "type" : "integer"
13930 },
13931 "iops_wr_max_length" : {
13932 "description" : "Maximum length of write I/O bursts in seconds.",
13933 "format_description" : "seconds",
44660702 13934 "minimum" : 1,
44660702 13935 "optional" : 1,
4d47f125 13936 "type" : "integer"
44660702 13937 },
4d47f125
TL
13938 "mbps" : {
13939 "description" : "Maximum r/w speed in megabytes per second.",
13940 "format_description" : "mbps",
13941 "optional" : 1,
13942 "type" : "number"
56122987 13943 },
4d47f125
TL
13944 "mbps_max" : {
13945 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
13946 "format_description" : "mbps",
13947 "optional" : 1,
13948 "type" : "number"
13949 },
13950 "mbps_rd" : {
13951 "description" : "Maximum read speed in megabytes per second.",
13952 "format_description" : "mbps",
13953 "optional" : 1,
13954 "type" : "number"
13955 },
13956 "mbps_rd_max" : {
13957 "description" : "Maximum unthrottled read pool in megabytes per second.",
13958 "format_description" : "mbps",
13959 "optional" : 1,
13960 "type" : "number"
13961 },
13962 "mbps_wr" : {
13963 "description" : "Maximum write speed in megabytes per second.",
13964 "format_description" : "mbps",
13965 "optional" : 1,
13966 "type" : "number"
13967 },
13968 "mbps_wr_max" : {
13969 "description" : "Maximum unthrottled write pool in megabytes per second.",
13970 "format_description" : "mbps",
13971 "optional" : 1,
13972 "type" : "number"
13973 },
13974 "media" : {
13975 "default" : "disk",
13976 "description" : "The drive's media type.",
13977 "enum" : [
13978 "cdrom",
13979 "disk"
13980 ],
13981 "optional" : 1,
13982 "type" : "string"
13983 },
13984 "model" : {
13985 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
13986 "format" : "urlencoded",
13987 "format_description" : "model",
13988 "maxLength" : 120,
13989 "optional" : 1,
13990 "type" : "string"
13991 },
13992 "replicate" : {
13993 "default" : 1,
13994 "description" : "Whether the drive should considered for replication jobs.",
13995 "optional" : 1,
13996 "type" : "boolean"
13997 },
13998 "rerror" : {
13999 "description" : "Read error action.",
14000 "enum" : [
14001 "ignore",
14002 "report",
14003 "stop"
14004 ],
14005 "optional" : 1,
14006 "type" : "string"
14007 },
14008 "secs" : {
14009 "description" : "Force the drive's physical geometry to have a specific sector count.",
14010 "optional" : 1,
14011 "type" : "integer"
14012 },
14013 "serial" : {
14014 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14015 "format" : "urlencoded",
14016 "format_description" : "serial",
14017 "maxLength" : 60,
14018 "optional" : 1,
14019 "type" : "string"
14020 },
14021 "shared" : {
14022 "default" : 0,
14023 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 14024 "optional" : 1,
013dc89f 14025 "type" : "boolean",
4d47f125 14026 "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 14027 },
4d47f125
TL
14028 "size" : {
14029 "description" : "Disk size. This is purely informational and has no effect.",
14030 "format" : "disk-size",
14031 "format_description" : "DiskSize",
14032 "optional" : 1,
14033 "type" : "string"
14034 },
14035 "snapshot" : {
14036 "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.",
14037 "optional" : 1,
14038 "type" : "boolean"
14039 },
25203dc1
NC
14040 "ssd" : {
14041 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14042 "optional" : 1,
14043 "type" : "boolean"
14044 },
4d47f125
TL
14045 "trans" : {
14046 "description" : "Force disk geometry bios translation mode.",
14047 "enum" : [
14048 "none",
14049 "lba",
14050 "auto"
14051 ],
14052 "optional" : 1,
14053 "type" : "string"
14054 },
14055 "volume" : {
14056 "alias" : "file"
14057 },
14058 "werror" : {
14059 "description" : "Write error action.",
14060 "enum" : [
14061 "enospc",
14062 "ignore",
14063 "report",
14064 "stop"
14065 ],
14066 "optional" : 1,
14067 "type" : "string"
95895385
TL
14068 },
14069 "wwn" : {
14070 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14071 "format_description" : "wwn",
14072 "optional" : 1,
14073 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14074 "type" : "string"
4d47f125
TL
14075 }
14076 },
14077 "optional" : 1,
013dc89f 14078 "type" : "string",
95895385 14079 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 14080 },
4d47f125
TL
14081 "ipconfig[n]" : {
14082 "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",
14083 "format" : "pve-qm-ipconfig",
14084 "optional" : 1,
013dc89f 14085 "type" : "string",
4d47f125 14086 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 14087 },
95895385
TL
14088 "ivshmem" : {
14089 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
14090 "format" : {
14091 "name" : {
14092 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
14093 "format_description" : "string",
14094 "optional" : 1,
14095 "pattern" : "[a-zA-Z0-9\\-]+",
14096 "type" : "string"
14097 },
14098 "size" : {
14099 "description" : "The size of the file in MB.",
14100 "minimum" : 1,
14101 "type" : "integer"
14102 }
14103 },
14104 "optional" : 1,
14105 "type" : "string",
14106 "typetext" : "size=<integer> [,name=<string>]"
14107 },
4d47f125
TL
14108 "keyboard" : {
14109 "default" : null,
14110 "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.",
14111 "enum" : [
14112 "de",
14113 "de-ch",
14114 "da",
14115 "en-gb",
14116 "en-us",
14117 "es",
14118 "fi",
14119 "fr",
14120 "fr-be",
14121 "fr-ca",
14122 "fr-ch",
14123 "hu",
14124 "is",
14125 "it",
14126 "ja",
14127 "lt",
14128 "mk",
14129 "nl",
14130 "no",
14131 "pl",
14132 "pt",
14133 "pt-br",
14134 "sv",
14135 "sl",
14136 "tr"
14137 ],
14138 "optional" : 1,
14139 "type" : "string"
44660702 14140 },
4d47f125
TL
14141 "kvm" : {
14142 "default" : 1,
14143 "description" : "Enable/disable KVM hardware virtualization.",
44660702 14144 "optional" : 1,
013dc89f
DM
14145 "type" : "boolean",
14146 "typetext" : "<boolean>"
7aacca6f 14147 },
4d47f125
TL
14148 "localtime" : {
14149 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
14150 "optional" : 1,
14151 "type" : "boolean",
14152 "typetext" : "<boolean>"
14153 },
14154 "lock" : {
14155 "description" : "Lock/unlock the VM.",
56122987 14156 "enum" : [
4d47f125 14157 "backup",
5f26e15b
TL
14158 "clone",
14159 "create",
14160 "migrate",
14161 "rollback",
56122987 14162 "snapshot",
95895385
TL
14163 "snapshot-delete",
14164 "suspending",
14165 "suspended"
56122987 14166 ],
4d47f125 14167 "optional" : 1,
44660702
DM
14168 "type" : "string"
14169 },
4d47f125
TL
14170 "machine" : {
14171 "description" : "Specifies the Qemu machine type.",
14172 "maxLength" : 40,
14173 "optional" : 1,
5c1699e5 14174 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
14175 "type" : "string"
14176 },
14177 "memory" : {
14178 "default" : 512,
14179 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14180 "minimum" : 16,
14181 "optional" : 1,
14182 "type" : "integer",
14183 "typetext" : "<integer> (16 - N)"
14184 },
14185 "migrate_downtime" : {
14186 "default" : 0.1,
14187 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
14188 "minimum" : 0,
14189 "optional" : 1,
14190 "type" : "number",
14191 "typetext" : "<number> (0 - N)"
14192 },
14193 "migrate_speed" : {
14194 "default" : 0,
14195 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
14196 "minimum" : 0,
14197 "optional" : 1,
14198 "type" : "integer",
14199 "typetext" : "<integer> (0 - N)"
14200 },
14201 "name" : {
14202 "description" : "Set a name for the VM. Only used on the configuration web interface.",
14203 "format" : "dns-name",
14204 "optional" : 1,
013dc89f
DM
14205 "type" : "string",
14206 "typetext" : "<string>"
56122987 14207 },
4d47f125
TL
14208 "nameserver" : {
14209 "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.",
14210 "format" : "address-list",
7aacca6f 14211 "optional" : 1,
013dc89f
DM
14212 "type" : "string",
14213 "typetext" : "<string>"
7aacca6f 14214 },
4d47f125
TL
14215 "net[n]" : {
14216 "description" : "Specify network devices.",
14217 "format" : {
14218 "bridge" : {
14219 "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",
14220 "format_description" : "bridge",
14221 "optional" : 1,
14222 "type" : "string"
14223 },
14224 "e1000" : {
14225 "alias" : "macaddr",
14226 "keyAlias" : "model"
14227 },
14228 "e1000-82540em" : {
14229 "alias" : "macaddr",
14230 "keyAlias" : "model"
14231 },
14232 "e1000-82544gc" : {
14233 "alias" : "macaddr",
14234 "keyAlias" : "model"
14235 },
14236 "e1000-82545em" : {
14237 "alias" : "macaddr",
14238 "keyAlias" : "model"
14239 },
14240 "firewall" : {
14241 "description" : "Whether this interface should be protected by the firewall.",
14242 "optional" : 1,
14243 "type" : "boolean"
14244 },
14245 "i82551" : {
14246 "alias" : "macaddr",
14247 "keyAlias" : "model"
14248 },
14249 "i82557b" : {
14250 "alias" : "macaddr",
14251 "keyAlias" : "model"
14252 },
14253 "i82559er" : {
14254 "alias" : "macaddr",
14255 "keyAlias" : "model"
14256 },
14257 "link_down" : {
14258 "description" : "Whether this interface should be disconnected (like pulling the plug).",
14259 "optional" : 1,
14260 "type" : "boolean"
14261 },
14262 "macaddr" : {
14263 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 14264 "format" : "mac-addr",
4d47f125
TL
14265 "format_description" : "XX:XX:XX:XX:XX:XX",
14266 "optional" : 1,
95895385
TL
14267 "type" : "string",
14268 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
14269 },
14270 "model" : {
14271 "default_key" : 1,
14272 "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'.",
14273 "enum" : [
14274 "rtl8139",
14275 "ne2k_pci",
14276 "e1000",
14277 "pcnet",
14278 "virtio",
14279 "ne2k_isa",
14280 "i82551",
14281 "i82557b",
14282 "i82559er",
14283 "vmxnet3",
14284 "e1000-82540em",
14285 "e1000-82544gc",
14286 "e1000-82545em"
14287 ],
14288 "type" : "string"
14289 },
14290 "ne2k_isa" : {
14291 "alias" : "macaddr",
14292 "keyAlias" : "model"
14293 },
14294 "ne2k_pci" : {
14295 "alias" : "macaddr",
14296 "keyAlias" : "model"
14297 },
14298 "pcnet" : {
14299 "alias" : "macaddr",
14300 "keyAlias" : "model"
14301 },
14302 "queues" : {
14303 "description" : "Number of packet queues to be used on the device.",
14304 "maximum" : 16,
14305 "minimum" : 0,
14306 "optional" : 1,
14307 "type" : "integer"
14308 },
14309 "rate" : {
14310 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
14311 "minimum" : 0,
14312 "optional" : 1,
14313 "type" : "number"
14314 },
14315 "rtl8139" : {
14316 "alias" : "macaddr",
14317 "keyAlias" : "model"
14318 },
14319 "tag" : {
14320 "description" : "VLAN tag to apply to packets on this interface.",
14321 "maximum" : 4094,
14322 "minimum" : 1,
14323 "optional" : 1,
14324 "type" : "integer"
14325 },
14326 "trunks" : {
14327 "description" : "VLAN trunks to pass through this interface.",
14328 "format_description" : "vlanid[;vlanid...]",
14329 "optional" : 1,
14330 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14331 "type" : "string"
14332 },
14333 "virtio" : {
14334 "alias" : "macaddr",
14335 "keyAlias" : "model"
14336 },
14337 "vmxnet3" : {
14338 "alias" : "macaddr",
14339 "keyAlias" : "model"
14340 }
44660702 14341 },
44660702 14342 "optional" : 1,
013dc89f 14343 "type" : "string",
4d47f125 14344 "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
14345 },
14346 "node" : {
14347 "description" : "The cluster node name.",
14348 "format" : "pve-node",
013dc89f
DM
14349 "type" : "string",
14350 "typetext" : "<string>"
7aacca6f 14351 },
4d47f125
TL
14352 "numa" : {
14353 "default" : 0,
14354 "description" : "Enable/disable NUMA.",
56122987 14355 "optional" : 1,
4d47f125
TL
14356 "type" : "boolean",
14357 "typetext" : "<boolean>"
56122987 14358 },
4d47f125
TL
14359 "numa[n]" : {
14360 "description" : "NUMA topology.",
14361 "format" : {
14362 "cpus" : {
14363 "description" : "CPUs accessing this NUMA node.",
14364 "format_description" : "id[-id];...",
14365 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14366 "type" : "string"
14367 },
14368 "hostnodes" : {
14369 "description" : "Host NUMA nodes to use.",
14370 "format_description" : "id[-id];...",
14371 "optional" : 1,
14372 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14373 "type" : "string"
14374 },
14375 "memory" : {
14376 "description" : "Amount of memory this NUMA node provides.",
14377 "optional" : 1,
14378 "type" : "number"
14379 },
14380 "policy" : {
14381 "description" : "NUMA allocation policy.",
14382 "enum" : [
14383 "preferred",
14384 "bind",
14385 "interleave"
14386 ],
14387 "optional" : 1,
14388 "type" : "string"
14389 }
14390 },
7aacca6f 14391 "optional" : 1,
013dc89f 14392 "type" : "string",
4d47f125 14393 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 14394 },
4d47f125 14395 "onboot" : {
44660702 14396 "default" : 0,
4d47f125 14397 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 14398 "optional" : 1,
013dc89f
DM
14399 "type" : "boolean",
14400 "typetext" : "<boolean>"
56122987 14401 },
4d47f125
TL
14402 "ostype" : {
14403 "description" : "Specify guest operating system.",
7aacca6f 14404 "enum" : [
4d47f125
TL
14405 "other",
14406 "wxp",
14407 "w2k",
14408 "w2k3",
14409 "w2k8",
14410 "wvista",
14411 "win7",
14412 "win8",
14413 "win10",
14414 "l24",
14415 "l26",
14416 "solaris"
7aacca6f
DM
14417 ],
14418 "optional" : 1,
013dc89f 14419 "type" : "string",
5c1699e5 14420 "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 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 14421 },
4d47f125
TL
14422 "parallel[n]" : {
14423 "description" : "Map host parallel devices (n is 0 to 2).",
14424 "optional" : 1,
14425 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 14426 "type" : "string",
4d47f125 14427 "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 14428 },
4d47f125
TL
14429 "protection" : {
14430 "default" : 0,
14431 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 14432 "optional" : 1,
013dc89f
DM
14433 "type" : "boolean",
14434 "typetext" : "<boolean>"
44660702 14435 },
4d47f125
TL
14436 "reboot" : {
14437 "default" : 1,
14438 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 14439 "optional" : 1,
013dc89f
DM
14440 "type" : "boolean",
14441 "typetext" : "<boolean>"
56122987 14442 },
4d47f125
TL
14443 "revert" : {
14444 "description" : "Revert a pending change.",
14445 "format" : "pve-configid-list",
14446 "optional" : 1,
013dc89f
DM
14447 "type" : "string",
14448 "typetext" : "<string>"
56122987 14449 },
4d47f125
TL
14450 "sata[n]" : {
14451 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
14452 "format" : {
14453 "aio" : {
14454 "description" : "AIO type to use.",
14455 "enum" : [
14456 "native",
14457 "threads"
14458 ],
14459 "optional" : 1,
14460 "type" : "string"
14461 },
14462 "backup" : {
14463 "description" : "Whether the drive should be included when making backups.",
14464 "optional" : 1,
14465 "type" : "boolean"
14466 },
14467 "bps" : {
14468 "description" : "Maximum r/w speed in bytes per second.",
14469 "format_description" : "bps",
14470 "optional" : 1,
14471 "type" : "integer"
14472 },
14473 "bps_max_length" : {
14474 "description" : "Maximum length of I/O bursts in seconds.",
14475 "format_description" : "seconds",
14476 "minimum" : 1,
14477 "optional" : 1,
14478 "type" : "integer"
14479 },
14480 "bps_rd" : {
14481 "description" : "Maximum read speed in bytes per second.",
14482 "format_description" : "bps",
14483 "optional" : 1,
14484 "type" : "integer"
14485 },
14486 "bps_rd_length" : {
14487 "alias" : "bps_rd_max_length"
14488 },
14489 "bps_rd_max_length" : {
14490 "description" : "Maximum length of read I/O bursts in seconds.",
14491 "format_description" : "seconds",
14492 "minimum" : 1,
14493 "optional" : 1,
14494 "type" : "integer"
14495 },
14496 "bps_wr" : {
14497 "description" : "Maximum write speed in bytes per second.",
14498 "format_description" : "bps",
14499 "optional" : 1,
14500 "type" : "integer"
14501 },
14502 "bps_wr_length" : {
14503 "alias" : "bps_wr_max_length"
14504 },
14505 "bps_wr_max_length" : {
14506 "description" : "Maximum length of write I/O bursts in seconds.",
14507 "format_description" : "seconds",
14508 "minimum" : 1,
14509 "optional" : 1,
14510 "type" : "integer"
14511 },
14512 "cache" : {
14513 "description" : "The drive's cache mode",
14514 "enum" : [
14515 "none",
14516 "writethrough",
14517 "writeback",
14518 "unsafe",
14519 "directsync"
14520 ],
14521 "optional" : 1,
14522 "type" : "string"
14523 },
14524 "cyls" : {
14525 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14526 "optional" : 1,
14527 "type" : "integer"
14528 },
14529 "detect_zeroes" : {
14530 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14531 "optional" : 1,
14532 "type" : "boolean"
14533 },
14534 "discard" : {
14535 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14536 "enum" : [
14537 "ignore",
14538 "on"
14539 ],
14540 "optional" : 1,
14541 "type" : "string"
14542 },
14543 "file" : {
14544 "default_key" : 1,
14545 "description" : "The drive's backing volume.",
14546 "format" : "pve-volume-id-or-qm-path",
14547 "format_description" : "volume",
14548 "type" : "string"
14549 },
14550 "format" : {
14551 "description" : "The drive's backing file's data format.",
14552 "enum" : [
14553 "raw",
14554 "cow",
14555 "qcow",
14556 "qed",
14557 "qcow2",
14558 "vmdk",
14559 "cloop"
14560 ],
14561 "optional" : 1,
14562 "type" : "string"
14563 },
14564 "heads" : {
14565 "description" : "Force the drive's physical geometry to have a specific head count.",
14566 "optional" : 1,
14567 "type" : "integer"
14568 },
14569 "iops" : {
14570 "description" : "Maximum r/w I/O in operations per second.",
14571 "format_description" : "iops",
14572 "optional" : 1,
14573 "type" : "integer"
14574 },
14575 "iops_max" : {
14576 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14577 "format_description" : "iops",
14578 "optional" : 1,
14579 "type" : "integer"
14580 },
14581 "iops_max_length" : {
14582 "description" : "Maximum length of I/O bursts in seconds.",
14583 "format_description" : "seconds",
14584 "minimum" : 1,
14585 "optional" : 1,
14586 "type" : "integer"
14587 },
14588 "iops_rd" : {
14589 "description" : "Maximum read I/O in operations per second.",
14590 "format_description" : "iops",
14591 "optional" : 1,
14592 "type" : "integer"
14593 },
14594 "iops_rd_length" : {
14595 "alias" : "iops_rd_max_length"
14596 },
14597 "iops_rd_max" : {
14598 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14599 "format_description" : "iops",
14600 "optional" : 1,
14601 "type" : "integer"
14602 },
14603 "iops_rd_max_length" : {
14604 "description" : "Maximum length of read I/O bursts in seconds.",
14605 "format_description" : "seconds",
14606 "minimum" : 1,
14607 "optional" : 1,
14608 "type" : "integer"
14609 },
14610 "iops_wr" : {
14611 "description" : "Maximum write I/O in operations per second.",
14612 "format_description" : "iops",
14613 "optional" : 1,
14614 "type" : "integer"
14615 },
14616 "iops_wr_length" : {
14617 "alias" : "iops_wr_max_length"
14618 },
14619 "iops_wr_max" : {
14620 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14621 "format_description" : "iops",
14622 "optional" : 1,
14623 "type" : "integer"
14624 },
14625 "iops_wr_max_length" : {
14626 "description" : "Maximum length of write I/O bursts in seconds.",
14627 "format_description" : "seconds",
14628 "minimum" : 1,
14629 "optional" : 1,
14630 "type" : "integer"
14631 },
14632 "mbps" : {
14633 "description" : "Maximum r/w speed in megabytes per second.",
14634 "format_description" : "mbps",
14635 "optional" : 1,
14636 "type" : "number"
14637 },
14638 "mbps_max" : {
14639 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14640 "format_description" : "mbps",
14641 "optional" : 1,
14642 "type" : "number"
14643 },
14644 "mbps_rd" : {
14645 "description" : "Maximum read speed in megabytes per second.",
14646 "format_description" : "mbps",
14647 "optional" : 1,
14648 "type" : "number"
14649 },
14650 "mbps_rd_max" : {
14651 "description" : "Maximum unthrottled read pool in megabytes per second.",
14652 "format_description" : "mbps",
14653 "optional" : 1,
14654 "type" : "number"
14655 },
14656 "mbps_wr" : {
14657 "description" : "Maximum write speed in megabytes per second.",
14658 "format_description" : "mbps",
14659 "optional" : 1,
14660 "type" : "number"
14661 },
14662 "mbps_wr_max" : {
14663 "description" : "Maximum unthrottled write pool in megabytes per second.",
14664 "format_description" : "mbps",
14665 "optional" : 1,
14666 "type" : "number"
14667 },
14668 "media" : {
14669 "default" : "disk",
14670 "description" : "The drive's media type.",
14671 "enum" : [
14672 "cdrom",
14673 "disk"
14674 ],
14675 "optional" : 1,
14676 "type" : "string"
14677 },
14678 "replicate" : {
14679 "default" : 1,
14680 "description" : "Whether the drive should considered for replication jobs.",
14681 "optional" : 1,
14682 "type" : "boolean"
14683 },
14684 "rerror" : {
14685 "description" : "Read error action.",
14686 "enum" : [
14687 "ignore",
14688 "report",
14689 "stop"
14690 ],
14691 "optional" : 1,
14692 "type" : "string"
14693 },
14694 "secs" : {
14695 "description" : "Force the drive's physical geometry to have a specific sector count.",
14696 "optional" : 1,
14697 "type" : "integer"
14698 },
14699 "serial" : {
14700 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14701 "format" : "urlencoded",
14702 "format_description" : "serial",
14703 "maxLength" : 60,
14704 "optional" : 1,
14705 "type" : "string"
14706 },
14707 "shared" : {
14708 "default" : 0,
14709 "description" : "Mark this locally-managed volume as available on all nodes",
14710 "optional" : 1,
14711 "type" : "boolean",
14712 "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!"
14713 },
14714 "size" : {
14715 "description" : "Disk size. This is purely informational and has no effect.",
14716 "format" : "disk-size",
14717 "format_description" : "DiskSize",
14718 "optional" : 1,
14719 "type" : "string"
14720 },
14721 "snapshot" : {
14722 "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.",
14723 "optional" : 1,
14724 "type" : "boolean"
14725 },
25203dc1
NC
14726 "ssd" : {
14727 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14728 "optional" : 1,
14729 "type" : "boolean"
14730 },
4d47f125
TL
14731 "trans" : {
14732 "description" : "Force disk geometry bios translation mode.",
14733 "enum" : [
14734 "none",
14735 "lba",
14736 "auto"
14737 ],
14738 "optional" : 1,
14739 "type" : "string"
14740 },
14741 "volume" : {
14742 "alias" : "file"
14743 },
14744 "werror" : {
14745 "description" : "Write error action.",
14746 "enum" : [
14747 "enospc",
14748 "ignore",
14749 "report",
14750 "stop"
14751 ],
14752 "optional" : 1,
14753 "type" : "string"
95895385
TL
14754 },
14755 "wwn" : {
14756 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14757 "format_description" : "wwn",
14758 "optional" : 1,
14759 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14760 "type" : "string"
4d47f125
TL
14761 }
14762 },
14763 "optional" : 1,
14764 "type" : "string",
95895385 14765 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
14766 },
14767 "scsi[n]" : {
e9cd3bd4 14768 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
4d47f125
TL
14769 "format" : {
14770 "aio" : {
14771 "description" : "AIO type to use.",
14772 "enum" : [
14773 "native",
14774 "threads"
14775 ],
14776 "optional" : 1,
14777 "type" : "string"
14778 },
14779 "backup" : {
14780 "description" : "Whether the drive should be included when making backups.",
14781 "optional" : 1,
14782 "type" : "boolean"
14783 },
14784 "bps" : {
14785 "description" : "Maximum r/w speed in bytes per second.",
14786 "format_description" : "bps",
14787 "optional" : 1,
14788 "type" : "integer"
14789 },
14790 "bps_max_length" : {
14791 "description" : "Maximum length of I/O bursts in seconds.",
14792 "format_description" : "seconds",
14793 "minimum" : 1,
14794 "optional" : 1,
14795 "type" : "integer"
14796 },
14797 "bps_rd" : {
14798 "description" : "Maximum read speed in bytes per second.",
14799 "format_description" : "bps",
14800 "optional" : 1,
14801 "type" : "integer"
14802 },
14803 "bps_rd_length" : {
14804 "alias" : "bps_rd_max_length"
14805 },
14806 "bps_rd_max_length" : {
14807 "description" : "Maximum length of read I/O bursts in seconds.",
14808 "format_description" : "seconds",
14809 "minimum" : 1,
14810 "optional" : 1,
14811 "type" : "integer"
14812 },
14813 "bps_wr" : {
14814 "description" : "Maximum write speed in bytes per second.",
14815 "format_description" : "bps",
14816 "optional" : 1,
14817 "type" : "integer"
14818 },
14819 "bps_wr_length" : {
14820 "alias" : "bps_wr_max_length"
14821 },
14822 "bps_wr_max_length" : {
14823 "description" : "Maximum length of write I/O bursts in seconds.",
14824 "format_description" : "seconds",
14825 "minimum" : 1,
14826 "optional" : 1,
14827 "type" : "integer"
14828 },
14829 "cache" : {
14830 "description" : "The drive's cache mode",
14831 "enum" : [
14832 "none",
14833 "writethrough",
14834 "writeback",
14835 "unsafe",
14836 "directsync"
14837 ],
14838 "optional" : 1,
14839 "type" : "string"
14840 },
14841 "cyls" : {
14842 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14843 "optional" : 1,
14844 "type" : "integer"
14845 },
14846 "detect_zeroes" : {
14847 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14848 "optional" : 1,
14849 "type" : "boolean"
14850 },
14851 "discard" : {
14852 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14853 "enum" : [
14854 "ignore",
14855 "on"
14856 ],
14857 "optional" : 1,
14858 "type" : "string"
14859 },
14860 "file" : {
14861 "default_key" : 1,
14862 "description" : "The drive's backing volume.",
14863 "format" : "pve-volume-id-or-qm-path",
14864 "format_description" : "volume",
14865 "type" : "string"
14866 },
14867 "format" : {
14868 "description" : "The drive's backing file's data format.",
14869 "enum" : [
14870 "raw",
14871 "cow",
14872 "qcow",
14873 "qed",
14874 "qcow2",
14875 "vmdk",
14876 "cloop"
14877 ],
14878 "optional" : 1,
14879 "type" : "string"
14880 },
14881 "heads" : {
14882 "description" : "Force the drive's physical geometry to have a specific head count.",
14883 "optional" : 1,
14884 "type" : "integer"
14885 },
14886 "iops" : {
14887 "description" : "Maximum r/w I/O in operations per second.",
14888 "format_description" : "iops",
14889 "optional" : 1,
14890 "type" : "integer"
14891 },
14892 "iops_max" : {
14893 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
14894 "format_description" : "iops",
14895 "optional" : 1,
14896 "type" : "integer"
14897 },
14898 "iops_max_length" : {
14899 "description" : "Maximum length of I/O bursts in seconds.",
14900 "format_description" : "seconds",
14901 "minimum" : 1,
14902 "optional" : 1,
14903 "type" : "integer"
14904 },
14905 "iops_rd" : {
14906 "description" : "Maximum read I/O in operations per second.",
14907 "format_description" : "iops",
14908 "optional" : 1,
14909 "type" : "integer"
14910 },
14911 "iops_rd_length" : {
14912 "alias" : "iops_rd_max_length"
14913 },
14914 "iops_rd_max" : {
14915 "description" : "Maximum unthrottled read I/O pool in operations per second.",
14916 "format_description" : "iops",
14917 "optional" : 1,
14918 "type" : "integer"
14919 },
14920 "iops_rd_max_length" : {
14921 "description" : "Maximum length of read I/O bursts in seconds.",
14922 "format_description" : "seconds",
14923 "minimum" : 1,
14924 "optional" : 1,
14925 "type" : "integer"
14926 },
14927 "iops_wr" : {
14928 "description" : "Maximum write I/O in operations per second.",
14929 "format_description" : "iops",
14930 "optional" : 1,
14931 "type" : "integer"
14932 },
14933 "iops_wr_length" : {
14934 "alias" : "iops_wr_max_length"
14935 },
14936 "iops_wr_max" : {
14937 "description" : "Maximum unthrottled write I/O pool in operations per second.",
14938 "format_description" : "iops",
14939 "optional" : 1,
14940 "type" : "integer"
14941 },
14942 "iops_wr_max_length" : {
14943 "description" : "Maximum length of write I/O bursts in seconds.",
14944 "format_description" : "seconds",
14945 "minimum" : 1,
14946 "optional" : 1,
14947 "type" : "integer"
14948 },
14949 "iothread" : {
14950 "description" : "Whether to use iothreads for this drive",
14951 "optional" : 1,
14952 "type" : "boolean"
14953 },
14954 "mbps" : {
14955 "description" : "Maximum r/w speed in megabytes per second.",
14956 "format_description" : "mbps",
14957 "optional" : 1,
14958 "type" : "number"
14959 },
14960 "mbps_max" : {
14961 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
14962 "format_description" : "mbps",
14963 "optional" : 1,
14964 "type" : "number"
14965 },
14966 "mbps_rd" : {
14967 "description" : "Maximum read speed in megabytes per second.",
14968 "format_description" : "mbps",
14969 "optional" : 1,
14970 "type" : "number"
14971 },
14972 "mbps_rd_max" : {
14973 "description" : "Maximum unthrottled read pool in megabytes per second.",
14974 "format_description" : "mbps",
14975 "optional" : 1,
14976 "type" : "number"
14977 },
14978 "mbps_wr" : {
14979 "description" : "Maximum write speed in megabytes per second.",
14980 "format_description" : "mbps",
14981 "optional" : 1,
14982 "type" : "number"
14983 },
14984 "mbps_wr_max" : {
14985 "description" : "Maximum unthrottled write pool in megabytes per second.",
14986 "format_description" : "mbps",
14987 "optional" : 1,
14988 "type" : "number"
14989 },
14990 "media" : {
14991 "default" : "disk",
14992 "description" : "The drive's media type.",
14993 "enum" : [
14994 "cdrom",
14995 "disk"
14996 ],
14997 "optional" : 1,
14998 "type" : "string"
14999 },
15000 "queues" : {
15001 "description" : "Number of queues.",
15002 "minimum" : 2,
15003 "optional" : 1,
15004 "type" : "integer"
15005 },
15006 "replicate" : {
15007 "default" : 1,
15008 "description" : "Whether the drive should considered for replication jobs.",
15009 "optional" : 1,
15010 "type" : "boolean"
15011 },
15012 "rerror" : {
15013 "description" : "Read error action.",
15014 "enum" : [
15015 "ignore",
15016 "report",
15017 "stop"
15018 ],
15019 "optional" : 1,
15020 "type" : "string"
15021 },
15022 "scsiblock" : {
15023 "default" : 0,
15024 "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",
15025 "optional" : 1,
15026 "type" : "boolean"
15027 },
15028 "secs" : {
15029 "description" : "Force the drive's physical geometry to have a specific sector count.",
15030 "optional" : 1,
15031 "type" : "integer"
15032 },
15033 "serial" : {
15034 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15035 "format" : "urlencoded",
15036 "format_description" : "serial",
15037 "maxLength" : 60,
15038 "optional" : 1,
15039 "type" : "string"
15040 },
15041 "shared" : {
15042 "default" : 0,
15043 "description" : "Mark this locally-managed volume as available on all nodes",
15044 "optional" : 1,
15045 "type" : "boolean",
15046 "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!"
15047 },
15048 "size" : {
15049 "description" : "Disk size. This is purely informational and has no effect.",
15050 "format" : "disk-size",
15051 "format_description" : "DiskSize",
15052 "optional" : 1,
15053 "type" : "string"
15054 },
15055 "snapshot" : {
15056 "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.",
15057 "optional" : 1,
15058 "type" : "boolean"
15059 },
25203dc1
NC
15060 "ssd" : {
15061 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15062 "optional" : 1,
15063 "type" : "boolean"
15064 },
4d47f125
TL
15065 "trans" : {
15066 "description" : "Force disk geometry bios translation mode.",
15067 "enum" : [
15068 "none",
15069 "lba",
15070 "auto"
15071 ],
15072 "optional" : 1,
15073 "type" : "string"
15074 },
15075 "volume" : {
15076 "alias" : "file"
15077 },
15078 "werror" : {
15079 "description" : "Write error action.",
15080 "enum" : [
15081 "enospc",
15082 "ignore",
15083 "report",
15084 "stop"
15085 ],
15086 "optional" : 1,
15087 "type" : "string"
95895385
TL
15088 },
15089 "wwn" : {
15090 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15091 "format_description" : "wwn",
15092 "optional" : 1,
15093 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15094 "type" : "string"
4d47f125
TL
15095 }
15096 },
15097 "optional" : 1,
15098 "type" : "string",
95895385 15099 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
15100 },
15101 "scsihw" : {
15102 "default" : "lsi",
15103 "description" : "SCSI controller model",
15104 "enum" : [
15105 "lsi",
15106 "lsi53c810",
15107 "virtio-scsi-pci",
15108 "virtio-scsi-single",
15109 "megasas",
15110 "pvscsi"
15111 ],
15112 "optional" : 1,
15113 "type" : "string"
15114 },
15115 "searchdomain" : {
15116 "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.",
15117 "optional" : 1,
15118 "type" : "string",
15119 "typetext" : "<string>"
15120 },
15121 "serial[n]" : {
15122 "description" : "Create a serial device inside the VM (n is 0 to 3)",
15123 "optional" : 1,
15124 "pattern" : "(/dev/.+|socket)",
15125 "type" : "string",
15126 "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"
15127 },
15128 "shares" : {
15129 "default" : 1000,
15130 "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.",
15131 "maximum" : 50000,
15132 "minimum" : 0,
15133 "optional" : 1,
15134 "type" : "integer",
15135 "typetext" : "<integer> (0 - 50000)"
15136 },
15137 "skiplock" : {
15138 "description" : "Ignore locks - only root is allowed to use this option.",
15139 "optional" : 1,
15140 "type" : "boolean",
15141 "typetext" : "<boolean>"
15142 },
15143 "smbios1" : {
15144 "description" : "Specify SMBIOS type 1 fields.",
15145 "format" : "pve-qm-smbios1",
1e3f8156 15146 "maxLength" : 512,
4d47f125
TL
15147 "optional" : 1,
15148 "type" : "string",
1e3f8156 15149 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
4d47f125
TL
15150 },
15151 "smp" : {
15152 "default" : 1,
15153 "description" : "The number of CPUs. Please use option -sockets instead.",
15154 "minimum" : 1,
15155 "optional" : 1,
15156 "type" : "integer",
15157 "typetext" : "<integer> (1 - N)"
15158 },
15159 "sockets" : {
15160 "default" : 1,
15161 "description" : "The number of CPU sockets.",
15162 "minimum" : 1,
15163 "optional" : 1,
15164 "type" : "integer",
15165 "typetext" : "<integer> (1 - N)"
15166 },
1c532546
TL
15167 "spice_enhancements" : {
15168 "description" : "Configure additional enhancements for SPICE.",
15169 "format" : {
15170 "foldersharing" : {
15171 "default" : "0",
15172 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
15173 "optional" : 1,
15174 "type" : "boolean"
15175 },
15176 "videostreaming" : {
15177 "default" : "off",
15178 "description" : "Enable video streaming. Uses compression for detected video streams.",
15179 "enum" : [
15180 "off",
15181 "all",
15182 "filter"
15183 ],
15184 "optional" : 1,
15185 "type" : "string"
15186 }
15187 },
15188 "optional" : 1,
15189 "type" : "string",
15190 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
15191 },
4d47f125
TL
15192 "sshkeys" : {
15193 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
15194 "format" : "urlencoded",
15195 "optional" : 1,
15196 "type" : "string",
15197 "typetext" : "<string>"
15198 },
15199 "startdate" : {
15200 "default" : "now",
15201 "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'.",
15202 "optional" : 1,
15203 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
15204 "type" : "string",
15205 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
15206 },
15207 "startup" : {
15208 "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.",
15209 "format" : "pve-startup-order",
15210 "optional" : 1,
15211 "type" : "string",
15212 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15213 },
15214 "tablet" : {
15215 "default" : 1,
15216 "description" : "Enable/disable the USB tablet device.",
15217 "optional" : 1,
15218 "type" : "boolean",
15219 "typetext" : "<boolean>",
15220 "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)."
15221 },
5c1699e5
TL
15222 "tags" : {
15223 "description" : "Tags of the VM. This is only meta information.",
15224 "format" : "pve-tag-list",
15225 "optional" : 1,
15226 "type" : "string",
15227 "typetext" : "<string>"
15228 },
4d47f125
TL
15229 "tdf" : {
15230 "default" : 0,
15231 "description" : "Enable/disable time drift fix.",
15232 "optional" : 1,
15233 "type" : "boolean",
15234 "typetext" : "<boolean>"
15235 },
15236 "template" : {
15237 "default" : 0,
15238 "description" : "Enable/disable Template.",
15239 "optional" : 1,
15240 "type" : "boolean",
15241 "typetext" : "<boolean>"
15242 },
15243 "unused[n]" : {
15244 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
15245 "format" : "pve-volume-id",
15246 "optional" : 1,
15247 "type" : "string",
15248 "typetext" : "<string>"
15249 },
15250 "usb[n]" : {
15251 "description" : "Configure an USB device (n is 0 to 4).",
15252 "format" : {
15253 "host" : {
15254 "default_key" : 1,
15255 "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",
15256 "format" : "pve-qm-usb-device",
15257 "format_description" : "HOSTUSBDEVICE|spice",
15258 "type" : "string"
15259 },
15260 "usb3" : {
15261 "default" : 0,
1c532546 15262 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
15263 "optional" : 1,
15264 "type" : "boolean"
15265 }
15266 },
15267 "optional" : 1,
15268 "type" : "string",
15269 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
15270 },
15271 "vcpus" : {
15272 "default" : 0,
15273 "description" : "Number of hotplugged vcpus.",
15274 "minimum" : 1,
15275 "optional" : 1,
15276 "type" : "integer",
15277 "typetext" : "<integer> (1 - N)"
15278 },
15279 "vga" : {
e2d681b3
TL
15280 "description" : "Configure the VGA hardware.",
15281 "format" : {
15282 "memory" : {
15283 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
15284 "maximum" : 512,
15285 "minimum" : 4,
15286 "optional" : 1,
15287 "type" : "integer"
15288 },
15289 "type" : {
15290 "default" : "std",
15291 "default_key" : 1,
15292 "description" : "Select the VGA type.",
15293 "enum" : [
15294 "cirrus",
15295 "qxl",
15296 "qxl2",
15297 "qxl3",
15298 "qxl4",
5f26e15b 15299 "none",
e2d681b3
TL
15300 "serial0",
15301 "serial1",
15302 "serial2",
15303 "serial3",
15304 "std",
15305 "virtio",
15306 "vmware"
15307 ],
15308 "optional" : 1,
15309 "type" : "string"
15310 }
15311 },
4d47f125
TL
15312 "optional" : 1,
15313 "type" : "string",
e2d681b3
TL
15314 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
15315 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
4d47f125
TL
15316 },
15317 "virtio[n]" : {
15318 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
15319 "format" : {
15320 "aio" : {
15321 "description" : "AIO type to use.",
15322 "enum" : [
15323 "native",
15324 "threads"
15325 ],
15326 "optional" : 1,
15327 "type" : "string"
15328 },
15329 "backup" : {
15330 "description" : "Whether the drive should be included when making backups.",
15331 "optional" : 1,
15332 "type" : "boolean"
15333 },
15334 "bps" : {
15335 "description" : "Maximum r/w speed in bytes per second.",
15336 "format_description" : "bps",
15337 "optional" : 1,
15338 "type" : "integer"
15339 },
15340 "bps_max_length" : {
15341 "description" : "Maximum length of I/O bursts in seconds.",
15342 "format_description" : "seconds",
15343 "minimum" : 1,
15344 "optional" : 1,
15345 "type" : "integer"
15346 },
15347 "bps_rd" : {
15348 "description" : "Maximum read speed in bytes per second.",
15349 "format_description" : "bps",
15350 "optional" : 1,
15351 "type" : "integer"
15352 },
15353 "bps_rd_length" : {
15354 "alias" : "bps_rd_max_length"
15355 },
15356 "bps_rd_max_length" : {
15357 "description" : "Maximum length of read I/O bursts in seconds.",
15358 "format_description" : "seconds",
15359 "minimum" : 1,
15360 "optional" : 1,
15361 "type" : "integer"
15362 },
15363 "bps_wr" : {
15364 "description" : "Maximum write speed in bytes per second.",
15365 "format_description" : "bps",
15366 "optional" : 1,
15367 "type" : "integer"
15368 },
15369 "bps_wr_length" : {
15370 "alias" : "bps_wr_max_length"
15371 },
15372 "bps_wr_max_length" : {
15373 "description" : "Maximum length of write I/O bursts in seconds.",
15374 "format_description" : "seconds",
15375 "minimum" : 1,
15376 "optional" : 1,
15377 "type" : "integer"
15378 },
15379 "cache" : {
15380 "description" : "The drive's cache mode",
15381 "enum" : [
15382 "none",
15383 "writethrough",
15384 "writeback",
15385 "unsafe",
15386 "directsync"
15387 ],
15388 "optional" : 1,
15389 "type" : "string"
15390 },
15391 "cyls" : {
15392 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15393 "optional" : 1,
15394 "type" : "integer"
15395 },
15396 "detect_zeroes" : {
15397 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15398 "optional" : 1,
15399 "type" : "boolean"
15400 },
15401 "discard" : {
15402 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15403 "enum" : [
15404 "ignore",
15405 "on"
15406 ],
15407 "optional" : 1,
15408 "type" : "string"
15409 },
15410 "file" : {
15411 "default_key" : 1,
15412 "description" : "The drive's backing volume.",
15413 "format" : "pve-volume-id-or-qm-path",
15414 "format_description" : "volume",
15415 "type" : "string"
15416 },
15417 "format" : {
15418 "description" : "The drive's backing file's data format.",
15419 "enum" : [
15420 "raw",
15421 "cow",
15422 "qcow",
15423 "qed",
15424 "qcow2",
15425 "vmdk",
15426 "cloop"
15427 ],
15428 "optional" : 1,
15429 "type" : "string"
15430 },
15431 "heads" : {
15432 "description" : "Force the drive's physical geometry to have a specific head count.",
15433 "optional" : 1,
15434 "type" : "integer"
15435 },
15436 "iops" : {
15437 "description" : "Maximum r/w I/O in operations per second.",
15438 "format_description" : "iops",
15439 "optional" : 1,
15440 "type" : "integer"
15441 },
15442 "iops_max" : {
15443 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15444 "format_description" : "iops",
15445 "optional" : 1,
15446 "type" : "integer"
15447 },
15448 "iops_max_length" : {
15449 "description" : "Maximum length of I/O bursts in seconds.",
15450 "format_description" : "seconds",
15451 "minimum" : 1,
15452 "optional" : 1,
15453 "type" : "integer"
15454 },
15455 "iops_rd" : {
15456 "description" : "Maximum read I/O in operations per second.",
15457 "format_description" : "iops",
15458 "optional" : 1,
15459 "type" : "integer"
15460 },
15461 "iops_rd_length" : {
15462 "alias" : "iops_rd_max_length"
15463 },
15464 "iops_rd_max" : {
15465 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15466 "format_description" : "iops",
15467 "optional" : 1,
15468 "type" : "integer"
15469 },
15470 "iops_rd_max_length" : {
15471 "description" : "Maximum length of read I/O bursts in seconds.",
15472 "format_description" : "seconds",
15473 "minimum" : 1,
15474 "optional" : 1,
15475 "type" : "integer"
15476 },
15477 "iops_wr" : {
15478 "description" : "Maximum write I/O in operations per second.",
15479 "format_description" : "iops",
15480 "optional" : 1,
15481 "type" : "integer"
15482 },
15483 "iops_wr_length" : {
15484 "alias" : "iops_wr_max_length"
15485 },
15486 "iops_wr_max" : {
15487 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15488 "format_description" : "iops",
15489 "optional" : 1,
15490 "type" : "integer"
15491 },
15492 "iops_wr_max_length" : {
15493 "description" : "Maximum length of write I/O bursts in seconds.",
15494 "format_description" : "seconds",
15495 "minimum" : 1,
15496 "optional" : 1,
15497 "type" : "integer"
15498 },
15499 "iothread" : {
15500 "description" : "Whether to use iothreads for this drive",
15501 "optional" : 1,
15502 "type" : "boolean"
15503 },
15504 "mbps" : {
15505 "description" : "Maximum r/w speed in megabytes per second.",
15506 "format_description" : "mbps",
15507 "optional" : 1,
15508 "type" : "number"
15509 },
15510 "mbps_max" : {
15511 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15512 "format_description" : "mbps",
15513 "optional" : 1,
15514 "type" : "number"
15515 },
15516 "mbps_rd" : {
15517 "description" : "Maximum read speed in megabytes per second.",
15518 "format_description" : "mbps",
15519 "optional" : 1,
15520 "type" : "number"
15521 },
15522 "mbps_rd_max" : {
15523 "description" : "Maximum unthrottled read pool in megabytes per second.",
15524 "format_description" : "mbps",
15525 "optional" : 1,
15526 "type" : "number"
15527 },
15528 "mbps_wr" : {
15529 "description" : "Maximum write speed in megabytes per second.",
15530 "format_description" : "mbps",
15531 "optional" : 1,
15532 "type" : "number"
15533 },
15534 "mbps_wr_max" : {
15535 "description" : "Maximum unthrottled write pool in megabytes per second.",
15536 "format_description" : "mbps",
15537 "optional" : 1,
15538 "type" : "number"
15539 },
15540 "media" : {
15541 "default" : "disk",
15542 "description" : "The drive's media type.",
15543 "enum" : [
15544 "cdrom",
15545 "disk"
15546 ],
15547 "optional" : 1,
15548 "type" : "string"
15549 },
15550 "replicate" : {
15551 "default" : 1,
15552 "description" : "Whether the drive should considered for replication jobs.",
15553 "optional" : 1,
15554 "type" : "boolean"
15555 },
15556 "rerror" : {
15557 "description" : "Read error action.",
15558 "enum" : [
15559 "ignore",
15560 "report",
15561 "stop"
15562 ],
15563 "optional" : 1,
15564 "type" : "string"
15565 },
15566 "secs" : {
15567 "description" : "Force the drive's physical geometry to have a specific sector count.",
15568 "optional" : 1,
15569 "type" : "integer"
15570 },
15571 "serial" : {
15572 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15573 "format" : "urlencoded",
15574 "format_description" : "serial",
15575 "maxLength" : 60,
15576 "optional" : 1,
15577 "type" : "string"
15578 },
15579 "shared" : {
15580 "default" : 0,
15581 "description" : "Mark this locally-managed volume as available on all nodes",
15582 "optional" : 1,
15583 "type" : "boolean",
15584 "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!"
15585 },
15586 "size" : {
15587 "description" : "Disk size. This is purely informational and has no effect.",
15588 "format" : "disk-size",
15589 "format_description" : "DiskSize",
15590 "optional" : 1,
15591 "type" : "string"
15592 },
15593 "snapshot" : {
15594 "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.",
15595 "optional" : 1,
15596 "type" : "boolean"
15597 },
15598 "trans" : {
15599 "description" : "Force disk geometry bios translation mode.",
15600 "enum" : [
15601 "none",
15602 "lba",
15603 "auto"
15604 ],
15605 "optional" : 1,
15606 "type" : "string"
15607 },
15608 "volume" : {
15609 "alias" : "file"
15610 },
15611 "werror" : {
15612 "description" : "Write error action.",
15613 "enum" : [
15614 "enospc",
15615 "ignore",
15616 "report",
15617 "stop"
15618 ],
15619 "optional" : 1,
15620 "type" : "string"
15621 }
15622 },
15623 "optional" : 1,
15624 "type" : "string",
15625 "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>]"
15626 },
15627 "vmgenid" : {
15628 "default" : "1 (autogenerated)",
15629 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
15630 "format_description" : "UUID",
15631 "optional" : 1,
15632 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
15633 "type" : "string",
15634 "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."
15635 },
15636 "vmid" : {
15637 "description" : "The (unique) ID of the VM.",
15638 "format" : "pve-vmid",
15639 "minimum" : 1,
15640 "type" : "integer",
15641 "typetext" : "<integer> (1 - N)"
15642 },
15643 "vmstatestorage" : {
15644 "description" : "Default storage for VM state volumes/files.",
15645 "format" : "pve-storage-id",
15646 "optional" : 1,
15647 "type" : "string",
15648 "typetext" : "<string>"
15649 },
15650 "watchdog" : {
15651 "description" : "Create a virtual hardware watchdog device.",
15652 "format" : "pve-qm-watchdog",
15653 "optional" : 1,
15654 "type" : "string",
15655 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
15656 "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)"
15657 }
15658 }
15659 },
15660 "permissions" : {
15661 "check" : [
15662 "perm",
15663 "/vms/{vmid}",
15664 [
15665 "VM.Config.Disk",
15666 "VM.Config.CDROM",
15667 "VM.Config.CPU",
15668 "VM.Config.Memory",
15669 "VM.Config.Network",
15670 "VM.Config.HWType",
15671 "VM.Config.Options"
15672 ],
15673 "any",
15674 1
15675 ]
15676 },
15677 "protected" : 1,
15678 "proxyto" : "node",
15679 "returns" : {
15680 "type" : "null"
15681 }
15682 }
15683 },
15684 "leaf" : 1,
15685 "path" : "/nodes/{node}/qemu/{vmid}/config",
15686 "text" : "config"
15687 },
15688 {
15689 "info" : {
15690 "GET" : {
e9cd3bd4
TL
15691 "allowtoken" : 1,
15692 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
15693 "method" : "GET",
15694 "name" : "vm_pending",
15695 "parameters" : {
15696 "additionalProperties" : 0,
15697 "properties" : {
15698 "node" : {
15699 "description" : "The cluster node name.",
15700 "format" : "pve-node",
15701 "type" : "string",
15702 "typetext" : "<string>"
15703 },
15704 "vmid" : {
15705 "description" : "The (unique) ID of the VM.",
15706 "format" : "pve-vmid",
15707 "minimum" : 1,
15708 "type" : "integer",
15709 "typetext" : "<integer> (1 - N)"
15710 }
15711 }
15712 },
15713 "permissions" : {
15714 "check" : [
15715 "perm",
15716 "/vms/{vmid}",
15717 [
15718 "VM.Audit"
15719 ]
15720 ]
15721 },
15722 "proxyto" : "node",
15723 "returns" : {
15724 "items" : {
15725 "properties" : {
15726 "delete" : {
15727 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
15728 "maximum" : 2,
15729 "minimum" : 0,
15730 "optional" : 1,
15731 "type" : "integer"
15732 },
15733 "key" : {
15734 "description" : "Configuration option name.",
15735 "type" : "string"
15736 },
15737 "pending" : {
15738 "description" : "Pending value.",
15739 "optional" : 1,
15740 "type" : "string"
15741 },
15742 "value" : {
15743 "description" : "Current value.",
15744 "optional" : 1,
15745 "type" : "string"
15746 }
15747 },
15748 "type" : "object"
15749 },
15750 "type" : "array"
15751 }
15752 }
15753 },
15754 "leaf" : 1,
15755 "path" : "/nodes/{node}/qemu/{vmid}/pending",
15756 "text" : "pending"
15757 },
15758 {
15759 "info" : {
15760 "PUT" : {
e9cd3bd4 15761 "allowtoken" : 1,
4d47f125
TL
15762 "description" : "Unlink/delete disk images.",
15763 "method" : "PUT",
15764 "name" : "unlink",
15765 "parameters" : {
15766 "additionalProperties" : 0,
15767 "properties" : {
15768 "force" : {
15769 "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.",
15770 "optional" : 1,
15771 "type" : "boolean",
15772 "typetext" : "<boolean>"
15773 },
15774 "idlist" : {
15775 "description" : "A list of disk IDs you want to delete.",
15776 "format" : "pve-configid-list",
15777 "type" : "string",
15778 "typetext" : "<string>"
15779 },
15780 "node" : {
15781 "description" : "The cluster node name.",
15782 "format" : "pve-node",
15783 "type" : "string",
15784 "typetext" : "<string>"
15785 },
15786 "vmid" : {
15787 "description" : "The (unique) ID of the VM.",
15788 "format" : "pve-vmid",
15789 "minimum" : 1,
15790 "type" : "integer",
15791 "typetext" : "<integer> (1 - N)"
15792 }
15793 }
15794 },
15795 "permissions" : {
15796 "check" : [
15797 "perm",
15798 "/vms/{vmid}",
15799 [
15800 "VM.Config.Disk"
15801 ]
15802 ]
15803 },
15804 "protected" : 1,
15805 "proxyto" : "node",
15806 "returns" : {
15807 "type" : "null"
15808 }
15809 }
15810 },
15811 "leaf" : 1,
15812 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
15813 "text" : "unlink"
15814 },
15815 {
15816 "info" : {
15817 "POST" : {
e9cd3bd4 15818 "allowtoken" : 1,
4d47f125
TL
15819 "description" : "Creates a TCP VNC proxy connections.",
15820 "method" : "POST",
15821 "name" : "vncproxy",
15822 "parameters" : {
15823 "additionalProperties" : 0,
15824 "properties" : {
15825 "node" : {
15826 "description" : "The cluster node name.",
15827 "format" : "pve-node",
15828 "type" : "string",
15829 "typetext" : "<string>"
15830 },
15831 "vmid" : {
15832 "description" : "The (unique) ID of the VM.",
15833 "format" : "pve-vmid",
15834 "minimum" : 1,
15835 "type" : "integer",
15836 "typetext" : "<integer> (1 - N)"
15837 },
15838 "websocket" : {
15839 "description" : "starts websockify instead of vncproxy",
15840 "optional" : 1,
15841 "type" : "boolean",
15842 "typetext" : "<boolean>"
15843 }
15844 }
15845 },
15846 "permissions" : {
15847 "check" : [
15848 "perm",
15849 "/vms/{vmid}",
15850 [
15851 "VM.Console"
15852 ]
15853 ]
15854 },
15855 "protected" : 1,
15856 "returns" : {
15857 "additionalProperties" : 0,
15858 "properties" : {
15859 "cert" : {
15860 "type" : "string"
15861 },
15862 "port" : {
15863 "type" : "integer"
15864 },
15865 "ticket" : {
15866 "type" : "string"
15867 },
15868 "upid" : {
15869 "type" : "string"
15870 },
15871 "user" : {
15872 "type" : "string"
15873 }
15874 }
15875 }
15876 }
15877 },
15878 "leaf" : 1,
15879 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
15880 "text" : "vncproxy"
15881 },
15882 {
15883 "info" : {
15884 "POST" : {
e9cd3bd4 15885 "allowtoken" : 1,
4d47f125
TL
15886 "description" : "Creates a TCP proxy connections.",
15887 "method" : "POST",
15888 "name" : "termproxy",
15889 "parameters" : {
15890 "additionalProperties" : 0,
15891 "properties" : {
15892 "node" : {
15893 "description" : "The cluster node name.",
15894 "format" : "pve-node",
15895 "type" : "string",
15896 "typetext" : "<string>"
15897 },
15898 "serial" : {
15899 "description" : "opens a serial terminal (defaults to display)",
15900 "enum" : [
15901 "serial0",
15902 "serial1",
15903 "serial2",
15904 "serial3"
15905 ],
15906 "optional" : 1,
15907 "type" : "string"
15908 },
15909 "vmid" : {
15910 "description" : "The (unique) ID of the VM.",
15911 "format" : "pve-vmid",
15912 "minimum" : 1,
15913 "type" : "integer",
15914 "typetext" : "<integer> (1 - N)"
15915 }
15916 }
15917 },
15918 "permissions" : {
15919 "check" : [
15920 "perm",
15921 "/vms/{vmid}",
15922 [
15923 "VM.Console"
15924 ]
15925 ]
15926 },
15927 "protected" : 1,
15928 "returns" : {
15929 "additionalProperties" : 0,
15930 "properties" : {
15931 "port" : {
15932 "type" : "integer"
15933 },
15934 "ticket" : {
15935 "type" : "string"
15936 },
15937 "upid" : {
15938 "type" : "string"
15939 },
15940 "user" : {
15941 "type" : "string"
15942 }
15943 }
15944 }
15945 }
15946 },
15947 "leaf" : 1,
15948 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
15949 "text" : "termproxy"
15950 },
15951 {
15952 "info" : {
15953 "GET" : {
e9cd3bd4 15954 "allowtoken" : 1,
4d47f125
TL
15955 "description" : "Opens a weksocket for VNC traffic.",
15956 "method" : "GET",
15957 "name" : "vncwebsocket",
15958 "parameters" : {
15959 "additionalProperties" : 0,
15960 "properties" : {
15961 "node" : {
15962 "description" : "The cluster node name.",
15963 "format" : "pve-node",
15964 "type" : "string",
15965 "typetext" : "<string>"
15966 },
15967 "port" : {
15968 "description" : "Port number returned by previous vncproxy call.",
15969 "maximum" : 5999,
15970 "minimum" : 5900,
15971 "type" : "integer",
15972 "typetext" : "<integer> (5900 - 5999)"
15973 },
15974 "vmid" : {
15975 "description" : "The (unique) ID of the VM.",
15976 "format" : "pve-vmid",
15977 "minimum" : 1,
15978 "type" : "integer",
15979 "typetext" : "<integer> (1 - N)"
15980 },
15981 "vncticket" : {
15982 "description" : "Ticket from previous call to vncproxy.",
15983 "maxLength" : 512,
15984 "type" : "string",
15985 "typetext" : "<string>"
15986 }
15987 }
15988 },
15989 "permissions" : {
15990 "check" : [
15991 "perm",
15992 "/vms/{vmid}",
15993 [
15994 "VM.Console"
15995 ]
15996 ],
15997 "description" : "You also need to pass a valid ticket (vncticket)."
15998 },
15999 "returns" : {
16000 "properties" : {
16001 "port" : {
16002 "type" : "string"
16003 }
16004 },
16005 "type" : "object"
16006 }
16007 }
16008 },
16009 "leaf" : 1,
16010 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
16011 "text" : "vncwebsocket"
16012 },
16013 {
16014 "info" : {
16015 "POST" : {
e9cd3bd4 16016 "allowtoken" : 1,
4d47f125
TL
16017 "description" : "Returns a SPICE configuration to connect to the VM.",
16018 "method" : "POST",
16019 "name" : "spiceproxy",
16020 "parameters" : {
16021 "additionalProperties" : 0,
16022 "properties" : {
16023 "node" : {
16024 "description" : "The cluster node name.",
16025 "format" : "pve-node",
16026 "type" : "string",
16027 "typetext" : "<string>"
16028 },
16029 "proxy" : {
16030 "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).",
16031 "format" : "address",
16032 "optional" : 1,
16033 "type" : "string",
16034 "typetext" : "<string>"
16035 },
16036 "vmid" : {
16037 "description" : "The (unique) ID of the VM.",
16038 "format" : "pve-vmid",
16039 "minimum" : 1,
16040 "type" : "integer",
16041 "typetext" : "<integer> (1 - N)"
16042 }
16043 }
16044 },
16045 "permissions" : {
16046 "check" : [
16047 "perm",
16048 "/vms/{vmid}",
16049 [
16050 "VM.Console"
16051 ]
16052 ]
16053 },
16054 "protected" : 1,
16055 "proxyto" : "node",
16056 "returns" : {
16057 "additionalProperties" : 1,
16058 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
16059 "properties" : {
16060 "host" : {
16061 "type" : "string"
16062 },
16063 "password" : {
16064 "type" : "string"
16065 },
16066 "proxy" : {
16067 "type" : "string"
16068 },
16069 "tls-port" : {
16070 "type" : "integer"
16071 },
16072 "type" : {
16073 "type" : "string"
16074 }
16075 }
16076 }
16077 }
16078 },
16079 "leaf" : 1,
16080 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
16081 "text" : "spiceproxy"
16082 },
16083 {
16084 "children" : [
16085 {
16086 "info" : {
16087 "GET" : {
e9cd3bd4 16088 "allowtoken" : 1,
4d47f125
TL
16089 "description" : "Get virtual machine status.",
16090 "method" : "GET",
16091 "name" : "vm_status",
16092 "parameters" : {
16093 "additionalProperties" : 0,
16094 "properties" : {
16095 "node" : {
16096 "description" : "The cluster node name.",
16097 "format" : "pve-node",
16098 "type" : "string",
16099 "typetext" : "<string>"
16100 },
16101 "vmid" : {
16102 "description" : "The (unique) ID of the VM.",
16103 "format" : "pve-vmid",
16104 "minimum" : 1,
16105 "type" : "integer",
16106 "typetext" : "<integer> (1 - N)"
16107 }
16108 }
16109 },
16110 "permissions" : {
16111 "check" : [
16112 "perm",
16113 "/vms/{vmid}",
16114 [
16115 "VM.Audit"
16116 ]
16117 ]
16118 },
16119 "protected" : 1,
16120 "proxyto" : "node",
16121 "returns" : {
16122 "properties" : {
16123 "agent" : {
16124 "description" : "Qemu GuestAgent enabled in config.",
16125 "optional" : 1,
16126 "type" : "boolean"
16127 },
16128 "cpus" : {
16129 "description" : "Maximum usable CPUs.",
16130 "optional" : 1,
16131 "type" : "number"
16132 },
16133 "ha" : {
16134 "description" : "HA manager service status.",
16135 "type" : "object"
16136 },
95895385
TL
16137 "lock" : {
16138 "description" : "The current config lock, if any.",
16139 "optional" : 1,
16140 "type" : "string"
16141 },
4d47f125
TL
16142 "maxdisk" : {
16143 "description" : "Root disk size in bytes.",
16144 "optional" : 1,
16145 "renderer" : "bytes",
16146 "type" : "integer"
16147 },
16148 "maxmem" : {
16149 "description" : "Maximum memory in bytes.",
16150 "optional" : 1,
16151 "renderer" : "bytes",
16152 "type" : "integer"
16153 },
16154 "name" : {
16155 "description" : "VM name.",
16156 "optional" : 1,
16157 "type" : "string"
16158 },
16159 "pid" : {
16160 "description" : "PID of running qemu process.",
16161 "optional" : 1,
16162 "type" : "integer"
16163 },
16164 "qmpstatus" : {
16165 "description" : "Qemu QMP agent status.",
16166 "optional" : 1,
16167 "type" : "string"
16168 },
16169 "spice" : {
16170 "description" : "Qemu VGA configuration supports spice.",
16171 "optional" : 1,
16172 "type" : "boolean"
16173 },
16174 "status" : {
16175 "description" : "Qemu process status.",
16176 "enum" : [
16177 "stopped",
16178 "running"
16179 ],
16180 "type" : "string"
16181 },
5c1699e5
TL
16182 "tags" : {
16183 "description" : "The current configured tags, if any",
16184 "optional" : 1,
16185 "type" : "string"
16186 },
4d47f125
TL
16187 "uptime" : {
16188 "description" : "Uptime.",
16189 "optional" : 1,
16190 "renderer" : "duration",
16191 "type" : "integer"
16192 },
16193 "vmid" : {
16194 "description" : "The (unique) ID of the VM.",
16195 "format" : "pve-vmid",
16196 "minimum" : 1,
16197 "type" : "integer"
16198 }
16199 },
16200 "type" : "object"
16201 }
16202 }
16203 },
16204 "leaf" : 1,
16205 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
16206 "text" : "current"
16207 },
16208 {
16209 "info" : {
16210 "POST" : {
e9cd3bd4 16211 "allowtoken" : 1,
4d47f125
TL
16212 "description" : "Start virtual machine.",
16213 "method" : "POST",
16214 "name" : "vm_start",
16215 "parameters" : {
16216 "additionalProperties" : 0,
16217 "properties" : {
16218 "machine" : {
16219 "description" : "Specifies the Qemu machine type.",
16220 "maxLength" : 40,
16221 "optional" : 1,
5c1699e5 16222 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
16223 "type" : "string"
16224 },
16225 "migratedfrom" : {
16226 "description" : "The cluster node name.",
16227 "format" : "pve-node",
16228 "optional" : 1,
16229 "type" : "string",
16230 "typetext" : "<string>"
16231 },
16232 "migration_network" : {
16233 "description" : "CIDR of the (sub) network that is used for migration.",
16234 "format" : "CIDR",
16235 "optional" : 1,
16236 "type" : "string",
16237 "typetext" : "<string>"
16238 },
16239 "migration_type" : {
16240 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
16241 "enum" : [
16242 "secure",
16243 "insecure"
16244 ],
16245 "optional" : 1,
16246 "type" : "string"
16247 },
16248 "node" : {
16249 "description" : "The cluster node name.",
16250 "format" : "pve-node",
16251 "type" : "string",
16252 "typetext" : "<string>"
16253 },
16254 "skiplock" : {
16255 "description" : "Ignore locks - only root is allowed to use this option.",
16256 "optional" : 1,
16257 "type" : "boolean",
16258 "typetext" : "<boolean>"
16259 },
16260 "stateuri" : {
16261 "description" : "Some command save/restore state from this location.",
16262 "maxLength" : 128,
16263 "optional" : 1,
16264 "type" : "string",
16265 "typetext" : "<string>"
16266 },
16267 "targetstorage" : {
16268 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
16269 "optional" : 1,
16270 "type" : "string",
16271 "typetext" : "<string>"
16272 },
e9cd3bd4
TL
16273 "timeout" : {
16274 "default" : "max(30, vm memory in GiB)",
16275 "description" : "Wait maximal timeout seconds.",
16276 "minimum" : 0,
16277 "optional" : 1,
16278 "type" : "integer",
16279 "typetext" : "<integer> (0 - N)"
16280 },
4d47f125
TL
16281 "vmid" : {
16282 "description" : "The (unique) ID of the VM.",
16283 "format" : "pve-vmid",
16284 "minimum" : 1,
16285 "type" : "integer",
16286 "typetext" : "<integer> (1 - N)"
16287 }
16288 }
16289 },
16290 "permissions" : {
16291 "check" : [
16292 "perm",
16293 "/vms/{vmid}",
16294 [
16295 "VM.PowerMgmt"
16296 ]
16297 ]
16298 },
16299 "protected" : 1,
16300 "proxyto" : "node",
16301 "returns" : {
16302 "type" : "string"
16303 }
16304 }
16305 },
16306 "leaf" : 1,
16307 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
16308 "text" : "start"
16309 },
16310 {
16311 "info" : {
16312 "POST" : {
e9cd3bd4 16313 "allowtoken" : 1,
4d47f125
TL
16314 "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",
16315 "method" : "POST",
16316 "name" : "vm_stop",
16317 "parameters" : {
16318 "additionalProperties" : 0,
16319 "properties" : {
16320 "keepActive" : {
16321 "default" : 0,
16322 "description" : "Do not deactivate storage volumes.",
16323 "optional" : 1,
16324 "type" : "boolean",
16325 "typetext" : "<boolean>"
16326 },
16327 "migratedfrom" : {
16328 "description" : "The cluster node name.",
16329 "format" : "pve-node",
16330 "optional" : 1,
16331 "type" : "string",
16332 "typetext" : "<string>"
16333 },
16334 "node" : {
16335 "description" : "The cluster node name.",
16336 "format" : "pve-node",
16337 "type" : "string",
16338 "typetext" : "<string>"
16339 },
16340 "skiplock" : {
16341 "description" : "Ignore locks - only root is allowed to use this option.",
16342 "optional" : 1,
16343 "type" : "boolean",
16344 "typetext" : "<boolean>"
16345 },
16346 "timeout" : {
16347 "description" : "Wait maximal timeout seconds.",
16348 "minimum" : 0,
16349 "optional" : 1,
16350 "type" : "integer",
16351 "typetext" : "<integer> (0 - N)"
16352 },
16353 "vmid" : {
16354 "description" : "The (unique) ID of the VM.",
16355 "format" : "pve-vmid",
16356 "minimum" : 1,
16357 "type" : "integer",
16358 "typetext" : "<integer> (1 - N)"
16359 }
16360 }
16361 },
16362 "permissions" : {
16363 "check" : [
16364 "perm",
16365 "/vms/{vmid}",
16366 [
16367 "VM.PowerMgmt"
16368 ]
16369 ]
16370 },
16371 "protected" : 1,
16372 "proxyto" : "node",
16373 "returns" : {
16374 "type" : "string"
16375 }
16376 }
16377 },
16378 "leaf" : 1,
16379 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
16380 "text" : "stop"
16381 },
16382 {
16383 "info" : {
16384 "POST" : {
e9cd3bd4 16385 "allowtoken" : 1,
4d47f125
TL
16386 "description" : "Reset virtual machine.",
16387 "method" : "POST",
16388 "name" : "vm_reset",
16389 "parameters" : {
16390 "additionalProperties" : 0,
16391 "properties" : {
16392 "node" : {
16393 "description" : "The cluster node name.",
16394 "format" : "pve-node",
16395 "type" : "string",
16396 "typetext" : "<string>"
16397 },
16398 "skiplock" : {
16399 "description" : "Ignore locks - only root is allowed to use this option.",
16400 "optional" : 1,
16401 "type" : "boolean",
16402 "typetext" : "<boolean>"
16403 },
16404 "vmid" : {
16405 "description" : "The (unique) ID of the VM.",
16406 "format" : "pve-vmid",
16407 "minimum" : 1,
16408 "type" : "integer",
16409 "typetext" : "<integer> (1 - N)"
16410 }
16411 }
16412 },
16413 "permissions" : {
16414 "check" : [
16415 "perm",
16416 "/vms/{vmid}",
16417 [
16418 "VM.PowerMgmt"
16419 ]
16420 ]
16421 },
16422 "protected" : 1,
16423 "proxyto" : "node",
16424 "returns" : {
16425 "type" : "string"
16426 }
16427 }
16428 },
16429 "leaf" : 1,
16430 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
16431 "text" : "reset"
16432 },
16433 {
16434 "info" : {
16435 "POST" : {
e9cd3bd4 16436 "allowtoken" : 1,
4d47f125
TL
16437 "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.",
16438 "method" : "POST",
16439 "name" : "vm_shutdown",
16440 "parameters" : {
16441 "additionalProperties" : 0,
16442 "properties" : {
16443 "forceStop" : {
16444 "default" : 0,
16445 "description" : "Make sure the VM stops.",
16446 "optional" : 1,
16447 "type" : "boolean",
16448 "typetext" : "<boolean>"
16449 },
16450 "keepActive" : {
16451 "default" : 0,
16452 "description" : "Do not deactivate storage volumes.",
16453 "optional" : 1,
16454 "type" : "boolean",
16455 "typetext" : "<boolean>"
16456 },
16457 "node" : {
16458 "description" : "The cluster node name.",
16459 "format" : "pve-node",
16460 "type" : "string",
16461 "typetext" : "<string>"
16462 },
16463 "skiplock" : {
16464 "description" : "Ignore locks - only root is allowed to use this option.",
16465 "optional" : 1,
16466 "type" : "boolean",
16467 "typetext" : "<boolean>"
16468 },
16469 "timeout" : {
16470 "description" : "Wait maximal timeout seconds.",
16471 "minimum" : 0,
16472 "optional" : 1,
16473 "type" : "integer",
16474 "typetext" : "<integer> (0 - N)"
16475 },
16476 "vmid" : {
16477 "description" : "The (unique) ID of the VM.",
16478 "format" : "pve-vmid",
16479 "minimum" : 1,
16480 "type" : "integer",
16481 "typetext" : "<integer> (1 - N)"
16482 }
16483 }
16484 },
16485 "permissions" : {
16486 "check" : [
16487 "perm",
16488 "/vms/{vmid}",
16489 [
16490 "VM.PowerMgmt"
16491 ]
16492 ]
16493 },
16494 "protected" : 1,
16495 "proxyto" : "node",
16496 "returns" : {
16497 "type" : "string"
16498 }
16499 }
16500 },
16501 "leaf" : 1,
16502 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
16503 "text" : "shutdown"
16504 },
1c532546
TL
16505 {
16506 "info" : {
16507 "POST" : {
e9cd3bd4 16508 "allowtoken" : 1,
1c532546
TL
16509 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
16510 "method" : "POST",
16511 "name" : "vm_reboot",
16512 "parameters" : {
16513 "additionalProperties" : 0,
16514 "properties" : {
16515 "node" : {
16516 "description" : "The cluster node name.",
16517 "format" : "pve-node",
16518 "type" : "string",
16519 "typetext" : "<string>"
16520 },
16521 "timeout" : {
16522 "description" : "Wait maximal timeout seconds for the shutdown.",
16523 "minimum" : 0,
16524 "optional" : 1,
16525 "type" : "integer",
16526 "typetext" : "<integer> (0 - N)"
16527 },
16528 "vmid" : {
16529 "description" : "The (unique) ID of the VM.",
16530 "format" : "pve-vmid",
16531 "minimum" : 1,
16532 "type" : "integer",
16533 "typetext" : "<integer> (1 - N)"
16534 }
16535 }
16536 },
16537 "permissions" : {
16538 "check" : [
16539 "perm",
16540 "/vms/{vmid}",
16541 [
16542 "VM.PowerMgmt"
16543 ]
16544 ]
16545 },
16546 "protected" : 1,
16547 "proxyto" : "node",
16548 "returns" : {
16549 "type" : "string"
16550 }
16551 }
16552 },
16553 "leaf" : 1,
16554 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
16555 "text" : "reboot"
16556 },
4d47f125
TL
16557 {
16558 "info" : {
16559 "POST" : {
e9cd3bd4 16560 "allowtoken" : 1,
4d47f125
TL
16561 "description" : "Suspend virtual machine.",
16562 "method" : "POST",
16563 "name" : "vm_suspend",
16564 "parameters" : {
16565 "additionalProperties" : 0,
16566 "properties" : {
16567 "node" : {
16568 "description" : "The cluster node name.",
16569 "format" : "pve-node",
16570 "type" : "string",
16571 "typetext" : "<string>"
16572 },
16573 "skiplock" : {
16574 "description" : "Ignore locks - only root is allowed to use this option.",
16575 "optional" : 1,
16576 "type" : "boolean",
16577 "typetext" : "<boolean>"
16578 },
95895385
TL
16579 "statestorage" : {
16580 "description" : "The storage for the VM state",
16581 "format" : "pve-storage-id",
16582 "optional" : 1,
16583 "requires" : "todisk",
16584 "type" : "string",
16585 "typetext" : "<string>"
16586 },
16587 "todisk" : {
16588 "default" : 0,
16589 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
16590 "optional" : 1,
16591 "type" : "boolean",
16592 "typetext" : "<boolean>"
16593 },
4d47f125
TL
16594 "vmid" : {
16595 "description" : "The (unique) ID of the VM.",
16596 "format" : "pve-vmid",
16597 "minimum" : 1,
16598 "type" : "integer",
16599 "typetext" : "<integer> (1 - N)"
16600 }
16601 }
16602 },
16603 "permissions" : {
16604 "check" : [
16605 "perm",
16606 "/vms/{vmid}",
16607 [
16608 "VM.PowerMgmt"
16609 ]
e9cd3bd4
TL
16610 ],
16611 "description" : "You need 'VM.PowerMgmt' on /vms/{vmid}, and if you have set 'todisk', you need also 'VM.Config.Disk' on /vms/{vmid} and 'Datastore.AllocateSpace' on the storage for the vmstate."
4d47f125
TL
16612 },
16613 "protected" : 1,
16614 "proxyto" : "node",
16615 "returns" : {
16616 "type" : "string"
16617 }
16618 }
16619 },
16620 "leaf" : 1,
16621 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
16622 "text" : "suspend"
16623 },
16624 {
16625 "info" : {
16626 "POST" : {
e9cd3bd4 16627 "allowtoken" : 1,
4d47f125
TL
16628 "description" : "Resume virtual machine.",
16629 "method" : "POST",
16630 "name" : "vm_resume",
16631 "parameters" : {
16632 "additionalProperties" : 0,
16633 "properties" : {
16634 "nocheck" : {
16635 "optional" : 1,
16636 "type" : "boolean",
16637 "typetext" : "<boolean>"
16638 },
16639 "node" : {
16640 "description" : "The cluster node name.",
16641 "format" : "pve-node",
16642 "type" : "string",
16643 "typetext" : "<string>"
16644 },
16645 "skiplock" : {
16646 "description" : "Ignore locks - only root is allowed to use this option.",
16647 "optional" : 1,
16648 "type" : "boolean",
16649 "typetext" : "<boolean>"
16650 },
16651 "vmid" : {
16652 "description" : "The (unique) ID of the VM.",
16653 "format" : "pve-vmid",
16654 "minimum" : 1,
16655 "type" : "integer",
16656 "typetext" : "<integer> (1 - N)"
16657 }
16658 }
16659 },
16660 "permissions" : {
16661 "check" : [
16662 "perm",
16663 "/vms/{vmid}",
16664 [
16665 "VM.PowerMgmt"
16666 ]
16667 ]
16668 },
16669 "protected" : 1,
16670 "proxyto" : "node",
16671 "returns" : {
16672 "type" : "string"
16673 }
16674 }
16675 },
16676 "leaf" : 1,
16677 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
16678 "text" : "resume"
16679 }
16680 ],
16681 "info" : {
16682 "GET" : {
e9cd3bd4 16683 "allowtoken" : 1,
4d47f125
TL
16684 "description" : "Directory index",
16685 "method" : "GET",
16686 "name" : "vmcmdidx",
16687 "parameters" : {
16688 "additionalProperties" : 0,
16689 "properties" : {
16690 "node" : {
16691 "description" : "The cluster node name.",
16692 "format" : "pve-node",
16693 "type" : "string",
16694 "typetext" : "<string>"
16695 },
16696 "vmid" : {
16697 "description" : "The (unique) ID of the VM.",
16698 "format" : "pve-vmid",
16699 "minimum" : 1,
16700 "type" : "integer",
16701 "typetext" : "<integer> (1 - N)"
16702 }
16703 }
16704 },
16705 "permissions" : {
16706 "user" : "all"
16707 },
16708 "proxyto" : "node",
16709 "returns" : {
16710 "items" : {
16711 "properties" : {
16712 "subdir" : {
16713 "type" : "string"
16714 }
16715 },
16716 "type" : "object"
16717 },
16718 "links" : [
16719 {
16720 "href" : "{subdir}",
16721 "rel" : "child"
16722 }
16723 ],
16724 "type" : "array"
16725 }
16726 }
16727 },
16728 "leaf" : 0,
16729 "path" : "/nodes/{node}/qemu/{vmid}/status",
16730 "text" : "status"
16731 },
16732 {
16733 "info" : {
16734 "PUT" : {
e9cd3bd4 16735 "allowtoken" : 1,
4d47f125
TL
16736 "description" : "Send key event to virtual machine.",
16737 "method" : "PUT",
16738 "name" : "vm_sendkey",
16739 "parameters" : {
16740 "additionalProperties" : 0,
16741 "properties" : {
16742 "key" : {
16743 "description" : "The key (qemu monitor encoding).",
16744 "type" : "string",
16745 "typetext" : "<string>"
16746 },
16747 "node" : {
16748 "description" : "The cluster node name.",
16749 "format" : "pve-node",
16750 "type" : "string",
16751 "typetext" : "<string>"
16752 },
16753 "skiplock" : {
16754 "description" : "Ignore locks - only root is allowed to use this option.",
16755 "optional" : 1,
16756 "type" : "boolean",
16757 "typetext" : "<boolean>"
16758 },
16759 "vmid" : {
16760 "description" : "The (unique) ID of the VM.",
16761 "format" : "pve-vmid",
16762 "minimum" : 1,
16763 "type" : "integer",
16764 "typetext" : "<integer> (1 - N)"
16765 }
16766 }
16767 },
16768 "permissions" : {
16769 "check" : [
16770 "perm",
16771 "/vms/{vmid}",
16772 [
16773 "VM.Console"
16774 ]
16775 ]
16776 },
16777 "protected" : 1,
16778 "proxyto" : "node",
16779 "returns" : {
16780 "type" : "null"
16781 }
16782 }
16783 },
16784 "leaf" : 1,
16785 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
16786 "text" : "sendkey"
16787 },
16788 {
16789 "info" : {
16790 "GET" : {
e9cd3bd4 16791 "allowtoken" : 1,
4d47f125
TL
16792 "description" : "Check if feature for virtual machine is available.",
16793 "method" : "GET",
16794 "name" : "vm_feature",
16795 "parameters" : {
16796 "additionalProperties" : 0,
16797 "properties" : {
16798 "feature" : {
16799 "description" : "Feature to check.",
16800 "enum" : [
16801 "snapshot",
16802 "clone",
16803 "copy"
16804 ],
16805 "type" : "string"
16806 },
16807 "node" : {
16808 "description" : "The cluster node name.",
16809 "format" : "pve-node",
16810 "type" : "string",
16811 "typetext" : "<string>"
16812 },
16813 "snapname" : {
16814 "description" : "The name of the snapshot.",
16815 "format" : "pve-configid",
16816 "maxLength" : 40,
16817 "optional" : 1,
16818 "type" : "string",
16819 "typetext" : "<string>"
16820 },
16821 "vmid" : {
16822 "description" : "The (unique) ID of the VM.",
16823 "format" : "pve-vmid",
16824 "minimum" : 1,
16825 "type" : "integer",
16826 "typetext" : "<integer> (1 - N)"
16827 }
16828 }
16829 },
16830 "permissions" : {
16831 "check" : [
16832 "perm",
16833 "/vms/{vmid}",
16834 [
16835 "VM.Audit"
16836 ]
16837 ]
16838 },
16839 "protected" : 1,
16840 "proxyto" : "node",
16841 "returns" : {
16842 "properties" : {
16843 "hasFeature" : {
16844 "type" : "boolean"
16845 },
16846 "nodes" : {
16847 "items" : {
16848 "type" : "string"
16849 },
16850 "type" : "array"
16851 }
16852 },
16853 "type" : "object"
16854 }
16855 }
16856 },
16857 "leaf" : 1,
16858 "path" : "/nodes/{node}/qemu/{vmid}/feature",
16859 "text" : "feature"
16860 },
16861 {
16862 "info" : {
16863 "POST" : {
e9cd3bd4 16864 "allowtoken" : 1,
4d47f125
TL
16865 "description" : "Create a copy of virtual machine/template.",
16866 "method" : "POST",
16867 "name" : "clone_vm",
16868 "parameters" : {
16869 "additionalProperties" : 0,
16870 "properties" : {
95895385
TL
16871 "bwlimit" : {
16872 "default" : "clone limit from datacenter or storage config",
16873 "description" : "Override I/O bandwidth limit (in KiB/s).",
16874 "minimum" : "0",
16875 "optional" : 1,
16876 "type" : "integer",
16877 "typetext" : "<integer> (0 - N)"
16878 },
4d47f125
TL
16879 "description" : {
16880 "description" : "Description for the new VM.",
16881 "optional" : 1,
16882 "type" : "string",
16883 "typetext" : "<string>"
16884 },
16885 "format" : {
16886 "description" : "Target format for file storage. Only valid for full clone.",
16887 "enum" : [
16888 "raw",
16889 "qcow2",
16890 "vmdk"
16891 ],
16892 "optional" : 1,
16893 "type" : "string"
16894 },
16895 "full" : {
16896 "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.",
16897 "optional" : 1,
16898 "type" : "boolean",
16899 "typetext" : "<boolean>"
16900 },
16901 "name" : {
16902 "description" : "Set a name for the new VM.",
16903 "format" : "dns-name",
16904 "optional" : 1,
16905 "type" : "string",
16906 "typetext" : "<string>"
16907 },
16908 "newid" : {
16909 "description" : "VMID for the clone.",
16910 "format" : "pve-vmid",
16911 "minimum" : 1,
16912 "type" : "integer",
16913 "typetext" : "<integer> (1 - N)"
16914 },
16915 "node" : {
16916 "description" : "The cluster node name.",
16917 "format" : "pve-node",
16918 "type" : "string",
16919 "typetext" : "<string>"
16920 },
16921 "pool" : {
16922 "description" : "Add the new VM to the specified pool.",
16923 "format" : "pve-poolid",
16924 "optional" : 1,
16925 "type" : "string",
16926 "typetext" : "<string>"
16927 },
16928 "snapname" : {
16929 "description" : "The name of the snapshot.",
16930 "format" : "pve-configid",
16931 "maxLength" : 40,
16932 "optional" : 1,
16933 "type" : "string",
16934 "typetext" : "<string>"
16935 },
16936 "storage" : {
16937 "description" : "Target storage for full clone.",
16938 "format" : "pve-storage-id",
16939 "optional" : 1,
16940 "type" : "string",
16941 "typetext" : "<string>"
16942 },
16943 "target" : {
16944 "description" : "Target node. Only allowed if the original VM is on shared storage.",
16945 "format" : "pve-node",
16946 "optional" : 1,
16947 "type" : "string",
16948 "typetext" : "<string>"
16949 },
16950 "vmid" : {
16951 "description" : "The (unique) ID of the VM.",
16952 "format" : "pve-vmid",
16953 "minimum" : 1,
16954 "type" : "integer",
16955 "typetext" : "<integer> (1 - N)"
16956 }
16957 }
16958 },
16959 "permissions" : {
16960 "check" : [
16961 "and",
16962 [
16963 "perm",
16964 "/vms/{vmid}",
16965 [
16966 "VM.Clone"
16967 ]
16968 ],
16969 [
16970 "or",
16971 [
16972 "perm",
16973 "/vms/{newid}",
16974 [
16975 "VM.Allocate"
16976 ]
16977 ],
16978 [
16979 "perm",
16980 "/pool/{pool}",
16981 [
16982 "VM.Allocate"
16983 ],
16984 "require_param",
16985 "pool"
16986 ]
16987 ]
16988 ],
16989 "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."
16990 },
16991 "protected" : 1,
16992 "proxyto" : "node",
16993 "returns" : {
16994 "type" : "string"
16995 }
16996 }
16997 },
16998 "leaf" : 1,
16999 "path" : "/nodes/{node}/qemu/{vmid}/clone",
17000 "text" : "clone"
17001 },
17002 {
17003 "info" : {
17004 "POST" : {
e9cd3bd4 17005 "allowtoken" : 1,
4d47f125
TL
17006 "description" : "Move volume to different storage.",
17007 "method" : "POST",
17008 "name" : "move_vm_disk",
17009 "parameters" : {
17010 "additionalProperties" : 0,
17011 "properties" : {
95895385
TL
17012 "bwlimit" : {
17013 "default" : "move limit from datacenter or storage config",
17014 "description" : "Override I/O bandwidth limit (in KiB/s).",
17015 "minimum" : "0",
17016 "optional" : 1,
17017 "type" : "integer",
17018 "typetext" : "<integer> (0 - N)"
17019 },
4d47f125
TL
17020 "delete" : {
17021 "default" : 0,
17022 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
17023 "optional" : 1,
17024 "type" : "boolean",
17025 "typetext" : "<boolean>"
17026 },
17027 "digest" : {
17028 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17029 "maxLength" : 40,
17030 "optional" : 1,
17031 "type" : "string",
17032 "typetext" : "<string>"
17033 },
17034 "disk" : {
17035 "description" : "The disk you want to move.",
17036 "enum" : [
17037 "ide0",
17038 "ide1",
17039 "ide2",
17040 "ide3",
17041 "scsi0",
17042 "scsi1",
17043 "scsi2",
17044 "scsi3",
17045 "scsi4",
17046 "scsi5",
17047 "scsi6",
17048 "scsi7",
17049 "scsi8",
17050 "scsi9",
17051 "scsi10",
17052 "scsi11",
17053 "scsi12",
17054 "scsi13",
e9cd3bd4
TL
17055 "scsi14",
17056 "scsi15",
17057 "scsi16",
17058 "scsi17",
17059 "scsi18",
17060 "scsi19",
17061 "scsi20",
17062 "scsi21",
17063 "scsi22",
17064 "scsi23",
17065 "scsi24",
17066 "scsi25",
17067 "scsi26",
17068 "scsi27",
17069 "scsi28",
17070 "scsi29",
17071 "scsi30",
4d47f125
TL
17072 "virtio0",
17073 "virtio1",
17074 "virtio2",
17075 "virtio3",
17076 "virtio4",
17077 "virtio5",
17078 "virtio6",
17079 "virtio7",
17080 "virtio8",
17081 "virtio9",
17082 "virtio10",
17083 "virtio11",
17084 "virtio12",
17085 "virtio13",
17086 "virtio14",
17087 "virtio15",
17088 "sata0",
17089 "sata1",
17090 "sata2",
17091 "sata3",
17092 "sata4",
17093 "sata5",
17094 "efidisk0"
17095 ],
17096 "type" : "string"
17097 },
17098 "format" : {
17099 "description" : "Target Format.",
17100 "enum" : [
17101 "raw",
17102 "qcow2",
17103 "vmdk"
17104 ],
17105 "optional" : 1,
17106 "type" : "string"
17107 },
17108 "node" : {
17109 "description" : "The cluster node name.",
17110 "format" : "pve-node",
17111 "type" : "string",
17112 "typetext" : "<string>"
17113 },
17114 "storage" : {
17115 "description" : "Target storage.",
17116 "format" : "pve-storage-id",
17117 "type" : "string",
17118 "typetext" : "<string>"
17119 },
17120 "vmid" : {
17121 "description" : "The (unique) ID of the VM.",
17122 "format" : "pve-vmid",
17123 "minimum" : 1,
17124 "type" : "integer",
17125 "typetext" : "<integer> (1 - N)"
17126 }
17127 }
17128 },
17129 "permissions" : {
17130 "check" : [
17131 "and",
17132 [
17133 "perm",
17134 "/vms/{vmid}",
17135 [
17136 "VM.Config.Disk"
17137 ]
17138 ],
17139 [
17140 "perm",
17141 "/storage/{storage}",
17142 [
17143 "Datastore.AllocateSpace"
17144 ]
17145 ]
17146 ],
17147 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
17148 },
17149 "protected" : 1,
17150 "proxyto" : "node",
17151 "returns" : {
17152 "description" : "the task ID.",
17153 "type" : "string"
17154 }
17155 }
17156 },
17157 "leaf" : 1,
17158 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
17159 "text" : "move_disk"
17160 },
17161 {
17162 "info" : {
1e3f8156 17163 "GET" : {
e9cd3bd4 17164 "allowtoken" : 1,
1e3f8156
TL
17165 "description" : "Get preconditions for migration.",
17166 "method" : "GET",
17167 "name" : "migrate_vm_precondition",
17168 "parameters" : {
17169 "additionalProperties" : 0,
17170 "properties" : {
17171 "node" : {
17172 "description" : "The cluster node name.",
17173 "format" : "pve-node",
17174 "type" : "string",
17175 "typetext" : "<string>"
17176 },
17177 "target" : {
17178 "description" : "Target node.",
17179 "format" : "pve-node",
17180 "optional" : 1,
17181 "type" : "string",
17182 "typetext" : "<string>"
17183 },
17184 "vmid" : {
17185 "description" : "The (unique) ID of the VM.",
17186 "format" : "pve-vmid",
17187 "minimum" : 1,
17188 "type" : "integer",
17189 "typetext" : "<integer> (1 - N)"
17190 }
17191 }
17192 },
17193 "permissions" : {
17194 "check" : [
17195 "perm",
17196 "/vms/{vmid}",
17197 [
17198 "VM.Migrate"
17199 ]
17200 ]
17201 },
17202 "protected" : 1,
17203 "proxyto" : "node",
17204 "returns" : {
17205 "properties" : {
17206 "allowed_nodes" : {
9226ccbc 17207 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
17208 "optional" : 1,
17209 "type" : "array"
17210 },
17211 "local_disks" : {
17212 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
17213 "type" : "array"
17214 },
17215 "local_resources" : {
17216 "description" : "List local resources e.g. pci, usb",
17217 "type" : "array"
17218 },
9226ccbc
TL
17219 "not_allowed_nodes" : {
17220 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
17221 "optional" : 1,
17222 "type" : "object"
17223 },
1e3f8156
TL
17224 "running" : {
17225 "type" : "boolean"
17226 }
17227 },
17228 "type" : "object"
17229 }
17230 },
4d47f125 17231 "POST" : {
e9cd3bd4 17232 "allowtoken" : 1,
4d47f125
TL
17233 "description" : "Migrate virtual machine. Creates a new migration task.",
17234 "method" : "POST",
17235 "name" : "migrate_vm",
17236 "parameters" : {
17237 "additionalProperties" : 0,
17238 "properties" : {
95895385
TL
17239 "bwlimit" : {
17240 "default" : "migrate limit from datacenter or storage config",
17241 "description" : "Override I/O bandwidth limit (in KiB/s).",
17242 "minimum" : "0",
17243 "optional" : 1,
17244 "type" : "integer",
17245 "typetext" : "<integer> (0 - N)"
17246 },
4d47f125
TL
17247 "force" : {
17248 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
17249 "optional" : 1,
17250 "type" : "boolean",
17251 "typetext" : "<boolean>"
17252 },
17253 "migration_network" : {
17254 "description" : "CIDR of the (sub) network that is used for migration.",
17255 "format" : "CIDR",
17256 "optional" : 1,
17257 "type" : "string",
17258 "typetext" : "<string>"
17259 },
17260 "migration_type" : {
17261 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
17262 "enum" : [
17263 "secure",
17264 "insecure"
17265 ],
17266 "optional" : 1,
17267 "type" : "string"
17268 },
17269 "node" : {
17270 "description" : "The cluster node name.",
17271 "format" : "pve-node",
17272 "type" : "string",
17273 "typetext" : "<string>"
17274 },
17275 "online" : {
1c532546 17276 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
17277 "optional" : 1,
17278 "type" : "boolean",
17279 "typetext" : "<boolean>"
17280 },
17281 "target" : {
17282 "description" : "Target node.",
17283 "format" : "pve-node",
17284 "type" : "string",
17285 "typetext" : "<string>"
17286 },
17287 "targetstorage" : {
17288 "description" : "Default target storage.",
17289 "format" : "pve-storage-id",
17290 "optional" : 1,
52e44c50
FG
17291 "type" : "string",
17292 "typetext" : "<string>"
17293 },
7aacca6f 17294 "vmid" : {
7aacca6f 17295 "description" : "The (unique) ID of the VM.",
44660702 17296 "format" : "pve-vmid",
7aacca6f 17297 "minimum" : 1,
4bd7df8b 17298 "type" : "integer",
013dc89f 17299 "typetext" : "<integer> (1 - N)"
52e44c50
FG
17300 },
17301 "with-local-disks" : {
17302 "description" : "Enable live storage migration for local disk",
17303 "optional" : 1,
17304 "type" : "boolean",
17305 "typetext" : "<boolean>"
56122987 17306 }
44660702
DM
17307 }
17308 },
17309 "permissions" : {
17310 "check" : [
17311 "perm",
17312 "/vms/{vmid}",
17313 [
17314 "VM.Migrate"
17315 ]
17316 ]
56122987
DM
17317 },
17318 "protected" : 1,
44660702
DM
17319 "proxyto" : "node",
17320 "returns" : {
17321 "description" : "the task ID.",
17322 "type" : "string"
17323 }
56122987 17324 }
7aacca6f 17325 },
44660702
DM
17326 "leaf" : 1,
17327 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 17328 "text" : "migrate"
56122987
DM
17329 },
17330 {
17331 "info" : {
17332 "POST" : {
e9cd3bd4 17333 "allowtoken" : 1,
44660702 17334 "description" : "Execute Qemu monitor commands.",
56122987 17335 "method" : "POST",
44660702 17336 "name" : "monitor",
56122987 17337 "parameters" : {
7aacca6f 17338 "additionalProperties" : 0,
56122987 17339 "properties" : {
44660702
DM
17340 "command" : {
17341 "description" : "The monitor command.",
013dc89f
DM
17342 "type" : "string",
17343 "typetext" : "<string>"
44660702 17344 },
56122987 17345 "node" : {
44660702 17346 "description" : "The cluster node name.",
7aacca6f 17347 "format" : "pve-node",
013dc89f
DM
17348 "type" : "string",
17349 "typetext" : "<string>"
56122987
DM
17350 },
17351 "vmid" : {
44660702 17352 "description" : "The (unique) ID of the VM.",
56122987 17353 "format" : "pve-vmid",
7aacca6f 17354 "minimum" : 1,
4bd7df8b 17355 "type" : "integer",
013dc89f 17356 "typetext" : "<integer> (1 - N)"
56122987 17357 }
7aacca6f 17358 }
56122987 17359 },
56122987
DM
17360 "permissions" : {
17361 "check" : [
17362 "perm",
17363 "/vms/{vmid}",
17364 [
17365 "VM.Monitor"
17366 ]
32d876b5
DM
17367 ],
17368 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 17369 },
44660702
DM
17370 "protected" : 1,
17371 "proxyto" : "node",
17372 "returns" : {
17373 "type" : "string"
17374 }
56122987 17375 }
44660702
DM
17376 },
17377 "leaf" : 1,
17378 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
17379 "text" : "monitor"
56122987
DM
17380 },
17381 {
56122987
DM
17382 "info" : {
17383 "PUT" : {
e9cd3bd4 17384 "allowtoken" : 1,
44660702
DM
17385 "description" : "Extend volume size.",
17386 "method" : "PUT",
17387 "name" : "resize_vm",
56122987 17388 "parameters" : {
44660702 17389 "additionalProperties" : 0,
56122987 17390 "properties" : {
44660702
DM
17391 "digest" : {
17392 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17393 "maxLength" : 40,
17394 "optional" : 1,
013dc89f
DM
17395 "type" : "string",
17396 "typetext" : "<string>"
56122987 17397 },
56122987
DM
17398 "disk" : {
17399 "description" : "The disk you want to resize.",
17400 "enum" : [
17401 "ide0",
17402 "ide1",
17403 "ide2",
17404 "ide3",
17405 "scsi0",
17406 "scsi1",
17407 "scsi2",
17408 "scsi3",
17409 "scsi4",
17410 "scsi5",
17411 "scsi6",
17412 "scsi7",
17413 "scsi8",
17414 "scsi9",
17415 "scsi10",
17416 "scsi11",
17417 "scsi12",
17418 "scsi13",
e9cd3bd4
TL
17419 "scsi14",
17420 "scsi15",
17421 "scsi16",
17422 "scsi17",
17423 "scsi18",
17424 "scsi19",
17425 "scsi20",
17426 "scsi21",
17427 "scsi22",
17428 "scsi23",
17429 "scsi24",
17430 "scsi25",
17431 "scsi26",
17432 "scsi27",
17433 "scsi28",
17434 "scsi29",
17435 "scsi30",
56122987
DM
17436 "virtio0",
17437 "virtio1",
17438 "virtio2",
17439 "virtio3",
17440 "virtio4",
17441 "virtio5",
17442 "virtio6",
17443 "virtio7",
17444 "virtio8",
17445 "virtio9",
17446 "virtio10",
17447 "virtio11",
17448 "virtio12",
17449 "virtio13",
17450 "virtio14",
17451 "virtio15",
17452 "sata0",
17453 "sata1",
17454 "sata2",
17455 "sata3",
17456 "sata4",
2c0dde61
DM
17457 "sata5",
17458 "efidisk0"
44660702
DM
17459 ],
17460 "type" : "string"
56122987 17461 },
44660702
DM
17462 "node" : {
17463 "description" : "The cluster node name.",
17464 "format" : "pve-node",
013dc89f
DM
17465 "type" : "string",
17466 "typetext" : "<string>"
7aacca6f 17467 },
44660702 17468 "size" : {
5d9c884c 17469 "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
17470 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
17471 "type" : "string"
56122987
DM
17472 },
17473 "skiplock" : {
17474 "description" : "Ignore locks - only root is allowed to use this option.",
17475 "optional" : 1,
013dc89f
DM
17476 "type" : "boolean",
17477 "typetext" : "<boolean>"
56122987
DM
17478 },
17479 "vmid" : {
7aacca6f 17480 "description" : "The (unique) ID of the VM.",
56122987 17481 "format" : "pve-vmid",
44660702 17482 "minimum" : 1,
4bd7df8b 17483 "type" : "integer",
013dc89f 17484 "typetext" : "<integer> (1 - N)"
56122987
DM
17485 }
17486 }
17487 },
17488 "permissions" : {
17489 "check" : [
17490 "perm",
17491 "/vms/{vmid}",
17492 [
44660702 17493 "VM.Config.Disk"
56122987
DM
17494 ]
17495 ]
17496 },
7aacca6f 17497 "protected" : 1,
7aacca6f 17498 "proxyto" : "node",
44660702
DM
17499 "returns" : {
17500 "type" : "null"
17501 }
7aacca6f
DM
17502 }
17503 },
44660702
DM
17504 "leaf" : 1,
17505 "path" : "/nodes/{node}/qemu/{vmid}/resize",
17506 "text" : "resize"
17507 },
17508 {
56122987
DM
17509 "children" : [
17510 {
17511 "children" : [
17512 {
56122987 17513 "info" : {
44660702 17514 "GET" : {
e9cd3bd4 17515 "allowtoken" : 1,
44660702
DM
17516 "description" : "Get snapshot configuration",
17517 "method" : "GET",
17518 "name" : "get_snapshot_config",
56122987 17519 "parameters" : {
44660702 17520 "additionalProperties" : 0,
56122987 17521 "properties" : {
56122987 17522 "node" : {
44660702 17523 "description" : "The cluster node name.",
56122987 17524 "format" : "pve-node",
013dc89f
DM
17525 "type" : "string",
17526 "typetext" : "<string>"
7aacca6f
DM
17527 },
17528 "snapname" : {
44660702 17529 "description" : "The name of the snapshot.",
7aacca6f 17530 "format" : "pve-configid",
44660702 17531 "maxLength" : 40,
013dc89f
DM
17532 "type" : "string",
17533 "typetext" : "<string>"
7aacca6f
DM
17534 },
17535 "vmid" : {
44660702 17536 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
17537 "format" : "pve-vmid",
17538 "minimum" : 1,
4bd7df8b 17539 "type" : "integer",
013dc89f 17540 "typetext" : "<integer> (1 - N)"
56122987 17541 }
44660702 17542 }
56122987
DM
17543 },
17544 "permissions" : {
17545 "check" : [
17546 "perm",
17547 "/vms/{vmid}",
17548 [
2489d6df 17549 "VM.Snapshot",
e9cd3bd4
TL
17550 "VM.Snapshot.Rollback",
17551 "VM.Audit"
2489d6df
WB
17552 ],
17553 "any",
17554 1
56122987
DM
17555 ]
17556 },
44660702 17557 "proxyto" : "node",
56122987 17558 "returns" : {
44660702 17559 "type" : "object"
7aacca6f
DM
17560 }
17561 },
44660702 17562 "PUT" : {
e9cd3bd4 17563 "allowtoken" : 1,
44660702
DM
17564 "description" : "Update snapshot metadata.",
17565 "method" : "PUT",
17566 "name" : "update_snapshot_config",
56122987 17567 "parameters" : {
44660702 17568 "additionalProperties" : 0,
56122987 17569 "properties" : {
44660702
DM
17570 "description" : {
17571 "description" : "A textual description or comment.",
17572 "optional" : 1,
013dc89f
DM
17573 "type" : "string",
17574 "typetext" : "<string>"
44660702 17575 },
56122987 17576 "node" : {
7aacca6f 17577 "description" : "The cluster node name.",
44660702 17578 "format" : "pve-node",
013dc89f
DM
17579 "type" : "string",
17580 "typetext" : "<string>"
56122987 17581 },
56122987
DM
17582 "snapname" : {
17583 "description" : "The name of the snapshot.",
44660702 17584 "format" : "pve-configid",
7aacca6f 17585 "maxLength" : 40,
013dc89f
DM
17586 "type" : "string",
17587 "typetext" : "<string>"
7aacca6f
DM
17588 },
17589 "vmid" : {
17590 "description" : "The (unique) ID of the VM.",
44660702 17591 "format" : "pve-vmid",
7aacca6f 17592 "minimum" : 1,
4bd7df8b 17593 "type" : "integer",
013dc89f 17594 "typetext" : "<integer> (1 - N)"
56122987 17595 }
44660702 17596 }
56122987 17597 },
7aacca6f
DM
17598 "permissions" : {
17599 "check" : [
17600 "perm",
17601 "/vms/{vmid}",
17602 [
17603 "VM.Snapshot"
17604 ]
17605 ]
44660702
DM
17606 },
17607 "protected" : 1,
17608 "proxyto" : "node",
17609 "returns" : {
17610 "type" : "null"
7aacca6f 17611 }
56122987
DM
17612 }
17613 },
44660702 17614 "leaf" : 1,
7aacca6f 17615 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 17616 "text" : "config"
56122987
DM
17617 },
17618 {
56122987
DM
17619 "info" : {
17620 "POST" : {
e9cd3bd4 17621 "allowtoken" : 1,
44660702 17622 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 17623 "method" : "POST",
44660702 17624 "name" : "rollback",
56122987
DM
17625 "parameters" : {
17626 "additionalProperties" : 0,
17627 "properties" : {
44660702
DM
17628 "node" : {
17629 "description" : "The cluster node name.",
17630 "format" : "pve-node",
013dc89f
DM
17631 "type" : "string",
17632 "typetext" : "<string>"
44660702 17633 },
56122987 17634 "snapname" : {
44660702 17635 "description" : "The name of the snapshot.",
56122987
DM
17636 "format" : "pve-configid",
17637 "maxLength" : 40,
013dc89f
DM
17638 "type" : "string",
17639 "typetext" : "<string>"
7aacca6f 17640 },
56122987 17641 "vmid" : {
7aacca6f 17642 "description" : "The (unique) ID of the VM.",
44660702 17643 "format" : "pve-vmid",
56122987 17644 "minimum" : 1,
4bd7df8b 17645 "type" : "integer",
013dc89f 17646 "typetext" : "<integer> (1 - N)"
56122987
DM
17647 }
17648 }
17649 },
7aacca6f 17650 "permissions" : {
56122987
DM
17651 "check" : [
17652 "perm",
17653 "/vms/{vmid}",
17654 [
2489d6df
WB
17655 "VM.Snapshot",
17656 "VM.Snapshot.Rollback"
17657 ],
17658 "any",
17659 1
56122987
DM
17660 ]
17661 },
44660702 17662 "protected" : 1,
7aacca6f 17663 "proxyto" : "node",
44660702
DM
17664 "returns" : {
17665 "description" : "the task ID.",
17666 "type" : "string"
17667 }
56122987
DM
17668 }
17669 },
44660702
DM
17670 "leaf" : 1,
17671 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 17672 "text" : "rollback"
56122987 17673 }
44660702
DM
17674 ],
17675 "info" : {
17676 "DELETE" : {
e9cd3bd4 17677 "allowtoken" : 1,
44660702
DM
17678 "description" : "Delete a VM snapshot.",
17679 "method" : "DELETE",
17680 "name" : "delsnapshot",
17681 "parameters" : {
17682 "additionalProperties" : 0,
17683 "properties" : {
17684 "force" : {
17685 "description" : "For removal from config file, even if removing disk snapshots fails.",
17686 "optional" : 1,
013dc89f
DM
17687 "type" : "boolean",
17688 "typetext" : "<boolean>"
44660702
DM
17689 },
17690 "node" : {
17691 "description" : "The cluster node name.",
17692 "format" : "pve-node",
013dc89f
DM
17693 "type" : "string",
17694 "typetext" : "<string>"
44660702
DM
17695 },
17696 "snapname" : {
17697 "description" : "The name of the snapshot.",
17698 "format" : "pve-configid",
17699 "maxLength" : 40,
013dc89f
DM
17700 "type" : "string",
17701 "typetext" : "<string>"
44660702
DM
17702 },
17703 "vmid" : {
17704 "description" : "The (unique) ID of the VM.",
17705 "format" : "pve-vmid",
17706 "minimum" : 1,
4bd7df8b 17707 "type" : "integer",
013dc89f 17708 "typetext" : "<integer> (1 - N)"
44660702
DM
17709 }
17710 }
17711 },
17712 "permissions" : {
17713 "check" : [
17714 "perm",
17715 "/vms/{vmid}",
17716 [
17717 "VM.Snapshot"
17718 ]
17719 ]
17720 },
17721 "protected" : 1,
17722 "proxyto" : "node",
17723 "returns" : {
17724 "description" : "the task ID.",
17725 "type" : "string"
17726 }
17727 },
17728 "GET" : {
e9cd3bd4 17729 "allowtoken" : 1,
44660702
DM
17730 "description" : "",
17731 "method" : "GET",
17732 "name" : "snapshot_cmd_idx",
17733 "parameters" : {
17734 "additionalProperties" : 0,
17735 "properties" : {
17736 "node" : {
17737 "description" : "The cluster node name.",
17738 "format" : "pve-node",
013dc89f
DM
17739 "type" : "string",
17740 "typetext" : "<string>"
44660702
DM
17741 },
17742 "snapname" : {
17743 "description" : "The name of the snapshot.",
17744 "format" : "pve-configid",
17745 "maxLength" : 40,
013dc89f
DM
17746 "type" : "string",
17747 "typetext" : "<string>"
44660702
DM
17748 },
17749 "vmid" : {
17750 "description" : "The (unique) ID of the VM.",
17751 "format" : "pve-vmid",
17752 "minimum" : 1,
4bd7df8b 17753 "type" : "integer",
013dc89f 17754 "typetext" : "<integer> (1 - N)"
44660702
DM
17755 }
17756 }
17757 },
17758 "permissions" : {
17759 "user" : "all"
17760 },
17761 "returns" : {
17762 "items" : {
17763 "properties" : {},
17764 "type" : "object"
17765 },
17766 "links" : [
17767 {
17768 "href" : "{cmd}",
17769 "rel" : "child"
17770 }
17771 ],
17772 "type" : "array"
17773 }
17774 }
17775 },
17776 "leaf" : 0,
17777 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
17778 "text" : "{snapname}"
56122987
DM
17779 }
17780 ],
44660702
DM
17781 "info" : {
17782 "GET" : {
e9cd3bd4 17783 "allowtoken" : 1,
44660702
DM
17784 "description" : "List all snapshots.",
17785 "method" : "GET",
17786 "name" : "snapshot_list",
17787 "parameters" : {
17788 "additionalProperties" : 0,
17789 "properties" : {
17790 "node" : {
17791 "description" : "The cluster node name.",
17792 "format" : "pve-node",
013dc89f
DM
17793 "type" : "string",
17794 "typetext" : "<string>"
44660702
DM
17795 },
17796 "vmid" : {
17797 "description" : "The (unique) ID of the VM.",
17798 "format" : "pve-vmid",
17799 "minimum" : 1,
4bd7df8b 17800 "type" : "integer",
013dc89f 17801 "typetext" : "<integer> (1 - N)"
44660702
DM
17802 }
17803 }
17804 },
17805 "permissions" : {
17806 "check" : [
17807 "perm",
17808 "/vms/{vmid}",
17809 [
17810 "VM.Audit"
17811 ]
17812 ]
17813 },
17814 "protected" : 1,
17815 "proxyto" : "node",
17816 "returns" : {
17817 "items" : {
4d47f125
TL
17818 "properties" : {
17819 "description" : {
17820 "description" : "Snapshot description.",
17821 "type" : "string"
17822 },
17823 "name" : {
17824 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
17825 "type" : "string"
17826 },
17827 "parent" : {
17828 "description" : "Parent snapshot identifier.",
17829 "optional" : 1,
17830 "type" : "string"
17831 },
17832 "snaptime" : {
17833 "description" : "Snapshot creation time",
17834 "optional" : 1,
17835 "renderer" : "timestamp",
17836 "type" : "integer"
17837 },
17838 "vmstate" : {
17839 "description" : "Snapshot includes RAM.",
17840 "optional" : 1,
17841 "type" : "boolean"
17842 }
17843 },
44660702
DM
17844 "type" : "object"
17845 },
17846 "links" : [
17847 {
17848 "href" : "{name}",
17849 "rel" : "child"
17850 }
17851 ],
17852 "type" : "array"
17853 }
17854 },
17855 "POST" : {
e9cd3bd4 17856 "allowtoken" : 1,
44660702
DM
17857 "description" : "Snapshot a VM.",
17858 "method" : "POST",
17859 "name" : "snapshot",
17860 "parameters" : {
17861 "additionalProperties" : 0,
17862 "properties" : {
17863 "description" : {
17864 "description" : "A textual description or comment.",
17865 "optional" : 1,
013dc89f
DM
17866 "type" : "string",
17867 "typetext" : "<string>"
44660702
DM
17868 },
17869 "node" : {
17870 "description" : "The cluster node name.",
17871 "format" : "pve-node",
013dc89f
DM
17872 "type" : "string",
17873 "typetext" : "<string>"
44660702
DM
17874 },
17875 "snapname" : {
17876 "description" : "The name of the snapshot.",
17877 "format" : "pve-configid",
17878 "maxLength" : 40,
013dc89f
DM
17879 "type" : "string",
17880 "typetext" : "<string>"
44660702
DM
17881 },
17882 "vmid" : {
17883 "description" : "The (unique) ID of the VM.",
17884 "format" : "pve-vmid",
17885 "minimum" : 1,
4bd7df8b 17886 "type" : "integer",
013dc89f 17887 "typetext" : "<integer> (1 - N)"
44660702
DM
17888 },
17889 "vmstate" : {
17890 "description" : "Save the vmstate",
17891 "optional" : 1,
013dc89f
DM
17892 "type" : "boolean",
17893 "typetext" : "<boolean>"
44660702
DM
17894 }
17895 }
17896 },
17897 "permissions" : {
17898 "check" : [
17899 "perm",
17900 "/vms/{vmid}",
17901 [
17902 "VM.Snapshot"
17903 ]
17904 ]
17905 },
17906 "protected" : 1,
17907 "proxyto" : "node",
17908 "returns" : {
17909 "description" : "the task ID.",
17910 "type" : "string"
17911 }
17912 }
17913 },
17914 "leaf" : 0,
17915 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 17916 "text" : "snapshot"
56122987
DM
17917 },
17918 {
56122987
DM
17919 "info" : {
17920 "POST" : {
e9cd3bd4 17921 "allowtoken" : 1,
44660702
DM
17922 "description" : "Create a Template.",
17923 "method" : "POST",
56122987 17924 "name" : "template",
56122987 17925 "parameters" : {
7aacca6f 17926 "additionalProperties" : 0,
56122987 17927 "properties" : {
56122987 17928 "disk" : {
56122987
DM
17929 "description" : "If you want to convert only 1 disk to base image.",
17930 "enum" : [
17931 "ide0",
17932 "ide1",
17933 "ide2",
17934 "ide3",
17935 "scsi0",
17936 "scsi1",
17937 "scsi2",
17938 "scsi3",
17939 "scsi4",
17940 "scsi5",
17941 "scsi6",
17942 "scsi7",
17943 "scsi8",
17944 "scsi9",
17945 "scsi10",
17946 "scsi11",
17947 "scsi12",
17948 "scsi13",
e9cd3bd4
TL
17949 "scsi14",
17950 "scsi15",
17951 "scsi16",
17952 "scsi17",
17953 "scsi18",
17954 "scsi19",
17955 "scsi20",
17956 "scsi21",
17957 "scsi22",
17958 "scsi23",
17959 "scsi24",
17960 "scsi25",
17961 "scsi26",
17962 "scsi27",
17963 "scsi28",
17964 "scsi29",
17965 "scsi30",
56122987
DM
17966 "virtio0",
17967 "virtio1",
17968 "virtio2",
17969 "virtio3",
17970 "virtio4",
17971 "virtio5",
17972 "virtio6",
17973 "virtio7",
17974 "virtio8",
17975 "virtio9",
17976 "virtio10",
17977 "virtio11",
17978 "virtio12",
17979 "virtio13",
17980 "virtio14",
17981 "virtio15",
17982 "sata0",
17983 "sata1",
17984 "sata2",
17985 "sata3",
17986 "sata4",
2c0dde61
DM
17987 "sata5",
17988 "efidisk0"
56122987 17989 ],
7aacca6f 17990 "optional" : 1,
56122987
DM
17991 "type" : "string"
17992 },
44660702
DM
17993 "node" : {
17994 "description" : "The cluster node name.",
17995 "format" : "pve-node",
013dc89f
DM
17996 "type" : "string",
17997 "typetext" : "<string>"
44660702
DM
17998 },
17999 "vmid" : {
18000 "description" : "The (unique) ID of the VM.",
7aacca6f 18001 "format" : "pve-vmid",
44660702 18002 "minimum" : 1,
4bd7df8b 18003 "type" : "integer",
013dc89f 18004 "typetext" : "<integer> (1 - N)"
56122987 18005 }
7aacca6f 18006 }
56122987 18007 },
7aacca6f
DM
18008 "permissions" : {
18009 "check" : [
18010 "perm",
18011 "/vms/{vmid}",
18012 [
18013 "VM.Allocate"
18014 ]
18015 ],
18016 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
18017 },
44660702 18018 "protected" : 1,
7aacca6f 18019 "proxyto" : "node",
7aacca6f
DM
18020 "returns" : {
18021 "type" : "null"
18022 }
56122987
DM
18023 }
18024 },
44660702 18025 "leaf" : 1,
7aacca6f 18026 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 18027 "text" : "template"
1e3f8156
TL
18028 },
18029 {
18030 "children" : [
18031 {
18032 "info" : {
18033 "GET" : {
e9cd3bd4 18034 "allowtoken" : 1,
1e3f8156
TL
18035 "description" : "Get automatically generated cloudinit config.",
18036 "method" : "GET",
18037 "name" : "cloudinit_generated_config_dump",
18038 "parameters" : {
18039 "additionalProperties" : 0,
18040 "properties" : {
18041 "node" : {
18042 "description" : "The cluster node name.",
18043 "format" : "pve-node",
18044 "type" : "string",
18045 "typetext" : "<string>"
18046 },
18047 "type" : {
18048 "description" : "Config type.",
18049 "enum" : [
18050 "user",
18051 "network",
18052 "meta"
18053 ],
18054 "type" : "string"
18055 },
18056 "vmid" : {
18057 "description" : "The (unique) ID of the VM.",
18058 "format" : "pve-vmid",
18059 "minimum" : 1,
18060 "type" : "integer",
18061 "typetext" : "<integer> (1 - N)"
18062 }
18063 }
18064 },
18065 "permissions" : {
18066 "check" : [
18067 "perm",
18068 "/vms/{vmid}",
18069 [
18070 "VM.Audit"
18071 ]
18072 ]
18073 },
18074 "proxyto" : "node",
18075 "returns" : {
18076 "type" : "string"
18077 }
18078 }
18079 },
18080 "leaf" : 1,
18081 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
18082 "text" : "dump"
18083 }
18084 ],
18085 "leaf" : 0,
18086 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
18087 "text" : "cloudinit"
56122987
DM
18088 }
18089 ],
7aacca6f 18090 "info" : {
44660702 18091 "DELETE" : {
e9cd3bd4 18092 "allowtoken" : 1,
44660702
DM
18093 "description" : "Destroy the vm (also delete all used/owned volumes).",
18094 "method" : "DELETE",
18095 "name" : "destroy_vm",
7aacca6f 18096 "parameters" : {
44660702 18097 "additionalProperties" : 0,
7aacca6f
DM
18098 "properties" : {
18099 "node" : {
44660702 18100 "description" : "The cluster node name.",
7aacca6f 18101 "format" : "pve-node",
013dc89f
DM
18102 "type" : "string",
18103 "typetext" : "<string>"
44660702 18104 },
1c532546
TL
18105 "purge" : {
18106 "description" : "Remove vmid from backup cron jobs.",
18107 "optional" : 1,
18108 "type" : "boolean",
18109 "typetext" : "<boolean>"
18110 },
44660702
DM
18111 "skiplock" : {
18112 "description" : "Ignore locks - only root is allowed to use this option.",
18113 "optional" : 1,
013dc89f
DM
18114 "type" : "boolean",
18115 "typetext" : "<boolean>"
7aacca6f
DM
18116 },
18117 "vmid" : {
44660702 18118 "description" : "The (unique) ID of the VM.",
7aacca6f 18119 "format" : "pve-vmid",
44660702 18120 "minimum" : 1,
4bd7df8b 18121 "type" : "integer",
013dc89f 18122 "typetext" : "<integer> (1 - N)"
7aacca6f 18123 }
44660702 18124 }
7aacca6f 18125 },
7aacca6f
DM
18126 "permissions" : {
18127 "check" : [
18128 "perm",
18129 "/vms/{vmid}",
18130 [
18131 "VM.Allocate"
18132 ]
18133 ]
18134 },
44660702
DM
18135 "protected" : 1,
18136 "proxyto" : "node",
7aacca6f
DM
18137 "returns" : {
18138 "type" : "string"
44660702
DM
18139 }
18140 },
18141 "GET" : {
e9cd3bd4 18142 "allowtoken" : 1,
44660702
DM
18143 "description" : "Directory index",
18144 "method" : "GET",
18145 "name" : "vmdiridx",
7aacca6f 18146 "parameters" : {
44660702 18147 "additionalProperties" : 0,
7aacca6f 18148 "properties" : {
7aacca6f 18149 "node" : {
7aacca6f 18150 "description" : "The cluster node name.",
44660702 18151 "format" : "pve-node",
013dc89f
DM
18152 "type" : "string",
18153 "typetext" : "<string>"
44660702
DM
18154 },
18155 "vmid" : {
18156 "description" : "The (unique) ID of the VM.",
18157 "format" : "pve-vmid",
18158 "minimum" : 1,
4bd7df8b 18159 "type" : "integer",
013dc89f 18160 "typetext" : "<integer> (1 - N)"
7aacca6f 18161 }
44660702 18162 }
7aacca6f 18163 },
44660702
DM
18164 "permissions" : {
18165 "user" : "all"
18166 },
18167 "proxyto" : "node",
18168 "returns" : {
18169 "items" : {
18170 "properties" : {
18171 "subdir" : {
18172 "type" : "string"
18173 }
18174 },
18175 "type" : "object"
18176 },
18177 "links" : [
18178 {
18179 "href" : "{subdir}",
18180 "rel" : "child"
18181 }
18182 ],
18183 "type" : "array"
18184 }
7aacca6f 18185 }
44660702
DM
18186 },
18187 "leaf" : 0,
18188 "path" : "/nodes/{node}/qemu/{vmid}",
18189 "text" : "{vmid}"
56122987
DM
18190 }
18191 ],
18192 "info" : {
44660702 18193 "GET" : {
e9cd3bd4 18194 "allowtoken" : 1,
44660702
DM
18195 "description" : "Virtual machine index (per node).",
18196 "method" : "GET",
18197 "name" : "vmlist",
56122987 18198 "parameters" : {
44660702 18199 "additionalProperties" : 0,
56122987 18200 "properties" : {
44660702
DM
18201 "full" : {
18202 "description" : "Determine the full status of active VMs.",
56122987 18203 "optional" : 1,
013dc89f
DM
18204 "type" : "boolean",
18205 "typetext" : "<boolean>"
56122987 18206 },
44660702
DM
18207 "node" : {
18208 "description" : "The cluster node name.",
18209 "format" : "pve-node",
013dc89f
DM
18210 "type" : "string",
18211 "typetext" : "<string>"
44660702
DM
18212 }
18213 }
18214 },
18215 "permissions" : {
18216 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
18217 "user" : "all"
18218 },
18219 "protected" : 1,
18220 "proxyto" : "node",
18221 "returns" : {
18222 "items" : {
4d47f125
TL
18223 "properties" : {
18224 "cpus" : {
18225 "description" : "Maximum usable CPUs.",
18226 "optional" : 1,
18227 "type" : "number"
18228 },
95895385
TL
18229 "lock" : {
18230 "description" : "The current config lock, if any.",
18231 "optional" : 1,
18232 "type" : "string"
18233 },
4d47f125
TL
18234 "maxdisk" : {
18235 "description" : "Root disk size in bytes.",
18236 "optional" : 1,
18237 "renderer" : "bytes",
18238 "type" : "integer"
18239 },
18240 "maxmem" : {
18241 "description" : "Maximum memory in bytes.",
18242 "optional" : 1,
18243 "renderer" : "bytes",
18244 "type" : "integer"
18245 },
18246 "name" : {
18247 "description" : "VM name.",
18248 "optional" : 1,
18249 "type" : "string"
18250 },
18251 "pid" : {
18252 "description" : "PID of running qemu process.",
18253 "optional" : 1,
18254 "type" : "integer"
18255 },
18256 "qmpstatus" : {
18257 "description" : "Qemu QMP agent status.",
18258 "optional" : 1,
18259 "type" : "string"
18260 },
18261 "status" : {
18262 "description" : "Qemu process status.",
18263 "enum" : [
18264 "stopped",
18265 "running"
18266 ],
18267 "type" : "string"
18268 },
5c1699e5
TL
18269 "tags" : {
18270 "description" : "The current configured tags, if any",
18271 "optional" : 1,
18272 "type" : "string"
18273 },
4d47f125
TL
18274 "uptime" : {
18275 "description" : "Uptime.",
18276 "optional" : 1,
18277 "renderer" : "duration",
18278 "type" : "integer"
18279 },
18280 "vmid" : {
18281 "description" : "The (unique) ID of the VM.",
18282 "format" : "pve-vmid",
18283 "minimum" : 1,
18284 "type" : "integer"
18285 }
18286 },
44660702
DM
18287 "type" : "object"
18288 },
18289 "links" : [
18290 {
18291 "href" : "{vmid}",
18292 "rel" : "child"
18293 }
18294 ],
18295 "type" : "array"
18296 }
18297 },
18298 "POST" : {
e9cd3bd4 18299 "allowtoken" : 1,
44660702
DM
18300 "description" : "Create or restore a virtual machine.",
18301 "method" : "POST",
18302 "name" : "create_vm",
18303 "parameters" : {
18304 "additionalProperties" : 0,
18305 "properties" : {
7aacca6f 18306 "acpi" : {
7aacca6f 18307 "default" : 1,
44660702 18308 "description" : "Enable/disable ACPI.",
56122987 18309 "optional" : 1,
013dc89f
DM
18310 "type" : "boolean",
18311 "typetext" : "<boolean>"
56122987 18312 },
44660702 18313 "agent" : {
4d47f125
TL
18314 "description" : "Enable/disable Qemu GuestAgent and its properties.",
18315 "format" : {
18316 "enabled" : {
18317 "default" : 0,
18318 "default_key" : 1,
18319 "description" : "Enable/disable Qemu GuestAgent.",
18320 "type" : "boolean"
18321 },
18322 "fstrim_cloned_disks" : {
18323 "default" : 0,
18324 "description" : "Run fstrim after cloning/moving a disk.",
18325 "optional" : 1,
18326 "type" : "boolean"
5c1699e5
TL
18327 },
18328 "type" : {
18329 "default" : "virtio",
18330 "description" : "Select the agent type",
18331 "enum" : [
18332 "virtio",
18333 "isa"
18334 ],
18335 "optional" : 1,
18336 "type" : "string"
4d47f125
TL
18337 }
18338 },
7aacca6f 18339 "optional" : 1,
4d47f125 18340 "type" : "string",
5c1699e5 18341 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 18342 },
e2d681b3
TL
18343 "arch" : {
18344 "description" : "Virtual processor architecture. Defaults to the host.",
18345 "enum" : [
18346 "x86_64",
18347 "aarch64"
18348 ],
18349 "optional" : 1,
18350 "type" : "string"
18351 },
44660702
DM
18352 "archive" : {
18353 "description" : "The backup file.",
18354 "maxLength" : 255,
56122987 18355 "optional" : 1,
013dc89f
DM
18356 "type" : "string",
18357 "typetext" : "<string>"
56122987 18358 },
44660702 18359 "args" : {
c2993fe5 18360 "description" : "Arbitrary arguments passed to kvm.",
56122987 18361 "optional" : 1,
c2993fe5 18362 "type" : "string",
013dc89f 18363 "typetext" : "<string>",
c2993fe5 18364 "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 18365 },
1c532546
TL
18366 "audio0" : {
18367 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
18368 "format" : {
18369 "device" : {
18370 "description" : "Configure an audio device.",
18371 "enum" : [
18372 "ich9-intel-hda",
18373 "intel-hda",
18374 "AC97"
18375 ],
18376 "type" : "string"
18377 },
18378 "driver" : {
18379 "default" : "spice",
18380 "description" : "Driver backend for the audio device.",
18381 "enum" : [
18382 "spice"
18383 ],
18384 "optional" : 1,
18385 "type" : "string"
18386 }
18387 },
18388 "optional" : 1,
18389 "type" : "string",
18390 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
18391 },
44660702 18392 "autostart" : {
7aacca6f 18393 "default" : 0,
44660702
DM
18394 "description" : "Automatic restart after crash (currently ignored).",
18395 "optional" : 1,
013dc89f
DM
18396 "type" : "boolean",
18397 "typetext" : "<boolean>"
7aacca6f 18398 },
44660702
DM
18399 "balloon" : {
18400 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
18401 "minimum" : 0,
56122987 18402 "optional" : 1,
4bd7df8b 18403 "type" : "integer",
013dc89f 18404 "typetext" : "<integer> (0 - N)"
56122987 18405 },
44660702
DM
18406 "bios" : {
18407 "default" : "seabios",
18408 "description" : "Select BIOS implementation.",
18409 "enum" : [
18410 "seabios",
18411 "ovmf"
18412 ],
56122987 18413 "optional" : 1,
44660702 18414 "type" : "string"
56122987 18415 },
44660702
DM
18416 "boot" : {
18417 "default" : "cdn",
18418 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 18419 "optional" : 1,
44660702
DM
18420 "pattern" : "[acdn]{1,4}",
18421 "type" : "string"
56122987 18422 },
7aacca6f
DM
18423 "bootdisk" : {
18424 "description" : "Enable booting from specified disk.",
44660702
DM
18425 "format" : "pve-qm-bootdisk",
18426 "optional" : 1,
7aacca6f 18427 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
18428 "type" : "string"
18429 },
27a7acb2 18430 "bwlimit" : {
95895385
TL
18431 "default" : "restore limit from datacenter or storage config",
18432 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
18433 "minimum" : "0",
18434 "optional" : 1,
18435 "type" : "integer",
18436 "typetext" : "<integer> (0 - N)"
18437 },
44660702
DM
18438 "cdrom" : {
18439 "description" : "This is an alias for option -ide2",
de0983cb 18440 "format" : "pve-qm-ide",
56122987 18441 "optional" : 1,
44660702 18442 "type" : "string",
013dc89f 18443 "typetext" : "<volume>"
56122987 18444 },
95895385
TL
18445 "cicustom" : {
18446 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
18447 "format" : "pve-qm-cicustom",
18448 "optional" : 1,
18449 "type" : "string",
18450 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
18451 },
27a7acb2
DM
18452 "cipassword" : {
18453 "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.",
18454 "optional" : 1,
18455 "type" : "string",
18456 "typetext" : "<string>"
18457 },
18458 "citype" : {
18459 "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.",
18460 "enum" : [
18461 "configdrive2",
18462 "nocloud"
18463 ],
18464 "optional" : 1,
18465 "type" : "string"
18466 },
18467 "ciuser" : {
18468 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
18469 "optional" : 1,
18470 "type" : "string",
18471 "typetext" : "<string>"
18472 },
44660702
DM
18473 "cores" : {
18474 "default" : 1,
18475 "description" : "The number of cores per socket.",
7aacca6f 18476 "minimum" : 1,
44660702 18477 "optional" : 1,
4bd7df8b 18478 "type" : "integer",
013dc89f 18479 "typetext" : "<integer> (1 - N)"
7aacca6f 18480 },
44660702
DM
18481 "cpu" : {
18482 "description" : "Emulated CPU type.",
18483 "format" : {
18484 "cputype" : {
18485 "default" : "kvm64",
18486 "default_key" : 1,
18487 "description" : "Emulated CPU type.",
18488 "enum" : [
18489 "486",
18490 "athlon",
f004f5b9 18491 "Broadwell",
35a75dd3 18492 "Broadwell-IBRS",
f004f5b9 18493 "Broadwell-noTSX",
35a75dd3 18494 "Broadwell-noTSX-IBRS",
1c532546 18495 "Cascadelake-Server",
f004f5b9 18496 "Conroe",
44660702 18497 "core2duo",
f004f5b9 18498 "coreduo",
27a7acb2
DM
18499 "EPYC",
18500 "EPYC-IBPB",
f004f5b9 18501 "Haswell",
35a75dd3 18502 "Haswell-IBRS",
f004f5b9 18503 "Haswell-noTSX",
35a75dd3 18504 "Haswell-noTSX-IBRS",
f004f5b9
DM
18505 "host",
18506 "IvyBridge",
35a75dd3 18507 "IvyBridge-IBRS",
1c532546 18508 "KnightsMill",
44660702
DM
18509 "kvm32",
18510 "kvm64",
35a75dd3 18511 "max",
44660702 18512 "Nehalem",
35a75dd3 18513 "Nehalem-IBRS",
44660702
DM
18514 "Opteron_G1",
18515 "Opteron_G2",
18516 "Opteron_G3",
18517 "Opteron_G4",
18518 "Opteron_G5",
f004f5b9
DM
18519 "Penryn",
18520 "pentium",
18521 "pentium2",
18522 "pentium3",
18523 "phenom",
18524 "qemu32",
18525 "qemu64",
18526 "SandyBridge",
35a75dd3 18527 "SandyBridge-IBRS",
5d9c884c 18528 "Skylake-Client",
35a75dd3
DM
18529 "Skylake-Client-IBRS",
18530 "Skylake-Server",
18531 "Skylake-Server-IBRS",
18532 "Westmere",
18533 "Westmere-IBRS"
44660702 18534 ],
44660702
DM
18535 "type" : "string"
18536 },
35a75dd3 18537 "flags" : {
1c532546 18538 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
35a75dd3
DM
18539 "format_description" : "+FLAG[;-FLAG...]",
18540 "optional" : 1,
1c532546 18541 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
35a75dd3
DM
18542 "type" : "string"
18543 },
44660702
DM
18544 "hidden" : {
18545 "default" : 0,
18546 "description" : "Do not identify as a KVM virtual machine.",
18547 "optional" : 1,
18548 "type" : "boolean"
5f26e15b
TL
18549 },
18550 "hv-vendor-id" : {
18551 "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
18552 "format_description" : "vendor-id",
18553 "optional" : 1,
18554 "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
18555 "type" : "string"
44660702
DM
18556 }
18557 },
56122987 18558 "optional" : 1,
4bd7df8b 18559 "type" : "string",
5f26e15b 18560 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
56122987 18561 },
44660702 18562 "cpulimit" : {
7aacca6f 18563 "default" : 0,
c2993fe5 18564 "description" : "Limit of CPU usage.",
44660702
DM
18565 "maximum" : 128,
18566 "minimum" : 0,
7aacca6f 18567 "optional" : 1,
c2993fe5 18568 "type" : "number",
013dc89f 18569 "typetext" : "<number> (0 - 128)",
c2993fe5 18570 "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
18571 },
18572 "cpuunits" : {
de0983cb 18573 "default" : 1024,
c2993fe5 18574 "description" : "CPU weight for a VM.",
2489d6df
WB
18575 "maximum" : 262144,
18576 "minimum" : 2,
44660702 18577 "optional" : 1,
c2993fe5 18578 "type" : "integer",
2489d6df
WB
18579 "typetext" : "<integer> (2 - 262144)",
18580 "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
18581 },
18582 "description" : {
18583 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 18584 "optional" : 1,
013dc89f
DM
18585 "type" : "string",
18586 "typetext" : "<string>"
44660702 18587 },
4d47f125
TL
18588 "efidisk0" : {
18589 "description" : "Configure a Disk for storing EFI vars",
18590 "format" : {
18591 "file" : {
18592 "default_key" : 1,
18593 "description" : "The drive's backing volume.",
18594 "format" : "pve-volume-id-or-qm-path",
18595 "format_description" : "volume",
18596 "type" : "string"
18597 },
18598 "format" : {
18599 "description" : "The drive's backing file's data format.",
18600 "enum" : [
18601 "raw",
18602 "cow",
18603 "qcow",
18604 "qed",
18605 "qcow2",
18606 "vmdk",
18607 "cloop"
18608 ],
18609 "optional" : 1,
18610 "type" : "string"
18611 },
18612 "size" : {
18613 "description" : "Disk size. This is purely informational and has no effect.",
18614 "format" : "disk-size",
18615 "format_description" : "DiskSize",
18616 "optional" : 1,
18617 "type" : "string"
18618 },
18619 "volume" : {
18620 "alias" : "file"
18621 }
18622 },
18623 "optional" : 1,
18624 "type" : "string",
18625 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
18626 },
44660702
DM
18627 "force" : {
18628 "description" : "Allow to overwrite existing VM.",
18629 "optional" : 1,
18630 "requires" : "archive",
013dc89f
DM
18631 "type" : "boolean",
18632 "typetext" : "<boolean>"
44660702
DM
18633 },
18634 "freeze" : {
18635 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
18636 "optional" : 1,
013dc89f
DM
18637 "type" : "boolean",
18638 "typetext" : "<boolean>"
44660702 18639 },
5f26e15b
TL
18640 "hookscript" : {
18641 "description" : "Script that will be executed during various steps in the vms lifetime.",
18642 "format" : "pve-volume-id",
18643 "optional" : 1,
18644 "type" : "string",
18645 "typetext" : "<string>"
18646 },
44660702 18647 "hostpci[n]" : {
c2993fe5 18648 "description" : "Map host PCI devices into guest.",
44660702
DM
18649 "format" : "pve-qm-hostpci",
18650 "optional" : 1,
57b78691 18651 "type" : "string",
e2d681b3 18652 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 18653 "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
18654 },
18655 "hotplug" : {
18656 "default" : "network,disk,usb",
18657 "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'.",
18658 "format" : "pve-hotplug-features",
18659 "optional" : 1,
013dc89f
DM
18660 "type" : "string",
18661 "typetext" : "<string>"
7aacca6f 18662 },
4bd7df8b
DM
18663 "hugepages" : {
18664 "description" : "Enable/disable hugepages memory.",
18665 "enum" : [
18666 "any",
18667 "2",
18668 "1024"
18669 ],
18670 "optional" : 1,
18671 "type" : "string"
18672 },
7aacca6f 18673 "ide[n]" : {
44660702 18674 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 18675 "format" : {
44660702
DM
18676 "aio" : {
18677 "description" : "AIO type to use.",
18678 "enum" : [
18679 "native",
18680 "threads"
18681 ],
44660702
DM
18682 "optional" : 1,
18683 "type" : "string"
18684 },
18685 "backup" : {
18686 "description" : "Whether the drive should be included when making backups.",
44660702
DM
18687 "optional" : 1,
18688 "type" : "boolean"
18689 },
18690 "bps" : {
de0983cb 18691 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 18692 "format_description" : "bps",
56122987 18693 "optional" : 1,
44660702 18694 "type" : "integer"
56122987 18695 },
de0983cb
DM
18696 "bps_max_length" : {
18697 "description" : "Maximum length of I/O bursts in seconds.",
18698 "format_description" : "seconds",
18699 "minimum" : 1,
18700 "optional" : 1,
18701 "type" : "integer"
18702 },
44660702 18703 "bps_rd" : {
de0983cb 18704 "description" : "Maximum read speed in bytes per second.",
44660702 18705 "format_description" : "bps",
56122987 18706 "optional" : 1,
44660702 18707 "type" : "integer"
56122987 18708 },
de0983cb 18709 "bps_rd_length" : {
5d9c884c
DM
18710 "alias" : "bps_rd_max_length"
18711 },
18712 "bps_rd_max_length" : {
de0983cb
DM
18713 "description" : "Maximum length of read I/O bursts in seconds.",
18714 "format_description" : "seconds",
18715 "minimum" : 1,
18716 "optional" : 1,
18717 "type" : "integer"
18718 },
44660702 18719 "bps_wr" : {
de0983cb 18720 "description" : "Maximum write speed in bytes per second.",
44660702 18721 "format_description" : "bps",
56122987 18722 "optional" : 1,
44660702 18723 "type" : "integer"
56122987 18724 },
de0983cb 18725 "bps_wr_length" : {
5d9c884c
DM
18726 "alias" : "bps_wr_max_length"
18727 },
18728 "bps_wr_max_length" : {
de0983cb
DM
18729 "description" : "Maximum length of write I/O bursts in seconds.",
18730 "format_description" : "seconds",
18731 "minimum" : 1,
18732 "optional" : 1,
18733 "type" : "integer"
18734 },
44660702
DM
18735 "cache" : {
18736 "description" : "The drive's cache mode",
56122987 18737 "enum" : [
7aacca6f 18738 "none",
44660702
DM
18739 "writethrough",
18740 "writeback",
18741 "unsafe",
18742 "directsync"
56122987 18743 ],
56122987 18744 "optional" : 1,
44660702 18745 "type" : "string"
56122987 18746 },
44660702
DM
18747 "cyls" : {
18748 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
18749 "optional" : 1,
18750 "type" : "integer"
7aacca6f 18751 },
44660702
DM
18752 "detect_zeroes" : {
18753 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 18754 "optional" : 1,
44660702 18755 "type" : "boolean"
56122987 18756 },
44660702
DM
18757 "discard" : {
18758 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18759 "enum" : [
18760 "ignore",
18761 "on"
18762 ],
56122987 18763 "optional" : 1,
44660702 18764 "type" : "string"
56122987 18765 },
7aacca6f 18766 "file" : {
44660702 18767 "default_key" : 1,
7aacca6f 18768 "description" : "The drive's backing volume.",
7aacca6f
DM
18769 "format" : "pve-volume-id-or-qm-path",
18770 "format_description" : "volume",
7aacca6f 18771 "type" : "string"
56122987 18772 },
44660702
DM
18773 "format" : {
18774 "description" : "The drive's backing file's data format.",
56122987 18775 "enum" : [
44660702
DM
18776 "raw",
18777 "cow",
18778 "qcow",
18779 "qed",
18780 "qcow2",
18781 "vmdk",
18782 "cloop"
7aacca6f 18783 ],
7aacca6f
DM
18784 "optional" : 1,
18785 "type" : "string"
56122987 18786 },
44660702
DM
18787 "heads" : {
18788 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 18789 "optional" : 1,
44660702 18790 "type" : "integer"
56122987 18791 },
44660702 18792 "iops" : {
de0983cb 18793 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 18794 "format_description" : "iops",
56122987 18795 "optional" : 1,
44660702 18796 "type" : "integer"
56122987 18797 },
44660702 18798 "iops_max" : {
de0983cb 18799 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 18800 "format_description" : "iops",
56122987 18801 "optional" : 1,
44660702 18802 "type" : "integer"
56122987 18803 },
de0983cb
DM
18804 "iops_max_length" : {
18805 "description" : "Maximum length of I/O bursts in seconds.",
18806 "format_description" : "seconds",
18807 "minimum" : 1,
18808 "optional" : 1,
18809 "type" : "integer"
18810 },
7aacca6f 18811 "iops_rd" : {
de0983cb 18812 "description" : "Maximum read I/O in operations per second.",
44660702
DM
18813 "format_description" : "iops",
18814 "optional" : 1,
18815 "type" : "integer"
7aacca6f 18816 },
de0983cb 18817 "iops_rd_length" : {
5d9c884c 18818 "alias" : "iops_rd_max_length"
de0983cb 18819 },
44660702 18820 "iops_rd_max" : {
de0983cb 18821 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 18822 "format_description" : "iops",
56122987 18823 "optional" : 1,
44660702 18824 "type" : "integer"
56122987 18825 },
5d9c884c
DM
18826 "iops_rd_max_length" : {
18827 "description" : "Maximum length of read I/O bursts in seconds.",
18828 "format_description" : "seconds",
18829 "minimum" : 1,
18830 "optional" : 1,
18831 "type" : "integer"
18832 },
44660702 18833 "iops_wr" : {
de0983cb 18834 "description" : "Maximum write I/O in operations per second.",
44660702 18835 "format_description" : "iops",
56122987 18836 "optional" : 1,
44660702 18837 "type" : "integer"
7aacca6f 18838 },
de0983cb 18839 "iops_wr_length" : {
5d9c884c 18840 "alias" : "iops_wr_max_length"
de0983cb 18841 },
44660702 18842 "iops_wr_max" : {
de0983cb 18843 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 18844 "format_description" : "iops",
7aacca6f 18845 "optional" : 1,
44660702 18846 "type" : "integer"
56122987 18847 },
5d9c884c
DM
18848 "iops_wr_max_length" : {
18849 "description" : "Maximum length of write I/O bursts in seconds.",
18850 "format_description" : "seconds",
18851 "minimum" : 1,
18852 "optional" : 1,
18853 "type" : "integer"
18854 },
44660702 18855 "mbps" : {
de0983cb 18856 "description" : "Maximum r/w speed in megabytes per second.",
44660702 18857 "format_description" : "mbps",
7aacca6f 18858 "optional" : 1,
44660702 18859 "type" : "number"
56122987 18860 },
44660702 18861 "mbps_max" : {
de0983cb 18862 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 18863 "format_description" : "mbps",
56122987 18864 "optional" : 1,
44660702 18865 "type" : "number"
56122987 18866 },
44660702 18867 "mbps_rd" : {
de0983cb 18868 "description" : "Maximum read speed in megabytes per second.",
44660702 18869 "format_description" : "mbps",
7aacca6f 18870 "optional" : 1,
44660702 18871 "type" : "number"
7aacca6f 18872 },
44660702 18873 "mbps_rd_max" : {
de0983cb 18874 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 18875 "format_description" : "mbps",
56122987 18876 "optional" : 1,
44660702 18877 "type" : "number"
56122987 18878 },
44660702 18879 "mbps_wr" : {
de0983cb 18880 "description" : "Maximum write speed in megabytes per second.",
44660702 18881 "format_description" : "mbps",
7aacca6f 18882 "optional" : 1,
44660702 18883 "type" : "number"
56122987 18884 },
44660702 18885 "mbps_wr_max" : {
de0983cb 18886 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 18887 "format_description" : "mbps",
56122987 18888 "optional" : 1,
44660702 18889 "type" : "number"
7aacca6f
DM
18890 },
18891 "media" : {
44660702
DM
18892 "default" : "disk",
18893 "description" : "The drive's media type.",
56122987 18894 "enum" : [
7aacca6f
DM
18895 "cdrom",
18896 "disk"
56122987 18897 ],
56122987 18898 "optional" : 1,
44660702 18899 "type" : "string"
56122987 18900 },
44660702
DM
18901 "model" : {
18902 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
18903 "format" : "urlencoded",
18904 "format_description" : "model",
18905 "maxLength" : 120,
56122987 18906 "optional" : 1,
44660702 18907 "type" : "string"
56122987 18908 },
5d9c884c
DM
18909 "replicate" : {
18910 "default" : 1,
18911 "description" : "Whether the drive should considered for replication jobs.",
18912 "optional" : 1,
18913 "type" : "boolean"
18914 },
7aacca6f 18915 "rerror" : {
7aacca6f
DM
18916 "description" : "Read error action.",
18917 "enum" : [
18918 "ignore",
18919 "report",
18920 "stop"
44660702 18921 ],
44660702
DM
18922 "optional" : 1,
18923 "type" : "string"
56122987 18924 },
44660702
DM
18925 "secs" : {
18926 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 18927 "optional" : 1,
44660702
DM
18928 "type" : "integer"
18929 },
18930 "serial" : {
18931 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18932 "format" : "urlencoded",
18933 "format_description" : "serial",
18934 "maxLength" : 60,
18935 "optional" : 1,
18936 "type" : "string"
18937 },
27a7acb2
DM
18938 "shared" : {
18939 "default" : 0,
18940 "description" : "Mark this locally-managed volume as available on all nodes",
18941 "optional" : 1,
18942 "type" : "boolean",
18943 "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!"
18944 },
44660702
DM
18945 "size" : {
18946 "description" : "Disk size. This is purely informational and has no effect.",
18947 "format" : "disk-size",
f004f5b9 18948 "format_description" : "DiskSize",
44660702
DM
18949 "optional" : 1,
18950 "type" : "string"
7aacca6f
DM
18951 },
18952 "snapshot" : {
27a7acb2 18953 "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 18954 "optional" : 1,
44660702 18955 "type" : "boolean"
7aacca6f 18956 },
25203dc1
NC
18957 "ssd" : {
18958 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18959 "optional" : 1,
18960 "type" : "boolean"
18961 },
44660702
DM
18962 "trans" : {
18963 "description" : "Force disk geometry bios translation mode.",
18964 "enum" : [
18965 "none",
18966 "lba",
18967 "auto"
18968 ],
7aacca6f 18969 "optional" : 1,
44660702
DM
18970 "type" : "string"
18971 },
18972 "volume" : {
18973 "alias" : "file"
18974 },
18975 "werror" : {
18976 "description" : "Write error action.",
18977 "enum" : [
18978 "enospc",
18979 "ignore",
18980 "report",
18981 "stop"
18982 ],
44660702
DM
18983 "optional" : 1,
18984 "type" : "string"
95895385
TL
18985 },
18986 "wwn" : {
18987 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18988 "format_description" : "wwn",
18989 "optional" : 1,
18990 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18991 "type" : "string"
56122987
DM
18992 }
18993 },
56122987 18994 "optional" : 1,
4bd7df8b 18995 "type" : "string",
95895385 18996 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
18997 },
18998 "ipconfig[n]" : {
18999 "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",
19000 "format" : "pve-qm-ipconfig",
19001 "optional" : 1,
19002 "type" : "string",
19003 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 19004 },
95895385
TL
19005 "ivshmem" : {
19006 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
19007 "format" : {
19008 "name" : {
19009 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
19010 "format_description" : "string",
19011 "optional" : 1,
19012 "pattern" : "[a-zA-Z0-9\\-]+",
19013 "type" : "string"
19014 },
19015 "size" : {
19016 "description" : "The size of the file in MB.",
19017 "minimum" : 1,
19018 "type" : "integer"
19019 }
19020 },
19021 "optional" : 1,
19022 "type" : "string",
19023 "typetext" : "size=<integer> [,name=<string>]"
19024 },
56122987 19025 "keyboard" : {
35a75dd3 19026 "default" : null,
5da3d723 19027 "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 19028 "enum" : [
44660702
DM
19029 "de",
19030 "de-ch",
7aacca6f 19031 "da",
56122987 19032 "en-gb",
44660702
DM
19033 "en-us",
19034 "es",
19035 "fi",
19036 "fr",
19037 "fr-be",
19038 "fr-ca",
19039 "fr-ch",
19040 "hu",
7aacca6f 19041 "is",
44660702
DM
19042 "it",
19043 "ja",
19044 "lt",
56122987 19045 "mk",
7aacca6f 19046 "nl",
56122987 19047 "no",
44660702 19048 "pl",
7aacca6f 19049 "pt",
44660702
DM
19050 "pt-br",
19051 "sv",
19052 "sl",
19053 "tr"
56122987 19054 ],
44660702
DM
19055 "optional" : 1,
19056 "type" : "string"
56122987 19057 },
44660702
DM
19058 "kvm" : {
19059 "default" : 1,
19060 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 19061 "optional" : 1,
013dc89f
DM
19062 "type" : "boolean",
19063 "typetext" : "<boolean>"
7aacca6f 19064 },
44660702
DM
19065 "localtime" : {
19066 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 19067 "optional" : 1,
013dc89f
DM
19068 "type" : "boolean",
19069 "typetext" : "<boolean>"
44660702
DM
19070 },
19071 "lock" : {
19072 "description" : "Lock/unlock the VM.",
7aacca6f 19073 "enum" : [
7aacca6f 19074 "backup",
5f26e15b
TL
19075 "clone",
19076 "create",
19077 "migrate",
19078 "rollback",
7aacca6f 19079 "snapshot",
95895385
TL
19080 "snapshot-delete",
19081 "suspending",
19082 "suspended"
7aacca6f 19083 ],
44660702
DM
19084 "optional" : 1,
19085 "type" : "string"
56122987 19086 },
44660702 19087 "machine" : {
4d47f125 19088 "description" : "Specifies the Qemu machine type.",
44660702
DM
19089 "maxLength" : 40,
19090 "optional" : 1,
5c1699e5 19091 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
19092 "type" : "string"
19093 },
19094 "memory" : {
19095 "default" : 512,
19096 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
19097 "minimum" : 16,
19098 "optional" : 1,
4bd7df8b 19099 "type" : "integer",
013dc89f 19100 "typetext" : "<integer> (16 - N)"
44660702
DM
19101 },
19102 "migrate_downtime" : {
19103 "default" : 0.1,
19104 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
19105 "minimum" : 0,
19106 "optional" : 1,
4bd7df8b 19107 "type" : "number",
013dc89f 19108 "typetext" : "<number> (0 - N)"
44660702
DM
19109 },
19110 "migrate_speed" : {
56122987 19111 "default" : 0,
44660702
DM
19112 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
19113 "minimum" : 0,
56122987 19114 "optional" : 1,
4bd7df8b 19115 "type" : "integer",
013dc89f 19116 "typetext" : "<integer> (0 - N)"
56122987 19117 },
27a7acb2
DM
19118 "name" : {
19119 "description" : "Set a name for the VM. Only used on the configuration web interface.",
19120 "format" : "dns-name",
19121 "optional" : 1,
19122 "type" : "string",
19123 "typetext" : "<string>"
19124 },
19125 "nameserver" : {
19126 "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.",
19127 "format" : "address-list",
44660702 19128 "optional" : 1,
013dc89f
DM
19129 "type" : "string",
19130 "typetext" : "<string>"
44660702
DM
19131 },
19132 "net[n]" : {
c2993fe5 19133 "description" : "Specify network devices.",
f004f5b9
DM
19134 "format" : {
19135 "bridge" : {
c2993fe5 19136 "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
19137 "format_description" : "bridge",
19138 "optional" : 1,
19139 "type" : "string"
19140 },
19141 "e1000" : {
19142 "alias" : "macaddr",
19143 "keyAlias" : "model"
19144 },
19145 "e1000-82540em" : {
19146 "alias" : "macaddr",
19147 "keyAlias" : "model"
19148 },
19149 "e1000-82544gc" : {
19150 "alias" : "macaddr",
19151 "keyAlias" : "model"
19152 },
19153 "e1000-82545em" : {
19154 "alias" : "macaddr",
19155 "keyAlias" : "model"
19156 },
19157 "firewall" : {
19158 "description" : "Whether this interface should be protected by the firewall.",
19159 "optional" : 1,
19160 "type" : "boolean"
19161 },
19162 "i82551" : {
19163 "alias" : "macaddr",
19164 "keyAlias" : "model"
19165 },
19166 "i82557b" : {
19167 "alias" : "macaddr",
19168 "keyAlias" : "model"
19169 },
19170 "i82559er" : {
19171 "alias" : "macaddr",
19172 "keyAlias" : "model"
19173 },
19174 "link_down" : {
c2993fe5 19175 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
19176 "optional" : 1,
19177 "type" : "boolean"
19178 },
19179 "macaddr" : {
c2993fe5 19180 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 19181 "format" : "mac-addr",
f004f5b9 19182 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 19183 "optional" : 1,
95895385
TL
19184 "type" : "string",
19185 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
19186 },
19187 "model" : {
19188 "default_key" : 1,
c2993fe5 19189 "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
19190 "enum" : [
19191 "rtl8139",
19192 "ne2k_pci",
19193 "e1000",
19194 "pcnet",
19195 "virtio",
19196 "ne2k_isa",
19197 "i82551",
19198 "i82557b",
19199 "i82559er",
19200 "vmxnet3",
19201 "e1000-82540em",
19202 "e1000-82544gc",
19203 "e1000-82545em"
19204 ],
f004f5b9
DM
19205 "type" : "string"
19206 },
19207 "ne2k_isa" : {
19208 "alias" : "macaddr",
19209 "keyAlias" : "model"
19210 },
19211 "ne2k_pci" : {
19212 "alias" : "macaddr",
19213 "keyAlias" : "model"
19214 },
19215 "pcnet" : {
19216 "alias" : "macaddr",
19217 "keyAlias" : "model"
19218 },
19219 "queues" : {
19220 "description" : "Number of packet queues to be used on the device.",
19221 "maximum" : 16,
19222 "minimum" : 0,
19223 "optional" : 1,
19224 "type" : "integer"
19225 },
19226 "rate" : {
c2993fe5 19227 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
19228 "minimum" : 0,
19229 "optional" : 1,
19230 "type" : "number"
19231 },
19232 "rtl8139" : {
19233 "alias" : "macaddr",
19234 "keyAlias" : "model"
19235 },
19236 "tag" : {
19237 "description" : "VLAN tag to apply to packets on this interface.",
19238 "maximum" : 4094,
c2993fe5 19239 "minimum" : 1,
f004f5b9
DM
19240 "optional" : 1,
19241 "type" : "integer"
19242 },
19243 "trunks" : {
19244 "description" : "VLAN trunks to pass through this interface.",
19245 "format_description" : "vlanid[;vlanid...]",
19246 "optional" : 1,
19247 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
19248 "type" : "string"
19249 },
19250 "virtio" : {
19251 "alias" : "macaddr",
19252 "keyAlias" : "model"
19253 },
19254 "vmxnet3" : {
19255 "alias" : "macaddr",
19256 "keyAlias" : "model"
19257 }
19258 },
44660702 19259 "optional" : 1,
4bd7df8b 19260 "type" : "string",
013dc89f 19261 "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
19262 },
19263 "node" : {
19264 "description" : "The cluster node name.",
19265 "format" : "pve-node",
013dc89f
DM
19266 "type" : "string",
19267 "typetext" : "<string>"
44660702
DM
19268 },
19269 "numa" : {
7aacca6f 19270 "default" : 0,
44660702
DM
19271 "description" : "Enable/disable NUMA.",
19272 "optional" : 1,
013dc89f
DM
19273 "type" : "boolean",
19274 "typetext" : "<boolean>"
56122987 19275 },
7aacca6f 19276 "numa[n]" : {
c2993fe5 19277 "description" : "NUMA topology.",
7aacca6f 19278 "format" : {
44660702 19279 "cpus" : {
c2993fe5 19280 "description" : "CPUs accessing this NUMA node.",
44660702
DM
19281 "format_description" : "id[-id];...",
19282 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
19283 "type" : "string"
19284 },
7aacca6f 19285 "hostnodes" : {
c2993fe5 19286 "description" : "Host NUMA nodes to use.",
44660702 19287 "format_description" : "id[-id];...",
7aacca6f 19288 "optional" : 1,
44660702
DM
19289 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
19290 "type" : "string"
7aacca6f 19291 },
44660702 19292 "memory" : {
c2993fe5 19293 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
19294 "optional" : 1,
19295 "type" : "number"
7aacca6f
DM
19296 },
19297 "policy" : {
c2993fe5 19298 "description" : "NUMA allocation policy.",
7aacca6f
DM
19299 "enum" : [
19300 "preferred",
19301 "bind",
19302 "interleave"
19303 ],
7aacca6f 19304 "optional" : 1,
44660702 19305 "type" : "string"
7aacca6f
DM
19306 }
19307 },
56122987 19308 "optional" : 1,
4bd7df8b
DM
19309 "type" : "string",
19310 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 19311 },
44660702
DM
19312 "onboot" : {
19313 "default" : 0,
19314 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19315 "optional" : 1,
013dc89f
DM
19316 "type" : "boolean",
19317 "typetext" : "<boolean>"
56122987
DM
19318 },
19319 "ostype" : {
c2993fe5 19320 "description" : "Specify guest operating system.",
56122987
DM
19321 "enum" : [
19322 "other",
19323 "wxp",
19324 "w2k",
19325 "w2k3",
19326 "w2k8",
19327 "wvista",
19328 "win7",
19329 "win8",
32d876b5 19330 "win10",
56122987
DM
19331 "l24",
19332 "l26",
19333 "solaris"
44660702 19334 ],
56122987 19335 "optional" : 1,
c2993fe5 19336 "type" : "string",
5c1699e5 19337 "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 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 19338 },
44660702 19339 "parallel[n]" : {
c2993fe5 19340 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 19341 "optional" : 1,
44660702 19342 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
19343 "type" : "string",
19344 "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 19345 },
44660702
DM
19346 "pool" : {
19347 "description" : "Add the VM to the specified pool.",
19348 "format" : "pve-poolid",
56122987 19349 "optional" : 1,
013dc89f
DM
19350 "type" : "string",
19351 "typetext" : "<string>"
56122987 19352 },
44660702
DM
19353 "protection" : {
19354 "default" : 0,
c2993fe5 19355 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 19356 "optional" : 1,
013dc89f
DM
19357 "type" : "boolean",
19358 "typetext" : "<boolean>"
56122987 19359 },
44660702 19360 "reboot" : {
7aacca6f 19361 "default" : 1,
44660702
DM
19362 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
19363 "optional" : 1,
013dc89f
DM
19364 "type" : "boolean",
19365 "typetext" : "<boolean>"
56122987 19366 },
56122987 19367 "sata[n]" : {
44660702 19368 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 19369 "format" : {
7aacca6f 19370 "aio" : {
44660702 19371 "description" : "AIO type to use.",
56122987 19372 "enum" : [
7aacca6f
DM
19373 "native",
19374 "threads"
56122987 19375 ],
7aacca6f 19376 "optional" : 1,
44660702 19377 "type" : "string"
7aacca6f
DM
19378 },
19379 "backup" : {
7aacca6f 19380 "description" : "Whether the drive should be included when making backups.",
7aacca6f 19381 "optional" : 1,
44660702 19382 "type" : "boolean"
56122987 19383 },
44660702 19384 "bps" : {
de0983cb 19385 "description" : "Maximum r/w speed in bytes per second.",
44660702 19386 "format_description" : "bps",
7aacca6f 19387 "optional" : 1,
44660702 19388 "type" : "integer"
56122987 19389 },
de0983cb
DM
19390 "bps_max_length" : {
19391 "description" : "Maximum length of I/O bursts in seconds.",
19392 "format_description" : "seconds",
19393 "minimum" : 1,
19394 "optional" : 1,
19395 "type" : "integer"
19396 },
44660702 19397 "bps_rd" : {
de0983cb 19398 "description" : "Maximum read speed in bytes per second.",
44660702 19399 "format_description" : "bps",
56122987 19400 "optional" : 1,
44660702 19401 "type" : "integer"
7aacca6f 19402 },
de0983cb 19403 "bps_rd_length" : {
5d9c884c
DM
19404 "alias" : "bps_rd_max_length"
19405 },
19406 "bps_rd_max_length" : {
de0983cb
DM
19407 "description" : "Maximum length of read I/O bursts in seconds.",
19408 "format_description" : "seconds",
19409 "minimum" : 1,
19410 "optional" : 1,
19411 "type" : "integer"
19412 },
44660702 19413 "bps_wr" : {
de0983cb 19414 "description" : "Maximum write speed in bytes per second.",
44660702 19415 "format_description" : "bps",
56122987 19416 "optional" : 1,
44660702 19417 "type" : "integer"
56122987 19418 },
de0983cb 19419 "bps_wr_length" : {
5d9c884c
DM
19420 "alias" : "bps_wr_max_length"
19421 },
19422 "bps_wr_max_length" : {
de0983cb
DM
19423 "description" : "Maximum length of write I/O bursts in seconds.",
19424 "format_description" : "seconds",
19425 "minimum" : 1,
19426 "optional" : 1,
19427 "type" : "integer"
19428 },
7aacca6f 19429 "cache" : {
7aacca6f
DM
19430 "description" : "The drive's cache mode",
19431 "enum" : [
19432 "none",
19433 "writethrough",
19434 "writeback",
19435 "unsafe",
19436 "directsync"
19437 ],
44660702
DM
19438 "optional" : 1,
19439 "type" : "string"
56122987 19440 },
44660702
DM
19441 "cyls" : {
19442 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 19443 "optional" : 1,
7aacca6f 19444 "type" : "integer"
56122987 19445 },
7aacca6f
DM
19446 "detect_zeroes" : {
19447 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 19448 "optional" : 1,
7aacca6f 19449 "type" : "boolean"
56122987 19450 },
44660702
DM
19451 "discard" : {
19452 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
19453 "enum" : [
19454 "ignore",
19455 "on"
19456 ],
56122987 19457 "optional" : 1,
44660702 19458 "type" : "string"
56122987 19459 },
44660702
DM
19460 "file" : {
19461 "default_key" : 1,
19462 "description" : "The drive's backing volume.",
19463 "format" : "pve-volume-id-or-qm-path",
19464 "format_description" : "volume",
19465 "type" : "string"
56122987
DM
19466 },
19467 "format" : {
44660702 19468 "description" : "The drive's backing file's data format.",
56122987
DM
19469 "enum" : [
19470 "raw",
19471 "cow",
19472 "qcow",
19473 "qed",
19474 "qcow2",
19475 "vmdk",
19476 "cloop"
19477 ],
56122987 19478 "optional" : 1,
44660702 19479 "type" : "string"
56122987 19480 },
7aacca6f 19481 "heads" : {
7aacca6f 19482 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19483 "optional" : 1,
19484 "type" : "integer"
56122987 19485 },
44660702 19486 "iops" : {
de0983cb 19487 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
19488 "format_description" : "iops",
19489 "optional" : 1,
19490 "type" : "integer"
56122987 19491 },
44660702 19492 "iops_max" : {
de0983cb 19493 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 19494 "format_description" : "iops",
56122987 19495 "optional" : 1,
44660702 19496 "type" : "integer"
56122987 19497 },
de0983cb
DM
19498 "iops_max_length" : {
19499 "description" : "Maximum length of I/O bursts in seconds.",
19500 "format_description" : "seconds",
19501 "minimum" : 1,
19502 "optional" : 1,
19503 "type" : "integer"
19504 },
44660702 19505 "iops_rd" : {
de0983cb 19506 "description" : "Maximum read I/O in operations per second.",
44660702 19507 "format_description" : "iops",
56122987 19508 "optional" : 1,
44660702 19509 "type" : "integer"
56122987 19510 },
de0983cb 19511 "iops_rd_length" : {
5d9c884c 19512 "alias" : "iops_rd_max_length"
de0983cb 19513 },
44660702 19514 "iops_rd_max" : {
de0983cb 19515 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 19516 "format_description" : "iops",
56122987 19517 "optional" : 1,
44660702 19518 "type" : "integer"
56122987 19519 },
5d9c884c
DM
19520 "iops_rd_max_length" : {
19521 "description" : "Maximum length of read I/O bursts in seconds.",
19522 "format_description" : "seconds",
19523 "minimum" : 1,
19524 "optional" : 1,
19525 "type" : "integer"
19526 },
44660702 19527 "iops_wr" : {
de0983cb 19528 "description" : "Maximum write I/O in operations per second.",
44660702 19529 "format_description" : "iops",
7aacca6f 19530 "optional" : 1,
44660702 19531 "type" : "integer"
7aacca6f 19532 },
de0983cb 19533 "iops_wr_length" : {
5d9c884c 19534 "alias" : "iops_wr_max_length"
de0983cb 19535 },
44660702 19536 "iops_wr_max" : {
de0983cb 19537 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 19538 "format_description" : "iops",
56122987 19539 "optional" : 1,
7aacca6f 19540 "type" : "integer"
56122987 19541 },
5d9c884c
DM
19542 "iops_wr_max_length" : {
19543 "description" : "Maximum length of write I/O bursts in seconds.",
19544 "format_description" : "seconds",
19545 "minimum" : 1,
19546 "optional" : 1,
19547 "type" : "integer"
19548 },
44660702 19549 "mbps" : {
de0983cb 19550 "description" : "Maximum r/w speed in megabytes per second.",
44660702 19551 "format_description" : "mbps",
56122987 19552 "optional" : 1,
44660702 19553 "type" : "number"
56122987 19554 },
44660702 19555 "mbps_max" : {
de0983cb 19556 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 19557 "format_description" : "mbps",
7aacca6f 19558 "optional" : 1,
44660702 19559 "type" : "number"
7aacca6f 19560 },
44660702 19561 "mbps_rd" : {
de0983cb 19562 "description" : "Maximum read speed in megabytes per second.",
44660702 19563 "format_description" : "mbps",
7aacca6f 19564 "optional" : 1,
44660702 19565 "type" : "number"
7aacca6f 19566 },
44660702 19567 "mbps_rd_max" : {
de0983cb 19568 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 19569 "format_description" : "mbps",
7aacca6f 19570 "optional" : 1,
44660702 19571 "type" : "number"
7aacca6f 19572 },
44660702 19573 "mbps_wr" : {
de0983cb 19574 "description" : "Maximum write speed in megabytes per second.",
44660702 19575 "format_description" : "mbps",
7aacca6f 19576 "optional" : 1,
44660702 19577 "type" : "number"
7aacca6f
DM
19578 },
19579 "mbps_wr_max" : {
de0983cb 19580 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 19581 "format_description" : "mbps",
7aacca6f 19582 "optional" : 1,
44660702 19583 "type" : "number"
7aacca6f 19584 },
44660702
DM
19585 "media" : {
19586 "default" : "disk",
19587 "description" : "The drive's media type.",
56122987 19588 "enum" : [
44660702
DM
19589 "cdrom",
19590 "disk"
56122987 19591 ],
56122987 19592 "optional" : 1,
44660702 19593 "type" : "string"
56122987 19594 },
5d9c884c
DM
19595 "replicate" : {
19596 "default" : 1,
19597 "description" : "Whether the drive should considered for replication jobs.",
19598 "optional" : 1,
19599 "type" : "boolean"
19600 },
44660702
DM
19601 "rerror" : {
19602 "description" : "Read error action.",
7aacca6f
DM
19603 "enum" : [
19604 "ignore",
44660702
DM
19605 "report",
19606 "stop"
7aacca6f 19607 ],
56122987 19608 "optional" : 1,
44660702 19609 "type" : "string"
56122987 19610 },
44660702
DM
19611 "secs" : {
19612 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 19613 "optional" : 1,
44660702 19614 "type" : "integer"
56122987 19615 },
44660702
DM
19616 "serial" : {
19617 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19618 "format" : "urlencoded",
19619 "format_description" : "serial",
19620 "maxLength" : 60,
19621 "optional" : 1,
19622 "type" : "string"
7aacca6f 19623 },
27a7acb2
DM
19624 "shared" : {
19625 "default" : 0,
19626 "description" : "Mark this locally-managed volume as available on all nodes",
19627 "optional" : 1,
19628 "type" : "boolean",
19629 "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!"
19630 },
7aacca6f
DM
19631 "size" : {
19632 "description" : "Disk size. This is purely informational and has no effect.",
44660702 19633 "format" : "disk-size",
f004f5b9 19634 "format_description" : "DiskSize",
56122987 19635 "optional" : 1,
44660702 19636 "type" : "string"
56122987 19637 },
44660702 19638 "snapshot" : {
27a7acb2 19639 "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 19640 "optional" : 1,
44660702 19641 "type" : "boolean"
56122987 19642 },
25203dc1
NC
19643 "ssd" : {
19644 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
19645 "optional" : 1,
19646 "type" : "boolean"
19647 },
44660702
DM
19648 "trans" : {
19649 "description" : "Force disk geometry bios translation mode.",
56122987 19650 "enum" : [
44660702
DM
19651 "none",
19652 "lba",
19653 "auto"
7aacca6f 19654 ],
44660702
DM
19655 "optional" : 1,
19656 "type" : "string"
19657 },
19658 "volume" : {
19659 "alias" : "file"
56122987
DM
19660 },
19661 "werror" : {
56122987
DM
19662 "description" : "Write error action.",
19663 "enum" : [
19664 "enospc",
19665 "ignore",
19666 "report",
19667 "stop"
19668 ],
56122987 19669 "optional" : 1,
44660702 19670 "type" : "string"
95895385
TL
19671 },
19672 "wwn" : {
19673 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
19674 "format_description" : "wwn",
19675 "optional" : 1,
19676 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
19677 "type" : "string"
44660702
DM
19678 }
19679 },
19680 "optional" : 1,
4bd7df8b 19681 "type" : "string",
95895385 19682 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
19683 },
19684 "scsi[n]" : {
e9cd3bd4 19685 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
19686 "format" : {
19687 "aio" : {
19688 "description" : "AIO type to use.",
19689 "enum" : [
19690 "native",
19691 "threads"
19692 ],
44660702
DM
19693 "optional" : 1,
19694 "type" : "string"
56122987 19695 },
7aacca6f 19696 "backup" : {
44660702 19697 "description" : "Whether the drive should be included when making backups.",
7aacca6f 19698 "optional" : 1,
44660702 19699 "type" : "boolean"
7aacca6f 19700 },
44660702 19701 "bps" : {
de0983cb 19702 "description" : "Maximum r/w speed in bytes per second.",
44660702 19703 "format_description" : "bps",
7aacca6f 19704 "optional" : 1,
44660702 19705 "type" : "integer"
7aacca6f 19706 },
de0983cb
DM
19707 "bps_max_length" : {
19708 "description" : "Maximum length of I/O bursts in seconds.",
19709 "format_description" : "seconds",
19710 "minimum" : 1,
19711 "optional" : 1,
19712 "type" : "integer"
19713 },
44660702 19714 "bps_rd" : {
de0983cb 19715 "description" : "Maximum read speed in bytes per second.",
44660702 19716 "format_description" : "bps",
56122987 19717 "optional" : 1,
44660702 19718 "type" : "integer"
56122987 19719 },
de0983cb 19720 "bps_rd_length" : {
5d9c884c
DM
19721 "alias" : "bps_rd_max_length"
19722 },
19723 "bps_rd_max_length" : {
de0983cb
DM
19724 "description" : "Maximum length of read I/O bursts in seconds.",
19725 "format_description" : "seconds",
19726 "minimum" : 1,
19727 "optional" : 1,
19728 "type" : "integer"
19729 },
44660702 19730 "bps_wr" : {
de0983cb 19731 "description" : "Maximum write speed in bytes per second.",
44660702 19732 "format_description" : "bps",
7aacca6f 19733 "optional" : 1,
44660702 19734 "type" : "integer"
56122987 19735 },
de0983cb 19736 "bps_wr_length" : {
5d9c884c
DM
19737 "alias" : "bps_wr_max_length"
19738 },
19739 "bps_wr_max_length" : {
de0983cb
DM
19740 "description" : "Maximum length of write I/O bursts in seconds.",
19741 "format_description" : "seconds",
19742 "minimum" : 1,
19743 "optional" : 1,
19744 "type" : "integer"
19745 },
44660702
DM
19746 "cache" : {
19747 "description" : "The drive's cache mode",
7aacca6f
DM
19748 "enum" : [
19749 "none",
44660702
DM
19750 "writethrough",
19751 "writeback",
19752 "unsafe",
19753 "directsync"
7aacca6f 19754 ],
56122987 19755 "optional" : 1,
44660702 19756 "type" : "string"
56122987 19757 },
7aacca6f
DM
19758 "cyls" : {
19759 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
19760 "optional" : 1,
44660702 19761 "type" : "integer"
7aacca6f 19762 },
44660702
DM
19763 "detect_zeroes" : {
19764 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 19765 "optional" : 1,
44660702 19766 "type" : "boolean"
56122987 19767 },
44660702
DM
19768 "discard" : {
19769 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 19770 "enum" : [
44660702
DM
19771 "ignore",
19772 "on"
7aacca6f 19773 ],
7aacca6f 19774 "optional" : 1,
44660702 19775 "type" : "string"
56122987
DM
19776 },
19777 "file" : {
7aacca6f
DM
19778 "default_key" : 1,
19779 "description" : "The drive's backing volume.",
44660702
DM
19780 "format" : "pve-volume-id-or-qm-path",
19781 "format_description" : "volume",
7aacca6f 19782 "type" : "string"
56122987 19783 },
7aacca6f 19784 "format" : {
44660702 19785 "description" : "The drive's backing file's data format.",
56122987 19786 "enum" : [
7aacca6f
DM
19787 "raw",
19788 "cow",
19789 "qcow",
19790 "qed",
19791 "qcow2",
19792 "vmdk",
19793 "cloop"
56122987 19794 ],
44660702
DM
19795 "optional" : 1,
19796 "type" : "string"
56122987 19797 },
44660702
DM
19798 "heads" : {
19799 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
19800 "optional" : 1,
19801 "type" : "integer"
19802 },
19803 "iops" : {
de0983cb 19804 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 19805 "format_description" : "iops",
56122987 19806 "optional" : 1,
44660702 19807 "type" : "integer"
56122987 19808 },
44660702 19809 "iops_max" : {
de0983cb 19810 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 19811 "format_description" : "iops",
7aacca6f 19812 "optional" : 1,
44660702 19813 "type" : "integer"
56122987 19814 },
de0983cb
DM
19815 "iops_max_length" : {
19816 "description" : "Maximum length of I/O bursts in seconds.",
19817 "format_description" : "seconds",
19818 "minimum" : 1,
19819 "optional" : 1,
19820 "type" : "integer"
19821 },
44660702 19822 "iops_rd" : {
de0983cb 19823 "description" : "Maximum read I/O in operations per second.",
44660702 19824 "format_description" : "iops",
56122987 19825 "optional" : 1,
44660702 19826 "type" : "integer"
56122987 19827 },
de0983cb 19828 "iops_rd_length" : {
5d9c884c 19829 "alias" : "iops_rd_max_length"
de0983cb 19830 },
44660702 19831 "iops_rd_max" : {
de0983cb 19832 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
19833 "format_description" : "iops",
19834 "optional" : 1,
19835 "type" : "integer"
56122987 19836 },
5d9c884c
DM
19837 "iops_rd_max_length" : {
19838 "description" : "Maximum length of read I/O bursts in seconds.",
19839 "format_description" : "seconds",
19840 "minimum" : 1,
19841 "optional" : 1,
19842 "type" : "integer"
19843 },
44660702 19844 "iops_wr" : {
de0983cb 19845 "description" : "Maximum write I/O in operations per second.",
44660702 19846 "format_description" : "iops",
56122987 19847 "optional" : 1,
44660702 19848 "type" : "integer"
56122987 19849 },
de0983cb 19850 "iops_wr_length" : {
5d9c884c 19851 "alias" : "iops_wr_max_length"
de0983cb 19852 },
44660702 19853 "iops_wr_max" : {
de0983cb 19854 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 19855 "format_description" : "iops",
56122987 19856 "optional" : 1,
56122987
DM
19857 "type" : "integer"
19858 },
5d9c884c
DM
19859 "iops_wr_max_length" : {
19860 "description" : "Maximum length of write I/O bursts in seconds.",
19861 "format_description" : "seconds",
19862 "minimum" : 1,
19863 "optional" : 1,
19864 "type" : "integer"
19865 },
44660702
DM
19866 "iothread" : {
19867 "description" : "Whether to use iothreads for this drive",
44660702
DM
19868 "optional" : 1,
19869 "type" : "boolean"
19870 },
19871 "mbps" : {
de0983cb 19872 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
19873 "format_description" : "mbps",
19874 "optional" : 1,
19875 "type" : "number"
19876 },
7aacca6f 19877 "mbps_max" : {
de0983cb 19878 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 19879 "format_description" : "mbps",
56122987 19880 "optional" : 1,
44660702 19881 "type" : "number"
56122987 19882 },
44660702 19883 "mbps_rd" : {
de0983cb 19884 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
19885 "format_description" : "mbps",
19886 "optional" : 1,
19887 "type" : "number"
56122987 19888 },
44660702 19889 "mbps_rd_max" : {
de0983cb 19890 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 19891 "format_description" : "mbps",
56122987 19892 "optional" : 1,
44660702 19893 "type" : "number"
56122987 19894 },
44660702 19895 "mbps_wr" : {
de0983cb 19896 "description" : "Maximum write speed in megabytes per second.",
44660702 19897 "format_description" : "mbps",
56122987 19898 "optional" : 1,
44660702 19899 "type" : "number"
56122987 19900 },
44660702 19901 "mbps_wr_max" : {
de0983cb 19902 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 19903 "format_description" : "mbps",
7aacca6f 19904 "optional" : 1,
44660702 19905 "type" : "number"
56122987 19906 },
7aacca6f 19907 "media" : {
44660702 19908 "default" : "disk",
7aacca6f
DM
19909 "description" : "The drive's media type.",
19910 "enum" : [
19911 "cdrom",
19912 "disk"
19913 ],
56122987 19914 "optional" : 1,
44660702 19915 "type" : "string"
56122987 19916 },
44660702
DM
19917 "queues" : {
19918 "description" : "Number of queues.",
44660702
DM
19919 "minimum" : 2,
19920 "optional" : 1,
19921 "type" : "integer"
56122987 19922 },
5d9c884c
DM
19923 "replicate" : {
19924 "default" : 1,
19925 "description" : "Whether the drive should considered for replication jobs.",
19926 "optional" : 1,
19927 "type" : "boolean"
19928 },
19929 "rerror" : {
19930 "description" : "Read error action.",
19931 "enum" : [
19932 "ignore",
19933 "report",
19934 "stop"
19935 ],
19936 "optional" : 1,
19937 "type" : "string"
19938 },
52e44c50
FG
19939 "scsiblock" : {
19940 "default" : 0,
19941 "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",
19942 "optional" : 1,
19943 "type" : "boolean"
19944 },
7aacca6f 19945 "secs" : {
7aacca6f 19946 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
19947 "optional" : 1,
19948 "type" : "integer"
19949 },
19950 "serial" : {
19951 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
19952 "format" : "urlencoded",
19953 "format_description" : "serial",
19954 "maxLength" : 60,
19955 "optional" : 1,
19956 "type" : "string"
19957 },
27a7acb2
DM
19958 "shared" : {
19959 "default" : 0,
19960 "description" : "Mark this locally-managed volume as available on all nodes",
19961 "optional" : 1,
19962 "type" : "boolean",
19963 "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!"
19964 },
44660702
DM
19965 "size" : {
19966 "description" : "Disk size. This is purely informational and has no effect.",
19967 "format" : "disk-size",
f004f5b9 19968 "format_description" : "DiskSize",
44660702
DM
19969 "optional" : 1,
19970 "type" : "string"
19971 },
19972 "snapshot" : {
27a7acb2 19973 "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
19974 "optional" : 1,
19975 "type" : "boolean"
19976 },
25203dc1
NC
19977 "ssd" : {
19978 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
19979 "optional" : 1,
19980 "type" : "boolean"
19981 },
44660702
DM
19982 "trans" : {
19983 "description" : "Force disk geometry bios translation mode.",
19984 "enum" : [
19985 "none",
19986 "lba",
19987 "auto"
19988 ],
44660702
DM
19989 "optional" : 1,
19990 "type" : "string"
19991 },
19992 "volume" : {
19993 "alias" : "file"
19994 },
19995 "werror" : {
19996 "description" : "Write error action.",
19997 "enum" : [
19998 "enospc",
19999 "ignore",
20000 "report",
20001 "stop"
20002 ],
44660702
DM
20003 "optional" : 1,
20004 "type" : "string"
95895385
TL
20005 },
20006 "wwn" : {
20007 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
20008 "format_description" : "wwn",
20009 "optional" : 1,
20010 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
20011 "type" : "string"
56122987
DM
20012 }
20013 },
7aacca6f 20014 "optional" : 1,
4bd7df8b 20015 "type" : "string",
95895385 20016 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 20017 },
44660702
DM
20018 "scsihw" : {
20019 "default" : "lsi",
c2993fe5 20020 "description" : "SCSI controller model",
44660702
DM
20021 "enum" : [
20022 "lsi",
20023 "lsi53c810",
20024 "virtio-scsi-pci",
20025 "virtio-scsi-single",
20026 "megasas",
20027 "pvscsi"
20028 ],
7aacca6f 20029 "optional" : 1,
44660702 20030 "type" : "string"
7aacca6f 20031 },
27a7acb2
DM
20032 "searchdomain" : {
20033 "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.",
20034 "optional" : 1,
20035 "type" : "string",
20036 "typetext" : "<string>"
20037 },
44660702 20038 "serial[n]" : {
c2993fe5 20039 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
20040 "optional" : 1,
20041 "pattern" : "(/dev/.+|socket)",
c2993fe5 20042 "type" : "string",
57b78691 20043 "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
20044 },
20045 "shares" : {
20046 "default" : 1000,
5da3d723 20047 "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
20048 "maximum" : 50000,
20049 "minimum" : 0,
20050 "optional" : 1,
4bd7df8b 20051 "type" : "integer",
013dc89f 20052 "typetext" : "<integer> (0 - 50000)"
44660702
DM
20053 },
20054 "smbios1" : {
20055 "description" : "Specify SMBIOS type 1 fields.",
20056 "format" : "pve-qm-smbios1",
1e3f8156 20057 "maxLength" : 512,
7aacca6f 20058 "optional" : 1,
4bd7df8b 20059 "type" : "string",
1e3f8156 20060 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
7aacca6f
DM
20061 },
20062 "smp" : {
44660702 20063 "default" : 1,
7aacca6f 20064 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 20065 "minimum" : 1,
56122987 20066 "optional" : 1,
4bd7df8b 20067 "type" : "integer",
013dc89f 20068 "typetext" : "<integer> (1 - N)"
44660702
DM
20069 },
20070 "sockets" : {
7aacca6f 20071 "default" : 1,
44660702
DM
20072 "description" : "The number of CPU sockets.",
20073 "minimum" : 1,
20074 "optional" : 1,
4bd7df8b 20075 "type" : "integer",
013dc89f 20076 "typetext" : "<integer> (1 - N)"
7aacca6f 20077 },
1c532546
TL
20078 "spice_enhancements" : {
20079 "description" : "Configure additional enhancements for SPICE.",
20080 "format" : {
20081 "foldersharing" : {
20082 "default" : "0",
20083 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
20084 "optional" : 1,
20085 "type" : "boolean"
20086 },
20087 "videostreaming" : {
20088 "default" : "off",
20089 "description" : "Enable video streaming. Uses compression for detected video streams.",
20090 "enum" : [
20091 "off",
20092 "all",
20093 "filter"
20094 ],
20095 "optional" : 1,
20096 "type" : "string"
20097 }
20098 },
20099 "optional" : 1,
20100 "type" : "string",
20101 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
20102 },
27a7acb2
DM
20103 "sshkeys" : {
20104 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
20105 "format" : "urlencoded",
20106 "optional" : 1,
20107 "type" : "string",
20108 "typetext" : "<string>"
20109 },
5da3d723
TL
20110 "start" : {
20111 "default" : 0,
20112 "description" : "Start VM after it was created successfully.",
20113 "optional" : 1,
20114 "type" : "boolean",
20115 "typetext" : "<boolean>"
20116 },
44660702
DM
20117 "startdate" : {
20118 "default" : "now",
20119 "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'.",
20120 "optional" : 1,
20121 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
20122 "type" : "string",
20123 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
20124 },
20125 "startup" : {
20126 "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.",
20127 "format" : "pve-startup-order",
20128 "optional" : 1,
20129 "type" : "string",
20130 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
20131 },
20132 "storage" : {
20133 "description" : "Default storage.",
20134 "format" : "pve-storage-id",
7aacca6f 20135 "optional" : 1,
013dc89f
DM
20136 "type" : "string",
20137 "typetext" : "<string>"
56122987 20138 },
44660702
DM
20139 "tablet" : {
20140 "default" : 1,
c2993fe5 20141 "description" : "Enable/disable the USB tablet device.",
56122987 20142 "optional" : 1,
c2993fe5 20143 "type" : "boolean",
013dc89f 20144 "typetext" : "<boolean>",
c2993fe5 20145 "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 20146 },
5c1699e5
TL
20147 "tags" : {
20148 "description" : "Tags of the VM. This is only meta information.",
20149 "format" : "pve-tag-list",
20150 "optional" : 1,
20151 "type" : "string",
20152 "typetext" : "<string>"
20153 },
44660702
DM
20154 "tdf" : {
20155 "default" : 0,
20156 "description" : "Enable/disable time drift fix.",
20157 "optional" : 1,
013dc89f
DM
20158 "type" : "boolean",
20159 "typetext" : "<boolean>"
7aacca6f
DM
20160 },
20161 "template" : {
7aacca6f 20162 "default" : 0,
44660702 20163 "description" : "Enable/disable Template.",
7aacca6f 20164 "optional" : 1,
013dc89f
DM
20165 "type" : "boolean",
20166 "typetext" : "<boolean>"
7aacca6f 20167 },
44660702
DM
20168 "unique" : {
20169 "description" : "Assign a unique random ethernet address.",
7aacca6f 20170 "optional" : 1,
44660702 20171 "requires" : "archive",
013dc89f
DM
20172 "type" : "boolean",
20173 "typetext" : "<boolean>"
56122987 20174 },
44660702 20175 "unused[n]" : {
c2993fe5 20176 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 20177 "format" : "pve-volume-id",
7aacca6f 20178 "optional" : 1,
013dc89f
DM
20179 "type" : "string",
20180 "typetext" : "<string>"
44660702
DM
20181 },
20182 "usb[n]" : {
c2993fe5 20183 "description" : "Configure an USB device (n is 0 to 4).",
56122987 20184 "format" : {
7aacca6f
DM
20185 "host" : {
20186 "default_key" : 1,
c2993fe5 20187 "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 20188 "format" : "pve-qm-usb-device",
44660702
DM
20189 "format_description" : "HOSTUSBDEVICE|spice",
20190 "type" : "string"
7aacca6f 20191 },
56122987 20192 "usb3" : {
c2993fe5 20193 "default" : 0,
1c532546 20194 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 20195 "optional" : 1,
56122987 20196 "type" : "boolean"
7aacca6f 20197 }
56122987 20198 },
56122987 20199 "optional" : 1,
4bd7df8b
DM
20200 "type" : "string",
20201 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 20202 },
44660702
DM
20203 "vcpus" : {
20204 "default" : 0,
20205 "description" : "Number of hotplugged vcpus.",
20206 "minimum" : 1,
56122987 20207 "optional" : 1,
4bd7df8b 20208 "type" : "integer",
013dc89f 20209 "typetext" : "<integer> (1 - N)"
7aacca6f 20210 },
44660702 20211 "vga" : {
e2d681b3
TL
20212 "description" : "Configure the VGA hardware.",
20213 "format" : {
20214 "memory" : {
20215 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
20216 "maximum" : 512,
20217 "minimum" : 4,
20218 "optional" : 1,
20219 "type" : "integer"
20220 },
20221 "type" : {
20222 "default" : "std",
20223 "default_key" : 1,
20224 "description" : "Select the VGA type.",
20225 "enum" : [
20226 "cirrus",
20227 "qxl",
20228 "qxl2",
20229 "qxl3",
20230 "qxl4",
5f26e15b 20231 "none",
e2d681b3
TL
20232 "serial0",
20233 "serial1",
20234 "serial2",
20235 "serial3",
20236 "std",
20237 "virtio",
20238 "vmware"
20239 ],
20240 "optional" : 1,
20241 "type" : "string"
20242 }
20243 },
44660702 20244 "optional" : 1,
c2993fe5 20245 "type" : "string",
e2d681b3
TL
20246 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
20247 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 20248 },
44660702
DM
20249 "virtio[n]" : {
20250 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
20251 "format" : {
20252 "aio" : {
20253 "description" : "AIO type to use.",
20254 "enum" : [
20255 "native",
20256 "threads"
20257 ],
44660702
DM
20258 "optional" : 1,
20259 "type" : "string"
20260 },
20261 "backup" : {
20262 "description" : "Whether the drive should be included when making backups.",
44660702
DM
20263 "optional" : 1,
20264 "type" : "boolean"
20265 },
20266 "bps" : {
de0983cb 20267 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
20268 "format_description" : "bps",
20269 "optional" : 1,
20270 "type" : "integer"
20271 },
de0983cb
DM
20272 "bps_max_length" : {
20273 "description" : "Maximum length of I/O bursts in seconds.",
20274 "format_description" : "seconds",
20275 "minimum" : 1,
20276 "optional" : 1,
20277 "type" : "integer"
20278 },
44660702 20279 "bps_rd" : {
de0983cb 20280 "description" : "Maximum read speed in bytes per second.",
44660702
DM
20281 "format_description" : "bps",
20282 "optional" : 1,
20283 "type" : "integer"
20284 },
de0983cb 20285 "bps_rd_length" : {
5d9c884c
DM
20286 "alias" : "bps_rd_max_length"
20287 },
20288 "bps_rd_max_length" : {
de0983cb
DM
20289 "description" : "Maximum length of read I/O bursts in seconds.",
20290 "format_description" : "seconds",
20291 "minimum" : 1,
20292 "optional" : 1,
20293 "type" : "integer"
20294 },
44660702 20295 "bps_wr" : {
de0983cb 20296 "description" : "Maximum write speed in bytes per second.",
44660702
DM
20297 "format_description" : "bps",
20298 "optional" : 1,
20299 "type" : "integer"
20300 },
de0983cb 20301 "bps_wr_length" : {
5d9c884c
DM
20302 "alias" : "bps_wr_max_length"
20303 },
20304 "bps_wr_max_length" : {
de0983cb
DM
20305 "description" : "Maximum length of write I/O bursts in seconds.",
20306 "format_description" : "seconds",
20307 "minimum" : 1,
20308 "optional" : 1,
20309 "type" : "integer"
20310 },
44660702
DM
20311 "cache" : {
20312 "description" : "The drive's cache mode",
20313 "enum" : [
20314 "none",
20315 "writethrough",
20316 "writeback",
20317 "unsafe",
20318 "directsync"
20319 ],
44660702
DM
20320 "optional" : 1,
20321 "type" : "string"
20322 },
20323 "cyls" : {
20324 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
20325 "optional" : 1,
20326 "type" : "integer"
20327 },
20328 "detect_zeroes" : {
20329 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
20330 "optional" : 1,
20331 "type" : "boolean"
20332 },
20333 "discard" : {
20334 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20335 "enum" : [
20336 "ignore",
20337 "on"
20338 ],
44660702
DM
20339 "optional" : 1,
20340 "type" : "string"
20341 },
20342 "file" : {
20343 "default_key" : 1,
20344 "description" : "The drive's backing volume.",
20345 "format" : "pve-volume-id-or-qm-path",
20346 "format_description" : "volume",
20347 "type" : "string"
20348 },
20349 "format" : {
20350 "description" : "The drive's backing file's data format.",
20351 "enum" : [
20352 "raw",
20353 "cow",
20354 "qcow",
20355 "qed",
20356 "qcow2",
20357 "vmdk",
20358 "cloop"
20359 ],
44660702
DM
20360 "optional" : 1,
20361 "type" : "string"
20362 },
20363 "heads" : {
20364 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
20365 "optional" : 1,
20366 "type" : "integer"
20367 },
20368 "iops" : {
de0983cb 20369 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
20370 "format_description" : "iops",
20371 "optional" : 1,
20372 "type" : "integer"
20373 },
20374 "iops_max" : {
de0983cb 20375 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
20376 "format_description" : "iops",
20377 "optional" : 1,
20378 "type" : "integer"
20379 },
de0983cb
DM
20380 "iops_max_length" : {
20381 "description" : "Maximum length of I/O bursts in seconds.",
20382 "format_description" : "seconds",
20383 "minimum" : 1,
20384 "optional" : 1,
20385 "type" : "integer"
20386 },
44660702 20387 "iops_rd" : {
de0983cb 20388 "description" : "Maximum read I/O in operations per second.",
44660702
DM
20389 "format_description" : "iops",
20390 "optional" : 1,
20391 "type" : "integer"
20392 },
de0983cb 20393 "iops_rd_length" : {
5d9c884c 20394 "alias" : "iops_rd_max_length"
de0983cb 20395 },
44660702 20396 "iops_rd_max" : {
de0983cb 20397 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
20398 "format_description" : "iops",
20399 "optional" : 1,
20400 "type" : "integer"
20401 },
5d9c884c
DM
20402 "iops_rd_max_length" : {
20403 "description" : "Maximum length of read I/O bursts in seconds.",
20404 "format_description" : "seconds",
20405 "minimum" : 1,
20406 "optional" : 1,
20407 "type" : "integer"
20408 },
44660702 20409 "iops_wr" : {
de0983cb 20410 "description" : "Maximum write I/O in operations per second.",
44660702
DM
20411 "format_description" : "iops",
20412 "optional" : 1,
20413 "type" : "integer"
20414 },
de0983cb 20415 "iops_wr_length" : {
5d9c884c 20416 "alias" : "iops_wr_max_length"
de0983cb 20417 },
44660702 20418 "iops_wr_max" : {
de0983cb 20419 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
20420 "format_description" : "iops",
20421 "optional" : 1,
20422 "type" : "integer"
20423 },
5d9c884c
DM
20424 "iops_wr_max_length" : {
20425 "description" : "Maximum length of write I/O bursts in seconds.",
20426 "format_description" : "seconds",
20427 "minimum" : 1,
20428 "optional" : 1,
20429 "type" : "integer"
20430 },
44660702
DM
20431 "iothread" : {
20432 "description" : "Whether to use iothreads for this drive",
44660702
DM
20433 "optional" : 1,
20434 "type" : "boolean"
20435 },
20436 "mbps" : {
de0983cb 20437 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
20438 "format_description" : "mbps",
20439 "optional" : 1,
20440 "type" : "number"
20441 },
20442 "mbps_max" : {
de0983cb 20443 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
20444 "format_description" : "mbps",
20445 "optional" : 1,
20446 "type" : "number"
20447 },
20448 "mbps_rd" : {
de0983cb 20449 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
20450 "format_description" : "mbps",
20451 "optional" : 1,
20452 "type" : "number"
20453 },
20454 "mbps_rd_max" : {
de0983cb 20455 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
20456 "format_description" : "mbps",
20457 "optional" : 1,
20458 "type" : "number"
20459 },
20460 "mbps_wr" : {
de0983cb 20461 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
20462 "format_description" : "mbps",
20463 "optional" : 1,
20464 "type" : "number"
20465 },
20466 "mbps_wr_max" : {
de0983cb 20467 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
20468 "format_description" : "mbps",
20469 "optional" : 1,
20470 "type" : "number"
20471 },
20472 "media" : {
20473 "default" : "disk",
20474 "description" : "The drive's media type.",
20475 "enum" : [
20476 "cdrom",
20477 "disk"
20478 ],
44660702
DM
20479 "optional" : 1,
20480 "type" : "string"
20481 },
5d9c884c
DM
20482 "replicate" : {
20483 "default" : 1,
20484 "description" : "Whether the drive should considered for replication jobs.",
20485 "optional" : 1,
20486 "type" : "boolean"
20487 },
44660702
DM
20488 "rerror" : {
20489 "description" : "Read error action.",
20490 "enum" : [
20491 "ignore",
20492 "report",
20493 "stop"
20494 ],
44660702
DM
20495 "optional" : 1,
20496 "type" : "string"
20497 },
20498 "secs" : {
20499 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
20500 "optional" : 1,
20501 "type" : "integer"
20502 },
20503 "serial" : {
20504 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20505 "format" : "urlencoded",
20506 "format_description" : "serial",
20507 "maxLength" : 60,
20508 "optional" : 1,
20509 "type" : "string"
20510 },
27a7acb2
DM
20511 "shared" : {
20512 "default" : 0,
20513 "description" : "Mark this locally-managed volume as available on all nodes",
20514 "optional" : 1,
20515 "type" : "boolean",
20516 "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!"
20517 },
44660702
DM
20518 "size" : {
20519 "description" : "Disk size. This is purely informational and has no effect.",
20520 "format" : "disk-size",
f004f5b9 20521 "format_description" : "DiskSize",
44660702
DM
20522 "optional" : 1,
20523 "type" : "string"
20524 },
20525 "snapshot" : {
27a7acb2 20526 "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
20527 "optional" : 1,
20528 "type" : "boolean"
20529 },
20530 "trans" : {
20531 "description" : "Force disk geometry bios translation mode.",
20532 "enum" : [
20533 "none",
20534 "lba",
20535 "auto"
20536 ],
44660702
DM
20537 "optional" : 1,
20538 "type" : "string"
20539 },
20540 "volume" : {
20541 "alias" : "file"
20542 },
20543 "werror" : {
20544 "description" : "Write error action.",
20545 "enum" : [
20546 "enospc",
20547 "ignore",
20548 "report",
20549 "stop"
20550 ],
44660702
DM
20551 "optional" : 1,
20552 "type" : "string"
20553 }
20554 },
20555 "optional" : 1,
4bd7df8b 20556 "type" : "string",
27a7acb2 20557 "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 20558 },
4d47f125
TL
20559 "vmgenid" : {
20560 "default" : "1 (autogenerated)",
20561 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
20562 "format_description" : "UUID",
20563 "optional" : 1,
20564 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
20565 "type" : "string",
20566 "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."
20567 },
44660702
DM
20568 "vmid" : {
20569 "description" : "The (unique) ID of the VM.",
20570 "format" : "pve-vmid",
20571 "minimum" : 1,
4bd7df8b 20572 "type" : "integer",
013dc89f 20573 "typetext" : "<integer> (1 - N)"
44660702 20574 },
2489d6df
WB
20575 "vmstatestorage" : {
20576 "description" : "Default storage for VM state volumes/files.",
20577 "format" : "pve-storage-id",
20578 "optional" : 1,
20579 "type" : "string",
20580 "typetext" : "<string>"
20581 },
44660702 20582 "watchdog" : {
c2993fe5 20583 "description" : "Create a virtual hardware watchdog device.",
44660702 20584 "format" : "pve-qm-watchdog",
7aacca6f 20585 "optional" : 1,
c2993fe5 20586 "type" : "string",
013dc89f 20587 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 20588 "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 20589 }
44660702 20590 }
56122987 20591 },
56122987 20592 "permissions" : {
44660702
DM
20593 "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.",
20594 "user" : "all"
56122987 20595 },
44660702
DM
20596 "protected" : 1,
20597 "proxyto" : "node",
56122987 20598 "returns" : {
44660702 20599 "type" : "string"
7aacca6f 20600 }
56122987 20601 }
7aacca6f 20602 },
44660702 20603 "leaf" : 0,
7aacca6f 20604 "path" : "/nodes/{node}/qemu",
44660702 20605 "text" : "qemu"
56122987
DM
20606 },
20607 {
20608 "children" : [
20609 {
56122987
DM
20610 "children" : [
20611 {
56122987 20612 "info" : {
44660702 20613 "GET" : {
e9cd3bd4 20614 "allowtoken" : 1,
44660702
DM
20615 "description" : "Get container configuration.",
20616 "method" : "GET",
20617 "name" : "vm_config",
20618 "parameters" : {
20619 "additionalProperties" : 0,
20620 "properties" : {
1c532546
TL
20621 "current" : {
20622 "default" : 0,
20623 "description" : "Get current values (instead of pending values).",
20624 "optional" : 1,
20625 "type" : "boolean",
20626 "typetext" : "<boolean>"
20627 },
44660702
DM
20628 "node" : {
20629 "description" : "The cluster node name.",
20630 "format" : "pve-node",
013dc89f 20631 "type" : "string",
4d47f125
TL
20632 "typetext" : "<string>"
20633 },
5f26e15b
TL
20634 "snapshot" : {
20635 "description" : "Fetch config values from given snapshot.",
20636 "format" : "pve-configid",
20637 "maxLength" : 40,
20638 "optional" : 1,
20639 "type" : "string",
20640 "typetext" : "<string>"
20641 },
4d47f125
TL
20642 "vmid" : {
20643 "description" : "The (unique) ID of the VM.",
20644 "format" : "pve-vmid",
20645 "minimum" : 1,
20646 "type" : "integer",
20647 "typetext" : "<integer> (1 - N)"
20648 }
20649 }
20650 },
20651 "permissions" : {
20652 "check" : [
20653 "perm",
20654 "/vms/{vmid}",
20655 [
20656 "VM.Audit"
20657 ]
20658 ]
20659 },
20660 "proxyto" : "node",
20661 "returns" : {
20662 "properties" : {
20663 "arch" : {
20664 "default" : "amd64",
20665 "description" : "OS architecture type.",
20666 "enum" : [
20667 "amd64",
20668 "i386",
20669 "arm64",
20670 "armhf"
20671 ],
20672 "optional" : 1,
20673 "type" : "string"
20674 },
20675 "cmode" : {
20676 "default" : "tty",
20677 "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).",
20678 "enum" : [
20679 "shell",
20680 "console",
20681 "tty"
20682 ],
20683 "optional" : 1,
20684 "type" : "string"
20685 },
20686 "console" : {
20687 "default" : 1,
20688 "description" : "Attach a console device (/dev/console) to the container.",
20689 "optional" : 1,
20690 "type" : "boolean"
20691 },
20692 "cores" : {
20693 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
20694 "maximum" : 128,
20695 "minimum" : 1,
20696 "optional" : 1,
20697 "type" : "integer"
20698 },
20699 "cpulimit" : {
20700 "default" : 0,
20701 "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.",
20702 "maximum" : 128,
20703 "minimum" : 0,
20704 "optional" : 1,
20705 "type" : "number"
20706 },
20707 "cpuunits" : {
20708 "default" : 1024,
20709 "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.",
20710 "maximum" : 500000,
20711 "minimum" : 0,
20712 "optional" : 1,
20713 "type" : "integer"
20714 },
20715 "description" : {
20716 "description" : "Container description. Only used on the configuration web interface.",
20717 "optional" : 1,
20718 "type" : "string"
20719 },
20720 "digest" : {
20721 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
20722 "type" : "string"
20723 },
20724 "features" : {
20725 "description" : "Allow containers access to advanced features.",
20726 "format" : {
e2d681b3
TL
20727 "fuse" : {
20728 "default" : 0,
20729 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
20730 "optional" : 1,
20731 "type" : "boolean"
20732 },
4d47f125
TL
20733 "keyctl" : {
20734 "default" : 0,
20735 "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.",
20736 "optional" : 1,
20737 "type" : "boolean"
20738 },
20739 "mount" : {
20740 "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.",
20741 "format_description" : "fstype;fstype;...",
20742 "optional" : 1,
95895385 20743 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
20744 "type" : "string"
20745 },
20746 "nesting" : {
20747 "default" : 0,
20748 "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.",
20749 "optional" : 1,
20750 "type" : "boolean"
20751 }
20752 },
20753 "optional" : 1,
20754 "type" : "string"
20755 },
5f26e15b
TL
20756 "hookscript" : {
20757 "description" : "Script that will be exectued during various steps in the containers lifetime.",
20758 "format" : "pve-volume-id",
20759 "optional" : 1,
20760 "type" : "string"
20761 },
4d47f125
TL
20762 "hostname" : {
20763 "description" : "Set a host name for the container.",
20764 "format" : "dns-name",
20765 "maxLength" : 255,
20766 "optional" : 1,
20767 "type" : "string"
20768 },
20769 "lock" : {
20770 "description" : "Lock/unlock the VM.",
20771 "enum" : [
20772 "backup",
bb4c8cf8 20773 "create",
1c532546 20774 "destroyed",
4d47f125 20775 "disk",
bb4c8cf8 20776 "fstrim",
4d47f125
TL
20777 "migrate",
20778 "mounted",
20779 "rollback",
20780 "snapshot",
20781 "snapshot-delete"
20782 ],
20783 "optional" : 1,
20784 "type" : "string"
20785 },
20786 "lxc" : {
20787 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
20788 "items" : {
20789 "items" : {
20790 "type" : "string"
20791 },
20792 "type" : "array"
20793 },
20794 "optional" : 1,
20795 "type" : "array"
20796 },
20797 "memory" : {
20798 "default" : 512,
20799 "description" : "Amount of RAM for the VM in MB.",
20800 "minimum" : 16,
20801 "optional" : 1,
20802 "type" : "integer"
20803 },
20804 "mp[n]" : {
20805 "description" : "Use volume as container mount point.",
20806 "format" : {
20807 "acl" : {
20808 "description" : "Explicitly enable or disable ACL support.",
20809 "optional" : 1,
20810 "type" : "boolean"
20811 },
20812 "backup" : {
20813 "description" : "Whether to include the mount point in backups.",
20814 "optional" : 1,
20815 "type" : "boolean",
20816 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
20817 },
7cbed89a
TL
20818 "mountoptions" : {
20819 "description" : "Extra mount options for rootfs/mps.",
20820 "format_description" : "opt[;opt...]",
20821 "optional" : 1,
20822 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
20823 "type" : "string"
20824 },
4d47f125
TL
20825 "mp" : {
20826 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
20827 "format" : "pve-lxc-mp-string",
20828 "format_description" : "Path",
20829 "type" : "string",
20830 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
20831 },
20832 "quota" : {
20833 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
20834 "optional" : 1,
20835 "type" : "boolean"
20836 },
20837 "replicate" : {
20838 "default" : 1,
20839 "description" : "Will include this volume to a storage replica job.",
20840 "optional" : 1,
20841 "type" : "boolean"
20842 },
20843 "ro" : {
20844 "description" : "Read-only mount point",
20845 "optional" : 1,
20846 "type" : "boolean"
20847 },
20848 "shared" : {
20849 "default" : 0,
20850 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20851 "optional" : 1,
20852 "type" : "boolean",
20853 "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!"
20854 },
20855 "size" : {
20856 "description" : "Volume size (read only value).",
20857 "format" : "disk-size",
20858 "format_description" : "DiskSize",
20859 "optional" : 1,
20860 "type" : "string"
20861 },
20862 "volume" : {
20863 "default_key" : 1,
20864 "description" : "Volume, device or directory to mount into the container.",
20865 "format" : "pve-lxc-mp-string",
20866 "format_description" : "volume",
20867 "type" : "string"
20868 }
20869 },
20870 "optional" : 1,
20871 "type" : "string"
20872 },
20873 "nameserver" : {
20874 "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.",
20875 "format" : "address-list",
20876 "optional" : 1,
20877 "type" : "string"
20878 },
20879 "net[n]" : {
20880 "description" : "Specifies network interfaces for the container.",
20881 "format" : {
20882 "bridge" : {
20883 "description" : "Bridge to attach the network device to.",
20884 "format_description" : "bridge",
20885 "optional" : 1,
20886 "pattern" : "[-_.\\w\\d]+",
20887 "type" : "string"
20888 },
20889 "firewall" : {
20890 "description" : "Controls whether this interface's firewall rules should be used.",
20891 "optional" : 1,
20892 "type" : "boolean"
20893 },
20894 "gw" : {
20895 "description" : "Default gateway for IPv4 traffic.",
20896 "format" : "ipv4",
20897 "format_description" : "GatewayIPv4",
20898 "optional" : 1,
20899 "type" : "string"
20900 },
20901 "gw6" : {
20902 "description" : "Default gateway for IPv6 traffic.",
20903 "format" : "ipv6",
20904 "format_description" : "GatewayIPv6",
20905 "optional" : 1,
20906 "type" : "string"
20907 },
20908 "hwaddr" : {
20909 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 20910 "format" : "mac-addr",
4d47f125
TL
20911 "format_description" : "XX:XX:XX:XX:XX:XX",
20912 "optional" : 1,
95895385
TL
20913 "type" : "string",
20914 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
20915 },
20916 "ip" : {
20917 "description" : "IPv4 address in CIDR format.",
20918 "format" : "pve-ipv4-config",
20919 "format_description" : "(IPv4/CIDR|dhcp|manual)",
20920 "optional" : 1,
20921 "type" : "string"
20922 },
20923 "ip6" : {
20924 "description" : "IPv6 address in CIDR format.",
20925 "format" : "pve-ipv6-config",
20926 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
20927 "optional" : 1,
20928 "type" : "string"
20929 },
20930 "mtu" : {
20931 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
20932 "minimum" : 64,
20933 "optional" : 1,
20934 "type" : "integer"
20935 },
20936 "name" : {
20937 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
20938 "format_description" : "string",
20939 "pattern" : "[-_.\\w\\d]+",
20940 "type" : "string"
20941 },
20942 "rate" : {
20943 "description" : "Apply rate limiting to the interface",
20944 "format_description" : "mbps",
20945 "optional" : 1,
20946 "type" : "number"
20947 },
20948 "tag" : {
20949 "description" : "VLAN tag for this interface.",
20950 "maximum" : 4094,
20951 "minimum" : 1,
20952 "optional" : 1,
20953 "type" : "integer"
20954 },
20955 "trunks" : {
20956 "description" : "VLAN ids to pass through the interface",
20957 "format_description" : "vlanid[;vlanid...]",
20958 "optional" : 1,
20959 "pattern" : "(?^:\\d+(?:;\\d+)*)",
20960 "type" : "string"
20961 },
20962 "type" : {
20963 "description" : "Network interface type.",
20964 "enum" : [
20965 "veth"
20966 ],
20967 "optional" : 1,
20968 "type" : "string"
20969 }
20970 },
20971 "optional" : 1,
20972 "type" : "string"
20973 },
20974 "onboot" : {
20975 "default" : 0,
20976 "description" : "Specifies whether a VM will be started during system bootup.",
20977 "optional" : 1,
20978 "type" : "boolean"
20979 },
20980 "ostype" : {
20981 "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.",
20982 "enum" : [
20983 "debian",
20984 "ubuntu",
20985 "centos",
20986 "fedora",
20987 "opensuse",
20988 "archlinux",
20989 "alpine",
20990 "gentoo",
20991 "unmanaged"
20992 ],
20993 "optional" : 1,
20994 "type" : "string"
20995 },
20996 "protection" : {
20997 "default" : 0,
20998 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
20999 "optional" : 1,
21000 "type" : "boolean"
21001 },
21002 "rootfs" : {
21003 "description" : "Use volume as container root.",
21004 "format" : {
21005 "acl" : {
21006 "description" : "Explicitly enable or disable ACL support.",
21007 "optional" : 1,
21008 "type" : "boolean"
21009 },
7cbed89a
TL
21010 "mountoptions" : {
21011 "description" : "Extra mount options for rootfs/mps.",
21012 "format_description" : "opt[;opt...]",
21013 "optional" : 1,
21014 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
21015 "type" : "string"
21016 },
4d47f125
TL
21017 "quota" : {
21018 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
21019 "optional" : 1,
21020 "type" : "boolean"
21021 },
21022 "replicate" : {
21023 "default" : 1,
21024 "description" : "Will include this volume to a storage replica job.",
21025 "optional" : 1,
21026 "type" : "boolean"
21027 },
21028 "ro" : {
21029 "description" : "Read-only mount point",
21030 "optional" : 1,
21031 "type" : "boolean"
21032 },
21033 "shared" : {
21034 "default" : 0,
21035 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
21036 "optional" : 1,
21037 "type" : "boolean",
21038 "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!"
21039 },
21040 "size" : {
21041 "description" : "Volume size (read only value).",
21042 "format" : "disk-size",
21043 "format_description" : "DiskSize",
21044 "optional" : 1,
21045 "type" : "string"
21046 },
21047 "volume" : {
21048 "default_key" : 1,
21049 "description" : "Volume, device or directory to mount into the container.",
21050 "format" : "pve-lxc-mp-string",
21051 "format_description" : "volume",
21052 "type" : "string"
21053 }
21054 },
21055 "optional" : 1,
21056 "type" : "string"
21057 },
21058 "searchdomain" : {
21059 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
21060 "format" : "dns-name-list",
21061 "optional" : 1,
21062 "type" : "string"
21063 },
21064 "startup" : {
21065 "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.",
21066 "format" : "pve-startup-order",
21067 "optional" : 1,
21068 "type" : "string",
21069 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
21070 },
21071 "swap" : {
21072 "default" : 512,
21073 "description" : "Amount of SWAP for the VM in MB.",
21074 "minimum" : 0,
21075 "optional" : 1,
21076 "type" : "integer"
21077 },
5c1699e5
TL
21078 "tags" : {
21079 "description" : "Tags of the Container. This is only meta information.",
21080 "format" : "pve-tag-list",
21081 "optional" : 1,
21082 "type" : "string"
21083 },
4d47f125
TL
21084 "template" : {
21085 "default" : 0,
21086 "description" : "Enable/disable Template.",
21087 "optional" : 1,
21088 "type" : "boolean"
44660702 21089 },
4d47f125
TL
21090 "tty" : {
21091 "default" : 2,
21092 "description" : "Specify the number of tty available to the container",
21093 "maximum" : 6,
21094 "minimum" : 0,
21095 "optional" : 1,
21096 "type" : "integer"
21097 },
21098 "unprivileged" : {
21099 "default" : 0,
21100 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
21101 "optional" : 1,
21102 "type" : "boolean"
21103 },
21104 "unused[n]" : {
21105 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
21106 "format" : "pve-volume-id",
21107 "optional" : 1,
44660702
DM
21108 "type" : "string"
21109 }
21110 },
21111 "type" : "object"
21112 }
21113 },
56122987 21114 "PUT" : {
e9cd3bd4 21115 "allowtoken" : 1,
44660702
DM
21116 "description" : "Set container options.",
21117 "method" : "PUT",
21118 "name" : "update_vm",
56122987 21119 "parameters" : {
44660702 21120 "additionalProperties" : 0,
56122987 21121 "properties" : {
44660702
DM
21122 "arch" : {
21123 "default" : "amd64",
21124 "description" : "OS architecture type.",
21125 "enum" : [
21126 "amd64",
4d47f125
TL
21127 "i386",
21128 "arm64",
21129 "armhf"
44660702 21130 ],
7aacca6f 21131 "optional" : 1,
44660702
DM
21132 "type" : "string"
21133 },
21134 "cmode" : {
7aacca6f 21135 "default" : "tty",
44660702 21136 "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
21137 "enum" : [
21138 "shell",
21139 "console",
21140 "tty"
21141 ],
44660702
DM
21142 "optional" : 1,
21143 "type" : "string"
7aacca6f 21144 },
44660702
DM
21145 "console" : {
21146 "default" : 1,
21147 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 21148 "optional" : 1,
013dc89f
DM
21149 "type" : "boolean",
21150 "typetext" : "<boolean>"
7aacca6f 21151 },
de0983cb
DM
21152 "cores" : {
21153 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
21154 "maximum" : 128,
21155 "minimum" : 1,
21156 "optional" : 1,
21157 "type" : "integer",
013dc89f 21158 "typetext" : "<integer> (1 - 128)"
de0983cb 21159 },
44660702
DM
21160 "cpulimit" : {
21161 "default" : 0,
21162 "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.",
21163 "maximum" : 128,
7aacca6f 21164 "minimum" : 0,
7aacca6f 21165 "optional" : 1,
4bd7df8b 21166 "type" : "number",
013dc89f 21167 "typetext" : "<number> (0 - 128)"
7aacca6f 21168 },
44660702
DM
21169 "cpuunits" : {
21170 "default" : 1024,
21171 "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.",
21172 "maximum" : 500000,
21173 "minimum" : 0,
21174 "optional" : 1,
4bd7df8b 21175 "type" : "integer",
013dc89f 21176 "typetext" : "<integer> (0 - 500000)"
7aacca6f 21177 },
44660702
DM
21178 "delete" : {
21179 "description" : "A list of settings you want to delete.",
21180 "format" : "pve-configid-list",
7aacca6f 21181 "optional" : 1,
013dc89f
DM
21182 "type" : "string",
21183 "typetext" : "<string>"
7aacca6f 21184 },
44660702
DM
21185 "description" : {
21186 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 21187 "optional" : 1,
013dc89f
DM
21188 "type" : "string",
21189 "typetext" : "<string>"
7aacca6f 21190 },
44660702
DM
21191 "digest" : {
21192 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21193 "maxLength" : 40,
7aacca6f 21194 "optional" : 1,
013dc89f
DM
21195 "type" : "string",
21196 "typetext" : "<string>"
7aacca6f 21197 },
4d47f125
TL
21198 "features" : {
21199 "description" : "Allow containers access to advanced features.",
21200 "format" : {
e2d681b3
TL
21201 "fuse" : {
21202 "default" : 0,
21203 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
21204 "optional" : 1,
21205 "type" : "boolean"
21206 },
4d47f125
TL
21207 "keyctl" : {
21208 "default" : 0,
21209 "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.",
21210 "optional" : 1,
21211 "type" : "boolean"
21212 },
21213 "mount" : {
21214 "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.",
21215 "format_description" : "fstype;fstype;...",
21216 "optional" : 1,
95895385 21217 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
21218 "type" : "string"
21219 },
21220 "nesting" : {
21221 "default" : 0,
21222 "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.",
21223 "optional" : 1,
21224 "type" : "boolean"
21225 }
21226 },
21227 "optional" : 1,
21228 "type" : "string",
e2d681b3 21229 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 21230 },
5f26e15b
TL
21231 "hookscript" : {
21232 "description" : "Script that will be exectued during various steps in the containers lifetime.",
21233 "format" : "pve-volume-id",
21234 "optional" : 1,
21235 "type" : "string",
21236 "typetext" : "<string>"
21237 },
44660702
DM
21238 "hostname" : {
21239 "description" : "Set a host name for the container.",
21240 "format" : "dns-name",
21241 "maxLength" : 255,
56122987 21242 "optional" : 1,
013dc89f
DM
21243 "type" : "string",
21244 "typetext" : "<string>"
44660702
DM
21245 },
21246 "lock" : {
21247 "description" : "Lock/unlock the VM.",
21248 "enum" : [
44660702 21249 "backup",
bb4c8cf8 21250 "create",
1c532546 21251 "destroyed",
4d47f125 21252 "disk",
bb4c8cf8 21253 "fstrim",
4d47f125
TL
21254 "migrate",
21255 "mounted",
21256 "rollback",
44660702 21257 "snapshot",
4d47f125 21258 "snapshot-delete"
44660702
DM
21259 ],
21260 "optional" : 1,
21261 "type" : "string"
21262 },
21263 "memory" : {
21264 "default" : 512,
21265 "description" : "Amount of RAM for the VM in MB.",
21266 "minimum" : 16,
21267 "optional" : 1,
4bd7df8b 21268 "type" : "integer",
013dc89f 21269 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
21270 },
21271 "mp[n]" : {
c2993fe5 21272 "description" : "Use volume as container mount point.",
7aacca6f 21273 "format" : {
7aacca6f
DM
21274 "acl" : {
21275 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 21276 "optional" : 1,
44660702 21277 "type" : "boolean"
7aacca6f
DM
21278 },
21279 "backup" : {
de0983cb 21280 "description" : "Whether to include the mount point in backups.",
7aacca6f 21281 "optional" : 1,
4bd7df8b 21282 "type" : "boolean",
de0983cb 21283 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 21284 },
7cbed89a
TL
21285 "mountoptions" : {
21286 "description" : "Extra mount options for rootfs/mps.",
21287 "format_description" : "opt[;opt...]",
21288 "optional" : 1,
21289 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
21290 "type" : "string"
21291 },
7aacca6f 21292 "mp" : {
de0983cb 21293 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 21294 "format" : "pve-lxc-mp-string",
44660702 21295 "format_description" : "Path",
4bd7df8b 21296 "type" : "string",
de0983cb 21297 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 21298 },
5d9c884c
DM
21299 "quota" : {
21300 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
21301 "optional" : 1,
21302 "type" : "boolean"
21303 },
21304 "replicate" : {
21305 "default" : 1,
21306 "description" : "Will include this volume to a storage replica job.",
44660702
DM
21307 "optional" : 1,
21308 "type" : "boolean"
21309 },
21310 "ro" : {
de0983cb 21311 "description" : "Read-only mount point",
44660702
DM
21312 "optional" : 1,
21313 "type" : "boolean"
21314 },
de0983cb
DM
21315 "shared" : {
21316 "default" : 0,
21317 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
21318 "optional" : 1,
21319 "type" : "boolean",
21320 "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!"
21321 },
44660702
DM
21322 "size" : {
21323 "description" : "Volume size (read only value).",
21324 "format" : "disk-size",
21325 "format_description" : "DiskSize",
21326 "optional" : 1,
21327 "type" : "string"
21328 },
21329 "volume" : {
21330 "default_key" : 1,
21331 "description" : "Volume, device or directory to mount into the container.",
21332 "format" : "pve-lxc-mp-string",
21333 "format_description" : "volume",
21334 "type" : "string"
21335 }
21336 },
7aacca6f 21337 "optional" : 1,
4bd7df8b 21338 "type" : "string",
7cbed89a 21339 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 21340 },
44660702
DM
21341 "nameserver" : {
21342 "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.",
21343 "format" : "address-list",
56122987 21344 "optional" : 1,
013dc89f
DM
21345 "type" : "string",
21346 "typetext" : "<string>"
56122987
DM
21347 },
21348 "net[n]" : {
44660702 21349 "description" : "Specifies network interfaces for the container.",
56122987 21350 "format" : {
44660702
DM
21351 "bridge" : {
21352 "description" : "Bridge to attach the network device to.",
f004f5b9 21353 "format_description" : "bridge",
56122987 21354 "optional" : 1,
44660702
DM
21355 "pattern" : "[-_.\\w\\d]+",
21356 "type" : "string"
56122987 21357 },
44660702
DM
21358 "firewall" : {
21359 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 21360 "optional" : 1,
44660702 21361 "type" : "boolean"
56122987 21362 },
44660702
DM
21363 "gw" : {
21364 "description" : "Default gateway for IPv4 traffic.",
21365 "format" : "ipv4",
21366 "format_description" : "GatewayIPv4",
56122987 21367 "optional" : 1,
44660702 21368 "type" : "string"
56122987
DM
21369 },
21370 "gw6" : {
7aacca6f 21371 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
21372 "format" : "ipv6",
21373 "format_description" : "GatewayIPv6",
7aacca6f 21374 "optional" : 1,
56122987
DM
21375 "type" : "string"
21376 },
44660702 21377 "hwaddr" : {
f004f5b9 21378 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 21379 "format" : "mac-addr",
f004f5b9 21380 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 21381 "optional" : 1,
95895385
TL
21382 "type" : "string",
21383 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
21384 },
21385 "ip" : {
21386 "description" : "IPv4 address in CIDR format.",
21387 "format" : "pve-ipv4-config",
2489d6df 21388 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 21389 "optional" : 1,
44660702 21390 "type" : "string"
56122987 21391 },
7aacca6f 21392 "ip6" : {
7aacca6f
DM
21393 "description" : "IPv6 address in CIDR format.",
21394 "format" : "pve-ipv6-config",
2489d6df 21395 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 21396 "optional" : 1,
44660702 21397 "type" : "string"
56122987 21398 },
44660702
DM
21399 "mtu" : {
21400 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 21401 "minimum" : 64,
56122987 21402 "optional" : 1,
44660702 21403 "type" : "integer"
56122987
DM
21404 },
21405 "name" : {
44660702 21406 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 21407 "format_description" : "string",
56122987 21408 "pattern" : "[-_.\\w\\d]+",
44660702 21409 "type" : "string"
56122987 21410 },
44660702
DM
21411 "rate" : {
21412 "description" : "Apply rate limiting to the interface",
21413 "format_description" : "mbps",
56122987 21414 "optional" : 1,
44660702 21415 "type" : "number"
7aacca6f 21416 },
44660702
DM
21417 "tag" : {
21418 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
21419 "maximum" : 4094,
21420 "minimum" : 1,
56122987 21421 "optional" : 1,
7aacca6f 21422 "type" : "integer"
56122987 21423 },
44660702
DM
21424 "trunks" : {
21425 "description" : "VLAN ids to pass through the interface",
21426 "format_description" : "vlanid[;vlanid...]",
21427 "optional" : 1,
21428 "pattern" : "(?^:\\d+(?:;\\d+)*)",
21429 "type" : "string"
21430 },
21431 "type" : {
21432 "description" : "Network interface type.",
21433 "enum" : [
21434 "veth"
21435 ],
56122987 21436 "optional" : 1,
44660702 21437 "type" : "string"
56122987
DM
21438 }
21439 },
7aacca6f 21440 "optional" : 1,
4bd7df8b 21441 "type" : "string",
2489d6df 21442 "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 21443 },
44660702
DM
21444 "node" : {
21445 "description" : "The cluster node name.",
21446 "format" : "pve-node",
013dc89f
DM
21447 "type" : "string",
21448 "typetext" : "<string>"
56122987 21449 },
44660702
DM
21450 "onboot" : {
21451 "default" : 0,
21452 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 21453 "optional" : 1,
013dc89f
DM
21454 "type" : "boolean",
21455 "typetext" : "<boolean>"
56122987 21456 },
44660702
DM
21457 "ostype" : {
21458 "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.",
21459 "enum" : [
21460 "debian",
21461 "ubuntu",
21462 "centos",
21463 "fedora",
21464 "opensuse",
21465 "archlinux",
21466 "alpine",
57b78691 21467 "gentoo",
44660702
DM
21468 "unmanaged"
21469 ],
56122987 21470 "optional" : 1,
44660702 21471 "type" : "string"
56122987 21472 },
44660702
DM
21473 "protection" : {
21474 "default" : 0,
21475 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 21476 "optional" : 1,
013dc89f
DM
21477 "type" : "boolean",
21478 "typetext" : "<boolean>"
56122987 21479 },
1c532546
TL
21480 "revert" : {
21481 "description" : "Revert a pending change.",
21482 "format" : "pve-configid-list",
21483 "optional" : 1,
21484 "type" : "string",
21485 "typetext" : "<string>"
21486 },
7aacca6f
DM
21487 "rootfs" : {
21488 "description" : "Use volume as container root.",
56122987
DM
21489 "format" : {
21490 "acl" : {
44660702 21491 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
21492 "optional" : 1,
21493 "type" : "boolean"
56122987 21494 },
7cbed89a
TL
21495 "mountoptions" : {
21496 "description" : "Extra mount options for rootfs/mps.",
21497 "format_description" : "opt[;opt...]",
21498 "optional" : 1,
21499 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
21500 "type" : "string"
21501 },
44660702
DM
21502 "quota" : {
21503 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
21504 "optional" : 1,
21505 "type" : "boolean"
21506 },
5d9c884c
DM
21507 "replicate" : {
21508 "default" : 1,
21509 "description" : "Will include this volume to a storage replica job.",
21510 "optional" : 1,
21511 "type" : "boolean"
21512 },
44660702 21513 "ro" : {
de0983cb 21514 "description" : "Read-only mount point",
56122987 21515 "optional" : 1,
44660702
DM
21516 "type" : "boolean"
21517 },
de0983cb
DM
21518 "shared" : {
21519 "default" : 0,
21520 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
21521 "optional" : 1,
21522 "type" : "boolean",
21523 "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!"
21524 },
44660702 21525 "size" : {
7aacca6f 21526 "description" : "Volume size (read only value).",
44660702 21527 "format" : "disk-size",
56122987 21528 "format_description" : "DiskSize",
56122987 21529 "optional" : 1,
44660702 21530 "type" : "string"
7aacca6f
DM
21531 },
21532 "volume" : {
7aacca6f
DM
21533 "default_key" : 1,
21534 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
21535 "format" : "pve-lxc-mp-string",
21536 "format_description" : "volume",
7aacca6f 21537 "type" : "string"
56122987 21538 }
44660702
DM
21539 },
21540 "optional" : 1,
4bd7df8b 21541 "type" : "string",
7cbed89a 21542 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
21543 },
21544 "searchdomain" : {
21545 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
21546 "format" : "dns-name-list",
21547 "optional" : 1,
013dc89f
DM
21548 "type" : "string",
21549 "typetext" : "<string>"
44660702
DM
21550 },
21551 "startup" : {
21552 "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.",
21553 "format" : "pve-startup-order",
21554 "optional" : 1,
21555 "type" : "string",
21556 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
21557 },
21558 "swap" : {
21559 "default" : 512,
21560 "description" : "Amount of SWAP for the VM in MB.",
21561 "minimum" : 0,
21562 "optional" : 1,
4bd7df8b 21563 "type" : "integer",
013dc89f 21564 "typetext" : "<integer> (0 - N)"
56122987 21565 },
5c1699e5
TL
21566 "tags" : {
21567 "description" : "Tags of the Container. This is only meta information.",
21568 "format" : "pve-tag-list",
21569 "optional" : 1,
21570 "type" : "string",
21571 "typetext" : "<string>"
21572 },
56122987 21573 "template" : {
44660702 21574 "default" : 0,
7aacca6f 21575 "description" : "Enable/disable Template.",
56122987 21576 "optional" : 1,
013dc89f
DM
21577 "type" : "boolean",
21578 "typetext" : "<boolean>"
56122987 21579 },
44660702
DM
21580 "tty" : {
21581 "default" : 2,
21582 "description" : "Specify the number of tty available to the container",
21583 "maximum" : 6,
21584 "minimum" : 0,
21585 "optional" : 1,
4bd7df8b 21586 "type" : "integer",
013dc89f 21587 "typetext" : "<integer> (0 - 6)"
56122987 21588 },
44660702
DM
21589 "unprivileged" : {
21590 "default" : 0,
21591 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 21592 "optional" : 1,
013dc89f
DM
21593 "type" : "boolean",
21594 "typetext" : "<boolean>"
56122987 21595 },
44660702 21596 "unused[n]" : {
c2993fe5 21597 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 21598 "format" : "pve-volume-id",
56122987 21599 "optional" : 1,
013dc89f
DM
21600 "type" : "string",
21601 "typetext" : "<string>"
44660702
DM
21602 },
21603 "vmid" : {
21604 "description" : "The (unique) ID of the VM.",
21605 "format" : "pve-vmid",
21606 "minimum" : 1,
4bd7df8b 21607 "type" : "integer",
013dc89f 21608 "typetext" : "<integer> (1 - N)"
56122987 21609 }
44660702 21610 }
56122987 21611 },
56122987
DM
21612 "permissions" : {
21613 "check" : [
21614 "perm",
21615 "/vms/{vmid}",
21616 [
21617 "VM.Config.Disk",
21618 "VM.Config.CPU",
21619 "VM.Config.Memory",
21620 "VM.Config.Network",
21621 "VM.Config.Options"
21622 ],
21623 "any",
21624 1
52e44c50
FG
21625 ],
21626 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 21627 },
44660702
DM
21628 "protected" : 1,
21629 "proxyto" : "node",
56122987
DM
21630 "returns" : {
21631 "type" : "null"
7aacca6f 21632 }
56122987 21633 }
7aacca6f 21634 },
44660702 21635 "leaf" : 1,
7aacca6f 21636 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 21637 "text" : "config"
56122987
DM
21638 },
21639 {
56122987
DM
21640 "children" : [
21641 {
21642 "info" : {
21643 "GET" : {
e9cd3bd4 21644 "allowtoken" : 1,
44660702 21645 "description" : "Get virtual machine status.",
7aacca6f 21646 "method" : "GET",
44660702 21647 "name" : "vm_status",
56122987 21648 "parameters" : {
44660702 21649 "additionalProperties" : 0,
56122987 21650 "properties" : {
56122987 21651 "node" : {
44660702 21652 "description" : "The cluster node name.",
56122987 21653 "format" : "pve-node",
013dc89f
DM
21654 "type" : "string",
21655 "typetext" : "<string>"
7aacca6f
DM
21656 },
21657 "vmid" : {
21658 "description" : "The (unique) ID of the VM.",
44660702 21659 "format" : "pve-vmid",
7aacca6f 21660 "minimum" : 1,
4bd7df8b 21661 "type" : "integer",
013dc89f 21662 "typetext" : "<integer> (1 - N)"
56122987 21663 }
44660702 21664 }
7aacca6f
DM
21665 },
21666 "permissions" : {
21667 "check" : [
21668 "perm",
21669 "/vms/{vmid}",
21670 [
4d47f125
TL
21671 "VM.Audit"
21672 ]
21673 ]
21674 },
21675 "protected" : 1,
21676 "proxyto" : "node",
21677 "returns" : {
21678 "properties" : {
21679 "cpus" : {
21680 "description" : "Maximum usable CPUs.",
21681 "optional" : 1,
21682 "type" : "number"
21683 },
21684 "ha" : {
21685 "description" : "HA manager service status.",
21686 "type" : "object"
21687 },
95895385
TL
21688 "lock" : {
21689 "description" : "The current config lock, if any.",
21690 "optional" : 1,
21691 "type" : "string"
21692 },
4d47f125
TL
21693 "maxdisk" : {
21694 "description" : "Root disk size in bytes.",
21695 "optional" : 1,
21696 "renderer" : "bytes",
21697 "type" : "integer"
21698 },
21699 "maxmem" : {
21700 "description" : "Maximum memory in bytes.",
21701 "optional" : 1,
21702 "renderer" : "bytes",
21703 "type" : "integer"
21704 },
21705 "maxswap" : {
21706 "description" : "Maximum SWAP memory in bytes.",
21707 "optional" : 1,
21708 "renderer" : "bytes",
21709 "type" : "integer"
21710 },
21711 "name" : {
21712 "description" : "Container name.",
21713 "optional" : 1,
21714 "type" : "string"
21715 },
21716 "status" : {
21717 "description" : "LXC Container status.",
21718 "enum" : [
21719 "stopped",
21720 "running"
21721 ],
21722 "type" : "string"
21723 },
5c1699e5
TL
21724 "tags" : {
21725 "description" : "The current configured tags, if any.",
21726 "optional" : 1,
21727 "type" : "string"
21728 },
4d47f125
TL
21729 "uptime" : {
21730 "description" : "Uptime.",
21731 "optional" : 1,
21732 "renderer" : "duration",
21733 "type" : "integer"
21734 },
21735 "vmid" : {
21736 "description" : "The (unique) ID of the VM.",
21737 "format" : "pve-vmid",
21738 "minimum" : 1,
21739 "type" : "integer"
21740 }
21741 },
21742 "type" : "object"
21743 }
21744 }
21745 },
21746 "leaf" : 1,
21747 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
21748 "text" : "current"
21749 },
21750 {
21751 "info" : {
21752 "POST" : {
e9cd3bd4 21753 "allowtoken" : 1,
4d47f125
TL
21754 "description" : "Start the container.",
21755 "method" : "POST",
21756 "name" : "vm_start",
21757 "parameters" : {
21758 "additionalProperties" : 0,
21759 "properties" : {
21760 "node" : {
21761 "description" : "The cluster node name.",
21762 "format" : "pve-node",
21763 "type" : "string",
21764 "typetext" : "<string>"
21765 },
21766 "skiplock" : {
21767 "description" : "Ignore locks - only root is allowed to use this option.",
21768 "optional" : 1,
21769 "type" : "boolean",
21770 "typetext" : "<boolean>"
21771 },
21772 "vmid" : {
21773 "description" : "The (unique) ID of the VM.",
21774 "format" : "pve-vmid",
21775 "minimum" : 1,
21776 "type" : "integer",
21777 "typetext" : "<integer> (1 - N)"
21778 }
21779 }
21780 },
21781 "permissions" : {
21782 "check" : [
21783 "perm",
21784 "/vms/{vmid}",
21785 [
21786 "VM.PowerMgmt"
21787 ]
21788 ]
21789 },
21790 "protected" : 1,
21791 "proxyto" : "node",
21792 "returns" : {
21793 "type" : "string"
21794 }
21795 }
21796 },
21797 "leaf" : 1,
21798 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
21799 "text" : "start"
21800 },
21801 {
21802 "info" : {
21803 "POST" : {
e9cd3bd4 21804 "allowtoken" : 1,
4d47f125
TL
21805 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
21806 "method" : "POST",
21807 "name" : "vm_stop",
21808 "parameters" : {
21809 "additionalProperties" : 0,
21810 "properties" : {
21811 "node" : {
21812 "description" : "The cluster node name.",
21813 "format" : "pve-node",
21814 "type" : "string",
21815 "typetext" : "<string>"
21816 },
21817 "skiplock" : {
21818 "description" : "Ignore locks - only root is allowed to use this option.",
21819 "optional" : 1,
21820 "type" : "boolean",
21821 "typetext" : "<boolean>"
21822 },
21823 "vmid" : {
21824 "description" : "The (unique) ID of the VM.",
21825 "format" : "pve-vmid",
21826 "minimum" : 1,
21827 "type" : "integer",
21828 "typetext" : "<integer> (1 - N)"
21829 }
21830 }
21831 },
21832 "permissions" : {
21833 "check" : [
21834 "perm",
21835 "/vms/{vmid}",
21836 [
21837 "VM.PowerMgmt"
21838 ]
21839 ]
21840 },
21841 "protected" : 1,
21842 "proxyto" : "node",
21843 "returns" : {
21844 "type" : "string"
21845 }
21846 }
21847 },
21848 "leaf" : 1,
21849 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
21850 "text" : "stop"
21851 },
21852 {
21853 "info" : {
21854 "POST" : {
e9cd3bd4 21855 "allowtoken" : 1,
4d47f125
TL
21856 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
21857 "method" : "POST",
21858 "name" : "vm_shutdown",
21859 "parameters" : {
21860 "additionalProperties" : 0,
21861 "properties" : {
21862 "forceStop" : {
21863 "default" : 0,
21864 "description" : "Make sure the Container stops.",
21865 "optional" : 1,
21866 "type" : "boolean",
21867 "typetext" : "<boolean>"
21868 },
21869 "node" : {
21870 "description" : "The cluster node name.",
21871 "format" : "pve-node",
21872 "type" : "string",
21873 "typetext" : "<string>"
21874 },
21875 "timeout" : {
21876 "default" : 60,
21877 "description" : "Wait maximal timeout seconds.",
21878 "minimum" : 0,
21879 "optional" : 1,
21880 "type" : "integer",
21881 "typetext" : "<integer> (0 - N)"
21882 },
21883 "vmid" : {
21884 "description" : "The (unique) ID of the VM.",
21885 "format" : "pve-vmid",
21886 "minimum" : 1,
21887 "type" : "integer",
21888 "typetext" : "<integer> (1 - N)"
21889 }
21890 }
21891 },
21892 "permissions" : {
21893 "check" : [
21894 "perm",
21895 "/vms/{vmid}",
21896 [
21897 "VM.PowerMgmt"
7aacca6f
DM
21898 ]
21899 ]
21900 },
44660702 21901 "protected" : 1,
7aacca6f 21902 "proxyto" : "node",
44660702 21903 "returns" : {
4d47f125 21904 "type" : "string"
44660702 21905 }
56122987
DM
21906 }
21907 },
44660702 21908 "leaf" : 1,
4d47f125
TL
21909 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
21910 "text" : "shutdown"
56122987
DM
21911 },
21912 {
56122987
DM
21913 "info" : {
21914 "POST" : {
e9cd3bd4 21915 "allowtoken" : 1,
4d47f125 21916 "description" : "Suspend the container.",
44660702 21917 "method" : "POST",
4d47f125 21918 "name" : "vm_suspend",
56122987
DM
21919 "parameters" : {
21920 "additionalProperties" : 0,
21921 "properties" : {
56122987 21922 "node" : {
7aacca6f 21923 "description" : "The cluster node name.",
44660702 21924 "format" : "pve-node",
013dc89f
DM
21925 "type" : "string",
21926 "typetext" : "<string>"
56122987
DM
21927 },
21928 "vmid" : {
7aacca6f 21929 "description" : "The (unique) ID of the VM.",
44660702 21930 "format" : "pve-vmid",
56122987 21931 "minimum" : 1,
4bd7df8b 21932 "type" : "integer",
013dc89f 21933 "typetext" : "<integer> (1 - N)"
56122987
DM
21934 }
21935 }
21936 },
21937 "permissions" : {
21938 "check" : [
21939 "perm",
21940 "/vms/{vmid}",
21941 [
21942 "VM.PowerMgmt"
21943 ]
21944 ]
21945 },
44660702 21946 "protected" : 1,
7aacca6f 21947 "proxyto" : "node",
44660702
DM
21948 "returns" : {
21949 "type" : "string"
21950 }
21951 }
21952 },
21953 "leaf" : 1,
4d47f125
TL
21954 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
21955 "text" : "suspend"
44660702
DM
21956 },
21957 {
21958 "info" : {
21959 "POST" : {
e9cd3bd4 21960 "allowtoken" : 1,
4d47f125 21961 "description" : "Resume the container.",
7aacca6f 21962 "method" : "POST",
4d47f125 21963 "name" : "vm_resume",
7aacca6f 21964 "parameters" : {
44660702 21965 "additionalProperties" : 0,
7aacca6f 21966 "properties" : {
44660702
DM
21967 "node" : {
21968 "description" : "The cluster node name.",
21969 "format" : "pve-node",
013dc89f
DM
21970 "type" : "string",
21971 "typetext" : "<string>"
44660702 21972 },
7aacca6f 21973 "vmid" : {
44660702 21974 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
21975 "format" : "pve-vmid",
21976 "minimum" : 1,
4bd7df8b 21977 "type" : "integer",
013dc89f 21978 "typetext" : "<integer> (1 - N)"
7aacca6f 21979 }
44660702
DM
21980 }
21981 },
21982 "permissions" : {
21983 "check" : [
21984 "perm",
21985 "/vms/{vmid}",
21986 [
21987 "VM.PowerMgmt"
21988 ]
21989 ]
7aacca6f 21990 },
44660702
DM
21991 "protected" : 1,
21992 "proxyto" : "node",
21993 "returns" : {
21994 "type" : "string"
21995 }
56122987 21996 }
7aacca6f 21997 },
7aacca6f 21998 "leaf" : 1,
4d47f125
TL
21999 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
22000 "text" : "resume"
5c1699e5
TL
22001 },
22002 {
22003 "info" : {
22004 "POST" : {
e9cd3bd4 22005 "allowtoken" : 1,
5c1699e5
TL
22006 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
22007 "method" : "POST",
22008 "name" : "vm_reboot",
22009 "parameters" : {
22010 "additionalProperties" : 0,
22011 "properties" : {
22012 "node" : {
22013 "description" : "The cluster node name.",
22014 "format" : "pve-node",
22015 "type" : "string",
22016 "typetext" : "<string>"
22017 },
22018 "timeout" : {
22019 "description" : "Wait maximal timeout seconds for the shutdown.",
22020 "minimum" : 0,
22021 "optional" : 1,
22022 "type" : "integer",
22023 "typetext" : "<integer> (0 - N)"
22024 },
22025 "vmid" : {
22026 "description" : "The (unique) ID of the VM.",
22027 "format" : "pve-vmid",
22028 "minimum" : 1,
22029 "type" : "integer",
22030 "typetext" : "<integer> (1 - N)"
22031 }
22032 }
22033 },
22034 "permissions" : {
22035 "check" : [
22036 "perm",
22037 "/vms/{vmid}",
22038 [
22039 "VM.PowerMgmt"
22040 ]
22041 ]
22042 },
22043 "protected" : 1,
22044 "proxyto" : "node",
22045 "returns" : {
22046 "type" : "string"
22047 }
22048 }
22049 },
22050 "leaf" : 1,
22051 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
22052 "text" : "reboot"
4d47f125
TL
22053 }
22054 ],
22055 "info" : {
22056 "GET" : {
e9cd3bd4 22057 "allowtoken" : 1,
4d47f125
TL
22058 "description" : "Directory index",
22059 "method" : "GET",
22060 "name" : "vmcmdidx",
22061 "parameters" : {
22062 "additionalProperties" : 0,
22063 "properties" : {
22064 "node" : {
22065 "description" : "The cluster node name.",
22066 "format" : "pve-node",
22067 "type" : "string",
22068 "typetext" : "<string>"
22069 },
22070 "vmid" : {
22071 "description" : "The (unique) ID of the VM.",
22072 "format" : "pve-vmid",
22073 "minimum" : 1,
22074 "type" : "integer",
22075 "typetext" : "<integer> (1 - N)"
22076 }
22077 }
22078 },
22079 "permissions" : {
22080 "user" : "all"
22081 },
22082 "proxyto" : "node",
22083 "returns" : {
22084 "items" : {
22085 "properties" : {
22086 "subdir" : {
22087 "type" : "string"
22088 }
22089 },
22090 "type" : "object"
22091 },
22092 "links" : [
22093 {
22094 "href" : "{subdir}",
22095 "rel" : "child"
22096 }
22097 ],
22098 "type" : "array"
22099 }
22100 }
22101 },
22102 "leaf" : 0,
22103 "path" : "/nodes/{node}/lxc/{vmid}/status",
22104 "text" : "status"
22105 },
22106 {
22107 "children" : [
56122987 22108 {
4d47f125
TL
22109 "children" : [
22110 {
22111 "info" : {
22112 "POST" : {
e9cd3bd4 22113 "allowtoken" : 1,
4d47f125
TL
22114 "description" : "Rollback LXC state to specified snapshot.",
22115 "method" : "POST",
22116 "name" : "rollback",
22117 "parameters" : {
22118 "additionalProperties" : 0,
22119 "properties" : {
22120 "node" : {
22121 "description" : "The cluster node name.",
22122 "format" : "pve-node",
22123 "type" : "string",
22124 "typetext" : "<string>"
22125 },
22126 "snapname" : {
22127 "description" : "The name of the snapshot.",
22128 "format" : "pve-configid",
22129 "maxLength" : 40,
22130 "type" : "string",
22131 "typetext" : "<string>"
22132 },
22133 "vmid" : {
22134 "description" : "The (unique) ID of the VM.",
22135 "format" : "pve-vmid",
22136 "minimum" : 1,
22137 "type" : "integer",
22138 "typetext" : "<integer> (1 - N)"
22139 }
22140 }
22141 },
22142 "permissions" : {
22143 "check" : [
22144 "perm",
22145 "/vms/{vmid}",
22146 [
22147 "VM.Snapshot",
22148 "VM.Snapshot.Rollback"
22149 ],
22150 "any",
22151 1
22152 ]
22153 },
22154 "protected" : 1,
22155 "proxyto" : "node",
22156 "returns" : {
22157 "description" : "the task ID.",
22158 "type" : "string"
22159 }
22160 }
22161 },
22162 "leaf" : 1,
22163 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
22164 "text" : "rollback"
22165 },
22166 {
22167 "info" : {
22168 "GET" : {
e9cd3bd4 22169 "allowtoken" : 1,
4d47f125
TL
22170 "description" : "Get snapshot configuration",
22171 "method" : "GET",
22172 "name" : "get_snapshot_config",
22173 "parameters" : {
22174 "additionalProperties" : 0,
22175 "properties" : {
22176 "node" : {
22177 "description" : "The cluster node name.",
22178 "format" : "pve-node",
22179 "type" : "string",
22180 "typetext" : "<string>"
22181 },
22182 "snapname" : {
22183 "description" : "The name of the snapshot.",
22184 "format" : "pve-configid",
22185 "maxLength" : 40,
22186 "type" : "string",
22187 "typetext" : "<string>"
22188 },
22189 "vmid" : {
22190 "description" : "The (unique) ID of the VM.",
22191 "format" : "pve-vmid",
22192 "minimum" : 1,
22193 "type" : "integer",
22194 "typetext" : "<integer> (1 - N)"
22195 }
22196 }
22197 },
22198 "permissions" : {
22199 "check" : [
22200 "perm",
22201 "/vms/{vmid}",
22202 [
22203 "VM.Snapshot",
22204 "VM.Snapshot.Rollback"
22205 ],
22206 "any",
22207 1
22208 ]
22209 },
22210 "proxyto" : "node",
22211 "returns" : {
22212 "type" : "object"
22213 }
22214 },
22215 "PUT" : {
e9cd3bd4 22216 "allowtoken" : 1,
4d47f125
TL
22217 "description" : "Update snapshot metadata.",
22218 "method" : "PUT",
22219 "name" : "update_snapshot_config",
22220 "parameters" : {
22221 "additionalProperties" : 0,
22222 "properties" : {
22223 "description" : {
22224 "description" : "A textual description or comment.",
22225 "optional" : 1,
22226 "type" : "string",
22227 "typetext" : "<string>"
22228 },
22229 "node" : {
22230 "description" : "The cluster node name.",
22231 "format" : "pve-node",
22232 "type" : "string",
22233 "typetext" : "<string>"
22234 },
22235 "snapname" : {
22236 "description" : "The name of the snapshot.",
22237 "format" : "pve-configid",
22238 "maxLength" : 40,
22239 "type" : "string",
22240 "typetext" : "<string>"
22241 },
22242 "vmid" : {
22243 "description" : "The (unique) ID of the VM.",
22244 "format" : "pve-vmid",
22245 "minimum" : 1,
22246 "type" : "integer",
22247 "typetext" : "<integer> (1 - N)"
22248 }
22249 }
22250 },
22251 "permissions" : {
22252 "check" : [
22253 "perm",
22254 "/vms/{vmid}",
22255 [
22256 "VM.Snapshot"
22257 ]
22258 ]
22259 },
22260 "protected" : 1,
22261 "proxyto" : "node",
22262 "returns" : {
22263 "type" : "null"
22264 }
22265 }
22266 },
22267 "leaf" : 1,
22268 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
22269 "text" : "config"
22270 }
22271 ],
56122987 22272 "info" : {
4d47f125 22273 "DELETE" : {
e9cd3bd4 22274 "allowtoken" : 1,
4d47f125
TL
22275 "description" : "Delete a LXC snapshot.",
22276 "method" : "DELETE",
22277 "name" : "delsnapshot",
56122987 22278 "parameters" : {
44660702 22279 "additionalProperties" : 0,
56122987 22280 "properties" : {
4d47f125
TL
22281 "force" : {
22282 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 22283 "optional" : 1,
013dc89f
DM
22284 "type" : "boolean",
22285 "typetext" : "<boolean>"
44660702
DM
22286 },
22287 "node" : {
22288 "description" : "The cluster node name.",
22289 "format" : "pve-node",
013dc89f
DM
22290 "type" : "string",
22291 "typetext" : "<string>"
7aacca6f 22292 },
4d47f125
TL
22293 "snapname" : {
22294 "description" : "The name of the snapshot.",
22295 "format" : "pve-configid",
22296 "maxLength" : 40,
22297 "type" : "string",
22298 "typetext" : "<string>"
56122987
DM
22299 },
22300 "vmid" : {
7aacca6f 22301 "description" : "The (unique) ID of the VM.",
44660702
DM
22302 "format" : "pve-vmid",
22303 "minimum" : 1,
4bd7df8b 22304 "type" : "integer",
013dc89f 22305 "typetext" : "<integer> (1 - N)"
56122987 22306 }
44660702 22307 }
56122987
DM
22308 },
22309 "permissions" : {
22310 "check" : [
22311 "perm",
22312 "/vms/{vmid}",
22313 [
4d47f125 22314 "VM.Snapshot"
56122987
DM
22315 ]
22316 ]
22317 },
44660702
DM
22318 "protected" : 1,
22319 "proxyto" : "node",
7aacca6f 22320 "returns" : {
4d47f125 22321 "description" : "the task ID.",
7aacca6f
DM
22322 "type" : "string"
22323 }
4d47f125
TL
22324 },
22325 "GET" : {
e9cd3bd4 22326 "allowtoken" : 1,
4d47f125
TL
22327 "description" : "",
22328 "method" : "GET",
22329 "name" : "snapshot_cmd_idx",
56122987
DM
22330 "parameters" : {
22331 "additionalProperties" : 0,
22332 "properties" : {
44660702
DM
22333 "node" : {
22334 "description" : "The cluster node name.",
22335 "format" : "pve-node",
013dc89f
DM
22336 "type" : "string",
22337 "typetext" : "<string>"
44660702 22338 },
4d47f125
TL
22339 "snapname" : {
22340 "description" : "The name of the snapshot.",
22341 "format" : "pve-configid",
22342 "maxLength" : 40,
013dc89f
DM
22343 "type" : "string",
22344 "typetext" : "<string>"
56122987
DM
22345 },
22346 "vmid" : {
7aacca6f 22347 "description" : "The (unique) ID of the VM.",
56122987 22348 "format" : "pve-vmid",
44660702 22349 "minimum" : 1,
4bd7df8b 22350 "type" : "integer",
013dc89f 22351 "typetext" : "<integer> (1 - N)"
56122987 22352 }
44660702
DM
22353 }
22354 },
22355 "permissions" : {
4d47f125 22356 "user" : "all"
56122987 22357 },
44660702 22358 "returns" : {
4d47f125
TL
22359 "items" : {
22360 "properties" : {},
22361 "type" : "object"
22362 },
22363 "links" : [
22364 {
22365 "href" : "{cmd}",
22366 "rel" : "child"
22367 }
22368 ],
22369 "type" : "array"
44660702 22370 }
7aacca6f
DM
22371 }
22372 },
4d47f125
TL
22373 "leaf" : 0,
22374 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
22375 "text" : "{snapname}"
7aacca6f
DM
22376 }
22377 ],
22378 "info" : {
22379 "GET" : {
e9cd3bd4 22380 "allowtoken" : 1,
4d47f125 22381 "description" : "List all snapshots.",
44660702 22382 "method" : "GET",
4d47f125 22383 "name" : "list",
7aacca6f
DM
22384 "parameters" : {
22385 "additionalProperties" : 0,
22386 "properties" : {
22387 "node" : {
22388 "description" : "The cluster node name.",
44660702 22389 "format" : "pve-node",
013dc89f
DM
22390 "type" : "string",
22391 "typetext" : "<string>"
56122987 22392 },
7aacca6f 22393 "vmid" : {
44660702 22394 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
22395 "format" : "pve-vmid",
22396 "minimum" : 1,
4bd7df8b 22397 "type" : "integer",
013dc89f 22398 "typetext" : "<integer> (1 - N)"
7aacca6f 22399 }
56122987
DM
22400 }
22401 },
44660702 22402 "permissions" : {
4d47f125
TL
22403 "check" : [
22404 "perm",
22405 "/vms/{vmid}",
22406 [
22407 "VM.Audit"
22408 ]
22409 ]
44660702 22410 },
4d47f125 22411 "protected" : 1,
44660702 22412 "proxyto" : "node",
7aacca6f 22413 "returns" : {
7aacca6f
DM
22414 "items" : {
22415 "properties" : {
4d47f125
TL
22416 "description" : {
22417 "description" : "Snapshot description.",
7aacca6f 22418 "type" : "string"
4d47f125
TL
22419 },
22420 "name" : {
22421 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
22422 "type" : "string"
22423 },
22424 "parent" : {
22425 "description" : "Parent snapshot identifier.",
22426 "optional" : 1,
22427 "type" : "string"
22428 },
22429 "snaptime" : {
22430 "description" : "Snapshot creation time",
22431 "optional" : 1,
22432 "renderer" : "timestamp",
22433 "type" : "integer"
7aacca6f
DM
22434 }
22435 },
22436 "type" : "object"
22437 },
22438 "links" : [
22439 {
4d47f125 22440 "href" : "{name}",
44660702 22441 "rel" : "child"
7aacca6f 22442 }
44660702
DM
22443 ],
22444 "type" : "array"
7aacca6f 22445 }
4d47f125
TL
22446 },
22447 "POST" : {
e9cd3bd4 22448 "allowtoken" : 1,
4d47f125
TL
22449 "description" : "Snapshot a container.",
22450 "method" : "POST",
22451 "name" : "snapshot",
22452 "parameters" : {
22453 "additionalProperties" : 0,
22454 "properties" : {
22455 "description" : {
22456 "description" : "A textual description or comment.",
22457 "optional" : 1,
22458 "type" : "string",
22459 "typetext" : "<string>"
22460 },
22461 "node" : {
22462 "description" : "The cluster node name.",
22463 "format" : "pve-node",
22464 "type" : "string",
22465 "typetext" : "<string>"
22466 },
22467 "snapname" : {
22468 "description" : "The name of the snapshot.",
22469 "format" : "pve-configid",
22470 "maxLength" : 40,
22471 "type" : "string",
22472 "typetext" : "<string>"
22473 },
22474 "vmid" : {
22475 "description" : "The (unique) ID of the VM.",
22476 "format" : "pve-vmid",
22477 "minimum" : 1,
22478 "type" : "integer",
22479 "typetext" : "<integer> (1 - N)"
22480 }
22481 }
22482 },
22483 "permissions" : {
22484 "check" : [
22485 "perm",
22486 "/vms/{vmid}",
22487 [
22488 "VM.Snapshot"
22489 ]
22490 ]
22491 },
22492 "protected" : 1,
22493 "proxyto" : "node",
22494 "returns" : {
22495 "description" : "the task ID.",
22496 "type" : "string"
22497 }
7aacca6f 22498 }
44660702
DM
22499 },
22500 "leaf" : 0,
4d47f125
TL
22501 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
22502 "text" : "snapshot"
7aacca6f
DM
22503 },
22504 {
7aacca6f 22505 "children" : [
56122987 22506 {
7aacca6f
DM
22507 "children" : [
22508 {
22509 "info" : {
4d47f125 22510 "DELETE" : {
e9cd3bd4 22511 "allowtoken" : 1,
4d47f125
TL
22512 "description" : "Delete rule.",
22513 "method" : "DELETE",
22514 "name" : "delete_rule",
7aacca6f 22515 "parameters" : {
44660702 22516 "additionalProperties" : 0,
7aacca6f 22517 "properties" : {
4d47f125
TL
22518 "digest" : {
22519 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22520 "maxLength" : 40,
22521 "optional" : 1,
22522 "type" : "string",
22523 "typetext" : "<string>"
22524 },
44660702
DM
22525 "node" : {
22526 "description" : "The cluster node name.",
22527 "format" : "pve-node",
013dc89f
DM
22528 "type" : "string",
22529 "typetext" : "<string>"
44660702 22530 },
4d47f125
TL
22531 "pos" : {
22532 "description" : "Update rule at position <pos>.",
22533 "minimum" : 0,
22534 "optional" : 1,
22535 "type" : "integer",
22536 "typetext" : "<integer> (0 - N)"
7aacca6f 22537 },
7aacca6f 22538 "vmid" : {
44660702 22539 "description" : "The (unique) ID of the VM.",
7aacca6f 22540 "format" : "pve-vmid",
44660702 22541 "minimum" : 1,
4bd7df8b 22542 "type" : "integer",
013dc89f 22543 "typetext" : "<integer> (1 - N)"
7aacca6f 22544 }
44660702
DM
22545 }
22546 },
22547 "permissions" : {
22548 "check" : [
22549 "perm",
22550 "/vms/{vmid}",
22551 [
4d47f125
TL
22552 "VM.Config.Network"
22553 ]
44660702 22554 ]
7aacca6f 22555 },
44660702 22556 "protected" : 1,
4d47f125 22557 "proxyto" : null,
44660702 22558 "returns" : {
4d47f125 22559 "type" : "null"
44660702 22560 }
4d47f125 22561 },
7aacca6f 22562 "GET" : {
e9cd3bd4 22563 "allowtoken" : 1,
4d47f125 22564 "description" : "Get single rule data.",
44660702 22565 "method" : "GET",
4d47f125 22566 "name" : "get_rule",
7aacca6f
DM
22567 "parameters" : {
22568 "additionalProperties" : 0,
4d47f125
TL
22569 "properties" : {
22570 "node" : {
22571 "description" : "The cluster node name.",
22572 "format" : "pve-node",
013dc89f
DM
22573 "type" : "string",
22574 "typetext" : "<string>"
44660702 22575 },
4d47f125
TL
22576 "pos" : {
22577 "description" : "Update rule at position <pos>.",
22578 "minimum" : 0,
22579 "optional" : 1,
22580 "type" : "integer",
22581 "typetext" : "<integer> (0 - N)"
22582 },
44660702
DM
22583 "vmid" : {
22584 "description" : "The (unique) ID of the VM.",
22585 "format" : "pve-vmid",
22586 "minimum" : 1,
4bd7df8b 22587 "type" : "integer",
013dc89f 22588 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
22589 }
22590 }
22591 },
22592 "permissions" : {
22593 "check" : [
22594 "perm",
22595 "/vms/{vmid}",
22596 [
4d47f125
TL
22597 "VM.Audit"
22598 ]
7aacca6f
DM
22599 ]
22600 },
4d47f125 22601 "proxyto" : null,
44660702 22602 "returns" : {
4d47f125 22603 "properties" : {
e2d681b3
TL
22604 "action" : {
22605 "type" : "string"
22606 },
22607 "comment" : {
22608 "optional" : 1,
22609 "type" : "string"
22610 },
22611 "dest" : {
22612 "optional" : 1,
22613 "type" : "string"
22614 },
22615 "dport" : {
22616 "optional" : 1,
22617 "type" : "string"
22618 },
22619 "enable" : {
22620 "optional" : 1,
22621 "type" : "integer"
22622 },
22623 "iface" : {
22624 "optional" : 1,
22625 "type" : "string"
22626 },
22627 "ipversion" : {
22628 "optional" : 1,
22629 "type" : "integer"
22630 },
95895385
TL
22631 "log" : {
22632 "description" : "Log level for firewall rule",
22633 "enum" : [
22634 "emerg",
22635 "alert",
22636 "crit",
22637 "err",
22638 "warning",
22639 "notice",
22640 "info",
22641 "debug",
22642 "nolog"
22643 ],
22644 "optional" : 1,
22645 "type" : "string"
22646 },
e2d681b3
TL
22647 "macro" : {
22648 "optional" : 1,
5f26e15b 22649 "type" : "string"
e2d681b3 22650 },
4d47f125
TL
22651 "pos" : {
22652 "type" : "integer"
e2d681b3
TL
22653 },
22654 "proto" : {
22655 "optional" : 1,
22656 "type" : "string"
22657 },
22658 "source" : {
22659 "optional" : 1,
22660 "type" : "string"
22661 },
22662 "sport" : {
22663 "optional" : 1,
22664 "type" : "string"
22665 },
22666 "type" : {
22667 "type" : "string"
4d47f125
TL
22668 }
22669 },
44660702
DM
22670 "type" : "object"
22671 }
7aacca6f
DM
22672 },
22673 "PUT" : {
e9cd3bd4 22674 "allowtoken" : 1,
4d47f125 22675 "description" : "Modify rule data.",
44660702 22676 "method" : "PUT",
4d47f125 22677 "name" : "update_rule",
7aacca6f
DM
22678 "parameters" : {
22679 "additionalProperties" : 0,
22680 "properties" : {
4d47f125
TL
22681 "action" : {
22682 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22683 "maxLength" : 20,
22684 "minLength" : 2,
22685 "optional" : 1,
22686 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22687 "type" : "string"
22688 },
22689 "comment" : {
22690 "description" : "Descriptive comment.",
22691 "optional" : 1,
22692 "type" : "string",
22693 "typetext" : "<string>"
22694 },
22695 "delete" : {
22696 "description" : "A list of settings you want to delete.",
22697 "format" : "pve-configid-list",
22698 "optional" : 1,
22699 "type" : "string",
22700 "typetext" : "<string>"
22701 },
22702 "dest" : {
22703 "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.",
22704 "format" : "pve-fw-addr-spec",
22705 "optional" : 1,
22706 "type" : "string",
22707 "typetext" : "<string>"
22708 },
22709 "digest" : {
22710 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22711 "maxLength" : 40,
22712 "optional" : 1,
22713 "type" : "string",
22714 "typetext" : "<string>"
22715 },
22716 "dport" : {
22717 "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.",
22718 "format" : "pve-fw-dport-spec",
22719 "optional" : 1,
22720 "type" : "string",
22721 "typetext" : "<string>"
22722 },
22723 "enable" : {
22724 "description" : "Flag to enable/disable a rule.",
22725 "minimum" : 0,
22726 "optional" : 1,
22727 "type" : "integer",
22728 "typetext" : "<integer> (0 - N)"
22729 },
22730 "iface" : {
22731 "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.",
22732 "format" : "pve-iface",
22733 "maxLength" : 20,
22734 "minLength" : 2,
22735 "optional" : 1,
22736 "type" : "string",
22737 "typetext" : "<string>"
22738 },
95895385
TL
22739 "log" : {
22740 "description" : "Log level for firewall rule.",
22741 "enum" : [
22742 "emerg",
22743 "alert",
22744 "crit",
22745 "err",
22746 "warning",
22747 "notice",
22748 "info",
22749 "debug",
22750 "nolog"
22751 ],
22752 "optional" : 1,
22753 "type" : "string"
22754 },
4d47f125
TL
22755 "macro" : {
22756 "description" : "Use predefined standard macro.",
22757 "maxLength" : 128,
44660702 22758 "optional" : 1,
013dc89f
DM
22759 "type" : "string",
22760 "typetext" : "<string>"
44660702 22761 },
4d47f125
TL
22762 "moveto" : {
22763 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
22764 "minimum" : 0,
22765 "optional" : 1,
22766 "type" : "integer",
22767 "typetext" : "<integer> (0 - N)"
22768 },
7aacca6f 22769 "node" : {
7aacca6f 22770 "description" : "The cluster node name.",
44660702 22771 "format" : "pve-node",
013dc89f
DM
22772 "type" : "string",
22773 "typetext" : "<string>"
7aacca6f 22774 },
4d47f125
TL
22775 "pos" : {
22776 "description" : "Update rule at position <pos>.",
22777 "minimum" : 0,
22778 "optional" : 1,
22779 "type" : "integer",
22780 "typetext" : "<integer> (0 - N)"
22781 },
22782 "proto" : {
22783 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22784 "format" : "pve-fw-protocol-spec",
22785 "optional" : 1,
22786 "type" : "string",
22787 "typetext" : "<string>"
22788 },
22789 "source" : {
22790 "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.",
22791 "format" : "pve-fw-addr-spec",
22792 "optional" : 1,
22793 "type" : "string",
22794 "typetext" : "<string>"
22795 },
22796 "sport" : {
22797 "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.",
22798 "format" : "pve-fw-sport-spec",
22799 "optional" : 1,
013dc89f
DM
22800 "type" : "string",
22801 "typetext" : "<string>"
7aacca6f 22802 },
4d47f125
TL
22803 "type" : {
22804 "description" : "Rule type.",
22805 "enum" : [
22806 "in",
22807 "out",
22808 "group"
22809 ],
22810 "optional" : 1,
22811 "type" : "string"
22812 },
7aacca6f 22813 "vmid" : {
44660702 22814 "description" : "The (unique) ID of the VM.",
7aacca6f 22815 "format" : "pve-vmid",
44660702 22816 "minimum" : 1,
4bd7df8b 22817 "type" : "integer",
013dc89f 22818 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
22819 }
22820 }
22821 },
7aacca6f
DM
22822 "permissions" : {
22823 "check" : [
22824 "perm",
22825 "/vms/{vmid}",
22826 [
4d47f125 22827 "VM.Config.Network"
7aacca6f
DM
22828 ]
22829 ]
22830 },
4d47f125
TL
22831 "protected" : 1,
22832 "proxyto" : null,
22833 "returns" : {
22834 "type" : "null"
22835 }
22836 }
22837 },
22838 "leaf" : 1,
22839 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
22840 "text" : "{pos}"
22841 }
22842 ],
22843 "info" : {
22844 "GET" : {
e9cd3bd4 22845 "allowtoken" : 1,
4d47f125
TL
22846 "description" : "List rules.",
22847 "method" : "GET",
22848 "name" : "get_rules",
22849 "parameters" : {
22850 "additionalProperties" : 0,
22851 "properties" : {
22852 "node" : {
22853 "description" : "The cluster node name.",
22854 "format" : "pve-node",
22855 "type" : "string",
22856 "typetext" : "<string>"
22857 },
22858 "vmid" : {
22859 "description" : "The (unique) ID of the VM.",
22860 "format" : "pve-vmid",
22861 "minimum" : 1,
22862 "type" : "integer",
22863 "typetext" : "<integer> (1 - N)"
22864 }
22865 }
22866 },
22867 "permissions" : {
22868 "check" : [
22869 "perm",
22870 "/vms/{vmid}",
22871 [
22872 "VM.Audit"
22873 ]
22874 ]
22875 },
22876 "proxyto" : null,
22877 "returns" : {
22878 "items" : {
22879 "properties" : {
22880 "pos" : {
22881 "type" : "integer"
22882 }
22883 },
22884 "type" : "object"
22885 },
22886 "links" : [
22887 {
22888 "href" : "{pos}",
22889 "rel" : "child"
22890 }
22891 ],
22892 "type" : "array"
22893 }
22894 },
22895 "POST" : {
e9cd3bd4 22896 "allowtoken" : 1,
4d47f125
TL
22897 "description" : "Create new rule.",
22898 "method" : "POST",
22899 "name" : "create_rule",
22900 "parameters" : {
22901 "additionalProperties" : 0,
22902 "properties" : {
22903 "action" : {
22904 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22905 "maxLength" : 20,
22906 "minLength" : 2,
22907 "optional" : 0,
22908 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22909 "type" : "string"
22910 },
22911 "comment" : {
22912 "description" : "Descriptive comment.",
22913 "optional" : 1,
22914 "type" : "string",
22915 "typetext" : "<string>"
22916 },
22917 "dest" : {
22918 "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.",
22919 "format" : "pve-fw-addr-spec",
22920 "optional" : 1,
22921 "type" : "string",
22922 "typetext" : "<string>"
22923 },
22924 "digest" : {
22925 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22926 "maxLength" : 40,
22927 "optional" : 1,
22928 "type" : "string",
22929 "typetext" : "<string>"
22930 },
22931 "dport" : {
22932 "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.",
22933 "format" : "pve-fw-dport-spec",
22934 "optional" : 1,
22935 "type" : "string",
22936 "typetext" : "<string>"
22937 },
22938 "enable" : {
22939 "description" : "Flag to enable/disable a rule.",
22940 "minimum" : 0,
22941 "optional" : 1,
22942 "type" : "integer",
22943 "typetext" : "<integer> (0 - N)"
22944 },
22945 "iface" : {
22946 "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.",
22947 "format" : "pve-iface",
22948 "maxLength" : 20,
22949 "minLength" : 2,
22950 "optional" : 1,
22951 "type" : "string",
22952 "typetext" : "<string>"
22953 },
95895385
TL
22954 "log" : {
22955 "description" : "Log level for firewall rule.",
22956 "enum" : [
22957 "emerg",
22958 "alert",
22959 "crit",
22960 "err",
22961 "warning",
22962 "notice",
22963 "info",
22964 "debug",
22965 "nolog"
22966 ],
22967 "optional" : 1,
22968 "type" : "string"
22969 },
4d47f125
TL
22970 "macro" : {
22971 "description" : "Use predefined standard macro.",
22972 "maxLength" : 128,
44660702 22973 "optional" : 1,
4d47f125
TL
22974 "type" : "string",
22975 "typetext" : "<string>"
44660702
DM
22976 },
22977 "node" : {
22978 "description" : "The cluster node name.",
22979 "format" : "pve-node",
013dc89f
DM
22980 "type" : "string",
22981 "typetext" : "<string>"
7aacca6f 22982 },
4d47f125
TL
22983 "pos" : {
22984 "description" : "Update rule at position <pos>.",
22985 "minimum" : 0,
22986 "optional" : 1,
22987 "type" : "integer",
22988 "typetext" : "<integer> (0 - N)"
22989 },
22990 "proto" : {
22991 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22992 "format" : "pve-fw-protocol-spec",
22993 "optional" : 1,
22994 "type" : "string",
22995 "typetext" : "<string>"
22996 },
22997 "source" : {
22998 "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.",
22999 "format" : "pve-fw-addr-spec",
23000 "optional" : 1,
013dc89f
DM
23001 "type" : "string",
23002 "typetext" : "<string>"
44660702 23003 },
4d47f125
TL
23004 "sport" : {
23005 "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.",
23006 "format" : "pve-fw-sport-spec",
23007 "optional" : 1,
23008 "type" : "string",
23009 "typetext" : "<string>"
23010 },
23011 "type" : {
23012 "description" : "Rule type.",
23013 "enum" : [
23014 "in",
23015 "out",
23016 "group"
23017 ],
23018 "optional" : 0,
23019 "type" : "string"
23020 },
44660702
DM
23021 "vmid" : {
23022 "description" : "The (unique) ID of the VM.",
23023 "format" : "pve-vmid",
23024 "minimum" : 1,
4bd7df8b 23025 "type" : "integer",
013dc89f 23026 "typetext" : "<integer> (1 - N)"
56122987 23027 }
44660702 23028 }
7aacca6f 23029 },
56122987
DM
23030 "permissions" : {
23031 "check" : [
23032 "perm",
23033 "/vms/{vmid}",
23034 [
4d47f125 23035 "VM.Config.Network"
56122987
DM
23036 ]
23037 ]
23038 },
44660702 23039 "protected" : 1,
4d47f125 23040 "proxyto" : null,
44660702 23041 "returns" : {
4d47f125 23042 "type" : "null"
44660702
DM
23043 }
23044 }
23045 },
23046 "leaf" : 0,
4d47f125
TL
23047 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
23048 "text" : "rules"
7aacca6f 23049 },
56122987 23050 {
56122987
DM
23051 "children" : [
23052 {
56122987 23053 "info" : {
44660702 23054 "DELETE" : {
e9cd3bd4 23055 "allowtoken" : 1,
4d47f125 23056 "description" : "Remove IP or Network alias.",
44660702 23057 "method" : "DELETE",
4d47f125 23058 "name" : "remove_alias",
56122987 23059 "parameters" : {
44660702 23060 "additionalProperties" : 0,
56122987 23061 "properties" : {
44660702
DM
23062 "digest" : {
23063 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23064 "maxLength" : 40,
7aacca6f 23065 "optional" : 1,
013dc89f
DM
23066 "type" : "string",
23067 "typetext" : "<string>"
7aacca6f 23068 },
4d47f125
TL
23069 "name" : {
23070 "description" : "Alias name.",
23071 "maxLength" : 64,
23072 "minLength" : 2,
23073 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23074 "type" : "string"
23075 },
7aacca6f 23076 "node" : {
44660702 23077 "description" : "The cluster node name.",
7aacca6f 23078 "format" : "pve-node",
013dc89f
DM
23079 "type" : "string",
23080 "typetext" : "<string>"
44660702 23081 },
44660702
DM
23082 "vmid" : {
23083 "description" : "The (unique) ID of the VM.",
23084 "format" : "pve-vmid",
23085 "minimum" : 1,
4bd7df8b 23086 "type" : "integer",
013dc89f 23087 "typetext" : "<integer> (1 - N)"
56122987 23088 }
44660702 23089 }
56122987 23090 },
56122987
DM
23091 "permissions" : {
23092 "check" : [
23093 "perm",
23094 "/vms/{vmid}",
23095 [
44660702 23096 "VM.Config.Network"
56122987
DM
23097 ]
23098 ]
23099 },
44660702 23100 "protected" : 1,
44660702
DM
23101 "returns" : {
23102 "type" : "null"
23103 }
7aacca6f 23104 },
44660702 23105 "GET" : {
e9cd3bd4 23106 "allowtoken" : 1,
4d47f125 23107 "description" : "Read alias.",
44660702 23108 "method" : "GET",
4d47f125 23109 "name" : "read_alias",
56122987 23110 "parameters" : {
44660702 23111 "additionalProperties" : 0,
56122987 23112 "properties" : {
4d47f125
TL
23113 "name" : {
23114 "description" : "Alias name.",
23115 "maxLength" : 64,
23116 "minLength" : 2,
23117 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23118 "type" : "string"
23119 },
7aacca6f 23120 "node" : {
7aacca6f 23121 "description" : "The cluster node name.",
44660702 23122 "format" : "pve-node",
013dc89f
DM
23123 "type" : "string",
23124 "typetext" : "<string>"
56122987 23125 },
7aacca6f 23126 "vmid" : {
44660702 23127 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23128 "format" : "pve-vmid",
23129 "minimum" : 1,
4bd7df8b 23130 "type" : "integer",
013dc89f 23131 "typetext" : "<integer> (1 - N)"
56122987 23132 }
44660702 23133 }
56122987 23134 },
7aacca6f
DM
23135 "permissions" : {
23136 "check" : [
23137 "perm",
23138 "/vms/{vmid}",
23139 [
44660702 23140 "VM.Audit"
7aacca6f
DM
23141 ]
23142 ]
23143 },
7aacca6f 23144 "returns" : {
44660702 23145 "type" : "object"
7aacca6f 23146 }
56122987 23147 },
44660702 23148 "PUT" : {
e9cd3bd4 23149 "allowtoken" : 1,
4d47f125 23150 "description" : "Update IP or Network alias.",
44660702 23151 "method" : "PUT",
4d47f125 23152 "name" : "update_alias",
56122987
DM
23153 "parameters" : {
23154 "additionalProperties" : 0,
23155 "properties" : {
4d47f125
TL
23156 "cidr" : {
23157 "description" : "Network/IP specification in CIDR format.",
23158 "format" : "IPorCIDR",
013dc89f
DM
23159 "type" : "string",
23160 "typetext" : "<string>"
44660702 23161 },
4d47f125 23162 "comment" : {
44660702 23163 "optional" : 1,
013dc89f
DM
23164 "type" : "string",
23165 "typetext" : "<string>"
44660702
DM
23166 },
23167 "digest" : {
23168 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23169 "maxLength" : 40,
23170 "optional" : 1,
013dc89f
DM
23171 "type" : "string",
23172 "typetext" : "<string>"
44660702 23173 },
4d47f125
TL
23174 "name" : {
23175 "description" : "Alias name.",
23176 "maxLength" : 64,
44660702 23177 "minLength" : 2,
4d47f125
TL
23178 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23179 "type" : "string"
44660702 23180 },
7aacca6f
DM
23181 "node" : {
23182 "description" : "The cluster node name.",
44660702 23183 "format" : "pve-node",
013dc89f
DM
23184 "type" : "string",
23185 "typetext" : "<string>"
56122987 23186 },
4d47f125
TL
23187 "rename" : {
23188 "description" : "Rename an existing alias.",
23189 "maxLength" : 64,
23190 "minLength" : 2,
7aacca6f 23191 "optional" : 1,
4d47f125 23192 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
23193 "type" : "string"
23194 },
23195 "vmid" : {
23196 "description" : "The (unique) ID of the VM.",
23197 "format" : "pve-vmid",
23198 "minimum" : 1,
4bd7df8b 23199 "type" : "integer",
013dc89f 23200 "typetext" : "<integer> (1 - N)"
56122987
DM
23201 }
23202 }
23203 },
56122987
DM
23204 "permissions" : {
23205 "check" : [
23206 "perm",
23207 "/vms/{vmid}",
23208 [
7aacca6f 23209 "VM.Config.Network"
56122987
DM
23210 ]
23211 ]
23212 },
44660702 23213 "protected" : 1,
56122987 23214 "returns" : {
7aacca6f
DM
23215 "type" : "null"
23216 }
56122987 23217 }
44660702
DM
23218 },
23219 "leaf" : 1,
4d47f125
TL
23220 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
23221 "text" : "{name}"
56122987
DM
23222 }
23223 ],
23224 "info" : {
7aacca6f 23225 "GET" : {
e9cd3bd4 23226 "allowtoken" : 1,
4d47f125 23227 "description" : "List aliases",
44660702 23228 "method" : "GET",
4d47f125 23229 "name" : "get_aliases",
7aacca6f 23230 "parameters" : {
44660702 23231 "additionalProperties" : 0,
7aacca6f
DM
23232 "properties" : {
23233 "node" : {
7aacca6f 23234 "description" : "The cluster node name.",
44660702 23235 "format" : "pve-node",
013dc89f
DM
23236 "type" : "string",
23237 "typetext" : "<string>"
7aacca6f
DM
23238 },
23239 "vmid" : {
23240 "description" : "The (unique) ID of the VM.",
44660702 23241 "format" : "pve-vmid",
7aacca6f 23242 "minimum" : 1,
4bd7df8b 23243 "type" : "integer",
013dc89f 23244 "typetext" : "<integer> (1 - N)"
7aacca6f 23245 }
44660702 23246 }
56122987 23247 },
56122987
DM
23248 "permissions" : {
23249 "check" : [
23250 "perm",
23251 "/vms/{vmid}",
23252 [
7aacca6f 23253 "VM.Audit"
56122987
DM
23254 ]
23255 ]
23256 },
7aacca6f 23257 "returns" : {
7aacca6f
DM
23258 "items" : {
23259 "properties" : {
4d47f125
TL
23260 "cidr" : {
23261 "type" : "string"
23262 },
23263 "comment" : {
23264 "optional" : 1,
23265 "type" : "string"
23266 },
23267 "digest" : {
23268 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23269 "maxLength" : 40,
23270 "optional" : 0,
23271 "type" : "string"
23272 },
23273 "name" : {
23274 "type" : "string"
7aacca6f
DM
23275 }
23276 },
23277 "type" : "object"
23278 },
23279 "links" : [
23280 {
4d47f125 23281 "href" : "{name}",
44660702 23282 "rel" : "child"
7aacca6f 23283 }
44660702
DM
23284 ],
23285 "type" : "array"
23286 }
7aacca6f
DM
23287 },
23288 "POST" : {
e9cd3bd4 23289 "allowtoken" : 1,
4d47f125 23290 "description" : "Create IP or Network Alias.",
44660702 23291 "method" : "POST",
4d47f125 23292 "name" : "create_alias",
56122987 23293 "parameters" : {
44660702 23294 "additionalProperties" : 0,
56122987 23295 "properties" : {
4d47f125
TL
23296 "cidr" : {
23297 "description" : "Network/IP specification in CIDR format.",
23298 "format" : "IPorCIDR",
013dc89f 23299 "type" : "string",
4d47f125
TL
23300 "typetext" : "<string>"
23301 },
23302 "comment" : {
44660702 23303 "optional" : 1,
013dc89f
DM
23304 "type" : "string",
23305 "typetext" : "<string>"
7aacca6f 23306 },
4d47f125
TL
23307 "name" : {
23308 "description" : "Alias name.",
23309 "maxLength" : 64,
23310 "minLength" : 2,
23311 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
23312 "type" : "string"
23313 },
4d47f125
TL
23314 "node" : {
23315 "description" : "The cluster node name.",
23316 "format" : "pve-node",
23317 "type" : "string",
23318 "typetext" : "<string>"
23319 },
44660702
DM
23320 "vmid" : {
23321 "description" : "The (unique) ID of the VM.",
23322 "format" : "pve-vmid",
23323 "minimum" : 1,
4bd7df8b 23324 "type" : "integer",
013dc89f 23325 "typetext" : "<integer> (1 - N)"
44660702
DM
23326 }
23327 }
23328 },
23329 "permissions" : {
23330 "check" : [
23331 "perm",
23332 "/vms/{vmid}",
23333 [
23334 "VM.Config.Network"
23335 ]
23336 ]
23337 },
23338 "protected" : 1,
44660702
DM
23339 "returns" : {
23340 "type" : "null"
23341 }
23342 }
23343 },
23344 "leaf" : 0,
4d47f125
TL
23345 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
23346 "text" : "aliases"
44660702
DM
23347 },
23348 {
23349 "children" : [
23350 {
4d47f125
TL
23351 "children" : [
23352 {
23353 "info" : {
23354 "DELETE" : {
e9cd3bd4 23355 "allowtoken" : 1,
4d47f125
TL
23356 "description" : "Remove IP or Network from IPSet.",
23357 "method" : "DELETE",
23358 "name" : "remove_ip",
23359 "parameters" : {
23360 "additionalProperties" : 0,
23361 "properties" : {
23362 "cidr" : {
23363 "description" : "Network/IP specification in CIDR format.",
23364 "format" : "IPorCIDRorAlias",
23365 "type" : "string",
23366 "typetext" : "<string>"
23367 },
23368 "digest" : {
23369 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23370 "maxLength" : 40,
23371 "optional" : 1,
23372 "type" : "string",
23373 "typetext" : "<string>"
23374 },
23375 "name" : {
23376 "description" : "IP set name.",
23377 "maxLength" : 64,
23378 "minLength" : 2,
23379 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23380 "type" : "string"
23381 },
23382 "node" : {
23383 "description" : "The cluster node name.",
23384 "format" : "pve-node",
23385 "type" : "string",
23386 "typetext" : "<string>"
23387 },
23388 "vmid" : {
23389 "description" : "The (unique) ID of the VM.",
23390 "format" : "pve-vmid",
23391 "minimum" : 1,
23392 "type" : "integer",
23393 "typetext" : "<integer> (1 - N)"
23394 }
23395 }
23396 },
23397 "permissions" : {
23398 "check" : [
23399 "perm",
23400 "/vms/{vmid}",
23401 [
23402 "VM.Config.Network"
23403 ]
23404 ]
23405 },
23406 "protected" : 1,
23407 "returns" : {
23408 "type" : "null"
23409 }
23410 },
23411 "GET" : {
e9cd3bd4 23412 "allowtoken" : 1,
4d47f125
TL
23413 "description" : "Read IP or Network settings from IPSet.",
23414 "method" : "GET",
23415 "name" : "read_ip",
23416 "parameters" : {
23417 "additionalProperties" : 0,
23418 "properties" : {
23419 "cidr" : {
23420 "description" : "Network/IP specification in CIDR format.",
23421 "format" : "IPorCIDRorAlias",
23422 "type" : "string",
23423 "typetext" : "<string>"
23424 },
23425 "name" : {
23426 "description" : "IP set name.",
23427 "maxLength" : 64,
23428 "minLength" : 2,
23429 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23430 "type" : "string"
23431 },
23432 "node" : {
23433 "description" : "The cluster node name.",
23434 "format" : "pve-node",
23435 "type" : "string",
23436 "typetext" : "<string>"
23437 },
23438 "vmid" : {
23439 "description" : "The (unique) ID of the VM.",
23440 "format" : "pve-vmid",
23441 "minimum" : 1,
23442 "type" : "integer",
23443 "typetext" : "<integer> (1 - N)"
23444 }
23445 }
23446 },
23447 "permissions" : {
23448 "check" : [
23449 "perm",
23450 "/vms/{vmid}",
23451 [
23452 "VM.Audit"
23453 ]
23454 ]
23455 },
23456 "protected" : 1,
23457 "returns" : {
23458 "type" : "object"
23459 }
23460 },
23461 "PUT" : {
e9cd3bd4 23462 "allowtoken" : 1,
4d47f125
TL
23463 "description" : "Update IP or Network settings",
23464 "method" : "PUT",
23465 "name" : "update_ip",
23466 "parameters" : {
23467 "additionalProperties" : 0,
23468 "properties" : {
23469 "cidr" : {
23470 "description" : "Network/IP specification in CIDR format.",
23471 "format" : "IPorCIDRorAlias",
23472 "type" : "string",
23473 "typetext" : "<string>"
23474 },
23475 "comment" : {
23476 "optional" : 1,
23477 "type" : "string",
23478 "typetext" : "<string>"
23479 },
23480 "digest" : {
23481 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23482 "maxLength" : 40,
23483 "optional" : 1,
23484 "type" : "string",
23485 "typetext" : "<string>"
23486 },
23487 "name" : {
23488 "description" : "IP set name.",
23489 "maxLength" : 64,
23490 "minLength" : 2,
23491 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23492 "type" : "string"
23493 },
23494 "node" : {
23495 "description" : "The cluster node name.",
23496 "format" : "pve-node",
23497 "type" : "string",
23498 "typetext" : "<string>"
23499 },
23500 "nomatch" : {
23501 "optional" : 1,
23502 "type" : "boolean",
23503 "typetext" : "<boolean>"
23504 },
23505 "vmid" : {
23506 "description" : "The (unique) ID of the VM.",
23507 "format" : "pve-vmid",
23508 "minimum" : 1,
23509 "type" : "integer",
23510 "typetext" : "<integer> (1 - N)"
23511 }
23512 }
23513 },
23514 "permissions" : {
23515 "check" : [
23516 "perm",
23517 "/vms/{vmid}",
23518 [
23519 "VM.Config.Network"
23520 ]
23521 ]
23522 },
23523 "protected" : 1,
23524 "returns" : {
23525 "type" : "null"
23526 }
23527 }
23528 },
23529 "leaf" : 1,
23530 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
23531 "text" : "{cidr}"
23532 }
23533 ],
44660702
DM
23534 "info" : {
23535 "DELETE" : {
e9cd3bd4 23536 "allowtoken" : 1,
4d47f125 23537 "description" : "Delete IPSet",
44660702 23538 "method" : "DELETE",
4d47f125 23539 "name" : "delete_ipset",
56122987 23540 "parameters" : {
44660702 23541 "additionalProperties" : 0,
56122987 23542 "properties" : {
7aacca6f 23543 "name" : {
4d47f125 23544 "description" : "IP set name.",
7aacca6f 23545 "maxLength" : 64,
7aacca6f
DM
23546 "minLength" : 2,
23547 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23548 "type" : "string"
7aacca6f
DM
23549 },
23550 "node" : {
44660702 23551 "description" : "The cluster node name.",
56122987 23552 "format" : "pve-node",
013dc89f
DM
23553 "type" : "string",
23554 "typetext" : "<string>"
7aacca6f 23555 },
56122987 23556 "vmid" : {
44660702 23557 "description" : "The (unique) ID of the VM.",
56122987 23558 "format" : "pve-vmid",
44660702 23559 "minimum" : 1,
4bd7df8b 23560 "type" : "integer",
013dc89f 23561 "typetext" : "<integer> (1 - N)"
56122987 23562 }
44660702 23563 }
56122987 23564 },
56122987
DM
23565 "permissions" : {
23566 "check" : [
23567 "perm",
23568 "/vms/{vmid}",
23569 [
7aacca6f 23570 "VM.Config.Network"
56122987
DM
23571 ]
23572 ]
23573 },
44660702 23574 "protected" : 1,
56122987 23575 "returns" : {
7aacca6f 23576 "type" : "null"
44660702 23577 }
56122987 23578 },
44660702 23579 "GET" : {
e9cd3bd4 23580 "allowtoken" : 1,
4d47f125 23581 "description" : "List IPSet content",
44660702 23582 "method" : "GET",
4d47f125 23583 "name" : "get_ipset",
44660702
DM
23584 "parameters" : {
23585 "additionalProperties" : 0,
23586 "properties" : {
23587 "name" : {
4d47f125 23588 "description" : "IP set name.",
44660702
DM
23589 "maxLength" : 64,
23590 "minLength" : 2,
23591 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23592 "type" : "string"
23593 },
23594 "node" : {
23595 "description" : "The cluster node name.",
23596 "format" : "pve-node",
013dc89f
DM
23597 "type" : "string",
23598 "typetext" : "<string>"
44660702
DM
23599 },
23600 "vmid" : {
23601 "description" : "The (unique) ID of the VM.",
23602 "format" : "pve-vmid",
23603 "minimum" : 1,
4bd7df8b 23604 "type" : "integer",
013dc89f 23605 "typetext" : "<integer> (1 - N)"
44660702 23606 }
4d47f125
TL
23607 }
23608 },
23609 "permissions" : {
23610 "check" : [
23611 "perm",
23612 "/vms/{vmid}",
23613 [
23614 "VM.Audit"
23615 ]
23616 ]
23617 },
23618 "returns" : {
23619 "items" : {
23620 "properties" : {
23621 "cidr" : {
23622 "type" : "string"
23623 },
23624 "comment" : {
23625 "optional" : 1,
23626 "type" : "string"
23627 },
23628 "digest" : {
23629 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23630 "maxLength" : 40,
23631 "optional" : 0,
23632 "type" : "string"
23633 },
23634 "nomatch" : {
23635 "optional" : 1,
23636 "type" : "boolean"
23637 }
23638 },
23639 "type" : "object"
23640 },
23641 "links" : [
23642 {
23643 "href" : "{cidr}",
23644 "rel" : "child"
23645 }
23646 ],
23647 "type" : "array"
44660702
DM
23648 }
23649 },
4d47f125 23650 "POST" : {
e9cd3bd4 23651 "allowtoken" : 1,
4d47f125
TL
23652 "description" : "Add IP or Network to IPSet.",
23653 "method" : "POST",
23654 "name" : "create_ip",
56122987
DM
23655 "parameters" : {
23656 "additionalProperties" : 0,
23657 "properties" : {
44660702
DM
23658 "cidr" : {
23659 "description" : "Network/IP specification in CIDR format.",
4d47f125 23660 "format" : "IPorCIDRorAlias",
013dc89f
DM
23661 "type" : "string",
23662 "typetext" : "<string>"
44660702
DM
23663 },
23664 "comment" : {
23665 "optional" : 1,
013dc89f
DM
23666 "type" : "string",
23667 "typetext" : "<string>"
44660702 23668 },
56122987 23669 "name" : {
4d47f125 23670 "description" : "IP set name.",
44660702
DM
23671 "maxLength" : 64,
23672 "minLength" : 2,
7aacca6f 23673 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23674 "type" : "string"
56122987
DM
23675 },
23676 "node" : {
23677 "description" : "The cluster node name.",
44660702 23678 "format" : "pve-node",
013dc89f
DM
23679 "type" : "string",
23680 "typetext" : "<string>"
44660702 23681 },
4d47f125 23682 "nomatch" : {
44660702 23683 "optional" : 1,
4d47f125
TL
23684 "type" : "boolean",
23685 "typetext" : "<boolean>"
56122987 23686 },
7aacca6f 23687 "vmid" : {
7aacca6f 23688 "description" : "The (unique) ID of the VM.",
44660702 23689 "format" : "pve-vmid",
7aacca6f 23690 "minimum" : 1,
4bd7df8b 23691 "type" : "integer",
013dc89f 23692 "typetext" : "<integer> (1 - N)"
56122987
DM
23693 }
23694 }
23695 },
44660702
DM
23696 "permissions" : {
23697 "check" : [
23698 "perm",
23699 "/vms/{vmid}",
23700 [
23701 "VM.Config.Network"
23702 ]
23703 ]
7aacca6f 23704 },
44660702
DM
23705 "protected" : 1,
23706 "returns" : {
23707 "type" : "null"
7aacca6f
DM
23708 }
23709 }
23710 },
4d47f125
TL
23711 "leaf" : 0,
23712 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
23713 "text" : "{name}"
23714 }
23715 ],
23716 "info" : {
23717 "GET" : {
e9cd3bd4 23718 "allowtoken" : 1,
4d47f125 23719 "description" : "List IPSets",
44660702 23720 "method" : "GET",
4d47f125 23721 "name" : "ipset_index",
56122987
DM
23722 "parameters" : {
23723 "additionalProperties" : 0,
23724 "properties" : {
23725 "node" : {
44660702 23726 "description" : "The cluster node name.",
56122987 23727 "format" : "pve-node",
013dc89f
DM
23728 "type" : "string",
23729 "typetext" : "<string>"
56122987
DM
23730 },
23731 "vmid" : {
7aacca6f 23732 "description" : "The (unique) ID of the VM.",
44660702 23733 "format" : "pve-vmid",
7aacca6f 23734 "minimum" : 1,
4bd7df8b 23735 "type" : "integer",
013dc89f 23736 "typetext" : "<integer> (1 - N)"
56122987
DM
23737 }
23738 }
23739 },
44660702
DM
23740 "permissions" : {
23741 "check" : [
23742 "perm",
23743 "/vms/{vmid}",
23744 [
23745 "VM.Audit"
23746 ]
23747 ]
23748 },
56122987
DM
23749 "returns" : {
23750 "items" : {
56122987 23751 "properties" : {
44660702
DM
23752 "comment" : {
23753 "optional" : 1,
56122987
DM
23754 "type" : "string"
23755 },
56122987 23756 "digest" : {
56122987 23757 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
23758 "maxLength" : 40,
23759 "optional" : 0,
23760 "type" : "string"
23761 },
23762 "name" : {
4d47f125
TL
23763 "description" : "IP set name.",
23764 "maxLength" : 64,
23765 "minLength" : 2,
23766 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 23767 "type" : "string"
56122987 23768 }
44660702
DM
23769 },
23770 "type" : "object"
23771 },
23772 "links" : [
23773 {
23774 "href" : "{name}",
23775 "rel" : "child"
56122987 23776 }
4d47f125
TL
23777 ],
23778 "type" : "array"
23779 }
23780 },
23781 "POST" : {
e9cd3bd4 23782 "allowtoken" : 1,
4d47f125
TL
23783 "description" : "Create new IPSet",
23784 "method" : "POST",
23785 "name" : "create_ipset",
23786 "parameters" : {
23787 "additionalProperties" : 0,
23788 "properties" : {
23789 "comment" : {
23790 "optional" : 1,
23791 "type" : "string",
23792 "typetext" : "<string>"
23793 },
23794 "digest" : {
23795 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23796 "maxLength" : 40,
23797 "optional" : 1,
23798 "type" : "string",
23799 "typetext" : "<string>"
23800 },
23801 "name" : {
23802 "description" : "IP set name.",
23803 "maxLength" : 64,
23804 "minLength" : 2,
23805 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23806 "type" : "string"
23807 },
23808 "node" : {
23809 "description" : "The cluster node name.",
23810 "format" : "pve-node",
23811 "type" : "string",
23812 "typetext" : "<string>"
23813 },
23814 "rename" : {
23815 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
23816 "maxLength" : 64,
23817 "minLength" : 2,
23818 "optional" : 1,
23819 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
23820 "type" : "string"
23821 },
23822 "vmid" : {
23823 "description" : "The (unique) ID of the VM.",
23824 "format" : "pve-vmid",
23825 "minimum" : 1,
23826 "type" : "integer",
23827 "typetext" : "<integer> (1 - N)"
23828 }
23829 }
23830 },
23831 "permissions" : {
23832 "check" : [
23833 "perm",
23834 "/vms/{vmid}",
23835 [
23836 "VM.Config.Network"
23837 ]
23838 ]
23839 },
23840 "protected" : 1,
23841 "returns" : {
23842 "type" : "null"
23843 }
23844 }
23845 },
23846 "leaf" : 0,
23847 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
23848 "text" : "ipset"
23849 },
23850 {
23851 "info" : {
23852 "GET" : {
e9cd3bd4 23853 "allowtoken" : 1,
4d47f125
TL
23854 "description" : "Get VM firewall options.",
23855 "method" : "GET",
23856 "name" : "get_options",
23857 "parameters" : {
23858 "additionalProperties" : 0,
23859 "properties" : {
23860 "node" : {
23861 "description" : "The cluster node name.",
23862 "format" : "pve-node",
23863 "type" : "string",
23864 "typetext" : "<string>"
23865 },
23866 "vmid" : {
23867 "description" : "The (unique) ID of the VM.",
23868 "format" : "pve-vmid",
23869 "minimum" : 1,
23870 "type" : "integer",
23871 "typetext" : "<integer> (1 - N)"
23872 }
23873 }
23874 },
23875 "permissions" : {
23876 "check" : [
23877 "perm",
23878 "/vms/{vmid}",
23879 [
23880 "VM.Audit"
23881 ]
23882 ]
23883 },
23884 "proxyto" : "node",
23885 "returns" : {
23886 "properties" : {
23887 "dhcp" : {
5c1699e5 23888 "default" : 0,
4d47f125
TL
23889 "description" : "Enable DHCP.",
23890 "optional" : 1,
23891 "type" : "boolean"
23892 },
23893 "enable" : {
5c1699e5 23894 "default" : 0,
4d47f125
TL
23895 "description" : "Enable/disable firewall rules.",
23896 "optional" : 1,
23897 "type" : "boolean"
23898 },
23899 "ipfilter" : {
23900 "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.",
23901 "optional" : 1,
23902 "type" : "boolean"
23903 },
23904 "log_level_in" : {
23905 "description" : "Log level for incoming traffic.",
23906 "enum" : [
23907 "emerg",
23908 "alert",
23909 "crit",
23910 "err",
23911 "warning",
23912 "notice",
23913 "info",
23914 "debug",
23915 "nolog"
23916 ],
23917 "optional" : 1,
23918 "type" : "string"
23919 },
23920 "log_level_out" : {
23921 "description" : "Log level for outgoing traffic.",
23922 "enum" : [
23923 "emerg",
23924 "alert",
23925 "crit",
23926 "err",
23927 "warning",
23928 "notice",
23929 "info",
23930 "debug",
23931 "nolog"
23932 ],
23933 "optional" : 1,
23934 "type" : "string"
23935 },
23936 "macfilter" : {
5c1699e5 23937 "default" : 0,
4d47f125
TL
23938 "description" : "Enable/disable MAC address filter.",
23939 "optional" : 1,
23940 "type" : "boolean"
23941 },
23942 "ndp" : {
5c1699e5
TL
23943 "default" : 0,
23944 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
23945 "optional" : 1,
23946 "type" : "boolean"
23947 },
23948 "policy_in" : {
23949 "description" : "Input policy.",
23950 "enum" : [
23951 "ACCEPT",
23952 "REJECT",
23953 "DROP"
23954 ],
23955 "optional" : 1,
23956 "type" : "string"
23957 },
23958 "policy_out" : {
23959 "description" : "Output policy.",
23960 "enum" : [
23961 "ACCEPT",
23962 "REJECT",
23963 "DROP"
23964 ],
23965 "optional" : 1,
23966 "type" : "string"
23967 },
23968 "radv" : {
23969 "description" : "Allow sending Router Advertisement.",
23970 "optional" : 1,
23971 "type" : "boolean"
23972 }
23973 },
23974 "type" : "object"
7aacca6f
DM
23975 }
23976 },
4d47f125 23977 "PUT" : {
e9cd3bd4 23978 "allowtoken" : 1,
4d47f125
TL
23979 "description" : "Set Firewall options.",
23980 "method" : "PUT",
23981 "name" : "set_options",
7aacca6f
DM
23982 "parameters" : {
23983 "additionalProperties" : 0,
23984 "properties" : {
4d47f125
TL
23985 "delete" : {
23986 "description" : "A list of settings you want to delete.",
23987 "format" : "pve-configid-list",
7aacca6f 23988 "optional" : 1,
013dc89f
DM
23989 "type" : "string",
23990 "typetext" : "<string>"
7aacca6f 23991 },
4d47f125 23992 "dhcp" : {
5c1699e5 23993 "default" : 0,
4d47f125
TL
23994 "description" : "Enable DHCP.",
23995 "optional" : 1,
23996 "type" : "boolean",
23997 "typetext" : "<boolean>"
7aacca6f 23998 },
4d47f125
TL
23999 "digest" : {
24000 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24001 "maxLength" : 40,
24002 "optional" : 1,
013dc89f
DM
24003 "type" : "string",
24004 "typetext" : "<string>"
7aacca6f 24005 },
4d47f125 24006 "enable" : {
5c1699e5 24007 "default" : 0,
4d47f125
TL
24008 "description" : "Enable/disable firewall rules.",
24009 "optional" : 1,
24010 "type" : "boolean",
24011 "typetext" : "<boolean>"
24012 },
24013 "ipfilter" : {
24014 "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.",
24015 "optional" : 1,
24016 "type" : "boolean",
24017 "typetext" : "<boolean>"
56122987 24018 },
4d47f125
TL
24019 "log_level_in" : {
24020 "description" : "Log level for incoming traffic.",
24021 "enum" : [
24022 "emerg",
24023 "alert",
24024 "crit",
24025 "err",
24026 "warning",
24027 "notice",
24028 "info",
24029 "debug",
24030 "nolog"
24031 ],
24032 "optional" : 1,
24033 "type" : "string"
44660702 24034 },
4d47f125
TL
24035 "log_level_out" : {
24036 "description" : "Log level for outgoing traffic.",
24037 "enum" : [
24038 "emerg",
24039 "alert",
24040 "crit",
24041 "err",
24042 "warning",
24043 "notice",
24044 "info",
24045 "debug",
24046 "nolog"
24047 ],
24048 "optional" : 1,
24049 "type" : "string"
44660702 24050 },
4d47f125 24051 "macfilter" : {
5c1699e5 24052 "default" : 0,
4d47f125
TL
24053 "description" : "Enable/disable MAC address filter.",
24054 "optional" : 1,
24055 "type" : "boolean",
24056 "typetext" : "<boolean>"
7aacca6f 24057 },
4d47f125 24058 "ndp" : {
5c1699e5
TL
24059 "default" : 0,
24060 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
24061 "optional" : 1,
24062 "type" : "boolean",
24063 "typetext" : "<boolean>"
7aacca6f 24064 },
4d47f125
TL
24065 "node" : {
24066 "description" : "The cluster node name.",
24067 "format" : "pve-node",
24068 "type" : "string",
24069 "typetext" : "<string>"
24070 },
24071 "policy_in" : {
24072 "description" : "Input policy.",
24073 "enum" : [
24074 "ACCEPT",
24075 "REJECT",
24076 "DROP"
44660702 24077 ],
4d47f125
TL
24078 "optional" : 1,
24079 "type" : "string"
24080 },
24081 "policy_out" : {
24082 "description" : "Output policy.",
24083 "enum" : [
24084 "ACCEPT",
24085 "REJECT",
24086 "DROP"
24087 ],
24088 "optional" : 1,
24089 "type" : "string"
24090 },
24091 "radv" : {
24092 "description" : "Allow sending Router Advertisement.",
24093 "optional" : 1,
24094 "type" : "boolean",
24095 "typetext" : "<boolean>"
24096 },
24097 "vmid" : {
24098 "description" : "The (unique) ID of the VM.",
24099 "format" : "pve-vmid",
24100 "minimum" : 1,
24101 "type" : "integer",
24102 "typetext" : "<integer> (1 - N)"
44660702 24103 }
4d47f125
TL
24104 }
24105 },
24106 "permissions" : {
24107 "check" : [
24108 "perm",
24109 "/vms/{vmid}",
24110 [
24111 "VM.Config.Network"
24112 ]
24113 ]
24114 },
24115 "protected" : 1,
24116 "proxyto" : "node",
24117 "returns" : {
24118 "type" : "null"
24119 }
24120 }
24121 },
24122 "leaf" : 1,
24123 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
24124 "text" : "options"
24125 },
24126 {
24127 "info" : {
24128 "GET" : {
e9cd3bd4 24129 "allowtoken" : 1,
4d47f125
TL
24130 "description" : "Read firewall log",
24131 "method" : "GET",
24132 "name" : "log",
24133 "parameters" : {
24134 "additionalProperties" : 0,
24135 "properties" : {
24136 "limit" : {
24137 "minimum" : 0,
24138 "optional" : 1,
24139 "type" : "integer",
24140 "typetext" : "<integer> (0 - N)"
44660702 24141 },
4d47f125
TL
24142 "node" : {
24143 "description" : "The cluster node name.",
24144 "format" : "pve-node",
24145 "type" : "string",
24146 "typetext" : "<string>"
44660702 24147 },
4d47f125
TL
24148 "start" : {
24149 "minimum" : 0,
24150 "optional" : 1,
24151 "type" : "integer",
24152 "typetext" : "<integer> (0 - N)"
24153 },
24154 "vmid" : {
24155 "description" : "The (unique) ID of the VM.",
24156 "format" : "pve-vmid",
24157 "minimum" : 1,
24158 "type" : "integer",
24159 "typetext" : "<integer> (1 - N)"
44660702
DM
24160 }
24161 }
24162 },
4d47f125
TL
24163 "permissions" : {
24164 "check" : [
24165 "perm",
24166 "/vms/{vmid}",
24167 [
24168 "VM.Console"
24169 ]
24170 ]
24171 },
24172 "protected" : 1,
24173 "proxyto" : "node",
24174 "returns" : {
24175 "items" : {
24176 "properties" : {
24177 "n" : {
24178 "description" : "Line number",
24179 "type" : "integer"
24180 },
24181 "t" : {
24182 "description" : "Line text",
24183 "type" : "string"
24184 }
24185 },
24186 "type" : "object"
24187 },
24188 "type" : "array"
24189 }
44660702 24190 }
4d47f125
TL
24191 },
24192 "leaf" : 1,
24193 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
24194 "text" : "log"
24195 },
24196 {
44660702
DM
24197 "info" : {
24198 "GET" : {
e9cd3bd4 24199 "allowtoken" : 1,
4d47f125 24200 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 24201 "method" : "GET",
4d47f125 24202 "name" : "refs",
44660702
DM
24203 "parameters" : {
24204 "additionalProperties" : 0,
24205 "properties" : {
24206 "node" : {
24207 "description" : "The cluster node name.",
24208 "format" : "pve-node",
013dc89f
DM
24209 "type" : "string",
24210 "typetext" : "<string>"
44660702 24211 },
4d47f125
TL
24212 "type" : {
24213 "description" : "Only list references of specified type.",
24214 "enum" : [
24215 "alias",
24216 "ipset"
24217 ],
24218 "optional" : 1,
24219 "type" : "string"
24220 },
44660702
DM
24221 "vmid" : {
24222 "description" : "The (unique) ID of the VM.",
24223 "format" : "pve-vmid",
24224 "minimum" : 1,
4bd7df8b 24225 "type" : "integer",
013dc89f 24226 "typetext" : "<integer> (1 - N)"
44660702
DM
24227 }
24228 }
24229 },
4d47f125
TL
24230 "permissions" : {
24231 "check" : [
24232 "perm",
24233 "/vms/{vmid}",
24234 [
24235 "VM.Audit"
24236 ]
24237 ]
24238 },
24239 "returns" : {
24240 "items" : {
24241 "properties" : {
24242 "comment" : {
24243 "optional" : 1,
24244 "type" : "string"
24245 },
24246 "name" : {
24247 "type" : "string"
24248 },
24249 "type" : {
24250 "enum" : [
24251 "alias",
24252 "ipset"
24253 ],
24254 "type" : "string"
24255 }
24256 },
24257 "type" : "object"
24258 },
24259 "type" : "array"
24260 }
24261 }
24262 },
24263 "leaf" : 1,
24264 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
24265 "text" : "refs"
24266 }
24267 ],
24268 "info" : {
24269 "GET" : {
e9cd3bd4 24270 "allowtoken" : 1,
4d47f125
TL
24271 "description" : "Directory index.",
24272 "method" : "GET",
24273 "name" : "index",
24274 "parameters" : {
24275 "additionalProperties" : 0,
24276 "properties" : {
24277 "node" : {
24278 "description" : "The cluster node name.",
24279 "format" : "pve-node",
24280 "type" : "string",
24281 "typetext" : "<string>"
24282 },
24283 "vmid" : {
24284 "description" : "The (unique) ID of the VM.",
24285 "format" : "pve-vmid",
24286 "minimum" : 1,
24287 "type" : "integer",
24288 "typetext" : "<integer> (1 - N)"
24289 }
24290 }
24291 },
24292 "permissions" : {
24293 "user" : "all"
24294 },
24295 "returns" : {
24296 "items" : {
24297 "properties" : {},
24298 "type" : "object"
24299 },
24300 "links" : [
24301 {
24302 "href" : "{name}",
24303 "rel" : "child"
24304 }
24305 ],
24306 "type" : "array"
24307 }
24308 }
24309 },
24310 "leaf" : 0,
24311 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
24312 "text" : "firewall"
24313 },
24314 {
24315 "info" : {
24316 "GET" : {
e9cd3bd4 24317 "allowtoken" : 1,
4d47f125
TL
24318 "description" : "Read VM RRD statistics (returns PNG)",
24319 "method" : "GET",
24320 "name" : "rrd",
24321 "parameters" : {
24322 "additionalProperties" : 0,
24323 "properties" : {
24324 "cf" : {
24325 "description" : "The RRD consolidation function",
24326 "enum" : [
24327 "AVERAGE",
24328 "MAX"
24329 ],
24330 "optional" : 1,
24331 "type" : "string"
24332 },
24333 "ds" : {
24334 "description" : "The list of datasources you want to display.",
24335 "format" : "pve-configid-list",
24336 "type" : "string",
24337 "typetext" : "<string>"
24338 },
24339 "node" : {
24340 "description" : "The cluster node name.",
24341 "format" : "pve-node",
24342 "type" : "string",
24343 "typetext" : "<string>"
24344 },
24345 "timeframe" : {
24346 "description" : "Specify the time frame you are interested in.",
24347 "enum" : [
24348 "hour",
24349 "day",
24350 "week",
24351 "month",
24352 "year"
24353 ],
24354 "type" : "string"
24355 },
24356 "vmid" : {
24357 "description" : "The (unique) ID of the VM.",
24358 "format" : "pve-vmid",
24359 "minimum" : 1,
24360 "type" : "integer",
24361 "typetext" : "<integer> (1 - N)"
24362 }
24363 }
24364 },
24365 "permissions" : {
24366 "check" : [
24367 "perm",
24368 "/vms/{vmid}",
24369 [
24370 "VM.Audit"
24371 ]
24372 ]
24373 },
24374 "protected" : 1,
24375 "returns" : {
24376 "properties" : {
24377 "filename" : {
24378 "type" : "string"
24379 }
24380 },
24381 "type" : "object"
24382 }
24383 }
24384 },
24385 "leaf" : 1,
24386 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
24387 "text" : "rrd"
24388 },
24389 {
24390 "info" : {
24391 "GET" : {
e9cd3bd4 24392 "allowtoken" : 1,
4d47f125
TL
24393 "description" : "Read VM RRD statistics",
24394 "method" : "GET",
24395 "name" : "rrddata",
24396 "parameters" : {
24397 "additionalProperties" : 0,
24398 "properties" : {
24399 "cf" : {
24400 "description" : "The RRD consolidation function",
24401 "enum" : [
24402 "AVERAGE",
24403 "MAX"
24404 ],
24405 "optional" : 1,
24406 "type" : "string"
24407 },
24408 "node" : {
24409 "description" : "The cluster node name.",
24410 "format" : "pve-node",
24411 "type" : "string",
24412 "typetext" : "<string>"
44660702 24413 },
4d47f125
TL
24414 "timeframe" : {
24415 "description" : "Specify the time frame you are interested in.",
24416 "enum" : [
24417 "hour",
24418 "day",
24419 "week",
24420 "month",
24421 "year"
44660702 24422 ],
4d47f125
TL
24423 "type" : "string"
24424 },
24425 "vmid" : {
24426 "description" : "The (unique) ID of the VM.",
24427 "format" : "pve-vmid",
24428 "minimum" : 1,
24429 "type" : "integer",
24430 "typetext" : "<integer> (1 - N)"
44660702 24431 }
4d47f125
TL
24432 }
24433 },
24434 "permissions" : {
24435 "check" : [
24436 "perm",
24437 "/vms/{vmid}",
24438 [
24439 "VM.Audit"
24440 ]
24441 ]
24442 },
24443 "protected" : 1,
24444 "returns" : {
24445 "items" : {
24446 "properties" : {},
24447 "type" : "object"
44660702 24448 },
4d47f125
TL
24449 "type" : "array"
24450 }
24451 }
24452 },
24453 "leaf" : 1,
24454 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
24455 "text" : "rrddata"
24456 },
24457 {
24458 "info" : {
24459 "POST" : {
e9cd3bd4 24460 "allowtoken" : 1,
4d47f125
TL
24461 "description" : "Creates a TCP VNC proxy connections.",
24462 "method" : "POST",
24463 "name" : "vncproxy",
24464 "parameters" : {
24465 "additionalProperties" : 0,
24466 "properties" : {
24467 "height" : {
24468 "description" : "sets the height of the console in pixels.",
24469 "maximum" : 2160,
24470 "minimum" : 16,
24471 "optional" : 1,
24472 "type" : "integer",
24473 "typetext" : "<integer> (16 - 2160)"
44660702 24474 },
4d47f125
TL
24475 "node" : {
24476 "description" : "The cluster node name.",
24477 "format" : "pve-node",
24478 "type" : "string",
24479 "typetext" : "<string>"
44660702 24480 },
4d47f125
TL
24481 "vmid" : {
24482 "description" : "The (unique) ID of the VM.",
24483 "format" : "pve-vmid",
24484 "minimum" : 1,
24485 "type" : "integer",
24486 "typetext" : "<integer> (1 - N)"
24487 },
24488 "websocket" : {
24489 "description" : "use websocket instead of standard VNC.",
24490 "optional" : 1,
24491 "type" : "boolean",
24492 "typetext" : "<boolean>"
24493 },
24494 "width" : {
24495 "description" : "sets the width of the console in pixels.",
24496 "maximum" : 4096,
24497 "minimum" : 16,
24498 "optional" : 1,
24499 "type" : "integer",
24500 "typetext" : "<integer> (16 - 4096)"
56122987
DM
24501 }
24502 }
44660702 24503 },
4d47f125
TL
24504 "permissions" : {
24505 "check" : [
24506 "perm",
24507 "/vms/{vmid}",
24508 [
24509 "VM.Console"
24510 ]
24511 ]
24512 },
24513 "protected" : 1,
24514 "returns" : {
24515 "additionalProperties" : 0,
24516 "properties" : {
24517 "cert" : {
24518 "type" : "string"
44660702 24519 },
4d47f125
TL
24520 "port" : {
24521 "type" : "integer"
24522 },
24523 "ticket" : {
24524 "type" : "string"
24525 },
24526 "upid" : {
24527 "type" : "string"
24528 },
24529 "user" : {
24530 "type" : "string"
24531 }
24532 }
24533 }
24534 }
24535 },
24536 "leaf" : 1,
24537 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
24538 "text" : "vncproxy"
24539 },
24540 {
24541 "info" : {
24542 "POST" : {
e9cd3bd4 24543 "allowtoken" : 1,
4d47f125
TL
24544 "description" : "Creates a TCP proxy connection.",
24545 "method" : "POST",
24546 "name" : "termproxy",
24547 "parameters" : {
24548 "additionalProperties" : 0,
24549 "properties" : {
24550 "node" : {
24551 "description" : "The cluster node name.",
24552 "format" : "pve-node",
24553 "type" : "string",
24554 "typetext" : "<string>"
44660702 24555 },
4d47f125
TL
24556 "vmid" : {
24557 "description" : "The (unique) ID of the VM.",
24558 "format" : "pve-vmid",
24559 "minimum" : 1,
24560 "type" : "integer",
24561 "typetext" : "<integer> (1 - N)"
44660702 24562 }
4d47f125
TL
24563 }
24564 },
24565 "permissions" : {
24566 "check" : [
24567 "perm",
24568 "/vms/{vmid}",
24569 [
24570 "VM.Console"
24571 ]
24572 ]
24573 },
24574 "protected" : 1,
24575 "returns" : {
24576 "additionalProperties" : 0,
24577 "properties" : {
24578 "port" : {
24579 "type" : "integer"
56122987 24580 },
4d47f125
TL
24581 "ticket" : {
24582 "type" : "string"
7aacca6f 24583 },
4d47f125
TL
24584 "upid" : {
24585 "type" : "string"
24586 },
24587 "user" : {
24588 "type" : "string"
24589 }
24590 }
24591 }
24592 }
24593 },
24594 "leaf" : 1,
24595 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
24596 "text" : "termproxy"
24597 },
24598 {
24599 "info" : {
24600 "GET" : {
e9cd3bd4 24601 "allowtoken" : 1,
4d47f125
TL
24602 "description" : "Opens a weksocket for VNC traffic.",
24603 "method" : "GET",
24604 "name" : "vncwebsocket",
24605 "parameters" : {
24606 "additionalProperties" : 0,
24607 "properties" : {
24608 "node" : {
24609 "description" : "The cluster node name.",
24610 "format" : "pve-node",
24611 "type" : "string",
24612 "typetext" : "<string>"
24613 },
24614 "port" : {
24615 "description" : "Port number returned by previous vncproxy call.",
24616 "maximum" : 5999,
24617 "minimum" : 5900,
24618 "type" : "integer",
24619 "typetext" : "<integer> (5900 - 5999)"
24620 },
24621 "vmid" : {
24622 "description" : "The (unique) ID of the VM.",
24623 "format" : "pve-vmid",
24624 "minimum" : 1,
24625 "type" : "integer",
24626 "typetext" : "<integer> (1 - N)"
24627 },
24628 "vncticket" : {
24629 "description" : "Ticket from previous call to vncproxy.",
24630 "maxLength" : 512,
24631 "type" : "string",
24632 "typetext" : "<string>"
56122987
DM
24633 }
24634 }
24635 },
4d47f125
TL
24636 "permissions" : {
24637 "check" : [
24638 "perm",
24639 "/vms/{vmid}",
24640 [
24641 "VM.Console"
24642 ]
24643 ],
24644 "description" : "You also need to pass a valid ticket (vncticket)."
24645 },
24646 "returns" : {
24647 "properties" : {
24648 "port" : {
24649 "type" : "string"
24650 }
24651 },
24652 "type" : "object"
24653 }
24654 }
24655 },
24656 "leaf" : 1,
24657 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
24658 "text" : "vncwebsocket"
24659 },
24660 {
24661 "info" : {
24662 "POST" : {
e9cd3bd4 24663 "allowtoken" : 1,
4d47f125
TL
24664 "description" : "Returns a SPICE configuration to connect to the CT.",
24665 "method" : "POST",
24666 "name" : "spiceproxy",
24667 "parameters" : {
24668 "additionalProperties" : 0,
24669 "properties" : {
24670 "node" : {
24671 "description" : "The cluster node name.",
24672 "format" : "pve-node",
24673 "type" : "string",
24674 "typetext" : "<string>"
56122987 24675 },
4d47f125
TL
24676 "proxy" : {
24677 "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).",
24678 "format" : "address",
24679 "optional" : 1,
24680 "type" : "string",
24681 "typetext" : "<string>"
44660702 24682 },
4d47f125
TL
24683 "vmid" : {
24684 "description" : "The (unique) ID of the VM.",
24685 "format" : "pve-vmid",
24686 "minimum" : 1,
24687 "type" : "integer",
24688 "typetext" : "<integer> (1 - N)"
44660702 24689 }
56122987
DM
24690 }
24691 },
4d47f125
TL
24692 "permissions" : {
24693 "check" : [
24694 "perm",
24695 "/vms/{vmid}",
24696 [
24697 "VM.Console"
24698 ]
24699 ]
24700 },
24701 "protected" : 1,
24702 "proxyto" : "node",
24703 "returns" : {
24704 "additionalProperties" : 1,
24705 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
24706 "properties" : {
24707 "host" : {
24708 "type" : "string"
24709 },
24710 "password" : {
24711 "type" : "string"
24712 },
24713 "proxy" : {
24714 "type" : "string"
24715 },
24716 "tls-port" : {
24717 "type" : "integer"
24718 },
24719 "type" : {
24720 "type" : "string"
24721 }
24722 }
24723 }
24724 }
24725 },
24726 "leaf" : 1,
24727 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
24728 "text" : "spiceproxy"
24729 },
24730 {
24731 "info" : {
24732 "POST" : {
e9cd3bd4 24733 "allowtoken" : 1,
4d47f125
TL
24734 "description" : "Migrate the container to another node. Creates a new migration task.",
24735 "method" : "POST",
24736 "name" : "migrate_vm",
24737 "parameters" : {
24738 "additionalProperties" : 0,
24739 "properties" : {
95895385
TL
24740 "bwlimit" : {
24741 "default" : "migrate limit from datacenter or storage config",
24742 "description" : "Override I/O bandwidth limit (in KiB/s).",
24743 "minimum" : "0",
24744 "optional" : 1,
24745 "type" : "number",
24746 "typetext" : "<number> (0 - N)"
24747 },
4d47f125
TL
24748 "force" : {
24749 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
24750 "optional" : 1,
24751 "type" : "boolean",
24752 "typetext" : "<boolean>"
56122987 24753 },
4d47f125
TL
24754 "node" : {
24755 "description" : "The cluster node name.",
24756 "format" : "pve-node",
24757 "type" : "string",
24758 "typetext" : "<string>"
44660702 24759 },
4d47f125
TL
24760 "online" : {
24761 "description" : "Use online/live migration.",
24762 "optional" : 1,
24763 "type" : "boolean",
24764 "typetext" : "<boolean>"
24765 },
24766 "restart" : {
24767 "description" : "Use restart migration",
24768 "optional" : 1,
24769 "type" : "boolean",
24770 "typetext" : "<boolean>"
24771 },
24772 "target" : {
24773 "description" : "Target node.",
24774 "format" : "pve-node",
24775 "type" : "string",
24776 "typetext" : "<string>"
24777 },
24778 "timeout" : {
24779 "default" : 180,
24780 "description" : "Timeout in seconds for shutdown for restart migration",
24781 "optional" : 1,
24782 "type" : "integer",
24783 "typetext" : "<integer>"
24784 },
24785 "vmid" : {
24786 "description" : "The (unique) ID of the VM.",
24787 "format" : "pve-vmid",
24788 "minimum" : 1,
24789 "type" : "integer",
24790 "typetext" : "<integer> (1 - N)"
56122987
DM
24791 }
24792 }
24793 },
4d47f125
TL
24794 "permissions" : {
24795 "check" : [
24796 "perm",
24797 "/vms/{vmid}",
24798 [
24799 "VM.Migrate"
24800 ]
24801 ]
24802 },
24803 "protected" : 1,
24804 "proxyto" : "node",
24805 "returns" : {
24806 "description" : "the task ID.",
24807 "type" : "string"
24808 }
56122987 24809 }
4d47f125
TL
24810 },
24811 "leaf" : 1,
24812 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
24813 "text" : "migrate"
24814 },
24815 {
56122987
DM
24816 "info" : {
24817 "GET" : {
e9cd3bd4 24818 "allowtoken" : 1,
4d47f125 24819 "description" : "Check if feature for virtual machine is available.",
44660702 24820 "method" : "GET",
4d47f125 24821 "name" : "vm_feature",
56122987 24822 "parameters" : {
44660702 24823 "additionalProperties" : 0,
56122987 24824 "properties" : {
4d47f125
TL
24825 "feature" : {
24826 "description" : "Feature to check.",
24827 "enum" : [
24828 "snapshot",
24829 "clone",
24830 "copy"
24831 ],
24832 "type" : "string"
24833 },
56122987 24834 "node" : {
44660702 24835 "description" : "The cluster node name.",
56122987 24836 "format" : "pve-node",
013dc89f
DM
24837 "type" : "string",
24838 "typetext" : "<string>"
44660702 24839 },
4d47f125
TL
24840 "snapname" : {
24841 "description" : "The name of the snapshot.",
24842 "format" : "pve-configid",
24843 "maxLength" : 40,
24844 "optional" : 1,
24845 "type" : "string",
24846 "typetext" : "<string>"
24847 },
44660702
DM
24848 "vmid" : {
24849 "description" : "The (unique) ID of the VM.",
24850 "format" : "pve-vmid",
24851 "minimum" : 1,
4bd7df8b 24852 "type" : "integer",
013dc89f 24853 "typetext" : "<integer> (1 - N)"
56122987 24854 }
44660702
DM
24855 }
24856 },
24857 "permissions" : {
4d47f125
TL
24858 "check" : [
24859 "perm",
24860 "/vms/{vmid}",
24861 [
24862 "VM.Audit"
24863 ]
24864 ]
56122987 24865 },
4d47f125
TL
24866 "protected" : 1,
24867 "proxyto" : "node",
56122987 24868 "returns" : {
4d47f125
TL
24869 "properties" : {
24870 "hasFeature" : {
24871 "type" : "boolean"
24872 }
7aacca6f 24873 },
4d47f125
TL
24874 "type" : "object"
24875 }
24876 }
24877 },
24878 "leaf" : 1,
24879 "path" : "/nodes/{node}/lxc/{vmid}/feature",
24880 "text" : "feature"
24881 },
24882 {
24883 "info" : {
24884 "POST" : {
e9cd3bd4 24885 "allowtoken" : 1,
4d47f125
TL
24886 "description" : "Create a Template.",
24887 "method" : "POST",
24888 "name" : "template",
24889 "parameters" : {
24890 "additionalProperties" : 0,
24891 "properties" : {
24892 "node" : {
24893 "description" : "The cluster node name.",
24894 "format" : "pve-node",
24895 "type" : "string",
24896 "typetext" : "<string>"
24897 },
24898 "vmid" : {
24899 "description" : "The (unique) ID of the VM.",
24900 "format" : "pve-vmid",
24901 "minimum" : 1,
24902 "type" : "integer",
24903 "typetext" : "<integer> (1 - N)"
56122987 24904 }
4d47f125
TL
24905 }
24906 },
24907 "permissions" : {
24908 "check" : [
24909 "perm",
24910 "/vms/{vmid}",
24911 [
24912 "VM.Allocate"
24913 ]
44660702 24914 ],
4d47f125
TL
24915 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
24916 },
24917 "protected" : 1,
24918 "proxyto" : "node",
24919 "returns" : {
24920 "type" : "null"
56122987
DM
24921 }
24922 }
24923 },
4d47f125
TL
24924 "leaf" : 1,
24925 "path" : "/nodes/{node}/lxc/{vmid}/template",
24926 "text" : "template"
56122987
DM
24927 },
24928 {
56122987 24929 "info" : {
4d47f125 24930 "POST" : {
e9cd3bd4 24931 "allowtoken" : 1,
4d47f125
TL
24932 "description" : "Create a container clone/copy",
24933 "method" : "POST",
24934 "name" : "clone_vm",
56122987 24935 "parameters" : {
7aacca6f 24936 "additionalProperties" : 0,
56122987 24937 "properties" : {
95895385
TL
24938 "bwlimit" : {
24939 "default" : "clone limit from datacenter or storage config",
24940 "description" : "Override I/O bandwidth limit (in KiB/s).",
24941 "minimum" : "0",
24942 "optional" : 1,
24943 "type" : "number",
24944 "typetext" : "<number> (0 - N)"
24945 },
4d47f125
TL
24946 "description" : {
24947 "description" : "Description for the new CT.",
44660702 24948 "optional" : 1,
4d47f125
TL
24949 "type" : "string",
24950 "typetext" : "<string>"
44660702 24951 },
4d47f125
TL
24952 "full" : {
24953 "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.",
24954 "optional" : 1,
24955 "type" : "boolean",
24956 "typetext" : "<boolean>"
24957 },
24958 "hostname" : {
24959 "description" : "Set a hostname for the new CT.",
24960 "format" : "dns-name",
24961 "optional" : 1,
013dc89f
DM
24962 "type" : "string",
24963 "typetext" : "<string>"
44660702 24964 },
4d47f125
TL
24965 "newid" : {
24966 "description" : "VMID for the clone.",
24967 "format" : "pve-vmid",
24968 "minimum" : 1,
24969 "type" : "integer",
24970 "typetext" : "<integer> (1 - N)"
24971 },
7aacca6f
DM
24972 "node" : {
24973 "description" : "The cluster node name.",
44660702 24974 "format" : "pve-node",
013dc89f
DM
24975 "type" : "string",
24976 "typetext" : "<string>"
56122987 24977 },
4d47f125
TL
24978 "pool" : {
24979 "description" : "Add the new CT to the specified pool.",
24980 "format" : "pve-poolid",
24981 "optional" : 1,
24982 "type" : "string",
24983 "typetext" : "<string>"
24984 },
24985 "snapname" : {
24986 "description" : "The name of the snapshot.",
24987 "format" : "pve-configid",
24988 "maxLength" : 40,
24989 "optional" : 1,
24990 "type" : "string",
24991 "typetext" : "<string>"
24992 },
24993 "storage" : {
24994 "description" : "Target storage for full clone.",
24995 "format" : "pve-storage-id",
24996 "optional" : 1,
24997 "type" : "string",
24998 "typetext" : "<string>"
24999 },
25000 "target" : {
25001 "description" : "Target node. Only allowed if the original VM is on shared storage.",
25002 "format" : "pve-node",
25003 "optional" : 1,
25004 "type" : "string",
25005 "typetext" : "<string>"
25006 },
7aacca6f 25007 "vmid" : {
44660702 25008 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25009 "format" : "pve-vmid",
25010 "minimum" : 1,
4bd7df8b 25011 "type" : "integer",
013dc89f 25012 "typetext" : "<integer> (1 - N)"
56122987 25013 }
7aacca6f
DM
25014 }
25015 },
25016 "permissions" : {
25017 "check" : [
4d47f125 25018 "and",
7aacca6f 25019 [
4d47f125
TL
25020 "perm",
25021 "/vms/{vmid}",
25022 [
25023 "VM.Clone"
25024 ]
25025 ],
25026 [
25027 "or",
25028 [
25029 "perm",
25030 "/vms/{newid}",
25031 [
25032 "VM.Allocate"
25033 ]
25034 ],
25035 [
25036 "perm",
25037 "/pool/{pool}",
25038 [
25039 "VM.Allocate"
25040 ],
25041 "require_param",
25042 "pool"
25043 ]
7aacca6f 25044 ]
4d47f125
TL
25045 ],
25046 "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 25047 },
44660702 25048 "protected" : 1,
4d47f125 25049 "proxyto" : "node",
7aacca6f 25050 "returns" : {
4d47f125 25051 "type" : "string"
7aacca6f 25052 }
56122987 25053 }
7aacca6f 25054 },
44660702 25055 "leaf" : 1,
4d47f125
TL
25056 "path" : "/nodes/{node}/lxc/{vmid}/clone",
25057 "text" : "clone"
56122987
DM
25058 },
25059 {
56122987 25060 "info" : {
4d47f125 25061 "PUT" : {
e9cd3bd4 25062 "allowtoken" : 1,
4d47f125
TL
25063 "description" : "Resize a container mount point.",
25064 "method" : "PUT",
25065 "name" : "resize_vm",
56122987 25066 "parameters" : {
7aacca6f 25067 "additionalProperties" : 0,
56122987 25068 "properties" : {
4d47f125
TL
25069 "digest" : {
25070 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25071 "maxLength" : 40,
25072 "optional" : 1,
25073 "type" : "string",
25074 "typetext" : "<string>"
25075 },
25076 "disk" : {
25077 "description" : "The disk you want to resize.",
44660702 25078 "enum" : [
4d47f125
TL
25079 "rootfs",
25080 "mp0",
25081 "mp1",
25082 "mp2",
25083 "mp3",
25084 "mp4",
25085 "mp5",
25086 "mp6",
25087 "mp7",
25088 "mp8",
25089 "mp9",
25090 "mp10",
25091 "mp11",
25092 "mp12",
25093 "mp13",
25094 "mp14",
25095 "mp15",
25096 "mp16",
25097 "mp17",
25098 "mp18",
25099 "mp19",
25100 "mp20",
25101 "mp21",
25102 "mp22",
25103 "mp23",
25104 "mp24",
25105 "mp25",
25106 "mp26",
25107 "mp27",
25108 "mp28",
25109 "mp29",
25110 "mp30",
25111 "mp31",
25112 "mp32",
25113 "mp33",
25114 "mp34",
25115 "mp35",
25116 "mp36",
25117 "mp37",
25118 "mp38",
25119 "mp39",
25120 "mp40",
25121 "mp41",
25122 "mp42",
25123 "mp43",
25124 "mp44",
25125 "mp45",
25126 "mp46",
25127 "mp47",
25128 "mp48",
25129 "mp49",
25130 "mp50",
25131 "mp51",
25132 "mp52",
25133 "mp53",
25134 "mp54",
25135 "mp55",
25136 "mp56",
25137 "mp57",
25138 "mp58",
25139 "mp59",
25140 "mp60",
25141 "mp61",
25142 "mp62",
25143 "mp63",
25144 "mp64",
25145 "mp65",
25146 "mp66",
25147 "mp67",
25148 "mp68",
25149 "mp69",
25150 "mp70",
25151 "mp71",
25152 "mp72",
25153 "mp73",
25154 "mp74",
25155 "mp75",
25156 "mp76",
25157 "mp77",
25158 "mp78",
25159 "mp79",
25160 "mp80",
25161 "mp81",
25162 "mp82",
25163 "mp83",
25164 "mp84",
25165 "mp85",
25166 "mp86",
25167 "mp87",
25168 "mp88",
25169 "mp89",
25170 "mp90",
25171 "mp91",
25172 "mp92",
25173 "mp93",
25174 "mp94",
25175 "mp95",
25176 "mp96",
25177 "mp97",
25178 "mp98",
25179 "mp99",
25180 "mp100",
25181 "mp101",
25182 "mp102",
25183 "mp103",
25184 "mp104",
25185 "mp105",
25186 "mp106",
25187 "mp107",
25188 "mp108",
25189 "mp109",
25190 "mp110",
25191 "mp111",
25192 "mp112",
25193 "mp113",
25194 "mp114",
25195 "mp115",
25196 "mp116",
25197 "mp117",
25198 "mp118",
25199 "mp119",
25200 "mp120",
25201 "mp121",
25202 "mp122",
25203 "mp123",
25204 "mp124",
25205 "mp125",
25206 "mp126",
25207 "mp127",
25208 "mp128",
25209 "mp129",
25210 "mp130",
25211 "mp131",
25212 "mp132",
25213 "mp133",
25214 "mp134",
25215 "mp135",
25216 "mp136",
25217 "mp137",
25218 "mp138",
25219 "mp139",
25220 "mp140",
25221 "mp141",
25222 "mp142",
25223 "mp143",
25224 "mp144",
25225 "mp145",
25226 "mp146",
25227 "mp147",
25228 "mp148",
25229 "mp149",
25230 "mp150",
25231 "mp151",
25232 "mp152",
25233 "mp153",
25234 "mp154",
25235 "mp155",
25236 "mp156",
25237 "mp157",
25238 "mp158",
25239 "mp159",
25240 "mp160",
25241 "mp161",
25242 "mp162",
25243 "mp163",
25244 "mp164",
25245 "mp165",
25246 "mp166",
25247 "mp167",
25248 "mp168",
25249 "mp169",
25250 "mp170",
25251 "mp171",
25252 "mp172",
25253 "mp173",
25254 "mp174",
25255 "mp175",
25256 "mp176",
25257 "mp177",
25258 "mp178",
25259 "mp179",
25260 "mp180",
25261 "mp181",
25262 "mp182",
25263 "mp183",
25264 "mp184",
25265 "mp185",
25266 "mp186",
25267 "mp187",
25268 "mp188",
25269 "mp189",
25270 "mp190",
25271 "mp191",
25272 "mp192",
25273 "mp193",
25274 "mp194",
25275 "mp195",
25276 "mp196",
25277 "mp197",
25278 "mp198",
25279 "mp199",
25280 "mp200",
25281 "mp201",
25282 "mp202",
25283 "mp203",
25284 "mp204",
25285 "mp205",
25286 "mp206",
25287 "mp207",
25288 "mp208",
25289 "mp209",
25290 "mp210",
25291 "mp211",
25292 "mp212",
25293 "mp213",
25294 "mp214",
25295 "mp215",
25296 "mp216",
25297 "mp217",
25298 "mp218",
25299 "mp219",
25300 "mp220",
25301 "mp221",
25302 "mp222",
25303 "mp223",
25304 "mp224",
25305 "mp225",
25306 "mp226",
25307 "mp227",
25308 "mp228",
25309 "mp229",
25310 "mp230",
25311 "mp231",
25312 "mp232",
25313 "mp233",
25314 "mp234",
25315 "mp235",
25316 "mp236",
25317 "mp237",
25318 "mp238",
25319 "mp239",
25320 "mp240",
25321 "mp241",
25322 "mp242",
25323 "mp243",
25324 "mp244",
25325 "mp245",
25326 "mp246",
25327 "mp247",
25328 "mp248",
25329 "mp249",
25330 "mp250",
25331 "mp251",
25332 "mp252",
25333 "mp253",
25334 "mp254",
25335 "mp255"
44660702 25336 ],
44660702
DM
25337 "type" : "string"
25338 },
7aacca6f 25339 "node" : {
44660702 25340 "description" : "The cluster node name.",
7aacca6f 25341 "format" : "pve-node",
013dc89f
DM
25342 "type" : "string",
25343 "typetext" : "<string>"
7aacca6f 25344 },
4d47f125
TL
25345 "size" : {
25346 "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.",
25347 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 25348 "type" : "string"
7aacca6f
DM
25349 },
25350 "vmid" : {
25351 "description" : "The (unique) ID of the VM.",
44660702 25352 "format" : "pve-vmid",
7aacca6f 25353 "minimum" : 1,
4bd7df8b 25354 "type" : "integer",
013dc89f 25355 "typetext" : "<integer> (1 - N)"
56122987 25356 }
56122987
DM
25357 }
25358 },
56122987
DM
25359 "permissions" : {
25360 "check" : [
25361 "perm",
25362 "/vms/{vmid}",
25363 [
4d47f125
TL
25364 "VM.Config.Disk"
25365 ],
25366 "any",
25367 1
56122987
DM
25368 ]
25369 },
7aacca6f 25370 "protected" : 1,
4d47f125 25371 "proxyto" : "node",
7aacca6f 25372 "returns" : {
4d47f125
TL
25373 "description" : "the task ID.",
25374 "type" : "string"
44660702 25375 }
56122987
DM
25376 }
25377 },
44660702 25378 "leaf" : 1,
4d47f125
TL
25379 "path" : "/nodes/{node}/lxc/{vmid}/resize",
25380 "text" : "resize"
56122987
DM
25381 },
25382 {
25383 "info" : {
25384 "POST" : {
e9cd3bd4 25385 "allowtoken" : 1,
4d47f125 25386 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 25387 "method" : "POST",
4d47f125 25388 "name" : "move_volume",
7aacca6f 25389 "parameters" : {
44660702 25390 "additionalProperties" : 0,
7aacca6f 25391 "properties" : {
95895385
TL
25392 "bwlimit" : {
25393 "default" : "clone limit from datacenter or storage config",
25394 "description" : "Override I/O bandwidth limit (in KiB/s).",
25395 "minimum" : "0",
25396 "optional" : 1,
25397 "type" : "number",
25398 "typetext" : "<number> (0 - N)"
25399 },
4d47f125
TL
25400 "delete" : {
25401 "default" : 0,
25402 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 25403 "optional" : 1,
4d47f125
TL
25404 "type" : "boolean",
25405 "typetext" : "<boolean>"
25406 },
25407 "digest" : {
25408 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25409 "maxLength" : 40,
25410 "optional" : 1,
25411 "type" : "string",
25412 "typetext" : "<string>"
5d9c884c 25413 },
44660702
DM
25414 "node" : {
25415 "description" : "The cluster node name.",
25416 "format" : "pve-node",
013dc89f
DM
25417 "type" : "string",
25418 "typetext" : "<string>"
44660702 25419 },
4d47f125
TL
25420 "storage" : {
25421 "description" : "Target Storage.",
25422 "format" : "pve-storage-id",
25423 "type" : "string",
25424 "typetext" : "<string>"
25425 },
7aacca6f 25426 "vmid" : {
44660702 25427 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25428 "format" : "pve-vmid",
25429 "minimum" : 1,
4bd7df8b 25430 "type" : "integer",
013dc89f 25431 "typetext" : "<integer> (1 - N)"
7aacca6f 25432 },
4d47f125
TL
25433 "volume" : {
25434 "description" : "Volume which will be moved.",
25435 "enum" : [
25436 "rootfs",
25437 "mp0",
25438 "mp1",
25439 "mp2",
25440 "mp3",
25441 "mp4",
25442 "mp5",
25443 "mp6",
25444 "mp7",
25445 "mp8",
25446 "mp9",
25447 "mp10",
25448 "mp11",
25449 "mp12",
25450 "mp13",
25451 "mp14",
25452 "mp15",
25453 "mp16",
25454 "mp17",
25455 "mp18",
25456 "mp19",
25457 "mp20",
25458 "mp21",
25459 "mp22",
25460 "mp23",
25461 "mp24",
25462 "mp25",
25463 "mp26",
25464 "mp27",
25465 "mp28",
25466 "mp29",
25467 "mp30",
25468 "mp31",
25469 "mp32",
25470 "mp33",
25471 "mp34",
25472 "mp35",
25473 "mp36",
25474 "mp37",
25475 "mp38",
25476 "mp39",
25477 "mp40",
25478 "mp41",
25479 "mp42",
25480 "mp43",
25481 "mp44",
25482 "mp45",
25483 "mp46",
25484 "mp47",
25485 "mp48",
25486 "mp49",
25487 "mp50",
25488 "mp51",
25489 "mp52",
25490 "mp53",
25491 "mp54",
25492 "mp55",
25493 "mp56",
25494 "mp57",
25495 "mp58",
25496 "mp59",
25497 "mp60",
25498 "mp61",
25499 "mp62",
25500 "mp63",
25501 "mp64",
25502 "mp65",
25503 "mp66",
25504 "mp67",
25505 "mp68",
25506 "mp69",
25507 "mp70",
25508 "mp71",
25509 "mp72",
25510 "mp73",
25511 "mp74",
25512 "mp75",
25513 "mp76",
25514 "mp77",
25515 "mp78",
25516 "mp79",
25517 "mp80",
25518 "mp81",
25519 "mp82",
25520 "mp83",
25521 "mp84",
25522 "mp85",
25523 "mp86",
25524 "mp87",
25525 "mp88",
25526 "mp89",
25527 "mp90",
25528 "mp91",
25529 "mp92",
25530 "mp93",
25531 "mp94",
25532 "mp95",
25533 "mp96",
25534 "mp97",
25535 "mp98",
25536 "mp99",
25537 "mp100",
25538 "mp101",
25539 "mp102",
25540 "mp103",
25541 "mp104",
25542 "mp105",
25543 "mp106",
25544 "mp107",
25545 "mp108",
25546 "mp109",
25547 "mp110",
25548 "mp111",
25549 "mp112",
25550 "mp113",
25551 "mp114",
25552 "mp115",
25553 "mp116",
25554 "mp117",
25555 "mp118",
25556 "mp119",
25557 "mp120",
25558 "mp121",
25559 "mp122",
25560 "mp123",
25561 "mp124",
25562 "mp125",
25563 "mp126",
25564 "mp127",
25565 "mp128",
25566 "mp129",
25567 "mp130",
25568 "mp131",
25569 "mp132",
25570 "mp133",
25571 "mp134",
25572 "mp135",
25573 "mp136",
25574 "mp137",
25575 "mp138",
25576 "mp139",
25577 "mp140",
25578 "mp141",
25579 "mp142",
25580 "mp143",
25581 "mp144",
25582 "mp145",
25583 "mp146",
25584 "mp147",
25585 "mp148",
25586 "mp149",
25587 "mp150",
25588 "mp151",
25589 "mp152",
25590 "mp153",
25591 "mp154",
25592 "mp155",
25593 "mp156",
25594 "mp157",
25595 "mp158",
25596 "mp159",
25597 "mp160",
25598 "mp161",
25599 "mp162",
25600 "mp163",
25601 "mp164",
25602 "mp165",
25603 "mp166",
25604 "mp167",
25605 "mp168",
25606 "mp169",
25607 "mp170",
25608 "mp171",
25609 "mp172",
25610 "mp173",
25611 "mp174",
25612 "mp175",
25613 "mp176",
25614 "mp177",
25615 "mp178",
25616 "mp179",
25617 "mp180",
25618 "mp181",
25619 "mp182",
25620 "mp183",
25621 "mp184",
25622 "mp185",
25623 "mp186",
25624 "mp187",
25625 "mp188",
25626 "mp189",
25627 "mp190",
25628 "mp191",
25629 "mp192",
25630 "mp193",
25631 "mp194",
25632 "mp195",
25633 "mp196",
25634 "mp197",
25635 "mp198",
25636 "mp199",
25637 "mp200",
25638 "mp201",
25639 "mp202",
25640 "mp203",
25641 "mp204",
25642 "mp205",
25643 "mp206",
25644 "mp207",
25645 "mp208",
25646 "mp209",
25647 "mp210",
25648 "mp211",
25649 "mp212",
25650 "mp213",
25651 "mp214",
25652 "mp215",
25653 "mp216",
25654 "mp217",
25655 "mp218",
25656 "mp219",
25657 "mp220",
25658 "mp221",
25659 "mp222",
25660 "mp223",
25661 "mp224",
25662 "mp225",
25663 "mp226",
25664 "mp227",
25665 "mp228",
25666 "mp229",
25667 "mp230",
25668 "mp231",
25669 "mp232",
25670 "mp233",
25671 "mp234",
25672 "mp235",
25673 "mp236",
25674 "mp237",
25675 "mp238",
25676 "mp239",
25677 "mp240",
25678 "mp241",
25679 "mp242",
25680 "mp243",
25681 "mp244",
25682 "mp245",
25683 "mp246",
25684 "mp247",
25685 "mp248",
25686 "mp249",
25687 "mp250",
25688 "mp251",
25689 "mp252",
25690 "mp253",
25691 "mp254",
25692 "mp255"
25693 ],
25694 "type" : "string"
7aacca6f 25695 }
44660702 25696 }
7aacca6f 25697 },
56122987
DM
25698 "permissions" : {
25699 "check" : [
4d47f125 25700 "and",
56122987 25701 [
4d47f125
TL
25702 "perm",
25703 "/vms/{vmid}",
25704 [
25705 "VM.Config.Disk"
25706 ]
25707 ],
25708 [
25709 "perm",
25710 "/storage/{storage}",
25711 [
25712 "Datastore.AllocateSpace"
25713 ]
56122987 25714 ]
4d47f125
TL
25715 ],
25716 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
25717 },
25718 "protected" : 1,
25719 "proxyto" : "node",
25720 "returns" : {
25721 "type" : "string"
25722 }
25723 }
25724 },
25725 "leaf" : 1,
25726 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
25727 "text" : "move_volume"
1c532546
TL
25728 },
25729 {
25730 "info" : {
25731 "GET" : {
e9cd3bd4 25732 "allowtoken" : 1,
1c532546
TL
25733 "description" : "Get container configuration, including pending changes.",
25734 "method" : "GET",
25735 "name" : "vm_pending",
25736 "parameters" : {
25737 "additionalProperties" : 0,
25738 "properties" : {
25739 "node" : {
25740 "description" : "The cluster node name.",
25741 "format" : "pve-node",
25742 "type" : "string",
25743 "typetext" : "<string>"
25744 },
25745 "vmid" : {
25746 "description" : "The (unique) ID of the VM.",
25747 "format" : "pve-vmid",
25748 "minimum" : 1,
25749 "type" : "integer",
25750 "typetext" : "<integer> (1 - N)"
25751 }
25752 }
25753 },
25754 "permissions" : {
25755 "check" : [
25756 "perm",
25757 "/vms/{vmid}",
25758 [
25759 "VM.Audit"
25760 ]
25761 ]
25762 },
25763 "proxyto" : "node",
25764 "returns" : {
25765 "items" : {
25766 "properties" : {
25767 "delete" : {
25768 "description" : "Indicates a pending delete request if present and not 0.",
25769 "maximum" : 2,
25770 "minimum" : 0,
25771 "optional" : 1,
25772 "type" : "integer"
25773 },
25774 "key" : {
25775 "description" : "Configuration option name.",
25776 "type" : "string"
25777 },
25778 "pending" : {
25779 "description" : "Pending value.",
25780 "optional" : 1,
25781 "type" : "string"
25782 },
25783 "value" : {
25784 "description" : "Current value.",
25785 "optional" : 1,
25786 "type" : "string"
25787 }
25788 },
25789 "type" : "object"
25790 },
25791 "type" : "array"
25792 }
25793 }
25794 },
25795 "leaf" : 1,
25796 "path" : "/nodes/{node}/lxc/{vmid}/pending",
25797 "text" : "pending"
4d47f125
TL
25798 }
25799 ],
25800 "info" : {
25801 "DELETE" : {
e9cd3bd4 25802 "allowtoken" : 1,
4d47f125
TL
25803 "description" : "Destroy the container (also delete all uses files).",
25804 "method" : "DELETE",
25805 "name" : "destroy_vm",
25806 "parameters" : {
25807 "additionalProperties" : 0,
25808 "properties" : {
25809 "node" : {
25810 "description" : "The cluster node name.",
25811 "format" : "pve-node",
25812 "type" : "string",
25813 "typetext" : "<string>"
25814 },
1c532546
TL
25815 "purge" : {
25816 "description" : "Remove vmid from backup cron jobs.",
25817 "optional" : 1,
25818 "type" : "boolean",
25819 "typetext" : "<boolean>"
25820 },
4d47f125
TL
25821 "vmid" : {
25822 "description" : "The (unique) ID of the VM.",
25823 "format" : "pve-vmid",
25824 "minimum" : 1,
25825 "type" : "integer",
25826 "typetext" : "<integer> (1 - N)"
25827 }
25828 }
25829 },
25830 "permissions" : {
25831 "check" : [
25832 "perm",
25833 "/vms/{vmid}",
25834 [
25835 "VM.Allocate"
25836 ]
25837 ]
25838 },
25839 "protected" : 1,
25840 "proxyto" : "node",
25841 "returns" : {
25842 "type" : "string"
25843 }
25844 },
25845 "GET" : {
e9cd3bd4 25846 "allowtoken" : 1,
4d47f125
TL
25847 "description" : "Directory index",
25848 "method" : "GET",
25849 "name" : "vmdiridx",
25850 "parameters" : {
25851 "additionalProperties" : 0,
25852 "properties" : {
25853 "node" : {
25854 "description" : "The cluster node name.",
25855 "format" : "pve-node",
25856 "type" : "string",
25857 "typetext" : "<string>"
56122987 25858 },
4d47f125
TL
25859 "vmid" : {
25860 "description" : "The (unique) ID of the VM.",
25861 "format" : "pve-vmid",
25862 "minimum" : 1,
25863 "type" : "integer",
25864 "typetext" : "<integer> (1 - N)"
56122987
DM
25865 }
25866 }
25867 },
4d47f125
TL
25868 "permissions" : {
25869 "user" : "all"
25870 },
25871 "proxyto" : "node",
25872 "returns" : {
25873 "items" : {
25874 "properties" : {
25875 "subdir" : {
25876 "type" : "string"
35a75dd3
DM
25877 }
25878 },
4d47f125
TL
25879 "type" : "object"
25880 },
25881 "links" : [
25882 {
25883 "href" : "{subdir}",
25884 "rel" : "child"
35a75dd3 25885 }
4d47f125
TL
25886 ],
25887 "type" : "array"
25888 }
25889 }
25890 },
25891 "leaf" : 0,
25892 "path" : "/nodes/{node}/lxc/{vmid}",
25893 "text" : "{vmid}"
25894 }
25895 ],
25896 "info" : {
25897 "GET" : {
e9cd3bd4 25898 "allowtoken" : 1,
4d47f125
TL
25899 "description" : "LXC container index (per node).",
25900 "method" : "GET",
25901 "name" : "vmlist",
25902 "parameters" : {
25903 "additionalProperties" : 0,
25904 "properties" : {
25905 "node" : {
25906 "description" : "The cluster node name.",
25907 "format" : "pve-node",
25908 "type" : "string",
25909 "typetext" : "<string>"
25910 }
25911 }
25912 },
25913 "permissions" : {
25914 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
25915 "user" : "all"
25916 },
25917 "protected" : 1,
25918 "proxyto" : "node",
25919 "returns" : {
25920 "items" : {
25921 "properties" : {
25922 "cpus" : {
25923 "description" : "Maximum usable CPUs.",
25924 "optional" : 1,
25925 "type" : "number"
25926 },
95895385
TL
25927 "lock" : {
25928 "description" : "The current config lock, if any.",
25929 "optional" : 1,
25930 "type" : "string"
25931 },
4d47f125
TL
25932 "maxdisk" : {
25933 "description" : "Root disk size in bytes.",
25934 "optional" : 1,
25935 "renderer" : "bytes",
25936 "type" : "integer"
25937 },
25938 "maxmem" : {
25939 "description" : "Maximum memory in bytes.",
25940 "optional" : 1,
25941 "renderer" : "bytes",
25942 "type" : "integer"
25943 },
25944 "maxswap" : {
25945 "description" : "Maximum SWAP memory in bytes.",
25946 "optional" : 1,
25947 "renderer" : "bytes",
25948 "type" : "integer"
25949 },
25950 "name" : {
25951 "description" : "Container name.",
25952 "optional" : 1,
25953 "type" : "string"
25954 },
25955 "status" : {
25956 "description" : "LXC Container status.",
25957 "enum" : [
25958 "stopped",
25959 "running"
25960 ],
25961 "type" : "string"
25962 },
5c1699e5
TL
25963 "tags" : {
25964 "description" : "The current configured tags, if any.",
25965 "optional" : 1,
25966 "type" : "string"
25967 },
4d47f125
TL
25968 "uptime" : {
25969 "description" : "Uptime.",
25970 "optional" : 1,
25971 "renderer" : "duration",
25972 "type" : "integer"
25973 },
25974 "vmid" : {
25975 "description" : "The (unique) ID of the VM.",
25976 "format" : "pve-vmid",
25977 "minimum" : 1,
25978 "type" : "integer"
35a75dd3
DM
25979 }
25980 },
4d47f125 25981 "type" : "object"
35a75dd3 25982 },
4d47f125
TL
25983 "links" : [
25984 {
25985 "href" : "{vmid}",
25986 "rel" : "child"
25987 }
25988 ],
25989 "type" : "array"
25990 }
25991 },
25992 "POST" : {
e9cd3bd4 25993 "allowtoken" : 1,
4d47f125
TL
25994 "description" : "Create or restore a container.",
25995 "method" : "POST",
25996 "name" : "create_vm",
25997 "parameters" : {
25998 "additionalProperties" : 0,
25999 "properties" : {
26000 "arch" : {
26001 "default" : "amd64",
26002 "description" : "OS architecture type.",
26003 "enum" : [
26004 "amd64",
26005 "i386",
26006 "arm64",
26007 "armhf"
26008 ],
26009 "optional" : 1,
26010 "type" : "string"
26011 },
26012 "bwlimit" : {
95895385
TL
26013 "default" : "restore limit from datacenter or storage config",
26014 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
26015 "minimum" : "0",
26016 "optional" : 1,
26017 "type" : "number",
26018 "typetext" : "<number> (0 - N)"
26019 },
26020 "cmode" : {
26021 "default" : "tty",
26022 "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).",
26023 "enum" : [
26024 "shell",
26025 "console",
26026 "tty"
26027 ],
26028 "optional" : 1,
26029 "type" : "string"
26030 },
26031 "console" : {
26032 "default" : 1,
26033 "description" : "Attach a console device (/dev/console) to the container.",
26034 "optional" : 1,
26035 "type" : "boolean",
26036 "typetext" : "<boolean>"
26037 },
26038 "cores" : {
26039 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
26040 "maximum" : 128,
26041 "minimum" : 1,
26042 "optional" : 1,
26043 "type" : "integer",
26044 "typetext" : "<integer> (1 - 128)"
26045 },
26046 "cpulimit" : {
26047 "default" : 0,
26048 "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.",
26049 "maximum" : 128,
26050 "minimum" : 0,
26051 "optional" : 1,
26052 "type" : "number",
26053 "typetext" : "<number> (0 - 128)"
26054 },
26055 "cpuunits" : {
26056 "default" : 1024,
26057 "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.",
26058 "maximum" : 500000,
26059 "minimum" : 0,
26060 "optional" : 1,
26061 "type" : "integer",
26062 "typetext" : "<integer> (0 - 500000)"
26063 },
26064 "description" : {
26065 "description" : "Container description. Only used on the configuration web interface.",
26066 "optional" : 1,
26067 "type" : "string",
26068 "typetext" : "<string>"
26069 },
26070 "features" : {
26071 "description" : "Allow containers access to advanced features.",
26072 "format" : {
e2d681b3
TL
26073 "fuse" : {
26074 "default" : 0,
26075 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
26076 "optional" : 1,
26077 "type" : "boolean"
26078 },
4d47f125
TL
26079 "keyctl" : {
26080 "default" : 0,
26081 "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.",
26082 "optional" : 1,
26083 "type" : "boolean"
7aacca6f 26084 },
4d47f125
TL
26085 "mount" : {
26086 "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.",
26087 "format_description" : "fstype;fstype;...",
26088 "optional" : 1,
95895385 26089 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 26090 "type" : "string"
56122987 26091 },
4d47f125
TL
26092 "nesting" : {
26093 "default" : 0,
26094 "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.",
26095 "optional" : 1,
26096 "type" : "boolean"
44660702 26097 }
4d47f125
TL
26098 },
26099 "optional" : 1,
26100 "type" : "string",
e2d681b3 26101 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 26102 },
4d47f125
TL
26103 "force" : {
26104 "description" : "Allow to overwrite existing container.",
26105 "optional" : 1,
26106 "type" : "boolean",
26107 "typetext" : "<boolean>"
26108 },
5f26e15b
TL
26109 "hookscript" : {
26110 "description" : "Script that will be exectued during various steps in the containers lifetime.",
26111 "format" : "pve-volume-id",
26112 "optional" : 1,
26113 "type" : "string",
26114 "typetext" : "<string>"
26115 },
4d47f125
TL
26116 "hostname" : {
26117 "description" : "Set a host name for the container.",
26118 "format" : "dns-name",
26119 "maxLength" : 255,
26120 "optional" : 1,
26121 "type" : "string",
26122 "typetext" : "<string>"
26123 },
26124 "ignore-unpack-errors" : {
26125 "description" : "Ignore errors when extracting the template.",
26126 "optional" : 1,
26127 "type" : "boolean",
26128 "typetext" : "<boolean>"
26129 },
26130 "lock" : {
26131 "description" : "Lock/unlock the VM.",
26132 "enum" : [
26133 "backup",
bb4c8cf8 26134 "create",
1c532546 26135 "destroyed",
4d47f125 26136 "disk",
bb4c8cf8 26137 "fstrim",
4d47f125
TL
26138 "migrate",
26139 "mounted",
26140 "rollback",
26141 "snapshot",
26142 "snapshot-delete"
26143 ],
26144 "optional" : 1,
26145 "type" : "string"
26146 },
26147 "memory" : {
26148 "default" : 512,
26149 "description" : "Amount of RAM for the VM in MB.",
26150 "minimum" : 16,
26151 "optional" : 1,
26152 "type" : "integer",
26153 "typetext" : "<integer> (16 - N)"
26154 },
26155 "mp[n]" : {
26156 "description" : "Use volume as container mount point.",
26157 "format" : {
26158 "acl" : {
26159 "description" : "Explicitly enable or disable ACL support.",
26160 "optional" : 1,
26161 "type" : "boolean"
56122987 26162 },
4d47f125
TL
26163 "backup" : {
26164 "description" : "Whether to include the mount point in backups.",
26165 "optional" : 1,
26166 "type" : "boolean",
26167 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 26168 },
7cbed89a
TL
26169 "mountoptions" : {
26170 "description" : "Extra mount options for rootfs/mps.",
26171 "format_description" : "opt[;opt...]",
26172 "optional" : 1,
26173 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
26174 "type" : "string"
26175 },
4d47f125
TL
26176 "mp" : {
26177 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
26178 "format" : "pve-lxc-mp-string",
26179 "format_description" : "Path",
26180 "type" : "string",
26181 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 26182 },
4d47f125
TL
26183 "quota" : {
26184 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
26185 "optional" : 1,
26186 "type" : "boolean"
26187 },
26188 "replicate" : {
26189 "default" : 1,
26190 "description" : "Will include this volume to a storage replica job.",
26191 "optional" : 1,
26192 "type" : "boolean"
26193 },
26194 "ro" : {
26195 "description" : "Read-only mount point",
26196 "optional" : 1,
26197 "type" : "boolean"
26198 },
26199 "shared" : {
26200 "default" : 0,
26201 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
26202 "optional" : 1,
26203 "type" : "boolean",
26204 "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 26205 },
4d47f125
TL
26206 "size" : {
26207 "description" : "Volume size (read only value).",
26208 "format" : "disk-size",
26209 "format_description" : "DiskSize",
26210 "optional" : 1,
26211 "type" : "string"
26212 },
26213 "volume" : {
26214 "default_key" : 1,
26215 "description" : "Volume, device or directory to mount into the container.",
26216 "format" : "pve-lxc-mp-string",
26217 "format_description" : "volume",
44660702
DM
26218 "type" : "string"
26219 }
4d47f125
TL
26220 },
26221 "optional" : 1,
26222 "type" : "string",
7cbed89a 26223 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 26224 },
4d47f125
TL
26225 "nameserver" : {
26226 "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.",
26227 "format" : "address-list",
26228 "optional" : 1,
26229 "type" : "string",
26230 "typetext" : "<string>"
26231 },
26232 "net[n]" : {
26233 "description" : "Specifies network interfaces for the container.",
26234 "format" : {
26235 "bridge" : {
26236 "description" : "Bridge to attach the network device to.",
26237 "format_description" : "bridge",
26238 "optional" : 1,
26239 "pattern" : "[-_.\\w\\d]+",
26240 "type" : "string"
56122987 26241 },
4d47f125
TL
26242 "firewall" : {
26243 "description" : "Controls whether this interface's firewall rules should be used.",
26244 "optional" : 1,
26245 "type" : "boolean"
56122987 26246 },
4d47f125
TL
26247 "gw" : {
26248 "description" : "Default gateway for IPv4 traffic.",
26249 "format" : "ipv4",
26250 "format_description" : "GatewayIPv4",
26251 "optional" : 1,
26252 "type" : "string"
26253 },
26254 "gw6" : {
26255 "description" : "Default gateway for IPv6 traffic.",
26256 "format" : "ipv6",
26257 "format_description" : "GatewayIPv6",
26258 "optional" : 1,
26259 "type" : "string"
26260 },
26261 "hwaddr" : {
26262 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 26263 "format" : "mac-addr",
4d47f125
TL
26264 "format_description" : "XX:XX:XX:XX:XX:XX",
26265 "optional" : 1,
95895385
TL
26266 "type" : "string",
26267 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
26268 },
26269 "ip" : {
26270 "description" : "IPv4 address in CIDR format.",
26271 "format" : "pve-ipv4-config",
26272 "format_description" : "(IPv4/CIDR|dhcp|manual)",
26273 "optional" : 1,
26274 "type" : "string"
26275 },
26276 "ip6" : {
26277 "description" : "IPv6 address in CIDR format.",
26278 "format" : "pve-ipv6-config",
26279 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
26280 "optional" : 1,
26281 "type" : "string"
26282 },
26283 "mtu" : {
26284 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
26285 "minimum" : 64,
26286 "optional" : 1,
26287 "type" : "integer"
26288 },
26289 "name" : {
26290 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
26291 "format_description" : "string",
26292 "pattern" : "[-_.\\w\\d]+",
26293 "type" : "string"
26294 },
26295 "rate" : {
26296 "description" : "Apply rate limiting to the interface",
26297 "format_description" : "mbps",
26298 "optional" : 1,
26299 "type" : "number"
26300 },
26301 "tag" : {
26302 "description" : "VLAN tag for this interface.",
26303 "maximum" : 4094,
26304 "minimum" : 1,
26305 "optional" : 1,
26306 "type" : "integer"
26307 },
26308 "trunks" : {
26309 "description" : "VLAN ids to pass through the interface",
26310 "format_description" : "vlanid[;vlanid...]",
26311 "optional" : 1,
26312 "pattern" : "(?^:\\d+(?:;\\d+)*)",
26313 "type" : "string"
26314 },
26315 "type" : {
26316 "description" : "Network interface type.",
26317 "enum" : [
26318 "veth"
26319 ],
26320 "optional" : 1,
26321 "type" : "string"
7aacca6f 26322 }
4d47f125
TL
26323 },
26324 "optional" : 1,
26325 "type" : "string",
26326 "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 26327 },
4d47f125
TL
26328 "node" : {
26329 "description" : "The cluster node name.",
26330 "format" : "pve-node",
26331 "type" : "string",
26332 "typetext" : "<string>"
26333 },
26334 "onboot" : {
26335 "default" : 0,
26336 "description" : "Specifies whether a VM will be started during system bootup.",
26337 "optional" : 1,
26338 "type" : "boolean",
26339 "typetext" : "<boolean>"
26340 },
26341 "ostemplate" : {
26342 "description" : "The OS template or backup file.",
26343 "maxLength" : 255,
26344 "type" : "string",
26345 "typetext" : "<string>"
26346 },
26347 "ostype" : {
26348 "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.",
26349 "enum" : [
26350 "debian",
26351 "ubuntu",
26352 "centos",
26353 "fedora",
26354 "opensuse",
26355 "archlinux",
26356 "alpine",
26357 "gentoo",
26358 "unmanaged"
26359 ],
26360 "optional" : 1,
26361 "type" : "string"
26362 },
26363 "password" : {
26364 "description" : "Sets root password inside container.",
26365 "minLength" : 5,
26366 "optional" : 1,
26367 "type" : "string",
26368 "typetext" : "<string>"
26369 },
26370 "pool" : {
26371 "description" : "Add the VM to the specified pool.",
26372 "format" : "pve-poolid",
26373 "optional" : 1,
26374 "type" : "string",
26375 "typetext" : "<string>"
26376 },
26377 "protection" : {
26378 "default" : 0,
26379 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
26380 "optional" : 1,
26381 "type" : "boolean",
26382 "typetext" : "<boolean>"
26383 },
26384 "restore" : {
26385 "description" : "Mark this as restore task.",
26386 "optional" : 1,
26387 "type" : "boolean",
26388 "typetext" : "<boolean>"
26389 },
26390 "rootfs" : {
26391 "description" : "Use volume as container root.",
26392 "format" : {
26393 "acl" : {
26394 "description" : "Explicitly enable or disable ACL support.",
26395 "optional" : 1,
26396 "type" : "boolean"
56122987 26397 },
7cbed89a
TL
26398 "mountoptions" : {
26399 "description" : "Extra mount options for rootfs/mps.",
26400 "format_description" : "opt[;opt...]",
26401 "optional" : 1,
26402 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
26403 "type" : "string"
26404 },
4d47f125
TL
26405 "quota" : {
26406 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
26407 "optional" : 1,
26408 "type" : "boolean"
7aacca6f 26409 },
4d47f125
TL
26410 "replicate" : {
26411 "default" : 1,
26412 "description" : "Will include this volume to a storage replica job.",
26413 "optional" : 1,
26414 "type" : "boolean"
26415 },
26416 "ro" : {
26417 "description" : "Read-only mount point",
26418 "optional" : 1,
26419 "type" : "boolean"
26420 },
26421 "shared" : {
26422 "default" : 0,
26423 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
26424 "optional" : 1,
26425 "type" : "boolean",
26426 "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!"
26427 },
26428 "size" : {
26429 "description" : "Volume size (read only value).",
26430 "format" : "disk-size",
26431 "format_description" : "DiskSize",
26432 "optional" : 1,
26433 "type" : "string"
26434 },
26435 "volume" : {
26436 "default_key" : 1,
26437 "description" : "Volume, device or directory to mount into the container.",
26438 "format" : "pve-lxc-mp-string",
26439 "format_description" : "volume",
26440 "type" : "string"
56122987 26441 }
4d47f125
TL
26442 },
26443 "optional" : 1,
26444 "type" : "string",
7cbed89a 26445 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 26446 },
4d47f125
TL
26447 "searchdomain" : {
26448 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
26449 "format" : "dns-name-list",
26450 "optional" : 1,
26451 "type" : "string",
26452 "typetext" : "<string>"
26453 },
26454 "ssh-public-keys" : {
26455 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
26456 "optional" : 1,
26457 "type" : "string",
26458 "typetext" : "<string>"
26459 },
26460 "start" : {
26461 "default" : 0,
26462 "description" : "Start the CT after its creation finished successfully.",
26463 "optional" : 1,
26464 "type" : "boolean",
26465 "typetext" : "<boolean>"
26466 },
26467 "startup" : {
26468 "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.",
26469 "format" : "pve-startup-order",
26470 "optional" : 1,
26471 "type" : "string",
26472 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
26473 },
26474 "storage" : {
26475 "default" : "local",
26476 "description" : "Default Storage.",
26477 "format" : "pve-storage-id",
26478 "optional" : 1,
26479 "type" : "string",
26480 "typetext" : "<string>"
26481 },
26482 "swap" : {
26483 "default" : 512,
26484 "description" : "Amount of SWAP for the VM in MB.",
26485 "minimum" : 0,
26486 "optional" : 1,
26487 "type" : "integer",
26488 "typetext" : "<integer> (0 - N)"
26489 },
5c1699e5
TL
26490 "tags" : {
26491 "description" : "Tags of the Container. This is only meta information.",
26492 "format" : "pve-tag-list",
26493 "optional" : 1,
26494 "type" : "string",
26495 "typetext" : "<string>"
26496 },
4d47f125
TL
26497 "template" : {
26498 "default" : 0,
26499 "description" : "Enable/disable Template.",
26500 "optional" : 1,
26501 "type" : "boolean",
26502 "typetext" : "<boolean>"
26503 },
26504 "tty" : {
26505 "default" : 2,
26506 "description" : "Specify the number of tty available to the container",
26507 "maximum" : 6,
26508 "minimum" : 0,
26509 "optional" : 1,
26510 "type" : "integer",
26511 "typetext" : "<integer> (0 - 6)"
26512 },
95895385
TL
26513 "unique" : {
26514 "description" : "Assign a unique random ethernet address.",
26515 "optional" : 1,
26516 "requires" : "restore",
26517 "type" : "boolean",
26518 "typetext" : "<boolean>"
26519 },
4d47f125
TL
26520 "unprivileged" : {
26521 "default" : 0,
26522 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
26523 "optional" : 1,
26524 "type" : "boolean",
26525 "typetext" : "<boolean>"
26526 },
26527 "unused[n]" : {
26528 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
26529 "format" : "pve-volume-id",
26530 "optional" : 1,
26531 "type" : "string",
26532 "typetext" : "<string>"
26533 },
26534 "vmid" : {
26535 "description" : "The (unique) ID of the VM.",
26536 "format" : "pve-vmid",
26537 "minimum" : 1,
26538 "type" : "integer",
26539 "typetext" : "<integer> (1 - N)"
26540 }
26541 }
26542 },
26543 "permissions" : {
26544 "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.",
26545 "user" : "all"
26546 },
26547 "protected" : 1,
26548 "proxyto" : "node",
26549 "returns" : {
26550 "type" : "string"
26551 }
26552 }
26553 },
26554 "leaf" : 0,
26555 "path" : "/nodes/{node}/lxc",
26556 "text" : "lxc"
26557 },
26558 {
26559 "children" : [
26560 {
26561 "children" : [
56122987 26562 {
4d47f125
TL
26563 "children" : [
26564 {
26565 "info" : {
26566 "POST" : {
e9cd3bd4 26567 "allowtoken" : 1,
4d47f125
TL
26568 "description" : "ceph osd in",
26569 "method" : "POST",
26570 "name" : "in",
26571 "parameters" : {
26572 "additionalProperties" : 0,
26573 "properties" : {
26574 "node" : {
26575 "description" : "The cluster node name.",
26576 "format" : "pve-node",
26577 "type" : "string",
26578 "typetext" : "<string>"
26579 },
26580 "osdid" : {
26581 "description" : "OSD ID",
26582 "type" : "integer",
26583 "typetext" : "<integer>"
26584 }
26585 }
27a7acb2 26586 },
4d47f125
TL
26587 "permissions" : {
26588 "check" : [
26589 "perm",
26590 "/",
26591 [
26592 "Sys.Modify"
26593 ]
26594 ]
44660702 26595 },
4d47f125
TL
26596 "protected" : 1,
26597 "proxyto" : "node",
26598 "returns" : {
26599 "type" : "null"
7aacca6f
DM
26600 }
26601 }
56122987 26602 },
4d47f125
TL
26603 "leaf" : 1,
26604 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
26605 "text" : "in"
26606 },
26607 {
26608 "info" : {
26609 "POST" : {
e9cd3bd4 26610 "allowtoken" : 1,
4d47f125
TL
26611 "description" : "ceph osd out",
26612 "method" : "POST",
26613 "name" : "out",
26614 "parameters" : {
26615 "additionalProperties" : 0,
26616 "properties" : {
26617 "node" : {
26618 "description" : "The cluster node name.",
26619 "format" : "pve-node",
26620 "type" : "string",
26621 "typetext" : "<string>"
26622 },
26623 "osdid" : {
26624 "description" : "OSD ID",
26625 "type" : "integer",
26626 "typetext" : "<integer>"
26627 }
26628 }
26629 },
26630 "permissions" : {
26631 "check" : [
56122987 26632 "perm",
4d47f125 26633 "/",
56122987 26634 [
4d47f125 26635 "Sys.Modify"
56122987 26636 ]
56122987 26637 ]
44660702 26638 },
4d47f125
TL
26639 "protected" : 1,
26640 "proxyto" : "node",
26641 "returns" : {
26642 "type" : "null"
56122987 26643 }
44660702 26644 }
56122987 26645 },
4d47f125
TL
26646 "leaf" : 1,
26647 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
26648 "text" : "out"
7cbed89a
TL
26649 },
26650 {
26651 "info" : {
26652 "POST" : {
e9cd3bd4 26653 "allowtoken" : 1,
7cbed89a
TL
26654 "description" : "Instruct the OSD to scrub.",
26655 "method" : "POST",
26656 "name" : "scrub",
26657 "parameters" : {
26658 "additionalProperties" : 0,
26659 "properties" : {
26660 "deep" : {
26661 "default" : 0,
26662 "description" : "If set, instructs a deep scrub instead of a normal one.",
26663 "optional" : 1,
26664 "type" : "boolean",
26665 "typetext" : "<boolean>"
26666 },
26667 "node" : {
26668 "description" : "The cluster node name.",
26669 "format" : "pve-node",
26670 "type" : "string",
26671 "typetext" : "<string>"
26672 },
26673 "osdid" : {
26674 "description" : "OSD ID",
26675 "type" : "integer",
26676 "typetext" : "<integer>"
26677 }
26678 }
26679 },
26680 "permissions" : {
26681 "check" : [
26682 "perm",
26683 "/",
26684 [
26685 "Sys.Modify"
26686 ]
26687 ]
26688 },
26689 "protected" : 1,
26690 "proxyto" : "node",
26691 "returns" : {
26692 "type" : "null"
26693 }
26694 }
26695 },
26696 "leaf" : 1,
26697 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
26698 "text" : "scrub"
56122987 26699 }
4d47f125 26700 ],
27a7acb2 26701 "info" : {
4d47f125 26702 "DELETE" : {
e9cd3bd4 26703 "allowtoken" : 1,
4d47f125
TL
26704 "description" : "Destroy OSD",
26705 "method" : "DELETE",
26706 "name" : "destroyosd",
27a7acb2
DM
26707 "parameters" : {
26708 "additionalProperties" : 0,
26709 "properties" : {
4d47f125 26710 "cleanup" : {
27a7acb2 26711 "default" : 0,
4d47f125 26712 "description" : "If set, we remove partition table entries.",
27a7acb2 26713 "optional" : 1,
4d47f125
TL
26714 "type" : "boolean",
26715 "typetext" : "<boolean>"
26716 },
26717 "node" : {
26718 "description" : "The cluster node name.",
26719 "format" : "pve-node",
26720 "type" : "string",
26721 "typetext" : "<string>"
26722 },
26723 "osdid" : {
26724 "description" : "OSD ID",
26725 "type" : "integer",
26726 "typetext" : "<integer>"
26727 }
26728 }
27a7acb2
DM
26729 },
26730 "protected" : 1,
26731 "proxyto" : "node",
26732 "returns" : {
26733 "type" : "string"
26734 }
26735 }
26736 },
4d47f125
TL
26737 "leaf" : 0,
26738 "path" : "/nodes/{node}/ceph/osd/{osdid}",
26739 "text" : "{osdid}"
56122987
DM
26740 }
26741 ],
26742 "info" : {
4d47f125 26743 "GET" : {
e9cd3bd4 26744 "allowtoken" : 1,
4d47f125
TL
26745 "description" : "Get Ceph osd list/tree.",
26746 "method" : "GET",
26747 "name" : "index",
44660702
DM
26748 "parameters" : {
26749 "additionalProperties" : 0,
26750 "properties" : {
26751 "node" : {
26752 "description" : "The cluster node name.",
26753 "format" : "pve-node",
013dc89f
DM
26754 "type" : "string",
26755 "typetext" : "<string>"
44660702
DM
26756 }
26757 }
26758 },
7aacca6f
DM
26759 "permissions" : {
26760 "check" : [
26761 "perm",
4d47f125 26762 "/",
7aacca6f 26763 [
4d47f125
TL
26764 "Sys.Audit",
26765 "Datastore.Audit"
26766 ],
26767 "any",
26768 1
26769 ]
26770 },
26771 "protected" : 1,
26772 "proxyto" : "node",
26773 "returns" : {
26774 "type" : "object"
26775 }
26776 },
26777 "POST" : {
e9cd3bd4 26778 "allowtoken" : 1,
4d47f125
TL
26779 "description" : "Create OSD",
26780 "method" : "POST",
26781 "name" : "createosd",
26782 "parameters" : {
26783 "additionalProperties" : 0,
26784 "properties" : {
1e3f8156
TL
26785 "db_dev" : {
26786 "description" : "Block device name for block.db.",
44660702 26787 "optional" : 1,
4bd7df8b 26788 "type" : "string",
4d47f125 26789 "typetext" : "<string>"
44660702 26790 },
1e3f8156
TL
26791 "db_size" : {
26792 "default" : "bluestore_block_db_size or 10% of OSD size",
26793 "description" : "Size in GiB for block.db.",
26794 "minimum" : 1,
7aacca6f 26795 "optional" : 1,
1e3f8156
TL
26796 "requires" : "db_dev",
26797 "type" : "number",
26798 "typetext" : "<number> (1 - N)",
26799 "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
44660702 26800 },
1e3f8156
TL
26801 "dev" : {
26802 "description" : "Block device name.",
4d47f125
TL
26803 "type" : "string",
26804 "typetext" : "<string>"
5d9c884c 26805 },
1e3f8156
TL
26806 "encrypted" : {
26807 "default" : 0,
26808 "description" : "Enables encryption of the OSD.",
26809 "optional" : 1,
26810 "type" : "boolean",
26811 "typetext" : "<boolean>"
26812 },
4d47f125
TL
26813 "node" : {
26814 "description" : "The cluster node name.",
26815 "format" : "pve-node",
26816 "type" : "string",
26817 "typetext" : "<string>"
7aacca6f 26818 },
4d47f125 26819 "wal_dev" : {
1e3f8156 26820 "description" : "Block device name for block.wal.",
de0983cb 26821 "optional" : 1,
4d47f125
TL
26822 "type" : "string",
26823 "typetext" : "<string>"
1e3f8156
TL
26824 },
26825 "wal_size" : {
26826 "default" : "bluestore_block_wal_size or 1% of OSD size",
26827 "description" : "Size in GiB for block.wal.",
26828 "minimum" : 0.5,
26829 "optional" : 1,
26830 "requires" : "wal_dev",
26831 "type" : "number",
26832 "typetext" : "<number> (0.5 - N)",
26833 "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
4d47f125
TL
26834 }
26835 }
26836 },
26837 "protected" : 1,
26838 "proxyto" : "node",
26839 "returns" : {
26840 "type" : "string"
26841 }
26842 }
26843 },
26844 "leaf" : 0,
26845 "path" : "/nodes/{node}/ceph/osd",
26846 "text" : "osd"
26847 },
e2d681b3
TL
26848 {
26849 "children" : [
26850 {
26851 "info" : {
26852 "DELETE" : {
e9cd3bd4 26853 "allowtoken" : 1,
e2d681b3
TL
26854 "description" : "Destroy Ceph Metadata Server",
26855 "method" : "DELETE",
26856 "name" : "destroymds",
26857 "parameters" : {
26858 "additionalProperties" : 0,
26859 "properties" : {
26860 "name" : {
26861 "description" : "The name (ID) of the mds",
26862 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26863 "type" : "string"
26864 },
26865 "node" : {
26866 "description" : "The cluster node name.",
26867 "format" : "pve-node",
26868 "type" : "string",
26869 "typetext" : "<string>"
26870 }
26871 }
26872 },
26873 "permissions" : {
26874 "check" : [
26875 "perm",
26876 "/",
26877 [
26878 "Sys.Modify"
26879 ]
26880 ]
26881 },
26882 "protected" : 1,
26883 "proxyto" : "node",
26884 "returns" : {
26885 "type" : "string"
26886 }
26887 },
26888 "POST" : {
e9cd3bd4 26889 "allowtoken" : 1,
e2d681b3
TL
26890 "description" : "Create Ceph Metadata Server (MDS)",
26891 "method" : "POST",
26892 "name" : "createmds",
26893 "parameters" : {
26894 "additionalProperties" : 0,
26895 "properties" : {
26896 "hotstandby" : {
26897 "default" : "0",
26898 "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
26899 "optional" : 1,
26900 "type" : "boolean",
26901 "typetext" : "<boolean>"
26902 },
26903 "name" : {
26904 "default" : "nodename",
26905 "description" : "The ID for the mds, when omitted the same as the nodename",
26906 "optional" : 1,
26907 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
26908 "type" : "string"
26909 },
26910 "node" : {
26911 "description" : "The cluster node name.",
26912 "format" : "pve-node",
26913 "type" : "string",
26914 "typetext" : "<string>"
26915 }
26916 }
26917 },
26918 "permissions" : {
26919 "check" : [
26920 "perm",
26921 "/",
26922 [
26923 "Sys.Modify"
26924 ]
26925 ]
26926 },
26927 "protected" : 1,
26928 "proxyto" : "node",
26929 "returns" : {
26930 "type" : "string"
26931 }
26932 }
26933 },
26934 "leaf" : 1,
26935 "path" : "/nodes/{node}/ceph/mds/{name}",
26936 "text" : "{name}"
26937 }
26938 ],
26939 "info" : {
26940 "GET" : {
e9cd3bd4 26941 "allowtoken" : 1,
e2d681b3
TL
26942 "description" : "MDS directory index.",
26943 "method" : "GET",
26944 "name" : "index",
26945 "parameters" : {
26946 "additionalProperties" : 0,
26947 "properties" : {
26948 "node" : {
26949 "description" : "The cluster node name.",
26950 "format" : "pve-node",
26951 "type" : "string",
26952 "typetext" : "<string>"
26953 }
26954 }
26955 },
26956 "permissions" : {
26957 "check" : [
26958 "perm",
26959 "/",
26960 [
26961 "Sys.Audit",
26962 "Datastore.Audit"
26963 ],
26964 "any",
26965 1
26966 ]
26967 },
26968 "protected" : 1,
26969 "proxyto" : "node",
26970 "returns" : {
26971 "items" : {
26972 "properties" : {
26973 "addr" : {
26974 "optional" : 1,
26975 "type" : "string"
26976 },
26977 "host" : {
26978 "optional" : 1,
26979 "type" : "string"
26980 },
26981 "name" : {
26982 "description" : "The name (ID) for the MDS"
26983 },
26984 "rank" : {
26985 "optional" : 1,
26986 "type" : "integer"
26987 },
26988 "standby_replay" : {
26989 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
26990 "optional" : 1,
26991 "type" : "boolean"
26992 },
26993 "state" : {
26994 "description" : "State of the MDS",
26995 "type" : "string"
26996 }
26997 },
26998 "type" : "object"
26999 },
27000 "links" : [
27001 {
27002 "href" : "{name}",
27003 "rel" : "child"
27004 }
27005 ],
27006 "type" : "array"
27007 }
27008 }
27009 },
27010 "leaf" : 0,
27011 "path" : "/nodes/{node}/ceph/mds",
27012 "text" : "mds"
27013 },
27014 {
27015 "children" : [
27016 {
27017 "info" : {
5f26e15b 27018 "DELETE" : {
e9cd3bd4 27019 "allowtoken" : 1,
5f26e15b
TL
27020 "description" : "Destroy Ceph Manager.",
27021 "method" : "DELETE",
27022 "name" : "destroymgr",
e2d681b3
TL
27023 "parameters" : {
27024 "additionalProperties" : 0,
27025 "properties" : {
5f26e15b
TL
27026 "id" : {
27027 "description" : "The ID of the manager",
27028 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
27029 "type" : "string"
e2d681b3
TL
27030 },
27031 "node" : {
27032 "description" : "The cluster node name.",
27033 "format" : "pve-node",
27034 "type" : "string",
27035 "typetext" : "<string>"
e2d681b3
TL
27036 }
27037 }
27038 },
27039 "permissions" : {
27040 "check" : [
27041 "perm",
27042 "/",
27043 [
27044 "Sys.Modify"
27045 ]
27046 ]
27047 },
27048 "protected" : 1,
27049 "proxyto" : "node",
27050 "returns" : {
27051 "type" : "string"
27052 }
1e3f8156
TL
27053 },
27054 "POST" : {
e9cd3bd4 27055 "allowtoken" : 1,
1e3f8156
TL
27056 "description" : "Create Ceph Manager",
27057 "method" : "POST",
27058 "name" : "createmgr",
27059 "parameters" : {
27060 "additionalProperties" : 0,
27061 "properties" : {
27062 "id" : {
27063 "description" : "The ID for the manager, when omitted the same as the nodename",
27064 "optional" : 1,
27065 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
27066 "type" : "string"
27067 },
27068 "node" : {
27069 "description" : "The cluster node name.",
27070 "format" : "pve-node",
27071 "type" : "string",
27072 "typetext" : "<string>"
27073 }
27074 }
27075 },
27076 "permissions" : {
27077 "check" : [
27078 "perm",
27079 "/",
27080 [
27081 "Sys.Modify"
27082 ]
27083 ]
27084 },
27085 "protected" : 1,
27086 "proxyto" : "node",
27087 "returns" : {
27088 "type" : "string"
27089 }
e2d681b3
TL
27090 }
27091 },
27092 "leaf" : 1,
5f26e15b
TL
27093 "path" : "/nodes/{node}/ceph/mgr/{id}",
27094 "text" : "{id}"
e2d681b3
TL
27095 }
27096 ],
27097 "info" : {
1e3f8156 27098 "GET" : {
e9cd3bd4 27099 "allowtoken" : 1,
1e3f8156
TL
27100 "description" : "MGR directory index.",
27101 "method" : "GET",
27102 "name" : "index",
e2d681b3
TL
27103 "parameters" : {
27104 "additionalProperties" : 0,
27105 "properties" : {
27106 "node" : {
27107 "description" : "The cluster node name.",
27108 "format" : "pve-node",
27109 "type" : "string",
27110 "typetext" : "<string>"
27111 }
27112 }
27113 },
27114 "permissions" : {
27115 "check" : [
27116 "perm",
27117 "/",
27118 [
1e3f8156
TL
27119 "Sys.Audit",
27120 "Datastore.Audit"
27121 ],
27122 "any",
27123 1
e2d681b3
TL
27124 ]
27125 },
27126 "protected" : 1,
5f26e15b 27127 "proxyto" : "node",
e2d681b3 27128 "returns" : {
1e3f8156
TL
27129 "items" : {
27130 "properties" : {
27131 "addr" : {
27132 "optional" : 1,
27133 "type" : "string"
27134 },
27135 "host" : {
27136 "optional" : 1,
27137 "type" : "string"
27138 },
27139 "name" : {
27140 "description" : "The name (ID) for the MGR"
27141 },
27142 "state" : {
27143 "description" : "State of the MGR",
27144 "type" : "string"
27145 }
27146 },
27147 "type" : "object"
27148 },
27149 "links" : [
27150 {
27151 "href" : "{name}",
27152 "rel" : "child"
27153 }
27154 ],
27155 "type" : "array"
e2d681b3
TL
27156 }
27157 }
27158 },
27159 "leaf" : 0,
5f26e15b
TL
27160 "path" : "/nodes/{node}/ceph/mgr",
27161 "text" : "mgr"
e2d681b3 27162 },
4d47f125 27163 {
5f26e15b
TL
27164 "children" : [
27165 {
27166 "info" : {
27167 "DELETE" : {
e9cd3bd4 27168 "allowtoken" : 1,
5f26e15b
TL
27169 "description" : "Destroy Ceph Monitor and Manager.",
27170 "method" : "DELETE",
27171 "name" : "destroymon",
27172 "parameters" : {
27173 "additionalProperties" : 0,
27174 "properties" : {
1e3f8156
TL
27175 "monid" : {
27176 "description" : "Monitor ID",
27177 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
27178 "type" : "string"
27179 },
27180 "node" : {
27181 "description" : "The cluster node name.",
27182 "format" : "pve-node",
27183 "type" : "string",
27184 "typetext" : "<string>"
27185 }
27186 }
27187 },
27188 "permissions" : {
27189 "check" : [
27190 "perm",
27191 "/",
27192 [
27193 "Sys.Modify"
27194 ]
27195 ]
27196 },
27197 "protected" : 1,
27198 "proxyto" : "node",
27199 "returns" : {
27200 "type" : "string"
27201 }
27202 },
27203 "POST" : {
e9cd3bd4 27204 "allowtoken" : 1,
1e3f8156
TL
27205 "description" : "Create Ceph Monitor and Manager",
27206 "method" : "POST",
27207 "name" : "createmon",
27208 "parameters" : {
27209 "additionalProperties" : 0,
27210 "properties" : {
27211 "mon-address" : {
27212 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
27213 "format" : "ip",
5f26e15b 27214 "optional" : 1,
1e3f8156
TL
27215 "type" : "string",
27216 "typetext" : "<string>"
5f26e15b
TL
27217 },
27218 "monid" : {
1e3f8156
TL
27219 "description" : "The ID for the monitor, when omitted the same as the nodename",
27220 "optional" : 1,
5f26e15b
TL
27221 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
27222 "type" : "string"
27223 },
27224 "node" : {
27225 "description" : "The cluster node name.",
27226 "format" : "pve-node",
27227 "type" : "string",
27228 "typetext" : "<string>"
27229 }
27230 }
27231 },
27232 "permissions" : {
27233 "check" : [
27234 "perm",
27235 "/",
27236 [
27237 "Sys.Modify"
27238 ]
27239 ]
27240 },
27241 "protected" : 1,
27242 "proxyto" : "node",
27243 "returns" : {
7aacca6f 27244 "type" : "string"
56122987 27245 }
4d47f125 27246 }
56122987 27247 },
5f26e15b
TL
27248 "leaf" : 1,
27249 "path" : "/nodes/{node}/ceph/mon/{monid}",
27250 "text" : "{monid}"
27251 }
27252 ],
27253 "info" : {
27254 "GET" : {
e9cd3bd4 27255 "allowtoken" : 1,
5f26e15b
TL
27256 "description" : "Get Ceph monitor list.",
27257 "method" : "GET",
27258 "name" : "listmon",
27259 "parameters" : {
27260 "additionalProperties" : 0,
27261 "properties" : {
27262 "node" : {
27263 "description" : "The cluster node name.",
27264 "format" : "pve-node",
27265 "type" : "string",
27266 "typetext" : "<string>"
27267 }
27268 }
27269 },
4d47f125
TL
27270 "permissions" : {
27271 "check" : [
27272 "perm",
27273 "/",
27274 [
27275 "Sys.Audit",
27276 "Datastore.Audit"
27277 ],
27278 "any",
27279 1
27280 ]
56122987 27281 },
4d47f125
TL
27282 "protected" : 1,
27283 "proxyto" : "node",
27284 "returns" : {
27285 "items" : {
27286 "properties" : {
5f26e15b 27287 "addr" : {
1e3f8156
TL
27288 "optional" : 1,
27289 "type" : "string"
27290 },
27291 "host" : {
27292 "optional" : 1,
4d47f125
TL
27293 "type" : "string"
27294 },
5f26e15b 27295 "name" : {
4d47f125
TL
27296 "type" : "string"
27297 }
7aacca6f 27298 },
4d47f125
TL
27299 "type" : "object"
27300 },
5f26e15b
TL
27301 "links" : [
27302 {
27303 "href" : "{name}",
27304 "rel" : "child"
27305 }
27306 ],
4d47f125
TL
27307 "type" : "array"
27308 }
4d47f125
TL
27309 }
27310 },
5f26e15b
TL
27311 "leaf" : 0,
27312 "path" : "/nodes/{node}/ceph/mon",
27313 "text" : "mon"
4d47f125
TL
27314 },
27315 {
27316 "children" : [
27317 {
27318 "info" : {
5f26e15b 27319 "POST" : {
e9cd3bd4 27320 "allowtoken" : 1,
5f26e15b
TL
27321 "description" : "Create a Ceph filesystem",
27322 "method" : "POST",
27323 "name" : "createfs",
4d47f125
TL
27324 "parameters" : {
27325 "additionalProperties" : 0,
27326 "properties" : {
5f26e15b 27327 "add-storage" : {
4d47f125 27328 "default" : 0,
5f26e15b 27329 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
27330 "optional" : 1,
27331 "type" : "boolean",
27332 "typetext" : "<boolean>"
27333 },
5f26e15b
TL
27334 "name" : {
27335 "default" : "cephfs",
27336 "description" : "The ceph filesystem name.",
27337 "optional" : 1,
27338 "type" : "string",
27339 "typetext" : "<string>"
4d47f125
TL
27340 },
27341 "node" : {
27342 "description" : "The cluster node name.",
27343 "format" : "pve-node",
27344 "type" : "string",
27345 "typetext" : "<string>"
5f26e15b
TL
27346 },
27347 "pg_num" : {
27348 "default" : 128,
27349 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
27350 "maximum" : 32768,
27351 "minimum" : 8,
27352 "optional" : 1,
27353 "type" : "integer",
27354 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
27355 }
27356 }
7aacca6f 27357 },
4d47f125
TL
27358 "permissions" : {
27359 "check" : [
27360 "perm",
27361 "/",
27362 [
27363 "Sys.Modify"
27364 ]
27365 ]
7aacca6f 27366 },
4d47f125
TL
27367 "protected" : 1,
27368 "proxyto" : "node",
27369 "returns" : {
44660702 27370 "type" : "string"
4d47f125
TL
27371 }
27372 }
27373 },
27374 "leaf" : 1,
5f26e15b
TL
27375 "path" : "/nodes/{node}/ceph/fs/{name}",
27376 "text" : "{name}"
4d47f125
TL
27377 }
27378 ],
27379 "info" : {
27380 "GET" : {
e9cd3bd4 27381 "allowtoken" : 1,
5f26e15b 27382 "description" : "Directory index.",
4d47f125 27383 "method" : "GET",
5f26e15b 27384 "name" : "index",
4d47f125
TL
27385 "parameters" : {
27386 "additionalProperties" : 0,
27387 "properties" : {
27388 "node" : {
27389 "description" : "The cluster node name.",
27390 "format" : "pve-node",
27391 "type" : "string",
27392 "typetext" : "<string>"
27393 }
27394 }
27395 },
27396 "permissions" : {
27397 "check" : [
27398 "perm",
27399 "/",
27400 [
27401 "Sys.Audit",
27402 "Datastore.Audit"
27403 ],
27404 "any",
27405 1
27406 ]
27407 },
27408 "protected" : 1,
95895385 27409 "proxyto" : "node",
4d47f125
TL
27410 "returns" : {
27411 "items" : {
27412 "properties" : {
5f26e15b
TL
27413 "data_pool" : {
27414 "description" : "The name of the data pool.",
27415 "type" : "string"
27416 },
27417 "metadata_pool" : {
27418 "description" : "The name of the metadata pool.",
4d47f125
TL
27419 "type" : "string"
27420 },
27421 "name" : {
5f26e15b 27422 "description" : "The ceph filesystem name.",
4d47f125
TL
27423 "type" : "string"
27424 }
7aacca6f 27425 },
4d47f125
TL
27426 "type" : "object"
27427 },
27428 "links" : [
27429 {
27430 "href" : "{name}",
27431 "rel" : "child"
27432 }
27433 ],
27434 "type" : "array"
27435 }
5f26e15b
TL
27436 }
27437 },
27438 "leaf" : 0,
27439 "path" : "/nodes/{node}/ceph/fs",
27440 "text" : "fs"
27441 },
27442 {
27443 "info" : {
27444 "GET" : {
e9cd3bd4 27445 "allowtoken" : 1,
5f26e15b
TL
27446 "description" : "List local disks.",
27447 "method" : "GET",
27448 "name" : "disks",
4d47f125
TL
27449 "parameters" : {
27450 "additionalProperties" : 0,
27451 "properties" : {
5f26e15b
TL
27452 "node" : {
27453 "description" : "The cluster node name.",
27454 "format" : "pve-node",
27455 "type" : "string",
27456 "typetext" : "<string>"
44660702 27457 },
5f26e15b
TL
27458 "type" : {
27459 "description" : "Only list specific types of disks.",
27460 "enum" : [
27461 "unused",
27462 "journal_disks"
27463 ],
44660702 27464 "optional" : 1,
44660702 27465 "type" : "string"
5f26e15b
TL
27466 }
27467 }
27468 },
27469 "permissions" : {
27470 "check" : [
27471 "perm",
27472 "/",
27473 [
27474 "Sys.Audit",
27475 "Datastore.Audit"
27476 ],
27477 "any",
27478 1
27479 ]
27480 },
27481 "protected" : 1,
27482 "proxyto" : "node",
27483 "returns" : {
27484 "items" : {
27485 "properties" : {
27486 "dev" : {
27487 "type" : "string"
27488 },
27489 "gpt" : {
27490 "type" : "boolean"
27491 },
27492 "model" : {
27493 "optional" : 1,
27494 "type" : "string"
27495 },
27496 "osdid" : {
27497 "type" : "integer"
27498 },
27499 "serial" : {
27500 "optional" : 1,
27501 "type" : "string"
27502 },
27503 "size" : {
27504 "type" : "integer"
27505 },
27506 "used" : {
27507 "optional" : 1,
27508 "type" : "string"
27509 },
27510 "vendor" : {
27511 "optional" : 1,
27512 "type" : "string"
27513 }
44660702 27514 },
5f26e15b
TL
27515 "type" : "object"
27516 },
27517 "type" : "array"
27518 }
27519 }
27520 },
27521 "leaf" : 1,
27522 "path" : "/nodes/{node}/ceph/disks",
27523 "text" : "disks"
27524 },
27525 {
27526 "info" : {
27527 "GET" : {
e9cd3bd4 27528 "allowtoken" : 1,
5f26e15b
TL
27529 "description" : "Get Ceph configuration.",
27530 "method" : "GET",
27531 "name" : "config",
27532 "parameters" : {
27533 "additionalProperties" : 0,
27534 "properties" : {
4d47f125
TL
27535 "node" : {
27536 "description" : "The cluster node name.",
27537 "format" : "pve-node",
27538 "type" : "string",
27539 "typetext" : "<string>"
7aacca6f 27540 }
4d47f125 27541 }
44660702 27542 },
4d47f125
TL
27543 "permissions" : {
27544 "check" : [
27545 "perm",
27546 "/",
27547 [
5f26e15b
TL
27548 "Sys.Audit",
27549 "Datastore.Audit"
27550 ],
27551 "any",
27552 1
4d47f125 27553 ]
56122987 27554 },
95895385 27555 "proxyto" : "node",
4d47f125 27556 "returns" : {
7aacca6f 27557 "type" : "string"
4d47f125
TL
27558 }
27559 }
27560 },
5f26e15b
TL
27561 "leaf" : 1,
27562 "path" : "/nodes/{node}/ceph/config",
27563 "text" : "config"
4d47f125 27564 },
7cbed89a
TL
27565 {
27566 "info" : {
27567 "GET" : {
e9cd3bd4 27568 "allowtoken" : 1,
7cbed89a
TL
27569 "description" : "Get Ceph configuration database.",
27570 "method" : "GET",
27571 "name" : "configdb",
27572 "parameters" : {
27573 "additionalProperties" : 0,
27574 "properties" : {
27575 "node" : {
27576 "description" : "The cluster node name.",
27577 "format" : "pve-node",
27578 "type" : "string",
27579 "typetext" : "<string>"
27580 }
27581 }
27582 },
27583 "permissions" : {
27584 "check" : [
27585 "perm",
27586 "/",
27587 [
27588 "Sys.Audit",
27589 "Datastore.Audit"
27590 ],
27591 "any",
27592 1
27593 ]
27594 },
27595 "protected" : 1,
27596 "proxyto" : "node",
27597 "returns" : {
27598 "items" : {
27599 "properties" : {
27600 "can_update_at_runtime" : {
27601 "type" : "boolean"
27602 },
27603 "level" : {
27604 "type" : "string"
27605 },
27606 "mask" : {
27607 "type" : "string"
27608 },
27609 "name" : {
27610 "type" : "string"
27611 },
27612 "section" : {
27613 "type" : "string"
27614 },
27615 "value" : {
27616 "type" : "string"
27617 }
27618 },
27619 "type" : "object"
27620 },
27621 "type" : "array"
27622 }
27623 }
27624 },
27625 "leaf" : 1,
27626 "path" : "/nodes/{node}/ceph/configdb",
27627 "text" : "configdb"
27628 },
4d47f125
TL
27629 {
27630 "info" : {
27631 "POST" : {
e9cd3bd4 27632 "allowtoken" : 1,
4d47f125
TL
27633 "description" : "Create initial ceph default configuration and setup symlinks.",
27634 "method" : "POST",
27635 "name" : "init",
27636 "parameters" : {
27637 "additionalProperties" : 0,
27638 "properties" : {
e2d681b3
TL
27639 "cluster-network" : {
27640 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
27641 "format" : "CIDR",
27642 "maxLength" : 128,
27643 "optional" : 1,
27644 "requires" : "network",
27645 "type" : "string",
27646 "typetext" : "<string>"
27647 },
4d47f125
TL
27648 "disable_cephx" : {
27649 "default" : 0,
1e3f8156 27650 "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 27651 "optional" : 1,
4d47f125
TL
27652 "type" : "boolean",
27653 "typetext" : "<boolean>"
56122987 27654 },
4d47f125
TL
27655 "min_size" : {
27656 "default" : 2,
27657 "description" : "Minimum number of available replicas per object to allow I/O",
27658 "maximum" : 7,
27659 "minimum" : 1,
7aacca6f 27660 "optional" : 1,
4d47f125
TL
27661 "type" : "integer",
27662 "typetext" : "<integer> (1 - 7)"
7aacca6f 27663 },
4d47f125
TL
27664 "network" : {
27665 "description" : "Use specific network for all ceph related traffic",
27666 "format" : "CIDR",
27667 "maxLength" : 128,
5d9c884c 27668 "optional" : 1,
4d47f125
TL
27669 "type" : "string",
27670 "typetext" : "<string>"
5d9c884c 27671 },
4d47f125
TL
27672 "node" : {
27673 "description" : "The cluster node name.",
27674 "format" : "pve-node",
27675 "type" : "string",
27676 "typetext" : "<string>"
7aacca6f 27677 },
4d47f125
TL
27678 "pg_bits" : {
27679 "default" : 6,
27680 "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.",
27681 "maximum" : 14,
27682 "minimum" : 6,
de0983cb 27683 "optional" : 1,
4d47f125
TL
27684 "type" : "integer",
27685 "typetext" : "<integer> (6 - 14)"
de0983cb 27686 },
44660702 27687 "size" : {
4d47f125
TL
27688 "default" : 3,
27689 "description" : "Targeted number of replicas per object",
27690 "maximum" : 7,
27691 "minimum" : 1,
7aacca6f 27692 "optional" : 1,
4d47f125
TL
27693 "type" : "integer",
27694 "typetext" : "<integer> (1 - 7)"
56122987 27695 }
4d47f125 27696 }
44660702 27697 },
4d47f125
TL
27698 "permissions" : {
27699 "check" : [
27700 "perm",
27701 "/",
27702 [
27703 "Sys.Modify"
27704 ]
27705 ]
5da3d723 27706 },
4d47f125
TL
27707 "protected" : 1,
27708 "proxyto" : "node",
27709 "returns" : {
27710 "type" : "null"
27711 }
27712 }
27713 },
27714 "leaf" : 1,
27715 "path" : "/nodes/{node}/ceph/init",
27716 "text" : "init"
27717 },
4d47f125
TL
27718 {
27719 "info" : {
27720 "POST" : {
e9cd3bd4 27721 "allowtoken" : 1,
4d47f125
TL
27722 "description" : "Stop ceph services.",
27723 "method" : "POST",
27724 "name" : "stop",
27725 "parameters" : {
27726 "additionalProperties" : 0,
27727 "properties" : {
27728 "node" : {
27729 "description" : "The cluster node name.",
27730 "format" : "pve-node",
27731 "type" : "string",
27732 "typetext" : "<string>"
27733 },
27734 "service" : {
e2d681b3 27735 "default" : "ceph.target",
4d47f125
TL
27736 "description" : "Ceph service name.",
27737 "optional" : 1,
95895385 27738 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
27739 "type" : "string"
27740 }
27741 }
7aacca6f 27742 },
4d47f125
TL
27743 "permissions" : {
27744 "check" : [
27745 "perm",
27746 "/",
27747 [
27748 "Sys.Modify"
27749 ]
27750 ]
7aacca6f 27751 },
4d47f125
TL
27752 "protected" : 1,
27753 "proxyto" : "node",
27754 "returns" : {
27755 "type" : "string"
27756 }
27757 }
27758 },
27759 "leaf" : 1,
27760 "path" : "/nodes/{node}/ceph/stop",
27761 "text" : "stop"
27762 },
27763 {
27764 "info" : {
27765 "POST" : {
e9cd3bd4 27766 "allowtoken" : 1,
4d47f125
TL
27767 "description" : "Start ceph services.",
27768 "method" : "POST",
27769 "name" : "start",
27770 "parameters" : {
27771 "additionalProperties" : 0,
27772 "properties" : {
27773 "node" : {
27774 "description" : "The cluster node name.",
27775 "format" : "pve-node",
27776 "type" : "string",
27777 "typetext" : "<string>"
27778 },
27779 "service" : {
e2d681b3 27780 "default" : "ceph.target",
4d47f125
TL
27781 "description" : "Ceph service name.",
27782 "optional" : 1,
95895385 27783 "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
4d47f125
TL
27784 "type" : "string"
27785 }
27786 }
44660702 27787 },
4d47f125
TL
27788 "permissions" : {
27789 "check" : [
27790 "perm",
27791 "/",
27792 [
27793 "Sys.Modify"
27794 ]
27795 ]
44660702 27796 },
4d47f125
TL
27797 "protected" : 1,
27798 "proxyto" : "node",
27799 "returns" : {
27800 "type" : "string"
44660702 27801 }
7aacca6f
DM
27802 }
27803 },
4d47f125
TL
27804 "leaf" : 1,
27805 "path" : "/nodes/{node}/ceph/start",
27806 "text" : "start"
27807 },
e2d681b3
TL
27808 {
27809 "info" : {
27810 "POST" : {
e9cd3bd4 27811 "allowtoken" : 1,
e2d681b3
TL
27812 "description" : "Restart ceph services.",
27813 "method" : "POST",
27814 "name" : "restart",
27815 "parameters" : {
27816 "additionalProperties" : 0,
27817 "properties" : {
27818 "node" : {
27819 "description" : "The cluster node name.",
27820 "format" : "pve-node",
27821 "type" : "string",
27822 "typetext" : "<string>"
27823 },
27824 "service" : {
27825 "default" : "ceph.target",
27826 "description" : "Ceph service name.",
27827 "optional" : 1,
27828 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
27829 "type" : "string"
27830 }
27831 }
27832 },
27833 "permissions" : {
27834 "check" : [
27835 "perm",
27836 "/",
27837 [
27838 "Sys.Modify"
27839 ]
27840 ]
27841 },
27842 "protected" : 1,
27843 "proxyto" : "node",
27844 "returns" : {
27845 "type" : "string"
27846 }
27847 }
27848 },
27849 "leaf" : 1,
27850 "path" : "/nodes/{node}/ceph/restart",
27851 "text" : "restart"
27852 },
4d47f125
TL
27853 {
27854 "info" : {
27855 "GET" : {
e9cd3bd4 27856 "allowtoken" : 1,
4d47f125
TL
27857 "description" : "Get ceph status.",
27858 "method" : "GET",
27859 "name" : "status",
27860 "parameters" : {
27861 "additionalProperties" : 0,
27862 "properties" : {
27863 "node" : {
27864 "description" : "The cluster node name.",
27865 "format" : "pve-node",
27866 "type" : "string",
27867 "typetext" : "<string>"
27868 }
27869 }
27870 },
27871 "permissions" : {
27872 "check" : [
27873 "perm",
27874 "/",
27875 [
27876 "Sys.Audit",
27877 "Datastore.Audit"
27878 ],
27879 "any",
27880 1
27881 ]
27882 },
27883 "protected" : 1,
27884 "proxyto" : "node",
27885 "returns" : {
27886 "type" : "object"
27887 }
27888 }
44660702 27889 },
4d47f125
TL
27890 "leaf" : 1,
27891 "path" : "/nodes/{node}/ceph/status",
27892 "text" : "status"
27893 },
44660702 27894 {
56122987
DM
27895 "children" : [
27896 {
44660702
DM
27897 "info" : {
27898 "DELETE" : {
e9cd3bd4 27899 "allowtoken" : 1,
4d47f125 27900 "description" : "Destroy pool",
44660702 27901 "method" : "DELETE",
4d47f125 27902 "name" : "destroypool",
44660702
DM
27903 "parameters" : {
27904 "additionalProperties" : 0,
27905 "properties" : {
4d47f125 27906 "force" : {
44660702 27907 "default" : 0,
4d47f125 27908 "description" : "If true, destroys pool even if in use",
44660702 27909 "optional" : 1,
013dc89f
DM
27910 "type" : "boolean",
27911 "typetext" : "<boolean>"
7aacca6f 27912 },
4d47f125
TL
27913 "name" : {
27914 "description" : "The name of the pool. It must be unique.",
27915 "type" : "string",
27916 "typetext" : "<string>"
27917 },
44660702
DM
27918 "node" : {
27919 "description" : "The cluster node name.",
27920 "format" : "pve-node",
013dc89f
DM
27921 "type" : "string",
27922 "typetext" : "<string>"
56122987 27923 },
4d47f125
TL
27924 "remove_storages" : {
27925 "default" : 0,
27926 "description" : "Remove all pveceph-managed storages configured for this pool",
27927 "optional" : 1,
27928 "type" : "boolean",
27929 "typetext" : "<boolean>"
44660702 27930 }
56122987
DM
27931 }
27932 },
4d47f125
TL
27933 "permissions" : {
27934 "check" : [
27935 "perm",
27936 "/",
27937 [
27938 "Sys.Modify"
27939 ]
27940 ]
27941 },
44660702
DM
27942 "protected" : 1,
27943 "proxyto" : "node",
27944 "returns" : {
27945 "type" : "string"
27946 }
27947 }
27948 },
4d47f125
TL
27949 "leaf" : 1,
27950 "path" : "/nodes/{node}/ceph/pools/{name}",
27951 "text" : "{name}"
44660702
DM
27952 }
27953 ],
27954 "info" : {
27955 "GET" : {
e9cd3bd4 27956 "allowtoken" : 1,
4d47f125 27957 "description" : "List all pools.",
44660702 27958 "method" : "GET",
4d47f125 27959 "name" : "lspools",
44660702
DM
27960 "parameters" : {
27961 "additionalProperties" : 0,
27962 "properties" : {
27963 "node" : {
27964 "description" : "The cluster node name.",
27965 "format" : "pve-node",
013dc89f
DM
27966 "type" : "string",
27967 "typetext" : "<string>"
44660702
DM
27968 }
27969 }
27970 },
27971 "permissions" : {
27972 "check" : [
27973 "perm",
27974 "/",
27975 [
27976 "Sys.Audit",
27977 "Datastore.Audit"
27978 ],
27979 "any",
27980 1
27981 ]
27982 },
27983 "protected" : 1,
27984 "proxyto" : "node",
27985 "returns" : {
4d47f125
TL
27986 "items" : {
27987 "properties" : {
27988 "pool" : {
27989 "type" : "integer"
27990 },
27991 "pool_name" : {
27992 "type" : "string"
27993 },
27994 "size" : {
27995 "type" : "integer"
27996 }
27997 },
27998 "type" : "object"
27999 },
28000 "links" : [
28001 {
28002 "href" : "{pool_name}",
28003 "rel" : "child"
28004 }
28005 ],
28006 "type" : "array"
44660702
DM
28007 }
28008 },
28009 "POST" : {
e9cd3bd4 28010 "allowtoken" : 1,
4d47f125 28011 "description" : "Create POOL",
44660702 28012 "method" : "POST",
4d47f125 28013 "name" : "createpool",
44660702
DM
28014 "parameters" : {
28015 "additionalProperties" : 0,
28016 "properties" : {
4d47f125 28017 "add_storages" : {
e2d681b3 28018 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
28019 "optional" : 1,
28020 "type" : "boolean",
28021 "typetext" : "<boolean>"
28022 },
4d47f125
TL
28023 "application" : {
28024 "description" : "The application of the pool, 'rbd' by default.",
44660702 28025 "enum" : [
4d47f125
TL
28026 "rbd",
28027 "cephfs",
28028 "rgw"
44660702
DM
28029 ],
28030 "optional" : 1,
28031 "type" : "string"
28032 },
4d47f125
TL
28033 "crush_rule" : {
28034 "description" : "The rule to use for mapping object placement in the cluster.",
28035 "optional" : 1,
28036 "type" : "string",
28037 "typetext" : "<string>"
28038 },
28039 "min_size" : {
28040 "default" : 2,
28041 "description" : "Minimum number of replicas per object",
28042 "maximum" : 7,
28043 "minimum" : 1,
44660702 28044 "optional" : 1,
4d47f125
TL
28045 "type" : "integer",
28046 "typetext" : "<integer> (1 - 7)"
28047 },
28048 "name" : {
28049 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
28050 "type" : "string",
28051 "typetext" : "<string>"
44660702
DM
28052 },
28053 "node" : {
28054 "description" : "The cluster node name.",
28055 "format" : "pve-node",
013dc89f
DM
28056 "type" : "string",
28057 "typetext" : "<string>"
2489d6df 28058 },
4d47f125 28059 "pg_num" : {
e2d681b3 28060 "default" : 128,
4d47f125
TL
28061 "description" : "Number of placement groups.",
28062 "maximum" : 32768,
28063 "minimum" : 8,
2489d6df 28064 "optional" : 1,
4d47f125
TL
28065 "type" : "integer",
28066 "typetext" : "<integer> (8 - 32768)"
28067 },
28068 "size" : {
28069 "default" : 3,
28070 "description" : "Number of replicas per object",
28071 "maximum" : 7,
28072 "minimum" : 1,
28073 "optional" : 1,
28074 "type" : "integer",
28075 "typetext" : "<integer> (1 - 7)"
44660702 28076 }
56122987 28077 }
44660702 28078 },
4d47f125
TL
28079 "permissions" : {
28080 "check" : [
28081 "perm",
28082 "/",
28083 [
28084 "Sys.Modify"
28085 ]
28086 ]
28087 },
44660702
DM
28088 "protected" : 1,
28089 "proxyto" : "node",
28090 "returns" : {
28091 "type" : "string"
28092 }
56122987 28093 }
44660702 28094 },
7aacca6f 28095 "leaf" : 0,
4d47f125
TL
28096 "path" : "/nodes/{node}/ceph/pools",
28097 "text" : "pools"
7aacca6f
DM
28098 },
28099 {
4d47f125
TL
28100 "children" : [
28101 {
28102 "info" : {
28103 "DELETE" : {
e9cd3bd4 28104 "allowtoken" : 1,
4d47f125
TL
28105 "description" : "Unset a ceph flag",
28106 "method" : "DELETE",
28107 "name" : "unset_flag",
28108 "parameters" : {
28109 "additionalProperties" : 0,
28110 "properties" : {
28111 "flag" : {
1c532546 28112 "description" : "The ceph flag to unset",
4d47f125 28113 "enum" : [
1c532546
TL
28114 "nobackfill",
28115 "nodeep-scrub",
4d47f125 28116 "nodown",
4d47f125 28117 "noin",
1c532546 28118 "noout",
4d47f125
TL
28119 "norebalance",
28120 "norecover",
28121 "noscrub",
1c532546
TL
28122 "notieragent",
28123 "noup",
28124 "pause"
4d47f125
TL
28125 ],
28126 "type" : "string"
28127 },
28128 "node" : {
28129 "description" : "The cluster node name.",
28130 "format" : "pve-node",
28131 "type" : "string",
28132 "typetext" : "<string>"
28133 }
28134 }
28135 },
28136 "permissions" : {
28137 "check" : [
28138 "perm",
28139 "/",
28140 [
28141 "Sys.Modify"
28142 ]
28143 ]
28144 },
28145 "protected" : 1,
28146 "proxyto" : "node",
28147 "returns" : {
28148 "type" : "null"
28149 }
28150 },
28151 "POST" : {
e9cd3bd4 28152 "allowtoken" : 1,
1c532546 28153 "description" : "Set a specific ceph flag",
4d47f125
TL
28154 "method" : "POST",
28155 "name" : "set_flag",
28156 "parameters" : {
28157 "additionalProperties" : 0,
28158 "properties" : {
28159 "flag" : {
1c532546 28160 "description" : "The ceph flag to set",
4d47f125 28161 "enum" : [
1c532546
TL
28162 "nobackfill",
28163 "nodeep-scrub",
4d47f125 28164 "nodown",
4d47f125 28165 "noin",
1c532546 28166 "noout",
4d47f125
TL
28167 "norebalance",
28168 "norecover",
28169 "noscrub",
1c532546
TL
28170 "notieragent",
28171 "noup",
28172 "pause"
4d47f125
TL
28173 ],
28174 "type" : "string"
28175 },
28176 "node" : {
28177 "description" : "The cluster node name.",
28178 "format" : "pve-node",
28179 "type" : "string",
28180 "typetext" : "<string>"
28181 }
28182 }
28183 },
28184 "permissions" : {
28185 "check" : [
28186 "perm",
28187 "/",
28188 [
28189 "Sys.Modify"
28190 ]
28191 ]
28192 },
28193 "protected" : 1,
28194 "proxyto" : "node",
28195 "returns" : {
28196 "type" : "null"
28197 }
28198 }
28199 },
28200 "leaf" : 1,
28201 "path" : "/nodes/{node}/ceph/flags/{flag}",
28202 "text" : "{flag}"
28203 }
28204 ],
56122987
DM
28205 "info" : {
28206 "GET" : {
e9cd3bd4 28207 "allowtoken" : 1,
4d47f125 28208 "description" : "get all set ceph flags",
44660702 28209 "method" : "GET",
4d47f125 28210 "name" : "get_flags",
44660702
DM
28211 "parameters" : {
28212 "additionalProperties" : 0,
28213 "properties" : {
28214 "node" : {
28215 "description" : "The cluster node name.",
28216 "format" : "pve-node",
013dc89f
DM
28217 "type" : "string",
28218 "typetext" : "<string>"
44660702
DM
28219 }
28220 }
28221 },
56122987
DM
28222 "permissions" : {
28223 "check" : [
28224 "perm",
28225 "/",
28226 [
4d47f125
TL
28227 "Sys.Audit"
28228 ]
56122987 28229 ]
4d47f125
TL
28230 },
28231 "protected" : 1,
28232 "proxyto" : "node",
28233 "returns" : {
28234 "type" : "string"
44660702 28235 }
56122987 28236 }
44660702 28237 },
4d47f125
TL
28238 "leaf" : 0,
28239 "path" : "/nodes/{node}/ceph/flags",
28240 "text" : "flags"
56122987
DM
28241 },
28242 {
56122987
DM
28243 "info" : {
28244 "GET" : {
e9cd3bd4 28245 "allowtoken" : 1,
4d47f125 28246 "description" : "Get OSD crush map",
44660702 28247 "method" : "GET",
4d47f125 28248 "name" : "crush",
56122987 28249 "parameters" : {
7aacca6f 28250 "additionalProperties" : 0,
56122987 28251 "properties" : {
56122987 28252 "node" : {
7aacca6f 28253 "description" : "The cluster node name.",
44660702 28254 "format" : "pve-node",
013dc89f
DM
28255 "type" : "string",
28256 "typetext" : "<string>"
56122987 28257 }
7aacca6f 28258 }
56122987 28259 },
56122987
DM
28260 "permissions" : {
28261 "check" : [
28262 "perm",
28263 "/",
28264 [
28265 "Sys.Audit",
28266 "Datastore.Audit"
28267 ],
28268 "any",
28269 1
28270 ]
44660702 28271 },
4d47f125
TL
28272 "protected" : 1,
28273 "proxyto" : "node",
44660702
DM
28274 "returns" : {
28275 "type" : "string"
7aacca6f
DM
28276 }
28277 }
44660702
DM
28278 },
28279 "leaf" : 1,
4d47f125
TL
28280 "path" : "/nodes/{node}/ceph/crush",
28281 "text" : "crush"
7aacca6f
DM
28282 },
28283 {
7aacca6f
DM
28284 "info" : {
28285 "GET" : {
e9cd3bd4 28286 "allowtoken" : 1,
4d47f125 28287 "description" : "Read ceph log",
7aacca6f 28288 "method" : "GET",
4d47f125 28289 "name" : "log",
7aacca6f
DM
28290 "parameters" : {
28291 "additionalProperties" : 0,
28292 "properties" : {
4d47f125
TL
28293 "limit" : {
28294 "minimum" : 0,
28295 "optional" : 1,
28296 "type" : "integer",
28297 "typetext" : "<integer> (0 - N)"
28298 },
7aacca6f 28299 "node" : {
7aacca6f 28300 "description" : "The cluster node name.",
44660702 28301 "format" : "pve-node",
013dc89f
DM
28302 "type" : "string",
28303 "typetext" : "<string>"
4d47f125
TL
28304 },
28305 "start" : {
28306 "minimum" : 0,
28307 "optional" : 1,
28308 "type" : "integer",
28309 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
28310 }
28311 }
28312 },
44660702
DM
28313 "permissions" : {
28314 "check" : [
28315 "perm",
4d47f125 28316 "/nodes/{node}",
44660702 28317 [
4d47f125
TL
28318 "Sys.Syslog"
28319 ]
44660702
DM
28320 ]
28321 },
7aacca6f 28322 "protected" : 1,
44660702 28323 "proxyto" : "node",
7aacca6f
DM
28324 "returns" : {
28325 "items" : {
28326 "properties" : {
4d47f125
TL
28327 "n" : {
28328 "description" : "Line number",
28329 "type" : "integer"
56122987 28330 },
4d47f125
TL
28331 "t" : {
28332 "description" : "Line text",
56122987
DM
28333 "type" : "string"
28334 }
7aacca6f
DM
28335 },
28336 "type" : "object"
56122987
DM
28337 },
28338 "type" : "array"
44660702 28339 }
4d47f125
TL
28340 }
28341 },
28342 "leaf" : 1,
28343 "path" : "/nodes/{node}/ceph/log",
28344 "text" : "log"
28345 },
28346 {
28347 "info" : {
28348 "GET" : {
e9cd3bd4 28349 "allowtoken" : 1,
4d47f125
TL
28350 "description" : "List ceph rules.",
28351 "method" : "GET",
28352 "name" : "rules",
44660702
DM
28353 "parameters" : {
28354 "additionalProperties" : 0,
28355 "properties" : {
28356 "node" : {
28357 "description" : "The cluster node name.",
28358 "format" : "pve-node",
013dc89f
DM
28359 "type" : "string",
28360 "typetext" : "<string>"
44660702
DM
28361 }
28362 }
28363 },
7aacca6f
DM
28364 "permissions" : {
28365 "check" : [
28366 "perm",
28367 "/",
28368 [
4d47f125
TL
28369 "Sys.Audit",
28370 "Datastore.Audit"
28371 ],
28372 "any",
28373 1
7aacca6f
DM
28374 ]
28375 },
44660702 28376 "protected" : 1,
7aacca6f 28377 "proxyto" : "node",
56122987 28378 "returns" : {
4d47f125
TL
28379 "items" : {
28380 "properties" : {},
28381 "type" : "object"
28382 },
28383 "links" : [
28384 {
28385 "href" : "{name}",
28386 "rel" : "child"
28387 }
28388 ],
28389 "type" : "array"
44660702 28390 }
56122987 28391 }
44660702 28392 },
4d47f125
TL
28393 "leaf" : 1,
28394 "path" : "/nodes/{node}/ceph/rules",
28395 "text" : "rules"
28396 }
28397 ],
28398 "info" : {
28399 "GET" : {
e9cd3bd4 28400 "allowtoken" : 1,
4d47f125
TL
28401 "description" : "Directory index.",
28402 "method" : "GET",
28403 "name" : "index",
28404 "parameters" : {
28405 "additionalProperties" : 0,
28406 "properties" : {
28407 "node" : {
28408 "description" : "The cluster node name.",
28409 "format" : "pve-node",
28410 "type" : "string",
28411 "typetext" : "<string>"
28412 }
28413 }
28414 },
28415 "permissions" : {
28416 "check" : [
28417 "perm",
28418 "/",
28419 [
28420 "Sys.Audit",
28421 "Datastore.Audit"
28422 ],
28423 "any",
28424 1
28425 ]
28426 },
28427 "returns" : {
28428 "items" : {
28429 "properties" : {},
28430 "type" : "object"
28431 },
28432 "links" : [
28433 {
28434 "href" : "{name}",
28435 "rel" : "child"
28436 }
28437 ],
28438 "type" : "array"
28439 }
28440 }
28441 },
28442 "leaf" : 0,
28443 "path" : "/nodes/{node}/ceph",
28444 "text" : "ceph"
28445 },
28446 {
28447 "children" : [
56122987
DM
28448 {
28449 "info" : {
4d47f125 28450 "GET" : {
e9cd3bd4 28451 "allowtoken" : 1,
4d47f125
TL
28452 "description" : "Extract configuration from vzdump backup archive.",
28453 "method" : "GET",
28454 "name" : "extractconfig",
28455 "parameters" : {
28456 "additionalProperties" : 0,
28457 "properties" : {
44660702
DM
28458 "node" : {
28459 "description" : "The cluster node name.",
28460 "format" : "pve-node",
013dc89f
DM
28461 "type" : "string",
28462 "typetext" : "<string>"
44660702 28463 },
4d47f125
TL
28464 "volume" : {
28465 "description" : "Volume identifier",
28466 "type" : "string",
28467 "typetext" : "<string>"
44660702
DM
28468 }
28469 }
7aacca6f 28470 },
56122987 28471 "permissions" : {
4d47f125
TL
28472 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
28473 "user" : "all"
56122987 28474 },
7aacca6f 28475 "protected" : 1,
44660702
DM
28476 "proxyto" : "node",
28477 "returns" : {
4d47f125 28478 "type" : "string"
7aacca6f
DM
28479 }
28480 }
28481 },
7aacca6f 28482 "leaf" : 1,
4d47f125
TL
28483 "path" : "/nodes/{node}/vzdump/extractconfig",
28484 "text" : "extractconfig"
28485 }
28486 ],
28487 "info" : {
28488 "POST" : {
e9cd3bd4 28489 "allowtoken" : 1,
4d47f125
TL
28490 "description" : "Create backup.",
28491 "method" : "POST",
28492 "name" : "vzdump",
28493 "parameters" : {
28494 "additionalProperties" : 0,
28495 "properties" : {
28496 "all" : {
28497 "default" : 0,
28498 "description" : "Backup all known guest systems on this host.",
28499 "optional" : 1,
28500 "type" : "boolean",
28501 "typetext" : "<boolean>"
28502 },
28503 "bwlimit" : {
28504 "default" : 0,
28505 "description" : "Limit I/O bandwidth (KBytes per second).",
28506 "minimum" : 0,
28507 "optional" : 1,
28508 "type" : "integer",
28509 "typetext" : "<integer> (0 - N)"
28510 },
28511 "compress" : {
28512 "default" : "0",
28513 "description" : "Compress dump file.",
28514 "enum" : [
28515 "0",
28516 "1",
28517 "gzip",
28518 "lzo"
28519 ],
28520 "optional" : 1,
28521 "type" : "string"
28522 },
28523 "dumpdir" : {
28524 "description" : "Store resulting files to specified directory.",
28525 "optional" : 1,
28526 "type" : "string",
28527 "typetext" : "<string>"
28528 },
28529 "exclude" : {
28530 "description" : "Exclude specified guest systems (assumes --all)",
28531 "format" : "pve-vmid-list",
28532 "optional" : 1,
28533 "type" : "string",
28534 "typetext" : "<string>"
28535 },
28536 "exclude-path" : {
28537 "description" : "Exclude certain files/directories (shell globs).",
28538 "format" : "string-alist",
28539 "optional" : 1,
28540 "type" : "string",
28541 "typetext" : "<string>"
28542 },
28543 "ionice" : {
28544 "default" : 7,
28545 "description" : "Set CFQ ionice priority.",
28546 "maximum" : 8,
28547 "minimum" : 0,
28548 "optional" : 1,
28549 "type" : "integer",
28550 "typetext" : "<integer> (0 - 8)"
28551 },
28552 "lockwait" : {
28553 "default" : 180,
28554 "description" : "Maximal time to wait for the global lock (minutes).",
28555 "minimum" : 0,
28556 "optional" : 1,
28557 "type" : "integer",
28558 "typetext" : "<integer> (0 - N)"
28559 },
28560 "mailnotification" : {
28561 "default" : "always",
28562 "description" : "Specify when to send an email",
28563 "enum" : [
28564 "always",
28565 "failure"
28566 ],
28567 "optional" : 1,
28568 "type" : "string"
28569 },
28570 "mailto" : {
28571 "description" : "Comma-separated list of email addresses that should receive email notifications.",
28572 "format" : "string-list",
28573 "optional" : 1,
28574 "type" : "string",
28575 "typetext" : "<string>"
28576 },
28577 "maxfiles" : {
28578 "default" : 1,
28579 "description" : "Maximal number of backup files per guest system.",
28580 "minimum" : 1,
28581 "optional" : 1,
28582 "type" : "integer",
28583 "typetext" : "<integer> (1 - N)"
28584 },
28585 "mode" : {
28586 "default" : "snapshot",
28587 "description" : "Backup mode.",
28588 "enum" : [
28589 "snapshot",
28590 "suspend",
28591 "stop"
28592 ],
28593 "optional" : 1,
28594 "type" : "string"
28595 },
28596 "node" : {
28597 "description" : "Only run if executed on this node.",
28598 "format" : "pve-node",
28599 "optional" : 1,
28600 "type" : "string",
28601 "typetext" : "<string>"
28602 },
28603 "pigz" : {
28604 "default" : 0,
28605 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
28606 "optional" : 1,
28607 "type" : "integer",
28608 "typetext" : "<integer>"
28609 },
9226ccbc
TL
28610 "pool" : {
28611 "description" : "Backup all known guest systems included in the specified pool.",
28612 "optional" : 1,
28613 "type" : "string",
28614 "typetext" : "<string>"
28615 },
4d47f125
TL
28616 "quiet" : {
28617 "default" : 0,
28618 "description" : "Be quiet.",
28619 "optional" : 1,
28620 "type" : "boolean",
28621 "typetext" : "<boolean>"
28622 },
28623 "remove" : {
28624 "default" : 1,
28625 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
28626 "optional" : 1,
28627 "type" : "boolean",
28628 "typetext" : "<boolean>"
28629 },
28630 "script" : {
28631 "description" : "Use specified hook script.",
28632 "optional" : 1,
28633 "type" : "string",
28634 "typetext" : "<string>"
28635 },
28636 "size" : {
28637 "default" : 1024,
28638 "description" : "Unused, will be removed in a future release.",
28639 "minimum" : 500,
28640 "optional" : 1,
28641 "type" : "integer",
28642 "typetext" : "<integer> (500 - N)"
28643 },
28644 "stdexcludes" : {
28645 "default" : 1,
28646 "description" : "Exclude temporary files and logs.",
28647 "optional" : 1,
28648 "type" : "boolean",
28649 "typetext" : "<boolean>"
28650 },
28651 "stdout" : {
28652 "description" : "Write tar to stdout, not to a file.",
28653 "optional" : 1,
28654 "type" : "boolean",
28655 "typetext" : "<boolean>"
28656 },
28657 "stop" : {
28658 "default" : 0,
1e3f8156 28659 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
28660 "optional" : 1,
28661 "type" : "boolean",
28662 "typetext" : "<boolean>"
28663 },
28664 "stopwait" : {
28665 "default" : 10,
28666 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
28667 "minimum" : 0,
28668 "optional" : 1,
28669 "type" : "integer",
28670 "typetext" : "<integer> (0 - N)"
28671 },
28672 "storage" : {
28673 "description" : "Store resulting file to this storage.",
28674 "format" : "pve-storage-id",
28675 "optional" : 1,
28676 "type" : "string",
28677 "typetext" : "<string>"
28678 },
28679 "tmpdir" : {
28680 "description" : "Store temporary files to specified directory.",
28681 "optional" : 1,
28682 "type" : "string",
28683 "typetext" : "<string>"
28684 },
28685 "vmid" : {
28686 "description" : "The ID of the guest system you want to backup.",
28687 "format" : "pve-vmid-list",
28688 "optional" : 1,
28689 "type" : "string",
28690 "typetext" : "<string>"
28691 }
28692 }
28693 },
28694 "permissions" : {
28695 "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.",
28696 "user" : "all"
28697 },
28698 "protected" : 1,
28699 "proxyto" : "node",
28700 "returns" : {
28701 "type" : "string"
28702 }
28703 }
28704 },
28705 "leaf" : 0,
28706 "path" : "/nodes/{node}/vzdump",
28707 "text" : "vzdump"
28708 },
28709 {
28710 "children" : [
2489d6df
WB
28711 {
28712 "children" : [
28713 {
28714 "info" : {
4d47f125 28715 "GET" : {
e9cd3bd4 28716 "allowtoken" : 1,
4d47f125
TL
28717 "description" : "Read service properties",
28718 "method" : "GET",
28719 "name" : "service_state",
2489d6df
WB
28720 "parameters" : {
28721 "additionalProperties" : 0,
28722 "properties" : {
2489d6df
WB
28723 "node" : {
28724 "description" : "The cluster node name.",
28725 "format" : "pve-node",
28726 "type" : "string",
28727 "typetext" : "<string>"
4d47f125
TL
28728 },
28729 "service" : {
28730 "description" : "Service ID",
28731 "enum" : [
28732 "pveproxy",
28733 "pvedaemon",
28734 "spiceproxy",
28735 "pvestatd",
28736 "pve-cluster",
28737 "corosync",
28738 "pve-firewall",
28739 "pvefw-logger",
28740 "pve-ha-crm",
28741 "pve-ha-lrm",
28742 "sshd",
28743 "syslog",
28744 "cron",
28745 "postfix",
28746 "ksmtuned",
28747 "systemd-timesyncd"
28748 ],
28749 "type" : "string"
2489d6df
WB
28750 }
28751 }
28752 },
28753 "permissions" : {
28754 "check" : [
28755 "perm",
4d47f125 28756 "/nodes/{node}",
2489d6df 28757 [
4d47f125 28758 "Sys.Audit"
2489d6df
WB
28759 ]
28760 ]
28761 },
28762 "protected" : 1,
28763 "proxyto" : "node",
28764 "returns" : {
4d47f125 28765 "type" : "object"
2489d6df
WB
28766 }
28767 }
28768 },
28769 "leaf" : 1,
4d47f125
TL
28770 "path" : "/nodes/{node}/services/{service}/state",
28771 "text" : "state"
28772 },
28773 {
28774 "info" : {
28775 "POST" : {
e9cd3bd4 28776 "allowtoken" : 1,
4d47f125
TL
28777 "description" : "Start service.",
28778 "method" : "POST",
28779 "name" : "service_start",
28780 "parameters" : {
28781 "additionalProperties" : 0,
28782 "properties" : {
28783 "node" : {
28784 "description" : "The cluster node name.",
28785 "format" : "pve-node",
28786 "type" : "string",
28787 "typetext" : "<string>"
28788 },
28789 "service" : {
28790 "description" : "Service ID",
28791 "enum" : [
28792 "pveproxy",
28793 "pvedaemon",
28794 "spiceproxy",
28795 "pvestatd",
28796 "pve-cluster",
28797 "corosync",
28798 "pve-firewall",
28799 "pvefw-logger",
28800 "pve-ha-crm",
28801 "pve-ha-lrm",
28802 "sshd",
28803 "syslog",
28804 "cron",
28805 "postfix",
28806 "ksmtuned",
28807 "systemd-timesyncd"
28808 ],
28809 "type" : "string"
28810 }
28811 }
7aacca6f 28812 },
4d47f125
TL
28813 "permissions" : {
28814 "check" : [
28815 "perm",
28816 "/nodes/{node}",
28817 [
28818 "Sys.Modify"
28819 ]
28820 ]
7aacca6f 28821 },
4d47f125
TL
28822 "protected" : 1,
28823 "proxyto" : "node",
28824 "returns" : {
28825 "type" : "string"
28826 }
28827 }
56122987 28828 },
4d47f125
TL
28829 "leaf" : 1,
28830 "path" : "/nodes/{node}/services/{service}/start",
28831 "text" : "start"
28832 },
44660702
DM
28833 {
28834 "info" : {
4d47f125 28835 "POST" : {
e9cd3bd4 28836 "allowtoken" : 1,
4d47f125
TL
28837 "description" : "Stop service.",
28838 "method" : "POST",
28839 "name" : "service_stop",
44660702
DM
28840 "parameters" : {
28841 "additionalProperties" : 0,
28842 "properties" : {
44660702
DM
28843 "node" : {
28844 "description" : "The cluster node name.",
28845 "format" : "pve-node",
013dc89f
DM
28846 "type" : "string",
28847 "typetext" : "<string>"
2489d6df 28848 },
4d47f125
TL
28849 "service" : {
28850 "description" : "Service ID",
28851 "enum" : [
28852 "pveproxy",
28853 "pvedaemon",
28854 "spiceproxy",
28855 "pvestatd",
28856 "pve-cluster",
28857 "corosync",
28858 "pve-firewall",
28859 "pvefw-logger",
28860 "pve-ha-crm",
28861 "pve-ha-lrm",
28862 "sshd",
28863 "syslog",
28864 "cron",
28865 "postfix",
28866 "ksmtuned",
28867 "systemd-timesyncd"
28868 ],
28869 "type" : "string"
44660702
DM
28870 }
28871 }
28872 },
28873 "permissions" : {
28874 "check" : [
28875 "perm",
4d47f125 28876 "/nodes/{node}",
44660702
DM
28877 [
28878 "Sys.Modify"
28879 ]
28880 ]
28881 },
28882 "protected" : 1,
28883 "proxyto" : "node",
28884 "returns" : {
2489d6df 28885 "type" : "string"
44660702
DM
28886 }
28887 }
28888 },
28889 "leaf" : 1,
4d47f125
TL
28890 "path" : "/nodes/{node}/services/{service}/stop",
28891 "text" : "stop"
7aacca6f 28892 },
32d876b5
DM
28893 {
28894 "info" : {
4d47f125 28895 "POST" : {
e9cd3bd4 28896 "allowtoken" : 1,
4d47f125
TL
28897 "description" : "Restart service.",
28898 "method" : "POST",
28899 "name" : "service_restart",
32d876b5
DM
28900 "parameters" : {
28901 "additionalProperties" : 0,
28902 "properties" : {
4d47f125
TL
28903 "node" : {
28904 "description" : "The cluster node name.",
28905 "format" : "pve-node",
28906 "type" : "string",
28907 "typetext" : "<string>"
28908 },
28909 "service" : {
28910 "description" : "Service ID",
32d876b5 28911 "enum" : [
4d47f125
TL
28912 "pveproxy",
28913 "pvedaemon",
28914 "spiceproxy",
28915 "pvestatd",
28916 "pve-cluster",
28917 "corosync",
28918 "pve-firewall",
28919 "pvefw-logger",
28920 "pve-ha-crm",
28921 "pve-ha-lrm",
28922 "sshd",
28923 "syslog",
28924 "cron",
28925 "postfix",
28926 "ksmtuned",
28927 "systemd-timesyncd"
32d876b5
DM
28928 ],
28929 "type" : "string"
32d876b5
DM
28930 }
28931 }
28932 },
28933 "permissions" : {
28934 "check" : [
28935 "perm",
4d47f125 28936 "/nodes/{node}",
32d876b5
DM
28937 [
28938 "Sys.Modify"
28939 ]
28940 ]
28941 },
28942 "protected" : 1,
28943 "proxyto" : "node",
28944 "returns" : {
4d47f125 28945 "type" : "string"
32d876b5 28946 }
4d47f125
TL
28947 }
28948 },
28949 "leaf" : 1,
28950 "path" : "/nodes/{node}/services/{service}/restart",
28951 "text" : "restart"
28952 },
28953 {
28954 "info" : {
32d876b5 28955 "POST" : {
e9cd3bd4 28956 "allowtoken" : 1,
4d47f125 28957 "description" : "Reload service.",
32d876b5 28958 "method" : "POST",
4d47f125 28959 "name" : "service_reload",
32d876b5
DM
28960 "parameters" : {
28961 "additionalProperties" : 0,
28962 "properties" : {
32d876b5
DM
28963 "node" : {
28964 "description" : "The cluster node name.",
28965 "format" : "pve-node",
28966 "type" : "string",
28967 "typetext" : "<string>"
4d47f125
TL
28968 },
28969 "service" : {
28970 "description" : "Service ID",
28971 "enum" : [
28972 "pveproxy",
28973 "pvedaemon",
28974 "spiceproxy",
28975 "pvestatd",
28976 "pve-cluster",
28977 "corosync",
28978 "pve-firewall",
28979 "pvefw-logger",
28980 "pve-ha-crm",
28981 "pve-ha-lrm",
28982 "sshd",
28983 "syslog",
28984 "cron",
28985 "postfix",
28986 "ksmtuned",
28987 "systemd-timesyncd"
28988 ],
28989 "type" : "string"
32d876b5
DM
28990 }
28991 }
28992 },
28993 "permissions" : {
28994 "check" : [
28995 "perm",
4d47f125 28996 "/nodes/{node}",
32d876b5
DM
28997 [
28998 "Sys.Modify"
28999 ]
29000 ]
29001 },
29002 "protected" : 1,
29003 "proxyto" : "node",
29004 "returns" : {
4d47f125 29005 "type" : "string"
32d876b5
DM
29006 }
29007 }
29008 },
29009 "leaf" : 1,
4d47f125
TL
29010 "path" : "/nodes/{node}/services/{service}/reload",
29011 "text" : "reload"
32d876b5
DM
29012 }
29013 ],
29014 "info" : {
29015 "GET" : {
e9cd3bd4 29016 "allowtoken" : 1,
4d47f125 29017 "description" : "Directory index",
44660702 29018 "method" : "GET",
4d47f125 29019 "name" : "srvcmdidx",
44660702
DM
29020 "parameters" : {
29021 "additionalProperties" : 0,
29022 "properties" : {
44660702
DM
29023 "node" : {
29024 "description" : "The cluster node name.",
29025 "format" : "pve-node",
013dc89f
DM
29026 "type" : "string",
29027 "typetext" : "<string>"
44660702 29028 },
4d47f125
TL
29029 "service" : {
29030 "description" : "Service ID",
29031 "enum" : [
29032 "pveproxy",
29033 "pvedaemon",
29034 "spiceproxy",
29035 "pvestatd",
29036 "pve-cluster",
29037 "corosync",
29038 "pve-firewall",
29039 "pvefw-logger",
29040 "pve-ha-crm",
29041 "pve-ha-lrm",
29042 "sshd",
29043 "syslog",
29044 "cron",
29045 "postfix",
29046 "ksmtuned",
29047 "systemd-timesyncd"
29048 ],
29049 "type" : "string"
44660702 29050 }
7aacca6f 29051 }
56122987 29052 },
56122987
DM
29053 "permissions" : {
29054 "check" : [
29055 "perm",
7aacca6f 29056 "/nodes/{node}",
56122987 29057 [
4d47f125 29058 "Sys.Audit"
56122987
DM
29059 ]
29060 ]
29061 },
44660702
DM
29062 "returns" : {
29063 "items" : {
29064 "properties" : {
4d47f125 29065 "subdir" : {
44660702
DM
29066 "type" : "string"
29067 }
56122987 29068 },
44660702 29069 "type" : "object"
56122987 29070 },
2489d6df
WB
29071 "links" : [
29072 {
4d47f125 29073 "href" : "{subdir}",
2489d6df
WB
29074 "rel" : "child"
29075 }
29076 ],
29077 "type" : "array"
29078 }
29079 }
4d47f125
TL
29080 },
29081 "leaf" : 0,
29082 "path" : "/nodes/{node}/services/{service}",
29083 "text" : "{service}"
7aacca6f
DM
29084 }
29085 ],
44660702
DM
29086 "info" : {
29087 "GET" : {
e9cd3bd4 29088 "allowtoken" : 1,
4d47f125 29089 "description" : "Service list.",
44660702
DM
29090 "method" : "GET",
29091 "name" : "index",
29092 "parameters" : {
29093 "additionalProperties" : 0,
29094 "properties" : {
29095 "node" : {
29096 "description" : "The cluster node name.",
29097 "format" : "pve-node",
013dc89f
DM
29098 "type" : "string",
29099 "typetext" : "<string>"
44660702
DM
29100 }
29101 }
29102 },
29103 "permissions" : {
29104 "check" : [
29105 "perm",
4d47f125 29106 "/nodes/{node}",
44660702 29107 [
4d47f125
TL
29108 "Sys.Audit"
29109 ]
44660702
DM
29110 ]
29111 },
4d47f125
TL
29112 "protected" : 1,
29113 "proxyto" : "node",
44660702
DM
29114 "returns" : {
29115 "items" : {
29116 "properties" : {},
29117 "type" : "object"
29118 },
29119 "links" : [
29120 {
4d47f125 29121 "href" : "{service}",
44660702
DM
29122 "rel" : "child"
29123 }
29124 ],
29125 "type" : "array"
29126 }
29127 }
29128 },
7aacca6f 29129 "leaf" : 0,
4d47f125
TL
29130 "path" : "/nodes/{node}/services",
29131 "text" : "services"
7aacca6f
DM
29132 },
29133 {
7aacca6f 29134 "info" : {
4d47f125 29135 "GET" : {
e9cd3bd4 29136 "allowtoken" : 1,
4d47f125
TL
29137 "description" : "Read subscription info.",
29138 "method" : "GET",
29139 "name" : "get",
7aacca6f 29140 "parameters" : {
44660702 29141 "additionalProperties" : 0,
7aacca6f 29142 "properties" : {
44660702 29143 "node" : {
4d47f125 29144 "description" : "The cluster node name.",
44660702 29145 "format" : "pve-node",
013dc89f
DM
29146 "type" : "string",
29147 "typetext" : "<string>"
4d47f125
TL
29148 }
29149 }
29150 },
29151 "permissions" : {
29152 "user" : "all"
29153 },
29154 "proxyto" : "node",
29155 "returns" : {
29156 "type" : "object"
29157 }
29158 },
29159 "POST" : {
e9cd3bd4 29160 "allowtoken" : 1,
4d47f125
TL
29161 "description" : "Update subscription info.",
29162 "method" : "POST",
29163 "name" : "update",
29164 "parameters" : {
29165 "additionalProperties" : 0,
29166 "properties" : {
29167 "force" : {
29168 "default" : 0,
29169 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 29170 "optional" : 1,
4d47f125
TL
29171 "type" : "boolean",
29172 "typetext" : "<boolean>"
44660702 29173 },
4d47f125
TL
29174 "node" : {
29175 "description" : "The cluster node name.",
29176 "format" : "pve-node",
013dc89f
DM
29177 "type" : "string",
29178 "typetext" : "<string>"
4d47f125
TL
29179 }
29180 }
29181 },
29182 "permissions" : {
29183 "check" : [
29184 "perm",
29185 "/nodes/{node}",
29186 [
29187 "Sys.Modify"
29188 ]
29189 ]
29190 },
29191 "protected" : 1,
29192 "proxyto" : "node",
29193 "returns" : {
29194 "type" : "null"
29195 }
29196 },
29197 "PUT" : {
e9cd3bd4 29198 "allowtoken" : 1,
4d47f125
TL
29199 "description" : "Set subscription key.",
29200 "method" : "PUT",
29201 "name" : "set",
29202 "parameters" : {
29203 "additionalProperties" : 0,
29204 "properties" : {
29205 "key" : {
29206 "description" : "Proxmox VE subscription key",
29207 "maxLength" : 32,
5f26e15b 29208 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 29209 "type" : "string"
7aacca6f 29210 },
4d47f125
TL
29211 "node" : {
29212 "description" : "The cluster node name.",
29213 "format" : "pve-node",
013dc89f
DM
29214 "type" : "string",
29215 "typetext" : "<string>"
7aacca6f 29216 }
7aacca6f
DM
29217 }
29218 },
7aacca6f 29219 "permissions" : {
4d47f125
TL
29220 "check" : [
29221 "perm",
29222 "/nodes/{node}",
29223 [
29224 "Sys.Modify"
29225 ]
29226 ]
7aacca6f 29227 },
44660702 29228 "protected" : 1,
7aacca6f 29229 "proxyto" : "node",
7aacca6f 29230 "returns" : {
4d47f125 29231 "type" : "null"
7aacca6f
DM
29232 }
29233 }
29234 },
4d47f125
TL
29235 "leaf" : 1,
29236 "path" : "/nodes/{node}/subscription",
29237 "text" : "subscription"
44660702
DM
29238 },
29239 {
7aacca6f
DM
29240 "children" : [
29241 {
4d47f125
TL
29242 "info" : {
29243 "DELETE" : {
e9cd3bd4 29244 "allowtoken" : 1,
4d47f125
TL
29245 "description" : "Delete network device configuration",
29246 "method" : "DELETE",
29247 "name" : "delete_network",
29248 "parameters" : {
29249 "additionalProperties" : 0,
29250 "properties" : {
29251 "iface" : {
29252 "description" : "Network interface name.",
29253 "format" : "pve-iface",
29254 "maxLength" : 20,
29255 "minLength" : 2,
29256 "type" : "string",
29257 "typetext" : "<string>"
7aacca6f 29258 },
4d47f125
TL
29259 "node" : {
29260 "description" : "The cluster node name.",
29261 "format" : "pve-node",
29262 "type" : "string",
29263 "typetext" : "<string>"
44660702
DM
29264 }
29265 }
29266 },
4d47f125
TL
29267 "permissions" : {
29268 "check" : [
29269 "perm",
29270 "/nodes/{node}",
29271 [
29272 "Sys.Modify"
29273 ]
29274 ]
29275 },
29276 "protected" : 1,
29277 "proxyto" : "node",
29278 "returns" : {
29279 "type" : "null"
29280 }
29281 },
29282 "GET" : {
e9cd3bd4 29283 "allowtoken" : 1,
4d47f125
TL
29284 "description" : "Read network device configuration",
29285 "method" : "GET",
29286 "name" : "network_config",
29287 "parameters" : {
29288 "additionalProperties" : 0,
29289 "properties" : {
29290 "iface" : {
29291 "description" : "Network interface name.",
29292 "format" : "pve-iface",
29293 "maxLength" : 20,
29294 "minLength" : 2,
29295 "type" : "string",
29296 "typetext" : "<string>"
56122987 29297 },
4d47f125
TL
29298 "node" : {
29299 "description" : "The cluster node name.",
29300 "format" : "pve-node",
29301 "type" : "string",
29302 "typetext" : "<string>"
44660702
DM
29303 }
29304 }
29305 },
4d47f125
TL
29306 "permissions" : {
29307 "check" : [
29308 "perm",
29309 "/nodes/{node}",
29310 [
29311 "Sys.Audit"
29312 ]
29313 ]
29314 },
29315 "proxyto" : "node",
29316 "returns" : {
29317 "properties" : {
29318 "method" : {
29319 "type" : "string"
44660702 29320 },
4d47f125 29321 "type" : {
44660702
DM
29322 "type" : "string"
29323 }
4d47f125
TL
29324 },
29325 "type" : "object"
29326 }
56122987 29327 },
4d47f125 29328 "PUT" : {
e9cd3bd4 29329 "allowtoken" : 1,
4d47f125
TL
29330 "description" : "Update network device configuration",
29331 "method" : "PUT",
29332 "name" : "update_network",
29333 "parameters" : {
29334 "additionalProperties" : 0,
29335 "properties" : {
29336 "address" : {
29337 "description" : "IP address.",
29338 "format" : "ipv4",
29339 "optional" : 1,
29340 "requires" : "netmask",
29341 "type" : "string",
29342 "typetext" : "<string>"
29343 },
29344 "address6" : {
29345 "description" : "IP address.",
29346 "format" : "ipv6",
29347 "optional" : 1,
29348 "requires" : "netmask6",
29349 "type" : "string",
29350 "typetext" : "<string>"
29351 },
29352 "autostart" : {
29353 "description" : "Automatically start interface on boot.",
29354 "optional" : 1,
29355 "type" : "boolean",
29356 "typetext" : "<boolean>"
29357 },
e9cd3bd4
TL
29358 "bond-primary" : {
29359 "description" : "Specify the primary interface for active-backup bond.",
29360 "format" : "pve-iface",
29361 "optional" : 1,
29362 "type" : "string",
29363 "typetext" : "<string>"
29364 },
4d47f125
TL
29365 "bond_mode" : {
29366 "description" : "Bonding mode.",
29367 "enum" : [
29368 "balance-rr",
29369 "active-backup",
29370 "balance-xor",
29371 "broadcast",
29372 "802.3ad",
29373 "balance-tlb",
29374 "balance-alb",
29375 "balance-slb",
29376 "lacp-balance-slb",
29377 "lacp-balance-tcp"
29378 ],
29379 "optional" : 1,
29380 "type" : "string"
29381 },
29382 "bond_xmit_hash_policy" : {
29383 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
29384 "enum" : [
29385 "layer2",
29386 "layer2+3",
29387 "layer3+4"
29388 ],
29389 "optional" : 1,
29390 "type" : "string"
29391 },
29392 "bridge_ports" : {
1e3f8156 29393 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29394 "format" : "pve-iface-list",
29395 "optional" : 1,
29396 "type" : "string",
29397 "typetext" : "<string>"
29398 },
29399 "bridge_vlan_aware" : {
29400 "description" : "Enable bridge vlan support.",
29401 "optional" : 1,
29402 "type" : "boolean",
29403 "typetext" : "<boolean>"
29404 },
bb4c8cf8
TL
29405 "cidr" : {
29406 "description" : "IPv4 CIDR.",
29407 "format" : "CIDRv4",
29408 "optional" : 1,
29409 "type" : "string",
29410 "typetext" : "<string>"
29411 },
29412 "cidr6" : {
29413 "description" : "IPv6 CIDR.",
29414 "format" : "CIDRv6",
29415 "optional" : 1,
29416 "type" : "string",
29417 "typetext" : "<string>"
29418 },
4d47f125
TL
29419 "comments" : {
29420 "description" : "Comments",
29421 "optional" : 1,
29422 "type" : "string",
29423 "typetext" : "<string>"
29424 },
29425 "comments6" : {
29426 "description" : "Comments",
29427 "optional" : 1,
29428 "type" : "string",
29429 "typetext" : "<string>"
29430 },
29431 "delete" : {
29432 "description" : "A list of settings you want to delete.",
29433 "format" : "pve-configid-list",
29434 "optional" : 1,
29435 "type" : "string",
29436 "typetext" : "<string>"
29437 },
29438 "gateway" : {
29439 "description" : "Default gateway address.",
29440 "format" : "ipv4",
29441 "optional" : 1,
29442 "type" : "string",
29443 "typetext" : "<string>"
29444 },
29445 "gateway6" : {
29446 "description" : "Default ipv6 gateway address.",
29447 "format" : "ipv6",
29448 "optional" : 1,
29449 "type" : "string",
29450 "typetext" : "<string>"
29451 },
29452 "iface" : {
29453 "description" : "Network interface name.",
29454 "format" : "pve-iface",
29455 "maxLength" : 20,
29456 "minLength" : 2,
29457 "type" : "string",
29458 "typetext" : "<string>"
56122987 29459 },
e9cd3bd4
TL
29460 "mtu" : {
29461 "description" : "MTU.",
29462 "maximum" : 65520,
29463 "minimum" : 1280,
29464 "optional" : 1,
29465 "type" : "integer",
29466 "typetext" : "<integer> (1280 - 65520)"
29467 },
4d47f125
TL
29468 "netmask" : {
29469 "description" : "Network mask.",
29470 "format" : "ipv4mask",
29471 "optional" : 1,
29472 "requires" : "address",
29473 "type" : "string",
29474 "typetext" : "<string>"
29475 },
29476 "netmask6" : {
29477 "description" : "Network mask.",
29478 "maximum" : 128,
29479 "minimum" : 0,
29480 "optional" : 1,
29481 "requires" : "address6",
29482 "type" : "integer",
29483 "typetext" : "<integer> (0 - 128)"
56122987 29484 },
44660702
DM
29485 "node" : {
29486 "description" : "The cluster node name.",
29487 "format" : "pve-node",
013dc89f
DM
29488 "type" : "string",
29489 "typetext" : "<string>"
44660702 29490 },
4d47f125
TL
29491 "ovs_bonds" : {
29492 "description" : "Specify the interfaces used by the bonding device.",
29493 "format" : "pve-iface-list",
29494 "optional" : 1,
29495 "type" : "string",
29496 "typetext" : "<string>"
29497 },
29498 "ovs_bridge" : {
29499 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
29500 "format" : "pve-iface",
29501 "optional" : 1,
29502 "type" : "string",
29503 "typetext" : "<string>"
29504 },
29505 "ovs_options" : {
29506 "description" : "OVS interface options.",
29507 "maxLength" : 1024,
29508 "optional" : 1,
29509 "type" : "string",
29510 "typetext" : "<string>"
29511 },
29512 "ovs_ports" : {
1e3f8156 29513 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29514 "format" : "pve-iface-list",
29515 "optional" : 1,
29516 "type" : "string",
29517 "typetext" : "<string>"
29518 },
29519 "ovs_tag" : {
29520 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
29521 "maximum" : 4094,
29522 "minimum" : 1,
29523 "optional" : 1,
29524 "type" : "integer",
29525 "typetext" : "<integer> (1 - 4094)"
29526 },
29527 "slaves" : {
29528 "description" : "Specify the interfaces used by the bonding device.",
29529 "format" : "pve-iface-list",
29530 "optional" : 1,
29531 "type" : "string",
29532 "typetext" : "<string>"
29533 },
29534 "type" : {
29535 "description" : "Network interface type",
44660702 29536 "enum" : [
4d47f125
TL
29537 "bridge",
29538 "bond",
29539 "eth",
29540 "alias",
29541 "vlan",
29542 "OVSBridge",
29543 "OVSBond",
29544 "OVSPort",
29545 "OVSIntPort",
29546 "unknown"
44660702
DM
29547 ],
29548 "type" : "string"
e9cd3bd4
TL
29549 },
29550 "vlan-id" : {
29551 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
29552 "maximum" : 4094,
29553 "minimum" : 1,
29554 "optional" : 1,
29555 "type" : "integer",
29556 "typetext" : "<integer> (1 - 4094)"
29557 },
29558 "vlan-raw-device" : {
29559 "description" : "Specify the raw interface for the vlan interface.",
29560 "format" : "pve-iface",
29561 "optional" : 1,
29562 "type" : "string",
29563 "typetext" : "<string>"
44660702
DM
29564 }
29565 }
29566 },
29567 "permissions" : {
29568 "check" : [
29569 "perm",
29570 "/nodes/{node}",
29571 [
4d47f125 29572 "Sys.Modify"
44660702
DM
29573 ]
29574 ]
29575 },
4d47f125
TL
29576 "protected" : 1,
29577 "proxyto" : "node",
44660702 29578 "returns" : {
4d47f125 29579 "type" : "null"
44660702
DM
29580 }
29581 }
29582 },
4d47f125
TL
29583 "leaf" : 1,
29584 "path" : "/nodes/{node}/network/{iface}",
29585 "text" : "{iface}"
44660702
DM
29586 }
29587 ],
29588 "info" : {
4d47f125 29589 "DELETE" : {
e9cd3bd4 29590 "allowtoken" : 1,
4d47f125
TL
29591 "description" : "Revert network configuration changes.",
29592 "method" : "DELETE",
29593 "name" : "revert_network_changes",
44660702
DM
29594 "parameters" : {
29595 "additionalProperties" : 0,
29596 "properties" : {
29597 "node" : {
29598 "description" : "The cluster node name.",
29599 "format" : "pve-node",
013dc89f
DM
29600 "type" : "string",
29601 "typetext" : "<string>"
44660702
DM
29602 }
29603 }
29604 },
29605 "permissions" : {
29606 "check" : [
29607 "perm",
29608 "/nodes/{node}",
29609 [
4d47f125 29610 "Sys.Modify"
44660702
DM
29611 ]
29612 ]
29613 },
29614 "protected" : 1,
29615 "proxyto" : "node",
4d47f125
TL
29616 "returns" : {
29617 "type" : "null"
29618 }
29619 },
29620 "GET" : {
e9cd3bd4 29621 "allowtoken" : 1,
4d47f125
TL
29622 "description" : "List available networks",
29623 "method" : "GET",
29624 "name" : "index",
29625 "parameters" : {
29626 "additionalProperties" : 0,
29627 "properties" : {
29628 "node" : {
29629 "description" : "The cluster node name.",
29630 "format" : "pve-node",
29631 "type" : "string",
29632 "typetext" : "<string>"
29633 },
29634 "type" : {
29635 "description" : "Only list specific interface types.",
29636 "enum" : [
29637 "bridge",
29638 "bond",
29639 "eth",
29640 "alias",
29641 "vlan",
29642 "OVSBridge",
29643 "OVSBond",
29644 "OVSPort",
29645 "OVSIntPort",
29646 "any_bridge"
29647 ],
29648 "optional" : 1,
29649 "type" : "string"
29650 }
29651 }
29652 },
29653 "permissions" : {
29654 "user" : "all"
29655 },
29656 "proxyto" : "node",
44660702
DM
29657 "returns" : {
29658 "items" : {
29659 "properties" : {},
29660 "type" : "object"
29661 },
29662 "links" : [
29663 {
4d47f125 29664 "href" : "{iface}",
44660702 29665 "rel" : "child"
56122987 29666 }
44660702
DM
29667 ],
29668 "type" : "array"
29669 }
4d47f125
TL
29670 },
29671 "POST" : {
e9cd3bd4 29672 "allowtoken" : 1,
4d47f125
TL
29673 "description" : "Create network device configuration",
29674 "method" : "POST",
29675 "name" : "create_network",
7aacca6f 29676 "parameters" : {
44660702 29677 "additionalProperties" : 0,
7aacca6f 29678 "properties" : {
4d47f125
TL
29679 "address" : {
29680 "description" : "IP address.",
29681 "format" : "ipv4",
29682 "optional" : 1,
29683 "requires" : "netmask",
29684 "type" : "string",
29685 "typetext" : "<string>"
29686 },
29687 "address6" : {
29688 "description" : "IP address.",
29689 "format" : "ipv6",
29690 "optional" : 1,
29691 "requires" : "netmask6",
29692 "type" : "string",
29693 "typetext" : "<string>"
29694 },
29695 "autostart" : {
29696 "description" : "Automatically start interface on boot.",
29697 "optional" : 1,
29698 "type" : "boolean",
29699 "typetext" : "<boolean>"
29700 },
e9cd3bd4
TL
29701 "bond-primary" : {
29702 "description" : "Specify the primary interface for active-backup bond.",
29703 "format" : "pve-iface",
29704 "optional" : 1,
29705 "type" : "string",
29706 "typetext" : "<string>"
29707 },
4d47f125
TL
29708 "bond_mode" : {
29709 "description" : "Bonding mode.",
29710 "enum" : [
29711 "balance-rr",
29712 "active-backup",
29713 "balance-xor",
29714 "broadcast",
29715 "802.3ad",
29716 "balance-tlb",
29717 "balance-alb",
29718 "balance-slb",
29719 "lacp-balance-slb",
29720 "lacp-balance-tcp"
29721 ],
29722 "optional" : 1,
29723 "type" : "string"
29724 },
29725 "bond_xmit_hash_policy" : {
29726 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
29727 "enum" : [
29728 "layer2",
29729 "layer2+3",
29730 "layer3+4"
29731 ],
29732 "optional" : 1,
29733 "type" : "string"
29734 },
29735 "bridge_ports" : {
1e3f8156 29736 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29737 "format" : "pve-iface-list",
29738 "optional" : 1,
013dc89f
DM
29739 "type" : "string",
29740 "typetext" : "<string>"
4d47f125
TL
29741 },
29742 "bridge_vlan_aware" : {
29743 "description" : "Enable bridge vlan support.",
44660702 29744 "optional" : 1,
013dc89f
DM
29745 "type" : "boolean",
29746 "typetext" : "<boolean>"
44660702 29747 },
bb4c8cf8
TL
29748 "cidr" : {
29749 "description" : "IPv4 CIDR.",
29750 "format" : "CIDRv4",
29751 "optional" : 1,
29752 "type" : "string",
29753 "typetext" : "<string>"
29754 },
29755 "cidr6" : {
29756 "description" : "IPv6 CIDR.",
29757 "format" : "CIDRv6",
29758 "optional" : 1,
29759 "type" : "string",
29760 "typetext" : "<string>"
29761 },
4d47f125
TL
29762 "comments" : {
29763 "description" : "Comments",
29764 "optional" : 1,
29765 "type" : "string",
29766 "typetext" : "<string>"
29767 },
29768 "comments6" : {
29769 "description" : "Comments",
29770 "optional" : 1,
29771 "type" : "string",
29772 "typetext" : "<string>"
29773 },
29774 "gateway" : {
29775 "description" : "Default gateway address.",
29776 "format" : "ipv4",
29777 "optional" : 1,
29778 "type" : "string",
29779 "typetext" : "<string>"
29780 },
29781 "gateway6" : {
29782 "description" : "Default ipv6 gateway address.",
29783 "format" : "ipv6",
29784 "optional" : 1,
29785 "type" : "string",
29786 "typetext" : "<string>"
29787 },
29788 "iface" : {
29789 "description" : "Network interface name.",
29790 "format" : "pve-iface",
29791 "maxLength" : 20,
29792 "minLength" : 2,
29793 "type" : "string",
29794 "typetext" : "<string>"
29795 },
e9cd3bd4
TL
29796 "mtu" : {
29797 "description" : "MTU.",
29798 "maximum" : 65520,
29799 "minimum" : 1280,
29800 "optional" : 1,
29801 "type" : "integer",
29802 "typetext" : "<integer> (1280 - 65520)"
29803 },
4d47f125
TL
29804 "netmask" : {
29805 "description" : "Network mask.",
29806 "format" : "ipv4mask",
29807 "optional" : 1,
29808 "requires" : "address",
29809 "type" : "string",
29810 "typetext" : "<string>"
29811 },
29812 "netmask6" : {
29813 "description" : "Network mask.",
29814 "maximum" : 128,
29815 "minimum" : 0,
29816 "optional" : 1,
29817 "requires" : "address6",
29818 "type" : "integer",
29819 "typetext" : "<integer> (0 - 128)"
29820 },
7aacca6f 29821 "node" : {
7aacca6f 29822 "description" : "The cluster node name.",
44660702 29823 "format" : "pve-node",
013dc89f
DM
29824 "type" : "string",
29825 "typetext" : "<string>"
4d47f125
TL
29826 },
29827 "ovs_bonds" : {
29828 "description" : "Specify the interfaces used by the bonding device.",
29829 "format" : "pve-iface-list",
29830 "optional" : 1,
29831 "type" : "string",
29832 "typetext" : "<string>"
29833 },
29834 "ovs_bridge" : {
29835 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
29836 "format" : "pve-iface",
29837 "optional" : 1,
29838 "type" : "string",
29839 "typetext" : "<string>"
29840 },
29841 "ovs_options" : {
29842 "description" : "OVS interface options.",
29843 "maxLength" : 1024,
29844 "optional" : 1,
29845 "type" : "string",
29846 "typetext" : "<string>"
29847 },
29848 "ovs_ports" : {
1e3f8156 29849 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
29850 "format" : "pve-iface-list",
29851 "optional" : 1,
29852 "type" : "string",
29853 "typetext" : "<string>"
29854 },
29855 "ovs_tag" : {
29856 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
29857 "maximum" : 4094,
29858 "minimum" : 1,
29859 "optional" : 1,
29860 "type" : "integer",
29861 "typetext" : "<integer> (1 - 4094)"
29862 },
29863 "slaves" : {
29864 "description" : "Specify the interfaces used by the bonding device.",
29865 "format" : "pve-iface-list",
29866 "optional" : 1,
29867 "type" : "string",
29868 "typetext" : "<string>"
29869 },
29870 "type" : {
29871 "description" : "Network interface type",
29872 "enum" : [
29873 "bridge",
29874 "bond",
29875 "eth",
29876 "alias",
29877 "vlan",
29878 "OVSBridge",
29879 "OVSBond",
29880 "OVSPort",
29881 "OVSIntPort",
29882 "unknown"
29883 ],
29884 "type" : "string"
e9cd3bd4
TL
29885 },
29886 "vlan-id" : {
29887 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
29888 "maximum" : 4094,
29889 "minimum" : 1,
29890 "optional" : 1,
29891 "type" : "integer",
29892 "typetext" : "<integer> (1 - 4094)"
29893 },
29894 "vlan-raw-device" : {
29895 "description" : "Specify the raw interface for the vlan interface.",
29896 "format" : "pve-iface",
29897 "optional" : 1,
29898 "type" : "string",
29899 "typetext" : "<string>"
7aacca6f
DM
29900 }
29901 }
29902 },
35a75dd3
DM
29903 "permissions" : {
29904 "check" : [
29905 "perm",
29906 "/nodes/{node}",
29907 [
29908 "Sys.Modify"
29909 ]
29910 ]
29911 },
7aacca6f 29912 "protected" : 1,
7aacca6f 29913 "proxyto" : "node",
44660702
DM
29914 "returns" : {
29915 "type" : "null"
29916 }
29917 },
29918 "PUT" : {
e9cd3bd4 29919 "allowtoken" : 1,
4d47f125 29920 "description" : "Reload network configuration",
44660702 29921 "method" : "PUT",
4d47f125 29922 "name" : "reload_network_config",
7aacca6f
DM
29923 "parameters" : {
29924 "additionalProperties" : 0,
29925 "properties" : {
7aacca6f 29926 "node" : {
7aacca6f 29927 "description" : "The cluster node name.",
44660702 29928 "format" : "pve-node",
013dc89f
DM
29929 "type" : "string",
29930 "typetext" : "<string>"
7aacca6f
DM
29931 }
29932 }
29933 },
35a75dd3
DM
29934 "permissions" : {
29935 "check" : [
29936 "perm",
29937 "/nodes/{node}",
29938 [
29939 "Sys.Modify"
29940 ]
29941 ]
29942 },
44660702
DM
29943 "protected" : 1,
29944 "proxyto" : "node",
7aacca6f 29945 "returns" : {
4d47f125 29946 "type" : "string"
44660702 29947 }
7aacca6f
DM
29948 }
29949 },
4d47f125
TL
29950 "leaf" : 0,
29951 "path" : "/nodes/{node}/network",
29952 "text" : "network"
7aacca6f
DM
29953 },
29954 {
7aacca6f
DM
29955 "children" : [
29956 {
4d47f125
TL
29957 "children" : [
29958 {
29959 "info" : {
29960 "GET" : {
e9cd3bd4 29961 "allowtoken" : 1,
4d47f125
TL
29962 "description" : "Read task log.",
29963 "method" : "GET",
29964 "name" : "read_task_log",
29965 "parameters" : {
29966 "additionalProperties" : 0,
29967 "properties" : {
29968 "limit" : {
29969 "default" : 50,
29970 "minimum" : 0,
29971 "optional" : 1,
29972 "type" : "integer",
29973 "typetext" : "<integer> (0 - N)"
29974 },
29975 "node" : {
29976 "description" : "The cluster node name.",
29977 "format" : "pve-node",
29978 "type" : "string",
29979 "typetext" : "<string>"
29980 },
29981 "start" : {
29982 "default" : 0,
29983 "minimum" : 0,
29984 "optional" : 1,
29985 "type" : "integer",
29986 "typetext" : "<integer> (0 - N)"
29987 },
29988 "upid" : {
29989 "type" : "string",
29990 "typetext" : "<string>"
29991 }
29992 }
29993 },
29994 "permissions" : {
29995 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
29996 "user" : "all"
29997 },
29998 "protected" : 1,
29999 "proxyto" : "node",
30000 "returns" : {
30001 "items" : {
30002 "properties" : {
30003 "n" : {
30004 "description" : "Line number",
30005 "type" : "integer"
30006 },
30007 "t" : {
30008 "description" : "Line text",
30009 "type" : "string"
30010 }
30011 },
30012 "type" : "object"
30013 },
30014 "type" : "array"
30015 }
30016 }
30017 },
30018 "leaf" : 1,
30019 "path" : "/nodes/{node}/tasks/{upid}/log",
30020 "text" : "log"
30021 },
30022 {
30023 "info" : {
30024 "GET" : {
e9cd3bd4 30025 "allowtoken" : 1,
4d47f125
TL
30026 "description" : "Read task status.",
30027 "method" : "GET",
30028 "name" : "read_task_status",
30029 "parameters" : {
30030 "additionalProperties" : 0,
30031 "properties" : {
30032 "node" : {
30033 "description" : "The cluster node name.",
30034 "format" : "pve-node",
30035 "type" : "string",
30036 "typetext" : "<string>"
30037 },
30038 "upid" : {
30039 "type" : "string",
30040 "typetext" : "<string>"
30041 }
30042 }
30043 },
30044 "permissions" : {
30045 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
30046 "user" : "all"
30047 },
30048 "protected" : 1,
30049 "proxyto" : "node",
30050 "returns" : {
30051 "properties" : {
30052 "pid" : {
30053 "type" : "integer"
30054 },
30055 "status" : {
30056 "enum" : [
30057 "running",
30058 "stopped"
30059 ],
30060 "type" : "string"
30061 }
30062 },
30063 "type" : "object"
30064 }
30065 }
30066 },
30067 "leaf" : 1,
30068 "path" : "/nodes/{node}/tasks/{upid}/status",
30069 "text" : "status"
30070 }
30071 ],
56122987 30072 "info" : {
7aacca6f 30073 "DELETE" : {
e9cd3bd4 30074 "allowtoken" : 1,
4d47f125 30075 "description" : "Stop a task.",
44660702 30076 "method" : "DELETE",
4d47f125 30077 "name" : "stop_task",
44660702
DM
30078 "parameters" : {
30079 "additionalProperties" : 0,
30080 "properties" : {
44660702
DM
30081 "node" : {
30082 "description" : "The cluster node name.",
30083 "format" : "pve-node",
013dc89f
DM
30084 "type" : "string",
30085 "typetext" : "<string>"
4d47f125
TL
30086 },
30087 "upid" : {
30088 "type" : "string",
30089 "typetext" : "<string>"
44660702
DM
30090 }
30091 }
7aacca6f
DM
30092 },
30093 "permissions" : {
4d47f125
TL
30094 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
30095 "user" : "all"
7aacca6f 30096 },
44660702 30097 "protected" : 1,
7aacca6f 30098 "proxyto" : "node",
44660702
DM
30099 "returns" : {
30100 "type" : "null"
30101 }
30102 },
30103 "GET" : {
e9cd3bd4 30104 "allowtoken" : 1,
4d47f125 30105 "description" : "",
44660702 30106 "method" : "GET",
4d47f125 30107 "name" : "upid_index",
7aacca6f
DM
30108 "parameters" : {
30109 "additionalProperties" : 0,
30110 "properties" : {
7aacca6f 30111 "node" : {
44660702 30112 "description" : "The cluster node name.",
7aacca6f 30113 "format" : "pve-node",
013dc89f
DM
30114 "type" : "string",
30115 "typetext" : "<string>"
7aacca6f 30116 },
4d47f125
TL
30117 "upid" : {
30118 "type" : "string",
30119 "typetext" : "<string>"
7aacca6f
DM
30120 }
30121 }
30122 },
7aacca6f 30123 "permissions" : {
4d47f125 30124 "user" : "all"
7aacca6f
DM
30125 },
30126 "returns" : {
4d47f125
TL
30127 "items" : {
30128 "properties" : {},
30129 "type" : "object"
30130 },
30131 "links" : [
30132 {
30133 "href" : "{name}",
30134 "rel" : "child"
30135 }
30136 ],
30137 "type" : "array"
44660702 30138 }
7aacca6f
DM
30139 }
30140 },
4d47f125
TL
30141 "leaf" : 0,
30142 "path" : "/nodes/{node}/tasks/{upid}",
30143 "text" : "{upid}"
7aacca6f
DM
30144 }
30145 ],
7aacca6f 30146 "info" : {
44660702 30147 "GET" : {
e9cd3bd4 30148 "allowtoken" : 1,
4d47f125 30149 "description" : "Read task list for one node (finished tasks).",
44660702 30150 "method" : "GET",
4d47f125 30151 "name" : "node_tasks",
44660702
DM
30152 "parameters" : {
30153 "additionalProperties" : 0,
30154 "properties" : {
4d47f125
TL
30155 "errors" : {
30156 "default" : 0,
7aacca6f 30157 "optional" : 1,
4d47f125
TL
30158 "type" : "boolean",
30159 "typetext" : "<boolean>"
7aacca6f 30160 },
4d47f125
TL
30161 "limit" : {
30162 "default" : 50,
30163 "description" : "Only list this amount of tasks.",
30164 "minimum" : 0,
44660702 30165 "optional" : 1,
4d47f125
TL
30166 "type" : "integer",
30167 "typetext" : "<integer> (0 - N)"
30168 },
30169 "node" : {
30170 "description" : "The cluster node name.",
30171 "format" : "pve-node",
013dc89f
DM
30172 "type" : "string",
30173 "typetext" : "<string>"
44660702 30174 },
5f26e15b
TL
30175 "source" : {
30176 "default" : "archive",
30177 "description" : "List archived, active or all tasks.",
30178 "enum" : [
30179 "archive",
30180 "active",
30181 "all"
30182 ],
30183 "optional" : 1,
30184 "type" : "string"
30185 },
4d47f125
TL
30186 "start" : {
30187 "default" : 0,
30188 "description" : "List tasks beginning from this offset.",
30189 "minimum" : 0,
44660702 30190 "optional" : 1,
4d47f125
TL
30191 "type" : "integer",
30192 "typetext" : "<integer> (0 - N)"
44660702 30193 },
5f26e15b
TL
30194 "typefilter" : {
30195 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
30196 "optional" : 1,
30197 "type" : "string",
30198 "typetext" : "<string>"
30199 },
4d47f125
TL
30200 "userfilter" : {
30201 "description" : "Only list tasks from this user.",
44660702 30202 "optional" : 1,
013dc89f
DM
30203 "type" : "string",
30204 "typetext" : "<string>"
44660702 30205 },
4d47f125
TL
30206 "vmid" : {
30207 "description" : "Only list tasks for this VM.",
30208 "format" : "pve-vmid",
44660702
DM
30209 "minimum" : 1,
30210 "optional" : 1,
4bd7df8b 30211 "type" : "integer",
4d47f125
TL
30212 "typetext" : "<integer> (1 - N)"
30213 }
30214 }
30215 },
30216 "permissions" : {
30217 "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).",
30218 "user" : "all"
30219 },
30220 "proxyto" : "node",
30221 "returns" : {
30222 "items" : {
30223 "properties" : {
30224 "endtime" : {
30225 "optional" : 1,
30226 "title" : "Endtime",
30227 "type" : "integer"
30228 },
30229 "id" : {
4d47f125
TL
30230 "title" : "ID",
30231 "type" : "string"
30232 },
30233 "node" : {
4d47f125
TL
30234 "title" : "Node",
30235 "type" : "string"
30236 },
30237 "pid" : {
4d47f125
TL
30238 "title" : "PID",
30239 "type" : "integer"
30240 },
30241 "pstart" : {
4d47f125
TL
30242 "type" : "integer"
30243 },
30244 "starttime" : {
4d47f125
TL
30245 "title" : "Starttime",
30246 "type" : "integer"
30247 },
30248 "status" : {
30249 "optional" : 1,
30250 "title" : "Status",
30251 "type" : "string"
30252 },
30253 "type" : {
4d47f125
TL
30254 "title" : "Type",
30255 "type" : "string"
30256 },
30257 "upid" : {
30258 "title" : "UPID",
30259 "type" : "string"
30260 },
30261 "user" : {
4d47f125
TL
30262 "title" : "User",
30263 "type" : "string"
30264 }
44660702 30265 },
4d47f125
TL
30266 "type" : "object"
30267 },
30268 "links" : [
30269 {
30270 "href" : "{upid}",
30271 "rel" : "child"
30272 }
30273 ],
30274 "type" : "array"
30275 }
30276 }
30277 },
30278 "leaf" : 0,
30279 "path" : "/nodes/{node}/tasks",
30280 "text" : "tasks"
30281 },
30282 {
30283 "children" : [
30284 {
30285 "info" : {
30286 "GET" : {
e9cd3bd4 30287 "allowtoken" : 1,
4d47f125
TL
30288 "description" : "Scan zfs pool list on local node.",
30289 "method" : "GET",
30290 "name" : "zfsscan",
30291 "parameters" : {
30292 "additionalProperties" : 0,
30293 "properties" : {
30294 "node" : {
30295 "description" : "The cluster node name.",
30296 "format" : "pve-node",
30297 "type" : "string",
30298 "typetext" : "<string>"
30299 }
30300 }
44660702 30301 },
4d47f125
TL
30302 "permissions" : {
30303 "check" : [
30304 "perm",
30305 "/storage",
30306 [
30307 "Datastore.Allocate"
30308 ]
30309 ]
30310 },
30311 "protected" : 1,
30312 "proxyto" : "node",
30313 "returns" : {
30314 "items" : {
30315 "properties" : {
30316 "pool" : {
30317 "description" : "ZFS pool name.",
30318 "type" : "string"
30319 }
30320 },
30321 "type" : "object"
30322 },
30323 "type" : "array"
30324 }
30325 }
30326 },
30327 "leaf" : 1,
30328 "path" : "/nodes/{node}/scan/zfs",
30329 "text" : "zfs"
30330 },
30331 {
30332 "info" : {
30333 "GET" : {
e9cd3bd4 30334 "allowtoken" : 1,
4d47f125
TL
30335 "description" : "Scan remote NFS server.",
30336 "method" : "GET",
30337 "name" : "nfsscan",
30338 "parameters" : {
30339 "additionalProperties" : 0,
30340 "properties" : {
30341 "node" : {
30342 "description" : "The cluster node name.",
30343 "format" : "pve-node",
30344 "type" : "string",
30345 "typetext" : "<string>"
30346 },
30347 "server" : {
30348 "description" : "The server address (name or IP).",
30349 "format" : "pve-storage-server",
30350 "type" : "string",
30351 "typetext" : "<string>"
30352 }
30353 }
30354 },
30355 "permissions" : {
30356 "check" : [
30357 "perm",
30358 "/storage",
30359 [
30360 "Datastore.Allocate"
30361 ]
30362 ]
30363 },
30364 "protected" : 1,
30365 "proxyto" : "node",
30366 "returns" : {
30367 "items" : {
30368 "properties" : {
30369 "options" : {
30370 "description" : "NFS export options.",
30371 "type" : "string"
30372 },
30373 "path" : {
30374 "description" : "The exported path.",
30375 "type" : "string"
30376 }
30377 },
30378 "type" : "object"
30379 },
30380 "type" : "array"
30381 }
30382 }
30383 },
30384 "leaf" : 1,
30385 "path" : "/nodes/{node}/scan/nfs",
30386 "text" : "nfs"
30387 },
30388 {
30389 "info" : {
30390 "GET" : {
e9cd3bd4 30391 "allowtoken" : 1,
4d47f125
TL
30392 "description" : "Scan remote CIFS server.",
30393 "method" : "GET",
30394 "name" : "cifsscan",
30395 "parameters" : {
30396 "additionalProperties" : 0,
30397 "properties" : {
30398 "domain" : {
30399 "description" : "SMB domain (Workgroup).",
30400 "optional" : 1,
30401 "type" : "string",
30402 "typetext" : "<string>"
30403 },
30404 "node" : {
30405 "description" : "The cluster node name.",
30406 "format" : "pve-node",
30407 "type" : "string",
30408 "typetext" : "<string>"
30409 },
30410 "password" : {
30411 "description" : "User password.",
30412 "optional" : 1,
30413 "type" : "string",
30414 "typetext" : "<string>"
30415 },
30416 "server" : {
30417 "description" : "The server address (name or IP).",
30418 "format" : "pve-storage-server",
30419 "type" : "string",
30420 "typetext" : "<string>"
30421 },
30422 "username" : {
30423 "description" : "User name.",
30424 "optional" : 1,
30425 "type" : "string",
30426 "typetext" : "<string>"
30427 }
30428 }
30429 },
30430 "permissions" : {
30431 "check" : [
30432 "perm",
30433 "/storage",
30434 [
30435 "Datastore.Allocate"
30436 ]
30437 ]
30438 },
30439 "protected" : 1,
30440 "proxyto" : "node",
30441 "returns" : {
30442 "items" : {
30443 "properties" : {
30444 "description" : {
30445 "description" : "Descriptive text from server.",
30446 "type" : "string"
30447 },
30448 "share" : {
30449 "description" : "The cifs share name.",
30450 "type" : "string"
30451 }
30452 },
30453 "type" : "object"
30454 },
30455 "type" : "array"
56122987 30456 }
44660702 30457 }
56122987 30458 },
4d47f125
TL
30459 "leaf" : 1,
30460 "path" : "/nodes/{node}/scan/cifs",
30461 "text" : "cifs"
30462 },
44660702 30463 {
4d47f125
TL
30464 "info" : {
30465 "GET" : {
e9cd3bd4 30466 "allowtoken" : 1,
4d47f125
TL
30467 "description" : "Scan remote GlusterFS server.",
30468 "method" : "GET",
30469 "name" : "glusterfsscan",
30470 "parameters" : {
30471 "additionalProperties" : 0,
30472 "properties" : {
30473 "node" : {
30474 "description" : "The cluster node name.",
30475 "format" : "pve-node",
30476 "type" : "string",
30477 "typetext" : "<string>"
7aacca6f 30478 },
4d47f125
TL
30479 "server" : {
30480 "description" : "The server address (name or IP).",
30481 "format" : "pve-storage-server",
30482 "type" : "string",
30483 "typetext" : "<string>"
44660702 30484 }
7aacca6f 30485 }
56122987 30486 },
4d47f125
TL
30487 "permissions" : {
30488 "check" : [
30489 "perm",
30490 "/storage",
30491 [
30492 "Datastore.Allocate"
30493 ]
30494 ]
30495 },
30496 "protected" : 1,
30497 "proxyto" : "node",
30498 "returns" : {
30499 "items" : {
30500 "properties" : {
30501 "volname" : {
30502 "description" : "The volume name.",
30503 "type" : "string"
7aacca6f
DM
30504 }
30505 },
4d47f125
TL
30506 "type" : "object"
30507 },
30508 "type" : "array"
30509 }
30510 }
30511 },
30512 "leaf" : 1,
30513 "path" : "/nodes/{node}/scan/glusterfs",
30514 "text" : "glusterfs"
30515 },
30516 {
30517 "info" : {
30518 "GET" : {
e9cd3bd4 30519 "allowtoken" : 1,
4d47f125
TL
30520 "description" : "Scan remote iSCSI server.",
30521 "method" : "GET",
30522 "name" : "iscsiscan",
30523 "parameters" : {
30524 "additionalProperties" : 0,
30525 "properties" : {
30526 "node" : {
30527 "description" : "The cluster node name.",
30528 "format" : "pve-node",
30529 "type" : "string",
30530 "typetext" : "<string>"
56122987 30531 },
4d47f125
TL
30532 "portal" : {
30533 "description" : "The iSCSI portal (IP or DNS name with optional port).",
30534 "format" : "pve-storage-portal-dns",
30535 "type" : "string",
30536 "typetext" : "<string>"
30537 }
30538 }
30539 },
30540 "permissions" : {
30541 "check" : [
30542 "perm",
30543 "/storage",
30544 [
30545 "Datastore.Allocate"
30546 ]
30547 ]
30548 },
30549 "protected" : 1,
30550 "proxyto" : "node",
30551 "returns" : {
30552 "items" : {
30553 "properties" : {
30554 "portal" : {
30555 "description" : "The iSCSI portal name.",
30556 "type" : "string"
7aacca6f 30557 },
4d47f125
TL
30558 "target" : {
30559 "description" : "The iSCSI target name.",
30560 "type" : "string"
30561 }
30562 },
30563 "type" : "object"
30564 },
30565 "type" : "array"
30566 }
30567 }
30568 },
30569 "leaf" : 1,
30570 "path" : "/nodes/{node}/scan/iscsi",
30571 "text" : "iscsi"
30572 },
30573 {
30574 "info" : {
30575 "GET" : {
e9cd3bd4 30576 "allowtoken" : 1,
4d47f125
TL
30577 "description" : "List local LVM volume groups.",
30578 "method" : "GET",
30579 "name" : "lvmscan",
30580 "parameters" : {
30581 "additionalProperties" : 0,
30582 "properties" : {
30583 "node" : {
30584 "description" : "The cluster node name.",
30585 "format" : "pve-node",
30586 "type" : "string",
30587 "typetext" : "<string>"
56122987 30588 }
7aacca6f 30589 }
44660702 30590 },
4d47f125
TL
30591 "permissions" : {
30592 "check" : [
30593 "perm",
30594 "/storage",
30595 [
30596 "Datastore.Allocate"
30597 ]
30598 ]
30599 },
30600 "protected" : 1,
30601 "proxyto" : "node",
30602 "returns" : {
30603 "items" : {
30604 "properties" : {
30605 "vg" : {
30606 "description" : "The LVM logical volume group name.",
30607 "type" : "string"
30608 }
30609 },
30610 "type" : "object"
30611 },
30612 "type" : "array"
30613 }
56122987 30614 }
4d47f125
TL
30615 },
30616 "leaf" : 1,
30617 "path" : "/nodes/{node}/scan/lvm",
30618 "text" : "lvm"
30619 },
30620 {
44660702 30621 "info" : {
4d47f125 30622 "GET" : {
e9cd3bd4 30623 "allowtoken" : 1,
4d47f125
TL
30624 "description" : "List local LVM Thin Pools.",
30625 "method" : "GET",
30626 "name" : "lvmthinscan",
44660702
DM
30627 "parameters" : {
30628 "additionalProperties" : 0,
30629 "properties" : {
30630 "node" : {
30631 "description" : "The cluster node name.",
30632 "format" : "pve-node",
013dc89f
DM
30633 "type" : "string",
30634 "typetext" : "<string>"
44660702 30635 },
4d47f125
TL
30636 "vg" : {
30637 "maxLength" : 100,
30638 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
30639 "type" : "string"
44660702 30640 }
7aacca6f 30641 }
44660702
DM
30642 },
30643 "permissions" : {
4d47f125
TL
30644 "check" : [
30645 "perm",
30646 "/storage",
30647 [
30648 "Datastore.Allocate"
30649 ]
30650 ]
44660702
DM
30651 },
30652 "protected" : 1,
30653 "proxyto" : "node",
30654 "returns" : {
4d47f125
TL
30655 "items" : {
30656 "properties" : {
30657 "lv" : {
30658 "description" : "The LVM Thin Pool name (LVM logical volume).",
30659 "type" : "string"
30660 }
30661 },
30662 "type" : "object"
30663 },
30664 "type" : "array"
7aacca6f 30665 }
4d47f125
TL
30666 }
30667 },
30668 "leaf" : 1,
30669 "path" : "/nodes/{node}/scan/lvmthin",
30670 "text" : "lvmthin"
30671 },
30672 {
30673 "info" : {
44660702 30674 "GET" : {
e9cd3bd4 30675 "allowtoken" : 1,
4d47f125 30676 "description" : "List local USB devices.",
44660702 30677 "method" : "GET",
4d47f125 30678 "name" : "usbscan",
44660702
DM
30679 "parameters" : {
30680 "additionalProperties" : 0,
30681 "properties" : {
30682 "node" : {
30683 "description" : "The cluster node name.",
30684 "format" : "pve-node",
013dc89f
DM
30685 "type" : "string",
30686 "typetext" : "<string>"
44660702
DM
30687 }
30688 }
30689 },
30690 "permissions" : {
4d47f125
TL
30691 "check" : [
30692 "perm",
30693 "/",
30694 [
30695 "Sys.Modify"
30696 ]
30697 ]
44660702 30698 },
4d47f125
TL
30699 "protected" : 1,
30700 "proxyto" : "node",
44660702
DM
30701 "returns" : {
30702 "items" : {
4d47f125
TL
30703 "properties" : {
30704 "busnum" : {
30705 "type" : "integer"
30706 },
30707 "class" : {
30708 "type" : "integer"
30709 },
30710 "devnum" : {
30711 "type" : "integer"
30712 },
30713 "level" : {
30714 "type" : "integer"
30715 },
30716 "manufacturer" : {
30717 "optional" : 1,
30718 "type" : "string"
30719 },
30720 "port" : {
30721 "type" : "integer"
30722 },
30723 "prodid" : {
30724 "type" : "string"
30725 },
30726 "product" : {
30727 "optional" : 1,
30728 "type" : "string"
30729 },
30730 "serial" : {
30731 "optional" : 1,
30732 "type" : "string"
30733 },
30734 "speed" : {
30735 "type" : "string"
30736 },
30737 "usbpath" : {
30738 "optional" : 1,
30739 "type" : "string"
30740 },
30741 "vendid" : {
30742 "type" : "string"
30743 }
30744 },
44660702
DM
30745 "type" : "object"
30746 },
44660702 30747 "type" : "array"
56122987 30748 }
44660702 30749 }
56122987 30750 },
4d47f125
TL
30751 "leaf" : 1,
30752 "path" : "/nodes/{node}/scan/usb",
30753 "text" : "usb"
44660702
DM
30754 }
30755 ],
30756 "info" : {
30757 "GET" : {
e9cd3bd4 30758 "allowtoken" : 1,
4d47f125 30759 "description" : "Index of available scan methods",
44660702 30760 "method" : "GET",
4d47f125 30761 "name" : "index",
56122987 30762 "parameters" : {
7aacca6f 30763 "additionalProperties" : 0,
56122987 30764 "properties" : {
56122987
DM
30765 "node" : {
30766 "description" : "The cluster node name.",
44660702 30767 "format" : "pve-node",
013dc89f
DM
30768 "type" : "string",
30769 "typetext" : "<string>"
56122987
DM
30770 }
30771 }
30772 },
7aacca6f
DM
30773 "permissions" : {
30774 "user" : "all"
30775 },
56122987
DM
30776 "returns" : {
30777 "items" : {
30778 "properties" : {
4d47f125 30779 "method" : {
56122987
DM
30780 "type" : "string"
30781 }
30782 },
30783 "type" : "object"
30784 },
56122987
DM
30785 "links" : [
30786 {
4d47f125 30787 "href" : "{method}",
44660702 30788 "rel" : "child"
56122987 30789 }
44660702
DM
30790 ],
30791 "type" : "array"
56122987
DM
30792 }
30793 }
30794 },
44660702 30795 "leaf" : 0,
4d47f125
TL
30796 "path" : "/nodes/{node}/scan",
30797 "text" : "scan"
44660702 30798 },
e2d681b3
TL
30799 {
30800 "children" : [
30801 {
30802 "children" : [
30803 {
30804 "children" : [
30805 {
30806 "info" : {
30807 "GET" : {
e9cd3bd4 30808 "allowtoken" : 1,
e2d681b3
TL
30809 "description" : "List mediated device types for given PCI device.",
30810 "method" : "GET",
30811 "name" : "mdevscan",
30812 "parameters" : {
30813 "additionalProperties" : 0,
30814 "properties" : {
30815 "node" : {
30816 "description" : "The cluster node name.",
30817 "format" : "pve-node",
30818 "type" : "string",
30819 "typetext" : "<string>"
30820 },
30821 "pciid" : {
30822 "description" : "The PCI ID to list the mdev types for.",
30823 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
30824 "type" : "string"
30825 }
30826 }
30827 },
30828 "permissions" : {
30829 "check" : [
30830 "perm",
30831 "/",
30832 [
30833 "Sys.Modify"
30834 ]
30835 ]
30836 },
30837 "protected" : 1,
30838 "proxyto" : "node",
30839 "returns" : {
30840 "items" : {
30841 "properties" : {
30842 "available" : {
30843 "description" : "The number of still available instances of this type.",
30844 "type" : "integer"
30845 },
30846 "description" : {
30847 "type" : "string"
30848 },
30849 "type" : {
30850 "description" : "The name of the mdev type.",
30851 "type" : "string"
30852 }
30853 },
30854 "type" : "object"
30855 },
30856 "type" : "array"
30857 }
30858 }
30859 },
30860 "leaf" : 1,
30861 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
30862 "text" : "mdev"
30863 }
30864 ],
30865 "info" : {
30866 "GET" : {
e9cd3bd4 30867 "allowtoken" : 1,
e2d681b3
TL
30868 "description" : "Index of available pci methods",
30869 "method" : "GET",
30870 "name" : "pciindex",
30871 "parameters" : {
30872 "additionalProperties" : 0,
30873 "properties" : {
30874 "node" : {
30875 "description" : "The cluster node name.",
30876 "format" : "pve-node",
30877 "type" : "string",
30878 "typetext" : "<string>"
30879 },
30880 "pciid" : {
30881 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
30882 "type" : "string"
30883 }
30884 }
30885 },
30886 "permissions" : {
30887 "user" : "all"
30888 },
30889 "returns" : {
30890 "items" : {
30891 "properties" : {
30892 "method" : {
30893 "type" : "string"
30894 }
30895 },
30896 "type" : "object"
30897 },
30898 "links" : [
30899 {
30900 "href" : "{method}",
30901 "rel" : "child"
30902 }
30903 ],
30904 "type" : "array"
30905 }
30906 }
30907 },
30908 "leaf" : 0,
30909 "path" : "/nodes/{node}/hardware/pci/{pciid}",
30910 "text" : "{pciid}"
30911 }
30912 ],
30913 "info" : {
30914 "GET" : {
e9cd3bd4 30915 "allowtoken" : 1,
e2d681b3
TL
30916 "description" : "List local PCI devices.",
30917 "method" : "GET",
30918 "name" : "pciscan",
30919 "parameters" : {
30920 "additionalProperties" : 0,
30921 "properties" : {
30922 "node" : {
30923 "description" : "The cluster node name.",
30924 "format" : "pve-node",
30925 "type" : "string",
30926 "typetext" : "<string>"
30927 },
30928 "pci-class-blacklist" : {
30929 "default" : "05;06;08;0b",
30930 "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
30931 "format" : "string-list",
30932 "optional" : 1,
30933 "type" : "string",
30934 "typetext" : "<string>"
30935 },
30936 "verbose" : {
30937 "default" : 1,
30938 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
30939 "optional" : 1,
30940 "type" : "boolean",
30941 "typetext" : "<boolean>"
30942 }
30943 }
30944 },
30945 "permissions" : {
30946 "check" : [
30947 "perm",
30948 "/",
30949 [
30950 "Sys.Modify"
30951 ]
30952 ]
30953 },
30954 "protected" : 1,
30955 "proxyto" : "node",
30956 "returns" : {
30957 "items" : {
30958 "properties" : {
30959 "class" : {
30960 "description" : "The PCI Class of the device.",
30961 "type" : "string"
30962 },
30963 "device" : {
30964 "description" : "The Device ID.",
30965 "type" : "string"
30966 },
30967 "device_name" : {
30968 "optional" : 1,
30969 "type" : "string"
30970 },
30971 "id" : {
30972 "description" : "The PCI ID.",
30973 "type" : "string"
30974 },
30975 "iommugroup" : {
30976 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
30977 "type" : "integer"
30978 },
30979 "mdev" : {
30980 "description" : "If set, marks that the device is capable of creating mediated devices.",
30981 "optional" : 1,
30982 "type" : "boolean"
30983 },
30984 "subsystem_device" : {
30985 "description" : "The Subsystem Device ID.",
30986 "optional" : 1,
30987 "type" : "string"
30988 },
30989 "subsystem_device_name" : {
30990 "optional" : 1,
30991 "type" : "string"
30992 },
30993 "subsystem_vendor" : {
30994 "description" : "The Subsystem Vendor ID.",
30995 "optional" : 1,
30996 "type" : "string"
30997 },
30998 "subsystem_vendor_name" : {
30999 "optional" : 1,
31000 "type" : "string"
31001 },
31002 "vendor" : {
31003 "description" : "The Vendor ID.",
31004 "type" : "string"
31005 },
31006 "vendor_name" : {
31007 "optional" : 1,
31008 "type" : "string"
31009 }
31010 },
31011 "type" : "object"
31012 },
31013 "links" : [
31014 {
31015 "href" : "{id}",
31016 "rel" : "child"
31017 }
31018 ],
31019 "type" : "array"
31020 }
31021 }
31022 },
31023 "leaf" : 0,
31024 "path" : "/nodes/{node}/hardware/pci",
31025 "text" : "pci"
31026 }
31027 ],
31028 "info" : {
31029 "GET" : {
e9cd3bd4 31030 "allowtoken" : 1,
e2d681b3
TL
31031 "description" : "Index of hardware types",
31032 "method" : "GET",
31033 "name" : "index",
31034 "parameters" : {
31035 "additionalProperties" : 0,
31036 "properties" : {
31037 "node" : {
31038 "description" : "The cluster node name.",
31039 "format" : "pve-node",
31040 "type" : "string",
31041 "typetext" : "<string>"
31042 }
31043 }
31044 },
31045 "permissions" : {
31046 "user" : "all"
31047 },
31048 "returns" : {
31049 "items" : {
31050 "properties" : {
31051 "type" : {
31052 "type" : "string"
31053 }
31054 },
31055 "type" : "object"
31056 },
31057 "links" : [
31058 {
31059 "href" : "{type}",
31060 "rel" : "child"
31061 }
31062 ],
31063 "type" : "array"
31064 }
31065 }
31066 },
31067 "leaf" : 0,
31068 "path" : "/nodes/{node}/hardware",
31069 "text" : "hardware"
31070 },
44660702 31071 {
56122987
DM
31072 "children" : [
31073 {
4d47f125
TL
31074 "children" : [
31075 {
31076 "children" : [
31077 {
31078 "info" : {
31079 "DELETE" : {
e9cd3bd4 31080 "allowtoken" : 1,
4d47f125
TL
31081 "description" : "Delete volume",
31082 "method" : "DELETE",
31083 "name" : "delete",
31084 "parameters" : {
31085 "additionalProperties" : 0,
31086 "properties" : {
1c532546
TL
31087 "delay" : {
31088 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
31089 "maximum" : 30,
31090 "minimum" : 1,
31091 "optional" : 1,
31092 "type" : "integer",
31093 "typetext" : "<integer> (1 - 30)"
31094 },
4d47f125
TL
31095 "node" : {
31096 "description" : "The cluster node name.",
31097 "format" : "pve-node",
31098 "type" : "string",
31099 "typetext" : "<string>"
31100 },
31101 "storage" : {
31102 "description" : "The storage identifier.",
31103 "format" : "pve-storage-id",
31104 "optional" : 1,
31105 "type" : "string",
31106 "typetext" : "<string>"
31107 },
31108 "volume" : {
31109 "description" : "Volume identifier",
31110 "type" : "string",
31111 "typetext" : "<string>"
31112 }
31113 }
31114 },
31115 "permissions" : {
31116 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
31117 "user" : "all"
31118 },
31119 "protected" : 1,
31120 "proxyto" : "node",
31121 "returns" : {
1c532546
TL
31122 "optional" : 1,
31123 "type" : "string"
4d47f125
TL
31124 }
31125 },
31126 "GET" : {
e9cd3bd4 31127 "allowtoken" : 1,
4d47f125
TL
31128 "description" : "Get volume attributes",
31129 "method" : "GET",
31130 "name" : "info",
31131 "parameters" : {
31132 "additionalProperties" : 0,
31133 "properties" : {
31134 "node" : {
31135 "description" : "The cluster node name.",
31136 "format" : "pve-node",
31137 "type" : "string",
31138 "typetext" : "<string>"
31139 },
31140 "storage" : {
31141 "description" : "The storage identifier.",
31142 "format" : "pve-storage-id",
31143 "optional" : 1,
31144 "type" : "string",
31145 "typetext" : "<string>"
31146 },
31147 "volume" : {
31148 "description" : "Volume identifier",
31149 "type" : "string",
31150 "typetext" : "<string>"
31151 }
31152 }
31153 },
31154 "permissions" : {
31155 "description" : "You need read access for the volume.",
31156 "user" : "all"
31157 },
31158 "protected" : 1,
31159 "proxyto" : "node",
31160 "returns" : {
31161 "type" : "object"
31162 }
31163 },
31164 "POST" : {
e9cd3bd4 31165 "allowtoken" : 1,
4d47f125
TL
31166 "description" : "Copy a volume. This is experimental code - do not use.",
31167 "method" : "POST",
31168 "name" : "copy",
31169 "parameters" : {
31170 "additionalProperties" : 0,
31171 "properties" : {
31172 "node" : {
31173 "description" : "The cluster node name.",
31174 "format" : "pve-node",
31175 "type" : "string",
31176 "typetext" : "<string>"
31177 },
31178 "storage" : {
31179 "description" : "The storage identifier.",
31180 "format" : "pve-storage-id",
31181 "optional" : 1,
31182 "type" : "string",
31183 "typetext" : "<string>"
31184 },
31185 "target" : {
31186 "description" : "Target volume identifier",
31187 "type" : "string",
31188 "typetext" : "<string>"
31189 },
31190 "target_node" : {
31191 "description" : "Target node. Default is local node.",
31192 "format" : "pve-node",
31193 "optional" : 1,
31194 "type" : "string",
31195 "typetext" : "<string>"
31196 },
31197 "volume" : {
31198 "description" : "Source volume identifier",
31199 "type" : "string",
31200 "typetext" : "<string>"
31201 }
31202 }
31203 },
31204 "protected" : 1,
31205 "proxyto" : "node",
31206 "returns" : {
31207 "type" : "string"
31208 }
31209 }
31210 },
31211 "leaf" : 1,
31212 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
31213 "text" : "{volume}"
44660702 31214 }
4d47f125
TL
31215 ],
31216 "info" : {
31217 "GET" : {
e9cd3bd4 31218 "allowtoken" : 1,
4d47f125
TL
31219 "description" : "List storage content.",
31220 "method" : "GET",
31221 "name" : "index",
31222 "parameters" : {
31223 "additionalProperties" : 0,
31224 "properties" : {
31225 "content" : {
31226 "description" : "Only list content of this type.",
31227 "format" : "pve-storage-content",
31228 "optional" : 1,
31229 "type" : "string",
31230 "typetext" : "<string>"
31231 },
31232 "node" : {
31233 "description" : "The cluster node name.",
31234 "format" : "pve-node",
31235 "type" : "string",
31236 "typetext" : "<string>"
31237 },
31238 "storage" : {
31239 "description" : "The storage identifier.",
31240 "format" : "pve-storage-id",
31241 "type" : "string",
31242 "typetext" : "<string>"
31243 },
31244 "vmid" : {
31245 "description" : "Only list images for this VM",
31246 "format" : "pve-vmid",
31247 "minimum" : 1,
31248 "optional" : 1,
31249 "type" : "integer",
31250 "typetext" : "<integer> (1 - N)"
31251 }
56122987 31252 }
44660702 31253 },
4d47f125
TL
31254 "permissions" : {
31255 "check" : [
31256 "perm",
31257 "/storage/{storage}",
31258 [
31259 "Datastore.Audit",
31260 "Datastore.AllocateSpace"
31261 ],
31262 "any",
31263 1
31264 ]
7aacca6f 31265 },
4d47f125
TL
31266 "protected" : 1,
31267 "proxyto" : "node",
31268 "returns" : {
31269 "items" : {
31270 "properties" : {
31271 "format" : {
31272 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
31273 "type" : "string"
31274 },
31275 "parent" : {
31276 "description" : "Volume identifier of parent (for linked cloned).",
31277 "optional" : 1,
31278 "type" : "string"
31279 },
31280 "size" : {
31281 "description" : "Volume size in bytes.",
31282 "renderer" : "bytes",
31283 "type" : "integer"
31284 },
31285 "used" : {
31286 "description" : "Used space. Please note that most storage plugins does not report anything useful here.",
31287 "optional" : 1,
31288 "renderer" : "bytes",
31289 "type" : "integer"
31290 },
31291 "vmid" : {
31292 "description" : "Associated Owner VMID.",
31293 "optional" : 1,
31294 "type" : "integer"
31295 },
31296 "volid" : {
31297 "description" : "Volume identifier.",
31298 "type" : "string"
31299 }
31300 },
31301 "type" : "object"
44660702 31302 },
4d47f125
TL
31303 "links" : [
31304 {
31305 "href" : "{volid}",
31306 "rel" : "child"
31307 }
31308 ],
31309 "type" : "array"
31310 }
31311 },
31312 "POST" : {
e9cd3bd4 31313 "allowtoken" : 1,
4d47f125
TL
31314 "description" : "Allocate disk images.",
31315 "method" : "POST",
31316 "name" : "create",
31317 "parameters" : {
31318 "additionalProperties" : 0,
31319 "properties" : {
31320 "filename" : {
31321 "description" : "The name of the file to create.",
31322 "type" : "string",
31323 "typetext" : "<string>"
31324 },
31325 "format" : {
31326 "enum" : [
31327 "raw",
31328 "qcow2",
31329 "subvol"
31330 ],
31331 "optional" : 1,
31332 "requires" : "size",
31333 "type" : "string"
31334 },
31335 "node" : {
31336 "description" : "The cluster node name.",
31337 "format" : "pve-node",
31338 "type" : "string",
31339 "typetext" : "<string>"
31340 },
31341 "size" : {
31342 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
31343 "pattern" : "\\d+[MG]?",
31344 "type" : "string"
31345 },
31346 "storage" : {
31347 "description" : "The storage identifier.",
31348 "format" : "pve-storage-id",
31349 "type" : "string",
31350 "typetext" : "<string>"
31351 },
31352 "vmid" : {
31353 "description" : "Specify owner VM",
31354 "format" : "pve-vmid",
31355 "minimum" : 1,
31356 "type" : "integer",
31357 "typetext" : "<integer> (1 - N)"
31358 }
44660702
DM
31359 }
31360 },
4d47f125
TL
31361 "permissions" : {
31362 "check" : [
31363 "perm",
31364 "/storage/{storage}",
31365 [
31366 "Datastore.AllocateSpace"
31367 ]
31368 ]
27a7acb2 31369 },
4d47f125
TL
31370 "protected" : 1,
31371 "proxyto" : "node",
31372 "returns" : {
31373 "description" : "Volume identifier",
31374 "type" : "string"
27a7acb2
DM
31375 }
31376 }
31377 },
4d47f125
TL
31378 "leaf" : 0,
31379 "path" : "/nodes/{node}/storage/{storage}/content",
31380 "text" : "content"
31381 },
31382 {
31383 "info" : {
31384 "GET" : {
e9cd3bd4 31385 "allowtoken" : 1,
4d47f125
TL
31386 "description" : "Read storage status.",
31387 "method" : "GET",
31388 "name" : "read_status",
31389 "parameters" : {
31390 "additionalProperties" : 0,
31391 "properties" : {
31392 "node" : {
31393 "description" : "The cluster node name.",
31394 "format" : "pve-node",
31395 "type" : "string",
31396 "typetext" : "<string>"
31397 },
31398 "storage" : {
31399 "description" : "The storage identifier.",
31400 "format" : "pve-storage-id",
31401 "type" : "string",
31402 "typetext" : "<string>"
31403 }
27a7acb2
DM
31404 }
31405 },
4d47f125
TL
31406 "permissions" : {
31407 "check" : [
31408 "perm",
31409 "/storage/{storage}",
31410 [
31411 "Datastore.Audit",
31412 "Datastore.AllocateSpace"
31413 ],
31414 "any",
31415 1
31416 ]
7aacca6f 31417 },
4d47f125
TL
31418 "protected" : 1,
31419 "proxyto" : "node",
31420 "returns" : {
31421 "type" : "object"
56122987 31422 }
44660702
DM
31423 }
31424 },
4d47f125
TL
31425 "leaf" : 1,
31426 "path" : "/nodes/{node}/storage/{storage}/status",
31427 "text" : "status"
31428 },
31429 {
31430 "info" : {
31431 "GET" : {
e9cd3bd4 31432 "allowtoken" : 1,
4d47f125
TL
31433 "description" : "Read storage RRD statistics (returns PNG).",
31434 "method" : "GET",
31435 "name" : "rrd",
31436 "parameters" : {
31437 "additionalProperties" : 0,
31438 "properties" : {
31439 "cf" : {
31440 "description" : "The RRD consolidation function",
31441 "enum" : [
31442 "AVERAGE",
31443 "MAX"
31444 ],
31445 "optional" : 1,
31446 "type" : "string"
31447 },
31448 "ds" : {
31449 "description" : "The list of datasources you want to display.",
31450 "format" : "pve-configid-list",
31451 "type" : "string",
31452 "typetext" : "<string>"
31453 },
31454 "node" : {
31455 "description" : "The cluster node name.",
31456 "format" : "pve-node",
31457 "type" : "string",
31458 "typetext" : "<string>"
31459 },
31460 "storage" : {
31461 "description" : "The storage identifier.",
31462 "format" : "pve-storage-id",
31463 "type" : "string",
31464 "typetext" : "<string>"
31465 },
31466 "timeframe" : {
31467 "description" : "Specify the time frame you are interested in.",
31468 "enum" : [
31469 "hour",
31470 "day",
31471 "week",
31472 "month",
31473 "year"
31474 ],
31475 "type" : "string"
31476 }
44660702
DM
31477 }
31478 },
4d47f125
TL
31479 "permissions" : {
31480 "check" : [
31481 "perm",
31482 "/storage/{storage}",
31483 [
31484 "Datastore.Audit",
31485 "Datastore.AllocateSpace"
31486 ],
31487 "any",
31488 1
31489 ]
31490 },
31491 "protected" : 1,
31492 "proxyto" : "node",
31493 "returns" : {
31494 "properties" : {
31495 "filename" : {
31496 "type" : "string"
31497 }
31498 },
31499 "type" : "object"
44660702
DM
31500 }
31501 }
31502 },
4d47f125
TL
31503 "leaf" : 1,
31504 "path" : "/nodes/{node}/storage/{storage}/rrd",
31505 "text" : "rrd"
31506 },
31507 {
31508 "info" : {
31509 "GET" : {
e9cd3bd4 31510 "allowtoken" : 1,
4d47f125
TL
31511 "description" : "Read storage RRD statistics.",
31512 "method" : "GET",
31513 "name" : "rrddata",
31514 "parameters" : {
31515 "additionalProperties" : 0,
31516 "properties" : {
31517 "cf" : {
31518 "description" : "The RRD consolidation function",
31519 "enum" : [
31520 "AVERAGE",
31521 "MAX"
31522 ],
31523 "optional" : 1,
31524 "type" : "string"
31525 },
31526 "node" : {
31527 "description" : "The cluster node name.",
31528 "format" : "pve-node",
31529 "type" : "string",
31530 "typetext" : "<string>"
31531 },
31532 "storage" : {
31533 "description" : "The storage identifier.",
31534 "format" : "pve-storage-id",
31535 "type" : "string",
31536 "typetext" : "<string>"
31537 },
31538 "timeframe" : {
31539 "description" : "Specify the time frame you are interested in.",
31540 "enum" : [
31541 "hour",
31542 "day",
31543 "week",
31544 "month",
31545 "year"
31546 ],
31547 "type" : "string"
31548 }
56122987
DM
31549 }
31550 },
4d47f125
TL
31551 "permissions" : {
31552 "check" : [
31553 "perm",
31554 "/storage/{storage}",
31555 [
31556 "Datastore.Audit",
31557 "Datastore.AllocateSpace"
31558 ],
31559 "any",
31560 1
31561 ]
31562 },
31563 "protected" : 1,
31564 "proxyto" : "node",
31565 "returns" : {
31566 "items" : {
31567 "properties" : {},
31568 "type" : "object"
31569 },
31570 "type" : "array"
56122987 31571 }
7aacca6f 31572 }
56122987 31573 },
4d47f125
TL
31574 "leaf" : 1,
31575 "path" : "/nodes/{node}/storage/{storage}/rrddata",
31576 "text" : "rrddata"
31577 },
31578 {
31579 "info" : {
31580 "POST" : {
e9cd3bd4 31581 "allowtoken" : 1,
4d47f125
TL
31582 "description" : "Upload templates and ISO images.",
31583 "method" : "POST",
31584 "name" : "upload",
31585 "parameters" : {
31586 "additionalProperties" : 0,
31587 "properties" : {
31588 "content" : {
31589 "description" : "Content type.",
31590 "format" : "pve-storage-content",
31591 "type" : "string",
31592 "typetext" : "<string>"
31593 },
31594 "filename" : {
31595 "description" : "The name of the file to create.",
31596 "type" : "string",
31597 "typetext" : "<string>"
31598 },
31599 "node" : {
31600 "description" : "The cluster node name.",
31601 "format" : "pve-node",
31602 "type" : "string",
31603 "typetext" : "<string>"
31604 },
31605 "storage" : {
31606 "description" : "The storage identifier.",
31607 "format" : "pve-storage-id",
31608 "type" : "string",
31609 "typetext" : "<string>"
31610 },
31611 "tmpfilename" : {
1e3f8156 31612 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
4d47f125
TL
31613 "optional" : 1,
31614 "type" : "string",
31615 "typetext" : "<string>"
31616 }
44660702
DM
31617 }
31618 },
4d47f125
TL
31619 "permissions" : {
31620 "check" : [
31621 "perm",
31622 "/storage/{storage}",
31623 [
31624 "Datastore.AllocateTemplate"
31625 ]
31626 ]
56122987 31627 },
4d47f125
TL
31628 "protected" : 1,
31629 "returns" : {
44660702 31630 "type" : "string"
56122987 31631 }
44660702 31632 }
56122987 31633 },
4d47f125
TL
31634 "leaf" : 1,
31635 "path" : "/nodes/{node}/storage/{storage}/upload",
31636 "text" : "upload"
56122987 31637 }
4d47f125 31638 ],
56122987
DM
31639 "info" : {
31640 "GET" : {
e9cd3bd4 31641 "allowtoken" : 1,
4d47f125 31642 "description" : "",
44660702 31643 "method" : "GET",
4d47f125 31644 "name" : "diridx",
44660702
DM
31645 "parameters" : {
31646 "additionalProperties" : 0,
31647 "properties" : {
31648 "node" : {
31649 "description" : "The cluster node name.",
31650 "format" : "pve-node",
013dc89f
DM
31651 "type" : "string",
31652 "typetext" : "<string>"
4d47f125
TL
31653 },
31654 "storage" : {
31655 "description" : "The storage identifier.",
31656 "format" : "pve-storage-id",
31657 "type" : "string",
31658 "typetext" : "<string>"
44660702
DM
31659 }
31660 }
31661 },
7aacca6f
DM
31662 "permissions" : {
31663 "check" : [
31664 "perm",
4d47f125 31665 "/storage/{storage}",
7aacca6f 31666 [
4d47f125
TL
31667 "Datastore.Audit",
31668 "Datastore.AllocateSpace"
31669 ],
31670 "any",
31671 1
7aacca6f
DM
31672 ]
31673 },
56122987
DM
31674 "returns" : {
31675 "items" : {
31676 "properties" : {
4d47f125 31677 "subdir" : {
44660702 31678 "type" : "string"
56122987
DM
31679 }
31680 },
31681 "type" : "object"
7aacca6f 31682 },
4d47f125
TL
31683 "links" : [
31684 {
31685 "href" : "{subdir}",
31686 "rel" : "child"
31687 }
31688 ],
7aacca6f 31689 "type" : "array"
44660702
DM
31690 }
31691 }
31692 },
4d47f125
TL
31693 "leaf" : 0,
31694 "path" : "/nodes/{node}/storage/{storage}",
31695 "text" : "{storage}"
44660702
DM
31696 }
31697 ],
31698 "info" : {
31699 "GET" : {
e9cd3bd4 31700 "allowtoken" : 1,
4d47f125 31701 "description" : "Get status for all datastores.",
44660702
DM
31702 "method" : "GET",
31703 "name" : "index",
31704 "parameters" : {
31705 "additionalProperties" : 0,
31706 "properties" : {
4d47f125
TL
31707 "content" : {
31708 "description" : "Only list stores which support this content type.",
31709 "format" : "pve-storage-content-list",
31710 "optional" : 1,
31711 "type" : "string",
31712 "typetext" : "<string>"
31713 },
31714 "enabled" : {
31715 "default" : 0,
31716 "description" : "Only list stores which are enabled (not disabled in config).",
31717 "optional" : 1,
31718 "type" : "boolean",
31719 "typetext" : "<boolean>"
31720 },
31721 "format" : {
31722 "default" : 0,
31723 "description" : "Include information about formats",
31724 "optional" : 1,
31725 "type" : "boolean",
31726 "typetext" : "<boolean>"
31727 },
44660702
DM
31728 "node" : {
31729 "description" : "The cluster node name.",
31730 "format" : "pve-node",
013dc89f
DM
31731 "type" : "string",
31732 "typetext" : "<string>"
4d47f125
TL
31733 },
31734 "storage" : {
31735 "description" : "Only list status for specified storage",
31736 "format" : "pve-storage-id",
31737 "optional" : 1,
31738 "type" : "string",
31739 "typetext" : "<string>"
31740 },
31741 "target" : {
31742 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
31743 "format" : "pve-node",
31744 "optional" : 1,
31745 "type" : "string",
31746 "typetext" : "<string>"
44660702
DM
31747 }
31748 }
31749 },
4d47f125
TL
31750 "permissions" : {
31751 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
31752 "user" : "all"
31753 },
31754 "protected" : 1,
31755 "proxyto" : "node",
31756 "returns" : {
31757 "items" : {
31758 "properties" : {
31759 "active" : {
31760 "description" : "Set when storage is accessible.",
31761 "optional" : 1,
31762 "type" : "boolean"
31763 },
31764 "avail" : {
31765 "description" : "Available storage space in bytes.",
31766 "optional" : 1,
31767 "renderer" : "bytes",
31768 "type" : "integer"
31769 },
31770 "content" : {
31771 "description" : "Allowed storage content types.",
31772 "format" : "pve-storage-content-list",
31773 "type" : "string"
31774 },
31775 "enabled" : {
31776 "description" : "Set when storage is enabled (not disabled).",
31777 "optional" : 1,
31778 "type" : "boolean"
31779 },
31780 "shared" : {
31781 "description" : "Shared flag from storage configuration.",
31782 "optional" : 1,
31783 "type" : "boolean"
31784 },
31785 "storage" : {
31786 "description" : "The storage identifier.",
31787 "format" : "pve-storage-id",
31788 "type" : "string"
31789 },
31790 "total" : {
31791 "description" : "Total storage space in bytes.",
31792 "optional" : 1,
31793 "renderer" : "bytes",
31794 "type" : "integer"
31795 },
31796 "type" : {
31797 "description" : "Storage type.",
31798 "type" : "string"
31799 },
31800 "used" : {
31801 "description" : "Used storage space in bytes.",
31802 "optional" : 1,
31803 "renderer" : "bytes",
31804 "type" : "integer"
31805 },
31806 "used_fraction" : {
31807 "description" : "Used fraction (used/total).",
31808 "optional" : 1,
31809 "renderer" : "fraction_as_percentage",
31810 "type" : "number"
7aacca6f 31811 }
4d47f125
TL
31812 },
31813 "type" : "object"
31814 },
31815 "links" : [
31816 {
31817 "href" : "{storage}",
31818 "rel" : "child"
31819 }
31820 ],
31821 "type" : "array"
31822 }
31823 }
31824 },
31825 "leaf" : 0,
31826 "path" : "/nodes/{node}/storage",
31827 "text" : "storage"
31828 },
31829 {
31830 "children" : [
31831 {
31832 "info" : {
31833 "GET" : {
e9cd3bd4 31834 "allowtoken" : 1,
4d47f125
TL
31835 "description" : "List LVM Volume Groups",
31836 "method" : "GET",
31837 "name" : "index",
31838 "parameters" : {
31839 "additionalProperties" : 0,
31840 "properties" : {
31841 "node" : {
31842 "description" : "The cluster node name.",
31843 "format" : "pve-node",
31844 "type" : "string",
31845 "typetext" : "<string>"
31846 }
31847 }
31848 },
31849 "permissions" : {
31850 "check" : [
31851 "perm",
31852 "/",
31853 [
31854 "Sys.Audit",
31855 "Datastore.Audit"
31856 ],
31857 "any",
31858 1
31859 ]
31860 },
31861 "protected" : 1,
31862 "proxyto" : "node",
31863 "returns" : {
31864 "properties" : {
31865 "children" : {
44660702
DM
31866 "items" : {
31867 "properties" : {
4d47f125
TL
31868 "children" : {
31869 "description" : "The underlying physical volumes",
31870 "items" : {
31871 "properties" : {
31872 "free" : {
31873 "description" : "The free bytes in the physical volume",
31874 "type" : "integer"
31875 },
31876 "leaf" : {
31877 "type" : "boolean"
31878 },
31879 "name" : {
31880 "description" : "The name of the physical volume",
31881 "type" : "string"
31882 },
31883 "size" : {
31884 "description" : "The size of the physical volume in bytes",
31885 "type" : "integer"
31886 }
31887 },
31888 "type" : "object"
31889 },
31890 "optional" : 1,
31891 "type" : "array"
31892 },
31893 "free" : {
31894 "description" : "The free bytes in the volume group",
31895 "type" : "integer"
31896 },
31897 "leaf" : {
31898 "type" : "boolean"
31899 },
31900 "name" : {
31901 "description" : "The name of the volume group",
44660702 31902 "type" : "string"
4d47f125
TL
31903 },
31904 "size" : {
31905 "description" : "The size of the volume group in bytes",
31906 "type" : "integer"
44660702
DM
31907 }
31908 },
31909 "type" : "object"
31910 },
44660702 31911 "type" : "array"
4d47f125
TL
31912 },
31913 "leaf" : {
31914 "type" : "boolean"
44660702
DM
31915 }
31916 },
4d47f125
TL
31917 "type" : "object"
31918 }
31919 },
31920 "POST" : {
e9cd3bd4 31921 "allowtoken" : 1,
4d47f125
TL
31922 "description" : "Create an LVM Volume Group",
31923 "method" : "POST",
31924 "name" : "create",
31925 "parameters" : {
31926 "additionalProperties" : 0,
31927 "properties" : {
31928 "add_storage" : {
31929 "default" : 0,
31930 "description" : "Configure storage using the Volume Group",
31931 "optional" : 1,
31932 "type" : "boolean",
31933 "typetext" : "<boolean>"
44660702 31934 },
4d47f125
TL
31935 "device" : {
31936 "description" : "The block device you want to create the volume group on",
31937 "type" : "string",
31938 "typetext" : "<string>"
44660702 31939 },
4d47f125
TL
31940 "name" : {
31941 "description" : "The storage identifier.",
31942 "format" : "pve-storage-id",
31943 "type" : "string",
31944 "typetext" : "<string>"
31945 },
31946 "node" : {
31947 "description" : "The cluster node name.",
31948 "format" : "pve-node",
31949 "type" : "string",
31950 "typetext" : "<string>"
31951 }
31952 }
31953 },
31954 "permissions" : {
31955 "check" : [
31956 "perm",
31957 "/",
31958 [
31959 "Sys.Modify",
31960 "Datastore.Allocate"
31961 ]
31962 ]
31963 },
31964 "protected" : 1,
31965 "proxyto" : "node",
31966 "returns" : {
31967 "type" : "string"
31968 }
31969 }
31970 },
31971 "leaf" : 1,
31972 "path" : "/nodes/{node}/disks/lvm",
31973 "text" : "lvm"
31974 },
31975 {
31976 "info" : {
31977 "GET" : {
e9cd3bd4 31978 "allowtoken" : 1,
4d47f125
TL
31979 "description" : "List LVM thinpools",
31980 "method" : "GET",
31981 "name" : "index",
31982 "parameters" : {
31983 "additionalProperties" : 0,
31984 "properties" : {
31985 "node" : {
31986 "description" : "The cluster node name.",
31987 "format" : "pve-node",
31988 "type" : "string",
31989 "typetext" : "<string>"
44660702
DM
31990 }
31991 }
31992 },
4d47f125
TL
31993 "permissions" : {
31994 "check" : [
31995 "perm",
31996 "/",
31997 [
31998 "Sys.Audit",
31999 "Datastore.Audit"
32000 ],
32001 "any",
32002 1
32003 ]
32004 },
32005 "protected" : 1,
32006 "proxyto" : "node",
32007 "returns" : {
32008 "items" : {
32009 "properties" : {
32010 "lv" : {
32011 "description" : "The name of the thinpool.",
32012 "type" : "string"
32013 },
32014 "lv_size" : {
32015 "description" : "The size of the thinpool in bytes.",
32016 "type" : "integer"
32017 },
32018 "metadata_size" : {
32019 "description" : "The size of the metadata lv in bytes.",
32020 "type" : "integer"
32021 },
32022 "metadata_used" : {
32023 "description" : "The used bytes of the metadata lv.",
32024 "type" : "integer"
32025 },
32026 "used" : {
32027 "description" : "The used bytes of the thinpool.",
32028 "type" : "integer"
44660702
DM
32029 }
32030 },
4d47f125
TL
32031 "type" : "object"
32032 },
32033 "type" : "array"
32034 }
32035 },
32036 "POST" : {
e9cd3bd4 32037 "allowtoken" : 1,
4d47f125
TL
32038 "description" : "Create an LVM thinpool",
32039 "method" : "POST",
32040 "name" : "create",
32041 "parameters" : {
32042 "additionalProperties" : 0,
32043 "properties" : {
32044 "add_storage" : {
32045 "default" : 0,
32046 "description" : "Configure storage using the thinpool.",
32047 "optional" : 1,
32048 "type" : "boolean",
32049 "typetext" : "<boolean>"
56122987 32050 },
4d47f125
TL
32051 "device" : {
32052 "description" : "The block device you want to create the thinpool on.",
32053 "type" : "string",
32054 "typetext" : "<string>"
32055 },
32056 "name" : {
32057 "description" : "The storage identifier.",
32058 "format" : "pve-storage-id",
32059 "type" : "string",
32060 "typetext" : "<string>"
32061 },
32062 "node" : {
32063 "description" : "The cluster node name.",
32064 "format" : "pve-node",
32065 "type" : "string",
32066 "typetext" : "<string>"
44660702 32067 }
56122987
DM
32068 }
32069 },
4d47f125
TL
32070 "permissions" : {
32071 "check" : [
32072 "perm",
32073 "/",
32074 [
32075 "Sys.Modify",
32076 "Datastore.Allocate"
32077 ]
32078 ]
32079 },
32080 "protected" : 1,
32081 "proxyto" : "node",
32082 "returns" : {
32083 "type" : "string"
32084 }
32085 }
32086 },
32087 "leaf" : 1,
32088 "path" : "/nodes/{node}/disks/lvmthin",
32089 "text" : "lvmthin"
32090 },
32091 {
32092 "info" : {
32093 "GET" : {
e9cd3bd4 32094 "allowtoken" : 1,
4d47f125
TL
32095 "description" : "PVE Managed Directory storages.",
32096 "method" : "GET",
32097 "name" : "index",
32098 "parameters" : {
32099 "additionalProperties" : 0,
32100 "properties" : {
32101 "node" : {
32102 "description" : "The cluster node name.",
32103 "format" : "pve-node",
32104 "type" : "string",
32105 "typetext" : "<string>"
32106 }
32107 }
32108 },
32109 "permissions" : {
32110 "check" : [
32111 "perm",
32112 "/",
32113 [
32114 "Sys.Audit",
32115 "Datastore.Audit"
32116 ],
32117 "any",
32118 1
32119 ]
32120 },
32121 "protected" : 1,
32122 "proxyto" : "node",
32123 "returns" : {
32124 "items" : {
32125 "properties" : {
32126 "device" : {
32127 "description" : "The mounted device.",
32128 "type" : "string"
32129 },
32130 "options" : {
32131 "description" : "The mount options.",
32132 "type" : "string"
32133 },
32134 "path" : {
32135 "description" : "The mount path.",
32136 "type" : "string"
32137 },
32138 "type" : {
32139 "description" : "The filesystem type.",
32140 "type" : "string"
32141 },
32142 "unitfile" : {
32143 "description" : "The path of the mount unit.",
32144 "type" : "string"
44660702 32145 }
56122987 32146 },
4d47f125
TL
32147 "type" : "object"
32148 },
32149 "type" : "array"
32150 }
32151 },
32152 "POST" : {
e9cd3bd4 32153 "allowtoken" : 1,
4d47f125
TL
32154 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
32155 "method" : "POST",
32156 "name" : "create",
32157 "parameters" : {
32158 "additionalProperties" : 0,
32159 "properties" : {
32160 "add_storage" : {
32161 "default" : 0,
32162 "description" : "Configure storage using the directory.",
32163 "optional" : 1,
32164 "type" : "boolean",
32165 "typetext" : "<boolean>"
32166 },
32167 "device" : {
32168 "description" : "The block device you want to create the filesystem on.",
32169 "type" : "string",
32170 "typetext" : "<string>"
32171 },
32172 "filesystem" : {
32173 "default" : "ext4",
32174 "description" : "The desired filesystem.",
32175 "enum" : [
32176 "ext4",
32177 "xfs"
32178 ],
32179 "optional" : 1,
32180 "type" : "string"
56122987 32181 },
4d47f125
TL
32182 "name" : {
32183 "description" : "The storage identifier.",
32184 "format" : "pve-storage-id",
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>"
7aacca6f 32193 }
56122987
DM
32194 }
32195 },
4d47f125
TL
32196 "permissions" : {
32197 "check" : [
32198 "perm",
32199 "/",
32200 [
32201 "Sys.Modify",
32202 "Datastore.Allocate"
32203 ]
32204 ]
32205 },
32206 "protected" : 1,
32207 "proxyto" : "node",
32208 "returns" : {
32209 "type" : "string"
32210 }
32211 }
32212 },
32213 "leaf" : 1,
32214 "path" : "/nodes/{node}/disks/directory",
32215 "text" : "directory"
32216 },
32217 {
32218 "children" : [
56122987 32219 {
56122987
DM
32220 "info" : {
32221 "GET" : {
e9cd3bd4 32222 "allowtoken" : 1,
4d47f125 32223 "description" : "Get details about a zpool.",
44660702 32224 "method" : "GET",
4d47f125 32225 "name" : "detail",
56122987 32226 "parameters" : {
44660702 32227 "additionalProperties" : 0,
56122987 32228 "properties" : {
4d47f125
TL
32229 "name" : {
32230 "description" : "The storage identifier.",
32231 "format" : "pve-storage-id",
32232 "type" : "string",
32233 "typetext" : "<string>"
44660702 32234 },
7aacca6f 32235 "node" : {
7aacca6f 32236 "description" : "The cluster node name.",
44660702 32237 "format" : "pve-node",
013dc89f
DM
32238 "type" : "string",
32239 "typetext" : "<string>"
56122987 32240 }
44660702 32241 }
7aacca6f 32242 },
7aacca6f
DM
32243 "permissions" : {
32244 "check" : [
32245 "perm",
4d47f125 32246 "/",
7aacca6f 32247 [
4d47f125
TL
32248 "Sys.Audit",
32249 "Datastore.Audit"
7aacca6f
DM
32250 ],
32251 "any",
32252 1
32253 ]
32254 },
44660702
DM
32255 "protected" : 1,
32256 "proxyto" : "node",
7aacca6f 32257 "returns" : {
56122987 32258 "properties" : {
4d47f125
TL
32259 "action" : {
32260 "description" : "Information about the recommended action to fix the state.",
32261 "optional" : 1,
32262 "type" : "string"
56122987 32263 },
4d47f125 32264 "children" : {
e2d681b3 32265 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
32266 "items" : {
32267 "properties" : {
32268 "cksum" : {
e2d681b3 32269 "optional" : 1,
4d47f125
TL
32270 "type" : "number"
32271 },
32272 "msg" : {
32273 "description" : "An optional message about the vdev.",
32274 "type" : "string"
32275 },
32276 "name" : {
e2d681b3 32277 "description" : "The name of the vdev or section.",
4d47f125
TL
32278 "type" : "string"
32279 },
32280 "read" : {
e2d681b3 32281 "optional" : 1,
4d47f125
TL
32282 "type" : "number"
32283 },
32284 "state" : {
32285 "description" : "The state of the vdev.",
e2d681b3 32286 "optional" : 1,
4d47f125
TL
32287 "type" : "string"
32288 },
32289 "write" : {
e2d681b3 32290 "optional" : 1,
4d47f125
TL
32291 "type" : "number"
32292 }
32293 },
32294 "type" : "object"
32295 },
32296 "type" : "array"
56122987 32297 },
e2d681b3
TL
32298 "errors" : {
32299 "description" : "Information about the errors on the zpool.",
32300 "type" : "string"
32301 },
4d47f125
TL
32302 "name" : {
32303 "description" : "The name of the zpool.",
32304 "type" : "string"
44660702 32305 },
4d47f125 32306 "scan" : {
e2d681b3 32307 "description" : "Information about the last/current scrub.",
4d47f125 32308 "type" : "string"
44660702 32309 },
4d47f125
TL
32310 "state" : {
32311 "description" : "The state of the zpool.",
32312 "type" : "string"
32313 },
32314 "status" : {
32315 "description" : "Information about the state of the zpool.",
44660702 32316 "optional" : 1,
4d47f125 32317 "type" : "string"
56122987 32318 }
4d47f125
TL
32319 },
32320 "type" : "object"
44660702
DM
32321 }
32322 }
32323 },
32324 "leaf" : 1,
4d47f125
TL
32325 "path" : "/nodes/{node}/disks/zfs/{name}",
32326 "text" : "{name}"
44660702
DM
32327 }
32328 ],
32329 "info" : {
32330 "GET" : {
e9cd3bd4 32331 "allowtoken" : 1,
4d47f125 32332 "description" : "List Zpools.",
44660702 32333 "method" : "GET",
4d47f125 32334 "name" : "index",
44660702
DM
32335 "parameters" : {
32336 "additionalProperties" : 0,
32337 "properties" : {
32338 "node" : {
32339 "description" : "The cluster node name.",
32340 "format" : "pve-node",
013dc89f
DM
32341 "type" : "string",
32342 "typetext" : "<string>"
4d47f125
TL
32343 }
32344 }
32345 },
32346 "permissions" : {
32347 "check" : [
32348 "perm",
32349 "/",
32350 [
32351 "Sys.Audit",
32352 "Datastore.Audit"
32353 ],
32354 "any",
32355 1
32356 ]
32357 },
32358 "protected" : 1,
32359 "proxyto" : "node",
32360 "returns" : {
32361 "items" : {
32362 "properties" : {
32363 "alloc" : {
32364 "description" : "",
32365 "type" : "integer"
32366 },
32367 "dedup" : {
32368 "description" : "",
32369 "type" : "number"
32370 },
32371 "frag" : {
32372 "description" : "",
32373 "type" : "integer"
32374 },
32375 "free" : {
32376 "description" : "",
32377 "type" : "integer"
32378 },
32379 "health" : {
32380 "description" : "",
32381 "type" : "string"
32382 },
32383 "name" : {
32384 "description" : "",
32385 "type" : "string"
32386 },
32387 "size" : {
32388 "description" : "",
32389 "type" : "integer"
32390 }
32391 },
32392 "type" : "object"
32393 },
32394 "links" : [
32395 {
32396 "href" : "{name}",
32397 "rel" : "child"
32398 }
32399 ],
32400 "type" : "array"
32401 }
32402 },
32403 "POST" : {
e9cd3bd4 32404 "allowtoken" : 1,
4d47f125
TL
32405 "description" : "Create a ZFS pool.",
32406 "method" : "POST",
32407 "name" : "create",
32408 "parameters" : {
32409 "additionalProperties" : 0,
32410 "properties" : {
32411 "add_storage" : {
32412 "default" : 0,
32413 "description" : "Configure storage using the zpool.",
32414 "optional" : 1,
32415 "type" : "boolean",
32416 "typetext" : "<boolean>"
32417 },
32418 "ashift" : {
32419 "default" : 12,
32420 "description" : "Pool sector size exponent.",
32421 "maximum" : 16,
32422 "minimum" : 9,
32423 "optional" : 1,
32424 "type" : "integer",
32425 "typetext" : "<integer> (9 - 16)"
32426 },
32427 "compression" : {
32428 "default" : "on",
32429 "description" : "The compression algorithm to use.",
32430 "enum" : [
32431 "on",
32432 "off",
32433 "gzip",
32434 "lz4",
32435 "lzjb",
32436 "zle"
32437 ],
32438 "optional" : 1,
32439 "type" : "string"
32440 },
32441 "devices" : {
32442 "description" : "The block devices you want to create the zpool on.",
32443 "format" : "string-list",
32444 "type" : "string",
32445 "typetext" : "<string>"
44660702 32446 },
4d47f125 32447 "name" : {
44660702
DM
32448 "description" : "The storage identifier.",
32449 "format" : "pve-storage-id",
013dc89f
DM
32450 "type" : "string",
32451 "typetext" : "<string>"
4d47f125
TL
32452 },
32453 "node" : {
32454 "description" : "The cluster node name.",
32455 "format" : "pve-node",
32456 "type" : "string",
32457 "typetext" : "<string>"
32458 },
32459 "raidlevel" : {
32460 "description" : "The RAID level to use.",
32461 "enum" : [
32462 "single",
32463 "mirror",
32464 "raid10",
32465 "raidz",
32466 "raidz2",
32467 "raidz3"
32468 ],
32469 "type" : "string"
56122987
DM
32470 }
32471 }
44660702
DM
32472 },
32473 "permissions" : {
32474 "check" : [
32475 "perm",
4d47f125 32476 "/",
44660702 32477 [
4d47f125
TL
32478 "Sys.Modify",
32479 "Datastore.Allocate"
32480 ]
44660702
DM
32481 ]
32482 },
4d47f125
TL
32483 "protected" : 1,
32484 "proxyto" : "node",
44660702 32485 "returns" : {
4d47f125 32486 "type" : "string"
56122987
DM
32487 }
32488 }
44660702
DM
32489 },
32490 "leaf" : 0,
4d47f125
TL
32491 "path" : "/nodes/{node}/disks/zfs",
32492 "text" : "zfs"
32493 },
2c0dde61
DM
32494 {
32495 "info" : {
32496 "GET" : {
e9cd3bd4 32497 "allowtoken" : 1,
2c0dde61
DM
32498 "description" : "List local disks.",
32499 "method" : "GET",
32500 "name" : "list",
32501 "parameters" : {
32502 "additionalProperties" : 0,
32503 "properties" : {
32504 "node" : {
32505 "description" : "The cluster node name.",
32506 "format" : "pve-node",
013dc89f
DM
32507 "type" : "string",
32508 "typetext" : "<string>"
4d47f125
TL
32509 },
32510 "skipsmart" : {
32511 "default" : 0,
32512 "description" : "Skip smart checks.",
32513 "optional" : 1,
32514 "type" : "boolean",
32515 "typetext" : "<boolean>"
32516 },
32517 "type" : {
32518 "description" : "Only list specific types of disks.",
32519 "enum" : [
32520 "unused",
32521 "journal_disks"
32522 ],
32523 "optional" : 1,
32524 "type" : "string"
2c0dde61
DM
32525 }
32526 }
32527 },
32528 "permissions" : {
32529 "check" : [
32530 "perm",
32531 "/",
32532 [
32533 "Sys.Audit",
32534 "Datastore.Audit"
32535 ],
32536 "any",
32537 1
32538 ]
32539 },
32540 "protected" : 1,
32541 "proxyto" : "node",
32542 "returns" : {
32543 "items" : {
32544 "properties" : {
32545 "devpath" : {
32546 "description" : "The device path",
32547 "type" : "string"
32548 },
32549 "gpt" : {
32550 "type" : "boolean"
32551 },
32552 "health" : {
32553 "optional" : 1,
32554 "type" : "string"
32555 },
32556 "model" : {
32557 "optional" : 1,
32558 "type" : "string"
32559 },
32560 "osdid" : {
32561 "type" : "integer"
32562 },
32563 "serial" : {
32564 "optional" : 1,
32565 "type" : "string"
32566 },
32567 "size" : {
32568 "type" : "integer"
32569 },
32570 "used" : {
32571 "optional" : 1,
32572 "type" : "string"
32573 },
32574 "vendor" : {
32575 "optional" : 1,
32576 "type" : "string"
32577 },
32578 "wwn" : {
32579 "optional" : 1,
32580 "type" : "string"
32581 }
32582 },
32583 "type" : "object"
32584 },
32585 "type" : "array"
32586 }
32587 }
32588 },
32589 "leaf" : 1,
32590 "path" : "/nodes/{node}/disks/list",
32591 "text" : "list"
32592 },
32593 {
32594 "info" : {
32595 "GET" : {
e9cd3bd4 32596 "allowtoken" : 1,
2c0dde61
DM
32597 "description" : "Get SMART Health of a disk.",
32598 "method" : "GET",
32599 "name" : "smart",
32600 "parameters" : {
32601 "additionalProperties" : 0,
32602 "properties" : {
32603 "disk" : {
32604 "description" : "Block device name",
32605 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
32606 "type" : "string"
32607 },
32608 "healthonly" : {
32609 "description" : "If true returns only the health status",
32610 "optional" : 1,
013dc89f
DM
32611 "type" : "boolean",
32612 "typetext" : "<boolean>"
2c0dde61
DM
32613 },
32614 "node" : {
32615 "description" : "The cluster node name.",
32616 "format" : "pve-node",
013dc89f
DM
32617 "type" : "string",
32618 "typetext" : "<string>"
2c0dde61
DM
32619 }
32620 }
32621 },
32622 "permissions" : {
32623 "check" : [
32624 "perm",
32625 "/",
32626 [
32627 "Sys.Audit",
32628 "Datastore.Audit"
32629 ],
32630 "any",
32631 1
32632 ]
32633 },
32634 "protected" : 1,
32635 "proxyto" : "node",
32636 "returns" : {
de0983cb
DM
32637 "properties" : {
32638 "attributes" : {
32639 "optional" : 1,
32640 "type" : "array"
32641 },
32642 "health" : {
32643 "type" : "string"
32644 },
32645 "text" : {
32646 "optional" : 1,
32647 "type" : "string"
32648 },
32649 "type" : {
32650 "optional" : 1,
32651 "type" : "string"
32652 }
32653 },
2c0dde61
DM
32654 "type" : "object"
32655 }
32656 }
32657 },
32658 "leaf" : 1,
32659 "path" : "/nodes/{node}/disks/smart",
32660 "text" : "smart"
32661 },
32662 {
32663 "info" : {
32664 "POST" : {
e9cd3bd4 32665 "allowtoken" : 1,
2c0dde61
DM
32666 "description" : "Initialize Disk with GPT",
32667 "method" : "POST",
32668 "name" : "initgpt",
32669 "parameters" : {
32670 "additionalProperties" : 0,
32671 "properties" : {
32672 "disk" : {
32673 "description" : "Block device name",
32674 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
32675 "type" : "string"
32676 },
32677 "node" : {
32678 "description" : "The cluster node name.",
32679 "format" : "pve-node",
013dc89f
DM
32680 "type" : "string",
32681 "typetext" : "<string>"
2c0dde61
DM
32682 },
32683 "uuid" : {
32684 "description" : "UUID for the GPT table",
32685 "maxLength" : 36,
32686 "optional" : 1,
32687 "pattern" : "[a-fA-F0-9\\-]+",
32688 "type" : "string"
32689 }
32690 }
32691 },
32692 "permissions" : {
32693 "check" : [
32694 "perm",
32695 "/",
32696 [
32697 "Sys.Modify"
32698 ]
32699 ]
32700 },
32701 "protected" : 1,
32702 "proxyto" : "node",
32703 "returns" : {
32704 "type" : "string"
32705 }
32706 }
32707 },
32708 "leaf" : 1,
32709 "path" : "/nodes/{node}/disks/initgpt",
32710 "text" : "initgpt"
32711 }
32712 ],
32713 "info" : {
32714 "GET" : {
e9cd3bd4 32715 "allowtoken" : 1,
2c0dde61
DM
32716 "description" : "Node index.",
32717 "method" : "GET",
32718 "name" : "index",
32719 "parameters" : {
32720 "additionalProperties" : 0,
32721 "properties" : {
32722 "node" : {
32723 "description" : "The cluster node name.",
32724 "format" : "pve-node",
013dc89f
DM
32725 "type" : "string",
32726 "typetext" : "<string>"
2c0dde61
DM
32727 }
32728 }
32729 },
32730 "permissions" : {
32731 "user" : "all"
32732 },
32733 "proxyto" : "node",
32734 "returns" : {
32735 "items" : {
32736 "properties" : {},
32737 "type" : "object"
32738 },
32739 "links" : [
32740 {
32741 "href" : "{name}",
32742 "rel" : "child"
32743 }
32744 ],
32745 "type" : "array"
32746 }
32747 }
32748 },
32749 "leaf" : 0,
32750 "path" : "/nodes/{node}/disks",
32751 "text" : "disks"
32752 },
56122987 32753 {
56122987
DM
32754 "children" : [
32755 {
32756 "info" : {
44660702 32757 "GET" : {
e9cd3bd4 32758 "allowtoken" : 1,
44660702
DM
32759 "description" : "List available updates.",
32760 "method" : "GET",
32761 "name" : "list_updates",
32762 "parameters" : {
32763 "additionalProperties" : 0,
32764 "properties" : {
32765 "node" : {
32766 "description" : "The cluster node name.",
32767 "format" : "pve-node",
013dc89f
DM
32768 "type" : "string",
32769 "typetext" : "<string>"
44660702
DM
32770 }
32771 }
7aacca6f
DM
32772 },
32773 "permissions" : {
32774 "check" : [
32775 "perm",
32776 "/nodes/{node}",
32777 [
32778 "Sys.Modify"
32779 ]
32780 ]
32781 },
44660702 32782 "protected" : 1,
56122987 32783 "proxyto" : "node",
44660702
DM
32784 "returns" : {
32785 "items" : {
32786 "properties" : {},
32787 "type" : "object"
32788 },
32789 "type" : "array"
32790 }
32791 },
32792 "POST" : {
e9cd3bd4 32793 "allowtoken" : 1,
44660702 32794 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
32795 "method" : "POST",
32796 "name" : "update_database",
56122987
DM
32797 "parameters" : {
32798 "additionalProperties" : 0,
32799 "properties" : {
44660702
DM
32800 "node" : {
32801 "description" : "The cluster node name.",
32802 "format" : "pve-node",
013dc89f
DM
32803 "type" : "string",
32804 "typetext" : "<string>"
44660702 32805 },
56122987 32806 "notify" : {
56122987 32807 "default" : 0,
44660702
DM
32808 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
32809 "optional" : 1,
013dc89f
DM
32810 "type" : "boolean",
32811 "typetext" : "<boolean>"
56122987
DM
32812 },
32813 "quiet" : {
56122987 32814 "default" : 0,
44660702 32815 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 32816 "optional" : 1,
013dc89f
DM
32817 "type" : "boolean",
32818 "typetext" : "<boolean>"
56122987 32819 }
7aacca6f
DM
32820 }
32821 },
32822 "permissions" : {
32823 "check" : [
32824 "perm",
32825 "/nodes/{node}",
32826 [
32827 "Sys.Modify"
32828 ]
32829 ]
32830 },
44660702
DM
32831 "protected" : 1,
32832 "proxyto" : "node",
32833 "returns" : {
32834 "type" : "string"
32835 }
56122987
DM
32836 }
32837 },
7aacca6f 32838 "leaf" : 1,
44660702
DM
32839 "path" : "/nodes/{node}/apt/update",
32840 "text" : "update"
56122987
DM
32841 },
32842 {
56122987
DM
32843 "info" : {
32844 "GET" : {
e9cd3bd4 32845 "allowtoken" : 1,
44660702 32846 "description" : "Get package changelogs.",
56122987 32847 "method" : "GET",
7aacca6f 32848 "name" : "changelog",
56122987 32849 "parameters" : {
44660702 32850 "additionalProperties" : 0,
56122987
DM
32851 "properties" : {
32852 "name" : {
32853 "description" : "Package name.",
013dc89f
DM
32854 "type" : "string",
32855 "typetext" : "<string>"
56122987 32856 },
44660702
DM
32857 "node" : {
32858 "description" : "The cluster node name.",
32859 "format" : "pve-node",
013dc89f
DM
32860 "type" : "string",
32861 "typetext" : "<string>"
44660702 32862 },
56122987 32863 "version" : {
7aacca6f 32864 "description" : "Package version.",
44660702 32865 "optional" : 1,
013dc89f
DM
32866 "type" : "string",
32867 "typetext" : "<string>"
56122987 32868 }
44660702 32869 }
56122987 32870 },
44660702
DM
32871 "permissions" : {
32872 "check" : [
32873 "perm",
32874 "/nodes/{node}",
32875 [
32876 "Sys.Modify"
32877 ]
32878 ]
32879 },
32880 "proxyto" : "node",
32881 "returns" : {
32882 "type" : "string"
32883 }
56122987
DM
32884 }
32885 },
44660702
DM
32886 "leaf" : 1,
32887 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 32888 "text" : "changelog"
56122987
DM
32889 },
32890 {
56122987
DM
32891 "info" : {
32892 "GET" : {
e9cd3bd4 32893 "allowtoken" : 1,
44660702
DM
32894 "description" : "Get package information for important Proxmox packages.",
32895 "method" : "GET",
7aacca6f
DM
32896 "name" : "versions",
32897 "parameters" : {
44660702 32898 "additionalProperties" : 0,
7aacca6f
DM
32899 "properties" : {
32900 "node" : {
44660702 32901 "description" : "The cluster node name.",
7aacca6f 32902 "format" : "pve-node",
013dc89f
DM
32903 "type" : "string",
32904 "typetext" : "<string>"
7aacca6f 32905 }
44660702 32906 }
7aacca6f 32907 },
56122987
DM
32908 "permissions" : {
32909 "check" : [
32910 "perm",
32911 "/nodes/{node}",
32912 [
32913 "Sys.Audit"
32914 ]
32915 ]
32916 },
7aacca6f 32917 "proxyto" : "node",
56122987
DM
32918 "returns" : {
32919 "items" : {
7aacca6f
DM
32920 "properties" : {},
32921 "type" : "object"
44660702
DM
32922 },
32923 "type" : "array"
56122987
DM
32924 }
32925 }
32926 },
44660702 32927 "leaf" : 1,
7aacca6f 32928 "path" : "/nodes/{node}/apt/versions",
44660702 32929 "text" : "versions"
56122987
DM
32930 }
32931 ],
56122987
DM
32932 "info" : {
32933 "GET" : {
e9cd3bd4 32934 "allowtoken" : 1,
44660702 32935 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 32936 "method" : "GET",
44660702 32937 "name" : "index",
7aacca6f
DM
32938 "parameters" : {
32939 "additionalProperties" : 0,
32940 "properties" : {
32941 "node" : {
44660702 32942 "description" : "The cluster node name.",
7aacca6f 32943 "format" : "pve-node",
013dc89f
DM
32944 "type" : "string",
32945 "typetext" : "<string>"
7aacca6f
DM
32946 }
32947 }
32948 },
7aacca6f
DM
32949 "permissions" : {
32950 "user" : "all"
32951 },
44660702
DM
32952 "returns" : {
32953 "items" : {
32954 "properties" : {
32955 "id" : {
32956 "type" : "string"
32957 }
32958 },
32959 "type" : "object"
32960 },
32961 "links" : [
32962 {
32963 "href" : "{id}",
32964 "rel" : "child"
32965 }
32966 ],
32967 "type" : "array"
32968 }
56122987 32969 }
7aacca6f 32970 },
44660702 32971 "leaf" : 0,
7aacca6f 32972 "path" : "/nodes/{node}/apt",
44660702 32973 "text" : "apt"
56122987
DM
32974 },
32975 {
56122987
DM
32976 "children" : [
32977 {
32978 "children" : [
32979 {
56122987
DM
32980 "info" : {
32981 "DELETE" : {
e9cd3bd4 32982 "allowtoken" : 1,
44660702 32983 "description" : "Delete rule.",
7aacca6f 32984 "method" : "DELETE",
44660702 32985 "name" : "delete_rule",
56122987
DM
32986 "parameters" : {
32987 "additionalProperties" : 0,
32988 "properties" : {
56122987
DM
32989 "digest" : {
32990 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 32991 "maxLength" : 40,
56122987 32992 "optional" : 1,
013dc89f
DM
32993 "type" : "string",
32994 "typetext" : "<string>"
56122987 32995 },
44660702
DM
32996 "node" : {
32997 "description" : "The cluster node name.",
32998 "format" : "pve-node",
013dc89f
DM
32999 "type" : "string",
33000 "typetext" : "<string>"
44660702 33001 },
7aacca6f 33002 "pos" : {
7aacca6f 33003 "description" : "Update rule at position <pos>.",
44660702
DM
33004 "minimum" : 0,
33005 "optional" : 1,
4bd7df8b 33006 "type" : "integer",
013dc89f 33007 "typetext" : "<integer> (0 - N)"
56122987
DM
33008 }
33009 }
33010 },
44660702
DM
33011 "permissions" : {
33012 "check" : [
33013 "perm",
33014 "/nodes/{node}",
33015 [
33016 "Sys.Modify"
33017 ]
33018 ]
33019 },
33020 "protected" : 1,
33021 "proxyto" : "node",
56122987
DM
33022 "returns" : {
33023 "type" : "null"
44660702
DM
33024 }
33025 },
33026 "GET" : {
e9cd3bd4 33027 "allowtoken" : 1,
44660702
DM
33028 "description" : "Get single rule data.",
33029 "method" : "GET",
33030 "name" : "get_rule",
33031 "parameters" : {
33032 "additionalProperties" : 0,
33033 "properties" : {
33034 "node" : {
33035 "description" : "The cluster node name.",
33036 "format" : "pve-node",
013dc89f
DM
33037 "type" : "string",
33038 "typetext" : "<string>"
44660702
DM
33039 },
33040 "pos" : {
33041 "description" : "Update rule at position <pos>.",
33042 "minimum" : 0,
33043 "optional" : 1,
4bd7df8b 33044 "type" : "integer",
013dc89f 33045 "typetext" : "<integer> (0 - N)"
44660702
DM
33046 }
33047 }
56122987 33048 },
56122987
DM
33049 "permissions" : {
33050 "check" : [
33051 "perm",
33052 "/nodes/{node}",
33053 [
44660702 33054 "Sys.Audit"
56122987
DM
33055 ]
33056 ]
44660702
DM
33057 },
33058 "proxyto" : "node",
33059 "returns" : {
33060 "properties" : {
e2d681b3
TL
33061 "action" : {
33062 "type" : "string"
33063 },
33064 "comment" : {
33065 "optional" : 1,
33066 "type" : "string"
33067 },
33068 "dest" : {
33069 "optional" : 1,
33070 "type" : "string"
33071 },
33072 "dport" : {
33073 "optional" : 1,
33074 "type" : "string"
33075 },
33076 "enable" : {
33077 "optional" : 1,
33078 "type" : "integer"
33079 },
33080 "iface" : {
33081 "optional" : 1,
33082 "type" : "string"
33083 },
33084 "ipversion" : {
33085 "optional" : 1,
33086 "type" : "integer"
33087 },
95895385
TL
33088 "log" : {
33089 "description" : "Log level for firewall rule",
33090 "enum" : [
33091 "emerg",
33092 "alert",
33093 "crit",
33094 "err",
33095 "warning",
33096 "notice",
33097 "info",
33098 "debug",
33099 "nolog"
33100 ],
33101 "optional" : 1,
33102 "type" : "string"
33103 },
e2d681b3
TL
33104 "macro" : {
33105 "optional" : 1,
5f26e15b 33106 "type" : "string"
e2d681b3 33107 },
44660702
DM
33108 "pos" : {
33109 "type" : "integer"
e2d681b3
TL
33110 },
33111 "proto" : {
33112 "optional" : 1,
33113 "type" : "string"
33114 },
33115 "source" : {
33116 "optional" : 1,
33117 "type" : "string"
33118 },
33119 "sport" : {
33120 "optional" : 1,
33121 "type" : "string"
33122 },
33123 "type" : {
33124 "type" : "string"
44660702
DM
33125 }
33126 },
33127 "type" : "object"
7aacca6f 33128 }
56122987
DM
33129 },
33130 "PUT" : {
e9cd3bd4 33131 "allowtoken" : 1,
44660702
DM
33132 "description" : "Modify rule data.",
33133 "method" : "PUT",
56122987 33134 "name" : "update_rule",
56122987 33135 "parameters" : {
44660702 33136 "additionalProperties" : 0,
56122987 33137 "properties" : {
44660702
DM
33138 "action" : {
33139 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
33140 "maxLength" : 20,
33141 "minLength" : 2,
56122987 33142 "optional" : 1,
44660702
DM
33143 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
33144 "type" : "string"
56122987 33145 },
7aacca6f 33146 "comment" : {
e94f0d56 33147 "description" : "Descriptive comment.",
56122987 33148 "optional" : 1,
013dc89f
DM
33149 "type" : "string",
33150 "typetext" : "<string>"
56122987 33151 },
44660702
DM
33152 "delete" : {
33153 "description" : "A list of settings you want to delete.",
33154 "format" : "pve-configid-list",
56122987 33155 "optional" : 1,
013dc89f
DM
33156 "type" : "string",
33157 "typetext" : "<string>"
56122987 33158 },
44660702
DM
33159 "dest" : {
33160 "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.",
33161 "format" : "pve-fw-addr-spec",
56122987 33162 "optional" : 1,
013dc89f
DM
33163 "type" : "string",
33164 "typetext" : "<string>"
56122987 33165 },
44660702
DM
33166 "digest" : {
33167 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33168 "maxLength" : 40,
56122987 33169 "optional" : 1,
013dc89f
DM
33170 "type" : "string",
33171 "typetext" : "<string>"
56122987 33172 },
7aacca6f 33173 "dport" : {
7aacca6f 33174 "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
33175 "format" : "pve-fw-dport-spec",
33176 "optional" : 1,
013dc89f
DM
33177 "type" : "string",
33178 "typetext" : "<string>"
7aacca6f 33179 },
44660702 33180 "enable" : {
e94f0d56 33181 "description" : "Flag to enable/disable a rule.",
44660702 33182 "minimum" : 0,
56122987 33183 "optional" : 1,
4bd7df8b 33184 "type" : "integer",
013dc89f 33185 "typetext" : "<integer> (0 - N)"
56122987 33186 },
7aacca6f 33187 "iface" : {
44660702 33188 "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 33189 "format" : "pve-iface",
44660702 33190 "maxLength" : 20,
56122987 33191 "minLength" : 2,
44660702 33192 "optional" : 1,
013dc89f
DM
33193 "type" : "string",
33194 "typetext" : "<string>"
56122987 33195 },
95895385
TL
33196 "log" : {
33197 "description" : "Log level for firewall rule.",
33198 "enum" : [
33199 "emerg",
33200 "alert",
33201 "crit",
33202 "err",
33203 "warning",
33204 "notice",
33205 "info",
33206 "debug",
33207 "nolog"
33208 ],
33209 "optional" : 1,
33210 "type" : "string"
33211 },
44660702 33212 "macro" : {
e94f0d56 33213 "description" : "Use predefined standard macro.",
44660702
DM
33214 "maxLength" : 128,
33215 "optional" : 1,
013dc89f
DM
33216 "type" : "string",
33217 "typetext" : "<string>"
44660702
DM
33218 },
33219 "moveto" : {
33220 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
33221 "minimum" : 0,
7aacca6f 33222 "optional" : 1,
4bd7df8b 33223 "type" : "integer",
013dc89f 33224 "typetext" : "<integer> (0 - N)"
44660702
DM
33225 },
33226 "node" : {
33227 "description" : "The cluster node name.",
33228 "format" : "pve-node",
013dc89f
DM
33229 "type" : "string",
33230 "typetext" : "<string>"
56122987
DM
33231 },
33232 "pos" : {
44660702 33233 "description" : "Update rule at position <pos>.",
7aacca6f 33234 "minimum" : 0,
7aacca6f 33235 "optional" : 1,
4bd7df8b 33236 "type" : "integer",
013dc89f 33237 "typetext" : "<integer> (0 - N)"
7aacca6f 33238 },
44660702
DM
33239 "proto" : {
33240 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
33241 "format" : "pve-fw-protocol-spec",
7aacca6f 33242 "optional" : 1,
013dc89f
DM
33243 "type" : "string",
33244 "typetext" : "<string>"
7aacca6f 33245 },
44660702
DM
33246 "source" : {
33247 "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.",
33248 "format" : "pve-fw-addr-spec",
56122987 33249 "optional" : 1,
013dc89f
DM
33250 "type" : "string",
33251 "typetext" : "<string>"
7aacca6f 33252 },
44660702
DM
33253 "sport" : {
33254 "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.",
33255 "format" : "pve-fw-sport-spec",
33256 "optional" : 1,
013dc89f
DM
33257 "type" : "string",
33258 "typetext" : "<string>"
44660702
DM
33259 },
33260 "type" : {
e94f0d56 33261 "description" : "Rule type.",
44660702
DM
33262 "enum" : [
33263 "in",
33264 "out",
33265 "group"
33266 ],
33267 "optional" : 1,
33268 "type" : "string"
56122987 33269 }
44660702 33270 }
56122987 33271 },
56122987
DM
33272 "permissions" : {
33273 "check" : [
33274 "perm",
33275 "/nodes/{node}",
33276 [
33277 "Sys.Modify"
33278 ]
33279 ]
7aacca6f 33280 },
44660702 33281 "protected" : 1,
7aacca6f 33282 "proxyto" : "node",
7aacca6f
DM
33283 "returns" : {
33284 "type" : "null"
56122987
DM
33285 }
33286 }
7aacca6f 33287 },
44660702 33288 "leaf" : 1,
7aacca6f 33289 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 33290 "text" : "{pos}"
56122987
DM
33291 }
33292 ],
56122987
DM
33293 "info" : {
33294 "GET" : {
e9cd3bd4 33295 "allowtoken" : 1,
44660702
DM
33296 "description" : "List rules.",
33297 "method" : "GET",
33298 "name" : "get_rules",
33299 "parameters" : {
33300 "additionalProperties" : 0,
33301 "properties" : {
33302 "node" : {
33303 "description" : "The cluster node name.",
33304 "format" : "pve-node",
013dc89f
DM
33305 "type" : "string",
33306 "typetext" : "<string>"
44660702
DM
33307 }
33308 }
33309 },
33310 "permissions" : {
33311 "check" : [
33312 "perm",
33313 "/nodes/{node}",
33314 [
33315 "Sys.Audit"
33316 ]
33317 ]
33318 },
33319 "proxyto" : "node",
56122987 33320 "returns" : {
56122987
DM
33321 "items" : {
33322 "properties" : {
33323 "pos" : {
33324 "type" : "integer"
33325 }
44660702
DM
33326 },
33327 "type" : "object"
56122987 33328 },
7aacca6f
DM
33329 "links" : [
33330 {
33331 "href" : "{pos}",
33332 "rel" : "child"
33333 }
33334 ],
33335 "type" : "array"
44660702 33336 }
56122987
DM
33337 },
33338 "POST" : {
e9cd3bd4 33339 "allowtoken" : 1,
44660702 33340 "description" : "Create new rule.",
7aacca6f
DM
33341 "method" : "POST",
33342 "name" : "create_rule",
56122987 33343 "parameters" : {
44660702 33344 "additionalProperties" : 0,
56122987 33345 "properties" : {
7aacca6f 33346 "action" : {
7aacca6f 33347 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 33348 "maxLength" : 20,
7aacca6f
DM
33349 "minLength" : 2,
33350 "optional" : 0,
44660702
DM
33351 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
33352 "type" : "string"
56122987 33353 },
44660702 33354 "comment" : {
e94f0d56 33355 "description" : "Descriptive comment.",
56122987 33356 "optional" : 1,
013dc89f
DM
33357 "type" : "string",
33358 "typetext" : "<string>"
56122987 33359 },
44660702
DM
33360 "dest" : {
33361 "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.",
33362 "format" : "pve-fw-addr-spec",
7aacca6f 33363 "optional" : 1,
013dc89f
DM
33364 "type" : "string",
33365 "typetext" : "<string>"
56122987 33366 },
44660702
DM
33367 "digest" : {
33368 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33369 "maxLength" : 40,
33370 "optional" : 1,
013dc89f
DM
33371 "type" : "string",
33372 "typetext" : "<string>"
56122987 33373 },
44660702
DM
33374 "dport" : {
33375 "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.",
33376 "format" : "pve-fw-dport-spec",
7aacca6f 33377 "optional" : 1,
013dc89f
DM
33378 "type" : "string",
33379 "typetext" : "<string>"
56122987 33380 },
44660702 33381 "enable" : {
e94f0d56 33382 "description" : "Flag to enable/disable a rule.",
44660702
DM
33383 "minimum" : 0,
33384 "optional" : 1,
4bd7df8b 33385 "type" : "integer",
013dc89f 33386 "typetext" : "<integer> (0 - N)"
44660702 33387 },
7aacca6f 33388 "iface" : {
44660702 33389 "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 33390 "format" : "pve-iface",
56122987 33391 "maxLength" : 20,
7aacca6f 33392 "minLength" : 2,
7aacca6f 33393 "optional" : 1,
013dc89f
DM
33394 "type" : "string",
33395 "typetext" : "<string>"
56122987 33396 },
95895385
TL
33397 "log" : {
33398 "description" : "Log level for firewall rule.",
33399 "enum" : [
33400 "emerg",
33401 "alert",
33402 "crit",
33403 "err",
33404 "warning",
33405 "notice",
33406 "info",
33407 "debug",
33408 "nolog"
33409 ],
33410 "optional" : 1,
33411 "type" : "string"
33412 },
44660702 33413 "macro" : {
e94f0d56 33414 "description" : "Use predefined standard macro.",
44660702 33415 "maxLength" : 128,
7aacca6f 33416 "optional" : 1,
013dc89f
DM
33417 "type" : "string",
33418 "typetext" : "<string>"
56122987 33419 },
44660702
DM
33420 "node" : {
33421 "description" : "The cluster node name.",
33422 "format" : "pve-node",
013dc89f
DM
33423 "type" : "string",
33424 "typetext" : "<string>"
44660702
DM
33425 },
33426 "pos" : {
33427 "description" : "Update rule at position <pos>.",
33428 "minimum" : 0,
33429 "optional" : 1,
4bd7df8b 33430 "type" : "integer",
013dc89f 33431 "typetext" : "<integer> (0 - N)"
44660702
DM
33432 },
33433 "proto" : {
33434 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
33435 "format" : "pve-fw-protocol-spec",
56122987 33436 "optional" : 1,
013dc89f
DM
33437 "type" : "string",
33438 "typetext" : "<string>"
56122987 33439 },
7aacca6f 33440 "source" : {
7aacca6f 33441 "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
33442 "format" : "pve-fw-addr-spec",
33443 "optional" : 1,
013dc89f
DM
33444 "type" : "string",
33445 "typetext" : "<string>"
7aacca6f 33446 },
44660702
DM
33447 "sport" : {
33448 "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.",
33449 "format" : "pve-fw-sport-spec",
7aacca6f 33450 "optional" : 1,
013dc89f
DM
33451 "type" : "string",
33452 "typetext" : "<string>"
44660702
DM
33453 },
33454 "type" : {
e94f0d56 33455 "description" : "Rule type.",
44660702
DM
33456 "enum" : [
33457 "in",
33458 "out",
33459 "group"
33460 ],
33461 "optional" : 0,
33462 "type" : "string"
56122987 33463 }
44660702 33464 }
7aacca6f 33465 },
56122987
DM
33466 "permissions" : {
33467 "check" : [
33468 "perm",
33469 "/nodes/{node}",
33470 [
33471 "Sys.Modify"
33472 ]
33473 ]
33474 },
44660702
DM
33475 "protected" : 1,
33476 "proxyto" : "node",
33477 "returns" : {
33478 "type" : "null"
33479 }
56122987
DM
33480 }
33481 },
44660702 33482 "leaf" : 0,
7aacca6f 33483 "path" : "/nodes/{node}/firewall/rules",
44660702 33484 "text" : "rules"
56122987
DM
33485 },
33486 {
56122987 33487 "info" : {
44660702 33488 "GET" : {
e9cd3bd4 33489 "allowtoken" : 1,
44660702
DM
33490 "description" : "Get host firewall options.",
33491 "method" : "GET",
33492 "name" : "get_options",
56122987 33493 "parameters" : {
7aacca6f 33494 "additionalProperties" : 0,
56122987 33495 "properties" : {
44660702
DM
33496 "node" : {
33497 "description" : "The cluster node name.",
33498 "format" : "pve-node",
013dc89f
DM
33499 "type" : "string",
33500 "typetext" : "<string>"
44660702
DM
33501 }
33502 }
33503 },
33504 "permissions" : {
33505 "check" : [
33506 "perm",
33507 "/nodes/{node}",
33508 [
33509 "Sys.Audit"
33510 ]
33511 ]
33512 },
33513 "proxyto" : "node",
33514 "returns" : {
33515 "properties" : {
33516 "enable" : {
33517 "description" : "Enable host firewall rules.",
7aacca6f 33518 "optional" : 1,
44660702 33519 "type" : "boolean"
7aacca6f 33520 },
44660702
DM
33521 "log_level_in" : {
33522 "description" : "Log level for incoming traffic.",
56122987
DM
33523 "enum" : [
33524 "emerg",
33525 "alert",
33526 "crit",
33527 "err",
33528 "warning",
33529 "notice",
33530 "info",
33531 "debug",
33532 "nolog"
33533 ],
56122987 33534 "optional" : 1,
44660702
DM
33535 "type" : "string"
33536 },
33537 "log_level_out" : {
33538 "description" : "Log level for outgoing traffic.",
56122987
DM
33539 "enum" : [
33540 "emerg",
33541 "alert",
33542 "crit",
33543 "err",
33544 "warning",
33545 "notice",
33546 "info",
33547 "debug",
33548 "nolog"
33549 ],
44660702
DM
33550 "optional" : 1,
33551 "type" : "string"
33552 },
95895385
TL
33553 "log_nf_conntrack" : {
33554 "default" : 0,
33555 "description" : "Enable logging of conntrack information.",
33556 "optional" : 1,
33557 "type" : "boolean"
33558 },
44660702 33559 "ndp" : {
5c1699e5
TL
33560 "default" : 0,
33561 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
33562 "optional" : 1,
33563 "type" : "boolean"
33564 },
5f26e15b
TL
33565 "nf_conntrack_allow_invalid" : {
33566 "default" : 0,
33567 "description" : "Allow invalid packets on connection tracking.",
33568 "optional" : 1,
33569 "type" : "boolean"
33570 },
44660702 33571 "nf_conntrack_max" : {
5c1699e5 33572 "default" : 262144,
44660702
DM
33573 "description" : "Maximum number of tracked connections.",
33574 "minimum" : 32768,
33575 "optional" : 1,
33576 "type" : "integer"
33577 },
33578 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 33579 "default" : 432000,
44660702
DM
33580 "description" : "Conntrack established timeout.",
33581 "minimum" : 7875,
33582 "optional" : 1,
33583 "type" : "integer"
33584 },
5c1699e5
TL
33585 "nf_conntrack_tcp_timeout_syn_recv" : {
33586 "default" : 60,
33587 "description" : "Conntrack syn recv timeout.",
33588 "maximum" : 60,
33589 "minimum" : 30,
33590 "optional" : 1,
33591 "type" : "integer"
33592 },
44660702
DM
33593 "nosmurfs" : {
33594 "description" : "Enable SMURFS filter.",
33595 "optional" : 1,
33596 "type" : "boolean"
56122987 33597 },
5c1699e5
TL
33598 "protection_synflood" : {
33599 "default" : 0,
33600 "description" : "Enable synflood protection",
33601 "optional" : 1,
33602 "type" : "boolean"
33603 },
33604 "protection_synflood_burst" : {
33605 "default" : 1000,
33606 "description" : "Synflood protection rate burst by ip src.",
33607 "optional" : 1,
33608 "type" : "integer"
33609 },
33610 "protection_synflood_rate" : {
33611 "default" : 200,
33612 "description" : "Synflood protection rate syn/sec by ip src.",
33613 "optional" : 1,
33614 "type" : "integer"
33615 },
7aacca6f 33616 "smurf_log_level" : {
44660702 33617 "description" : "Log level for SMURFS filter.",
56122987
DM
33618 "enum" : [
33619 "emerg",
33620 "alert",
33621 "crit",
33622 "err",
33623 "warning",
33624 "notice",
33625 "info",
33626 "debug",
33627 "nolog"
7aacca6f 33628 ],
7aacca6f
DM
33629 "optional" : 1,
33630 "type" : "string"
56122987 33631 },
44660702
DM
33632 "tcp_flags_log_level" : {
33633 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
33634 "enum" : [
33635 "emerg",
33636 "alert",
33637 "crit",
33638 "err",
33639 "warning",
33640 "notice",
33641 "info",
33642 "debug",
33643 "nolog"
33644 ],
44660702
DM
33645 "optional" : 1,
33646 "type" : "string"
7aacca6f 33647 },
44660702 33648 "tcpflags" : {
5c1699e5 33649 "default" : 0,
44660702 33650 "description" : "Filter illegal combinations of TCP flags.",
56122987 33651 "optional" : 1,
44660702 33652 "type" : "boolean"
56122987 33653 }
44660702
DM
33654 },
33655 "type" : "object"
7aacca6f 33656 }
56122987 33657 },
44660702 33658 "PUT" : {
e9cd3bd4 33659 "allowtoken" : 1,
44660702
DM
33660 "description" : "Set Firewall options.",
33661 "method" : "PUT",
33662 "name" : "set_options",
7aacca6f 33663 "parameters" : {
44660702 33664 "additionalProperties" : 0,
7aacca6f 33665 "properties" : {
44660702
DM
33666 "delete" : {
33667 "description" : "A list of settings you want to delete.",
33668 "format" : "pve-configid-list",
7aacca6f 33669 "optional" : 1,
013dc89f
DM
33670 "type" : "string",
33671 "typetext" : "<string>"
56122987 33672 },
44660702
DM
33673 "digest" : {
33674 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
33675 "maxLength" : 40,
33676 "optional" : 1,
013dc89f
DM
33677 "type" : "string",
33678 "typetext" : "<string>"
56122987 33679 },
44660702
DM
33680 "enable" : {
33681 "description" : "Enable host firewall rules.",
7aacca6f 33682 "optional" : 1,
013dc89f
DM
33683 "type" : "boolean",
33684 "typetext" : "<boolean>"
44660702
DM
33685 },
33686 "log_level_in" : {
33687 "description" : "Log level for incoming traffic.",
56122987
DM
33688 "enum" : [
33689 "emerg",
33690 "alert",
33691 "crit",
33692 "err",
33693 "warning",
33694 "notice",
33695 "info",
33696 "debug",
33697 "nolog"
44660702 33698 ],
7aacca6f 33699 "optional" : 1,
44660702 33700 "type" : "string"
7aacca6f 33701 },
44660702
DM
33702 "log_level_out" : {
33703 "description" : "Log level for outgoing traffic.",
56122987
DM
33704 "enum" : [
33705 "emerg",
33706 "alert",
33707 "crit",
33708 "err",
33709 "warning",
33710 "notice",
33711 "info",
33712 "debug",
33713 "nolog"
33714 ],
33715 "optional" : 1,
7aacca6f 33716 "type" : "string"
56122987 33717 },
95895385
TL
33718 "log_nf_conntrack" : {
33719 "default" : 0,
33720 "description" : "Enable logging of conntrack information.",
33721 "optional" : 1,
33722 "type" : "boolean",
33723 "typetext" : "<boolean>"
33724 },
44660702 33725 "ndp" : {
5c1699e5
TL
33726 "default" : 0,
33727 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 33728 "optional" : 1,
013dc89f
DM
33729 "type" : "boolean",
33730 "typetext" : "<boolean>"
44660702 33731 },
5f26e15b
TL
33732 "nf_conntrack_allow_invalid" : {
33733 "default" : 0,
33734 "description" : "Allow invalid packets on connection tracking.",
33735 "optional" : 1,
33736 "type" : "boolean",
33737 "typetext" : "<boolean>"
33738 },
44660702 33739 "nf_conntrack_max" : {
5c1699e5 33740 "default" : 262144,
44660702
DM
33741 "description" : "Maximum number of tracked connections.",
33742 "minimum" : 32768,
33743 "optional" : 1,
4bd7df8b 33744 "type" : "integer",
013dc89f 33745 "typetext" : "<integer> (32768 - N)"
44660702
DM
33746 },
33747 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 33748 "default" : 432000,
44660702
DM
33749 "description" : "Conntrack established timeout.",
33750 "minimum" : 7875,
33751 "optional" : 1,
4bd7df8b 33752 "type" : "integer",
013dc89f 33753 "typetext" : "<integer> (7875 - N)"
44660702 33754 },
5c1699e5
TL
33755 "nf_conntrack_tcp_timeout_syn_recv" : {
33756 "default" : 60,
33757 "description" : "Conntrack syn recv timeout.",
33758 "maximum" : 60,
33759 "minimum" : 30,
33760 "optional" : 1,
33761 "type" : "integer",
33762 "typetext" : "<integer> (30 - 60)"
33763 },
44660702
DM
33764 "node" : {
33765 "description" : "The cluster node name.",
33766 "format" : "pve-node",
013dc89f
DM
33767 "type" : "string",
33768 "typetext" : "<string>"
44660702
DM
33769 },
33770 "nosmurfs" : {
33771 "description" : "Enable SMURFS filter.",
33772 "optional" : 1,
013dc89f
DM
33773 "type" : "boolean",
33774 "typetext" : "<boolean>"
44660702 33775 },
5c1699e5
TL
33776 "protection_synflood" : {
33777 "default" : 0,
33778 "description" : "Enable synflood protection",
33779 "optional" : 1,
33780 "type" : "boolean",
33781 "typetext" : "<boolean>"
33782 },
33783 "protection_synflood_burst" : {
33784 "default" : 1000,
33785 "description" : "Synflood protection rate burst by ip src.",
33786 "optional" : 1,
33787 "type" : "integer",
33788 "typetext" : "<integer>"
33789 },
33790 "protection_synflood_rate" : {
33791 "default" : 200,
33792 "description" : "Synflood protection rate syn/sec by ip src.",
33793 "optional" : 1,
33794 "type" : "integer",
33795 "typetext" : "<integer>"
33796 },
44660702
DM
33797 "smurf_log_level" : {
33798 "description" : "Log level for SMURFS filter.",
56122987
DM
33799 "enum" : [
33800 "emerg",
33801 "alert",
33802 "crit",
33803 "err",
33804 "warning",
33805 "notice",
33806 "info",
33807 "debug",
33808 "nolog"
44660702
DM
33809 ],
33810 "optional" : 1,
33811 "type" : "string"
56122987 33812 },
44660702
DM
33813 "tcp_flags_log_level" : {
33814 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
33815 "enum" : [
33816 "emerg",
33817 "alert",
33818 "crit",
33819 "err",
33820 "warning",
33821 "notice",
33822 "info",
33823 "debug",
33824 "nolog"
33825 ],
44660702
DM
33826 "optional" : 1,
33827 "type" : "string"
7aacca6f 33828 },
44660702 33829 "tcpflags" : {
5c1699e5 33830 "default" : 0,
44660702 33831 "description" : "Filter illegal combinations of TCP flags.",
56122987 33832 "optional" : 1,
013dc89f
DM
33833 "type" : "boolean",
33834 "typetext" : "<boolean>"
56122987 33835 }
7aacca6f 33836 }
56122987 33837 },
44660702
DM
33838 "permissions" : {
33839 "check" : [
33840 "perm",
33841 "/nodes/{node}",
33842 [
33843 "Sys.Modify"
33844 ]
33845 ]
33846 },
33847 "protected" : 1,
33848 "proxyto" : "node",
33849 "returns" : {
33850 "type" : "null"
33851 }
7aacca6f
DM
33852 }
33853 },
44660702
DM
33854 "leaf" : 1,
33855 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
33856 "text" : "options"
33857 },
33858 {
7aacca6f
DM
33859 "info" : {
33860 "GET" : {
e9cd3bd4 33861 "allowtoken" : 1,
44660702
DM
33862 "description" : "Read firewall log",
33863 "method" : "GET",
7aacca6f 33864 "name" : "log",
56122987 33865 "parameters" : {
44660702 33866 "additionalProperties" : 0,
56122987 33867 "properties" : {
7aacca6f 33868 "limit" : {
44660702 33869 "minimum" : 0,
7aacca6f 33870 "optional" : 1,
4bd7df8b 33871 "type" : "integer",
013dc89f 33872 "typetext" : "<integer> (0 - N)"
7aacca6f 33873 },
56122987 33874 "node" : {
7aacca6f 33875 "description" : "The cluster node name.",
44660702 33876 "format" : "pve-node",
013dc89f
DM
33877 "type" : "string",
33878 "typetext" : "<string>"
44660702
DM
33879 },
33880 "start" : {
33881 "minimum" : 0,
33882 "optional" : 1,
4bd7df8b 33883 "type" : "integer",
013dc89f 33884 "typetext" : "<integer> (0 - N)"
56122987 33885 }
44660702 33886 }
7aacca6f 33887 },
56122987
DM
33888 "permissions" : {
33889 "check" : [
33890 "perm",
33891 "/nodes/{node}",
33892 [
33893 "Sys.Syslog"
33894 ]
33895 ]
33896 },
44660702
DM
33897 "protected" : 1,
33898 "proxyto" : "node",
56122987
DM
33899 "returns" : {
33900 "items" : {
56122987 33901 "properties" : {
56122987 33902 "n" : {
44660702
DM
33903 "description" : "Line number",
33904 "type" : "integer"
7aacca6f
DM
33905 },
33906 "t" : {
44660702
DM
33907 "description" : "Line text",
33908 "type" : "string"
56122987 33909 }
44660702
DM
33910 },
33911 "type" : "object"
56122987
DM
33912 },
33913 "type" : "array"
7aacca6f 33914 }
56122987
DM
33915 }
33916 },
44660702
DM
33917 "leaf" : 1,
33918 "path" : "/nodes/{node}/firewall/log",
7aacca6f 33919 "text" : "log"
56122987
DM
33920 }
33921 ],
33922 "info" : {
33923 "GET" : {
e9cd3bd4 33924 "allowtoken" : 1,
44660702
DM
33925 "description" : "Directory index.",
33926 "method" : "GET",
33927 "name" : "index",
56122987 33928 "parameters" : {
44660702 33929 "additionalProperties" : 0,
56122987
DM
33930 "properties" : {
33931 "node" : {
33932 "description" : "The cluster node name.",
44660702 33933 "format" : "pve-node",
013dc89f
DM
33934 "type" : "string",
33935 "typetext" : "<string>"
56122987 33936 }
44660702 33937 }
56122987 33938 },
7aacca6f
DM
33939 "permissions" : {
33940 "user" : "all"
33941 },
56122987
DM
33942 "returns" : {
33943 "items" : {
33944 "properties" : {},
33945 "type" : "object"
33946 },
56122987
DM
33947 "links" : [
33948 {
44660702
DM
33949 "href" : "{name}",
33950 "rel" : "child"
56122987 33951 }
44660702
DM
33952 ],
33953 "type" : "array"
33954 }
56122987 33955 }
7aacca6f 33956 },
44660702 33957 "leaf" : 0,
7aacca6f 33958 "path" : "/nodes/{node}/firewall",
44660702 33959 "text" : "firewall"
56122987 33960 },
5d9c884c
DM
33961 {
33962 "children" : [
33963 {
33964 "children" : [
33965 {
33966 "info" : {
33967 "GET" : {
e9cd3bd4 33968 "allowtoken" : 1,
5d9c884c
DM
33969 "description" : "Get replication job status.",
33970 "method" : "GET",
33971 "name" : "job_status",
33972 "parameters" : {
33973 "additionalProperties" : 0,
33974 "properties" : {
33975 "id" : {
33976 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
33977 "format" : "pve-replication-job-id",
33978 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
33979 "type" : "string"
33980 },
33981 "node" : {
33982 "description" : "The cluster node name.",
33983 "format" : "pve-node",
33984 "type" : "string",
33985 "typetext" : "<string>"
33986 }
33987 }
33988 },
33989 "permissions" : {
33990 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
33991 "user" : "all"
33992 },
33993 "protected" : 1,
33994 "proxyto" : "node",
33995 "returns" : {
5d9c884c
DM
33996 "type" : "object"
33997 }
33998 }
33999 },
34000 "leaf" : 1,
34001 "path" : "/nodes/{node}/replication/{id}/status",
34002 "text" : "status"
34003 },
34004 {
34005 "info" : {
34006 "GET" : {
e9cd3bd4 34007 "allowtoken" : 1,
5d9c884c
DM
34008 "description" : "Read replication job log.",
34009 "method" : "GET",
34010 "name" : "read_job_log",
34011 "parameters" : {
34012 "additionalProperties" : 0,
34013 "properties" : {
34014 "id" : {
34015 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
34016 "format" : "pve-replication-job-id",
34017 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
34018 "type" : "string"
34019 },
34020 "limit" : {
34021 "minimum" : 0,
34022 "optional" : 1,
34023 "type" : "integer",
34024 "typetext" : "<integer> (0 - N)"
34025 },
34026 "node" : {
34027 "description" : "The cluster node name.",
34028 "format" : "pve-node",
34029 "type" : "string",
34030 "typetext" : "<string>"
34031 },
34032 "start" : {
34033 "minimum" : 0,
34034 "optional" : 1,
34035 "type" : "integer",
34036 "typetext" : "<integer> (0 - N)"
34037 }
34038 }
34039 },
34040 "permissions" : {
34041 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
34042 "user" : "all"
34043 },
34044 "protected" : 1,
34045 "proxyto" : "node",
34046 "returns" : {
34047 "items" : {
34048 "properties" : {
34049 "n" : {
34050 "description" : "Line number",
34051 "type" : "integer"
34052 },
34053 "t" : {
34054 "description" : "Line text",
34055 "type" : "string"
34056 }
34057 },
34058 "type" : "object"
34059 },
34060 "type" : "array"
34061 }
34062 }
34063 },
34064 "leaf" : 1,
34065 "path" : "/nodes/{node}/replication/{id}/log",
34066 "text" : "log"
34067 },
34068 {
34069 "info" : {
34070 "POST" : {
e9cd3bd4 34071 "allowtoken" : 1,
5d9c884c
DM
34072 "description" : "Schedule replication job to start as soon as possible.",
34073 "method" : "POST",
34074 "name" : "schedule_now",
34075 "parameters" : {
34076 "additionalProperties" : 0,
34077 "properties" : {
34078 "id" : {
34079 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
34080 "format" : "pve-replication-job-id",
34081 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
34082 "type" : "string"
34083 },
34084 "node" : {
34085 "description" : "The cluster node name.",
34086 "format" : "pve-node",
34087 "type" : "string",
34088 "typetext" : "<string>"
34089 }
34090 }
34091 },
34092 "permissions" : {
34093 "check" : [
34094 "perm",
34095 "/storage",
34096 [
34097 "Datastore.Allocate"
34098 ]
34099 ]
34100 },
34101 "protected" : 1,
34102 "proxyto" : "node",
34103 "returns" : {
34104 "type" : "string"
34105 }
34106 }
34107 },
34108 "leaf" : 1,
34109 "path" : "/nodes/{node}/replication/{id}/schedule_now",
34110 "text" : "schedule_now"
34111 }
34112 ],
34113 "info" : {
34114 "GET" : {
e9cd3bd4 34115 "allowtoken" : 1,
5d9c884c
DM
34116 "description" : "Directory index.",
34117 "method" : "GET",
34118 "name" : "index",
34119 "parameters" : {
34120 "additionalProperties" : 0,
34121 "properties" : {
34122 "id" : {
34123 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
34124 "format" : "pve-replication-job-id",
34125 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
34126 "type" : "string"
34127 },
34128 "node" : {
34129 "description" : "The cluster node name.",
34130 "format" : "pve-node",
34131 "type" : "string",
34132 "typetext" : "<string>"
34133 }
34134 }
34135 },
34136 "permissions" : {
34137 "user" : "all"
34138 },
34139 "returns" : {
34140 "items" : {
34141 "properties" : {},
34142 "type" : "object"
34143 },
34144 "links" : [
34145 {
34146 "href" : "{name}",
34147 "rel" : "child"
34148 }
34149 ],
34150 "type" : "array"
34151 }
34152 }
34153 },
34154 "leaf" : 0,
34155 "path" : "/nodes/{node}/replication/{id}",
34156 "text" : "{id}"
34157 }
34158 ],
34159 "info" : {
34160 "GET" : {
e9cd3bd4 34161 "allowtoken" : 1,
5d9c884c
DM
34162 "description" : "List status of all replication jobs on this node.",
34163 "method" : "GET",
34164 "name" : "status",
34165 "parameters" : {
34166 "additionalProperties" : 0,
34167 "properties" : {
34168 "guest" : {
34169 "description" : "Only list replication jobs for this guest.",
34170 "format" : "pve-vmid",
34171 "minimum" : 1,
34172 "optional" : 1,
34173 "type" : "integer",
34174 "typetext" : "<integer> (1 - N)"
34175 },
34176 "node" : {
34177 "description" : "The cluster node name.",
34178 "format" : "pve-node",
34179 "type" : "string",
34180 "typetext" : "<string>"
34181 }
34182 }
34183 },
34184 "permissions" : {
34185 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
34186 "user" : "all"
34187 },
34188 "protected" : 1,
34189 "proxyto" : "node",
34190 "returns" : {
34191 "items" : {
34192 "properties" : {
34193 "id" : {
34194 "type" : "string"
34195 }
34196 },
34197 "type" : "object"
34198 },
34199 "links" : [
34200 {
34201 "href" : "{id}",
34202 "rel" : "child"
34203 }
34204 ],
34205 "type" : "array"
34206 }
34207 }
34208 },
34209 "leaf" : 0,
34210 "path" : "/nodes/{node}/replication",
34211 "text" : "replication"
34212 },
a9a8e3d1
DM
34213 {
34214 "children" : [
34215 {
34216 "children" : [
34217 {
34218 "info" : {
34219 "DELETE" : {
e9cd3bd4 34220 "allowtoken" : 1,
a9a8e3d1
DM
34221 "description" : "Revoke existing certificate from CA.",
34222 "method" : "DELETE",
34223 "name" : "revoke_certificate",
34224 "parameters" : {
34225 "additionalProperties" : 0,
34226 "properties" : {
34227 "node" : {
34228 "description" : "The cluster node name.",
34229 "format" : "pve-node",
34230 "type" : "string",
34231 "typetext" : "<string>"
34232 }
34233 }
34234 },
34235 "protected" : 1,
34236 "proxyto" : "node",
34237 "returns" : {
34238 "type" : "string"
34239 }
34240 },
34241 "POST" : {
e9cd3bd4 34242 "allowtoken" : 1,
a9a8e3d1
DM
34243 "description" : "Order a new certificate from ACME-compatible CA.",
34244 "method" : "POST",
34245 "name" : "new_certificate",
34246 "parameters" : {
34247 "additionalProperties" : 0,
34248 "properties" : {
34249 "force" : {
34250 "default" : 0,
34251 "description" : "Overwrite existing custom certificate.",
34252 "optional" : 1,
34253 "type" : "boolean",
34254 "typetext" : "<boolean>"
34255 },
34256 "node" : {
34257 "description" : "The cluster node name.",
34258 "format" : "pve-node",
34259 "type" : "string",
34260 "typetext" : "<string>"
34261 }
34262 }
34263 },
34264 "protected" : 1,
34265 "proxyto" : "node",
34266 "returns" : {
34267 "type" : "string"
34268 }
34269 },
34270 "PUT" : {
e9cd3bd4 34271 "allowtoken" : 1,
a9a8e3d1
DM
34272 "description" : "Renew existing certificate from CA.",
34273 "method" : "PUT",
34274 "name" : "renew_certificate",
34275 "parameters" : {
34276 "additionalProperties" : 0,
34277 "properties" : {
34278 "force" : {
34279 "default" : 0,
34280 "description" : "Force renewal even if expiry is more than 30 days away.",
34281 "optional" : 1,
34282 "type" : "boolean",
34283 "typetext" : "<boolean>"
34284 },
34285 "node" : {
34286 "description" : "The cluster node name.",
34287 "format" : "pve-node",
34288 "type" : "string",
34289 "typetext" : "<string>"
34290 }
34291 }
34292 },
34293 "protected" : 1,
34294 "proxyto" : "node",
34295 "returns" : {
34296 "type" : "string"
34297 }
34298 }
34299 },
34300 "leaf" : 1,
34301 "path" : "/nodes/{node}/certificates/acme/certificate",
34302 "text" : "certificate"
34303 }
34304 ],
34305 "info" : {
34306 "GET" : {
e9cd3bd4 34307 "allowtoken" : 1,
a9a8e3d1
DM
34308 "description" : "ACME index.",
34309 "method" : "GET",
34310 "name" : "index",
34311 "parameters" : {
34312 "additionalProperties" : 0,
34313 "properties" : {
34314 "node" : {
34315 "description" : "The cluster node name.",
34316 "format" : "pve-node",
34317 "type" : "string",
34318 "typetext" : "<string>"
34319 }
34320 }
34321 },
34322 "permissions" : {
34323 "user" : "all"
34324 },
34325 "returns" : {
34326 "items" : {
34327 "properties" : {},
34328 "type" : "object"
34329 },
34330 "links" : [
34331 {
34332 "href" : "{name}",
34333 "rel" : "child"
34334 }
34335 ],
34336 "type" : "array"
34337 }
34338 }
34339 },
34340 "leaf" : 0,
34341 "path" : "/nodes/{node}/certificates/acme",
34342 "text" : "acme"
34343 },
34344 {
34345 "info" : {
34346 "GET" : {
e9cd3bd4 34347 "allowtoken" : 1,
a9a8e3d1
DM
34348 "description" : "Get information about node's certificates.",
34349 "method" : "GET",
34350 "name" : "info",
34351 "parameters" : {
34352 "additionalProperties" : 0,
34353 "properties" : {
34354 "node" : {
34355 "description" : "The cluster node name.",
34356 "format" : "pve-node",
34357 "type" : "string",
34358 "typetext" : "<string>"
34359 }
34360 }
34361 },
34362 "permissions" : {
34363 "user" : "all"
34364 },
34365 "proxyto" : "node",
34366 "returns" : {
34367 "items" : {
34368 "properties" : {
34369 "filename" : {
34370 "optional" : 1,
34371 "type" : "string"
34372 },
34373 "fingerprint" : {
34374 "description" : "Certificate SHA 256 fingerprint.",
34375 "optional" : 1,
34376 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
34377 "type" : "string"
34378 },
34379 "issuer" : {
34380 "description" : "Certificate issuer name.",
34381 "optional" : 1,
34382 "type" : "string"
34383 },
34384 "notafter" : {
34385 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
34386 "optional" : 1,
4d47f125 34387 "renderer" : "timestamp",
a9a8e3d1
DM
34388 "type" : "integer"
34389 },
34390 "notbefore" : {
34391 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
34392 "optional" : 1,
4d47f125 34393 "renderer" : "timestamp",
a9a8e3d1
DM
34394 "type" : "integer"
34395 },
34396 "pem" : {
34397 "description" : "Certificate in PEM format",
34398 "format" : "pem-certificate",
34399 "optional" : 1,
34400 "type" : "string"
34401 },
1c532546
TL
34402 "public-key-bits" : {
34403 "description" : "Certificate's public key size",
34404 "optional" : 1,
34405 "type" : "integer"
34406 },
34407 "public-key-type" : {
34408 "description" : "Certificate's public key algorithm",
34409 "optional" : 1,
34410 "type" : "string"
34411 },
a9a8e3d1
DM
34412 "san" : {
34413 "description" : "List of Certificate's SubjectAlternativeName entries.",
34414 "items" : {
34415 "type" : "string"
34416 },
34417 "optional" : 1,
4d47f125 34418 "renderer" : "yaml",
a9a8e3d1
DM
34419 "type" : "array"
34420 },
34421 "subject" : {
34422 "description" : "Certificate subject name.",
34423 "optional" : 1,
34424 "type" : "string"
34425 }
34426 },
34427 "type" : "object"
34428 },
34429 "type" : "array"
34430 }
34431 }
34432 },
34433 "leaf" : 1,
34434 "path" : "/nodes/{node}/certificates/info",
34435 "text" : "info"
34436 },
34437 {
34438 "info" : {
34439 "DELETE" : {
e9cd3bd4 34440 "allowtoken" : 1,
a9a8e3d1
DM
34441 "description" : "DELETE custom certificate chain and key.",
34442 "method" : "DELETE",
34443 "name" : "remove_custom_cert",
34444 "parameters" : {
34445 "additionalProperties" : 0,
34446 "properties" : {
34447 "node" : {
34448 "description" : "The cluster node name.",
34449 "format" : "pve-node",
34450 "type" : "string",
34451 "typetext" : "<string>"
34452 },
34453 "restart" : {
34454 "default" : 0,
34455 "description" : "Restart pveproxy.",
34456 "optional" : 1,
34457 "type" : "boolean",
34458 "typetext" : "<boolean>"
34459 }
34460 }
34461 },
34462 "protected" : 1,
34463 "proxyto" : "node",
34464 "returns" : {
34465 "type" : "null"
34466 }
34467 },
34468 "POST" : {
e9cd3bd4 34469 "allowtoken" : 1,
a9a8e3d1
DM
34470 "description" : "Upload or update custom certificate chain and key.",
34471 "method" : "POST",
34472 "name" : "upload_custom_cert",
34473 "parameters" : {
34474 "additionalProperties" : 0,
34475 "properties" : {
34476 "certificates" : {
34477 "description" : "PEM encoded certificate (chain).",
34478 "format" : "pem-certificate-chain",
34479 "type" : "string",
34480 "typetext" : "<string>"
34481 },
34482 "force" : {
34483 "default" : 0,
34484 "description" : "Overwrite existing custom or ACME certificate files.",
34485 "optional" : 1,
34486 "type" : "boolean",
34487 "typetext" : "<boolean>"
34488 },
34489 "key" : {
34490 "description" : "PEM encoded private key.",
34491 "format" : "pem-string",
34492 "optional" : 1,
34493 "type" : "string",
34494 "typetext" : "<string>"
34495 },
34496 "node" : {
34497 "description" : "The cluster node name.",
34498 "format" : "pve-node",
34499 "type" : "string",
34500 "typetext" : "<string>"
34501 },
34502 "restart" : {
34503 "default" : 0,
34504 "description" : "Restart pveproxy.",
34505 "optional" : 1,
34506 "type" : "boolean",
34507 "typetext" : "<boolean>"
34508 }
34509 }
34510 },
34511 "protected" : 1,
34512 "proxyto" : "node",
34513 "returns" : {
34514 "properties" : {
34515 "filename" : {
34516 "optional" : 1,
34517 "type" : "string"
34518 },
34519 "fingerprint" : {
34520 "description" : "Certificate SHA 256 fingerprint.",
34521 "optional" : 1,
34522 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
34523 "type" : "string"
34524 },
34525 "issuer" : {
34526 "description" : "Certificate issuer name.",
34527 "optional" : 1,
34528 "type" : "string"
34529 },
34530 "notafter" : {
34531 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
34532 "optional" : 1,
4d47f125 34533 "renderer" : "timestamp",
a9a8e3d1
DM
34534 "type" : "integer"
34535 },
34536 "notbefore" : {
34537 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
34538 "optional" : 1,
4d47f125 34539 "renderer" : "timestamp",
a9a8e3d1
DM
34540 "type" : "integer"
34541 },
34542 "pem" : {
34543 "description" : "Certificate in PEM format",
34544 "format" : "pem-certificate",
34545 "optional" : 1,
34546 "type" : "string"
34547 },
1c532546
TL
34548 "public-key-bits" : {
34549 "description" : "Certificate's public key size",
34550 "optional" : 1,
34551 "type" : "integer"
34552 },
34553 "public-key-type" : {
34554 "description" : "Certificate's public key algorithm",
34555 "optional" : 1,
34556 "type" : "string"
34557 },
a9a8e3d1
DM
34558 "san" : {
34559 "description" : "List of Certificate's SubjectAlternativeName entries.",
34560 "items" : {
34561 "type" : "string"
34562 },
34563 "optional" : 1,
4d47f125 34564 "renderer" : "yaml",
a9a8e3d1
DM
34565 "type" : "array"
34566 },
34567 "subject" : {
34568 "description" : "Certificate subject name.",
34569 "optional" : 1,
34570 "type" : "string"
34571 }
34572 },
34573 "type" : "object"
34574 }
34575 }
34576 },
34577 "leaf" : 1,
34578 "path" : "/nodes/{node}/certificates/custom",
34579 "text" : "custom"
34580 }
34581 ],
34582 "info" : {
34583 "GET" : {
e9cd3bd4 34584 "allowtoken" : 1,
a9a8e3d1
DM
34585 "description" : "Node index.",
34586 "method" : "GET",
34587 "name" : "index",
34588 "parameters" : {
34589 "additionalProperties" : 0,
34590 "properties" : {
34591 "node" : {
34592 "description" : "The cluster node name.",
34593 "format" : "pve-node",
34594 "type" : "string",
34595 "typetext" : "<string>"
34596 }
34597 }
34598 },
34599 "permissions" : {
34600 "user" : "all"
34601 },
34602 "returns" : {
34603 "items" : {
34604 "properties" : {},
34605 "type" : "object"
34606 },
34607 "links" : [
34608 {
34609 "href" : "{name}",
34610 "rel" : "child"
34611 }
34612 ],
34613 "type" : "array"
34614 }
34615 }
34616 },
34617 "leaf" : 0,
34618 "path" : "/nodes/{node}/certificates",
34619 "text" : "certificates"
34620 },
34621 {
34622 "info" : {
34623 "GET" : {
e9cd3bd4 34624 "allowtoken" : 1,
a9a8e3d1
DM
34625 "description" : "Get node configuration options.",
34626 "method" : "GET",
34627 "name" : "get_config",
34628 "parameters" : {
34629 "additionalProperties" : 0,
34630 "properties" : {
34631 "node" : {
34632 "description" : "The cluster node name.",
34633 "format" : "pve-node",
34634 "type" : "string",
34635 "typetext" : "<string>"
5c1699e5
TL
34636 },
34637 "property" : {
34638 "default" : "all",
34639 "description" : "Return only a specific property from the node configuration.",
34640 "enum" : [
34641 "acme",
34642 "description",
34643 "startall-onboot-delay",
34644 "wakeonlan"
34645 ],
34646 "optional" : 1,
34647 "type" : "string"
a9a8e3d1
DM
34648 }
34649 }
34650 },
34651 "permissions" : {
34652 "check" : [
34653 "perm",
34654 "/",
34655 [
34656 "Sys.Audit"
34657 ]
34658 ]
34659 },
34660 "proxyto" : "node",
34661 "returns" : {
a9a8e3d1
DM
34662 "type" : "object"
34663 }
34664 },
34665 "PUT" : {
e9cd3bd4 34666 "allowtoken" : 1,
a9a8e3d1
DM
34667 "description" : "Set node configuration options.",
34668 "method" : "PUT",
34669 "name" : "set_options",
34670 "parameters" : {
34671 "additionalProperties" : 0,
34672 "properties" : {
34673 "acme" : {
34674 "description" : "Node specific ACME settings.",
34675 "format" : {
34676 "account" : {
34677 "default" : "default",
34678 "description" : "ACME account config file name.",
34679 "format" : "pve-configid",
34680 "format_description" : "name",
34681 "optional" : 1,
34682 "type" : "string"
34683 },
34684 "domains" : {
34685 "description" : "List of domains for this node's ACME certificate",
34686 "format" : "pve-acme-domain-list",
34687 "format_description" : "domain[;domain;...]",
34688 "type" : "string"
34689 }
34690 },
34691 "optional" : 1,
34692 "type" : "string",
34693 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
34694 },
34695 "delete" : {
34696 "description" : "A list of settings you want to delete.",
34697 "format" : "pve-configid-list",
34698 "optional" : 1,
34699 "type" : "string",
34700 "typetext" : "<string>"
34701 },
34702 "description" : {
34703 "description" : "Node description/comment.",
34704 "optional" : 1,
34705 "type" : "string",
34706 "typetext" : "<string>"
34707 },
34708 "digest" : {
34709 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34710 "maxLength" : 40,
34711 "optional" : 1,
34712 "type" : "string",
34713 "typetext" : "<string>"
34714 },
34715 "node" : {
34716 "description" : "The cluster node name.",
34717 "format" : "pve-node",
34718 "type" : "string",
34719 "typetext" : "<string>"
5f26e15b 34720 },
5c1699e5
TL
34721 "startall-onboot-delay" : {
34722 "default" : 0,
34723 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
34724 "maximum" : 300,
34725 "minimum" : 0,
34726 "optional" : 1,
34727 "type" : "integer",
34728 "typetext" : "<integer> (0 - 300)"
34729 },
5f26e15b
TL
34730 "wakeonlan" : {
34731 "description" : "MAC address for wake on LAN",
34732 "format" : "mac-addr",
34733 "optional" : 1,
34734 "type" : "string",
34735 "typetext" : "<string>"
a9a8e3d1
DM
34736 }
34737 }
34738 },
34739 "permissions" : {
34740 "check" : [
34741 "perm",
34742 "/",
34743 [
34744 "Sys.Modify"
34745 ]
34746 ]
34747 },
34748 "protected" : 1,
34749 "proxyto" : "node",
34750 "returns" : {
34751 "type" : "null"
34752 }
34753 }
34754 },
34755 "leaf" : 1,
34756 "path" : "/nodes/{node}/config",
34757 "text" : "config"
34758 },
56122987 34759 {
56122987
DM
34760 "info" : {
34761 "GET" : {
e9cd3bd4 34762 "allowtoken" : 1,
44660702
DM
34763 "description" : "API version details",
34764 "method" : "GET",
34765 "name" : "version",
56122987 34766 "parameters" : {
44660702 34767 "additionalProperties" : 0,
56122987
DM
34768 "properties" : {
34769 "node" : {
56122987 34770 "description" : "The cluster node name.",
44660702 34771 "format" : "pve-node",
013dc89f
DM
34772 "type" : "string",
34773 "typetext" : "<string>"
56122987 34774 }
44660702 34775 }
56122987 34776 },
56122987 34777 "permissions" : {
7aacca6f 34778 "user" : "all"
56122987 34779 },
56122987 34780 "proxyto" : "node",
56122987 34781 "returns" : {
56122987 34782 "properties" : {
44660702 34783 "release" : {
1e3f8156 34784 "description" : "The current installed Proxmox VE Release",
56122987
DM
34785 "type" : "string"
34786 },
44660702 34787 "repoid" : {
1e3f8156 34788 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
34789 "type" : "string"
34790 },
34791 "version" : {
1e3f8156 34792 "description" : "The current installed pve-manager package version",
7aacca6f
DM
34793 "type" : "string"
34794 }
44660702
DM
34795 },
34796 "type" : "object"
7aacca6f 34797 }
56122987
DM
34798 }
34799 },
56122987 34800 "leaf" : 1,
44660702
DM
34801 "path" : "/nodes/{node}/version",
34802 "text" : "version"
56122987
DM
34803 },
34804 {
56122987
DM
34805 "info" : {
34806 "GET" : {
e9cd3bd4 34807 "allowtoken" : 1,
7aacca6f 34808 "description" : "Read node status",
44660702 34809 "method" : "GET",
7aacca6f 34810 "name" : "status",
56122987 34811 "parameters" : {
44660702 34812 "additionalProperties" : 0,
56122987
DM
34813 "properties" : {
34814 "node" : {
7aacca6f 34815 "description" : "The cluster node name.",
44660702 34816 "format" : "pve-node",
013dc89f
DM
34817 "type" : "string",
34818 "typetext" : "<string>"
56122987 34819 }
44660702 34820 }
56122987 34821 },
56122987
DM
34822 "permissions" : {
34823 "check" : [
34824 "perm",
34825 "/nodes/{node}",
34826 [
34827 "Sys.Audit"
34828 ]
34829 ]
44660702
DM
34830 },
34831 "proxyto" : "node",
34832 "returns" : {
44660702 34833 "type" : "object"
7aacca6f
DM
34834 }
34835 },
34836 "POST" : {
e9cd3bd4 34837 "allowtoken" : 1,
44660702
DM
34838 "description" : "Reboot or shutdown a node.",
34839 "method" : "POST",
7aacca6f 34840 "name" : "node_cmd",
56122987 34841 "parameters" : {
44660702 34842 "additionalProperties" : 0,
56122987 34843 "properties" : {
7aacca6f
DM
34844 "command" : {
34845 "description" : "Specify the command.",
56122987 34846 "enum" : [
7aacca6f
DM
34847 "reboot",
34848 "shutdown"
56122987
DM
34849 ],
34850 "type" : "string"
44660702
DM
34851 },
34852 "node" : {
34853 "description" : "The cluster node name.",
34854 "format" : "pve-node",
013dc89f
DM
34855 "type" : "string",
34856 "typetext" : "<string>"
56122987 34857 }
44660702 34858 }
7aacca6f 34859 },
7aacca6f
DM
34860 "permissions" : {
34861 "check" : [
34862 "perm",
34863 "/nodes/{node}",
34864 [
34865 "Sys.PowerMgmt"
34866 ]
34867 ]
34868 },
44660702 34869 "protected" : 1,
7aacca6f 34870 "proxyto" : "node",
7aacca6f
DM
34871 "returns" : {
34872 "type" : "null"
56122987
DM
34873 }
34874 }
34875 },
7aacca6f 34876 "leaf" : 1,
44660702
DM
34877 "path" : "/nodes/{node}/status",
34878 "text" : "status"
56122987
DM
34879 },
34880 {
56122987
DM
34881 "info" : {
34882 "GET" : {
e9cd3bd4 34883 "allowtoken" : 1,
44660702
DM
34884 "description" : "Read tap/vm network device interface counters",
34885 "method" : "GET",
34886 "name" : "netstat",
34887 "parameters" : {
34888 "additionalProperties" : 0,
34889 "properties" : {
34890 "node" : {
34891 "description" : "The cluster node name.",
34892 "format" : "pve-node",
013dc89f
DM
34893 "type" : "string",
34894 "typetext" : "<string>"
44660702 34895 }
56122987
DM
34896 }
34897 },
34898 "permissions" : {
34899 "check" : [
34900 "perm",
34901 "/nodes/{node}",
34902 [
7aacca6f 34903 "Sys.Audit"
56122987
DM
34904 ]
34905 ]
34906 },
7aacca6f 34907 "proxyto" : "node",
44660702
DM
34908 "returns" : {
34909 "items" : {
34910 "properties" : {},
34911 "type" : "object"
34912 },
34913 "type" : "array"
34914 }
7aacca6f
DM
34915 }
34916 },
44660702
DM
34917 "leaf" : 1,
34918 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
34919 "text" : "netstat"
34920 },
34921 {
34922 "info" : {
34923 "POST" : {
e9cd3bd4 34924 "allowtoken" : 1,
7aacca6f 34925 "description" : "Execute multiple commands in order.",
7aacca6f 34926 "method" : "POST",
7aacca6f 34927 "name" : "execute",
56122987
DM
34928 "parameters" : {
34929 "additionalProperties" : 0,
34930 "properties" : {
7aacca6f
DM
34931 "commands" : {
34932 "description" : "JSON encoded array of commands.",
013dc89f
DM
34933 "type" : "string",
34934 "typetext" : "<string>"
56122987
DM
34935 },
34936 "node" : {
44660702 34937 "description" : "The cluster node name.",
56122987 34938 "format" : "pve-node",
013dc89f
DM
34939 "type" : "string",
34940 "typetext" : "<string>"
56122987
DM
34941 }
34942 }
44660702
DM
34943 },
34944 "permissions" : {
34945 "check" : [
34946 "perm",
34947 "/nodes/{node}",
34948 [
34949 "Sys.Audit"
34950 ]
34951 ]
34952 },
34953 "protected" : 1,
34954 "proxyto" : "node",
34955 "returns" : {
44660702 34956 "type" : "array"
56122987
DM
34957 }
34958 }
34959 },
56122987 34960 "leaf" : 1,
44660702
DM
34961 "path" : "/nodes/{node}/execute",
34962 "text" : "execute"
56122987 34963 },
5f26e15b
TL
34964 {
34965 "info" : {
34966 "POST" : {
e9cd3bd4 34967 "allowtoken" : 1,
5f26e15b
TL
34968 "description" : "Try to wake a node via 'wake on LAN' network packet.",
34969 "method" : "POST",
34970 "name" : "wakeonlan",
34971 "parameters" : {
34972 "additionalProperties" : 0,
34973 "properties" : {
34974 "node" : {
34975 "description" : "target node for wake on LAN packet",
34976 "format" : "pve-node",
34977 "type" : "string",
34978 "typetext" : "<string>"
34979 }
34980 }
34981 },
34982 "permissions" : {
34983 "check" : [
34984 "perm",
34985 "/nodes/{node}",
34986 [
34987 "Sys.PowerMgmt"
34988 ]
34989 ]
34990 },
34991 "protected" : 1,
34992 "returns" : {
34993 "description" : "MAC address used to assemble the WoL magic packet.",
34994 "format" : "mac-addr",
34995 "type" : "string"
34996 }
34997 }
34998 },
34999 "leaf" : 1,
35000 "path" : "/nodes/{node}/wakeonlan",
35001 "text" : "wakeonlan"
35002 },
56122987
DM
35003 {
35004 "info" : {
7aacca6f 35005 "GET" : {
e9cd3bd4 35006 "allowtoken" : 1,
44660702
DM
35007 "description" : "Read node RRD statistics (returns PNG)",
35008 "method" : "GET",
7aacca6f 35009 "name" : "rrd",
56122987 35010 "parameters" : {
7aacca6f 35011 "additionalProperties" : 0,
56122987 35012 "properties" : {
44660702
DM
35013 "cf" : {
35014 "description" : "The RRD consolidation function",
35015 "enum" : [
35016 "AVERAGE",
35017 "MAX"
35018 ],
35019 "optional" : 1,
35020 "type" : "string"
35021 },
7aacca6f 35022 "ds" : {
7aacca6f 35023 "description" : "The list of datasources you want to display.",
44660702 35024 "format" : "pve-configid-list",
013dc89f
DM
35025 "type" : "string",
35026 "typetext" : "<string>"
44660702
DM
35027 },
35028 "node" : {
35029 "description" : "The cluster node name.",
35030 "format" : "pve-node",
013dc89f
DM
35031 "type" : "string",
35032 "typetext" : "<string>"
7aacca6f
DM
35033 },
35034 "timeframe" : {
35035 "description" : "Specify the time frame you are interested in.",
35036 "enum" : [
35037 "hour",
35038 "day",
35039 "week",
35040 "month",
35041 "year"
35042 ],
35043 "type" : "string"
56122987 35044 }
7aacca6f 35045 }
56122987 35046 },
56122987 35047 "permissions" : {
56122987
DM
35048 "check" : [
35049 "perm",
35050 "/nodes/{node}",
35051 [
7aacca6f 35052 "Sys.Audit"
56122987
DM
35053 ]
35054 ]
35055 },
7aacca6f 35056 "protected" : 1,
56122987 35057 "returns" : {
56122987 35058 "properties" : {
7aacca6f 35059 "filename" : {
56122987
DM
35060 "type" : "string"
35061 }
44660702
DM
35062 },
35063 "type" : "object"
35064 }
56122987
DM
35065 }
35066 },
44660702 35067 "leaf" : 1,
7aacca6f 35068 "path" : "/nodes/{node}/rrd",
44660702 35069 "text" : "rrd"
56122987
DM
35070 },
35071 {
35072 "info" : {
7aacca6f 35073 "GET" : {
e9cd3bd4 35074 "allowtoken" : 1,
44660702
DM
35075 "description" : "Read node RRD statistics",
35076 "method" : "GET",
7aacca6f 35077 "name" : "rrddata",
56122987 35078 "parameters" : {
44660702 35079 "additionalProperties" : 0,
56122987 35080 "properties" : {
7aacca6f 35081 "cf" : {
7aacca6f
DM
35082 "description" : "The RRD consolidation function",
35083 "enum" : [
35084 "AVERAGE",
35085 "MAX"
44660702
DM
35086 ],
35087 "optional" : 1,
35088 "type" : "string"
56122987
DM
35089 },
35090 "node" : {
44660702 35091 "description" : "The cluster node name.",
56122987 35092 "format" : "pve-node",
013dc89f
DM
35093 "type" : "string",
35094 "typetext" : "<string>"
56122987 35095 },
7aacca6f 35096 "timeframe" : {
7aacca6f
DM
35097 "description" : "Specify the time frame you are interested in.",
35098 "enum" : [
35099 "hour",
35100 "day",
35101 "week",
35102 "month",
35103 "year"
44660702
DM
35104 ],
35105 "type" : "string"
56122987 35106 }
56122987
DM
35107 }
35108 },
56122987
DM
35109 "permissions" : {
35110 "check" : [
35111 "perm",
35112 "/nodes/{node}",
35113 [
44660702 35114 "Sys.Audit"
56122987
DM
35115 ]
35116 ]
7aacca6f 35117 },
44660702 35118 "protected" : 1,
56122987 35119 "returns" : {
7aacca6f 35120 "items" : {
44660702 35121 "properties" : {},
7aacca6f
DM
35122 "type" : "object"
35123 },
35124 "type" : "array"
44660702
DM
35125 }
35126 }
35127 },
35128 "leaf" : 1,
35129 "path" : "/nodes/{node}/rrddata",
35130 "text" : "rrddata"
35131 },
35132 {
35133 "info" : {
35134 "GET" : {
e9cd3bd4 35135 "allowtoken" : 1,
44660702
DM
35136 "description" : "Read system log",
35137 "method" : "GET",
35138 "name" : "syslog",
56122987 35139 "parameters" : {
44660702 35140 "additionalProperties" : 0,
56122987 35141 "properties" : {
44660702
DM
35142 "limit" : {
35143 "minimum" : 0,
7aacca6f 35144 "optional" : 1,
4bd7df8b 35145 "type" : "integer",
013dc89f 35146 "typetext" : "<integer> (0 - N)"
7aacca6f 35147 },
56122987 35148 "node" : {
7aacca6f 35149 "description" : "The cluster node name.",
44660702 35150 "format" : "pve-node",
013dc89f
DM
35151 "type" : "string",
35152 "typetext" : "<string>"
56122987 35153 },
35a75dd3
DM
35154 "service" : {
35155 "description" : "Service ID",
35156 "maxLength" : 128,
35157 "optional" : 1,
35158 "type" : "string",
35159 "typetext" : "<string>"
35160 },
44660702
DM
35161 "since" : {
35162 "description" : "Display all log since this date-time string.",
35163 "optional" : 1,
35164 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
35165 "type" : "string"
35166 },
35167 "start" : {
7aacca6f
DM
35168 "minimum" : 0,
35169 "optional" : 1,
4bd7df8b 35170 "type" : "integer",
013dc89f 35171 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
35172 },
35173 "until" : {
35174 "description" : "Display all log until this date-time string.",
7aacca6f 35175 "optional" : 1,
44660702 35176 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
35177 "type" : "string"
35178 }
44660702 35179 }
56122987 35180 },
44660702
DM
35181 "permissions" : {
35182 "check" : [
35183 "perm",
35184 "/nodes/{node}",
35185 [
35186 "Sys.Syslog"
35187 ]
35188 ]
35189 },
35190 "protected" : 1,
35191 "proxyto" : "node",
35192 "returns" : {
35193 "items" : {
35194 "properties" : {
35195 "n" : {
35196 "description" : "Line number",
35197 "type" : "integer"
35198 },
35199 "t" : {
35200 "description" : "Line text",
35201 "type" : "string"
35202 }
35203 },
35204 "type" : "object"
35205 },
35206 "type" : "array"
35207 }
56122987
DM
35208 }
35209 },
44660702
DM
35210 "leaf" : 1,
35211 "path" : "/nodes/{node}/syslog",
7aacca6f 35212 "text" : "syslog"
56122987 35213 },
bb4c8cf8
TL
35214 {
35215 "info" : {
35216 "GET" : {
e9cd3bd4 35217 "allowtoken" : 1,
bb4c8cf8
TL
35218 "description" : "Read Journal",
35219 "method" : "GET",
35220 "name" : "journal",
35221 "parameters" : {
35222 "additionalProperties" : 0,
35223 "properties" : {
35224 "endcursor" : {
35225 "description" : "End before the given Cursor. Conflicts with 'until'",
35226 "optional" : 1,
35227 "type" : "string",
35228 "typetext" : "<string>"
35229 },
35230 "lastentries" : {
35231 "description" : "Limit to the last X lines. Conflicts with a range.",
35232 "minimum" : 0,
35233 "optional" : 1,
35234 "type" : "integer",
35235 "typetext" : "<integer> (0 - N)"
35236 },
35237 "node" : {
35238 "description" : "The cluster node name.",
35239 "format" : "pve-node",
35240 "type" : "string",
35241 "typetext" : "<string>"
35242 },
35243 "since" : {
35244 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
35245 "minimum" : 0,
35246 "optional" : 1,
35247 "type" : "integer",
35248 "typetext" : "<integer> (0 - N)"
35249 },
35250 "startcursor" : {
35251 "description" : "Start after the given Cursor. Conflicts with 'since'",
35252 "optional" : 1,
35253 "type" : "string",
35254 "typetext" : "<string>"
35255 },
35256 "until" : {
35257 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
35258 "minimum" : 0,
35259 "optional" : 1,
35260 "type" : "integer",
35261 "typetext" : "<integer> (0 - N)"
35262 }
35263 }
35264 },
35265 "permissions" : {
35266 "check" : [
35267 "perm",
35268 "/nodes/{node}",
35269 [
35270 "Sys.Syslog"
35271 ]
35272 ]
35273 },
35274 "protected" : 1,
35275 "proxyto" : "node",
35276 "returns" : {
35277 "items" : {
35278 "type" : "string"
35279 },
35280 "type" : "array"
35281 }
35282 }
35283 },
35284 "leaf" : 1,
35285 "path" : "/nodes/{node}/journal",
35286 "text" : "journal"
35287 },
56122987 35288 {
56122987
DM
35289 "info" : {
35290 "POST" : {
e9cd3bd4 35291 "allowtoken" : 1,
44660702
DM
35292 "description" : "Creates a VNC Shell proxy.",
35293 "method" : "POST",
35294 "name" : "vncshell",
35295 "parameters" : {
35296 "additionalProperties" : 0,
56122987 35297 "properties" : {
95895385
TL
35298 "cmd" : {
35299 "default" : "login",
35300 "description" : "Run specific command or default to login.",
35301 "enum" : [
e9cd3bd4 35302 "upgrade",
1c532546 35303 "login",
e9cd3bd4 35304 "ceph_install"
95895385
TL
35305 ],
35306 "optional" : 1,
35307 "type" : "string"
35308 },
5d9c884c
DM
35309 "height" : {
35310 "description" : "sets the height of the console in pixels.",
35311 "maximum" : 2160,
35312 "minimum" : 16,
35313 "optional" : 1,
35314 "type" : "integer",
35315 "typetext" : "<integer> (16 - 2160)"
35316 },
44660702
DM
35317 "node" : {
35318 "description" : "The cluster node name.",
35319 "format" : "pve-node",
013dc89f
DM
35320 "type" : "string",
35321 "typetext" : "<string>"
7aacca6f 35322 },
44660702
DM
35323 "upgrade" : {
35324 "default" : 0,
95895385 35325 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 35326 "optional" : 1,
013dc89f
DM
35327 "type" : "boolean",
35328 "typetext" : "<boolean>"
7aacca6f 35329 },
44660702
DM
35330 "websocket" : {
35331 "description" : "use websocket instead of standard vnc.",
35332 "optional" : 1,
013dc89f
DM
35333 "type" : "boolean",
35334 "typetext" : "<boolean>"
5d9c884c
DM
35335 },
35336 "width" : {
35337 "description" : "sets the width of the console in pixels.",
35338 "maximum" : 4096,
35339 "minimum" : 16,
35340 "optional" : 1,
35341 "type" : "integer",
35342 "typetext" : "<integer> (16 - 4096)"
56122987 35343 }
44660702 35344 }
56122987 35345 },
56122987
DM
35346 "permissions" : {
35347 "check" : [
35348 "perm",
7aacca6f 35349 "/nodes/{node}",
56122987 35350 [
7aacca6f 35351 "Sys.Console"
56122987 35352 ]
44660702
DM
35353 ],
35354 "description" : "Restricted to users on realm 'pam'"
56122987 35355 },
44660702
DM
35356 "protected" : 1,
35357 "returns" : {
35358 "additionalProperties" : 0,
56122987 35359 "properties" : {
44660702
DM
35360 "cert" : {
35361 "type" : "string"
7aacca6f 35362 },
44660702
DM
35363 "port" : {
35364 "type" : "integer"
7aacca6f 35365 },
44660702
DM
35366 "ticket" : {
35367 "type" : "string"
35368 },
35369 "upid" : {
35370 "type" : "string"
35371 },
35372 "user" : {
35373 "type" : "string"
56122987 35374 }
44660702
DM
35375 }
35376 }
56122987
DM
35377 }
35378 },
7aacca6f 35379 "leaf" : 1,
44660702
DM
35380 "path" : "/nodes/{node}/vncshell",
35381 "text" : "vncshell"
56122987 35382 },
35a75dd3
DM
35383 {
35384 "info" : {
35385 "POST" : {
e9cd3bd4 35386 "allowtoken" : 1,
35a75dd3
DM
35387 "description" : "Creates a VNC Shell proxy.",
35388 "method" : "POST",
35389 "name" : "termproxy",
35390 "parameters" : {
35391 "additionalProperties" : 0,
35392 "properties" : {
95895385
TL
35393 "cmd" : {
35394 "default" : "login",
35395 "description" : "Run specific command or default to login.",
35396 "enum" : [
e9cd3bd4 35397 "upgrade",
1c532546 35398 "login",
e9cd3bd4 35399 "ceph_install"
95895385
TL
35400 ],
35401 "optional" : 1,
35402 "type" : "string"
35403 },
35a75dd3
DM
35404 "node" : {
35405 "description" : "The cluster node name.",
35406 "format" : "pve-node",
35407 "type" : "string",
35408 "typetext" : "<string>"
35409 },
35410 "upgrade" : {
35411 "default" : 0,
95895385 35412 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
35413 "optional" : 1,
35414 "type" : "boolean",
35415 "typetext" : "<boolean>"
35416 }
35417 }
35418 },
35419 "permissions" : {
35420 "check" : [
35421 "perm",
35422 "/nodes/{node}",
35423 [
35424 "Sys.Console"
35425 ]
35426 ],
35427 "description" : "Restricted to users on realm 'pam'"
35428 },
35429 "protected" : 1,
35430 "returns" : {
35431 "additionalProperties" : 0,
35432 "properties" : {
35433 "port" : {
35434 "type" : "integer"
35435 },
35436 "ticket" : {
35437 "type" : "string"
35438 },
35439 "upid" : {
35440 "type" : "string"
35441 },
35442 "user" : {
35443 "type" : "string"
35444 }
35445 }
35446 }
35447 }
35448 },
35449 "leaf" : 1,
35450 "path" : "/nodes/{node}/termproxy",
35451 "text" : "termproxy"
35452 },
56122987
DM
35453 {
35454 "info" : {
35455 "GET" : {
e9cd3bd4 35456 "allowtoken" : 1,
7aacca6f 35457 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
35458 "method" : "GET",
35459 "name" : "vncwebsocket",
56122987 35460 "parameters" : {
44660702 35461 "additionalProperties" : 0,
56122987
DM
35462 "properties" : {
35463 "node" : {
35464 "description" : "The cluster node name.",
44660702 35465 "format" : "pve-node",
013dc89f
DM
35466 "type" : "string",
35467 "typetext" : "<string>"
7aacca6f
DM
35468 },
35469 "port" : {
7aacca6f
DM
35470 "description" : "Port number returned by previous vncproxy call.",
35471 "maximum" : 5999,
44660702 35472 "minimum" : 5900,
4bd7df8b 35473 "type" : "integer",
013dc89f 35474 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
35475 },
35476 "vncticket" : {
35477 "description" : "Ticket from previous call to vncproxy.",
35478 "maxLength" : 512,
013dc89f
DM
35479 "type" : "string",
35480 "typetext" : "<string>"
56122987 35481 }
44660702 35482 }
56122987 35483 },
56122987
DM
35484 "permissions" : {
35485 "check" : [
35486 "perm",
35487 "/nodes/{node}",
35488 [
7aacca6f 35489 "Sys.Console"
56122987 35490 ]
44660702
DM
35491 ],
35492 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
35493 },
35494 "returns" : {
35495 "properties" : {
35496 "port" : {
35497 "type" : "string"
35498 }
35499 },
35500 "type" : "object"
7aacca6f 35501 }
56122987
DM
35502 }
35503 },
44660702 35504 "leaf" : 1,
7aacca6f 35505 "path" : "/nodes/{node}/vncwebsocket",
44660702 35506 "text" : "vncwebsocket"
56122987
DM
35507 },
35508 {
35509 "info" : {
35510 "POST" : {
e9cd3bd4 35511 "allowtoken" : 1,
44660702 35512 "description" : "Creates a SPICE shell.",
7aacca6f 35513 "method" : "POST",
44660702 35514 "name" : "spiceshell",
56122987 35515 "parameters" : {
7aacca6f 35516 "additionalProperties" : 0,
56122987 35517 "properties" : {
95895385
TL
35518 "cmd" : {
35519 "default" : "login",
35520 "description" : "Run specific command or default to login.",
35521 "enum" : [
e9cd3bd4 35522 "upgrade",
1c532546 35523 "login",
e9cd3bd4 35524 "ceph_install"
95895385
TL
35525 ],
35526 "optional" : 1,
35527 "type" : "string"
35528 },
7aacca6f 35529 "node" : {
44660702 35530 "description" : "The cluster node name.",
56122987 35531 "format" : "pve-node",
013dc89f
DM
35532 "type" : "string",
35533 "typetext" : "<string>"
7aacca6f 35534 },
44660702 35535 "proxy" : {
4d47f125 35536 "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
35537 "format" : "address",
35538 "optional" : 1,
013dc89f
DM
35539 "type" : "string",
35540 "typetext" : "<string>"
7aacca6f 35541 },
44660702
DM
35542 "upgrade" : {
35543 "default" : 0,
95895385 35544 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 35545 "optional" : 1,
013dc89f
DM
35546 "type" : "boolean",
35547 "typetext" : "<boolean>"
56122987 35548 }
7aacca6f 35549 }
56122987 35550 },
56122987
DM
35551 "permissions" : {
35552 "check" : [
35553 "perm",
7aacca6f 35554 "/nodes/{node}",
56122987 35555 [
7aacca6f 35556 "Sys.Console"
56122987 35557 ]
7aacca6f
DM
35558 ],
35559 "description" : "Restricted to users on realm 'pam'"
44660702
DM
35560 },
35561 "protected" : 1,
35562 "proxyto" : "node",
35563 "returns" : {
35564 "additionalProperties" : 1,
35565 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
35566 "properties" : {
35567 "host" : {
35568 "type" : "string"
35569 },
35570 "password" : {
35571 "type" : "string"
35572 },
35573 "proxy" : {
35574 "type" : "string"
35575 },
35576 "tls-port" : {
35577 "type" : "integer"
35578 },
35579 "type" : {
35580 "type" : "string"
35581 }
35582 }
7aacca6f 35583 }
56122987
DM
35584 }
35585 },
56122987 35586 "leaf" : 1,
44660702
DM
35587 "path" : "/nodes/{node}/spiceshell",
35588 "text" : "spiceshell"
56122987
DM
35589 },
35590 {
56122987 35591 "info" : {
7aacca6f 35592 "GET" : {
e9cd3bd4 35593 "allowtoken" : 1,
44660702 35594 "description" : "Read DNS settings.",
7aacca6f 35595 "method" : "GET",
44660702
DM
35596 "name" : "dns",
35597 "parameters" : {
7aacca6f
DM
35598 "additionalProperties" : 0,
35599 "properties" : {
44660702
DM
35600 "node" : {
35601 "description" : "The cluster node name.",
35602 "format" : "pve-node",
013dc89f
DM
35603 "type" : "string",
35604 "typetext" : "<string>"
7aacca6f
DM
35605 }
35606 }
35607 },
7aacca6f
DM
35608 "permissions" : {
35609 "check" : [
35610 "perm",
35611 "/nodes/{node}",
35612 [
35613 "Sys.Audit"
35614 ]
35615 ]
35616 },
44660702
DM
35617 "proxyto" : "node",
35618 "returns" : {
56122987
DM
35619 "additionalProperties" : 0,
35620 "properties" : {
44660702
DM
35621 "dns1" : {
35622 "description" : "First name server IP address.",
35623 "optional" : 1,
35624 "type" : "string"
35625 },
35626 "dns2" : {
35627 "description" : "Second name server IP address.",
35628 "optional" : 1,
35629 "type" : "string"
35630 },
35631 "dns3" : {
35632 "description" : "Third name server IP address.",
35633 "optional" : 1,
35634 "type" : "string"
35635 },
35636 "search" : {
35637 "description" : "Search domain for host-name lookup.",
35638 "optional" : 1,
35639 "type" : "string"
7aacca6f 35640 }
44660702
DM
35641 },
35642 "type" : "object"
35643 }
7aacca6f
DM
35644 },
35645 "PUT" : {
e9cd3bd4 35646 "allowtoken" : 1,
44660702
DM
35647 "description" : "Write DNS settings.",
35648 "method" : "PUT",
7aacca6f
DM
35649 "name" : "update_dns",
35650 "parameters" : {
35651 "additionalProperties" : 0,
35652 "properties" : {
44660702
DM
35653 "dns1" : {
35654 "description" : "First name server IP address.",
35655 "format" : "ip",
35656 "optional" : 1,
013dc89f
DM
35657 "type" : "string",
35658 "typetext" : "<string>"
7aacca6f 35659 },
44660702
DM
35660 "dns2" : {
35661 "description" : "Second name server IP address.",
35662 "format" : "ip",
7aacca6f 35663 "optional" : 1,
013dc89f
DM
35664 "type" : "string",
35665 "typetext" : "<string>"
7aacca6f 35666 },
44660702
DM
35667 "dns3" : {
35668 "description" : "Third name server IP address.",
35669 "format" : "ip",
7aacca6f 35670 "optional" : 1,
013dc89f
DM
35671 "type" : "string",
35672 "typetext" : "<string>"
7aacca6f
DM
35673 },
35674 "node" : {
44660702 35675 "description" : "The cluster node name.",
56122987 35676 "format" : "pve-node",
013dc89f
DM
35677 "type" : "string",
35678 "typetext" : "<string>"
7aacca6f 35679 },
44660702
DM
35680 "search" : {
35681 "description" : "Search domain for host-name lookup.",
013dc89f
DM
35682 "type" : "string",
35683 "typetext" : "<string>"
56122987
DM
35684 }
35685 }
35686 },
35687 "permissions" : {
35688 "check" : [
35689 "perm",
7aacca6f 35690 "/nodes/{node}",
56122987 35691 [
7aacca6f 35692 "Sys.Modify"
56122987
DM
35693 ]
35694 ]
35695 },
44660702 35696 "protected" : 1,
7aacca6f 35697 "proxyto" : "node",
56122987 35698 "returns" : {
7aacca6f
DM
35699 "type" : "null"
35700 }
56122987 35701 }
44660702
DM
35702 },
35703 "leaf" : 1,
35704 "path" : "/nodes/{node}/dns",
35705 "text" : "dns"
56122987
DM
35706 },
35707 {
35708 "info" : {
7aacca6f 35709 "GET" : {
e9cd3bd4 35710 "allowtoken" : 1,
7aacca6f 35711 "description" : "Read server time and time zone settings.",
44660702
DM
35712 "method" : "GET",
35713 "name" : "time",
56122987 35714 "parameters" : {
44660702 35715 "additionalProperties" : 0,
56122987
DM
35716 "properties" : {
35717 "node" : {
44660702 35718 "description" : "The cluster node name.",
56122987 35719 "format" : "pve-node",
013dc89f
DM
35720 "type" : "string",
35721 "typetext" : "<string>"
56122987 35722 }
44660702 35723 }
56122987
DM
35724 },
35725 "permissions" : {
35726 "check" : [
35727 "perm",
7aacca6f 35728 "/nodes/{node}",
56122987 35729 [
7aacca6f 35730 "Sys.Audit"
56122987
DM
35731 ]
35732 ]
44660702
DM
35733 },
35734 "proxyto" : "node",
35735 "returns" : {
35736 "additionalProperties" : 0,
35737 "properties" : {
35738 "localtime" : {
35739 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
35740 "minimum" : 1297163644,
4d47f125 35741 "renderer" : "timestamp_gmt",
44660702
DM
35742 "type" : "integer"
35743 },
35744 "time" : {
35745 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
35746 "minimum" : 1297163644,
4d47f125 35747 "renderer" : "timestamp",
44660702
DM
35748 "type" : "integer"
35749 },
35750 "timezone" : {
35751 "description" : "Time zone",
35752 "type" : "string"
35753 }
35754 },
35755 "type" : "object"
7aacca6f
DM
35756 }
35757 },
35758 "PUT" : {
e9cd3bd4 35759 "allowtoken" : 1,
7aacca6f 35760 "description" : "Set time zone.",
44660702
DM
35761 "method" : "PUT",
35762 "name" : "set_timezone",
35763 "parameters" : {
35764 "additionalProperties" : 0,
35765 "properties" : {
35766 "node" : {
35767 "description" : "The cluster node name.",
35768 "format" : "pve-node",
013dc89f
DM
35769 "type" : "string",
35770 "typetext" : "<string>"
44660702
DM
35771 },
35772 "timezone" : {
35773 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
35774 "type" : "string",
35775 "typetext" : "<string>"
44660702
DM
35776 }
35777 }
35778 },
7aacca6f
DM
35779 "permissions" : {
35780 "check" : [
35781 "perm",
35782 "/nodes/{node}",
35783 [
35784 "Sys.Modify"
35785 ]
35786 ]
56122987 35787 },
7aacca6f 35788 "protected" : 1,
44660702
DM
35789 "proxyto" : "node",
35790 "returns" : {
35791 "type" : "null"
35792 }
7aacca6f
DM
35793 }
35794 },
7aacca6f 35795 "leaf" : 1,
44660702
DM
35796 "path" : "/nodes/{node}/time",
35797 "text" : "time"
7aacca6f
DM
35798 },
35799 {
35800 "info" : {
44660702 35801 "GET" : {
e9cd3bd4 35802 "allowtoken" : 1,
44660702
DM
35803 "description" : "Get list of appliances.",
35804 "method" : "GET",
35805 "name" : "aplinfo",
7aacca6f
DM
35806 "parameters" : {
35807 "additionalProperties" : 0,
35808 "properties" : {
7aacca6f 35809 "node" : {
44660702 35810 "description" : "The cluster node name.",
7aacca6f 35811 "format" : "pve-node",
013dc89f
DM
35812 "type" : "string",
35813 "typetext" : "<string>"
7aacca6f
DM
35814 }
35815 }
56122987 35816 },
7aacca6f 35817 "permissions" : {
44660702 35818 "user" : "all"
56122987 35819 },
44660702 35820 "proxyto" : "node",
7aacca6f
DM
35821 "returns" : {
35822 "items" : {
44660702
DM
35823 "properties" : {},
35824 "type" : "object"
7aacca6f
DM
35825 },
35826 "type" : "array"
44660702
DM
35827 }
35828 },
35829 "POST" : {
e9cd3bd4 35830 "allowtoken" : 1,
44660702
DM
35831 "description" : "Download appliance templates.",
35832 "method" : "POST",
35833 "name" : "apl_download",
7aacca6f
DM
35834 "parameters" : {
35835 "additionalProperties" : 0,
35836 "properties" : {
35837 "node" : {
7aacca6f 35838 "description" : "The cluster node name.",
44660702 35839 "format" : "pve-node",
013dc89f
DM
35840 "type" : "string",
35841 "typetext" : "<string>"
44660702
DM
35842 },
35843 "storage" : {
4bd7df8b 35844 "description" : "The storage where the template will be stored",
44660702 35845 "format" : "pve-storage-id",
013dc89f
DM
35846 "type" : "string",
35847 "typetext" : "<string>"
44660702
DM
35848 },
35849 "template" : {
1e3f8156 35850 "description" : "The template which will downloaded",
44660702 35851 "maxLength" : 255,
013dc89f
DM
35852 "type" : "string",
35853 "typetext" : "<string>"
7aacca6f
DM
35854 }
35855 }
56122987 35856 },
7aacca6f 35857 "permissions" : {
44660702
DM
35858 "check" : [
35859 "perm",
35860 "/storage/{storage}",
35861 [
35862 "Datastore.AllocateTemplate"
35863 ]
35864 ]
35865 },
35866 "protected" : 1,
35867 "proxyto" : "node",
35868 "returns" : {
35869 "type" : "string"
7aacca6f
DM
35870 }
35871 }
35872 },
7aacca6f 35873 "leaf" : 1,
44660702
DM
35874 "path" : "/nodes/{node}/aplinfo",
35875 "text" : "aplinfo"
7aacca6f
DM
35876 },
35877 {
35878 "info" : {
35879 "GET" : {
e9cd3bd4 35880 "allowtoken" : 1,
44660702
DM
35881 "description" : "Gather various systems information about a node",
35882 "method" : "GET",
35883 "name" : "report",
7aacca6f 35884 "parameters" : {
44660702 35885 "additionalProperties" : 0,
7aacca6f
DM
35886 "properties" : {
35887 "node" : {
7aacca6f 35888 "description" : "The cluster node name.",
44660702 35889 "format" : "pve-node",
013dc89f
DM
35890 "type" : "string",
35891 "typetext" : "<string>"
7aacca6f 35892 }
44660702 35893 }
56122987 35894 },
7aacca6f
DM
35895 "permissions" : {
35896 "check" : [
35897 "perm",
35898 "/nodes/{node}",
35899 [
35900 "Sys.Audit"
35901 ]
35902 ]
56122987 35903 },
44660702 35904 "protected" : 1,
7aacca6f
DM
35905 "proxyto" : "node",
35906 "returns" : {
56122987 35907 "type" : "string"
7aacca6f
DM
35908 }
35909 }
35910 },
7aacca6f 35911 "leaf" : 1,
44660702
DM
35912 "path" : "/nodes/{node}/report",
35913 "text" : "report"
7aacca6f
DM
35914 },
35915 {
7aacca6f
DM
35916 "info" : {
35917 "POST" : {
e9cd3bd4 35918 "allowtoken" : 1,
1c532546 35919 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 35920 "method" : "POST",
44660702 35921 "name" : "startall",
7aacca6f 35922 "parameters" : {
44660702 35923 "additionalProperties" : 0,
7aacca6f
DM
35924 "properties" : {
35925 "force" : {
1c532546
TL
35926 "default" : "off",
35927 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 35928 "optional" : 1,
013dc89f
DM
35929 "type" : "boolean",
35930 "typetext" : "<boolean>"
7aacca6f
DM
35931 },
35932 "node" : {
7aacca6f 35933 "description" : "The cluster node name.",
44660702 35934 "format" : "pve-node",
013dc89f
DM
35935 "type" : "string",
35936 "typetext" : "<string>"
52e44c50
FG
35937 },
35938 "vms" : {
1c532546 35939 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
35940 "format" : "pve-vmid-list",
35941 "optional" : 1,
35942 "type" : "string",
35943 "typetext" : "<string>"
7aacca6f 35944 }
44660702 35945 }
56122987 35946 },
7aacca6f
DM
35947 "permissions" : {
35948 "check" : [
35949 "perm",
35950 "/",
35951 [
35952 "VM.PowerMgmt"
35953 ]
35954 ]
44660702
DM
35955 },
35956 "protected" : 1,
35957 "proxyto" : "node",
35958 "returns" : {
35959 "type" : "string"
7aacca6f
DM
35960 }
35961 }
35962 },
44660702 35963 "leaf" : 1,
7aacca6f 35964 "path" : "/nodes/{node}/startall",
44660702 35965 "text" : "startall"
7aacca6f
DM
35966 },
35967 {
7aacca6f
DM
35968 "info" : {
35969 "POST" : {
e9cd3bd4 35970 "allowtoken" : 1,
7aacca6f 35971 "description" : "Stop all VMs and Containers.",
44660702
DM
35972 "method" : "POST",
35973 "name" : "stopall",
7aacca6f 35974 "parameters" : {
44660702 35975 "additionalProperties" : 0,
7aacca6f
DM
35976 "properties" : {
35977 "node" : {
44660702 35978 "description" : "The cluster node name.",
7aacca6f 35979 "format" : "pve-node",
013dc89f
DM
35980 "type" : "string",
35981 "typetext" : "<string>"
52e44c50
FG
35982 },
35983 "vms" : {
35984 "description" : "Only consider Guests with these IDs.",
35985 "format" : "pve-vmid-list",
35986 "optional" : 1,
35987 "type" : "string",
35988 "typetext" : "<string>"
7aacca6f 35989 }
44660702 35990 }
56122987 35991 },
7aacca6f
DM
35992 "permissions" : {
35993 "check" : [
35994 "perm",
35995 "/",
35996 [
44660702 35997 "VM.PowerMgmt"
7aacca6f
DM
35998 ]
35999 ]
56122987 36000 },
44660702 36001 "protected" : 1,
7aacca6f 36002 "proxyto" : "node",
44660702
DM
36003 "returns" : {
36004 "type" : "string"
36005 }
36006 }
56122987 36007 },
44660702
DM
36008 "leaf" : 1,
36009 "path" : "/nodes/{node}/stopall",
36010 "text" : "stopall"
36011 },
36012 {
36013 "info" : {
36014 "POST" : {
e9cd3bd4 36015 "allowtoken" : 1,
44660702
DM
36016 "description" : "Migrate all VMs and Containers.",
36017 "method" : "POST",
36018 "name" : "migrateall",
36019 "parameters" : {
36020 "additionalProperties" : 0,
36021 "properties" : {
36022 "maxworkers" : {
36023 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
36024 "minimum" : 1,
36025 "optional" : 1,
4bd7df8b 36026 "type" : "integer",
013dc89f 36027 "typetext" : "<integer> (1 - N)"
44660702
DM
36028 },
36029 "node" : {
36030 "description" : "The cluster node name.",
36031 "format" : "pve-node",
013dc89f
DM
36032 "type" : "string",
36033 "typetext" : "<string>"
44660702
DM
36034 },
36035 "target" : {
36036 "description" : "Target node.",
36037 "format" : "pve-node",
013dc89f
DM
36038 "type" : "string",
36039 "typetext" : "<string>"
52e44c50
FG
36040 },
36041 "vms" : {
36042 "description" : "Only consider Guests with these IDs.",
36043 "format" : "pve-vmid-list",
36044 "optional" : 1,
36045 "type" : "string",
36046 "typetext" : "<string>"
e9cd3bd4
TL
36047 },
36048 "with-local-disks" : {
36049 "description" : "Enable live storage migration for local disk",
36050 "optional" : 1,
36051 "type" : "boolean",
36052 "typetext" : "<boolean>"
44660702
DM
36053 }
36054 }
36055 },
36056 "permissions" : {
36057 "check" : [
36058 "perm",
36059 "/",
36060 [
36061 "VM.Migrate"
36062 ]
36063 ]
36064 },
36065 "protected" : 1,
36066 "proxyto" : "node",
36067 "returns" : {
36068 "type" : "string"
36069 }
36070 }
56122987 36071 },
44660702
DM
36072 "leaf" : 1,
36073 "path" : "/nodes/{node}/migrateall",
36074 "text" : "migrateall"
4d47f125
TL
36075 },
36076 {
36077 "info" : {
36078 "GET" : {
e9cd3bd4 36079 "allowtoken" : 1,
4d47f125
TL
36080 "description" : "Get the content of /etc/hosts.",
36081 "method" : "GET",
36082 "name" : "get_etc_hosts",
36083 "parameters" : {
36084 "additionalProperties" : 0,
36085 "properties" : {
36086 "node" : {
36087 "description" : "The cluster node name.",
36088 "format" : "pve-node",
36089 "type" : "string",
36090 "typetext" : "<string>"
36091 }
36092 }
36093 },
36094 "permissions" : {
36095 "check" : [
36096 "perm",
36097 "/",
36098 [
36099 "Sys.Audit"
36100 ]
36101 ]
36102 },
36103 "protected" : 1,
36104 "proxyto" : "node",
36105 "returns" : {
36106 "properties" : {
36107 "data" : {
36108 "description" : "The content of /etc/hosts.",
36109 "type" : "string"
36110 },
36111 "digest" : {
36112 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36113 "maxLength" : 40,
36114 "optional" : 1,
36115 "type" : "string"
36116 }
36117 },
36118 "type" : "object"
36119 }
36120 },
36121 "POST" : {
e9cd3bd4 36122 "allowtoken" : 1,
4d47f125
TL
36123 "description" : "Write /etc/hosts.",
36124 "method" : "POST",
36125 "name" : "write_etc_hosts",
36126 "parameters" : {
36127 "additionalProperties" : 0,
36128 "properties" : {
36129 "data" : {
36130 "description" : "The target content of /etc/hosts.",
36131 "type" : "string",
36132 "typetext" : "<string>"
36133 },
36134 "digest" : {
36135 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36136 "maxLength" : 40,
36137 "optional" : 1,
36138 "type" : "string",
36139 "typetext" : "<string>"
36140 },
36141 "node" : {
36142 "description" : "The cluster node name.",
36143 "format" : "pve-node",
36144 "type" : "string",
36145 "typetext" : "<string>"
36146 }
36147 }
36148 },
36149 "permissions" : {
36150 "check" : [
36151 "perm",
36152 "/nodes/{node}",
36153 [
36154 "Sys.Modify"
36155 ]
36156 ]
36157 },
36158 "protected" : 1,
36159 "proxyto" : "node",
36160 "returns" : {
36161 "type" : "null"
36162 }
36163 }
36164 },
36165 "leaf" : 1,
36166 "path" : "/nodes/{node}/hosts",
36167 "text" : "hosts"
44660702
DM
36168 }
36169 ],
36170 "info" : {
36171 "GET" : {
e9cd3bd4 36172 "allowtoken" : 1,
44660702
DM
36173 "description" : "Node index.",
36174 "method" : "GET",
36175 "name" : "index",
36176 "parameters" : {
36177 "additionalProperties" : 0,
36178 "properties" : {
36179 "node" : {
36180 "description" : "The cluster node name.",
36181 "format" : "pve-node",
013dc89f
DM
36182 "type" : "string",
36183 "typetext" : "<string>"
44660702
DM
36184 }
36185 }
56122987 36186 },
44660702
DM
36187 "permissions" : {
36188 "user" : "all"
56122987 36189 },
44660702
DM
36190 "returns" : {
36191 "items" : {
36192 "properties" : {},
36193 "type" : "object"
36194 },
36195 "links" : [
36196 {
36197 "href" : "{name}",
36198 "rel" : "child"
36199 }
56122987 36200 ],
44660702 36201 "type" : "array"
7aacca6f
DM
36202 }
36203 }
36204 },
44660702
DM
36205 "leaf" : 0,
36206 "path" : "/nodes/{node}",
36207 "text" : "{node}"
36208 }
36209 ],
36210 "info" : {
7aacca6f 36211 "GET" : {
e9cd3bd4 36212 "allowtoken" : 1,
44660702 36213 "description" : "Cluster node index.",
7aacca6f 36214 "method" : "GET",
44660702 36215 "name" : "index",
7aacca6f 36216 "parameters" : {
7aacca6f
DM
36217 "additionalProperties" : 0
36218 },
36219 "permissions" : {
7aacca6f
DM
36220 "user" : "all"
36221 },
44660702
DM
36222 "returns" : {
36223 "items" : {
4d47f125
TL
36224 "properties" : {
36225 "cpu" : {
36226 "description" : "CPU utilization.",
36227 "optional" : 1,
36228 "renderer" : "fraction_as_percentage",
36229 "type" : "number"
36230 },
36231 "level" : {
36232 "description" : "Support level.",
36233 "optional" : 1,
36234 "type" : "string"
36235 },
36236 "maxcpu" : {
36237 "description" : "Number of available CPUs.",
36238 "optional" : 1,
36239 "type" : "integer"
36240 },
36241 "maxmem" : {
36242 "description" : "Number of available memory in bytes.",
36243 "optional" : 1,
36244 "renderer" : "bytes",
36245 "type" : "integer"
36246 },
36247 "mem" : {
36248 "description" : "Used memory in bytes.",
36249 "optional" : 1,
36250 "renderer" : "bytes",
1c532546 36251 "type" : "integer"
4d47f125
TL
36252 },
36253 "node" : {
36254 "description" : "The cluster node name.",
36255 "format" : "pve-node",
36256 "type" : "string"
36257 },
36258 "ssl_fingerprint" : {
36259 "description" : "The SSL fingerprint for the node certificate.",
36260 "optional" : 1,
36261 "type" : "string"
36262 },
36263 "status" : {
36264 "description" : "Node status.",
36265 "enum" : [
36266 "unknown",
36267 "online",
36268 "offline"
36269 ],
36270 "type" : "string"
36271 },
36272 "uptime" : {
36273 "description" : "Node uptime in seconds.",
36274 "optional" : 1,
36275 "renderer" : "duration",
36276 "type" : "integer"
36277 }
36278 },
44660702
DM
36279 "type" : "object"
36280 },
36281 "links" : [
36282 {
36283 "href" : "{node}",
36284 "rel" : "child"
36285 }
36286 ],
36287 "type" : "array"
36288 }
7aacca6f
DM
36289 }
36290 },
44660702
DM
36291 "leaf" : 0,
36292 "path" : "/nodes",
36293 "text" : "nodes"
36294 },
36295 {
7aacca6f
DM
36296 "children" : [
36297 {
7aacca6f 36298 "info" : {
44660702 36299 "DELETE" : {
e9cd3bd4 36300 "allowtoken" : 1,
44660702
DM
36301 "description" : "Delete storage configuration.",
36302 "method" : "DELETE",
36303 "name" : "delete",
7aacca6f
DM
36304 "parameters" : {
36305 "additionalProperties" : 0,
36306 "properties" : {
36307 "storage" : {
7aacca6f 36308 "description" : "The storage identifier.",
44660702 36309 "format" : "pve-storage-id",
013dc89f
DM
36310 "type" : "string",
36311 "typetext" : "<string>"
7aacca6f
DM
36312 }
36313 }
56122987 36314 },
7aacca6f
DM
36315 "permissions" : {
36316 "check" : [
36317 "perm",
36318 "/storage",
36319 [
36320 "Datastore.Allocate"
36321 ]
36322 ]
56122987 36323 },
44660702
DM
36324 "protected" : 1,
36325 "returns" : {
36326 "type" : "null"
36327 }
36328 },
36329 "GET" : {
e9cd3bd4 36330 "allowtoken" : 1,
44660702
DM
36331 "description" : "Read storage configuration.",
36332 "method" : "GET",
36333 "name" : "read",
7aacca6f
DM
36334 "parameters" : {
36335 "additionalProperties" : 0,
36336 "properties" : {
36337 "storage" : {
44660702 36338 "description" : "The storage identifier.",
7aacca6f 36339 "format" : "pve-storage-id",
013dc89f
DM
36340 "type" : "string",
36341 "typetext" : "<string>"
7aacca6f
DM
36342 }
36343 }
36344 },
44660702
DM
36345 "permissions" : {
36346 "check" : [
36347 "perm",
36348 "/storage/{storage}",
36349 [
36350 "Datastore.Allocate"
36351 ]
36352 ]
36353 },
5da3d723
TL
36354 "returns" : {
36355 "type" : "object"
36356 }
7aacca6f
DM
36357 },
36358 "PUT" : {
e9cd3bd4 36359 "allowtoken" : 1,
44660702
DM
36360 "description" : "Update storage configuration.",
36361 "method" : "PUT",
36362 "name" : "update",
36363 "parameters" : {
36364 "additionalProperties" : 0,
36365 "properties" : {
36366 "blocksize" : {
36367 "description" : "block size",
7aacca6f 36368 "optional" : 1,
013dc89f
DM
36369 "type" : "string",
36370 "typetext" : "<string>"
7aacca6f 36371 },
27a7acb2
DM
36372 "bwlimit" : {
36373 "description" : "Set bandwidth/io limits various operations.",
36374 "format" : {
36375 "clone" : {
95895385 36376 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
36377 "format_description" : "LIMIT",
36378 "minimum" : "0",
36379 "optional" : 1,
36380 "type" : "number"
36381 },
36382 "default" : {
95895385 36383 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
36384 "format_description" : "LIMIT",
36385 "minimum" : "0",
36386 "optional" : 1,
36387 "type" : "number"
36388 },
36389 "migration" : {
95895385 36390 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
36391 "format_description" : "LIMIT",
36392 "minimum" : "0",
36393 "optional" : 1,
36394 "type" : "number"
36395 },
36396 "move" : {
95895385 36397 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
36398 "format_description" : "LIMIT",
36399 "minimum" : "0",
36400 "optional" : 1,
36401 "type" : "number"
36402 },
36403 "restore" : {
95895385 36404 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
36405 "format_description" : "LIMIT",
36406 "minimum" : "0",
36407 "optional" : 1,
36408 "type" : "number"
36409 }
36410 },
36411 "optional" : 1,
36412 "type" : "string",
36413 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
36414 },
44660702
DM
36415 "comstar_hg" : {
36416 "description" : "host group for comstar views",
36417 "optional" : 1,
013dc89f
DM
36418 "type" : "string",
36419 "typetext" : "<string>"
7aacca6f 36420 },
44660702
DM
36421 "comstar_tg" : {
36422 "description" : "target group for comstar views",
7aacca6f 36423 "optional" : 1,
013dc89f
DM
36424 "type" : "string",
36425 "typetext" : "<string>"
7aacca6f 36426 },
44660702
DM
36427 "content" : {
36428 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
36429 "format" : "pve-storage-content-list",
7aacca6f 36430 "optional" : 1,
013dc89f
DM
36431 "type" : "string",
36432 "typetext" : "<string>"
7aacca6f 36433 },
44660702
DM
36434 "delete" : {
36435 "description" : "A list of settings you want to delete.",
36436 "format" : "pve-configid-list",
36437 "maxLength" : 4096,
7aacca6f 36438 "optional" : 1,
013dc89f
DM
36439 "type" : "string",
36440 "typetext" : "<string>"
7aacca6f
DM
36441 },
36442 "digest" : {
44660702 36443 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 36444 "maxLength" : 40,
7aacca6f 36445 "optional" : 1,
013dc89f
DM
36446 "type" : "string",
36447 "typetext" : "<string>"
7aacca6f 36448 },
44660702
DM
36449 "disable" : {
36450 "description" : "Flag to disable the storage.",
36451 "optional" : 1,
013dc89f
DM
36452 "type" : "boolean",
36453 "typetext" : "<boolean>"
7aacca6f 36454 },
27a7acb2
DM
36455 "domain" : {
36456 "description" : "CIFS domain.",
36457 "maxLength" : 256,
36458 "optional" : 1,
36459 "type" : "string",
36460 "typetext" : "<string>"
36461 },
7aacca6f
DM
36462 "format" : {
36463 "description" : "Default image format.",
44660702 36464 "format" : "pve-storage-format",
7aacca6f 36465 "optional" : 1,
013dc89f
DM
36466 "type" : "string",
36467 "typetext" : "<string>"
7aacca6f 36468 },
5da3d723
TL
36469 "fuse" : {
36470 "description" : "Mount CephFS through FUSE.",
36471 "optional" : 1,
36472 "type" : "boolean",
36473 "typetext" : "<boolean>"
36474 },
2c0dde61
DM
36475 "is_mountpoint" : {
36476 "default" : "no",
2489d6df 36477 "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 36478 "optional" : 1,
2489d6df
WB
36479 "type" : "string",
36480 "typetext" : "<string>"
2c0dde61 36481 },
44660702 36482 "krbd" : {
e2d681b3 36483 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 36484 "optional" : 1,
013dc89f
DM
36485 "type" : "boolean",
36486 "typetext" : "<boolean>"
7aacca6f 36487 },
4d47f125
TL
36488 "lio_tpg" : {
36489 "description" : "target portal group for Linux LIO targets",
36490 "optional" : 1,
36491 "type" : "string",
36492 "typetext" : "<string>"
36493 },
44660702
DM
36494 "maxfiles" : {
36495 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
36496 "minimum" : 0,
36497 "optional" : 1,
4bd7df8b 36498 "type" : "integer",
013dc89f 36499 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
36500 },
36501 "mkdir" : {
36502 "default" : "yes",
36503 "description" : "Create the directory if it doesn't exist.",
36504 "optional" : 1,
013dc89f
DM
36505 "type" : "boolean",
36506 "typetext" : "<boolean>"
7aacca6f 36507 },
2489d6df
WB
36508 "monhost" : {
36509 "description" : "IP addresses of monitors (for external clusters).",
36510 "format" : "pve-storage-portal-dns-list",
36511 "optional" : 1,
36512 "type" : "string",
36513 "typetext" : "<string>"
36514 },
5c1699e5
TL
36515 "mountpoint" : {
36516 "description" : "mount point",
36517 "format" : "pve-storage-path",
36518 "optional" : 1,
36519 "type" : "string",
36520 "typetext" : "<string>"
36521 },
7aacca6f 36522 "nodes" : {
44660702 36523 "description" : "List of cluster node names.",
7aacca6f
DM
36524 "format" : "pve-node-list",
36525 "optional" : 1,
013dc89f
DM
36526 "type" : "string",
36527 "typetext" : "<string>"
7aacca6f 36528 },
44660702
DM
36529 "nowritecache" : {
36530 "description" : "disable write caching on the target",
7aacca6f 36531 "optional" : 1,
013dc89f
DM
36532 "type" : "boolean",
36533 "typetext" : "<boolean>"
7aacca6f
DM
36534 },
36535 "options" : {
7aacca6f 36536 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
36537 "format" : "pve-storage-options",
36538 "optional" : 1,
013dc89f
DM
36539 "type" : "string",
36540 "typetext" : "<string>"
44660702 36541 },
27a7acb2
DM
36542 "password" : {
36543 "description" : "Password for CIFS share.",
36544 "maxLength" : 256,
36545 "optional" : 1,
36546 "type" : "string",
36547 "typetext" : "<string>"
36548 },
44660702
DM
36549 "pool" : {
36550 "description" : "Pool.",
36551 "optional" : 1,
013dc89f
DM
36552 "type" : "string",
36553 "typetext" : "<string>"
44660702
DM
36554 },
36555 "redundancy" : {
36556 "default" : 2,
36557 "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.",
36558 "maximum" : 16,
36559 "minimum" : 1,
36560 "optional" : 1,
4bd7df8b 36561 "type" : "integer",
013dc89f 36562 "typetext" : "<integer> (1 - 16)"
44660702
DM
36563 },
36564 "saferemove" : {
36565 "description" : "Zero-out data when removing LVs.",
36566 "optional" : 1,
013dc89f
DM
36567 "type" : "boolean",
36568 "typetext" : "<boolean>"
7aacca6f
DM
36569 },
36570 "saferemove_throughput" : {
44660702 36571 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 36572 "optional" : 1,
013dc89f
DM
36573 "type" : "string",
36574 "typetext" : "<string>"
7aacca6f 36575 },
44660702
DM
36576 "server" : {
36577 "description" : "Server IP or DNS name.",
36578 "format" : "pve-storage-server",
7aacca6f 36579 "optional" : 1,
013dc89f
DM
36580 "type" : "string",
36581 "typetext" : "<string>"
7aacca6f 36582 },
44660702
DM
36583 "server2" : {
36584 "description" : "Backup volfile server IP or DNS name.",
36585 "format" : "pve-storage-server",
7aacca6f 36586 "optional" : 1,
44660702 36587 "requires" : "server",
013dc89f
DM
36588 "type" : "string",
36589 "typetext" : "<string>"
44660702
DM
36590 },
36591 "shared" : {
36592 "description" : "Mark storage as shared.",
36593 "optional" : 1,
013dc89f
DM
36594 "type" : "boolean",
36595 "typetext" : "<boolean>"
44660702 36596 },
27a7acb2 36597 "smbversion" : {
5da3d723
TL
36598 "description" : "SMB protocol version",
36599 "enum" : [
36600 "2.0",
36601 "2.1",
36602 "3.0"
36603 ],
27a7acb2 36604 "optional" : 1,
5da3d723 36605 "type" : "string"
27a7acb2 36606 },
44660702
DM
36607 "sparse" : {
36608 "description" : "use sparse volumes",
36609 "optional" : 1,
013dc89f
DM
36610 "type" : "boolean",
36611 "typetext" : "<boolean>"
44660702
DM
36612 },
36613 "storage" : {
36614 "description" : "The storage identifier.",
36615 "format" : "pve-storage-id",
013dc89f
DM
36616 "type" : "string",
36617 "typetext" : "<string>"
44660702 36618 },
5da3d723
TL
36619 "subdir" : {
36620 "description" : "Subdir to mount.",
36621 "format" : "pve-storage-path",
36622 "optional" : 1,
36623 "type" : "string",
36624 "typetext" : "<string>"
36625 },
4bd7df8b
DM
36626 "tagged_only" : {
36627 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
36628 "optional" : 1,
013dc89f
DM
36629 "type" : "boolean",
36630 "typetext" : "<boolean>"
4bd7df8b 36631 },
44660702
DM
36632 "transport" : {
36633 "description" : "Gluster transport: tcp or rdma",
36634 "enum" : [
36635 "tcp",
36636 "rdma",
36637 "unix"
36638 ],
36639 "optional" : 1,
36640 "type" : "string"
7aacca6f
DM
36641 },
36642 "username" : {
36643 "description" : "RBD Id.",
44660702 36644 "optional" : 1,
013dc89f
DM
36645 "type" : "string",
36646 "typetext" : "<string>"
7aacca6f 36647 }
44660702
DM
36648 },
36649 "type" : "object"
36650 },
36651 "permissions" : {
36652 "check" : [
36653 "perm",
36654 "/storage",
36655 [
36656 "Datastore.Allocate"
36657 ]
36658 ]
36659 },
36660 "protected" : 1,
36661 "returns" : {
36662 "type" : "null"
36663 }
36664 }
36665 },
36666 "leaf" : 1,
36667 "path" : "/storage/{storage}",
36668 "text" : "{storage}"
36669 }
36670 ],
36671 "info" : {
36672 "GET" : {
e9cd3bd4 36673 "allowtoken" : 1,
44660702
DM
36674 "description" : "Storage index.",
36675 "method" : "GET",
36676 "name" : "index",
36677 "parameters" : {
36678 "additionalProperties" : 0,
36679 "properties" : {
36680 "type" : {
36681 "description" : "Only list storage of specific type",
36682 "enum" : [
5da3d723 36683 "cephfs",
27a7acb2 36684 "cifs",
44660702
DM
36685 "dir",
36686 "drbd",
36687 "glusterfs",
36688 "iscsi",
36689 "iscsidirect",
36690 "lvm",
36691 "lvmthin",
36692 "nfs",
36693 "rbd",
44660702
DM
36694 "zfs",
36695 "zfspool"
36696 ],
36697 "optional" : 1,
36698 "type" : "string"
36699 }
36700 }
36701 },
36702 "permissions" : {
36703 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
36704 "user" : "all"
36705 },
36706 "returns" : {
36707 "items" : {
36708 "properties" : {
36709 "storage" : {
36710 "type" : "string"
7aacca6f 36711 }
56122987 36712 },
44660702
DM
36713 "type" : "object"
36714 },
36715 "links" : [
36716 {
36717 "href" : "{storage}",
36718 "rel" : "child"
36719 }
36720 ],
36721 "type" : "array"
36722 }
36723 },
36724 "POST" : {
e9cd3bd4 36725 "allowtoken" : 1,
44660702
DM
36726 "description" : "Create a new storage.",
36727 "method" : "POST",
36728 "name" : "create",
36729 "parameters" : {
36730 "additionalProperties" : 0,
36731 "properties" : {
36732 "authsupported" : {
36733 "description" : "Authsupported.",
36734 "optional" : 1,
013dc89f
DM
36735 "type" : "string",
36736 "typetext" : "<string>"
44660702
DM
36737 },
36738 "base" : {
36739 "description" : "Base volume. This volume is automatically activated.",
36740 "format" : "pve-volume-id",
36741 "optional" : 1,
013dc89f
DM
36742 "type" : "string",
36743 "typetext" : "<string>"
44660702
DM
36744 },
36745 "blocksize" : {
36746 "description" : "block size",
36747 "optional" : 1,
013dc89f
DM
36748 "type" : "string",
36749 "typetext" : "<string>"
44660702 36750 },
27a7acb2
DM
36751 "bwlimit" : {
36752 "description" : "Set bandwidth/io limits various operations.",
36753 "format" : {
36754 "clone" : {
95895385 36755 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
36756 "format_description" : "LIMIT",
36757 "minimum" : "0",
36758 "optional" : 1,
36759 "type" : "number"
36760 },
36761 "default" : {
95895385 36762 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
36763 "format_description" : "LIMIT",
36764 "minimum" : "0",
36765 "optional" : 1,
36766 "type" : "number"
36767 },
36768 "migration" : {
95895385 36769 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
36770 "format_description" : "LIMIT",
36771 "minimum" : "0",
36772 "optional" : 1,
36773 "type" : "number"
36774 },
36775 "move" : {
95895385 36776 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
36777 "format_description" : "LIMIT",
36778 "minimum" : "0",
36779 "optional" : 1,
36780 "type" : "number"
36781 },
36782 "restore" : {
95895385 36783 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
36784 "format_description" : "LIMIT",
36785 "minimum" : "0",
36786 "optional" : 1,
36787 "type" : "number"
36788 }
36789 },
36790 "optional" : 1,
36791 "type" : "string",
36792 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
36793 },
44660702
DM
36794 "comstar_hg" : {
36795 "description" : "host group for comstar views",
36796 "optional" : 1,
013dc89f
DM
36797 "type" : "string",
36798 "typetext" : "<string>"
44660702
DM
36799 },
36800 "comstar_tg" : {
36801 "description" : "target group for comstar views",
36802 "optional" : 1,
013dc89f
DM
36803 "type" : "string",
36804 "typetext" : "<string>"
44660702
DM
36805 },
36806 "content" : {
36807 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
36808 "format" : "pve-storage-content-list",
36809 "optional" : 1,
013dc89f
DM
36810 "type" : "string",
36811 "typetext" : "<string>"
44660702
DM
36812 },
36813 "disable" : {
36814 "description" : "Flag to disable the storage.",
36815 "optional" : 1,
013dc89f
DM
36816 "type" : "boolean",
36817 "typetext" : "<boolean>"
44660702 36818 },
27a7acb2
DM
36819 "domain" : {
36820 "description" : "CIFS domain.",
36821 "maxLength" : 256,
36822 "optional" : 1,
36823 "type" : "string",
36824 "typetext" : "<string>"
36825 },
44660702
DM
36826 "export" : {
36827 "description" : "NFS export path.",
36828 "format" : "pve-storage-path",
36829 "optional" : 1,
013dc89f
DM
36830 "type" : "string",
36831 "typetext" : "<string>"
44660702
DM
36832 },
36833 "format" : {
36834 "description" : "Default image format.",
36835 "format" : "pve-storage-format",
36836 "optional" : 1,
013dc89f
DM
36837 "type" : "string",
36838 "typetext" : "<string>"
44660702 36839 },
5da3d723
TL
36840 "fuse" : {
36841 "description" : "Mount CephFS through FUSE.",
36842 "optional" : 1,
36843 "type" : "boolean",
36844 "typetext" : "<boolean>"
36845 },
2c0dde61
DM
36846 "is_mountpoint" : {
36847 "default" : "no",
2489d6df 36848 "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 36849 "optional" : 1,
2489d6df
WB
36850 "type" : "string",
36851 "typetext" : "<string>"
2c0dde61 36852 },
44660702
DM
36853 "iscsiprovider" : {
36854 "description" : "iscsi provider",
36855 "optional" : 1,
013dc89f
DM
36856 "type" : "string",
36857 "typetext" : "<string>"
44660702
DM
36858 },
36859 "krbd" : {
e2d681b3 36860 "description" : "Always access rbd through krbd kernel module.",
44660702 36861 "optional" : 1,
013dc89f
DM
36862 "type" : "boolean",
36863 "typetext" : "<boolean>"
56122987 36864 },
4d47f125
TL
36865 "lio_tpg" : {
36866 "description" : "target portal group for Linux LIO targets",
36867 "optional" : 1,
36868 "type" : "string",
36869 "typetext" : "<string>"
36870 },
44660702
DM
36871 "maxfiles" : {
36872 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
36873 "minimum" : 0,
36874 "optional" : 1,
4bd7df8b 36875 "type" : "integer",
013dc89f 36876 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
36877 },
36878 "mkdir" : {
36879 "default" : "yes",
36880 "description" : "Create the directory if it doesn't exist.",
36881 "optional" : 1,
013dc89f
DM
36882 "type" : "boolean",
36883 "typetext" : "<boolean>"
7aacca6f 36884 },
44660702 36885 "monhost" : {
2489d6df 36886 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 36887 "format" : "pve-storage-portal-dns-list",
44660702 36888 "optional" : 1,
013dc89f
DM
36889 "type" : "string",
36890 "typetext" : "<string>"
7aacca6f 36891 },
5c1699e5
TL
36892 "mountpoint" : {
36893 "description" : "mount point",
36894 "format" : "pve-storage-path",
36895 "optional" : 1,
36896 "type" : "string",
36897 "typetext" : "<string>"
36898 },
44660702
DM
36899 "nodes" : {
36900 "description" : "List of cluster node names.",
36901 "format" : "pve-node-list",
36902 "optional" : 1,
013dc89f
DM
36903 "type" : "string",
36904 "typetext" : "<string>"
7aacca6f 36905 },
44660702
DM
36906 "nowritecache" : {
36907 "description" : "disable write caching on the target",
36908 "optional" : 1,
013dc89f
DM
36909 "type" : "boolean",
36910 "typetext" : "<boolean>"
44660702
DM
36911 },
36912 "options" : {
36913 "description" : "NFS mount options (see 'man nfs')",
36914 "format" : "pve-storage-options",
36915 "optional" : 1,
013dc89f
DM
36916 "type" : "string",
36917 "typetext" : "<string>"
44660702 36918 },
27a7acb2
DM
36919 "password" : {
36920 "description" : "Password for CIFS share.",
36921 "maxLength" : 256,
36922 "optional" : 1,
36923 "type" : "string",
36924 "typetext" : "<string>"
36925 },
44660702
DM
36926 "path" : {
36927 "description" : "File system path.",
36928 "format" : "pve-storage-path",
36929 "optional" : 1,
013dc89f
DM
36930 "type" : "string",
36931 "typetext" : "<string>"
44660702
DM
36932 },
36933 "pool" : {
36934 "description" : "Pool.",
36935 "optional" : 1,
013dc89f
DM
36936 "type" : "string",
36937 "typetext" : "<string>"
44660702
DM
36938 },
36939 "portal" : {
36940 "description" : "iSCSI portal (IP or DNS name with optional port).",
36941 "format" : "pve-storage-portal-dns",
36942 "optional" : 1,
013dc89f
DM
36943 "type" : "string",
36944 "typetext" : "<string>"
44660702
DM
36945 },
36946 "redundancy" : {
36947 "default" : 2,
36948 "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.",
36949 "maximum" : 16,
36950 "minimum" : 1,
36951 "optional" : 1,
4bd7df8b 36952 "type" : "integer",
013dc89f 36953 "typetext" : "<integer> (1 - 16)"
44660702
DM
36954 },
36955 "saferemove" : {
36956 "description" : "Zero-out data when removing LVs.",
36957 "optional" : 1,
013dc89f
DM
36958 "type" : "boolean",
36959 "typetext" : "<boolean>"
44660702
DM
36960 },
36961 "saferemove_throughput" : {
36962 "description" : "Wipe throughput (cstream -t parameter value).",
36963 "optional" : 1,
013dc89f
DM
36964 "type" : "string",
36965 "typetext" : "<string>"
44660702
DM
36966 },
36967 "server" : {
36968 "description" : "Server IP or DNS name.",
36969 "format" : "pve-storage-server",
36970 "optional" : 1,
013dc89f
DM
36971 "type" : "string",
36972 "typetext" : "<string>"
44660702
DM
36973 },
36974 "server2" : {
36975 "description" : "Backup volfile server IP or DNS name.",
36976 "format" : "pve-storage-server",
36977 "optional" : 1,
36978 "requires" : "server",
013dc89f
DM
36979 "type" : "string",
36980 "typetext" : "<string>"
44660702 36981 },
27a7acb2
DM
36982 "share" : {
36983 "description" : "CIFS share.",
36984 "optional" : 1,
36985 "type" : "string",
36986 "typetext" : "<string>"
36987 },
44660702
DM
36988 "shared" : {
36989 "description" : "Mark storage as shared.",
36990 "optional" : 1,
013dc89f
DM
36991 "type" : "boolean",
36992 "typetext" : "<boolean>"
44660702 36993 },
27a7acb2 36994 "smbversion" : {
5da3d723
TL
36995 "description" : "SMB protocol version",
36996 "enum" : [
36997 "2.0",
36998 "2.1",
36999 "3.0"
37000 ],
27a7acb2 37001 "optional" : 1,
5da3d723 37002 "type" : "string"
27a7acb2 37003 },
44660702
DM
37004 "sparse" : {
37005 "description" : "use sparse volumes",
37006 "optional" : 1,
013dc89f
DM
37007 "type" : "boolean",
37008 "typetext" : "<boolean>"
44660702
DM
37009 },
37010 "storage" : {
37011 "description" : "The storage identifier.",
37012 "format" : "pve-storage-id",
013dc89f
DM
37013 "type" : "string",
37014 "typetext" : "<string>"
44660702 37015 },
5da3d723
TL
37016 "subdir" : {
37017 "description" : "Subdir to mount.",
37018 "format" : "pve-storage-path",
37019 "optional" : 1,
37020 "type" : "string",
37021 "typetext" : "<string>"
37022 },
4bd7df8b
DM
37023 "tagged_only" : {
37024 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
37025 "optional" : 1,
013dc89f
DM
37026 "type" : "boolean",
37027 "typetext" : "<boolean>"
4bd7df8b 37028 },
44660702
DM
37029 "target" : {
37030 "description" : "iSCSI target.",
37031 "optional" : 1,
013dc89f
DM
37032 "type" : "string",
37033 "typetext" : "<string>"
44660702
DM
37034 },
37035 "thinpool" : {
37036 "description" : "LVM thin pool LV name.",
37037 "format" : "pve-storage-vgname",
37038 "optional" : 1,
013dc89f
DM
37039 "type" : "string",
37040 "typetext" : "<string>"
44660702
DM
37041 },
37042 "transport" : {
37043 "description" : "Gluster transport: tcp or rdma",
37044 "enum" : [
37045 "tcp",
37046 "rdma",
37047 "unix"
7aacca6f 37048 ],
44660702
DM
37049 "optional" : 1,
37050 "type" : "string"
56122987 37051 },
44660702
DM
37052 "type" : {
37053 "description" : "Storage type.",
37054 "enum" : [
5da3d723 37055 "cephfs",
27a7acb2 37056 "cifs",
44660702
DM
37057 "dir",
37058 "drbd",
37059 "glusterfs",
37060 "iscsi",
37061 "iscsidirect",
37062 "lvm",
37063 "lvmthin",
37064 "nfs",
37065 "rbd",
44660702
DM
37066 "zfs",
37067 "zfspool"
37068 ],
37069 "type" : "string"
56122987 37070 },
44660702
DM
37071 "username" : {
37072 "description" : "RBD Id.",
37073 "optional" : 1,
013dc89f
DM
37074 "type" : "string",
37075 "typetext" : "<string>"
7aacca6f 37076 },
44660702
DM
37077 "vgname" : {
37078 "description" : "Volume group name.",
37079 "format" : "pve-storage-vgname",
37080 "optional" : 1,
013dc89f
DM
37081 "type" : "string",
37082 "typetext" : "<string>"
44660702
DM
37083 },
37084 "volume" : {
37085 "description" : "Glusterfs Volume.",
37086 "optional" : 1,
013dc89f
DM
37087 "type" : "string",
37088 "typetext" : "<string>"
44660702
DM
37089 }
37090 },
37091 "type" : "object"
37092 },
37093 "permissions" : {
37094 "check" : [
37095 "perm",
37096 "/storage",
37097 [
37098 "Datastore.Allocate"
37099 ]
37100 ]
56122987 37101 },
44660702
DM
37102 "protected" : 1,
37103 "returns" : {
37104 "type" : "null"
37105 }
37106 }
37107 },
37108 "leaf" : 0,
37109 "path" : "/storage",
37110 "text" : "storage"
37111 },
37112 {
37113 "children" : [
37114 {
56122987
DM
37115 "children" : [
37116 {
bb4c8cf8
TL
37117 "children" : [
37118 {
37119 "info" : {
37120 "GET" : {
e9cd3bd4 37121 "allowtoken" : 1,
bb4c8cf8
TL
37122 "description" : "Get user TFA types (Personal and Realm).",
37123 "method" : "GET",
37124 "name" : "read_user_tfa_type",
37125 "parameters" : {
37126 "additionalProperties" : 0,
37127 "properties" : {
37128 "userid" : {
37129 "description" : "User ID",
37130 "format" : "pve-userid",
37131 "maxLength" : 64,
37132 "type" : "string",
37133 "typetext" : "<string>"
37134 }
37135 }
37136 },
37137 "permissions" : {
37138 "check" : [
37139 "or",
37140 [
37141 "userid-param",
37142 "self"
37143 ],
37144 [
37145 "userid-group",
37146 [
37147 "User.Modify",
37148 "Sys.Audit"
37149 ]
37150 ]
37151 ]
37152 },
37153 "protected" : 1,
37154 "returns" : {
37155 "additionalProperties" : 0,
37156 "properties" : {
37157 "realm" : {
37158 "description" : "The type of TFA the users realm has set, if any.",
37159 "enum" : [
37160 "oath",
37161 "yubico"
37162 ],
37163 "optional" : 1,
37164 "type" : "string"
37165 },
37166 "user" : {
37167 "description" : "The type of TFA the user has set, if any.",
37168 "enum" : [
37169 "oath",
37170 "u2f"
37171 ],
37172 "optional" : 1,
37173 "type" : "string"
37174 }
37175 },
37176 "type" : "object"
37177 }
37178 }
37179 },
37180 "leaf" : 1,
37181 "path" : "/access/users/{userid}/tfa",
37182 "text" : "tfa"
e9cd3bd4
TL
37183 },
37184 {
37185 "children" : [
37186 {
37187 "info" : {
37188 "DELETE" : {
37189 "allowtoken" : 1,
37190 "description" : "Remove API token for a specific user.",
37191 "method" : "DELETE",
37192 "name" : "remove_token",
37193 "parameters" : {
37194 "additionalProperties" : 0,
37195 "properties" : {
37196 "tokenid" : {
37197 "description" : "User-specific token identifier.",
37198 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37199 "type" : "string"
37200 },
37201 "userid" : {
37202 "description" : "User ID",
37203 "format" : "pve-userid",
37204 "maxLength" : 64,
37205 "type" : "string",
37206 "typetext" : "<string>"
37207 }
37208 }
37209 },
37210 "permissions" : {
37211 "check" : [
37212 "or",
37213 [
37214 "userid-param",
37215 "self"
37216 ],
37217 [
37218 "perm",
37219 "/access/users/{userid}",
37220 [
37221 "User.Modify"
37222 ]
37223 ]
37224 ]
37225 },
37226 "protected" : 1,
37227 "returns" : {
37228 "type" : "null"
37229 }
37230 },
37231 "GET" : {
37232 "allowtoken" : 1,
37233 "description" : "Get specific API token information.",
37234 "method" : "GET",
37235 "name" : "read_token",
37236 "parameters" : {
37237 "additionalProperties" : 0,
37238 "properties" : {
37239 "tokenid" : {
37240 "description" : "User-specific token identifier.",
37241 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37242 "type" : "string"
37243 },
37244 "userid" : {
37245 "description" : "User ID",
37246 "format" : "pve-userid",
37247 "maxLength" : 64,
37248 "type" : "string",
37249 "typetext" : "<string>"
37250 }
37251 }
37252 },
37253 "permissions" : {
37254 "check" : [
37255 "or",
37256 [
37257 "userid-param",
37258 "self"
37259 ],
37260 [
37261 "perm",
37262 "/access/users/{userid}",
37263 [
37264 "User.Modify"
37265 ]
37266 ]
37267 ]
37268 },
37269 "returns" : {
37270 "properties" : {
37271 "comment" : {
37272 "optional" : 1,
37273 "type" : "string"
37274 },
37275 "expire" : {
37276 "default" : "same as user",
37277 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37278 "minimum" : 0,
37279 "optional" : 1,
37280 "type" : "integer"
37281 },
37282 "privsep" : {
37283 "default" : 1,
37284 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37285 "optional" : 1,
37286 "type" : "boolean"
37287 }
37288 },
37289 "type" : "object"
37290 }
37291 },
37292 "POST" : {
37293 "allowtoken" : 1,
37294 "description" : "Generate a new API token for a specific user. NOTE: returns API token value, which needs to be stored as it cannot be retrieved afterwards!",
37295 "method" : "POST",
37296 "name" : "generate_token",
37297 "parameters" : {
37298 "additionalProperties" : 0,
37299 "properties" : {
37300 "comment" : {
37301 "optional" : 1,
37302 "type" : "string",
37303 "typetext" : "<string>"
37304 },
37305 "expire" : {
37306 "default" : "same as user",
37307 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37308 "minimum" : 0,
37309 "optional" : 1,
37310 "type" : "integer",
37311 "typetext" : "<integer> (0 - N)"
37312 },
37313 "privsep" : {
37314 "default" : 1,
37315 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37316 "optional" : 1,
37317 "type" : "boolean",
37318 "typetext" : "<boolean>"
37319 },
37320 "tokenid" : {
37321 "description" : "User-specific token identifier.",
37322 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37323 "type" : "string"
37324 },
37325 "userid" : {
37326 "description" : "User ID",
37327 "format" : "pve-userid",
37328 "maxLength" : 64,
37329 "type" : "string",
37330 "typetext" : "<string>"
37331 }
37332 }
37333 },
37334 "permissions" : {
37335 "check" : [
37336 "or",
37337 [
37338 "userid-param",
37339 "self"
37340 ],
37341 [
37342 "perm",
37343 "/access/users/{userid}",
37344 [
37345 "User.Modify"
37346 ]
37347 ]
37348 ]
37349 },
37350 "protected" : 1,
37351 "returns" : {
37352 "additionalProperties" : 0,
37353 "properties" : {
37354 "info" : {
37355 "properties" : {
37356 "comment" : {
37357 "optional" : 1,
37358 "type" : "string"
37359 },
37360 "expire" : {
37361 "default" : "same as user",
37362 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37363 "minimum" : 0,
37364 "optional" : 1,
37365 "type" : "integer"
37366 },
37367 "privsep" : {
37368 "default" : 1,
37369 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37370 "optional" : 1,
37371 "type" : "boolean"
37372 }
37373 },
37374 "type" : "object"
37375 },
37376 "value" : {
37377 "description" : "API token value used for authentication.",
37378 "type" : "string"
37379 }
37380 },
37381 "type" : "object"
37382 }
37383 },
37384 "PUT" : {
37385 "allowtoken" : 1,
37386 "description" : "Update API token for a specific user.",
37387 "method" : "PUT",
37388 "name" : "update_token_info",
37389 "parameters" : {
37390 "additionalProperties" : 0,
37391 "properties" : {
37392 "comment" : {
37393 "optional" : 1,
37394 "type" : "string",
37395 "typetext" : "<string>"
37396 },
37397 "expire" : {
37398 "default" : "same as user",
37399 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37400 "minimum" : 0,
37401 "optional" : 1,
37402 "type" : "integer",
37403 "typetext" : "<integer> (0 - N)"
37404 },
37405 "privsep" : {
37406 "default" : 1,
37407 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37408 "optional" : 1,
37409 "type" : "boolean",
37410 "typetext" : "<boolean>"
37411 },
37412 "tokenid" : {
37413 "description" : "User-specific token identifier.",
37414 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37415 "type" : "string"
37416 },
37417 "userid" : {
37418 "description" : "User ID",
37419 "format" : "pve-userid",
37420 "maxLength" : 64,
37421 "type" : "string",
37422 "typetext" : "<string>"
37423 }
37424 }
37425 },
37426 "permissions" : {
37427 "check" : [
37428 "or",
37429 [
37430 "userid-param",
37431 "self"
37432 ],
37433 [
37434 "perm",
37435 "/access/users/{userid}",
37436 [
37437 "User.Modify"
37438 ]
37439 ]
37440 ]
37441 },
37442 "protected" : 1,
37443 "returns" : {
37444 "description" : "Updated token information.",
37445 "properties" : {
37446 "comment" : {
37447 "optional" : 1,
37448 "type" : "string"
37449 },
37450 "expire" : {
37451 "default" : "same as user",
37452 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37453 "minimum" : 0,
37454 "optional" : 1,
37455 "type" : "integer"
37456 },
37457 "privsep" : {
37458 "default" : 1,
37459 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37460 "optional" : 1,
37461 "type" : "boolean"
37462 }
37463 },
37464 "type" : "object"
37465 }
37466 }
37467 },
37468 "leaf" : 1,
37469 "path" : "/access/users/{userid}/token/{tokenid}",
37470 "text" : "{tokenid}"
37471 }
37472 ],
37473 "info" : {
37474 "GET" : {
37475 "allowtoken" : 1,
37476 "description" : "Get user API tokens.",
37477 "method" : "GET",
37478 "name" : "token_index",
37479 "parameters" : {
37480 "additionalProperties" : 0,
37481 "properties" : {
37482 "userid" : {
37483 "description" : "User ID",
37484 "format" : "pve-userid",
37485 "maxLength" : 64,
37486 "type" : "string",
37487 "typetext" : "<string>"
37488 }
37489 }
37490 },
37491 "permissions" : {
37492 "check" : [
37493 "or",
37494 [
37495 "userid-param",
37496 "self"
37497 ],
37498 [
37499 "perm",
37500 "/access/users/{userid}",
37501 [
37502 "User.Modify"
37503 ]
37504 ]
37505 ]
37506 },
37507 "returns" : {
37508 "items" : {
37509 "properties" : {
37510 "comment" : {
37511 "optional" : 1,
37512 "type" : "string"
37513 },
37514 "expire" : {
37515 "default" : "same as user",
37516 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37517 "minimum" : 0,
37518 "optional" : 1,
37519 "type" : "integer"
37520 },
37521 "privsep" : {
37522 "default" : 1,
37523 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37524 "optional" : 1,
37525 "type" : "boolean"
37526 },
37527 "tokenid" : {
37528 "description" : "User-specific token identifier.",
37529 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37530 "type" : "string"
37531 }
37532 },
37533 "type" : "object"
37534 },
37535 "links" : [
37536 {
37537 "href" : "{tokenid}",
37538 "rel" : "child"
37539 }
37540 ],
37541 "type" : "array"
37542 }
37543 }
37544 },
37545 "leaf" : 0,
37546 "path" : "/access/users/{userid}/token",
37547 "text" : "token"
bb4c8cf8
TL
37548 }
37549 ],
56122987 37550 "info" : {
44660702 37551 "DELETE" : {
e9cd3bd4 37552 "allowtoken" : 1,
44660702
DM
37553 "description" : "Delete user.",
37554 "method" : "DELETE",
37555 "name" : "delete_user",
56122987 37556 "parameters" : {
7aacca6f 37557 "additionalProperties" : 0,
56122987 37558 "properties" : {
56122987 37559 "userid" : {
56122987
DM
37560 "description" : "User ID",
37561 "format" : "pve-userid",
44660702 37562 "maxLength" : 64,
013dc89f
DM
37563 "type" : "string",
37564 "typetext" : "<string>"
56122987 37565 }
7aacca6f 37566 }
56122987 37567 },
56122987
DM
37568 "permissions" : {
37569 "check" : [
44660702 37570 "and",
56122987 37571 [
44660702
DM
37572 "userid-param",
37573 "Realm.AllocateUser"
56122987 37574 ],
44660702
DM
37575 [
37576 "userid-group",
37577 [
37578 "User.Modify"
37579 ]
37580 ]
56122987 37581 ]
7aacca6f 37582 },
44660702 37583 "protected" : 1,
56122987
DM
37584 "returns" : {
37585 "type" : "null"
44660702 37586 }
7aacca6f 37587 },
44660702 37588 "GET" : {
e9cd3bd4 37589 "allowtoken" : 1,
44660702
DM
37590 "description" : "Get user configuration.",
37591 "method" : "GET",
37592 "name" : "read_user",
56122987
DM
37593 "parameters" : {
37594 "additionalProperties" : 0,
37595 "properties" : {
37596 "userid" : {
44660702 37597 "description" : "User ID",
56122987 37598 "format" : "pve-userid",
44660702 37599 "maxLength" : 64,
013dc89f
DM
37600 "type" : "string",
37601 "typetext" : "<string>"
56122987
DM
37602 }
37603 }
37604 },
56122987
DM
37605 "permissions" : {
37606 "check" : [
44660702 37607 "userid-group",
56122987 37608 [
44660702
DM
37609 "User.Modify",
37610 "Sys.Audit"
56122987
DM
37611 ]
37612 ]
37613 },
56122987 37614 "returns" : {
7aacca6f 37615 "additionalProperties" : 0,
56122987 37616 "properties" : {
44660702
DM
37617 "comment" : {
37618 "optional" : 1,
37619 "type" : "string"
56122987 37620 },
44660702 37621 "email" : {
e2d681b3 37622 "format" : "email-opt",
44660702
DM
37623 "optional" : 1,
37624 "type" : "string"
7aacca6f
DM
37625 },
37626 "enable" : {
e2d681b3
TL
37627 "default" : 1,
37628 "description" : "Enable the account (default). You can set this to '0' to disable the account",
37629 "optional" : 1,
7aacca6f
DM
37630 "type" : "boolean"
37631 },
44660702 37632 "expire" : {
e2d681b3
TL
37633 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
37634 "minimum" : 0,
44660702
DM
37635 "optional" : 1,
37636 "type" : "integer"
37637 },
37638 "firstname" : {
56122987
DM
37639 "optional" : 1,
37640 "type" : "string"
37641 },
44660702 37642 "groups" : {
e9cd3bd4
TL
37643 "items" : {
37644 "format" : "pve-groupid",
37645 "type" : "string"
37646 },
37647 "optional" : 1,
44660702 37648 "type" : "array"
56122987 37649 },
44660702 37650 "keys" : {
e2d681b3 37651 "description" : "Keys for two factor auth (yubico).",
44660702
DM
37652 "optional" : 1,
37653 "type" : "string"
7aacca6f 37654 },
44660702
DM
37655 "lastname" : {
37656 "optional" : 1,
37657 "type" : "string"
e9cd3bd4
TL
37658 },
37659 "tokens" : {
37660 "optional" : 1,
37661 "type" : "object"
56122987 37662 }
e2d681b3
TL
37663 },
37664 "type" : "object"
44660702
DM
37665 }
37666 },
37667 "PUT" : {
e9cd3bd4 37668 "allowtoken" : 1,
44660702
DM
37669 "description" : "Update user configuration.",
37670 "method" : "PUT",
37671 "name" : "update_user",
56122987 37672 "parameters" : {
44660702 37673 "additionalProperties" : 0,
56122987 37674 "properties" : {
44660702
DM
37675 "append" : {
37676 "optional" : 1,
37677 "requires" : "groups",
013dc89f
DM
37678 "type" : "boolean",
37679 "typetext" : "<boolean>"
44660702
DM
37680 },
37681 "comment" : {
37682 "optional" : 1,
013dc89f
DM
37683 "type" : "string",
37684 "typetext" : "<string>"
44660702
DM
37685 },
37686 "email" : {
37687 "format" : "email-opt",
37688 "optional" : 1,
013dc89f
DM
37689 "type" : "string",
37690 "typetext" : "<string>"
44660702
DM
37691 },
37692 "enable" : {
e2d681b3
TL
37693 "default" : 1,
37694 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 37695 "optional" : 1,
013dc89f
DM
37696 "type" : "boolean",
37697 "typetext" : "<boolean>"
44660702
DM
37698 },
37699 "expire" : {
37700 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
37701 "minimum" : 0,
37702 "optional" : 1,
4bd7df8b 37703 "type" : "integer",
013dc89f 37704 "typetext" : "<integer> (0 - N)"
44660702
DM
37705 },
37706 "firstname" : {
37707 "optional" : 1,
013dc89f
DM
37708 "type" : "string",
37709 "typetext" : "<string>"
44660702
DM
37710 },
37711 "groups" : {
37712 "format" : "pve-groupid-list",
37713 "optional" : 1,
013dc89f
DM
37714 "type" : "string",
37715 "typetext" : "<string>"
44660702
DM
37716 },
37717 "keys" : {
37718 "description" : "Keys for two factor auth (yubico).",
37719 "optional" : 1,
013dc89f
DM
37720 "type" : "string",
37721 "typetext" : "<string>"
44660702
DM
37722 },
37723 "lastname" : {
37724 "optional" : 1,
013dc89f
DM
37725 "type" : "string",
37726 "typetext" : "<string>"
44660702 37727 },
56122987 37728 "userid" : {
56122987
DM
37729 "description" : "User ID",
37730 "format" : "pve-userid",
44660702 37731 "maxLength" : 64,
013dc89f
DM
37732 "type" : "string",
37733 "typetext" : "<string>"
56122987 37734 }
44660702 37735 }
56122987 37736 },
56122987
DM
37737 "permissions" : {
37738 "check" : [
37739 "userid-group",
37740 [
44660702
DM
37741 "User.Modify"
37742 ],
37743 "groups_param",
37744 1
56122987
DM
37745 ]
37746 },
44660702
DM
37747 "protected" : 1,
37748 "returns" : {
37749 "type" : "null"
37750 }
56122987
DM
37751 }
37752 },
bb4c8cf8 37753 "leaf" : 0,
44660702 37754 "path" : "/access/users/{userid}",
7aacca6f 37755 "text" : "{userid}"
56122987 37756 }
7aacca6f 37757 ],
56122987 37758 "info" : {
7aacca6f 37759 "GET" : {
e9cd3bd4 37760 "allowtoken" : 1,
44660702
DM
37761 "description" : "User index.",
37762 "method" : "GET",
7aacca6f 37763 "name" : "index",
56122987 37764 "parameters" : {
44660702
DM
37765 "additionalProperties" : 0,
37766 "properties" : {
37767 "enabled" : {
37768 "description" : "Optional filter for enable property.",
37769 "optional" : 1,
013dc89f
DM
37770 "type" : "boolean",
37771 "typetext" : "<boolean>"
e9cd3bd4
TL
37772 },
37773 "full" : {
37774 "default" : 0,
37775 "description" : "Include group and token information.",
37776 "optional" : 1,
37777 "type" : "boolean",
37778 "typetext" : "<boolean>"
44660702
DM
37779 }
37780 }
37781 },
37782 "permissions" : {
37783 "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.",
37784 "user" : "all"
56122987 37785 },
7aacca6f 37786 "returns" : {
7aacca6f
DM
37787 "items" : {
37788 "properties" : {
e2d681b3
TL
37789 "comment" : {
37790 "optional" : 1,
37791 "type" : "string"
37792 },
37793 "email" : {
37794 "format" : "email-opt",
37795 "optional" : 1,
37796 "type" : "string"
37797 },
37798 "enable" : {
37799 "default" : 1,
37800 "description" : "Enable the account (default). You can set this to '0' to disable the account",
37801 "optional" : 1,
37802 "type" : "boolean"
37803 },
37804 "expire" : {
37805 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
37806 "minimum" : 0,
37807 "optional" : 1,
37808 "type" : "integer"
37809 },
37810 "firstname" : {
37811 "optional" : 1,
37812 "type" : "string"
37813 },
e9cd3bd4
TL
37814 "groups" : {
37815 "format" : "pve-groupid-list",
37816 "optional" : 1,
37817 "type" : "string"
37818 },
e2d681b3
TL
37819 "keys" : {
37820 "description" : "Keys for two factor auth (yubico).",
37821 "optional" : 1,
37822 "type" : "string"
37823 },
37824 "lastname" : {
37825 "optional" : 1,
37826 "type" : "string"
37827 },
e9cd3bd4
TL
37828 "tokens" : {
37829 "items" : {
37830 "properties" : {
37831 "comment" : {
37832 "optional" : 1,
37833 "type" : "string"
37834 },
37835 "expire" : {
37836 "default" : "same as user",
37837 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
37838 "minimum" : 0,
37839 "optional" : 1,
37840 "type" : "integer"
37841 },
37842 "privsep" : {
37843 "default" : 1,
37844 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
37845 "optional" : 1,
37846 "type" : "boolean"
37847 },
37848 "tokenid" : {
37849 "description" : "User-specific token identifier.",
37850 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
37851 "type" : "string"
37852 }
37853 },
37854 "type" : "object"
37855 },
37856 "optional" : 1,
37857 "type" : "array"
37858 },
44660702 37859 "userid" : {
e2d681b3
TL
37860 "description" : "User ID",
37861 "format" : "pve-userid",
37862 "maxLength" : 64,
7aacca6f
DM
37863 "type" : "string"
37864 }
37865 },
37866 "type" : "object"
37867 },
44660702
DM
37868 "links" : [
37869 {
37870 "href" : "{userid}",
37871 "rel" : "child"
37872 }
37873 ],
7aacca6f
DM
37874 "type" : "array"
37875 }
37876 },
37877 "POST" : {
e9cd3bd4 37878 "allowtoken" : 1,
44660702 37879 "description" : "Create new user.",
7aacca6f 37880 "method" : "POST",
44660702 37881 "name" : "create_user",
56122987 37882 "parameters" : {
7aacca6f
DM
37883 "additionalProperties" : 0,
37884 "properties" : {
44660702
DM
37885 "comment" : {
37886 "optional" : 1,
013dc89f
DM
37887 "type" : "string",
37888 "typetext" : "<string>"
7aacca6f 37889 },
44660702
DM
37890 "email" : {
37891 "format" : "email-opt",
37892 "optional" : 1,
013dc89f
DM
37893 "type" : "string",
37894 "typetext" : "<string>"
44660702
DM
37895 },
37896 "enable" : {
37897 "default" : 1,
e2d681b3 37898 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 37899 "optional" : 1,
013dc89f
DM
37900 "type" : "boolean",
37901 "typetext" : "<boolean>"
44660702
DM
37902 },
37903 "expire" : {
37904 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
37905 "minimum" : 0,
37906 "optional" : 1,
4bd7df8b 37907 "type" : "integer",
013dc89f 37908 "typetext" : "<integer> (0 - N)"
44660702
DM
37909 },
37910 "firstname" : {
37911 "optional" : 1,
013dc89f
DM
37912 "type" : "string",
37913 "typetext" : "<string>"
44660702
DM
37914 },
37915 "groups" : {
37916 "format" : "pve-groupid-list",
37917 "optional" : 1,
013dc89f
DM
37918 "type" : "string",
37919 "typetext" : "<string>"
44660702
DM
37920 },
37921 "keys" : {
37922 "description" : "Keys for two factor auth (yubico).",
37923 "optional" : 1,
013dc89f
DM
37924 "type" : "string",
37925 "typetext" : "<string>"
44660702
DM
37926 },
37927 "lastname" : {
7aacca6f 37928 "optional" : 1,
013dc89f
DM
37929 "type" : "string",
37930 "typetext" : "<string>"
44660702
DM
37931 },
37932 "password" : {
37933 "description" : "Initial password.",
37934 "maxLength" : 64,
37935 "minLength" : 5,
37936 "optional" : 1,
013dc89f
DM
37937 "type" : "string",
37938 "typetext" : "<string>"
44660702
DM
37939 },
37940 "userid" : {
37941 "description" : "User ID",
37942 "format" : "pve-userid",
37943 "maxLength" : 64,
013dc89f
DM
37944 "type" : "string",
37945 "typetext" : "<string>"
56122987 37946 }
7aacca6f 37947 }
56122987 37948 },
44660702
DM
37949 "permissions" : {
37950 "check" : [
37951 "and",
37952 [
37953 "userid-param",
37954 "Realm.AllocateUser"
37955 ],
37956 [
37957 "userid-group",
37958 [
37959 "User.Modify"
37960 ],
37961 "groups_param",
37962 1
37963 ]
37964 ],
37965 "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."
37966 },
37967 "protected" : 1,
37968 "returns" : {
37969 "type" : "null"
37970 }
56122987
DM
37971 }
37972 },
44660702
DM
37973 "leaf" : 0,
37974 "path" : "/access/users",
37975 "text" : "users"
37976 },
37977 {
56122987
DM
37978 "children" : [
37979 {
56122987
DM
37980 "info" : {
37981 "DELETE" : {
e9cd3bd4 37982 "allowtoken" : 1,
44660702
DM
37983 "description" : "Delete group.",
37984 "method" : "DELETE",
37985 "name" : "delete_group",
37986 "parameters" : {
37987 "additionalProperties" : 0,
37988 "properties" : {
37989 "groupid" : {
37990 "format" : "pve-groupid",
013dc89f
DM
37991 "type" : "string",
37992 "typetext" : "<string>"
44660702
DM
37993 }
37994 }
37995 },
7aacca6f
DM
37996 "permissions" : {
37997 "check" : [
37998 "perm",
37999 "/access/groups",
38000 [
38001 "Group.Allocate"
38002 ]
38003 ]
38004 },
7aacca6f 38005 "protected" : 1,
7aacca6f
DM
38006 "returns" : {
38007 "type" : "null"
44660702 38008 }
7aacca6f 38009 },
44660702 38010 "GET" : {
e9cd3bd4 38011 "allowtoken" : 1,
44660702
DM
38012 "description" : "Get group configuration.",
38013 "method" : "GET",
38014 "name" : "read_group",
38015 "parameters" : {
38016 "additionalProperties" : 0,
38017 "properties" : {
38018 "groupid" : {
38019 "format" : "pve-groupid",
013dc89f
DM
38020 "type" : "string",
38021 "typetext" : "<string>"
44660702
DM
38022 }
38023 }
56122987 38024 },
7aacca6f
DM
38025 "permissions" : {
38026 "check" : [
38027 "perm",
38028 "/access/groups",
38029 [
44660702 38030 "Sys.Audit",
7aacca6f 38031 "Group.Allocate"
44660702
DM
38032 ],
38033 "any",
38034 1
7aacca6f
DM
38035 ]
38036 },
7aacca6f 38037 "returns" : {
44660702 38038 "additionalProperties" : 0,
7aacca6f
DM
38039 "properties" : {
38040 "comment" : {
44660702
DM
38041 "optional" : 1,
38042 "type" : "string"
7aacca6f
DM
38043 },
38044 "members" : {
38045 "items" : {
e2d681b3
TL
38046 "description" : "User ID",
38047 "format" : "pve-userid",
38048 "maxLength" : 64,
7aacca6f
DM
38049 "type" : "string"
38050 },
38051 "type" : "array"
38052 }
38053 },
44660702
DM
38054 "type" : "object"
38055 }
38056 },
38057 "PUT" : {
e9cd3bd4 38058 "allowtoken" : 1,
44660702
DM
38059 "description" : "Update group data.",
38060 "method" : "PUT",
38061 "name" : "update_group",
56122987 38062 "parameters" : {
44660702 38063 "additionalProperties" : 0,
56122987 38064 "properties" : {
44660702
DM
38065 "comment" : {
38066 "optional" : 1,
013dc89f
DM
38067 "type" : "string",
38068 "typetext" : "<string>"
44660702 38069 },
56122987
DM
38070 "groupid" : {
38071 "format" : "pve-groupid",
013dc89f
DM
38072 "type" : "string",
38073 "typetext" : "<string>"
56122987 38074 }
44660702 38075 }
56122987 38076 },
56122987
DM
38077 "permissions" : {
38078 "check" : [
38079 "perm",
38080 "/access/groups",
38081 [
38082 "Group.Allocate"
44660702 38083 ]
56122987
DM
38084 ]
38085 },
44660702
DM
38086 "protected" : 1,
38087 "returns" : {
38088 "type" : "null"
38089 }
7aacca6f
DM
38090 }
38091 },
7aacca6f 38092 "leaf" : 1,
44660702
DM
38093 "path" : "/access/groups/{groupid}",
38094 "text" : "{groupid}"
38095 }
38096 ],
38097 "info" : {
38098 "GET" : {
e9cd3bd4 38099 "allowtoken" : 1,
44660702
DM
38100 "description" : "Group index.",
38101 "method" : "GET",
38102 "name" : "index",
38103 "parameters" : {
38104 "additionalProperties" : 0
38105 },
38106 "permissions" : {
38107 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
38108 "user" : "all"
38109 },
38110 "returns" : {
38111 "items" : {
38112 "properties" : {
e2d681b3
TL
38113 "comment" : {
38114 "optional" : 1,
38115 "type" : "string"
38116 },
44660702 38117 "groupid" : {
e2d681b3 38118 "format" : "pve-groupid",
44660702 38119 "type" : "string"
e9cd3bd4
TL
38120 },
38121 "users" : {
38122 "description" : "list of users which form this group",
38123 "format" : "pve-userid-list",
38124 "optional" : 1,
38125 "type" : "string"
44660702
DM
38126 }
38127 },
38128 "type" : "object"
38129 },
38130 "links" : [
38131 {
38132 "href" : "{groupid}",
38133 "rel" : "child"
38134 }
38135 ],
38136 "type" : "array"
38137 }
38138 },
38139 "POST" : {
e9cd3bd4 38140 "allowtoken" : 1,
44660702
DM
38141 "description" : "Create new group.",
38142 "method" : "POST",
38143 "name" : "create_group",
38144 "parameters" : {
38145 "additionalProperties" : 0,
38146 "properties" : {
38147 "comment" : {
38148 "optional" : 1,
013dc89f
DM
38149 "type" : "string",
38150 "typetext" : "<string>"
44660702
DM
38151 },
38152 "groupid" : {
38153 "format" : "pve-groupid",
013dc89f
DM
38154 "type" : "string",
38155 "typetext" : "<string>"
44660702
DM
38156 }
38157 }
38158 },
38159 "permissions" : {
38160 "check" : [
38161 "perm",
38162 "/access/groups",
38163 [
38164 "Group.Allocate"
38165 ]
38166 ]
38167 },
38168 "protected" : 1,
38169 "returns" : {
38170 "type" : "null"
38171 }
7aacca6f 38172 }
44660702 38173 },
7aacca6f 38174 "leaf" : 0,
44660702
DM
38175 "path" : "/access/groups",
38176 "text" : "groups"
7aacca6f
DM
38177 },
38178 {
38179 "children" : [
38180 {
7aacca6f 38181 "info" : {
7aacca6f 38182 "DELETE" : {
e9cd3bd4 38183 "allowtoken" : 1,
7aacca6f 38184 "description" : "Delete role.",
44660702 38185 "method" : "DELETE",
7aacca6f 38186 "name" : "delete_role",
56122987
DM
38187 "parameters" : {
38188 "additionalProperties" : 0,
38189 "properties" : {
7aacca6f
DM
38190 "roleid" : {
38191 "format" : "pve-roleid",
013dc89f
DM
38192 "type" : "string",
38193 "typetext" : "<string>"
56122987
DM
38194 }
38195 }
38196 },
56122987
DM
38197 "permissions" : {
38198 "check" : [
38199 "perm",
7aacca6f 38200 "/access",
56122987 38201 [
7aacca6f
DM
38202 "Sys.Modify"
38203 ]
56122987 38204 ]
44660702
DM
38205 },
38206 "protected" : 1,
38207 "returns" : {
38208 "type" : "null"
56122987
DM
38209 }
38210 },
44660702 38211 "GET" : {
e9cd3bd4 38212 "allowtoken" : 1,
44660702
DM
38213 "description" : "Get role configuration.",
38214 "method" : "GET",
38215 "name" : "read_role",
38216 "parameters" : {
38217 "additionalProperties" : 0,
38218 "properties" : {
38219 "roleid" : {
38220 "format" : "pve-roleid",
013dc89f
DM
38221 "type" : "string",
38222 "typetext" : "<string>"
44660702
DM
38223 }
38224 }
38225 },
7aacca6f 38226 "permissions" : {
44660702 38227 "user" : "all"
56122987 38228 },
e2d681b3
TL
38229 "returns" : {
38230 "additionalProperties" : 0,
38231 "properties" : {
38232 "Datastore.Allocate" : {
38233 "optional" : 1,
38234 "type" : "boolean"
38235 },
38236 "Datastore.AllocateSpace" : {
38237 "optional" : 1,
38238 "type" : "boolean"
38239 },
38240 "Datastore.AllocateTemplate" : {
38241 "optional" : 1,
38242 "type" : "boolean"
38243 },
38244 "Datastore.Audit" : {
38245 "optional" : 1,
38246 "type" : "boolean"
38247 },
38248 "Group.Allocate" : {
38249 "optional" : 1,
38250 "type" : "boolean"
38251 },
38252 "Permissions.Modify" : {
38253 "optional" : 1,
38254 "type" : "boolean"
38255 },
38256 "Pool.Allocate" : {
38257 "optional" : 1,
38258 "type" : "boolean"
38259 },
38260 "Realm.Allocate" : {
38261 "optional" : 1,
38262 "type" : "boolean"
38263 },
38264 "Realm.AllocateUser" : {
38265 "optional" : 1,
38266 "type" : "boolean"
38267 },
5c1699e5
TL
38268 "SDN.Allocate" : {
38269 "optional" : 1,
38270 "type" : "boolean"
38271 },
38272 "SDN.Audit" : {
38273 "optional" : 1,
38274 "type" : "boolean"
38275 },
e2d681b3
TL
38276 "Sys.Audit" : {
38277 "optional" : 1,
38278 "type" : "boolean"
38279 },
38280 "Sys.Console" : {
38281 "optional" : 1,
38282 "type" : "boolean"
38283 },
38284 "Sys.Modify" : {
38285 "optional" : 1,
38286 "type" : "boolean"
38287 },
38288 "Sys.PowerMgmt" : {
38289 "optional" : 1,
38290 "type" : "boolean"
38291 },
38292 "Sys.Syslog" : {
38293 "optional" : 1,
38294 "type" : "boolean"
38295 },
38296 "User.Modify" : {
38297 "optional" : 1,
38298 "type" : "boolean"
38299 },
38300 "VM.Allocate" : {
38301 "optional" : 1,
38302 "type" : "boolean"
38303 },
38304 "VM.Audit" : {
38305 "optional" : 1,
38306 "type" : "boolean"
38307 },
38308 "VM.Backup" : {
38309 "optional" : 1,
38310 "type" : "boolean"
38311 },
38312 "VM.Clone" : {
38313 "optional" : 1,
38314 "type" : "boolean"
38315 },
38316 "VM.Config.CDROM" : {
38317 "optional" : 1,
38318 "type" : "boolean"
38319 },
38320 "VM.Config.CPU" : {
38321 "optional" : 1,
38322 "type" : "boolean"
38323 },
38324 "VM.Config.Disk" : {
38325 "optional" : 1,
38326 "type" : "boolean"
38327 },
38328 "VM.Config.HWType" : {
38329 "optional" : 1,
38330 "type" : "boolean"
38331 },
38332 "VM.Config.Memory" : {
38333 "optional" : 1,
38334 "type" : "boolean"
38335 },
38336 "VM.Config.Network" : {
38337 "optional" : 1,
38338 "type" : "boolean"
38339 },
38340 "VM.Config.Options" : {
38341 "optional" : 1,
38342 "type" : "boolean"
38343 },
38344 "VM.Console" : {
38345 "optional" : 1,
38346 "type" : "boolean"
38347 },
38348 "VM.Migrate" : {
38349 "optional" : 1,
38350 "type" : "boolean"
38351 },
38352 "VM.Monitor" : {
38353 "optional" : 1,
38354 "type" : "boolean"
38355 },
38356 "VM.PowerMgmt" : {
38357 "optional" : 1,
38358 "type" : "boolean"
38359 },
38360 "VM.Snapshot" : {
38361 "optional" : 1,
38362 "type" : "boolean"
38363 },
38364 "VM.Snapshot.Rollback" : {
38365 "optional" : 1,
38366 "type" : "boolean"
38367 }
38368 },
38369 "type" : "object"
38370 }
44660702
DM
38371 },
38372 "PUT" : {
e9cd3bd4 38373 "allowtoken" : 1,
e2d681b3 38374 "description" : "Update an existing role.",
44660702
DM
38375 "method" : "PUT",
38376 "name" : "update_role",
56122987
DM
38377 "parameters" : {
38378 "additionalProperties" : 0,
38379 "properties" : {
7aacca6f 38380 "append" : {
44660702 38381 "optional" : 1,
7aacca6f 38382 "requires" : "privs",
013dc89f
DM
38383 "type" : "boolean",
38384 "typetext" : "<boolean>"
7aacca6f
DM
38385 },
38386 "privs" : {
38387 "format" : "pve-priv-list",
e2d681b3 38388 "optional" : 1,
013dc89f
DM
38389 "type" : "string",
38390 "typetext" : "<string>"
44660702
DM
38391 },
38392 "roleid" : {
38393 "format" : "pve-roleid",
013dc89f
DM
38394 "type" : "string",
38395 "typetext" : "<string>"
56122987
DM
38396 }
38397 }
38398 },
44660702
DM
38399 "permissions" : {
38400 "check" : [
38401 "perm",
38402 "/access",
38403 [
38404 "Sys.Modify"
38405 ]
38406 ]
38407 },
56122987 38408 "protected" : 1,
7aacca6f
DM
38409 "returns" : {
38410 "type" : "null"
56122987
DM
38411 }
38412 }
38413 },
44660702 38414 "leaf" : 1,
7aacca6f 38415 "path" : "/access/roles/{roleid}",
44660702 38416 "text" : "{roleid}"
56122987
DM
38417 }
38418 ],
56122987 38419 "info" : {
7aacca6f 38420 "GET" : {
e9cd3bd4 38421 "allowtoken" : 1,
7aacca6f 38422 "description" : "Role index.",
44660702 38423 "method" : "GET",
7aacca6f 38424 "name" : "index",
56122987 38425 "parameters" : {
56122987
DM
38426 "additionalProperties" : 0
38427 },
7aacca6f
DM
38428 "permissions" : {
38429 "user" : "all"
38430 },
56122987 38431 "returns" : {
7aacca6f 38432 "items" : {
7aacca6f 38433 "properties" : {
e2d681b3
TL
38434 "privs" : {
38435 "format" : "pve-priv-list",
38436 "optional" : 1,
38437 "type" : "string"
38438 },
7aacca6f 38439 "roleid" : {
e2d681b3 38440 "format" : "pve-roleid",
7aacca6f 38441 "type" : "string"
e2d681b3
TL
38442 },
38443 "special" : {
38444 "default" : 0,
38445 "optional" : 1,
38446 "type" : "boolean"
7aacca6f 38447 }
44660702
DM
38448 },
38449 "type" : "object"
38450 },
38451 "links" : [
38452 {
38453 "href" : "{roleid}",
38454 "rel" : "child"
7aacca6f 38455 }
44660702
DM
38456 ],
38457 "type" : "array"
38458 }
7aacca6f
DM
38459 },
38460 "POST" : {
e9cd3bd4 38461 "allowtoken" : 1,
7aacca6f 38462 "description" : "Create new role.",
44660702
DM
38463 "method" : "POST",
38464 "name" : "create_role",
7aacca6f
DM
38465 "parameters" : {
38466 "additionalProperties" : 0,
38467 "properties" : {
7aacca6f
DM
38468 "privs" : {
38469 "format" : "pve-priv-list",
38470 "optional" : 1,
013dc89f
DM
38471 "type" : "string",
38472 "typetext" : "<string>"
44660702
DM
38473 },
38474 "roleid" : {
38475 "format" : "pve-roleid",
013dc89f
DM
38476 "type" : "string",
38477 "typetext" : "<string>"
7aacca6f
DM
38478 }
38479 }
38480 },
44660702
DM
38481 "permissions" : {
38482 "check" : [
38483 "perm",
38484 "/access",
38485 [
38486 "Sys.Modify"
38487 ]
38488 ]
38489 },
38490 "protected" : 1,
7aacca6f
DM
38491 "returns" : {
38492 "type" : "null"
38493 }
38494 }
38495 },
44660702 38496 "leaf" : 0,
7aacca6f 38497 "path" : "/access/roles",
44660702 38498 "text" : "roles"
7aacca6f
DM
38499 },
38500 {
38501 "info" : {
56122987 38502 "GET" : {
e9cd3bd4 38503 "allowtoken" : 1,
44660702
DM
38504 "description" : "Get Access Control List (ACLs).",
38505 "method" : "GET",
38506 "name" : "read_acl",
7aacca6f
DM
38507 "parameters" : {
38508 "additionalProperties" : 0
38509 },
44660702
DM
38510 "permissions" : {
38511 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
38512 "user" : "all"
38513 },
56122987 38514 "returns" : {
56122987 38515 "items" : {
44660702 38516 "additionalProperties" : 0,
56122987 38517 "properties" : {
7aacca6f 38518 "path" : {
e2d681b3 38519 "description" : "Access control path",
7aacca6f
DM
38520 "type" : "string"
38521 },
44660702 38522 "propagate" : {
e2d681b3
TL
38523 "default" : 1,
38524 "description" : "Allow to propagate (inherit) permissions.",
38525 "optional" : 1,
44660702
DM
38526 "type" : "boolean"
38527 },
38528 "roleid" : {
38529 "type" : "string"
38530 },
7aacca6f
DM
38531 "type" : {
38532 "enum" : [
38533 "user",
e9cd3bd4
TL
38534 "group",
38535 "token"
7aacca6f
DM
38536 ],
38537 "type" : "string"
38538 },
7aacca6f
DM
38539 "ugid" : {
38540 "type" : "string"
56122987 38541 }
7aacca6f 38542 },
44660702 38543 "type" : "object"
7aacca6f
DM
38544 },
38545 "type" : "array"
44660702 38546 }
7aacca6f
DM
38547 },
38548 "PUT" : {
e9cd3bd4 38549 "allowtoken" : 1,
44660702
DM
38550 "description" : "Update Access Control List (add or remove permissions).",
38551 "method" : "PUT",
7aacca6f
DM
38552 "name" : "update_acl",
38553 "parameters" : {
38554 "additionalProperties" : 0,
38555 "properties" : {
38556 "delete" : {
44660702 38557 "description" : "Remove permissions (instead of adding it).",
7aacca6f 38558 "optional" : 1,
013dc89f
DM
38559 "type" : "boolean",
38560 "typetext" : "<boolean>"
7aacca6f 38561 },
44660702
DM
38562 "groups" : {
38563 "description" : "List of groups.",
38564 "format" : "pve-groupid-list",
7aacca6f 38565 "optional" : 1,
013dc89f
DM
38566 "type" : "string",
38567 "typetext" : "<string>"
7aacca6f
DM
38568 },
38569 "path" : {
38570 "description" : "Access control path",
013dc89f
DM
38571 "type" : "string",
38572 "typetext" : "<string>"
7aacca6f 38573 },
7aacca6f 38574 "propagate" : {
44660702 38575 "default" : 1,
7aacca6f 38576 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 38577 "optional" : 1,
013dc89f
DM
38578 "type" : "boolean",
38579 "typetext" : "<boolean>"
7aacca6f 38580 },
44660702
DM
38581 "roles" : {
38582 "description" : "List of roles.",
38583 "format" : "pve-roleid-list",
013dc89f
DM
38584 "type" : "string",
38585 "typetext" : "<string>"
44660702 38586 },
e9cd3bd4
TL
38587 "tokens" : {
38588 "description" : "List of API tokens.",
38589 "format" : "pve-tokenid-list",
38590 "optional" : 1,
38591 "type" : "string",
38592 "typetext" : "<string>"
38593 },
44660702
DM
38594 "users" : {
38595 "description" : "List of users.",
38596 "format" : "pve-userid-list",
7aacca6f 38597 "optional" : 1,
013dc89f
DM
38598 "type" : "string",
38599 "typetext" : "<string>"
56122987
DM
38600 }
38601 }
38602 },
56122987 38603 "permissions" : {
7aacca6f
DM
38604 "check" : [
38605 "perm-modify",
38606 "{path}"
38607 ]
38608 },
7aacca6f
DM
38609 "protected" : 1,
38610 "returns" : {
38611 "type" : "null"
44660702 38612 }
56122987
DM
38613 }
38614 },
7aacca6f 38615 "leaf" : 1,
44660702
DM
38616 "path" : "/access/acl",
38617 "text" : "acl"
7aacca6f
DM
38618 },
38619 {
56122987
DM
38620 "children" : [
38621 {
56122987 38622 "info" : {
44660702 38623 "DELETE" : {
e9cd3bd4 38624 "allowtoken" : 1,
44660702
DM
38625 "description" : "Delete an authentication server.",
38626 "method" : "DELETE",
38627 "name" : "delete",
38628 "parameters" : {
38629 "additionalProperties" : 0,
38630 "properties" : {
38631 "realm" : {
38632 "description" : "Authentication domain ID",
38633 "format" : "pve-realm",
38634 "maxLength" : 32,
013dc89f
DM
38635 "type" : "string",
38636 "typetext" : "<string>"
56122987 38637 }
44660702 38638 }
56122987 38639 },
56122987
DM
38640 "permissions" : {
38641 "check" : [
38642 "perm",
7aacca6f 38643 "/access/realm",
56122987 38644 [
7aacca6f 38645 "Realm.Allocate"
56122987
DM
38646 ]
38647 ]
38648 },
7aacca6f 38649 "protected" : 1,
7aacca6f
DM
38650 "returns" : {
38651 "type" : "null"
44660702 38652 }
7aacca6f 38653 },
44660702 38654 "GET" : {
e9cd3bd4 38655 "allowtoken" : 1,
44660702
DM
38656 "description" : "Get auth server configuration.",
38657 "method" : "GET",
38658 "name" : "read",
56122987 38659 "parameters" : {
44660702 38660 "additionalProperties" : 0,
56122987 38661 "properties" : {
7aacca6f 38662 "realm" : {
44660702 38663 "description" : "Authentication domain ID",
7aacca6f
DM
38664 "format" : "pve-realm",
38665 "maxLength" : 32,
013dc89f
DM
38666 "type" : "string",
38667 "typetext" : "<string>"
56122987 38668 }
44660702 38669 }
7aacca6f 38670 },
7aacca6f
DM
38671 "permissions" : {
38672 "check" : [
38673 "perm",
38674 "/access/realm",
38675 [
44660702
DM
38676 "Realm.Allocate",
38677 "Sys.Audit"
38678 ],
38679 "any",
38680 1
7aacca6f 38681 ]
44660702
DM
38682 },
38683 "returns" : {}
7aacca6f 38684 },
44660702 38685 "PUT" : {
e9cd3bd4 38686 "allowtoken" : 1,
44660702
DM
38687 "description" : "Update authentication server settings.",
38688 "method" : "PUT",
38689 "name" : "update",
7aacca6f 38690 "parameters" : {
44660702 38691 "additionalProperties" : 0,
7aacca6f 38692 "properties" : {
44660702
DM
38693 "base_dn" : {
38694 "description" : "LDAP base domain name",
38695 "maxLength" : 256,
38696 "optional" : 1,
38697 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
38698 "type" : "string"
38699 },
4bd7df8b
DM
38700 "bind_dn" : {
38701 "description" : "LDAP bind domain name",
38702 "maxLength" : 256,
38703 "optional" : 1,
38704 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
38705 "type" : "string"
38706 },
2489d6df
WB
38707 "capath" : {
38708 "default" : "/etc/ssl/certs",
38709 "description" : "Path to the CA certificate store",
38710 "optional" : 1,
38711 "type" : "string",
38712 "typetext" : "<string>"
38713 },
38714 "cert" : {
38715 "description" : "Path to the client certificate",
38716 "optional" : 1,
38717 "type" : "string",
38718 "typetext" : "<string>"
38719 },
38720 "certkey" : {
38721 "description" : "Path to the client certificate key",
38722 "optional" : 1,
38723 "type" : "string",
38724 "typetext" : "<string>"
38725 },
44660702
DM
38726 "comment" : {
38727 "description" : "Description.",
38728 "maxLength" : 4096,
38729 "optional" : 1,
013dc89f
DM
38730 "type" : "string",
38731 "typetext" : "<string>"
44660702
DM
38732 },
38733 "default" : {
38734 "description" : "Use this as default realm",
38735 "optional" : 1,
013dc89f
DM
38736 "type" : "boolean",
38737 "typetext" : "<boolean>"
44660702
DM
38738 },
38739 "delete" : {
38740 "description" : "A list of settings you want to delete.",
38741 "format" : "pve-configid-list",
38742 "maxLength" : 4096,
38743 "optional" : 1,
013dc89f
DM
38744 "type" : "string",
38745 "typetext" : "<string>"
44660702
DM
38746 },
38747 "digest" : {
38748 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38749 "maxLength" : 40,
38750 "optional" : 1,
013dc89f
DM
38751 "type" : "string",
38752 "typetext" : "<string>"
44660702
DM
38753 },
38754 "domain" : {
38755 "description" : "AD domain name",
38756 "maxLength" : 256,
38757 "optional" : 1,
38758 "pattern" : "\\S+",
38759 "type" : "string"
38760 },
38761 "port" : {
38762 "description" : "Server port.",
38763 "maximum" : 65535,
38764 "minimum" : 1,
38765 "optional" : 1,
4bd7df8b 38766 "type" : "integer",
013dc89f 38767 "typetext" : "<integer> (1 - 65535)"
44660702 38768 },
7aacca6f 38769 "realm" : {
7aacca6f
DM
38770 "description" : "Authentication domain ID",
38771 "format" : "pve-realm",
44660702 38772 "maxLength" : 32,
013dc89f
DM
38773 "type" : "string",
38774 "typetext" : "<string>"
44660702
DM
38775 },
38776 "secure" : {
38777 "description" : "Use secure LDAPS protocol.",
38778 "optional" : 1,
013dc89f
DM
38779 "type" : "boolean",
38780 "typetext" : "<boolean>"
44660702
DM
38781 },
38782 "server1" : {
38783 "description" : "Server IP address (or DNS name)",
38784 "format" : "address",
38785 "maxLength" : 256,
38786 "optional" : 1,
013dc89f
DM
38787 "type" : "string",
38788 "typetext" : "<string>"
44660702
DM
38789 },
38790 "server2" : {
38791 "description" : "Fallback Server IP address (or DNS name)",
38792 "format" : "address",
38793 "maxLength" : 256,
38794 "optional" : 1,
013dc89f
DM
38795 "type" : "string",
38796 "typetext" : "<string>"
44660702 38797 },
1c532546
TL
38798 "sslversion" : {
38799 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
38800 "enum" : [
38801 "tlsv1",
38802 "tlsv1_1",
38803 "tlsv1_2",
38804 "tlsv1_3"
38805 ],
38806 "optional" : 1,
38807 "type" : "string"
38808 },
44660702
DM
38809 "tfa" : {
38810 "description" : "Use Two-factor authentication.",
38811 "format" : "pve-tfa-config",
38812 "maxLength" : 128,
38813 "optional" : 1,
013dc89f 38814 "type" : "string",
95895385 38815 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
38816 },
38817 "user_attr" : {
38818 "description" : "LDAP user attribute name",
38819 "maxLength" : 256,
38820 "optional" : 1,
38821 "pattern" : "\\S{2,}",
38822 "type" : "string"
2489d6df
WB
38823 },
38824 "verify" : {
38825 "default" : 0,
38826 "description" : "Verify the server's SSL certificate",
38827 "optional" : 1,
38828 "type" : "boolean",
38829 "typetext" : "<boolean>"
7aacca6f 38830 }
56122987 38831 },
44660702 38832 "type" : "object"
56122987 38833 },
7aacca6f
DM
38834 "permissions" : {
38835 "check" : [
38836 "perm",
38837 "/access/realm",
38838 [
44660702
DM
38839 "Realm.Allocate"
38840 ]
7aacca6f
DM
38841 ]
38842 },
44660702
DM
38843 "protected" : 1,
38844 "returns" : {
38845 "type" : "null"
38846 }
56122987 38847 }
44660702
DM
38848 },
38849 "leaf" : 1,
38850 "path" : "/access/domains/{realm}",
38851 "text" : "{realm}"
56122987 38852 }
7aacca6f 38853 ],
56122987
DM
38854 "info" : {
38855 "GET" : {
e9cd3bd4 38856 "allowtoken" : 1,
44660702
DM
38857 "description" : "Authentication domain index.",
38858 "method" : "GET",
38859 "name" : "index",
38860 "parameters" : {
38861 "additionalProperties" : 0
38862 },
38863 "permissions" : {
38864 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
38865 "user" : "world"
38866 },
56122987 38867 "returns" : {
56122987
DM
38868 "items" : {
38869 "properties" : {
7aacca6f 38870 "comment" : {
52e44c50 38871 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
38872 "optional" : 1,
38873 "type" : "string"
38874 },
56122987
DM
38875 "realm" : {
38876 "type" : "string"
38877 },
38878 "tfa" : {
7aacca6f 38879 "description" : "Two-factor authentication provider.",
56122987
DM
38880 "enum" : [
38881 "yubico",
38882 "oath"
38883 ],
44660702
DM
38884 "optional" : 1,
38885 "type" : "string"
56122987
DM
38886 }
38887 },
38888 "type" : "object"
44660702
DM
38889 },
38890 "links" : [
38891 {
38892 "href" : "{realm}",
38893 "rel" : "child"
38894 }
38895 ],
38896 "type" : "array"
38897 }
56122987
DM
38898 },
38899 "POST" : {
e9cd3bd4 38900 "allowtoken" : 1,
7aacca6f 38901 "description" : "Add an authentication server.",
44660702 38902 "method" : "POST",
7aacca6f 38903 "name" : "create",
56122987 38904 "parameters" : {
44660702 38905 "additionalProperties" : 0,
56122987 38906 "properties" : {
44660702
DM
38907 "base_dn" : {
38908 "description" : "LDAP base domain name",
56122987 38909 "maxLength" : 256,
44660702
DM
38910 "optional" : 1,
38911 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 38912 "type" : "string"
56122987 38913 },
4bd7df8b
DM
38914 "bind_dn" : {
38915 "description" : "LDAP bind domain name",
38916 "maxLength" : 256,
38917 "optional" : 1,
38918 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
38919 "type" : "string"
38920 },
2489d6df
WB
38921 "capath" : {
38922 "default" : "/etc/ssl/certs",
38923 "description" : "Path to the CA certificate store",
38924 "optional" : 1,
38925 "type" : "string",
38926 "typetext" : "<string>"
38927 },
38928 "cert" : {
38929 "description" : "Path to the client certificate",
38930 "optional" : 1,
38931 "type" : "string",
38932 "typetext" : "<string>"
38933 },
38934 "certkey" : {
38935 "description" : "Path to the client certificate key",
38936 "optional" : 1,
38937 "type" : "string",
38938 "typetext" : "<string>"
38939 },
44660702
DM
38940 "comment" : {
38941 "description" : "Description.",
38942 "maxLength" : 4096,
56122987 38943 "optional" : 1,
013dc89f
DM
38944 "type" : "string",
38945 "typetext" : "<string>"
56122987 38946 },
44660702
DM
38947 "default" : {
38948 "description" : "Use this as default realm",
7aacca6f 38949 "optional" : 1,
013dc89f
DM
38950 "type" : "boolean",
38951 "typetext" : "<boolean>"
56122987 38952 },
44660702
DM
38953 "domain" : {
38954 "description" : "AD domain name",
38955 "maxLength" : 256,
7aacca6f 38956 "optional" : 1,
44660702
DM
38957 "pattern" : "\\S+",
38958 "type" : "string"
56122987 38959 },
7aacca6f 38960 "port" : {
44660702 38961 "description" : "Server port.",
7aacca6f 38962 "maximum" : 65535,
44660702 38963 "minimum" : 1,
7aacca6f 38964 "optional" : 1,
4bd7df8b 38965 "type" : "integer",
013dc89f 38966 "typetext" : "<integer> (1 - 65535)"
56122987 38967 },
44660702
DM
38968 "realm" : {
38969 "description" : "Authentication domain ID",
38970 "format" : "pve-realm",
38971 "maxLength" : 32,
013dc89f
DM
38972 "type" : "string",
38973 "typetext" : "<string>"
44660702
DM
38974 },
38975 "secure" : {
38976 "description" : "Use secure LDAPS protocol.",
7aacca6f 38977 "optional" : 1,
013dc89f
DM
38978 "type" : "boolean",
38979 "typetext" : "<boolean>"
56122987 38980 },
44660702
DM
38981 "server1" : {
38982 "description" : "Server IP address (or DNS name)",
38983 "format" : "address",
38984 "maxLength" : 256,
38985 "optional" : 1,
013dc89f
DM
38986 "type" : "string",
38987 "typetext" : "<string>"
56122987 38988 },
44660702
DM
38989 "server2" : {
38990 "description" : "Fallback Server IP address (or DNS name)",
38991 "format" : "address",
7aacca6f 38992 "maxLength" : 256,
7aacca6f 38993 "optional" : 1,
013dc89f
DM
38994 "type" : "string",
38995 "typetext" : "<string>"
7aacca6f 38996 },
1c532546
TL
38997 "sslversion" : {
38998 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
38999 "enum" : [
39000 "tlsv1",
39001 "tlsv1_1",
39002 "tlsv1_2",
39003 "tlsv1_3"
39004 ],
39005 "optional" : 1,
39006 "type" : "string"
39007 },
44660702
DM
39008 "tfa" : {
39009 "description" : "Use Two-factor authentication.",
39010 "format" : "pve-tfa-config",
39011 "maxLength" : 128,
39012 "optional" : 1,
013dc89f 39013 "type" : "string",
95895385 39014 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
39015 },
39016 "type" : {
39017 "description" : "Realm type.",
39018 "enum" : [
39019 "ad",
39020 "ldap",
39021 "pam",
39022 "pve"
39023 ],
39024 "type" : "string"
39025 },
39026 "user_attr" : {
39027 "description" : "LDAP user attribute name",
7aacca6f 39028 "maxLength" : 256,
7aacca6f 39029 "optional" : 1,
44660702
DM
39030 "pattern" : "\\S{2,}",
39031 "type" : "string"
2489d6df
WB
39032 },
39033 "verify" : {
39034 "default" : 0,
39035 "description" : "Verify the server's SSL certificate",
39036 "optional" : 1,
39037 "type" : "boolean",
39038 "typetext" : "<boolean>"
7aacca6f
DM
39039 }
39040 },
7aacca6f 39041 "type" : "object"
56122987 39042 },
7aacca6f
DM
39043 "permissions" : {
39044 "check" : [
39045 "perm",
39046 "/access/realm",
39047 [
39048 "Realm.Allocate"
39049 ]
39050 ]
44660702
DM
39051 },
39052 "protected" : 1,
39053 "returns" : {
39054 "type" : "null"
7aacca6f 39055 }
56122987 39056 }
7aacca6f 39057 },
44660702 39058 "leaf" : 0,
56122987 39059 "path" : "/access/domains",
44660702 39060 "text" : "domains"
56122987
DM
39061 },
39062 {
56122987 39063 "info" : {
44660702 39064 "GET" : {
e9cd3bd4 39065 "allowtoken" : 1,
2489d6df 39066 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
39067 "method" : "GET",
39068 "name" : "get_ticket",
39069 "parameters" : {
39070 "additionalProperties" : 0
39071 },
39072 "permissions" : {
39073 "user" : "world"
39074 },
39075 "returns" : {
39076 "type" : "null"
39077 }
39078 },
56122987 39079 "POST" : {
e9cd3bd4 39080 "allowtoken" : 0,
44660702 39081 "description" : "Create or verify authentication ticket.",
56122987 39082 "method" : "POST",
44660702
DM
39083 "name" : "create_ticket",
39084 "parameters" : {
39085 "additionalProperties" : 0,
56122987 39086 "properties" : {
44660702
DM
39087 "otp" : {
39088 "description" : "One-time password for Two-factor authentication.",
7aacca6f 39089 "optional" : 1,
013dc89f
DM
39090 "type" : "string",
39091 "typetext" : "<string>"
56122987 39092 },
7aacca6f
DM
39093 "password" : {
39094 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
39095 "type" : "string",
39096 "typetext" : "<string>"
7aacca6f 39097 },
44660702
DM
39098 "path" : {
39099 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 39100 "maxLength" : 64,
56122987 39101 "optional" : 1,
56122987 39102 "requires" : "privs",
013dc89f
DM
39103 "type" : "string",
39104 "typetext" : "<string>"
44660702
DM
39105 },
39106 "privs" : {
7aacca6f 39107 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
39108 "format" : "pve-priv-list",
39109 "maxLength" : 64,
56122987 39110 "optional" : 1,
44660702 39111 "requires" : "path",
013dc89f
DM
39112 "type" : "string",
39113 "typetext" : "<string>"
56122987
DM
39114 },
39115 "realm" : {
56122987 39116 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 39117 "format" : "pve-realm",
7aacca6f 39118 "maxLength" : 32,
44660702 39119 "optional" : 1,
013dc89f
DM
39120 "type" : "string",
39121 "typetext" : "<string>"
56122987
DM
39122 },
39123 "username" : {
39124 "description" : "User name",
44660702 39125 "maxLength" : 64,
013dc89f
DM
39126 "type" : "string",
39127 "typetext" : "<string>"
56122987 39128 }
44660702 39129 }
7aacca6f 39130 },
56122987 39131 "permissions" : {
44660702 39132 "description" : "You need to pass valid credientials.",
56122987
DM
39133 "user" : "world"
39134 },
44660702 39135 "protected" : 1,
7aacca6f 39136 "returns" : {
56122987 39137 "properties" : {
44660702
DM
39138 "CSRFPreventionToken" : {
39139 "optional" : 1,
39140 "type" : "string"
56122987 39141 },
e2d681b3
TL
39142 "clustername" : {
39143 "optional" : 1,
39144 "type" : "string"
39145 },
44660702
DM
39146 "ticket" : {
39147 "optional" : 1,
39148 "type" : "string"
39149 },
39150 "username" : {
56122987
DM
39151 "type" : "string"
39152 }
39153 },
44660702 39154 "type" : "object"
7aacca6f 39155 }
7aacca6f
DM
39156 }
39157 },
44660702
DM
39158 "leaf" : 1,
39159 "path" : "/access/ticket",
39160 "text" : "ticket"
7aacca6f 39161 },
56122987 39162 {
56122987 39163 "info" : {
7aacca6f 39164 "PUT" : {
e9cd3bd4 39165 "allowtoken" : 0,
44660702 39166 "description" : "Change user password.",
7aacca6f 39167 "method" : "PUT",
e2d681b3 39168 "name" : "change_password",
56122987
DM
39169 "parameters" : {
39170 "additionalProperties" : 0,
39171 "properties" : {
44660702
DM
39172 "password" : {
39173 "description" : "The new password.",
39174 "maxLength" : 64,
39175 "minLength" : 5,
013dc89f
DM
39176 "type" : "string",
39177 "typetext" : "<string>"
7aacca6f 39178 },
44660702
DM
39179 "userid" : {
39180 "description" : "User ID",
39181 "format" : "pve-userid",
39182 "maxLength" : 64,
013dc89f
DM
39183 "type" : "string",
39184 "typetext" : "<string>"
56122987 39185 }
7aacca6f 39186 }
56122987
DM
39187 },
39188 "permissions" : {
39189 "check" : [
44660702 39190 "or",
56122987 39191 [
44660702
DM
39192 "userid-param",
39193 "self"
39194 ],
39195 [
39196 "and",
39197 [
39198 "userid-param",
39199 "Realm.AllocateUser"
39200 ],
39201 [
39202 "userid-group",
39203 [
39204 "User.Modify"
39205 ]
39206 ]
56122987 39207 ]
7aacca6f 39208 ],
44660702 39209 "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 39210 },
44660702 39211 "protected" : 1,
7aacca6f
DM
39212 "returns" : {
39213 "type" : "null"
44660702
DM
39214 }
39215 }
39216 },
39217 "leaf" : 1,
39218 "path" : "/access/password",
39219 "text" : "password"
95895385
TL
39220 },
39221 {
39222 "info" : {
39223 "POST" : {
e9cd3bd4 39224 "allowtoken" : 0,
95895385
TL
39225 "description" : "Finish a u2f challenge.",
39226 "method" : "POST",
39227 "name" : "verify_tfa",
39228 "parameters" : {
39229 "additionalProperties" : 0,
39230 "properties" : {
39231 "response" : {
39232 "description" : "The response to the current authentication challenge.",
39233 "type" : "string",
39234 "typetext" : "<string>"
39235 }
39236 }
39237 },
39238 "permissions" : {
39239 "user" : "all"
39240 },
39241 "protected" : 1,
39242 "returns" : {
39243 "properties" : {
39244 "ticket" : {
39245 "type" : "string"
39246 }
39247 },
39248 "type" : "object"
39249 }
39250 },
39251 "PUT" : {
e9cd3bd4 39252 "allowtoken" : 0,
95895385
TL
39253 "description" : "Change user u2f authentication.",
39254 "method" : "PUT",
39255 "name" : "change_tfa",
39256 "parameters" : {
39257 "additionalProperties" : 0,
39258 "properties" : {
39259 "action" : {
39260 "description" : "The action to perform",
39261 "enum" : [
39262 "delete",
39263 "new",
39264 "confirm"
39265 ],
39266 "type" : "string"
39267 },
39268 "config" : {
39269 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
39270 "format" : "pve-tfa-config",
39271 "maxLength" : 128,
39272 "optional" : 1,
39273 "type" : "string",
39274 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
39275 },
39276 "key" : {
39277 "description" : "When adding TOTP, the shared secret value.",
1c532546 39278 "format" : "pve-tfa-secret",
95895385 39279 "optional" : 1,
1c532546
TL
39280 "type" : "string",
39281 "typetext" : "<string>"
95895385
TL
39282 },
39283 "password" : {
39284 "description" : "The current password.",
39285 "maxLength" : 64,
39286 "minLength" : 5,
39287 "optional" : 1,
39288 "type" : "string",
39289 "typetext" : "<string>"
39290 },
39291 "response" : {
39292 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
39293 "optional" : 1,
39294 "type" : "string",
39295 "typetext" : "<string>"
39296 },
39297 "userid" : {
39298 "description" : "User ID",
39299 "format" : "pve-userid",
39300 "maxLength" : 64,
39301 "type" : "string",
39302 "typetext" : "<string>"
39303 }
39304 }
39305 },
39306 "permissions" : {
39307 "check" : [
39308 "or",
39309 [
39310 "userid-param",
39311 "self"
39312 ],
39313 [
39314 "and",
39315 [
39316 "userid-param",
39317 "Realm.AllocateUser"
39318 ],
39319 [
39320 "userid-group",
39321 [
39322 "User.Modify"
39323 ]
39324 ]
39325 ]
39326 ],
39327 "description" : "A user can change their own u2f or totp token."
39328 },
39329 "protected" : 1,
39330 "returns" : {
39331 "type" : "object"
39332 }
39333 }
39334 },
39335 "leaf" : 1,
39336 "path" : "/access/tfa",
39337 "text" : "tfa"
e9cd3bd4
TL
39338 },
39339 {
39340 "info" : {
39341 "GET" : {
39342 "allowtoken" : 1,
39343 "description" : "Retrieve effective permissions of given user/token.",
39344 "method" : "GET",
39345 "name" : "permissions",
39346 "parameters" : {
39347 "additionalProperties" : 0,
39348 "properties" : {
39349 "path" : {
39350 "description" : "Only dump this specific path, not the whole tree.",
39351 "optional" : 1,
39352 "type" : "string",
39353 "typetext" : "<string>"
39354 },
39355 "userid" : {
39356 "description" : "User ID or full API token ID",
39357 "optional" : 1,
39358 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
39359 "type" : "string"
39360 }
39361 }
39362 },
39363 "permissions" : {
39364 "description" : "Each user/token is allowed to dump their own permissions. A user can dump the permissions of another user if they have 'Sys.Audit' permission on /access.",
39365 "user" : "all"
39366 },
39367 "returns" : {
39368 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
39369 "type" : "object"
39370 }
39371 }
39372 },
39373 "leaf" : 1,
39374 "path" : "/access/permissions",
39375 "text" : "permissions"
44660702
DM
39376 }
39377 ],
39378 "info" : {
39379 "GET" : {
e9cd3bd4 39380 "allowtoken" : 1,
44660702
DM
39381 "description" : "Directory index.",
39382 "method" : "GET",
39383 "name" : "index",
39384 "parameters" : {
39385 "additionalProperties" : 0
39386 },
39387 "permissions" : {
39388 "user" : "all"
39389 },
39390 "returns" : {
39391 "items" : {
39392 "properties" : {
39393 "subdir" : {
39394 "type" : "string"
39395 }
7aacca6f 39396 },
44660702
DM
39397 "type" : "object"
39398 },
39399 "links" : [
39400 {
39401 "href" : "{subdir}",
39402 "rel" : "child"
39403 }
39404 ],
39405 "type" : "array"
39406 }
39407 }
39408 },
39409 "leaf" : 0,
39410 "path" : "/access",
39411 "text" : "access"
39412 },
39413 {
39414 "children" : [
39415 {
39416 "info" : {
39417 "DELETE" : {
e9cd3bd4 39418 "allowtoken" : 1,
7aacca6f 39419 "description" : "Delete pool.",
44660702
DM
39420 "method" : "DELETE",
39421 "name" : "delete_pool",
7aacca6f
DM
39422 "parameters" : {
39423 "additionalProperties" : 0,
39424 "properties" : {
39425 "poolid" : {
39426 "format" : "pve-poolid",
013dc89f
DM
39427 "type" : "string",
39428 "typetext" : "<string>"
7aacca6f
DM
39429 }
39430 }
39431 },
56122987
DM
39432 "permissions" : {
39433 "check" : [
39434 "perm",
39435 "/pool/{poolid}",
39436 [
39437 "Pool.Allocate"
39438 ]
44660702
DM
39439 ],
39440 "description" : "You can only delete empty pools (no members)."
39441 },
39442 "protected" : 1,
39443 "returns" : {
39444 "type" : "null"
7aacca6f
DM
39445 }
39446 },
39447 "GET" : {
e9cd3bd4 39448 "allowtoken" : 1,
7aacca6f 39449 "description" : "Get pool configuration.",
44660702 39450 "method" : "GET",
7aacca6f 39451 "name" : "read_pool",
56122987 39452 "parameters" : {
44660702 39453 "additionalProperties" : 0,
56122987
DM
39454 "properties" : {
39455 "poolid" : {
44660702 39456 "format" : "pve-poolid",
013dc89f
DM
39457 "type" : "string",
39458 "typetext" : "<string>"
56122987 39459 }
44660702 39460 }
56122987 39461 },
56122987 39462 "permissions" : {
56122987
DM
39463 "check" : [
39464 "perm",
39465 "/pool/{poolid}",
39466 [
39467 "Pool.Allocate"
39468 ]
39469 ]
39470 },
7aacca6f 39471 "returns" : {
44660702 39472 "additionalProperties" : 0,
56122987 39473 "properties" : {
44660702
DM
39474 "comment" : {
39475 "optional" : 1,
39476 "type" : "string"
39477 },
7aacca6f 39478 "members" : {
7aacca6f
DM
39479 "items" : {
39480 "additionalProperties" : 1,
7aacca6f 39481 "properties" : {
7aacca6f
DM
39482 "id" : {
39483 "type" : "string"
39484 },
39485 "node" : {
39486 "type" : "string"
39487 },
44660702
DM
39488 "storage" : {
39489 "optional" : 1,
39490 "type" : "string"
39491 },
7aacca6f 39492 "type" : {
7aacca6f
DM
39493 "enum" : [
39494 "qemu",
39495 "lxc",
39496 "openvz",
39497 "storage"
44660702
DM
39498 ],
39499 "type" : "string"
39500 },
39501 "vmid" : {
39502 "optional" : 1,
39503 "type" : "integer"
7aacca6f 39504 }
44660702
DM
39505 },
39506 "type" : "object"
39507 },
39508 "type" : "array"
39509 }
39510 },
39511 "type" : "object"
39512 }
39513 },
39514 "PUT" : {
e9cd3bd4 39515 "allowtoken" : 1,
44660702
DM
39516 "description" : "Update pool data.",
39517 "method" : "PUT",
39518 "name" : "update_pool",
39519 "parameters" : {
39520 "additionalProperties" : 0,
39521 "properties" : {
56122987
DM
39522 "comment" : {
39523 "optional" : 1,
013dc89f
DM
39524 "type" : "string",
39525 "typetext" : "<string>"
44660702
DM
39526 },
39527 "delete" : {
39528 "description" : "Remove vms/storage (instead of adding it).",
39529 "optional" : 1,
013dc89f
DM
39530 "type" : "boolean",
39531 "typetext" : "<boolean>"
44660702
DM
39532 },
39533 "poolid" : {
39534 "format" : "pve-poolid",
013dc89f
DM
39535 "type" : "string",
39536 "typetext" : "<string>"
44660702
DM
39537 },
39538 "storage" : {
39539 "description" : "List of storage IDs.",
39540 "format" : "pve-storage-id-list",
39541 "optional" : 1,
013dc89f
DM
39542 "type" : "string",
39543 "typetext" : "<string>"
44660702
DM
39544 },
39545 "vms" : {
39546 "description" : "List of virtual machines.",
39547 "format" : "pve-vmid-list",
39548 "optional" : 1,
013dc89f
DM
39549 "type" : "string",
39550 "typetext" : "<string>"
56122987 39551 }
44660702
DM
39552 }
39553 },
39554 "permissions" : {
39555 "check" : [
39556 "perm",
39557 "/pool/{poolid}",
39558 [
39559 "Pool.Allocate"
39560 ]
39561 ],
39562 "description" : "You also need the right to modify permissions on any object you add/delete."
39563 },
39564 "protected" : 1,
39565 "returns" : {
39566 "type" : "null"
56122987
DM
39567 }
39568 }
39569 },
44660702
DM
39570 "leaf" : 1,
39571 "path" : "/pools/{poolid}",
7aacca6f 39572 "text" : "{poolid}"
56122987 39573 }
7aacca6f 39574 ],
56122987
DM
39575 "info" : {
39576 "GET" : {
e9cd3bd4 39577 "allowtoken" : 1,
44660702
DM
39578 "description" : "Pool index.",
39579 "method" : "GET",
39580 "name" : "index",
39581 "parameters" : {
39582 "additionalProperties" : 0
39583 },
39584 "permissions" : {
39585 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
39586 "user" : "all"
39587 },
56122987 39588 "returns" : {
44660702
DM
39589 "items" : {
39590 "properties" : {
39591 "poolid" : {
39592 "type" : "string"
39593 }
56122987 39594 },
44660702
DM
39595 "type" : "object"
39596 },
39597 "links" : [
39598 {
39599 "href" : "{poolid}",
39600 "rel" : "child"
39601 }
39602 ],
39603 "type" : "array"
39604 }
39605 },
39606 "POST" : {
e9cd3bd4 39607 "allowtoken" : 1,
44660702
DM
39608 "description" : "Create new pool.",
39609 "method" : "POST",
39610 "name" : "create_pool",
39611 "parameters" : {
39612 "additionalProperties" : 0,
39613 "properties" : {
39614 "comment" : {
39615 "optional" : 1,
013dc89f
DM
39616 "type" : "string",
39617 "typetext" : "<string>"
7aacca6f 39618 },
44660702
DM
39619 "poolid" : {
39620 "format" : "pve-poolid",
013dc89f
DM
39621 "type" : "string",
39622 "typetext" : "<string>"
56122987
DM
39623 }
39624 }
39625 },
56122987 39626 "permissions" : {
44660702
DM
39627 "check" : [
39628 "perm",
39629 "/pool/{poolid}",
39630 [
39631 "Pool.Allocate"
39632 ]
39633 ]
56122987 39634 },
44660702
DM
39635 "protected" : 1,
39636 "returns" : {
39637 "type" : "null"
39638 }
39639 }
39640 },
39641 "leaf" : 0,
39642 "path" : "/pools",
39643 "text" : "pools"
39644 },
39645 {
39646 "info" : {
39647 "GET" : {
e9cd3bd4 39648 "allowtoken" : 1,
44660702
DM
39649 "description" : "API version details. The result also includes the global datacenter confguration.",
39650 "method" : "GET",
39651 "name" : "version",
7aacca6f
DM
39652 "parameters" : {
39653 "additionalProperties" : 0
39654 },
44660702
DM
39655 "permissions" : {
39656 "user" : "all"
39657 },
39658 "returns" : {
39659 "properties" : {
39660 "release" : {
39661 "type" : "string"
39662 },
39663 "repoid" : {
39664 "type" : "string"
39665 },
39666 "version" : {
39667 "type" : "string"
39668 }
39669 },
39670 "type" : "object"
39671 }
56122987
DM
39672 }
39673 },
44660702
DM
39674 "leaf" : 1,
39675 "path" : "/version",
56122987
DM
39676 "text" : "version"
39677 }
39678]
39679;
39680