]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
certs: improve wording and styling
[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",
c5aa7e14 136 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
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",
c5aa7e14 245 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
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 },
4772952b
TL
295 {
296 "children" : [
297 {
298 "children" : [
299 {
300 "info" : {
301 "DELETE" : {
302 "allowtoken" : 1,
303 "description" : "Remove Metric server.",
304 "method" : "DELETE",
305 "name" : "delete",
306 "parameters" : {
307 "additionalProperties" : 0,
308 "properties" : {
309 "id" : {
310 "format" : "pve-configid",
311 "type" : "string",
312 "typetext" : "<string>"
313 }
314 }
315 },
316 "permissions" : {
317 "check" : [
318 "perm",
319 "/",
320 [
321 "Sys.Modify"
322 ]
323 ]
324 },
325 "protected" : 1,
326 "returns" : {
327 "type" : "null"
328 }
329 },
330 "GET" : {
331 "allowtoken" : 1,
332 "description" : "Read metric server configuration.",
333 "method" : "GET",
334 "name" : "read",
335 "parameters" : {
336 "additionalProperties" : 0,
337 "properties" : {
338 "id" : {
339 "format" : "pve-configid",
340 "type" : "string",
341 "typetext" : "<string>"
342 }
343 }
344 },
345 "permissions" : {
346 "check" : [
347 "perm",
348 "/",
349 [
350 "Sys.Audit"
351 ]
352 ]
353 },
354 "returns" : {
355 "type" : "object"
356 }
357 },
358 "POST" : {
359 "allowtoken" : 1,
360 "description" : "Create a new external metric server config",
361 "method" : "POST",
362 "name" : "create",
363 "parameters" : {
364 "additionalProperties" : 0,
365 "properties" : {
366 "disable" : {
367 "description" : "Flag to disable the plugin.",
368 "optional" : 1,
369 "type" : "boolean",
370 "typetext" : "<boolean>"
371 },
372 "id" : {
373 "description" : "The ID of the entry.",
374 "format" : "pve-configid",
375 "type" : "string",
376 "typetext" : "<string>"
377 },
378 "mtu" : {
379 "default" : 1500,
380 "description" : "MTU for metrics transmission over UDP",
381 "maximum" : 65536,
382 "minimum" : 512,
383 "optional" : 1,
384 "type" : "integer",
385 "typetext" : "<integer> (512 - 65536)"
386 },
387 "path" : {
388 "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
389 "format" : "graphite-path",
390 "optional" : 1,
391 "type" : "string",
392 "typetext" : "<string>"
393 },
394 "port" : {
395 "description" : "server network port",
396 "type" : "integer",
397 "typetext" : "<integer>"
398 },
399 "proto" : {
400 "description" : "Protocol to send graphite data. TCP or UDP (default)",
401 "enum" : [
402 "udp",
403 "tcp"
404 ],
405 "optional" : 1,
406 "type" : "string"
407 },
408 "server" : {
409 "description" : "server dns name or IP address",
410 "format" : "address",
411 "type" : "string",
412 "typetext" : "<string>"
413 },
414 "timeout" : {
415 "default" : 1,
416 "description" : "graphite TCP socket timeout (default=1)",
417 "minimum" : 0,
418 "optional" : 1,
419 "type" : "integer",
420 "typetext" : "<integer> (0 - N)"
421 },
422 "type" : {
423 "description" : "Plugin type.",
424 "enum" : [
425 "graphite",
426 "influxdb"
427 ],
428 "format" : "pve-configid",
429 "type" : "string"
430 }
431 },
432 "type" : "object"
433 },
434 "permissions" : {
435 "check" : [
436 "perm",
437 "/",
438 [
439 "Sys.Modify"
440 ]
441 ]
442 },
443 "protected" : 1,
444 "returns" : {
445 "type" : "null"
446 }
447 },
448 "PUT" : {
449 "allowtoken" : 1,
450 "description" : "Update metric server configuration.",
451 "method" : "PUT",
452 "name" : "update",
453 "parameters" : {
454 "additionalProperties" : 0,
455 "properties" : {
456 "delete" : {
457 "description" : "A list of settings you want to delete.",
458 "format" : "pve-configid-list",
459 "maxLength" : 4096,
460 "optional" : 1,
461 "type" : "string",
462 "typetext" : "<string>"
463 },
464 "digest" : {
465 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
466 "maxLength" : 40,
467 "optional" : 1,
468 "type" : "string",
469 "typetext" : "<string>"
470 },
471 "disable" : {
472 "description" : "Flag to disable the plugin.",
473 "optional" : 1,
474 "type" : "boolean",
475 "typetext" : "<boolean>"
476 },
477 "id" : {
478 "description" : "The ID of the entry.",
479 "format" : "pve-configid",
480 "type" : "string",
481 "typetext" : "<string>"
482 },
483 "mtu" : {
484 "default" : 1500,
485 "description" : "MTU for metrics transmission over UDP",
486 "maximum" : 65536,
487 "minimum" : 512,
488 "optional" : 1,
489 "type" : "integer",
490 "typetext" : "<integer> (512 - 65536)"
491 },
492 "path" : {
493 "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
494 "format" : "graphite-path",
495 "optional" : 1,
496 "type" : "string",
497 "typetext" : "<string>"
498 },
499 "port" : {
500 "description" : "server network port",
501 "type" : "integer",
502 "typetext" : "<integer>"
503 },
504 "proto" : {
505 "description" : "Protocol to send graphite data. TCP or UDP (default)",
506 "enum" : [
507 "udp",
508 "tcp"
509 ],
510 "optional" : 1,
511 "type" : "string"
512 },
513 "server" : {
514 "description" : "server dns name or IP address",
515 "format" : "address",
516 "type" : "string",
517 "typetext" : "<string>"
518 },
519 "timeout" : {
520 "default" : 1,
521 "description" : "graphite TCP socket timeout (default=1)",
522 "minimum" : 0,
523 "optional" : 1,
524 "type" : "integer",
525 "typetext" : "<integer> (0 - N)"
526 }
527 },
528 "type" : "object"
529 },
530 "permissions" : {
531 "check" : [
532 "perm",
533 "/",
534 [
535 "Sys.Modify"
536 ]
537 ]
538 },
539 "protected" : 1,
540 "returns" : {
541 "type" : "null"
542 }
543 }
544 },
545 "leaf" : 1,
546 "path" : "/cluster/metrics/server/{id}",
547 "text" : "{id}"
548 }
549 ],
550 "info" : {
551 "GET" : {
552 "allowtoken" : 1,
553 "description" : "List configured metric servers.",
554 "method" : "GET",
555 "name" : "server_index",
556 "parameters" : {
557 "additionalProperties" : 0
558 },
559 "permissions" : {
560 "check" : [
561 "perm",
562 "/",
563 [
564 "Sys.Audit"
565 ]
566 ]
567 },
568 "returns" : {
569 "items" : {
570 "properties" : {
571 "disable" : {
572 "description" : "Flag to disable the plugin.",
573 "type" : "boolean"
574 },
575 "id" : {
576 "description" : "The ID of the entry.",
577 "type" : "string"
578 },
579 "port" : {
580 "description" : "Server network port",
581 "type" : "integer"
582 },
583 "server" : {
584 "description" : "Server dns name or IP address",
585 "type" : "string"
586 },
587 "type" : {
588 "description" : "Plugin type.",
589 "type" : "string"
590 }
591 },
592 "type" : "object"
593 },
594 "links" : [
595 {
596 "href" : "{id}",
597 "rel" : "child"
598 }
599 ],
600 "type" : "array"
601 }
602 }
603 },
604 "leaf" : 0,
605 "path" : "/cluster/metrics/server",
606 "text" : "server"
607 }
608 ],
609 "info" : {
610 "GET" : {
611 "allowtoken" : 1,
612 "description" : "Metrics index.",
613 "method" : "GET",
614 "name" : "index",
615 "parameters" : {
616 "additionalProperties" : 0
617 },
618 "permissions" : {
619 "user" : "all"
620 },
621 "returns" : {
622 "items" : {
623 "properties" : {},
624 "type" : "object"
625 },
626 "links" : [
627 {
628 "href" : "{name}",
629 "rel" : "child"
630 }
631 ],
632 "type" : "array"
633 }
634 }
635 },
636 "leaf" : 0,
637 "path" : "/cluster/metrics",
638 "text" : "metrics"
639 },
32d876b5
DM
640 {
641 "children" : [
c5aa7e14
TL
642 {
643 "info" : {
644 "GET" : {
645 "allowtoken" : 1,
646 "description" : "Return the version of the cluster join API available on this node.",
647 "method" : "GET",
648 "name" : "join_api_version",
649 "parameters" : {
650 "additionalProperties" : 0
651 },
652 "permissions" : {
653 "check" : [
654 "perm",
655 "/",
656 [
657 "Sys.Audit"
658 ]
659 ]
660 },
661 "returns" : {
662 "description" : "Cluster Join API version, currently 1",
663 "minimum" : 0,
664 "type" : "integer"
665 }
666 }
667 },
668 "leaf" : 1,
669 "path" : "/cluster/config/apiversion",
670 "text" : "apiversion"
671 },
32d876b5 672 {
27a7acb2
DM
673 "children" : [
674 {
675 "info" : {
676 "DELETE" : {
e9cd3bd4 677 "allowtoken" : 1,
27a7acb2
DM
678 "description" : "Removes a node from the cluster configuration.",
679 "method" : "DELETE",
680 "name" : "delnode",
681 "parameters" : {
682 "additionalProperties" : 0,
683 "properties" : {
684 "node" : {
685 "description" : "The cluster node name.",
686 "format" : "pve-node",
687 "type" : "string",
688 "typetext" : "<string>"
689 }
690 }
691 },
692 "protected" : 1,
693 "returns" : {
694 "type" : "null"
695 }
696 },
697 "POST" : {
e9cd3bd4 698 "allowtoken" : 1,
e2d681b3 699 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
700 "method" : "POST",
701 "name" : "addnode",
702 "parameters" : {
703 "additionalProperties" : 0,
704 "properties" : {
c5aa7e14
TL
705 "apiversion" : {
706 "description" : "The JOIN_API_VERSION of the new node.",
707 "optional" : 1,
708 "type" : "integer",
709 "typetext" : "<integer>"
710 },
27a7acb2
DM
711 "force" : {
712 "description" : "Do not throw error if node already exists.",
713 "optional" : 1,
714 "type" : "boolean",
715 "typetext" : "<boolean>"
716 },
1e3f8156 717 "link[n]" : {
c5aa7e14 718 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
719 "format" : {
720 "address" : {
721 "default_key" : 1,
722 "description" : "Hostname (or IP) of this corosync link address.",
723 "format" : "address",
724 "format_description" : "IP",
725 "type" : "string"
726 },
727 "priority" : {
728 "default" : 0,
c5aa7e14 729 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
730 "maximum" : 255,
731 "minimum" : 0,
732 "optional" : 1,
733 "type" : "integer"
734 }
735 },
736 "optional" : 1,
737 "type" : "string",
738 "typetext" : "[address=]<IP> [,priority=<integer>]"
739 },
c5aa7e14
TL
740 "new_node_ip" : {
741 "description" : "IP Address of node to add. Used as fallback if no links are given.",
742 "format" : "ip",
743 "optional" : 1,
744 "type" : "string",
745 "typetext" : "<string>"
746 },
27a7acb2
DM
747 "node" : {
748 "description" : "The cluster node name.",
749 "format" : "pve-node",
750 "type" : "string",
751 "typetext" : "<string>"
752 },
753 "nodeid" : {
754 "description" : "Node id for this node.",
755 "minimum" : 1,
756 "optional" : 1,
757 "type" : "integer",
758 "typetext" : "<integer> (1 - N)"
759 },
27a7acb2
DM
760 "votes" : {
761 "description" : "Number of votes for this node",
762 "minimum" : 0,
763 "optional" : 1,
764 "type" : "integer",
765 "typetext" : "<integer> (0 - N)"
766 }
767 }
768 },
769 "protected" : 1,
770 "returns" : {
771 "properties" : {
772 "corosync_authkey" : {
773 "type" : "string"
774 },
775 "corosync_conf" : {
776 "type" : "string"
c5aa7e14
TL
777 },
778 "warnings" : {
779 "items" : {
780 "type" : "string"
781 },
782 "type" : "array"
27a7acb2
DM
783 }
784 },
785 "type" : "object"
786 }
787 }
788 },
789 "leaf" : 1,
790 "path" : "/cluster/config/nodes/{node}",
791 "text" : "{node}"
792 }
793 ],
32d876b5
DM
794 "info" : {
795 "GET" : {
e9cd3bd4 796 "allowtoken" : 1,
32d876b5
DM
797 "description" : "Corosync node list.",
798 "method" : "GET",
799 "name" : "nodes",
800 "parameters" : {
801 "additionalProperties" : 0
802 },
5d9c884c
DM
803 "permissions" : {
804 "check" : [
805 "perm",
806 "/",
807 [
808 "Sys.Audit"
809 ]
810 ]
811 },
32d876b5
DM
812 "returns" : {
813 "items" : {
814 "properties" : {
815 "node" : {
816 "type" : "string"
817 }
818 },
819 "type" : "object"
820 },
821 "links" : [
822 {
823 "href" : "{node}",
824 "rel" : "child"
825 }
826 ],
827 "type" : "array"
828 }
829 }
830 },
27a7acb2 831 "leaf" : 0,
32d876b5
DM
832 "path" : "/cluster/config/nodes",
833 "text" : "nodes"
834 },
27a7acb2
DM
835 {
836 "info" : {
837 "GET" : {
e9cd3bd4 838 "allowtoken" : 1,
27a7acb2
DM
839 "description" : "Get information needed to join this cluster over the connected node.",
840 "method" : "GET",
841 "name" : "join_info",
842 "parameters" : {
843 "additionalProperties" : 0,
844 "properties" : {
845 "node" : {
846 "default" : "current connected node",
847 "description" : "The node for which the joinee gets the nodeinfo. ",
848 "format" : "pve-node",
849 "optional" : 1,
850 "type" : "string",
851 "typetext" : "<string>"
852 }
853 }
854 },
a9a8e3d1
DM
855 "permissions" : {
856 "check" : [
857 "perm",
858 "/",
859 [
860 "Sys.Audit"
861 ]
862 ]
863 },
27a7acb2
DM
864 "returns" : {
865 "additionalProperties" : 0,
866 "properties" : {
867 "config_digest" : {
868 "type" : "string"
869 },
870 "nodelist" : {
871 "items" : {
872 "additionalProperties" : 1,
873 "properties" : {
874 "name" : {
875 "description" : "The cluster node name.",
876 "format" : "pve-node",
877 "type" : "string"
878 },
879 "nodeid" : {
880 "description" : "Node id for this node.",
881 "minimum" : 1,
882 "optional" : 1,
883 "type" : "integer"
884 },
885 "pve_addr" : {
886 "format" : "ip",
887 "type" : "string"
888 },
889 "pve_fp" : {
890 "description" : "Certificate SHA 256 fingerprint.",
891 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
892 "type" : "string"
893 },
894 "quorum_votes" : {
895 "minimum" : 0,
896 "type" : "integer"
897 },
898 "ring0_addr" : {
c5aa7e14 899 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
900 "format" : {
901 "address" : {
902 "default_key" : 1,
903 "description" : "Hostname (or IP) of this corosync link address.",
904 "format" : "address",
905 "format_description" : "IP",
906 "type" : "string"
907 },
908 "priority" : {
909 "default" : 0,
c5aa7e14 910 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
911 "maximum" : 255,
912 "minimum" : 0,
913 "optional" : 1,
914 "type" : "integer"
915 }
916 },
27a7acb2
DM
917 "optional" : 1,
918 "type" : "string"
919 }
920 },
921 "type" : "object"
922 },
923 "type" : "array"
924 },
925 "preferred_node" : {
926 "description" : "The cluster node name.",
927 "format" : "pve-node",
928 "type" : "string"
929 },
930 "totem" : {
931 "type" : "object"
932 }
933 },
934 "type" : "object"
935 }
936 },
937 "POST" : {
e9cd3bd4 938 "allowtoken" : 1,
c5aa7e14 939 "description" : "Joins this node into an existing cluster. If no links are given, default to IP resolved by node's hostname on single link (fallback fails for clusters with multiple links).",
27a7acb2
DM
940 "method" : "POST",
941 "name" : "join",
942 "parameters" : {
943 "additionalProperties" : 0,
944 "properties" : {
945 "fingerprint" : {
946 "description" : "Certificate SHA 256 fingerprint.",
947 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
948 "type" : "string"
949 },
950 "force" : {
951 "description" : "Do not throw error if node already exists.",
952 "optional" : 1,
953 "type" : "boolean",
954 "typetext" : "<boolean>"
955 },
956 "hostname" : {
957 "description" : "Hostname (or IP) of an existing cluster member.",
958 "type" : "string",
959 "typetext" : "<string>"
960 },
1e3f8156 961 "link[n]" : {
c5aa7e14 962 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
963 "format" : {
964 "address" : {
965 "default_key" : 1,
966 "description" : "Hostname (or IP) of this corosync link address.",
967 "format" : "address",
968 "format_description" : "IP",
969 "type" : "string"
970 },
971 "priority" : {
972 "default" : 0,
c5aa7e14 973 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
974 "maximum" : 255,
975 "minimum" : 0,
976 "optional" : 1,
977 "type" : "integer"
978 }
979 },
980 "optional" : 1,
981 "type" : "string",
982 "typetext" : "[address=]<IP> [,priority=<integer>]"
983 },
27a7acb2
DM
984 "nodeid" : {
985 "description" : "Node id for this node.",
986 "minimum" : 1,
987 "optional" : 1,
988 "type" : "integer",
989 "typetext" : "<integer> (1 - N)"
990 },
991 "password" : {
992 "description" : "Superuser (root) password of peer node.",
993 "maxLength" : 128,
994 "type" : "string",
995 "typetext" : "<string>"
996 },
27a7acb2
DM
997 "votes" : {
998 "description" : "Number of votes for this node",
999 "minimum" : 0,
1000 "optional" : 1,
1001 "type" : "integer",
1002 "typetext" : "<integer> (0 - N)"
1003 }
1004 }
1005 },
1006 "protected" : 1,
1007 "returns" : {
1008 "type" : "string"
1009 }
1010 }
1011 },
1012 "leaf" : 1,
1013 "path" : "/cluster/config/join",
1014 "text" : "join"
1015 },
32d876b5
DM
1016 {
1017 "info" : {
1018 "GET" : {
e9cd3bd4 1019 "allowtoken" : 1,
32d876b5
DM
1020 "description" : "Get corosync totem protocol settings.",
1021 "method" : "GET",
1022 "name" : "totem",
1023 "parameters" : {
1024 "additionalProperties" : 0
1025 },
5d9c884c
DM
1026 "permissions" : {
1027 "check" : [
1028 "perm",
1029 "/",
1030 [
1031 "Sys.Audit"
1032 ]
1033 ]
1034 },
32d876b5 1035 "returns" : {
32d876b5
DM
1036 "type" : "object"
1037 }
1038 }
1039 },
1040 "leaf" : 1,
1041 "path" : "/cluster/config/totem",
1042 "text" : "totem"
9226ccbc
TL
1043 },
1044 {
1045 "info" : {
1046 "GET" : {
e9cd3bd4 1047 "allowtoken" : 1,
9226ccbc
TL
1048 "description" : "Get QDevice status",
1049 "method" : "GET",
1050 "name" : "status",
1051 "parameters" : {
1052 "additionalProperties" : 0
1053 },
1054 "permissions" : {
1055 "check" : [
1056 "perm",
1057 "/",
1058 [
1059 "Sys.Audit"
1060 ]
1061 ]
1062 },
1063 "returns" : {
1064 "type" : "object"
1065 }
1066 }
1067 },
1068 "leaf" : 1,
1069 "path" : "/cluster/config/qdevice",
1070 "text" : "qdevice"
32d876b5
DM
1071 }
1072 ],
1073 "info" : {
1074 "GET" : {
e9cd3bd4 1075 "allowtoken" : 1,
32d876b5
DM
1076 "description" : "Directory index.",
1077 "method" : "GET",
1078 "name" : "index",
1079 "parameters" : {
1080 "additionalProperties" : 0
1081 },
5d9c884c
DM
1082 "permissions" : {
1083 "check" : [
1084 "perm",
1085 "/",
1086 [
1087 "Sys.Audit"
1088 ]
1089 ]
1090 },
32d876b5
DM
1091 "returns" : {
1092 "items" : {
1093 "properties" : {},
1094 "type" : "object"
1095 },
1096 "links" : [
1097 {
1098 "href" : "{name}",
1099 "rel" : "child"
1100 }
1101 ],
1102 "type" : "array"
1103 }
27a7acb2
DM
1104 },
1105 "POST" : {
e9cd3bd4 1106 "allowtoken" : 1,
c5aa7e14 1107 "description" : "Generate new cluster configuration. If no links given, default to local IP address as link0.",
27a7acb2
DM
1108 "method" : "POST",
1109 "name" : "create",
1110 "parameters" : {
1111 "additionalProperties" : 0,
1112 "properties" : {
27a7acb2
DM
1113 "clustername" : {
1114 "description" : "The name of the cluster.",
1115 "format" : "pve-node",
1116 "maxLength" : 15,
1117 "type" : "string",
1118 "typetext" : "<string>"
1119 },
1e3f8156 1120 "link[n]" : {
c5aa7e14 1121 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
1122 "format" : {
1123 "address" : {
1124 "default_key" : 1,
1125 "description" : "Hostname (or IP) of this corosync link address.",
1126 "format" : "address",
1127 "format_description" : "IP",
1128 "type" : "string"
1129 },
1130 "priority" : {
1131 "default" : 0,
c5aa7e14 1132 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
1133 "maximum" : 255,
1134 "minimum" : 0,
1135 "optional" : 1,
1136 "type" : "integer"
1137 }
1138 },
1139 "optional" : 1,
1140 "type" : "string",
1141 "typetext" : "[address=]<IP> [,priority=<integer>]"
1142 },
27a7acb2
DM
1143 "nodeid" : {
1144 "description" : "Node id for this node.",
1145 "minimum" : 1,
1146 "optional" : 1,
1147 "type" : "integer",
1148 "typetext" : "<integer> (1 - N)"
1149 },
27a7acb2
DM
1150 "votes" : {
1151 "description" : "Number of votes for this node.",
1152 "minimum" : 1,
1153 "optional" : 1,
1154 "type" : "integer",
1155 "typetext" : "<integer> (1 - N)"
1156 }
1157 }
1158 },
1159 "protected" : 1,
1160 "returns" : {
1161 "type" : "string"
1162 }
32d876b5
DM
1163 }
1164 },
1165 "leaf" : 0,
1166 "path" : "/cluster/config",
1167 "text" : "config"
1168 },
56122987 1169 {
56122987
DM
1170 "children" : [
1171 {
56122987
DM
1172 "children" : [
1173 {
44660702
DM
1174 "children" : [
1175 {
1176 "info" : {
1177 "DELETE" : {
e9cd3bd4 1178 "allowtoken" : 1,
44660702
DM
1179 "description" : "Delete rule.",
1180 "method" : "DELETE",
1181 "name" : "delete_rule",
1182 "parameters" : {
1183 "additionalProperties" : 0,
1184 "properties" : {
1185 "digest" : {
1186 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1187 "maxLength" : 40,
1188 "optional" : 1,
013dc89f
DM
1189 "type" : "string",
1190 "typetext" : "<string>"
44660702
DM
1191 },
1192 "group" : {
1193 "description" : "Security Group name.",
4bd7df8b 1194 "maxLength" : 18,
44660702
DM
1195 "minLength" : 2,
1196 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1197 "type" : "string"
1198 },
1199 "pos" : {
1200 "description" : "Update rule at position <pos>.",
1201 "minimum" : 0,
1202 "optional" : 1,
4bd7df8b 1203 "type" : "integer",
013dc89f 1204 "typetext" : "<integer> (0 - N)"
44660702
DM
1205 }
1206 }
1207 },
1208 "permissions" : {
1209 "check" : [
1210 "perm",
1211 "/",
1212 [
1213 "Sys.Modify"
1214 ]
1215 ]
1216 },
1217 "protected" : 1,
1218 "proxyto" : null,
1219 "returns" : {
1220 "type" : "null"
7aacca6f
DM
1221 }
1222 },
44660702 1223 "GET" : {
e9cd3bd4 1224 "allowtoken" : 1,
44660702
DM
1225 "description" : "Get single rule data.",
1226 "method" : "GET",
1227 "name" : "get_rule",
1228 "parameters" : {
1229 "additionalProperties" : 0,
1230 "properties" : {
1231 "group" : {
1232 "description" : "Security Group name.",
4bd7df8b 1233 "maxLength" : 18,
44660702
DM
1234 "minLength" : 2,
1235 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1236 "type" : "string"
1237 },
1238 "pos" : {
1239 "description" : "Update rule at position <pos>.",
1240 "minimum" : 0,
1241 "optional" : 1,
4bd7df8b 1242 "type" : "integer",
013dc89f 1243 "typetext" : "<integer> (0 - N)"
44660702 1244 }
7aacca6f 1245 }
56122987 1246 },
44660702
DM
1247 "permissions" : {
1248 "check" : [
1249 "perm",
1250 "/",
1251 [
1252 "Sys.Audit"
1253 ]
1254 ]
1255 },
1256 "proxyto" : null,
1257 "returns" : {
1258 "properties" : {
e2d681b3
TL
1259 "action" : {
1260 "type" : "string"
1261 },
1262 "comment" : {
1263 "optional" : 1,
1264 "type" : "string"
1265 },
1266 "dest" : {
1267 "optional" : 1,
1268 "type" : "string"
1269 },
1270 "dport" : {
1271 "optional" : 1,
1272 "type" : "string"
1273 },
1274 "enable" : {
1275 "optional" : 1,
1276 "type" : "integer"
1277 },
4772952b
TL
1278 "icmp-type" : {
1279 "optional" : 1,
1280 "type" : "string"
1281 },
e2d681b3
TL
1282 "iface" : {
1283 "optional" : 1,
1284 "type" : "string"
1285 },
1286 "ipversion" : {
1287 "optional" : 1,
1288 "type" : "integer"
1289 },
95895385
TL
1290 "log" : {
1291 "description" : "Log level for firewall rule",
1292 "enum" : [
1293 "emerg",
1294 "alert",
1295 "crit",
1296 "err",
1297 "warning",
1298 "notice",
1299 "info",
1300 "debug",
1301 "nolog"
1302 ],
1303 "optional" : 1,
1304 "type" : "string"
1305 },
e2d681b3
TL
1306 "macro" : {
1307 "optional" : 1,
5f26e15b 1308 "type" : "string"
e2d681b3 1309 },
44660702
DM
1310 "pos" : {
1311 "type" : "integer"
e2d681b3
TL
1312 },
1313 "proto" : {
1314 "optional" : 1,
1315 "type" : "string"
1316 },
1317 "source" : {
1318 "optional" : 1,
1319 "type" : "string"
1320 },
1321 "sport" : {
1322 "optional" : 1,
1323 "type" : "string"
1324 },
1325 "type" : {
1326 "type" : "string"
44660702
DM
1327 }
1328 },
1329 "type" : "object"
56122987 1330 }
44660702 1331 },
7aacca6f 1332 "PUT" : {
e9cd3bd4 1333 "allowtoken" : 1,
44660702
DM
1334 "description" : "Modify rule data.",
1335 "method" : "PUT",
1336 "name" : "update_rule",
7aacca6f
DM
1337 "parameters" : {
1338 "additionalProperties" : 0,
1339 "properties" : {
44660702
DM
1340 "action" : {
1341 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 1342 "maxLength" : 20,
44660702 1343 "minLength" : 2,
7aacca6f 1344 "optional" : 1,
44660702 1345 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
1346 "type" : "string"
1347 },
44660702 1348 "comment" : {
e94f0d56 1349 "description" : "Descriptive comment.",
7aacca6f 1350 "optional" : 1,
013dc89f
DM
1351 "type" : "string",
1352 "typetext" : "<string>"
7aacca6f 1353 },
44660702
DM
1354 "delete" : {
1355 "description" : "A list of settings you want to delete.",
1356 "format" : "pve-configid-list",
7aacca6f 1357 "optional" : 1,
013dc89f
DM
1358 "type" : "string",
1359 "typetext" : "<string>"
7aacca6f 1360 },
44660702
DM
1361 "dest" : {
1362 "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.",
1363 "format" : "pve-fw-addr-spec",
7aacca6f 1364 "optional" : 1,
013dc89f
DM
1365 "type" : "string",
1366 "typetext" : "<string>"
7aacca6f
DM
1367 },
1368 "digest" : {
1369 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 1370 "maxLength" : 40,
7aacca6f 1371 "optional" : 1,
013dc89f
DM
1372 "type" : "string",
1373 "typetext" : "<string>"
7aacca6f 1374 },
44660702
DM
1375 "dport" : {
1376 "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.",
1377 "format" : "pve-fw-dport-spec",
7aacca6f 1378 "optional" : 1,
013dc89f
DM
1379 "type" : "string",
1380 "typetext" : "<string>"
7aacca6f 1381 },
44660702 1382 "enable" : {
e94f0d56 1383 "description" : "Flag to enable/disable a rule.",
44660702 1384 "minimum" : 0,
7aacca6f 1385 "optional" : 1,
4bd7df8b 1386 "type" : "integer",
013dc89f 1387 "typetext" : "<integer> (0 - N)"
7aacca6f 1388 },
44660702
DM
1389 "group" : {
1390 "description" : "Security Group name.",
4bd7df8b 1391 "maxLength" : 18,
44660702
DM
1392 "minLength" : 2,
1393 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1394 "type" : "string"
1395 },
4772952b
TL
1396 "icmp-type" : {
1397 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1398 "format" : "pve-fw-icmp-type-spec",
1399 "optional" : 1,
1400 "type" : "string",
1401 "typetext" : "<string>"
1402 },
44660702
DM
1403 "iface" : {
1404 "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.",
1405 "format" : "pve-iface",
1406 "maxLength" : 20,
1407 "minLength" : 2,
7aacca6f 1408 "optional" : 1,
013dc89f
DM
1409 "type" : "string",
1410 "typetext" : "<string>"
7aacca6f 1411 },
95895385
TL
1412 "log" : {
1413 "description" : "Log level for firewall rule.",
1414 "enum" : [
1415 "emerg",
1416 "alert",
1417 "crit",
1418 "err",
1419 "warning",
1420 "notice",
1421 "info",
1422 "debug",
1423 "nolog"
1424 ],
1425 "optional" : 1,
1426 "type" : "string"
1427 },
44660702 1428 "macro" : {
e94f0d56 1429 "description" : "Use predefined standard macro.",
44660702
DM
1430 "maxLength" : 128,
1431 "optional" : 1,
013dc89f
DM
1432 "type" : "string",
1433 "typetext" : "<string>"
7aacca6f
DM
1434 },
1435 "moveto" : {
1436 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1437 "minimum" : 0,
7aacca6f 1438 "optional" : 1,
4bd7df8b 1439 "type" : "integer",
013dc89f 1440 "typetext" : "<integer> (0 - N)"
7aacca6f 1441 },
44660702
DM
1442 "pos" : {
1443 "description" : "Update rule at position <pos>.",
1444 "minimum" : 0,
1445 "optional" : 1,
4bd7df8b 1446 "type" : "integer",
013dc89f 1447 "typetext" : "<integer> (0 - N)"
7aacca6f 1448 },
44660702
DM
1449 "proto" : {
1450 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1451 "format" : "pve-fw-protocol-spec",
7aacca6f 1452 "optional" : 1,
013dc89f
DM
1453 "type" : "string",
1454 "typetext" : "<string>"
44660702
DM
1455 },
1456 "source" : {
1457 "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.",
1458 "format" : "pve-fw-addr-spec",
1459 "optional" : 1,
013dc89f
DM
1460 "type" : "string",
1461 "typetext" : "<string>"
44660702
DM
1462 },
1463 "sport" : {
1464 "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.",
1465 "format" : "pve-fw-sport-spec",
1466 "optional" : 1,
013dc89f
DM
1467 "type" : "string",
1468 "typetext" : "<string>"
7aacca6f
DM
1469 },
1470 "type" : {
e94f0d56 1471 "description" : "Rule type.",
7aacca6f
DM
1472 "enum" : [
1473 "in",
1474 "out",
1475 "group"
1476 ],
1477 "optional" : 1,
1478 "type" : "string"
1479 }
1480 }
1481 },
7aacca6f
DM
1482 "permissions" : {
1483 "check" : [
1484 "perm",
1485 "/",
1486 [
1487 "Sys.Modify"
1488 ]
1489 ]
1490 },
44660702 1491 "protected" : 1,
7aacca6f
DM
1492 "proxyto" : null,
1493 "returns" : {
1494 "type" : "null"
1495 }
7aacca6f
DM
1496 }
1497 },
44660702 1498 "leaf" : 1,
7aacca6f 1499 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1500 "text" : "{pos}"
7aacca6f
DM
1501 }
1502 ],
44660702
DM
1503 "info" : {
1504 "DELETE" : {
e9cd3bd4 1505 "allowtoken" : 1,
44660702
DM
1506 "description" : "Delete security group.",
1507 "method" : "DELETE",
1508 "name" : "delete_security_group",
1509 "parameters" : {
1510 "additionalProperties" : 0,
1511 "properties" : {
1512 "group" : {
1513 "description" : "Security Group name.",
4bd7df8b 1514 "maxLength" : 18,
44660702
DM
1515 "minLength" : 2,
1516 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1517 "type" : "string"
1518 }
56122987 1519 }
7aacca6f 1520 },
44660702
DM
1521 "permissions" : {
1522 "check" : [
1523 "perm",
1524 "/",
1525 [
1526 "Sys.Modify"
1527 ]
7aacca6f 1528 ]
56122987 1529 },
44660702
DM
1530 "protected" : 1,
1531 "returns" : {
1532 "type" : "null"
56122987 1533 }
7aacca6f 1534 },
7aacca6f 1535 "GET" : {
e9cd3bd4 1536 "allowtoken" : 1,
44660702 1537 "description" : "List rules.",
7aacca6f 1538 "method" : "GET",
44660702
DM
1539 "name" : "get_rules",
1540 "parameters" : {
1541 "additionalProperties" : 0,
7aacca6f 1542 "properties" : {
44660702
DM
1543 "group" : {
1544 "description" : "Security Group name.",
4bd7df8b 1545 "maxLength" : 18,
44660702
DM
1546 "minLength" : 2,
1547 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1548 "type" : "string"
7aacca6f 1549 }
44660702 1550 }
7aacca6f
DM
1551 },
1552 "permissions" : {
1553 "check" : [
1554 "perm",
1555 "/",
1556 [
1557 "Sys.Audit"
1558 ]
1559 ]
1560 },
44660702
DM
1561 "proxyto" : null,
1562 "returns" : {
1563 "items" : {
1564 "properties" : {
1565 "pos" : {
1566 "type" : "integer"
1567 }
1568 },
1569 "type" : "object"
1570 },
1571 "links" : [
1572 {
1573 "href" : "{pos}",
1574 "rel" : "child"
1575 }
1576 ],
1577 "type" : "array"
1578 }
1579 },
1580 "POST" : {
e9cd3bd4 1581 "allowtoken" : 1,
44660702
DM
1582 "description" : "Create new rule.",
1583 "method" : "POST",
1584 "name" : "create_rule",
7aacca6f
DM
1585 "parameters" : {
1586 "additionalProperties" : 0,
1587 "properties" : {
44660702
DM
1588 "action" : {
1589 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1590 "maxLength" : 20,
56122987 1591 "minLength" : 2,
44660702
DM
1592 "optional" : 0,
1593 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1594 "type" : "string"
56122987 1595 },
44660702 1596 "comment" : {
e94f0d56 1597 "description" : "Descriptive comment.",
56122987 1598 "optional" : 1,
013dc89f
DM
1599 "type" : "string",
1600 "typetext" : "<string>"
56122987 1601 },
44660702
DM
1602 "dest" : {
1603 "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
1604 "format" : "pve-fw-addr-spec",
1605 "optional" : 1,
013dc89f
DM
1606 "type" : "string",
1607 "typetext" : "<string>"
56122987 1608 },
44660702
DM
1609 "digest" : {
1610 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1611 "maxLength" : 40,
7aacca6f 1612 "optional" : 1,
013dc89f
DM
1613 "type" : "string",
1614 "typetext" : "<string>"
56122987 1615 },
44660702
DM
1616 "dport" : {
1617 "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.",
1618 "format" : "pve-fw-dport-spec",
56122987 1619 "optional" : 1,
013dc89f
DM
1620 "type" : "string",
1621 "typetext" : "<string>"
56122987 1622 },
7aacca6f 1623 "enable" : {
e94f0d56 1624 "description" : "Flag to enable/disable a rule.",
44660702 1625 "minimum" : 0,
7aacca6f 1626 "optional" : 1,
4bd7df8b 1627 "type" : "integer",
013dc89f 1628 "typetext" : "<integer> (0 - N)"
56122987 1629 },
44660702
DM
1630 "group" : {
1631 "description" : "Security Group name.",
4bd7df8b 1632 "maxLength" : 18,
44660702 1633 "minLength" : 2,
7aacca6f 1634 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1635 "type" : "string"
1636 },
4772952b
TL
1637 "icmp-type" : {
1638 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1639 "format" : "pve-fw-icmp-type-spec",
1640 "optional" : 1,
1641 "type" : "string",
1642 "typetext" : "<string>"
1643 },
44660702
DM
1644 "iface" : {
1645 "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.",
1646 "format" : "pve-iface",
1647 "maxLength" : 20,
7aacca6f 1648 "minLength" : 2,
44660702 1649 "optional" : 1,
013dc89f
DM
1650 "type" : "string",
1651 "typetext" : "<string>"
56122987 1652 },
95895385
TL
1653 "log" : {
1654 "description" : "Log level for firewall rule.",
1655 "enum" : [
1656 "emerg",
1657 "alert",
1658 "crit",
1659 "err",
1660 "warning",
1661 "notice",
1662 "info",
1663 "debug",
1664 "nolog"
1665 ],
1666 "optional" : 1,
1667 "type" : "string"
1668 },
7aacca6f 1669 "macro" : {
e94f0d56 1670 "description" : "Use predefined standard macro.",
44660702 1671 "maxLength" : 128,
7aacca6f 1672 "optional" : 1,
013dc89f
DM
1673 "type" : "string",
1674 "typetext" : "<string>"
7aacca6f
DM
1675 },
1676 "pos" : {
1677 "description" : "Update rule at position <pos>.",
44660702 1678 "minimum" : 0,
56122987 1679 "optional" : 1,
4bd7df8b 1680 "type" : "integer",
013dc89f 1681 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1682 },
1683 "proto" : {
1684 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1685 "format" : "pve-fw-protocol-spec",
7aacca6f 1686 "optional" : 1,
013dc89f
DM
1687 "type" : "string",
1688 "typetext" : "<string>"
44660702
DM
1689 },
1690 "source" : {
1691 "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.",
1692 "format" : "pve-fw-addr-spec",
1693 "optional" : 1,
013dc89f
DM
1694 "type" : "string",
1695 "typetext" : "<string>"
44660702
DM
1696 },
1697 "sport" : {
1698 "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.",
1699 "format" : "pve-fw-sport-spec",
1700 "optional" : 1,
013dc89f
DM
1701 "type" : "string",
1702 "typetext" : "<string>"
44660702
DM
1703 },
1704 "type" : {
e94f0d56 1705 "description" : "Rule type.",
44660702
DM
1706 "enum" : [
1707 "in",
1708 "out",
1709 "group"
1710 ],
1711 "optional" : 0,
1712 "type" : "string"
56122987 1713 }
44660702 1714 }
56122987 1715 },
56122987
DM
1716 "permissions" : {
1717 "check" : [
1718 "perm",
1719 "/",
1720 [
1721 "Sys.Modify"
1722 ]
1723 ]
1724 },
44660702
DM
1725 "protected" : 1,
1726 "proxyto" : null,
56122987
DM
1727 "returns" : {
1728 "type" : "null"
7aacca6f 1729 }
44660702
DM
1730 }
1731 },
1732 "leaf" : 0,
1733 "path" : "/cluster/firewall/groups/{group}",
1734 "text" : "{group}"
1735 }
1736 ],
1737 "info" : {
1738 "GET" : {
e9cd3bd4 1739 "allowtoken" : 1,
44660702
DM
1740 "description" : "List security groups.",
1741 "method" : "GET",
1742 "name" : "list_security_groups",
1743 "parameters" : {
1744 "additionalProperties" : 0
1745 },
1746 "permissions" : {
1747 "user" : "all"
1748 },
1749 "returns" : {
1750 "items" : {
1751 "properties" : {
1752 "comment" : {
1753 "optional" : 1,
1754 "type" : "string"
1755 },
1756 "digest" : {
1757 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1758 "maxLength" : 40,
1759 "optional" : 0,
1760 "type" : "string"
1761 },
1762 "group" : {
1763 "description" : "Security Group name.",
4bd7df8b 1764 "maxLength" : 18,
44660702
DM
1765 "minLength" : 2,
1766 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1767 "type" : "string"
1768 }
1769 },
1770 "type" : "object"
56122987 1771 },
44660702
DM
1772 "links" : [
1773 {
1774 "href" : "{group}",
1775 "rel" : "child"
1776 }
1777 ],
1778 "type" : "array"
1779 }
1780 },
1781 "POST" : {
e9cd3bd4 1782 "allowtoken" : 1,
44660702
DM
1783 "description" : "Create new security group.",
1784 "method" : "POST",
1785 "name" : "create_security_group",
1786 "parameters" : {
1787 "additionalProperties" : 0,
1788 "properties" : {
1789 "comment" : {
1790 "optional" : 1,
013dc89f
DM
1791 "type" : "string",
1792 "typetext" : "<string>"
44660702
DM
1793 },
1794 "digest" : {
1795 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1796 "maxLength" : 40,
1797 "optional" : 1,
013dc89f
DM
1798 "type" : "string",
1799 "typetext" : "<string>"
44660702
DM
1800 },
1801 "group" : {
1802 "description" : "Security Group name.",
4bd7df8b 1803 "maxLength" : 18,
44660702
DM
1804 "minLength" : 2,
1805 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1806 "type" : "string"
1807 },
1808 "rename" : {
1809 "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 1810 "maxLength" : 18,
44660702
DM
1811 "minLength" : 2,
1812 "optional" : 1,
1813 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1814 "type" : "string"
1815 }
1816 }
1817 },
1818 "permissions" : {
1819 "check" : [
1820 "perm",
1821 "/",
1822 [
1823 "Sys.Modify"
1824 ]
1825 ]
1826 },
1827 "protected" : 1,
1828 "returns" : {
1829 "type" : "null"
1830 }
1831 }
1832 },
1833 "leaf" : 0,
1834 "path" : "/cluster/firewall/groups",
1835 "text" : "groups"
1836 },
1837 {
1838 "children" : [
1839 {
1840 "info" : {
7aacca6f 1841 "DELETE" : {
e9cd3bd4 1842 "allowtoken" : 1,
44660702
DM
1843 "description" : "Delete rule.",
1844 "method" : "DELETE",
1845 "name" : "delete_rule",
1846 "parameters" : {
1847 "additionalProperties" : 0,
1848 "properties" : {
1849 "digest" : {
1850 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1851 "maxLength" : 40,
1852 "optional" : 1,
013dc89f
DM
1853 "type" : "string",
1854 "typetext" : "<string>"
44660702
DM
1855 },
1856 "pos" : {
1857 "description" : "Update rule at position <pos>.",
1858 "minimum" : 0,
1859 "optional" : 1,
4bd7df8b 1860 "type" : "integer",
013dc89f 1861 "typetext" : "<integer> (0 - N)"
44660702
DM
1862 }
1863 }
1864 },
56122987
DM
1865 "permissions" : {
1866 "check" : [
1867 "perm",
1868 "/",
1869 [
7aacca6f 1870 "Sys.Modify"
56122987
DM
1871 ]
1872 ]
1873 },
44660702 1874 "protected" : 1,
56122987
DM
1875 "proxyto" : null,
1876 "returns" : {
7aacca6f 1877 "type" : "null"
44660702
DM
1878 }
1879 },
1880 "GET" : {
e9cd3bd4 1881 "allowtoken" : 1,
44660702
DM
1882 "description" : "Get single rule data.",
1883 "method" : "GET",
1884 "name" : "get_rule",
56122987
DM
1885 "parameters" : {
1886 "additionalProperties" : 0,
1887 "properties" : {
1888 "pos" : {
7aacca6f 1889 "description" : "Update rule at position <pos>.",
44660702 1890 "minimum" : 0,
56122987 1891 "optional" : 1,
4bd7df8b 1892 "type" : "integer",
013dc89f 1893 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1894 }
1895 }
1896 },
7aacca6f
DM
1897 "permissions" : {
1898 "check" : [
1899 "perm",
1900 "/",
1901 [
1902 "Sys.Audit"
1903 ]
1904 ]
56122987 1905 },
44660702
DM
1906 "proxyto" : null,
1907 "returns" : {
7aacca6f 1908 "properties" : {
e2d681b3
TL
1909 "action" : {
1910 "type" : "string"
1911 },
1912 "comment" : {
1913 "optional" : 1,
1914 "type" : "string"
1915 },
1916 "dest" : {
1917 "optional" : 1,
1918 "type" : "string"
1919 },
1920 "dport" : {
1921 "optional" : 1,
1922 "type" : "string"
1923 },
1924 "enable" : {
1925 "optional" : 1,
1926 "type" : "integer"
1927 },
4772952b
TL
1928 "icmp-type" : {
1929 "optional" : 1,
1930 "type" : "string"
1931 },
e2d681b3
TL
1932 "iface" : {
1933 "optional" : 1,
1934 "type" : "string"
1935 },
1936 "ipversion" : {
1937 "optional" : 1,
1938 "type" : "integer"
1939 },
95895385
TL
1940 "log" : {
1941 "description" : "Log level for firewall rule",
1942 "enum" : [
1943 "emerg",
1944 "alert",
1945 "crit",
1946 "err",
1947 "warning",
1948 "notice",
1949 "info",
1950 "debug",
1951 "nolog"
1952 ],
1953 "optional" : 1,
1954 "type" : "string"
1955 },
e2d681b3
TL
1956 "macro" : {
1957 "optional" : 1,
5f26e15b 1958 "type" : "string"
e2d681b3 1959 },
44660702
DM
1960 "pos" : {
1961 "type" : "integer"
e2d681b3
TL
1962 },
1963 "proto" : {
1964 "optional" : 1,
1965 "type" : "string"
1966 },
1967 "source" : {
1968 "optional" : 1,
1969 "type" : "string"
1970 },
1971 "sport" : {
1972 "optional" : 1,
1973 "type" : "string"
1974 },
1975 "type" : {
1976 "type" : "string"
7aacca6f 1977 }
44660702
DM
1978 },
1979 "type" : "object"
1980 }
56122987 1981 },
44660702 1982 "PUT" : {
e9cd3bd4 1983 "allowtoken" : 1,
44660702
DM
1984 "description" : "Modify rule data.",
1985 "method" : "PUT",
1986 "name" : "update_rule",
7aacca6f
DM
1987 "parameters" : {
1988 "additionalProperties" : 0,
1989 "properties" : {
44660702
DM
1990 "action" : {
1991 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1992 "maxLength" : 20,
1993 "minLength" : 2,
1994 "optional" : 1,
1995 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1996 "type" : "string"
7aacca6f 1997 },
44660702 1998 "comment" : {
e94f0d56 1999 "description" : "Descriptive comment.",
44660702 2000 "optional" : 1,
013dc89f
DM
2001 "type" : "string",
2002 "typetext" : "<string>"
7aacca6f 2003 },
44660702
DM
2004 "delete" : {
2005 "description" : "A list of settings you want to delete.",
2006 "format" : "pve-configid-list",
2007 "optional" : 1,
013dc89f
DM
2008 "type" : "string",
2009 "typetext" : "<string>"
44660702
DM
2010 },
2011 "dest" : {
2012 "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.",
2013 "format" : "pve-fw-addr-spec",
2014 "optional" : 1,
013dc89f
DM
2015 "type" : "string",
2016 "typetext" : "<string>"
44660702
DM
2017 },
2018 "digest" : {
2019 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2020 "maxLength" : 40,
2021 "optional" : 1,
013dc89f
DM
2022 "type" : "string",
2023 "typetext" : "<string>"
44660702
DM
2024 },
2025 "dport" : {
2026 "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.",
2027 "format" : "pve-fw-dport-spec",
2028 "optional" : 1,
013dc89f
DM
2029 "type" : "string",
2030 "typetext" : "<string>"
44660702
DM
2031 },
2032 "enable" : {
e94f0d56 2033 "description" : "Flag to enable/disable a rule.",
44660702
DM
2034 "minimum" : 0,
2035 "optional" : 1,
4bd7df8b 2036 "type" : "integer",
013dc89f 2037 "typetext" : "<integer> (0 - N)"
44660702 2038 },
4772952b
TL
2039 "icmp-type" : {
2040 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2041 "format" : "pve-fw-icmp-type-spec",
2042 "optional" : 1,
2043 "type" : "string",
2044 "typetext" : "<string>"
2045 },
44660702
DM
2046 "iface" : {
2047 "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.",
2048 "format" : "pve-iface",
2049 "maxLength" : 20,
7aacca6f 2050 "minLength" : 2,
44660702 2051 "optional" : 1,
013dc89f
DM
2052 "type" : "string",
2053 "typetext" : "<string>"
7aacca6f 2054 },
95895385
TL
2055 "log" : {
2056 "description" : "Log level for firewall rule.",
2057 "enum" : [
2058 "emerg",
2059 "alert",
2060 "crit",
2061 "err",
2062 "warning",
2063 "notice",
2064 "info",
2065 "debug",
2066 "nolog"
2067 ],
2068 "optional" : 1,
2069 "type" : "string"
2070 },
44660702 2071 "macro" : {
e94f0d56 2072 "description" : "Use predefined standard macro.",
44660702
DM
2073 "maxLength" : 128,
2074 "optional" : 1,
013dc89f
DM
2075 "type" : "string",
2076 "typetext" : "<string>"
44660702
DM
2077 },
2078 "moveto" : {
2079 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
2080 "minimum" : 0,
2081 "optional" : 1,
4bd7df8b 2082 "type" : "integer",
013dc89f 2083 "typetext" : "<integer> (0 - N)"
44660702
DM
2084 },
2085 "pos" : {
2086 "description" : "Update rule at position <pos>.",
2087 "minimum" : 0,
2088 "optional" : 1,
4bd7df8b 2089 "type" : "integer",
013dc89f 2090 "typetext" : "<integer> (0 - N)"
44660702
DM
2091 },
2092 "proto" : {
2093 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2094 "format" : "pve-fw-protocol-spec",
2095 "optional" : 1,
013dc89f
DM
2096 "type" : "string",
2097 "typetext" : "<string>"
44660702
DM
2098 },
2099 "source" : {
2100 "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.",
2101 "format" : "pve-fw-addr-spec",
2102 "optional" : 1,
013dc89f
DM
2103 "type" : "string",
2104 "typetext" : "<string>"
44660702
DM
2105 },
2106 "sport" : {
2107 "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.",
2108 "format" : "pve-fw-sport-spec",
2109 "optional" : 1,
013dc89f
DM
2110 "type" : "string",
2111 "typetext" : "<string>"
44660702
DM
2112 },
2113 "type" : {
e94f0d56 2114 "description" : "Rule type.",
44660702
DM
2115 "enum" : [
2116 "in",
2117 "out",
2118 "group"
2119 ],
2120 "optional" : 1,
2121 "type" : "string"
7aacca6f 2122 }
56122987
DM
2123 }
2124 },
7aacca6f
DM
2125 "permissions" : {
2126 "check" : [
2127 "perm",
2128 "/",
2129 [
2130 "Sys.Modify"
2131 ]
2132 ]
2133 },
44660702
DM
2134 "protected" : 1,
2135 "proxyto" : null,
2136 "returns" : {
2137 "type" : "null"
2138 }
7aacca6f 2139 }
56122987 2140 },
44660702
DM
2141 "leaf" : 1,
2142 "path" : "/cluster/firewall/rules/{pos}",
2143 "text" : "{pos}"
7aacca6f
DM
2144 }
2145 ],
7aacca6f 2146 "info" : {
44660702 2147 "GET" : {
e9cd3bd4 2148 "allowtoken" : 1,
44660702
DM
2149 "description" : "List rules.",
2150 "method" : "GET",
2151 "name" : "get_rules",
7aacca6f 2152 "parameters" : {
44660702 2153 "additionalProperties" : 0
7aacca6f
DM
2154 },
2155 "permissions" : {
2156 "check" : [
2157 "perm",
2158 "/",
2159 [
44660702 2160 "Sys.Audit"
7aacca6f
DM
2161 ]
2162 ]
2163 },
44660702 2164 "proxyto" : null,
7aacca6f 2165 "returns" : {
7aacca6f
DM
2166 "items" : {
2167 "properties" : {
44660702
DM
2168 "pos" : {
2169 "type" : "integer"
7aacca6f
DM
2170 }
2171 },
2172 "type" : "object"
56122987 2173 },
7aacca6f
DM
2174 "links" : [
2175 {
44660702 2176 "href" : "{pos}",
7aacca6f
DM
2177 "rel" : "child"
2178 }
44660702
DM
2179 ],
2180 "type" : "array"
7aacca6f 2181 }
44660702 2182 },
7aacca6f 2183 "POST" : {
e9cd3bd4 2184 "allowtoken" : 1,
44660702 2185 "description" : "Create new rule.",
7aacca6f 2186 "method" : "POST",
44660702 2187 "name" : "create_rule",
7aacca6f
DM
2188 "parameters" : {
2189 "additionalProperties" : 0,
2190 "properties" : {
44660702
DM
2191 "action" : {
2192 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
2193 "maxLength" : 20,
7aacca6f 2194 "minLength" : 2,
44660702
DM
2195 "optional" : 0,
2196 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2197 "type" : "string"
7aacca6f
DM
2198 },
2199 "comment" : {
e94f0d56 2200 "description" : "Descriptive comment.",
7aacca6f 2201 "optional" : 1,
013dc89f
DM
2202 "type" : "string",
2203 "typetext" : "<string>"
44660702
DM
2204 },
2205 "dest" : {
2206 "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.",
2207 "format" : "pve-fw-addr-spec",
2208 "optional" : 1,
013dc89f
DM
2209 "type" : "string",
2210 "typetext" : "<string>"
44660702
DM
2211 },
2212 "digest" : {
2213 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2214 "maxLength" : 40,
2215 "optional" : 1,
013dc89f
DM
2216 "type" : "string",
2217 "typetext" : "<string>"
44660702
DM
2218 },
2219 "dport" : {
2220 "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.",
2221 "format" : "pve-fw-dport-spec",
2222 "optional" : 1,
013dc89f
DM
2223 "type" : "string",
2224 "typetext" : "<string>"
44660702
DM
2225 },
2226 "enable" : {
e94f0d56 2227 "description" : "Flag to enable/disable a rule.",
44660702
DM
2228 "minimum" : 0,
2229 "optional" : 1,
4bd7df8b 2230 "type" : "integer",
013dc89f 2231 "typetext" : "<integer> (0 - N)"
44660702 2232 },
4772952b
TL
2233 "icmp-type" : {
2234 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2235 "format" : "pve-fw-icmp-type-spec",
2236 "optional" : 1,
2237 "type" : "string",
2238 "typetext" : "<string>"
2239 },
44660702
DM
2240 "iface" : {
2241 "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.",
2242 "format" : "pve-iface",
2243 "maxLength" : 20,
2244 "minLength" : 2,
2245 "optional" : 1,
013dc89f
DM
2246 "type" : "string",
2247 "typetext" : "<string>"
44660702 2248 },
95895385
TL
2249 "log" : {
2250 "description" : "Log level for firewall rule.",
2251 "enum" : [
2252 "emerg",
2253 "alert",
2254 "crit",
2255 "err",
2256 "warning",
2257 "notice",
2258 "info",
2259 "debug",
2260 "nolog"
2261 ],
2262 "optional" : 1,
2263 "type" : "string"
2264 },
44660702 2265 "macro" : {
e94f0d56 2266 "description" : "Use predefined standard macro.",
44660702
DM
2267 "maxLength" : 128,
2268 "optional" : 1,
013dc89f
DM
2269 "type" : "string",
2270 "typetext" : "<string>"
44660702
DM
2271 },
2272 "pos" : {
2273 "description" : "Update rule at position <pos>.",
2274 "minimum" : 0,
2275 "optional" : 1,
4bd7df8b 2276 "type" : "integer",
013dc89f 2277 "typetext" : "<integer> (0 - N)"
44660702
DM
2278 },
2279 "proto" : {
2280 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2281 "format" : "pve-fw-protocol-spec",
2282 "optional" : 1,
013dc89f
DM
2283 "type" : "string",
2284 "typetext" : "<string>"
44660702
DM
2285 },
2286 "source" : {
2287 "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.",
2288 "format" : "pve-fw-addr-spec",
2289 "optional" : 1,
013dc89f
DM
2290 "type" : "string",
2291 "typetext" : "<string>"
44660702
DM
2292 },
2293 "sport" : {
2294 "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.",
2295 "format" : "pve-fw-sport-spec",
2296 "optional" : 1,
013dc89f
DM
2297 "type" : "string",
2298 "typetext" : "<string>"
44660702
DM
2299 },
2300 "type" : {
e94f0d56 2301 "description" : "Rule type.",
44660702
DM
2302 "enum" : [
2303 "in",
2304 "out",
2305 "group"
2306 ],
2307 "optional" : 0,
2308 "type" : "string"
7aacca6f
DM
2309 }
2310 }
2311 },
2312 "permissions" : {
2313 "check" : [
2314 "perm",
2315 "/",
2316 [
2317 "Sys.Modify"
2318 ]
2319 ]
2320 },
44660702
DM
2321 "protected" : 1,
2322 "proxyto" : null,
7aacca6f 2323 "returns" : {
44660702
DM
2324 "type" : "null"
2325 }
2326 }
2327 },
2328 "leaf" : 0,
2329 "path" : "/cluster/firewall/rules",
2330 "text" : "rules"
2331 },
2332 {
2333 "children" : [
2334 {
2335 "children" : [
2336 {
2337 "info" : {
2338 "DELETE" : {
e9cd3bd4 2339 "allowtoken" : 1,
44660702
DM
2340 "description" : "Remove IP or Network from IPSet.",
2341 "method" : "DELETE",
2342 "name" : "remove_ip",
2343 "parameters" : {
2344 "additionalProperties" : 0,
2345 "properties" : {
2346 "cidr" : {
2347 "description" : "Network/IP specification in CIDR format.",
2348 "format" : "IPorCIDRorAlias",
013dc89f
DM
2349 "type" : "string",
2350 "typetext" : "<string>"
44660702
DM
2351 },
2352 "digest" : {
2353 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2354 "maxLength" : 40,
2355 "optional" : 1,
013dc89f
DM
2356 "type" : "string",
2357 "typetext" : "<string>"
44660702
DM
2358 },
2359 "name" : {
2360 "description" : "IP set name.",
2361 "maxLength" : 64,
2362 "minLength" : 2,
2363 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2364 "type" : "string"
2365 }
2366 }
2367 },
2368 "permissions" : {
2369 "check" : [
2370 "perm",
2371 "/",
2372 [
2373 "Sys.Modify"
2374 ]
2375 ]
2376 },
2377 "protected" : 1,
2378 "returns" : {
2379 "type" : "null"
2380 }
7aacca6f 2381 },
44660702 2382 "GET" : {
e9cd3bd4 2383 "allowtoken" : 1,
44660702
DM
2384 "description" : "Read IP or Network settings from IPSet.",
2385 "method" : "GET",
2386 "name" : "read_ip",
2387 "parameters" : {
2388 "additionalProperties" : 0,
2389 "properties" : {
2390 "cidr" : {
2391 "description" : "Network/IP specification in CIDR format.",
2392 "format" : "IPorCIDRorAlias",
013dc89f
DM
2393 "type" : "string",
2394 "typetext" : "<string>"
44660702
DM
2395 },
2396 "name" : {
2397 "description" : "IP set name.",
2398 "maxLength" : 64,
2399 "minLength" : 2,
2400 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2401 "type" : "string"
2402 }
2403 }
2404 },
2405 "permissions" : {
2406 "check" : [
2407 "perm",
2408 "/",
2409 [
2410 "Sys.Audit"
2411 ]
2412 ]
2413 },
2414 "protected" : 1,
2415 "returns" : {
2416 "type" : "object"
2417 }
7aacca6f 2418 },
44660702 2419 "PUT" : {
e9cd3bd4 2420 "allowtoken" : 1,
44660702
DM
2421 "description" : "Update IP or Network settings",
2422 "method" : "PUT",
2423 "name" : "update_ip",
2424 "parameters" : {
2425 "additionalProperties" : 0,
2426 "properties" : {
2427 "cidr" : {
2428 "description" : "Network/IP specification in CIDR format.",
2429 "format" : "IPorCIDRorAlias",
013dc89f
DM
2430 "type" : "string",
2431 "typetext" : "<string>"
44660702
DM
2432 },
2433 "comment" : {
2434 "optional" : 1,
013dc89f
DM
2435 "type" : "string",
2436 "typetext" : "<string>"
44660702
DM
2437 },
2438 "digest" : {
2439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2440 "maxLength" : 40,
2441 "optional" : 1,
013dc89f
DM
2442 "type" : "string",
2443 "typetext" : "<string>"
44660702
DM
2444 },
2445 "name" : {
2446 "description" : "IP set name.",
2447 "maxLength" : 64,
2448 "minLength" : 2,
2449 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2450 "type" : "string"
2451 },
2452 "nomatch" : {
2453 "optional" : 1,
013dc89f
DM
2454 "type" : "boolean",
2455 "typetext" : "<boolean>"
44660702
DM
2456 }
2457 }
2458 },
2459 "permissions" : {
2460 "check" : [
2461 "perm",
2462 "/",
2463 [
2464 "Sys.Modify"
2465 ]
2466 ]
2467 },
2468 "protected" : 1,
2469 "returns" : {
2470 "type" : "null"
2471 }
7aacca6f
DM
2472 }
2473 },
44660702
DM
2474 "leaf" : 1,
2475 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2476 "text" : "{cidr}"
7aacca6f 2477 }
44660702 2478 ],
7aacca6f
DM
2479 "info" : {
2480 "DELETE" : {
e9cd3bd4 2481 "allowtoken" : 1,
44660702
DM
2482 "description" : "Delete IPSet",
2483 "method" : "DELETE",
2484 "name" : "delete_ipset",
56122987 2485 "parameters" : {
44660702 2486 "additionalProperties" : 0,
56122987
DM
2487 "properties" : {
2488 "name" : {
44660702 2489 "description" : "IP set name.",
56122987 2490 "maxLength" : 64,
44660702 2491 "minLength" : 2,
56122987 2492 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2493 "type" : "string"
56122987 2494 }
44660702 2495 }
7aacca6f 2496 },
56122987
DM
2497 "permissions" : {
2498 "check" : [
2499 "perm",
2500 "/",
2501 [
2502 "Sys.Modify"
2503 ]
2504 ]
2505 },
7aacca6f
DM
2506 "protected" : 1,
2507 "returns" : {
2508 "type" : "null"
44660702 2509 }
7aacca6f 2510 },
44660702 2511 "GET" : {
e9cd3bd4 2512 "allowtoken" : 1,
44660702
DM
2513 "description" : "List IPSet content",
2514 "method" : "GET",
2515 "name" : "get_ipset",
56122987
DM
2516 "parameters" : {
2517 "additionalProperties" : 0,
2518 "properties" : {
7aacca6f 2519 "name" : {
44660702 2520 "description" : "IP set name.",
7aacca6f 2521 "maxLength" : 64,
7aacca6f 2522 "minLength" : 2,
44660702 2523 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2524 "type" : "string"
56122987 2525 }
7aacca6f 2526 }
56122987 2527 },
56122987
DM
2528 "permissions" : {
2529 "check" : [
2530 "perm",
2531 "/",
2532 [
44660702 2533 "Sys.Audit"
56122987
DM
2534 ]
2535 ]
44660702
DM
2536 },
2537 "returns" : {
2538 "items" : {
2539 "properties" : {
2540 "cidr" : {
2541 "type" : "string"
2542 },
2543 "comment" : {
2544 "optional" : 1,
2545 "type" : "string"
2546 },
2547 "digest" : {
2548 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2549 "maxLength" : 40,
2550 "optional" : 0,
2551 "type" : "string"
2552 },
2553 "nomatch" : {
2554 "optional" : 1,
2555 "type" : "boolean"
2556 }
2557 },
2558 "type" : "object"
2559 },
2560 "links" : [
2561 {
2562 "href" : "{cidr}",
2563 "rel" : "child"
2564 }
2565 ],
2566 "type" : "array"
7aacca6f
DM
2567 }
2568 },
44660702 2569 "POST" : {
e9cd3bd4 2570 "allowtoken" : 1,
44660702
DM
2571 "description" : "Add IP or Network to IPSet.",
2572 "method" : "POST",
2573 "name" : "create_ip",
56122987
DM
2574 "parameters" : {
2575 "additionalProperties" : 0,
2576 "properties" : {
44660702
DM
2577 "cidr" : {
2578 "description" : "Network/IP specification in CIDR format.",
2579 "format" : "IPorCIDRorAlias",
013dc89f
DM
2580 "type" : "string",
2581 "typetext" : "<string>"
44660702
DM
2582 },
2583 "comment" : {
2584 "optional" : 1,
013dc89f
DM
2585 "type" : "string",
2586 "typetext" : "<string>"
44660702
DM
2587 },
2588 "name" : {
2589 "description" : "IP set name.",
2590 "maxLength" : 64,
2591 "minLength" : 2,
2592 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2593 "type" : "string"
2594 },
2595 "nomatch" : {
2596 "optional" : 1,
013dc89f
DM
2597 "type" : "boolean",
2598 "typetext" : "<boolean>"
56122987
DM
2599 }
2600 }
2601 },
56122987
DM
2602 "permissions" : {
2603 "check" : [
2604 "perm",
2605 "/",
2606 [
44660702 2607 "Sys.Modify"
56122987
DM
2608 ]
2609 ]
2610 },
44660702 2611 "protected" : 1,
56122987 2612 "returns" : {
44660702
DM
2613 "type" : "null"
2614 }
56122987
DM
2615 }
2616 },
44660702
DM
2617 "leaf" : 0,
2618 "path" : "/cluster/firewall/ipset/{name}",
2619 "text" : "{name}"
56122987
DM
2620 }
2621 ],
56122987 2622 "info" : {
44660702 2623 "GET" : {
e9cd3bd4 2624 "allowtoken" : 1,
44660702
DM
2625 "description" : "List IPSets",
2626 "method" : "GET",
2627 "name" : "ipset_index",
56122987 2628 "parameters" : {
7aacca6f 2629 "additionalProperties" : 0
56122987 2630 },
56122987
DM
2631 "permissions" : {
2632 "check" : [
2633 "perm",
2634 "/",
2635 [
7aacca6f 2636 "Sys.Audit"
56122987
DM
2637 ]
2638 ]
2639 },
56122987
DM
2640 "returns" : {
2641 "items" : {
2642 "properties" : {
44660702
DM
2643 "comment" : {
2644 "optional" : 1,
2645 "type" : "string"
56122987 2646 },
44660702
DM
2647 "digest" : {
2648 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2649 "maxLength" : 40,
2650 "optional" : 0,
2651 "type" : "string"
2652 },
2653 "name" : {
2654 "description" : "IP set name.",
2655 "maxLength" : 64,
2656 "minLength" : 2,
2657 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2658 "type" : "string"
56122987
DM
2659 }
2660 },
2661 "type" : "object"
44660702
DM
2662 },
2663 "links" : [
2664 {
2665 "href" : "{name}",
2666 "rel" : "child"
2667 }
2668 ],
2669 "type" : "array"
56122987 2670 }
44660702
DM
2671 },
2672 "POST" : {
e9cd3bd4 2673 "allowtoken" : 1,
44660702
DM
2674 "description" : "Create new IPSet",
2675 "method" : "POST",
2676 "name" : "create_ipset",
7aacca6f
DM
2677 "parameters" : {
2678 "additionalProperties" : 0,
2679 "properties" : {
44660702
DM
2680 "comment" : {
2681 "optional" : 1,
013dc89f
DM
2682 "type" : "string",
2683 "typetext" : "<string>"
44660702
DM
2684 },
2685 "digest" : {
2686 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2687 "maxLength" : 40,
2688 "optional" : 1,
013dc89f
DM
2689 "type" : "string",
2690 "typetext" : "<string>"
44660702
DM
2691 },
2692 "name" : {
2693 "description" : "IP set name.",
2694 "maxLength" : 64,
2695 "minLength" : 2,
2696 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2697 "type" : "string"
2698 },
2699 "rename" : {
2700 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2701 "maxLength" : 64,
2702 "minLength" : 2,
2703 "optional" : 1,
2704 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2705 "type" : "string"
7aacca6f
DM
2706 }
2707 }
2708 },
56122987
DM
2709 "permissions" : {
2710 "check" : [
2711 "perm",
2712 "/",
2713 [
44660702 2714 "Sys.Modify"
56122987
DM
2715 ]
2716 ]
2717 },
44660702 2718 "protected" : 1,
56122987 2719 "returns" : {
44660702
DM
2720 "type" : "null"
2721 }
56122987 2722 }
7aacca6f 2723 },
44660702
DM
2724 "leaf" : 0,
2725 "path" : "/cluster/firewall/ipset",
2726 "text" : "ipset"
2727 },
56122987 2728 {
44660702
DM
2729 "children" : [
2730 {
2731 "info" : {
2732 "DELETE" : {
e9cd3bd4 2733 "allowtoken" : 1,
44660702
DM
2734 "description" : "Remove IP or Network alias.",
2735 "method" : "DELETE",
2736 "name" : "remove_alias",
2737 "parameters" : {
2738 "additionalProperties" : 0,
2739 "properties" : {
2740 "digest" : {
2741 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2742 "maxLength" : 40,
2743 "optional" : 1,
013dc89f
DM
2744 "type" : "string",
2745 "typetext" : "<string>"
44660702
DM
2746 },
2747 "name" : {
2748 "description" : "Alias name.",
2749 "maxLength" : 64,
2750 "minLength" : 2,
2751 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2752 "type" : "string"
2753 }
2754 }
2755 },
2756 "permissions" : {
2757 "check" : [
2758 "perm",
2759 "/",
2760 [
2761 "Sys.Modify"
2762 ]
2763 ]
2764 },
2765 "protected" : 1,
2766 "returns" : {
2767 "type" : "null"
2768 }
2769 },
2770 "GET" : {
e9cd3bd4 2771 "allowtoken" : 1,
44660702
DM
2772 "description" : "Read alias.",
2773 "method" : "GET",
2774 "name" : "read_alias",
2775 "parameters" : {
2776 "additionalProperties" : 0,
2777 "properties" : {
2778 "name" : {
2779 "description" : "Alias name.",
2780 "maxLength" : 64,
2781 "minLength" : 2,
2782 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2783 "type" : "string"
2784 }
2785 }
2786 },
2787 "permissions" : {
2788 "check" : [
2789 "perm",
2790 "/",
2791 [
2792 "Sys.Audit"
2793 ]
2794 ]
2795 },
2796 "returns" : {
2797 "type" : "object"
2798 }
2799 },
2800 "PUT" : {
e9cd3bd4 2801 "allowtoken" : 1,
44660702
DM
2802 "description" : "Update IP or Network alias.",
2803 "method" : "PUT",
2804 "name" : "update_alias",
2805 "parameters" : {
2806 "additionalProperties" : 0,
2807 "properties" : {
2808 "cidr" : {
2809 "description" : "Network/IP specification in CIDR format.",
2810 "format" : "IPorCIDR",
013dc89f
DM
2811 "type" : "string",
2812 "typetext" : "<string>"
44660702
DM
2813 },
2814 "comment" : {
2815 "optional" : 1,
013dc89f
DM
2816 "type" : "string",
2817 "typetext" : "<string>"
44660702
DM
2818 },
2819 "digest" : {
2820 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2821 "maxLength" : 40,
2822 "optional" : 1,
013dc89f
DM
2823 "type" : "string",
2824 "typetext" : "<string>"
44660702
DM
2825 },
2826 "name" : {
2827 "description" : "Alias name.",
2828 "maxLength" : 64,
2829 "minLength" : 2,
2830 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2831 "type" : "string"
2832 },
2833 "rename" : {
2834 "description" : "Rename an existing alias.",
2835 "maxLength" : 64,
2836 "minLength" : 2,
2837 "optional" : 1,
2838 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2839 "type" : "string"
2840 }
2841 }
2842 },
2843 "permissions" : {
2844 "check" : [
2845 "perm",
2846 "/",
2847 [
2848 "Sys.Modify"
2849 ]
2850 ]
2851 },
2852 "protected" : 1,
2853 "returns" : {
2854 "type" : "null"
2855 }
2856 }
2857 },
2858 "leaf" : 1,
2859 "path" : "/cluster/firewall/aliases/{name}",
2860 "text" : "{name}"
2861 }
2862 ],
2863 "info" : {
2864 "GET" : {
e9cd3bd4 2865 "allowtoken" : 1,
44660702
DM
2866 "description" : "List aliases",
2867 "method" : "GET",
2868 "name" : "get_aliases",
2869 "parameters" : {
2870 "additionalProperties" : 0
2871 },
2872 "permissions" : {
2873 "check" : [
2874 "perm",
2875 "/",
2876 [
2877 "Sys.Audit"
2878 ]
2879 ]
2880 },
2881 "returns" : {
2882 "items" : {
2883 "properties" : {
2884 "cidr" : {
2885 "type" : "string"
2886 },
2887 "comment" : {
2888 "optional" : 1,
2889 "type" : "string"
2890 },
2891 "digest" : {
2892 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2893 "maxLength" : 40,
2894 "optional" : 0,
2895 "type" : "string"
2896 },
2897 "name" : {
2898 "type" : "string"
2899 }
2900 },
2901 "type" : "object"
2902 },
2903 "links" : [
2904 {
2905 "href" : "{name}",
2906 "rel" : "child"
2907 }
2908 ],
2909 "type" : "array"
2910 }
2911 },
2912 "POST" : {
e9cd3bd4 2913 "allowtoken" : 1,
44660702
DM
2914 "description" : "Create IP or Network Alias.",
2915 "method" : "POST",
2916 "name" : "create_alias",
56122987
DM
2917 "parameters" : {
2918 "additionalProperties" : 0,
2919 "properties" : {
44660702
DM
2920 "cidr" : {
2921 "description" : "Network/IP specification in CIDR format.",
2922 "format" : "IPorCIDR",
013dc89f
DM
2923 "type" : "string",
2924 "typetext" : "<string>"
44660702
DM
2925 },
2926 "comment" : {
2927 "optional" : 1,
013dc89f
DM
2928 "type" : "string",
2929 "typetext" : "<string>"
44660702
DM
2930 },
2931 "name" : {
2932 "description" : "Alias name.",
2933 "maxLength" : 64,
2934 "minLength" : 2,
2935 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2936 "type" : "string"
56122987
DM
2937 }
2938 }
2939 },
56122987
DM
2940 "permissions" : {
2941 "check" : [
2942 "perm",
2943 "/",
2944 [
2945 "Sys.Modify"
2946 ]
2947 ]
2948 },
44660702 2949 "protected" : 1,
56122987
DM
2950 "returns" : {
2951 "type" : "null"
2952 }
44660702
DM
2953 }
2954 },
2955 "leaf" : 0,
2956 "path" : "/cluster/firewall/aliases",
2957 "text" : "aliases"
2958 },
2959 {
2960 "info" : {
2961 "GET" : {
e9cd3bd4 2962 "allowtoken" : 1,
44660702
DM
2963 "description" : "Get Firewall options.",
2964 "method" : "GET",
2965 "name" : "get_options",
2966 "parameters" : {
2967 "additionalProperties" : 0
7aacca6f 2968 },
56122987
DM
2969 "permissions" : {
2970 "check" : [
2971 "perm",
2972 "/",
2973 [
44660702 2974 "Sys.Audit"
56122987
DM
2975 ]
2976 ]
2977 },
44660702 2978 "returns" : {
56122987 2979 "properties" : {
5da3d723
TL
2980 "ebtables" : {
2981 "default" : 1,
2982 "description" : "Enable ebtables rules cluster wide.",
2983 "optional" : 1,
2984 "type" : "boolean"
2985 },
44660702
DM
2986 "enable" : {
2987 "description" : "Enable or disable the firewall cluster wide.",
2988 "minimum" : 0,
56122987 2989 "optional" : 1,
7aacca6f 2990 "type" : "integer"
56122987 2991 },
95895385
TL
2992 "log_ratelimit" : {
2993 "description" : "Log ratelimiting settings",
2994 "format" : {
2995 "burst" : {
2996 "default" : 5,
4772952b 2997 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
2998 "minimum" : 0,
2999 "optional" : 1,
3000 "type" : "integer"
3001 },
3002 "enable" : {
3003 "default" : "1",
3004 "default_key" : 1,
3005 "description" : "Enable or disable log rate limiting",
3006 "type" : "boolean"
3007 },
3008 "rate" : {
3009 "default" : "1/second",
3010 "description" : "Frequency with which the burst bucket gets refilled",
3011 "format_description" : "rate",
3012 "optional" : 1,
3013 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3014 "type" : "string"
3015 }
3016 },
3017 "optional" : 1,
3018 "type" : "string"
3019 },
44660702
DM
3020 "policy_in" : {
3021 "description" : "Input policy.",
3022 "enum" : [
3023 "ACCEPT",
3024 "REJECT",
3025 "DROP"
3026 ],
56122987 3027 "optional" : 1,
44660702 3028 "type" : "string"
7aacca6f 3029 },
44660702
DM
3030 "policy_out" : {
3031 "description" : "Output policy.",
3032 "enum" : [
3033 "ACCEPT",
3034 "REJECT",
3035 "DROP"
3036 ],
7aacca6f 3037 "optional" : 1,
44660702
DM
3038 "type" : "string"
3039 }
3040 },
3041 "type" : "object"
3042 }
3043 },
3044 "PUT" : {
e9cd3bd4 3045 "allowtoken" : 1,
44660702
DM
3046 "description" : "Set Firewall options.",
3047 "method" : "PUT",
3048 "name" : "set_options",
3049 "parameters" : {
3050 "additionalProperties" : 0,
3051 "properties" : {
3052 "delete" : {
3053 "description" : "A list of settings you want to delete.",
3054 "format" : "pve-configid-list",
56122987 3055 "optional" : 1,
013dc89f
DM
3056 "type" : "string",
3057 "typetext" : "<string>"
56122987 3058 },
44660702
DM
3059 "digest" : {
3060 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3061 "maxLength" : 40,
56122987 3062 "optional" : 1,
013dc89f
DM
3063 "type" : "string",
3064 "typetext" : "<string>"
56122987 3065 },
5da3d723
TL
3066 "ebtables" : {
3067 "default" : 1,
3068 "description" : "Enable ebtables rules cluster wide.",
3069 "optional" : 1,
3070 "type" : "boolean",
3071 "typetext" : "<boolean>"
3072 },
44660702
DM
3073 "enable" : {
3074 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 3075 "minimum" : 0,
56122987 3076 "optional" : 1,
4bd7df8b 3077 "type" : "integer",
013dc89f 3078 "typetext" : "<integer> (0 - N)"
56122987 3079 },
95895385
TL
3080 "log_ratelimit" : {
3081 "description" : "Log ratelimiting settings",
3082 "format" : {
3083 "burst" : {
3084 "default" : 5,
4772952b 3085 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
3086 "minimum" : 0,
3087 "optional" : 1,
3088 "type" : "integer"
3089 },
3090 "enable" : {
3091 "default" : "1",
3092 "default_key" : 1,
3093 "description" : "Enable or disable log rate limiting",
3094 "type" : "boolean"
3095 },
3096 "rate" : {
3097 "default" : "1/second",
3098 "description" : "Frequency with which the burst bucket gets refilled",
3099 "format_description" : "rate",
3100 "optional" : 1,
3101 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3102 "type" : "string"
3103 }
3104 },
3105 "optional" : 1,
3106 "type" : "string",
3107 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
3108 },
44660702
DM
3109 "policy_in" : {
3110 "description" : "Input policy.",
56122987 3111 "enum" : [
44660702
DM
3112 "ACCEPT",
3113 "REJECT",
3114 "DROP"
56122987 3115 ],
56122987 3116 "optional" : 1,
44660702 3117 "type" : "string"
56122987 3118 },
44660702
DM
3119 "policy_out" : {
3120 "description" : "Output policy.",
56122987 3121 "enum" : [
44660702
DM
3122 "ACCEPT",
3123 "REJECT",
3124 "DROP"
56122987 3125 ],
7aacca6f 3126 "optional" : 1,
44660702 3127 "type" : "string"
56122987 3128 }
44660702
DM
3129 }
3130 },
3131 "permissions" : {
3132 "check" : [
3133 "perm",
3134 "/",
3135 [
3136 "Sys.Modify"
3137 ]
3138 ]
7aacca6f
DM
3139 },
3140 "protected" : 1,
44660702
DM
3141 "returns" : {
3142 "type" : "null"
3143 }
3144 }
3145 },
3146 "leaf" : 1,
3147 "path" : "/cluster/firewall/options",
3148 "text" : "options"
3149 },
3150 {
3151 "info" : {
7aacca6f 3152 "GET" : {
e9cd3bd4 3153 "allowtoken" : 1,
44660702 3154 "description" : "List available macros",
7aacca6f 3155 "method" : "GET",
44660702
DM
3156 "name" : "get_macros",
3157 "parameters" : {
3158 "additionalProperties" : 0
7aacca6f 3159 },
44660702
DM
3160 "permissions" : {
3161 "user" : "all"
3162 },
3163 "returns" : {
3164 "items" : {
3165 "properties" : {
3166 "descr" : {
3167 "description" : "More verbose description (if available).",
3168 "type" : "string"
3169 },
3170 "macro" : {
3171 "description" : "Macro name.",
3172 "type" : "string"
3173 }
3174 },
3175 "type" : "object"
3176 },
3177 "type" : "array"
3178 }
3179 }
3180 },
3181 "leaf" : 1,
3182 "path" : "/cluster/firewall/macros",
3183 "text" : "macros"
3184 },
3185 {
3186 "info" : {
3187 "GET" : {
e9cd3bd4 3188 "allowtoken" : 1,
44660702
DM
3189 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
3190 "method" : "GET",
3191 "name" : "refs",
7aacca6f 3192 "parameters" : {
44660702 3193 "additionalProperties" : 0,
7aacca6f 3194 "properties" : {
44660702
DM
3195 "type" : {
3196 "description" : "Only list references of specified type.",
3197 "enum" : [
3198 "alias",
3199 "ipset"
3200 ],
3201 "optional" : 1,
3202 "type" : "string"
7aacca6f 3203 }
44660702 3204 }
7aacca6f
DM
3205 },
3206 "permissions" : {
3207 "check" : [
3208 "perm",
3209 "/",
3210 [
3211 "Sys.Audit"
3212 ]
3213 ]
3214 },
44660702
DM
3215 "returns" : {
3216 "items" : {
3217 "properties" : {
3218 "comment" : {
3219 "optional" : 1,
3220 "type" : "string"
3221 },
3222 "name" : {
3223 "type" : "string"
3224 },
3225 "ref" : {
3226 "type" : "string"
3227 },
3228 "type" : {
3229 "enum" : [
3230 "alias",
3231 "ipset"
3232 ],
3233 "type" : "string"
3234 }
3235 },
3236 "type" : "object"
3237 },
3238 "type" : "array"
3239 }
56122987
DM
3240 }
3241 },
7aacca6f 3242 "leaf" : 1,
44660702
DM
3243 "path" : "/cluster/firewall/refs",
3244 "text" : "refs"
56122987
DM
3245 }
3246 ],
56122987 3247 "info" : {
44660702 3248 "GET" : {
e9cd3bd4 3249 "allowtoken" : 1,
44660702
DM
3250 "description" : "Directory index.",
3251 "method" : "GET",
3252 "name" : "index",
56122987 3253 "parameters" : {
56122987
DM
3254 "additionalProperties" : 0
3255 },
44660702
DM
3256 "permissions" : {
3257 "user" : "all"
3258 },
56122987 3259 "returns" : {
44660702
DM
3260 "items" : {
3261 "properties" : {},
3262 "type" : "object"
3263 },
7aacca6f
DM
3264 "links" : [
3265 {
44660702
DM
3266 "href" : "{name}",
3267 "rel" : "child"
7aacca6f
DM
3268 }
3269 ],
7aacca6f 3270 "type" : "array"
7aacca6f 3271 }
56122987
DM
3272 }
3273 },
44660702
DM
3274 "leaf" : 0,
3275 "path" : "/cluster/firewall",
3276 "text" : "firewall"
7aacca6f
DM
3277 },
3278 {
56122987
DM
3279 "children" : [
3280 {
04d22a9f
TL
3281 "children" : [
3282 {
3283 "info" : {
3284 "GET" : {
3285 "allowtoken" : 1,
3286 "description" : "Returns included guests and the backup status of their disks. Optimized to be used in ExtJS tree views.",
3287 "method" : "GET",
3288 "name" : "get_volume_backup_included",
3289 "parameters" : {
3290 "additionalProperties" : 0,
3291 "properties" : {
3292 "id" : {
3293 "description" : "The job ID.",
3294 "maxLength" : 50,
3295 "type" : "string",
3296 "typetext" : "<string>"
3297 }
3298 }
3299 },
3300 "permissions" : {
3301 "check" : [
3302 "perm",
3303 "/",
3304 [
3305 "Sys.Audit"
3306 ]
3307 ]
3308 },
3309 "protected" : 1,
3310 "returns" : {
3311 "description" : "Root node of the tree object. Children represent guests, grandchildren represent volumes of that guest.",
3312 "properties" : {
3313 "children" : {
3314 "items" : {
3315 "properties" : {
3316 "children" : {
3317 "description" : "The volumes of the guest with the information if they will be included in backups.",
3318 "items" : {
3319 "properties" : {
3320 "id" : {
3321 "description" : "Configuration key of the volume.",
3322 "type" : "string"
3323 },
3324 "included" : {
3325 "description" : "Whether the volume is included in the backup or not.",
3326 "type" : "boolean"
3327 },
3328 "name" : {
3329 "description" : "Name of the volume.",
3330 "type" : "string"
3331 },
3332 "reason" : {
3333 "description" : "The reason why the volume is included (or excluded).",
3334 "type" : "string"
3335 }
3336 },
3337 "type" : "object"
3338 },
3339 "optional" : 1,
3340 "type" : "array"
3341 },
3342 "id" : {
3343 "description" : "VMID of the guest.",
3344 "type" : "integer"
3345 },
3346 "name" : {
3347 "description" : "Name of the guest",
3348 "optional" : 1,
3349 "type" : "string"
3350 },
3351 "type" : {
3352 "description" : "Type of the guest, VM, CT or unknown for removed but not purged guests.",
3353 "enum" : [
3354 "qemu",
3355 "lxc",
3356 "unknown"
3357 ],
3358 "type" : "string"
3359 }
3360 },
3361 "type" : "object"
3362 },
3363 "type" : "array"
3364 }
3365 },
3366 "type" : "object"
3367 }
3368 }
3369 },
3370 "leaf" : 1,
3371 "path" : "/cluster/backup/{id}/included_volumes",
3372 "text" : "included_volumes"
3373 }
3374 ],
56122987 3375 "info" : {
44660702 3376 "DELETE" : {
e9cd3bd4 3377 "allowtoken" : 1,
44660702
DM
3378 "description" : "Delete vzdump backup job definition.",
3379 "method" : "DELETE",
3380 "name" : "delete_job",
3381 "parameters" : {
3382 "additionalProperties" : 0,
3383 "properties" : {
3384 "id" : {
3385 "description" : "The job ID.",
3386 "maxLength" : 50,
013dc89f
DM
3387 "type" : "string",
3388 "typetext" : "<string>"
44660702
DM
3389 }
3390 }
3391 },
3392 "permissions" : {
3393 "check" : [
3394 "perm",
3395 "/",
3396 [
3397 "Sys.Modify"
3398 ]
3399 ]
3400 },
3401 "protected" : 1,
56122987
DM
3402 "returns" : {
3403 "type" : "null"
44660702
DM
3404 }
3405 },
3406 "GET" : {
e9cd3bd4 3407 "allowtoken" : 1,
44660702
DM
3408 "description" : "Read vzdump backup job definition.",
3409 "method" : "GET",
3410 "name" : "read_job",
3411 "parameters" : {
3412 "additionalProperties" : 0,
3413 "properties" : {
3414 "id" : {
3415 "description" : "The job ID.",
3416 "maxLength" : 50,
013dc89f
DM
3417 "type" : "string",
3418 "typetext" : "<string>"
44660702
DM
3419 }
3420 }
56122987 3421 },
7aacca6f
DM
3422 "permissions" : {
3423 "check" : [
3424 "perm",
3425 "/",
3426 [
44660702 3427 "Sys.Audit"
7aacca6f
DM
3428 ]
3429 ]
3430 },
44660702
DM
3431 "returns" : {
3432 "type" : "object"
3433 }
3434 },
3435 "PUT" : {
e9cd3bd4 3436 "allowtoken" : 1,
44660702
DM
3437 "description" : "Update vzdump backup job definition.",
3438 "method" : "PUT",
3439 "name" : "update_job",
56122987 3440 "parameters" : {
44660702 3441 "additionalProperties" : 0,
56122987 3442 "properties" : {
44660702
DM
3443 "all" : {
3444 "default" : 0,
3445 "description" : "Backup all known guest systems on this host.",
7aacca6f 3446 "optional" : 1,
013dc89f
DM
3447 "type" : "boolean",
3448 "typetext" : "<boolean>"
7aacca6f 3449 },
44660702
DM
3450 "bwlimit" : {
3451 "default" : 0,
3452 "description" : "Limit I/O bandwidth (KBytes per second).",
3453 "minimum" : 0,
3454 "optional" : 1,
4bd7df8b 3455 "type" : "integer",
013dc89f 3456 "typetext" : "<integer> (0 - N)"
44660702
DM
3457 },
3458 "compress" : {
3459 "default" : "0",
3460 "description" : "Compress dump file.",
7aacca6f 3461 "enum" : [
44660702
DM
3462 "0",
3463 "1",
3464 "gzip",
c5aa7e14
TL
3465 "lzo",
3466 "zstd"
7aacca6f 3467 ],
44660702
DM
3468 "optional" : 1,
3469 "type" : "string"
7aacca6f 3470 },
44660702
DM
3471 "delete" : {
3472 "description" : "A list of settings you want to delete.",
3473 "format" : "pve-configid-list",
7aacca6f 3474 "optional" : 1,
013dc89f
DM
3475 "type" : "string",
3476 "typetext" : "<string>"
56122987 3477 },
44660702
DM
3478 "dow" : {
3479 "description" : "Day of week selection.",
3480 "format" : "pve-day-of-week-list",
7aacca6f 3481 "optional" : 1,
013dc89f
DM
3482 "type" : "string",
3483 "typetext" : "<string>"
56122987 3484 },
44660702
DM
3485 "dumpdir" : {
3486 "description" : "Store resulting files to specified directory.",
56122987 3487 "optional" : 1,
013dc89f
DM
3488 "type" : "string",
3489 "typetext" : "<string>"
56122987 3490 },
44660702
DM
3491 "enabled" : {
3492 "default" : "1",
3493 "description" : "Enable or disable the job.",
3494 "optional" : 1,
013dc89f
DM
3495 "type" : "boolean",
3496 "typetext" : "<boolean>"
44660702
DM
3497 },
3498 "exclude" : {
3499 "description" : "Exclude specified guest systems (assumes --all)",
3500 "format" : "pve-vmid-list",
3501 "optional" : 1,
013dc89f
DM
3502 "type" : "string",
3503 "typetext" : "<string>"
44660702
DM
3504 },
3505 "exclude-path" : {
3506 "description" : "Exclude certain files/directories (shell globs).",
3507 "format" : "string-alist",
3508 "optional" : 1,
013dc89f
DM
3509 "type" : "string",
3510 "typetext" : "<string>"
44660702
DM
3511 },
3512 "id" : {
3513 "description" : "The job ID.",
3514 "maxLength" : 50,
013dc89f
DM
3515 "type" : "string",
3516 "typetext" : "<string>"
44660702
DM
3517 },
3518 "ionice" : {
3519 "default" : 7,
3520 "description" : "Set CFQ ionice priority.",
3521 "maximum" : 8,
3522 "minimum" : 0,
3523 "optional" : 1,
4bd7df8b 3524 "type" : "integer",
013dc89f 3525 "typetext" : "<integer> (0 - 8)"
44660702
DM
3526 },
3527 "lockwait" : {
3528 "default" : 180,
3529 "description" : "Maximal time to wait for the global lock (minutes).",
3530 "minimum" : 0,
3531 "optional" : 1,
4bd7df8b 3532 "type" : "integer",
013dc89f 3533 "typetext" : "<integer> (0 - N)"
44660702
DM
3534 },
3535 "mailnotification" : {
3536 "default" : "always",
3537 "description" : "Specify when to send an email",
56122987 3538 "enum" : [
44660702
DM
3539 "always",
3540 "failure"
56122987 3541 ],
44660702
DM
3542 "optional" : 1,
3543 "type" : "string"
3544 },
3545 "mailto" : {
3546 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3547 "format" : "string-list",
3548 "optional" : 1,
013dc89f
DM
3549 "type" : "string",
3550 "typetext" : "<string>"
44660702
DM
3551 },
3552 "maxfiles" : {
3553 "default" : 1,
3554 "description" : "Maximal number of backup files per guest system.",
3555 "minimum" : 1,
3556 "optional" : 1,
4bd7df8b 3557 "type" : "integer",
013dc89f 3558 "typetext" : "<integer> (1 - N)"
44660702
DM
3559 },
3560 "mode" : {
3561 "default" : "snapshot",
3562 "description" : "Backup mode.",
3563 "enum" : [
3564 "snapshot",
3565 "suspend",
3566 "stop"
3567 ],
3568 "optional" : 1,
3569 "type" : "string"
3570 },
3571 "node" : {
3572 "description" : "Only run if executed on this node.",
3573 "format" : "pve-node",
3574 "optional" : 1,
013dc89f
DM
3575 "type" : "string",
3576 "typetext" : "<string>"
44660702
DM
3577 },
3578 "pigz" : {
3579 "default" : 0,
3580 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3581 "optional" : 1,
013dc89f
DM
3582 "type" : "integer",
3583 "typetext" : "<integer>"
44660702 3584 },
9226ccbc
TL
3585 "pool" : {
3586 "description" : "Backup all known guest systems included in the specified pool.",
3587 "optional" : 1,
3588 "type" : "string",
3589 "typetext" : "<string>"
3590 },
739d4d64
TL
3591 "prune-backups" : {
3592 "description" : "Use these retention options instead of those from the storage configuration.",
3593 "format" : "prune-backups",
3594 "optional" : 1,
3595 "type" : "string",
4772952b 3596 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 3597 },
44660702
DM
3598 "quiet" : {
3599 "default" : 0,
3600 "description" : "Be quiet.",
3601 "optional" : 1,
013dc89f
DM
3602 "type" : "boolean",
3603 "typetext" : "<boolean>"
44660702
DM
3604 },
3605 "remove" : {
3606 "default" : 1,
3607 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3608 "optional" : 1,
013dc89f
DM
3609 "type" : "boolean",
3610 "typetext" : "<boolean>"
44660702
DM
3611 },
3612 "script" : {
3613 "description" : "Use specified hook script.",
3614 "optional" : 1,
013dc89f
DM
3615 "type" : "string",
3616 "typetext" : "<string>"
44660702
DM
3617 },
3618 "size" : {
3619 "default" : 1024,
3620 "description" : "Unused, will be removed in a future release.",
3621 "minimum" : 500,
3622 "optional" : 1,
4bd7df8b 3623 "type" : "integer",
013dc89f 3624 "typetext" : "<integer> (500 - N)"
44660702
DM
3625 },
3626 "starttime" : {
3627 "description" : "Job Start time.",
3628 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3629 "type" : "string",
44660702 3630 "typetext" : "HH:MM"
7aacca6f 3631 },
44660702
DM
3632 "stdexcludes" : {
3633 "default" : 1,
3634 "description" : "Exclude temporary files and logs.",
3635 "optional" : 1,
013dc89f
DM
3636 "type" : "boolean",
3637 "typetext" : "<boolean>"
44660702
DM
3638 },
3639 "stop" : {
3640 "default" : 0,
1e3f8156 3641 "description" : "Stop running backup jobs on this host.",
44660702 3642 "optional" : 1,
013dc89f
DM
3643 "type" : "boolean",
3644 "typetext" : "<boolean>"
44660702
DM
3645 },
3646 "stopwait" : {
3647 "default" : 10,
3648 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3649 "minimum" : 0,
3650 "optional" : 1,
4bd7df8b 3651 "type" : "integer",
013dc89f 3652 "typetext" : "<integer> (0 - N)"
44660702
DM
3653 },
3654 "storage" : {
3655 "description" : "Store resulting file to this storage.",
3656 "format" : "pve-storage-id",
3657 "optional" : 1,
013dc89f
DM
3658 "type" : "string",
3659 "typetext" : "<string>"
56122987 3660 },
44660702
DM
3661 "tmpdir" : {
3662 "description" : "Store temporary files to specified directory.",
3663 "optional" : 1,
013dc89f
DM
3664 "type" : "string",
3665 "typetext" : "<string>"
44660702
DM
3666 },
3667 "vmid" : {
3668 "description" : "The ID of the guest system you want to backup.",
3669 "format" : "pve-vmid-list",
3670 "optional" : 1,
013dc89f
DM
3671 "type" : "string",
3672 "typetext" : "<string>"
c5aa7e14
TL
3673 },
3674 "zstd" : {
3675 "default" : 1,
3676 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3677 "optional" : 1,
3678 "type" : "integer",
3679 "typetext" : "<integer>"
56122987 3680 }
44660702 3681 }
56122987
DM
3682 },
3683 "permissions" : {
3684 "check" : [
3685 "perm",
3686 "/",
3687 [
44660702 3688 "Sys.Modify"
56122987 3689 ]
04d22a9f
TL
3690 ],
3691 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
56122987 3692 },
44660702
DM
3693 "protected" : 1,
3694 "returns" : {
3695 "type" : "null"
7aacca6f 3696 }
56122987
DM
3697 }
3698 },
04d22a9f 3699 "leaf" : 0,
44660702
DM
3700 "path" : "/cluster/backup/{id}",
3701 "text" : "{id}"
3702 }
3703 ],
3704 "info" : {
3705 "GET" : {
e9cd3bd4 3706 "allowtoken" : 1,
44660702
DM
3707 "description" : "List vzdump backup schedule.",
3708 "method" : "GET",
3709 "name" : "index",
3710 "parameters" : {
3711 "additionalProperties" : 0
3712 },
3713 "permissions" : {
3714 "check" : [
3715 "perm",
3716 "/",
3717 [
3718 "Sys.Audit"
3719 ]
3720 ]
3721 },
3722 "returns" : {
3723 "items" : {
3724 "properties" : {
3725 "id" : {
1c532546
TL
3726 "description" : "The job ID.",
3727 "maxLength" : 50,
44660702
DM
3728 "type" : "string"
3729 }
3730 },
3731 "type" : "object"
3732 },
3733 "links" : [
3734 {
3735 "href" : "{id}",
3736 "rel" : "child"
3737 }
3738 ],
3739 "type" : "array"
3740 }
3741 },
3742 "POST" : {
e9cd3bd4 3743 "allowtoken" : 1,
44660702
DM
3744 "description" : "Create new vzdump backup job.",
3745 "method" : "POST",
3746 "name" : "create_job",
3747 "parameters" : {
3748 "additionalProperties" : 0,
3749 "properties" : {
3750 "all" : {
3751 "default" : 0,
3752 "description" : "Backup all known guest systems on this host.",
3753 "optional" : 1,
013dc89f
DM
3754 "type" : "boolean",
3755 "typetext" : "<boolean>"
44660702
DM
3756 },
3757 "bwlimit" : {
3758 "default" : 0,
3759 "description" : "Limit I/O bandwidth (KBytes per second).",
3760 "minimum" : 0,
3761 "optional" : 1,
4bd7df8b 3762 "type" : "integer",
013dc89f 3763 "typetext" : "<integer> (0 - N)"
44660702
DM
3764 },
3765 "compress" : {
3766 "default" : "0",
3767 "description" : "Compress dump file.",
3768 "enum" : [
3769 "0",
3770 "1",
3771 "gzip",
c5aa7e14
TL
3772 "lzo",
3773 "zstd"
44660702
DM
3774 ],
3775 "optional" : 1,
3776 "type" : "string"
3777 },
3778 "dow" : {
3779 "default" : "mon,tue,wed,thu,fri,sat,sun",
3780 "description" : "Day of week selection.",
3781 "format" : "pve-day-of-week-list",
3782 "optional" : 1,
013dc89f
DM
3783 "type" : "string",
3784 "typetext" : "<string>"
44660702
DM
3785 },
3786 "dumpdir" : {
3787 "description" : "Store resulting files to specified directory.",
3788 "optional" : 1,
013dc89f
DM
3789 "type" : "string",
3790 "typetext" : "<string>"
44660702
DM
3791 },
3792 "enabled" : {
3793 "default" : "1",
3794 "description" : "Enable or disable the job.",
3795 "optional" : 1,
013dc89f
DM
3796 "type" : "boolean",
3797 "typetext" : "<boolean>"
44660702
DM
3798 },
3799 "exclude" : {
3800 "description" : "Exclude specified guest systems (assumes --all)",
3801 "format" : "pve-vmid-list",
3802 "optional" : 1,
013dc89f
DM
3803 "type" : "string",
3804 "typetext" : "<string>"
44660702
DM
3805 },
3806 "exclude-path" : {
3807 "description" : "Exclude certain files/directories (shell globs).",
3808 "format" : "string-alist",
3809 "optional" : 1,
013dc89f
DM
3810 "type" : "string",
3811 "typetext" : "<string>"
44660702
DM
3812 },
3813 "ionice" : {
3814 "default" : 7,
3815 "description" : "Set CFQ ionice priority.",
3816 "maximum" : 8,
3817 "minimum" : 0,
3818 "optional" : 1,
4bd7df8b 3819 "type" : "integer",
013dc89f 3820 "typetext" : "<integer> (0 - 8)"
44660702
DM
3821 },
3822 "lockwait" : {
3823 "default" : 180,
3824 "description" : "Maximal time to wait for the global lock (minutes).",
3825 "minimum" : 0,
3826 "optional" : 1,
4bd7df8b 3827 "type" : "integer",
013dc89f 3828 "typetext" : "<integer> (0 - N)"
44660702
DM
3829 },
3830 "mailnotification" : {
3831 "default" : "always",
3832 "description" : "Specify when to send an email",
3833 "enum" : [
3834 "always",
3835 "failure"
3836 ],
3837 "optional" : 1,
3838 "type" : "string"
3839 },
3840 "mailto" : {
3841 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3842 "format" : "string-list",
3843 "optional" : 1,
013dc89f
DM
3844 "type" : "string",
3845 "typetext" : "<string>"
44660702
DM
3846 },
3847 "maxfiles" : {
3848 "default" : 1,
3849 "description" : "Maximal number of backup files per guest system.",
3850 "minimum" : 1,
3851 "optional" : 1,
4bd7df8b 3852 "type" : "integer",
013dc89f 3853 "typetext" : "<integer> (1 - N)"
44660702
DM
3854 },
3855 "mode" : {
3856 "default" : "snapshot",
3857 "description" : "Backup mode.",
3858 "enum" : [
3859 "snapshot",
3860 "suspend",
3861 "stop"
3862 ],
3863 "optional" : 1,
3864 "type" : "string"
3865 },
3866 "node" : {
3867 "description" : "Only run if executed on this node.",
3868 "format" : "pve-node",
3869 "optional" : 1,
013dc89f
DM
3870 "type" : "string",
3871 "typetext" : "<string>"
44660702
DM
3872 },
3873 "pigz" : {
3874 "default" : 0,
3875 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3876 "optional" : 1,
013dc89f
DM
3877 "type" : "integer",
3878 "typetext" : "<integer>"
44660702 3879 },
9226ccbc
TL
3880 "pool" : {
3881 "description" : "Backup all known guest systems included in the specified pool.",
3882 "optional" : 1,
3883 "type" : "string",
3884 "typetext" : "<string>"
3885 },
739d4d64
TL
3886 "prune-backups" : {
3887 "description" : "Use these retention options instead of those from the storage configuration.",
3888 "format" : "prune-backups",
3889 "optional" : 1,
3890 "type" : "string",
4772952b 3891 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 3892 },
44660702
DM
3893 "quiet" : {
3894 "default" : 0,
3895 "description" : "Be quiet.",
3896 "optional" : 1,
013dc89f
DM
3897 "type" : "boolean",
3898 "typetext" : "<boolean>"
44660702
DM
3899 },
3900 "remove" : {
3901 "default" : 1,
3902 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3903 "optional" : 1,
013dc89f
DM
3904 "type" : "boolean",
3905 "typetext" : "<boolean>"
44660702
DM
3906 },
3907 "script" : {
3908 "description" : "Use specified hook script.",
3909 "optional" : 1,
013dc89f
DM
3910 "type" : "string",
3911 "typetext" : "<string>"
44660702
DM
3912 },
3913 "size" : {
3914 "default" : 1024,
3915 "description" : "Unused, will be removed in a future release.",
3916 "minimum" : 500,
3917 "optional" : 1,
4bd7df8b 3918 "type" : "integer",
013dc89f 3919 "typetext" : "<integer> (500 - N)"
44660702
DM
3920 },
3921 "starttime" : {
3922 "description" : "Job Start time.",
3923 "pattern" : "\\d{1,2}:\\d{1,2}",
3924 "type" : "string",
3925 "typetext" : "HH:MM"
3926 },
3927 "stdexcludes" : {
3928 "default" : 1,
3929 "description" : "Exclude temporary files and logs.",
3930 "optional" : 1,
013dc89f
DM
3931 "type" : "boolean",
3932 "typetext" : "<boolean>"
44660702
DM
3933 },
3934 "stop" : {
3935 "default" : 0,
1e3f8156 3936 "description" : "Stop running backup jobs on this host.",
44660702 3937 "optional" : 1,
013dc89f
DM
3938 "type" : "boolean",
3939 "typetext" : "<boolean>"
44660702
DM
3940 },
3941 "stopwait" : {
3942 "default" : 10,
3943 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3944 "minimum" : 0,
3945 "optional" : 1,
4bd7df8b 3946 "type" : "integer",
013dc89f 3947 "typetext" : "<integer> (0 - N)"
44660702
DM
3948 },
3949 "storage" : {
3950 "description" : "Store resulting file to this storage.",
3951 "format" : "pve-storage-id",
3952 "optional" : 1,
013dc89f
DM
3953 "type" : "string",
3954 "typetext" : "<string>"
44660702
DM
3955 },
3956 "tmpdir" : {
3957 "description" : "Store temporary files to specified directory.",
3958 "optional" : 1,
013dc89f
DM
3959 "type" : "string",
3960 "typetext" : "<string>"
44660702
DM
3961 },
3962 "vmid" : {
3963 "description" : "The ID of the guest system you want to backup.",
3964 "format" : "pve-vmid-list",
3965 "optional" : 1,
013dc89f
DM
3966 "type" : "string",
3967 "typetext" : "<string>"
c5aa7e14
TL
3968 },
3969 "zstd" : {
3970 "default" : 1,
3971 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3972 "optional" : 1,
3973 "type" : "integer",
3974 "typetext" : "<integer>"
44660702
DM
3975 }
3976 }
3977 },
3978 "permissions" : {
3979 "check" : [
3980 "perm",
3981 "/",
3982 [
3983 "Sys.Modify"
3984 ]
de0983cb
DM
3985 ],
3986 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3987 },
3988 "protected" : 1,
3989 "returns" : {
3990 "type" : "null"
3991 }
3992 }
3993 },
3994 "leaf" : 0,
3995 "path" : "/cluster/backup",
3996 "text" : "backup"
3997 },
04d22a9f
TL
3998 {
3999 "children" : [
4000 {
4001 "info" : {
4002 "GET" : {
4003 "allowtoken" : 1,
4004 "description" : "Shows all guests which are not covered by any backup job.",
4005 "method" : "GET",
4006 "name" : "get_guests_not_in_backup",
4007 "parameters" : {
4008 "additionalProperties" : 0
4009 },
4010 "permissions" : {
4011 "check" : [
4012 "perm",
4013 "/",
4014 [
4015 "Sys.Audit"
4016 ]
4017 ]
4018 },
4019 "protected" : 1,
4020 "returns" : {
4021 "description" : "Contains the guest objects.",
4022 "items" : {
4023 "properties" : {
4024 "name" : {
4025 "description" : "Name of the guest",
4026 "optional" : 1,
4027 "type" : "string"
4028 },
4029 "type" : {
4030 "description" : "Type of the guest.",
4031 "enum" : [
4032 "qemu",
4033 "lxc"
4034 ],
4035 "type" : "string"
4036 },
4037 "vmid" : {
4038 "description" : "VMID of the guest.",
4039 "type" : "integer"
4040 }
4041 },
4042 "type" : "object"
4043 },
4044 "type" : "array"
4045 }
4046 }
4047 },
4048 "leaf" : 1,
4049 "path" : "/cluster/backupinfo/not_backed_up",
4050 "text" : "not_backed_up"
4051 }
4052 ],
4053 "info" : {
4054 "GET" : {
4055 "allowtoken" : 1,
4056 "description" : "Stub, waits for future use.",
4057 "method" : "GET",
4058 "name" : "get_backupinfo",
4059 "parameters" : {
4060 "additionalProperties" : 0
4061 },
4062 "protected" : 1,
4063 "returns" : {
4064 "description" : "Shows stub message",
4065 "type" : "string"
4066 }
4067 }
4068 },
4069 "leaf" : 0,
4070 "path" : "/cluster/backupinfo",
4071 "text" : "backupinfo"
4072 },
44660702
DM
4073 {
4074 "children" : [
4075 {
4076 "children" : [
4077 {
4078 "children" : [
56122987 4079 {
56122987
DM
4080 "info" : {
4081 "POST" : {
e9cd3bd4 4082 "allowtoken" : 1,
44660702
DM
4083 "description" : "Request resource migration (online) to another node.",
4084 "method" : "POST",
4085 "name" : "migrate",
56122987 4086 "parameters" : {
7aacca6f 4087 "additionalProperties" : 0,
56122987
DM
4088 "properties" : {
4089 "node" : {
95895385 4090 "description" : "Target node.",
44660702 4091 "format" : "pve-node",
013dc89f
DM
4092 "type" : "string",
4093 "typetext" : "<string>"
56122987
DM
4094 },
4095 "sid" : {
44660702 4096 "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 4097 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4098 "type" : "string",
44660702 4099 "typetext" : "<type>:<name>"
56122987 4100 }
7aacca6f 4101 }
56122987 4102 },
56122987
DM
4103 "permissions" : {
4104 "check" : [
4105 "perm",
4106 "/",
4107 [
4108 "Sys.Console"
4109 ]
4110 ]
4111 },
7aacca6f 4112 "protected" : 1,
7aacca6f
DM
4113 "returns" : {
4114 "type" : "null"
44660702 4115 }
56122987 4116 }
44660702
DM
4117 },
4118 "leaf" : 1,
4119 "path" : "/cluster/ha/resources/{sid}/migrate",
4120 "text" : "migrate"
4121 },
4122 {
4123 "info" : {
4124 "POST" : {
e9cd3bd4 4125 "allowtoken" : 1,
44660702
DM
4126 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
4127 "method" : "POST",
4128 "name" : "relocate",
4129 "parameters" : {
4130 "additionalProperties" : 0,
4131 "properties" : {
4132 "node" : {
95895385 4133 "description" : "Target node.",
44660702 4134 "format" : "pve-node",
013dc89f
DM
4135 "type" : "string",
4136 "typetext" : "<string>"
44660702
DM
4137 },
4138 "sid" : {
4139 "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).",
4140 "format" : "pve-ha-resource-or-vm-id",
4141 "type" : "string",
4142 "typetext" : "<type>:<name>"
4143 }
4144 }
4145 },
4146 "permissions" : {
4147 "check" : [
4148 "perm",
4149 "/",
4150 [
4151 "Sys.Console"
4152 ]
4153 ]
4154 },
4155 "protected" : 1,
4156 "returns" : {
4157 "type" : "null"
4158 }
4159 }
4160 },
4161 "leaf" : 1,
4162 "path" : "/cluster/ha/resources/{sid}/relocate",
4163 "text" : "relocate"
4164 }
4165 ],
4166 "info" : {
4167 "DELETE" : {
e9cd3bd4 4168 "allowtoken" : 1,
44660702
DM
4169 "description" : "Delete resource configuration.",
4170 "method" : "DELETE",
4171 "name" : "delete",
7aacca6f 4172 "parameters" : {
44660702 4173 "additionalProperties" : 0,
7aacca6f
DM
4174 "properties" : {
4175 "sid" : {
4176 "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 4177 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4178 "type" : "string",
44660702
DM
4179 "typetext" : "<type>:<name>"
4180 }
4181 }
4182 },
4183 "permissions" : {
4184 "check" : [
4185 "perm",
4186 "/",
4187 [
4188 "Sys.Console"
4189 ]
4190 ]
4191 },
4192 "protected" : 1,
4193 "returns" : {
4194 "type" : "null"
4195 }
4196 },
4197 "GET" : {
e9cd3bd4 4198 "allowtoken" : 1,
44660702
DM
4199 "description" : "Read resource configuration.",
4200 "method" : "GET",
4201 "name" : "read",
4202 "parameters" : {
4203 "additionalProperties" : 0,
4204 "properties" : {
4205 "sid" : {
4206 "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 4207 "format" : "pve-ha-resource-or-vm-id",
44660702 4208 "type" : "string",
7aacca6f
DM
4209 "typetext" : "<type>:<name>"
4210 }
44660702 4211 }
7aacca6f
DM
4212 },
4213 "permissions" : {
4214 "check" : [
4215 "perm",
4216 "/",
4217 [
4218 "Sys.Audit"
4219 ]
4220 ]
4221 },
5f26e15b
TL
4222 "returns" : {
4223 "properties" : {
4224 "comment" : {
4225 "description" : "Description.",
4226 "optional" : 1,
4227 "type" : "string"
4228 },
4229 "digest" : {
4230 "description" : "Can be used to prevent concurrent modifications.",
4231 "type" : "string"
4232 },
4233 "group" : {
4234 "description" : "The HA group identifier.",
4235 "format" : "pve-configid",
4236 "optional" : 1,
4237 "type" : "string"
4238 },
4239 "max_relocate" : {
4240 "description" : "Maximal number of service relocate tries when a service failes to start.",
4241 "optional" : 1,
4242 "type" : "integer"
4243 },
4244 "max_restart" : {
4245 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4246 "optional" : 1,
4247 "type" : "integer"
4248 },
4249 "sid" : {
4250 "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).",
4251 "format" : "pve-ha-resource-or-vm-id",
4252 "type" : "string",
4253 "typetext" : "<type>:<name>"
4254 },
4255 "state" : {
4256 "description" : "Requested resource state.",
4257 "enum" : [
4258 "started",
4259 "stopped",
4260 "enabled",
4261 "disabled",
4262 "ignored"
4263 ],
4264 "optional" : 1,
4265 "type" : "string"
4266 },
4267 "type" : {
4268 "description" : "The type of the resources.",
4269 "type" : "string"
4270 }
4271 },
4272 "type" : "object"
4273 }
7aacca6f 4274 },
56122987 4275 "PUT" : {
e9cd3bd4 4276 "allowtoken" : 1,
44660702 4277 "description" : "Update resource configuration.",
7aacca6f 4278 "method" : "PUT",
44660702 4279 "name" : "update",
56122987
DM
4280 "parameters" : {
4281 "additionalProperties" : 0,
4282 "properties" : {
44660702
DM
4283 "comment" : {
4284 "description" : "Description.",
4285 "maxLength" : 4096,
56122987 4286 "optional" : 1,
013dc89f
DM
4287 "type" : "string",
4288 "typetext" : "<string>"
56122987 4289 },
7aacca6f
DM
4290 "delete" : {
4291 "description" : "A list of settings you want to delete.",
7aacca6f 4292 "format" : "pve-configid-list",
44660702
DM
4293 "maxLength" : 4096,
4294 "optional" : 1,
013dc89f
DM
4295 "type" : "string",
4296 "typetext" : "<string>"
56122987 4297 },
44660702
DM
4298 "digest" : {
4299 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4300 "maxLength" : 40,
4301 "optional" : 1,
013dc89f
DM
4302 "type" : "string",
4303 "typetext" : "<string>"
56122987 4304 },
44660702
DM
4305 "group" : {
4306 "description" : "The HA group identifier.",
4307 "format" : "pve-configid",
7aacca6f 4308 "optional" : 1,
013dc89f
DM
4309 "type" : "string",
4310 "typetext" : "<string>"
56122987
DM
4311 },
4312 "max_relocate" : {
7aacca6f 4313 "default" : 1,
56122987 4314 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
4315 "minimum" : 0,
4316 "optional" : 1,
4bd7df8b 4317 "type" : "integer",
013dc89f 4318 "typetext" : "<integer> (0 - N)"
7aacca6f 4319 },
44660702
DM
4320 "max_restart" : {
4321 "default" : 1,
4322 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4323 "minimum" : 0,
7aacca6f 4324 "optional" : 1,
4bd7df8b 4325 "type" : "integer",
013dc89f 4326 "typetext" : "<integer> (0 - N)"
44660702
DM
4327 },
4328 "sid" : {
4329 "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).",
4330 "format" : "pve-ha-resource-or-vm-id",
4331 "type" : "string",
4332 "typetext" : "<type>:<name>"
7aacca6f
DM
4333 },
4334 "state" : {
f13c1238
DM
4335 "default" : "started",
4336 "description" : "Requested resource state.",
7aacca6f 4337 "enum" : [
f13c1238
DM
4338 "started",
4339 "stopped",
7aacca6f 4340 "enabled",
2489d6df
WB
4341 "disabled",
4342 "ignored"
7aacca6f 4343 ],
7aacca6f 4344 "optional" : 1,
f13c1238 4345 "type" : "string",
2489d6df 4346 "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 4347 }
44660702
DM
4348 },
4349 "type" : "object"
56122987 4350 },
56122987
DM
4351 "permissions" : {
4352 "check" : [
4353 "perm",
4354 "/",
4355 [
4356 "Sys.Console"
4357 ]
4358 ]
4359 },
7aacca6f 4360 "protected" : 1,
56122987
DM
4361 "returns" : {
4362 "type" : "null"
4363 }
4364 }
4365 },
44660702 4366 "leaf" : 0,
7aacca6f 4367 "path" : "/cluster/ha/resources/{sid}",
44660702 4368 "text" : "{sid}"
56122987
DM
4369 }
4370 ],
7aacca6f
DM
4371 "info" : {
4372 "GET" : {
e9cd3bd4 4373 "allowtoken" : 1,
44660702
DM
4374 "description" : "List HA resources.",
4375 "method" : "GET",
4376 "name" : "index",
7aacca6f 4377 "parameters" : {
44660702
DM
4378 "additionalProperties" : 0,
4379 "properties" : {
4380 "type" : {
4381 "description" : "Only list resources of specific type",
4382 "enum" : [
4383 "ct",
4384 "vm"
4385 ],
4386 "optional" : 1,
4387 "type" : "string"
4388 }
4389 }
7aacca6f 4390 },
7aacca6f
DM
4391 "permissions" : {
4392 "check" : [
4393 "perm",
4394 "/",
4395 [
4396 "Sys.Audit"
4397 ]
4398 ]
4399 },
7aacca6f 4400 "returns" : {
7aacca6f 4401 "items" : {
7aacca6f 4402 "properties" : {
44660702 4403 "sid" : {
7aacca6f
DM
4404 "type" : "string"
4405 }
44660702
DM
4406 },
4407 "type" : "object"
7aacca6f
DM
4408 },
4409 "links" : [
4410 {
44660702 4411 "href" : "{sid}",
7aacca6f
DM
4412 "rel" : "child"
4413 }
44660702
DM
4414 ],
4415 "type" : "array"
7aacca6f
DM
4416 }
4417 },
4418 "POST" : {
e9cd3bd4 4419 "allowtoken" : 1,
44660702 4420 "description" : "Create a new HA resource.",
7aacca6f 4421 "method" : "POST",
44660702 4422 "name" : "create",
7aacca6f 4423 "parameters" : {
44660702 4424 "additionalProperties" : 0,
7aacca6f
DM
4425 "properties" : {
4426 "comment" : {
7aacca6f 4427 "description" : "Description.",
44660702 4428 "maxLength" : 4096,
7aacca6f 4429 "optional" : 1,
013dc89f
DM
4430 "type" : "string",
4431 "typetext" : "<string>"
7aacca6f 4432 },
44660702
DM
4433 "group" : {
4434 "description" : "The HA group identifier.",
4435 "format" : "pve-configid",
7aacca6f 4436 "optional" : 1,
013dc89f
DM
4437 "type" : "string",
4438 "typetext" : "<string>"
7aacca6f 4439 },
44660702
DM
4440 "max_relocate" : {
4441 "default" : 1,
4442 "description" : "Maximal number of service relocate tries when a service failes to start.",
4443 "minimum" : 0,
7aacca6f 4444 "optional" : 1,
4bd7df8b 4445 "type" : "integer",
013dc89f 4446 "typetext" : "<integer> (0 - N)"
7aacca6f 4447 },
44660702
DM
4448 "max_restart" : {
4449 "default" : 1,
4450 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4451 "minimum" : 0,
4452 "optional" : 1,
4bd7df8b 4453 "type" : "integer",
013dc89f 4454 "typetext" : "<integer> (0 - N)"
44660702
DM
4455 },
4456 "sid" : {
4457 "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).",
4458 "format" : "pve-ha-resource-or-vm-id",
4459 "type" : "string",
4460 "typetext" : "<type>:<name>"
4461 },
4462 "state" : {
f13c1238
DM
4463 "default" : "started",
4464 "description" : "Requested resource state.",
7aacca6f 4465 "enum" : [
f13c1238
DM
4466 "started",
4467 "stopped",
44660702 4468 "enabled",
2489d6df
WB
4469 "disabled",
4470 "ignored"
7aacca6f 4471 ],
7aacca6f 4472 "optional" : 1,
f13c1238 4473 "type" : "string",
2489d6df 4474 "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 4475 },
44660702
DM
4476 "type" : {
4477 "description" : "Resource type.",
4478 "enum" : [
4479 "ct",
4480 "vm"
4481 ],
4482 "optional" : 1,
4483 "type" : "string"
4484 }
7aacca6f 4485 },
44660702 4486 "type" : "object"
7aacca6f
DM
4487 },
4488 "permissions" : {
4489 "check" : [
4490 "perm",
4491 "/",
4492 [
4493 "Sys.Console"
4494 ]
4495 ]
4496 },
44660702
DM
4497 "protected" : 1,
4498 "returns" : {
4499 "type" : "null"
4500 }
7aacca6f
DM
4501 }
4502 },
44660702
DM
4503 "leaf" : 0,
4504 "path" : "/cluster/ha/resources",
4505 "text" : "resources"
4506 },
4507 {
56122987
DM
4508 "children" : [
4509 {
56122987 4510 "info" : {
44660702 4511 "DELETE" : {
e9cd3bd4 4512 "allowtoken" : 1,
44660702
DM
4513 "description" : "Delete ha group configuration.",
4514 "method" : "DELETE",
4515 "name" : "delete",
56122987 4516 "parameters" : {
7aacca6f 4517 "additionalProperties" : 0,
56122987 4518 "properties" : {
7aacca6f
DM
4519 "group" : {
4520 "description" : "The HA group identifier.",
44660702 4521 "format" : "pve-configid",
013dc89f
DM
4522 "type" : "string",
4523 "typetext" : "<string>"
56122987 4524 }
7aacca6f 4525 }
56122987 4526 },
56122987
DM
4527 "permissions" : {
4528 "check" : [
4529 "perm",
4530 "/",
4531 [
7aacca6f 4532 "Sys.Console"
56122987
DM
4533 ]
4534 ]
4535 },
44660702 4536 "protected" : 1,
7aacca6f
DM
4537 "returns" : {
4538 "type" : "null"
56122987
DM
4539 }
4540 },
44660702 4541 "GET" : {
e9cd3bd4 4542 "allowtoken" : 1,
44660702
DM
4543 "description" : "Read ha group configuration.",
4544 "method" : "GET",
4545 "name" : "read",
56122987 4546 "parameters" : {
44660702 4547 "additionalProperties" : 0,
56122987
DM
4548 "properties" : {
4549 "group" : {
4550 "description" : "The HA group identifier.",
44660702 4551 "format" : "pve-configid",
013dc89f
DM
4552 "type" : "string",
4553 "typetext" : "<string>"
56122987 4554 }
44660702 4555 }
56122987 4556 },
56122987
DM
4557 "permissions" : {
4558 "check" : [
4559 "perm",
4560 "/",
4561 [
44660702 4562 "Sys.Audit"
56122987
DM
4563 ]
4564 ]
4565 },
44660702 4566 "returns" : {}
7aacca6f 4567 },
44660702 4568 "PUT" : {
e9cd3bd4 4569 "allowtoken" : 1,
44660702
DM
4570 "description" : "Update ha group configuration.",
4571 "method" : "PUT",
4572 "name" : "update",
7aacca6f 4573 "parameters" : {
44660702 4574 "additionalProperties" : 0,
7aacca6f 4575 "properties" : {
44660702
DM
4576 "comment" : {
4577 "description" : "Description.",
4578 "maxLength" : 4096,
4579 "optional" : 1,
013dc89f
DM
4580 "type" : "string",
4581 "typetext" : "<string>"
44660702
DM
4582 },
4583 "delete" : {
4584 "description" : "A list of settings you want to delete.",
4585 "format" : "pve-configid-list",
4586 "maxLength" : 4096,
4587 "optional" : 1,
013dc89f
DM
4588 "type" : "string",
4589 "typetext" : "<string>"
44660702
DM
4590 },
4591 "digest" : {
4592 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4593 "maxLength" : 40,
4594 "optional" : 1,
013dc89f
DM
4595 "type" : "string",
4596 "typetext" : "<string>"
44660702 4597 },
7aacca6f
DM
4598 "group" : {
4599 "description" : "The HA group identifier.",
44660702 4600 "format" : "pve-configid",
013dc89f
DM
4601 "type" : "string",
4602 "typetext" : "<string>"
44660702
DM
4603 },
4604 "nodes" : {
f13c1238 4605 "description" : "List of cluster node names with optional priority.",
44660702
DM
4606 "format" : "pve-ha-group-node-list",
4607 "optional" : 1,
7aacca6f 4608 "type" : "string",
f13c1238
DM
4609 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4610 "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
4611 },
4612 "nofailback" : {
4613 "default" : 0,
4614 "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.",
4615 "optional" : 1,
013dc89f
DM
4616 "type" : "boolean",
4617 "typetext" : "<boolean>"
44660702
DM
4618 },
4619 "restricted" : {
4620 "default" : 0,
c4808e75 4621 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4622 "optional" : 1,
013dc89f 4623 "type" : "boolean",
c4808e75
DM
4624 "typetext" : "<boolean>",
4625 "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
4626 }
4627 },
44660702 4628 "type" : "object"
7aacca6f 4629 },
7aacca6f
DM
4630 "permissions" : {
4631 "check" : [
4632 "perm",
4633 "/",
4634 [
44660702 4635 "Sys.Console"
7aacca6f
DM
4636 ]
4637 ]
4638 },
44660702
DM
4639 "protected" : 1,
4640 "returns" : {
4641 "type" : "null"
4642 }
56122987
DM
4643 }
4644 },
4645 "leaf" : 1,
44660702
DM
4646 "path" : "/cluster/ha/groups/{group}",
4647 "text" : "{group}"
56122987 4648 }
44660702
DM
4649 ],
4650 "info" : {
4651 "GET" : {
e9cd3bd4 4652 "allowtoken" : 1,
44660702
DM
4653 "description" : "Get HA groups.",
4654 "method" : "GET",
4655 "name" : "index",
4656 "parameters" : {
4657 "additionalProperties" : 0
4658 },
4659 "permissions" : {
4660 "check" : [
4661 "perm",
4662 "/",
4663 [
4664 "Sys.Audit"
4665 ]
4666 ]
4667 },
4668 "returns" : {
4669 "items" : {
4670 "properties" : {
4671 "group" : {
4672 "type" : "string"
4673 }
4674 },
4675 "type" : "object"
4676 },
4677 "links" : [
4678 {
4679 "href" : "{group}",
4680 "rel" : "child"
4681 }
4682 ],
4683 "type" : "array"
4684 }
4685 },
4686 "POST" : {
e9cd3bd4 4687 "allowtoken" : 1,
44660702
DM
4688 "description" : "Create a new HA group.",
4689 "method" : "POST",
4690 "name" : "create",
4691 "parameters" : {
4692 "additionalProperties" : 0,
4693 "properties" : {
4694 "comment" : {
4695 "description" : "Description.",
4696 "maxLength" : 4096,
4697 "optional" : 1,
013dc89f
DM
4698 "type" : "string",
4699 "typetext" : "<string>"
44660702
DM
4700 },
4701 "group" : {
4702 "description" : "The HA group identifier.",
4703 "format" : "pve-configid",
013dc89f
DM
4704 "type" : "string",
4705 "typetext" : "<string>"
44660702
DM
4706 },
4707 "nodes" : {
f13c1238 4708 "description" : "List of cluster node names with optional priority.",
44660702
DM
4709 "format" : "pve-ha-group-node-list",
4710 "optional" : 0,
4711 "type" : "string",
f13c1238
DM
4712 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4713 "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
4714 },
4715 "nofailback" : {
4716 "default" : 0,
4717 "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.",
4718 "optional" : 1,
013dc89f
DM
4719 "type" : "boolean",
4720 "typetext" : "<boolean>"
44660702
DM
4721 },
4722 "restricted" : {
4723 "default" : 0,
c4808e75 4724 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4725 "optional" : 1,
013dc89f 4726 "type" : "boolean",
c4808e75
DM
4727 "typetext" : "<boolean>",
4728 "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
4729 },
4730 "type" : {
4731 "description" : "Group type.",
4732 "enum" : [
4733 "group"
4734 ],
4735 "optional" : 1,
4736 "type" : "string"
4737 }
4738 },
4739 "type" : "object"
4740 },
4741 "permissions" : {
4742 "check" : [
4743 "perm",
4744 "/",
4745 [
4746 "Sys.Console"
4747 ]
4748 ]
4749 },
4750 "protected" : 1,
4751 "returns" : {
4752 "type" : "null"
4753 }
4754 }
4755 },
4756 "leaf" : 0,
4757 "path" : "/cluster/ha/groups",
4758 "text" : "groups"
7aacca6f
DM
4759 },
4760 {
7aacca6f
DM
4761 "children" : [
4762 {
4763 "info" : {
4764 "GET" : {
e9cd3bd4 4765 "allowtoken" : 1,
56122987 4766 "description" : "Get HA manger status.",
44660702 4767 "method" : "GET",
7aacca6f 4768 "name" : "status",
44660702
DM
4769 "parameters" : {
4770 "additionalProperties" : 0
4771 },
56122987
DM
4772 "permissions" : {
4773 "check" : [
4774 "perm",
4775 "/",
4776 [
4777 "Sys.Audit"
4778 ]
4779 ]
7aacca6f 4780 },
44660702
DM
4781 "returns" : {
4782 "type" : "array"
56122987
DM
4783 }
4784 }
7aacca6f 4785 },
7aacca6f 4786 "leaf" : 1,
44660702
DM
4787 "path" : "/cluster/ha/status/current",
4788 "text" : "current"
56122987
DM
4789 },
4790 {
4791 "info" : {
4792 "GET" : {
e9cd3bd4 4793 "allowtoken" : 1,
7aacca6f 4794 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4795 "method" : "GET",
4796 "name" : "manager_status",
7aacca6f
DM
4797 "parameters" : {
4798 "additionalProperties" : 0
4799 },
56122987
DM
4800 "permissions" : {
4801 "check" : [
4802 "perm",
4803 "/",
4804 [
4805 "Sys.Audit"
4806 ]
4807 ]
44660702
DM
4808 },
4809 "returns" : {
4810 "type" : "object"
7aacca6f 4811 }
56122987
DM
4812 }
4813 },
56122987 4814 "leaf" : 1,
44660702
DM
4815 "path" : "/cluster/ha/status/manager_status",
4816 "text" : "manager_status"
56122987
DM
4817 }
4818 ],
56122987
DM
4819 "info" : {
4820 "GET" : {
e9cd3bd4 4821 "allowtoken" : 1,
44660702 4822 "description" : "Directory index.",
7aacca6f 4823 "method" : "GET",
44660702
DM
4824 "name" : "index",
4825 "parameters" : {
4826 "additionalProperties" : 0
4827 },
4828 "permissions" : {
4829 "user" : "all"
4830 },
56122987 4831 "returns" : {
56122987
DM
4832 "items" : {
4833 "properties" : {},
4834 "type" : "object"
4835 },
4836 "links" : [
4837 {
44660702
DM
4838 "href" : "{name}",
4839 "rel" : "child"
56122987 4840 }
7aacca6f
DM
4841 ],
4842 "type" : "array"
44660702 4843 }
56122987 4844 }
7aacca6f 4845 },
44660702 4846 "leaf" : 0,
7aacca6f 4847 "path" : "/cluster/ha/status",
44660702 4848 "text" : "status"
56122987
DM
4849 }
4850 ],
56122987
DM
4851 "info" : {
4852 "GET" : {
e9cd3bd4 4853 "allowtoken" : 1,
7aacca6f 4854 "description" : "Directory index.",
44660702
DM
4855 "method" : "GET",
4856 "name" : "index",
4857 "parameters" : {
4858 "additionalProperties" : 0
4859 },
7aacca6f
DM
4860 "permissions" : {
4861 "check" : [
4862 "perm",
4863 "/",
4864 [
4865 "Sys.Audit"
4866 ]
4867 ]
4868 },
56122987 4869 "returns" : {
56122987 4870 "items" : {
7aacca6f
DM
4871 "properties" : {
4872 "id" : {
4873 "type" : "string"
4874 }
44660702
DM
4875 },
4876 "type" : "object"
7aacca6f
DM
4877 },
4878 "links" : [
4879 {
4880 "href" : "{id}",
4881 "rel" : "child"
4882 }
44660702
DM
4883 ],
4884 "type" : "array"
7aacca6f
DM
4885 }
4886 }
44660702
DM
4887 },
4888 "leaf" : 0,
4889 "path" : "/cluster/ha",
4890 "text" : "ha"
7aacca6f 4891 },
a9a8e3d1
DM
4892 {
4893 "children" : [
c5aa7e14
TL
4894 {
4895 "children" : [
4896 {
4897 "info" : {
4898 "DELETE" : {
4899 "allowtoken" : 1,
4900 "description" : "Delete ACME plugin configuration.",
4901 "method" : "DELETE",
4902 "name" : "delete_plugin",
4903 "parameters" : {
4904 "additionalProperties" : 0,
4905 "properties" : {
4906 "id" : {
4907 "description" : "Unique identifier for ACME plugin instance.",
4908 "format" : "pve-configid",
4909 "type" : "string",
4910 "typetext" : "<string>"
4911 }
4912 }
4913 },
4914 "permissions" : {
4915 "check" : [
4916 "perm",
4917 "/",
4918 [
4919 "Sys.Modify"
4920 ]
4921 ]
4922 },
4923 "protected" : 1,
4924 "returns" : {
4925 "type" : "null"
4926 }
4927 },
4928 "GET" : {
4929 "allowtoken" : 1,
4930 "description" : "Get ACME plugin configuration.",
4931 "method" : "GET",
4932 "name" : "get_plugin_config",
4933 "parameters" : {
4934 "additionalProperties" : 0,
4935 "properties" : {
4936 "id" : {
4937 "description" : "Unique identifier for ACME plugin instance.",
4938 "format" : "pve-configid",
4939 "type" : "string",
4940 "typetext" : "<string>"
4941 }
4942 }
4943 },
4944 "permissions" : {
4945 "check" : [
4946 "perm",
4947 "/",
4948 [
4949 "Sys.Modify"
4950 ]
4951 ]
4952 },
4953 "protected" : 1,
4954 "returns" : {
4955 "type" : "object"
4956 }
4957 },
4958 "PUT" : {
4959 "allowtoken" : 1,
4960 "description" : "Update ACME plugin configuration.",
4961 "method" : "PUT",
4962 "name" : "update_plugin",
4963 "parameters" : {
4964 "additionalProperties" : 0,
4965 "properties" : {
4966 "api" : {
4967 "description" : "API plugin name",
4968 "enum" : [
4969 "acmedns",
4970 "acmeproxy",
4971 "active24",
4972 "ad",
4973 "ali",
4974 "autodns",
4975 "aws",
4976 "azure",
4977 "cf",
4978 "clouddns",
4979 "cloudns",
4980 "cn",
4981 "conoha",
4982 "constellix",
4983 "cx",
4984 "cyon",
4985 "da",
4986 "ddnss",
4987 "desec",
ac70d7d1 4988 "df",
c5aa7e14
TL
4989 "dgon",
4990 "dnsimple",
4991 "do",
4992 "doapi",
4993 "domeneshop",
4994 "dp",
4995 "dpi",
4996 "dreamhost",
4997 "duckdns",
4998 "durabledns",
4999 "dyn",
5000 "dynu",
5001 "dynv6",
5002 "easydns",
5003 "euserv",
5004 "exoscale",
5005 "freedns",
5006 "gandi_livedns",
5007 "gcloud",
5008 "gd",
5009 "gdnsdk",
5010 "he",
5011 "hexonet",
5012 "hostingde",
5013 "infoblox",
5014 "internetbs",
5015 "inwx",
5016 "ispconfig",
5017 "jd",
5018 "kas",
5019 "kinghost",
5020 "knot",
5021 "leaseweb",
5022 "lexicon",
5023 "linode",
5024 "linode_v4",
5025 "loopia",
5026 "lua",
5027 "maradns",
5028 "me",
5029 "miab",
5030 "misaka",
5031 "myapi",
5032 "mydevil",
5033 "mydnsjp",
5034 "namecheap",
5035 "namecom",
5036 "namesilo",
5037 "nederhost",
5038 "neodigit",
5039 "netcup",
5040 "nic",
5041 "nsd",
5042 "nsone",
5043 "nsupdate",
5044 "nw",
5045 "one",
5046 "online",
5047 "openprovider",
5048 "opnsense",
5049 "ovh",
5050 "pdns",
5051 "pleskxml",
5052 "pointhq",
5053 "rackspace",
5054 "rcode0",
5055 "regru",
5056 "schlundtech",
5057 "selectel",
5058 "servercow",
5059 "tele3",
5060 "ultra",
5061 "unoeuro",
5062 "variomedia",
5063 "vscale",
5064 "vultr",
5065 "yandex",
5066 "zilore",
5067 "zone",
5068 "zonomi"
5069 ],
5070 "optional" : 1,
5071 "type" : "string"
5072 },
5073 "data" : {
5074 "description" : "DNS plugin data. (base64 encoded)",
5075 "optional" : 1,
5076 "type" : "string",
5077 "typetext" : "<string>"
5078 },
5079 "delete" : {
5080 "description" : "A list of settings you want to delete.",
5081 "format" : "pve-configid-list",
5082 "maxLength" : 4096,
5083 "optional" : 1,
5084 "type" : "string",
5085 "typetext" : "<string>"
5086 },
5087 "digest" : {
5088 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5089 "maxLength" : 40,
5090 "optional" : 1,
5091 "type" : "string",
5092 "typetext" : "<string>"
5093 },
5094 "disable" : {
5095 "description" : "Flag to disable the config.",
5096 "optional" : 1,
5097 "type" : "boolean",
5098 "typetext" : "<boolean>"
5099 },
5100 "id" : {
5101 "description" : "ACME Plugin ID name",
5102 "format" : "pve-configid",
5103 "type" : "string",
5104 "typetext" : "<string>"
5105 },
5106 "nodes" : {
5107 "description" : "List of cluster node names.",
5108 "format" : "pve-node-list",
5109 "optional" : 1,
5110 "type" : "string",
5111 "typetext" : "<string>"
5112 },
5113 "validation-delay" : {
5114 "default" : 30,
5115 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5116 "maximum" : 172800,
5117 "minimum" : 0,
5118 "optional" : 1,
5119 "type" : "integer",
5120 "typetext" : "<integer> (0 - 172800)"
5121 }
5122 },
5123 "type" : "object"
5124 },
5125 "permissions" : {
5126 "check" : [
5127 "perm",
5128 "/",
5129 [
5130 "Sys.Modify"
5131 ]
5132 ]
5133 },
5134 "protected" : 1,
5135 "returns" : {
5136 "type" : "null"
5137 }
5138 }
5139 },
5140 "leaf" : 1,
5141 "path" : "/cluster/acme/plugins/{id}",
5142 "text" : "{id}"
5143 }
5144 ],
5145 "info" : {
5146 "GET" : {
5147 "allowtoken" : 1,
5148 "description" : "ACME plugin index.",
5149 "method" : "GET",
5150 "name" : "index",
5151 "parameters" : {
5152 "additionalProperties" : 0,
5153 "properties" : {
5154 "type" : {
5155 "description" : "Only list ACME plugins of a specific type",
5156 "enum" : [
5157 "dns",
5158 "standalone"
5159 ],
5160 "optional" : 1,
5161 "type" : "string"
5162 }
5163 }
5164 },
5165 "permissions" : {
5166 "check" : [
5167 "perm",
5168 "/",
5169 [
5170 "Sys.Modify"
5171 ]
5172 ]
5173 },
5174 "protected" : 1,
5175 "returns" : {
5176 "items" : {
5177 "properties" : {
5178 "plugin" : {
5179 "description" : "Unique identifier for ACME plugin instance.",
5180 "format" : "pve-configid",
5181 "type" : "string"
5182 }
5183 },
5184 "type" : "object"
5185 },
5186 "links" : [
5187 {
5188 "href" : "{plugin}",
5189 "rel" : "child"
5190 }
5191 ],
5192 "type" : "array"
5193 }
5194 },
5195 "POST" : {
5196 "allowtoken" : 1,
5197 "description" : "Add ACME plugin configuration.",
5198 "method" : "POST",
5199 "name" : "add_plugin",
5200 "parameters" : {
5201 "additionalProperties" : 0,
5202 "properties" : {
5203 "api" : {
5204 "description" : "API plugin name",
5205 "enum" : [
5206 "acmedns",
5207 "acmeproxy",
5208 "active24",
5209 "ad",
5210 "ali",
5211 "autodns",
5212 "aws",
5213 "azure",
5214 "cf",
5215 "clouddns",
5216 "cloudns",
5217 "cn",
5218 "conoha",
5219 "constellix",
5220 "cx",
5221 "cyon",
5222 "da",
5223 "ddnss",
5224 "desec",
ac70d7d1 5225 "df",
c5aa7e14
TL
5226 "dgon",
5227 "dnsimple",
5228 "do",
5229 "doapi",
5230 "domeneshop",
5231 "dp",
5232 "dpi",
5233 "dreamhost",
5234 "duckdns",
5235 "durabledns",
5236 "dyn",
5237 "dynu",
5238 "dynv6",
5239 "easydns",
5240 "euserv",
5241 "exoscale",
5242 "freedns",
5243 "gandi_livedns",
5244 "gcloud",
5245 "gd",
5246 "gdnsdk",
5247 "he",
5248 "hexonet",
5249 "hostingde",
5250 "infoblox",
5251 "internetbs",
5252 "inwx",
5253 "ispconfig",
5254 "jd",
5255 "kas",
5256 "kinghost",
5257 "knot",
5258 "leaseweb",
5259 "lexicon",
5260 "linode",
5261 "linode_v4",
5262 "loopia",
5263 "lua",
5264 "maradns",
5265 "me",
5266 "miab",
5267 "misaka",
5268 "myapi",
5269 "mydevil",
5270 "mydnsjp",
5271 "namecheap",
5272 "namecom",
5273 "namesilo",
5274 "nederhost",
5275 "neodigit",
5276 "netcup",
5277 "nic",
5278 "nsd",
5279 "nsone",
5280 "nsupdate",
5281 "nw",
5282 "one",
5283 "online",
5284 "openprovider",
5285 "opnsense",
5286 "ovh",
5287 "pdns",
5288 "pleskxml",
5289 "pointhq",
5290 "rackspace",
5291 "rcode0",
5292 "regru",
5293 "schlundtech",
5294 "selectel",
5295 "servercow",
5296 "tele3",
5297 "ultra",
5298 "unoeuro",
5299 "variomedia",
5300 "vscale",
5301 "vultr",
5302 "yandex",
5303 "zilore",
5304 "zone",
5305 "zonomi"
5306 ],
5307 "optional" : 1,
5308 "type" : "string"
5309 },
5310 "data" : {
5311 "description" : "DNS plugin data. (base64 encoded)",
5312 "optional" : 1,
5313 "type" : "string",
5314 "typetext" : "<string>"
5315 },
5316 "disable" : {
5317 "description" : "Flag to disable the config.",
5318 "optional" : 1,
5319 "type" : "boolean",
5320 "typetext" : "<boolean>"
5321 },
5322 "id" : {
5323 "description" : "ACME Plugin ID name",
5324 "format" : "pve-configid",
5325 "type" : "string",
5326 "typetext" : "<string>"
5327 },
5328 "nodes" : {
5329 "description" : "List of cluster node names.",
5330 "format" : "pve-node-list",
5331 "optional" : 1,
5332 "type" : "string",
5333 "typetext" : "<string>"
5334 },
5335 "type" : {
5336 "description" : "ACME challenge type.",
5337 "enum" : [
5338 "dns",
5339 "standalone"
5340 ],
5341 "type" : "string"
5342 },
5343 "validation-delay" : {
5344 "default" : 30,
5345 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5346 "maximum" : 172800,
5347 "minimum" : 0,
5348 "optional" : 1,
5349 "type" : "integer",
5350 "typetext" : "<integer> (0 - 172800)"
5351 }
5352 },
5353 "type" : "object"
5354 },
5355 "permissions" : {
5356 "check" : [
5357 "perm",
5358 "/",
5359 [
5360 "Sys.Modify"
5361 ]
5362 ]
5363 },
5364 "protected" : 1,
5365 "returns" : {
5366 "type" : "null"
5367 }
5368 }
5369 },
5370 "leaf" : 0,
5371 "path" : "/cluster/acme/plugins",
5372 "text" : "plugins"
5373 },
a9a8e3d1
DM
5374 {
5375 "children" : [
5376 {
5377 "info" : {
5378 "DELETE" : {
e9cd3bd4 5379 "allowtoken" : 1,
a9a8e3d1
DM
5380 "description" : "Deactivate existing ACME account at CA.",
5381 "method" : "DELETE",
5382 "name" : "deactivate_account",
5383 "parameters" : {
5384 "additionalProperties" : 0,
5385 "properties" : {
5386 "name" : {
5387 "default" : "default",
5388 "description" : "ACME account config file name.",
5389 "format" : "pve-configid",
5390 "format_description" : "name",
5391 "optional" : 1,
5392 "type" : "string",
5393 "typetext" : "<name>"
5394 }
5395 }
5396 },
5397 "protected" : 1,
5398 "returns" : {
5399 "type" : "string"
5400 }
5401 },
5402 "GET" : {
e9cd3bd4 5403 "allowtoken" : 1,
a9a8e3d1
DM
5404 "description" : "Return existing ACME account information.",
5405 "method" : "GET",
5406 "name" : "get_account",
5407 "parameters" : {
5408 "additionalProperties" : 0,
5409 "properties" : {
5410 "name" : {
5411 "default" : "default",
5412 "description" : "ACME account config file name.",
5413 "format" : "pve-configid",
5414 "format_description" : "name",
5415 "optional" : 1,
5416 "type" : "string",
5417 "typetext" : "<name>"
5418 }
5419 }
5420 },
5421 "protected" : 1,
5422 "returns" : {
5423 "additionalProperties" : 0,
5424 "properties" : {
5425 "account" : {
5426 "optional" : 1,
4d47f125 5427 "renderer" : "yaml",
a9a8e3d1
DM
5428 "type" : "object"
5429 },
5430 "directory" : {
5431 "description" : "URL of ACME CA directory endpoint.",
5432 "optional" : 1,
5433 "pattern" : "^https?://.*",
5434 "type" : "string"
5435 },
5436 "location" : {
5437 "optional" : 1,
5438 "type" : "string"
5439 },
5440 "tos" : {
5441 "optional" : 1,
5442 "type" : "string"
5443 }
5444 },
5445 "type" : "object"
5446 }
5447 },
5448 "PUT" : {
e9cd3bd4 5449 "allowtoken" : 1,
a9a8e3d1
DM
5450 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
5451 "method" : "PUT",
5452 "name" : "update_account",
5453 "parameters" : {
5454 "additionalProperties" : 0,
5455 "properties" : {
5456 "contact" : {
5457 "description" : "Contact email addresses.",
5458 "format" : "email-list",
5459 "optional" : 1,
5460 "type" : "string",
5461 "typetext" : "<string>"
5462 },
5463 "name" : {
5464 "default" : "default",
5465 "description" : "ACME account config file name.",
5466 "format" : "pve-configid",
5467 "format_description" : "name",
5468 "optional" : 1,
5469 "type" : "string",
5470 "typetext" : "<name>"
5471 }
5472 }
5473 },
5474 "protected" : 1,
5475 "returns" : {
5476 "type" : "string"
5477 }
5478 }
5479 },
5480 "leaf" : 1,
5481 "path" : "/cluster/acme/account/{name}",
5482 "text" : "{name}"
5483 }
5484 ],
5485 "info" : {
5486 "GET" : {
e9cd3bd4 5487 "allowtoken" : 1,
a9a8e3d1
DM
5488 "description" : "ACMEAccount index.",
5489 "method" : "GET",
5490 "name" : "account_index",
5491 "parameters" : {
5492 "additionalProperties" : 0
5493 },
5494 "permissions" : {
5495 "user" : "all"
5496 },
5497 "protected" : 1,
5498 "returns" : {
5499 "items" : {
5500 "properties" : {},
5501 "type" : "object"
5502 },
5503 "links" : [
5504 {
5505 "href" : "{name}",
5506 "rel" : "child"
5507 }
5508 ],
5509 "type" : "array"
5510 }
5511 },
5512 "POST" : {
e9cd3bd4 5513 "allowtoken" : 1,
a9a8e3d1
DM
5514 "description" : "Register a new ACME account with CA.",
5515 "method" : "POST",
5516 "name" : "register_account",
5517 "parameters" : {
5518 "additionalProperties" : 0,
5519 "properties" : {
5520 "contact" : {
5521 "description" : "Contact email addresses.",
5522 "format" : "email-list",
5523 "type" : "string",
5524 "typetext" : "<string>"
5525 },
5526 "directory" : {
5527 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5528 "description" : "URL of ACME CA directory endpoint.",
5529 "optional" : 1,
5530 "pattern" : "^https?://.*",
5531 "type" : "string"
5532 },
5533 "name" : {
5534 "default" : "default",
5535 "description" : "ACME account config file name.",
5536 "format" : "pve-configid",
5537 "format_description" : "name",
5538 "optional" : 1,
5539 "type" : "string",
5540 "typetext" : "<name>"
5541 },
5542 "tos_url" : {
5543 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
5544 "optional" : 1,
5545 "type" : "string",
5546 "typetext" : "<string>"
5547 }
5548 }
5549 },
5550 "protected" : 1,
5551 "returns" : {
5552 "type" : "string"
5553 }
5554 }
5555 },
5556 "leaf" : 0,
5557 "path" : "/cluster/acme/account",
5558 "text" : "account"
5559 },
5560 {
5561 "info" : {
5562 "GET" : {
e9cd3bd4 5563 "allowtoken" : 1,
a9a8e3d1
DM
5564 "description" : "Retrieve ACME TermsOfService URL from CA.",
5565 "method" : "GET",
5566 "name" : "get_tos",
5567 "parameters" : {
5568 "additionalProperties" : 0,
5569 "properties" : {
5570 "directory" : {
5571 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5572 "description" : "URL of ACME CA directory endpoint.",
5573 "optional" : 1,
5574 "pattern" : "^https?://.*",
5575 "type" : "string"
5576 }
5577 }
5578 },
5da3d723
TL
5579 "permissions" : {
5580 "user" : "all"
5581 },
a9a8e3d1
DM
5582 "returns" : {
5583 "description" : "ACME TermsOfService URL.",
5c1699e5 5584 "optional" : 1,
a9a8e3d1
DM
5585 "type" : "string"
5586 }
5587 }
5588 },
5589 "leaf" : 1,
5590 "path" : "/cluster/acme/tos",
5591 "text" : "tos"
5592 },
5593 {
5594 "info" : {
5595 "GET" : {
e9cd3bd4 5596 "allowtoken" : 1,
a9a8e3d1
DM
5597 "description" : "Get named known ACME directory endpoints.",
5598 "method" : "GET",
5599 "name" : "get_directories",
5600 "parameters" : {
5601 "additionalProperties" : 0
5602 },
5da3d723
TL
5603 "permissions" : {
5604 "user" : "all"
5605 },
a9a8e3d1
DM
5606 "returns" : {
5607 "items" : {
5608 "additionalProperties" : 0,
5609 "properties" : {
5610 "name" : {
5611 "type" : "string"
5612 },
5613 "url" : {
5614 "description" : "URL of ACME CA directory endpoint.",
5615 "pattern" : "^https?://.*",
5616 "type" : "string"
5617 }
5618 },
5619 "type" : "object"
5620 },
5621 "type" : "array"
5622 }
5623 }
5624 },
5625 "leaf" : 1,
5626 "path" : "/cluster/acme/directories",
5627 "text" : "directories"
ac70d7d1
TL
5628 },
5629 {
5630 "info" : {
5631 "GET" : {
5632 "allowtoken" : 1,
5633 "description" : "Get schema of ACME challenge types.",
5634 "method" : "GET",
5635 "name" : "challengeschema",
5636 "parameters" : {
5637 "additionalProperties" : 0
5638 },
5639 "permissions" : {
5640 "user" : "all"
5641 },
5642 "returns" : {
5643 "items" : {
5644 "additionalProperties" : 0,
5645 "properties" : {
5646 "id" : {
5647 "type" : "string"
5648 },
5649 "name" : {
5650 "description" : "Human readable name, falls back to id",
5651 "type" : "string"
5652 },
5653 "schema" : {
5654 "type" : "object"
5655 },
5656 "type" : {
5657 "type" : "string"
5658 }
5659 },
5660 "type" : "object"
5661 },
5662 "type" : "array"
5663 }
5664 }
5665 },
5666 "leaf" : 1,
5667 "path" : "/cluster/acme/challenge-schema",
5668 "text" : "challenge-schema"
a9a8e3d1
DM
5669 }
5670 ],
5671 "info" : {
5672 "GET" : {
e9cd3bd4 5673 "allowtoken" : 1,
a9a8e3d1
DM
5674 "description" : "ACMEAccount index.",
5675 "method" : "GET",
5676 "name" : "index",
5677 "parameters" : {
5678 "additionalProperties" : 0
5679 },
5680 "permissions" : {
5681 "user" : "all"
5682 },
5683 "returns" : {
5684 "items" : {
5685 "properties" : {},
5686 "type" : "object"
5687 },
5688 "links" : [
5689 {
5690 "href" : "{name}",
5691 "rel" : "child"
5692 }
5693 ],
5694 "type" : "array"
5695 }
5696 }
5697 },
5698 "leaf" : 0,
5699 "path" : "/cluster/acme",
5700 "text" : "acme"
5701 },
1c532546
TL
5702 {
5703 "children" : [
5704 {
5705 "info" : {
5706 "GET" : {
e9cd3bd4 5707 "allowtoken" : 1,
1c532546
TL
5708 "description" : "Get ceph metadata.",
5709 "method" : "GET",
5710 "name" : "metadata",
5711 "parameters" : {
c5aa7e14
TL
5712 "additionalProperties" : 0,
5713 "properties" : {
5714 "scope" : {
5715 "default" : "all",
5716 "enum" : [
5717 "all",
5718 "versions"
5719 ],
5720 "optional" : 1,
5721 "type" : "string"
5722 }
5723 }
1c532546
TL
5724 },
5725 "permissions" : {
5726 "check" : [
5727 "perm",
5728 "/",
5729 [
5730 "Sys.Audit",
5731 "Datastore.Audit"
5732 ],
5733 "any",
5734 1
5735 ]
5736 },
5737 "protected" : 1,
5738 "returns" : {
5739 "type" : "object"
5740 }
5741 }
5742 },
5743 "leaf" : 1,
5744 "path" : "/cluster/ceph/metadata",
5745 "text" : "metadata"
5746 },
5747 {
5748 "info" : {
5749 "GET" : {
e9cd3bd4 5750 "allowtoken" : 1,
1c532546
TL
5751 "description" : "Get ceph status.",
5752 "method" : "GET",
5753 "name" : "status",
5754 "parameters" : {
5755 "additionalProperties" : 0
5756 },
5757 "permissions" : {
5758 "check" : [
5759 "perm",
5760 "/",
5761 [
5762 "Sys.Audit",
5763 "Datastore.Audit"
5764 ],
5765 "any",
5766 1
5767 ]
5768 },
5769 "protected" : 1,
5770 "returns" : {
5771 "type" : "object"
5772 }
5773 }
5774 },
5775 "leaf" : 1,
5776 "path" : "/cluster/ceph/status",
5777 "text" : "status"
5778 },
5779 {
5780 "children" : [
5781 {
5782 "info" : {
5783 "GET" : {
e9cd3bd4 5784 "allowtoken" : 1,
1c532546
TL
5785 "description" : "Get the status of a specific ceph flag.",
5786 "method" : "GET",
5787 "name" : "get_flag",
5788 "parameters" : {
5789 "additionalProperties" : 0,
5790 "properties" : {
5791 "flag" : {
5792 "description" : "The name of the flag name to get.",
5793 "enum" : [
5794 "nobackfill",
5795 "nodeep-scrub",
5796 "nodown",
5797 "noin",
5798 "noout",
5799 "norebalance",
5800 "norecover",
5801 "noscrub",
5802 "notieragent",
5803 "noup",
5804 "pause"
5805 ],
5806 "type" : "string"
5807 }
5808 }
5809 },
5810 "permissions" : {
5811 "check" : [
5812 "perm",
5813 "/",
5814 [
5815 "Sys.Audit"
5816 ]
5817 ]
5818 },
5819 "protected" : 1,
5820 "returns" : {
5821 "type" : "boolean"
5822 }
5823 },
5824 "PUT" : {
e9cd3bd4 5825 "allowtoken" : 1,
1c532546
TL
5826 "description" : "Set or clear (unset) a specific ceph flag",
5827 "method" : "PUT",
5828 "name" : "update_flag",
5829 "parameters" : {
5830 "additionalProperties" : 0,
5831 "properties" : {
5832 "flag" : {
5833 "description" : "The ceph flag to update",
5834 "enum" : [
5835 "nobackfill",
5836 "nodeep-scrub",
5837 "nodown",
5838 "noin",
5839 "noout",
5840 "norebalance",
5841 "norecover",
5842 "noscrub",
5843 "notieragent",
5844 "noup",
5845 "pause"
5846 ],
5847 "type" : "string"
5848 },
5849 "value" : {
5850 "description" : "The new value of the flag",
5851 "type" : "boolean",
5852 "typetext" : "<boolean>"
5853 }
5854 }
5855 },
5856 "permissions" : {
5857 "check" : [
5858 "perm",
5859 "/",
5860 [
5861 "Sys.Modify"
5862 ]
5863 ]
5864 },
5865 "protected" : 1,
5866 "returns" : {
5867 "type" : "null"
5868 }
5869 }
5870 },
5871 "leaf" : 1,
5872 "path" : "/cluster/ceph/flags/{flag}",
5873 "text" : "{flag}"
5874 }
5875 ],
5876 "info" : {
5877 "GET" : {
e9cd3bd4 5878 "allowtoken" : 1,
1c532546
TL
5879 "description" : "get the status of all ceph flags",
5880 "method" : "GET",
5881 "name" : "get_all_flags",
5882 "parameters" : {
5883 "additionalProperties" : 0
5884 },
5885 "permissions" : {
5886 "check" : [
5887 "perm",
5888 "/",
5889 [
5890 "Sys.Audit"
5891 ]
5892 ]
5893 },
5894 "protected" : 1,
5895 "returns" : {
5896 "items" : {
5897 "additionalProperties" : 1,
5898 "properties" : {
5899 "name" : {
5900 "description" : "Flag name.",
5901 "enum" : [
5902 "nobackfill",
5903 "nodeep-scrub",
5904 "nodown",
5905 "noin",
5906 "noout",
5907 "norebalance",
5908 "norecover",
5909 "noscrub",
5910 "notieragent",
5911 "noup",
5912 "pause"
5913 ],
5914 "type" : "string"
5915 }
5916 },
5917 "type" : "object"
5918 },
5919 "links" : [
5920 {
5921 "href" : "{name}",
5922 "rel" : "child"
5923 }
5924 ],
5925 "type" : "array"
5926 }
5927 },
5928 "PUT" : {
e9cd3bd4 5929 "allowtoken" : 1,
1c532546
TL
5930 "description" : "Set/Unset multiple ceph flags at once.",
5931 "method" : "PUT",
5932 "name" : "set_flags",
5933 "parameters" : {
5934 "additionalProperties" : 0,
5935 "properties" : {
5936 "nobackfill" : {
5937 "description" : "Backfilling of PGs is suspended.",
5938 "optional" : 1,
5939 "type" : "boolean",
5940 "typetext" : "<boolean>"
5941 },
5942 "nodeep-scrub" : {
5943 "description" : "Deep Scrubbing is disabled.",
5944 "optional" : 1,
5945 "type" : "boolean",
5946 "typetext" : "<boolean>"
5947 },
5948 "nodown" : {
5949 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
5950 "optional" : 1,
5951 "type" : "boolean",
5952 "typetext" : "<boolean>"
5953 },
5954 "noin" : {
5955 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
5956 "optional" : 1,
5957 "type" : "boolean",
5958 "typetext" : "<boolean>"
5959 },
5960 "noout" : {
5961 "description" : "OSDs will not automatically be marked out after the configured interval.",
5962 "optional" : 1,
5963 "type" : "boolean",
5964 "typetext" : "<boolean>"
5965 },
5966 "norebalance" : {
5967 "description" : "Rebalancing of PGs is suspended.",
5968 "optional" : 1,
5969 "type" : "boolean",
5970 "typetext" : "<boolean>"
5971 },
5972 "norecover" : {
5973 "description" : "Recovery of PGs is suspended.",
5974 "optional" : 1,
5975 "type" : "boolean",
5976 "typetext" : "<boolean>"
5977 },
5978 "noscrub" : {
5979 "description" : "Scrubbing is disabled.",
5980 "optional" : 1,
5981 "type" : "boolean",
5982 "typetext" : "<boolean>"
5983 },
5984 "notieragent" : {
5985 "description" : "Cache tiering activity is suspended.",
5986 "optional" : 1,
5987 "type" : "boolean",
5988 "typetext" : "<boolean>"
5989 },
5990 "noup" : {
5991 "description" : "OSDs are not allowed to start.",
5992 "optional" : 1,
5993 "type" : "boolean",
5994 "typetext" : "<boolean>"
5995 },
5996 "pause" : {
5997 "description" : "Pauses read and writes.",
5998 "optional" : 1,
5999 "type" : "boolean",
6000 "typetext" : "<boolean>"
6001 }
6002 }
6003 },
6004 "permissions" : {
6005 "check" : [
6006 "perm",
6007 "/",
6008 [
6009 "Sys.Modify"
6010 ]
6011 ]
6012 },
6013 "protected" : 1,
6014 "returns" : {
6015 "type" : "string"
6016 }
6017 }
6018 },
6019 "leaf" : 0,
6020 "path" : "/cluster/ceph/flags",
6021 "text" : "flags"
6022 }
6023 ],
6024 "info" : {
6025 "GET" : {
e9cd3bd4 6026 "allowtoken" : 1,
1c532546
TL
6027 "description" : "Cluster ceph index.",
6028 "method" : "GET",
6029 "name" : "cephindex",
6030 "parameters" : {
6031 "additionalProperties" : 0
6032 },
6033 "permissions" : {
6034 "user" : "all"
6035 },
6036 "returns" : {
6037 "items" : {
6038 "properties" : {},
6039 "type" : "object"
6040 },
6041 "links" : [
6042 {
6043 "href" : "{name}",
6044 "rel" : "child"
6045 }
6046 ],
6047 "type" : "array"
6048 }
6049 }
6050 },
6051 "leaf" : 0,
6052 "path" : "/cluster/ceph",
6053 "text" : "ceph"
6054 },
c5aa7e14
TL
6055 {
6056 "children" : [
6057 {
6058 "children" : [
6059 {
6060 "info" : {
6061 "DELETE" : {
6062 "allowtoken" : 1,
6063 "description" : "Delete sdn vnet object configuration.",
6064 "method" : "DELETE",
6065 "name" : "delete",
6066 "parameters" : {
6067 "additionalProperties" : 0,
6068 "properties" : {
6069 "vnet" : {
6070 "description" : "The SDN vnet object identifier.",
6071 "format" : "pve-sdn-vnet-id",
6072 "type" : "string",
6073 "typetext" : "<string>"
6074 }
6075 }
6076 },
6077 "permissions" : {
6078 "check" : [
6079 "perm",
6080 "/sdn/vnets",
6081 [
6082 "SDN.Allocate"
6083 ]
6084 ]
6085 },
6086 "protected" : 1,
6087 "returns" : {
6088 "type" : "null"
6089 }
6090 },
6091 "GET" : {
6092 "allowtoken" : 1,
6093 "description" : "Read sdn vnet configuration.",
6094 "method" : "GET",
6095 "name" : "read",
6096 "parameters" : {
6097 "additionalProperties" : 0,
6098 "properties" : {
6099 "vnet" : {
6100 "description" : "The SDN vnet object identifier.",
6101 "format" : "pve-sdn-vnet-id",
6102 "type" : "string",
6103 "typetext" : "<string>"
6104 }
6105 }
6106 },
6107 "permissions" : {
6108 "check" : [
6109 "perm",
6110 "/sdn/vnets/{vnet}",
6111 [
6112 "SDN.Allocate"
6113 ]
6114 ]
6115 },
6116 "returns" : {
6117 "type" : "object"
6118 }
6119 },
6120 "PUT" : {
6121 "allowtoken" : 1,
6122 "description" : "Update sdn vnet object configuration.",
6123 "method" : "PUT",
6124 "name" : "update",
6125 "parameters" : {
6126 "additionalProperties" : 0,
6127 "properties" : {
6128 "alias" : {
6129 "description" : "alias name of the vnet",
6130 "optional" : 1,
6131 "type" : "string",
6132 "typetext" : "<string>"
6133 },
6134 "delete" : {
6135 "description" : "A list of settings you want to delete.",
6136 "format" : "pve-configid-list",
6137 "maxLength" : 4096,
6138 "optional" : 1,
6139 "type" : "string",
6140 "typetext" : "<string>"
6141 },
6142 "digest" : {
6143 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6144 "maxLength" : 40,
6145 "optional" : 1,
6146 "type" : "string",
6147 "typetext" : "<string>"
6148 },
6149 "ipv4" : {
6150 "description" : "Anycast router ipv4 address.",
6151 "format" : "CIDRv4",
6152 "optional" : 1,
6153 "type" : "string",
6154 "typetext" : "<string>"
6155 },
6156 "ipv6" : {
6157 "description" : "Anycast router ipv6 address.",
6158 "format" : "CIDRv6",
6159 "optional" : 1,
6160 "type" : "string",
6161 "typetext" : "<string>"
6162 },
6163 "mac" : {
6164 "description" : "Anycast router mac address",
6165 "format" : "mac-addr",
6166 "optional" : 1,
6167 "type" : "string",
6168 "typetext" : "<string>"
6169 },
6170 "tag" : {
6171 "description" : "vlan or vxlan id",
6172 "optional" : 1,
6173 "type" : "integer",
6174 "typetext" : "<integer>"
6175 },
ac70d7d1
TL
6176 "vlanaware" : {
6177 "description" : "Allow vm VLANs to pass through this vnet.",
6178 "optional" : 1,
6179 "type" : "boolean",
6180 "typetext" : "<boolean>"
6181 },
c5aa7e14
TL
6182 "vnet" : {
6183 "description" : "The SDN vnet object identifier.",
6184 "format" : "pve-sdn-vnet-id",
6185 "type" : "string",
6186 "typetext" : "<string>"
6187 },
6188 "zone" : {
6189 "description" : "zone id",
6190 "optional" : 1,
6191 "type" : "string",
6192 "typetext" : "<string>"
6193 }
6194 },
6195 "type" : "object"
6196 },
6197 "permissions" : {
6198 "check" : [
6199 "perm",
6200 "/sdn/vnets",
6201 [
6202 "SDN.Allocate"
6203 ]
6204 ]
6205 },
6206 "protected" : 1,
6207 "returns" : {
6208 "type" : "null"
6209 }
6210 }
6211 },
6212 "leaf" : 1,
6213 "path" : "/cluster/sdn/vnets/{vnet}",
6214 "text" : "{vnet}"
6215 }
6216 ],
6217 "info" : {
6218 "GET" : {
6219 "allowtoken" : 1,
6220 "description" : "SDN vnets index.",
6221 "method" : "GET",
6222 "name" : "index",
6223 "parameters" : {
6224 "additionalProperties" : 0
6225 },
6226 "permissions" : {
6227 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
6228 "user" : "all"
6229 },
6230 "returns" : {
6231 "items" : {
6232 "properties" : {},
6233 "type" : "object"
6234 },
6235 "links" : [
6236 {
6237 "href" : "{vnet}",
6238 "rel" : "child"
6239 }
6240 ],
6241 "type" : "array"
6242 }
6243 },
6244 "POST" : {
6245 "allowtoken" : 1,
6246 "description" : "Create a new sdn vnet object.",
6247 "method" : "POST",
6248 "name" : "create",
6249 "parameters" : {
6250 "additionalProperties" : 0,
6251 "properties" : {
6252 "alias" : {
6253 "description" : "alias name of the vnet",
6254 "optional" : 1,
6255 "type" : "string",
6256 "typetext" : "<string>"
6257 },
6258 "ipv4" : {
6259 "description" : "Anycast router ipv4 address.",
6260 "format" : "CIDRv4",
6261 "optional" : 1,
6262 "type" : "string",
6263 "typetext" : "<string>"
6264 },
6265 "ipv6" : {
6266 "description" : "Anycast router ipv6 address.",
6267 "format" : "CIDRv6",
6268 "optional" : 1,
6269 "type" : "string",
6270 "typetext" : "<string>"
6271 },
6272 "mac" : {
6273 "description" : "Anycast router mac address",
6274 "format" : "mac-addr",
6275 "optional" : 1,
6276 "type" : "string",
6277 "typetext" : "<string>"
6278 },
6279 "tag" : {
6280 "description" : "vlan or vxlan id",
ac70d7d1 6281 "optional" : 1,
c5aa7e14
TL
6282 "type" : "integer",
6283 "typetext" : "<integer>"
6284 },
6285 "type" : {
6286 "description" : "Type",
6287 "enum" : [
6288 "vnet"
6289 ],
6290 "optional" : 1,
6291 "type" : "string"
6292 },
ac70d7d1
TL
6293 "vlanaware" : {
6294 "description" : "Allow vm VLANs to pass through this vnet.",
6295 "optional" : 1,
6296 "type" : "boolean",
6297 "typetext" : "<boolean>"
6298 },
c5aa7e14
TL
6299 "vnet" : {
6300 "description" : "The SDN vnet object identifier.",
6301 "format" : "pve-sdn-vnet-id",
6302 "type" : "string",
6303 "typetext" : "<string>"
6304 },
6305 "zone" : {
6306 "description" : "zone id",
6307 "optional" : 0,
6308 "type" : "string",
6309 "typetext" : "<string>"
6310 }
6311 },
6312 "type" : "object"
6313 },
6314 "permissions" : {
6315 "check" : [
6316 "perm",
6317 "/sdn/vnets",
6318 [
6319 "SDN.Allocate"
6320 ]
6321 ]
6322 },
6323 "protected" : 1,
6324 "returns" : {
6325 "type" : "null"
6326 }
6327 }
6328 },
6329 "leaf" : 0,
6330 "path" : "/cluster/sdn/vnets",
6331 "text" : "vnets"
6332 },
6333 {
6334 "children" : [
6335 {
6336 "info" : {
6337 "DELETE" : {
6338 "allowtoken" : 1,
6339 "description" : "Delete sdn zone object configuration.",
6340 "method" : "DELETE",
6341 "name" : "delete",
6342 "parameters" : {
6343 "additionalProperties" : 0,
6344 "properties" : {
6345 "zone" : {
6346 "description" : "The SDN zone object identifier.",
6347 "format" : "pve-sdn-zone-id",
6348 "type" : "string",
6349 "typetext" : "<string>"
6350 }
6351 }
6352 },
6353 "permissions" : {
6354 "check" : [
6355 "perm",
6356 "/sdn/zones",
6357 [
6358 "SDN.Allocate"
6359 ]
6360 ]
6361 },
6362 "protected" : 1,
6363 "returns" : {
6364 "type" : "null"
6365 }
6366 },
6367 "GET" : {
6368 "allowtoken" : 1,
6369 "description" : "Read sdn zone configuration.",
6370 "method" : "GET",
6371 "name" : "read",
6372 "parameters" : {
6373 "additionalProperties" : 0,
6374 "properties" : {
6375 "zone" : {
6376 "description" : "The SDN zone object identifier.",
6377 "format" : "pve-sdn-zone-id",
6378 "type" : "string",
6379 "typetext" : "<string>"
6380 }
6381 }
6382 },
6383 "permissions" : {
6384 "check" : [
6385 "perm",
6386 "/sdn/zones/{zone}",
6387 [
6388 "SDN.Allocate"
6389 ]
6390 ]
6391 },
6392 "returns" : {
6393 "type" : "object"
6394 }
6395 },
6396 "PUT" : {
6397 "allowtoken" : 1,
6398 "description" : "Update sdn zone object configuration.",
6399 "method" : "PUT",
6400 "name" : "update",
6401 "parameters" : {
6402 "additionalProperties" : 0,
6403 "properties" : {
6404 "bridge" : {
6405 "optional" : 1,
6406 "type" : "string",
6407 "typetext" : "<string>"
6408 },
6409 "controller" : {
6410 "description" : "Frr router name",
6411 "optional" : 1,
6412 "type" : "string",
6413 "typetext" : "<string>"
6414 },
6415 "delete" : {
6416 "description" : "A list of settings you want to delete.",
6417 "format" : "pve-configid-list",
6418 "maxLength" : 4096,
6419 "optional" : 1,
6420 "type" : "string",
6421 "typetext" : "<string>"
6422 },
6423 "digest" : {
6424 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6425 "maxLength" : 40,
6426 "optional" : 1,
6427 "type" : "string",
6428 "typetext" : "<string>"
6429 },
6430 "dp-id" : {
6431 "description" : "Faucet dataplane id",
6432 "optional" : 1,
6433 "type" : "integer",
6434 "typetext" : "<integer>"
6435 },
6436 "mtu" : {
ac70d7d1 6437 "description" : "MTU",
c5aa7e14
TL
6438 "optional" : 1,
6439 "type" : "integer",
6440 "typetext" : "<integer>"
6441 },
6442 "nodes" : {
6443 "description" : "List of cluster node names.",
6444 "format" : "pve-node-list",
6445 "optional" : 1,
6446 "type" : "string",
6447 "typetext" : "<string>"
6448 },
6449 "peers" : {
6450 "description" : "peers address list.",
6451 "format" : "ip-list",
6452 "optional" : 1,
6453 "type" : "string",
6454 "typetext" : "<string>"
6455 },
6456 "tag" : {
ac70d7d1
TL
6457 "description" : "Service-VLAN Tag",
6458 "minimum" : 0,
c5aa7e14
TL
6459 "optional" : 1,
6460 "type" : "integer",
ac70d7d1
TL
6461 "typetext" : "<integer> (0 - N)"
6462 },
6463 "vlan-protocol" : {
6464 "default" : "802.1q",
6465 "enum" : [
6466 "802.1q",
6467 "802.1ad"
6468 ],
6469 "optional" : 1,
6470 "type" : "string"
c5aa7e14
TL
6471 },
6472 "vrf-vxlan" : {
6473 "description" : "l3vni.",
6474 "optional" : 1,
6475 "type" : "integer",
6476 "typetext" : "<integer>"
6477 },
6478 "zone" : {
6479 "description" : "The SDN zone object identifier.",
6480 "format" : "pve-sdn-zone-id",
6481 "type" : "string",
6482 "typetext" : "<string>"
6483 }
6484 },
6485 "type" : "object"
6486 },
6487 "permissions" : {
6488 "check" : [
6489 "perm",
6490 "/sdn/zones",
6491 [
6492 "SDN.Allocate"
6493 ]
6494 ]
6495 },
6496 "protected" : 1,
6497 "returns" : {
6498 "type" : "null"
6499 }
6500 }
6501 },
6502 "leaf" : 1,
6503 "path" : "/cluster/sdn/zones/{zone}",
6504 "text" : "{zone}"
6505 }
6506 ],
6507 "info" : {
6508 "GET" : {
6509 "allowtoken" : 1,
6510 "description" : "SDN zones index.",
6511 "method" : "GET",
6512 "name" : "index",
6513 "parameters" : {
6514 "additionalProperties" : 0,
6515 "properties" : {
6516 "type" : {
6517 "description" : "Only list sdn zones of specific type",
6518 "enum" : [
6519 "evpn",
6520 "faucet",
6521 "qinq",
ac70d7d1 6522 "simple",
c5aa7e14
TL
6523 "vlan",
6524 "vxlan"
6525 ],
6526 "optional" : 1,
6527 "type" : "string"
6528 }
6529 }
6530 },
6531 "permissions" : {
6532 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'",
6533 "user" : "all"
6534 },
6535 "returns" : {
6536 "items" : {
6537 "properties" : {
6538 "type" : {
6539 "type" : "string"
6540 },
6541 "zone" : {
6542 "type" : "string"
6543 }
6544 },
6545 "type" : "object"
6546 },
6547 "links" : [
6548 {
6549 "href" : "{zone}",
6550 "rel" : "child"
6551 }
6552 ],
6553 "type" : "array"
6554 }
6555 },
6556 "POST" : {
6557 "allowtoken" : 1,
6558 "description" : "Create a new sdn zone object.",
6559 "method" : "POST",
6560 "name" : "create",
6561 "parameters" : {
6562 "additionalProperties" : 0,
6563 "properties" : {
6564 "bridge" : {
6565 "optional" : 1,
6566 "type" : "string",
6567 "typetext" : "<string>"
6568 },
6569 "controller" : {
6570 "description" : "Frr router name",
6571 "optional" : 1,
6572 "type" : "string",
6573 "typetext" : "<string>"
6574 },
6575 "dp-id" : {
6576 "description" : "Faucet dataplane id",
6577 "optional" : 1,
6578 "type" : "integer",
6579 "typetext" : "<integer>"
6580 },
6581 "mtu" : {
ac70d7d1 6582 "description" : "MTU",
c5aa7e14
TL
6583 "optional" : 1,
6584 "type" : "integer",
6585 "typetext" : "<integer>"
6586 },
6587 "nodes" : {
6588 "description" : "List of cluster node names.",
6589 "format" : "pve-node-list",
6590 "optional" : 1,
6591 "type" : "string",
6592 "typetext" : "<string>"
6593 },
6594 "peers" : {
6595 "description" : "peers address list.",
6596 "format" : "ip-list",
6597 "optional" : 1,
6598 "type" : "string",
6599 "typetext" : "<string>"
6600 },
6601 "tag" : {
ac70d7d1
TL
6602 "description" : "Service-VLAN Tag",
6603 "minimum" : 0,
c5aa7e14
TL
6604 "optional" : 1,
6605 "type" : "integer",
ac70d7d1 6606 "typetext" : "<integer> (0 - N)"
c5aa7e14
TL
6607 },
6608 "type" : {
6609 "description" : "Plugin type.",
6610 "enum" : [
6611 "evpn",
6612 "faucet",
6613 "qinq",
ac70d7d1 6614 "simple",
c5aa7e14
TL
6615 "vlan",
6616 "vxlan"
6617 ],
6618 "format" : "pve-configid",
6619 "type" : "string"
6620 },
ac70d7d1
TL
6621 "vlan-protocol" : {
6622 "default" : "802.1q",
6623 "enum" : [
6624 "802.1q",
6625 "802.1ad"
6626 ],
6627 "optional" : 1,
6628 "type" : "string"
6629 },
c5aa7e14
TL
6630 "vrf-vxlan" : {
6631 "description" : "l3vni.",
6632 "optional" : 1,
6633 "type" : "integer",
6634 "typetext" : "<integer>"
6635 },
6636 "zone" : {
6637 "description" : "The SDN zone object identifier.",
6638 "format" : "pve-sdn-zone-id",
6639 "type" : "string",
6640 "typetext" : "<string>"
6641 }
6642 },
6643 "type" : "object"
6644 },
6645 "permissions" : {
6646 "check" : [
6647 "perm",
6648 "/sdn/zones",
6649 [
6650 "SDN.Allocate"
6651 ]
6652 ]
6653 },
6654 "protected" : 1,
6655 "returns" : {
6656 "type" : "null"
6657 }
6658 }
6659 },
6660 "leaf" : 0,
6661 "path" : "/cluster/sdn/zones",
6662 "text" : "zones"
6663 },
6664 {
6665 "children" : [
6666 {
6667 "info" : {
6668 "DELETE" : {
6669 "allowtoken" : 1,
6670 "description" : "Delete sdn controller object configuration.",
6671 "method" : "DELETE",
6672 "name" : "delete",
6673 "parameters" : {
6674 "additionalProperties" : 0,
6675 "properties" : {
6676 "controller" : {
6677 "description" : "The SDN controller object identifier.",
6678 "format" : "pve-sdn-controller-id",
6679 "type" : "string",
6680 "typetext" : "<string>"
6681 }
6682 }
6683 },
6684 "permissions" : {
6685 "check" : [
6686 "perm",
6687 "/sdn/controllers",
6688 [
6689 "SDN.Allocate"
6690 ]
6691 ]
6692 },
6693 "protected" : 1,
6694 "returns" : {
6695 "type" : "null"
6696 }
6697 },
6698 "GET" : {
6699 "allowtoken" : 1,
6700 "description" : "Read sdn controller configuration.",
6701 "method" : "GET",
6702 "name" : "read",
6703 "parameters" : {
6704 "additionalProperties" : 0,
6705 "properties" : {
6706 "controller" : {
6707 "description" : "The SDN controller object identifier.",
6708 "format" : "pve-sdn-controller-id",
6709 "type" : "string",
6710 "typetext" : "<string>"
6711 }
6712 }
6713 },
6714 "permissions" : {
6715 "check" : [
6716 "perm",
6717 "/sdn/controllers/{controller}",
6718 [
6719 "SDN.Allocate"
6720 ]
6721 ]
6722 },
6723 "returns" : {
6724 "type" : "object"
6725 }
6726 },
6727 "PUT" : {
6728 "allowtoken" : 1,
6729 "description" : "Update sdn controller object configuration.",
6730 "method" : "PUT",
6731 "name" : "update",
6732 "parameters" : {
6733 "additionalProperties" : 0,
6734 "properties" : {
6735 "asn" : {
6736 "description" : "autonomous system number",
6737 "optional" : 1,
6738 "type" : "integer",
6739 "typetext" : "<integer>"
6740 },
6741 "controller" : {
6742 "description" : "The SDN controller object identifier.",
6743 "format" : "pve-sdn-controller-id",
6744 "type" : "string",
6745 "typetext" : "<string>"
6746 },
6747 "delete" : {
6748 "description" : "A list of settings you want to delete.",
6749 "format" : "pve-configid-list",
6750 "maxLength" : 4096,
6751 "optional" : 1,
6752 "type" : "string",
6753 "typetext" : "<string>"
6754 },
6755 "digest" : {
6756 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6757 "maxLength" : 40,
6758 "optional" : 1,
6759 "type" : "string",
6760 "typetext" : "<string>"
6761 },
6762 "gateway-external-peers" : {
6763 "description" : "upstream bgp peers address list.",
6764 "format" : "ip-list",
6765 "optional" : 1,
6766 "type" : "string",
6767 "typetext" : "<string>"
6768 },
6769 "gateway-nodes" : {
6770 "description" : "List of cluster node names.",
6771 "format" : "pve-node-list",
6772 "optional" : 1,
6773 "type" : "string",
6774 "typetext" : "<string>"
6775 },
6776 "peers" : {
6777 "description" : "peers address list.",
6778 "format" : "ip-list",
6779 "optional" : 1,
6780 "type" : "string",
6781 "typetext" : "<string>"
6782 }
6783 },
6784 "type" : "object"
6785 },
6786 "permissions" : {
6787 "check" : [
6788 "perm",
6789 "/sdn/controllers",
6790 [
6791 "SDN.Allocate"
6792 ]
6793 ]
6794 },
6795 "protected" : 1,
6796 "returns" : {
6797 "type" : "null"
6798 }
6799 }
6800 },
6801 "leaf" : 1,
6802 "path" : "/cluster/sdn/controllers/{controller}",
6803 "text" : "{controller}"
6804 }
6805 ],
6806 "info" : {
6807 "GET" : {
6808 "allowtoken" : 1,
6809 "description" : "SDN controllers index.",
6810 "method" : "GET",
6811 "name" : "index",
6812 "parameters" : {
6813 "additionalProperties" : 0,
6814 "properties" : {
6815 "type" : {
6816 "description" : "Only list sdn controllers of specific type",
6817 "enum" : [
6818 "evpn",
6819 "faucet"
6820 ],
6821 "optional" : 1,
6822 "type" : "string"
6823 }
6824 }
6825 },
6826 "permissions" : {
6827 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'",
6828 "user" : "all"
6829 },
6830 "returns" : {
6831 "items" : {
6832 "properties" : {
6833 "controller" : {
6834 "type" : "string"
6835 },
6836 "type" : {
6837 "type" : "string"
6838 }
6839 },
6840 "type" : "object"
6841 },
6842 "links" : [
6843 {
6844 "href" : "{controller}",
6845 "rel" : "child"
6846 }
6847 ],
6848 "type" : "array"
6849 }
6850 },
6851 "POST" : {
6852 "allowtoken" : 1,
6853 "description" : "Create a new sdn controller object.",
6854 "method" : "POST",
6855 "name" : "create",
6856 "parameters" : {
6857 "additionalProperties" : 0,
6858 "properties" : {
6859 "asn" : {
6860 "description" : "autonomous system number",
6861 "optional" : 1,
6862 "type" : "integer",
6863 "typetext" : "<integer>"
6864 },
6865 "controller" : {
6866 "description" : "The SDN controller object identifier.",
6867 "format" : "pve-sdn-controller-id",
6868 "type" : "string",
6869 "typetext" : "<string>"
6870 },
6871 "gateway-external-peers" : {
6872 "description" : "upstream bgp peers address list.",
6873 "format" : "ip-list",
6874 "optional" : 1,
6875 "type" : "string",
6876 "typetext" : "<string>"
6877 },
6878 "gateway-nodes" : {
6879 "description" : "List of cluster node names.",
6880 "format" : "pve-node-list",
6881 "optional" : 1,
6882 "type" : "string",
6883 "typetext" : "<string>"
6884 },
6885 "peers" : {
6886 "description" : "peers address list.",
6887 "format" : "ip-list",
6888 "optional" : 1,
6889 "type" : "string",
6890 "typetext" : "<string>"
6891 },
6892 "type" : {
6893 "description" : "Plugin type.",
6894 "enum" : [
6895 "evpn",
6896 "faucet"
6897 ],
6898 "format" : "pve-configid",
6899 "type" : "string"
6900 }
6901 },
6902 "type" : "object"
6903 },
6904 "permissions" : {
6905 "check" : [
6906 "perm",
6907 "/sdn/controllers",
6908 [
6909 "SDN.Allocate"
6910 ]
6911 ]
6912 },
6913 "protected" : 1,
6914 "returns" : {
6915 "type" : "null"
6916 }
6917 }
6918 },
6919 "leaf" : 0,
6920 "path" : "/cluster/sdn/controllers",
6921 "text" : "controllers"
6922 }
6923 ],
6924 "info" : {
6925 "GET" : {
6926 "allowtoken" : 1,
6927 "description" : "Directory index.",
6928 "method" : "GET",
6929 "name" : "index",
6930 "parameters" : {
6931 "additionalProperties" : 0
6932 },
6933 "permissions" : {
6934 "check" : [
6935 "perm",
6936 "/",
6937 [
6938 "SDN.Audit"
6939 ]
6940 ]
6941 },
6942 "returns" : {
6943 "items" : {
6944 "properties" : {
6945 "id" : {
6946 "type" : "string"
6947 }
6948 },
6949 "type" : "object"
6950 },
6951 "links" : [
6952 {
6953 "href" : "{id}",
6954 "rel" : "child"
6955 }
6956 ],
6957 "type" : "array"
6958 }
6959 },
6960 "PUT" : {
6961 "allowtoken" : 1,
6962 "description" : "Apply sdn controller changes && reload.",
6963 "method" : "PUT",
6964 "name" : "reload",
6965 "parameters" : {
6966 "additionalProperties" : 0
6967 },
6968 "permissions" : {
6969 "check" : [
6970 "perm",
6971 "/sdn",
6972 [
6973 "SDN.Allocate"
6974 ]
6975 ]
6976 },
6977 "protected" : 1,
6978 "returns" : {
6979 "type" : "string"
6980 }
6981 }
6982 },
6983 "leaf" : 0,
6984 "path" : "/cluster/sdn",
6985 "text" : "sdn"
6986 },
7aacca6f 6987 {
7aacca6f
DM
6988 "info" : {
6989 "GET" : {
e9cd3bd4 6990 "allowtoken" : 1,
7aacca6f 6991 "description" : "Read cluster log",
44660702
DM
6992 "method" : "GET",
6993 "name" : "log",
56122987 6994 "parameters" : {
7aacca6f 6995 "additionalProperties" : 0,
56122987
DM
6996 "properties" : {
6997 "max" : {
7aacca6f 6998 "description" : "Maximum number of entries.",
44660702
DM
6999 "minimum" : 1,
7000 "optional" : 1,
4bd7df8b 7001 "type" : "integer",
013dc89f 7002 "typetext" : "<integer> (1 - N)"
56122987 7003 }
7aacca6f 7004 }
56122987 7005 },
44660702
DM
7006 "permissions" : {
7007 "user" : "all"
7008 },
7aacca6f 7009 "returns" : {
7aacca6f 7010 "items" : {
44660702
DM
7011 "properties" : {},
7012 "type" : "object"
7013 },
7014 "type" : "array"
7aacca6f 7015 }
56122987 7016 }
44660702
DM
7017 },
7018 "leaf" : 1,
7019 "path" : "/cluster/log",
7020 "text" : "log"
56122987
DM
7021 },
7022 {
56122987
DM
7023 "info" : {
7024 "GET" : {
e9cd3bd4 7025 "allowtoken" : 1,
44660702 7026 "description" : "Resources index (cluster wide).",
7aacca6f 7027 "method" : "GET",
7aacca6f 7028 "name" : "resources",
56122987
DM
7029 "parameters" : {
7030 "additionalProperties" : 0,
7031 "properties" : {
7032 "type" : {
7033 "enum" : [
7034 "vm",
7035 "storage",
1c532546
TL
7036 "node",
7037 "sdn"
44660702
DM
7038 ],
7039 "optional" : 1,
7040 "type" : "string"
56122987
DM
7041 }
7042 }
7043 },
44660702
DM
7044 "permissions" : {
7045 "user" : "all"
7046 },
7047 "returns" : {
7048 "items" : {
4d47f125 7049 "properties" : {
4772952b
TL
7050 "content" : {
7051 "description" : "Allowed storage content types (when type == storage).",
7052 "format" : "pve-storage-content-list",
7053 "optional" : 1,
7054 "type" : "string"
7055 },
4d47f125
TL
7056 "cpu" : {
7057 "description" : "CPU utilization (when type in node,qemu,lxc).",
7058 "optional" : 1,
7059 "renderer" : "fraction_as_percentage",
7060 "type" : "number"
7061 },
7062 "disk" : {
7063 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
7064 "optional" : 1,
7065 "renderer" : "bytes",
7066 "type" : "string"
7067 },
7068 "hastate" : {
7069 "description" : "HA service status (for HA managed VMs).",
7070 "optional" : 1,
7071 "type" : "string"
7072 },
7073 "id" : {
7074 "type" : "string"
7075 },
7076 "level" : {
7077 "description" : "Support level (when type == node).",
7078 "optional" : 1,
7079 "type" : "string"
7080 },
7081 "maxcpu" : {
7082 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
7083 "optional" : 1,
7084 "type" : "number"
7085 },
7086 "maxdisk" : {
7087 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
7088 "optional" : 1,
7089 "renderer" : "bytes",
7090 "type" : "integer"
7091 },
7092 "maxmem" : {
7093 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
7094 "optional" : 1,
7095 "renderer" : "bytes",
7096 "type" : "integer"
7097 },
7098 "mem" : {
7099 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
7100 "optional" : 1,
7101 "renderer" : "bytes",
7102 "type" : "string"
7103 },
7104 "node" : {
7105 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
7106 "format" : "pve-node",
7107 "optional" : 1,
7108 "type" : "string"
7109 },
7110 "pool" : {
7111 "description" : "The pool name (when type in pool,qemu,lxc).",
7112 "optional" : 1,
7113 "type" : "string"
7114 },
7115 "status" : {
7116 "description" : "Resource type dependent status.",
7117 "optional" : 1,
7118 "type" : "string"
7119 },
7120 "storage" : {
7121 "description" : "The storage identifier (when type == storage).",
7122 "format" : "pve-storage-id",
7123 "optional" : 1,
7124 "type" : "string"
7125 },
7126 "type" : {
7127 "description" : "Resource type.",
7128 "enum" : [
7129 "node",
7130 "storage",
7131 "pool",
7132 "qemu",
7133 "lxc",
1c532546
TL
7134 "openvz",
7135 "sdn"
4d47f125
TL
7136 ],
7137 "type" : "string"
7138 },
7139 "uptime" : {
7140 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
7141 "optional" : 1,
7142 "renderer" : "duration",
7143 "type" : "integer"
7144 }
7145 },
44660702
DM
7146 "type" : "object"
7147 },
7148 "type" : "array"
7149 }
56122987
DM
7150 }
7151 },
7aacca6f 7152 "leaf" : 1,
44660702
DM
7153 "path" : "/cluster/resources",
7154 "text" : "resources"
56122987
DM
7155 },
7156 {
56122987
DM
7157 "info" : {
7158 "GET" : {
e9cd3bd4 7159 "allowtoken" : 1,
7aacca6f 7160 "description" : "List recent tasks (cluster wide).",
44660702 7161 "method" : "GET",
7aacca6f 7162 "name" : "tasks",
56122987
DM
7163 "parameters" : {
7164 "additionalProperties" : 0
7165 },
44660702
DM
7166 "permissions" : {
7167 "user" : "all"
7168 },
56122987
DM
7169 "returns" : {
7170 "items" : {
7171 "properties" : {
7172 "upid" : {
7173 "type" : "string"
7174 }
44660702
DM
7175 },
7176 "type" : "object"
7177 },
7178 "type" : "array"
7aacca6f 7179 }
56122987
DM
7180 }
7181 },
7aacca6f 7182 "leaf" : 1,
44660702
DM
7183 "path" : "/cluster/tasks",
7184 "text" : "tasks"
56122987
DM
7185 },
7186 {
56122987 7187 "info" : {
7aacca6f 7188 "GET" : {
e9cd3bd4 7189 "allowtoken" : 1,
44660702
DM
7190 "description" : "Get datacenter options.",
7191 "method" : "GET",
7192 "name" : "get_options",
56122987 7193 "parameters" : {
7aacca6f
DM
7194 "additionalProperties" : 0
7195 },
7196 "permissions" : {
7197 "check" : [
7198 "perm",
7199 "/",
7200 [
7201 "Sys.Audit"
7202 ]
7203 ]
7204 },
7aacca6f 7205 "returns" : {
44660702 7206 "type" : "object"
7aacca6f
DM
7207 }
7208 },
7209 "PUT" : {
e9cd3bd4 7210 "allowtoken" : 1,
44660702
DM
7211 "description" : "Set datacenter options.",
7212 "method" : "PUT",
7aacca6f
DM
7213 "name" : "set_options",
7214 "parameters" : {
7215 "additionalProperties" : 0,
7216 "properties" : {
27a7acb2
DM
7217 "bwlimit" : {
7218 "description" : "Set bandwidth/io limits various operations.",
7219 "format" : {
7220 "clone" : {
95895385 7221 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
7222 "format_description" : "LIMIT",
7223 "minimum" : "0",
7224 "optional" : 1,
7225 "type" : "number"
7226 },
7227 "default" : {
95895385 7228 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
7229 "format_description" : "LIMIT",
7230 "minimum" : "0",
7231 "optional" : 1,
7232 "type" : "number"
7233 },
7234 "migration" : {
95895385 7235 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
7236 "format_description" : "LIMIT",
7237 "minimum" : "0",
7238 "optional" : 1,
7239 "type" : "number"
7240 },
7241 "move" : {
95895385 7242 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
7243 "format_description" : "LIMIT",
7244 "minimum" : "0",
7245 "optional" : 1,
7246 "type" : "number"
7247 },
7248 "restore" : {
95895385 7249 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
7250 "format_description" : "LIMIT",
7251 "minimum" : "0",
7252 "optional" : 1,
7253 "type" : "number"
7254 }
7255 },
7256 "optional" : 1,
7257 "type" : "string",
7258 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
7259 },
56122987 7260 "console" : {
a9a8e3d1 7261 "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
7262 "enum" : [
7263 "applet",
7264 "vv",
a9a8e3d1
DM
7265 "html5",
7266 "xtermjs"
44660702
DM
7267 ],
7268 "optional" : 1,
7269 "type" : "string"
56122987 7270 },
7aacca6f 7271 "delete" : {
7aacca6f 7272 "description" : "A list of settings you want to delete.",
44660702 7273 "format" : "pve-configid-list",
7aacca6f 7274 "optional" : 1,
013dc89f
DM
7275 "type" : "string",
7276 "typetext" : "<string>"
7aacca6f 7277 },
44660702
DM
7278 "email_from" : {
7279 "description" : "Specify email address to send notification from (default is root@$hostname)",
7280 "format" : "email-opt",
7aacca6f 7281 "optional" : 1,
013dc89f
DM
7282 "type" : "string",
7283 "typetext" : "<string>"
44660702
DM
7284 },
7285 "fencing" : {
7286 "default" : "watchdog",
7287 "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 7288 "enum" : [
44660702
DM
7289 "watchdog",
7290 "hardware",
7291 "both"
7aacca6f 7292 ],
44660702
DM
7293 "optional" : 1,
7294 "type" : "string"
7295 },
5f26e15b
TL
7296 "ha" : {
7297 "description" : "Cluster wide HA settings.",
7298 "format" : {
7299 "shutdown_policy" : {
7300 "default" : "conditional",
5c1699e5 7301 "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
7302 "enum" : [
7303 "freeze",
7304 "failover",
5c1699e5
TL
7305 "conditional",
7306 "migrate"
5f26e15b
TL
7307 ],
7308 "type" : "string",
e9cd3bd4 7309 "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
7310 }
7311 },
7312 "optional" : 1,
7313 "type" : "string",
5c1699e5 7314 "typetext" : "shutdown_policy=<enum>"
5f26e15b 7315 },
44660702
DM
7316 "http_proxy" : {
7317 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
7318 "optional" : 1,
7319 "pattern" : "http://.*",
7320 "type" : "string"
7aacca6f 7321 },
56122987 7322 "keyboard" : {
44660702 7323 "description" : "Default keybord layout for vnc server.",
56122987 7324 "enum" : [
44660702
DM
7325 "de",
7326 "de-ch",
7aacca6f 7327 "da",
56122987 7328 "en-gb",
44660702
DM
7329 "en-us",
7330 "es",
7331 "fi",
7332 "fr",
7333 "fr-be",
7334 "fr-ca",
7335 "fr-ch",
7336 "hu",
7aacca6f 7337 "is",
44660702
DM
7338 "it",
7339 "ja",
7340 "lt",
56122987 7341 "mk",
7aacca6f 7342 "nl",
56122987 7343 "no",
44660702 7344 "pl",
7aacca6f 7345 "pt",
44660702
DM
7346 "pt-br",
7347 "sv",
7348 "sl",
7349 "tr"
56122987 7350 ],
56122987
DM
7351 "optional" : 1,
7352 "type" : "string"
7353 },
44660702
DM
7354 "language" : {
7355 "description" : "Default GUI language.",
7356 "enum" : [
4d47f125 7357 "ca",
1c532546
TL
7358 "da",
7359 "de",
44660702 7360 "en",
1c532546 7361 "es",
4d47f125 7362 "eu",
1c532546 7363 "fa",
4d47f125 7364 "fr",
1c532546 7365 "he",
4d47f125 7366 "it",
4d47f125
TL
7367 "ja",
7368 "nb",
7369 "nn",
4d47f125
TL
7370 "pl",
7371 "pt_BR",
7372 "ru",
7373 "sl",
7374 "sv",
1c532546
TL
7375 "tr",
7376 "zh_CN",
7377 "zh_TW"
44660702 7378 ],
56122987 7379 "optional" : 1,
44660702 7380 "type" : "string"
56122987 7381 },
4bd7df8b
DM
7382 "mac_prefix" : {
7383 "description" : "Prefix for autogenerated MAC addresses.",
95895385 7384 "format" : "mac-prefix",
4bd7df8b 7385 "optional" : 1,
95895385
TL
7386 "type" : "string",
7387 "typetext" : "<string>"
4bd7df8b 7388 },
44660702
DM
7389 "max_workers" : {
7390 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
7391 "minimum" : 1,
56122987 7392 "optional" : 1,
4bd7df8b 7393 "type" : "integer",
013dc89f 7394 "typetext" : "<integer> (1 - N)"
56122987 7395 },
de0983cb
DM
7396 "migration" : {
7397 "description" : "For cluster wide migration settings.",
7398 "format" : {
7399 "network" : {
7400 "description" : "CIDR of the (sub) network that is used for migration.",
7401 "format" : "CIDR",
7402 "format_description" : "CIDR",
7403 "optional" : 1,
7404 "type" : "string"
7405 },
7406 "type" : {
7407 "default" : "secure",
7408 "default_key" : 1,
7409 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
7410 "enum" : [
7411 "secure",
7412 "insecure"
7413 ],
7414 "type" : "string"
7415 }
7416 },
7417 "optional" : 1,
7418 "type" : "string",
7419 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
7420 },
7aacca6f 7421 "migration_unsecure" : {
de0983cb 7422 "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 7423 "optional" : 1,
013dc89f
DM
7424 "type" : "boolean",
7425 "typetext" : "<boolean>"
95895385
TL
7426 },
7427 "u2f" : {
7428 "description" : "u2f",
7429 "format" : {
7430 "appid" : {
7431 "description" : "U2F AppId URL override. Defaults to the origin.",
7432 "format_description" : "APPID",
7433 "optional" : 1,
7434 "type" : "string"
7435 },
7436 "origin" : {
7437 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
7438 "format_description" : "URL",
7439 "optional" : 1,
7440 "type" : "string"
7441 }
7442 },
7443 "optional" : 1,
7444 "type" : "string",
7445 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
7446 }
7447 }
7448 },
44660702
DM
7449 "permissions" : {
7450 "check" : [
7451 "perm",
7452 "/",
7453 [
7454 "Sys.Modify"
7455 ]
7456 ]
7457 },
56122987 7458 "protected" : 1,
7aacca6f
DM
7459 "returns" : {
7460 "type" : "null"
44660702 7461 }
7aacca6f
DM
7462 }
7463 },
44660702
DM
7464 "leaf" : 1,
7465 "path" : "/cluster/options",
7aacca6f
DM
7466 "text" : "options"
7467 },
7468 {
7aacca6f 7469 "info" : {
56122987 7470 "GET" : {
e9cd3bd4 7471 "allowtoken" : 1,
1e3f8156 7472 "description" : "Get cluster status information.",
44660702
DM
7473 "method" : "GET",
7474 "name" : "get_status",
56122987
DM
7475 "parameters" : {
7476 "additionalProperties" : 0
7477 },
56122987
DM
7478 "permissions" : {
7479 "check" : [
7480 "perm",
7481 "/",
7482 [
7483 "Sys.Audit"
7484 ]
7485 ]
7486 },
7aacca6f 7487 "protected" : 1,
56122987 7488 "returns" : {
56122987 7489 "items" : {
56122987 7490 "properties" : {
e9cd3bd4
TL
7491 "id" : {
7492 "type" : "string"
7493 },
7494 "ip" : {
7495 "description" : "[node] IP of the resolved nodename.",
7496 "optional" : 1,
7497 "type" : "string"
7498 },
7499 "level" : {
7500 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
7501 "optional" : 1,
7502 "type" : "string"
7503 },
7504 "local" : {
7505 "description" : "[node] Indicates if this is the responding node.",
7506 "optional" : 1,
7507 "type" : "boolean"
7508 },
7509 "name" : {
7510 "type" : "string"
7511 },
7512 "nodeid" : {
7513 "description" : "[node] ID of the node from the corosync configuration.",
7514 "optional" : 1,
7515 "type" : "integer"
7516 },
7517 "nodes" : {
7518 "description" : "[cluster] Nodes count, including offline nodes.",
7519 "optional" : 1,
7520 "type" : "integer"
7521 },
7522 "online" : {
7523 "description" : "[node] Indicates if the node is online or offline.",
7524 "optional" : 1,
7525 "type" : "boolean"
7526 },
7527 "quorate" : {
7528 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
7529 "optional" : 1,
7530 "type" : "boolean"
7531 },
56122987 7532 "type" : {
e9cd3bd4
TL
7533 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
7534 "enum" : [
7535 "cluster",
7536 "node"
7537 ],
56122987 7538 "type" : "string"
e9cd3bd4
TL
7539 },
7540 "version" : {
7541 "description" : "[cluster] Current version of the corosync configuration file.",
7542 "optional" : 1,
7543 "type" : "integer"
56122987 7544 }
44660702
DM
7545 },
7546 "type" : "object"
7aacca6f
DM
7547 },
7548 "type" : "array"
56122987
DM
7549 }
7550 }
7551 },
44660702 7552 "leaf" : 1,
7aacca6f 7553 "path" : "/cluster/status",
44660702 7554 "text" : "status"
56122987
DM
7555 },
7556 {
56122987
DM
7557 "info" : {
7558 "GET" : {
e9cd3bd4 7559 "allowtoken" : 1,
56122987 7560 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
7561 "method" : "GET",
7562 "name" : "nextid",
56122987 7563 "parameters" : {
44660702 7564 "additionalProperties" : 0,
56122987
DM
7565 "properties" : {
7566 "vmid" : {
44660702 7567 "description" : "The (unique) ID of the VM.",
56122987 7568 "format" : "pve-vmid",
7aacca6f 7569 "minimum" : 1,
7aacca6f 7570 "optional" : 1,
4bd7df8b 7571 "type" : "integer",
013dc89f 7572 "typetext" : "<integer> (1 - N)"
56122987 7573 }
44660702 7574 }
56122987 7575 },
7aacca6f
DM
7576 "permissions" : {
7577 "user" : "all"
44660702
DM
7578 },
7579 "returns" : {
7580 "description" : "The next free VMID.",
7581 "type" : "integer"
7aacca6f 7582 }
56122987
DM
7583 }
7584 },
7aacca6f 7585 "leaf" : 1,
44660702
DM
7586 "path" : "/cluster/nextid",
7587 "text" : "nextid"
56122987
DM
7588 }
7589 ],
44660702
DM
7590 "info" : {
7591 "GET" : {
e9cd3bd4 7592 "allowtoken" : 1,
44660702
DM
7593 "description" : "Cluster index.",
7594 "method" : "GET",
7595 "name" : "index",
7596 "parameters" : {
7597 "additionalProperties" : 0
7598 },
7599 "permissions" : {
7600 "user" : "all"
7601 },
7602 "returns" : {
7603 "items" : {
7604 "properties" : {},
7605 "type" : "object"
7606 },
7607 "links" : [
7608 {
7609 "href" : "{name}",
7610 "rel" : "child"
7611 }
7612 ],
7613 "type" : "array"
7614 }
7615 }
7616 },
7617 "leaf" : 0,
7618 "path" : "/cluster",
7aacca6f 7619 "text" : "cluster"
56122987
DM
7620 },
7621 {
56122987
DM
7622 "children" : [
7623 {
7aacca6f
DM
7624 "children" : [
7625 {
7626 "children" : [
7627 {
56122987
DM
7628 "children" : [
7629 {
56122987
DM
7630 "children" : [
7631 {
7632 "children" : [
7633 {
56122987
DM
7634 "info" : {
7635 "DELETE" : {
e9cd3bd4 7636 "allowtoken" : 1,
44660702 7637 "description" : "Delete rule.",
7aacca6f 7638 "method" : "DELETE",
44660702 7639 "name" : "delete_rule",
56122987 7640 "parameters" : {
44660702 7641 "additionalProperties" : 0,
56122987 7642 "properties" : {
44660702
DM
7643 "digest" : {
7644 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7645 "maxLength" : 40,
7646 "optional" : 1,
013dc89f
DM
7647 "type" : "string",
7648 "typetext" : "<string>"
44660702 7649 },
56122987 7650 "node" : {
7aacca6f 7651 "description" : "The cluster node name.",
44660702 7652 "format" : "pve-node",
013dc89f
DM
7653 "type" : "string",
7654 "typetext" : "<string>"
7aacca6f 7655 },
56122987 7656 "pos" : {
7aacca6f 7657 "description" : "Update rule at position <pos>.",
44660702 7658 "minimum" : 0,
56122987 7659 "optional" : 1,
4bd7df8b 7660 "type" : "integer",
013dc89f 7661 "typetext" : "<integer> (0 - N)"
44660702
DM
7662 },
7663 "vmid" : {
7664 "description" : "The (unique) ID of the VM.",
7665 "format" : "pve-vmid",
7666 "minimum" : 1,
4bd7df8b 7667 "type" : "integer",
013dc89f 7668 "typetext" : "<integer> (1 - N)"
56122987 7669 }
44660702 7670 }
7aacca6f 7671 },
56122987
DM
7672 "permissions" : {
7673 "check" : [
7674 "perm",
7675 "/vms/{vmid}",
7676 [
7677 "VM.Config.Network"
7678 ]
7679 ]
7680 },
44660702
DM
7681 "protected" : 1,
7682 "proxyto" : null,
56122987
DM
7683 "returns" : {
7684 "type" : "null"
44660702
DM
7685 }
7686 },
7687 "GET" : {
e9cd3bd4 7688 "allowtoken" : 1,
44660702
DM
7689 "description" : "Get single rule data.",
7690 "method" : "GET",
7691 "name" : "get_rule",
7692 "parameters" : {
7693 "additionalProperties" : 0,
7694 "properties" : {
7695 "node" : {
7696 "description" : "The cluster node name.",
7697 "format" : "pve-node",
013dc89f
DM
7698 "type" : "string",
7699 "typetext" : "<string>"
44660702
DM
7700 },
7701 "pos" : {
7702 "description" : "Update rule at position <pos>.",
7703 "minimum" : 0,
7704 "optional" : 1,
4bd7df8b 7705 "type" : "integer",
013dc89f 7706 "typetext" : "<integer> (0 - N)"
44660702
DM
7707 },
7708 "vmid" : {
7709 "description" : "The (unique) ID of the VM.",
7710 "format" : "pve-vmid",
7711 "minimum" : 1,
4bd7df8b 7712 "type" : "integer",
013dc89f 7713 "typetext" : "<integer> (1 - N)"
44660702
DM
7714 }
7715 }
56122987 7716 },
56122987
DM
7717 "permissions" : {
7718 "check" : [
7719 "perm",
7720 "/vms/{vmid}",
7721 [
44660702 7722 "VM.Audit"
56122987
DM
7723 ]
7724 ]
7725 },
56122987 7726 "proxyto" : null,
44660702
DM
7727 "returns" : {
7728 "properties" : {
e2d681b3
TL
7729 "action" : {
7730 "type" : "string"
7731 },
7732 "comment" : {
7733 "optional" : 1,
7734 "type" : "string"
7735 },
7736 "dest" : {
7737 "optional" : 1,
7738 "type" : "string"
7739 },
7740 "dport" : {
7741 "optional" : 1,
7742 "type" : "string"
7743 },
7744 "enable" : {
7745 "optional" : 1,
7746 "type" : "integer"
7747 },
4772952b
TL
7748 "icmp-type" : {
7749 "optional" : 1,
7750 "type" : "string"
7751 },
e2d681b3
TL
7752 "iface" : {
7753 "optional" : 1,
7754 "type" : "string"
7755 },
7756 "ipversion" : {
7757 "optional" : 1,
7758 "type" : "integer"
7759 },
95895385
TL
7760 "log" : {
7761 "description" : "Log level for firewall rule",
7762 "enum" : [
7763 "emerg",
7764 "alert",
7765 "crit",
7766 "err",
7767 "warning",
7768 "notice",
7769 "info",
7770 "debug",
7771 "nolog"
7772 ],
7773 "optional" : 1,
7774 "type" : "string"
7775 },
e2d681b3
TL
7776 "macro" : {
7777 "optional" : 1,
5f26e15b 7778 "type" : "string"
e2d681b3 7779 },
44660702
DM
7780 "pos" : {
7781 "type" : "integer"
e2d681b3
TL
7782 },
7783 "proto" : {
7784 "optional" : 1,
7785 "type" : "string"
7786 },
7787 "source" : {
7788 "optional" : 1,
7789 "type" : "string"
7790 },
7791 "sport" : {
7792 "optional" : 1,
7793 "type" : "string"
7794 },
7795 "type" : {
7796 "type" : "string"
44660702
DM
7797 }
7798 },
7799 "type" : "object"
7800 }
7801 },
7802 "PUT" : {
e9cd3bd4 7803 "allowtoken" : 1,
7aacca6f
DM
7804 "description" : "Modify rule data.",
7805 "method" : "PUT",
44660702 7806 "name" : "update_rule",
56122987 7807 "parameters" : {
44660702 7808 "additionalProperties" : 0,
56122987 7809 "properties" : {
44660702
DM
7810 "action" : {
7811 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7812 "maxLength" : 20,
7813 "minLength" : 2,
56122987 7814 "optional" : 1,
44660702 7815 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
7816 "type" : "string"
7817 },
7aacca6f 7818 "comment" : {
e94f0d56 7819 "description" : "Descriptive comment.",
7aacca6f 7820 "optional" : 1,
013dc89f
DM
7821 "type" : "string",
7822 "typetext" : "<string>"
7aacca6f
DM
7823 },
7824 "delete" : {
7aacca6f 7825 "description" : "A list of settings you want to delete.",
44660702
DM
7826 "format" : "pve-configid-list",
7827 "optional" : 1,
013dc89f
DM
7828 "type" : "string",
7829 "typetext" : "<string>"
7aacca6f
DM
7830 },
7831 "dest" : {
44660702 7832 "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 7833 "format" : "pve-fw-addr-spec",
56122987 7834 "optional" : 1,
013dc89f
DM
7835 "type" : "string",
7836 "typetext" : "<string>"
56122987 7837 },
7aacca6f 7838 "digest" : {
44660702 7839 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 7840 "maxLength" : 40,
56122987 7841 "optional" : 1,
013dc89f
DM
7842 "type" : "string",
7843 "typetext" : "<string>"
44660702
DM
7844 },
7845 "dport" : {
7846 "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.",
7847 "format" : "pve-fw-dport-spec",
7848 "optional" : 1,
013dc89f
DM
7849 "type" : "string",
7850 "typetext" : "<string>"
56122987 7851 },
7aacca6f 7852 "enable" : {
e94f0d56 7853 "description" : "Flag to enable/disable a rule.",
44660702 7854 "minimum" : 0,
56122987 7855 "optional" : 1,
4bd7df8b 7856 "type" : "integer",
013dc89f 7857 "typetext" : "<integer> (0 - N)"
7aacca6f 7858 },
4772952b
TL
7859 "icmp-type" : {
7860 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
7861 "format" : "pve-fw-icmp-type-spec",
7862 "optional" : 1,
7863 "type" : "string",
7864 "typetext" : "<string>"
7865 },
44660702
DM
7866 "iface" : {
7867 "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.",
7868 "format" : "pve-iface",
7869 "maxLength" : 20,
7aacca6f 7870 "minLength" : 2,
56122987 7871 "optional" : 1,
013dc89f
DM
7872 "type" : "string",
7873 "typetext" : "<string>"
56122987 7874 },
95895385
TL
7875 "log" : {
7876 "description" : "Log level for firewall rule.",
7877 "enum" : [
7878 "emerg",
7879 "alert",
7880 "crit",
7881 "err",
7882 "warning",
7883 "notice",
7884 "info",
7885 "debug",
7886 "nolog"
7887 ],
7888 "optional" : 1,
7889 "type" : "string"
7890 },
44660702 7891 "macro" : {
e94f0d56 7892 "description" : "Use predefined standard macro.",
44660702 7893 "maxLength" : 128,
56122987 7894 "optional" : 1,
013dc89f
DM
7895 "type" : "string",
7896 "typetext" : "<string>"
56122987 7897 },
44660702
DM
7898 "moveto" : {
7899 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
7900 "minimum" : 0,
56122987 7901 "optional" : 1,
4bd7df8b 7902 "type" : "integer",
013dc89f 7903 "typetext" : "<integer> (0 - N)"
56122987 7904 },
44660702
DM
7905 "node" : {
7906 "description" : "The cluster node name.",
7907 "format" : "pve-node",
013dc89f
DM
7908 "type" : "string",
7909 "typetext" : "<string>"
44660702
DM
7910 },
7911 "pos" : {
7912 "description" : "Update rule at position <pos>.",
7913 "minimum" : 0,
7914 "optional" : 1,
4bd7df8b 7915 "type" : "integer",
013dc89f 7916 "typetext" : "<integer> (0 - N)"
56122987 7917 },
44660702
DM
7918 "proto" : {
7919 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
7920 "format" : "pve-fw-protocol-spec",
7921 "optional" : 1,
013dc89f
DM
7922 "type" : "string",
7923 "typetext" : "<string>"
7aacca6f 7924 },
44660702
DM
7925 "source" : {
7926 "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.",
7927 "format" : "pve-fw-addr-spec",
56122987 7928 "optional" : 1,
013dc89f
DM
7929 "type" : "string",
7930 "typetext" : "<string>"
56122987
DM
7931 },
7932 "sport" : {
7933 "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
7934 "format" : "pve-fw-sport-spec",
7935 "optional" : 1,
013dc89f
DM
7936 "type" : "string",
7937 "typetext" : "<string>"
44660702
DM
7938 },
7939 "type" : {
e94f0d56 7940 "description" : "Rule type.",
44660702
DM
7941 "enum" : [
7942 "in",
7943 "out",
7944 "group"
7945 ],
56122987 7946 "optional" : 1,
56122987 7947 "type" : "string"
44660702
DM
7948 },
7949 "vmid" : {
7950 "description" : "The (unique) ID of the VM.",
7951 "format" : "pve-vmid",
7952 "minimum" : 1,
4bd7df8b 7953 "type" : "integer",
013dc89f 7954 "typetext" : "<integer> (1 - N)"
56122987 7955 }
44660702 7956 }
56122987 7957 },
56122987
DM
7958 "permissions" : {
7959 "check" : [
7960 "perm",
7961 "/vms/{vmid}",
7962 [
44660702 7963 "VM.Config.Network"
56122987
DM
7964 ]
7965 ]
7aacca6f 7966 },
44660702 7967 "protected" : 1,
7aacca6f 7968 "proxyto" : null,
7aacca6f 7969 "returns" : {
44660702
DM
7970 "type" : "null"
7971 }
56122987 7972 }
7aacca6f 7973 },
44660702 7974 "leaf" : 1,
7aacca6f 7975 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 7976 "text" : "{pos}"
56122987
DM
7977 }
7978 ],
56122987 7979 "info" : {
44660702 7980 "GET" : {
e9cd3bd4 7981 "allowtoken" : 1,
44660702
DM
7982 "description" : "List rules.",
7983 "method" : "GET",
7984 "name" : "get_rules",
7985 "parameters" : {
7986 "additionalProperties" : 0,
7987 "properties" : {
7988 "node" : {
7989 "description" : "The cluster node name.",
7990 "format" : "pve-node",
013dc89f
DM
7991 "type" : "string",
7992 "typetext" : "<string>"
44660702
DM
7993 },
7994 "vmid" : {
7995 "description" : "The (unique) ID of the VM.",
7996 "format" : "pve-vmid",
7997 "minimum" : 1,
4bd7df8b 7998 "type" : "integer",
013dc89f 7999 "typetext" : "<integer> (1 - N)"
44660702
DM
8000 }
8001 }
56122987 8002 },
56122987
DM
8003 "permissions" : {
8004 "check" : [
8005 "perm",
8006 "/vms/{vmid}",
8007 [
44660702 8008 "VM.Audit"
56122987
DM
8009 ]
8010 ]
7aacca6f 8011 },
44660702
DM
8012 "proxyto" : null,
8013 "returns" : {
8014 "items" : {
8015 "properties" : {
8016 "pos" : {
8017 "type" : "integer"
8018 }
8019 },
8020 "type" : "object"
8021 },
8022 "links" : [
8023 {
8024 "href" : "{pos}",
8025 "rel" : "child"
8026 }
8027 ],
8028 "type" : "array"
8029 }
8030 },
8031 "POST" : {
e9cd3bd4 8032 "allowtoken" : 1,
44660702 8033 "description" : "Create new rule.",
7aacca6f 8034 "method" : "POST",
44660702 8035 "name" : "create_rule",
56122987 8036 "parameters" : {
44660702 8037 "additionalProperties" : 0,
56122987 8038 "properties" : {
44660702
DM
8039 "action" : {
8040 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
8041 "maxLength" : 20,
8042 "minLength" : 2,
8043 "optional" : 0,
8044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8045 "type" : "string"
56122987 8046 },
44660702 8047 "comment" : {
e94f0d56 8048 "description" : "Descriptive comment.",
56122987 8049 "optional" : 1,
013dc89f
DM
8050 "type" : "string",
8051 "typetext" : "<string>"
56122987 8052 },
44660702
DM
8053 "dest" : {
8054 "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.",
8055 "format" : "pve-fw-addr-spec",
8056 "optional" : 1,
013dc89f
DM
8057 "type" : "string",
8058 "typetext" : "<string>"
56122987 8059 },
44660702
DM
8060 "digest" : {
8061 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8062 "maxLength" : 40,
56122987 8063 "optional" : 1,
013dc89f
DM
8064 "type" : "string",
8065 "typetext" : "<string>"
56122987 8066 },
7aacca6f
DM
8067 "dport" : {
8068 "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 8069 "format" : "pve-fw-dport-spec",
7aacca6f 8070 "optional" : 1,
013dc89f
DM
8071 "type" : "string",
8072 "typetext" : "<string>"
56122987
DM
8073 },
8074 "enable" : {
e94f0d56 8075 "description" : "Flag to enable/disable a rule.",
56122987 8076 "minimum" : 0,
44660702 8077 "optional" : 1,
4bd7df8b 8078 "type" : "integer",
013dc89f 8079 "typetext" : "<integer> (0 - N)"
56122987 8080 },
4772952b
TL
8081 "icmp-type" : {
8082 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
8083 "format" : "pve-fw-icmp-type-spec",
8084 "optional" : 1,
8085 "type" : "string",
8086 "typetext" : "<string>"
8087 },
44660702
DM
8088 "iface" : {
8089 "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.",
8090 "format" : "pve-iface",
8091 "maxLength" : 20,
7aacca6f 8092 "minLength" : 2,
44660702 8093 "optional" : 1,
013dc89f
DM
8094 "type" : "string",
8095 "typetext" : "<string>"
56122987 8096 },
95895385
TL
8097 "log" : {
8098 "description" : "Log level for firewall rule.",
8099 "enum" : [
8100 "emerg",
8101 "alert",
8102 "crit",
8103 "err",
8104 "warning",
8105 "notice",
8106 "info",
8107 "debug",
8108 "nolog"
8109 ],
8110 "optional" : 1,
8111 "type" : "string"
8112 },
44660702 8113 "macro" : {
e94f0d56 8114 "description" : "Use predefined standard macro.",
44660702 8115 "maxLength" : 128,
56122987 8116 "optional" : 1,
013dc89f
DM
8117 "type" : "string",
8118 "typetext" : "<string>"
7aacca6f 8119 },
44660702
DM
8120 "node" : {
8121 "description" : "The cluster node name.",
8122 "format" : "pve-node",
013dc89f
DM
8123 "type" : "string",
8124 "typetext" : "<string>"
44660702
DM
8125 },
8126 "pos" : {
8127 "description" : "Update rule at position <pos>.",
8128 "minimum" : 0,
8129 "optional" : 1,
4bd7df8b 8130 "type" : "integer",
013dc89f 8131 "typetext" : "<integer> (0 - N)"
44660702
DM
8132 },
8133 "proto" : {
8134 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
8135 "format" : "pve-fw-protocol-spec",
7aacca6f 8136 "optional" : 1,
013dc89f
DM
8137 "type" : "string",
8138 "typetext" : "<string>"
7aacca6f
DM
8139 },
8140 "source" : {
8141 "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 8142 "format" : "pve-fw-addr-spec",
7aacca6f 8143 "optional" : 1,
013dc89f
DM
8144 "type" : "string",
8145 "typetext" : "<string>"
7aacca6f 8146 },
44660702
DM
8147 "sport" : {
8148 "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.",
8149 "format" : "pve-fw-sport-spec",
7aacca6f 8150 "optional" : 1,
013dc89f
DM
8151 "type" : "string",
8152 "typetext" : "<string>"
7aacca6f 8153 },
44660702 8154 "type" : {
e94f0d56 8155 "description" : "Rule type.",
44660702
DM
8156 "enum" : [
8157 "in",
8158 "out",
8159 "group"
8160 ],
8161 "optional" : 0,
8162 "type" : "string"
7aacca6f 8163 },
7aacca6f 8164 "vmid" : {
44660702 8165 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
8166 "format" : "pve-vmid",
8167 "minimum" : 1,
4bd7df8b 8168 "type" : "integer",
013dc89f 8169 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
8170 }
8171 }
8172 },
56122987
DM
8173 "permissions" : {
8174 "check" : [
8175 "perm",
8176 "/vms/{vmid}",
8177 [
44660702 8178 "VM.Config.Network"
56122987
DM
8179 ]
8180 ]
8181 },
44660702
DM
8182 "protected" : 1,
8183 "proxyto" : null,
56122987 8184 "returns" : {
44660702
DM
8185 "type" : "null"
8186 }
56122987
DM
8187 }
8188 },
44660702 8189 "leaf" : 0,
7aacca6f 8190 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 8191 "text" : "rules"
56122987
DM
8192 },
8193 {
8194 "children" : [
8195 {
56122987 8196 "info" : {
44660702 8197 "DELETE" : {
e9cd3bd4 8198 "allowtoken" : 1,
44660702
DM
8199 "description" : "Remove IP or Network alias.",
8200 "method" : "DELETE",
8201 "name" : "remove_alias",
56122987 8202 "parameters" : {
44660702 8203 "additionalProperties" : 0,
56122987 8204 "properties" : {
44660702
DM
8205 "digest" : {
8206 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8207 "maxLength" : 40,
8208 "optional" : 1,
013dc89f
DM
8209 "type" : "string",
8210 "typetext" : "<string>"
56122987
DM
8211 },
8212 "name" : {
56122987 8213 "description" : "Alias name.",
44660702 8214 "maxLength" : 64,
7aacca6f 8215 "minLength" : 2,
44660702 8216 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
8217 "type" : "string"
8218 },
7aacca6f 8219 "node" : {
44660702 8220 "description" : "The cluster node name.",
7aacca6f 8221 "format" : "pve-node",
013dc89f
DM
8222 "type" : "string",
8223 "typetext" : "<string>"
44660702
DM
8224 },
8225 "vmid" : {
8226 "description" : "The (unique) ID of the VM.",
8227 "format" : "pve-vmid",
8228 "minimum" : 1,
4bd7df8b 8229 "type" : "integer",
013dc89f 8230 "typetext" : "<integer> (1 - N)"
56122987 8231 }
44660702 8232 }
56122987 8233 },
7aacca6f
DM
8234 "permissions" : {
8235 "check" : [
8236 "perm",
8237 "/vms/{vmid}",
8238 [
8239 "VM.Config.Network"
8240 ]
8241 ]
56122987 8242 },
44660702
DM
8243 "protected" : 1,
8244 "returns" : {
8245 "type" : "null"
8246 }
8247 },
8248 "GET" : {
e9cd3bd4 8249 "allowtoken" : 1,
44660702
DM
8250 "description" : "Read alias.",
8251 "method" : "GET",
8252 "name" : "read_alias",
56122987 8253 "parameters" : {
44660702 8254 "additionalProperties" : 0,
56122987 8255 "properties" : {
56122987 8256 "name" : {
7aacca6f 8257 "description" : "Alias name.",
44660702 8258 "maxLength" : 64,
56122987 8259 "minLength" : 2,
44660702 8260 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 8261 "type" : "string"
7aacca6f
DM
8262 },
8263 "node" : {
8264 "description" : "The cluster node name.",
44660702 8265 "format" : "pve-node",
013dc89f
DM
8266 "type" : "string",
8267 "typetext" : "<string>"
44660702
DM
8268 },
8269 "vmid" : {
8270 "description" : "The (unique) ID of the VM.",
8271 "format" : "pve-vmid",
8272 "minimum" : 1,
4bd7df8b 8273 "type" : "integer",
013dc89f 8274 "typetext" : "<integer> (1 - N)"
56122987 8275 }
44660702 8276 }
56122987 8277 },
44660702
DM
8278 "permissions" : {
8279 "check" : [
8280 "perm",
8281 "/vms/{vmid}",
8282 [
8283 "VM.Audit"
8284 ]
8285 ]
56122987 8286 },
44660702
DM
8287 "returns" : {
8288 "type" : "object"
8289 }
7aacca6f 8290 },
44660702 8291 "PUT" : {
e9cd3bd4 8292 "allowtoken" : 1,
44660702
DM
8293 "description" : "Update IP or Network alias.",
8294 "method" : "PUT",
8295 "name" : "update_alias",
56122987
DM
8296 "parameters" : {
8297 "additionalProperties" : 0,
8298 "properties" : {
44660702
DM
8299 "cidr" : {
8300 "description" : "Network/IP specification in CIDR format.",
8301 "format" : "IPorCIDR",
013dc89f
DM
8302 "type" : "string",
8303 "typetext" : "<string>"
44660702
DM
8304 },
8305 "comment" : {
8306 "optional" : 1,
013dc89f
DM
8307 "type" : "string",
8308 "typetext" : "<string>"
56122987
DM
8309 },
8310 "digest" : {
44660702 8311 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
8312 "maxLength" : 40,
8313 "optional" : 1,
013dc89f
DM
8314 "type" : "string",
8315 "typetext" : "<string>"
56122987 8316 },
7aacca6f 8317 "name" : {
44660702 8318 "description" : "Alias name.",
56122987
DM
8319 "maxLength" : 64,
8320 "minLength" : 2,
8321 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 8322 "type" : "string"
7aacca6f
DM
8323 },
8324 "node" : {
7aacca6f 8325 "description" : "The cluster node name.",
44660702 8326 "format" : "pve-node",
013dc89f
DM
8327 "type" : "string",
8328 "typetext" : "<string>"
44660702
DM
8329 },
8330 "rename" : {
8331 "description" : "Rename an existing alias.",
8332 "maxLength" : 64,
8333 "minLength" : 2,
8334 "optional" : 1,
8335 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8336 "type" : "string"
8337 },
8338 "vmid" : {
8339 "description" : "The (unique) ID of the VM.",
8340 "format" : "pve-vmid",
8341 "minimum" : 1,
4bd7df8b 8342 "type" : "integer",
013dc89f 8343 "typetext" : "<integer> (1 - N)"
56122987
DM
8344 }
8345 }
8346 },
7aacca6f
DM
8347 "permissions" : {
8348 "check" : [
8349 "perm",
8350 "/vms/{vmid}",
8351 [
8352 "VM.Config.Network"
8353 ]
8354 ]
8355 },
8356 "protected" : 1,
7aacca6f
DM
8357 "returns" : {
8358 "type" : "null"
44660702 8359 }
56122987
DM
8360 }
8361 },
44660702 8362 "leaf" : 1,
7aacca6f 8363 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 8364 "text" : "{name}"
56122987
DM
8365 }
8366 ],
8367 "info" : {
44660702 8368 "GET" : {
e9cd3bd4 8369 "allowtoken" : 1,
44660702
DM
8370 "description" : "List aliases",
8371 "method" : "GET",
8372 "name" : "get_aliases",
56122987 8373 "parameters" : {
44660702 8374 "additionalProperties" : 0,
56122987 8375 "properties" : {
7aacca6f 8376 "node" : {
7aacca6f 8377 "description" : "The cluster node name.",
44660702 8378 "format" : "pve-node",
013dc89f
DM
8379 "type" : "string",
8380 "typetext" : "<string>"
56122987 8381 },
44660702
DM
8382 "vmid" : {
8383 "description" : "The (unique) ID of the VM.",
8384 "format" : "pve-vmid",
8385 "minimum" : 1,
4bd7df8b 8386 "type" : "integer",
013dc89f 8387 "typetext" : "<integer> (1 - N)"
56122987 8388 }
44660702 8389 }
56122987 8390 },
56122987
DM
8391 "permissions" : {
8392 "check" : [
8393 "perm",
8394 "/vms/{vmid}",
8395 [
44660702 8396 "VM.Audit"
56122987
DM
8397 ]
8398 ]
8399 },
56122987
DM
8400 "returns" : {
8401 "items" : {
8402 "properties" : {
44660702 8403 "cidr" : {
56122987
DM
8404 "type" : "string"
8405 },
44660702
DM
8406 "comment" : {
8407 "optional" : 1,
7aacca6f 8408 "type" : "string"
56122987
DM
8409 },
8410 "digest" : {
56122987 8411 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 8412 "maxLength" : 40,
56122987
DM
8413 "optional" : 0,
8414 "type" : "string"
8415 },
44660702 8416 "name" : {
56122987
DM
8417 "type" : "string"
8418 }
44660702
DM
8419 },
8420 "type" : "object"
56122987 8421 },
56122987
DM
8422 "links" : [
8423 {
8424 "href" : "{name}",
8425 "rel" : "child"
8426 }
44660702
DM
8427 ],
8428 "type" : "array"
8429 }
8430 },
8431 "POST" : {
e9cd3bd4 8432 "allowtoken" : 1,
44660702
DM
8433 "description" : "Create IP or Network Alias.",
8434 "method" : "POST",
8435 "name" : "create_alias",
56122987 8436 "parameters" : {
7aacca6f 8437 "additionalProperties" : 0,
56122987 8438 "properties" : {
44660702
DM
8439 "cidr" : {
8440 "description" : "Network/IP specification in CIDR format.",
8441 "format" : "IPorCIDR",
013dc89f
DM
8442 "type" : "string",
8443 "typetext" : "<string>"
44660702
DM
8444 },
8445 "comment" : {
8446 "optional" : 1,
013dc89f
DM
8447 "type" : "string",
8448 "typetext" : "<string>"
44660702
DM
8449 },
8450 "name" : {
8451 "description" : "Alias name.",
8452 "maxLength" : 64,
8453 "minLength" : 2,
8454 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8455 "type" : "string"
56122987
DM
8456 },
8457 "node" : {
7aacca6f 8458 "description" : "The cluster node name.",
44660702 8459 "format" : "pve-node",
013dc89f
DM
8460 "type" : "string",
8461 "typetext" : "<string>"
44660702
DM
8462 },
8463 "vmid" : {
8464 "description" : "The (unique) ID of the VM.",
8465 "format" : "pve-vmid",
8466 "minimum" : 1,
4bd7df8b 8467 "type" : "integer",
013dc89f 8468 "typetext" : "<integer> (1 - N)"
56122987 8469 }
7aacca6f 8470 }
56122987 8471 },
44660702
DM
8472 "permissions" : {
8473 "check" : [
8474 "perm",
8475 "/vms/{vmid}",
8476 [
8477 "VM.Config.Network"
8478 ]
8479 ]
8480 },
8481 "protected" : 1,
8482 "returns" : {
8483 "type" : "null"
8484 }
56122987 8485 }
44660702
DM
8486 },
8487 "leaf" : 0,
8488 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
8489 "text" : "aliases"
56122987
DM
8490 },
8491 {
56122987
DM
8492 "children" : [
8493 {
7aacca6f
DM
8494 "children" : [
8495 {
8496 "info" : {
8497 "DELETE" : {
e9cd3bd4 8498 "allowtoken" : 1,
44660702 8499 "description" : "Remove IP or Network from IPSet.",
7aacca6f 8500 "method" : "DELETE",
44660702 8501 "name" : "remove_ip",
7aacca6f 8502 "parameters" : {
44660702 8503 "additionalProperties" : 0,
7aacca6f 8504 "properties" : {
44660702
DM
8505 "cidr" : {
8506 "description" : "Network/IP specification in CIDR format.",
8507 "format" : "IPorCIDRorAlias",
013dc89f
DM
8508 "type" : "string",
8509 "typetext" : "<string>"
44660702
DM
8510 },
8511 "digest" : {
8512 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8513 "maxLength" : 40,
8514 "optional" : 1,
013dc89f
DM
8515 "type" : "string",
8516 "typetext" : "<string>"
44660702 8517 },
7aacca6f 8518 "name" : {
7aacca6f 8519 "description" : "IP set name.",
44660702
DM
8520 "maxLength" : 64,
8521 "minLength" : 2,
7aacca6f 8522 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 8523 "type" : "string"
7aacca6f
DM
8524 },
8525 "node" : {
8526 "description" : "The cluster node name.",
44660702 8527 "format" : "pve-node",
013dc89f
DM
8528 "type" : "string",
8529 "typetext" : "<string>"
7aacca6f
DM
8530 },
8531 "vmid" : {
44660702 8532 "description" : "The (unique) ID of the VM.",
7aacca6f 8533 "format" : "pve-vmid",
44660702 8534 "minimum" : 1,
4bd7df8b 8535 "type" : "integer",
013dc89f 8536 "typetext" : "<integer> (1 - N)"
7aacca6f 8537 }
44660702 8538 }
7aacca6f 8539 },
7aacca6f
DM
8540 "permissions" : {
8541 "check" : [
8542 "perm",
8543 "/vms/{vmid}",
8544 [
8545 "VM.Config.Network"
8546 ]
8547 ]
8548 },
8549 "protected" : 1,
44660702
DM
8550 "returns" : {
8551 "type" : "null"
8552 }
56122987 8553 },
44660702 8554 "GET" : {
e9cd3bd4 8555 "allowtoken" : 1,
44660702
DM
8556 "description" : "Read IP or Network settings from IPSet.",
8557 "method" : "GET",
8558 "name" : "read_ip",
7aacca6f 8559 "parameters" : {
44660702 8560 "additionalProperties" : 0,
7aacca6f 8561 "properties" : {
7aacca6f 8562 "cidr" : {
44660702 8563 "description" : "Network/IP specification in CIDR format.",
7aacca6f 8564 "format" : "IPorCIDRorAlias",
013dc89f
DM
8565 "type" : "string",
8566 "typetext" : "<string>"
7aacca6f
DM
8567 },
8568 "name" : {
7aacca6f 8569 "description" : "IP set name.",
44660702 8570 "maxLength" : 64,
7aacca6f 8571 "minLength" : 2,
44660702
DM
8572 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8573 "type" : "string"
7aacca6f 8574 },
44660702
DM
8575 "node" : {
8576 "description" : "The cluster node name.",
8577 "format" : "pve-node",
013dc89f
DM
8578 "type" : "string",
8579 "typetext" : "<string>"
7aacca6f 8580 },
44660702
DM
8581 "vmid" : {
8582 "description" : "The (unique) ID of the VM.",
8583 "format" : "pve-vmid",
8584 "minimum" : 1,
4bd7df8b 8585 "type" : "integer",
013dc89f 8586 "typetext" : "<integer> (1 - N)"
7aacca6f 8587 }
44660702 8588 }
7aacca6f 8589 },
44660702
DM
8590 "permissions" : {
8591 "check" : [
8592 "perm",
8593 "/vms/{vmid}",
8594 [
8595 "VM.Audit"
8596 ]
8597 ]
8598 },
8599 "protected" : 1,
7aacca6f 8600 "returns" : {
44660702 8601 "type" : "object"
7aacca6f 8602 }
56122987 8603 },
44660702 8604 "PUT" : {
e9cd3bd4 8605 "allowtoken" : 1,
44660702
DM
8606 "description" : "Update IP or Network settings",
8607 "method" : "PUT",
8608 "name" : "update_ip",
7aacca6f
DM
8609 "parameters" : {
8610 "additionalProperties" : 0,
8611 "properties" : {
44660702
DM
8612 "cidr" : {
8613 "description" : "Network/IP specification in CIDR format.",
8614 "format" : "IPorCIDRorAlias",
013dc89f
DM
8615 "type" : "string",
8616 "typetext" : "<string>"
44660702
DM
8617 },
8618 "comment" : {
8619 "optional" : 1,
013dc89f
DM
8620 "type" : "string",
8621 "typetext" : "<string>"
44660702
DM
8622 },
8623 "digest" : {
8624 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8625 "maxLength" : 40,
8626 "optional" : 1,
013dc89f
DM
8627 "type" : "string",
8628 "typetext" : "<string>"
44660702 8629 },
7aacca6f 8630 "name" : {
7aacca6f 8631 "description" : "IP set name.",
44660702 8632 "maxLength" : 64,
7aacca6f 8633 "minLength" : 2,
44660702
DM
8634 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8635 "type" : "string"
7aacca6f
DM
8636 },
8637 "node" : {
7aacca6f 8638 "description" : "The cluster node name.",
44660702 8639 "format" : "pve-node",
013dc89f
DM
8640 "type" : "string",
8641 "typetext" : "<string>"
7aacca6f 8642 },
44660702
DM
8643 "nomatch" : {
8644 "optional" : 1,
013dc89f
DM
8645 "type" : "boolean",
8646 "typetext" : "<boolean>"
7aacca6f
DM
8647 },
8648 "vmid" : {
8649 "description" : "The (unique) ID of the VM.",
44660702 8650 "format" : "pve-vmid",
7aacca6f 8651 "minimum" : 1,
4bd7df8b 8652 "type" : "integer",
013dc89f 8653 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
8654 }
8655 }
8656 },
8657 "permissions" : {
8658 "check" : [
8659 "perm",
8660 "/vms/{vmid}",
8661 [
44660702 8662 "VM.Config.Network"
7aacca6f
DM
8663 ]
8664 ]
8665 },
7aacca6f 8666 "protected" : 1,
7aacca6f 8667 "returns" : {
44660702 8668 "type" : "null"
7aacca6f 8669 }
56122987 8670 }
7aacca6f 8671 },
7aacca6f 8672 "leaf" : 1,
44660702
DM
8673 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
8674 "text" : "{cidr}"
7aacca6f 8675 }
44660702
DM
8676 ],
8677 "info" : {
8678 "DELETE" : {
e9cd3bd4 8679 "allowtoken" : 1,
44660702
DM
8680 "description" : "Delete IPSet",
8681 "method" : "DELETE",
8682 "name" : "delete_ipset",
8683 "parameters" : {
8684 "additionalProperties" : 0,
8685 "properties" : {
8686 "name" : {
8687 "description" : "IP set name.",
8688 "maxLength" : 64,
8689 "minLength" : 2,
8690 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8691 "type" : "string"
8692 },
8693 "node" : {
8694 "description" : "The cluster node name.",
8695 "format" : "pve-node",
013dc89f
DM
8696 "type" : "string",
8697 "typetext" : "<string>"
44660702
DM
8698 },
8699 "vmid" : {
8700 "description" : "The (unique) ID of the VM.",
8701 "format" : "pve-vmid",
8702 "minimum" : 1,
4bd7df8b 8703 "type" : "integer",
013dc89f 8704 "typetext" : "<integer> (1 - N)"
44660702
DM
8705 }
8706 }
7aacca6f 8707 },
44660702
DM
8708 "permissions" : {
8709 "check" : [
8710 "perm",
8711 "/vms/{vmid}",
8712 [
8713 "VM.Config.Network"
8714 ]
8715 ]
7aacca6f 8716 },
44660702
DM
8717 "protected" : 1,
8718 "returns" : {
8719 "type" : "null"
8720 }
8721 },
8722 "GET" : {
e9cd3bd4 8723 "allowtoken" : 1,
44660702
DM
8724 "description" : "List IPSet content",
8725 "method" : "GET",
8726 "name" : "get_ipset",
8727 "parameters" : {
8728 "additionalProperties" : 0,
8729 "properties" : {
8730 "name" : {
8731 "description" : "IP set name.",
8732 "maxLength" : 64,
8733 "minLength" : 2,
8734 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8735 "type" : "string"
8736 },
8737 "node" : {
8738 "description" : "The cluster node name.",
8739 "format" : "pve-node",
013dc89f
DM
8740 "type" : "string",
8741 "typetext" : "<string>"
44660702
DM
8742 },
8743 "vmid" : {
8744 "description" : "The (unique) ID of the VM.",
8745 "format" : "pve-vmid",
8746 "minimum" : 1,
4bd7df8b 8747 "type" : "integer",
013dc89f 8748 "typetext" : "<integer> (1 - N)"
44660702
DM
8749 }
8750 }
7aacca6f 8751 },
44660702
DM
8752 "permissions" : {
8753 "check" : [
8754 "perm",
8755 "/vms/{vmid}",
8756 [
8757 "VM.Audit"
8758 ]
8759 ]
7aacca6f 8760 },
44660702
DM
8761 "returns" : {
8762 "items" : {
8763 "properties" : {
8764 "cidr" : {
8765 "type" : "string"
8766 },
8767 "comment" : {
8768 "optional" : 1,
8769 "type" : "string"
8770 },
8771 "digest" : {
8772 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8773 "maxLength" : 40,
8774 "optional" : 0,
8775 "type" : "string"
8776 },
8777 "nomatch" : {
8778 "optional" : 1,
8779 "type" : "boolean"
8780 }
8781 },
8782 "type" : "object"
8783 },
8784 "links" : [
8785 {
8786 "href" : "{cidr}",
8787 "rel" : "child"
8788 }
8789 ],
8790 "type" : "array"
56122987
DM
8791 }
8792 },
44660702 8793 "POST" : {
e9cd3bd4 8794 "allowtoken" : 1,
44660702
DM
8795 "description" : "Add IP or Network to IPSet.",
8796 "method" : "POST",
8797 "name" : "create_ip",
8798 "parameters" : {
8799 "additionalProperties" : 0,
8800 "properties" : {
8801 "cidr" : {
8802 "description" : "Network/IP specification in CIDR format.",
8803 "format" : "IPorCIDRorAlias",
013dc89f
DM
8804 "type" : "string",
8805 "typetext" : "<string>"
44660702
DM
8806 },
8807 "comment" : {
8808 "optional" : 1,
013dc89f
DM
8809 "type" : "string",
8810 "typetext" : "<string>"
44660702
DM
8811 },
8812 "name" : {
8813 "description" : "IP set name.",
8814 "maxLength" : 64,
8815 "minLength" : 2,
8816 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8817 "type" : "string"
8818 },
8819 "node" : {
8820 "description" : "The cluster node name.",
8821 "format" : "pve-node",
013dc89f
DM
8822 "type" : "string",
8823 "typetext" : "<string>"
44660702
DM
8824 },
8825 "nomatch" : {
8826 "optional" : 1,
013dc89f
DM
8827 "type" : "boolean",
8828 "typetext" : "<boolean>"
44660702
DM
8829 },
8830 "vmid" : {
8831 "description" : "The (unique) ID of the VM.",
8832 "format" : "pve-vmid",
8833 "minimum" : 1,
4bd7df8b 8834 "type" : "integer",
013dc89f 8835 "typetext" : "<integer> (1 - N)"
44660702
DM
8836 }
8837 }
8838 },
8839 "permissions" : {
8840 "check" : [
8841 "perm",
8842 "/vms/{vmid}",
8843 [
8844 "VM.Config.Network"
8845 ]
8846 ]
8847 },
8848 "protected" : 1,
8849 "returns" : {
8850 "type" : "null"
8851 }
8852 }
8853 },
8854 "leaf" : 0,
8855 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
8856 "text" : "{name}"
8857 }
8858 ],
8859 "info" : {
8860 "GET" : {
e9cd3bd4 8861 "allowtoken" : 1,
44660702
DM
8862 "description" : "List IPSets",
8863 "method" : "GET",
8864 "name" : "ipset_index",
8865 "parameters" : {
8866 "additionalProperties" : 0,
8867 "properties" : {
8868 "node" : {
8869 "description" : "The cluster node name.",
8870 "format" : "pve-node",
013dc89f
DM
8871 "type" : "string",
8872 "typetext" : "<string>"
44660702
DM
8873 },
8874 "vmid" : {
8875 "description" : "The (unique) ID of the VM.",
8876 "format" : "pve-vmid",
8877 "minimum" : 1,
4bd7df8b 8878 "type" : "integer",
013dc89f 8879 "typetext" : "<integer> (1 - N)"
44660702
DM
8880 }
8881 }
56122987
DM
8882 },
8883 "permissions" : {
8884 "check" : [
8885 "perm",
8886 "/vms/{vmid}",
8887 [
44660702 8888 "VM.Audit"
56122987
DM
8889 ]
8890 ]
8891 },
7aacca6f 8892 "returns" : {
7aacca6f
DM
8893 "items" : {
8894 "properties" : {
7aacca6f
DM
8895 "comment" : {
8896 "optional" : 1,
8897 "type" : "string"
8898 },
8899 "digest" : {
7aacca6f 8900 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
8901 "maxLength" : 40,
8902 "optional" : 0,
8903 "type" : "string"
8904 },
8905 "name" : {
8906 "description" : "IP set name.",
8907 "maxLength" : 64,
8908 "minLength" : 2,
8909 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8910 "type" : "string"
7aacca6f
DM
8911 }
8912 },
8913 "type" : "object"
8914 },
8915 "links" : [
8916 {
44660702
DM
8917 "href" : "{name}",
8918 "rel" : "child"
7aacca6f 8919 }
44660702
DM
8920 ],
8921 "type" : "array"
8922 }
8923 },
8924 "POST" : {
e9cd3bd4 8925 "allowtoken" : 1,
44660702
DM
8926 "description" : "Create new IPSet",
8927 "method" : "POST",
8928 "name" : "create_ipset",
56122987
DM
8929 "parameters" : {
8930 "additionalProperties" : 0,
8931 "properties" : {
44660702
DM
8932 "comment" : {
8933 "optional" : 1,
013dc89f
DM
8934 "type" : "string",
8935 "typetext" : "<string>"
56122987 8936 },
44660702
DM
8937 "digest" : {
8938 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8939 "maxLength" : 40,
8940 "optional" : 1,
013dc89f
DM
8941 "type" : "string",
8942 "typetext" : "<string>"
44660702
DM
8943 },
8944 "name" : {
8945 "description" : "IP set name.",
8946 "maxLength" : 64,
8947 "minLength" : 2,
8948 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8949 "type" : "string"
8950 },
8951 "node" : {
8952 "description" : "The cluster node name.",
8953 "format" : "pve-node",
013dc89f
DM
8954 "type" : "string",
8955 "typetext" : "<string>"
44660702
DM
8956 },
8957 "rename" : {
8958 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
8959 "maxLength" : 64,
8960 "minLength" : 2,
8961 "optional" : 1,
8962 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8963 "type" : "string"
8964 },
8965 "vmid" : {
8966 "description" : "The (unique) ID of the VM.",
8967 "format" : "pve-vmid",
8968 "minimum" : 1,
4bd7df8b 8969 "type" : "integer",
013dc89f 8970 "typetext" : "<integer> (1 - N)"
44660702
DM
8971 }
8972 }
8973 },
7aacca6f
DM
8974 "permissions" : {
8975 "check" : [
8976 "perm",
8977 "/vms/{vmid}",
8978 [
8979 "VM.Config.Network"
8980 ]
8981 ]
8982 },
44660702 8983 "protected" : 1,
56122987 8984 "returns" : {
7aacca6f 8985 "type" : "null"
44660702
DM
8986 }
8987 }
8988 },
8989 "leaf" : 0,
8990 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
8991 "text" : "ipset"
8992 },
8993 {
8994 "info" : {
8995 "GET" : {
e9cd3bd4 8996 "allowtoken" : 1,
44660702
DM
8997 "description" : "Get VM firewall options.",
8998 "method" : "GET",
8999 "name" : "get_options",
7aacca6f
DM
9000 "parameters" : {
9001 "additionalProperties" : 0,
56122987 9002 "properties" : {
7aacca6f
DM
9003 "node" : {
9004 "description" : "The cluster node name.",
44660702 9005 "format" : "pve-node",
013dc89f
DM
9006 "type" : "string",
9007 "typetext" : "<string>"
7aacca6f 9008 },
44660702
DM
9009 "vmid" : {
9010 "description" : "The (unique) ID of the VM.",
9011 "format" : "pve-vmid",
9012 "minimum" : 1,
4bd7df8b 9013 "type" : "integer",
013dc89f 9014 "typetext" : "<integer> (1 - N)"
44660702
DM
9015 }
9016 }
9017 },
9018 "permissions" : {
9019 "check" : [
9020 "perm",
9021 "/vms/{vmid}",
9022 [
9023 "VM.Audit"
9024 ]
9025 ]
9026 },
9027 "proxyto" : "node",
9028 "returns" : {
9029 "properties" : {
9030 "dhcp" : {
5c1699e5 9031 "default" : 0,
44660702 9032 "description" : "Enable DHCP.",
56122987 9033 "optional" : 1,
44660702 9034 "type" : "boolean"
56122987 9035 },
44660702 9036 "enable" : {
5c1699e5 9037 "default" : 0,
44660702 9038 "description" : "Enable/disable firewall rules.",
7aacca6f 9039 "optional" : 1,
44660702 9040 "type" : "boolean"
56122987 9041 },
44660702
DM
9042 "ipfilter" : {
9043 "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 9044 "optional" : 1,
44660702 9045 "type" : "boolean"
7aacca6f 9046 },
56122987 9047 "log_level_in" : {
7aacca6f 9048 "description" : "Log level for incoming traffic.",
56122987
DM
9049 "enum" : [
9050 "emerg",
9051 "alert",
9052 "crit",
9053 "err",
9054 "warning",
9055 "notice",
9056 "info",
9057 "debug",
9058 "nolog"
9059 ],
56122987
DM
9060 "optional" : 1,
9061 "type" : "string"
9062 },
44660702
DM
9063 "log_level_out" : {
9064 "description" : "Log level for outgoing traffic.",
9065 "enum" : [
9066 "emerg",
9067 "alert",
9068 "crit",
9069 "err",
9070 "warning",
9071 "notice",
9072 "info",
9073 "debug",
9074 "nolog"
9075 ],
9076 "optional" : 1,
9077 "type" : "string"
9078 },
9079 "macfilter" : {
5c1699e5 9080 "default" : 0,
44660702 9081 "description" : "Enable/disable MAC address filter.",
56122987 9082 "optional" : 1,
7aacca6f 9083 "type" : "boolean"
56122987
DM
9084 },
9085 "ndp" : {
5c1699e5
TL
9086 "default" : 0,
9087 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 9088 "optional" : 1,
44660702 9089 "type" : "boolean"
56122987
DM
9090 },
9091 "policy_in" : {
56122987
DM
9092 "description" : "Input policy.",
9093 "enum" : [
9094 "ACCEPT",
9095 "REJECT",
9096 "DROP"
44660702
DM
9097 ],
9098 "optional" : 1,
9099 "type" : "string"
56122987 9100 },
44660702
DM
9101 "policy_out" : {
9102 "description" : "Output policy.",
9103 "enum" : [
9104 "ACCEPT",
9105 "REJECT",
9106 "DROP"
9107 ],
9108 "optional" : 1,
9109 "type" : "string"
9110 },
9111 "radv" : {
9112 "description" : "Allow sending Router Advertisement.",
9113 "optional" : 1,
9114 "type" : "boolean"
9115 }
9116 },
9117 "type" : "object"
9118 }
9119 },
9120 "PUT" : {
e9cd3bd4 9121 "allowtoken" : 1,
44660702
DM
9122 "description" : "Set Firewall options.",
9123 "method" : "PUT",
9124 "name" : "set_options",
9125 "parameters" : {
9126 "additionalProperties" : 0,
9127 "properties" : {
9128 "delete" : {
9129 "description" : "A list of settings you want to delete.",
9130 "format" : "pve-configid-list",
9131 "optional" : 1,
013dc89f
DM
9132 "type" : "string",
9133 "typetext" : "<string>"
44660702
DM
9134 },
9135 "dhcp" : {
5c1699e5 9136 "default" : 0,
44660702 9137 "description" : "Enable DHCP.",
7aacca6f 9138 "optional" : 1,
013dc89f
DM
9139 "type" : "boolean",
9140 "typetext" : "<boolean>"
7aacca6f
DM
9141 },
9142 "digest" : {
9143 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 9144 "maxLength" : 40,
7aacca6f 9145 "optional" : 1,
013dc89f
DM
9146 "type" : "string",
9147 "typetext" : "<string>"
7aacca6f
DM
9148 },
9149 "enable" : {
5c1699e5 9150 "default" : 0,
7aacca6f 9151 "description" : "Enable/disable firewall rules.",
56122987 9152 "optional" : 1,
013dc89f
DM
9153 "type" : "boolean",
9154 "typetext" : "<boolean>"
7aacca6f 9155 },
44660702
DM
9156 "ipfilter" : {
9157 "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.",
9158 "optional" : 1,
013dc89f
DM
9159 "type" : "boolean",
9160 "typetext" : "<boolean>"
44660702
DM
9161 },
9162 "log_level_in" : {
9163 "description" : "Log level for incoming traffic.",
56122987
DM
9164 "enum" : [
9165 "emerg",
9166 "alert",
9167 "crit",
9168 "err",
9169 "warning",
9170 "notice",
9171 "info",
9172 "debug",
9173 "nolog"
7aacca6f 9174 ],
7aacca6f 9175 "optional" : 1,
44660702 9176 "type" : "string"
7aacca6f 9177 },
44660702
DM
9178 "log_level_out" : {
9179 "description" : "Log level for outgoing traffic.",
56122987
DM
9180 "enum" : [
9181 "emerg",
9182 "alert",
9183 "crit",
9184 "err",
9185 "warning",
9186 "notice",
9187 "info",
9188 "debug",
9189 "nolog"
9190 ],
56122987 9191 "optional" : 1,
44660702 9192 "type" : "string"
56122987
DM
9193 },
9194 "macfilter" : {
5c1699e5 9195 "default" : 0,
56122987 9196 "description" : "Enable/disable MAC address filter.",
7aacca6f 9197 "optional" : 1,
013dc89f
DM
9198 "type" : "boolean",
9199 "typetext" : "<boolean>"
56122987 9200 },
44660702 9201 "ndp" : {
5c1699e5
TL
9202 "default" : 0,
9203 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 9204 "optional" : 1,
013dc89f
DM
9205 "type" : "boolean",
9206 "typetext" : "<boolean>"
44660702
DM
9207 },
9208 "node" : {
9209 "description" : "The cluster node name.",
9210 "format" : "pve-node",
013dc89f
DM
9211 "type" : "string",
9212 "typetext" : "<string>"
44660702 9213 },
56122987 9214 "policy_in" : {
44660702 9215 "description" : "Input policy.",
56122987
DM
9216 "enum" : [
9217 "ACCEPT",
9218 "REJECT",
9219 "DROP"
7aacca6f 9220 ],
56122987 9221 "optional" : 1,
7aacca6f 9222 "type" : "string"
56122987 9223 },
44660702
DM
9224 "policy_out" : {
9225 "description" : "Output policy.",
9226 "enum" : [
9227 "ACCEPT",
9228 "REJECT",
9229 "DROP"
9230 ],
56122987 9231 "optional" : 1,
44660702 9232 "type" : "string"
56122987 9233 },
44660702
DM
9234 "radv" : {
9235 "description" : "Allow sending Router Advertisement.",
56122987 9236 "optional" : 1,
013dc89f
DM
9237 "type" : "boolean",
9238 "typetext" : "<boolean>"
7aacca6f
DM
9239 },
9240 "vmid" : {
9241 "description" : "The (unique) ID of the VM.",
44660702 9242 "format" : "pve-vmid",
7aacca6f 9243 "minimum" : 1,
4bd7df8b 9244 "type" : "integer",
013dc89f 9245 "typetext" : "<integer> (1 - N)"
56122987
DM
9246 }
9247 }
9248 },
56122987
DM
9249 "permissions" : {
9250 "check" : [
9251 "perm",
9252 "/vms/{vmid}",
9253 [
44660702 9254 "VM.Config.Network"
56122987
DM
9255 ]
9256 ]
7aacca6f 9257 },
44660702 9258 "protected" : 1,
7aacca6f 9259 "proxyto" : "node",
44660702
DM
9260 "returns" : {
9261 "type" : "null"
9262 }
56122987
DM
9263 }
9264 },
44660702 9265 "leaf" : 1,
7aacca6f 9266 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 9267 "text" : "options"
56122987
DM
9268 },
9269 {
56122987
DM
9270 "info" : {
9271 "GET" : {
e9cd3bd4 9272 "allowtoken" : 1,
44660702
DM
9273 "description" : "Read firewall log",
9274 "method" : "GET",
9275 "name" : "log",
9276 "parameters" : {
9277 "additionalProperties" : 0,
9278 "properties" : {
9279 "limit" : {
9280 "minimum" : 0,
9281 "optional" : 1,
4bd7df8b 9282 "type" : "integer",
013dc89f 9283 "typetext" : "<integer> (0 - N)"
56122987 9284 },
44660702
DM
9285 "node" : {
9286 "description" : "The cluster node name.",
9287 "format" : "pve-node",
013dc89f
DM
9288 "type" : "string",
9289 "typetext" : "<string>"
44660702
DM
9290 },
9291 "start" : {
9292 "minimum" : 0,
9293 "optional" : 1,
4bd7df8b 9294 "type" : "integer",
013dc89f 9295 "typetext" : "<integer> (0 - N)"
44660702
DM
9296 },
9297 "vmid" : {
9298 "description" : "The (unique) ID of the VM.",
9299 "format" : "pve-vmid",
9300 "minimum" : 1,
4bd7df8b 9301 "type" : "integer",
013dc89f 9302 "typetext" : "<integer> (1 - N)"
44660702
DM
9303 }
9304 }
7aacca6f 9305 },
7aacca6f
DM
9306 "permissions" : {
9307 "check" : [
9308 "perm",
9309 "/vms/{vmid}",
9310 [
9311 "VM.Console"
9312 ]
9313 ]
56122987 9314 },
7aacca6f 9315 "protected" : 1,
44660702
DM
9316 "proxyto" : "node",
9317 "returns" : {
9318 "items" : {
9319 "properties" : {
9320 "n" : {
9321 "description" : "Line number",
9322 "type" : "integer"
9323 },
9324 "t" : {
9325 "description" : "Line text",
9326 "type" : "string"
9327 }
56122987 9328 },
44660702 9329 "type" : "object"
7aacca6f 9330 },
44660702 9331 "type" : "array"
7aacca6f
DM
9332 }
9333 }
9334 },
44660702 9335 "leaf" : 1,
7aacca6f 9336 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 9337 "text" : "log"
7aacca6f
DM
9338 },
9339 {
7aacca6f
DM
9340 "info" : {
9341 "GET" : {
e9cd3bd4 9342 "allowtoken" : 1,
7aacca6f 9343 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
9344 "method" : "GET",
9345 "name" : "refs",
56122987 9346 "parameters" : {
44660702 9347 "additionalProperties" : 0,
56122987
DM
9348 "properties" : {
9349 "node" : {
7aacca6f 9350 "description" : "The cluster node name.",
44660702 9351 "format" : "pve-node",
013dc89f
DM
9352 "type" : "string",
9353 "typetext" : "<string>"
56122987
DM
9354 },
9355 "type" : {
56122987
DM
9356 "description" : "Only list references of specified type.",
9357 "enum" : [
9358 "alias",
9359 "ipset"
7aacca6f 9360 ],
44660702
DM
9361 "optional" : 1,
9362 "type" : "string"
9363 },
9364 "vmid" : {
9365 "description" : "The (unique) ID of the VM.",
9366 "format" : "pve-vmid",
9367 "minimum" : 1,
4bd7df8b 9368 "type" : "integer",
013dc89f 9369 "typetext" : "<integer> (1 - N)"
56122987 9370 }
44660702
DM
9371 }
9372 },
9373 "permissions" : {
9374 "check" : [
9375 "perm",
9376 "/vms/{vmid}",
9377 [
9378 "VM.Audit"
9379 ]
9380 ]
56122987
DM
9381 },
9382 "returns" : {
56122987
DM
9383 "items" : {
9384 "properties" : {
44660702
DM
9385 "comment" : {
9386 "optional" : 1,
56122987
DM
9387 "type" : "string"
9388 },
9389 "name" : {
9390 "type" : "string"
9391 },
44660702
DM
9392 "type" : {
9393 "enum" : [
9394 "alias",
9395 "ipset"
9396 ],
7aacca6f 9397 "type" : "string"
56122987
DM
9398 }
9399 },
9400 "type" : "object"
7aacca6f
DM
9401 },
9402 "type" : "array"
9403 }
56122987 9404 }
44660702
DM
9405 },
9406 "leaf" : 1,
9407 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
9408 "text" : "refs"
56122987
DM
9409 }
9410 ],
56122987
DM
9411 "info" : {
9412 "GET" : {
e9cd3bd4 9413 "allowtoken" : 1,
44660702 9414 "description" : "Directory index.",
56122987 9415 "method" : "GET",
44660702 9416 "name" : "index",
56122987 9417 "parameters" : {
44660702 9418 "additionalProperties" : 0,
56122987
DM
9419 "properties" : {
9420 "node" : {
9421 "description" : "The cluster node name.",
44660702 9422 "format" : "pve-node",
013dc89f
DM
9423 "type" : "string",
9424 "typetext" : "<string>"
56122987
DM
9425 },
9426 "vmid" : {
44660702 9427 "description" : "The (unique) ID of the VM.",
56122987
DM
9428 "format" : "pve-vmid",
9429 "minimum" : 1,
4bd7df8b 9430 "type" : "integer",
013dc89f 9431 "typetext" : "<integer> (1 - N)"
56122987 9432 }
44660702 9433 }
56122987 9434 },
56122987 9435 "permissions" : {
27a7acb2
DM
9436 "user" : "all"
9437 },
9438 "returns" : {
9439 "items" : {
9440 "properties" : {},
9441 "type" : "object"
9442 },
9443 "links" : [
9444 {
9445 "href" : "{name}",
9446 "rel" : "child"
9447 }
9448 ],
9449 "type" : "array"
9450 }
9451 }
9452 },
9453 "leaf" : 0,
9454 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
9455 "text" : "firewall"
9456 },
9457 {
9458 "children" : [
9459 {
9460 "info" : {
9461 "POST" : {
e9cd3bd4 9462 "allowtoken" : 1,
27a7acb2
DM
9463 "description" : "Execute fsfreeze-freeze.",
9464 "method" : "POST",
9465 "name" : "fsfreeze-freeze",
9466 "parameters" : {
9467 "additionalProperties" : 0,
9468 "properties" : {
9469 "node" : {
9470 "description" : "The cluster node name.",
9471 "format" : "pve-node",
9472 "type" : "string",
9473 "typetext" : "<string>"
9474 },
9475 "vmid" : {
9476 "description" : "The (unique) ID of the VM.",
9477 "format" : "pve-vmid",
9478 "minimum" : 1,
9479 "type" : "integer",
9480 "typetext" : "<integer> (1 - N)"
9481 }
9482 }
9483 },
9484 "permissions" : {
9485 "check" : [
9486 "perm",
9487 "/vms/{vmid}",
9488 [
9489 "VM.Monitor"
9490 ]
9491 ]
9492 },
9493 "protected" : 1,
9494 "proxyto" : "node",
9495 "returns" : {
9496 "description" : "Returns an object with a single `result` property.",
9497 "type" : "object"
9498 }
9499 }
9500 },
9501 "leaf" : 1,
9502 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
9503 "text" : "fsfreeze-freeze"
9504 },
9505 {
9506 "info" : {
9507 "POST" : {
e9cd3bd4 9508 "allowtoken" : 1,
27a7acb2
DM
9509 "description" : "Execute fsfreeze-status.",
9510 "method" : "POST",
9511 "name" : "fsfreeze-status",
9512 "parameters" : {
9513 "additionalProperties" : 0,
9514 "properties" : {
9515 "node" : {
9516 "description" : "The cluster node name.",
9517 "format" : "pve-node",
9518 "type" : "string",
9519 "typetext" : "<string>"
9520 },
9521 "vmid" : {
9522 "description" : "The (unique) ID of the VM.",
9523 "format" : "pve-vmid",
9524 "minimum" : 1,
9525 "type" : "integer",
9526 "typetext" : "<integer> (1 - N)"
9527 }
9528 }
9529 },
9530 "permissions" : {
9531 "check" : [
9532 "perm",
9533 "/vms/{vmid}",
9534 [
9535 "VM.Monitor"
9536 ]
9537 ]
9538 },
9539 "protected" : 1,
9540 "proxyto" : "node",
9541 "returns" : {
9542 "description" : "Returns an object with a single `result` property.",
9543 "type" : "object"
9544 }
9545 }
9546 },
9547 "leaf" : 1,
9548 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
9549 "text" : "fsfreeze-status"
9550 },
9551 {
9552 "info" : {
9553 "POST" : {
e9cd3bd4 9554 "allowtoken" : 1,
27a7acb2
DM
9555 "description" : "Execute fsfreeze-thaw.",
9556 "method" : "POST",
9557 "name" : "fsfreeze-thaw",
9558 "parameters" : {
9559 "additionalProperties" : 0,
9560 "properties" : {
9561 "node" : {
9562 "description" : "The cluster node name.",
9563 "format" : "pve-node",
9564 "type" : "string",
9565 "typetext" : "<string>"
9566 },
9567 "vmid" : {
9568 "description" : "The (unique) ID of the VM.",
9569 "format" : "pve-vmid",
9570 "minimum" : 1,
9571 "type" : "integer",
9572 "typetext" : "<integer> (1 - N)"
9573 }
9574 }
9575 },
9576 "permissions" : {
9577 "check" : [
9578 "perm",
9579 "/vms/{vmid}",
9580 [
9581 "VM.Monitor"
9582 ]
9583 ]
9584 },
9585 "protected" : 1,
9586 "proxyto" : "node",
9587 "returns" : {
9588 "description" : "Returns an object with a single `result` property.",
9589 "type" : "object"
9590 }
9591 }
9592 },
9593 "leaf" : 1,
9594 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
9595 "text" : "fsfreeze-thaw"
9596 },
9597 {
9598 "info" : {
9599 "POST" : {
e9cd3bd4 9600 "allowtoken" : 1,
27a7acb2
DM
9601 "description" : "Execute fstrim.",
9602 "method" : "POST",
9603 "name" : "fstrim",
9604 "parameters" : {
9605 "additionalProperties" : 0,
9606 "properties" : {
9607 "node" : {
9608 "description" : "The cluster node name.",
9609 "format" : "pve-node",
9610 "type" : "string",
9611 "typetext" : "<string>"
9612 },
9613 "vmid" : {
9614 "description" : "The (unique) ID of the VM.",
9615 "format" : "pve-vmid",
9616 "minimum" : 1,
9617 "type" : "integer",
9618 "typetext" : "<integer> (1 - N)"
9619 }
9620 }
9621 },
9622 "permissions" : {
9623 "check" : [
9624 "perm",
9625 "/vms/{vmid}",
9626 [
9627 "VM.Monitor"
9628 ]
9629 ]
9630 },
9631 "protected" : 1,
9632 "proxyto" : "node",
9633 "returns" : {
9634 "description" : "Returns an object with a single `result` property.",
9635 "type" : "object"
9636 }
9637 }
9638 },
9639 "leaf" : 1,
9640 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
9641 "text" : "fstrim"
9642 },
9643 {
9644 "info" : {
9645 "GET" : {
e9cd3bd4 9646 "allowtoken" : 1,
27a7acb2
DM
9647 "description" : "Execute get-fsinfo.",
9648 "method" : "GET",
9649 "name" : "get-fsinfo",
9650 "parameters" : {
9651 "additionalProperties" : 0,
9652 "properties" : {
9653 "node" : {
9654 "description" : "The cluster node name.",
9655 "format" : "pve-node",
9656 "type" : "string",
9657 "typetext" : "<string>"
9658 },
9659 "vmid" : {
9660 "description" : "The (unique) ID of the VM.",
9661 "format" : "pve-vmid",
9662 "minimum" : 1,
9663 "type" : "integer",
9664 "typetext" : "<integer> (1 - N)"
9665 }
9666 }
9667 },
9668 "permissions" : {
9669 "check" : [
9670 "perm",
9671 "/vms/{vmid}",
9672 [
9673 "VM.Monitor"
9674 ]
9675 ]
9676 },
9677 "protected" : 1,
9678 "proxyto" : "node",
9679 "returns" : {
9680 "description" : "Returns an object with a single `result` property.",
9681 "type" : "object"
9682 }
9683 }
9684 },
9685 "leaf" : 1,
9686 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
9687 "text" : "get-fsinfo"
9688 },
9689 {
9690 "info" : {
9691 "GET" : {
e9cd3bd4 9692 "allowtoken" : 1,
27a7acb2
DM
9693 "description" : "Execute get-host-name.",
9694 "method" : "GET",
9695 "name" : "get-host-name",
9696 "parameters" : {
9697 "additionalProperties" : 0,
9698 "properties" : {
9699 "node" : {
9700 "description" : "The cluster node name.",
9701 "format" : "pve-node",
9702 "type" : "string",
9703 "typetext" : "<string>"
9704 },
9705 "vmid" : {
9706 "description" : "The (unique) ID of the VM.",
9707 "format" : "pve-vmid",
9708 "minimum" : 1,
9709 "type" : "integer",
9710 "typetext" : "<integer> (1 - N)"
9711 }
9712 }
9713 },
9714 "permissions" : {
9715 "check" : [
9716 "perm",
9717 "/vms/{vmid}",
9718 [
9719 "VM.Monitor"
9720 ]
9721 ]
9722 },
9723 "protected" : 1,
9724 "proxyto" : "node",
9725 "returns" : {
9726 "description" : "Returns an object with a single `result` property.",
9727 "type" : "object"
9728 }
9729 }
9730 },
9731 "leaf" : 1,
9732 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
9733 "text" : "get-host-name"
9734 },
9735 {
9736 "info" : {
9737 "GET" : {
e9cd3bd4 9738 "allowtoken" : 1,
27a7acb2
DM
9739 "description" : "Execute get-memory-block-info.",
9740 "method" : "GET",
9741 "name" : "get-memory-block-info",
9742 "parameters" : {
9743 "additionalProperties" : 0,
9744 "properties" : {
9745 "node" : {
9746 "description" : "The cluster node name.",
9747 "format" : "pve-node",
9748 "type" : "string",
9749 "typetext" : "<string>"
9750 },
9751 "vmid" : {
9752 "description" : "The (unique) ID of the VM.",
9753 "format" : "pve-vmid",
9754 "minimum" : 1,
9755 "type" : "integer",
9756 "typetext" : "<integer> (1 - N)"
9757 }
9758 }
9759 },
9760 "permissions" : {
9761 "check" : [
9762 "perm",
9763 "/vms/{vmid}",
9764 [
9765 "VM.Monitor"
9766 ]
9767 ]
9768 },
9769 "protected" : 1,
9770 "proxyto" : "node",
9771 "returns" : {
9772 "description" : "Returns an object with a single `result` property.",
9773 "type" : "object"
9774 }
9775 }
9776 },
9777 "leaf" : 1,
9778 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
9779 "text" : "get-memory-block-info"
9780 },
9781 {
9782 "info" : {
9783 "GET" : {
e9cd3bd4 9784 "allowtoken" : 1,
27a7acb2
DM
9785 "description" : "Execute get-memory-blocks.",
9786 "method" : "GET",
9787 "name" : "get-memory-blocks",
9788 "parameters" : {
9789 "additionalProperties" : 0,
9790 "properties" : {
9791 "node" : {
9792 "description" : "The cluster node name.",
9793 "format" : "pve-node",
9794 "type" : "string",
9795 "typetext" : "<string>"
9796 },
9797 "vmid" : {
9798 "description" : "The (unique) ID of the VM.",
9799 "format" : "pve-vmid",
9800 "minimum" : 1,
9801 "type" : "integer",
9802 "typetext" : "<integer> (1 - N)"
9803 }
9804 }
9805 },
9806 "permissions" : {
9807 "check" : [
9808 "perm",
9809 "/vms/{vmid}",
9810 [
9811 "VM.Monitor"
9812 ]
9813 ]
9814 },
9815 "protected" : 1,
9816 "proxyto" : "node",
9817 "returns" : {
9818 "description" : "Returns an object with a single `result` property.",
9819 "type" : "object"
9820 }
9821 }
9822 },
9823 "leaf" : 1,
9824 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
9825 "text" : "get-memory-blocks"
9826 },
9827 {
9828 "info" : {
9829 "GET" : {
e9cd3bd4 9830 "allowtoken" : 1,
27a7acb2
DM
9831 "description" : "Execute get-osinfo.",
9832 "method" : "GET",
9833 "name" : "get-osinfo",
9834 "parameters" : {
9835 "additionalProperties" : 0,
9836 "properties" : {
9837 "node" : {
9838 "description" : "The cluster node name.",
9839 "format" : "pve-node",
9840 "type" : "string",
9841 "typetext" : "<string>"
9842 },
9843 "vmid" : {
9844 "description" : "The (unique) ID of the VM.",
9845 "format" : "pve-vmid",
9846 "minimum" : 1,
9847 "type" : "integer",
9848 "typetext" : "<integer> (1 - N)"
9849 }
9850 }
9851 },
9852 "permissions" : {
9853 "check" : [
9854 "perm",
9855 "/vms/{vmid}",
9856 [
9857 "VM.Monitor"
9858 ]
9859 ]
9860 },
9861 "protected" : 1,
9862 "proxyto" : "node",
9863 "returns" : {
9864 "description" : "Returns an object with a single `result` property.",
9865 "type" : "object"
9866 }
9867 }
9868 },
9869 "leaf" : 1,
9870 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
9871 "text" : "get-osinfo"
9872 },
9873 {
9874 "info" : {
9875 "GET" : {
e9cd3bd4 9876 "allowtoken" : 1,
27a7acb2
DM
9877 "description" : "Execute get-time.",
9878 "method" : "GET",
9879 "name" : "get-time",
9880 "parameters" : {
9881 "additionalProperties" : 0,
9882 "properties" : {
9883 "node" : {
9884 "description" : "The cluster node name.",
9885 "format" : "pve-node",
9886 "type" : "string",
9887 "typetext" : "<string>"
9888 },
9889 "vmid" : {
9890 "description" : "The (unique) ID of the VM.",
9891 "format" : "pve-vmid",
9892 "minimum" : 1,
9893 "type" : "integer",
9894 "typetext" : "<integer> (1 - N)"
9895 }
9896 }
9897 },
9898 "permissions" : {
9899 "check" : [
9900 "perm",
9901 "/vms/{vmid}",
9902 [
9903 "VM.Monitor"
9904 ]
9905 ]
9906 },
9907 "protected" : 1,
9908 "proxyto" : "node",
9909 "returns" : {
9910 "description" : "Returns an object with a single `result` property.",
9911 "type" : "object"
9912 }
9913 }
9914 },
9915 "leaf" : 1,
9916 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
9917 "text" : "get-time"
9918 },
9919 {
9920 "info" : {
9921 "GET" : {
e9cd3bd4 9922 "allowtoken" : 1,
27a7acb2
DM
9923 "description" : "Execute get-timezone.",
9924 "method" : "GET",
9925 "name" : "get-timezone",
9926 "parameters" : {
9927 "additionalProperties" : 0,
9928 "properties" : {
9929 "node" : {
9930 "description" : "The cluster node name.",
9931 "format" : "pve-node",
9932 "type" : "string",
9933 "typetext" : "<string>"
9934 },
9935 "vmid" : {
9936 "description" : "The (unique) ID of the VM.",
9937 "format" : "pve-vmid",
9938 "minimum" : 1,
9939 "type" : "integer",
9940 "typetext" : "<integer> (1 - N)"
9941 }
9942 }
9943 },
9944 "permissions" : {
9945 "check" : [
9946 "perm",
9947 "/vms/{vmid}",
9948 [
9949 "VM.Monitor"
9950 ]
9951 ]
9952 },
9953 "protected" : 1,
9954 "proxyto" : "node",
9955 "returns" : {
9956 "description" : "Returns an object with a single `result` property.",
9957 "type" : "object"
9958 }
9959 }
9960 },
9961 "leaf" : 1,
9962 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
9963 "text" : "get-timezone"
9964 },
9965 {
9966 "info" : {
9967 "GET" : {
e9cd3bd4 9968 "allowtoken" : 1,
27a7acb2
DM
9969 "description" : "Execute get-users.",
9970 "method" : "GET",
9971 "name" : "get-users",
9972 "parameters" : {
9973 "additionalProperties" : 0,
9974 "properties" : {
9975 "node" : {
9976 "description" : "The cluster node name.",
9977 "format" : "pve-node",
9978 "type" : "string",
9979 "typetext" : "<string>"
9980 },
9981 "vmid" : {
9982 "description" : "The (unique) ID of the VM.",
9983 "format" : "pve-vmid",
9984 "minimum" : 1,
9985 "type" : "integer",
9986 "typetext" : "<integer> (1 - N)"
9987 }
9988 }
9989 },
9990 "permissions" : {
9991 "check" : [
9992 "perm",
9993 "/vms/{vmid}",
9994 [
9995 "VM.Monitor"
9996 ]
9997 ]
9998 },
9999 "protected" : 1,
10000 "proxyto" : "node",
10001 "returns" : {
10002 "description" : "Returns an object with a single `result` property.",
10003 "type" : "object"
10004 }
10005 }
10006 },
10007 "leaf" : 1,
10008 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
10009 "text" : "get-users"
10010 },
10011 {
10012 "info" : {
10013 "GET" : {
e9cd3bd4 10014 "allowtoken" : 1,
27a7acb2
DM
10015 "description" : "Execute get-vcpus.",
10016 "method" : "GET",
10017 "name" : "get-vcpus",
10018 "parameters" : {
10019 "additionalProperties" : 0,
10020 "properties" : {
10021 "node" : {
10022 "description" : "The cluster node name.",
10023 "format" : "pve-node",
10024 "type" : "string",
10025 "typetext" : "<string>"
10026 },
10027 "vmid" : {
10028 "description" : "The (unique) ID of the VM.",
10029 "format" : "pve-vmid",
10030 "minimum" : 1,
10031 "type" : "integer",
10032 "typetext" : "<integer> (1 - N)"
10033 }
10034 }
10035 },
10036 "permissions" : {
10037 "check" : [
10038 "perm",
10039 "/vms/{vmid}",
10040 [
10041 "VM.Monitor"
10042 ]
10043 ]
10044 },
10045 "protected" : 1,
10046 "proxyto" : "node",
10047 "returns" : {
10048 "description" : "Returns an object with a single `result` property.",
10049 "type" : "object"
10050 }
10051 }
10052 },
10053 "leaf" : 1,
10054 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
10055 "text" : "get-vcpus"
10056 },
10057 {
10058 "info" : {
10059 "GET" : {
e9cd3bd4 10060 "allowtoken" : 1,
27a7acb2
DM
10061 "description" : "Execute info.",
10062 "method" : "GET",
10063 "name" : "info",
10064 "parameters" : {
10065 "additionalProperties" : 0,
10066 "properties" : {
10067 "node" : {
10068 "description" : "The cluster node name.",
10069 "format" : "pve-node",
10070 "type" : "string",
10071 "typetext" : "<string>"
10072 },
10073 "vmid" : {
10074 "description" : "The (unique) ID of the VM.",
10075 "format" : "pve-vmid",
10076 "minimum" : 1,
10077 "type" : "integer",
10078 "typetext" : "<integer> (1 - N)"
10079 }
10080 }
10081 },
10082 "permissions" : {
10083 "check" : [
10084 "perm",
10085 "/vms/{vmid}",
10086 [
10087 "VM.Monitor"
10088 ]
10089 ]
10090 },
10091 "protected" : 1,
10092 "proxyto" : "node",
10093 "returns" : {
10094 "description" : "Returns an object with a single `result` property.",
10095 "type" : "object"
10096 }
10097 }
10098 },
10099 "leaf" : 1,
10100 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
10101 "text" : "info"
10102 },
10103 {
10104 "info" : {
10105 "GET" : {
e9cd3bd4 10106 "allowtoken" : 1,
27a7acb2
DM
10107 "description" : "Execute network-get-interfaces.",
10108 "method" : "GET",
10109 "name" : "network-get-interfaces",
10110 "parameters" : {
10111 "additionalProperties" : 0,
10112 "properties" : {
10113 "node" : {
10114 "description" : "The cluster node name.",
10115 "format" : "pve-node",
10116 "type" : "string",
10117 "typetext" : "<string>"
10118 },
10119 "vmid" : {
10120 "description" : "The (unique) ID of the VM.",
10121 "format" : "pve-vmid",
10122 "minimum" : 1,
10123 "type" : "integer",
10124 "typetext" : "<integer> (1 - N)"
10125 }
10126 }
10127 },
10128 "permissions" : {
10129 "check" : [
10130 "perm",
10131 "/vms/{vmid}",
10132 [
10133 "VM.Monitor"
10134 ]
10135 ]
10136 },
10137 "protected" : 1,
10138 "proxyto" : "node",
10139 "returns" : {
10140 "description" : "Returns an object with a single `result` property.",
10141 "type" : "object"
10142 }
10143 }
10144 },
10145 "leaf" : 1,
10146 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
10147 "text" : "network-get-interfaces"
10148 },
10149 {
10150 "info" : {
10151 "POST" : {
e9cd3bd4 10152 "allowtoken" : 1,
27a7acb2
DM
10153 "description" : "Execute ping.",
10154 "method" : "POST",
10155 "name" : "ping",
10156 "parameters" : {
10157 "additionalProperties" : 0,
10158 "properties" : {
10159 "node" : {
10160 "description" : "The cluster node name.",
10161 "format" : "pve-node",
10162 "type" : "string",
10163 "typetext" : "<string>"
10164 },
10165 "vmid" : {
10166 "description" : "The (unique) ID of the VM.",
10167 "format" : "pve-vmid",
10168 "minimum" : 1,
10169 "type" : "integer",
10170 "typetext" : "<integer> (1 - N)"
10171 }
10172 }
10173 },
10174 "permissions" : {
10175 "check" : [
10176 "perm",
10177 "/vms/{vmid}",
10178 [
10179 "VM.Monitor"
10180 ]
10181 ]
10182 },
10183 "protected" : 1,
10184 "proxyto" : "node",
10185 "returns" : {
10186 "description" : "Returns an object with a single `result` property.",
10187 "type" : "object"
10188 }
10189 }
10190 },
10191 "leaf" : 1,
10192 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
10193 "text" : "ping"
10194 },
10195 {
10196 "info" : {
10197 "POST" : {
e9cd3bd4 10198 "allowtoken" : 1,
27a7acb2
DM
10199 "description" : "Execute shutdown.",
10200 "method" : "POST",
10201 "name" : "shutdown",
10202 "parameters" : {
10203 "additionalProperties" : 0,
10204 "properties" : {
10205 "node" : {
10206 "description" : "The cluster node name.",
10207 "format" : "pve-node",
10208 "type" : "string",
10209 "typetext" : "<string>"
10210 },
10211 "vmid" : {
10212 "description" : "The (unique) ID of the VM.",
10213 "format" : "pve-vmid",
10214 "minimum" : 1,
10215 "type" : "integer",
10216 "typetext" : "<integer> (1 - N)"
10217 }
10218 }
10219 },
10220 "permissions" : {
10221 "check" : [
10222 "perm",
10223 "/vms/{vmid}",
10224 [
10225 "VM.Monitor"
10226 ]
10227 ]
10228 },
10229 "protected" : 1,
10230 "proxyto" : "node",
10231 "returns" : {
10232 "description" : "Returns an object with a single `result` property.",
10233 "type" : "object"
10234 }
10235 }
10236 },
10237 "leaf" : 1,
10238 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
10239 "text" : "shutdown"
10240 },
10241 {
10242 "info" : {
10243 "POST" : {
e9cd3bd4 10244 "allowtoken" : 1,
27a7acb2
DM
10245 "description" : "Execute suspend-disk.",
10246 "method" : "POST",
10247 "name" : "suspend-disk",
10248 "parameters" : {
10249 "additionalProperties" : 0,
10250 "properties" : {
10251 "node" : {
10252 "description" : "The cluster node name.",
10253 "format" : "pve-node",
10254 "type" : "string",
10255 "typetext" : "<string>"
10256 },
10257 "vmid" : {
10258 "description" : "The (unique) ID of the VM.",
10259 "format" : "pve-vmid",
10260 "minimum" : 1,
10261 "type" : "integer",
10262 "typetext" : "<integer> (1 - N)"
10263 }
10264 }
10265 },
10266 "permissions" : {
10267 "check" : [
10268 "perm",
10269 "/vms/{vmid}",
10270 [
10271 "VM.Monitor"
10272 ]
10273 ]
10274 },
10275 "protected" : 1,
10276 "proxyto" : "node",
10277 "returns" : {
10278 "description" : "Returns an object with a single `result` property.",
10279 "type" : "object"
10280 }
10281 }
10282 },
10283 "leaf" : 1,
10284 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
10285 "text" : "suspend-disk"
10286 },
10287 {
10288 "info" : {
10289 "POST" : {
e9cd3bd4 10290 "allowtoken" : 1,
27a7acb2
DM
10291 "description" : "Execute suspend-hybrid.",
10292 "method" : "POST",
10293 "name" : "suspend-hybrid",
10294 "parameters" : {
10295 "additionalProperties" : 0,
10296 "properties" : {
10297 "node" : {
10298 "description" : "The cluster node name.",
10299 "format" : "pve-node",
10300 "type" : "string",
10301 "typetext" : "<string>"
10302 },
10303 "vmid" : {
10304 "description" : "The (unique) ID of the VM.",
10305 "format" : "pve-vmid",
10306 "minimum" : 1,
10307 "type" : "integer",
10308 "typetext" : "<integer> (1 - N)"
10309 }
10310 }
10311 },
10312 "permissions" : {
10313 "check" : [
10314 "perm",
10315 "/vms/{vmid}",
10316 [
10317 "VM.Monitor"
10318 ]
10319 ]
10320 },
10321 "protected" : 1,
10322 "proxyto" : "node",
10323 "returns" : {
10324 "description" : "Returns an object with a single `result` property.",
10325 "type" : "object"
10326 }
10327 }
10328 },
10329 "leaf" : 1,
10330 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
10331 "text" : "suspend-hybrid"
10332 },
10333 {
10334 "info" : {
10335 "POST" : {
e9cd3bd4 10336 "allowtoken" : 1,
27a7acb2
DM
10337 "description" : "Execute suspend-ram.",
10338 "method" : "POST",
10339 "name" : "suspend-ram",
10340 "parameters" : {
10341 "additionalProperties" : 0,
10342 "properties" : {
10343 "node" : {
10344 "description" : "The cluster node name.",
10345 "format" : "pve-node",
10346 "type" : "string",
10347 "typetext" : "<string>"
10348 },
10349 "vmid" : {
10350 "description" : "The (unique) ID of the VM.",
10351 "format" : "pve-vmid",
10352 "minimum" : 1,
10353 "type" : "integer",
10354 "typetext" : "<integer> (1 - N)"
10355 }
10356 }
10357 },
10358 "permissions" : {
10359 "check" : [
10360 "perm",
10361 "/vms/{vmid}",
10362 [
10363 "VM.Monitor"
10364 ]
10365 ]
10366 },
10367 "protected" : 1,
10368 "proxyto" : "node",
10369 "returns" : {
10370 "description" : "Returns an object with a single `result` property.",
10371 "type" : "object"
10372 }
10373 }
10374 },
10375 "leaf" : 1,
10376 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
10377 "text" : "suspend-ram"
4d47f125
TL
10378 },
10379 {
10380 "info" : {
10381 "POST" : {
e9cd3bd4 10382 "allowtoken" : 1,
4d47f125
TL
10383 "description" : "Sets the password for the given user to the given password",
10384 "method" : "POST",
10385 "name" : "set-user-password",
10386 "parameters" : {
10387 "additionalProperties" : 0,
10388 "properties" : {
10389 "crypted" : {
10390 "default" : 0,
10391 "description" : "set to 1 if the password has already been passed through crypt()",
10392 "optional" : 1,
10393 "type" : "boolean",
10394 "typetext" : "<boolean>"
10395 },
10396 "node" : {
10397 "description" : "The cluster node name.",
10398 "format" : "pve-node",
10399 "type" : "string",
10400 "typetext" : "<string>"
10401 },
10402 "password" : {
10403 "description" : "The new password.",
1c532546 10404 "maxLength" : 1024,
4d47f125
TL
10405 "minLength" : 5,
10406 "type" : "string",
10407 "typetext" : "<string>"
10408 },
10409 "username" : {
10410 "description" : "The user to set the password for.",
10411 "type" : "string",
10412 "typetext" : "<string>"
10413 },
10414 "vmid" : {
10415 "description" : "The (unique) ID of the VM.",
10416 "format" : "pve-vmid",
10417 "minimum" : 1,
10418 "type" : "integer",
10419 "typetext" : "<integer> (1 - N)"
10420 }
10421 }
27a7acb2 10422 },
4d47f125
TL
10423 "permissions" : {
10424 "check" : [
10425 "perm",
10426 "/vms/{vmid}",
10427 [
10428 "VM.Monitor"
10429 ]
10430 ]
10431 },
10432 "protected" : 1,
10433 "proxyto" : "node",
10434 "returns" : {
10435 "description" : "Returns an object with a single `result` property.",
10436 "type" : "object"
27a7acb2
DM
10437 }
10438 }
10439 },
4d47f125
TL
10440 "leaf" : 1,
10441 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
10442 "text" : "set-user-password"
27a7acb2 10443 },
4d47f125
TL
10444 {
10445 "info" : {
10446 "POST" : {
e9cd3bd4 10447 "allowtoken" : 1,
4d47f125
TL
10448 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
10449 "method" : "POST",
10450 "name" : "exec",
10451 "parameters" : {
10452 "additionalProperties" : 0,
10453 "properties" : {
10454 "command" : {
10455 "description" : "The command as a list of program + arguments",
10456 "format" : "string-alist",
c5aa7e14
TL
10457 "optional" : 1,
10458 "type" : "string",
10459 "typetext" : "<string>"
10460 },
10461 "input-data" : {
10462 "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.",
10463 "maxLength" : 65536,
10464 "optional" : 1,
4d47f125
TL
10465 "type" : "string",
10466 "typetext" : "<string>"
10467 },
10468 "node" : {
10469 "description" : "The cluster node name.",
10470 "format" : "pve-node",
10471 "type" : "string",
10472 "typetext" : "<string>"
10473 },
10474 "vmid" : {
10475 "description" : "The (unique) ID of the VM.",
10476 "format" : "pve-vmid",
10477 "minimum" : 1,
10478 "type" : "integer",
10479 "typetext" : "<integer> (1 - N)"
10480 }
10481 }
27a7acb2 10482 },
4d47f125
TL
10483 "permissions" : {
10484 "check" : [
10485 "perm",
10486 "/vms/{vmid}",
10487 [
10488 "VM.Monitor"
10489 ]
10490 ]
27a7acb2 10491 },
4d47f125
TL
10492 "protected" : 1,
10493 "proxyto" : "node",
10494 "returns" : {
10495 "properties" : {
10496 "pid" : {
10497 "description" : "The PID of the process started by the guest-agent.",
10498 "type" : "integer"
10499 }
10500 },
10501 "type" : "object"
27a7acb2
DM
10502 }
10503 }
10504 },
4d47f125
TL
10505 "leaf" : 1,
10506 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
10507 "text" : "exec"
10508 },
10509 {
10510 "info" : {
10511 "GET" : {
e9cd3bd4 10512 "allowtoken" : 1,
4d47f125
TL
10513 "description" : "Gets the status of the given pid started by the guest-agent",
10514 "method" : "GET",
10515 "name" : "exec-status",
10516 "parameters" : {
10517 "additionalProperties" : 0,
10518 "properties" : {
10519 "node" : {
10520 "description" : "The cluster node name.",
10521 "format" : "pve-node",
10522 "type" : "string",
10523 "typetext" : "<string>"
10524 },
10525 "pid" : {
10526 "description" : "The PID to query",
10527 "type" : "integer",
10528 "typetext" : "<integer>"
10529 },
10530 "vmid" : {
10531 "description" : "The (unique) ID of the VM.",
10532 "format" : "pve-vmid",
10533 "minimum" : 1,
10534 "type" : "integer",
10535 "typetext" : "<integer> (1 - N)"
10536 }
10537 }
56122987 10538 },
4d47f125
TL
10539 "permissions" : {
10540 "check" : [
10541 "perm",
10542 "/vms/{vmid}",
10543 [
10544 "VM.Monitor"
10545 ]
10546 ]
56122987 10547 },
4d47f125
TL
10548 "protected" : 1,
10549 "proxyto" : "node",
10550 "returns" : {
10551 "properties" : {
10552 "err-data" : {
10553 "description" : "stderr of the process",
10554 "optional" : 1,
10555 "type" : "string"
10556 },
10557 "err-truncated" : {
10558 "description" : "true if stderr was not fully captured",
10559 "optional" : 1,
10560 "type" : "boolean"
10561 },
10562 "exitcode" : {
10563 "description" : "process exit code if it was normally terminated.",
10564 "optional" : 1,
10565 "type" : "integer"
10566 },
10567 "exited" : {
10568 "description" : "Tells if the given command has exited yet.",
10569 "type" : "boolean"
10570 },
10571 "out-data" : {
10572 "description" : "stdout of the process",
10573 "optional" : 1,
10574 "type" : "string"
10575 },
10576 "out-truncated" : {
10577 "description" : "true if stdout was not fully captured",
10578 "optional" : 1,
10579 "type" : "boolean"
10580 },
10581 "signal" : {
10582 "description" : "signal number or exception code if the process was abnormally terminated.",
10583 "optional" : 1,
10584 "type" : "integer"
10585 }
10586 },
10587 "type" : "object"
56122987
DM
10588 }
10589 }
10590 },
4d47f125
TL
10591 "leaf" : 1,
10592 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
10593 "text" : "exec-status"
10594 },
10595 {
10596 "info" : {
10597 "GET" : {
e9cd3bd4 10598 "allowtoken" : 1,
4d47f125
TL
10599 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
10600 "method" : "GET",
10601 "name" : "file-read",
10602 "parameters" : {
10603 "additionalProperties" : 0,
10604 "properties" : {
10605 "file" : {
10606 "description" : "The path to the file",
10607 "type" : "string",
10608 "typetext" : "<string>"
10609 },
10610 "node" : {
10611 "description" : "The cluster node name.",
10612 "format" : "pve-node",
10613 "type" : "string",
10614 "typetext" : "<string>"
10615 },
10616 "vmid" : {
10617 "description" : "The (unique) ID of the VM.",
10618 "format" : "pve-vmid",
10619 "minimum" : 1,
10620 "type" : "integer",
10621 "typetext" : "<integer> (1 - N)"
10622 }
10623 }
10624 },
10625 "permissions" : {
10626 "check" : [
10627 "perm",
10628 "/vms/{vmid}",
10629 [
10630 "VM.Monitor"
10631 ]
10632 ]
10633 },
10634 "protected" : 1,
10635 "proxyto" : "node",
10636 "returns" : {
10637 "description" : "Returns an object with a `content` property.",
10638 "properties" : {
10639 "content" : {
10640 "description" : "The content of the file, maximum 16777216",
10641 "type" : "string"
10642 },
10643 "truncated" : {
10644 "description" : "If set to 1, the output is truncated and not complete",
10645 "optional" : 1,
10646 "type" : "boolean"
10647 }
10648 },
10649 "type" : "object"
10650 }
10651 }
56122987 10652 },
4d47f125
TL
10653 "leaf" : 1,
10654 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
10655 "text" : "file-read"
10656 },
10657 {
10658 "info" : {
10659 "POST" : {
e9cd3bd4 10660 "allowtoken" : 1,
4d47f125
TL
10661 "description" : "Writes the given file via guest agent.",
10662 "method" : "POST",
10663 "name" : "file-write",
10664 "parameters" : {
10665 "additionalProperties" : 0,
10666 "properties" : {
10667 "content" : {
10668 "description" : "The content to write into the file.",
10669 "maxLength" : 61440,
10670 "type" : "string",
10671 "typetext" : "<string>"
10672 },
10673 "file" : {
10674 "description" : "The path to the file.",
10675 "type" : "string",
10676 "typetext" : "<string>"
10677 },
10678 "node" : {
10679 "description" : "The cluster node name.",
10680 "format" : "pve-node",
10681 "type" : "string",
10682 "typetext" : "<string>"
10683 },
10684 "vmid" : {
10685 "description" : "The (unique) ID of the VM.",
10686 "format" : "pve-vmid",
10687 "minimum" : 1,
10688 "type" : "integer",
10689 "typetext" : "<integer> (1 - N)"
10690 }
10691 }
10692 },
10693 "permissions" : {
10694 "check" : [
10695 "perm",
10696 "/vms/{vmid}",
10697 [
10698 "VM.Monitor"
10699 ]
10700 ]
10701 },
10702 "protected" : 1,
10703 "proxyto" : "node",
10704 "returns" : {
10705 "type" : "null"
7aacca6f 10706 }
4d47f125
TL
10707 }
10708 },
10709 "leaf" : 1,
10710 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
10711 "text" : "file-write"
56122987 10712 }
4d47f125 10713 ],
7aacca6f 10714 "info" : {
56122987 10715 "GET" : {
e9cd3bd4 10716 "allowtoken" : 1,
4d47f125 10717 "description" : "Qemu Agent command index.",
44660702 10718 "method" : "GET",
4d47f125 10719 "name" : "index",
56122987 10720 "parameters" : {
4d47f125 10721 "additionalProperties" : 1,
56122987
DM
10722 "properties" : {
10723 "node" : {
44660702 10724 "description" : "The cluster node name.",
56122987 10725 "format" : "pve-node",
013dc89f
DM
10726 "type" : "string",
10727 "typetext" : "<string>"
56122987 10728 },
7aacca6f 10729 "vmid" : {
7aacca6f
DM
10730 "description" : "The (unique) ID of the VM.",
10731 "format" : "pve-vmid",
44660702 10732 "minimum" : 1,
4bd7df8b 10733 "type" : "integer",
013dc89f 10734 "typetext" : "<integer> (1 - N)"
56122987 10735 }
44660702 10736 }
56122987 10737 },
56122987 10738 "permissions" : {
4d47f125 10739 "user" : "all"
56122987 10740 },
4d47f125 10741 "proxyto" : "node",
7aacca6f 10742 "returns" : {
4d47f125 10743 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 10744 "items" : {
44660702
DM
10745 "properties" : {},
10746 "type" : "object"
10747 },
4d47f125
TL
10748 "links" : [
10749 {
10750 "href" : "{name}",
10751 "rel" : "child"
10752 }
10753 ],
44660702 10754 "type" : "array"
7aacca6f 10755 }
4d47f125
TL
10756 },
10757 "POST" : {
e9cd3bd4 10758 "allowtoken" : 1,
4d47f125
TL
10759 "description" : "Execute Qemu Guest Agent commands.",
10760 "method" : "POST",
10761 "name" : "agent",
44660702
DM
10762 "parameters" : {
10763 "additionalProperties" : 0,
10764 "properties" : {
4d47f125
TL
10765 "command" : {
10766 "description" : "The QGA command.",
10767 "enum" : [
10768 "fsfreeze-freeze",
10769 "fsfreeze-status",
10770 "fsfreeze-thaw",
10771 "fstrim",
10772 "get-fsinfo",
10773 "get-host-name",
10774 "get-memory-block-info",
10775 "get-memory-blocks",
10776 "get-osinfo",
10777 "get-time",
10778 "get-timezone",
10779 "get-users",
10780 "get-vcpus",
10781 "info",
10782 "network-get-interfaces",
10783 "ping",
10784 "shutdown",
10785 "suspend-disk",
10786 "suspend-hybrid",
10787 "suspend-ram"
10788 ],
10789 "type" : "string"
10790 },
10791 "node" : {
10792 "description" : "The cluster node name.",
10793 "format" : "pve-node",
10794 "type" : "string",
10795 "typetext" : "<string>"
10796 },
10797 "vmid" : {
10798 "description" : "The (unique) ID of the VM.",
10799 "format" : "pve-vmid",
10800 "minimum" : 1,
10801 "type" : "integer",
10802 "typetext" : "<integer> (1 - N)"
10803 }
10804 }
10805 },
10806 "permissions" : {
10807 "check" : [
10808 "perm",
10809 "/vms/{vmid}",
10810 [
10811 "VM.Monitor"
10812 ]
10813 ]
10814 },
10815 "protected" : 1,
10816 "proxyto" : "node",
10817 "returns" : {
10818 "description" : "Returns an object with a single `result` property.",
10819 "type" : "object"
10820 }
10821 }
10822 },
10823 "leaf" : 0,
10824 "path" : "/nodes/{node}/qemu/{vmid}/agent",
10825 "text" : "agent"
10826 },
10827 {
10828 "info" : {
10829 "GET" : {
e9cd3bd4 10830 "allowtoken" : 1,
4d47f125
TL
10831 "description" : "Read VM RRD statistics (returns PNG)",
10832 "method" : "GET",
10833 "name" : "rrd",
10834 "parameters" : {
10835 "additionalProperties" : 0,
10836 "properties" : {
10837 "cf" : {
10838 "description" : "The RRD consolidation function",
10839 "enum" : [
10840 "AVERAGE",
10841 "MAX"
10842 ],
44660702 10843 "optional" : 1,
4d47f125
TL
10844 "type" : "string"
10845 },
10846 "ds" : {
10847 "description" : "The list of datasources you want to display.",
10848 "format" : "pve-configid-list",
10849 "type" : "string",
10850 "typetext" : "<string>"
44660702
DM
10851 },
10852 "node" : {
10853 "description" : "The cluster node name.",
10854 "format" : "pve-node",
013dc89f
DM
10855 "type" : "string",
10856 "typetext" : "<string>"
44660702 10857 },
4d47f125
TL
10858 "timeframe" : {
10859 "description" : "Specify the time frame you are interested in.",
10860 "enum" : [
10861 "hour",
10862 "day",
10863 "week",
10864 "month",
10865 "year"
10866 ],
10867 "type" : "string"
10868 },
44660702
DM
10869 "vmid" : {
10870 "description" : "The (unique) ID of the VM.",
10871 "format" : "pve-vmid",
10872 "minimum" : 1,
4bd7df8b 10873 "type" : "integer",
013dc89f 10874 "typetext" : "<integer> (1 - N)"
44660702
DM
10875 }
10876 }
7aacca6f 10877 },
56122987
DM
10878 "permissions" : {
10879 "check" : [
10880 "perm",
10881 "/vms/{vmid}",
10882 [
44660702
DM
10883 "VM.Audit"
10884 ]
56122987
DM
10885 ]
10886 },
4d47f125 10887 "protected" : 1,
44660702
DM
10888 "returns" : {
10889 "properties" : {
4d47f125 10890 "filename" : {
44660702
DM
10891 "type" : "string"
10892 }
10893 },
10894 "type" : "object"
10895 }
4d47f125
TL
10896 }
10897 },
10898 "leaf" : 1,
10899 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
10900 "text" : "rrd"
10901 },
10902 {
10903 "info" : {
10904 "GET" : {
e9cd3bd4 10905 "allowtoken" : 1,
4d47f125
TL
10906 "description" : "Read VM RRD statistics",
10907 "method" : "GET",
10908 "name" : "rrddata",
10909 "parameters" : {
10910 "additionalProperties" : 0,
10911 "properties" : {
10912 "cf" : {
10913 "description" : "The RRD consolidation function",
10914 "enum" : [
10915 "AVERAGE",
10916 "MAX"
10917 ],
10918 "optional" : 1,
10919 "type" : "string"
10920 },
10921 "node" : {
10922 "description" : "The cluster node name.",
10923 "format" : "pve-node",
10924 "type" : "string",
10925 "typetext" : "<string>"
10926 },
10927 "timeframe" : {
10928 "description" : "Specify the time frame you are interested in.",
10929 "enum" : [
10930 "hour",
10931 "day",
10932 "week",
10933 "month",
10934 "year"
10935 ],
10936 "type" : "string"
10937 },
10938 "vmid" : {
10939 "description" : "The (unique) ID of the VM.",
10940 "format" : "pve-vmid",
10941 "minimum" : 1,
10942 "type" : "integer",
10943 "typetext" : "<integer> (1 - N)"
10944 }
10945 }
10946 },
10947 "permissions" : {
10948 "check" : [
10949 "perm",
10950 "/vms/{vmid}",
10951 [
10952 "VM.Audit"
10953 ]
10954 ]
10955 },
10956 "protected" : 1,
10957 "returns" : {
10958 "items" : {
10959 "properties" : {},
10960 "type" : "object"
10961 },
10962 "type" : "array"
10963 }
10964 }
10965 },
10966 "leaf" : 1,
10967 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
10968 "text" : "rrddata"
10969 },
10970 {
10971 "info" : {
10972 "GET" : {
e9cd3bd4
TL
10973 "allowtoken" : 1,
10974 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
10975 "method" : "GET",
10976 "name" : "vm_config",
56122987 10977 "parameters" : {
44660702 10978 "additionalProperties" : 0,
4d47f125
TL
10979 "properties" : {
10980 "current" : {
10981 "default" : 0,
10982 "description" : "Get current values (instead of pending values).",
10983 "optional" : 1,
10984 "type" : "boolean",
10985 "typetext" : "<boolean>"
10986 },
10987 "node" : {
10988 "description" : "The cluster node name.",
10989 "format" : "pve-node",
10990 "type" : "string",
10991 "typetext" : "<string>"
10992 },
5f26e15b
TL
10993 "snapshot" : {
10994 "description" : "Fetch config values from given snapshot.",
10995 "format" : "pve-configid",
10996 "maxLength" : 40,
10997 "optional" : 1,
10998 "type" : "string",
10999 "typetext" : "<string>"
11000 },
4d47f125
TL
11001 "vmid" : {
11002 "description" : "The (unique) ID of the VM.",
11003 "format" : "pve-vmid",
11004 "minimum" : 1,
11005 "type" : "integer",
11006 "typetext" : "<integer> (1 - N)"
11007 }
11008 }
11009 },
11010 "permissions" : {
11011 "check" : [
11012 "perm",
11013 "/vms/{vmid}",
11014 [
11015 "VM.Audit"
11016 ]
11017 ]
11018 },
11019 "proxyto" : "node",
11020 "returns" : {
e9cd3bd4 11021 "description" : "The VM configuration.",
56122987 11022 "properties" : {
44660702
DM
11023 "acpi" : {
11024 "default" : 1,
11025 "description" : "Enable/disable ACPI.",
11026 "optional" : 1,
4d47f125 11027 "type" : "boolean"
44660702
DM
11028 },
11029 "agent" : {
4d47f125
TL
11030 "description" : "Enable/disable Qemu GuestAgent and its properties.",
11031 "format" : {
11032 "enabled" : {
11033 "default" : 0,
11034 "default_key" : 1,
11035 "description" : "Enable/disable Qemu GuestAgent.",
11036 "type" : "boolean"
11037 },
11038 "fstrim_cloned_disks" : {
11039 "default" : 0,
11040 "description" : "Run fstrim after cloning/moving a disk.",
11041 "optional" : 1,
11042 "type" : "boolean"
5c1699e5
TL
11043 },
11044 "type" : {
11045 "default" : "virtio",
11046 "description" : "Select the agent type",
11047 "enum" : [
11048 "virtio",
11049 "isa"
11050 ],
11051 "optional" : 1,
11052 "type" : "string"
4d47f125
TL
11053 }
11054 },
7aacca6f 11055 "optional" : 1,
4d47f125 11056 "type" : "string"
7aacca6f 11057 },
e2d681b3
TL
11058 "arch" : {
11059 "description" : "Virtual processor architecture. Defaults to the host.",
11060 "enum" : [
11061 "x86_64",
11062 "aarch64"
11063 ],
11064 "optional" : 1,
11065 "type" : "string"
11066 },
44660702 11067 "args" : {
c2993fe5 11068 "description" : "Arbitrary arguments passed to kvm.",
44660702 11069 "optional" : 1,
c2993fe5
DM
11070 "type" : "string",
11071 "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 11072 },
1c532546
TL
11073 "audio0" : {
11074 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
11075 "format" : {
11076 "device" : {
11077 "description" : "Configure an audio device.",
11078 "enum" : [
11079 "ich9-intel-hda",
11080 "intel-hda",
11081 "AC97"
11082 ],
11083 "type" : "string"
11084 },
11085 "driver" : {
11086 "default" : "spice",
11087 "description" : "Driver backend for the audio device.",
11088 "enum" : [
11089 "spice"
11090 ],
11091 "optional" : 1,
11092 "type" : "string"
11093 }
11094 },
11095 "optional" : 1,
11096 "type" : "string"
11097 },
44660702
DM
11098 "autostart" : {
11099 "default" : 0,
11100 "description" : "Automatic restart after crash (currently ignored).",
56122987 11101 "optional" : 1,
4d47f125 11102 "type" : "boolean"
56122987 11103 },
4d47f125
TL
11104 "balloon" : {
11105 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11106 "minimum" : 0,
7aacca6f 11107 "optional" : 1,
4d47f125 11108 "type" : "integer"
7aacca6f 11109 },
44660702
DM
11110 "bios" : {
11111 "default" : "seabios",
11112 "description" : "Select BIOS implementation.",
11113 "enum" : [
11114 "seabios",
11115 "ovmf"
11116 ],
56122987 11117 "optional" : 1,
44660702 11118 "type" : "string"
7aacca6f 11119 },
44660702 11120 "boot" : {
4772952b
TL
11121 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
11122 "format" : "pve-qm-boot",
44660702 11123 "optional" : 1,
44660702
DM
11124 "type" : "string"
11125 },
11126 "bootdisk" : {
4772952b 11127 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
11128 "format" : "pve-qm-bootdisk",
11129 "optional" : 1,
11130 "pattern" : "(ide|sata|scsi|virtio)\\d+",
11131 "type" : "string"
11132 },
11133 "cdrom" : {
11134 "description" : "This is an alias for option -ide2",
de0983cb 11135 "format" : "pve-qm-ide",
44660702 11136 "optional" : 1,
7aacca6f 11137 "type" : "string",
013dc89f 11138 "typetext" : "<volume>"
44660702 11139 },
95895385
TL
11140 "cicustom" : {
11141 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
11142 "format" : "pve-qm-cicustom",
11143 "optional" : 1,
11144 "type" : "string"
11145 },
27a7acb2
DM
11146 "cipassword" : {
11147 "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.",
11148 "optional" : 1,
4d47f125 11149 "type" : "string"
27a7acb2
DM
11150 },
11151 "citype" : {
11152 "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.",
11153 "enum" : [
11154 "configdrive2",
11155 "nocloud"
11156 ],
11157 "optional" : 1,
11158 "type" : "string"
11159 },
11160 "ciuser" : {
11161 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
11162 "optional" : 1,
4d47f125 11163 "type" : "string"
27a7acb2 11164 },
44660702
DM
11165 "cores" : {
11166 "default" : 1,
11167 "description" : "The number of cores per socket.",
11168 "minimum" : 1,
7aacca6f 11169 "optional" : 1,
4d47f125 11170 "type" : "integer"
7aacca6f 11171 },
44660702
DM
11172 "cpu" : {
11173 "description" : "Emulated CPU type.",
c5aa7e14 11174 "format" : "pve-vm-cpu-conf",
44660702 11175 "optional" : 1,
4d47f125 11176 "type" : "string"
44660702
DM
11177 },
11178 "cpulimit" : {
11179 "default" : 0,
c2993fe5 11180 "description" : "Limit of CPU usage.",
44660702
DM
11181 "maximum" : 128,
11182 "minimum" : 0,
11183 "optional" : 1,
c2993fe5
DM
11184 "type" : "number",
11185 "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
11186 },
11187 "cpuunits" : {
de0983cb 11188 "default" : 1024,
c2993fe5 11189 "description" : "CPU weight for a VM.",
2489d6df
WB
11190 "maximum" : 262144,
11191 "minimum" : 2,
44660702 11192 "optional" : 1,
c2993fe5 11193 "type" : "integer",
2489d6df 11194 "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 11195 },
44660702
DM
11196 "description" : {
11197 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
11198 "optional" : 1,
4d47f125 11199 "type" : "string"
44660702
DM
11200 },
11201 "digest" : {
4d47f125
TL
11202 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
11203 "type" : "string"
44660702 11204 },
4d47f125
TL
11205 "efidisk0" : {
11206 "description" : "Configure a Disk for storing EFI vars",
11207 "format" : {
11208 "file" : {
11209 "default_key" : 1,
11210 "description" : "The drive's backing volume.",
11211 "format" : "pve-volume-id-or-qm-path",
11212 "format_description" : "volume",
11213 "type" : "string"
11214 },
11215 "format" : {
11216 "description" : "The drive's backing file's data format.",
11217 "enum" : [
11218 "raw",
11219 "cow",
11220 "qcow",
11221 "qed",
11222 "qcow2",
11223 "vmdk",
11224 "cloop"
11225 ],
11226 "optional" : 1,
11227 "type" : "string"
11228 },
11229 "size" : {
11230 "description" : "Disk size. This is purely informational and has no effect.",
11231 "format" : "disk-size",
11232 "format_description" : "DiskSize",
11233 "optional" : 1,
11234 "type" : "string"
11235 },
11236 "volume" : {
11237 "alias" : "file"
11238 }
11239 },
44660702 11240 "optional" : 1,
4d47f125 11241 "type" : "string"
44660702
DM
11242 },
11243 "freeze" : {
11244 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11245 "optional" : 1,
4d47f125 11246 "type" : "boolean"
44660702 11247 },
5f26e15b
TL
11248 "hookscript" : {
11249 "description" : "Script that will be executed during various steps in the vms lifetime.",
11250 "format" : "pve-volume-id",
11251 "optional" : 1,
11252 "type" : "string"
11253 },
44660702 11254 "hostpci[n]" : {
c2993fe5 11255 "description" : "Map host PCI devices into guest.",
44660702
DM
11256 "format" : "pve-qm-hostpci",
11257 "optional" : 1,
57b78691 11258 "type" : "string",
bb4c8cf8 11259 "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
11260 },
11261 "hotplug" : {
11262 "default" : "network,disk,usb",
11263 "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'.",
11264 "format" : "pve-hotplug-features",
11265 "optional" : 1,
4d47f125 11266 "type" : "string"
44660702 11267 },
4bd7df8b
DM
11268 "hugepages" : {
11269 "description" : "Enable/disable hugepages memory.",
11270 "enum" : [
11271 "any",
11272 "2",
11273 "1024"
11274 ],
11275 "optional" : 1,
11276 "type" : "string"
11277 },
44660702
DM
11278 "ide[n]" : {
11279 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
11280 "format" : {
11281 "aio" : {
11282 "description" : "AIO type to use.",
11283 "enum" : [
11284 "native",
11285 "threads"
56122987 11286 ],
56122987 11287 "optional" : 1,
44660702 11288 "type" : "string"
56122987 11289 },
44660702
DM
11290 "backup" : {
11291 "description" : "Whether the drive should be included when making backups.",
56122987 11292 "optional" : 1,
44660702 11293 "type" : "boolean"
56122987 11294 },
7aacca6f 11295 "bps" : {
de0983cb 11296 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
11297 "format_description" : "bps",
11298 "optional" : 1,
11299 "type" : "integer"
11300 },
de0983cb
DM
11301 "bps_max_length" : {
11302 "description" : "Maximum length of I/O bursts in seconds.",
11303 "format_description" : "seconds",
11304 "minimum" : 1,
11305 "optional" : 1,
11306 "type" : "integer"
11307 },
44660702 11308 "bps_rd" : {
de0983cb 11309 "description" : "Maximum read speed in bytes per second.",
44660702 11310 "format_description" : "bps",
56122987 11311 "optional" : 1,
44660702 11312 "type" : "integer"
56122987 11313 },
de0983cb 11314 "bps_rd_length" : {
5d9c884c
DM
11315 "alias" : "bps_rd_max_length"
11316 },
11317 "bps_rd_max_length" : {
de0983cb
DM
11318 "description" : "Maximum length of read I/O bursts in seconds.",
11319 "format_description" : "seconds",
11320 "minimum" : 1,
11321 "optional" : 1,
11322 "type" : "integer"
11323 },
44660702 11324 "bps_wr" : {
de0983cb 11325 "description" : "Maximum write speed in bytes per second.",
44660702
DM
11326 "format_description" : "bps",
11327 "optional" : 1,
11328 "type" : "integer"
11329 },
de0983cb 11330 "bps_wr_length" : {
5d9c884c
DM
11331 "alias" : "bps_wr_max_length"
11332 },
11333 "bps_wr_max_length" : {
de0983cb
DM
11334 "description" : "Maximum length of write I/O bursts in seconds.",
11335 "format_description" : "seconds",
11336 "minimum" : 1,
11337 "optional" : 1,
11338 "type" : "integer"
11339 },
44660702
DM
11340 "cache" : {
11341 "description" : "The drive's cache mode",
11342 "enum" : [
11343 "none",
11344 "writethrough",
11345 "writeback",
11346 "unsafe",
11347 "directsync"
11348 ],
44660702
DM
11349 "optional" : 1,
11350 "type" : "string"
11351 },
11352 "cyls" : {
11353 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11354 "optional" : 1,
11355 "type" : "integer"
11356 },
11357 "detect_zeroes" : {
11358 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11359 "optional" : 1,
11360 "type" : "boolean"
11361 },
11362 "discard" : {
11363 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11364 "enum" : [
11365 "ignore",
11366 "on"
11367 ],
56122987 11368 "optional" : 1,
44660702
DM
11369 "type" : "string"
11370 },
11371 "file" : {
11372 "default_key" : 1,
11373 "description" : "The drive's backing volume.",
11374 "format" : "pve-volume-id-or-qm-path",
11375 "format_description" : "volume",
11376 "type" : "string"
56122987 11377 },
7aacca6f 11378 "format" : {
7aacca6f 11379 "description" : "The drive's backing file's data format.",
56122987 11380 "enum" : [
7aacca6f
DM
11381 "raw",
11382 "cow",
11383 "qcow",
11384 "qed",
11385 "qcow2",
11386 "vmdk",
11387 "cloop"
56122987
DM
11388 ],
11389 "optional" : 1,
56122987
DM
11390 "type" : "string"
11391 },
44660702
DM
11392 "heads" : {
11393 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11394 "optional" : 1,
11395 "type" : "integer"
7aacca6f 11396 },
44660702 11397 "iops" : {
de0983cb 11398 "description" : "Maximum r/w I/O in operations per second.",
44660702 11399 "format_description" : "iops",
56122987 11400 "optional" : 1,
44660702 11401 "type" : "integer"
56122987 11402 },
44660702 11403 "iops_max" : {
de0983cb 11404 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11405 "format_description" : "iops",
56122987 11406 "optional" : 1,
44660702 11407 "type" : "integer"
56122987 11408 },
de0983cb
DM
11409 "iops_max_length" : {
11410 "description" : "Maximum length of I/O bursts in seconds.",
11411 "format_description" : "seconds",
11412 "minimum" : 1,
11413 "optional" : 1,
11414 "type" : "integer"
11415 },
44660702 11416 "iops_rd" : {
de0983cb 11417 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11418 "format_description" : "iops",
11419 "optional" : 1,
11420 "type" : "integer"
11421 },
de0983cb 11422 "iops_rd_length" : {
5d9c884c 11423 "alias" : "iops_rd_max_length"
de0983cb 11424 },
44660702 11425 "iops_rd_max" : {
de0983cb 11426 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 11427 "format_description" : "iops",
44660702
DM
11428 "optional" : 1,
11429 "type" : "integer"
11430 },
5d9c884c
DM
11431 "iops_rd_max_length" : {
11432 "description" : "Maximum length of read I/O bursts in seconds.",
11433 "format_description" : "seconds",
11434 "minimum" : 1,
11435 "optional" : 1,
11436 "type" : "integer"
11437 },
44660702 11438 "iops_wr" : {
de0983cb 11439 "description" : "Maximum write I/O in operations per second.",
44660702 11440 "format_description" : "iops",
56122987 11441 "optional" : 1,
7aacca6f 11442 "type" : "integer"
56122987 11443 },
de0983cb 11444 "iops_wr_length" : {
5d9c884c 11445 "alias" : "iops_wr_max_length"
de0983cb 11446 },
44660702 11447 "iops_wr_max" : {
de0983cb 11448 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11449 "format_description" : "iops",
7aacca6f 11450 "optional" : 1,
44660702 11451 "type" : "integer"
56122987 11452 },
5d9c884c
DM
11453 "iops_wr_max_length" : {
11454 "description" : "Maximum length of write I/O bursts in seconds.",
11455 "format_description" : "seconds",
11456 "minimum" : 1,
11457 "optional" : 1,
11458 "type" : "integer"
11459 },
44660702 11460 "mbps" : {
de0983cb 11461 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11462 "format_description" : "mbps",
11463 "optional" : 1,
11464 "type" : "number"
11465 },
11466 "mbps_max" : {
de0983cb 11467 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11468 "format_description" : "mbps",
11469 "optional" : 1,
11470 "type" : "number"
11471 },
11472 "mbps_rd" : {
de0983cb 11473 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11474 "format_description" : "mbps",
11475 "optional" : 1,
11476 "type" : "number"
11477 },
11478 "mbps_rd_max" : {
de0983cb 11479 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11480 "format_description" : "mbps",
11481 "optional" : 1,
11482 "type" : "number"
11483 },
11484 "mbps_wr" : {
de0983cb 11485 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11486 "format_description" : "mbps",
11487 "optional" : 1,
11488 "type" : "number"
11489 },
11490 "mbps_wr_max" : {
de0983cb 11491 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11492 "format_description" : "mbps",
56122987 11493 "optional" : 1,
44660702 11494 "type" : "number"
56122987 11495 },
7aacca6f 11496 "media" : {
7aacca6f 11497 "default" : "disk",
7aacca6f
DM
11498 "description" : "The drive's media type.",
11499 "enum" : [
11500 "cdrom",
11501 "disk"
44660702 11502 ],
44660702
DM
11503 "optional" : 1,
11504 "type" : "string"
56122987 11505 },
44660702
DM
11506 "model" : {
11507 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11508 "format" : "urlencoded",
11509 "format_description" : "model",
11510 "maxLength" : 120,
56122987 11511 "optional" : 1,
44660702 11512 "type" : "string"
56122987 11513 },
5d9c884c
DM
11514 "replicate" : {
11515 "default" : 1,
11516 "description" : "Whether the drive should considered for replication jobs.",
11517 "optional" : 1,
11518 "type" : "boolean"
11519 },
44660702
DM
11520 "rerror" : {
11521 "description" : "Read error action.",
11522 "enum" : [
11523 "ignore",
11524 "report",
11525 "stop"
11526 ],
56122987 11527 "optional" : 1,
44660702
DM
11528 "type" : "string"
11529 },
11530 "secs" : {
11531 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11532 "optional" : 1,
11533 "type" : "integer"
11534 },
11535 "serial" : {
11536 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11537 "format" : "urlencoded",
11538 "format_description" : "serial",
11539 "maxLength" : 60,
11540 "optional" : 1,
11541 "type" : "string"
11542 },
27a7acb2
DM
11543 "shared" : {
11544 "default" : 0,
11545 "description" : "Mark this locally-managed volume as available on all nodes",
11546 "optional" : 1,
11547 "type" : "boolean",
11548 "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!"
11549 },
44660702
DM
11550 "size" : {
11551 "description" : "Disk size. This is purely informational and has no effect.",
11552 "format" : "disk-size",
f004f5b9 11553 "format_description" : "DiskSize",
44660702
DM
11554 "optional" : 1,
11555 "type" : "string"
11556 },
11557 "snapshot" : {
27a7acb2 11558 "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
11559 "optional" : 1,
11560 "type" : "boolean"
11561 },
25203dc1
NC
11562 "ssd" : {
11563 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11564 "optional" : 1,
11565 "type" : "boolean"
11566 },
44660702
DM
11567 "trans" : {
11568 "description" : "Force disk geometry bios translation mode.",
11569 "enum" : [
11570 "none",
11571 "lba",
11572 "auto"
11573 ],
44660702
DM
11574 "optional" : 1,
11575 "type" : "string"
11576 },
11577 "volume" : {
11578 "alias" : "file"
11579 },
11580 "werror" : {
11581 "description" : "Write error action.",
11582 "enum" : [
11583 "enospc",
11584 "ignore",
11585 "report",
11586 "stop"
11587 ],
44660702
DM
11588 "optional" : 1,
11589 "type" : "string"
95895385
TL
11590 },
11591 "wwn" : {
11592 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11593 "format_description" : "wwn",
11594 "optional" : 1,
11595 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11596 "type" : "string"
56122987
DM
11597 }
11598 },
44660702 11599 "optional" : 1,
4d47f125 11600 "type" : "string"
27a7acb2
DM
11601 },
11602 "ipconfig[n]" : {
4772952b 11603 "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\ngateway 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\ndhcp on IPv4.\n",
27a7acb2
DM
11604 "format" : "pve-qm-ipconfig",
11605 "optional" : 1,
4d47f125 11606 "type" : "string"
56122987 11607 },
95895385
TL
11608 "ivshmem" : {
11609 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
11610 "format" : {
11611 "name" : {
11612 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
11613 "format_description" : "string",
11614 "optional" : 1,
11615 "pattern" : "[a-zA-Z0-9\\-]+",
11616 "type" : "string"
11617 },
11618 "size" : {
11619 "description" : "The size of the file in MB.",
11620 "minimum" : 1,
11621 "type" : "integer"
11622 }
11623 },
11624 "optional" : 1,
11625 "type" : "string"
11626 },
4772952b
TL
11627 "keephugepages" : {
11628 "default" : 0,
11629 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
11630 "optional" : 1,
11631 "type" : "boolean"
11632 },
44660702 11633 "keyboard" : {
35a75dd3 11634 "default" : null,
5da3d723 11635 "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
11636 "enum" : [
11637 "de",
11638 "de-ch",
11639 "da",
11640 "en-gb",
11641 "en-us",
11642 "es",
11643 "fi",
11644 "fr",
11645 "fr-be",
11646 "fr-ca",
11647 "fr-ch",
11648 "hu",
11649 "is",
11650 "it",
11651 "ja",
11652 "lt",
11653 "mk",
11654 "nl",
11655 "no",
11656 "pl",
11657 "pt",
11658 "pt-br",
11659 "sv",
11660 "sl",
11661 "tr"
11662 ],
56122987 11663 "optional" : 1,
44660702
DM
11664 "type" : "string"
11665 },
11666 "kvm" : {
7aacca6f 11667 "default" : 1,
44660702
DM
11668 "description" : "Enable/disable KVM hardware virtualization.",
11669 "optional" : 1,
4d47f125 11670 "type" : "boolean"
56122987 11671 },
44660702
DM
11672 "localtime" : {
11673 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11674 "optional" : 1,
4d47f125 11675 "type" : "boolean"
56122987 11676 },
44660702
DM
11677 "lock" : {
11678 "description" : "Lock/unlock the VM.",
11679 "enum" : [
44660702 11680 "backup",
5f26e15b
TL
11681 "clone",
11682 "create",
11683 "migrate",
11684 "rollback",
44660702 11685 "snapshot",
95895385
TL
11686 "snapshot-delete",
11687 "suspending",
11688 "suspended"
44660702 11689 ],
7aacca6f 11690 "optional" : 1,
44660702
DM
11691 "type" : "string"
11692 },
11693 "machine" : {
4d47f125 11694 "description" : "Specifies the Qemu machine type.",
44660702
DM
11695 "maxLength" : 40,
11696 "optional" : 1,
5c1699e5 11697 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
11698 "type" : "string"
11699 },
11700 "memory" : {
11701 "default" : 512,
11702 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11703 "minimum" : 16,
11704 "optional" : 1,
4d47f125 11705 "type" : "integer"
44660702
DM
11706 },
11707 "migrate_downtime" : {
11708 "default" : 0.1,
11709 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11710 "minimum" : 0,
11711 "optional" : 1,
4d47f125 11712 "type" : "number"
44660702
DM
11713 },
11714 "migrate_speed" : {
11715 "default" : 0,
11716 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11717 "minimum" : 0,
11718 "optional" : 1,
4d47f125 11719 "type" : "integer"
44660702
DM
11720 },
11721 "name" : {
11722 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11723 "format" : "dns-name",
11724 "optional" : 1,
4d47f125 11725 "type" : "string"
44660702 11726 },
27a7acb2 11727 "nameserver" : {
4772952b 11728 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
11729 "format" : "address-list",
11730 "optional" : 1,
4d47f125 11731 "type" : "string"
27a7acb2 11732 },
44660702 11733 "net[n]" : {
c2993fe5 11734 "description" : "Specify network devices.",
f004f5b9
DM
11735 "format" : {
11736 "bridge" : {
c2993fe5 11737 "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
11738 "format_description" : "bridge",
11739 "optional" : 1,
c5aa7e14 11740 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
11741 "type" : "string"
11742 },
11743 "e1000" : {
11744 "alias" : "macaddr",
11745 "keyAlias" : "model"
11746 },
11747 "e1000-82540em" : {
11748 "alias" : "macaddr",
11749 "keyAlias" : "model"
11750 },
11751 "e1000-82544gc" : {
11752 "alias" : "macaddr",
11753 "keyAlias" : "model"
11754 },
11755 "e1000-82545em" : {
11756 "alias" : "macaddr",
11757 "keyAlias" : "model"
11758 },
11759 "firewall" : {
11760 "description" : "Whether this interface should be protected by the firewall.",
11761 "optional" : 1,
11762 "type" : "boolean"
11763 },
11764 "i82551" : {
11765 "alias" : "macaddr",
11766 "keyAlias" : "model"
11767 },
11768 "i82557b" : {
11769 "alias" : "macaddr",
11770 "keyAlias" : "model"
11771 },
11772 "i82559er" : {
11773 "alias" : "macaddr",
11774 "keyAlias" : "model"
11775 },
11776 "link_down" : {
c2993fe5 11777 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11778 "optional" : 1,
11779 "type" : "boolean"
11780 },
11781 "macaddr" : {
c2993fe5 11782 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11783 "format" : "mac-addr",
f004f5b9 11784 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11785 "optional" : 1,
95895385
TL
11786 "type" : "string",
11787 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11788 },
11789 "model" : {
11790 "default_key" : 1,
c2993fe5 11791 "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
11792 "enum" : [
11793 "rtl8139",
11794 "ne2k_pci",
11795 "e1000",
11796 "pcnet",
11797 "virtio",
11798 "ne2k_isa",
11799 "i82551",
11800 "i82557b",
11801 "i82559er",
11802 "vmxnet3",
11803 "e1000-82540em",
11804 "e1000-82544gc",
11805 "e1000-82545em"
11806 ],
f004f5b9
DM
11807 "type" : "string"
11808 },
ac70d7d1
TL
11809 "mtu" : {
11810 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
11811 "maximum" : 65520,
11812 "minimum" : 1,
11813 "optional" : 1,
11814 "type" : "integer"
11815 },
f004f5b9
DM
11816 "ne2k_isa" : {
11817 "alias" : "macaddr",
11818 "keyAlias" : "model"
11819 },
11820 "ne2k_pci" : {
11821 "alias" : "macaddr",
11822 "keyAlias" : "model"
11823 },
11824 "pcnet" : {
11825 "alias" : "macaddr",
11826 "keyAlias" : "model"
11827 },
11828 "queues" : {
11829 "description" : "Number of packet queues to be used on the device.",
11830 "maximum" : 16,
11831 "minimum" : 0,
11832 "optional" : 1,
11833 "type" : "integer"
11834 },
11835 "rate" : {
c2993fe5 11836 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11837 "minimum" : 0,
11838 "optional" : 1,
11839 "type" : "number"
11840 },
11841 "rtl8139" : {
11842 "alias" : "macaddr",
11843 "keyAlias" : "model"
11844 },
11845 "tag" : {
11846 "description" : "VLAN tag to apply to packets on this interface.",
11847 "maximum" : 4094,
c2993fe5 11848 "minimum" : 1,
f004f5b9
DM
11849 "optional" : 1,
11850 "type" : "integer"
11851 },
11852 "trunks" : {
11853 "description" : "VLAN trunks to pass through this interface.",
11854 "format_description" : "vlanid[;vlanid...]",
11855 "optional" : 1,
11856 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11857 "type" : "string"
11858 },
11859 "virtio" : {
11860 "alias" : "macaddr",
11861 "keyAlias" : "model"
11862 },
11863 "vmxnet3" : {
11864 "alias" : "macaddr",
11865 "keyAlias" : "model"
11866 }
11867 },
44660702 11868 "optional" : 1,
4d47f125 11869 "type" : "string"
44660702
DM
11870 },
11871 "numa" : {
11872 "default" : 0,
11873 "description" : "Enable/disable NUMA.",
11874 "optional" : 1,
4d47f125 11875 "type" : "boolean"
44660702
DM
11876 },
11877 "numa[n]" : {
c2993fe5 11878 "description" : "NUMA topology.",
56122987 11879 "format" : {
7aacca6f 11880 "cpus" : {
c2993fe5 11881 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11882 "format_description" : "id[-id];...",
11883 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11884 "type" : "string"
7aacca6f
DM
11885 },
11886 "hostnodes" : {
c2993fe5 11887 "description" : "Host NUMA nodes to use.",
44660702 11888 "format_description" : "id[-id];...",
7aacca6f 11889 "optional" : 1,
7aacca6f 11890 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 11891 "type" : "string"
7aacca6f 11892 },
44660702 11893 "memory" : {
c2993fe5 11894 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 11895 "optional" : 1,
44660702
DM
11896 "type" : "number"
11897 },
11898 "policy" : {
c2993fe5 11899 "description" : "NUMA allocation policy.",
7aacca6f
DM
11900 "enum" : [
11901 "preferred",
11902 "bind",
11903 "interleave"
11904 ],
44660702
DM
11905 "optional" : 1,
11906 "type" : "string"
56122987 11907 }
44660702 11908 },
56122987 11909 "optional" : 1,
4d47f125 11910 "type" : "string"
56122987 11911 },
44660702 11912 "onboot" : {
7aacca6f 11913 "default" : 0,
44660702
DM
11914 "description" : "Specifies whether a VM will be started during system bootup.",
11915 "optional" : 1,
4d47f125 11916 "type" : "boolean"
7aacca6f
DM
11917 },
11918 "ostype" : {
c2993fe5 11919 "description" : "Specify guest operating system.",
7aacca6f
DM
11920 "enum" : [
11921 "other",
11922 "wxp",
11923 "w2k",
11924 "w2k3",
11925 "w2k8",
11926 "wvista",
11927 "win7",
11928 "win8",
32d876b5 11929 "win10",
7aacca6f
DM
11930 "l24",
11931 "l26",
11932 "solaris"
11933 ],
7aacca6f 11934 "optional" : 1,
c2993fe5 11935 "type" : "string",
5c1699e5 11936 "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 11937 },
44660702 11938 "parallel[n]" : {
c2993fe5 11939 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11940 "optional" : 1,
44660702 11941 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 11942 "type" : "string",
4772952b 11943 "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\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
11944 },
11945 "protection" : {
11946 "default" : 0,
c2993fe5 11947 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11948 "optional" : 1,
4d47f125 11949 "type" : "boolean"
7aacca6f 11950 },
44660702
DM
11951 "reboot" : {
11952 "default" : 1,
11953 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11954 "optional" : 1,
4d47f125 11955 "type" : "boolean"
44660702 11956 },
c5aa7e14
TL
11957 "rng0" : {
11958 "description" : "Configure a VirtIO-based Random Number Generator.",
11959 "format" : {
11960 "max_bytes" : {
11961 "default" : 1024,
11962 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
11963 "optional" : 1,
11964 "type" : "integer"
11965 },
11966 "period" : {
11967 "default" : 1000,
11968 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
11969 "optional" : 1,
11970 "type" : "integer"
11971 },
11972 "source" : {
11973 "default_key" : 1,
11974 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
11975 "enum" : [
11976 "/dev/urandom",
11977 "/dev/random",
11978 "/dev/hwrng"
11979 ],
11980 "type" : "string"
11981 }
11982 },
11983 "optional" : 1,
11984 "type" : "string"
11985 },
44660702
DM
11986 "sata[n]" : {
11987 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11988 "format" : {
44660702
DM
11989 "aio" : {
11990 "description" : "AIO type to use.",
7aacca6f 11991 "enum" : [
44660702
DM
11992 "native",
11993 "threads"
7aacca6f 11994 ],
44660702
DM
11995 "optional" : 1,
11996 "type" : "string"
7aacca6f 11997 },
44660702
DM
11998 "backup" : {
11999 "description" : "Whether the drive should be included when making backups.",
56122987 12000 "optional" : 1,
7aacca6f 12001 "type" : "boolean"
44660702
DM
12002 },
12003 "bps" : {
de0983cb 12004 "description" : "Maximum r/w speed in bytes per second.",
44660702 12005 "format_description" : "bps",
7aacca6f 12006 "optional" : 1,
44660702 12007 "type" : "integer"
56122987 12008 },
de0983cb
DM
12009 "bps_max_length" : {
12010 "description" : "Maximum length of I/O bursts in seconds.",
12011 "format_description" : "seconds",
12012 "minimum" : 1,
12013 "optional" : 1,
12014 "type" : "integer"
12015 },
44660702 12016 "bps_rd" : {
de0983cb 12017 "description" : "Maximum read speed in bytes per second.",
44660702 12018 "format_description" : "bps",
56122987 12019 "optional" : 1,
44660702 12020 "type" : "integer"
56122987 12021 },
de0983cb 12022 "bps_rd_length" : {
5d9c884c
DM
12023 "alias" : "bps_rd_max_length"
12024 },
12025 "bps_rd_max_length" : {
de0983cb
DM
12026 "description" : "Maximum length of read I/O bursts in seconds.",
12027 "format_description" : "seconds",
12028 "minimum" : 1,
12029 "optional" : 1,
12030 "type" : "integer"
12031 },
44660702 12032 "bps_wr" : {
de0983cb 12033 "description" : "Maximum write speed in bytes per second.",
44660702 12034 "format_description" : "bps",
56122987 12035 "optional" : 1,
44660702 12036 "type" : "integer"
56122987 12037 },
de0983cb 12038 "bps_wr_length" : {
5d9c884c
DM
12039 "alias" : "bps_wr_max_length"
12040 },
12041 "bps_wr_max_length" : {
de0983cb
DM
12042 "description" : "Maximum length of write I/O bursts in seconds.",
12043 "format_description" : "seconds",
12044 "minimum" : 1,
12045 "optional" : 1,
12046 "type" : "integer"
12047 },
56122987 12048 "cache" : {
44660702 12049 "description" : "The drive's cache mode",
56122987
DM
12050 "enum" : [
12051 "none",
12052 "writethrough",
12053 "writeback",
12054 "unsafe",
12055 "directsync"
12056 ],
56122987 12057 "optional" : 1,
44660702 12058 "type" : "string"
56122987 12059 },
44660702
DM
12060 "cyls" : {
12061 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 12062 "optional" : 1,
44660702 12063 "type" : "integer"
7aacca6f
DM
12064 },
12065 "detect_zeroes" : {
12066 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12067 "optional" : 1,
44660702 12068 "type" : "boolean"
56122987 12069 },
44660702
DM
12070 "discard" : {
12071 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12072 "enum" : [
12073 "ignore",
12074 "on"
12075 ],
56122987 12076 "optional" : 1,
44660702 12077 "type" : "string"
7aacca6f 12078 },
44660702
DM
12079 "file" : {
12080 "default_key" : 1,
12081 "description" : "The drive's backing volume.",
12082 "format" : "pve-volume-id-or-qm-path",
12083 "format_description" : "volume",
12084 "type" : "string"
56122987 12085 },
7aacca6f 12086 "format" : {
44660702 12087 "description" : "The drive's backing file's data format.",
7aacca6f
DM
12088 "enum" : [
12089 "raw",
12090 "cow",
12091 "qcow",
12092 "qed",
12093 "qcow2",
12094 "vmdk",
12095 "cloop"
12096 ],
7aacca6f 12097 "optional" : 1,
44660702 12098 "type" : "string"
56122987 12099 },
7aacca6f 12100 "heads" : {
7aacca6f 12101 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12102 "optional" : 1,
7aacca6f 12103 "type" : "integer"
56122987 12104 },
44660702 12105 "iops" : {
de0983cb 12106 "description" : "Maximum r/w I/O in operations per second.",
44660702 12107 "format_description" : "iops",
56122987 12108 "optional" : 1,
44660702 12109 "type" : "integer"
56122987 12110 },
44660702 12111 "iops_max" : {
de0983cb 12112 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12113 "format_description" : "iops",
56122987 12114 "optional" : 1,
44660702 12115 "type" : "integer"
56122987 12116 },
de0983cb
DM
12117 "iops_max_length" : {
12118 "description" : "Maximum length of I/O bursts in seconds.",
12119 "format_description" : "seconds",
12120 "minimum" : 1,
12121 "optional" : 1,
12122 "type" : "integer"
12123 },
44660702 12124 "iops_rd" : {
de0983cb 12125 "description" : "Maximum read I/O in operations per second.",
44660702 12126 "format_description" : "iops",
7aacca6f 12127 "optional" : 1,
44660702 12128 "type" : "integer"
56122987 12129 },
de0983cb 12130 "iops_rd_length" : {
5d9c884c 12131 "alias" : "iops_rd_max_length"
de0983cb 12132 },
44660702 12133 "iops_rd_max" : {
de0983cb 12134 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12135 "format_description" : "iops",
56122987 12136 "optional" : 1,
44660702 12137 "type" : "integer"
7aacca6f 12138 },
5d9c884c
DM
12139 "iops_rd_max_length" : {
12140 "description" : "Maximum length of read I/O bursts in seconds.",
12141 "format_description" : "seconds",
12142 "minimum" : 1,
12143 "optional" : 1,
12144 "type" : "integer"
12145 },
44660702 12146 "iops_wr" : {
de0983cb 12147 "description" : "Maximum write I/O in operations per second.",
44660702 12148 "format_description" : "iops",
56122987 12149 "optional" : 1,
44660702 12150 "type" : "integer"
56122987 12151 },
de0983cb 12152 "iops_wr_length" : {
5d9c884c 12153 "alias" : "iops_wr_max_length"
de0983cb 12154 },
56122987 12155 "iops_wr_max" : {
de0983cb 12156 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12157 "format_description" : "iops",
56122987 12158 "optional" : 1,
44660702 12159 "type" : "integer"
56122987 12160 },
5d9c884c
DM
12161 "iops_wr_max_length" : {
12162 "description" : "Maximum length of write I/O bursts in seconds.",
12163 "format_description" : "seconds",
12164 "minimum" : 1,
12165 "optional" : 1,
12166 "type" : "integer"
12167 },
44660702 12168 "mbps" : {
de0983cb 12169 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12170 "format_description" : "mbps",
56122987 12171 "optional" : 1,
44660702 12172 "type" : "number"
56122987 12173 },
44660702 12174 "mbps_max" : {
de0983cb 12175 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12176 "format_description" : "mbps",
12177 "optional" : 1,
12178 "type" : "number"
56122987 12179 },
44660702 12180 "mbps_rd" : {
de0983cb 12181 "description" : "Maximum read speed in megabytes per second.",
44660702 12182 "format_description" : "mbps",
56122987 12183 "optional" : 1,
44660702 12184 "type" : "number"
56122987 12185 },
44660702 12186 "mbps_rd_max" : {
de0983cb 12187 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12188 "format_description" : "mbps",
56122987 12189 "optional" : 1,
44660702 12190 "type" : "number"
56122987 12191 },
44660702 12192 "mbps_wr" : {
de0983cb 12193 "description" : "Maximum write speed in megabytes per second.",
56122987 12194 "format_description" : "mbps",
44660702
DM
12195 "optional" : 1,
12196 "type" : "number"
56122987 12197 },
44660702 12198 "mbps_wr_max" : {
de0983cb 12199 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12200 "format_description" : "mbps",
12201 "optional" : 1,
12202 "type" : "number"
7aacca6f 12203 },
44660702
DM
12204 "media" : {
12205 "default" : "disk",
12206 "description" : "The drive's media type.",
12207 "enum" : [
12208 "cdrom",
12209 "disk"
12210 ],
56122987 12211 "optional" : 1,
44660702
DM
12212 "type" : "string"
12213 },
5d9c884c
DM
12214 "replicate" : {
12215 "default" : 1,
12216 "description" : "Whether the drive should considered for replication jobs.",
12217 "optional" : 1,
12218 "type" : "boolean"
12219 },
44660702
DM
12220 "rerror" : {
12221 "description" : "Read error action.",
7aacca6f 12222 "enum" : [
44660702
DM
12223 "ignore",
12224 "report",
12225 "stop"
12226 ],
7aacca6f 12227 "optional" : 1,
44660702 12228 "type" : "string"
56122987 12229 },
44660702
DM
12230 "secs" : {
12231 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12232 "optional" : 1,
44660702 12233 "type" : "integer"
56122987 12234 },
44660702
DM
12235 "serial" : {
12236 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12237 "format" : "urlencoded",
12238 "format_description" : "serial",
12239 "maxLength" : 60,
56122987 12240 "optional" : 1,
44660702 12241 "type" : "string"
56122987 12242 },
27a7acb2
DM
12243 "shared" : {
12244 "default" : 0,
12245 "description" : "Mark this locally-managed volume as available on all nodes",
12246 "optional" : 1,
12247 "type" : "boolean",
12248 "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!"
12249 },
44660702
DM
12250 "size" : {
12251 "description" : "Disk size. This is purely informational and has no effect.",
12252 "format" : "disk-size",
f004f5b9 12253 "format_description" : "DiskSize",
44660702
DM
12254 "optional" : 1,
12255 "type" : "string"
12256 },
12257 "snapshot" : {
27a7acb2 12258 "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 12259 "optional" : 1,
44660702
DM
12260 "type" : "boolean"
12261 },
25203dc1
NC
12262 "ssd" : {
12263 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12264 "optional" : 1,
12265 "type" : "boolean"
12266 },
44660702
DM
12267 "trans" : {
12268 "description" : "Force disk geometry bios translation mode.",
56122987 12269 "enum" : [
7aacca6f
DM
12270 "none",
12271 "lba",
12272 "auto"
56122987 12273 ],
44660702
DM
12274 "optional" : 1,
12275 "type" : "string"
56122987 12276 },
7aacca6f
DM
12277 "volume" : {
12278 "alias" : "file"
56122987 12279 },
44660702
DM
12280 "werror" : {
12281 "description" : "Write error action.",
12282 "enum" : [
12283 "enospc",
12284 "ignore",
12285 "report",
12286 "stop"
12287 ],
7aacca6f 12288 "optional" : 1,
44660702 12289 "type" : "string"
95895385
TL
12290 },
12291 "wwn" : {
12292 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12293 "format_description" : "wwn",
12294 "optional" : 1,
12295 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12296 "type" : "string"
44660702
DM
12297 }
12298 },
12299 "optional" : 1,
4d47f125 12300 "type" : "string"
44660702
DM
12301 },
12302 "scsi[n]" : {
e9cd3bd4 12303 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702 12304 "format" : {
56122987 12305 "aio" : {
56122987
DM
12306 "description" : "AIO type to use.",
12307 "enum" : [
12308 "native",
12309 "threads"
12310 ],
7aacca6f 12311 "optional" : 1,
44660702 12312 "type" : "string"
56122987 12313 },
44660702
DM
12314 "backup" : {
12315 "description" : "Whether the drive should be included when making backups.",
56122987 12316 "optional" : 1,
44660702 12317 "type" : "boolean"
56122987 12318 },
44660702 12319 "bps" : {
de0983cb 12320 "description" : "Maximum r/w speed in bytes per second.",
44660702 12321 "format_description" : "bps",
56122987 12322 "optional" : 1,
44660702 12323 "type" : "integer"
56122987 12324 },
de0983cb
DM
12325 "bps_max_length" : {
12326 "description" : "Maximum length of I/O bursts in seconds.",
12327 "format_description" : "seconds",
12328 "minimum" : 1,
12329 "optional" : 1,
12330 "type" : "integer"
12331 },
44660702 12332 "bps_rd" : {
de0983cb 12333 "description" : "Maximum read speed in bytes per second.",
44660702 12334 "format_description" : "bps",
56122987 12335 "optional" : 1,
44660702 12336 "type" : "integer"
56122987 12337 },
de0983cb 12338 "bps_rd_length" : {
5d9c884c
DM
12339 "alias" : "bps_rd_max_length"
12340 },
12341 "bps_rd_max_length" : {
de0983cb
DM
12342 "description" : "Maximum length of read I/O bursts in seconds.",
12343 "format_description" : "seconds",
12344 "minimum" : 1,
12345 "optional" : 1,
12346 "type" : "integer"
12347 },
7aacca6f 12348 "bps_wr" : {
de0983cb 12349 "description" : "Maximum write speed in bytes per second.",
7aacca6f 12350 "format_description" : "bps",
56122987 12351 "optional" : 1,
44660702 12352 "type" : "integer"
56122987 12353 },
de0983cb 12354 "bps_wr_length" : {
5d9c884c
DM
12355 "alias" : "bps_wr_max_length"
12356 },
12357 "bps_wr_max_length" : {
de0983cb
DM
12358 "description" : "Maximum length of write I/O bursts in seconds.",
12359 "format_description" : "seconds",
12360 "minimum" : 1,
12361 "optional" : 1,
12362 "type" : "integer"
12363 },
44660702
DM
12364 "cache" : {
12365 "description" : "The drive's cache mode",
7aacca6f 12366 "enum" : [
44660702
DM
12367 "none",
12368 "writethrough",
12369 "writeback",
12370 "unsafe",
12371 "directsync"
7aacca6f 12372 ],
56122987 12373 "optional" : 1,
44660702 12374 "type" : "string"
56122987 12375 },
44660702
DM
12376 "cyls" : {
12377 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 12378 "optional" : 1,
44660702 12379 "type" : "integer"
56122987 12380 },
44660702
DM
12381 "detect_zeroes" : {
12382 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12383 "optional" : 1,
44660702 12384 "type" : "boolean"
56122987 12385 },
44660702
DM
12386 "discard" : {
12387 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12388 "enum" : [
12389 "ignore",
12390 "on"
12391 ],
7aacca6f 12392 "optional" : 1,
44660702 12393 "type" : "string"
56122987 12394 },
44660702
DM
12395 "file" : {
12396 "default_key" : 1,
12397 "description" : "The drive's backing volume.",
12398 "format" : "pve-volume-id-or-qm-path",
12399 "format_description" : "volume",
12400 "type" : "string"
56122987 12401 },
7aacca6f 12402 "format" : {
44660702 12403 "description" : "The drive's backing file's data format.",
56122987 12404 "enum" : [
7aacca6f
DM
12405 "raw",
12406 "cow",
12407 "qcow",
12408 "qed",
12409 "qcow2",
12410 "vmdk",
12411 "cloop"
12412 ],
44660702
DM
12413 "optional" : 1,
12414 "type" : "string"
56122987 12415 },
44660702
DM
12416 "heads" : {
12417 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12418 "optional" : 1,
7aacca6f 12419 "type" : "integer"
56122987 12420 },
44660702 12421 "iops" : {
de0983cb 12422 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12423 "format_description" : "iops",
44660702
DM
12424 "optional" : 1,
12425 "type" : "integer"
7aacca6f 12426 },
44660702 12427 "iops_max" : {
de0983cb 12428 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12429 "format_description" : "iops",
56122987 12430 "optional" : 1,
44660702 12431 "type" : "integer"
7aacca6f 12432 },
de0983cb
DM
12433 "iops_max_length" : {
12434 "description" : "Maximum length of I/O bursts in seconds.",
12435 "format_description" : "seconds",
12436 "minimum" : 1,
12437 "optional" : 1,
12438 "type" : "integer"
12439 },
44660702 12440 "iops_rd" : {
de0983cb 12441 "description" : "Maximum read I/O in operations per second.",
44660702 12442 "format_description" : "iops",
7aacca6f 12443 "optional" : 1,
44660702 12444 "type" : "integer"
56122987 12445 },
de0983cb 12446 "iops_rd_length" : {
5d9c884c 12447 "alias" : "iops_rd_max_length"
de0983cb 12448 },
44660702 12449 "iops_rd_max" : {
de0983cb 12450 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12451 "format_description" : "iops",
12452 "optional" : 1,
12453 "type" : "integer"
12454 },
5d9c884c
DM
12455 "iops_rd_max_length" : {
12456 "description" : "Maximum length of read I/O bursts in seconds.",
12457 "format_description" : "seconds",
12458 "minimum" : 1,
12459 "optional" : 1,
12460 "type" : "integer"
12461 },
44660702 12462 "iops_wr" : {
de0983cb 12463 "description" : "Maximum write I/O in operations per second.",
44660702 12464 "format_description" : "iops",
56122987 12465 "optional" : 1,
44660702
DM
12466 "type" : "integer"
12467 },
de0983cb 12468 "iops_wr_length" : {
5d9c884c 12469 "alias" : "iops_wr_max_length"
de0983cb 12470 },
44660702 12471 "iops_wr_max" : {
de0983cb 12472 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12473 "format_description" : "iops",
12474 "optional" : 1,
12475 "type" : "integer"
56122987 12476 },
5d9c884c
DM
12477 "iops_wr_max_length" : {
12478 "description" : "Maximum length of write I/O bursts in seconds.",
12479 "format_description" : "seconds",
12480 "minimum" : 1,
12481 "optional" : 1,
12482 "type" : "integer"
12483 },
7aacca6f 12484 "iothread" : {
7aacca6f 12485 "description" : "Whether to use iothreads for this drive",
56122987 12486 "optional" : 1,
56122987
DM
12487 "type" : "boolean"
12488 },
44660702 12489 "mbps" : {
de0983cb 12490 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12491 "format_description" : "mbps",
12492 "optional" : 1,
12493 "type" : "number"
12494 },
12495 "mbps_max" : {
de0983cb 12496 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12497 "format_description" : "mbps",
12498 "optional" : 1,
12499 "type" : "number"
12500 },
12501 "mbps_rd" : {
de0983cb 12502 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12503 "format_description" : "mbps",
12504 "optional" : 1,
12505 "type" : "number"
12506 },
12507 "mbps_rd_max" : {
de0983cb 12508 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12509 "format_description" : "mbps",
12510 "optional" : 1,
12511 "type" : "number"
12512 },
12513 "mbps_wr" : {
de0983cb 12514 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12515 "format_description" : "mbps",
12516 "optional" : 1,
12517 "type" : "number"
12518 },
12519 "mbps_wr_max" : {
de0983cb 12520 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12521 "format_description" : "mbps",
12522 "optional" : 1,
12523 "type" : "number"
12524 },
7aacca6f 12525 "media" : {
44660702
DM
12526 "default" : "disk",
12527 "description" : "The drive's media type.",
7aacca6f
DM
12528 "enum" : [
12529 "cdrom",
12530 "disk"
12531 ],
56122987 12532 "optional" : 1,
44660702
DM
12533 "type" : "string"
12534 },
12535 "queues" : {
12536 "description" : "Number of queues.",
44660702
DM
12537 "minimum" : 2,
12538 "optional" : 1,
12539 "type" : "integer"
12540 },
5d9c884c
DM
12541 "replicate" : {
12542 "default" : 1,
12543 "description" : "Whether the drive should considered for replication jobs.",
12544 "optional" : 1,
12545 "type" : "boolean"
12546 },
12547 "rerror" : {
12548 "description" : "Read error action.",
12549 "enum" : [
12550 "ignore",
12551 "report",
12552 "stop"
12553 ],
12554 "optional" : 1,
12555 "type" : "string"
12556 },
52e44c50
FG
12557 "scsiblock" : {
12558 "default" : 0,
12559 "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",
12560 "optional" : 1,
12561 "type" : "boolean"
12562 },
44660702
DM
12563 "secs" : {
12564 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12565 "optional" : 1,
12566 "type" : "integer"
12567 },
12568 "serial" : {
12569 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12570 "format" : "urlencoded",
12571 "format_description" : "serial",
12572 "maxLength" : 60,
12573 "optional" : 1,
12574 "type" : "string"
12575 },
27a7acb2
DM
12576 "shared" : {
12577 "default" : 0,
12578 "description" : "Mark this locally-managed volume as available on all nodes",
12579 "optional" : 1,
12580 "type" : "boolean",
12581 "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!"
12582 },
44660702
DM
12583 "size" : {
12584 "description" : "Disk size. This is purely informational and has no effect.",
12585 "format" : "disk-size",
f004f5b9 12586 "format_description" : "DiskSize",
44660702
DM
12587 "optional" : 1,
12588 "type" : "string"
56122987 12589 },
7aacca6f 12590 "snapshot" : {
27a7acb2 12591 "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 12592 "optional" : 1,
44660702 12593 "type" : "boolean"
7aacca6f 12594 },
25203dc1
NC
12595 "ssd" : {
12596 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12597 "optional" : 1,
12598 "type" : "boolean"
12599 },
44660702
DM
12600 "trans" : {
12601 "description" : "Force disk geometry bios translation mode.",
12602 "enum" : [
12603 "none",
12604 "lba",
12605 "auto"
12606 ],
44660702
DM
12607 "optional" : 1,
12608 "type" : "string"
12609 },
12610 "volume" : {
12611 "alias" : "file"
12612 },
12613 "werror" : {
12614 "description" : "Write error action.",
12615 "enum" : [
12616 "enospc",
12617 "ignore",
12618 "report",
12619 "stop"
12620 ],
56122987 12621 "optional" : 1,
44660702 12622 "type" : "string"
95895385
TL
12623 },
12624 "wwn" : {
12625 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12626 "format_description" : "wwn",
12627 "optional" : 1,
12628 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12629 "type" : "string"
56122987 12630 }
44660702 12631 },
7aacca6f 12632 "optional" : 1,
4d47f125 12633 "type" : "string"
44660702
DM
12634 },
12635 "scsihw" : {
12636 "default" : "lsi",
c2993fe5 12637 "description" : "SCSI controller model",
7aacca6f 12638 "enum" : [
44660702
DM
12639 "lsi",
12640 "lsi53c810",
12641 "virtio-scsi-pci",
12642 "virtio-scsi-single",
12643 "megasas",
12644 "pvscsi"
7aacca6f 12645 ],
44660702
DM
12646 "optional" : 1,
12647 "type" : "string"
56122987 12648 },
27a7acb2 12649 "searchdomain" : {
4772952b 12650 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2 12651 "optional" : 1,
4d47f125 12652 "type" : "string"
27a7acb2 12653 },
44660702 12654 "serial[n]" : {
c2993fe5 12655 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 12656 "optional" : 1,
44660702 12657 "pattern" : "(/dev/.+|socket)",
c2993fe5 12658 "type" : "string",
4772952b 12659 "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 -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 12660 },
44660702
DM
12661 "shares" : {
12662 "default" : 1000,
5da3d723 12663 "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
12664 "maximum" : 50000,
12665 "minimum" : 0,
56122987 12666 "optional" : 1,
4d47f125 12667 "type" : "integer"
56122987 12668 },
44660702
DM
12669 "smbios1" : {
12670 "description" : "Specify SMBIOS type 1 fields.",
12671 "format" : "pve-qm-smbios1",
1e3f8156 12672 "maxLength" : 512,
56122987 12673 "optional" : 1,
4d47f125 12674 "type" : "string"
56122987 12675 },
44660702
DM
12676 "smp" : {
12677 "default" : 1,
12678 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 12679 "minimum" : 1,
7aacca6f 12680 "optional" : 1,
4d47f125 12681 "type" : "integer"
7aacca6f 12682 },
44660702
DM
12683 "sockets" : {
12684 "default" : 1,
12685 "description" : "The number of CPU sockets.",
12686 "minimum" : 1,
7aacca6f 12687 "optional" : 1,
4d47f125 12688 "type" : "integer"
56122987 12689 },
1c532546
TL
12690 "spice_enhancements" : {
12691 "description" : "Configure additional enhancements for SPICE.",
12692 "format" : {
12693 "foldersharing" : {
12694 "default" : "0",
12695 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
12696 "optional" : 1,
12697 "type" : "boolean"
12698 },
12699 "videostreaming" : {
12700 "default" : "off",
12701 "description" : "Enable video streaming. Uses compression for detected video streams.",
12702 "enum" : [
12703 "off",
12704 "all",
12705 "filter"
12706 ],
12707 "optional" : 1,
12708 "type" : "string"
12709 }
12710 },
12711 "optional" : 1,
12712 "type" : "string"
12713 },
27a7acb2
DM
12714 "sshkeys" : {
12715 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12716 "format" : "urlencoded",
12717 "optional" : 1,
4d47f125 12718 "type" : "string"
27a7acb2 12719 },
44660702
DM
12720 "startdate" : {
12721 "default" : "now",
4772952b 12722 "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 12723 "optional" : 1,
44660702 12724 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12725 "type" : "string",
44660702 12726 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 12727 },
7aacca6f 12728 "startup" : {
7aacca6f 12729 "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 12730 "format" : "pve-startup-order",
56122987 12731 "optional" : 1,
44660702
DM
12732 "type" : "string",
12733 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 12734 },
44660702 12735 "tablet" : {
7aacca6f 12736 "default" : 1,
c2993fe5 12737 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12738 "optional" : 1,
c2993fe5 12739 "type" : "boolean",
4772952b 12740 "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 (`qm set <vmid> --vga qxl`)."
56122987 12741 },
5c1699e5
TL
12742 "tags" : {
12743 "description" : "Tags of the VM. This is only meta information.",
12744 "format" : "pve-tag-list",
12745 "optional" : 1,
12746 "type" : "string"
12747 },
44660702
DM
12748 "tdf" : {
12749 "default" : 0,
12750 "description" : "Enable/disable time drift fix.",
7aacca6f 12751 "optional" : 1,
4d47f125 12752 "type" : "boolean"
7aacca6f 12753 },
44660702
DM
12754 "template" : {
12755 "default" : 0,
12756 "description" : "Enable/disable Template.",
7aacca6f 12757 "optional" : 1,
4d47f125 12758 "type" : "boolean"
7aacca6f 12759 },
44660702 12760 "unused[n]" : {
c2993fe5 12761 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
12762 "format" : {
12763 "file" : {
12764 "default_key" : 1,
12765 "description" : "The drive's backing volume.",
12766 "format" : "pve-volume-id",
12767 "format_description" : "volume",
12768 "type" : "string"
12769 },
12770 "volume" : {
12771 "alias" : "file"
12772 }
12773 },
7aacca6f 12774 "optional" : 1,
4d47f125 12775 "type" : "string"
7aacca6f 12776 },
44660702 12777 "usb[n]" : {
c2993fe5 12778 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
12779 "format" : {
12780 "host" : {
12781 "default_key" : 1,
4772952b 12782 "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\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
12783 "format" : "pve-qm-usb-device",
12784 "format_description" : "HOSTUSBDEVICE|spice",
12785 "type" : "string"
12786 },
12787 "usb3" : {
c2993fe5 12788 "default" : 0,
1c532546 12789 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
12790 "optional" : 1,
12791 "type" : "boolean"
12792 }
12793 },
7aacca6f 12794 "optional" : 1,
4d47f125 12795 "type" : "string"
56122987 12796 },
44660702
DM
12797 "vcpus" : {
12798 "default" : 0,
12799 "description" : "Number of hotplugged vcpus.",
12800 "minimum" : 1,
56122987 12801 "optional" : 1,
4d47f125 12802 "type" : "integer"
56122987 12803 },
44660702 12804 "vga" : {
e2d681b3
TL
12805 "description" : "Configure the VGA hardware.",
12806 "format" : {
12807 "memory" : {
12808 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12809 "maximum" : 512,
12810 "minimum" : 4,
12811 "optional" : 1,
12812 "type" : "integer"
12813 },
12814 "type" : {
12815 "default" : "std",
12816 "default_key" : 1,
12817 "description" : "Select the VGA type.",
12818 "enum" : [
12819 "cirrus",
12820 "qxl",
12821 "qxl2",
12822 "qxl3",
12823 "qxl4",
5f26e15b 12824 "none",
e2d681b3
TL
12825 "serial0",
12826 "serial1",
12827 "serial2",
12828 "serial3",
12829 "std",
12830 "virtio",
12831 "vmware"
12832 ],
12833 "optional" : 1,
12834 "type" : "string"
12835 }
12836 },
56122987 12837 "optional" : 1,
c2993fe5 12838 "type" : "string",
e2d681b3 12839 "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 12840 },
44660702
DM
12841 "virtio[n]" : {
12842 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 12843 "format" : {
44660702
DM
12844 "aio" : {
12845 "description" : "AIO type to use.",
56122987 12846 "enum" : [
44660702
DM
12847 "native",
12848 "threads"
56122987 12849 ],
56122987
DM
12850 "optional" : 1,
12851 "type" : "string"
12852 },
44660702
DM
12853 "backup" : {
12854 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12855 "optional" : 1,
12856 "type" : "boolean"
7aacca6f 12857 },
44660702 12858 "bps" : {
de0983cb 12859 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12860 "format_description" : "bps",
12861 "optional" : 1,
12862 "type" : "integer"
56122987 12863 },
de0983cb
DM
12864 "bps_max_length" : {
12865 "description" : "Maximum length of I/O bursts in seconds.",
12866 "format_description" : "seconds",
12867 "minimum" : 1,
12868 "optional" : 1,
12869 "type" : "integer"
12870 },
44660702 12871 "bps_rd" : {
de0983cb 12872 "description" : "Maximum read speed in bytes per second.",
44660702 12873 "format_description" : "bps",
56122987 12874 "optional" : 1,
44660702 12875 "type" : "integer"
56122987 12876 },
de0983cb 12877 "bps_rd_length" : {
5d9c884c
DM
12878 "alias" : "bps_rd_max_length"
12879 },
12880 "bps_rd_max_length" : {
de0983cb
DM
12881 "description" : "Maximum length of read I/O bursts in seconds.",
12882 "format_description" : "seconds",
12883 "minimum" : 1,
12884 "optional" : 1,
12885 "type" : "integer"
12886 },
44660702 12887 "bps_wr" : {
de0983cb 12888 "description" : "Maximum write speed in bytes per second.",
44660702 12889 "format_description" : "bps",
56122987 12890 "optional" : 1,
44660702
DM
12891 "type" : "integer"
12892 },
de0983cb 12893 "bps_wr_length" : {
5d9c884c
DM
12894 "alias" : "bps_wr_max_length"
12895 },
12896 "bps_wr_max_length" : {
de0983cb
DM
12897 "description" : "Maximum length of write I/O bursts in seconds.",
12898 "format_description" : "seconds",
12899 "minimum" : 1,
12900 "optional" : 1,
12901 "type" : "integer"
12902 },
44660702
DM
12903 "cache" : {
12904 "description" : "The drive's cache mode",
56122987 12905 "enum" : [
44660702
DM
12906 "none",
12907 "writethrough",
12908 "writeback",
12909 "unsafe",
12910 "directsync"
56122987 12911 ],
56122987 12912 "optional" : 1,
44660702 12913 "type" : "string"
56122987 12914 },
44660702
DM
12915 "cyls" : {
12916 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12917 "optional" : 1,
44660702 12918 "type" : "integer"
7aacca6f 12919 },
44660702
DM
12920 "detect_zeroes" : {
12921 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12922 "optional" : 1,
12923 "type" : "boolean"
7aacca6f 12924 },
44660702
DM
12925 "discard" : {
12926 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12927 "enum" : [
12928 "ignore",
12929 "on"
12930 ],
56122987 12931 "optional" : 1,
44660702 12932 "type" : "string"
56122987
DM
12933 },
12934 "file" : {
7aacca6f 12935 "default_key" : 1,
44660702 12936 "description" : "The drive's backing volume.",
7aacca6f 12937 "format" : "pve-volume-id-or-qm-path",
44660702
DM
12938 "format_description" : "volume",
12939 "type" : "string"
7aacca6f
DM
12940 },
12941 "format" : {
7aacca6f
DM
12942 "description" : "The drive's backing file's data format.",
12943 "enum" : [
12944 "raw",
12945 "cow",
12946 "qcow",
12947 "qed",
12948 "qcow2",
12949 "vmdk",
12950 "cloop"
56122987
DM
12951 ],
12952 "optional" : 1,
56122987
DM
12953 "type" : "string"
12954 },
44660702
DM
12955 "heads" : {
12956 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12957 "optional" : 1,
44660702 12958 "type" : "integer"
56122987 12959 },
44660702 12960 "iops" : {
de0983cb 12961 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12962 "format_description" : "iops",
56122987 12963 "optional" : 1,
44660702 12964 "type" : "integer"
56122987 12965 },
44660702 12966 "iops_max" : {
de0983cb 12967 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12968 "format_description" : "iops",
56122987 12969 "optional" : 1,
56122987
DM
12970 "type" : "integer"
12971 },
de0983cb
DM
12972 "iops_max_length" : {
12973 "description" : "Maximum length of I/O bursts in seconds.",
12974 "format_description" : "seconds",
12975 "minimum" : 1,
12976 "optional" : 1,
12977 "type" : "integer"
12978 },
44660702 12979 "iops_rd" : {
de0983cb 12980 "description" : "Maximum read I/O in operations per second.",
44660702 12981 "format_description" : "iops",
56122987 12982 "optional" : 1,
44660702 12983 "type" : "integer"
56122987 12984 },
de0983cb 12985 "iops_rd_length" : {
5d9c884c 12986 "alias" : "iops_rd_max_length"
de0983cb 12987 },
44660702 12988 "iops_rd_max" : {
de0983cb 12989 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12990 "format_description" : "iops",
7aacca6f 12991 "optional" : 1,
44660702 12992 "type" : "integer"
56122987 12993 },
5d9c884c
DM
12994 "iops_rd_max_length" : {
12995 "description" : "Maximum length of read I/O bursts in seconds.",
12996 "format_description" : "seconds",
12997 "minimum" : 1,
12998 "optional" : 1,
12999 "type" : "integer"
13000 },
44660702 13001 "iops_wr" : {
de0983cb 13002 "description" : "Maximum write I/O in operations per second.",
44660702 13003 "format_description" : "iops",
7aacca6f 13004 "optional" : 1,
44660702 13005 "type" : "integer"
56122987 13006 },
de0983cb 13007 "iops_wr_length" : {
5d9c884c 13008 "alias" : "iops_wr_max_length"
de0983cb 13009 },
44660702 13010 "iops_wr_max" : {
de0983cb 13011 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13012 "format_description" : "iops",
56122987
DM
13013 "optional" : 1,
13014 "type" : "integer"
13015 },
5d9c884c
DM
13016 "iops_wr_max_length" : {
13017 "description" : "Maximum length of write I/O bursts in seconds.",
13018 "format_description" : "seconds",
13019 "minimum" : 1,
13020 "optional" : 1,
13021 "type" : "integer"
13022 },
44660702
DM
13023 "iothread" : {
13024 "description" : "Whether to use iothreads for this drive",
44660702
DM
13025 "optional" : 1,
13026 "type" : "boolean"
13027 },
13028 "mbps" : {
de0983cb 13029 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 13030 "format_description" : "mbps",
44660702
DM
13031 "optional" : 1,
13032 "type" : "number"
13033 },
13034 "mbps_max" : {
de0983cb 13035 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13036 "format_description" : "mbps",
13037 "optional" : 1,
13038 "type" : "number"
7aacca6f 13039 },
44660702 13040 "mbps_rd" : {
de0983cb 13041 "description" : "Maximum read speed in megabytes per second.",
44660702 13042 "format_description" : "mbps",
56122987 13043 "optional" : 1,
44660702 13044 "type" : "number"
56122987 13045 },
44660702 13046 "mbps_rd_max" : {
de0983cb 13047 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13048 "format_description" : "mbps",
7aacca6f 13049 "optional" : 1,
44660702 13050 "type" : "number"
56122987 13051 },
44660702 13052 "mbps_wr" : {
de0983cb 13053 "description" : "Maximum write speed in megabytes per second.",
44660702 13054 "format_description" : "mbps",
56122987 13055 "optional" : 1,
44660702 13056 "type" : "number"
56122987 13057 },
44660702 13058 "mbps_wr_max" : {
de0983cb 13059 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 13060 "format_description" : "mbps",
56122987 13061 "optional" : 1,
44660702 13062 "type" : "number"
56122987
DM
13063 },
13064 "media" : {
7aacca6f 13065 "default" : "disk",
44660702 13066 "description" : "The drive's media type.",
56122987
DM
13067 "enum" : [
13068 "cdrom",
13069 "disk"
13070 ],
44660702
DM
13071 "optional" : 1,
13072 "type" : "string"
56122987 13073 },
5d9c884c
DM
13074 "replicate" : {
13075 "default" : 1,
13076 "description" : "Whether the drive should considered for replication jobs.",
13077 "optional" : 1,
13078 "type" : "boolean"
13079 },
7aacca6f 13080 "rerror" : {
44660702 13081 "description" : "Read error action.",
56122987 13082 "enum" : [
7aacca6f
DM
13083 "ignore",
13084 "report",
13085 "stop"
56122987 13086 ],
56122987 13087 "optional" : 1,
44660702 13088 "type" : "string"
56122987 13089 },
44660702
DM
13090 "secs" : {
13091 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13092 "optional" : 1,
13093 "type" : "integer"
13094 },
13095 "serial" : {
13096 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13097 "format" : "urlencoded",
13098 "format_description" : "serial",
13099 "maxLength" : 60,
56122987 13100 "optional" : 1,
7aacca6f 13101 "type" : "string"
56122987 13102 },
27a7acb2
DM
13103 "shared" : {
13104 "default" : 0,
13105 "description" : "Mark this locally-managed volume as available on all nodes",
13106 "optional" : 1,
13107 "type" : "boolean",
13108 "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!"
13109 },
44660702
DM
13110 "size" : {
13111 "description" : "Disk size. This is purely informational and has no effect.",
13112 "format" : "disk-size",
f004f5b9 13113 "format_description" : "DiskSize",
56122987 13114 "optional" : 1,
44660702 13115 "type" : "string"
56122987 13116 },
44660702 13117 "snapshot" : {
27a7acb2 13118 "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 13119 "optional" : 1,
44660702 13120 "type" : "boolean"
56122987 13121 },
44660702
DM
13122 "trans" : {
13123 "description" : "Force disk geometry bios translation mode.",
13124 "enum" : [
13125 "none",
13126 "lba",
13127 "auto"
13128 ],
44660702
DM
13129 "optional" : 1,
13130 "type" : "string"
13131 },
13132 "volume" : {
13133 "alias" : "file"
13134 },
13135 "werror" : {
13136 "description" : "Write error action.",
13137 "enum" : [
13138 "enospc",
13139 "ignore",
13140 "report",
13141 "stop"
13142 ],
56122987 13143 "optional" : 1,
44660702 13144 "type" : "string"
56122987 13145 }
44660702 13146 },
56122987 13147 "optional" : 1,
4d47f125 13148 "type" : "string"
56122987 13149 },
4d47f125
TL
13150 "vmgenid" : {
13151 "default" : "1 (autogenerated)",
13152 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
13153 "format_description" : "UUID",
13154 "optional" : 1,
13155 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
13156 "type" : "string",
4772952b 13157 "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 through API/CLI create or update methods, but not when manually editing the config file."
56122987 13158 },
2489d6df
WB
13159 "vmstatestorage" : {
13160 "description" : "Default storage for VM state volumes/files.",
13161 "format" : "pve-storage-id",
13162 "optional" : 1,
4d47f125 13163 "type" : "string"
2489d6df 13164 },
44660702 13165 "watchdog" : {
c2993fe5 13166 "description" : "Create a virtual hardware watchdog device.",
44660702 13167 "format" : "pve-qm-watchdog",
56122987 13168 "optional" : 1,
c2993fe5
DM
13169 "type" : "string",
13170 "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 13171 }
4d47f125
TL
13172 },
13173 "type" : "object"
44660702 13174 }
56122987 13175 },
4d47f125 13176 "POST" : {
e9cd3bd4 13177 "allowtoken" : 1,
4d47f125
TL
13178 "description" : "Set virtual machine options (asynchrounous API).",
13179 "method" : "POST",
13180 "name" : "update_vm_async",
56122987 13181 "parameters" : {
7aacca6f 13182 "additionalProperties" : 0,
56122987 13183 "properties" : {
44660702
DM
13184 "acpi" : {
13185 "default" : 1,
13186 "description" : "Enable/disable ACPI.",
7aacca6f 13187 "optional" : 1,
013dc89f
DM
13188 "type" : "boolean",
13189 "typetext" : "<boolean>"
7aacca6f 13190 },
44660702 13191 "agent" : {
4d47f125
TL
13192 "description" : "Enable/disable Qemu GuestAgent and its properties.",
13193 "format" : {
13194 "enabled" : {
13195 "default" : 0,
13196 "default_key" : 1,
13197 "description" : "Enable/disable Qemu GuestAgent.",
13198 "type" : "boolean"
13199 },
13200 "fstrim_cloned_disks" : {
13201 "default" : 0,
13202 "description" : "Run fstrim after cloning/moving a disk.",
13203 "optional" : 1,
13204 "type" : "boolean"
5c1699e5
TL
13205 },
13206 "type" : {
13207 "default" : "virtio",
13208 "description" : "Select the agent type",
13209 "enum" : [
13210 "virtio",
13211 "isa"
13212 ],
13213 "optional" : 1,
13214 "type" : "string"
4d47f125
TL
13215 }
13216 },
7aacca6f 13217 "optional" : 1,
4d47f125 13218 "type" : "string",
5c1699e5 13219 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 13220 },
e2d681b3
TL
13221 "arch" : {
13222 "description" : "Virtual processor architecture. Defaults to the host.",
13223 "enum" : [
13224 "x86_64",
13225 "aarch64"
13226 ],
13227 "optional" : 1,
13228 "type" : "string"
13229 },
44660702 13230 "args" : {
c2993fe5 13231 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 13232 "optional" : 1,
c2993fe5 13233 "type" : "string",
013dc89f 13234 "typetext" : "<string>",
c2993fe5 13235 "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 13236 },
1c532546
TL
13237 "audio0" : {
13238 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
13239 "format" : {
13240 "device" : {
13241 "description" : "Configure an audio device.",
13242 "enum" : [
13243 "ich9-intel-hda",
13244 "intel-hda",
13245 "AC97"
13246 ],
13247 "type" : "string"
13248 },
13249 "driver" : {
13250 "default" : "spice",
13251 "description" : "Driver backend for the audio device.",
13252 "enum" : [
13253 "spice"
13254 ],
13255 "optional" : 1,
13256 "type" : "string"
13257 }
13258 },
13259 "optional" : 1,
13260 "type" : "string",
13261 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
13262 },
44660702
DM
13263 "autostart" : {
13264 "default" : 0,
13265 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 13266 "optional" : 1,
013dc89f
DM
13267 "type" : "boolean",
13268 "typetext" : "<boolean>"
7aacca6f 13269 },
4d47f125
TL
13270 "background_delay" : {
13271 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
13272 "maximum" : 30,
13273 "minimum" : 1,
13274 "optional" : 1,
13275 "type" : "integer",
13276 "typetext" : "<integer> (1 - 30)"
13277 },
44660702
DM
13278 "balloon" : {
13279 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13280 "minimum" : 0,
13281 "optional" : 1,
4bd7df8b 13282 "type" : "integer",
013dc89f 13283 "typetext" : "<integer> (0 - N)"
44660702
DM
13284 },
13285 "bios" : {
13286 "default" : "seabios",
13287 "description" : "Select BIOS implementation.",
7aacca6f 13288 "enum" : [
44660702
DM
13289 "seabios",
13290 "ovmf"
7aacca6f 13291 ],
56122987 13292 "optional" : 1,
7aacca6f
DM
13293 "type" : "string"
13294 },
44660702 13295 "boot" : {
4772952b
TL
13296 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
13297 "format" : "pve-qm-boot",
7aacca6f 13298 "optional" : 1,
4772952b
TL
13299 "type" : "string",
13300 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 13301 },
44660702 13302 "bootdisk" : {
4772952b 13303 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
13304 "format" : "pve-qm-bootdisk",
13305 "optional" : 1,
13306 "pattern" : "(ide|sata|scsi|virtio)\\d+",
13307 "type" : "string"
13308 },
13309 "cdrom" : {
13310 "description" : "This is an alias for option -ide2",
de0983cb 13311 "format" : "pve-qm-ide",
56122987 13312 "optional" : 1,
7aacca6f 13313 "type" : "string",
013dc89f 13314 "typetext" : "<volume>"
44660702 13315 },
95895385
TL
13316 "cicustom" : {
13317 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
13318 "format" : "pve-qm-cicustom",
13319 "optional" : 1,
13320 "type" : "string",
13321 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
13322 },
27a7acb2
DM
13323 "cipassword" : {
13324 "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.",
13325 "optional" : 1,
13326 "type" : "string",
13327 "typetext" : "<string>"
13328 },
13329 "citype" : {
13330 "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.",
13331 "enum" : [
13332 "configdrive2",
13333 "nocloud"
13334 ],
13335 "optional" : 1,
13336 "type" : "string"
13337 },
13338 "ciuser" : {
13339 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13340 "optional" : 1,
13341 "type" : "string",
13342 "typetext" : "<string>"
13343 },
44660702
DM
13344 "cores" : {
13345 "default" : 1,
13346 "description" : "The number of cores per socket.",
13347 "minimum" : 1,
13348 "optional" : 1,
4bd7df8b 13349 "type" : "integer",
013dc89f 13350 "typetext" : "<integer> (1 - N)"
44660702
DM
13351 },
13352 "cpu" : {
13353 "description" : "Emulated CPU type.",
c5aa7e14 13354 "format" : "pve-vm-cpu-conf",
44660702 13355 "optional" : 1,
4bd7df8b 13356 "type" : "string",
04d22a9f 13357 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702
DM
13358 },
13359 "cpulimit" : {
13360 "default" : 0,
c2993fe5 13361 "description" : "Limit of CPU usage.",
44660702
DM
13362 "maximum" : 128,
13363 "minimum" : 0,
13364 "optional" : 1,
c2993fe5 13365 "type" : "number",
013dc89f 13366 "typetext" : "<number> (0 - 128)",
c2993fe5 13367 "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
13368 },
13369 "cpuunits" : {
de0983cb 13370 "default" : 1024,
c2993fe5 13371 "description" : "CPU weight for a VM.",
2489d6df
WB
13372 "maximum" : 262144,
13373 "minimum" : 2,
44660702 13374 "optional" : 1,
c2993fe5 13375 "type" : "integer",
2489d6df
WB
13376 "typetext" : "<integer> (2 - 262144)",
13377 "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
13378 },
13379 "delete" : {
13380 "description" : "A list of settings you want to delete.",
13381 "format" : "pve-configid-list",
13382 "optional" : 1,
013dc89f
DM
13383 "type" : "string",
13384 "typetext" : "<string>"
44660702
DM
13385 },
13386 "description" : {
13387 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
13388 "optional" : 1,
013dc89f
DM
13389 "type" : "string",
13390 "typetext" : "<string>"
44660702
DM
13391 },
13392 "digest" : {
13393 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13394 "maxLength" : 40,
13395 "optional" : 1,
013dc89f
DM
13396 "type" : "string",
13397 "typetext" : "<string>"
44660702 13398 },
4d47f125
TL
13399 "efidisk0" : {
13400 "description" : "Configure a Disk for storing EFI vars",
13401 "format" : {
13402 "file" : {
13403 "default_key" : 1,
13404 "description" : "The drive's backing volume.",
13405 "format" : "pve-volume-id-or-qm-path",
13406 "format_description" : "volume",
13407 "type" : "string"
13408 },
13409 "format" : {
13410 "description" : "The drive's backing file's data format.",
13411 "enum" : [
13412 "raw",
13413 "cow",
13414 "qcow",
13415 "qed",
13416 "qcow2",
13417 "vmdk",
13418 "cloop"
13419 ],
13420 "optional" : 1,
13421 "type" : "string"
13422 },
13423 "size" : {
13424 "description" : "Disk size. This is purely informational and has no effect.",
13425 "format" : "disk-size",
13426 "format_description" : "DiskSize",
13427 "optional" : 1,
13428 "type" : "string"
13429 },
13430 "volume" : {
13431 "alias" : "file"
13432 }
13433 },
13434 "optional" : 1,
13435 "type" : "string",
13436 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
13437 },
44660702
DM
13438 "force" : {
13439 "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.",
13440 "optional" : 1,
13441 "requires" : "delete",
013dc89f
DM
13442 "type" : "boolean",
13443 "typetext" : "<boolean>"
44660702
DM
13444 },
13445 "freeze" : {
13446 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13447 "optional" : 1,
013dc89f
DM
13448 "type" : "boolean",
13449 "typetext" : "<boolean>"
44660702 13450 },
5f26e15b
TL
13451 "hookscript" : {
13452 "description" : "Script that will be executed during various steps in the vms lifetime.",
13453 "format" : "pve-volume-id",
13454 "optional" : 1,
13455 "type" : "string",
13456 "typetext" : "<string>"
13457 },
44660702 13458 "hostpci[n]" : {
c2993fe5 13459 "description" : "Map host PCI devices into guest.",
44660702
DM
13460 "format" : "pve-qm-hostpci",
13461 "optional" : 1,
57b78691 13462 "type" : "string",
ac70d7d1 13463 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 13464 "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 13465 },
7aacca6f 13466 "hotplug" : {
7aacca6f 13467 "default" : "network,disk,usb",
44660702
DM
13468 "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'.",
13469 "format" : "pve-hotplug-features",
56122987 13470 "optional" : 1,
013dc89f
DM
13471 "type" : "string",
13472 "typetext" : "<string>"
56122987 13473 },
4bd7df8b
DM
13474 "hugepages" : {
13475 "description" : "Enable/disable hugepages memory.",
13476 "enum" : [
13477 "any",
13478 "2",
13479 "1024"
13480 ],
13481 "optional" : 1,
13482 "type" : "string"
13483 },
56122987 13484 "ide[n]" : {
7aacca6f 13485 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 13486 "format" : {
44660702
DM
13487 "aio" : {
13488 "description" : "AIO type to use.",
13489 "enum" : [
13490 "native",
13491 "threads"
13492 ],
56122987 13493 "optional" : 1,
44660702 13494 "type" : "string"
56122987 13495 },
44660702
DM
13496 "backup" : {
13497 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13498 "optional" : 1,
13499 "type" : "boolean"
13500 },
13501 "bps" : {
de0983cb 13502 "description" : "Maximum r/w speed in bytes per second.",
44660702 13503 "format_description" : "bps",
56122987 13504 "optional" : 1,
44660702 13505 "type" : "integer"
56122987 13506 },
de0983cb
DM
13507 "bps_max_length" : {
13508 "description" : "Maximum length of I/O bursts in seconds.",
13509 "format_description" : "seconds",
13510 "minimum" : 1,
13511 "optional" : 1,
13512 "type" : "integer"
13513 },
44660702 13514 "bps_rd" : {
de0983cb 13515 "description" : "Maximum read speed in bytes per second.",
44660702 13516 "format_description" : "bps",
56122987 13517 "optional" : 1,
44660702 13518 "type" : "integer"
56122987 13519 },
de0983cb 13520 "bps_rd_length" : {
5d9c884c
DM
13521 "alias" : "bps_rd_max_length"
13522 },
13523 "bps_rd_max_length" : {
de0983cb
DM
13524 "description" : "Maximum length of read I/O bursts in seconds.",
13525 "format_description" : "seconds",
13526 "minimum" : 1,
13527 "optional" : 1,
13528 "type" : "integer"
13529 },
7aacca6f 13530 "bps_wr" : {
de0983cb 13531 "description" : "Maximum write speed in bytes per second.",
44660702
DM
13532 "format_description" : "bps",
13533 "optional" : 1,
13534 "type" : "integer"
7aacca6f 13535 },
de0983cb 13536 "bps_wr_length" : {
5d9c884c
DM
13537 "alias" : "bps_wr_max_length"
13538 },
13539 "bps_wr_max_length" : {
de0983cb
DM
13540 "description" : "Maximum length of write I/O bursts in seconds.",
13541 "format_description" : "seconds",
13542 "minimum" : 1,
13543 "optional" : 1,
13544 "type" : "integer"
13545 },
44660702
DM
13546 "cache" : {
13547 "description" : "The drive's cache mode",
13548 "enum" : [
13549 "none",
13550 "writethrough",
13551 "writeback",
13552 "unsafe",
13553 "directsync"
13554 ],
56122987 13555 "optional" : 1,
44660702
DM
13556 "type" : "string"
13557 },
13558 "cyls" : {
13559 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13560 "optional" : 1,
13561 "type" : "integer"
13562 },
13563 "detect_zeroes" : {
13564 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13565 "optional" : 1,
13566 "type" : "boolean"
56122987 13567 },
7aacca6f 13568 "discard" : {
7aacca6f 13569 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 13570 "enum" : [
7aacca6f
DM
13571 "ignore",
13572 "on"
56122987
DM
13573 ],
13574 "optional" : 1,
44660702 13575 "type" : "string"
7aacca6f 13576 },
44660702
DM
13577 "file" : {
13578 "default_key" : 1,
13579 "description" : "The drive's backing volume.",
13580 "format" : "pve-volume-id-or-qm-path",
13581 "format_description" : "volume",
13582 "type" : "string"
7aacca6f
DM
13583 },
13584 "format" : {
44660702 13585 "description" : "The drive's backing file's data format.",
7aacca6f
DM
13586 "enum" : [
13587 "raw",
13588 "cow",
13589 "qcow",
13590 "qed",
13591 "qcow2",
13592 "vmdk",
13593 "cloop"
13594 ],
7aacca6f 13595 "optional" : 1,
44660702 13596 "type" : "string"
56122987 13597 },
7aacca6f 13598 "heads" : {
44660702 13599 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13600 "optional" : 1,
44660702 13601 "type" : "integer"
7aacca6f 13602 },
44660702 13603 "iops" : {
de0983cb 13604 "description" : "Maximum r/w I/O in operations per second.",
44660702 13605 "format_description" : "iops",
7aacca6f 13606 "optional" : 1,
44660702 13607 "type" : "integer"
56122987 13608 },
44660702 13609 "iops_max" : {
de0983cb 13610 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13611 "format_description" : "iops",
56122987 13612 "optional" : 1,
44660702 13613 "type" : "integer"
56122987 13614 },
de0983cb
DM
13615 "iops_max_length" : {
13616 "description" : "Maximum length of I/O bursts in seconds.",
13617 "format_description" : "seconds",
13618 "minimum" : 1,
13619 "optional" : 1,
13620 "type" : "integer"
13621 },
44660702 13622 "iops_rd" : {
de0983cb 13623 "description" : "Maximum read I/O in operations per second.",
44660702 13624 "format_description" : "iops",
56122987 13625 "optional" : 1,
44660702 13626 "type" : "integer"
7aacca6f 13627 },
de0983cb 13628 "iops_rd_length" : {
5d9c884c 13629 "alias" : "iops_rd_max_length"
de0983cb 13630 },
44660702 13631 "iops_rd_max" : {
de0983cb 13632 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13633 "format_description" : "iops",
7aacca6f 13634 "optional" : 1,
44660702 13635 "type" : "integer"
7aacca6f 13636 },
5d9c884c
DM
13637 "iops_rd_max_length" : {
13638 "description" : "Maximum length of read I/O bursts in seconds.",
13639 "format_description" : "seconds",
13640 "minimum" : 1,
13641 "optional" : 1,
13642 "type" : "integer"
13643 },
44660702 13644 "iops_wr" : {
de0983cb 13645 "description" : "Maximum write I/O in operations per second.",
44660702 13646 "format_description" : "iops",
7aacca6f 13647 "optional" : 1,
44660702 13648 "type" : "integer"
56122987 13649 },
de0983cb 13650 "iops_wr_length" : {
5d9c884c 13651 "alias" : "iops_wr_max_length"
de0983cb 13652 },
44660702 13653 "iops_wr_max" : {
de0983cb 13654 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13655 "format_description" : "iops",
7aacca6f 13656 "optional" : 1,
44660702 13657 "type" : "integer"
7aacca6f 13658 },
5d9c884c
DM
13659 "iops_wr_max_length" : {
13660 "description" : "Maximum length of write I/O bursts in seconds.",
13661 "format_description" : "seconds",
13662 "minimum" : 1,
13663 "optional" : 1,
13664 "type" : "integer"
13665 },
7aacca6f 13666 "mbps" : {
de0983cb 13667 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 13668 "format_description" : "mbps",
7aacca6f 13669 "optional" : 1,
44660702 13670 "type" : "number"
7aacca6f 13671 },
44660702 13672 "mbps_max" : {
de0983cb 13673 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13674 "format_description" : "mbps",
7aacca6f 13675 "optional" : 1,
44660702 13676 "type" : "number"
7aacca6f 13677 },
44660702 13678 "mbps_rd" : {
de0983cb 13679 "description" : "Maximum read speed in megabytes per second.",
44660702 13680 "format_description" : "mbps",
7aacca6f 13681 "optional" : 1,
44660702 13682 "type" : "number"
7aacca6f 13683 },
44660702 13684 "mbps_rd_max" : {
de0983cb 13685 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13686 "format_description" : "mbps",
13687 "optional" : 1,
13688 "type" : "number"
7aacca6f 13689 },
44660702 13690 "mbps_wr" : {
de0983cb 13691 "description" : "Maximum write speed in megabytes per second.",
44660702 13692 "format_description" : "mbps",
7aacca6f 13693 "optional" : 1,
44660702
DM
13694 "type" : "number"
13695 },
13696 "mbps_wr_max" : {
de0983cb 13697 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13698 "format_description" : "mbps",
13699 "optional" : 1,
13700 "type" : "number"
13701 },
13702 "media" : {
13703 "default" : "disk",
13704 "description" : "The drive's media type.",
56122987 13705 "enum" : [
44660702
DM
13706 "cdrom",
13707 "disk"
56122987 13708 ],
44660702
DM
13709 "optional" : 1,
13710 "type" : "string"
56122987 13711 },
7aacca6f 13712 "model" : {
44660702 13713 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 13714 "format" : "urlencoded",
7aacca6f 13715 "format_description" : "model",
44660702 13716 "maxLength" : 120,
56122987 13717 "optional" : 1,
44660702 13718 "type" : "string"
56122987 13719 },
5d9c884c
DM
13720 "replicate" : {
13721 "default" : 1,
13722 "description" : "Whether the drive should considered for replication jobs.",
13723 "optional" : 1,
13724 "type" : "boolean"
13725 },
44660702
DM
13726 "rerror" : {
13727 "description" : "Read error action.",
13728 "enum" : [
13729 "ignore",
13730 "report",
13731 "stop"
13732 ],
56122987 13733 "optional" : 1,
44660702 13734 "type" : "string"
56122987 13735 },
44660702
DM
13736 "secs" : {
13737 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13738 "optional" : 1,
13739 "type" : "integer"
56122987 13740 },
44660702
DM
13741 "serial" : {
13742 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13743 "format" : "urlencoded",
13744 "format_description" : "serial",
13745 "maxLength" : 60,
56122987 13746 "optional" : 1,
44660702 13747 "type" : "string"
56122987 13748 },
27a7acb2
DM
13749 "shared" : {
13750 "default" : 0,
13751 "description" : "Mark this locally-managed volume as available on all nodes",
13752 "optional" : 1,
13753 "type" : "boolean",
13754 "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!"
13755 },
44660702
DM
13756 "size" : {
13757 "description" : "Disk size. This is purely informational and has no effect.",
13758 "format" : "disk-size",
f004f5b9 13759 "format_description" : "DiskSize",
56122987 13760 "optional" : 1,
44660702 13761 "type" : "string"
56122987 13762 },
44660702 13763 "snapshot" : {
27a7acb2 13764 "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 13765 "optional" : 1,
44660702 13766 "type" : "boolean"
56122987 13767 },
25203dc1
NC
13768 "ssd" : {
13769 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13770 "optional" : 1,
13771 "type" : "boolean"
13772 },
44660702
DM
13773 "trans" : {
13774 "description" : "Force disk geometry bios translation mode.",
13775 "enum" : [
13776 "none",
13777 "lba",
13778 "auto"
13779 ],
56122987 13780 "optional" : 1,
44660702
DM
13781 "type" : "string"
13782 },
13783 "volume" : {
13784 "alias" : "file"
56122987 13785 },
7aacca6f 13786 "werror" : {
44660702 13787 "description" : "Write error action.",
7aacca6f
DM
13788 "enum" : [
13789 "enospc",
13790 "ignore",
13791 "report",
13792 "stop"
13793 ],
56122987 13794 "optional" : 1,
44660702 13795 "type" : "string"
95895385
TL
13796 },
13797 "wwn" : {
13798 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13799 "format_description" : "wwn",
13800 "optional" : 1,
13801 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13802 "type" : "string"
7aacca6f 13803 }
44660702
DM
13804 },
13805 "optional" : 1,
4bd7df8b 13806 "type" : "string",
95895385 13807 "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
13808 },
13809 "ipconfig[n]" : {
4772952b 13810 "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\ngateway 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\ndhcp on IPv4.\n",
27a7acb2
DM
13811 "format" : "pve-qm-ipconfig",
13812 "optional" : 1,
13813 "type" : "string",
13814 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 13815 },
95895385
TL
13816 "ivshmem" : {
13817 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13818 "format" : {
13819 "name" : {
13820 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13821 "format_description" : "string",
13822 "optional" : 1,
13823 "pattern" : "[a-zA-Z0-9\\-]+",
13824 "type" : "string"
13825 },
13826 "size" : {
13827 "description" : "The size of the file in MB.",
13828 "minimum" : 1,
13829 "type" : "integer"
13830 }
13831 },
13832 "optional" : 1,
13833 "type" : "string",
13834 "typetext" : "size=<integer> [,name=<string>]"
13835 },
4772952b
TL
13836 "keephugepages" : {
13837 "default" : 0,
13838 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
13839 "optional" : 1,
13840 "type" : "boolean",
13841 "typetext" : "<boolean>"
13842 },
44660702 13843 "keyboard" : {
35a75dd3 13844 "default" : null,
5da3d723 13845 "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
13846 "enum" : [
13847 "de",
13848 "de-ch",
13849 "da",
13850 "en-gb",
13851 "en-us",
13852 "es",
13853 "fi",
13854 "fr",
13855 "fr-be",
13856 "fr-ca",
13857 "fr-ch",
13858 "hu",
13859 "is",
13860 "it",
13861 "ja",
13862 "lt",
13863 "mk",
13864 "nl",
13865 "no",
13866 "pl",
13867 "pt",
13868 "pt-br",
13869 "sv",
13870 "sl",
13871 "tr"
13872 ],
7aacca6f 13873 "optional" : 1,
44660702 13874 "type" : "string"
7aacca6f 13875 },
44660702 13876 "kvm" : {
7aacca6f 13877 "default" : 1,
44660702 13878 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 13879 "optional" : 1,
013dc89f
DM
13880 "type" : "boolean",
13881 "typetext" : "<boolean>"
7aacca6f 13882 },
44660702
DM
13883 "localtime" : {
13884 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 13885 "optional" : 1,
013dc89f
DM
13886 "type" : "boolean",
13887 "typetext" : "<boolean>"
7aacca6f 13888 },
44660702
DM
13889 "lock" : {
13890 "description" : "Lock/unlock the VM.",
13891 "enum" : [
44660702 13892 "backup",
5f26e15b
TL
13893 "clone",
13894 "create",
13895 "migrate",
13896 "rollback",
44660702 13897 "snapshot",
95895385
TL
13898 "snapshot-delete",
13899 "suspending",
13900 "suspended"
44660702 13901 ],
7aacca6f 13902 "optional" : 1,
44660702 13903 "type" : "string"
7aacca6f 13904 },
44660702 13905 "machine" : {
4d47f125 13906 "description" : "Specifies the Qemu machine type.",
44660702 13907 "maxLength" : 40,
7aacca6f 13908 "optional" : 1,
5c1699e5 13909 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 13910 "type" : "string"
7aacca6f 13911 },
44660702
DM
13912 "memory" : {
13913 "default" : 512,
13914 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13915 "minimum" : 16,
7aacca6f 13916 "optional" : 1,
4bd7df8b 13917 "type" : "integer",
013dc89f 13918 "typetext" : "<integer> (16 - N)"
7aacca6f 13919 },
44660702
DM
13920 "migrate_downtime" : {
13921 "default" : 0.1,
13922 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13923 "minimum" : 0,
7aacca6f 13924 "optional" : 1,
4bd7df8b 13925 "type" : "number",
013dc89f 13926 "typetext" : "<number> (0 - N)"
7aacca6f 13927 },
44660702 13928 "migrate_speed" : {
7aacca6f 13929 "default" : 0,
44660702
DM
13930 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13931 "minimum" : 0,
13932 "optional" : 1,
4bd7df8b 13933 "type" : "integer",
013dc89f 13934 "typetext" : "<integer> (0 - N)"
7aacca6f 13935 },
44660702
DM
13936 "name" : {
13937 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13938 "format" : "dns-name",
7aacca6f 13939 "optional" : 1,
013dc89f
DM
13940 "type" : "string",
13941 "typetext" : "<string>"
7aacca6f 13942 },
27a7acb2 13943 "nameserver" : {
4772952b 13944 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
13945 "format" : "address-list",
13946 "optional" : 1,
13947 "type" : "string",
13948 "typetext" : "<string>"
13949 },
44660702 13950 "net[n]" : {
c2993fe5 13951 "description" : "Specify network devices.",
f004f5b9
DM
13952 "format" : {
13953 "bridge" : {
c2993fe5 13954 "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
13955 "format_description" : "bridge",
13956 "optional" : 1,
c5aa7e14 13957 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
13958 "type" : "string"
13959 },
13960 "e1000" : {
13961 "alias" : "macaddr",
13962 "keyAlias" : "model"
13963 },
13964 "e1000-82540em" : {
13965 "alias" : "macaddr",
13966 "keyAlias" : "model"
13967 },
13968 "e1000-82544gc" : {
13969 "alias" : "macaddr",
13970 "keyAlias" : "model"
13971 },
13972 "e1000-82545em" : {
13973 "alias" : "macaddr",
13974 "keyAlias" : "model"
13975 },
13976 "firewall" : {
13977 "description" : "Whether this interface should be protected by the firewall.",
13978 "optional" : 1,
13979 "type" : "boolean"
13980 },
13981 "i82551" : {
13982 "alias" : "macaddr",
13983 "keyAlias" : "model"
13984 },
13985 "i82557b" : {
13986 "alias" : "macaddr",
13987 "keyAlias" : "model"
13988 },
13989 "i82559er" : {
13990 "alias" : "macaddr",
13991 "keyAlias" : "model"
13992 },
13993 "link_down" : {
c2993fe5 13994 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
13995 "optional" : 1,
13996 "type" : "boolean"
13997 },
13998 "macaddr" : {
c2993fe5 13999 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 14000 "format" : "mac-addr",
f004f5b9 14001 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 14002 "optional" : 1,
95895385
TL
14003 "type" : "string",
14004 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
14005 },
14006 "model" : {
14007 "default_key" : 1,
c2993fe5 14008 "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
14009 "enum" : [
14010 "rtl8139",
14011 "ne2k_pci",
14012 "e1000",
14013 "pcnet",
14014 "virtio",
14015 "ne2k_isa",
14016 "i82551",
14017 "i82557b",
14018 "i82559er",
14019 "vmxnet3",
14020 "e1000-82540em",
14021 "e1000-82544gc",
14022 "e1000-82545em"
14023 ],
f004f5b9
DM
14024 "type" : "string"
14025 },
ac70d7d1
TL
14026 "mtu" : {
14027 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
14028 "maximum" : 65520,
14029 "minimum" : 1,
14030 "optional" : 1,
14031 "type" : "integer"
14032 },
f004f5b9
DM
14033 "ne2k_isa" : {
14034 "alias" : "macaddr",
14035 "keyAlias" : "model"
14036 },
14037 "ne2k_pci" : {
14038 "alias" : "macaddr",
14039 "keyAlias" : "model"
14040 },
14041 "pcnet" : {
14042 "alias" : "macaddr",
14043 "keyAlias" : "model"
14044 },
14045 "queues" : {
14046 "description" : "Number of packet queues to be used on the device.",
14047 "maximum" : 16,
14048 "minimum" : 0,
14049 "optional" : 1,
14050 "type" : "integer"
14051 },
14052 "rate" : {
c2993fe5 14053 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
14054 "minimum" : 0,
14055 "optional" : 1,
14056 "type" : "number"
14057 },
14058 "rtl8139" : {
14059 "alias" : "macaddr",
14060 "keyAlias" : "model"
14061 },
14062 "tag" : {
14063 "description" : "VLAN tag to apply to packets on this interface.",
14064 "maximum" : 4094,
c2993fe5 14065 "minimum" : 1,
f004f5b9
DM
14066 "optional" : 1,
14067 "type" : "integer"
14068 },
14069 "trunks" : {
14070 "description" : "VLAN trunks to pass through this interface.",
14071 "format_description" : "vlanid[;vlanid...]",
14072 "optional" : 1,
14073 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14074 "type" : "string"
14075 },
14076 "virtio" : {
14077 "alias" : "macaddr",
14078 "keyAlias" : "model"
14079 },
14080 "vmxnet3" : {
14081 "alias" : "macaddr",
14082 "keyAlias" : "model"
14083 }
14084 },
7aacca6f 14085 "optional" : 1,
4bd7df8b 14086 "type" : "string",
ac70d7d1 14087 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 14088 },
44660702
DM
14089 "node" : {
14090 "description" : "The cluster node name.",
14091 "format" : "pve-node",
013dc89f
DM
14092 "type" : "string",
14093 "typetext" : "<string>"
44660702
DM
14094 },
14095 "numa" : {
14096 "default" : 0,
14097 "description" : "Enable/disable NUMA.",
7aacca6f 14098 "optional" : 1,
013dc89f
DM
14099 "type" : "boolean",
14100 "typetext" : "<boolean>"
7aacca6f 14101 },
44660702 14102 "numa[n]" : {
c2993fe5 14103 "description" : "NUMA topology.",
44660702
DM
14104 "format" : {
14105 "cpus" : {
c2993fe5 14106 "description" : "CPUs accessing this NUMA node.",
44660702
DM
14107 "format_description" : "id[-id];...",
14108 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14109 "type" : "string"
14110 },
14111 "hostnodes" : {
c2993fe5 14112 "description" : "Host NUMA nodes to use.",
44660702
DM
14113 "format_description" : "id[-id];...",
14114 "optional" : 1,
14115 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14116 "type" : "string"
14117 },
14118 "memory" : {
c2993fe5 14119 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
14120 "optional" : 1,
14121 "type" : "number"
14122 },
14123 "policy" : {
c2993fe5 14124 "description" : "NUMA allocation policy.",
44660702
DM
14125 "enum" : [
14126 "preferred",
14127 "bind",
14128 "interleave"
14129 ],
44660702
DM
14130 "optional" : 1,
14131 "type" : "string"
14132 }
14133 },
7aacca6f 14134 "optional" : 1,
4bd7df8b
DM
14135 "type" : "string",
14136 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 14137 },
44660702
DM
14138 "onboot" : {
14139 "default" : 0,
14140 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 14141 "optional" : 1,
013dc89f
DM
14142 "type" : "boolean",
14143 "typetext" : "<boolean>"
7aacca6f 14144 },
44660702 14145 "ostype" : {
c2993fe5 14146 "description" : "Specify guest operating system.",
44660702
DM
14147 "enum" : [
14148 "other",
14149 "wxp",
14150 "w2k",
14151 "w2k3",
14152 "w2k8",
14153 "wvista",
14154 "win7",
14155 "win8",
32d876b5 14156 "win10",
44660702
DM
14157 "l24",
14158 "l26",
14159 "solaris"
14160 ],
7aacca6f 14161 "optional" : 1,
c2993fe5 14162 "type" : "string",
5c1699e5 14163 "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 14164 },
44660702 14165 "parallel[n]" : {
c2993fe5 14166 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 14167 "optional" : 1,
44660702 14168 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 14169 "type" : "string",
4772952b 14170 "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\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 14171 },
44660702
DM
14172 "protection" : {
14173 "default" : 0,
c2993fe5 14174 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 14175 "optional" : 1,
013dc89f
DM
14176 "type" : "boolean",
14177 "typetext" : "<boolean>"
7aacca6f 14178 },
44660702
DM
14179 "reboot" : {
14180 "default" : 1,
14181 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 14182 "optional" : 1,
013dc89f
DM
14183 "type" : "boolean",
14184 "typetext" : "<boolean>"
7aacca6f 14185 },
44660702
DM
14186 "revert" : {
14187 "description" : "Revert a pending change.",
14188 "format" : "pve-configid-list",
7aacca6f 14189 "optional" : 1,
013dc89f
DM
14190 "type" : "string",
14191 "typetext" : "<string>"
7aacca6f 14192 },
c5aa7e14
TL
14193 "rng0" : {
14194 "description" : "Configure a VirtIO-based Random Number Generator.",
14195 "format" : {
14196 "max_bytes" : {
14197 "default" : 1024,
14198 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
14199 "optional" : 1,
14200 "type" : "integer"
14201 },
14202 "period" : {
14203 "default" : 1000,
14204 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
14205 "optional" : 1,
14206 "type" : "integer"
14207 },
14208 "source" : {
14209 "default_key" : 1,
14210 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
14211 "enum" : [
14212 "/dev/urandom",
14213 "/dev/random",
14214 "/dev/hwrng"
14215 ],
14216 "type" : "string"
14217 }
14218 },
14219 "optional" : 1,
14220 "type" : "string",
14221 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
14222 },
44660702
DM
14223 "sata[n]" : {
14224 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 14225 "format" : {
44660702
DM
14226 "aio" : {
14227 "description" : "AIO type to use.",
14228 "enum" : [
14229 "native",
14230 "threads"
14231 ],
44660702
DM
14232 "optional" : 1,
14233 "type" : "string"
14234 },
14235 "backup" : {
14236 "description" : "Whether the drive should be included when making backups.",
44660702
DM
14237 "optional" : 1,
14238 "type" : "boolean"
14239 },
14240 "bps" : {
de0983cb 14241 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 14242 "format_description" : "bps",
7aacca6f
DM
14243 "optional" : 1,
14244 "type" : "integer"
56122987 14245 },
de0983cb
DM
14246 "bps_max_length" : {
14247 "description" : "Maximum length of I/O bursts in seconds.",
14248 "format_description" : "seconds",
14249 "minimum" : 1,
14250 "optional" : 1,
14251 "type" : "integer"
14252 },
44660702 14253 "bps_rd" : {
de0983cb 14254 "description" : "Maximum read speed in bytes per second.",
44660702 14255 "format_description" : "bps",
7aacca6f 14256 "optional" : 1,
44660702 14257 "type" : "integer"
7aacca6f 14258 },
de0983cb 14259 "bps_rd_length" : {
5d9c884c
DM
14260 "alias" : "bps_rd_max_length"
14261 },
14262 "bps_rd_max_length" : {
de0983cb
DM
14263 "description" : "Maximum length of read I/O bursts in seconds.",
14264 "format_description" : "seconds",
14265 "minimum" : 1,
14266 "optional" : 1,
14267 "type" : "integer"
14268 },
44660702 14269 "bps_wr" : {
de0983cb 14270 "description" : "Maximum write speed in bytes per second.",
44660702 14271 "format_description" : "bps",
7aacca6f 14272 "optional" : 1,
44660702 14273 "type" : "integer"
7aacca6f 14274 },
de0983cb 14275 "bps_wr_length" : {
5d9c884c
DM
14276 "alias" : "bps_wr_max_length"
14277 },
14278 "bps_wr_max_length" : {
de0983cb
DM
14279 "description" : "Maximum length of write I/O bursts in seconds.",
14280 "format_description" : "seconds",
14281 "minimum" : 1,
14282 "optional" : 1,
14283 "type" : "integer"
14284 },
44660702
DM
14285 "cache" : {
14286 "description" : "The drive's cache mode",
14287 "enum" : [
14288 "none",
14289 "writethrough",
14290 "writeback",
14291 "unsafe",
14292 "directsync"
14293 ],
7aacca6f 14294 "optional" : 1,
44660702 14295 "type" : "string"
7aacca6f 14296 },
44660702
DM
14297 "cyls" : {
14298 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 14299 "optional" : 1,
44660702 14300 "type" : "integer"
7aacca6f 14301 },
44660702
DM
14302 "detect_zeroes" : {
14303 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 14304 "optional" : 1,
44660702 14305 "type" : "boolean"
7aacca6f 14306 },
44660702
DM
14307 "discard" : {
14308 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14309 "enum" : [
14310 "ignore",
14311 "on"
14312 ],
7aacca6f 14313 "optional" : 1,
44660702
DM
14314 "type" : "string"
14315 },
14316 "file" : {
14317 "default_key" : 1,
14318 "description" : "The drive's backing volume.",
14319 "format" : "pve-volume-id-or-qm-path",
14320 "format_description" : "volume",
14321 "type" : "string"
7aacca6f
DM
14322 },
14323 "format" : {
7aacca6f 14324 "description" : "The drive's backing file's data format.",
56122987
DM
14325 "enum" : [
14326 "raw",
14327 "cow",
14328 "qcow",
14329 "qed",
14330 "qcow2",
14331 "vmdk",
14332 "cloop"
14333 ],
14334 "optional" : 1,
7aacca6f 14335 "type" : "string"
56122987 14336 },
7aacca6f 14337 "heads" : {
7aacca6f 14338 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14339 "optional" : 1,
14340 "type" : "integer"
56122987 14341 },
44660702 14342 "iops" : {
de0983cb 14343 "description" : "Maximum r/w I/O in operations per second.",
44660702 14344 "format_description" : "iops",
56122987 14345 "optional" : 1,
44660702 14346 "type" : "integer"
7aacca6f 14347 },
44660702 14348 "iops_max" : {
de0983cb 14349 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14350 "format_description" : "iops",
7aacca6f 14351 "optional" : 1,
44660702 14352 "type" : "integer"
56122987 14353 },
de0983cb
DM
14354 "iops_max_length" : {
14355 "description" : "Maximum length of I/O bursts in seconds.",
14356 "format_description" : "seconds",
14357 "minimum" : 1,
14358 "optional" : 1,
14359 "type" : "integer"
14360 },
44660702 14361 "iops_rd" : {
de0983cb 14362 "description" : "Maximum read I/O in operations per second.",
44660702 14363 "format_description" : "iops",
56122987 14364 "optional" : 1,
44660702 14365 "type" : "integer"
7aacca6f 14366 },
de0983cb 14367 "iops_rd_length" : {
5d9c884c 14368 "alias" : "iops_rd_max_length"
de0983cb 14369 },
44660702 14370 "iops_rd_max" : {
de0983cb 14371 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14372 "format_description" : "iops",
56122987 14373 "optional" : 1,
44660702 14374 "type" : "integer"
56122987 14375 },
5d9c884c
DM
14376 "iops_rd_max_length" : {
14377 "description" : "Maximum length of read I/O bursts in seconds.",
14378 "format_description" : "seconds",
14379 "minimum" : 1,
14380 "optional" : 1,
14381 "type" : "integer"
14382 },
44660702 14383 "iops_wr" : {
de0983cb 14384 "description" : "Maximum write I/O in operations per second.",
44660702
DM
14385 "format_description" : "iops",
14386 "optional" : 1,
14387 "type" : "integer"
56122987 14388 },
de0983cb 14389 "iops_wr_length" : {
5d9c884c 14390 "alias" : "iops_wr_max_length"
de0983cb 14391 },
44660702 14392 "iops_wr_max" : {
de0983cb 14393 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
14394 "format_description" : "iops",
14395 "optional" : 1,
14396 "type" : "integer"
14397 },
5d9c884c
DM
14398 "iops_wr_max_length" : {
14399 "description" : "Maximum length of write I/O bursts in seconds.",
14400 "format_description" : "seconds",
14401 "minimum" : 1,
14402 "optional" : 1,
14403 "type" : "integer"
14404 },
44660702 14405 "mbps" : {
de0983cb 14406 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
14407 "format_description" : "mbps",
14408 "optional" : 1,
14409 "type" : "number"
14410 },
14411 "mbps_max" : {
de0983cb 14412 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
14413 "format_description" : "mbps",
14414 "optional" : 1,
14415 "type" : "number"
14416 },
14417 "mbps_rd" : {
de0983cb 14418 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
14419 "format_description" : "mbps",
14420 "optional" : 1,
14421 "type" : "number"
14422 },
14423 "mbps_rd_max" : {
de0983cb 14424 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14425 "format_description" : "mbps",
14426 "optional" : 1,
14427 "type" : "number"
14428 },
14429 "mbps_wr" : {
de0983cb 14430 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
14431 "format_description" : "mbps",
14432 "optional" : 1,
14433 "type" : "number"
14434 },
14435 "mbps_wr_max" : {
de0983cb 14436 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14437 "format_description" : "mbps",
14438 "optional" : 1,
14439 "type" : "number"
14440 },
14441 "media" : {
14442 "default" : "disk",
14443 "description" : "The drive's media type.",
14444 "enum" : [
14445 "cdrom",
14446 "disk"
14447 ],
56122987 14448 "optional" : 1,
44660702
DM
14449 "type" : "string"
14450 },
5d9c884c
DM
14451 "replicate" : {
14452 "default" : 1,
14453 "description" : "Whether the drive should considered for replication jobs.",
14454 "optional" : 1,
14455 "type" : "boolean"
14456 },
44660702 14457 "rerror" : {
7aacca6f
DM
14458 "description" : "Read error action.",
14459 "enum" : [
14460 "ignore",
14461 "report",
14462 "stop"
44660702 14463 ],
56122987 14464 "optional" : 1,
44660702 14465 "type" : "string"
56122987 14466 },
7aacca6f 14467 "secs" : {
44660702 14468 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14469 "optional" : 1,
44660702 14470 "type" : "integer"
56122987 14471 },
44660702
DM
14472 "serial" : {
14473 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14474 "format" : "urlencoded",
14475 "format_description" : "serial",
14476 "maxLength" : 60,
56122987 14477 "optional" : 1,
44660702 14478 "type" : "string"
56122987 14479 },
27a7acb2
DM
14480 "shared" : {
14481 "default" : 0,
14482 "description" : "Mark this locally-managed volume as available on all nodes",
14483 "optional" : 1,
14484 "type" : "boolean",
14485 "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!"
14486 },
44660702
DM
14487 "size" : {
14488 "description" : "Disk size. This is purely informational and has no effect.",
14489 "format" : "disk-size",
f004f5b9 14490 "format_description" : "DiskSize",
56122987 14491 "optional" : 1,
44660702 14492 "type" : "string"
56122987
DM
14493 },
14494 "snapshot" : {
27a7acb2 14495 "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 14496 "optional" : 1,
44660702 14497 "type" : "boolean"
56122987 14498 },
25203dc1
NC
14499 "ssd" : {
14500 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14501 "optional" : 1,
14502 "type" : "boolean"
14503 },
56122987 14504 "trans" : {
7aacca6f 14505 "description" : "Force disk geometry bios translation mode.",
56122987
DM
14506 "enum" : [
14507 "none",
14508 "lba",
14509 "auto"
14510 ],
14511 "optional" : 1,
44660702 14512 "type" : "string"
56122987 14513 },
44660702
DM
14514 "volume" : {
14515 "alias" : "file"
56122987 14516 },
7aacca6f 14517 "werror" : {
44660702 14518 "description" : "Write error action.",
56122987 14519 "enum" : [
7aacca6f 14520 "enospc",
56122987 14521 "ignore",
7aacca6f
DM
14522 "report",
14523 "stop"
14524 ],
7aacca6f 14525 "optional" : 1,
44660702 14526 "type" : "string"
95895385
TL
14527 },
14528 "wwn" : {
14529 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14530 "format_description" : "wwn",
14531 "optional" : 1,
14532 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14533 "type" : "string"
44660702
DM
14534 }
14535 },
14536 "optional" : 1,
4bd7df8b 14537 "type" : "string",
95895385 14538 "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
14539 },
14540 "scsi[n]" : {
e9cd3bd4 14541 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
14542 "format" : {
14543 "aio" : {
7aacca6f 14544 "description" : "AIO type to use.",
56122987
DM
14545 "enum" : [
14546 "native",
14547 "threads"
44660702 14548 ],
56122987 14549 "optional" : 1,
44660702 14550 "type" : "string"
56122987 14551 },
7aacca6f 14552 "backup" : {
7aacca6f 14553 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14554 "optional" : 1,
44660702 14555 "type" : "boolean"
56122987 14556 },
44660702 14557 "bps" : {
de0983cb 14558 "description" : "Maximum r/w speed in bytes per second.",
44660702 14559 "format_description" : "bps",
7aacca6f 14560 "optional" : 1,
44660702 14561 "type" : "integer"
7aacca6f 14562 },
de0983cb
DM
14563 "bps_max_length" : {
14564 "description" : "Maximum length of I/O bursts in seconds.",
14565 "format_description" : "seconds",
14566 "minimum" : 1,
14567 "optional" : 1,
14568 "type" : "integer"
14569 },
44660702 14570 "bps_rd" : {
de0983cb 14571 "description" : "Maximum read speed in bytes per second.",
44660702 14572 "format_description" : "bps",
56122987 14573 "optional" : 1,
44660702 14574 "type" : "integer"
56122987 14575 },
de0983cb 14576 "bps_rd_length" : {
5d9c884c
DM
14577 "alias" : "bps_rd_max_length"
14578 },
14579 "bps_rd_max_length" : {
de0983cb
DM
14580 "description" : "Maximum length of read I/O bursts in seconds.",
14581 "format_description" : "seconds",
14582 "minimum" : 1,
14583 "optional" : 1,
14584 "type" : "integer"
14585 },
44660702 14586 "bps_wr" : {
de0983cb 14587 "description" : "Maximum write speed in bytes per second.",
44660702 14588 "format_description" : "bps",
56122987 14589 "optional" : 1,
44660702 14590 "type" : "integer"
56122987 14591 },
de0983cb 14592 "bps_wr_length" : {
5d9c884c
DM
14593 "alias" : "bps_wr_max_length"
14594 },
14595 "bps_wr_max_length" : {
de0983cb
DM
14596 "description" : "Maximum length of write I/O bursts in seconds.",
14597 "format_description" : "seconds",
14598 "minimum" : 1,
14599 "optional" : 1,
14600 "type" : "integer"
14601 },
44660702
DM
14602 "cache" : {
14603 "description" : "The drive's cache mode",
14604 "enum" : [
14605 "none",
14606 "writethrough",
14607 "writeback",
14608 "unsafe",
14609 "directsync"
14610 ],
56122987 14611 "optional" : 1,
44660702
DM
14612 "type" : "string"
14613 },
14614 "cyls" : {
14615 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14616 "optional" : 1,
14617 "type" : "integer"
14618 },
14619 "detect_zeroes" : {
14620 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14621 "optional" : 1,
14622 "type" : "boolean"
14623 },
14624 "discard" : {
14625 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14626 "enum" : [
14627 "ignore",
14628 "on"
14629 ],
44660702
DM
14630 "optional" : 1,
14631 "type" : "string"
14632 },
14633 "file" : {
14634 "default_key" : 1,
14635 "description" : "The drive's backing volume.",
14636 "format" : "pve-volume-id-or-qm-path",
14637 "format_description" : "volume",
14638 "type" : "string"
56122987 14639 },
7aacca6f 14640 "format" : {
44660702 14641 "description" : "The drive's backing file's data format.",
7aacca6f
DM
14642 "enum" : [
14643 "raw",
14644 "cow",
14645 "qcow",
14646 "qed",
14647 "qcow2",
14648 "vmdk",
14649 "cloop"
14650 ],
56122987 14651 "optional" : 1,
44660702 14652 "type" : "string"
56122987 14653 },
44660702
DM
14654 "heads" : {
14655 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14656 "optional" : 1,
44660702 14657 "type" : "integer"
56122987 14658 },
44660702 14659 "iops" : {
de0983cb 14660 "description" : "Maximum r/w I/O in operations per second.",
44660702 14661 "format_description" : "iops",
7aacca6f 14662 "optional" : 1,
44660702 14663 "type" : "integer"
56122987 14664 },
44660702 14665 "iops_max" : {
de0983cb 14666 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 14667 "format_description" : "iops",
7aacca6f 14668 "optional" : 1,
44660702 14669 "type" : "integer"
56122987 14670 },
de0983cb
DM
14671 "iops_max_length" : {
14672 "description" : "Maximum length of I/O bursts in seconds.",
14673 "format_description" : "seconds",
14674 "minimum" : 1,
14675 "optional" : 1,
14676 "type" : "integer"
14677 },
44660702 14678 "iops_rd" : {
de0983cb 14679 "description" : "Maximum read I/O in operations per second.",
44660702 14680 "format_description" : "iops",
56122987 14681 "optional" : 1,
44660702 14682 "type" : "integer"
56122987 14683 },
de0983cb 14684 "iops_rd_length" : {
5d9c884c 14685 "alias" : "iops_rd_max_length"
de0983cb 14686 },
44660702 14687 "iops_rd_max" : {
de0983cb 14688 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14689 "format_description" : "iops",
56122987 14690 "optional" : 1,
44660702 14691 "type" : "integer"
56122987 14692 },
5d9c884c
DM
14693 "iops_rd_max_length" : {
14694 "description" : "Maximum length of read I/O bursts in seconds.",
14695 "format_description" : "seconds",
14696 "minimum" : 1,
14697 "optional" : 1,
14698 "type" : "integer"
14699 },
44660702 14700 "iops_wr" : {
de0983cb 14701 "description" : "Maximum write I/O in operations per second.",
44660702 14702 "format_description" : "iops",
56122987 14703 "optional" : 1,
44660702 14704 "type" : "integer"
56122987 14705 },
de0983cb 14706 "iops_wr_length" : {
5d9c884c 14707 "alias" : "iops_wr_max_length"
de0983cb 14708 },
44660702 14709 "iops_wr_max" : {
de0983cb 14710 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 14711 "format_description" : "iops",
44660702
DM
14712 "optional" : 1,
14713 "type" : "integer"
7aacca6f 14714 },
5d9c884c
DM
14715 "iops_wr_max_length" : {
14716 "description" : "Maximum length of write I/O bursts in seconds.",
14717 "format_description" : "seconds",
14718 "minimum" : 1,
14719 "optional" : 1,
14720 "type" : "integer"
14721 },
7aacca6f 14722 "iothread" : {
44660702 14723 "description" : "Whether to use iothreads for this drive",
56122987 14724 "optional" : 1,
44660702 14725 "type" : "boolean"
56122987 14726 },
44660702 14727 "mbps" : {
de0983cb 14728 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14729 "format_description" : "mbps",
56122987 14730 "optional" : 1,
44660702 14731 "type" : "number"
56122987 14732 },
44660702 14733 "mbps_max" : {
de0983cb 14734 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14735 "format_description" : "mbps",
56122987 14736 "optional" : 1,
44660702 14737 "type" : "number"
56122987 14738 },
44660702 14739 "mbps_rd" : {
de0983cb 14740 "description" : "Maximum read speed in megabytes per second.",
44660702 14741 "format_description" : "mbps",
7aacca6f 14742 "optional" : 1,
44660702 14743 "type" : "number"
56122987 14744 },
44660702 14745 "mbps_rd_max" : {
de0983cb 14746 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14747 "format_description" : "mbps",
7aacca6f 14748 "optional" : 1,
44660702 14749 "type" : "number"
7aacca6f 14750 },
44660702 14751 "mbps_wr" : {
de0983cb 14752 "description" : "Maximum write speed in megabytes per second.",
44660702 14753 "format_description" : "mbps",
56122987 14754 "optional" : 1,
44660702 14755 "type" : "number"
56122987 14756 },
44660702 14757 "mbps_wr_max" : {
de0983cb 14758 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14759 "format_description" : "mbps",
56122987 14760 "optional" : 1,
44660702
DM
14761 "type" : "number"
14762 },
14763 "media" : {
14764 "default" : "disk",
14765 "description" : "The drive's media type.",
7aacca6f 14766 "enum" : [
44660702
DM
14767 "cdrom",
14768 "disk"
7aacca6f 14769 ],
56122987 14770 "optional" : 1,
44660702 14771 "type" : "string"
56122987 14772 },
7aacca6f 14773 "queues" : {
44660702 14774 "description" : "Number of queues.",
7aacca6f 14775 "minimum" : 2,
7aacca6f
DM
14776 "optional" : 1,
14777 "type" : "integer"
56122987 14778 },
5d9c884c
DM
14779 "replicate" : {
14780 "default" : 1,
14781 "description" : "Whether the drive should considered for replication jobs.",
14782 "optional" : 1,
14783 "type" : "boolean"
14784 },
14785 "rerror" : {
14786 "description" : "Read error action.",
14787 "enum" : [
14788 "ignore",
14789 "report",
14790 "stop"
14791 ],
14792 "optional" : 1,
14793 "type" : "string"
14794 },
52e44c50
FG
14795 "scsiblock" : {
14796 "default" : 0,
14797 "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",
14798 "optional" : 1,
14799 "type" : "boolean"
14800 },
44660702
DM
14801 "secs" : {
14802 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14803 "optional" : 1,
44660702 14804 "type" : "integer"
56122987 14805 },
44660702
DM
14806 "serial" : {
14807 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14808 "format" : "urlencoded",
14809 "format_description" : "serial",
14810 "maxLength" : 60,
56122987 14811 "optional" : 1,
44660702 14812 "type" : "string"
56122987 14813 },
27a7acb2
DM
14814 "shared" : {
14815 "default" : 0,
14816 "description" : "Mark this locally-managed volume as available on all nodes",
14817 "optional" : 1,
14818 "type" : "boolean",
14819 "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!"
14820 },
44660702
DM
14821 "size" : {
14822 "description" : "Disk size. This is purely informational and has no effect.",
14823 "format" : "disk-size",
f004f5b9 14824 "format_description" : "DiskSize",
44660702
DM
14825 "optional" : 1,
14826 "type" : "string"
14827 },
14828 "snapshot" : {
27a7acb2 14829 "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 14830 "optional" : 1,
44660702
DM
14831 "type" : "boolean"
14832 },
25203dc1
NC
14833 "ssd" : {
14834 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14835 "optional" : 1,
14836 "type" : "boolean"
14837 },
44660702
DM
14838 "trans" : {
14839 "description" : "Force disk geometry bios translation mode.",
56122987 14840 "enum" : [
44660702
DM
14841 "none",
14842 "lba",
14843 "auto"
56122987 14844 ],
44660702
DM
14845 "optional" : 1,
14846 "type" : "string"
14847 },
14848 "volume" : {
14849 "alias" : "file"
56122987 14850 },
7aacca6f 14851 "werror" : {
7aacca6f
DM
14852 "description" : "Write error action.",
14853 "enum" : [
14854 "enospc",
14855 "ignore",
14856 "report",
14857 "stop"
44660702 14858 ],
56122987 14859 "optional" : 1,
7aacca6f 14860 "type" : "string"
95895385
TL
14861 },
14862 "wwn" : {
14863 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14864 "format_description" : "wwn",
14865 "optional" : 1,
14866 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14867 "type" : "string"
56122987 14868 }
44660702 14869 },
56122987 14870 "optional" : 1,
4bd7df8b 14871 "type" : "string",
95895385 14872 "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
14873 },
14874 "scsihw" : {
44660702 14875 "default" : "lsi",
c2993fe5 14876 "description" : "SCSI controller model",
56122987
DM
14877 "enum" : [
14878 "lsi",
14879 "lsi53c810",
14880 "virtio-scsi-pci",
14881 "virtio-scsi-single",
14882 "megasas",
14883 "pvscsi"
14884 ],
14885 "optional" : 1,
56122987
DM
14886 "type" : "string"
14887 },
27a7acb2 14888 "searchdomain" : {
4772952b 14889 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
14890 "optional" : 1,
14891 "type" : "string",
14892 "typetext" : "<string>"
14893 },
44660702 14894 "serial[n]" : {
c2993fe5 14895 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 14896 "optional" : 1,
44660702 14897 "pattern" : "(/dev/.+|socket)",
c2993fe5 14898 "type" : "string",
4772952b 14899 "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 -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 14900 },
44660702
DM
14901 "shares" : {
14902 "default" : 1000,
5da3d723 14903 "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
14904 "maximum" : 50000,
14905 "minimum" : 0,
7aacca6f 14906 "optional" : 1,
4bd7df8b 14907 "type" : "integer",
013dc89f 14908 "typetext" : "<integer> (0 - 50000)"
56122987 14909 },
7aacca6f
DM
14910 "skiplock" : {
14911 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 14912 "optional" : 1,
013dc89f
DM
14913 "type" : "boolean",
14914 "typetext" : "<boolean>"
56122987 14915 },
44660702
DM
14916 "smbios1" : {
14917 "description" : "Specify SMBIOS type 1 fields.",
14918 "format" : "pve-qm-smbios1",
1e3f8156 14919 "maxLength" : 512,
56122987 14920 "optional" : 1,
4bd7df8b 14921 "type" : "string",
1e3f8156 14922 "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 14923 },
44660702
DM
14924 "smp" : {
14925 "default" : 1,
14926 "description" : "The number of CPUs. Please use option -sockets instead.",
14927 "minimum" : 1,
56122987 14928 "optional" : 1,
4bd7df8b 14929 "type" : "integer",
013dc89f 14930 "typetext" : "<integer> (1 - N)"
56122987 14931 },
44660702
DM
14932 "sockets" : {
14933 "default" : 1,
14934 "description" : "The number of CPU sockets.",
14935 "minimum" : 1,
56122987 14936 "optional" : 1,
4bd7df8b 14937 "type" : "integer",
013dc89f 14938 "typetext" : "<integer> (1 - N)"
56122987 14939 },
1c532546
TL
14940 "spice_enhancements" : {
14941 "description" : "Configure additional enhancements for SPICE.",
14942 "format" : {
14943 "foldersharing" : {
14944 "default" : "0",
14945 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
14946 "optional" : 1,
14947 "type" : "boolean"
14948 },
14949 "videostreaming" : {
14950 "default" : "off",
14951 "description" : "Enable video streaming. Uses compression for detected video streams.",
14952 "enum" : [
14953 "off",
14954 "all",
14955 "filter"
14956 ],
14957 "optional" : 1,
14958 "type" : "string"
14959 }
14960 },
14961 "optional" : 1,
14962 "type" : "string",
14963 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
14964 },
27a7acb2
DM
14965 "sshkeys" : {
14966 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14967 "format" : "urlencoded",
14968 "optional" : 1,
14969 "type" : "string",
14970 "typetext" : "<string>"
14971 },
44660702
DM
14972 "startdate" : {
14973 "default" : "now",
4772952b 14974 "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'.",
44660702
DM
14975 "optional" : 1,
14976 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 14977 "type" : "string",
44660702
DM
14978 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14979 },
14980 "startup" : {
14981 "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.",
14982 "format" : "pve-startup-order",
7aacca6f 14983 "optional" : 1,
44660702
DM
14984 "type" : "string",
14985 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 14986 },
44660702
DM
14987 "tablet" : {
14988 "default" : 1,
c2993fe5 14989 "description" : "Enable/disable the USB tablet device.",
7aacca6f 14990 "optional" : 1,
c2993fe5 14991 "type" : "boolean",
013dc89f 14992 "typetext" : "<boolean>",
4772952b 14993 "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 (`qm set <vmid> --vga qxl`)."
7aacca6f 14994 },
5c1699e5
TL
14995 "tags" : {
14996 "description" : "Tags of the VM. This is only meta information.",
14997 "format" : "pve-tag-list",
14998 "optional" : 1,
14999 "type" : "string",
15000 "typetext" : "<string>"
15001 },
44660702
DM
15002 "tdf" : {
15003 "default" : 0,
15004 "description" : "Enable/disable time drift fix.",
7aacca6f 15005 "optional" : 1,
013dc89f
DM
15006 "type" : "boolean",
15007 "typetext" : "<boolean>"
7aacca6f 15008 },
44660702
DM
15009 "template" : {
15010 "default" : 0,
15011 "description" : "Enable/disable Template.",
7aacca6f 15012 "optional" : 1,
013dc89f
DM
15013 "type" : "boolean",
15014 "typetext" : "<boolean>"
7aacca6f 15015 },
44660702 15016 "unused[n]" : {
c2993fe5 15017 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
15018 "format" : {
15019 "file" : {
15020 "default_key" : 1,
15021 "description" : "The drive's backing volume.",
15022 "format" : "pve-volume-id",
15023 "format_description" : "volume",
15024 "type" : "string"
15025 },
15026 "volume" : {
15027 "alias" : "file"
15028 }
15029 },
7aacca6f 15030 "optional" : 1,
013dc89f 15031 "type" : "string",
c5aa7e14 15032 "typetext" : "[file=]<volume>"
7aacca6f 15033 },
44660702 15034 "usb[n]" : {
c2993fe5 15035 "description" : "Configure an USB device (n is 0 to 4).",
56122987 15036 "format" : {
44660702
DM
15037 "host" : {
15038 "default_key" : 1,
4772952b 15039 "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\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
15040 "format" : "pve-qm-usb-device",
15041 "format_description" : "HOSTUSBDEVICE|spice",
15042 "type" : "string"
7aacca6f 15043 },
44660702 15044 "usb3" : {
c2993fe5 15045 "default" : 0,
1c532546 15046 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 15047 "optional" : 1,
44660702 15048 "type" : "boolean"
7aacca6f 15049 }
44660702 15050 },
7aacca6f 15051 "optional" : 1,
4bd7df8b
DM
15052 "type" : "string",
15053 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 15054 },
44660702 15055 "vcpus" : {
7aacca6f 15056 "default" : 0,
44660702
DM
15057 "description" : "Number of hotplugged vcpus.",
15058 "minimum" : 1,
7aacca6f 15059 "optional" : 1,
4bd7df8b 15060 "type" : "integer",
013dc89f 15061 "typetext" : "<integer> (1 - N)"
7aacca6f 15062 },
44660702 15063 "vga" : {
e2d681b3
TL
15064 "description" : "Configure the VGA hardware.",
15065 "format" : {
15066 "memory" : {
15067 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
15068 "maximum" : 512,
15069 "minimum" : 4,
15070 "optional" : 1,
15071 "type" : "integer"
15072 },
15073 "type" : {
15074 "default" : "std",
15075 "default_key" : 1,
15076 "description" : "Select the VGA type.",
15077 "enum" : [
15078 "cirrus",
15079 "qxl",
15080 "qxl2",
15081 "qxl3",
15082 "qxl4",
5f26e15b 15083 "none",
e2d681b3
TL
15084 "serial0",
15085 "serial1",
15086 "serial2",
15087 "serial3",
15088 "std",
15089 "virtio",
15090 "vmware"
15091 ],
15092 "optional" : 1,
15093 "type" : "string"
15094 }
15095 },
7aacca6f 15096 "optional" : 1,
c2993fe5 15097 "type" : "string",
e2d681b3
TL
15098 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
15099 "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 15100 },
44660702
DM
15101 "virtio[n]" : {
15102 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 15103 "format" : {
7aacca6f 15104 "aio" : {
7aacca6f 15105 "description" : "AIO type to use.",
56122987 15106 "enum" : [
7aacca6f
DM
15107 "native",
15108 "threads"
7aacca6f 15109 ],
44660702
DM
15110 "optional" : 1,
15111 "type" : "string"
56122987 15112 },
44660702
DM
15113 "backup" : {
15114 "description" : "Whether the drive should be included when making backups.",
56122987 15115 "optional" : 1,
44660702 15116 "type" : "boolean"
7aacca6f 15117 },
44660702 15118 "bps" : {
de0983cb 15119 "description" : "Maximum r/w speed in bytes per second.",
44660702 15120 "format_description" : "bps",
7aacca6f 15121 "optional" : 1,
44660702 15122 "type" : "integer"
56122987 15123 },
de0983cb
DM
15124 "bps_max_length" : {
15125 "description" : "Maximum length of I/O bursts in seconds.",
15126 "format_description" : "seconds",
15127 "minimum" : 1,
15128 "optional" : 1,
15129 "type" : "integer"
15130 },
56122987 15131 "bps_rd" : {
de0983cb 15132 "description" : "Maximum read speed in bytes per second.",
44660702 15133 "format_description" : "bps",
56122987 15134 "optional" : 1,
7aacca6f 15135 "type" : "integer"
56122987 15136 },
de0983cb 15137 "bps_rd_length" : {
5d9c884c
DM
15138 "alias" : "bps_rd_max_length"
15139 },
15140 "bps_rd_max_length" : {
de0983cb
DM
15141 "description" : "Maximum length of read I/O bursts in seconds.",
15142 "format_description" : "seconds",
15143 "minimum" : 1,
15144 "optional" : 1,
15145 "type" : "integer"
15146 },
44660702 15147 "bps_wr" : {
de0983cb 15148 "description" : "Maximum write speed in bytes per second.",
44660702 15149 "format_description" : "bps",
56122987 15150 "optional" : 1,
7aacca6f 15151 "type" : "integer"
56122987 15152 },
de0983cb 15153 "bps_wr_length" : {
5d9c884c
DM
15154 "alias" : "bps_wr_max_length"
15155 },
15156 "bps_wr_max_length" : {
de0983cb
DM
15157 "description" : "Maximum length of write I/O bursts in seconds.",
15158 "format_description" : "seconds",
15159 "minimum" : 1,
15160 "optional" : 1,
15161 "type" : "integer"
15162 },
7aacca6f 15163 "cache" : {
44660702 15164 "description" : "The drive's cache mode",
7aacca6f
DM
15165 "enum" : [
15166 "none",
15167 "writethrough",
15168 "writeback",
15169 "unsafe",
15170 "directsync"
15171 ],
56122987 15172 "optional" : 1,
44660702 15173 "type" : "string"
7aacca6f 15174 },
44660702
DM
15175 "cyls" : {
15176 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15177 "optional" : 1,
15178 "type" : "integer"
15179 },
15180 "detect_zeroes" : {
15181 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15182 "optional" : 1,
15183 "type" : "boolean"
15184 },
15185 "discard" : {
15186 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 15187 "enum" : [
44660702
DM
15188 "ignore",
15189 "on"
56122987
DM
15190 ],
15191 "optional" : 1,
44660702 15192 "type" : "string"
56122987 15193 },
44660702
DM
15194 "file" : {
15195 "default_key" : 1,
15196 "description" : "The drive's backing volume.",
15197 "format" : "pve-volume-id-or-qm-path",
15198 "format_description" : "volume",
15199 "type" : "string"
15200 },
15201 "format" : {
15202 "description" : "The drive's backing file's data format.",
15203 "enum" : [
15204 "raw",
15205 "cow",
15206 "qcow",
15207 "qed",
15208 "qcow2",
15209 "vmdk",
15210 "cloop"
15211 ],
56122987 15212 "optional" : 1,
44660702 15213 "type" : "string"
56122987 15214 },
44660702
DM
15215 "heads" : {
15216 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15217 "optional" : 1,
15218 "type" : "integer"
15219 },
15220 "iops" : {
de0983cb 15221 "description" : "Maximum r/w I/O in operations per second.",
44660702 15222 "format_description" : "iops",
56122987 15223 "optional" : 1,
44660702
DM
15224 "type" : "integer"
15225 },
15226 "iops_max" : {
de0983cb 15227 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
15228 "format_description" : "iops",
15229 "optional" : 1,
15230 "type" : "integer"
56122987 15231 },
de0983cb
DM
15232 "iops_max_length" : {
15233 "description" : "Maximum length of I/O bursts in seconds.",
15234 "format_description" : "seconds",
15235 "minimum" : 1,
15236 "optional" : 1,
15237 "type" : "integer"
15238 },
7aacca6f 15239 "iops_rd" : {
de0983cb 15240 "description" : "Maximum read I/O in operations per second.",
7aacca6f 15241 "format_description" : "iops",
7aacca6f 15242 "optional" : 1,
44660702 15243 "type" : "integer"
56122987 15244 },
de0983cb 15245 "iops_rd_length" : {
5d9c884c 15246 "alias" : "iops_rd_max_length"
de0983cb 15247 },
44660702 15248 "iops_rd_max" : {
de0983cb 15249 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15250 "format_description" : "iops",
15251 "optional" : 1,
15252 "type" : "integer"
15253 },
5d9c884c
DM
15254 "iops_rd_max_length" : {
15255 "description" : "Maximum length of read I/O bursts in seconds.",
15256 "format_description" : "seconds",
15257 "minimum" : 1,
15258 "optional" : 1,
15259 "type" : "integer"
15260 },
44660702 15261 "iops_wr" : {
de0983cb 15262 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15263 "format_description" : "iops",
15264 "optional" : 1,
15265 "type" : "integer"
15266 },
de0983cb 15267 "iops_wr_length" : {
5d9c884c 15268 "alias" : "iops_wr_max_length"
de0983cb 15269 },
44660702 15270 "iops_wr_max" : {
de0983cb 15271 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15272 "format_description" : "iops",
15273 "optional" : 1,
15274 "type" : "integer"
15275 },
5d9c884c
DM
15276 "iops_wr_max_length" : {
15277 "description" : "Maximum length of write I/O bursts in seconds.",
15278 "format_description" : "seconds",
15279 "minimum" : 1,
15280 "optional" : 1,
15281 "type" : "integer"
15282 },
44660702
DM
15283 "iothread" : {
15284 "description" : "Whether to use iothreads for this drive",
44660702
DM
15285 "optional" : 1,
15286 "type" : "boolean"
15287 },
15288 "mbps" : {
de0983cb 15289 "description" : "Maximum r/w speed in megabytes per second.",
44660702 15290 "format_description" : "mbps",
7aacca6f 15291 "optional" : 1,
44660702 15292 "type" : "number"
7aacca6f
DM
15293 },
15294 "mbps_max" : {
de0983cb 15295 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 15296 "format_description" : "mbps",
56122987 15297 "optional" : 1,
44660702 15298 "type" : "number"
56122987 15299 },
44660702 15300 "mbps_rd" : {
de0983cb 15301 "description" : "Maximum read speed in megabytes per second.",
44660702 15302 "format_description" : "mbps",
56122987 15303 "optional" : 1,
44660702 15304 "type" : "number"
56122987 15305 },
44660702 15306 "mbps_rd_max" : {
de0983cb 15307 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15308 "format_description" : "mbps",
15309 "optional" : 1,
15310 "type" : "number"
15311 },
15312 "mbps_wr" : {
de0983cb 15313 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15314 "format_description" : "mbps",
15315 "optional" : 1,
15316 "type" : "number"
15317 },
15318 "mbps_wr_max" : {
de0983cb 15319 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15320 "format_description" : "mbps",
15321 "optional" : 1,
15322 "type" : "number"
15323 },
15324 "media" : {
15325 "default" : "disk",
15326 "description" : "The drive's media type.",
56122987 15327 "enum" : [
44660702
DM
15328 "cdrom",
15329 "disk"
56122987
DM
15330 ],
15331 "optional" : 1,
44660702 15332 "type" : "string"
56122987 15333 },
5d9c884c
DM
15334 "replicate" : {
15335 "default" : 1,
15336 "description" : "Whether the drive should considered for replication jobs.",
15337 "optional" : 1,
15338 "type" : "boolean"
15339 },
44660702
DM
15340 "rerror" : {
15341 "description" : "Read error action.",
15342 "enum" : [
15343 "ignore",
15344 "report",
15345 "stop"
15346 ],
56122987 15347 "optional" : 1,
44660702 15348 "type" : "string"
56122987 15349 },
44660702
DM
15350 "secs" : {
15351 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 15352 "optional" : 1,
44660702 15353 "type" : "integer"
56122987 15354 },
7aacca6f
DM
15355 "serial" : {
15356 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 15357 "format" : "urlencoded",
44660702 15358 "format_description" : "serial",
7aacca6f 15359 "maxLength" : 60,
44660702
DM
15360 "optional" : 1,
15361 "type" : "string"
56122987 15362 },
27a7acb2
DM
15363 "shared" : {
15364 "default" : 0,
15365 "description" : "Mark this locally-managed volume as available on all nodes",
15366 "optional" : 1,
15367 "type" : "boolean",
15368 "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!"
15369 },
44660702
DM
15370 "size" : {
15371 "description" : "Disk size. This is purely informational and has no effect.",
15372 "format" : "disk-size",
f004f5b9 15373 "format_description" : "DiskSize",
44660702
DM
15374 "optional" : 1,
15375 "type" : "string"
56122987 15376 },
44660702 15377 "snapshot" : {
27a7acb2 15378 "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 15379 "optional" : 1,
44660702 15380 "type" : "boolean"
56122987 15381 },
44660702
DM
15382 "trans" : {
15383 "description" : "Force disk geometry bios translation mode.",
15384 "enum" : [
15385 "none",
15386 "lba",
15387 "auto"
15388 ],
7aacca6f 15389 "optional" : 1,
44660702 15390 "type" : "string"
7aacca6f 15391 },
44660702
DM
15392 "volume" : {
15393 "alias" : "file"
15394 },
15395 "werror" : {
15396 "description" : "Write error action.",
15397 "enum" : [
15398 "enospc",
15399 "ignore",
15400 "report",
15401 "stop"
15402 ],
7aacca6f 15403 "optional" : 1,
44660702 15404 "type" : "string"
56122987
DM
15405 }
15406 },
7aacca6f 15407 "optional" : 1,
4bd7df8b 15408 "type" : "string",
27a7acb2 15409 "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 15410 },
4d47f125
TL
15411 "vmgenid" : {
15412 "default" : "1 (autogenerated)",
15413 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
15414 "format_description" : "UUID",
15415 "optional" : 1,
15416 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
15417 "type" : "string",
4772952b 15418 "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 through API/CLI create or update methods, but not when manually editing the config file."
4d47f125 15419 },
44660702
DM
15420 "vmid" : {
15421 "description" : "The (unique) ID of the VM.",
15422 "format" : "pve-vmid",
15423 "minimum" : 1,
4bd7df8b 15424 "type" : "integer",
013dc89f 15425 "typetext" : "<integer> (1 - N)"
56122987 15426 },
2489d6df
WB
15427 "vmstatestorage" : {
15428 "description" : "Default storage for VM state volumes/files.",
15429 "format" : "pve-storage-id",
15430 "optional" : 1,
15431 "type" : "string",
15432 "typetext" : "<string>"
15433 },
44660702 15434 "watchdog" : {
c2993fe5 15435 "description" : "Create a virtual hardware watchdog device.",
44660702 15436 "format" : "pve-qm-watchdog",
56122987 15437 "optional" : 1,
c2993fe5 15438 "type" : "string",
013dc89f 15439 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 15440 "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 15441 }
7aacca6f 15442 }
56122987 15443 },
56122987
DM
15444 "permissions" : {
15445 "check" : [
15446 "perm",
15447 "/vms/{vmid}",
15448 [
15449 "VM.Config.Disk",
15450 "VM.Config.CDROM",
15451 "VM.Config.CPU",
15452 "VM.Config.Memory",
15453 "VM.Config.Network",
15454 "VM.Config.HWType",
ac70d7d1
TL
15455 "VM.Config.Options",
15456 "VM.Config.Cloudinit"
56122987
DM
15457 ],
15458 "any",
15459 1
15460 ]
15461 },
44660702 15462 "protected" : 1,
7aacca6f 15463 "proxyto" : "node",
56122987 15464 "returns" : {
4d47f125
TL
15465 "optional" : 1,
15466 "type" : "string"
7aacca6f 15467 }
4d47f125
TL
15468 },
15469 "PUT" : {
e9cd3bd4 15470 "allowtoken" : 1,
4d47f125
TL
15471 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
15472 "method" : "PUT",
15473 "name" : "update_vm",
7aacca6f 15474 "parameters" : {
44660702 15475 "additionalProperties" : 0,
7aacca6f 15476 "properties" : {
4d47f125
TL
15477 "acpi" : {
15478 "default" : 1,
15479 "description" : "Enable/disable ACPI.",
15480 "optional" : 1,
15481 "type" : "boolean",
15482 "typetext" : "<boolean>"
7aacca6f 15483 },
4d47f125
TL
15484 "agent" : {
15485 "description" : "Enable/disable Qemu GuestAgent and its properties.",
15486 "format" : {
15487 "enabled" : {
15488 "default" : 0,
15489 "default_key" : 1,
15490 "description" : "Enable/disable Qemu GuestAgent.",
15491 "type" : "boolean"
15492 },
15493 "fstrim_cloned_disks" : {
15494 "default" : 0,
15495 "description" : "Run fstrim after cloning/moving a disk.",
15496 "optional" : 1,
15497 "type" : "boolean"
5c1699e5
TL
15498 },
15499 "type" : {
15500 "default" : "virtio",
15501 "description" : "Select the agent type",
15502 "enum" : [
15503 "virtio",
15504 "isa"
15505 ],
15506 "optional" : 1,
15507 "type" : "string"
4d47f125 15508 }
44660702 15509 },
4d47f125
TL
15510 "optional" : 1,
15511 "type" : "string",
5c1699e5 15512 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 15513 },
e2d681b3
TL
15514 "arch" : {
15515 "description" : "Virtual processor architecture. Defaults to the host.",
15516 "enum" : [
15517 "x86_64",
15518 "aarch64"
15519 ],
15520 "optional" : 1,
15521 "type" : "string"
15522 },
4d47f125
TL
15523 "args" : {
15524 "description" : "Arbitrary arguments passed to kvm.",
15525 "optional" : 1,
15526 "type" : "string",
15527 "typetext" : "<string>",
15528 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
15529 },
1c532546
TL
15530 "audio0" : {
15531 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
15532 "format" : {
15533 "device" : {
15534 "description" : "Configure an audio device.",
15535 "enum" : [
15536 "ich9-intel-hda",
15537 "intel-hda",
15538 "AC97"
15539 ],
15540 "type" : "string"
15541 },
15542 "driver" : {
15543 "default" : "spice",
15544 "description" : "Driver backend for the audio device.",
15545 "enum" : [
15546 "spice"
15547 ],
15548 "optional" : 1,
15549 "type" : "string"
15550 }
15551 },
15552 "optional" : 1,
15553 "type" : "string",
15554 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
15555 },
4d47f125
TL
15556 "autostart" : {
15557 "default" : 0,
15558 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 15559 "optional" : 1,
013dc89f
DM
15560 "type" : "boolean",
15561 "typetext" : "<boolean>"
7aacca6f 15562 },
4d47f125
TL
15563 "balloon" : {
15564 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
15565 "minimum" : 0,
15566 "optional" : 1,
15567 "type" : "integer",
15568 "typetext" : "<integer> (0 - N)"
15569 },
15570 "bios" : {
15571 "default" : "seabios",
15572 "description" : "Select BIOS implementation.",
15573 "enum" : [
15574 "seabios",
15575 "ovmf"
15576 ],
15577 "optional" : 1,
15578 "type" : "string"
15579 },
15580 "boot" : {
4772952b
TL
15581 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
15582 "format" : "pve-qm-boot",
4d47f125 15583 "optional" : 1,
4772952b
TL
15584 "type" : "string",
15585 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
4d47f125
TL
15586 },
15587 "bootdisk" : {
4772952b 15588 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
4d47f125
TL
15589 "format" : "pve-qm-bootdisk",
15590 "optional" : 1,
15591 "pattern" : "(ide|sata|scsi|virtio)\\d+",
15592 "type" : "string"
15593 },
15594 "cdrom" : {
15595 "description" : "This is an alias for option -ide2",
15596 "format" : "pve-qm-ide",
15597 "optional" : 1,
15598 "type" : "string",
15599 "typetext" : "<volume>"
15600 },
95895385
TL
15601 "cicustom" : {
15602 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
15603 "format" : "pve-qm-cicustom",
15604 "optional" : 1,
15605 "type" : "string",
15606 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
15607 },
4d47f125
TL
15608 "cipassword" : {
15609 "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.",
15610 "optional" : 1,
013dc89f
DM
15611 "type" : "string",
15612 "typetext" : "<string>"
44660702 15613 },
4d47f125
TL
15614 "citype" : {
15615 "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.",
15616 "enum" : [
15617 "configdrive2",
15618 "nocloud"
15619 ],
15620 "optional" : 1,
15621 "type" : "string"
15622 },
15623 "ciuser" : {
15624 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
15625 "optional" : 1,
013dc89f
DM
15626 "type" : "string",
15627 "typetext" : "<string>"
56122987 15628 },
4d47f125
TL
15629 "cores" : {
15630 "default" : 1,
15631 "description" : "The number of cores per socket.",
7aacca6f 15632 "minimum" : 1,
4d47f125 15633 "optional" : 1,
4bd7df8b 15634 "type" : "integer",
013dc89f 15635 "typetext" : "<integer> (1 - N)"
4d47f125
TL
15636 },
15637 "cpu" : {
15638 "description" : "Emulated CPU type.",
c5aa7e14 15639 "format" : "pve-vm-cpu-conf",
4d47f125 15640 "optional" : 1,
013dc89f 15641 "type" : "string",
04d22a9f 15642 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702 15643 },
4d47f125
TL
15644 "cpulimit" : {
15645 "default" : 0,
15646 "description" : "Limit of CPU usage.",
15647 "maximum" : 128,
15648 "minimum" : 0,
15649 "optional" : 1,
15650 "type" : "number",
15651 "typetext" : "<number> (0 - 128)",
15652 "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."
15653 },
15654 "cpuunits" : {
15655 "default" : 1024,
15656 "description" : "CPU weight for a VM.",
15657 "maximum" : 262144,
15658 "minimum" : 2,
15659 "optional" : 1,
4bd7df8b 15660 "type" : "integer",
4d47f125
TL
15661 "typetext" : "<integer> (2 - 262144)",
15662 "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 15663 },
4d47f125
TL
15664 "delete" : {
15665 "description" : "A list of settings you want to delete.",
15666 "format" : "pve-configid-list",
15667 "optional" : 1,
15668 "type" : "string",
15669 "typetext" : "<string>"
15670 },
15671 "description" : {
15672 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
15673 "optional" : 1,
15674 "type" : "string",
15675 "typetext" : "<string>"
15676 },
15677 "digest" : {
15678 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15679 "maxLength" : 40,
44660702 15680 "optional" : 1,
4d47f125
TL
15681 "type" : "string",
15682 "typetext" : "<string>"
15683 },
15684 "efidisk0" : {
15685 "description" : "Configure a Disk for storing EFI vars",
15686 "format" : {
15687 "file" : {
15688 "default_key" : 1,
15689 "description" : "The drive's backing volume.",
15690 "format" : "pve-volume-id-or-qm-path",
15691 "format_description" : "volume",
15692 "type" : "string"
15693 },
15694 "format" : {
15695 "description" : "The drive's backing file's data format.",
15696 "enum" : [
15697 "raw",
15698 "cow",
15699 "qcow",
15700 "qed",
15701 "qcow2",
15702 "vmdk",
15703 "cloop"
15704 ],
15705 "optional" : 1,
15706 "type" : "string"
15707 },
15708 "size" : {
15709 "description" : "Disk size. This is purely informational and has no effect.",
15710 "format" : "disk-size",
15711 "format_description" : "DiskSize",
15712 "optional" : 1,
15713 "type" : "string"
15714 },
15715 "volume" : {
15716 "alias" : "file"
15717 }
15718 },
15719 "optional" : 1,
15720 "type" : "string",
15721 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
15722 },
15723 "force" : {
15724 "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.",
15725 "optional" : 1,
15726 "requires" : "delete",
013dc89f
DM
15727 "type" : "boolean",
15728 "typetext" : "<boolean>"
56122987 15729 },
4d47f125
TL
15730 "freeze" : {
15731 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
15732 "optional" : 1,
15733 "type" : "boolean",
15734 "typetext" : "<boolean>"
7aacca6f 15735 },
5f26e15b
TL
15736 "hookscript" : {
15737 "description" : "Script that will be executed during various steps in the vms lifetime.",
15738 "format" : "pve-volume-id",
15739 "optional" : 1,
15740 "type" : "string",
15741 "typetext" : "<string>"
15742 },
4d47f125
TL
15743 "hostpci[n]" : {
15744 "description" : "Map host PCI devices into guest.",
15745 "format" : "pve-qm-hostpci",
15746 "optional" : 1,
15747 "type" : "string",
ac70d7d1 15748 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 15749 "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 15750 },
4d47f125
TL
15751 "hotplug" : {
15752 "default" : "network,disk,usb",
15753 "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'.",
15754 "format" : "pve-hotplug-features",
15755 "optional" : 1,
35a75dd3
DM
15756 "type" : "string",
15757 "typetext" : "<string>"
15758 },
4d47f125
TL
15759 "hugepages" : {
15760 "description" : "Enable/disable hugepages memory.",
35a75dd3 15761 "enum" : [
4d47f125
TL
15762 "any",
15763 "2",
15764 "1024"
35a75dd3
DM
15765 ],
15766 "optional" : 1,
15767 "type" : "string"
15768 },
4d47f125
TL
15769 "ide[n]" : {
15770 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
15771 "format" : {
15772 "aio" : {
15773 "description" : "AIO type to use.",
15774 "enum" : [
15775 "native",
15776 "threads"
15777 ],
44660702 15778 "optional" : 1,
44660702
DM
15779 "type" : "string"
15780 },
4d47f125
TL
15781 "backup" : {
15782 "description" : "Whether the drive should be included when making backups.",
56122987 15783 "optional" : 1,
4d47f125 15784 "type" : "boolean"
56122987 15785 },
4d47f125
TL
15786 "bps" : {
15787 "description" : "Maximum r/w speed in bytes per second.",
15788 "format_description" : "bps",
de0983cb 15789 "optional" : 1,
4d47f125 15790 "type" : "integer"
de0983cb 15791 },
4d47f125
TL
15792 "bps_max_length" : {
15793 "description" : "Maximum length of I/O bursts in seconds.",
15794 "format_description" : "seconds",
15795 "minimum" : 1,
de0983cb 15796 "optional" : 1,
4d47f125 15797 "type" : "integer"
7aacca6f 15798 },
4d47f125
TL
15799 "bps_rd" : {
15800 "description" : "Maximum read speed in bytes per second.",
15801 "format_description" : "bps",
7aacca6f 15802 "optional" : 1,
4d47f125 15803 "type" : "integer"
56122987 15804 },
4d47f125
TL
15805 "bps_rd_length" : {
15806 "alias" : "bps_rd_max_length"
15807 },
15808 "bps_rd_max_length" : {
15809 "description" : "Maximum length of read I/O bursts in seconds.",
15810 "format_description" : "seconds",
15811 "minimum" : 1,
56122987 15812 "optional" : 1,
4d47f125 15813 "type" : "integer"
56122987 15814 },
4d47f125
TL
15815 "bps_wr" : {
15816 "description" : "Maximum write speed in bytes per second.",
15817 "format_description" : "bps",
52e44c50 15818 "optional" : 1,
4d47f125 15819 "type" : "integer"
52e44c50 15820 },
4d47f125
TL
15821 "bps_wr_length" : {
15822 "alias" : "bps_wr_max_length"
15823 },
15824 "bps_wr_max_length" : {
15825 "description" : "Maximum length of write I/O bursts in seconds.",
15826 "format_description" : "seconds",
44660702 15827 "minimum" : 1,
56122987 15828 "optional" : 1,
4d47f125 15829 "type" : "integer"
56122987 15830 },
4d47f125
TL
15831 "cache" : {
15832 "description" : "The drive's cache mode",
15833 "enum" : [
15834 "none",
15835 "writethrough",
15836 "writeback",
15837 "unsafe",
15838 "directsync"
15839 ],
7aacca6f 15840 "optional" : 1,
4d47f125 15841 "type" : "string"
7aacca6f 15842 },
4d47f125
TL
15843 "cyls" : {
15844 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15845 "optional" : 1,
15846 "type" : "integer"
56122987 15847 },
4d47f125
TL
15848 "detect_zeroes" : {
15849 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 15850 "optional" : 1,
4d47f125 15851 "type" : "boolean"
56122987 15852 },
4d47f125
TL
15853 "discard" : {
15854 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15855 "enum" : [
15856 "ignore",
15857 "on"
15858 ],
56122987 15859 "optional" : 1,
4d47f125 15860 "type" : "string"
7aacca6f 15861 },
4d47f125
TL
15862 "file" : {
15863 "default_key" : 1,
15864 "description" : "The drive's backing volume.",
15865 "format" : "pve-volume-id-or-qm-path",
15866 "format_description" : "volume",
15867 "type" : "string"
56122987 15868 },
4d47f125
TL
15869 "format" : {
15870 "description" : "The drive's backing file's data format.",
15871 "enum" : [
15872 "raw",
15873 "cow",
15874 "qcow",
15875 "qed",
15876 "qcow2",
15877 "vmdk",
15878 "cloop"
15879 ],
7aacca6f 15880 "optional" : 1,
4d47f125 15881 "type" : "string"
7aacca6f 15882 },
4d47f125
TL
15883 "heads" : {
15884 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 15885 "optional" : 1,
4d47f125 15886 "type" : "integer"
56122987 15887 },
4d47f125
TL
15888 "iops" : {
15889 "description" : "Maximum r/w I/O in operations per second.",
15890 "format_description" : "iops",
44660702 15891 "optional" : 1,
4d47f125 15892 "type" : "integer"
44660702 15893 },
4d47f125
TL
15894 "iops_max" : {
15895 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15896 "format_description" : "iops",
44660702 15897 "optional" : 1,
4d47f125 15898 "type" : "integer"
56122987 15899 },
4d47f125
TL
15900 "iops_max_length" : {
15901 "description" : "Maximum length of I/O bursts in seconds.",
15902 "format_description" : "seconds",
15903 "minimum" : 1,
7aacca6f 15904 "optional" : 1,
4d47f125 15905 "type" : "integer"
7aacca6f 15906 },
4d47f125
TL
15907 "iops_rd" : {
15908 "description" : "Maximum read I/O in operations per second.",
15909 "format_description" : "iops",
15910 "optional" : 1,
15911 "type" : "integer"
15912 },
15913 "iops_rd_length" : {
15914 "alias" : "iops_rd_max_length"
15915 },
15916 "iops_rd_max" : {
15917 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15918 "format_description" : "iops",
15919 "optional" : 1,
15920 "type" : "integer"
15921 },
15922 "iops_rd_max_length" : {
15923 "description" : "Maximum length of read I/O bursts in seconds.",
15924 "format_description" : "seconds",
44660702 15925 "minimum" : 1,
4d47f125
TL
15926 "optional" : 1,
15927 "type" : "integer"
7aacca6f 15928 },
4d47f125
TL
15929 "iops_wr" : {
15930 "description" : "Maximum write I/O in operations per second.",
15931 "format_description" : "iops",
44660702 15932 "optional" : 1,
4d47f125 15933 "type" : "integer"
44660702 15934 },
4d47f125
TL
15935 "iops_wr_length" : {
15936 "alias" : "iops_wr_max_length"
15937 },
15938 "iops_wr_max" : {
15939 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15940 "format_description" : "iops",
15941 "optional" : 1,
15942 "type" : "integer"
15943 },
15944 "iops_wr_max_length" : {
15945 "description" : "Maximum length of write I/O bursts in seconds.",
15946 "format_description" : "seconds",
44660702 15947 "minimum" : 1,
44660702 15948 "optional" : 1,
4d47f125 15949 "type" : "integer"
44660702 15950 },
4d47f125
TL
15951 "mbps" : {
15952 "description" : "Maximum r/w speed in megabytes per second.",
15953 "format_description" : "mbps",
15954 "optional" : 1,
15955 "type" : "number"
56122987 15956 },
4d47f125
TL
15957 "mbps_max" : {
15958 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15959 "format_description" : "mbps",
15960 "optional" : 1,
15961 "type" : "number"
15962 },
15963 "mbps_rd" : {
15964 "description" : "Maximum read speed in megabytes per second.",
15965 "format_description" : "mbps",
15966 "optional" : 1,
15967 "type" : "number"
15968 },
15969 "mbps_rd_max" : {
15970 "description" : "Maximum unthrottled read pool in megabytes per second.",
15971 "format_description" : "mbps",
15972 "optional" : 1,
15973 "type" : "number"
15974 },
15975 "mbps_wr" : {
15976 "description" : "Maximum write speed in megabytes per second.",
15977 "format_description" : "mbps",
15978 "optional" : 1,
15979 "type" : "number"
15980 },
15981 "mbps_wr_max" : {
15982 "description" : "Maximum unthrottled write pool in megabytes per second.",
15983 "format_description" : "mbps",
15984 "optional" : 1,
15985 "type" : "number"
15986 },
15987 "media" : {
15988 "default" : "disk",
15989 "description" : "The drive's media type.",
15990 "enum" : [
15991 "cdrom",
15992 "disk"
15993 ],
15994 "optional" : 1,
15995 "type" : "string"
15996 },
15997 "model" : {
15998 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
15999 "format" : "urlencoded",
16000 "format_description" : "model",
16001 "maxLength" : 120,
16002 "optional" : 1,
16003 "type" : "string"
16004 },
16005 "replicate" : {
16006 "default" : 1,
16007 "description" : "Whether the drive should considered for replication jobs.",
16008 "optional" : 1,
16009 "type" : "boolean"
16010 },
16011 "rerror" : {
16012 "description" : "Read error action.",
16013 "enum" : [
16014 "ignore",
16015 "report",
16016 "stop"
16017 ],
16018 "optional" : 1,
16019 "type" : "string"
16020 },
16021 "secs" : {
16022 "description" : "Force the drive's physical geometry to have a specific sector count.",
16023 "optional" : 1,
16024 "type" : "integer"
16025 },
16026 "serial" : {
16027 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16028 "format" : "urlencoded",
16029 "format_description" : "serial",
16030 "maxLength" : 60,
16031 "optional" : 1,
16032 "type" : "string"
16033 },
16034 "shared" : {
16035 "default" : 0,
16036 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 16037 "optional" : 1,
013dc89f 16038 "type" : "boolean",
4d47f125 16039 "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 16040 },
4d47f125
TL
16041 "size" : {
16042 "description" : "Disk size. This is purely informational and has no effect.",
16043 "format" : "disk-size",
16044 "format_description" : "DiskSize",
16045 "optional" : 1,
16046 "type" : "string"
16047 },
16048 "snapshot" : {
16049 "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.",
16050 "optional" : 1,
16051 "type" : "boolean"
16052 },
25203dc1
NC
16053 "ssd" : {
16054 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16055 "optional" : 1,
16056 "type" : "boolean"
16057 },
4d47f125
TL
16058 "trans" : {
16059 "description" : "Force disk geometry bios translation mode.",
16060 "enum" : [
16061 "none",
16062 "lba",
16063 "auto"
16064 ],
16065 "optional" : 1,
16066 "type" : "string"
16067 },
16068 "volume" : {
16069 "alias" : "file"
16070 },
16071 "werror" : {
16072 "description" : "Write error action.",
16073 "enum" : [
16074 "enospc",
16075 "ignore",
16076 "report",
16077 "stop"
16078 ],
16079 "optional" : 1,
16080 "type" : "string"
95895385
TL
16081 },
16082 "wwn" : {
16083 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16084 "format_description" : "wwn",
16085 "optional" : 1,
16086 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16087 "type" : "string"
4d47f125
TL
16088 }
16089 },
16090 "optional" : 1,
013dc89f 16091 "type" : "string",
95895385 16092 "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 16093 },
4d47f125 16094 "ipconfig[n]" : {
4772952b 16095 "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\ngateway 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\ndhcp on IPv4.\n",
4d47f125
TL
16096 "format" : "pve-qm-ipconfig",
16097 "optional" : 1,
013dc89f 16098 "type" : "string",
4d47f125 16099 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 16100 },
95895385
TL
16101 "ivshmem" : {
16102 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
16103 "format" : {
16104 "name" : {
16105 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
16106 "format_description" : "string",
16107 "optional" : 1,
16108 "pattern" : "[a-zA-Z0-9\\-]+",
16109 "type" : "string"
16110 },
16111 "size" : {
16112 "description" : "The size of the file in MB.",
16113 "minimum" : 1,
16114 "type" : "integer"
16115 }
16116 },
16117 "optional" : 1,
16118 "type" : "string",
16119 "typetext" : "size=<integer> [,name=<string>]"
16120 },
4772952b
TL
16121 "keephugepages" : {
16122 "default" : 0,
16123 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
16124 "optional" : 1,
16125 "type" : "boolean",
16126 "typetext" : "<boolean>"
16127 },
4d47f125
TL
16128 "keyboard" : {
16129 "default" : null,
16130 "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.",
16131 "enum" : [
16132 "de",
16133 "de-ch",
16134 "da",
16135 "en-gb",
16136 "en-us",
16137 "es",
16138 "fi",
16139 "fr",
16140 "fr-be",
16141 "fr-ca",
16142 "fr-ch",
16143 "hu",
16144 "is",
16145 "it",
16146 "ja",
16147 "lt",
16148 "mk",
16149 "nl",
16150 "no",
16151 "pl",
16152 "pt",
16153 "pt-br",
16154 "sv",
16155 "sl",
16156 "tr"
16157 ],
16158 "optional" : 1,
16159 "type" : "string"
44660702 16160 },
4d47f125
TL
16161 "kvm" : {
16162 "default" : 1,
16163 "description" : "Enable/disable KVM hardware virtualization.",
44660702 16164 "optional" : 1,
013dc89f
DM
16165 "type" : "boolean",
16166 "typetext" : "<boolean>"
7aacca6f 16167 },
4d47f125
TL
16168 "localtime" : {
16169 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
16170 "optional" : 1,
16171 "type" : "boolean",
16172 "typetext" : "<boolean>"
16173 },
16174 "lock" : {
16175 "description" : "Lock/unlock the VM.",
56122987 16176 "enum" : [
4d47f125 16177 "backup",
5f26e15b
TL
16178 "clone",
16179 "create",
16180 "migrate",
16181 "rollback",
56122987 16182 "snapshot",
95895385
TL
16183 "snapshot-delete",
16184 "suspending",
16185 "suspended"
56122987 16186 ],
4d47f125 16187 "optional" : 1,
44660702
DM
16188 "type" : "string"
16189 },
4d47f125
TL
16190 "machine" : {
16191 "description" : "Specifies the Qemu machine type.",
16192 "maxLength" : 40,
16193 "optional" : 1,
5c1699e5 16194 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
16195 "type" : "string"
16196 },
16197 "memory" : {
16198 "default" : 512,
16199 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
16200 "minimum" : 16,
16201 "optional" : 1,
16202 "type" : "integer",
16203 "typetext" : "<integer> (16 - N)"
16204 },
16205 "migrate_downtime" : {
16206 "default" : 0.1,
16207 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
16208 "minimum" : 0,
16209 "optional" : 1,
16210 "type" : "number",
16211 "typetext" : "<number> (0 - N)"
16212 },
16213 "migrate_speed" : {
16214 "default" : 0,
16215 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
16216 "minimum" : 0,
16217 "optional" : 1,
16218 "type" : "integer",
16219 "typetext" : "<integer> (0 - N)"
16220 },
16221 "name" : {
16222 "description" : "Set a name for the VM. Only used on the configuration web interface.",
16223 "format" : "dns-name",
16224 "optional" : 1,
013dc89f
DM
16225 "type" : "string",
16226 "typetext" : "<string>"
56122987 16227 },
4d47f125 16228 "nameserver" : {
4772952b 16229 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
4d47f125 16230 "format" : "address-list",
7aacca6f 16231 "optional" : 1,
013dc89f
DM
16232 "type" : "string",
16233 "typetext" : "<string>"
7aacca6f 16234 },
4d47f125
TL
16235 "net[n]" : {
16236 "description" : "Specify network devices.",
16237 "format" : {
16238 "bridge" : {
16239 "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",
16240 "format_description" : "bridge",
16241 "optional" : 1,
c5aa7e14 16242 "pattern" : "[-_.\\w\\d]+",
4d47f125
TL
16243 "type" : "string"
16244 },
16245 "e1000" : {
16246 "alias" : "macaddr",
16247 "keyAlias" : "model"
16248 },
16249 "e1000-82540em" : {
16250 "alias" : "macaddr",
16251 "keyAlias" : "model"
16252 },
16253 "e1000-82544gc" : {
16254 "alias" : "macaddr",
16255 "keyAlias" : "model"
16256 },
16257 "e1000-82545em" : {
16258 "alias" : "macaddr",
16259 "keyAlias" : "model"
16260 },
16261 "firewall" : {
16262 "description" : "Whether this interface should be protected by the firewall.",
16263 "optional" : 1,
16264 "type" : "boolean"
16265 },
16266 "i82551" : {
16267 "alias" : "macaddr",
16268 "keyAlias" : "model"
16269 },
16270 "i82557b" : {
16271 "alias" : "macaddr",
16272 "keyAlias" : "model"
16273 },
16274 "i82559er" : {
16275 "alias" : "macaddr",
16276 "keyAlias" : "model"
16277 },
16278 "link_down" : {
16279 "description" : "Whether this interface should be disconnected (like pulling the plug).",
16280 "optional" : 1,
16281 "type" : "boolean"
16282 },
16283 "macaddr" : {
16284 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 16285 "format" : "mac-addr",
4d47f125
TL
16286 "format_description" : "XX:XX:XX:XX:XX:XX",
16287 "optional" : 1,
95895385
TL
16288 "type" : "string",
16289 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
16290 },
16291 "model" : {
16292 "default_key" : 1,
16293 "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'.",
16294 "enum" : [
16295 "rtl8139",
16296 "ne2k_pci",
16297 "e1000",
16298 "pcnet",
16299 "virtio",
16300 "ne2k_isa",
16301 "i82551",
16302 "i82557b",
16303 "i82559er",
16304 "vmxnet3",
16305 "e1000-82540em",
16306 "e1000-82544gc",
16307 "e1000-82545em"
16308 ],
16309 "type" : "string"
16310 },
ac70d7d1
TL
16311 "mtu" : {
16312 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
16313 "maximum" : 65520,
16314 "minimum" : 1,
16315 "optional" : 1,
16316 "type" : "integer"
16317 },
4d47f125
TL
16318 "ne2k_isa" : {
16319 "alias" : "macaddr",
16320 "keyAlias" : "model"
16321 },
16322 "ne2k_pci" : {
16323 "alias" : "macaddr",
16324 "keyAlias" : "model"
16325 },
16326 "pcnet" : {
16327 "alias" : "macaddr",
16328 "keyAlias" : "model"
16329 },
16330 "queues" : {
16331 "description" : "Number of packet queues to be used on the device.",
16332 "maximum" : 16,
16333 "minimum" : 0,
16334 "optional" : 1,
16335 "type" : "integer"
16336 },
16337 "rate" : {
16338 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
16339 "minimum" : 0,
16340 "optional" : 1,
16341 "type" : "number"
16342 },
16343 "rtl8139" : {
16344 "alias" : "macaddr",
16345 "keyAlias" : "model"
16346 },
16347 "tag" : {
16348 "description" : "VLAN tag to apply to packets on this interface.",
16349 "maximum" : 4094,
16350 "minimum" : 1,
16351 "optional" : 1,
16352 "type" : "integer"
16353 },
16354 "trunks" : {
16355 "description" : "VLAN trunks to pass through this interface.",
16356 "format_description" : "vlanid[;vlanid...]",
16357 "optional" : 1,
16358 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
16359 "type" : "string"
16360 },
16361 "virtio" : {
16362 "alias" : "macaddr",
16363 "keyAlias" : "model"
16364 },
16365 "vmxnet3" : {
16366 "alias" : "macaddr",
16367 "keyAlias" : "model"
16368 }
44660702 16369 },
44660702 16370 "optional" : 1,
013dc89f 16371 "type" : "string",
ac70d7d1 16372 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
16373 },
16374 "node" : {
16375 "description" : "The cluster node name.",
16376 "format" : "pve-node",
013dc89f
DM
16377 "type" : "string",
16378 "typetext" : "<string>"
7aacca6f 16379 },
4d47f125
TL
16380 "numa" : {
16381 "default" : 0,
16382 "description" : "Enable/disable NUMA.",
56122987 16383 "optional" : 1,
4d47f125
TL
16384 "type" : "boolean",
16385 "typetext" : "<boolean>"
56122987 16386 },
4d47f125
TL
16387 "numa[n]" : {
16388 "description" : "NUMA topology.",
16389 "format" : {
16390 "cpus" : {
16391 "description" : "CPUs accessing this NUMA node.",
16392 "format_description" : "id[-id];...",
16393 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
16394 "type" : "string"
16395 },
16396 "hostnodes" : {
16397 "description" : "Host NUMA nodes to use.",
16398 "format_description" : "id[-id];...",
16399 "optional" : 1,
16400 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
16401 "type" : "string"
16402 },
16403 "memory" : {
16404 "description" : "Amount of memory this NUMA node provides.",
16405 "optional" : 1,
16406 "type" : "number"
16407 },
16408 "policy" : {
16409 "description" : "NUMA allocation policy.",
16410 "enum" : [
16411 "preferred",
16412 "bind",
16413 "interleave"
16414 ],
16415 "optional" : 1,
16416 "type" : "string"
16417 }
16418 },
7aacca6f 16419 "optional" : 1,
013dc89f 16420 "type" : "string",
4d47f125 16421 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 16422 },
4d47f125 16423 "onboot" : {
44660702 16424 "default" : 0,
4d47f125 16425 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 16426 "optional" : 1,
013dc89f
DM
16427 "type" : "boolean",
16428 "typetext" : "<boolean>"
56122987 16429 },
4d47f125
TL
16430 "ostype" : {
16431 "description" : "Specify guest operating system.",
7aacca6f 16432 "enum" : [
4d47f125
TL
16433 "other",
16434 "wxp",
16435 "w2k",
16436 "w2k3",
16437 "w2k8",
16438 "wvista",
16439 "win7",
16440 "win8",
16441 "win10",
16442 "l24",
16443 "l26",
16444 "solaris"
7aacca6f
DM
16445 ],
16446 "optional" : 1,
013dc89f 16447 "type" : "string",
5c1699e5 16448 "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 16449 },
4d47f125
TL
16450 "parallel[n]" : {
16451 "description" : "Map host parallel devices (n is 0 to 2).",
16452 "optional" : 1,
16453 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 16454 "type" : "string",
4772952b 16455 "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\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 16456 },
4d47f125
TL
16457 "protection" : {
16458 "default" : 0,
16459 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 16460 "optional" : 1,
013dc89f
DM
16461 "type" : "boolean",
16462 "typetext" : "<boolean>"
44660702 16463 },
4d47f125
TL
16464 "reboot" : {
16465 "default" : 1,
16466 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 16467 "optional" : 1,
013dc89f
DM
16468 "type" : "boolean",
16469 "typetext" : "<boolean>"
56122987 16470 },
4d47f125
TL
16471 "revert" : {
16472 "description" : "Revert a pending change.",
16473 "format" : "pve-configid-list",
16474 "optional" : 1,
013dc89f
DM
16475 "type" : "string",
16476 "typetext" : "<string>"
56122987 16477 },
c5aa7e14
TL
16478 "rng0" : {
16479 "description" : "Configure a VirtIO-based Random Number Generator.",
16480 "format" : {
16481 "max_bytes" : {
16482 "default" : 1024,
16483 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
16484 "optional" : 1,
16485 "type" : "integer"
16486 },
16487 "period" : {
16488 "default" : 1000,
16489 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
16490 "optional" : 1,
16491 "type" : "integer"
16492 },
16493 "source" : {
16494 "default_key" : 1,
16495 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
16496 "enum" : [
16497 "/dev/urandom",
16498 "/dev/random",
16499 "/dev/hwrng"
16500 ],
16501 "type" : "string"
16502 }
16503 },
16504 "optional" : 1,
16505 "type" : "string",
16506 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
16507 },
4d47f125
TL
16508 "sata[n]" : {
16509 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
16510 "format" : {
16511 "aio" : {
16512 "description" : "AIO type to use.",
16513 "enum" : [
16514 "native",
16515 "threads"
16516 ],
16517 "optional" : 1,
16518 "type" : "string"
16519 },
16520 "backup" : {
16521 "description" : "Whether the drive should be included when making backups.",
16522 "optional" : 1,
16523 "type" : "boolean"
16524 },
16525 "bps" : {
16526 "description" : "Maximum r/w speed in bytes per second.",
16527 "format_description" : "bps",
16528 "optional" : 1,
16529 "type" : "integer"
16530 },
16531 "bps_max_length" : {
16532 "description" : "Maximum length of I/O bursts in seconds.",
16533 "format_description" : "seconds",
16534 "minimum" : 1,
16535 "optional" : 1,
16536 "type" : "integer"
16537 },
16538 "bps_rd" : {
16539 "description" : "Maximum read speed in bytes per second.",
16540 "format_description" : "bps",
16541 "optional" : 1,
16542 "type" : "integer"
16543 },
16544 "bps_rd_length" : {
16545 "alias" : "bps_rd_max_length"
16546 },
16547 "bps_rd_max_length" : {
16548 "description" : "Maximum length of read I/O bursts in seconds.",
16549 "format_description" : "seconds",
16550 "minimum" : 1,
16551 "optional" : 1,
16552 "type" : "integer"
16553 },
16554 "bps_wr" : {
16555 "description" : "Maximum write speed in bytes per second.",
16556 "format_description" : "bps",
16557 "optional" : 1,
16558 "type" : "integer"
16559 },
16560 "bps_wr_length" : {
16561 "alias" : "bps_wr_max_length"
16562 },
16563 "bps_wr_max_length" : {
16564 "description" : "Maximum length of write I/O bursts in seconds.",
16565 "format_description" : "seconds",
16566 "minimum" : 1,
16567 "optional" : 1,
16568 "type" : "integer"
16569 },
16570 "cache" : {
16571 "description" : "The drive's cache mode",
16572 "enum" : [
16573 "none",
16574 "writethrough",
16575 "writeback",
16576 "unsafe",
16577 "directsync"
16578 ],
16579 "optional" : 1,
16580 "type" : "string"
16581 },
16582 "cyls" : {
16583 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16584 "optional" : 1,
16585 "type" : "integer"
16586 },
16587 "detect_zeroes" : {
16588 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16589 "optional" : 1,
16590 "type" : "boolean"
16591 },
16592 "discard" : {
16593 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16594 "enum" : [
16595 "ignore",
16596 "on"
16597 ],
16598 "optional" : 1,
16599 "type" : "string"
16600 },
16601 "file" : {
16602 "default_key" : 1,
16603 "description" : "The drive's backing volume.",
16604 "format" : "pve-volume-id-or-qm-path",
16605 "format_description" : "volume",
16606 "type" : "string"
16607 },
16608 "format" : {
16609 "description" : "The drive's backing file's data format.",
16610 "enum" : [
16611 "raw",
16612 "cow",
16613 "qcow",
16614 "qed",
16615 "qcow2",
16616 "vmdk",
16617 "cloop"
16618 ],
16619 "optional" : 1,
16620 "type" : "string"
16621 },
16622 "heads" : {
16623 "description" : "Force the drive's physical geometry to have a specific head count.",
16624 "optional" : 1,
16625 "type" : "integer"
16626 },
16627 "iops" : {
16628 "description" : "Maximum r/w I/O in operations per second.",
16629 "format_description" : "iops",
16630 "optional" : 1,
16631 "type" : "integer"
16632 },
16633 "iops_max" : {
16634 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16635 "format_description" : "iops",
16636 "optional" : 1,
16637 "type" : "integer"
16638 },
16639 "iops_max_length" : {
16640 "description" : "Maximum length of I/O bursts in seconds.",
16641 "format_description" : "seconds",
16642 "minimum" : 1,
16643 "optional" : 1,
16644 "type" : "integer"
16645 },
16646 "iops_rd" : {
16647 "description" : "Maximum read I/O in operations per second.",
16648 "format_description" : "iops",
16649 "optional" : 1,
16650 "type" : "integer"
16651 },
16652 "iops_rd_length" : {
16653 "alias" : "iops_rd_max_length"
16654 },
16655 "iops_rd_max" : {
16656 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16657 "format_description" : "iops",
16658 "optional" : 1,
16659 "type" : "integer"
16660 },
16661 "iops_rd_max_length" : {
16662 "description" : "Maximum length of read I/O bursts in seconds.",
16663 "format_description" : "seconds",
16664 "minimum" : 1,
16665 "optional" : 1,
16666 "type" : "integer"
16667 },
16668 "iops_wr" : {
16669 "description" : "Maximum write I/O in operations per second.",
16670 "format_description" : "iops",
16671 "optional" : 1,
16672 "type" : "integer"
16673 },
16674 "iops_wr_length" : {
16675 "alias" : "iops_wr_max_length"
16676 },
16677 "iops_wr_max" : {
16678 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16679 "format_description" : "iops",
16680 "optional" : 1,
16681 "type" : "integer"
16682 },
16683 "iops_wr_max_length" : {
16684 "description" : "Maximum length of write I/O bursts in seconds.",
16685 "format_description" : "seconds",
16686 "minimum" : 1,
16687 "optional" : 1,
16688 "type" : "integer"
16689 },
16690 "mbps" : {
16691 "description" : "Maximum r/w speed in megabytes per second.",
16692 "format_description" : "mbps",
16693 "optional" : 1,
16694 "type" : "number"
16695 },
16696 "mbps_max" : {
16697 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
16698 "format_description" : "mbps",
16699 "optional" : 1,
16700 "type" : "number"
16701 },
16702 "mbps_rd" : {
16703 "description" : "Maximum read speed in megabytes per second.",
16704 "format_description" : "mbps",
16705 "optional" : 1,
16706 "type" : "number"
16707 },
16708 "mbps_rd_max" : {
16709 "description" : "Maximum unthrottled read pool in megabytes per second.",
16710 "format_description" : "mbps",
16711 "optional" : 1,
16712 "type" : "number"
16713 },
16714 "mbps_wr" : {
16715 "description" : "Maximum write speed in megabytes per second.",
16716 "format_description" : "mbps",
16717 "optional" : 1,
16718 "type" : "number"
16719 },
16720 "mbps_wr_max" : {
16721 "description" : "Maximum unthrottled write pool in megabytes per second.",
16722 "format_description" : "mbps",
16723 "optional" : 1,
16724 "type" : "number"
16725 },
16726 "media" : {
16727 "default" : "disk",
16728 "description" : "The drive's media type.",
16729 "enum" : [
16730 "cdrom",
16731 "disk"
16732 ],
16733 "optional" : 1,
16734 "type" : "string"
16735 },
16736 "replicate" : {
16737 "default" : 1,
16738 "description" : "Whether the drive should considered for replication jobs.",
16739 "optional" : 1,
16740 "type" : "boolean"
16741 },
16742 "rerror" : {
16743 "description" : "Read error action.",
16744 "enum" : [
16745 "ignore",
16746 "report",
16747 "stop"
16748 ],
16749 "optional" : 1,
16750 "type" : "string"
16751 },
16752 "secs" : {
16753 "description" : "Force the drive's physical geometry to have a specific sector count.",
16754 "optional" : 1,
16755 "type" : "integer"
16756 },
16757 "serial" : {
16758 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16759 "format" : "urlencoded",
16760 "format_description" : "serial",
16761 "maxLength" : 60,
16762 "optional" : 1,
16763 "type" : "string"
16764 },
16765 "shared" : {
16766 "default" : 0,
16767 "description" : "Mark this locally-managed volume as available on all nodes",
16768 "optional" : 1,
16769 "type" : "boolean",
16770 "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!"
16771 },
16772 "size" : {
16773 "description" : "Disk size. This is purely informational and has no effect.",
16774 "format" : "disk-size",
16775 "format_description" : "DiskSize",
16776 "optional" : 1,
16777 "type" : "string"
16778 },
16779 "snapshot" : {
16780 "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.",
16781 "optional" : 1,
16782 "type" : "boolean"
16783 },
25203dc1
NC
16784 "ssd" : {
16785 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16786 "optional" : 1,
16787 "type" : "boolean"
16788 },
4d47f125
TL
16789 "trans" : {
16790 "description" : "Force disk geometry bios translation mode.",
16791 "enum" : [
16792 "none",
16793 "lba",
16794 "auto"
16795 ],
16796 "optional" : 1,
16797 "type" : "string"
16798 },
16799 "volume" : {
16800 "alias" : "file"
16801 },
16802 "werror" : {
16803 "description" : "Write error action.",
16804 "enum" : [
16805 "enospc",
16806 "ignore",
16807 "report",
16808 "stop"
16809 ],
16810 "optional" : 1,
16811 "type" : "string"
95895385
TL
16812 },
16813 "wwn" : {
16814 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16815 "format_description" : "wwn",
16816 "optional" : 1,
16817 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16818 "type" : "string"
4d47f125
TL
16819 }
16820 },
16821 "optional" : 1,
16822 "type" : "string",
95895385 16823 "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
16824 },
16825 "scsi[n]" : {
e9cd3bd4 16826 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
4d47f125
TL
16827 "format" : {
16828 "aio" : {
16829 "description" : "AIO type to use.",
16830 "enum" : [
16831 "native",
16832 "threads"
16833 ],
16834 "optional" : 1,
16835 "type" : "string"
16836 },
16837 "backup" : {
16838 "description" : "Whether the drive should be included when making backups.",
16839 "optional" : 1,
16840 "type" : "boolean"
16841 },
16842 "bps" : {
16843 "description" : "Maximum r/w speed in bytes per second.",
16844 "format_description" : "bps",
16845 "optional" : 1,
16846 "type" : "integer"
16847 },
16848 "bps_max_length" : {
16849 "description" : "Maximum length of I/O bursts in seconds.",
16850 "format_description" : "seconds",
16851 "minimum" : 1,
16852 "optional" : 1,
16853 "type" : "integer"
16854 },
16855 "bps_rd" : {
16856 "description" : "Maximum read speed in bytes per second.",
16857 "format_description" : "bps",
16858 "optional" : 1,
16859 "type" : "integer"
16860 },
16861 "bps_rd_length" : {
16862 "alias" : "bps_rd_max_length"
16863 },
16864 "bps_rd_max_length" : {
16865 "description" : "Maximum length of read I/O bursts in seconds.",
16866 "format_description" : "seconds",
16867 "minimum" : 1,
16868 "optional" : 1,
16869 "type" : "integer"
16870 },
16871 "bps_wr" : {
16872 "description" : "Maximum write speed in bytes per second.",
16873 "format_description" : "bps",
16874 "optional" : 1,
16875 "type" : "integer"
16876 },
16877 "bps_wr_length" : {
16878 "alias" : "bps_wr_max_length"
16879 },
16880 "bps_wr_max_length" : {
16881 "description" : "Maximum length of write I/O bursts in seconds.",
16882 "format_description" : "seconds",
16883 "minimum" : 1,
16884 "optional" : 1,
16885 "type" : "integer"
16886 },
16887 "cache" : {
16888 "description" : "The drive's cache mode",
16889 "enum" : [
16890 "none",
16891 "writethrough",
16892 "writeback",
16893 "unsafe",
16894 "directsync"
16895 ],
16896 "optional" : 1,
16897 "type" : "string"
16898 },
16899 "cyls" : {
16900 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16901 "optional" : 1,
16902 "type" : "integer"
16903 },
16904 "detect_zeroes" : {
16905 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16906 "optional" : 1,
16907 "type" : "boolean"
16908 },
16909 "discard" : {
16910 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16911 "enum" : [
16912 "ignore",
16913 "on"
16914 ],
16915 "optional" : 1,
16916 "type" : "string"
16917 },
16918 "file" : {
16919 "default_key" : 1,
16920 "description" : "The drive's backing volume.",
16921 "format" : "pve-volume-id-or-qm-path",
16922 "format_description" : "volume",
16923 "type" : "string"
16924 },
16925 "format" : {
16926 "description" : "The drive's backing file's data format.",
16927 "enum" : [
16928 "raw",
16929 "cow",
16930 "qcow",
16931 "qed",
16932 "qcow2",
16933 "vmdk",
16934 "cloop"
16935 ],
16936 "optional" : 1,
16937 "type" : "string"
16938 },
16939 "heads" : {
16940 "description" : "Force the drive's physical geometry to have a specific head count.",
16941 "optional" : 1,
16942 "type" : "integer"
16943 },
16944 "iops" : {
16945 "description" : "Maximum r/w I/O in operations per second.",
16946 "format_description" : "iops",
16947 "optional" : 1,
16948 "type" : "integer"
16949 },
16950 "iops_max" : {
16951 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16952 "format_description" : "iops",
16953 "optional" : 1,
16954 "type" : "integer"
16955 },
16956 "iops_max_length" : {
16957 "description" : "Maximum length of I/O bursts in seconds.",
16958 "format_description" : "seconds",
16959 "minimum" : 1,
16960 "optional" : 1,
16961 "type" : "integer"
16962 },
16963 "iops_rd" : {
16964 "description" : "Maximum read I/O in operations per second.",
16965 "format_description" : "iops",
16966 "optional" : 1,
16967 "type" : "integer"
16968 },
16969 "iops_rd_length" : {
16970 "alias" : "iops_rd_max_length"
16971 },
16972 "iops_rd_max" : {
16973 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16974 "format_description" : "iops",
16975 "optional" : 1,
16976 "type" : "integer"
16977 },
16978 "iops_rd_max_length" : {
16979 "description" : "Maximum length of read I/O bursts in seconds.",
16980 "format_description" : "seconds",
16981 "minimum" : 1,
16982 "optional" : 1,
16983 "type" : "integer"
16984 },
16985 "iops_wr" : {
16986 "description" : "Maximum write I/O in operations per second.",
16987 "format_description" : "iops",
16988 "optional" : 1,
16989 "type" : "integer"
16990 },
16991 "iops_wr_length" : {
16992 "alias" : "iops_wr_max_length"
16993 },
16994 "iops_wr_max" : {
16995 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16996 "format_description" : "iops",
16997 "optional" : 1,
16998 "type" : "integer"
16999 },
17000 "iops_wr_max_length" : {
17001 "description" : "Maximum length of write I/O bursts in seconds.",
17002 "format_description" : "seconds",
17003 "minimum" : 1,
17004 "optional" : 1,
17005 "type" : "integer"
17006 },
17007 "iothread" : {
17008 "description" : "Whether to use iothreads for this drive",
17009 "optional" : 1,
17010 "type" : "boolean"
17011 },
17012 "mbps" : {
17013 "description" : "Maximum r/w speed in megabytes per second.",
17014 "format_description" : "mbps",
17015 "optional" : 1,
17016 "type" : "number"
17017 },
17018 "mbps_max" : {
17019 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17020 "format_description" : "mbps",
17021 "optional" : 1,
17022 "type" : "number"
17023 },
17024 "mbps_rd" : {
17025 "description" : "Maximum read speed in megabytes per second.",
17026 "format_description" : "mbps",
17027 "optional" : 1,
17028 "type" : "number"
17029 },
17030 "mbps_rd_max" : {
17031 "description" : "Maximum unthrottled read pool in megabytes per second.",
17032 "format_description" : "mbps",
17033 "optional" : 1,
17034 "type" : "number"
17035 },
17036 "mbps_wr" : {
17037 "description" : "Maximum write speed in megabytes per second.",
17038 "format_description" : "mbps",
17039 "optional" : 1,
17040 "type" : "number"
17041 },
17042 "mbps_wr_max" : {
17043 "description" : "Maximum unthrottled write pool in megabytes per second.",
17044 "format_description" : "mbps",
17045 "optional" : 1,
17046 "type" : "number"
17047 },
17048 "media" : {
17049 "default" : "disk",
17050 "description" : "The drive's media type.",
17051 "enum" : [
17052 "cdrom",
17053 "disk"
17054 ],
17055 "optional" : 1,
17056 "type" : "string"
17057 },
17058 "queues" : {
17059 "description" : "Number of queues.",
17060 "minimum" : 2,
17061 "optional" : 1,
17062 "type" : "integer"
17063 },
17064 "replicate" : {
17065 "default" : 1,
17066 "description" : "Whether the drive should considered for replication jobs.",
17067 "optional" : 1,
17068 "type" : "boolean"
17069 },
17070 "rerror" : {
17071 "description" : "Read error action.",
17072 "enum" : [
17073 "ignore",
17074 "report",
17075 "stop"
17076 ],
17077 "optional" : 1,
17078 "type" : "string"
17079 },
17080 "scsiblock" : {
17081 "default" : 0,
17082 "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",
17083 "optional" : 1,
17084 "type" : "boolean"
17085 },
17086 "secs" : {
17087 "description" : "Force the drive's physical geometry to have a specific sector count.",
17088 "optional" : 1,
17089 "type" : "integer"
17090 },
17091 "serial" : {
17092 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17093 "format" : "urlencoded",
17094 "format_description" : "serial",
17095 "maxLength" : 60,
17096 "optional" : 1,
17097 "type" : "string"
17098 },
17099 "shared" : {
17100 "default" : 0,
17101 "description" : "Mark this locally-managed volume as available on all nodes",
17102 "optional" : 1,
17103 "type" : "boolean",
17104 "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!"
17105 },
17106 "size" : {
17107 "description" : "Disk size. This is purely informational and has no effect.",
17108 "format" : "disk-size",
17109 "format_description" : "DiskSize",
17110 "optional" : 1,
17111 "type" : "string"
17112 },
17113 "snapshot" : {
17114 "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.",
17115 "optional" : 1,
17116 "type" : "boolean"
17117 },
25203dc1
NC
17118 "ssd" : {
17119 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17120 "optional" : 1,
17121 "type" : "boolean"
17122 },
4d47f125
TL
17123 "trans" : {
17124 "description" : "Force disk geometry bios translation mode.",
17125 "enum" : [
17126 "none",
17127 "lba",
17128 "auto"
17129 ],
17130 "optional" : 1,
17131 "type" : "string"
17132 },
17133 "volume" : {
17134 "alias" : "file"
17135 },
17136 "werror" : {
17137 "description" : "Write error action.",
17138 "enum" : [
17139 "enospc",
17140 "ignore",
17141 "report",
17142 "stop"
17143 ],
17144 "optional" : 1,
17145 "type" : "string"
95895385
TL
17146 },
17147 "wwn" : {
17148 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17149 "format_description" : "wwn",
17150 "optional" : 1,
17151 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17152 "type" : "string"
4d47f125
TL
17153 }
17154 },
17155 "optional" : 1,
17156 "type" : "string",
95895385 17157 "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
17158 },
17159 "scsihw" : {
17160 "default" : "lsi",
17161 "description" : "SCSI controller model",
17162 "enum" : [
17163 "lsi",
17164 "lsi53c810",
17165 "virtio-scsi-pci",
17166 "virtio-scsi-single",
17167 "megasas",
17168 "pvscsi"
17169 ],
17170 "optional" : 1,
17171 "type" : "string"
17172 },
17173 "searchdomain" : {
4772952b 17174 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
4d47f125
TL
17175 "optional" : 1,
17176 "type" : "string",
17177 "typetext" : "<string>"
17178 },
17179 "serial[n]" : {
17180 "description" : "Create a serial device inside the VM (n is 0 to 3)",
17181 "optional" : 1,
17182 "pattern" : "(/dev/.+|socket)",
17183 "type" : "string",
4772952b 17184 "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 -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
4d47f125
TL
17185 },
17186 "shares" : {
17187 "default" : 1000,
17188 "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.",
17189 "maximum" : 50000,
17190 "minimum" : 0,
17191 "optional" : 1,
17192 "type" : "integer",
17193 "typetext" : "<integer> (0 - 50000)"
17194 },
17195 "skiplock" : {
17196 "description" : "Ignore locks - only root is allowed to use this option.",
17197 "optional" : 1,
17198 "type" : "boolean",
17199 "typetext" : "<boolean>"
17200 },
17201 "smbios1" : {
17202 "description" : "Specify SMBIOS type 1 fields.",
17203 "format" : "pve-qm-smbios1",
1e3f8156 17204 "maxLength" : 512,
4d47f125
TL
17205 "optional" : 1,
17206 "type" : "string",
1e3f8156 17207 "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
17208 },
17209 "smp" : {
17210 "default" : 1,
17211 "description" : "The number of CPUs. Please use option -sockets instead.",
17212 "minimum" : 1,
17213 "optional" : 1,
17214 "type" : "integer",
17215 "typetext" : "<integer> (1 - N)"
17216 },
17217 "sockets" : {
17218 "default" : 1,
17219 "description" : "The number of CPU sockets.",
17220 "minimum" : 1,
17221 "optional" : 1,
17222 "type" : "integer",
17223 "typetext" : "<integer> (1 - N)"
17224 },
1c532546
TL
17225 "spice_enhancements" : {
17226 "description" : "Configure additional enhancements for SPICE.",
17227 "format" : {
17228 "foldersharing" : {
17229 "default" : "0",
17230 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
17231 "optional" : 1,
17232 "type" : "boolean"
17233 },
17234 "videostreaming" : {
17235 "default" : "off",
17236 "description" : "Enable video streaming. Uses compression for detected video streams.",
17237 "enum" : [
17238 "off",
17239 "all",
17240 "filter"
17241 ],
17242 "optional" : 1,
17243 "type" : "string"
17244 }
17245 },
17246 "optional" : 1,
17247 "type" : "string",
17248 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
17249 },
4d47f125
TL
17250 "sshkeys" : {
17251 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
17252 "format" : "urlencoded",
17253 "optional" : 1,
17254 "type" : "string",
17255 "typetext" : "<string>"
17256 },
17257 "startdate" : {
17258 "default" : "now",
4772952b 17259 "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'.",
4d47f125
TL
17260 "optional" : 1,
17261 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
17262 "type" : "string",
17263 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
17264 },
17265 "startup" : {
17266 "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.",
17267 "format" : "pve-startup-order",
17268 "optional" : 1,
17269 "type" : "string",
17270 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
17271 },
17272 "tablet" : {
17273 "default" : 1,
17274 "description" : "Enable/disable the USB tablet device.",
17275 "optional" : 1,
17276 "type" : "boolean",
17277 "typetext" : "<boolean>",
4772952b 17278 "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 (`qm set <vmid> --vga qxl`)."
4d47f125 17279 },
5c1699e5
TL
17280 "tags" : {
17281 "description" : "Tags of the VM. This is only meta information.",
17282 "format" : "pve-tag-list",
17283 "optional" : 1,
17284 "type" : "string",
17285 "typetext" : "<string>"
17286 },
4d47f125
TL
17287 "tdf" : {
17288 "default" : 0,
17289 "description" : "Enable/disable time drift fix.",
17290 "optional" : 1,
17291 "type" : "boolean",
17292 "typetext" : "<boolean>"
17293 },
17294 "template" : {
17295 "default" : 0,
17296 "description" : "Enable/disable Template.",
17297 "optional" : 1,
17298 "type" : "boolean",
17299 "typetext" : "<boolean>"
17300 },
17301 "unused[n]" : {
17302 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
17303 "format" : {
17304 "file" : {
17305 "default_key" : 1,
17306 "description" : "The drive's backing volume.",
17307 "format" : "pve-volume-id",
17308 "format_description" : "volume",
17309 "type" : "string"
17310 },
17311 "volume" : {
17312 "alias" : "file"
17313 }
17314 },
4d47f125
TL
17315 "optional" : 1,
17316 "type" : "string",
c5aa7e14 17317 "typetext" : "[file=]<volume>"
4d47f125
TL
17318 },
17319 "usb[n]" : {
17320 "description" : "Configure an USB device (n is 0 to 4).",
17321 "format" : {
17322 "host" : {
17323 "default_key" : 1,
4772952b 17324 "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\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
4d47f125
TL
17325 "format" : "pve-qm-usb-device",
17326 "format_description" : "HOSTUSBDEVICE|spice",
17327 "type" : "string"
17328 },
17329 "usb3" : {
17330 "default" : 0,
1c532546 17331 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
17332 "optional" : 1,
17333 "type" : "boolean"
17334 }
17335 },
17336 "optional" : 1,
17337 "type" : "string",
17338 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
17339 },
17340 "vcpus" : {
17341 "default" : 0,
17342 "description" : "Number of hotplugged vcpus.",
17343 "minimum" : 1,
17344 "optional" : 1,
17345 "type" : "integer",
17346 "typetext" : "<integer> (1 - N)"
17347 },
17348 "vga" : {
e2d681b3
TL
17349 "description" : "Configure the VGA hardware.",
17350 "format" : {
17351 "memory" : {
17352 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
17353 "maximum" : 512,
17354 "minimum" : 4,
17355 "optional" : 1,
17356 "type" : "integer"
17357 },
17358 "type" : {
17359 "default" : "std",
17360 "default_key" : 1,
17361 "description" : "Select the VGA type.",
17362 "enum" : [
17363 "cirrus",
17364 "qxl",
17365 "qxl2",
17366 "qxl3",
17367 "qxl4",
5f26e15b 17368 "none",
e2d681b3
TL
17369 "serial0",
17370 "serial1",
17371 "serial2",
17372 "serial3",
17373 "std",
17374 "virtio",
17375 "vmware"
17376 ],
17377 "optional" : 1,
17378 "type" : "string"
17379 }
17380 },
4d47f125
TL
17381 "optional" : 1,
17382 "type" : "string",
e2d681b3
TL
17383 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
17384 "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
17385 },
17386 "virtio[n]" : {
17387 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
17388 "format" : {
17389 "aio" : {
17390 "description" : "AIO type to use.",
17391 "enum" : [
17392 "native",
17393 "threads"
17394 ],
17395 "optional" : 1,
17396 "type" : "string"
17397 },
17398 "backup" : {
17399 "description" : "Whether the drive should be included when making backups.",
17400 "optional" : 1,
17401 "type" : "boolean"
17402 },
17403 "bps" : {
17404 "description" : "Maximum r/w speed in bytes per second.",
17405 "format_description" : "bps",
17406 "optional" : 1,
17407 "type" : "integer"
17408 },
17409 "bps_max_length" : {
17410 "description" : "Maximum length of I/O bursts in seconds.",
17411 "format_description" : "seconds",
17412 "minimum" : 1,
17413 "optional" : 1,
17414 "type" : "integer"
17415 },
17416 "bps_rd" : {
17417 "description" : "Maximum read speed in bytes per second.",
17418 "format_description" : "bps",
17419 "optional" : 1,
17420 "type" : "integer"
17421 },
17422 "bps_rd_length" : {
17423 "alias" : "bps_rd_max_length"
17424 },
17425 "bps_rd_max_length" : {
17426 "description" : "Maximum length of read I/O bursts in seconds.",
17427 "format_description" : "seconds",
17428 "minimum" : 1,
17429 "optional" : 1,
17430 "type" : "integer"
17431 },
17432 "bps_wr" : {
17433 "description" : "Maximum write speed in bytes per second.",
17434 "format_description" : "bps",
17435 "optional" : 1,
17436 "type" : "integer"
17437 },
17438 "bps_wr_length" : {
17439 "alias" : "bps_wr_max_length"
17440 },
17441 "bps_wr_max_length" : {
17442 "description" : "Maximum length of write I/O bursts in seconds.",
17443 "format_description" : "seconds",
17444 "minimum" : 1,
17445 "optional" : 1,
17446 "type" : "integer"
17447 },
17448 "cache" : {
17449 "description" : "The drive's cache mode",
17450 "enum" : [
17451 "none",
17452 "writethrough",
17453 "writeback",
17454 "unsafe",
17455 "directsync"
17456 ],
17457 "optional" : 1,
17458 "type" : "string"
17459 },
17460 "cyls" : {
17461 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17462 "optional" : 1,
17463 "type" : "integer"
17464 },
17465 "detect_zeroes" : {
17466 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17467 "optional" : 1,
17468 "type" : "boolean"
17469 },
17470 "discard" : {
17471 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17472 "enum" : [
17473 "ignore",
17474 "on"
17475 ],
17476 "optional" : 1,
17477 "type" : "string"
17478 },
17479 "file" : {
17480 "default_key" : 1,
17481 "description" : "The drive's backing volume.",
17482 "format" : "pve-volume-id-or-qm-path",
17483 "format_description" : "volume",
17484 "type" : "string"
17485 },
17486 "format" : {
17487 "description" : "The drive's backing file's data format.",
17488 "enum" : [
17489 "raw",
17490 "cow",
17491 "qcow",
17492 "qed",
17493 "qcow2",
17494 "vmdk",
17495 "cloop"
17496 ],
17497 "optional" : 1,
17498 "type" : "string"
17499 },
17500 "heads" : {
17501 "description" : "Force the drive's physical geometry to have a specific head count.",
17502 "optional" : 1,
17503 "type" : "integer"
17504 },
17505 "iops" : {
17506 "description" : "Maximum r/w I/O in operations per second.",
17507 "format_description" : "iops",
17508 "optional" : 1,
17509 "type" : "integer"
17510 },
17511 "iops_max" : {
17512 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
17513 "format_description" : "iops",
17514 "optional" : 1,
17515 "type" : "integer"
17516 },
17517 "iops_max_length" : {
17518 "description" : "Maximum length of I/O bursts in seconds.",
17519 "format_description" : "seconds",
17520 "minimum" : 1,
17521 "optional" : 1,
17522 "type" : "integer"
17523 },
17524 "iops_rd" : {
17525 "description" : "Maximum read I/O in operations per second.",
17526 "format_description" : "iops",
17527 "optional" : 1,
17528 "type" : "integer"
17529 },
17530 "iops_rd_length" : {
17531 "alias" : "iops_rd_max_length"
17532 },
17533 "iops_rd_max" : {
17534 "description" : "Maximum unthrottled read I/O pool in operations per second.",
17535 "format_description" : "iops",
17536 "optional" : 1,
17537 "type" : "integer"
17538 },
17539 "iops_rd_max_length" : {
17540 "description" : "Maximum length of read I/O bursts in seconds.",
17541 "format_description" : "seconds",
17542 "minimum" : 1,
17543 "optional" : 1,
17544 "type" : "integer"
17545 },
17546 "iops_wr" : {
17547 "description" : "Maximum write I/O in operations per second.",
17548 "format_description" : "iops",
17549 "optional" : 1,
17550 "type" : "integer"
17551 },
17552 "iops_wr_length" : {
17553 "alias" : "iops_wr_max_length"
17554 },
17555 "iops_wr_max" : {
17556 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17557 "format_description" : "iops",
17558 "optional" : 1,
17559 "type" : "integer"
17560 },
17561 "iops_wr_max_length" : {
17562 "description" : "Maximum length of write I/O bursts in seconds.",
17563 "format_description" : "seconds",
17564 "minimum" : 1,
17565 "optional" : 1,
17566 "type" : "integer"
17567 },
17568 "iothread" : {
17569 "description" : "Whether to use iothreads for this drive",
17570 "optional" : 1,
17571 "type" : "boolean"
17572 },
17573 "mbps" : {
17574 "description" : "Maximum r/w speed in megabytes per second.",
17575 "format_description" : "mbps",
17576 "optional" : 1,
17577 "type" : "number"
17578 },
17579 "mbps_max" : {
17580 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17581 "format_description" : "mbps",
17582 "optional" : 1,
17583 "type" : "number"
17584 },
17585 "mbps_rd" : {
17586 "description" : "Maximum read speed in megabytes per second.",
17587 "format_description" : "mbps",
17588 "optional" : 1,
17589 "type" : "number"
17590 },
17591 "mbps_rd_max" : {
17592 "description" : "Maximum unthrottled read pool in megabytes per second.",
17593 "format_description" : "mbps",
17594 "optional" : 1,
17595 "type" : "number"
17596 },
17597 "mbps_wr" : {
17598 "description" : "Maximum write speed in megabytes per second.",
17599 "format_description" : "mbps",
17600 "optional" : 1,
17601 "type" : "number"
17602 },
17603 "mbps_wr_max" : {
17604 "description" : "Maximum unthrottled write pool in megabytes per second.",
17605 "format_description" : "mbps",
17606 "optional" : 1,
17607 "type" : "number"
17608 },
17609 "media" : {
17610 "default" : "disk",
17611 "description" : "The drive's media type.",
17612 "enum" : [
17613 "cdrom",
17614 "disk"
17615 ],
17616 "optional" : 1,
17617 "type" : "string"
17618 },
17619 "replicate" : {
17620 "default" : 1,
17621 "description" : "Whether the drive should considered for replication jobs.",
17622 "optional" : 1,
17623 "type" : "boolean"
17624 },
17625 "rerror" : {
17626 "description" : "Read error action.",
17627 "enum" : [
17628 "ignore",
17629 "report",
17630 "stop"
17631 ],
17632 "optional" : 1,
17633 "type" : "string"
17634 },
17635 "secs" : {
17636 "description" : "Force the drive's physical geometry to have a specific sector count.",
17637 "optional" : 1,
17638 "type" : "integer"
17639 },
17640 "serial" : {
17641 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17642 "format" : "urlencoded",
17643 "format_description" : "serial",
17644 "maxLength" : 60,
17645 "optional" : 1,
17646 "type" : "string"
17647 },
17648 "shared" : {
17649 "default" : 0,
17650 "description" : "Mark this locally-managed volume as available on all nodes",
17651 "optional" : 1,
17652 "type" : "boolean",
17653 "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!"
17654 },
17655 "size" : {
17656 "description" : "Disk size. This is purely informational and has no effect.",
17657 "format" : "disk-size",
17658 "format_description" : "DiskSize",
17659 "optional" : 1,
17660 "type" : "string"
17661 },
17662 "snapshot" : {
17663 "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.",
17664 "optional" : 1,
17665 "type" : "boolean"
17666 },
17667 "trans" : {
17668 "description" : "Force disk geometry bios translation mode.",
17669 "enum" : [
17670 "none",
17671 "lba",
17672 "auto"
17673 ],
17674 "optional" : 1,
17675 "type" : "string"
17676 },
17677 "volume" : {
17678 "alias" : "file"
17679 },
17680 "werror" : {
17681 "description" : "Write error action.",
17682 "enum" : [
17683 "enospc",
17684 "ignore",
17685 "report",
17686 "stop"
17687 ],
17688 "optional" : 1,
17689 "type" : "string"
17690 }
17691 },
17692 "optional" : 1,
17693 "type" : "string",
17694 "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>]"
17695 },
17696 "vmgenid" : {
17697 "default" : "1 (autogenerated)",
17698 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
17699 "format_description" : "UUID",
17700 "optional" : 1,
17701 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
17702 "type" : "string",
4772952b 17703 "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 through API/CLI create or update methods, but not when manually editing the config file."
4d47f125
TL
17704 },
17705 "vmid" : {
17706 "description" : "The (unique) ID of the VM.",
17707 "format" : "pve-vmid",
17708 "minimum" : 1,
17709 "type" : "integer",
17710 "typetext" : "<integer> (1 - N)"
17711 },
17712 "vmstatestorage" : {
17713 "description" : "Default storage for VM state volumes/files.",
17714 "format" : "pve-storage-id",
17715 "optional" : 1,
17716 "type" : "string",
17717 "typetext" : "<string>"
17718 },
17719 "watchdog" : {
17720 "description" : "Create a virtual hardware watchdog device.",
17721 "format" : "pve-qm-watchdog",
17722 "optional" : 1,
17723 "type" : "string",
17724 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
17725 "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)"
17726 }
17727 }
17728 },
17729 "permissions" : {
17730 "check" : [
17731 "perm",
17732 "/vms/{vmid}",
17733 [
17734 "VM.Config.Disk",
17735 "VM.Config.CDROM",
17736 "VM.Config.CPU",
17737 "VM.Config.Memory",
17738 "VM.Config.Network",
17739 "VM.Config.HWType",
ac70d7d1
TL
17740 "VM.Config.Options",
17741 "VM.Config.Cloudinit"
4d47f125
TL
17742 ],
17743 "any",
17744 1
17745 ]
17746 },
17747 "protected" : 1,
17748 "proxyto" : "node",
17749 "returns" : {
17750 "type" : "null"
17751 }
17752 }
17753 },
17754 "leaf" : 1,
17755 "path" : "/nodes/{node}/qemu/{vmid}/config",
17756 "text" : "config"
17757 },
17758 {
17759 "info" : {
17760 "GET" : {
e9cd3bd4
TL
17761 "allowtoken" : 1,
17762 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
17763 "method" : "GET",
17764 "name" : "vm_pending",
17765 "parameters" : {
17766 "additionalProperties" : 0,
17767 "properties" : {
17768 "node" : {
17769 "description" : "The cluster node name.",
17770 "format" : "pve-node",
17771 "type" : "string",
17772 "typetext" : "<string>"
17773 },
17774 "vmid" : {
17775 "description" : "The (unique) ID of the VM.",
17776 "format" : "pve-vmid",
17777 "minimum" : 1,
17778 "type" : "integer",
17779 "typetext" : "<integer> (1 - N)"
17780 }
17781 }
17782 },
17783 "permissions" : {
17784 "check" : [
17785 "perm",
17786 "/vms/{vmid}",
17787 [
17788 "VM.Audit"
17789 ]
17790 ]
17791 },
17792 "proxyto" : "node",
17793 "returns" : {
17794 "items" : {
17795 "properties" : {
17796 "delete" : {
17797 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
17798 "maximum" : 2,
17799 "minimum" : 0,
17800 "optional" : 1,
17801 "type" : "integer"
17802 },
17803 "key" : {
17804 "description" : "Configuration option name.",
17805 "type" : "string"
17806 },
17807 "pending" : {
17808 "description" : "Pending value.",
17809 "optional" : 1,
17810 "type" : "string"
17811 },
17812 "value" : {
17813 "description" : "Current value.",
17814 "optional" : 1,
17815 "type" : "string"
17816 }
17817 },
17818 "type" : "object"
17819 },
17820 "type" : "array"
17821 }
17822 }
17823 },
17824 "leaf" : 1,
17825 "path" : "/nodes/{node}/qemu/{vmid}/pending",
17826 "text" : "pending"
17827 },
17828 {
17829 "info" : {
17830 "PUT" : {
e9cd3bd4 17831 "allowtoken" : 1,
4d47f125
TL
17832 "description" : "Unlink/delete disk images.",
17833 "method" : "PUT",
17834 "name" : "unlink",
17835 "parameters" : {
17836 "additionalProperties" : 0,
17837 "properties" : {
17838 "force" : {
17839 "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.",
17840 "optional" : 1,
17841 "type" : "boolean",
17842 "typetext" : "<boolean>"
17843 },
17844 "idlist" : {
17845 "description" : "A list of disk IDs you want to delete.",
17846 "format" : "pve-configid-list",
17847 "type" : "string",
17848 "typetext" : "<string>"
17849 },
17850 "node" : {
17851 "description" : "The cluster node name.",
17852 "format" : "pve-node",
17853 "type" : "string",
17854 "typetext" : "<string>"
17855 },
17856 "vmid" : {
17857 "description" : "The (unique) ID of the VM.",
17858 "format" : "pve-vmid",
17859 "minimum" : 1,
17860 "type" : "integer",
17861 "typetext" : "<integer> (1 - N)"
17862 }
17863 }
17864 },
17865 "permissions" : {
17866 "check" : [
17867 "perm",
17868 "/vms/{vmid}",
17869 [
17870 "VM.Config.Disk"
17871 ]
17872 ]
17873 },
17874 "protected" : 1,
17875 "proxyto" : "node",
17876 "returns" : {
17877 "type" : "null"
17878 }
17879 }
17880 },
17881 "leaf" : 1,
17882 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
17883 "text" : "unlink"
17884 },
17885 {
17886 "info" : {
17887 "POST" : {
e9cd3bd4 17888 "allowtoken" : 1,
4d47f125
TL
17889 "description" : "Creates a TCP VNC proxy connections.",
17890 "method" : "POST",
17891 "name" : "vncproxy",
17892 "parameters" : {
17893 "additionalProperties" : 0,
17894 "properties" : {
ac70d7d1
TL
17895 "generate-password" : {
17896 "default" : 0,
17897 "description" : "Generates a random password to be used as ticket instead of the API ticket.",
17898 "optional" : 1,
17899 "type" : "boolean",
17900 "typetext" : "<boolean>"
17901 },
4d47f125
TL
17902 "node" : {
17903 "description" : "The cluster node name.",
17904 "format" : "pve-node",
17905 "type" : "string",
17906 "typetext" : "<string>"
17907 },
17908 "vmid" : {
17909 "description" : "The (unique) ID of the VM.",
17910 "format" : "pve-vmid",
17911 "minimum" : 1,
17912 "type" : "integer",
17913 "typetext" : "<integer> (1 - N)"
17914 },
17915 "websocket" : {
17916 "description" : "starts websockify instead of vncproxy",
17917 "optional" : 1,
17918 "type" : "boolean",
17919 "typetext" : "<boolean>"
17920 }
17921 }
17922 },
17923 "permissions" : {
17924 "check" : [
17925 "perm",
17926 "/vms/{vmid}",
17927 [
17928 "VM.Console"
17929 ]
17930 ]
17931 },
17932 "protected" : 1,
17933 "returns" : {
17934 "additionalProperties" : 0,
17935 "properties" : {
17936 "cert" : {
17937 "type" : "string"
17938 },
ac70d7d1
TL
17939 "password" : {
17940 "description" : "Returned if requested with 'generate-password' param. Consists of printable ASCII characters ('!' .. '~').",
17941 "optional" : 1,
17942 "type" : "string"
17943 },
4d47f125
TL
17944 "port" : {
17945 "type" : "integer"
17946 },
17947 "ticket" : {
17948 "type" : "string"
17949 },
17950 "upid" : {
17951 "type" : "string"
17952 },
17953 "user" : {
17954 "type" : "string"
17955 }
17956 }
17957 }
17958 }
17959 },
17960 "leaf" : 1,
17961 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
17962 "text" : "vncproxy"
17963 },
17964 {
17965 "info" : {
17966 "POST" : {
e9cd3bd4 17967 "allowtoken" : 1,
4d47f125
TL
17968 "description" : "Creates a TCP proxy connections.",
17969 "method" : "POST",
17970 "name" : "termproxy",
17971 "parameters" : {
17972 "additionalProperties" : 0,
17973 "properties" : {
17974 "node" : {
17975 "description" : "The cluster node name.",
17976 "format" : "pve-node",
17977 "type" : "string",
17978 "typetext" : "<string>"
17979 },
17980 "serial" : {
17981 "description" : "opens a serial terminal (defaults to display)",
17982 "enum" : [
17983 "serial0",
17984 "serial1",
17985 "serial2",
17986 "serial3"
17987 ],
17988 "optional" : 1,
17989 "type" : "string"
17990 },
17991 "vmid" : {
17992 "description" : "The (unique) ID of the VM.",
17993 "format" : "pve-vmid",
17994 "minimum" : 1,
17995 "type" : "integer",
17996 "typetext" : "<integer> (1 - N)"
17997 }
17998 }
17999 },
18000 "permissions" : {
18001 "check" : [
18002 "perm",
18003 "/vms/{vmid}",
18004 [
18005 "VM.Console"
18006 ]
18007 ]
18008 },
18009 "protected" : 1,
18010 "returns" : {
18011 "additionalProperties" : 0,
18012 "properties" : {
18013 "port" : {
18014 "type" : "integer"
18015 },
18016 "ticket" : {
18017 "type" : "string"
18018 },
18019 "upid" : {
18020 "type" : "string"
18021 },
18022 "user" : {
18023 "type" : "string"
18024 }
18025 }
18026 }
18027 }
18028 },
18029 "leaf" : 1,
18030 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
18031 "text" : "termproxy"
18032 },
18033 {
18034 "info" : {
18035 "GET" : {
e9cd3bd4 18036 "allowtoken" : 1,
4d47f125
TL
18037 "description" : "Opens a weksocket for VNC traffic.",
18038 "method" : "GET",
18039 "name" : "vncwebsocket",
18040 "parameters" : {
18041 "additionalProperties" : 0,
18042 "properties" : {
18043 "node" : {
18044 "description" : "The cluster node name.",
18045 "format" : "pve-node",
18046 "type" : "string",
18047 "typetext" : "<string>"
18048 },
18049 "port" : {
18050 "description" : "Port number returned by previous vncproxy call.",
18051 "maximum" : 5999,
18052 "minimum" : 5900,
18053 "type" : "integer",
18054 "typetext" : "<integer> (5900 - 5999)"
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 "vncticket" : {
18064 "description" : "Ticket from previous call to vncproxy.",
18065 "maxLength" : 512,
18066 "type" : "string",
18067 "typetext" : "<string>"
18068 }
18069 }
18070 },
18071 "permissions" : {
18072 "check" : [
18073 "perm",
18074 "/vms/{vmid}",
18075 [
18076 "VM.Console"
18077 ]
18078 ],
18079 "description" : "You also need to pass a valid ticket (vncticket)."
18080 },
18081 "returns" : {
18082 "properties" : {
18083 "port" : {
18084 "type" : "string"
18085 }
18086 },
18087 "type" : "object"
18088 }
18089 }
18090 },
18091 "leaf" : 1,
18092 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
18093 "text" : "vncwebsocket"
18094 },
18095 {
18096 "info" : {
18097 "POST" : {
e9cd3bd4 18098 "allowtoken" : 1,
4d47f125
TL
18099 "description" : "Returns a SPICE configuration to connect to the VM.",
18100 "method" : "POST",
18101 "name" : "spiceproxy",
18102 "parameters" : {
18103 "additionalProperties" : 0,
18104 "properties" : {
18105 "node" : {
18106 "description" : "The cluster node name.",
18107 "format" : "pve-node",
18108 "type" : "string",
18109 "typetext" : "<string>"
18110 },
18111 "proxy" : {
18112 "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).",
18113 "format" : "address",
18114 "optional" : 1,
18115 "type" : "string",
18116 "typetext" : "<string>"
18117 },
18118 "vmid" : {
18119 "description" : "The (unique) ID of the VM.",
18120 "format" : "pve-vmid",
18121 "minimum" : 1,
18122 "type" : "integer",
18123 "typetext" : "<integer> (1 - N)"
18124 }
18125 }
18126 },
18127 "permissions" : {
18128 "check" : [
18129 "perm",
18130 "/vms/{vmid}",
18131 [
18132 "VM.Console"
18133 ]
18134 ]
18135 },
18136 "protected" : 1,
18137 "proxyto" : "node",
18138 "returns" : {
18139 "additionalProperties" : 1,
18140 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
18141 "properties" : {
18142 "host" : {
18143 "type" : "string"
18144 },
18145 "password" : {
18146 "type" : "string"
18147 },
18148 "proxy" : {
18149 "type" : "string"
18150 },
18151 "tls-port" : {
18152 "type" : "integer"
18153 },
18154 "type" : {
18155 "type" : "string"
18156 }
18157 }
18158 }
18159 }
18160 },
18161 "leaf" : 1,
18162 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
18163 "text" : "spiceproxy"
18164 },
18165 {
18166 "children" : [
18167 {
18168 "info" : {
18169 "GET" : {
e9cd3bd4 18170 "allowtoken" : 1,
4d47f125
TL
18171 "description" : "Get virtual machine status.",
18172 "method" : "GET",
18173 "name" : "vm_status",
18174 "parameters" : {
18175 "additionalProperties" : 0,
18176 "properties" : {
18177 "node" : {
18178 "description" : "The cluster node name.",
18179 "format" : "pve-node",
18180 "type" : "string",
18181 "typetext" : "<string>"
18182 },
18183 "vmid" : {
18184 "description" : "The (unique) ID of the VM.",
18185 "format" : "pve-vmid",
18186 "minimum" : 1,
18187 "type" : "integer",
18188 "typetext" : "<integer> (1 - N)"
18189 }
18190 }
18191 },
18192 "permissions" : {
18193 "check" : [
18194 "perm",
18195 "/vms/{vmid}",
18196 [
18197 "VM.Audit"
18198 ]
18199 ]
18200 },
18201 "protected" : 1,
18202 "proxyto" : "node",
18203 "returns" : {
18204 "properties" : {
18205 "agent" : {
18206 "description" : "Qemu GuestAgent enabled in config.",
18207 "optional" : 1,
18208 "type" : "boolean"
18209 },
18210 "cpus" : {
18211 "description" : "Maximum usable CPUs.",
18212 "optional" : 1,
18213 "type" : "number"
18214 },
18215 "ha" : {
18216 "description" : "HA manager service status.",
18217 "type" : "object"
18218 },
95895385
TL
18219 "lock" : {
18220 "description" : "The current config lock, if any.",
18221 "optional" : 1,
18222 "type" : "string"
18223 },
4d47f125
TL
18224 "maxdisk" : {
18225 "description" : "Root disk size in bytes.",
18226 "optional" : 1,
18227 "renderer" : "bytes",
18228 "type" : "integer"
18229 },
18230 "maxmem" : {
18231 "description" : "Maximum memory in bytes.",
18232 "optional" : 1,
18233 "renderer" : "bytes",
18234 "type" : "integer"
18235 },
18236 "name" : {
18237 "description" : "VM name.",
18238 "optional" : 1,
18239 "type" : "string"
18240 },
18241 "pid" : {
18242 "description" : "PID of running qemu process.",
18243 "optional" : 1,
18244 "type" : "integer"
18245 },
18246 "qmpstatus" : {
18247 "description" : "Qemu QMP agent status.",
18248 "optional" : 1,
18249 "type" : "string"
18250 },
18251 "spice" : {
18252 "description" : "Qemu VGA configuration supports spice.",
18253 "optional" : 1,
18254 "type" : "boolean"
18255 },
18256 "status" : {
18257 "description" : "Qemu process status.",
18258 "enum" : [
18259 "stopped",
18260 "running"
18261 ],
18262 "type" : "string"
18263 },
5c1699e5
TL
18264 "tags" : {
18265 "description" : "The current configured tags, if any",
18266 "optional" : 1,
18267 "type" : "string"
18268 },
4d47f125
TL
18269 "uptime" : {
18270 "description" : "Uptime.",
18271 "optional" : 1,
18272 "renderer" : "duration",
18273 "type" : "integer"
18274 },
18275 "vmid" : {
18276 "description" : "The (unique) ID of the VM.",
18277 "format" : "pve-vmid",
18278 "minimum" : 1,
18279 "type" : "integer"
18280 }
18281 },
18282 "type" : "object"
18283 }
18284 }
18285 },
18286 "leaf" : 1,
18287 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
18288 "text" : "current"
18289 },
18290 {
18291 "info" : {
18292 "POST" : {
e9cd3bd4 18293 "allowtoken" : 1,
4d47f125
TL
18294 "description" : "Start virtual machine.",
18295 "method" : "POST",
18296 "name" : "vm_start",
18297 "parameters" : {
18298 "additionalProperties" : 0,
18299 "properties" : {
c5aa7e14
TL
18300 "force-cpu" : {
18301 "description" : "Override QEMU's -cpu argument with the given string.",
18302 "optional" : 1,
18303 "type" : "string",
18304 "typetext" : "<string>"
18305 },
4d47f125
TL
18306 "machine" : {
18307 "description" : "Specifies the Qemu machine type.",
18308 "maxLength" : 40,
18309 "optional" : 1,
5c1699e5 18310 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
18311 "type" : "string"
18312 },
18313 "migratedfrom" : {
18314 "description" : "The cluster node name.",
18315 "format" : "pve-node",
18316 "optional" : 1,
18317 "type" : "string",
18318 "typetext" : "<string>"
18319 },
18320 "migration_network" : {
18321 "description" : "CIDR of the (sub) network that is used for migration.",
18322 "format" : "CIDR",
18323 "optional" : 1,
18324 "type" : "string",
18325 "typetext" : "<string>"
18326 },
18327 "migration_type" : {
18328 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
18329 "enum" : [
18330 "secure",
18331 "insecure"
18332 ],
18333 "optional" : 1,
18334 "type" : "string"
18335 },
18336 "node" : {
18337 "description" : "The cluster node name.",
18338 "format" : "pve-node",
18339 "type" : "string",
18340 "typetext" : "<string>"
18341 },
18342 "skiplock" : {
18343 "description" : "Ignore locks - only root is allowed to use this option.",
18344 "optional" : 1,
18345 "type" : "boolean",
18346 "typetext" : "<boolean>"
18347 },
18348 "stateuri" : {
18349 "description" : "Some command save/restore state from this location.",
18350 "maxLength" : 128,
18351 "optional" : 1,
18352 "type" : "string",
18353 "typetext" : "<string>"
18354 },
18355 "targetstorage" : {
c5aa7e14
TL
18356 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
18357 "format" : "storagepair-list",
4d47f125
TL
18358 "optional" : 1,
18359 "type" : "string",
18360 "typetext" : "<string>"
18361 },
e9cd3bd4
TL
18362 "timeout" : {
18363 "default" : "max(30, vm memory in GiB)",
18364 "description" : "Wait maximal timeout seconds.",
18365 "minimum" : 0,
18366 "optional" : 1,
18367 "type" : "integer",
18368 "typetext" : "<integer> (0 - N)"
18369 },
4d47f125
TL
18370 "vmid" : {
18371 "description" : "The (unique) ID of the VM.",
18372 "format" : "pve-vmid",
18373 "minimum" : 1,
18374 "type" : "integer",
18375 "typetext" : "<integer> (1 - N)"
18376 }
18377 }
18378 },
18379 "permissions" : {
18380 "check" : [
18381 "perm",
18382 "/vms/{vmid}",
18383 [
18384 "VM.PowerMgmt"
18385 ]
18386 ]
18387 },
18388 "protected" : 1,
18389 "proxyto" : "node",
18390 "returns" : {
18391 "type" : "string"
18392 }
18393 }
18394 },
18395 "leaf" : 1,
18396 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
18397 "text" : "start"
18398 },
18399 {
18400 "info" : {
18401 "POST" : {
e9cd3bd4 18402 "allowtoken" : 1,
4d47f125
TL
18403 "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",
18404 "method" : "POST",
18405 "name" : "vm_stop",
18406 "parameters" : {
18407 "additionalProperties" : 0,
18408 "properties" : {
18409 "keepActive" : {
18410 "default" : 0,
18411 "description" : "Do not deactivate storage volumes.",
18412 "optional" : 1,
18413 "type" : "boolean",
18414 "typetext" : "<boolean>"
18415 },
18416 "migratedfrom" : {
18417 "description" : "The cluster node name.",
18418 "format" : "pve-node",
18419 "optional" : 1,
18420 "type" : "string",
18421 "typetext" : "<string>"
18422 },
18423 "node" : {
18424 "description" : "The cluster node name.",
18425 "format" : "pve-node",
18426 "type" : "string",
18427 "typetext" : "<string>"
18428 },
18429 "skiplock" : {
18430 "description" : "Ignore locks - only root is allowed to use this option.",
18431 "optional" : 1,
18432 "type" : "boolean",
18433 "typetext" : "<boolean>"
18434 },
18435 "timeout" : {
18436 "description" : "Wait maximal timeout seconds.",
18437 "minimum" : 0,
18438 "optional" : 1,
18439 "type" : "integer",
18440 "typetext" : "<integer> (0 - N)"
18441 },
18442 "vmid" : {
18443 "description" : "The (unique) ID of the VM.",
18444 "format" : "pve-vmid",
18445 "minimum" : 1,
18446 "type" : "integer",
18447 "typetext" : "<integer> (1 - N)"
18448 }
18449 }
18450 },
18451 "permissions" : {
18452 "check" : [
18453 "perm",
18454 "/vms/{vmid}",
18455 [
18456 "VM.PowerMgmt"
18457 ]
18458 ]
18459 },
18460 "protected" : 1,
18461 "proxyto" : "node",
18462 "returns" : {
18463 "type" : "string"
18464 }
18465 }
18466 },
18467 "leaf" : 1,
18468 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
18469 "text" : "stop"
18470 },
18471 {
18472 "info" : {
18473 "POST" : {
e9cd3bd4 18474 "allowtoken" : 1,
4d47f125
TL
18475 "description" : "Reset virtual machine.",
18476 "method" : "POST",
18477 "name" : "vm_reset",
18478 "parameters" : {
18479 "additionalProperties" : 0,
18480 "properties" : {
18481 "node" : {
18482 "description" : "The cluster node name.",
18483 "format" : "pve-node",
18484 "type" : "string",
18485 "typetext" : "<string>"
18486 },
18487 "skiplock" : {
18488 "description" : "Ignore locks - only root is allowed to use this option.",
18489 "optional" : 1,
18490 "type" : "boolean",
18491 "typetext" : "<boolean>"
18492 },
18493 "vmid" : {
18494 "description" : "The (unique) ID of the VM.",
18495 "format" : "pve-vmid",
18496 "minimum" : 1,
18497 "type" : "integer",
18498 "typetext" : "<integer> (1 - N)"
18499 }
18500 }
18501 },
18502 "permissions" : {
18503 "check" : [
18504 "perm",
18505 "/vms/{vmid}",
18506 [
18507 "VM.PowerMgmt"
18508 ]
18509 ]
18510 },
18511 "protected" : 1,
18512 "proxyto" : "node",
18513 "returns" : {
18514 "type" : "string"
18515 }
18516 }
18517 },
18518 "leaf" : 1,
18519 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
18520 "text" : "reset"
18521 },
18522 {
18523 "info" : {
18524 "POST" : {
e9cd3bd4 18525 "allowtoken" : 1,
4d47f125
TL
18526 "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.",
18527 "method" : "POST",
18528 "name" : "vm_shutdown",
18529 "parameters" : {
18530 "additionalProperties" : 0,
18531 "properties" : {
18532 "forceStop" : {
18533 "default" : 0,
18534 "description" : "Make sure the VM stops.",
18535 "optional" : 1,
18536 "type" : "boolean",
18537 "typetext" : "<boolean>"
18538 },
18539 "keepActive" : {
18540 "default" : 0,
18541 "description" : "Do not deactivate storage volumes.",
18542 "optional" : 1,
18543 "type" : "boolean",
18544 "typetext" : "<boolean>"
18545 },
18546 "node" : {
18547 "description" : "The cluster node name.",
18548 "format" : "pve-node",
18549 "type" : "string",
18550 "typetext" : "<string>"
18551 },
18552 "skiplock" : {
18553 "description" : "Ignore locks - only root is allowed to use this option.",
18554 "optional" : 1,
18555 "type" : "boolean",
18556 "typetext" : "<boolean>"
18557 },
18558 "timeout" : {
18559 "description" : "Wait maximal timeout seconds.",
18560 "minimum" : 0,
18561 "optional" : 1,
18562 "type" : "integer",
18563 "typetext" : "<integer> (0 - N)"
18564 },
18565 "vmid" : {
18566 "description" : "The (unique) ID of the VM.",
18567 "format" : "pve-vmid",
18568 "minimum" : 1,
18569 "type" : "integer",
18570 "typetext" : "<integer> (1 - N)"
18571 }
18572 }
18573 },
18574 "permissions" : {
18575 "check" : [
18576 "perm",
18577 "/vms/{vmid}",
18578 [
18579 "VM.PowerMgmt"
18580 ]
18581 ]
18582 },
18583 "protected" : 1,
18584 "proxyto" : "node",
18585 "returns" : {
18586 "type" : "string"
18587 }
18588 }
18589 },
18590 "leaf" : 1,
18591 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
18592 "text" : "shutdown"
18593 },
1c532546
TL
18594 {
18595 "info" : {
18596 "POST" : {
e9cd3bd4 18597 "allowtoken" : 1,
1c532546
TL
18598 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
18599 "method" : "POST",
18600 "name" : "vm_reboot",
18601 "parameters" : {
18602 "additionalProperties" : 0,
18603 "properties" : {
18604 "node" : {
18605 "description" : "The cluster node name.",
18606 "format" : "pve-node",
18607 "type" : "string",
18608 "typetext" : "<string>"
18609 },
18610 "timeout" : {
18611 "description" : "Wait maximal timeout seconds for the shutdown.",
18612 "minimum" : 0,
18613 "optional" : 1,
18614 "type" : "integer",
18615 "typetext" : "<integer> (0 - N)"
18616 },
18617 "vmid" : {
18618 "description" : "The (unique) ID of the VM.",
18619 "format" : "pve-vmid",
18620 "minimum" : 1,
18621 "type" : "integer",
18622 "typetext" : "<integer> (1 - N)"
18623 }
18624 }
18625 },
18626 "permissions" : {
18627 "check" : [
18628 "perm",
18629 "/vms/{vmid}",
18630 [
18631 "VM.PowerMgmt"
18632 ]
18633 ]
18634 },
18635 "protected" : 1,
18636 "proxyto" : "node",
18637 "returns" : {
18638 "type" : "string"
18639 }
18640 }
18641 },
18642 "leaf" : 1,
18643 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
18644 "text" : "reboot"
18645 },
4d47f125
TL
18646 {
18647 "info" : {
18648 "POST" : {
e9cd3bd4 18649 "allowtoken" : 1,
4d47f125
TL
18650 "description" : "Suspend virtual machine.",
18651 "method" : "POST",
18652 "name" : "vm_suspend",
18653 "parameters" : {
18654 "additionalProperties" : 0,
18655 "properties" : {
18656 "node" : {
18657 "description" : "The cluster node name.",
18658 "format" : "pve-node",
18659 "type" : "string",
18660 "typetext" : "<string>"
18661 },
18662 "skiplock" : {
18663 "description" : "Ignore locks - only root is allowed to use this option.",
18664 "optional" : 1,
18665 "type" : "boolean",
18666 "typetext" : "<boolean>"
18667 },
95895385
TL
18668 "statestorage" : {
18669 "description" : "The storage for the VM state",
18670 "format" : "pve-storage-id",
18671 "optional" : 1,
18672 "requires" : "todisk",
18673 "type" : "string",
18674 "typetext" : "<string>"
18675 },
18676 "todisk" : {
18677 "default" : 0,
18678 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
18679 "optional" : 1,
18680 "type" : "boolean",
18681 "typetext" : "<boolean>"
18682 },
4d47f125
TL
18683 "vmid" : {
18684 "description" : "The (unique) ID of the VM.",
18685 "format" : "pve-vmid",
18686 "minimum" : 1,
18687 "type" : "integer",
18688 "typetext" : "<integer> (1 - N)"
18689 }
18690 }
18691 },
18692 "permissions" : {
18693 "check" : [
18694 "perm",
18695 "/vms/{vmid}",
18696 [
18697 "VM.PowerMgmt"
18698 ]
e9cd3bd4
TL
18699 ],
18700 "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
18701 },
18702 "protected" : 1,
18703 "proxyto" : "node",
18704 "returns" : {
18705 "type" : "string"
18706 }
18707 }
18708 },
18709 "leaf" : 1,
18710 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
18711 "text" : "suspend"
18712 },
18713 {
18714 "info" : {
18715 "POST" : {
e9cd3bd4 18716 "allowtoken" : 1,
4d47f125
TL
18717 "description" : "Resume virtual machine.",
18718 "method" : "POST",
18719 "name" : "vm_resume",
18720 "parameters" : {
18721 "additionalProperties" : 0,
18722 "properties" : {
18723 "nocheck" : {
18724 "optional" : 1,
18725 "type" : "boolean",
18726 "typetext" : "<boolean>"
18727 },
18728 "node" : {
18729 "description" : "The cluster node name.",
18730 "format" : "pve-node",
18731 "type" : "string",
18732 "typetext" : "<string>"
18733 },
18734 "skiplock" : {
18735 "description" : "Ignore locks - only root is allowed to use this option.",
18736 "optional" : 1,
18737 "type" : "boolean",
18738 "typetext" : "<boolean>"
18739 },
18740 "vmid" : {
18741 "description" : "The (unique) ID of the VM.",
18742 "format" : "pve-vmid",
18743 "minimum" : 1,
18744 "type" : "integer",
18745 "typetext" : "<integer> (1 - N)"
18746 }
18747 }
18748 },
18749 "permissions" : {
18750 "check" : [
18751 "perm",
18752 "/vms/{vmid}",
18753 [
18754 "VM.PowerMgmt"
18755 ]
18756 ]
18757 },
18758 "protected" : 1,
18759 "proxyto" : "node",
18760 "returns" : {
18761 "type" : "string"
18762 }
18763 }
18764 },
18765 "leaf" : 1,
18766 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
18767 "text" : "resume"
18768 }
18769 ],
18770 "info" : {
18771 "GET" : {
e9cd3bd4 18772 "allowtoken" : 1,
4d47f125
TL
18773 "description" : "Directory index",
18774 "method" : "GET",
18775 "name" : "vmcmdidx",
18776 "parameters" : {
18777 "additionalProperties" : 0,
18778 "properties" : {
18779 "node" : {
18780 "description" : "The cluster node name.",
18781 "format" : "pve-node",
18782 "type" : "string",
18783 "typetext" : "<string>"
18784 },
18785 "vmid" : {
18786 "description" : "The (unique) ID of the VM.",
18787 "format" : "pve-vmid",
18788 "minimum" : 1,
18789 "type" : "integer",
18790 "typetext" : "<integer> (1 - N)"
18791 }
18792 }
18793 },
18794 "permissions" : {
18795 "user" : "all"
18796 },
18797 "proxyto" : "node",
18798 "returns" : {
18799 "items" : {
18800 "properties" : {
18801 "subdir" : {
18802 "type" : "string"
18803 }
18804 },
18805 "type" : "object"
18806 },
18807 "links" : [
18808 {
18809 "href" : "{subdir}",
18810 "rel" : "child"
18811 }
18812 ],
18813 "type" : "array"
18814 }
18815 }
18816 },
18817 "leaf" : 0,
18818 "path" : "/nodes/{node}/qemu/{vmid}/status",
18819 "text" : "status"
18820 },
18821 {
18822 "info" : {
18823 "PUT" : {
e9cd3bd4 18824 "allowtoken" : 1,
4d47f125
TL
18825 "description" : "Send key event to virtual machine.",
18826 "method" : "PUT",
18827 "name" : "vm_sendkey",
18828 "parameters" : {
18829 "additionalProperties" : 0,
18830 "properties" : {
18831 "key" : {
18832 "description" : "The key (qemu monitor encoding).",
18833 "type" : "string",
18834 "typetext" : "<string>"
18835 },
18836 "node" : {
18837 "description" : "The cluster node name.",
18838 "format" : "pve-node",
18839 "type" : "string",
18840 "typetext" : "<string>"
18841 },
18842 "skiplock" : {
18843 "description" : "Ignore locks - only root is allowed to use this option.",
18844 "optional" : 1,
18845 "type" : "boolean",
18846 "typetext" : "<boolean>"
18847 },
18848 "vmid" : {
18849 "description" : "The (unique) ID of the VM.",
18850 "format" : "pve-vmid",
18851 "minimum" : 1,
18852 "type" : "integer",
18853 "typetext" : "<integer> (1 - N)"
18854 }
18855 }
18856 },
18857 "permissions" : {
18858 "check" : [
18859 "perm",
18860 "/vms/{vmid}",
18861 [
18862 "VM.Console"
18863 ]
18864 ]
18865 },
18866 "protected" : 1,
18867 "proxyto" : "node",
18868 "returns" : {
18869 "type" : "null"
18870 }
18871 }
18872 },
18873 "leaf" : 1,
18874 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
18875 "text" : "sendkey"
18876 },
18877 {
18878 "info" : {
18879 "GET" : {
e9cd3bd4 18880 "allowtoken" : 1,
4d47f125
TL
18881 "description" : "Check if feature for virtual machine is available.",
18882 "method" : "GET",
18883 "name" : "vm_feature",
18884 "parameters" : {
18885 "additionalProperties" : 0,
18886 "properties" : {
18887 "feature" : {
18888 "description" : "Feature to check.",
18889 "enum" : [
18890 "snapshot",
18891 "clone",
18892 "copy"
18893 ],
18894 "type" : "string"
18895 },
18896 "node" : {
18897 "description" : "The cluster node name.",
18898 "format" : "pve-node",
18899 "type" : "string",
18900 "typetext" : "<string>"
18901 },
18902 "snapname" : {
18903 "description" : "The name of the snapshot.",
18904 "format" : "pve-configid",
18905 "maxLength" : 40,
18906 "optional" : 1,
18907 "type" : "string",
18908 "typetext" : "<string>"
18909 },
18910 "vmid" : {
18911 "description" : "The (unique) ID of the VM.",
18912 "format" : "pve-vmid",
18913 "minimum" : 1,
18914 "type" : "integer",
18915 "typetext" : "<integer> (1 - N)"
18916 }
18917 }
18918 },
18919 "permissions" : {
18920 "check" : [
18921 "perm",
18922 "/vms/{vmid}",
18923 [
18924 "VM.Audit"
18925 ]
18926 ]
18927 },
18928 "protected" : 1,
18929 "proxyto" : "node",
18930 "returns" : {
18931 "properties" : {
18932 "hasFeature" : {
18933 "type" : "boolean"
18934 },
18935 "nodes" : {
18936 "items" : {
18937 "type" : "string"
18938 },
18939 "type" : "array"
18940 }
18941 },
18942 "type" : "object"
18943 }
18944 }
18945 },
18946 "leaf" : 1,
18947 "path" : "/nodes/{node}/qemu/{vmid}/feature",
18948 "text" : "feature"
18949 },
18950 {
18951 "info" : {
18952 "POST" : {
e9cd3bd4 18953 "allowtoken" : 1,
4d47f125
TL
18954 "description" : "Create a copy of virtual machine/template.",
18955 "method" : "POST",
18956 "name" : "clone_vm",
18957 "parameters" : {
18958 "additionalProperties" : 0,
18959 "properties" : {
95895385
TL
18960 "bwlimit" : {
18961 "default" : "clone limit from datacenter or storage config",
18962 "description" : "Override I/O bandwidth limit (in KiB/s).",
18963 "minimum" : "0",
18964 "optional" : 1,
18965 "type" : "integer",
18966 "typetext" : "<integer> (0 - N)"
18967 },
4d47f125
TL
18968 "description" : {
18969 "description" : "Description for the new VM.",
18970 "optional" : 1,
18971 "type" : "string",
18972 "typetext" : "<string>"
18973 },
18974 "format" : {
18975 "description" : "Target format for file storage. Only valid for full clone.",
18976 "enum" : [
18977 "raw",
18978 "qcow2",
18979 "vmdk"
18980 ],
18981 "optional" : 1,
18982 "type" : "string"
18983 },
18984 "full" : {
18985 "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.",
18986 "optional" : 1,
18987 "type" : "boolean",
18988 "typetext" : "<boolean>"
18989 },
18990 "name" : {
18991 "description" : "Set a name for the new VM.",
18992 "format" : "dns-name",
18993 "optional" : 1,
18994 "type" : "string",
18995 "typetext" : "<string>"
18996 },
18997 "newid" : {
18998 "description" : "VMID for the clone.",
18999 "format" : "pve-vmid",
19000 "minimum" : 1,
19001 "type" : "integer",
19002 "typetext" : "<integer> (1 - N)"
19003 },
19004 "node" : {
19005 "description" : "The cluster node name.",
19006 "format" : "pve-node",
19007 "type" : "string",
19008 "typetext" : "<string>"
19009 },
19010 "pool" : {
19011 "description" : "Add the new VM to the specified pool.",
19012 "format" : "pve-poolid",
19013 "optional" : 1,
19014 "type" : "string",
19015 "typetext" : "<string>"
19016 },
19017 "snapname" : {
19018 "description" : "The name of the snapshot.",
19019 "format" : "pve-configid",
19020 "maxLength" : 40,
19021 "optional" : 1,
19022 "type" : "string",
19023 "typetext" : "<string>"
19024 },
19025 "storage" : {
19026 "description" : "Target storage for full clone.",
19027 "format" : "pve-storage-id",
19028 "optional" : 1,
19029 "type" : "string",
19030 "typetext" : "<string>"
19031 },
19032 "target" : {
19033 "description" : "Target node. Only allowed if the original VM is on shared storage.",
19034 "format" : "pve-node",
19035 "optional" : 1,
19036 "type" : "string",
19037 "typetext" : "<string>"
19038 },
19039 "vmid" : {
19040 "description" : "The (unique) ID of the VM.",
19041 "format" : "pve-vmid",
19042 "minimum" : 1,
19043 "type" : "integer",
19044 "typetext" : "<integer> (1 - N)"
19045 }
19046 }
19047 },
19048 "permissions" : {
19049 "check" : [
19050 "and",
19051 [
19052 "perm",
19053 "/vms/{vmid}",
19054 [
19055 "VM.Clone"
19056 ]
19057 ],
19058 [
19059 "or",
19060 [
19061 "perm",
19062 "/vms/{newid}",
19063 [
19064 "VM.Allocate"
19065 ]
19066 ],
19067 [
19068 "perm",
19069 "/pool/{pool}",
19070 [
19071 "VM.Allocate"
19072 ],
19073 "require_param",
19074 "pool"
19075 ]
19076 ]
19077 ],
19078 "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."
19079 },
19080 "protected" : 1,
19081 "proxyto" : "node",
19082 "returns" : {
19083 "type" : "string"
19084 }
19085 }
19086 },
19087 "leaf" : 1,
19088 "path" : "/nodes/{node}/qemu/{vmid}/clone",
19089 "text" : "clone"
19090 },
19091 {
19092 "info" : {
19093 "POST" : {
e9cd3bd4 19094 "allowtoken" : 1,
4d47f125
TL
19095 "description" : "Move volume to different storage.",
19096 "method" : "POST",
19097 "name" : "move_vm_disk",
19098 "parameters" : {
19099 "additionalProperties" : 0,
19100 "properties" : {
95895385
TL
19101 "bwlimit" : {
19102 "default" : "move limit from datacenter or storage config",
19103 "description" : "Override I/O bandwidth limit (in KiB/s).",
19104 "minimum" : "0",
19105 "optional" : 1,
19106 "type" : "integer",
19107 "typetext" : "<integer> (0 - N)"
19108 },
4d47f125
TL
19109 "delete" : {
19110 "default" : 0,
19111 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
19112 "optional" : 1,
19113 "type" : "boolean",
19114 "typetext" : "<boolean>"
19115 },
19116 "digest" : {
19117 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19118 "maxLength" : 40,
19119 "optional" : 1,
19120 "type" : "string",
19121 "typetext" : "<string>"
19122 },
19123 "disk" : {
19124 "description" : "The disk you want to move.",
19125 "enum" : [
19126 "ide0",
19127 "ide1",
19128 "ide2",
19129 "ide3",
19130 "scsi0",
19131 "scsi1",
19132 "scsi2",
19133 "scsi3",
19134 "scsi4",
19135 "scsi5",
19136 "scsi6",
19137 "scsi7",
19138 "scsi8",
19139 "scsi9",
19140 "scsi10",
19141 "scsi11",
19142 "scsi12",
19143 "scsi13",
e9cd3bd4
TL
19144 "scsi14",
19145 "scsi15",
19146 "scsi16",
19147 "scsi17",
19148 "scsi18",
19149 "scsi19",
19150 "scsi20",
19151 "scsi21",
19152 "scsi22",
19153 "scsi23",
19154 "scsi24",
19155 "scsi25",
19156 "scsi26",
19157 "scsi27",
19158 "scsi28",
19159 "scsi29",
19160 "scsi30",
4d47f125
TL
19161 "virtio0",
19162 "virtio1",
19163 "virtio2",
19164 "virtio3",
19165 "virtio4",
19166 "virtio5",
19167 "virtio6",
19168 "virtio7",
19169 "virtio8",
19170 "virtio9",
19171 "virtio10",
19172 "virtio11",
19173 "virtio12",
19174 "virtio13",
19175 "virtio14",
19176 "virtio15",
19177 "sata0",
19178 "sata1",
19179 "sata2",
19180 "sata3",
19181 "sata4",
19182 "sata5",
19183 "efidisk0"
19184 ],
19185 "type" : "string"
19186 },
19187 "format" : {
19188 "description" : "Target Format.",
19189 "enum" : [
19190 "raw",
19191 "qcow2",
19192 "vmdk"
19193 ],
19194 "optional" : 1,
19195 "type" : "string"
19196 },
19197 "node" : {
19198 "description" : "The cluster node name.",
19199 "format" : "pve-node",
19200 "type" : "string",
19201 "typetext" : "<string>"
19202 },
19203 "storage" : {
19204 "description" : "Target storage.",
19205 "format" : "pve-storage-id",
19206 "type" : "string",
19207 "typetext" : "<string>"
19208 },
19209 "vmid" : {
19210 "description" : "The (unique) ID of the VM.",
19211 "format" : "pve-vmid",
19212 "minimum" : 1,
19213 "type" : "integer",
19214 "typetext" : "<integer> (1 - N)"
19215 }
19216 }
19217 },
19218 "permissions" : {
19219 "check" : [
19220 "and",
19221 [
19222 "perm",
19223 "/vms/{vmid}",
19224 [
19225 "VM.Config.Disk"
19226 ]
19227 ],
19228 [
19229 "perm",
19230 "/storage/{storage}",
19231 [
19232 "Datastore.AllocateSpace"
19233 ]
19234 ]
19235 ],
19236 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
19237 },
19238 "protected" : 1,
19239 "proxyto" : "node",
19240 "returns" : {
19241 "description" : "the task ID.",
19242 "type" : "string"
19243 }
19244 }
19245 },
19246 "leaf" : 1,
19247 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
19248 "text" : "move_disk"
19249 },
19250 {
19251 "info" : {
1e3f8156 19252 "GET" : {
e9cd3bd4 19253 "allowtoken" : 1,
1e3f8156
TL
19254 "description" : "Get preconditions for migration.",
19255 "method" : "GET",
19256 "name" : "migrate_vm_precondition",
19257 "parameters" : {
19258 "additionalProperties" : 0,
19259 "properties" : {
19260 "node" : {
19261 "description" : "The cluster node name.",
19262 "format" : "pve-node",
19263 "type" : "string",
19264 "typetext" : "<string>"
19265 },
19266 "target" : {
19267 "description" : "Target node.",
19268 "format" : "pve-node",
19269 "optional" : 1,
19270 "type" : "string",
19271 "typetext" : "<string>"
19272 },
19273 "vmid" : {
19274 "description" : "The (unique) ID of the VM.",
19275 "format" : "pve-vmid",
19276 "minimum" : 1,
19277 "type" : "integer",
19278 "typetext" : "<integer> (1 - N)"
19279 }
19280 }
19281 },
19282 "permissions" : {
19283 "check" : [
19284 "perm",
19285 "/vms/{vmid}",
19286 [
19287 "VM.Migrate"
19288 ]
19289 ]
19290 },
19291 "protected" : 1,
19292 "proxyto" : "node",
19293 "returns" : {
19294 "properties" : {
19295 "allowed_nodes" : {
9226ccbc 19296 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
19297 "optional" : 1,
19298 "type" : "array"
19299 },
19300 "local_disks" : {
19301 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
19302 "type" : "array"
19303 },
19304 "local_resources" : {
19305 "description" : "List local resources e.g. pci, usb",
19306 "type" : "array"
19307 },
9226ccbc
TL
19308 "not_allowed_nodes" : {
19309 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
19310 "optional" : 1,
19311 "type" : "object"
19312 },
1e3f8156
TL
19313 "running" : {
19314 "type" : "boolean"
19315 }
19316 },
19317 "type" : "object"
19318 }
19319 },
4d47f125 19320 "POST" : {
e9cd3bd4 19321 "allowtoken" : 1,
4d47f125
TL
19322 "description" : "Migrate virtual machine. Creates a new migration task.",
19323 "method" : "POST",
19324 "name" : "migrate_vm",
19325 "parameters" : {
19326 "additionalProperties" : 0,
19327 "properties" : {
95895385
TL
19328 "bwlimit" : {
19329 "default" : "migrate limit from datacenter or storage config",
19330 "description" : "Override I/O bandwidth limit (in KiB/s).",
19331 "minimum" : "0",
19332 "optional" : 1,
19333 "type" : "integer",
19334 "typetext" : "<integer> (0 - N)"
19335 },
4d47f125
TL
19336 "force" : {
19337 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
19338 "optional" : 1,
19339 "type" : "boolean",
19340 "typetext" : "<boolean>"
19341 },
19342 "migration_network" : {
19343 "description" : "CIDR of the (sub) network that is used for migration.",
19344 "format" : "CIDR",
19345 "optional" : 1,
19346 "type" : "string",
19347 "typetext" : "<string>"
19348 },
19349 "migration_type" : {
19350 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
19351 "enum" : [
19352 "secure",
19353 "insecure"
19354 ],
19355 "optional" : 1,
19356 "type" : "string"
19357 },
19358 "node" : {
19359 "description" : "The cluster node name.",
19360 "format" : "pve-node",
19361 "type" : "string",
19362 "typetext" : "<string>"
19363 },
19364 "online" : {
1c532546 19365 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
19366 "optional" : 1,
19367 "type" : "boolean",
19368 "typetext" : "<boolean>"
19369 },
19370 "target" : {
19371 "description" : "Target node.",
19372 "format" : "pve-node",
19373 "type" : "string",
19374 "typetext" : "<string>"
19375 },
19376 "targetstorage" : {
c5aa7e14
TL
19377 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
19378 "format" : "storagepair-list",
4d47f125 19379 "optional" : 1,
52e44c50
FG
19380 "type" : "string",
19381 "typetext" : "<string>"
19382 },
7aacca6f 19383 "vmid" : {
7aacca6f 19384 "description" : "The (unique) ID of the VM.",
44660702 19385 "format" : "pve-vmid",
7aacca6f 19386 "minimum" : 1,
4bd7df8b 19387 "type" : "integer",
013dc89f 19388 "typetext" : "<integer> (1 - N)"
52e44c50
FG
19389 },
19390 "with-local-disks" : {
19391 "description" : "Enable live storage migration for local disk",
19392 "optional" : 1,
19393 "type" : "boolean",
19394 "typetext" : "<boolean>"
56122987 19395 }
44660702
DM
19396 }
19397 },
19398 "permissions" : {
19399 "check" : [
19400 "perm",
19401 "/vms/{vmid}",
19402 [
19403 "VM.Migrate"
19404 ]
19405 ]
56122987
DM
19406 },
19407 "protected" : 1,
44660702
DM
19408 "proxyto" : "node",
19409 "returns" : {
19410 "description" : "the task ID.",
19411 "type" : "string"
19412 }
56122987 19413 }
7aacca6f 19414 },
44660702
DM
19415 "leaf" : 1,
19416 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 19417 "text" : "migrate"
56122987
DM
19418 },
19419 {
19420 "info" : {
19421 "POST" : {
e9cd3bd4 19422 "allowtoken" : 1,
44660702 19423 "description" : "Execute Qemu monitor commands.",
56122987 19424 "method" : "POST",
44660702 19425 "name" : "monitor",
56122987 19426 "parameters" : {
7aacca6f 19427 "additionalProperties" : 0,
56122987 19428 "properties" : {
44660702
DM
19429 "command" : {
19430 "description" : "The monitor command.",
013dc89f
DM
19431 "type" : "string",
19432 "typetext" : "<string>"
44660702 19433 },
56122987 19434 "node" : {
44660702 19435 "description" : "The cluster node name.",
7aacca6f 19436 "format" : "pve-node",
013dc89f
DM
19437 "type" : "string",
19438 "typetext" : "<string>"
56122987
DM
19439 },
19440 "vmid" : {
44660702 19441 "description" : "The (unique) ID of the VM.",
56122987 19442 "format" : "pve-vmid",
7aacca6f 19443 "minimum" : 1,
4bd7df8b 19444 "type" : "integer",
013dc89f 19445 "typetext" : "<integer> (1 - N)"
56122987 19446 }
7aacca6f 19447 }
56122987 19448 },
56122987
DM
19449 "permissions" : {
19450 "check" : [
19451 "perm",
19452 "/vms/{vmid}",
19453 [
19454 "VM.Monitor"
19455 ]
32d876b5
DM
19456 ],
19457 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 19458 },
44660702
DM
19459 "protected" : 1,
19460 "proxyto" : "node",
19461 "returns" : {
19462 "type" : "string"
19463 }
56122987 19464 }
44660702
DM
19465 },
19466 "leaf" : 1,
19467 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
19468 "text" : "monitor"
56122987
DM
19469 },
19470 {
56122987
DM
19471 "info" : {
19472 "PUT" : {
e9cd3bd4 19473 "allowtoken" : 1,
44660702
DM
19474 "description" : "Extend volume size.",
19475 "method" : "PUT",
19476 "name" : "resize_vm",
56122987 19477 "parameters" : {
44660702 19478 "additionalProperties" : 0,
56122987 19479 "properties" : {
44660702
DM
19480 "digest" : {
19481 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19482 "maxLength" : 40,
19483 "optional" : 1,
013dc89f
DM
19484 "type" : "string",
19485 "typetext" : "<string>"
56122987 19486 },
56122987
DM
19487 "disk" : {
19488 "description" : "The disk you want to resize.",
19489 "enum" : [
19490 "ide0",
19491 "ide1",
19492 "ide2",
19493 "ide3",
19494 "scsi0",
19495 "scsi1",
19496 "scsi2",
19497 "scsi3",
19498 "scsi4",
19499 "scsi5",
19500 "scsi6",
19501 "scsi7",
19502 "scsi8",
19503 "scsi9",
19504 "scsi10",
19505 "scsi11",
19506 "scsi12",
19507 "scsi13",
e9cd3bd4
TL
19508 "scsi14",
19509 "scsi15",
19510 "scsi16",
19511 "scsi17",
19512 "scsi18",
19513 "scsi19",
19514 "scsi20",
19515 "scsi21",
19516 "scsi22",
19517 "scsi23",
19518 "scsi24",
19519 "scsi25",
19520 "scsi26",
19521 "scsi27",
19522 "scsi28",
19523 "scsi29",
19524 "scsi30",
56122987
DM
19525 "virtio0",
19526 "virtio1",
19527 "virtio2",
19528 "virtio3",
19529 "virtio4",
19530 "virtio5",
19531 "virtio6",
19532 "virtio7",
19533 "virtio8",
19534 "virtio9",
19535 "virtio10",
19536 "virtio11",
19537 "virtio12",
19538 "virtio13",
19539 "virtio14",
19540 "virtio15",
19541 "sata0",
19542 "sata1",
19543 "sata2",
19544 "sata3",
19545 "sata4",
2c0dde61
DM
19546 "sata5",
19547 "efidisk0"
44660702
DM
19548 ],
19549 "type" : "string"
56122987 19550 },
44660702
DM
19551 "node" : {
19552 "description" : "The cluster node name.",
19553 "format" : "pve-node",
013dc89f
DM
19554 "type" : "string",
19555 "typetext" : "<string>"
7aacca6f 19556 },
44660702 19557 "size" : {
5d9c884c 19558 "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
19559 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
19560 "type" : "string"
56122987
DM
19561 },
19562 "skiplock" : {
19563 "description" : "Ignore locks - only root is allowed to use this option.",
19564 "optional" : 1,
013dc89f
DM
19565 "type" : "boolean",
19566 "typetext" : "<boolean>"
56122987
DM
19567 },
19568 "vmid" : {
7aacca6f 19569 "description" : "The (unique) ID of the VM.",
56122987 19570 "format" : "pve-vmid",
44660702 19571 "minimum" : 1,
4bd7df8b 19572 "type" : "integer",
013dc89f 19573 "typetext" : "<integer> (1 - N)"
56122987
DM
19574 }
19575 }
19576 },
19577 "permissions" : {
19578 "check" : [
19579 "perm",
19580 "/vms/{vmid}",
19581 [
44660702 19582 "VM.Config.Disk"
56122987
DM
19583 ]
19584 ]
19585 },
7aacca6f 19586 "protected" : 1,
7aacca6f 19587 "proxyto" : "node",
44660702
DM
19588 "returns" : {
19589 "type" : "null"
19590 }
7aacca6f
DM
19591 }
19592 },
44660702
DM
19593 "leaf" : 1,
19594 "path" : "/nodes/{node}/qemu/{vmid}/resize",
19595 "text" : "resize"
19596 },
19597 {
56122987
DM
19598 "children" : [
19599 {
19600 "children" : [
19601 {
56122987 19602 "info" : {
44660702 19603 "GET" : {
e9cd3bd4 19604 "allowtoken" : 1,
44660702
DM
19605 "description" : "Get snapshot configuration",
19606 "method" : "GET",
19607 "name" : "get_snapshot_config",
56122987 19608 "parameters" : {
44660702 19609 "additionalProperties" : 0,
56122987 19610 "properties" : {
56122987 19611 "node" : {
44660702 19612 "description" : "The cluster node name.",
56122987 19613 "format" : "pve-node",
013dc89f
DM
19614 "type" : "string",
19615 "typetext" : "<string>"
7aacca6f
DM
19616 },
19617 "snapname" : {
44660702 19618 "description" : "The name of the snapshot.",
7aacca6f 19619 "format" : "pve-configid",
44660702 19620 "maxLength" : 40,
013dc89f
DM
19621 "type" : "string",
19622 "typetext" : "<string>"
7aacca6f
DM
19623 },
19624 "vmid" : {
44660702 19625 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
19626 "format" : "pve-vmid",
19627 "minimum" : 1,
4bd7df8b 19628 "type" : "integer",
013dc89f 19629 "typetext" : "<integer> (1 - N)"
56122987 19630 }
44660702 19631 }
56122987
DM
19632 },
19633 "permissions" : {
19634 "check" : [
19635 "perm",
19636 "/vms/{vmid}",
19637 [
2489d6df 19638 "VM.Snapshot",
e9cd3bd4
TL
19639 "VM.Snapshot.Rollback",
19640 "VM.Audit"
2489d6df
WB
19641 ],
19642 "any",
19643 1
56122987
DM
19644 ]
19645 },
44660702 19646 "proxyto" : "node",
56122987 19647 "returns" : {
44660702 19648 "type" : "object"
7aacca6f
DM
19649 }
19650 },
44660702 19651 "PUT" : {
e9cd3bd4 19652 "allowtoken" : 1,
44660702
DM
19653 "description" : "Update snapshot metadata.",
19654 "method" : "PUT",
19655 "name" : "update_snapshot_config",
56122987 19656 "parameters" : {
44660702 19657 "additionalProperties" : 0,
56122987 19658 "properties" : {
44660702
DM
19659 "description" : {
19660 "description" : "A textual description or comment.",
19661 "optional" : 1,
013dc89f
DM
19662 "type" : "string",
19663 "typetext" : "<string>"
44660702 19664 },
56122987 19665 "node" : {
7aacca6f 19666 "description" : "The cluster node name.",
44660702 19667 "format" : "pve-node",
013dc89f
DM
19668 "type" : "string",
19669 "typetext" : "<string>"
56122987 19670 },
56122987
DM
19671 "snapname" : {
19672 "description" : "The name of the snapshot.",
44660702 19673 "format" : "pve-configid",
7aacca6f 19674 "maxLength" : 40,
013dc89f
DM
19675 "type" : "string",
19676 "typetext" : "<string>"
7aacca6f
DM
19677 },
19678 "vmid" : {
19679 "description" : "The (unique) ID of the VM.",
44660702 19680 "format" : "pve-vmid",
7aacca6f 19681 "minimum" : 1,
4bd7df8b 19682 "type" : "integer",
013dc89f 19683 "typetext" : "<integer> (1 - N)"
56122987 19684 }
44660702 19685 }
56122987 19686 },
7aacca6f
DM
19687 "permissions" : {
19688 "check" : [
19689 "perm",
19690 "/vms/{vmid}",
19691 [
19692 "VM.Snapshot"
19693 ]
19694 ]
44660702
DM
19695 },
19696 "protected" : 1,
19697 "proxyto" : "node",
19698 "returns" : {
19699 "type" : "null"
7aacca6f 19700 }
56122987
DM
19701 }
19702 },
44660702 19703 "leaf" : 1,
7aacca6f 19704 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 19705 "text" : "config"
56122987
DM
19706 },
19707 {
56122987
DM
19708 "info" : {
19709 "POST" : {
e9cd3bd4 19710 "allowtoken" : 1,
44660702 19711 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 19712 "method" : "POST",
44660702 19713 "name" : "rollback",
56122987
DM
19714 "parameters" : {
19715 "additionalProperties" : 0,
19716 "properties" : {
44660702
DM
19717 "node" : {
19718 "description" : "The cluster node name.",
19719 "format" : "pve-node",
013dc89f
DM
19720 "type" : "string",
19721 "typetext" : "<string>"
44660702 19722 },
56122987 19723 "snapname" : {
44660702 19724 "description" : "The name of the snapshot.",
56122987
DM
19725 "format" : "pve-configid",
19726 "maxLength" : 40,
013dc89f
DM
19727 "type" : "string",
19728 "typetext" : "<string>"
7aacca6f 19729 },
56122987 19730 "vmid" : {
7aacca6f 19731 "description" : "The (unique) ID of the VM.",
44660702 19732 "format" : "pve-vmid",
56122987 19733 "minimum" : 1,
4bd7df8b 19734 "type" : "integer",
013dc89f 19735 "typetext" : "<integer> (1 - N)"
56122987
DM
19736 }
19737 }
19738 },
7aacca6f 19739 "permissions" : {
56122987
DM
19740 "check" : [
19741 "perm",
19742 "/vms/{vmid}",
19743 [
2489d6df
WB
19744 "VM.Snapshot",
19745 "VM.Snapshot.Rollback"
19746 ],
19747 "any",
19748 1
56122987
DM
19749 ]
19750 },
44660702 19751 "protected" : 1,
7aacca6f 19752 "proxyto" : "node",
44660702
DM
19753 "returns" : {
19754 "description" : "the task ID.",
19755 "type" : "string"
19756 }
56122987
DM
19757 }
19758 },
44660702
DM
19759 "leaf" : 1,
19760 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 19761 "text" : "rollback"
56122987 19762 }
44660702
DM
19763 ],
19764 "info" : {
19765 "DELETE" : {
e9cd3bd4 19766 "allowtoken" : 1,
44660702
DM
19767 "description" : "Delete a VM snapshot.",
19768 "method" : "DELETE",
19769 "name" : "delsnapshot",
19770 "parameters" : {
19771 "additionalProperties" : 0,
19772 "properties" : {
19773 "force" : {
19774 "description" : "For removal from config file, even if removing disk snapshots fails.",
19775 "optional" : 1,
013dc89f
DM
19776 "type" : "boolean",
19777 "typetext" : "<boolean>"
44660702
DM
19778 },
19779 "node" : {
19780 "description" : "The cluster node name.",
19781 "format" : "pve-node",
013dc89f
DM
19782 "type" : "string",
19783 "typetext" : "<string>"
44660702
DM
19784 },
19785 "snapname" : {
19786 "description" : "The name of the snapshot.",
19787 "format" : "pve-configid",
19788 "maxLength" : 40,
013dc89f
DM
19789 "type" : "string",
19790 "typetext" : "<string>"
44660702
DM
19791 },
19792 "vmid" : {
19793 "description" : "The (unique) ID of the VM.",
19794 "format" : "pve-vmid",
19795 "minimum" : 1,
4bd7df8b 19796 "type" : "integer",
013dc89f 19797 "typetext" : "<integer> (1 - N)"
44660702
DM
19798 }
19799 }
19800 },
19801 "permissions" : {
19802 "check" : [
19803 "perm",
19804 "/vms/{vmid}",
19805 [
19806 "VM.Snapshot"
19807 ]
19808 ]
19809 },
19810 "protected" : 1,
19811 "proxyto" : "node",
19812 "returns" : {
19813 "description" : "the task ID.",
19814 "type" : "string"
19815 }
19816 },
19817 "GET" : {
e9cd3bd4 19818 "allowtoken" : 1,
44660702
DM
19819 "description" : "",
19820 "method" : "GET",
19821 "name" : "snapshot_cmd_idx",
19822 "parameters" : {
19823 "additionalProperties" : 0,
19824 "properties" : {
19825 "node" : {
19826 "description" : "The cluster node name.",
19827 "format" : "pve-node",
013dc89f
DM
19828 "type" : "string",
19829 "typetext" : "<string>"
44660702
DM
19830 },
19831 "snapname" : {
19832 "description" : "The name of the snapshot.",
19833 "format" : "pve-configid",
19834 "maxLength" : 40,
013dc89f
DM
19835 "type" : "string",
19836 "typetext" : "<string>"
44660702
DM
19837 },
19838 "vmid" : {
19839 "description" : "The (unique) ID of the VM.",
19840 "format" : "pve-vmid",
19841 "minimum" : 1,
4bd7df8b 19842 "type" : "integer",
013dc89f 19843 "typetext" : "<integer> (1 - N)"
44660702
DM
19844 }
19845 }
19846 },
19847 "permissions" : {
19848 "user" : "all"
19849 },
19850 "returns" : {
19851 "items" : {
19852 "properties" : {},
19853 "type" : "object"
19854 },
19855 "links" : [
19856 {
19857 "href" : "{cmd}",
19858 "rel" : "child"
19859 }
19860 ],
19861 "type" : "array"
19862 }
19863 }
19864 },
19865 "leaf" : 0,
19866 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
19867 "text" : "{snapname}"
56122987
DM
19868 }
19869 ],
44660702
DM
19870 "info" : {
19871 "GET" : {
e9cd3bd4 19872 "allowtoken" : 1,
44660702
DM
19873 "description" : "List all snapshots.",
19874 "method" : "GET",
19875 "name" : "snapshot_list",
19876 "parameters" : {
19877 "additionalProperties" : 0,
19878 "properties" : {
19879 "node" : {
19880 "description" : "The cluster node name.",
19881 "format" : "pve-node",
013dc89f
DM
19882 "type" : "string",
19883 "typetext" : "<string>"
44660702
DM
19884 },
19885 "vmid" : {
19886 "description" : "The (unique) ID of the VM.",
19887 "format" : "pve-vmid",
19888 "minimum" : 1,
4bd7df8b 19889 "type" : "integer",
013dc89f 19890 "typetext" : "<integer> (1 - N)"
44660702
DM
19891 }
19892 }
19893 },
19894 "permissions" : {
19895 "check" : [
19896 "perm",
19897 "/vms/{vmid}",
19898 [
19899 "VM.Audit"
19900 ]
19901 ]
19902 },
19903 "protected" : 1,
19904 "proxyto" : "node",
19905 "returns" : {
19906 "items" : {
4d47f125
TL
19907 "properties" : {
19908 "description" : {
19909 "description" : "Snapshot description.",
19910 "type" : "string"
19911 },
19912 "name" : {
19913 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
19914 "type" : "string"
19915 },
19916 "parent" : {
19917 "description" : "Parent snapshot identifier.",
19918 "optional" : 1,
19919 "type" : "string"
19920 },
19921 "snaptime" : {
19922 "description" : "Snapshot creation time",
19923 "optional" : 1,
19924 "renderer" : "timestamp",
19925 "type" : "integer"
19926 },
19927 "vmstate" : {
19928 "description" : "Snapshot includes RAM.",
19929 "optional" : 1,
19930 "type" : "boolean"
19931 }
19932 },
44660702
DM
19933 "type" : "object"
19934 },
19935 "links" : [
19936 {
19937 "href" : "{name}",
19938 "rel" : "child"
19939 }
19940 ],
19941 "type" : "array"
19942 }
19943 },
19944 "POST" : {
e9cd3bd4 19945 "allowtoken" : 1,
44660702
DM
19946 "description" : "Snapshot a VM.",
19947 "method" : "POST",
19948 "name" : "snapshot",
19949 "parameters" : {
19950 "additionalProperties" : 0,
19951 "properties" : {
19952 "description" : {
19953 "description" : "A textual description or comment.",
19954 "optional" : 1,
013dc89f
DM
19955 "type" : "string",
19956 "typetext" : "<string>"
44660702
DM
19957 },
19958 "node" : {
19959 "description" : "The cluster node name.",
19960 "format" : "pve-node",
013dc89f
DM
19961 "type" : "string",
19962 "typetext" : "<string>"
44660702
DM
19963 },
19964 "snapname" : {
19965 "description" : "The name of the snapshot.",
19966 "format" : "pve-configid",
19967 "maxLength" : 40,
013dc89f
DM
19968 "type" : "string",
19969 "typetext" : "<string>"
44660702
DM
19970 },
19971 "vmid" : {
19972 "description" : "The (unique) ID of the VM.",
19973 "format" : "pve-vmid",
19974 "minimum" : 1,
4bd7df8b 19975 "type" : "integer",
013dc89f 19976 "typetext" : "<integer> (1 - N)"
44660702
DM
19977 },
19978 "vmstate" : {
19979 "description" : "Save the vmstate",
19980 "optional" : 1,
013dc89f
DM
19981 "type" : "boolean",
19982 "typetext" : "<boolean>"
44660702
DM
19983 }
19984 }
19985 },
19986 "permissions" : {
19987 "check" : [
19988 "perm",
19989 "/vms/{vmid}",
19990 [
19991 "VM.Snapshot"
19992 ]
19993 ]
19994 },
19995 "protected" : 1,
19996 "proxyto" : "node",
19997 "returns" : {
19998 "description" : "the task ID.",
19999 "type" : "string"
20000 }
20001 }
20002 },
20003 "leaf" : 0,
20004 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 20005 "text" : "snapshot"
56122987
DM
20006 },
20007 {
56122987
DM
20008 "info" : {
20009 "POST" : {
e9cd3bd4 20010 "allowtoken" : 1,
44660702
DM
20011 "description" : "Create a Template.",
20012 "method" : "POST",
56122987 20013 "name" : "template",
56122987 20014 "parameters" : {
7aacca6f 20015 "additionalProperties" : 0,
56122987 20016 "properties" : {
56122987 20017 "disk" : {
56122987
DM
20018 "description" : "If you want to convert only 1 disk to base image.",
20019 "enum" : [
20020 "ide0",
20021 "ide1",
20022 "ide2",
20023 "ide3",
20024 "scsi0",
20025 "scsi1",
20026 "scsi2",
20027 "scsi3",
20028 "scsi4",
20029 "scsi5",
20030 "scsi6",
20031 "scsi7",
20032 "scsi8",
20033 "scsi9",
20034 "scsi10",
20035 "scsi11",
20036 "scsi12",
20037 "scsi13",
e9cd3bd4
TL
20038 "scsi14",
20039 "scsi15",
20040 "scsi16",
20041 "scsi17",
20042 "scsi18",
20043 "scsi19",
20044 "scsi20",
20045 "scsi21",
20046 "scsi22",
20047 "scsi23",
20048 "scsi24",
20049 "scsi25",
20050 "scsi26",
20051 "scsi27",
20052 "scsi28",
20053 "scsi29",
20054 "scsi30",
56122987
DM
20055 "virtio0",
20056 "virtio1",
20057 "virtio2",
20058 "virtio3",
20059 "virtio4",
20060 "virtio5",
20061 "virtio6",
20062 "virtio7",
20063 "virtio8",
20064 "virtio9",
20065 "virtio10",
20066 "virtio11",
20067 "virtio12",
20068 "virtio13",
20069 "virtio14",
20070 "virtio15",
20071 "sata0",
20072 "sata1",
20073 "sata2",
20074 "sata3",
20075 "sata4",
2c0dde61
DM
20076 "sata5",
20077 "efidisk0"
56122987 20078 ],
7aacca6f 20079 "optional" : 1,
56122987
DM
20080 "type" : "string"
20081 },
44660702
DM
20082 "node" : {
20083 "description" : "The cluster node name.",
20084 "format" : "pve-node",
013dc89f
DM
20085 "type" : "string",
20086 "typetext" : "<string>"
44660702
DM
20087 },
20088 "vmid" : {
20089 "description" : "The (unique) ID of the VM.",
7aacca6f 20090 "format" : "pve-vmid",
44660702 20091 "minimum" : 1,
4bd7df8b 20092 "type" : "integer",
013dc89f 20093 "typetext" : "<integer> (1 - N)"
56122987 20094 }
7aacca6f 20095 }
56122987 20096 },
7aacca6f
DM
20097 "permissions" : {
20098 "check" : [
20099 "perm",
20100 "/vms/{vmid}",
20101 [
20102 "VM.Allocate"
20103 ]
20104 ],
20105 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
20106 },
44660702 20107 "protected" : 1,
7aacca6f 20108 "proxyto" : "node",
7aacca6f
DM
20109 "returns" : {
20110 "type" : "null"
20111 }
56122987
DM
20112 }
20113 },
44660702 20114 "leaf" : 1,
7aacca6f 20115 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 20116 "text" : "template"
1e3f8156
TL
20117 },
20118 {
20119 "children" : [
20120 {
20121 "info" : {
20122 "GET" : {
e9cd3bd4 20123 "allowtoken" : 1,
1e3f8156
TL
20124 "description" : "Get automatically generated cloudinit config.",
20125 "method" : "GET",
20126 "name" : "cloudinit_generated_config_dump",
20127 "parameters" : {
20128 "additionalProperties" : 0,
20129 "properties" : {
20130 "node" : {
20131 "description" : "The cluster node name.",
20132 "format" : "pve-node",
20133 "type" : "string",
20134 "typetext" : "<string>"
20135 },
20136 "type" : {
20137 "description" : "Config type.",
20138 "enum" : [
20139 "user",
20140 "network",
20141 "meta"
20142 ],
20143 "type" : "string"
20144 },
20145 "vmid" : {
20146 "description" : "The (unique) ID of the VM.",
20147 "format" : "pve-vmid",
20148 "minimum" : 1,
20149 "type" : "integer",
20150 "typetext" : "<integer> (1 - N)"
20151 }
20152 }
20153 },
20154 "permissions" : {
20155 "check" : [
20156 "perm",
20157 "/vms/{vmid}",
20158 [
20159 "VM.Audit"
20160 ]
20161 ]
20162 },
20163 "proxyto" : "node",
20164 "returns" : {
20165 "type" : "string"
20166 }
20167 }
20168 },
20169 "leaf" : 1,
20170 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
20171 "text" : "dump"
20172 }
20173 ],
20174 "leaf" : 0,
20175 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
20176 "text" : "cloudinit"
56122987
DM
20177 }
20178 ],
7aacca6f 20179 "info" : {
44660702 20180 "DELETE" : {
e9cd3bd4 20181 "allowtoken" : 1,
44660702
DM
20182 "description" : "Destroy the vm (also delete all used/owned volumes).",
20183 "method" : "DELETE",
20184 "name" : "destroy_vm",
7aacca6f 20185 "parameters" : {
44660702 20186 "additionalProperties" : 0,
7aacca6f
DM
20187 "properties" : {
20188 "node" : {
44660702 20189 "description" : "The cluster node name.",
7aacca6f 20190 "format" : "pve-node",
013dc89f
DM
20191 "type" : "string",
20192 "typetext" : "<string>"
44660702 20193 },
1c532546
TL
20194 "purge" : {
20195 "description" : "Remove vmid from backup cron jobs.",
20196 "optional" : 1,
20197 "type" : "boolean",
20198 "typetext" : "<boolean>"
20199 },
44660702
DM
20200 "skiplock" : {
20201 "description" : "Ignore locks - only root is allowed to use this option.",
20202 "optional" : 1,
013dc89f
DM
20203 "type" : "boolean",
20204 "typetext" : "<boolean>"
7aacca6f
DM
20205 },
20206 "vmid" : {
44660702 20207 "description" : "The (unique) ID of the VM.",
7aacca6f 20208 "format" : "pve-vmid",
44660702 20209 "minimum" : 1,
4bd7df8b 20210 "type" : "integer",
013dc89f 20211 "typetext" : "<integer> (1 - N)"
7aacca6f 20212 }
44660702 20213 }
7aacca6f 20214 },
7aacca6f
DM
20215 "permissions" : {
20216 "check" : [
20217 "perm",
20218 "/vms/{vmid}",
20219 [
20220 "VM.Allocate"
20221 ]
20222 ]
20223 },
44660702
DM
20224 "protected" : 1,
20225 "proxyto" : "node",
7aacca6f
DM
20226 "returns" : {
20227 "type" : "string"
44660702
DM
20228 }
20229 },
20230 "GET" : {
e9cd3bd4 20231 "allowtoken" : 1,
44660702
DM
20232 "description" : "Directory index",
20233 "method" : "GET",
20234 "name" : "vmdiridx",
7aacca6f 20235 "parameters" : {
44660702 20236 "additionalProperties" : 0,
7aacca6f 20237 "properties" : {
7aacca6f 20238 "node" : {
7aacca6f 20239 "description" : "The cluster node name.",
44660702 20240 "format" : "pve-node",
013dc89f
DM
20241 "type" : "string",
20242 "typetext" : "<string>"
44660702
DM
20243 },
20244 "vmid" : {
20245 "description" : "The (unique) ID of the VM.",
20246 "format" : "pve-vmid",
20247 "minimum" : 1,
4bd7df8b 20248 "type" : "integer",
013dc89f 20249 "typetext" : "<integer> (1 - N)"
7aacca6f 20250 }
44660702 20251 }
7aacca6f 20252 },
44660702
DM
20253 "permissions" : {
20254 "user" : "all"
20255 },
20256 "proxyto" : "node",
20257 "returns" : {
20258 "items" : {
20259 "properties" : {
20260 "subdir" : {
20261 "type" : "string"
20262 }
20263 },
20264 "type" : "object"
20265 },
20266 "links" : [
20267 {
20268 "href" : "{subdir}",
20269 "rel" : "child"
20270 }
20271 ],
20272 "type" : "array"
20273 }
7aacca6f 20274 }
44660702
DM
20275 },
20276 "leaf" : 0,
20277 "path" : "/nodes/{node}/qemu/{vmid}",
20278 "text" : "{vmid}"
56122987
DM
20279 }
20280 ],
20281 "info" : {
44660702 20282 "GET" : {
e9cd3bd4 20283 "allowtoken" : 1,
44660702
DM
20284 "description" : "Virtual machine index (per node).",
20285 "method" : "GET",
20286 "name" : "vmlist",
56122987 20287 "parameters" : {
44660702 20288 "additionalProperties" : 0,
56122987 20289 "properties" : {
44660702
DM
20290 "full" : {
20291 "description" : "Determine the full status of active VMs.",
56122987 20292 "optional" : 1,
013dc89f
DM
20293 "type" : "boolean",
20294 "typetext" : "<boolean>"
56122987 20295 },
44660702
DM
20296 "node" : {
20297 "description" : "The cluster node name.",
20298 "format" : "pve-node",
013dc89f
DM
20299 "type" : "string",
20300 "typetext" : "<string>"
44660702
DM
20301 }
20302 }
20303 },
20304 "permissions" : {
20305 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
20306 "user" : "all"
20307 },
20308 "protected" : 1,
20309 "proxyto" : "node",
20310 "returns" : {
20311 "items" : {
4d47f125
TL
20312 "properties" : {
20313 "cpus" : {
20314 "description" : "Maximum usable CPUs.",
20315 "optional" : 1,
20316 "type" : "number"
20317 },
95895385
TL
20318 "lock" : {
20319 "description" : "The current config lock, if any.",
20320 "optional" : 1,
20321 "type" : "string"
20322 },
4d47f125
TL
20323 "maxdisk" : {
20324 "description" : "Root disk size in bytes.",
20325 "optional" : 1,
20326 "renderer" : "bytes",
20327 "type" : "integer"
20328 },
20329 "maxmem" : {
20330 "description" : "Maximum memory in bytes.",
20331 "optional" : 1,
20332 "renderer" : "bytes",
20333 "type" : "integer"
20334 },
20335 "name" : {
20336 "description" : "VM name.",
20337 "optional" : 1,
20338 "type" : "string"
20339 },
20340 "pid" : {
20341 "description" : "PID of running qemu process.",
20342 "optional" : 1,
20343 "type" : "integer"
20344 },
20345 "qmpstatus" : {
20346 "description" : "Qemu QMP agent status.",
20347 "optional" : 1,
20348 "type" : "string"
20349 },
20350 "status" : {
20351 "description" : "Qemu process status.",
20352 "enum" : [
20353 "stopped",
20354 "running"
20355 ],
20356 "type" : "string"
20357 },
5c1699e5
TL
20358 "tags" : {
20359 "description" : "The current configured tags, if any",
20360 "optional" : 1,
20361 "type" : "string"
20362 },
4d47f125
TL
20363 "uptime" : {
20364 "description" : "Uptime.",
20365 "optional" : 1,
20366 "renderer" : "duration",
20367 "type" : "integer"
20368 },
20369 "vmid" : {
20370 "description" : "The (unique) ID of the VM.",
20371 "format" : "pve-vmid",
20372 "minimum" : 1,
20373 "type" : "integer"
20374 }
20375 },
44660702
DM
20376 "type" : "object"
20377 },
20378 "links" : [
20379 {
20380 "href" : "{vmid}",
20381 "rel" : "child"
20382 }
20383 ],
20384 "type" : "array"
20385 }
20386 },
20387 "POST" : {
e9cd3bd4 20388 "allowtoken" : 1,
44660702
DM
20389 "description" : "Create or restore a virtual machine.",
20390 "method" : "POST",
20391 "name" : "create_vm",
20392 "parameters" : {
20393 "additionalProperties" : 0,
20394 "properties" : {
7aacca6f 20395 "acpi" : {
7aacca6f 20396 "default" : 1,
44660702 20397 "description" : "Enable/disable ACPI.",
56122987 20398 "optional" : 1,
013dc89f
DM
20399 "type" : "boolean",
20400 "typetext" : "<boolean>"
56122987 20401 },
44660702 20402 "agent" : {
4d47f125
TL
20403 "description" : "Enable/disable Qemu GuestAgent and its properties.",
20404 "format" : {
20405 "enabled" : {
20406 "default" : 0,
20407 "default_key" : 1,
20408 "description" : "Enable/disable Qemu GuestAgent.",
20409 "type" : "boolean"
20410 },
20411 "fstrim_cloned_disks" : {
20412 "default" : 0,
20413 "description" : "Run fstrim after cloning/moving a disk.",
20414 "optional" : 1,
20415 "type" : "boolean"
5c1699e5
TL
20416 },
20417 "type" : {
20418 "default" : "virtio",
20419 "description" : "Select the agent type",
20420 "enum" : [
20421 "virtio",
20422 "isa"
20423 ],
20424 "optional" : 1,
20425 "type" : "string"
4d47f125
TL
20426 }
20427 },
7aacca6f 20428 "optional" : 1,
4d47f125 20429 "type" : "string",
5c1699e5 20430 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 20431 },
e2d681b3
TL
20432 "arch" : {
20433 "description" : "Virtual processor architecture. Defaults to the host.",
20434 "enum" : [
20435 "x86_64",
20436 "aarch64"
20437 ],
20438 "optional" : 1,
20439 "type" : "string"
20440 },
44660702 20441 "archive" : {
c5aa7e14 20442 "description" : "The backup archive. Either the file system path to a .tar or .vma file (use '-' to pipe data from stdin) or a proxmox storage backup volume identifier.",
44660702 20443 "maxLength" : 255,
56122987 20444 "optional" : 1,
013dc89f
DM
20445 "type" : "string",
20446 "typetext" : "<string>"
56122987 20447 },
44660702 20448 "args" : {
c2993fe5 20449 "description" : "Arbitrary arguments passed to kvm.",
56122987 20450 "optional" : 1,
c2993fe5 20451 "type" : "string",
013dc89f 20452 "typetext" : "<string>",
c2993fe5 20453 "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 20454 },
1c532546
TL
20455 "audio0" : {
20456 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
20457 "format" : {
20458 "device" : {
20459 "description" : "Configure an audio device.",
20460 "enum" : [
20461 "ich9-intel-hda",
20462 "intel-hda",
20463 "AC97"
20464 ],
20465 "type" : "string"
20466 },
20467 "driver" : {
20468 "default" : "spice",
20469 "description" : "Driver backend for the audio device.",
20470 "enum" : [
20471 "spice"
20472 ],
20473 "optional" : 1,
20474 "type" : "string"
20475 }
20476 },
20477 "optional" : 1,
20478 "type" : "string",
20479 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
20480 },
44660702 20481 "autostart" : {
7aacca6f 20482 "default" : 0,
44660702
DM
20483 "description" : "Automatic restart after crash (currently ignored).",
20484 "optional" : 1,
013dc89f
DM
20485 "type" : "boolean",
20486 "typetext" : "<boolean>"
7aacca6f 20487 },
44660702
DM
20488 "balloon" : {
20489 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
20490 "minimum" : 0,
56122987 20491 "optional" : 1,
4bd7df8b 20492 "type" : "integer",
013dc89f 20493 "typetext" : "<integer> (0 - N)"
56122987 20494 },
44660702
DM
20495 "bios" : {
20496 "default" : "seabios",
20497 "description" : "Select BIOS implementation.",
20498 "enum" : [
20499 "seabios",
20500 "ovmf"
20501 ],
56122987 20502 "optional" : 1,
44660702 20503 "type" : "string"
56122987 20504 },
44660702 20505 "boot" : {
4772952b
TL
20506 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
20507 "format" : "pve-qm-boot",
56122987 20508 "optional" : 1,
4772952b
TL
20509 "type" : "string",
20510 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 20511 },
7aacca6f 20512 "bootdisk" : {
4772952b 20513 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
20514 "format" : "pve-qm-bootdisk",
20515 "optional" : 1,
7aacca6f 20516 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
20517 "type" : "string"
20518 },
27a7acb2 20519 "bwlimit" : {
95895385
TL
20520 "default" : "restore limit from datacenter or storage config",
20521 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
20522 "minimum" : "0",
20523 "optional" : 1,
20524 "type" : "integer",
20525 "typetext" : "<integer> (0 - N)"
20526 },
44660702
DM
20527 "cdrom" : {
20528 "description" : "This is an alias for option -ide2",
de0983cb 20529 "format" : "pve-qm-ide",
56122987 20530 "optional" : 1,
44660702 20531 "type" : "string",
013dc89f 20532 "typetext" : "<volume>"
56122987 20533 },
95895385
TL
20534 "cicustom" : {
20535 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
20536 "format" : "pve-qm-cicustom",
20537 "optional" : 1,
20538 "type" : "string",
20539 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
20540 },
27a7acb2
DM
20541 "cipassword" : {
20542 "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.",
20543 "optional" : 1,
20544 "type" : "string",
20545 "typetext" : "<string>"
20546 },
20547 "citype" : {
20548 "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.",
20549 "enum" : [
20550 "configdrive2",
20551 "nocloud"
20552 ],
20553 "optional" : 1,
20554 "type" : "string"
20555 },
20556 "ciuser" : {
20557 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
20558 "optional" : 1,
20559 "type" : "string",
20560 "typetext" : "<string>"
20561 },
44660702
DM
20562 "cores" : {
20563 "default" : 1,
20564 "description" : "The number of cores per socket.",
7aacca6f 20565 "minimum" : 1,
44660702 20566 "optional" : 1,
4bd7df8b 20567 "type" : "integer",
013dc89f 20568 "typetext" : "<integer> (1 - N)"
7aacca6f 20569 },
44660702
DM
20570 "cpu" : {
20571 "description" : "Emulated CPU type.",
c5aa7e14 20572 "format" : "pve-vm-cpu-conf",
56122987 20573 "optional" : 1,
4bd7df8b 20574 "type" : "string",
04d22a9f 20575 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
56122987 20576 },
44660702 20577 "cpulimit" : {
7aacca6f 20578 "default" : 0,
c2993fe5 20579 "description" : "Limit of CPU usage.",
44660702
DM
20580 "maximum" : 128,
20581 "minimum" : 0,
7aacca6f 20582 "optional" : 1,
c2993fe5 20583 "type" : "number",
013dc89f 20584 "typetext" : "<number> (0 - 128)",
c2993fe5 20585 "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
20586 },
20587 "cpuunits" : {
de0983cb 20588 "default" : 1024,
c2993fe5 20589 "description" : "CPU weight for a VM.",
2489d6df
WB
20590 "maximum" : 262144,
20591 "minimum" : 2,
44660702 20592 "optional" : 1,
c2993fe5 20593 "type" : "integer",
2489d6df
WB
20594 "typetext" : "<integer> (2 - 262144)",
20595 "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
20596 },
20597 "description" : {
20598 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 20599 "optional" : 1,
013dc89f
DM
20600 "type" : "string",
20601 "typetext" : "<string>"
44660702 20602 },
4d47f125
TL
20603 "efidisk0" : {
20604 "description" : "Configure a Disk for storing EFI vars",
20605 "format" : {
20606 "file" : {
20607 "default_key" : 1,
20608 "description" : "The drive's backing volume.",
20609 "format" : "pve-volume-id-or-qm-path",
20610 "format_description" : "volume",
20611 "type" : "string"
20612 },
20613 "format" : {
20614 "description" : "The drive's backing file's data format.",
20615 "enum" : [
20616 "raw",
20617 "cow",
20618 "qcow",
20619 "qed",
20620 "qcow2",
20621 "vmdk",
20622 "cloop"
20623 ],
20624 "optional" : 1,
20625 "type" : "string"
20626 },
20627 "size" : {
20628 "description" : "Disk size. This is purely informational and has no effect.",
20629 "format" : "disk-size",
20630 "format_description" : "DiskSize",
20631 "optional" : 1,
20632 "type" : "string"
20633 },
20634 "volume" : {
20635 "alias" : "file"
20636 }
20637 },
20638 "optional" : 1,
20639 "type" : "string",
20640 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
20641 },
44660702
DM
20642 "force" : {
20643 "description" : "Allow to overwrite existing VM.",
20644 "optional" : 1,
20645 "requires" : "archive",
013dc89f
DM
20646 "type" : "boolean",
20647 "typetext" : "<boolean>"
44660702
DM
20648 },
20649 "freeze" : {
20650 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
20651 "optional" : 1,
013dc89f
DM
20652 "type" : "boolean",
20653 "typetext" : "<boolean>"
44660702 20654 },
5f26e15b
TL
20655 "hookscript" : {
20656 "description" : "Script that will be executed during various steps in the vms lifetime.",
20657 "format" : "pve-volume-id",
20658 "optional" : 1,
20659 "type" : "string",
20660 "typetext" : "<string>"
20661 },
44660702 20662 "hostpci[n]" : {
c2993fe5 20663 "description" : "Map host PCI devices into guest.",
44660702
DM
20664 "format" : "pve-qm-hostpci",
20665 "optional" : 1,
57b78691 20666 "type" : "string",
ac70d7d1 20667 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 20668 "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
20669 },
20670 "hotplug" : {
20671 "default" : "network,disk,usb",
20672 "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'.",
20673 "format" : "pve-hotplug-features",
20674 "optional" : 1,
013dc89f
DM
20675 "type" : "string",
20676 "typetext" : "<string>"
7aacca6f 20677 },
4bd7df8b
DM
20678 "hugepages" : {
20679 "description" : "Enable/disable hugepages memory.",
20680 "enum" : [
20681 "any",
20682 "2",
20683 "1024"
20684 ],
20685 "optional" : 1,
20686 "type" : "string"
20687 },
7aacca6f 20688 "ide[n]" : {
44660702 20689 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 20690 "format" : {
44660702
DM
20691 "aio" : {
20692 "description" : "AIO type to use.",
20693 "enum" : [
20694 "native",
20695 "threads"
20696 ],
44660702
DM
20697 "optional" : 1,
20698 "type" : "string"
20699 },
20700 "backup" : {
20701 "description" : "Whether the drive should be included when making backups.",
44660702
DM
20702 "optional" : 1,
20703 "type" : "boolean"
20704 },
20705 "bps" : {
de0983cb 20706 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 20707 "format_description" : "bps",
56122987 20708 "optional" : 1,
44660702 20709 "type" : "integer"
56122987 20710 },
de0983cb
DM
20711 "bps_max_length" : {
20712 "description" : "Maximum length of I/O bursts in seconds.",
20713 "format_description" : "seconds",
20714 "minimum" : 1,
20715 "optional" : 1,
20716 "type" : "integer"
20717 },
44660702 20718 "bps_rd" : {
de0983cb 20719 "description" : "Maximum read speed in bytes per second.",
44660702 20720 "format_description" : "bps",
56122987 20721 "optional" : 1,
44660702 20722 "type" : "integer"
56122987 20723 },
de0983cb 20724 "bps_rd_length" : {
5d9c884c
DM
20725 "alias" : "bps_rd_max_length"
20726 },
20727 "bps_rd_max_length" : {
de0983cb
DM
20728 "description" : "Maximum length of read I/O bursts in seconds.",
20729 "format_description" : "seconds",
20730 "minimum" : 1,
20731 "optional" : 1,
20732 "type" : "integer"
20733 },
44660702 20734 "bps_wr" : {
de0983cb 20735 "description" : "Maximum write speed in bytes per second.",
44660702 20736 "format_description" : "bps",
56122987 20737 "optional" : 1,
44660702 20738 "type" : "integer"
56122987 20739 },
de0983cb 20740 "bps_wr_length" : {
5d9c884c
DM
20741 "alias" : "bps_wr_max_length"
20742 },
20743 "bps_wr_max_length" : {
de0983cb
DM
20744 "description" : "Maximum length of write I/O bursts in seconds.",
20745 "format_description" : "seconds",
20746 "minimum" : 1,
20747 "optional" : 1,
20748 "type" : "integer"
20749 },
44660702
DM
20750 "cache" : {
20751 "description" : "The drive's cache mode",
56122987 20752 "enum" : [
7aacca6f 20753 "none",
44660702
DM
20754 "writethrough",
20755 "writeback",
20756 "unsafe",
20757 "directsync"
56122987 20758 ],
56122987 20759 "optional" : 1,
44660702 20760 "type" : "string"
56122987 20761 },
44660702
DM
20762 "cyls" : {
20763 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
20764 "optional" : 1,
20765 "type" : "integer"
7aacca6f 20766 },
44660702
DM
20767 "detect_zeroes" : {
20768 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 20769 "optional" : 1,
44660702 20770 "type" : "boolean"
56122987 20771 },
44660702
DM
20772 "discard" : {
20773 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20774 "enum" : [
20775 "ignore",
20776 "on"
20777 ],
56122987 20778 "optional" : 1,
44660702 20779 "type" : "string"
56122987 20780 },
7aacca6f 20781 "file" : {
44660702 20782 "default_key" : 1,
7aacca6f 20783 "description" : "The drive's backing volume.",
7aacca6f
DM
20784 "format" : "pve-volume-id-or-qm-path",
20785 "format_description" : "volume",
7aacca6f 20786 "type" : "string"
56122987 20787 },
44660702
DM
20788 "format" : {
20789 "description" : "The drive's backing file's data format.",
56122987 20790 "enum" : [
44660702
DM
20791 "raw",
20792 "cow",
20793 "qcow",
20794 "qed",
20795 "qcow2",
20796 "vmdk",
20797 "cloop"
7aacca6f 20798 ],
7aacca6f
DM
20799 "optional" : 1,
20800 "type" : "string"
56122987 20801 },
44660702
DM
20802 "heads" : {
20803 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 20804 "optional" : 1,
44660702 20805 "type" : "integer"
56122987 20806 },
44660702 20807 "iops" : {
de0983cb 20808 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 20809 "format_description" : "iops",
56122987 20810 "optional" : 1,
44660702 20811 "type" : "integer"
56122987 20812 },
44660702 20813 "iops_max" : {
de0983cb 20814 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 20815 "format_description" : "iops",
56122987 20816 "optional" : 1,
44660702 20817 "type" : "integer"
56122987 20818 },
de0983cb
DM
20819 "iops_max_length" : {
20820 "description" : "Maximum length of I/O bursts in seconds.",
20821 "format_description" : "seconds",
20822 "minimum" : 1,
20823 "optional" : 1,
20824 "type" : "integer"
20825 },
7aacca6f 20826 "iops_rd" : {
de0983cb 20827 "description" : "Maximum read I/O in operations per second.",
44660702
DM
20828 "format_description" : "iops",
20829 "optional" : 1,
20830 "type" : "integer"
7aacca6f 20831 },
de0983cb 20832 "iops_rd_length" : {
5d9c884c 20833 "alias" : "iops_rd_max_length"
de0983cb 20834 },
44660702 20835 "iops_rd_max" : {
de0983cb 20836 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 20837 "format_description" : "iops",
56122987 20838 "optional" : 1,
44660702 20839 "type" : "integer"
56122987 20840 },
5d9c884c
DM
20841 "iops_rd_max_length" : {
20842 "description" : "Maximum length of read I/O bursts in seconds.",
20843 "format_description" : "seconds",
20844 "minimum" : 1,
20845 "optional" : 1,
20846 "type" : "integer"
20847 },
44660702 20848 "iops_wr" : {
de0983cb 20849 "description" : "Maximum write I/O in operations per second.",
44660702 20850 "format_description" : "iops",
56122987 20851 "optional" : 1,
44660702 20852 "type" : "integer"
7aacca6f 20853 },
de0983cb 20854 "iops_wr_length" : {
5d9c884c 20855 "alias" : "iops_wr_max_length"
de0983cb 20856 },
44660702 20857 "iops_wr_max" : {
de0983cb 20858 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 20859 "format_description" : "iops",
7aacca6f 20860 "optional" : 1,
44660702 20861 "type" : "integer"
56122987 20862 },
5d9c884c
DM
20863 "iops_wr_max_length" : {
20864 "description" : "Maximum length of write I/O bursts in seconds.",
20865 "format_description" : "seconds",
20866 "minimum" : 1,
20867 "optional" : 1,
20868 "type" : "integer"
20869 },
44660702 20870 "mbps" : {
de0983cb 20871 "description" : "Maximum r/w speed in megabytes per second.",
44660702 20872 "format_description" : "mbps",
7aacca6f 20873 "optional" : 1,
44660702 20874 "type" : "number"
56122987 20875 },
44660702 20876 "mbps_max" : {
de0983cb 20877 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 20878 "format_description" : "mbps",
56122987 20879 "optional" : 1,
44660702 20880 "type" : "number"
56122987 20881 },
44660702 20882 "mbps_rd" : {
de0983cb 20883 "description" : "Maximum read speed in megabytes per second.",
44660702 20884 "format_description" : "mbps",
7aacca6f 20885 "optional" : 1,
44660702 20886 "type" : "number"
7aacca6f 20887 },
44660702 20888 "mbps_rd_max" : {
de0983cb 20889 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 20890 "format_description" : "mbps",
56122987 20891 "optional" : 1,
44660702 20892 "type" : "number"
56122987 20893 },
44660702 20894 "mbps_wr" : {
de0983cb 20895 "description" : "Maximum write speed in megabytes per second.",
44660702 20896 "format_description" : "mbps",
7aacca6f 20897 "optional" : 1,
44660702 20898 "type" : "number"
56122987 20899 },
44660702 20900 "mbps_wr_max" : {
de0983cb 20901 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 20902 "format_description" : "mbps",
56122987 20903 "optional" : 1,
44660702 20904 "type" : "number"
7aacca6f
DM
20905 },
20906 "media" : {
44660702
DM
20907 "default" : "disk",
20908 "description" : "The drive's media type.",
56122987 20909 "enum" : [
7aacca6f
DM
20910 "cdrom",
20911 "disk"
56122987 20912 ],
56122987 20913 "optional" : 1,
44660702 20914 "type" : "string"
56122987 20915 },
44660702
DM
20916 "model" : {
20917 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
20918 "format" : "urlencoded",
20919 "format_description" : "model",
20920 "maxLength" : 120,
56122987 20921 "optional" : 1,
44660702 20922 "type" : "string"
56122987 20923 },
5d9c884c
DM
20924 "replicate" : {
20925 "default" : 1,
20926 "description" : "Whether the drive should considered for replication jobs.",
20927 "optional" : 1,
20928 "type" : "boolean"
20929 },
7aacca6f 20930 "rerror" : {
7aacca6f
DM
20931 "description" : "Read error action.",
20932 "enum" : [
20933 "ignore",
20934 "report",
20935 "stop"
44660702 20936 ],
44660702
DM
20937 "optional" : 1,
20938 "type" : "string"
56122987 20939 },
44660702
DM
20940 "secs" : {
20941 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 20942 "optional" : 1,
44660702
DM
20943 "type" : "integer"
20944 },
20945 "serial" : {
20946 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20947 "format" : "urlencoded",
20948 "format_description" : "serial",
20949 "maxLength" : 60,
20950 "optional" : 1,
20951 "type" : "string"
20952 },
27a7acb2
DM
20953 "shared" : {
20954 "default" : 0,
20955 "description" : "Mark this locally-managed volume as available on all nodes",
20956 "optional" : 1,
20957 "type" : "boolean",
20958 "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!"
20959 },
44660702
DM
20960 "size" : {
20961 "description" : "Disk size. This is purely informational and has no effect.",
20962 "format" : "disk-size",
f004f5b9 20963 "format_description" : "DiskSize",
44660702
DM
20964 "optional" : 1,
20965 "type" : "string"
7aacca6f
DM
20966 },
20967 "snapshot" : {
27a7acb2 20968 "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 20969 "optional" : 1,
44660702 20970 "type" : "boolean"
7aacca6f 20971 },
25203dc1
NC
20972 "ssd" : {
20973 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
20974 "optional" : 1,
20975 "type" : "boolean"
20976 },
44660702
DM
20977 "trans" : {
20978 "description" : "Force disk geometry bios translation mode.",
20979 "enum" : [
20980 "none",
20981 "lba",
20982 "auto"
20983 ],
7aacca6f 20984 "optional" : 1,
44660702
DM
20985 "type" : "string"
20986 },
20987 "volume" : {
20988 "alias" : "file"
20989 },
20990 "werror" : {
20991 "description" : "Write error action.",
20992 "enum" : [
20993 "enospc",
20994 "ignore",
20995 "report",
20996 "stop"
20997 ],
44660702
DM
20998 "optional" : 1,
20999 "type" : "string"
95895385
TL
21000 },
21001 "wwn" : {
21002 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21003 "format_description" : "wwn",
21004 "optional" : 1,
21005 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21006 "type" : "string"
56122987
DM
21007 }
21008 },
56122987 21009 "optional" : 1,
4bd7df8b 21010 "type" : "string",
95895385 21011 "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
21012 },
21013 "ipconfig[n]" : {
4772952b 21014 "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\ngateway 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\ndhcp on IPv4.\n",
27a7acb2
DM
21015 "format" : "pve-qm-ipconfig",
21016 "optional" : 1,
21017 "type" : "string",
21018 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 21019 },
95895385
TL
21020 "ivshmem" : {
21021 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
21022 "format" : {
21023 "name" : {
21024 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
21025 "format_description" : "string",
21026 "optional" : 1,
21027 "pattern" : "[a-zA-Z0-9\\-]+",
21028 "type" : "string"
21029 },
21030 "size" : {
21031 "description" : "The size of the file in MB.",
21032 "minimum" : 1,
21033 "type" : "integer"
21034 }
21035 },
21036 "optional" : 1,
21037 "type" : "string",
21038 "typetext" : "size=<integer> [,name=<string>]"
21039 },
4772952b
TL
21040 "keephugepages" : {
21041 "default" : 0,
21042 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
21043 "optional" : 1,
21044 "type" : "boolean",
21045 "typetext" : "<boolean>"
21046 },
56122987 21047 "keyboard" : {
35a75dd3 21048 "default" : null,
5da3d723 21049 "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 21050 "enum" : [
44660702
DM
21051 "de",
21052 "de-ch",
7aacca6f 21053 "da",
56122987 21054 "en-gb",
44660702
DM
21055 "en-us",
21056 "es",
21057 "fi",
21058 "fr",
21059 "fr-be",
21060 "fr-ca",
21061 "fr-ch",
21062 "hu",
7aacca6f 21063 "is",
44660702
DM
21064 "it",
21065 "ja",
21066 "lt",
56122987 21067 "mk",
7aacca6f 21068 "nl",
56122987 21069 "no",
44660702 21070 "pl",
7aacca6f 21071 "pt",
44660702
DM
21072 "pt-br",
21073 "sv",
21074 "sl",
21075 "tr"
56122987 21076 ],
44660702
DM
21077 "optional" : 1,
21078 "type" : "string"
56122987 21079 },
44660702
DM
21080 "kvm" : {
21081 "default" : 1,
21082 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 21083 "optional" : 1,
013dc89f
DM
21084 "type" : "boolean",
21085 "typetext" : "<boolean>"
7aacca6f 21086 },
44660702
DM
21087 "localtime" : {
21088 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 21089 "optional" : 1,
013dc89f
DM
21090 "type" : "boolean",
21091 "typetext" : "<boolean>"
44660702
DM
21092 },
21093 "lock" : {
21094 "description" : "Lock/unlock the VM.",
7aacca6f 21095 "enum" : [
7aacca6f 21096 "backup",
5f26e15b
TL
21097 "clone",
21098 "create",
21099 "migrate",
21100 "rollback",
7aacca6f 21101 "snapshot",
95895385
TL
21102 "snapshot-delete",
21103 "suspending",
21104 "suspended"
7aacca6f 21105 ],
44660702
DM
21106 "optional" : 1,
21107 "type" : "string"
56122987 21108 },
44660702 21109 "machine" : {
4d47f125 21110 "description" : "Specifies the Qemu machine type.",
44660702
DM
21111 "maxLength" : 40,
21112 "optional" : 1,
5c1699e5 21113 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
21114 "type" : "string"
21115 },
21116 "memory" : {
21117 "default" : 512,
21118 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
21119 "minimum" : 16,
21120 "optional" : 1,
4bd7df8b 21121 "type" : "integer",
013dc89f 21122 "typetext" : "<integer> (16 - N)"
44660702
DM
21123 },
21124 "migrate_downtime" : {
21125 "default" : 0.1,
21126 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
21127 "minimum" : 0,
21128 "optional" : 1,
4bd7df8b 21129 "type" : "number",
013dc89f 21130 "typetext" : "<number> (0 - N)"
44660702
DM
21131 },
21132 "migrate_speed" : {
56122987 21133 "default" : 0,
44660702
DM
21134 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
21135 "minimum" : 0,
56122987 21136 "optional" : 1,
4bd7df8b 21137 "type" : "integer",
013dc89f 21138 "typetext" : "<integer> (0 - N)"
56122987 21139 },
27a7acb2
DM
21140 "name" : {
21141 "description" : "Set a name for the VM. Only used on the configuration web interface.",
21142 "format" : "dns-name",
21143 "optional" : 1,
21144 "type" : "string",
21145 "typetext" : "<string>"
21146 },
21147 "nameserver" : {
4772952b 21148 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2 21149 "format" : "address-list",
44660702 21150 "optional" : 1,
013dc89f
DM
21151 "type" : "string",
21152 "typetext" : "<string>"
44660702
DM
21153 },
21154 "net[n]" : {
c2993fe5 21155 "description" : "Specify network devices.",
f004f5b9
DM
21156 "format" : {
21157 "bridge" : {
c2993fe5 21158 "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
21159 "format_description" : "bridge",
21160 "optional" : 1,
c5aa7e14 21161 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
21162 "type" : "string"
21163 },
21164 "e1000" : {
21165 "alias" : "macaddr",
21166 "keyAlias" : "model"
21167 },
21168 "e1000-82540em" : {
21169 "alias" : "macaddr",
21170 "keyAlias" : "model"
21171 },
21172 "e1000-82544gc" : {
21173 "alias" : "macaddr",
21174 "keyAlias" : "model"
21175 },
21176 "e1000-82545em" : {
21177 "alias" : "macaddr",
21178 "keyAlias" : "model"
21179 },
21180 "firewall" : {
21181 "description" : "Whether this interface should be protected by the firewall.",
21182 "optional" : 1,
21183 "type" : "boolean"
21184 },
21185 "i82551" : {
21186 "alias" : "macaddr",
21187 "keyAlias" : "model"
21188 },
21189 "i82557b" : {
21190 "alias" : "macaddr",
21191 "keyAlias" : "model"
21192 },
21193 "i82559er" : {
21194 "alias" : "macaddr",
21195 "keyAlias" : "model"
21196 },
21197 "link_down" : {
c2993fe5 21198 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
21199 "optional" : 1,
21200 "type" : "boolean"
21201 },
21202 "macaddr" : {
c2993fe5 21203 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 21204 "format" : "mac-addr",
f004f5b9 21205 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 21206 "optional" : 1,
95895385
TL
21207 "type" : "string",
21208 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
21209 },
21210 "model" : {
21211 "default_key" : 1,
c2993fe5 21212 "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
21213 "enum" : [
21214 "rtl8139",
21215 "ne2k_pci",
21216 "e1000",
21217 "pcnet",
21218 "virtio",
21219 "ne2k_isa",
21220 "i82551",
21221 "i82557b",
21222 "i82559er",
21223 "vmxnet3",
21224 "e1000-82540em",
21225 "e1000-82544gc",
21226 "e1000-82545em"
21227 ],
f004f5b9
DM
21228 "type" : "string"
21229 },
ac70d7d1
TL
21230 "mtu" : {
21231 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
21232 "maximum" : 65520,
21233 "minimum" : 1,
21234 "optional" : 1,
21235 "type" : "integer"
21236 },
f004f5b9
DM
21237 "ne2k_isa" : {
21238 "alias" : "macaddr",
21239 "keyAlias" : "model"
21240 },
21241 "ne2k_pci" : {
21242 "alias" : "macaddr",
21243 "keyAlias" : "model"
21244 },
21245 "pcnet" : {
21246 "alias" : "macaddr",
21247 "keyAlias" : "model"
21248 },
21249 "queues" : {
21250 "description" : "Number of packet queues to be used on the device.",
21251 "maximum" : 16,
21252 "minimum" : 0,
21253 "optional" : 1,
21254 "type" : "integer"
21255 },
21256 "rate" : {
c2993fe5 21257 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
21258 "minimum" : 0,
21259 "optional" : 1,
21260 "type" : "number"
21261 },
21262 "rtl8139" : {
21263 "alias" : "macaddr",
21264 "keyAlias" : "model"
21265 },
21266 "tag" : {
21267 "description" : "VLAN tag to apply to packets on this interface.",
21268 "maximum" : 4094,
c2993fe5 21269 "minimum" : 1,
f004f5b9
DM
21270 "optional" : 1,
21271 "type" : "integer"
21272 },
21273 "trunks" : {
21274 "description" : "VLAN trunks to pass through this interface.",
21275 "format_description" : "vlanid[;vlanid...]",
21276 "optional" : 1,
21277 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
21278 "type" : "string"
21279 },
21280 "virtio" : {
21281 "alias" : "macaddr",
21282 "keyAlias" : "model"
21283 },
21284 "vmxnet3" : {
21285 "alias" : "macaddr",
21286 "keyAlias" : "model"
21287 }
21288 },
44660702 21289 "optional" : 1,
4bd7df8b 21290 "type" : "string",
ac70d7d1 21291 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
21292 },
21293 "node" : {
21294 "description" : "The cluster node name.",
21295 "format" : "pve-node",
013dc89f
DM
21296 "type" : "string",
21297 "typetext" : "<string>"
44660702
DM
21298 },
21299 "numa" : {
7aacca6f 21300 "default" : 0,
44660702
DM
21301 "description" : "Enable/disable NUMA.",
21302 "optional" : 1,
013dc89f
DM
21303 "type" : "boolean",
21304 "typetext" : "<boolean>"
56122987 21305 },
7aacca6f 21306 "numa[n]" : {
c2993fe5 21307 "description" : "NUMA topology.",
7aacca6f 21308 "format" : {
44660702 21309 "cpus" : {
c2993fe5 21310 "description" : "CPUs accessing this NUMA node.",
44660702
DM
21311 "format_description" : "id[-id];...",
21312 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
21313 "type" : "string"
21314 },
7aacca6f 21315 "hostnodes" : {
c2993fe5 21316 "description" : "Host NUMA nodes to use.",
44660702 21317 "format_description" : "id[-id];...",
7aacca6f 21318 "optional" : 1,
44660702
DM
21319 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
21320 "type" : "string"
7aacca6f 21321 },
44660702 21322 "memory" : {
c2993fe5 21323 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
21324 "optional" : 1,
21325 "type" : "number"
7aacca6f
DM
21326 },
21327 "policy" : {
c2993fe5 21328 "description" : "NUMA allocation policy.",
7aacca6f
DM
21329 "enum" : [
21330 "preferred",
21331 "bind",
21332 "interleave"
21333 ],
7aacca6f 21334 "optional" : 1,
44660702 21335 "type" : "string"
7aacca6f
DM
21336 }
21337 },
56122987 21338 "optional" : 1,
4bd7df8b
DM
21339 "type" : "string",
21340 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 21341 },
44660702
DM
21342 "onboot" : {
21343 "default" : 0,
21344 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 21345 "optional" : 1,
013dc89f
DM
21346 "type" : "boolean",
21347 "typetext" : "<boolean>"
56122987
DM
21348 },
21349 "ostype" : {
c2993fe5 21350 "description" : "Specify guest operating system.",
56122987
DM
21351 "enum" : [
21352 "other",
21353 "wxp",
21354 "w2k",
21355 "w2k3",
21356 "w2k8",
21357 "wvista",
21358 "win7",
21359 "win8",
32d876b5 21360 "win10",
56122987
DM
21361 "l24",
21362 "l26",
21363 "solaris"
44660702 21364 ],
56122987 21365 "optional" : 1,
c2993fe5 21366 "type" : "string",
5c1699e5 21367 "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 21368 },
44660702 21369 "parallel[n]" : {
c2993fe5 21370 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 21371 "optional" : 1,
44660702 21372 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 21373 "type" : "string",
4772952b 21374 "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\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 21375 },
44660702
DM
21376 "pool" : {
21377 "description" : "Add the VM to the specified pool.",
21378 "format" : "pve-poolid",
56122987 21379 "optional" : 1,
013dc89f
DM
21380 "type" : "string",
21381 "typetext" : "<string>"
56122987 21382 },
44660702
DM
21383 "protection" : {
21384 "default" : 0,
c2993fe5 21385 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 21386 "optional" : 1,
013dc89f
DM
21387 "type" : "boolean",
21388 "typetext" : "<boolean>"
56122987 21389 },
44660702 21390 "reboot" : {
7aacca6f 21391 "default" : 1,
44660702
DM
21392 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
21393 "optional" : 1,
013dc89f
DM
21394 "type" : "boolean",
21395 "typetext" : "<boolean>"
56122987 21396 },
c5aa7e14
TL
21397 "rng0" : {
21398 "description" : "Configure a VirtIO-based Random Number Generator.",
21399 "format" : {
21400 "max_bytes" : {
21401 "default" : 1024,
21402 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
21403 "optional" : 1,
21404 "type" : "integer"
21405 },
21406 "period" : {
21407 "default" : 1000,
21408 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
21409 "optional" : 1,
21410 "type" : "integer"
21411 },
21412 "source" : {
21413 "default_key" : 1,
21414 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
21415 "enum" : [
21416 "/dev/urandom",
21417 "/dev/random",
21418 "/dev/hwrng"
21419 ],
21420 "type" : "string"
21421 }
21422 },
21423 "optional" : 1,
21424 "type" : "string",
21425 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
21426 },
56122987 21427 "sata[n]" : {
44660702 21428 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 21429 "format" : {
7aacca6f 21430 "aio" : {
44660702 21431 "description" : "AIO type to use.",
56122987 21432 "enum" : [
7aacca6f
DM
21433 "native",
21434 "threads"
56122987 21435 ],
7aacca6f 21436 "optional" : 1,
44660702 21437 "type" : "string"
7aacca6f
DM
21438 },
21439 "backup" : {
7aacca6f 21440 "description" : "Whether the drive should be included when making backups.",
7aacca6f 21441 "optional" : 1,
44660702 21442 "type" : "boolean"
56122987 21443 },
44660702 21444 "bps" : {
de0983cb 21445 "description" : "Maximum r/w speed in bytes per second.",
44660702 21446 "format_description" : "bps",
7aacca6f 21447 "optional" : 1,
44660702 21448 "type" : "integer"
56122987 21449 },
de0983cb
DM
21450 "bps_max_length" : {
21451 "description" : "Maximum length of I/O bursts in seconds.",
21452 "format_description" : "seconds",
21453 "minimum" : 1,
21454 "optional" : 1,
21455 "type" : "integer"
21456 },
44660702 21457 "bps_rd" : {
de0983cb 21458 "description" : "Maximum read speed in bytes per second.",
44660702 21459 "format_description" : "bps",
56122987 21460 "optional" : 1,
44660702 21461 "type" : "integer"
7aacca6f 21462 },
de0983cb 21463 "bps_rd_length" : {
5d9c884c
DM
21464 "alias" : "bps_rd_max_length"
21465 },
21466 "bps_rd_max_length" : {
de0983cb
DM
21467 "description" : "Maximum length of read I/O bursts in seconds.",
21468 "format_description" : "seconds",
21469 "minimum" : 1,
21470 "optional" : 1,
21471 "type" : "integer"
21472 },
44660702 21473 "bps_wr" : {
de0983cb 21474 "description" : "Maximum write speed in bytes per second.",
44660702 21475 "format_description" : "bps",
56122987 21476 "optional" : 1,
44660702 21477 "type" : "integer"
56122987 21478 },
de0983cb 21479 "bps_wr_length" : {
5d9c884c
DM
21480 "alias" : "bps_wr_max_length"
21481 },
21482 "bps_wr_max_length" : {
de0983cb
DM
21483 "description" : "Maximum length of write I/O bursts in seconds.",
21484 "format_description" : "seconds",
21485 "minimum" : 1,
21486 "optional" : 1,
21487 "type" : "integer"
21488 },
7aacca6f 21489 "cache" : {
7aacca6f
DM
21490 "description" : "The drive's cache mode",
21491 "enum" : [
21492 "none",
21493 "writethrough",
21494 "writeback",
21495 "unsafe",
21496 "directsync"
21497 ],
44660702
DM
21498 "optional" : 1,
21499 "type" : "string"
56122987 21500 },
44660702
DM
21501 "cyls" : {
21502 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 21503 "optional" : 1,
7aacca6f 21504 "type" : "integer"
56122987 21505 },
7aacca6f
DM
21506 "detect_zeroes" : {
21507 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21508 "optional" : 1,
7aacca6f 21509 "type" : "boolean"
56122987 21510 },
44660702
DM
21511 "discard" : {
21512 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21513 "enum" : [
21514 "ignore",
21515 "on"
21516 ],
56122987 21517 "optional" : 1,
44660702 21518 "type" : "string"
56122987 21519 },
44660702
DM
21520 "file" : {
21521 "default_key" : 1,
21522 "description" : "The drive's backing volume.",
21523 "format" : "pve-volume-id-or-qm-path",
21524 "format_description" : "volume",
21525 "type" : "string"
56122987
DM
21526 },
21527 "format" : {
44660702 21528 "description" : "The drive's backing file's data format.",
56122987
DM
21529 "enum" : [
21530 "raw",
21531 "cow",
21532 "qcow",
21533 "qed",
21534 "qcow2",
21535 "vmdk",
21536 "cloop"
21537 ],
56122987 21538 "optional" : 1,
44660702 21539 "type" : "string"
56122987 21540 },
7aacca6f 21541 "heads" : {
7aacca6f 21542 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21543 "optional" : 1,
21544 "type" : "integer"
56122987 21545 },
44660702 21546 "iops" : {
de0983cb 21547 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
21548 "format_description" : "iops",
21549 "optional" : 1,
21550 "type" : "integer"
56122987 21551 },
44660702 21552 "iops_max" : {
de0983cb 21553 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21554 "format_description" : "iops",
56122987 21555 "optional" : 1,
44660702 21556 "type" : "integer"
56122987 21557 },
de0983cb
DM
21558 "iops_max_length" : {
21559 "description" : "Maximum length of I/O bursts in seconds.",
21560 "format_description" : "seconds",
21561 "minimum" : 1,
21562 "optional" : 1,
21563 "type" : "integer"
21564 },
44660702 21565 "iops_rd" : {
de0983cb 21566 "description" : "Maximum read I/O in operations per second.",
44660702 21567 "format_description" : "iops",
56122987 21568 "optional" : 1,
44660702 21569 "type" : "integer"
56122987 21570 },
de0983cb 21571 "iops_rd_length" : {
5d9c884c 21572 "alias" : "iops_rd_max_length"
de0983cb 21573 },
44660702 21574 "iops_rd_max" : {
de0983cb 21575 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 21576 "format_description" : "iops",
56122987 21577 "optional" : 1,
44660702 21578 "type" : "integer"
56122987 21579 },
5d9c884c
DM
21580 "iops_rd_max_length" : {
21581 "description" : "Maximum length of read I/O bursts in seconds.",
21582 "format_description" : "seconds",
21583 "minimum" : 1,
21584 "optional" : 1,
21585 "type" : "integer"
21586 },
44660702 21587 "iops_wr" : {
de0983cb 21588 "description" : "Maximum write I/O in operations per second.",
44660702 21589 "format_description" : "iops",
7aacca6f 21590 "optional" : 1,
44660702 21591 "type" : "integer"
7aacca6f 21592 },
de0983cb 21593 "iops_wr_length" : {
5d9c884c 21594 "alias" : "iops_wr_max_length"
de0983cb 21595 },
44660702 21596 "iops_wr_max" : {
de0983cb 21597 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21598 "format_description" : "iops",
56122987 21599 "optional" : 1,
7aacca6f 21600 "type" : "integer"
56122987 21601 },
5d9c884c
DM
21602 "iops_wr_max_length" : {
21603 "description" : "Maximum length of write I/O bursts in seconds.",
21604 "format_description" : "seconds",
21605 "minimum" : 1,
21606 "optional" : 1,
21607 "type" : "integer"
21608 },
44660702 21609 "mbps" : {
de0983cb 21610 "description" : "Maximum r/w speed in megabytes per second.",
44660702 21611 "format_description" : "mbps",
56122987 21612 "optional" : 1,
44660702 21613 "type" : "number"
56122987 21614 },
44660702 21615 "mbps_max" : {
de0983cb 21616 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 21617 "format_description" : "mbps",
7aacca6f 21618 "optional" : 1,
44660702 21619 "type" : "number"
7aacca6f 21620 },
44660702 21621 "mbps_rd" : {
de0983cb 21622 "description" : "Maximum read speed in megabytes per second.",
44660702 21623 "format_description" : "mbps",
7aacca6f 21624 "optional" : 1,
44660702 21625 "type" : "number"
7aacca6f 21626 },
44660702 21627 "mbps_rd_max" : {
de0983cb 21628 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21629 "format_description" : "mbps",
7aacca6f 21630 "optional" : 1,
44660702 21631 "type" : "number"
7aacca6f 21632 },
44660702 21633 "mbps_wr" : {
de0983cb 21634 "description" : "Maximum write speed in megabytes per second.",
44660702 21635 "format_description" : "mbps",
7aacca6f 21636 "optional" : 1,
44660702 21637 "type" : "number"
7aacca6f
DM
21638 },
21639 "mbps_wr_max" : {
de0983cb 21640 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 21641 "format_description" : "mbps",
7aacca6f 21642 "optional" : 1,
44660702 21643 "type" : "number"
7aacca6f 21644 },
44660702
DM
21645 "media" : {
21646 "default" : "disk",
21647 "description" : "The drive's media type.",
56122987 21648 "enum" : [
44660702
DM
21649 "cdrom",
21650 "disk"
56122987 21651 ],
56122987 21652 "optional" : 1,
44660702 21653 "type" : "string"
56122987 21654 },
5d9c884c
DM
21655 "replicate" : {
21656 "default" : 1,
21657 "description" : "Whether the drive should considered for replication jobs.",
21658 "optional" : 1,
21659 "type" : "boolean"
21660 },
44660702
DM
21661 "rerror" : {
21662 "description" : "Read error action.",
7aacca6f
DM
21663 "enum" : [
21664 "ignore",
44660702
DM
21665 "report",
21666 "stop"
7aacca6f 21667 ],
56122987 21668 "optional" : 1,
44660702 21669 "type" : "string"
56122987 21670 },
44660702
DM
21671 "secs" : {
21672 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 21673 "optional" : 1,
44660702 21674 "type" : "integer"
56122987 21675 },
44660702
DM
21676 "serial" : {
21677 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
21678 "format" : "urlencoded",
21679 "format_description" : "serial",
21680 "maxLength" : 60,
21681 "optional" : 1,
21682 "type" : "string"
7aacca6f 21683 },
27a7acb2
DM
21684 "shared" : {
21685 "default" : 0,
21686 "description" : "Mark this locally-managed volume as available on all nodes",
21687 "optional" : 1,
21688 "type" : "boolean",
21689 "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!"
21690 },
7aacca6f
DM
21691 "size" : {
21692 "description" : "Disk size. This is purely informational and has no effect.",
44660702 21693 "format" : "disk-size",
f004f5b9 21694 "format_description" : "DiskSize",
56122987 21695 "optional" : 1,
44660702 21696 "type" : "string"
56122987 21697 },
44660702 21698 "snapshot" : {
27a7acb2 21699 "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 21700 "optional" : 1,
44660702 21701 "type" : "boolean"
56122987 21702 },
25203dc1
NC
21703 "ssd" : {
21704 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
21705 "optional" : 1,
21706 "type" : "boolean"
21707 },
44660702
DM
21708 "trans" : {
21709 "description" : "Force disk geometry bios translation mode.",
56122987 21710 "enum" : [
44660702
DM
21711 "none",
21712 "lba",
21713 "auto"
7aacca6f 21714 ],
44660702
DM
21715 "optional" : 1,
21716 "type" : "string"
21717 },
21718 "volume" : {
21719 "alias" : "file"
56122987
DM
21720 },
21721 "werror" : {
56122987
DM
21722 "description" : "Write error action.",
21723 "enum" : [
21724 "enospc",
21725 "ignore",
21726 "report",
21727 "stop"
21728 ],
56122987 21729 "optional" : 1,
44660702 21730 "type" : "string"
95895385
TL
21731 },
21732 "wwn" : {
21733 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21734 "format_description" : "wwn",
21735 "optional" : 1,
21736 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21737 "type" : "string"
44660702
DM
21738 }
21739 },
21740 "optional" : 1,
4bd7df8b 21741 "type" : "string",
95895385 21742 "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
21743 },
21744 "scsi[n]" : {
e9cd3bd4 21745 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
21746 "format" : {
21747 "aio" : {
21748 "description" : "AIO type to use.",
21749 "enum" : [
21750 "native",
21751 "threads"
21752 ],
44660702
DM
21753 "optional" : 1,
21754 "type" : "string"
56122987 21755 },
7aacca6f 21756 "backup" : {
44660702 21757 "description" : "Whether the drive should be included when making backups.",
7aacca6f 21758 "optional" : 1,
44660702 21759 "type" : "boolean"
7aacca6f 21760 },
44660702 21761 "bps" : {
de0983cb 21762 "description" : "Maximum r/w speed in bytes per second.",
44660702 21763 "format_description" : "bps",
7aacca6f 21764 "optional" : 1,
44660702 21765 "type" : "integer"
7aacca6f 21766 },
de0983cb
DM
21767 "bps_max_length" : {
21768 "description" : "Maximum length of I/O bursts in seconds.",
21769 "format_description" : "seconds",
21770 "minimum" : 1,
21771 "optional" : 1,
21772 "type" : "integer"
21773 },
44660702 21774 "bps_rd" : {
de0983cb 21775 "description" : "Maximum read speed in bytes per second.",
44660702 21776 "format_description" : "bps",
56122987 21777 "optional" : 1,
44660702 21778 "type" : "integer"
56122987 21779 },
de0983cb 21780 "bps_rd_length" : {
5d9c884c
DM
21781 "alias" : "bps_rd_max_length"
21782 },
21783 "bps_rd_max_length" : {
de0983cb
DM
21784 "description" : "Maximum length of read I/O bursts in seconds.",
21785 "format_description" : "seconds",
21786 "minimum" : 1,
21787 "optional" : 1,
21788 "type" : "integer"
21789 },
44660702 21790 "bps_wr" : {
de0983cb 21791 "description" : "Maximum write speed in bytes per second.",
44660702 21792 "format_description" : "bps",
7aacca6f 21793 "optional" : 1,
44660702 21794 "type" : "integer"
56122987 21795 },
de0983cb 21796 "bps_wr_length" : {
5d9c884c
DM
21797 "alias" : "bps_wr_max_length"
21798 },
21799 "bps_wr_max_length" : {
de0983cb
DM
21800 "description" : "Maximum length of write I/O bursts in seconds.",
21801 "format_description" : "seconds",
21802 "minimum" : 1,
21803 "optional" : 1,
21804 "type" : "integer"
21805 },
44660702
DM
21806 "cache" : {
21807 "description" : "The drive's cache mode",
7aacca6f
DM
21808 "enum" : [
21809 "none",
44660702
DM
21810 "writethrough",
21811 "writeback",
21812 "unsafe",
21813 "directsync"
7aacca6f 21814 ],
56122987 21815 "optional" : 1,
44660702 21816 "type" : "string"
56122987 21817 },
7aacca6f
DM
21818 "cyls" : {
21819 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
21820 "optional" : 1,
44660702 21821 "type" : "integer"
7aacca6f 21822 },
44660702
DM
21823 "detect_zeroes" : {
21824 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21825 "optional" : 1,
44660702 21826 "type" : "boolean"
56122987 21827 },
44660702
DM
21828 "discard" : {
21829 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 21830 "enum" : [
44660702
DM
21831 "ignore",
21832 "on"
7aacca6f 21833 ],
7aacca6f 21834 "optional" : 1,
44660702 21835 "type" : "string"
56122987
DM
21836 },
21837 "file" : {
7aacca6f
DM
21838 "default_key" : 1,
21839 "description" : "The drive's backing volume.",
44660702
DM
21840 "format" : "pve-volume-id-or-qm-path",
21841 "format_description" : "volume",
7aacca6f 21842 "type" : "string"
56122987 21843 },
7aacca6f 21844 "format" : {
44660702 21845 "description" : "The drive's backing file's data format.",
56122987 21846 "enum" : [
7aacca6f
DM
21847 "raw",
21848 "cow",
21849 "qcow",
21850 "qed",
21851 "qcow2",
21852 "vmdk",
21853 "cloop"
56122987 21854 ],
44660702
DM
21855 "optional" : 1,
21856 "type" : "string"
56122987 21857 },
44660702
DM
21858 "heads" : {
21859 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21860 "optional" : 1,
21861 "type" : "integer"
21862 },
21863 "iops" : {
de0983cb 21864 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 21865 "format_description" : "iops",
56122987 21866 "optional" : 1,
44660702 21867 "type" : "integer"
56122987 21868 },
44660702 21869 "iops_max" : {
de0983cb 21870 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21871 "format_description" : "iops",
7aacca6f 21872 "optional" : 1,
44660702 21873 "type" : "integer"
56122987 21874 },
de0983cb
DM
21875 "iops_max_length" : {
21876 "description" : "Maximum length of I/O bursts in seconds.",
21877 "format_description" : "seconds",
21878 "minimum" : 1,
21879 "optional" : 1,
21880 "type" : "integer"
21881 },
44660702 21882 "iops_rd" : {
de0983cb 21883 "description" : "Maximum read I/O in operations per second.",
44660702 21884 "format_description" : "iops",
56122987 21885 "optional" : 1,
44660702 21886 "type" : "integer"
56122987 21887 },
de0983cb 21888 "iops_rd_length" : {
5d9c884c 21889 "alias" : "iops_rd_max_length"
de0983cb 21890 },
44660702 21891 "iops_rd_max" : {
de0983cb 21892 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
21893 "format_description" : "iops",
21894 "optional" : 1,
21895 "type" : "integer"
56122987 21896 },
5d9c884c
DM
21897 "iops_rd_max_length" : {
21898 "description" : "Maximum length of read I/O bursts in seconds.",
21899 "format_description" : "seconds",
21900 "minimum" : 1,
21901 "optional" : 1,
21902 "type" : "integer"
21903 },
44660702 21904 "iops_wr" : {
de0983cb 21905 "description" : "Maximum write I/O in operations per second.",
44660702 21906 "format_description" : "iops",
56122987 21907 "optional" : 1,
44660702 21908 "type" : "integer"
56122987 21909 },
de0983cb 21910 "iops_wr_length" : {
5d9c884c 21911 "alias" : "iops_wr_max_length"
de0983cb 21912 },
44660702 21913 "iops_wr_max" : {
de0983cb 21914 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21915 "format_description" : "iops",
56122987 21916 "optional" : 1,
56122987
DM
21917 "type" : "integer"
21918 },
5d9c884c
DM
21919 "iops_wr_max_length" : {
21920 "description" : "Maximum length of write I/O bursts in seconds.",
21921 "format_description" : "seconds",
21922 "minimum" : 1,
21923 "optional" : 1,
21924 "type" : "integer"
21925 },
44660702
DM
21926 "iothread" : {
21927 "description" : "Whether to use iothreads for this drive",
44660702
DM
21928 "optional" : 1,
21929 "type" : "boolean"
21930 },
21931 "mbps" : {
de0983cb 21932 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
21933 "format_description" : "mbps",
21934 "optional" : 1,
21935 "type" : "number"
21936 },
7aacca6f 21937 "mbps_max" : {
de0983cb 21938 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 21939 "format_description" : "mbps",
56122987 21940 "optional" : 1,
44660702 21941 "type" : "number"
56122987 21942 },
44660702 21943 "mbps_rd" : {
de0983cb 21944 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
21945 "format_description" : "mbps",
21946 "optional" : 1,
21947 "type" : "number"
56122987 21948 },
44660702 21949 "mbps_rd_max" : {
de0983cb 21950 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21951 "format_description" : "mbps",
56122987 21952 "optional" : 1,
44660702 21953 "type" : "number"
56122987 21954 },
44660702 21955 "mbps_wr" : {
de0983cb 21956 "description" : "Maximum write speed in megabytes per second.",
44660702 21957 "format_description" : "mbps",
56122987 21958 "optional" : 1,
44660702 21959 "type" : "number"
56122987 21960 },
44660702 21961 "mbps_wr_max" : {
de0983cb 21962 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 21963 "format_description" : "mbps",
7aacca6f 21964 "optional" : 1,
44660702 21965 "type" : "number"
56122987 21966 },
7aacca6f 21967 "media" : {
44660702 21968 "default" : "disk",
7aacca6f
DM
21969 "description" : "The drive's media type.",
21970 "enum" : [
21971 "cdrom",
21972 "disk"
21973 ],
56122987 21974 "optional" : 1,
44660702 21975 "type" : "string"
56122987 21976 },
44660702
DM
21977 "queues" : {
21978 "description" : "Number of queues.",
44660702
DM
21979 "minimum" : 2,
21980 "optional" : 1,
21981 "type" : "integer"
56122987 21982 },
5d9c884c
DM
21983 "replicate" : {
21984 "default" : 1,
21985 "description" : "Whether the drive should considered for replication jobs.",
21986 "optional" : 1,
21987 "type" : "boolean"
21988 },
21989 "rerror" : {
21990 "description" : "Read error action.",
21991 "enum" : [
21992 "ignore",
21993 "report",
21994 "stop"
21995 ],
21996 "optional" : 1,
21997 "type" : "string"
21998 },
52e44c50
FG
21999 "scsiblock" : {
22000 "default" : 0,
22001 "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",
22002 "optional" : 1,
22003 "type" : "boolean"
22004 },
7aacca6f 22005 "secs" : {
7aacca6f 22006 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
22007 "optional" : 1,
22008 "type" : "integer"
22009 },
22010 "serial" : {
22011 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22012 "format" : "urlencoded",
22013 "format_description" : "serial",
22014 "maxLength" : 60,
22015 "optional" : 1,
22016 "type" : "string"
22017 },
27a7acb2
DM
22018 "shared" : {
22019 "default" : 0,
22020 "description" : "Mark this locally-managed volume as available on all nodes",
22021 "optional" : 1,
22022 "type" : "boolean",
22023 "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!"
22024 },
44660702
DM
22025 "size" : {
22026 "description" : "Disk size. This is purely informational and has no effect.",
22027 "format" : "disk-size",
f004f5b9 22028 "format_description" : "DiskSize",
44660702
DM
22029 "optional" : 1,
22030 "type" : "string"
22031 },
22032 "snapshot" : {
27a7acb2 22033 "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
22034 "optional" : 1,
22035 "type" : "boolean"
22036 },
25203dc1
NC
22037 "ssd" : {
22038 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
22039 "optional" : 1,
22040 "type" : "boolean"
22041 },
44660702
DM
22042 "trans" : {
22043 "description" : "Force disk geometry bios translation mode.",
22044 "enum" : [
22045 "none",
22046 "lba",
22047 "auto"
22048 ],
44660702
DM
22049 "optional" : 1,
22050 "type" : "string"
22051 },
22052 "volume" : {
22053 "alias" : "file"
22054 },
22055 "werror" : {
22056 "description" : "Write error action.",
22057 "enum" : [
22058 "enospc",
22059 "ignore",
22060 "report",
22061 "stop"
22062 ],
44660702
DM
22063 "optional" : 1,
22064 "type" : "string"
95895385
TL
22065 },
22066 "wwn" : {
22067 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
22068 "format_description" : "wwn",
22069 "optional" : 1,
22070 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
22071 "type" : "string"
56122987
DM
22072 }
22073 },
7aacca6f 22074 "optional" : 1,
4bd7df8b 22075 "type" : "string",
95895385 22076 "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 22077 },
44660702
DM
22078 "scsihw" : {
22079 "default" : "lsi",
c2993fe5 22080 "description" : "SCSI controller model",
44660702
DM
22081 "enum" : [
22082 "lsi",
22083 "lsi53c810",
22084 "virtio-scsi-pci",
22085 "virtio-scsi-single",
22086 "megasas",
22087 "pvscsi"
22088 ],
7aacca6f 22089 "optional" : 1,
44660702 22090 "type" : "string"
7aacca6f 22091 },
27a7acb2 22092 "searchdomain" : {
4772952b 22093 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
22094 "optional" : 1,
22095 "type" : "string",
22096 "typetext" : "<string>"
22097 },
44660702 22098 "serial[n]" : {
c2993fe5 22099 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
22100 "optional" : 1,
22101 "pattern" : "(/dev/.+|socket)",
c2993fe5 22102 "type" : "string",
4772952b 22103 "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 -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
22104 },
22105 "shares" : {
22106 "default" : 1000,
5da3d723 22107 "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
22108 "maximum" : 50000,
22109 "minimum" : 0,
22110 "optional" : 1,
4bd7df8b 22111 "type" : "integer",
013dc89f 22112 "typetext" : "<integer> (0 - 50000)"
44660702
DM
22113 },
22114 "smbios1" : {
22115 "description" : "Specify SMBIOS type 1 fields.",
22116 "format" : "pve-qm-smbios1",
1e3f8156 22117 "maxLength" : 512,
7aacca6f 22118 "optional" : 1,
4bd7df8b 22119 "type" : "string",
1e3f8156 22120 "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
22121 },
22122 "smp" : {
44660702 22123 "default" : 1,
7aacca6f 22124 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 22125 "minimum" : 1,
56122987 22126 "optional" : 1,
4bd7df8b 22127 "type" : "integer",
013dc89f 22128 "typetext" : "<integer> (1 - N)"
44660702
DM
22129 },
22130 "sockets" : {
7aacca6f 22131 "default" : 1,
44660702
DM
22132 "description" : "The number of CPU sockets.",
22133 "minimum" : 1,
22134 "optional" : 1,
4bd7df8b 22135 "type" : "integer",
013dc89f 22136 "typetext" : "<integer> (1 - N)"
7aacca6f 22137 },
1c532546
TL
22138 "spice_enhancements" : {
22139 "description" : "Configure additional enhancements for SPICE.",
22140 "format" : {
22141 "foldersharing" : {
22142 "default" : "0",
22143 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
22144 "optional" : 1,
22145 "type" : "boolean"
22146 },
22147 "videostreaming" : {
22148 "default" : "off",
22149 "description" : "Enable video streaming. Uses compression for detected video streams.",
22150 "enum" : [
22151 "off",
22152 "all",
22153 "filter"
22154 ],
22155 "optional" : 1,
22156 "type" : "string"
22157 }
22158 },
22159 "optional" : 1,
22160 "type" : "string",
22161 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
22162 },
27a7acb2
DM
22163 "sshkeys" : {
22164 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
22165 "format" : "urlencoded",
22166 "optional" : 1,
22167 "type" : "string",
22168 "typetext" : "<string>"
22169 },
5da3d723
TL
22170 "start" : {
22171 "default" : 0,
22172 "description" : "Start VM after it was created successfully.",
22173 "optional" : 1,
22174 "type" : "boolean",
22175 "typetext" : "<boolean>"
22176 },
44660702
DM
22177 "startdate" : {
22178 "default" : "now",
4772952b 22179 "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'.",
44660702
DM
22180 "optional" : 1,
22181 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
22182 "type" : "string",
22183 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
22184 },
22185 "startup" : {
22186 "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.",
22187 "format" : "pve-startup-order",
22188 "optional" : 1,
22189 "type" : "string",
22190 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
22191 },
22192 "storage" : {
22193 "description" : "Default storage.",
22194 "format" : "pve-storage-id",
7aacca6f 22195 "optional" : 1,
013dc89f
DM
22196 "type" : "string",
22197 "typetext" : "<string>"
56122987 22198 },
44660702
DM
22199 "tablet" : {
22200 "default" : 1,
c2993fe5 22201 "description" : "Enable/disable the USB tablet device.",
56122987 22202 "optional" : 1,
c2993fe5 22203 "type" : "boolean",
013dc89f 22204 "typetext" : "<boolean>",
4772952b 22205 "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 (`qm set <vmid> --vga qxl`)."
44660702 22206 },
5c1699e5
TL
22207 "tags" : {
22208 "description" : "Tags of the VM. This is only meta information.",
22209 "format" : "pve-tag-list",
22210 "optional" : 1,
22211 "type" : "string",
22212 "typetext" : "<string>"
22213 },
44660702
DM
22214 "tdf" : {
22215 "default" : 0,
22216 "description" : "Enable/disable time drift fix.",
22217 "optional" : 1,
013dc89f
DM
22218 "type" : "boolean",
22219 "typetext" : "<boolean>"
7aacca6f
DM
22220 },
22221 "template" : {
7aacca6f 22222 "default" : 0,
44660702 22223 "description" : "Enable/disable Template.",
7aacca6f 22224 "optional" : 1,
013dc89f
DM
22225 "type" : "boolean",
22226 "typetext" : "<boolean>"
7aacca6f 22227 },
44660702
DM
22228 "unique" : {
22229 "description" : "Assign a unique random ethernet address.",
7aacca6f 22230 "optional" : 1,
44660702 22231 "requires" : "archive",
013dc89f
DM
22232 "type" : "boolean",
22233 "typetext" : "<boolean>"
56122987 22234 },
44660702 22235 "unused[n]" : {
c2993fe5 22236 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
22237 "format" : {
22238 "file" : {
22239 "default_key" : 1,
22240 "description" : "The drive's backing volume.",
22241 "format" : "pve-volume-id",
22242 "format_description" : "volume",
22243 "type" : "string"
22244 },
22245 "volume" : {
22246 "alias" : "file"
22247 }
22248 },
7aacca6f 22249 "optional" : 1,
013dc89f 22250 "type" : "string",
c5aa7e14 22251 "typetext" : "[file=]<volume>"
44660702
DM
22252 },
22253 "usb[n]" : {
c2993fe5 22254 "description" : "Configure an USB device (n is 0 to 4).",
56122987 22255 "format" : {
7aacca6f
DM
22256 "host" : {
22257 "default_key" : 1,
4772952b 22258 "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\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 22259 "format" : "pve-qm-usb-device",
44660702
DM
22260 "format_description" : "HOSTUSBDEVICE|spice",
22261 "type" : "string"
7aacca6f 22262 },
56122987 22263 "usb3" : {
c2993fe5 22264 "default" : 0,
1c532546 22265 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 22266 "optional" : 1,
56122987 22267 "type" : "boolean"
7aacca6f 22268 }
56122987 22269 },
56122987 22270 "optional" : 1,
4bd7df8b
DM
22271 "type" : "string",
22272 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 22273 },
44660702
DM
22274 "vcpus" : {
22275 "default" : 0,
22276 "description" : "Number of hotplugged vcpus.",
22277 "minimum" : 1,
56122987 22278 "optional" : 1,
4bd7df8b 22279 "type" : "integer",
013dc89f 22280 "typetext" : "<integer> (1 - N)"
7aacca6f 22281 },
44660702 22282 "vga" : {
e2d681b3
TL
22283 "description" : "Configure the VGA hardware.",
22284 "format" : {
22285 "memory" : {
22286 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
22287 "maximum" : 512,
22288 "minimum" : 4,
22289 "optional" : 1,
22290 "type" : "integer"
22291 },
22292 "type" : {
22293 "default" : "std",
22294 "default_key" : 1,
22295 "description" : "Select the VGA type.",
22296 "enum" : [
22297 "cirrus",
22298 "qxl",
22299 "qxl2",
22300 "qxl3",
22301 "qxl4",
5f26e15b 22302 "none",
e2d681b3
TL
22303 "serial0",
22304 "serial1",
22305 "serial2",
22306 "serial3",
22307 "std",
22308 "virtio",
22309 "vmware"
22310 ],
22311 "optional" : 1,
22312 "type" : "string"
22313 }
22314 },
44660702 22315 "optional" : 1,
c2993fe5 22316 "type" : "string",
e2d681b3
TL
22317 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
22318 "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 22319 },
44660702
DM
22320 "virtio[n]" : {
22321 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
22322 "format" : {
22323 "aio" : {
22324 "description" : "AIO type to use.",
22325 "enum" : [
22326 "native",
22327 "threads"
22328 ],
44660702
DM
22329 "optional" : 1,
22330 "type" : "string"
22331 },
22332 "backup" : {
22333 "description" : "Whether the drive should be included when making backups.",
44660702
DM
22334 "optional" : 1,
22335 "type" : "boolean"
22336 },
22337 "bps" : {
de0983cb 22338 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
22339 "format_description" : "bps",
22340 "optional" : 1,
22341 "type" : "integer"
22342 },
de0983cb
DM
22343 "bps_max_length" : {
22344 "description" : "Maximum length of I/O bursts in seconds.",
22345 "format_description" : "seconds",
22346 "minimum" : 1,
22347 "optional" : 1,
22348 "type" : "integer"
22349 },
44660702 22350 "bps_rd" : {
de0983cb 22351 "description" : "Maximum read speed in bytes per second.",
44660702
DM
22352 "format_description" : "bps",
22353 "optional" : 1,
22354 "type" : "integer"
22355 },
de0983cb 22356 "bps_rd_length" : {
5d9c884c
DM
22357 "alias" : "bps_rd_max_length"
22358 },
22359 "bps_rd_max_length" : {
de0983cb
DM
22360 "description" : "Maximum length of read I/O bursts in seconds.",
22361 "format_description" : "seconds",
22362 "minimum" : 1,
22363 "optional" : 1,
22364 "type" : "integer"
22365 },
44660702 22366 "bps_wr" : {
de0983cb 22367 "description" : "Maximum write speed in bytes per second.",
44660702
DM
22368 "format_description" : "bps",
22369 "optional" : 1,
22370 "type" : "integer"
22371 },
de0983cb 22372 "bps_wr_length" : {
5d9c884c
DM
22373 "alias" : "bps_wr_max_length"
22374 },
22375 "bps_wr_max_length" : {
de0983cb
DM
22376 "description" : "Maximum length of write I/O bursts in seconds.",
22377 "format_description" : "seconds",
22378 "minimum" : 1,
22379 "optional" : 1,
22380 "type" : "integer"
22381 },
44660702
DM
22382 "cache" : {
22383 "description" : "The drive's cache mode",
22384 "enum" : [
22385 "none",
22386 "writethrough",
22387 "writeback",
22388 "unsafe",
22389 "directsync"
22390 ],
44660702
DM
22391 "optional" : 1,
22392 "type" : "string"
22393 },
22394 "cyls" : {
22395 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
22396 "optional" : 1,
22397 "type" : "integer"
22398 },
22399 "detect_zeroes" : {
22400 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
22401 "optional" : 1,
22402 "type" : "boolean"
22403 },
22404 "discard" : {
22405 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
22406 "enum" : [
22407 "ignore",
22408 "on"
22409 ],
44660702
DM
22410 "optional" : 1,
22411 "type" : "string"
22412 },
22413 "file" : {
22414 "default_key" : 1,
22415 "description" : "The drive's backing volume.",
22416 "format" : "pve-volume-id-or-qm-path",
22417 "format_description" : "volume",
22418 "type" : "string"
22419 },
22420 "format" : {
22421 "description" : "The drive's backing file's data format.",
22422 "enum" : [
22423 "raw",
22424 "cow",
22425 "qcow",
22426 "qed",
22427 "qcow2",
22428 "vmdk",
22429 "cloop"
22430 ],
44660702
DM
22431 "optional" : 1,
22432 "type" : "string"
22433 },
22434 "heads" : {
22435 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22436 "optional" : 1,
22437 "type" : "integer"
22438 },
22439 "iops" : {
de0983cb 22440 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
22441 "format_description" : "iops",
22442 "optional" : 1,
22443 "type" : "integer"
22444 },
22445 "iops_max" : {
de0983cb 22446 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
22447 "format_description" : "iops",
22448 "optional" : 1,
22449 "type" : "integer"
22450 },
de0983cb
DM
22451 "iops_max_length" : {
22452 "description" : "Maximum length of I/O bursts in seconds.",
22453 "format_description" : "seconds",
22454 "minimum" : 1,
22455 "optional" : 1,
22456 "type" : "integer"
22457 },
44660702 22458 "iops_rd" : {
de0983cb 22459 "description" : "Maximum read I/O in operations per second.",
44660702
DM
22460 "format_description" : "iops",
22461 "optional" : 1,
22462 "type" : "integer"
22463 },
de0983cb 22464 "iops_rd_length" : {
5d9c884c 22465 "alias" : "iops_rd_max_length"
de0983cb 22466 },
44660702 22467 "iops_rd_max" : {
de0983cb 22468 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
22469 "format_description" : "iops",
22470 "optional" : 1,
22471 "type" : "integer"
22472 },
5d9c884c
DM
22473 "iops_rd_max_length" : {
22474 "description" : "Maximum length of read I/O bursts in seconds.",
22475 "format_description" : "seconds",
22476 "minimum" : 1,
22477 "optional" : 1,
22478 "type" : "integer"
22479 },
44660702 22480 "iops_wr" : {
de0983cb 22481 "description" : "Maximum write I/O in operations per second.",
44660702
DM
22482 "format_description" : "iops",
22483 "optional" : 1,
22484 "type" : "integer"
22485 },
de0983cb 22486 "iops_wr_length" : {
5d9c884c 22487 "alias" : "iops_wr_max_length"
de0983cb 22488 },
44660702 22489 "iops_wr_max" : {
de0983cb 22490 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
22491 "format_description" : "iops",
22492 "optional" : 1,
22493 "type" : "integer"
22494 },
5d9c884c
DM
22495 "iops_wr_max_length" : {
22496 "description" : "Maximum length of write I/O bursts in seconds.",
22497 "format_description" : "seconds",
22498 "minimum" : 1,
22499 "optional" : 1,
22500 "type" : "integer"
22501 },
44660702
DM
22502 "iothread" : {
22503 "description" : "Whether to use iothreads for this drive",
44660702
DM
22504 "optional" : 1,
22505 "type" : "boolean"
22506 },
22507 "mbps" : {
de0983cb 22508 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
22509 "format_description" : "mbps",
22510 "optional" : 1,
22511 "type" : "number"
22512 },
22513 "mbps_max" : {
de0983cb 22514 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
22515 "format_description" : "mbps",
22516 "optional" : 1,
22517 "type" : "number"
22518 },
22519 "mbps_rd" : {
de0983cb 22520 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
22521 "format_description" : "mbps",
22522 "optional" : 1,
22523 "type" : "number"
22524 },
22525 "mbps_rd_max" : {
de0983cb 22526 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
22527 "format_description" : "mbps",
22528 "optional" : 1,
22529 "type" : "number"
22530 },
22531 "mbps_wr" : {
de0983cb 22532 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
22533 "format_description" : "mbps",
22534 "optional" : 1,
22535 "type" : "number"
22536 },
22537 "mbps_wr_max" : {
de0983cb 22538 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
22539 "format_description" : "mbps",
22540 "optional" : 1,
22541 "type" : "number"
22542 },
22543 "media" : {
22544 "default" : "disk",
22545 "description" : "The drive's media type.",
22546 "enum" : [
22547 "cdrom",
22548 "disk"
22549 ],
44660702
DM
22550 "optional" : 1,
22551 "type" : "string"
22552 },
5d9c884c
DM
22553 "replicate" : {
22554 "default" : 1,
22555 "description" : "Whether the drive should considered for replication jobs.",
22556 "optional" : 1,
22557 "type" : "boolean"
22558 },
44660702
DM
22559 "rerror" : {
22560 "description" : "Read error action.",
22561 "enum" : [
22562 "ignore",
22563 "report",
22564 "stop"
22565 ],
44660702
DM
22566 "optional" : 1,
22567 "type" : "string"
22568 },
22569 "secs" : {
22570 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
22571 "optional" : 1,
22572 "type" : "integer"
22573 },
22574 "serial" : {
22575 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22576 "format" : "urlencoded",
22577 "format_description" : "serial",
22578 "maxLength" : 60,
22579 "optional" : 1,
22580 "type" : "string"
22581 },
27a7acb2
DM
22582 "shared" : {
22583 "default" : 0,
22584 "description" : "Mark this locally-managed volume as available on all nodes",
22585 "optional" : 1,
22586 "type" : "boolean",
22587 "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!"
22588 },
44660702
DM
22589 "size" : {
22590 "description" : "Disk size. This is purely informational and has no effect.",
22591 "format" : "disk-size",
f004f5b9 22592 "format_description" : "DiskSize",
44660702
DM
22593 "optional" : 1,
22594 "type" : "string"
22595 },
22596 "snapshot" : {
27a7acb2 22597 "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
22598 "optional" : 1,
22599 "type" : "boolean"
22600 },
22601 "trans" : {
22602 "description" : "Force disk geometry bios translation mode.",
22603 "enum" : [
22604 "none",
22605 "lba",
22606 "auto"
22607 ],
44660702
DM
22608 "optional" : 1,
22609 "type" : "string"
22610 },
22611 "volume" : {
22612 "alias" : "file"
22613 },
22614 "werror" : {
22615 "description" : "Write error action.",
22616 "enum" : [
22617 "enospc",
22618 "ignore",
22619 "report",
22620 "stop"
22621 ],
44660702
DM
22622 "optional" : 1,
22623 "type" : "string"
22624 }
22625 },
22626 "optional" : 1,
4bd7df8b 22627 "type" : "string",
27a7acb2 22628 "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 22629 },
4d47f125
TL
22630 "vmgenid" : {
22631 "default" : "1 (autogenerated)",
22632 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
22633 "format_description" : "UUID",
22634 "optional" : 1,
22635 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
22636 "type" : "string",
4772952b 22637 "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 through API/CLI create or update methods, but not when manually editing the config file."
4d47f125 22638 },
44660702
DM
22639 "vmid" : {
22640 "description" : "The (unique) ID of the VM.",
22641 "format" : "pve-vmid",
22642 "minimum" : 1,
4bd7df8b 22643 "type" : "integer",
013dc89f 22644 "typetext" : "<integer> (1 - N)"
44660702 22645 },
2489d6df
WB
22646 "vmstatestorage" : {
22647 "description" : "Default storage for VM state volumes/files.",
22648 "format" : "pve-storage-id",
22649 "optional" : 1,
22650 "type" : "string",
22651 "typetext" : "<string>"
22652 },
44660702 22653 "watchdog" : {
c2993fe5 22654 "description" : "Create a virtual hardware watchdog device.",
44660702 22655 "format" : "pve-qm-watchdog",
7aacca6f 22656 "optional" : 1,
c2993fe5 22657 "type" : "string",
013dc89f 22658 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 22659 "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 22660 }
44660702 22661 }
56122987 22662 },
56122987 22663 "permissions" : {
44660702
DM
22664 "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.",
22665 "user" : "all"
56122987 22666 },
44660702
DM
22667 "protected" : 1,
22668 "proxyto" : "node",
56122987 22669 "returns" : {
44660702 22670 "type" : "string"
7aacca6f 22671 }
56122987 22672 }
7aacca6f 22673 },
44660702 22674 "leaf" : 0,
7aacca6f 22675 "path" : "/nodes/{node}/qemu",
44660702 22676 "text" : "qemu"
56122987 22677 },
ac70d7d1
TL
22678 {
22679 "info" : {
22680 "GET" : {
22681 "allowtoken" : 1,
22682 "description" : "List all custom and default CPU models.",
22683 "method" : "GET",
22684 "name" : "index",
22685 "parameters" : {
22686 "additionalProperties" : 0,
22687 "properties" : {
22688 "node" : {
22689 "description" : "The cluster node name.",
22690 "format" : "pve-node",
22691 "type" : "string",
22692 "typetext" : "<string>"
22693 }
22694 }
22695 },
22696 "permissions" : {
22697 "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
22698 "user" : "all"
22699 },
22700 "returns" : {
22701 "items" : {
22702 "properties" : {
22703 "custom" : {
22704 "description" : "True if this is a custom CPU model.",
22705 "type" : "boolean"
22706 },
22707 "name" : {
22708 "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
22709 "type" : "string"
22710 },
22711 "vendor" : {
22712 "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
22713 "type" : "string"
22714 }
22715 },
22716 "type" : "object"
22717 },
22718 "links" : [
22719 {
22720 "href" : "{name}",
22721 "rel" : "child"
22722 }
22723 ],
22724 "type" : "array"
22725 }
22726 }
22727 },
22728 "leaf" : 1,
22729 "path" : "/nodes/{node}/cpu",
22730 "text" : "cpu"
22731 },
56122987
DM
22732 {
22733 "children" : [
22734 {
56122987
DM
22735 "children" : [
22736 {
56122987 22737 "info" : {
44660702 22738 "GET" : {
e9cd3bd4 22739 "allowtoken" : 1,
44660702
DM
22740 "description" : "Get container configuration.",
22741 "method" : "GET",
22742 "name" : "vm_config",
22743 "parameters" : {
22744 "additionalProperties" : 0,
22745 "properties" : {
1c532546
TL
22746 "current" : {
22747 "default" : 0,
22748 "description" : "Get current values (instead of pending values).",
22749 "optional" : 1,
22750 "type" : "boolean",
22751 "typetext" : "<boolean>"
22752 },
44660702
DM
22753 "node" : {
22754 "description" : "The cluster node name.",
22755 "format" : "pve-node",
013dc89f 22756 "type" : "string",
4d47f125
TL
22757 "typetext" : "<string>"
22758 },
5f26e15b
TL
22759 "snapshot" : {
22760 "description" : "Fetch config values from given snapshot.",
22761 "format" : "pve-configid",
22762 "maxLength" : 40,
22763 "optional" : 1,
22764 "type" : "string",
22765 "typetext" : "<string>"
22766 },
4d47f125
TL
22767 "vmid" : {
22768 "description" : "The (unique) ID of the VM.",
22769 "format" : "pve-vmid",
22770 "minimum" : 1,
22771 "type" : "integer",
22772 "typetext" : "<integer> (1 - N)"
22773 }
22774 }
22775 },
22776 "permissions" : {
22777 "check" : [
22778 "perm",
22779 "/vms/{vmid}",
22780 [
22781 "VM.Audit"
22782 ]
22783 ]
22784 },
22785 "proxyto" : "node",
22786 "returns" : {
22787 "properties" : {
22788 "arch" : {
22789 "default" : "amd64",
22790 "description" : "OS architecture type.",
22791 "enum" : [
22792 "amd64",
22793 "i386",
22794 "arm64",
22795 "armhf"
22796 ],
22797 "optional" : 1,
22798 "type" : "string"
22799 },
22800 "cmode" : {
22801 "default" : "tty",
22802 "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).",
22803 "enum" : [
22804 "shell",
22805 "console",
22806 "tty"
22807 ],
22808 "optional" : 1,
22809 "type" : "string"
22810 },
22811 "console" : {
22812 "default" : 1,
22813 "description" : "Attach a console device (/dev/console) to the container.",
22814 "optional" : 1,
22815 "type" : "boolean"
22816 },
22817 "cores" : {
22818 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 22819 "maximum" : 8192,
4d47f125
TL
22820 "minimum" : 1,
22821 "optional" : 1,
22822 "type" : "integer"
22823 },
22824 "cpulimit" : {
22825 "default" : 0,
22826 "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.",
4772952b 22827 "maximum" : 8192,
4d47f125
TL
22828 "minimum" : 0,
22829 "optional" : 1,
22830 "type" : "number"
22831 },
22832 "cpuunits" : {
22833 "default" : 1024,
22834 "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.",
22835 "maximum" : 500000,
22836 "minimum" : 0,
22837 "optional" : 1,
22838 "type" : "integer"
22839 },
739d4d64
TL
22840 "debug" : {
22841 "default" : 0,
22842 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
22843 "optional" : 1,
22844 "type" : "boolean"
22845 },
4d47f125
TL
22846 "description" : {
22847 "description" : "Container description. Only used on the configuration web interface.",
22848 "optional" : 1,
22849 "type" : "string"
22850 },
22851 "digest" : {
22852 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
22853 "type" : "string"
22854 },
22855 "features" : {
22856 "description" : "Allow containers access to advanced features.",
22857 "format" : {
c5aa7e14
TL
22858 "force_rw_sys" : {
22859 "default" : 0,
22860 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
22861 "optional" : 1,
22862 "type" : "boolean"
22863 },
e2d681b3
TL
22864 "fuse" : {
22865 "default" : 0,
22866 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
22867 "optional" : 1,
22868 "type" : "boolean"
22869 },
4d47f125
TL
22870 "keyctl" : {
22871 "default" : 0,
22872 "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.",
22873 "optional" : 1,
22874 "type" : "boolean"
22875 },
c5aa7e14
TL
22876 "mknod" : {
22877 "default" : 0,
22878 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
22879 "optional" : 1,
22880 "type" : "boolean"
22881 },
4d47f125
TL
22882 "mount" : {
22883 "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.",
22884 "format_description" : "fstype;fstype;...",
22885 "optional" : 1,
95895385 22886 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
22887 "type" : "string"
22888 },
22889 "nesting" : {
22890 "default" : 0,
22891 "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.",
22892 "optional" : 1,
22893 "type" : "boolean"
22894 }
22895 },
22896 "optional" : 1,
22897 "type" : "string"
22898 },
5f26e15b
TL
22899 "hookscript" : {
22900 "description" : "Script that will be exectued during various steps in the containers lifetime.",
22901 "format" : "pve-volume-id",
22902 "optional" : 1,
22903 "type" : "string"
22904 },
4d47f125
TL
22905 "hostname" : {
22906 "description" : "Set a host name for the container.",
22907 "format" : "dns-name",
22908 "maxLength" : 255,
22909 "optional" : 1,
22910 "type" : "string"
22911 },
22912 "lock" : {
22913 "description" : "Lock/unlock the VM.",
22914 "enum" : [
22915 "backup",
bb4c8cf8 22916 "create",
1c532546 22917 "destroyed",
4d47f125 22918 "disk",
bb4c8cf8 22919 "fstrim",
4d47f125
TL
22920 "migrate",
22921 "mounted",
22922 "rollback",
22923 "snapshot",
22924 "snapshot-delete"
22925 ],
22926 "optional" : 1,
22927 "type" : "string"
22928 },
22929 "lxc" : {
22930 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
22931 "items" : {
22932 "items" : {
22933 "type" : "string"
22934 },
22935 "type" : "array"
22936 },
22937 "optional" : 1,
22938 "type" : "array"
22939 },
22940 "memory" : {
22941 "default" : 512,
22942 "description" : "Amount of RAM for the VM in MB.",
22943 "minimum" : 16,
22944 "optional" : 1,
22945 "type" : "integer"
22946 },
22947 "mp[n]" : {
22948 "description" : "Use volume as container mount point.",
22949 "format" : {
22950 "acl" : {
22951 "description" : "Explicitly enable or disable ACL support.",
22952 "optional" : 1,
22953 "type" : "boolean"
22954 },
22955 "backup" : {
22956 "description" : "Whether to include the mount point in backups.",
22957 "optional" : 1,
22958 "type" : "boolean",
22959 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
22960 },
7cbed89a
TL
22961 "mountoptions" : {
22962 "description" : "Extra mount options for rootfs/mps.",
22963 "format_description" : "opt[;opt...]",
22964 "optional" : 1,
22965 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22966 "type" : "string"
22967 },
4d47f125
TL
22968 "mp" : {
22969 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
22970 "format" : "pve-lxc-mp-string",
22971 "format_description" : "Path",
22972 "type" : "string",
22973 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
22974 },
22975 "quota" : {
22976 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22977 "optional" : 1,
22978 "type" : "boolean"
22979 },
22980 "replicate" : {
22981 "default" : 1,
22982 "description" : "Will include this volume to a storage replica job.",
22983 "optional" : 1,
22984 "type" : "boolean"
22985 },
22986 "ro" : {
22987 "description" : "Read-only mount point",
22988 "optional" : 1,
22989 "type" : "boolean"
22990 },
22991 "shared" : {
22992 "default" : 0,
22993 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22994 "optional" : 1,
22995 "type" : "boolean",
22996 "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!"
22997 },
22998 "size" : {
22999 "description" : "Volume size (read only value).",
23000 "format" : "disk-size",
23001 "format_description" : "DiskSize",
23002 "optional" : 1,
23003 "type" : "string"
23004 },
23005 "volume" : {
23006 "default_key" : 1,
23007 "description" : "Volume, device or directory to mount into the container.",
23008 "format" : "pve-lxc-mp-string",
23009 "format_description" : "volume",
23010 "type" : "string"
23011 }
23012 },
23013 "optional" : 1,
23014 "type" : "string"
23015 },
23016 "nameserver" : {
23017 "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.",
23018 "format" : "address-list",
23019 "optional" : 1,
23020 "type" : "string"
23021 },
23022 "net[n]" : {
23023 "description" : "Specifies network interfaces for the container.",
23024 "format" : {
23025 "bridge" : {
23026 "description" : "Bridge to attach the network device to.",
23027 "format_description" : "bridge",
23028 "optional" : 1,
23029 "pattern" : "[-_.\\w\\d]+",
23030 "type" : "string"
23031 },
23032 "firewall" : {
23033 "description" : "Controls whether this interface's firewall rules should be used.",
23034 "optional" : 1,
23035 "type" : "boolean"
23036 },
23037 "gw" : {
23038 "description" : "Default gateway for IPv4 traffic.",
23039 "format" : "ipv4",
23040 "format_description" : "GatewayIPv4",
23041 "optional" : 1,
23042 "type" : "string"
23043 },
23044 "gw6" : {
23045 "description" : "Default gateway for IPv6 traffic.",
23046 "format" : "ipv6",
23047 "format_description" : "GatewayIPv6",
23048 "optional" : 1,
23049 "type" : "string"
23050 },
23051 "hwaddr" : {
23052 "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 23053 "format" : "mac-addr",
4d47f125
TL
23054 "format_description" : "XX:XX:XX:XX:XX:XX",
23055 "optional" : 1,
95895385
TL
23056 "type" : "string",
23057 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
23058 },
23059 "ip" : {
23060 "description" : "IPv4 address in CIDR format.",
23061 "format" : "pve-ipv4-config",
23062 "format_description" : "(IPv4/CIDR|dhcp|manual)",
23063 "optional" : 1,
23064 "type" : "string"
23065 },
23066 "ip6" : {
23067 "description" : "IPv6 address in CIDR format.",
23068 "format" : "pve-ipv6-config",
23069 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
23070 "optional" : 1,
23071 "type" : "string"
23072 },
23073 "mtu" : {
23074 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
23075 "minimum" : 64,
23076 "optional" : 1,
23077 "type" : "integer"
23078 },
23079 "name" : {
23080 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
23081 "format_description" : "string",
23082 "pattern" : "[-_.\\w\\d]+",
23083 "type" : "string"
23084 },
23085 "rate" : {
23086 "description" : "Apply rate limiting to the interface",
23087 "format_description" : "mbps",
23088 "optional" : 1,
23089 "type" : "number"
23090 },
23091 "tag" : {
23092 "description" : "VLAN tag for this interface.",
23093 "maximum" : 4094,
23094 "minimum" : 1,
23095 "optional" : 1,
23096 "type" : "integer"
23097 },
23098 "trunks" : {
23099 "description" : "VLAN ids to pass through the interface",
23100 "format_description" : "vlanid[;vlanid...]",
23101 "optional" : 1,
23102 "pattern" : "(?^:\\d+(?:;\\d+)*)",
23103 "type" : "string"
23104 },
23105 "type" : {
23106 "description" : "Network interface type.",
23107 "enum" : [
23108 "veth"
23109 ],
23110 "optional" : 1,
23111 "type" : "string"
23112 }
23113 },
23114 "optional" : 1,
23115 "type" : "string"
23116 },
23117 "onboot" : {
23118 "default" : 0,
23119 "description" : "Specifies whether a VM will be started during system bootup.",
23120 "optional" : 1,
23121 "type" : "boolean"
23122 },
23123 "ostype" : {
23124 "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.",
23125 "enum" : [
23126 "debian",
23127 "ubuntu",
23128 "centos",
23129 "fedora",
23130 "opensuse",
23131 "archlinux",
23132 "alpine",
23133 "gentoo",
23134 "unmanaged"
23135 ],
23136 "optional" : 1,
23137 "type" : "string"
23138 },
23139 "protection" : {
23140 "default" : 0,
23141 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
23142 "optional" : 1,
23143 "type" : "boolean"
23144 },
23145 "rootfs" : {
23146 "description" : "Use volume as container root.",
23147 "format" : {
23148 "acl" : {
23149 "description" : "Explicitly enable or disable ACL support.",
23150 "optional" : 1,
23151 "type" : "boolean"
23152 },
7cbed89a
TL
23153 "mountoptions" : {
23154 "description" : "Extra mount options for rootfs/mps.",
23155 "format_description" : "opt[;opt...]",
23156 "optional" : 1,
23157 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
23158 "type" : "string"
23159 },
4d47f125
TL
23160 "quota" : {
23161 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23162 "optional" : 1,
23163 "type" : "boolean"
23164 },
23165 "replicate" : {
23166 "default" : 1,
23167 "description" : "Will include this volume to a storage replica job.",
23168 "optional" : 1,
23169 "type" : "boolean"
23170 },
23171 "ro" : {
23172 "description" : "Read-only mount point",
23173 "optional" : 1,
23174 "type" : "boolean"
23175 },
23176 "shared" : {
23177 "default" : 0,
23178 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23179 "optional" : 1,
23180 "type" : "boolean",
23181 "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!"
23182 },
23183 "size" : {
23184 "description" : "Volume size (read only value).",
23185 "format" : "disk-size",
23186 "format_description" : "DiskSize",
23187 "optional" : 1,
23188 "type" : "string"
23189 },
23190 "volume" : {
23191 "default_key" : 1,
23192 "description" : "Volume, device or directory to mount into the container.",
23193 "format" : "pve-lxc-mp-string",
23194 "format_description" : "volume",
23195 "type" : "string"
23196 }
23197 },
23198 "optional" : 1,
23199 "type" : "string"
23200 },
23201 "searchdomain" : {
23202 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23203 "format" : "dns-name-list",
23204 "optional" : 1,
23205 "type" : "string"
23206 },
23207 "startup" : {
23208 "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.",
23209 "format" : "pve-startup-order",
23210 "optional" : 1,
23211 "type" : "string",
23212 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23213 },
23214 "swap" : {
23215 "default" : 512,
23216 "description" : "Amount of SWAP for the VM in MB.",
23217 "minimum" : 0,
23218 "optional" : 1,
23219 "type" : "integer"
23220 },
5c1699e5
TL
23221 "tags" : {
23222 "description" : "Tags of the Container. This is only meta information.",
23223 "format" : "pve-tag-list",
23224 "optional" : 1,
23225 "type" : "string"
23226 },
4d47f125
TL
23227 "template" : {
23228 "default" : 0,
23229 "description" : "Enable/disable Template.",
23230 "optional" : 1,
23231 "type" : "boolean"
44660702 23232 },
04d22a9f
TL
23233 "timezone" : {
23234 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
23235 "format" : "pve-ct-timezone",
23236 "optional" : 1,
23237 "type" : "string"
23238 },
4d47f125
TL
23239 "tty" : {
23240 "default" : 2,
23241 "description" : "Specify the number of tty available to the container",
23242 "maximum" : 6,
23243 "minimum" : 0,
23244 "optional" : 1,
23245 "type" : "integer"
23246 },
23247 "unprivileged" : {
23248 "default" : 0,
23249 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
23250 "optional" : 1,
23251 "type" : "boolean"
23252 },
23253 "unused[n]" : {
23254 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
23255 "format" : {
23256 "volume" : {
23257 "default_key" : 1,
23258 "description" : "The volume that is not used currently.",
23259 "format" : "pve-volume-id",
23260 "format_description" : "volume",
23261 "type" : "string"
23262 }
23263 },
4d47f125 23264 "optional" : 1,
44660702
DM
23265 "type" : "string"
23266 }
23267 },
23268 "type" : "object"
23269 }
23270 },
56122987 23271 "PUT" : {
e9cd3bd4 23272 "allowtoken" : 1,
44660702
DM
23273 "description" : "Set container options.",
23274 "method" : "PUT",
23275 "name" : "update_vm",
56122987 23276 "parameters" : {
44660702 23277 "additionalProperties" : 0,
56122987 23278 "properties" : {
44660702
DM
23279 "arch" : {
23280 "default" : "amd64",
23281 "description" : "OS architecture type.",
23282 "enum" : [
23283 "amd64",
4d47f125
TL
23284 "i386",
23285 "arm64",
23286 "armhf"
44660702 23287 ],
7aacca6f 23288 "optional" : 1,
44660702
DM
23289 "type" : "string"
23290 },
23291 "cmode" : {
7aacca6f 23292 "default" : "tty",
44660702 23293 "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
23294 "enum" : [
23295 "shell",
23296 "console",
23297 "tty"
23298 ],
44660702
DM
23299 "optional" : 1,
23300 "type" : "string"
7aacca6f 23301 },
44660702
DM
23302 "console" : {
23303 "default" : 1,
23304 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 23305 "optional" : 1,
013dc89f
DM
23306 "type" : "boolean",
23307 "typetext" : "<boolean>"
7aacca6f 23308 },
de0983cb
DM
23309 "cores" : {
23310 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 23311 "maximum" : 8192,
de0983cb
DM
23312 "minimum" : 1,
23313 "optional" : 1,
23314 "type" : "integer",
4772952b 23315 "typetext" : "<integer> (1 - 8192)"
de0983cb 23316 },
44660702
DM
23317 "cpulimit" : {
23318 "default" : 0,
23319 "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.",
4772952b 23320 "maximum" : 8192,
7aacca6f 23321 "minimum" : 0,
7aacca6f 23322 "optional" : 1,
4bd7df8b 23323 "type" : "number",
4772952b 23324 "typetext" : "<number> (0 - 8192)"
7aacca6f 23325 },
44660702
DM
23326 "cpuunits" : {
23327 "default" : 1024,
23328 "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.",
23329 "maximum" : 500000,
23330 "minimum" : 0,
23331 "optional" : 1,
4bd7df8b 23332 "type" : "integer",
013dc89f 23333 "typetext" : "<integer> (0 - 500000)"
7aacca6f 23334 },
739d4d64
TL
23335 "debug" : {
23336 "default" : 0,
23337 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
23338 "optional" : 1,
23339 "type" : "boolean",
23340 "typetext" : "<boolean>"
23341 },
44660702
DM
23342 "delete" : {
23343 "description" : "A list of settings you want to delete.",
23344 "format" : "pve-configid-list",
7aacca6f 23345 "optional" : 1,
013dc89f
DM
23346 "type" : "string",
23347 "typetext" : "<string>"
7aacca6f 23348 },
44660702
DM
23349 "description" : {
23350 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 23351 "optional" : 1,
013dc89f
DM
23352 "type" : "string",
23353 "typetext" : "<string>"
7aacca6f 23354 },
44660702
DM
23355 "digest" : {
23356 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23357 "maxLength" : 40,
7aacca6f 23358 "optional" : 1,
013dc89f
DM
23359 "type" : "string",
23360 "typetext" : "<string>"
7aacca6f 23361 },
4d47f125
TL
23362 "features" : {
23363 "description" : "Allow containers access to advanced features.",
23364 "format" : {
c5aa7e14
TL
23365 "force_rw_sys" : {
23366 "default" : 0,
23367 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
23368 "optional" : 1,
23369 "type" : "boolean"
23370 },
e2d681b3
TL
23371 "fuse" : {
23372 "default" : 0,
23373 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
23374 "optional" : 1,
23375 "type" : "boolean"
23376 },
4d47f125
TL
23377 "keyctl" : {
23378 "default" : 0,
23379 "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.",
23380 "optional" : 1,
23381 "type" : "boolean"
23382 },
c5aa7e14
TL
23383 "mknod" : {
23384 "default" : 0,
23385 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
23386 "optional" : 1,
23387 "type" : "boolean"
23388 },
4d47f125
TL
23389 "mount" : {
23390 "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.",
23391 "format_description" : "fstype;fstype;...",
23392 "optional" : 1,
95895385 23393 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
23394 "type" : "string"
23395 },
23396 "nesting" : {
23397 "default" : 0,
23398 "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.",
23399 "optional" : 1,
23400 "type" : "boolean"
23401 }
23402 },
23403 "optional" : 1,
23404 "type" : "string",
c5aa7e14 23405 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 23406 },
5f26e15b
TL
23407 "hookscript" : {
23408 "description" : "Script that will be exectued during various steps in the containers lifetime.",
23409 "format" : "pve-volume-id",
23410 "optional" : 1,
23411 "type" : "string",
23412 "typetext" : "<string>"
23413 },
44660702
DM
23414 "hostname" : {
23415 "description" : "Set a host name for the container.",
23416 "format" : "dns-name",
23417 "maxLength" : 255,
56122987 23418 "optional" : 1,
013dc89f
DM
23419 "type" : "string",
23420 "typetext" : "<string>"
44660702
DM
23421 },
23422 "lock" : {
23423 "description" : "Lock/unlock the VM.",
23424 "enum" : [
44660702 23425 "backup",
bb4c8cf8 23426 "create",
1c532546 23427 "destroyed",
4d47f125 23428 "disk",
bb4c8cf8 23429 "fstrim",
4d47f125
TL
23430 "migrate",
23431 "mounted",
23432 "rollback",
44660702 23433 "snapshot",
4d47f125 23434 "snapshot-delete"
44660702
DM
23435 ],
23436 "optional" : 1,
23437 "type" : "string"
23438 },
23439 "memory" : {
23440 "default" : 512,
23441 "description" : "Amount of RAM for the VM in MB.",
23442 "minimum" : 16,
23443 "optional" : 1,
4bd7df8b 23444 "type" : "integer",
013dc89f 23445 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
23446 },
23447 "mp[n]" : {
c2993fe5 23448 "description" : "Use volume as container mount point.",
7aacca6f 23449 "format" : {
7aacca6f
DM
23450 "acl" : {
23451 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 23452 "optional" : 1,
44660702 23453 "type" : "boolean"
7aacca6f
DM
23454 },
23455 "backup" : {
de0983cb 23456 "description" : "Whether to include the mount point in backups.",
7aacca6f 23457 "optional" : 1,
4bd7df8b 23458 "type" : "boolean",
de0983cb 23459 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 23460 },
7cbed89a
TL
23461 "mountoptions" : {
23462 "description" : "Extra mount options for rootfs/mps.",
23463 "format_description" : "opt[;opt...]",
23464 "optional" : 1,
23465 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
23466 "type" : "string"
23467 },
7aacca6f 23468 "mp" : {
de0983cb 23469 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 23470 "format" : "pve-lxc-mp-string",
44660702 23471 "format_description" : "Path",
4bd7df8b 23472 "type" : "string",
de0983cb 23473 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 23474 },
5d9c884c
DM
23475 "quota" : {
23476 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
23477 "optional" : 1,
23478 "type" : "boolean"
23479 },
23480 "replicate" : {
23481 "default" : 1,
23482 "description" : "Will include this volume to a storage replica job.",
44660702
DM
23483 "optional" : 1,
23484 "type" : "boolean"
23485 },
23486 "ro" : {
de0983cb 23487 "description" : "Read-only mount point",
44660702
DM
23488 "optional" : 1,
23489 "type" : "boolean"
23490 },
de0983cb
DM
23491 "shared" : {
23492 "default" : 0,
23493 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23494 "optional" : 1,
23495 "type" : "boolean",
23496 "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!"
23497 },
44660702
DM
23498 "size" : {
23499 "description" : "Volume size (read only value).",
23500 "format" : "disk-size",
23501 "format_description" : "DiskSize",
23502 "optional" : 1,
23503 "type" : "string"
23504 },
23505 "volume" : {
23506 "default_key" : 1,
23507 "description" : "Volume, device or directory to mount into the container.",
23508 "format" : "pve-lxc-mp-string",
23509 "format_description" : "volume",
23510 "type" : "string"
23511 }
23512 },
7aacca6f 23513 "optional" : 1,
4bd7df8b 23514 "type" : "string",
7cbed89a 23515 "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 23516 },
44660702
DM
23517 "nameserver" : {
23518 "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.",
23519 "format" : "address-list",
56122987 23520 "optional" : 1,
013dc89f
DM
23521 "type" : "string",
23522 "typetext" : "<string>"
56122987
DM
23523 },
23524 "net[n]" : {
44660702 23525 "description" : "Specifies network interfaces for the container.",
56122987 23526 "format" : {
44660702
DM
23527 "bridge" : {
23528 "description" : "Bridge to attach the network device to.",
f004f5b9 23529 "format_description" : "bridge",
56122987 23530 "optional" : 1,
44660702
DM
23531 "pattern" : "[-_.\\w\\d]+",
23532 "type" : "string"
56122987 23533 },
44660702
DM
23534 "firewall" : {
23535 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 23536 "optional" : 1,
44660702 23537 "type" : "boolean"
56122987 23538 },
44660702
DM
23539 "gw" : {
23540 "description" : "Default gateway for IPv4 traffic.",
23541 "format" : "ipv4",
23542 "format_description" : "GatewayIPv4",
56122987 23543 "optional" : 1,
44660702 23544 "type" : "string"
56122987
DM
23545 },
23546 "gw6" : {
7aacca6f 23547 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
23548 "format" : "ipv6",
23549 "format_description" : "GatewayIPv6",
7aacca6f 23550 "optional" : 1,
56122987
DM
23551 "type" : "string"
23552 },
44660702 23553 "hwaddr" : {
f004f5b9 23554 "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 23555 "format" : "mac-addr",
f004f5b9 23556 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 23557 "optional" : 1,
95895385
TL
23558 "type" : "string",
23559 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
23560 },
23561 "ip" : {
23562 "description" : "IPv4 address in CIDR format.",
23563 "format" : "pve-ipv4-config",
2489d6df 23564 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 23565 "optional" : 1,
44660702 23566 "type" : "string"
56122987 23567 },
7aacca6f 23568 "ip6" : {
7aacca6f
DM
23569 "description" : "IPv6 address in CIDR format.",
23570 "format" : "pve-ipv6-config",
2489d6df 23571 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 23572 "optional" : 1,
44660702 23573 "type" : "string"
56122987 23574 },
44660702
DM
23575 "mtu" : {
23576 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 23577 "minimum" : 64,
56122987 23578 "optional" : 1,
44660702 23579 "type" : "integer"
56122987
DM
23580 },
23581 "name" : {
44660702 23582 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 23583 "format_description" : "string",
56122987 23584 "pattern" : "[-_.\\w\\d]+",
44660702 23585 "type" : "string"
56122987 23586 },
44660702
DM
23587 "rate" : {
23588 "description" : "Apply rate limiting to the interface",
23589 "format_description" : "mbps",
56122987 23590 "optional" : 1,
44660702 23591 "type" : "number"
7aacca6f 23592 },
44660702
DM
23593 "tag" : {
23594 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
23595 "maximum" : 4094,
23596 "minimum" : 1,
56122987 23597 "optional" : 1,
7aacca6f 23598 "type" : "integer"
56122987 23599 },
44660702
DM
23600 "trunks" : {
23601 "description" : "VLAN ids to pass through the interface",
23602 "format_description" : "vlanid[;vlanid...]",
23603 "optional" : 1,
23604 "pattern" : "(?^:\\d+(?:;\\d+)*)",
23605 "type" : "string"
23606 },
23607 "type" : {
23608 "description" : "Network interface type.",
23609 "enum" : [
23610 "veth"
23611 ],
56122987 23612 "optional" : 1,
44660702 23613 "type" : "string"
56122987
DM
23614 }
23615 },
7aacca6f 23616 "optional" : 1,
4bd7df8b 23617 "type" : "string",
2489d6df 23618 "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 23619 },
44660702
DM
23620 "node" : {
23621 "description" : "The cluster node name.",
23622 "format" : "pve-node",
013dc89f
DM
23623 "type" : "string",
23624 "typetext" : "<string>"
56122987 23625 },
44660702
DM
23626 "onboot" : {
23627 "default" : 0,
23628 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 23629 "optional" : 1,
013dc89f
DM
23630 "type" : "boolean",
23631 "typetext" : "<boolean>"
56122987 23632 },
44660702
DM
23633 "ostype" : {
23634 "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.",
23635 "enum" : [
23636 "debian",
23637 "ubuntu",
23638 "centos",
23639 "fedora",
23640 "opensuse",
23641 "archlinux",
23642 "alpine",
57b78691 23643 "gentoo",
44660702
DM
23644 "unmanaged"
23645 ],
56122987 23646 "optional" : 1,
44660702 23647 "type" : "string"
56122987 23648 },
44660702
DM
23649 "protection" : {
23650 "default" : 0,
23651 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 23652 "optional" : 1,
013dc89f
DM
23653 "type" : "boolean",
23654 "typetext" : "<boolean>"
56122987 23655 },
1c532546
TL
23656 "revert" : {
23657 "description" : "Revert a pending change.",
23658 "format" : "pve-configid-list",
23659 "optional" : 1,
23660 "type" : "string",
23661 "typetext" : "<string>"
23662 },
7aacca6f
DM
23663 "rootfs" : {
23664 "description" : "Use volume as container root.",
56122987
DM
23665 "format" : {
23666 "acl" : {
44660702 23667 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
23668 "optional" : 1,
23669 "type" : "boolean"
56122987 23670 },
7cbed89a
TL
23671 "mountoptions" : {
23672 "description" : "Extra mount options for rootfs/mps.",
23673 "format_description" : "opt[;opt...]",
23674 "optional" : 1,
23675 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
23676 "type" : "string"
23677 },
44660702
DM
23678 "quota" : {
23679 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
23680 "optional" : 1,
23681 "type" : "boolean"
23682 },
5d9c884c
DM
23683 "replicate" : {
23684 "default" : 1,
23685 "description" : "Will include this volume to a storage replica job.",
23686 "optional" : 1,
23687 "type" : "boolean"
23688 },
44660702 23689 "ro" : {
de0983cb 23690 "description" : "Read-only mount point",
56122987 23691 "optional" : 1,
44660702
DM
23692 "type" : "boolean"
23693 },
de0983cb
DM
23694 "shared" : {
23695 "default" : 0,
23696 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
23697 "optional" : 1,
23698 "type" : "boolean",
23699 "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!"
23700 },
44660702 23701 "size" : {
7aacca6f 23702 "description" : "Volume size (read only value).",
44660702 23703 "format" : "disk-size",
56122987 23704 "format_description" : "DiskSize",
56122987 23705 "optional" : 1,
44660702 23706 "type" : "string"
7aacca6f
DM
23707 },
23708 "volume" : {
7aacca6f
DM
23709 "default_key" : 1,
23710 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
23711 "format" : "pve-lxc-mp-string",
23712 "format_description" : "volume",
7aacca6f 23713 "type" : "string"
56122987 23714 }
44660702
DM
23715 },
23716 "optional" : 1,
4bd7df8b 23717 "type" : "string",
7cbed89a 23718 "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
23719 },
23720 "searchdomain" : {
23721 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
23722 "format" : "dns-name-list",
23723 "optional" : 1,
013dc89f
DM
23724 "type" : "string",
23725 "typetext" : "<string>"
44660702
DM
23726 },
23727 "startup" : {
23728 "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.",
23729 "format" : "pve-startup-order",
23730 "optional" : 1,
23731 "type" : "string",
23732 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23733 },
23734 "swap" : {
23735 "default" : 512,
23736 "description" : "Amount of SWAP for the VM in MB.",
23737 "minimum" : 0,
23738 "optional" : 1,
4bd7df8b 23739 "type" : "integer",
013dc89f 23740 "typetext" : "<integer> (0 - N)"
56122987 23741 },
5c1699e5
TL
23742 "tags" : {
23743 "description" : "Tags of the Container. This is only meta information.",
23744 "format" : "pve-tag-list",
23745 "optional" : 1,
23746 "type" : "string",
23747 "typetext" : "<string>"
23748 },
56122987 23749 "template" : {
44660702 23750 "default" : 0,
7aacca6f 23751 "description" : "Enable/disable Template.",
56122987 23752 "optional" : 1,
013dc89f
DM
23753 "type" : "boolean",
23754 "typetext" : "<boolean>"
56122987 23755 },
04d22a9f
TL
23756 "timezone" : {
23757 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
23758 "format" : "pve-ct-timezone",
23759 "optional" : 1,
23760 "type" : "string",
23761 "typetext" : "<string>"
23762 },
44660702
DM
23763 "tty" : {
23764 "default" : 2,
23765 "description" : "Specify the number of tty available to the container",
23766 "maximum" : 6,
23767 "minimum" : 0,
23768 "optional" : 1,
4bd7df8b 23769 "type" : "integer",
013dc89f 23770 "typetext" : "<integer> (0 - 6)"
56122987 23771 },
44660702
DM
23772 "unprivileged" : {
23773 "default" : 0,
23774 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 23775 "optional" : 1,
013dc89f
DM
23776 "type" : "boolean",
23777 "typetext" : "<boolean>"
56122987 23778 },
44660702 23779 "unused[n]" : {
c2993fe5 23780 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
23781 "format" : {
23782 "volume" : {
23783 "default_key" : 1,
23784 "description" : "The volume that is not used currently.",
23785 "format" : "pve-volume-id",
23786 "format_description" : "volume",
23787 "type" : "string"
23788 }
23789 },
56122987 23790 "optional" : 1,
013dc89f 23791 "type" : "string",
c5aa7e14 23792 "typetext" : "[volume=]<volume>"
44660702
DM
23793 },
23794 "vmid" : {
23795 "description" : "The (unique) ID of the VM.",
23796 "format" : "pve-vmid",
23797 "minimum" : 1,
4bd7df8b 23798 "type" : "integer",
013dc89f 23799 "typetext" : "<integer> (1 - N)"
56122987 23800 }
44660702 23801 }
56122987 23802 },
56122987
DM
23803 "permissions" : {
23804 "check" : [
23805 "perm",
23806 "/vms/{vmid}",
23807 [
23808 "VM.Config.Disk",
23809 "VM.Config.CPU",
23810 "VM.Config.Memory",
23811 "VM.Config.Network",
23812 "VM.Config.Options"
23813 ],
23814 "any",
23815 1
52e44c50
FG
23816 ],
23817 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 23818 },
44660702
DM
23819 "protected" : 1,
23820 "proxyto" : "node",
56122987
DM
23821 "returns" : {
23822 "type" : "null"
7aacca6f 23823 }
56122987 23824 }
7aacca6f 23825 },
44660702 23826 "leaf" : 1,
7aacca6f 23827 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 23828 "text" : "config"
56122987
DM
23829 },
23830 {
56122987
DM
23831 "children" : [
23832 {
23833 "info" : {
23834 "GET" : {
e9cd3bd4 23835 "allowtoken" : 1,
44660702 23836 "description" : "Get virtual machine status.",
7aacca6f 23837 "method" : "GET",
44660702 23838 "name" : "vm_status",
56122987 23839 "parameters" : {
44660702 23840 "additionalProperties" : 0,
56122987 23841 "properties" : {
56122987 23842 "node" : {
44660702 23843 "description" : "The cluster node name.",
56122987 23844 "format" : "pve-node",
013dc89f
DM
23845 "type" : "string",
23846 "typetext" : "<string>"
7aacca6f
DM
23847 },
23848 "vmid" : {
23849 "description" : "The (unique) ID of the VM.",
44660702 23850 "format" : "pve-vmid",
7aacca6f 23851 "minimum" : 1,
4bd7df8b 23852 "type" : "integer",
013dc89f 23853 "typetext" : "<integer> (1 - N)"
56122987 23854 }
44660702 23855 }
7aacca6f
DM
23856 },
23857 "permissions" : {
23858 "check" : [
23859 "perm",
23860 "/vms/{vmid}",
23861 [
4d47f125
TL
23862 "VM.Audit"
23863 ]
23864 ]
23865 },
23866 "protected" : 1,
23867 "proxyto" : "node",
23868 "returns" : {
23869 "properties" : {
23870 "cpus" : {
23871 "description" : "Maximum usable CPUs.",
23872 "optional" : 1,
23873 "type" : "number"
23874 },
23875 "ha" : {
23876 "description" : "HA manager service status.",
23877 "type" : "object"
23878 },
95895385
TL
23879 "lock" : {
23880 "description" : "The current config lock, if any.",
23881 "optional" : 1,
23882 "type" : "string"
23883 },
4d47f125
TL
23884 "maxdisk" : {
23885 "description" : "Root disk size in bytes.",
23886 "optional" : 1,
23887 "renderer" : "bytes",
23888 "type" : "integer"
23889 },
23890 "maxmem" : {
23891 "description" : "Maximum memory in bytes.",
23892 "optional" : 1,
23893 "renderer" : "bytes",
23894 "type" : "integer"
23895 },
23896 "maxswap" : {
23897 "description" : "Maximum SWAP memory in bytes.",
23898 "optional" : 1,
23899 "renderer" : "bytes",
23900 "type" : "integer"
23901 },
23902 "name" : {
23903 "description" : "Container name.",
23904 "optional" : 1,
23905 "type" : "string"
23906 },
23907 "status" : {
23908 "description" : "LXC Container status.",
23909 "enum" : [
23910 "stopped",
23911 "running"
23912 ],
23913 "type" : "string"
23914 },
5c1699e5
TL
23915 "tags" : {
23916 "description" : "The current configured tags, if any.",
23917 "optional" : 1,
23918 "type" : "string"
23919 },
4d47f125
TL
23920 "uptime" : {
23921 "description" : "Uptime.",
23922 "optional" : 1,
23923 "renderer" : "duration",
23924 "type" : "integer"
23925 },
23926 "vmid" : {
23927 "description" : "The (unique) ID of the VM.",
23928 "format" : "pve-vmid",
23929 "minimum" : 1,
23930 "type" : "integer"
23931 }
23932 },
23933 "type" : "object"
23934 }
23935 }
23936 },
23937 "leaf" : 1,
23938 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
23939 "text" : "current"
23940 },
23941 {
23942 "info" : {
23943 "POST" : {
e9cd3bd4 23944 "allowtoken" : 1,
4d47f125
TL
23945 "description" : "Start the container.",
23946 "method" : "POST",
23947 "name" : "vm_start",
23948 "parameters" : {
23949 "additionalProperties" : 0,
23950 "properties" : {
739d4d64
TL
23951 "debug" : {
23952 "default" : 0,
23953 "description" : "If set, enables very verbose debug log-level on start.",
23954 "optional" : 1,
23955 "type" : "boolean",
23956 "typetext" : "<boolean>"
23957 },
4d47f125
TL
23958 "node" : {
23959 "description" : "The cluster node name.",
23960 "format" : "pve-node",
23961 "type" : "string",
23962 "typetext" : "<string>"
23963 },
23964 "skiplock" : {
23965 "description" : "Ignore locks - only root is allowed to use this option.",
23966 "optional" : 1,
23967 "type" : "boolean",
23968 "typetext" : "<boolean>"
23969 },
23970 "vmid" : {
23971 "description" : "The (unique) ID of the VM.",
23972 "format" : "pve-vmid",
23973 "minimum" : 1,
23974 "type" : "integer",
23975 "typetext" : "<integer> (1 - N)"
23976 }
23977 }
23978 },
23979 "permissions" : {
23980 "check" : [
23981 "perm",
23982 "/vms/{vmid}",
23983 [
23984 "VM.PowerMgmt"
23985 ]
23986 ]
23987 },
23988 "protected" : 1,
23989 "proxyto" : "node",
23990 "returns" : {
23991 "type" : "string"
23992 }
23993 }
23994 },
23995 "leaf" : 1,
23996 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
23997 "text" : "start"
23998 },
23999 {
24000 "info" : {
24001 "POST" : {
e9cd3bd4 24002 "allowtoken" : 1,
4d47f125
TL
24003 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
24004 "method" : "POST",
24005 "name" : "vm_stop",
24006 "parameters" : {
24007 "additionalProperties" : 0,
24008 "properties" : {
24009 "node" : {
24010 "description" : "The cluster node name.",
24011 "format" : "pve-node",
24012 "type" : "string",
24013 "typetext" : "<string>"
24014 },
24015 "skiplock" : {
24016 "description" : "Ignore locks - only root is allowed to use this option.",
24017 "optional" : 1,
24018 "type" : "boolean",
24019 "typetext" : "<boolean>"
24020 },
24021 "vmid" : {
24022 "description" : "The (unique) ID of the VM.",
24023 "format" : "pve-vmid",
24024 "minimum" : 1,
24025 "type" : "integer",
24026 "typetext" : "<integer> (1 - N)"
24027 }
24028 }
24029 },
24030 "permissions" : {
24031 "check" : [
24032 "perm",
24033 "/vms/{vmid}",
24034 [
24035 "VM.PowerMgmt"
24036 ]
24037 ]
24038 },
24039 "protected" : 1,
24040 "proxyto" : "node",
24041 "returns" : {
24042 "type" : "string"
24043 }
24044 }
24045 },
24046 "leaf" : 1,
24047 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
24048 "text" : "stop"
24049 },
24050 {
24051 "info" : {
24052 "POST" : {
e9cd3bd4 24053 "allowtoken" : 1,
4d47f125
TL
24054 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
24055 "method" : "POST",
24056 "name" : "vm_shutdown",
24057 "parameters" : {
24058 "additionalProperties" : 0,
24059 "properties" : {
24060 "forceStop" : {
24061 "default" : 0,
24062 "description" : "Make sure the Container stops.",
24063 "optional" : 1,
24064 "type" : "boolean",
24065 "typetext" : "<boolean>"
24066 },
24067 "node" : {
24068 "description" : "The cluster node name.",
24069 "format" : "pve-node",
24070 "type" : "string",
24071 "typetext" : "<string>"
24072 },
24073 "timeout" : {
24074 "default" : 60,
24075 "description" : "Wait maximal timeout seconds.",
24076 "minimum" : 0,
24077 "optional" : 1,
24078 "type" : "integer",
24079 "typetext" : "<integer> (0 - N)"
24080 },
24081 "vmid" : {
24082 "description" : "The (unique) ID of the VM.",
24083 "format" : "pve-vmid",
24084 "minimum" : 1,
24085 "type" : "integer",
24086 "typetext" : "<integer> (1 - N)"
24087 }
24088 }
24089 },
24090 "permissions" : {
24091 "check" : [
24092 "perm",
24093 "/vms/{vmid}",
24094 [
24095 "VM.PowerMgmt"
7aacca6f
DM
24096 ]
24097 ]
24098 },
44660702 24099 "protected" : 1,
7aacca6f 24100 "proxyto" : "node",
44660702 24101 "returns" : {
4d47f125 24102 "type" : "string"
44660702 24103 }
56122987
DM
24104 }
24105 },
44660702 24106 "leaf" : 1,
4d47f125
TL
24107 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
24108 "text" : "shutdown"
56122987
DM
24109 },
24110 {
56122987
DM
24111 "info" : {
24112 "POST" : {
e9cd3bd4 24113 "allowtoken" : 1,
4d47f125 24114 "description" : "Suspend the container.",
44660702 24115 "method" : "POST",
4d47f125 24116 "name" : "vm_suspend",
56122987
DM
24117 "parameters" : {
24118 "additionalProperties" : 0,
24119 "properties" : {
56122987 24120 "node" : {
7aacca6f 24121 "description" : "The cluster node name.",
44660702 24122 "format" : "pve-node",
013dc89f
DM
24123 "type" : "string",
24124 "typetext" : "<string>"
56122987
DM
24125 },
24126 "vmid" : {
7aacca6f 24127 "description" : "The (unique) ID of the VM.",
44660702 24128 "format" : "pve-vmid",
56122987 24129 "minimum" : 1,
4bd7df8b 24130 "type" : "integer",
013dc89f 24131 "typetext" : "<integer> (1 - N)"
56122987
DM
24132 }
24133 }
24134 },
24135 "permissions" : {
24136 "check" : [
24137 "perm",
24138 "/vms/{vmid}",
24139 [
24140 "VM.PowerMgmt"
24141 ]
24142 ]
24143 },
44660702 24144 "protected" : 1,
7aacca6f 24145 "proxyto" : "node",
44660702
DM
24146 "returns" : {
24147 "type" : "string"
24148 }
24149 }
24150 },
24151 "leaf" : 1,
4d47f125
TL
24152 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
24153 "text" : "suspend"
44660702
DM
24154 },
24155 {
24156 "info" : {
24157 "POST" : {
e9cd3bd4 24158 "allowtoken" : 1,
4d47f125 24159 "description" : "Resume the container.",
7aacca6f 24160 "method" : "POST",
4d47f125 24161 "name" : "vm_resume",
7aacca6f 24162 "parameters" : {
44660702 24163 "additionalProperties" : 0,
7aacca6f 24164 "properties" : {
44660702
DM
24165 "node" : {
24166 "description" : "The cluster node name.",
24167 "format" : "pve-node",
013dc89f
DM
24168 "type" : "string",
24169 "typetext" : "<string>"
44660702 24170 },
7aacca6f 24171 "vmid" : {
44660702 24172 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24173 "format" : "pve-vmid",
24174 "minimum" : 1,
4bd7df8b 24175 "type" : "integer",
013dc89f 24176 "typetext" : "<integer> (1 - N)"
7aacca6f 24177 }
44660702
DM
24178 }
24179 },
24180 "permissions" : {
24181 "check" : [
24182 "perm",
24183 "/vms/{vmid}",
24184 [
24185 "VM.PowerMgmt"
24186 ]
24187 ]
7aacca6f 24188 },
44660702
DM
24189 "protected" : 1,
24190 "proxyto" : "node",
24191 "returns" : {
24192 "type" : "string"
24193 }
56122987 24194 }
7aacca6f 24195 },
7aacca6f 24196 "leaf" : 1,
4d47f125
TL
24197 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
24198 "text" : "resume"
5c1699e5
TL
24199 },
24200 {
24201 "info" : {
24202 "POST" : {
e9cd3bd4 24203 "allowtoken" : 1,
5c1699e5
TL
24204 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
24205 "method" : "POST",
24206 "name" : "vm_reboot",
24207 "parameters" : {
24208 "additionalProperties" : 0,
24209 "properties" : {
24210 "node" : {
24211 "description" : "The cluster node name.",
24212 "format" : "pve-node",
24213 "type" : "string",
24214 "typetext" : "<string>"
24215 },
24216 "timeout" : {
24217 "description" : "Wait maximal timeout seconds for the shutdown.",
24218 "minimum" : 0,
24219 "optional" : 1,
24220 "type" : "integer",
24221 "typetext" : "<integer> (0 - N)"
24222 },
24223 "vmid" : {
24224 "description" : "The (unique) ID of the VM.",
24225 "format" : "pve-vmid",
24226 "minimum" : 1,
24227 "type" : "integer",
24228 "typetext" : "<integer> (1 - N)"
24229 }
24230 }
24231 },
24232 "permissions" : {
24233 "check" : [
24234 "perm",
24235 "/vms/{vmid}",
24236 [
24237 "VM.PowerMgmt"
24238 ]
24239 ]
24240 },
24241 "protected" : 1,
24242 "proxyto" : "node",
24243 "returns" : {
24244 "type" : "string"
24245 }
24246 }
24247 },
24248 "leaf" : 1,
24249 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
24250 "text" : "reboot"
4d47f125
TL
24251 }
24252 ],
24253 "info" : {
24254 "GET" : {
e9cd3bd4 24255 "allowtoken" : 1,
4d47f125
TL
24256 "description" : "Directory index",
24257 "method" : "GET",
24258 "name" : "vmcmdidx",
24259 "parameters" : {
24260 "additionalProperties" : 0,
24261 "properties" : {
24262 "node" : {
24263 "description" : "The cluster node name.",
24264 "format" : "pve-node",
24265 "type" : "string",
24266 "typetext" : "<string>"
24267 },
24268 "vmid" : {
24269 "description" : "The (unique) ID of the VM.",
24270 "format" : "pve-vmid",
24271 "minimum" : 1,
24272 "type" : "integer",
24273 "typetext" : "<integer> (1 - N)"
24274 }
24275 }
24276 },
24277 "permissions" : {
24278 "user" : "all"
24279 },
24280 "proxyto" : "node",
24281 "returns" : {
24282 "items" : {
24283 "properties" : {
24284 "subdir" : {
24285 "type" : "string"
24286 }
24287 },
24288 "type" : "object"
24289 },
24290 "links" : [
24291 {
24292 "href" : "{subdir}",
24293 "rel" : "child"
24294 }
24295 ],
24296 "type" : "array"
24297 }
24298 }
24299 },
24300 "leaf" : 0,
24301 "path" : "/nodes/{node}/lxc/{vmid}/status",
24302 "text" : "status"
24303 },
24304 {
24305 "children" : [
56122987 24306 {
4d47f125
TL
24307 "children" : [
24308 {
24309 "info" : {
24310 "POST" : {
e9cd3bd4 24311 "allowtoken" : 1,
4d47f125
TL
24312 "description" : "Rollback LXC state to specified snapshot.",
24313 "method" : "POST",
24314 "name" : "rollback",
24315 "parameters" : {
24316 "additionalProperties" : 0,
24317 "properties" : {
24318 "node" : {
24319 "description" : "The cluster node name.",
24320 "format" : "pve-node",
24321 "type" : "string",
24322 "typetext" : "<string>"
24323 },
24324 "snapname" : {
24325 "description" : "The name of the snapshot.",
24326 "format" : "pve-configid",
24327 "maxLength" : 40,
24328 "type" : "string",
24329 "typetext" : "<string>"
24330 },
24331 "vmid" : {
24332 "description" : "The (unique) ID of the VM.",
24333 "format" : "pve-vmid",
24334 "minimum" : 1,
24335 "type" : "integer",
24336 "typetext" : "<integer> (1 - N)"
24337 }
24338 }
24339 },
24340 "permissions" : {
24341 "check" : [
24342 "perm",
24343 "/vms/{vmid}",
24344 [
24345 "VM.Snapshot",
24346 "VM.Snapshot.Rollback"
24347 ],
24348 "any",
24349 1
24350 ]
24351 },
24352 "protected" : 1,
24353 "proxyto" : "node",
24354 "returns" : {
24355 "description" : "the task ID.",
24356 "type" : "string"
24357 }
24358 }
24359 },
24360 "leaf" : 1,
24361 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
24362 "text" : "rollback"
24363 },
24364 {
24365 "info" : {
24366 "GET" : {
e9cd3bd4 24367 "allowtoken" : 1,
4d47f125
TL
24368 "description" : "Get snapshot configuration",
24369 "method" : "GET",
24370 "name" : "get_snapshot_config",
24371 "parameters" : {
24372 "additionalProperties" : 0,
24373 "properties" : {
24374 "node" : {
24375 "description" : "The cluster node name.",
24376 "format" : "pve-node",
24377 "type" : "string",
24378 "typetext" : "<string>"
24379 },
24380 "snapname" : {
24381 "description" : "The name of the snapshot.",
24382 "format" : "pve-configid",
24383 "maxLength" : 40,
24384 "type" : "string",
24385 "typetext" : "<string>"
24386 },
24387 "vmid" : {
24388 "description" : "The (unique) ID of the VM.",
24389 "format" : "pve-vmid",
24390 "minimum" : 1,
24391 "type" : "integer",
24392 "typetext" : "<integer> (1 - N)"
24393 }
24394 }
24395 },
24396 "permissions" : {
24397 "check" : [
24398 "perm",
24399 "/vms/{vmid}",
24400 [
24401 "VM.Snapshot",
c5aa7e14
TL
24402 "VM.Snapshot.Rollback",
24403 "VM.Audit"
4d47f125
TL
24404 ],
24405 "any",
24406 1
24407 ]
24408 },
24409 "proxyto" : "node",
24410 "returns" : {
24411 "type" : "object"
24412 }
24413 },
24414 "PUT" : {
e9cd3bd4 24415 "allowtoken" : 1,
4d47f125
TL
24416 "description" : "Update snapshot metadata.",
24417 "method" : "PUT",
24418 "name" : "update_snapshot_config",
24419 "parameters" : {
24420 "additionalProperties" : 0,
24421 "properties" : {
24422 "description" : {
24423 "description" : "A textual description or comment.",
24424 "optional" : 1,
24425 "type" : "string",
24426 "typetext" : "<string>"
24427 },
24428 "node" : {
24429 "description" : "The cluster node name.",
24430 "format" : "pve-node",
24431 "type" : "string",
24432 "typetext" : "<string>"
24433 },
24434 "snapname" : {
24435 "description" : "The name of the snapshot.",
24436 "format" : "pve-configid",
24437 "maxLength" : 40,
24438 "type" : "string",
24439 "typetext" : "<string>"
24440 },
24441 "vmid" : {
24442 "description" : "The (unique) ID of the VM.",
24443 "format" : "pve-vmid",
24444 "minimum" : 1,
24445 "type" : "integer",
24446 "typetext" : "<integer> (1 - N)"
24447 }
24448 }
24449 },
24450 "permissions" : {
24451 "check" : [
24452 "perm",
24453 "/vms/{vmid}",
24454 [
24455 "VM.Snapshot"
24456 ]
24457 ]
24458 },
24459 "protected" : 1,
24460 "proxyto" : "node",
24461 "returns" : {
24462 "type" : "null"
24463 }
24464 }
24465 },
24466 "leaf" : 1,
24467 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
24468 "text" : "config"
24469 }
24470 ],
56122987 24471 "info" : {
4d47f125 24472 "DELETE" : {
e9cd3bd4 24473 "allowtoken" : 1,
4d47f125
TL
24474 "description" : "Delete a LXC snapshot.",
24475 "method" : "DELETE",
24476 "name" : "delsnapshot",
56122987 24477 "parameters" : {
44660702 24478 "additionalProperties" : 0,
56122987 24479 "properties" : {
4d47f125
TL
24480 "force" : {
24481 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 24482 "optional" : 1,
013dc89f
DM
24483 "type" : "boolean",
24484 "typetext" : "<boolean>"
44660702
DM
24485 },
24486 "node" : {
24487 "description" : "The cluster node name.",
24488 "format" : "pve-node",
013dc89f
DM
24489 "type" : "string",
24490 "typetext" : "<string>"
7aacca6f 24491 },
4d47f125
TL
24492 "snapname" : {
24493 "description" : "The name of the snapshot.",
24494 "format" : "pve-configid",
24495 "maxLength" : 40,
24496 "type" : "string",
24497 "typetext" : "<string>"
56122987
DM
24498 },
24499 "vmid" : {
7aacca6f 24500 "description" : "The (unique) ID of the VM.",
44660702
DM
24501 "format" : "pve-vmid",
24502 "minimum" : 1,
4bd7df8b 24503 "type" : "integer",
013dc89f 24504 "typetext" : "<integer> (1 - N)"
56122987 24505 }
44660702 24506 }
56122987
DM
24507 },
24508 "permissions" : {
24509 "check" : [
24510 "perm",
24511 "/vms/{vmid}",
24512 [
4d47f125 24513 "VM.Snapshot"
56122987
DM
24514 ]
24515 ]
24516 },
44660702
DM
24517 "protected" : 1,
24518 "proxyto" : "node",
7aacca6f 24519 "returns" : {
4d47f125 24520 "description" : "the task ID.",
7aacca6f
DM
24521 "type" : "string"
24522 }
4d47f125
TL
24523 },
24524 "GET" : {
e9cd3bd4 24525 "allowtoken" : 1,
4d47f125
TL
24526 "description" : "",
24527 "method" : "GET",
24528 "name" : "snapshot_cmd_idx",
56122987
DM
24529 "parameters" : {
24530 "additionalProperties" : 0,
24531 "properties" : {
44660702
DM
24532 "node" : {
24533 "description" : "The cluster node name.",
24534 "format" : "pve-node",
013dc89f
DM
24535 "type" : "string",
24536 "typetext" : "<string>"
44660702 24537 },
4d47f125
TL
24538 "snapname" : {
24539 "description" : "The name of the snapshot.",
24540 "format" : "pve-configid",
24541 "maxLength" : 40,
013dc89f
DM
24542 "type" : "string",
24543 "typetext" : "<string>"
56122987
DM
24544 },
24545 "vmid" : {
7aacca6f 24546 "description" : "The (unique) ID of the VM.",
56122987 24547 "format" : "pve-vmid",
44660702 24548 "minimum" : 1,
4bd7df8b 24549 "type" : "integer",
013dc89f 24550 "typetext" : "<integer> (1 - N)"
56122987 24551 }
44660702
DM
24552 }
24553 },
24554 "permissions" : {
4d47f125 24555 "user" : "all"
56122987 24556 },
44660702 24557 "returns" : {
4d47f125
TL
24558 "items" : {
24559 "properties" : {},
24560 "type" : "object"
24561 },
24562 "links" : [
24563 {
24564 "href" : "{cmd}",
24565 "rel" : "child"
24566 }
24567 ],
24568 "type" : "array"
44660702 24569 }
7aacca6f
DM
24570 }
24571 },
4d47f125
TL
24572 "leaf" : 0,
24573 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
24574 "text" : "{snapname}"
7aacca6f
DM
24575 }
24576 ],
24577 "info" : {
24578 "GET" : {
e9cd3bd4 24579 "allowtoken" : 1,
4d47f125 24580 "description" : "List all snapshots.",
44660702 24581 "method" : "GET",
4d47f125 24582 "name" : "list",
7aacca6f
DM
24583 "parameters" : {
24584 "additionalProperties" : 0,
24585 "properties" : {
24586 "node" : {
24587 "description" : "The cluster node name.",
44660702 24588 "format" : "pve-node",
013dc89f
DM
24589 "type" : "string",
24590 "typetext" : "<string>"
56122987 24591 },
7aacca6f 24592 "vmid" : {
44660702 24593 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24594 "format" : "pve-vmid",
24595 "minimum" : 1,
4bd7df8b 24596 "type" : "integer",
013dc89f 24597 "typetext" : "<integer> (1 - N)"
7aacca6f 24598 }
56122987
DM
24599 }
24600 },
44660702 24601 "permissions" : {
4d47f125
TL
24602 "check" : [
24603 "perm",
24604 "/vms/{vmid}",
24605 [
24606 "VM.Audit"
24607 ]
24608 ]
44660702 24609 },
4d47f125 24610 "protected" : 1,
44660702 24611 "proxyto" : "node",
7aacca6f 24612 "returns" : {
7aacca6f
DM
24613 "items" : {
24614 "properties" : {
4d47f125
TL
24615 "description" : {
24616 "description" : "Snapshot description.",
7aacca6f 24617 "type" : "string"
4d47f125
TL
24618 },
24619 "name" : {
24620 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
24621 "type" : "string"
24622 },
24623 "parent" : {
24624 "description" : "Parent snapshot identifier.",
24625 "optional" : 1,
24626 "type" : "string"
24627 },
24628 "snaptime" : {
24629 "description" : "Snapshot creation time",
24630 "optional" : 1,
24631 "renderer" : "timestamp",
24632 "type" : "integer"
7aacca6f
DM
24633 }
24634 },
24635 "type" : "object"
24636 },
24637 "links" : [
24638 {
4d47f125 24639 "href" : "{name}",
44660702 24640 "rel" : "child"
7aacca6f 24641 }
44660702
DM
24642 ],
24643 "type" : "array"
7aacca6f 24644 }
4d47f125
TL
24645 },
24646 "POST" : {
e9cd3bd4 24647 "allowtoken" : 1,
4d47f125
TL
24648 "description" : "Snapshot a container.",
24649 "method" : "POST",
24650 "name" : "snapshot",
24651 "parameters" : {
24652 "additionalProperties" : 0,
24653 "properties" : {
24654 "description" : {
24655 "description" : "A textual description or comment.",
24656 "optional" : 1,
24657 "type" : "string",
24658 "typetext" : "<string>"
24659 },
24660 "node" : {
24661 "description" : "The cluster node name.",
24662 "format" : "pve-node",
24663 "type" : "string",
24664 "typetext" : "<string>"
24665 },
24666 "snapname" : {
24667 "description" : "The name of the snapshot.",
24668 "format" : "pve-configid",
24669 "maxLength" : 40,
24670 "type" : "string",
24671 "typetext" : "<string>"
24672 },
24673 "vmid" : {
24674 "description" : "The (unique) ID of the VM.",
24675 "format" : "pve-vmid",
24676 "minimum" : 1,
24677 "type" : "integer",
24678 "typetext" : "<integer> (1 - N)"
24679 }
24680 }
24681 },
24682 "permissions" : {
24683 "check" : [
24684 "perm",
24685 "/vms/{vmid}",
24686 [
24687 "VM.Snapshot"
24688 ]
24689 ]
24690 },
24691 "protected" : 1,
24692 "proxyto" : "node",
24693 "returns" : {
24694 "description" : "the task ID.",
24695 "type" : "string"
24696 }
7aacca6f 24697 }
44660702
DM
24698 },
24699 "leaf" : 0,
4d47f125
TL
24700 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
24701 "text" : "snapshot"
7aacca6f
DM
24702 },
24703 {
7aacca6f 24704 "children" : [
56122987 24705 {
7aacca6f
DM
24706 "children" : [
24707 {
24708 "info" : {
4d47f125 24709 "DELETE" : {
e9cd3bd4 24710 "allowtoken" : 1,
4d47f125
TL
24711 "description" : "Delete rule.",
24712 "method" : "DELETE",
24713 "name" : "delete_rule",
7aacca6f 24714 "parameters" : {
44660702 24715 "additionalProperties" : 0,
7aacca6f 24716 "properties" : {
4d47f125
TL
24717 "digest" : {
24718 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24719 "maxLength" : 40,
24720 "optional" : 1,
24721 "type" : "string",
24722 "typetext" : "<string>"
24723 },
44660702
DM
24724 "node" : {
24725 "description" : "The cluster node name.",
24726 "format" : "pve-node",
013dc89f
DM
24727 "type" : "string",
24728 "typetext" : "<string>"
44660702 24729 },
4d47f125
TL
24730 "pos" : {
24731 "description" : "Update rule at position <pos>.",
24732 "minimum" : 0,
24733 "optional" : 1,
24734 "type" : "integer",
24735 "typetext" : "<integer> (0 - N)"
7aacca6f 24736 },
7aacca6f 24737 "vmid" : {
44660702 24738 "description" : "The (unique) ID of the VM.",
7aacca6f 24739 "format" : "pve-vmid",
44660702 24740 "minimum" : 1,
4bd7df8b 24741 "type" : "integer",
013dc89f 24742 "typetext" : "<integer> (1 - N)"
7aacca6f 24743 }
44660702
DM
24744 }
24745 },
24746 "permissions" : {
24747 "check" : [
24748 "perm",
24749 "/vms/{vmid}",
24750 [
4d47f125
TL
24751 "VM.Config.Network"
24752 ]
44660702 24753 ]
7aacca6f 24754 },
44660702 24755 "protected" : 1,
4d47f125 24756 "proxyto" : null,
44660702 24757 "returns" : {
4d47f125 24758 "type" : "null"
44660702 24759 }
4d47f125 24760 },
7aacca6f 24761 "GET" : {
e9cd3bd4 24762 "allowtoken" : 1,
4d47f125 24763 "description" : "Get single rule data.",
44660702 24764 "method" : "GET",
4d47f125 24765 "name" : "get_rule",
7aacca6f
DM
24766 "parameters" : {
24767 "additionalProperties" : 0,
4d47f125
TL
24768 "properties" : {
24769 "node" : {
24770 "description" : "The cluster node name.",
24771 "format" : "pve-node",
013dc89f
DM
24772 "type" : "string",
24773 "typetext" : "<string>"
44660702 24774 },
4d47f125
TL
24775 "pos" : {
24776 "description" : "Update rule at position <pos>.",
24777 "minimum" : 0,
24778 "optional" : 1,
24779 "type" : "integer",
24780 "typetext" : "<integer> (0 - N)"
24781 },
44660702
DM
24782 "vmid" : {
24783 "description" : "The (unique) ID of the VM.",
24784 "format" : "pve-vmid",
24785 "minimum" : 1,
4bd7df8b 24786 "type" : "integer",
013dc89f 24787 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
24788 }
24789 }
24790 },
24791 "permissions" : {
24792 "check" : [
24793 "perm",
24794 "/vms/{vmid}",
24795 [
4d47f125
TL
24796 "VM.Audit"
24797 ]
7aacca6f
DM
24798 ]
24799 },
4d47f125 24800 "proxyto" : null,
44660702 24801 "returns" : {
4d47f125 24802 "properties" : {
e2d681b3
TL
24803 "action" : {
24804 "type" : "string"
24805 },
24806 "comment" : {
24807 "optional" : 1,
24808 "type" : "string"
24809 },
24810 "dest" : {
24811 "optional" : 1,
24812 "type" : "string"
24813 },
24814 "dport" : {
24815 "optional" : 1,
24816 "type" : "string"
24817 },
24818 "enable" : {
24819 "optional" : 1,
24820 "type" : "integer"
24821 },
4772952b
TL
24822 "icmp-type" : {
24823 "optional" : 1,
24824 "type" : "string"
24825 },
e2d681b3
TL
24826 "iface" : {
24827 "optional" : 1,
24828 "type" : "string"
24829 },
24830 "ipversion" : {
24831 "optional" : 1,
24832 "type" : "integer"
24833 },
95895385
TL
24834 "log" : {
24835 "description" : "Log level for firewall rule",
24836 "enum" : [
24837 "emerg",
24838 "alert",
24839 "crit",
24840 "err",
24841 "warning",
24842 "notice",
24843 "info",
24844 "debug",
24845 "nolog"
24846 ],
24847 "optional" : 1,
24848 "type" : "string"
24849 },
e2d681b3
TL
24850 "macro" : {
24851 "optional" : 1,
5f26e15b 24852 "type" : "string"
e2d681b3 24853 },
4d47f125
TL
24854 "pos" : {
24855 "type" : "integer"
e2d681b3
TL
24856 },
24857 "proto" : {
24858 "optional" : 1,
24859 "type" : "string"
24860 },
24861 "source" : {
24862 "optional" : 1,
24863 "type" : "string"
24864 },
24865 "sport" : {
24866 "optional" : 1,
24867 "type" : "string"
24868 },
24869 "type" : {
24870 "type" : "string"
4d47f125
TL
24871 }
24872 },
44660702
DM
24873 "type" : "object"
24874 }
7aacca6f
DM
24875 },
24876 "PUT" : {
e9cd3bd4 24877 "allowtoken" : 1,
4d47f125 24878 "description" : "Modify rule data.",
44660702 24879 "method" : "PUT",
4d47f125 24880 "name" : "update_rule",
7aacca6f
DM
24881 "parameters" : {
24882 "additionalProperties" : 0,
24883 "properties" : {
4d47f125
TL
24884 "action" : {
24885 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24886 "maxLength" : 20,
24887 "minLength" : 2,
24888 "optional" : 1,
24889 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24890 "type" : "string"
24891 },
24892 "comment" : {
24893 "description" : "Descriptive comment.",
24894 "optional" : 1,
24895 "type" : "string",
24896 "typetext" : "<string>"
24897 },
24898 "delete" : {
24899 "description" : "A list of settings you want to delete.",
24900 "format" : "pve-configid-list",
24901 "optional" : 1,
24902 "type" : "string",
24903 "typetext" : "<string>"
24904 },
24905 "dest" : {
24906 "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.",
24907 "format" : "pve-fw-addr-spec",
24908 "optional" : 1,
24909 "type" : "string",
24910 "typetext" : "<string>"
24911 },
24912 "digest" : {
24913 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24914 "maxLength" : 40,
24915 "optional" : 1,
24916 "type" : "string",
24917 "typetext" : "<string>"
24918 },
24919 "dport" : {
24920 "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.",
24921 "format" : "pve-fw-dport-spec",
24922 "optional" : 1,
24923 "type" : "string",
24924 "typetext" : "<string>"
24925 },
24926 "enable" : {
24927 "description" : "Flag to enable/disable a rule.",
24928 "minimum" : 0,
24929 "optional" : 1,
24930 "type" : "integer",
24931 "typetext" : "<integer> (0 - N)"
24932 },
4772952b
TL
24933 "icmp-type" : {
24934 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
24935 "format" : "pve-fw-icmp-type-spec",
24936 "optional" : 1,
24937 "type" : "string",
24938 "typetext" : "<string>"
24939 },
4d47f125
TL
24940 "iface" : {
24941 "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.",
24942 "format" : "pve-iface",
24943 "maxLength" : 20,
24944 "minLength" : 2,
24945 "optional" : 1,
24946 "type" : "string",
24947 "typetext" : "<string>"
24948 },
95895385
TL
24949 "log" : {
24950 "description" : "Log level for firewall rule.",
24951 "enum" : [
24952 "emerg",
24953 "alert",
24954 "crit",
24955 "err",
24956 "warning",
24957 "notice",
24958 "info",
24959 "debug",
24960 "nolog"
24961 ],
24962 "optional" : 1,
24963 "type" : "string"
24964 },
4d47f125
TL
24965 "macro" : {
24966 "description" : "Use predefined standard macro.",
24967 "maxLength" : 128,
44660702 24968 "optional" : 1,
013dc89f
DM
24969 "type" : "string",
24970 "typetext" : "<string>"
44660702 24971 },
4d47f125
TL
24972 "moveto" : {
24973 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24974 "minimum" : 0,
24975 "optional" : 1,
24976 "type" : "integer",
24977 "typetext" : "<integer> (0 - N)"
24978 },
7aacca6f 24979 "node" : {
7aacca6f 24980 "description" : "The cluster node name.",
44660702 24981 "format" : "pve-node",
013dc89f
DM
24982 "type" : "string",
24983 "typetext" : "<string>"
7aacca6f 24984 },
4d47f125
TL
24985 "pos" : {
24986 "description" : "Update rule at position <pos>.",
24987 "minimum" : 0,
24988 "optional" : 1,
24989 "type" : "integer",
24990 "typetext" : "<integer> (0 - N)"
24991 },
24992 "proto" : {
24993 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24994 "format" : "pve-fw-protocol-spec",
24995 "optional" : 1,
24996 "type" : "string",
24997 "typetext" : "<string>"
24998 },
24999 "source" : {
25000 "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.",
25001 "format" : "pve-fw-addr-spec",
25002 "optional" : 1,
25003 "type" : "string",
25004 "typetext" : "<string>"
25005 },
25006 "sport" : {
25007 "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.",
25008 "format" : "pve-fw-sport-spec",
25009 "optional" : 1,
013dc89f
DM
25010 "type" : "string",
25011 "typetext" : "<string>"
7aacca6f 25012 },
4d47f125
TL
25013 "type" : {
25014 "description" : "Rule type.",
25015 "enum" : [
25016 "in",
25017 "out",
25018 "group"
25019 ],
25020 "optional" : 1,
25021 "type" : "string"
25022 },
7aacca6f 25023 "vmid" : {
44660702 25024 "description" : "The (unique) ID of the VM.",
7aacca6f 25025 "format" : "pve-vmid",
44660702 25026 "minimum" : 1,
4bd7df8b 25027 "type" : "integer",
013dc89f 25028 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
25029 }
25030 }
25031 },
7aacca6f
DM
25032 "permissions" : {
25033 "check" : [
25034 "perm",
25035 "/vms/{vmid}",
25036 [
4d47f125 25037 "VM.Config.Network"
7aacca6f
DM
25038 ]
25039 ]
25040 },
4d47f125
TL
25041 "protected" : 1,
25042 "proxyto" : null,
25043 "returns" : {
25044 "type" : "null"
25045 }
25046 }
25047 },
25048 "leaf" : 1,
25049 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
25050 "text" : "{pos}"
25051 }
25052 ],
25053 "info" : {
25054 "GET" : {
e9cd3bd4 25055 "allowtoken" : 1,
4d47f125
TL
25056 "description" : "List rules.",
25057 "method" : "GET",
25058 "name" : "get_rules",
25059 "parameters" : {
25060 "additionalProperties" : 0,
25061 "properties" : {
25062 "node" : {
25063 "description" : "The cluster node name.",
25064 "format" : "pve-node",
25065 "type" : "string",
25066 "typetext" : "<string>"
25067 },
25068 "vmid" : {
25069 "description" : "The (unique) ID of the VM.",
25070 "format" : "pve-vmid",
25071 "minimum" : 1,
25072 "type" : "integer",
25073 "typetext" : "<integer> (1 - N)"
25074 }
25075 }
25076 },
25077 "permissions" : {
25078 "check" : [
25079 "perm",
25080 "/vms/{vmid}",
25081 [
25082 "VM.Audit"
25083 ]
25084 ]
25085 },
25086 "proxyto" : null,
25087 "returns" : {
25088 "items" : {
25089 "properties" : {
25090 "pos" : {
25091 "type" : "integer"
25092 }
25093 },
25094 "type" : "object"
25095 },
25096 "links" : [
25097 {
25098 "href" : "{pos}",
25099 "rel" : "child"
25100 }
25101 ],
25102 "type" : "array"
25103 }
25104 },
25105 "POST" : {
e9cd3bd4 25106 "allowtoken" : 1,
4d47f125
TL
25107 "description" : "Create new rule.",
25108 "method" : "POST",
25109 "name" : "create_rule",
25110 "parameters" : {
25111 "additionalProperties" : 0,
25112 "properties" : {
25113 "action" : {
25114 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
25115 "maxLength" : 20,
25116 "minLength" : 2,
25117 "optional" : 0,
25118 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25119 "type" : "string"
25120 },
25121 "comment" : {
25122 "description" : "Descriptive comment.",
25123 "optional" : 1,
25124 "type" : "string",
25125 "typetext" : "<string>"
25126 },
25127 "dest" : {
25128 "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.",
25129 "format" : "pve-fw-addr-spec",
25130 "optional" : 1,
25131 "type" : "string",
25132 "typetext" : "<string>"
25133 },
25134 "digest" : {
25135 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25136 "maxLength" : 40,
25137 "optional" : 1,
25138 "type" : "string",
25139 "typetext" : "<string>"
25140 },
25141 "dport" : {
25142 "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.",
25143 "format" : "pve-fw-dport-spec",
25144 "optional" : 1,
25145 "type" : "string",
25146 "typetext" : "<string>"
25147 },
25148 "enable" : {
25149 "description" : "Flag to enable/disable a rule.",
25150 "minimum" : 0,
25151 "optional" : 1,
25152 "type" : "integer",
25153 "typetext" : "<integer> (0 - N)"
25154 },
4772952b
TL
25155 "icmp-type" : {
25156 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
25157 "format" : "pve-fw-icmp-type-spec",
25158 "optional" : 1,
25159 "type" : "string",
25160 "typetext" : "<string>"
25161 },
4d47f125
TL
25162 "iface" : {
25163 "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.",
25164 "format" : "pve-iface",
25165 "maxLength" : 20,
25166 "minLength" : 2,
25167 "optional" : 1,
25168 "type" : "string",
25169 "typetext" : "<string>"
25170 },
95895385
TL
25171 "log" : {
25172 "description" : "Log level for firewall rule.",
25173 "enum" : [
25174 "emerg",
25175 "alert",
25176 "crit",
25177 "err",
25178 "warning",
25179 "notice",
25180 "info",
25181 "debug",
25182 "nolog"
25183 ],
25184 "optional" : 1,
25185 "type" : "string"
25186 },
4d47f125
TL
25187 "macro" : {
25188 "description" : "Use predefined standard macro.",
25189 "maxLength" : 128,
44660702 25190 "optional" : 1,
4d47f125
TL
25191 "type" : "string",
25192 "typetext" : "<string>"
44660702
DM
25193 },
25194 "node" : {
25195 "description" : "The cluster node name.",
25196 "format" : "pve-node",
013dc89f
DM
25197 "type" : "string",
25198 "typetext" : "<string>"
7aacca6f 25199 },
4d47f125
TL
25200 "pos" : {
25201 "description" : "Update rule at position <pos>.",
25202 "minimum" : 0,
25203 "optional" : 1,
25204 "type" : "integer",
25205 "typetext" : "<integer> (0 - N)"
25206 },
25207 "proto" : {
25208 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
25209 "format" : "pve-fw-protocol-spec",
25210 "optional" : 1,
25211 "type" : "string",
25212 "typetext" : "<string>"
25213 },
25214 "source" : {
25215 "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.",
25216 "format" : "pve-fw-addr-spec",
25217 "optional" : 1,
013dc89f
DM
25218 "type" : "string",
25219 "typetext" : "<string>"
44660702 25220 },
4d47f125
TL
25221 "sport" : {
25222 "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.",
25223 "format" : "pve-fw-sport-spec",
25224 "optional" : 1,
25225 "type" : "string",
25226 "typetext" : "<string>"
25227 },
25228 "type" : {
25229 "description" : "Rule type.",
25230 "enum" : [
25231 "in",
25232 "out",
25233 "group"
25234 ],
25235 "optional" : 0,
25236 "type" : "string"
25237 },
44660702
DM
25238 "vmid" : {
25239 "description" : "The (unique) ID of the VM.",
25240 "format" : "pve-vmid",
25241 "minimum" : 1,
4bd7df8b 25242 "type" : "integer",
013dc89f 25243 "typetext" : "<integer> (1 - N)"
56122987 25244 }
44660702 25245 }
7aacca6f 25246 },
56122987
DM
25247 "permissions" : {
25248 "check" : [
25249 "perm",
25250 "/vms/{vmid}",
25251 [
4d47f125 25252 "VM.Config.Network"
56122987
DM
25253 ]
25254 ]
25255 },
44660702 25256 "protected" : 1,
4d47f125 25257 "proxyto" : null,
44660702 25258 "returns" : {
4d47f125 25259 "type" : "null"
44660702
DM
25260 }
25261 }
25262 },
25263 "leaf" : 0,
4d47f125
TL
25264 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
25265 "text" : "rules"
7aacca6f 25266 },
56122987 25267 {
56122987
DM
25268 "children" : [
25269 {
56122987 25270 "info" : {
44660702 25271 "DELETE" : {
e9cd3bd4 25272 "allowtoken" : 1,
4d47f125 25273 "description" : "Remove IP or Network alias.",
44660702 25274 "method" : "DELETE",
4d47f125 25275 "name" : "remove_alias",
56122987 25276 "parameters" : {
44660702 25277 "additionalProperties" : 0,
56122987 25278 "properties" : {
44660702
DM
25279 "digest" : {
25280 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25281 "maxLength" : 40,
7aacca6f 25282 "optional" : 1,
013dc89f
DM
25283 "type" : "string",
25284 "typetext" : "<string>"
7aacca6f 25285 },
4d47f125
TL
25286 "name" : {
25287 "description" : "Alias name.",
25288 "maxLength" : 64,
25289 "minLength" : 2,
25290 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25291 "type" : "string"
25292 },
7aacca6f 25293 "node" : {
44660702 25294 "description" : "The cluster node name.",
7aacca6f 25295 "format" : "pve-node",
013dc89f
DM
25296 "type" : "string",
25297 "typetext" : "<string>"
44660702 25298 },
44660702
DM
25299 "vmid" : {
25300 "description" : "The (unique) ID of the VM.",
25301 "format" : "pve-vmid",
25302 "minimum" : 1,
4bd7df8b 25303 "type" : "integer",
013dc89f 25304 "typetext" : "<integer> (1 - N)"
56122987 25305 }
44660702 25306 }
56122987 25307 },
56122987
DM
25308 "permissions" : {
25309 "check" : [
25310 "perm",
25311 "/vms/{vmid}",
25312 [
44660702 25313 "VM.Config.Network"
56122987
DM
25314 ]
25315 ]
25316 },
44660702 25317 "protected" : 1,
44660702
DM
25318 "returns" : {
25319 "type" : "null"
25320 }
7aacca6f 25321 },
44660702 25322 "GET" : {
e9cd3bd4 25323 "allowtoken" : 1,
4d47f125 25324 "description" : "Read alias.",
44660702 25325 "method" : "GET",
4d47f125 25326 "name" : "read_alias",
56122987 25327 "parameters" : {
44660702 25328 "additionalProperties" : 0,
56122987 25329 "properties" : {
4d47f125
TL
25330 "name" : {
25331 "description" : "Alias name.",
25332 "maxLength" : 64,
25333 "minLength" : 2,
25334 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25335 "type" : "string"
25336 },
7aacca6f 25337 "node" : {
7aacca6f 25338 "description" : "The cluster node name.",
44660702 25339 "format" : "pve-node",
013dc89f
DM
25340 "type" : "string",
25341 "typetext" : "<string>"
56122987 25342 },
7aacca6f 25343 "vmid" : {
44660702 25344 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25345 "format" : "pve-vmid",
25346 "minimum" : 1,
4bd7df8b 25347 "type" : "integer",
013dc89f 25348 "typetext" : "<integer> (1 - N)"
56122987 25349 }
44660702 25350 }
56122987 25351 },
7aacca6f
DM
25352 "permissions" : {
25353 "check" : [
25354 "perm",
25355 "/vms/{vmid}",
25356 [
44660702 25357 "VM.Audit"
7aacca6f
DM
25358 ]
25359 ]
25360 },
7aacca6f 25361 "returns" : {
44660702 25362 "type" : "object"
7aacca6f 25363 }
56122987 25364 },
44660702 25365 "PUT" : {
e9cd3bd4 25366 "allowtoken" : 1,
4d47f125 25367 "description" : "Update IP or Network alias.",
44660702 25368 "method" : "PUT",
4d47f125 25369 "name" : "update_alias",
56122987
DM
25370 "parameters" : {
25371 "additionalProperties" : 0,
25372 "properties" : {
4d47f125
TL
25373 "cidr" : {
25374 "description" : "Network/IP specification in CIDR format.",
25375 "format" : "IPorCIDR",
013dc89f
DM
25376 "type" : "string",
25377 "typetext" : "<string>"
44660702 25378 },
4d47f125 25379 "comment" : {
44660702 25380 "optional" : 1,
013dc89f
DM
25381 "type" : "string",
25382 "typetext" : "<string>"
44660702
DM
25383 },
25384 "digest" : {
25385 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25386 "maxLength" : 40,
25387 "optional" : 1,
013dc89f
DM
25388 "type" : "string",
25389 "typetext" : "<string>"
44660702 25390 },
4d47f125
TL
25391 "name" : {
25392 "description" : "Alias name.",
25393 "maxLength" : 64,
44660702 25394 "minLength" : 2,
4d47f125
TL
25395 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25396 "type" : "string"
44660702 25397 },
7aacca6f
DM
25398 "node" : {
25399 "description" : "The cluster node name.",
44660702 25400 "format" : "pve-node",
013dc89f
DM
25401 "type" : "string",
25402 "typetext" : "<string>"
56122987 25403 },
4d47f125
TL
25404 "rename" : {
25405 "description" : "Rename an existing alias.",
25406 "maxLength" : 64,
25407 "minLength" : 2,
7aacca6f 25408 "optional" : 1,
4d47f125 25409 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
25410 "type" : "string"
25411 },
25412 "vmid" : {
25413 "description" : "The (unique) ID of the VM.",
25414 "format" : "pve-vmid",
25415 "minimum" : 1,
4bd7df8b 25416 "type" : "integer",
013dc89f 25417 "typetext" : "<integer> (1 - N)"
56122987
DM
25418 }
25419 }
25420 },
56122987
DM
25421 "permissions" : {
25422 "check" : [
25423 "perm",
25424 "/vms/{vmid}",
25425 [
7aacca6f 25426 "VM.Config.Network"
56122987
DM
25427 ]
25428 ]
25429 },
44660702 25430 "protected" : 1,
56122987 25431 "returns" : {
7aacca6f
DM
25432 "type" : "null"
25433 }
56122987 25434 }
44660702
DM
25435 },
25436 "leaf" : 1,
4d47f125
TL
25437 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
25438 "text" : "{name}"
56122987
DM
25439 }
25440 ],
25441 "info" : {
7aacca6f 25442 "GET" : {
e9cd3bd4 25443 "allowtoken" : 1,
4d47f125 25444 "description" : "List aliases",
44660702 25445 "method" : "GET",
4d47f125 25446 "name" : "get_aliases",
7aacca6f 25447 "parameters" : {
44660702 25448 "additionalProperties" : 0,
7aacca6f
DM
25449 "properties" : {
25450 "node" : {
7aacca6f 25451 "description" : "The cluster node name.",
44660702 25452 "format" : "pve-node",
013dc89f
DM
25453 "type" : "string",
25454 "typetext" : "<string>"
7aacca6f
DM
25455 },
25456 "vmid" : {
25457 "description" : "The (unique) ID of the VM.",
44660702 25458 "format" : "pve-vmid",
7aacca6f 25459 "minimum" : 1,
4bd7df8b 25460 "type" : "integer",
013dc89f 25461 "typetext" : "<integer> (1 - N)"
7aacca6f 25462 }
44660702 25463 }
56122987 25464 },
56122987
DM
25465 "permissions" : {
25466 "check" : [
25467 "perm",
25468 "/vms/{vmid}",
25469 [
7aacca6f 25470 "VM.Audit"
56122987
DM
25471 ]
25472 ]
25473 },
7aacca6f 25474 "returns" : {
7aacca6f
DM
25475 "items" : {
25476 "properties" : {
4d47f125
TL
25477 "cidr" : {
25478 "type" : "string"
25479 },
25480 "comment" : {
25481 "optional" : 1,
25482 "type" : "string"
25483 },
25484 "digest" : {
25485 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25486 "maxLength" : 40,
25487 "optional" : 0,
25488 "type" : "string"
25489 },
25490 "name" : {
25491 "type" : "string"
7aacca6f
DM
25492 }
25493 },
25494 "type" : "object"
25495 },
25496 "links" : [
25497 {
4d47f125 25498 "href" : "{name}",
44660702 25499 "rel" : "child"
7aacca6f 25500 }
44660702
DM
25501 ],
25502 "type" : "array"
25503 }
7aacca6f
DM
25504 },
25505 "POST" : {
e9cd3bd4 25506 "allowtoken" : 1,
4d47f125 25507 "description" : "Create IP or Network Alias.",
44660702 25508 "method" : "POST",
4d47f125 25509 "name" : "create_alias",
56122987 25510 "parameters" : {
44660702 25511 "additionalProperties" : 0,
56122987 25512 "properties" : {
4d47f125
TL
25513 "cidr" : {
25514 "description" : "Network/IP specification in CIDR format.",
25515 "format" : "IPorCIDR",
013dc89f 25516 "type" : "string",
4d47f125
TL
25517 "typetext" : "<string>"
25518 },
25519 "comment" : {
44660702 25520 "optional" : 1,
013dc89f
DM
25521 "type" : "string",
25522 "typetext" : "<string>"
7aacca6f 25523 },
4d47f125
TL
25524 "name" : {
25525 "description" : "Alias name.",
25526 "maxLength" : 64,
25527 "minLength" : 2,
25528 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
25529 "type" : "string"
25530 },
4d47f125
TL
25531 "node" : {
25532 "description" : "The cluster node name.",
25533 "format" : "pve-node",
25534 "type" : "string",
25535 "typetext" : "<string>"
25536 },
44660702
DM
25537 "vmid" : {
25538 "description" : "The (unique) ID of the VM.",
25539 "format" : "pve-vmid",
25540 "minimum" : 1,
4bd7df8b 25541 "type" : "integer",
013dc89f 25542 "typetext" : "<integer> (1 - N)"
44660702
DM
25543 }
25544 }
25545 },
25546 "permissions" : {
25547 "check" : [
25548 "perm",
25549 "/vms/{vmid}",
25550 [
25551 "VM.Config.Network"
25552 ]
25553 ]
25554 },
25555 "protected" : 1,
44660702
DM
25556 "returns" : {
25557 "type" : "null"
25558 }
25559 }
25560 },
25561 "leaf" : 0,
4d47f125
TL
25562 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
25563 "text" : "aliases"
44660702
DM
25564 },
25565 {
25566 "children" : [
25567 {
4d47f125
TL
25568 "children" : [
25569 {
25570 "info" : {
25571 "DELETE" : {
e9cd3bd4 25572 "allowtoken" : 1,
4d47f125
TL
25573 "description" : "Remove IP or Network from IPSet.",
25574 "method" : "DELETE",
25575 "name" : "remove_ip",
25576 "parameters" : {
25577 "additionalProperties" : 0,
25578 "properties" : {
25579 "cidr" : {
25580 "description" : "Network/IP specification in CIDR format.",
25581 "format" : "IPorCIDRorAlias",
25582 "type" : "string",
25583 "typetext" : "<string>"
25584 },
25585 "digest" : {
25586 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25587 "maxLength" : 40,
25588 "optional" : 1,
25589 "type" : "string",
25590 "typetext" : "<string>"
25591 },
25592 "name" : {
25593 "description" : "IP set name.",
25594 "maxLength" : 64,
25595 "minLength" : 2,
25596 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25597 "type" : "string"
25598 },
25599 "node" : {
25600 "description" : "The cluster node name.",
25601 "format" : "pve-node",
25602 "type" : "string",
25603 "typetext" : "<string>"
25604 },
25605 "vmid" : {
25606 "description" : "The (unique) ID of the VM.",
25607 "format" : "pve-vmid",
25608 "minimum" : 1,
25609 "type" : "integer",
25610 "typetext" : "<integer> (1 - N)"
25611 }
25612 }
25613 },
25614 "permissions" : {
25615 "check" : [
25616 "perm",
25617 "/vms/{vmid}",
25618 [
25619 "VM.Config.Network"
25620 ]
25621 ]
25622 },
25623 "protected" : 1,
25624 "returns" : {
25625 "type" : "null"
25626 }
25627 },
25628 "GET" : {
e9cd3bd4 25629 "allowtoken" : 1,
4d47f125
TL
25630 "description" : "Read IP or Network settings from IPSet.",
25631 "method" : "GET",
25632 "name" : "read_ip",
25633 "parameters" : {
25634 "additionalProperties" : 0,
25635 "properties" : {
25636 "cidr" : {
25637 "description" : "Network/IP specification in CIDR format.",
25638 "format" : "IPorCIDRorAlias",
25639 "type" : "string",
25640 "typetext" : "<string>"
25641 },
25642 "name" : {
25643 "description" : "IP set name.",
25644 "maxLength" : 64,
25645 "minLength" : 2,
25646 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25647 "type" : "string"
25648 },
25649 "node" : {
25650 "description" : "The cluster node name.",
25651 "format" : "pve-node",
25652 "type" : "string",
25653 "typetext" : "<string>"
25654 },
25655 "vmid" : {
25656 "description" : "The (unique) ID of the VM.",
25657 "format" : "pve-vmid",
25658 "minimum" : 1,
25659 "type" : "integer",
25660 "typetext" : "<integer> (1 - N)"
25661 }
25662 }
25663 },
25664 "permissions" : {
25665 "check" : [
25666 "perm",
25667 "/vms/{vmid}",
25668 [
25669 "VM.Audit"
25670 ]
25671 ]
25672 },
25673 "protected" : 1,
25674 "returns" : {
25675 "type" : "object"
25676 }
25677 },
25678 "PUT" : {
e9cd3bd4 25679 "allowtoken" : 1,
4d47f125
TL
25680 "description" : "Update IP or Network settings",
25681 "method" : "PUT",
25682 "name" : "update_ip",
25683 "parameters" : {
25684 "additionalProperties" : 0,
25685 "properties" : {
25686 "cidr" : {
25687 "description" : "Network/IP specification in CIDR format.",
25688 "format" : "IPorCIDRorAlias",
25689 "type" : "string",
25690 "typetext" : "<string>"
25691 },
25692 "comment" : {
25693 "optional" : 1,
25694 "type" : "string",
25695 "typetext" : "<string>"
25696 },
25697 "digest" : {
25698 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25699 "maxLength" : 40,
25700 "optional" : 1,
25701 "type" : "string",
25702 "typetext" : "<string>"
25703 },
25704 "name" : {
25705 "description" : "IP set name.",
25706 "maxLength" : 64,
25707 "minLength" : 2,
25708 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25709 "type" : "string"
25710 },
25711 "node" : {
25712 "description" : "The cluster node name.",
25713 "format" : "pve-node",
25714 "type" : "string",
25715 "typetext" : "<string>"
25716 },
25717 "nomatch" : {
25718 "optional" : 1,
25719 "type" : "boolean",
25720 "typetext" : "<boolean>"
25721 },
25722 "vmid" : {
25723 "description" : "The (unique) ID of the VM.",
25724 "format" : "pve-vmid",
25725 "minimum" : 1,
25726 "type" : "integer",
25727 "typetext" : "<integer> (1 - N)"
25728 }
25729 }
25730 },
25731 "permissions" : {
25732 "check" : [
25733 "perm",
25734 "/vms/{vmid}",
25735 [
25736 "VM.Config.Network"
25737 ]
25738 ]
25739 },
25740 "protected" : 1,
25741 "returns" : {
25742 "type" : "null"
25743 }
25744 }
25745 },
25746 "leaf" : 1,
25747 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
25748 "text" : "{cidr}"
25749 }
25750 ],
44660702
DM
25751 "info" : {
25752 "DELETE" : {
e9cd3bd4 25753 "allowtoken" : 1,
4d47f125 25754 "description" : "Delete IPSet",
44660702 25755 "method" : "DELETE",
4d47f125 25756 "name" : "delete_ipset",
56122987 25757 "parameters" : {
44660702 25758 "additionalProperties" : 0,
56122987 25759 "properties" : {
7aacca6f 25760 "name" : {
4d47f125 25761 "description" : "IP set name.",
7aacca6f 25762 "maxLength" : 64,
7aacca6f
DM
25763 "minLength" : 2,
25764 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25765 "type" : "string"
7aacca6f
DM
25766 },
25767 "node" : {
44660702 25768 "description" : "The cluster node name.",
56122987 25769 "format" : "pve-node",
013dc89f
DM
25770 "type" : "string",
25771 "typetext" : "<string>"
7aacca6f 25772 },
56122987 25773 "vmid" : {
44660702 25774 "description" : "The (unique) ID of the VM.",
56122987 25775 "format" : "pve-vmid",
44660702 25776 "minimum" : 1,
4bd7df8b 25777 "type" : "integer",
013dc89f 25778 "typetext" : "<integer> (1 - N)"
56122987 25779 }
44660702 25780 }
56122987 25781 },
56122987
DM
25782 "permissions" : {
25783 "check" : [
25784 "perm",
25785 "/vms/{vmid}",
25786 [
7aacca6f 25787 "VM.Config.Network"
56122987
DM
25788 ]
25789 ]
25790 },
44660702 25791 "protected" : 1,
56122987 25792 "returns" : {
7aacca6f 25793 "type" : "null"
44660702 25794 }
56122987 25795 },
44660702 25796 "GET" : {
e9cd3bd4 25797 "allowtoken" : 1,
4d47f125 25798 "description" : "List IPSet content",
44660702 25799 "method" : "GET",
4d47f125 25800 "name" : "get_ipset",
44660702
DM
25801 "parameters" : {
25802 "additionalProperties" : 0,
25803 "properties" : {
25804 "name" : {
4d47f125 25805 "description" : "IP set name.",
44660702
DM
25806 "maxLength" : 64,
25807 "minLength" : 2,
25808 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25809 "type" : "string"
25810 },
25811 "node" : {
25812 "description" : "The cluster node name.",
25813 "format" : "pve-node",
013dc89f
DM
25814 "type" : "string",
25815 "typetext" : "<string>"
44660702
DM
25816 },
25817 "vmid" : {
25818 "description" : "The (unique) ID of the VM.",
25819 "format" : "pve-vmid",
25820 "minimum" : 1,
4bd7df8b 25821 "type" : "integer",
013dc89f 25822 "typetext" : "<integer> (1 - N)"
44660702 25823 }
4d47f125
TL
25824 }
25825 },
25826 "permissions" : {
25827 "check" : [
25828 "perm",
25829 "/vms/{vmid}",
25830 [
25831 "VM.Audit"
25832 ]
25833 ]
25834 },
25835 "returns" : {
25836 "items" : {
25837 "properties" : {
25838 "cidr" : {
25839 "type" : "string"
25840 },
25841 "comment" : {
25842 "optional" : 1,
25843 "type" : "string"
25844 },
25845 "digest" : {
25846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25847 "maxLength" : 40,
25848 "optional" : 0,
25849 "type" : "string"
25850 },
25851 "nomatch" : {
25852 "optional" : 1,
25853 "type" : "boolean"
25854 }
25855 },
25856 "type" : "object"
25857 },
25858 "links" : [
25859 {
25860 "href" : "{cidr}",
25861 "rel" : "child"
25862 }
25863 ],
25864 "type" : "array"
44660702
DM
25865 }
25866 },
4d47f125 25867 "POST" : {
e9cd3bd4 25868 "allowtoken" : 1,
4d47f125
TL
25869 "description" : "Add IP or Network to IPSet.",
25870 "method" : "POST",
25871 "name" : "create_ip",
56122987
DM
25872 "parameters" : {
25873 "additionalProperties" : 0,
25874 "properties" : {
44660702
DM
25875 "cidr" : {
25876 "description" : "Network/IP specification in CIDR format.",
4d47f125 25877 "format" : "IPorCIDRorAlias",
013dc89f
DM
25878 "type" : "string",
25879 "typetext" : "<string>"
44660702
DM
25880 },
25881 "comment" : {
25882 "optional" : 1,
013dc89f
DM
25883 "type" : "string",
25884 "typetext" : "<string>"
44660702 25885 },
56122987 25886 "name" : {
4d47f125 25887 "description" : "IP set name.",
44660702
DM
25888 "maxLength" : 64,
25889 "minLength" : 2,
7aacca6f 25890 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25891 "type" : "string"
56122987
DM
25892 },
25893 "node" : {
25894 "description" : "The cluster node name.",
44660702 25895 "format" : "pve-node",
013dc89f
DM
25896 "type" : "string",
25897 "typetext" : "<string>"
44660702 25898 },
4d47f125 25899 "nomatch" : {
44660702 25900 "optional" : 1,
4d47f125
TL
25901 "type" : "boolean",
25902 "typetext" : "<boolean>"
56122987 25903 },
7aacca6f 25904 "vmid" : {
7aacca6f 25905 "description" : "The (unique) ID of the VM.",
44660702 25906 "format" : "pve-vmid",
7aacca6f 25907 "minimum" : 1,
4bd7df8b 25908 "type" : "integer",
013dc89f 25909 "typetext" : "<integer> (1 - N)"
56122987
DM
25910 }
25911 }
25912 },
44660702
DM
25913 "permissions" : {
25914 "check" : [
25915 "perm",
25916 "/vms/{vmid}",
25917 [
25918 "VM.Config.Network"
25919 ]
25920 ]
7aacca6f 25921 },
44660702
DM
25922 "protected" : 1,
25923 "returns" : {
25924 "type" : "null"
7aacca6f
DM
25925 }
25926 }
25927 },
4d47f125
TL
25928 "leaf" : 0,
25929 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
25930 "text" : "{name}"
25931 }
25932 ],
25933 "info" : {
25934 "GET" : {
e9cd3bd4 25935 "allowtoken" : 1,
4d47f125 25936 "description" : "List IPSets",
44660702 25937 "method" : "GET",
4d47f125 25938 "name" : "ipset_index",
56122987
DM
25939 "parameters" : {
25940 "additionalProperties" : 0,
25941 "properties" : {
25942 "node" : {
44660702 25943 "description" : "The cluster node name.",
56122987 25944 "format" : "pve-node",
013dc89f
DM
25945 "type" : "string",
25946 "typetext" : "<string>"
56122987
DM
25947 },
25948 "vmid" : {
7aacca6f 25949 "description" : "The (unique) ID of the VM.",
44660702 25950 "format" : "pve-vmid",
7aacca6f 25951 "minimum" : 1,
4bd7df8b 25952 "type" : "integer",
013dc89f 25953 "typetext" : "<integer> (1 - N)"
56122987
DM
25954 }
25955 }
25956 },
44660702
DM
25957 "permissions" : {
25958 "check" : [
25959 "perm",
25960 "/vms/{vmid}",
25961 [
25962 "VM.Audit"
25963 ]
25964 ]
25965 },
56122987
DM
25966 "returns" : {
25967 "items" : {
56122987 25968 "properties" : {
44660702
DM
25969 "comment" : {
25970 "optional" : 1,
56122987
DM
25971 "type" : "string"
25972 },
56122987 25973 "digest" : {
56122987 25974 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
25975 "maxLength" : 40,
25976 "optional" : 0,
25977 "type" : "string"
25978 },
25979 "name" : {
4d47f125
TL
25980 "description" : "IP set name.",
25981 "maxLength" : 64,
25982 "minLength" : 2,
25983 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25984 "type" : "string"
56122987 25985 }
44660702
DM
25986 },
25987 "type" : "object"
25988 },
25989 "links" : [
25990 {
25991 "href" : "{name}",
25992 "rel" : "child"
56122987 25993 }
4d47f125
TL
25994 ],
25995 "type" : "array"
25996 }
25997 },
25998 "POST" : {
e9cd3bd4 25999 "allowtoken" : 1,
4d47f125
TL
26000 "description" : "Create new IPSet",
26001 "method" : "POST",
26002 "name" : "create_ipset",
26003 "parameters" : {
26004 "additionalProperties" : 0,
26005 "properties" : {
26006 "comment" : {
26007 "optional" : 1,
26008 "type" : "string",
26009 "typetext" : "<string>"
26010 },
26011 "digest" : {
26012 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26013 "maxLength" : 40,
26014 "optional" : 1,
26015 "type" : "string",
26016 "typetext" : "<string>"
26017 },
26018 "name" : {
26019 "description" : "IP set name.",
26020 "maxLength" : 64,
26021 "minLength" : 2,
26022 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26023 "type" : "string"
26024 },
26025 "node" : {
26026 "description" : "The cluster node name.",
26027 "format" : "pve-node",
26028 "type" : "string",
26029 "typetext" : "<string>"
26030 },
26031 "rename" : {
26032 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
26033 "maxLength" : 64,
26034 "minLength" : 2,
26035 "optional" : 1,
26036 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26037 "type" : "string"
26038 },
26039 "vmid" : {
26040 "description" : "The (unique) ID of the VM.",
26041 "format" : "pve-vmid",
26042 "minimum" : 1,
26043 "type" : "integer",
26044 "typetext" : "<integer> (1 - N)"
26045 }
26046 }
26047 },
26048 "permissions" : {
26049 "check" : [
26050 "perm",
26051 "/vms/{vmid}",
26052 [
26053 "VM.Config.Network"
26054 ]
26055 ]
26056 },
26057 "protected" : 1,
26058 "returns" : {
26059 "type" : "null"
26060 }
26061 }
26062 },
26063 "leaf" : 0,
26064 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
26065 "text" : "ipset"
26066 },
26067 {
26068 "info" : {
26069 "GET" : {
e9cd3bd4 26070 "allowtoken" : 1,
4d47f125
TL
26071 "description" : "Get VM firewall options.",
26072 "method" : "GET",
26073 "name" : "get_options",
26074 "parameters" : {
26075 "additionalProperties" : 0,
26076 "properties" : {
26077 "node" : {
26078 "description" : "The cluster node name.",
26079 "format" : "pve-node",
26080 "type" : "string",
26081 "typetext" : "<string>"
26082 },
26083 "vmid" : {
26084 "description" : "The (unique) ID of the VM.",
26085 "format" : "pve-vmid",
26086 "minimum" : 1,
26087 "type" : "integer",
26088 "typetext" : "<integer> (1 - N)"
26089 }
26090 }
26091 },
26092 "permissions" : {
26093 "check" : [
26094 "perm",
26095 "/vms/{vmid}",
26096 [
26097 "VM.Audit"
26098 ]
26099 ]
26100 },
26101 "proxyto" : "node",
26102 "returns" : {
26103 "properties" : {
26104 "dhcp" : {
5c1699e5 26105 "default" : 0,
4d47f125
TL
26106 "description" : "Enable DHCP.",
26107 "optional" : 1,
26108 "type" : "boolean"
26109 },
26110 "enable" : {
5c1699e5 26111 "default" : 0,
4d47f125
TL
26112 "description" : "Enable/disable firewall rules.",
26113 "optional" : 1,
26114 "type" : "boolean"
26115 },
26116 "ipfilter" : {
26117 "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.",
26118 "optional" : 1,
26119 "type" : "boolean"
26120 },
26121 "log_level_in" : {
26122 "description" : "Log level for incoming traffic.",
26123 "enum" : [
26124 "emerg",
26125 "alert",
26126 "crit",
26127 "err",
26128 "warning",
26129 "notice",
26130 "info",
26131 "debug",
26132 "nolog"
26133 ],
26134 "optional" : 1,
26135 "type" : "string"
26136 },
26137 "log_level_out" : {
26138 "description" : "Log level for outgoing traffic.",
26139 "enum" : [
26140 "emerg",
26141 "alert",
26142 "crit",
26143 "err",
26144 "warning",
26145 "notice",
26146 "info",
26147 "debug",
26148 "nolog"
26149 ],
26150 "optional" : 1,
26151 "type" : "string"
26152 },
26153 "macfilter" : {
5c1699e5 26154 "default" : 0,
4d47f125
TL
26155 "description" : "Enable/disable MAC address filter.",
26156 "optional" : 1,
26157 "type" : "boolean"
26158 },
26159 "ndp" : {
5c1699e5
TL
26160 "default" : 0,
26161 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
26162 "optional" : 1,
26163 "type" : "boolean"
26164 },
26165 "policy_in" : {
26166 "description" : "Input policy.",
26167 "enum" : [
26168 "ACCEPT",
26169 "REJECT",
26170 "DROP"
26171 ],
26172 "optional" : 1,
26173 "type" : "string"
26174 },
26175 "policy_out" : {
26176 "description" : "Output policy.",
26177 "enum" : [
26178 "ACCEPT",
26179 "REJECT",
26180 "DROP"
26181 ],
26182 "optional" : 1,
26183 "type" : "string"
26184 },
26185 "radv" : {
26186 "description" : "Allow sending Router Advertisement.",
26187 "optional" : 1,
26188 "type" : "boolean"
26189 }
26190 },
26191 "type" : "object"
7aacca6f
DM
26192 }
26193 },
4d47f125 26194 "PUT" : {
e9cd3bd4 26195 "allowtoken" : 1,
4d47f125
TL
26196 "description" : "Set Firewall options.",
26197 "method" : "PUT",
26198 "name" : "set_options",
7aacca6f
DM
26199 "parameters" : {
26200 "additionalProperties" : 0,
26201 "properties" : {
4d47f125
TL
26202 "delete" : {
26203 "description" : "A list of settings you want to delete.",
26204 "format" : "pve-configid-list",
7aacca6f 26205 "optional" : 1,
013dc89f
DM
26206 "type" : "string",
26207 "typetext" : "<string>"
7aacca6f 26208 },
4d47f125 26209 "dhcp" : {
5c1699e5 26210 "default" : 0,
4d47f125
TL
26211 "description" : "Enable DHCP.",
26212 "optional" : 1,
26213 "type" : "boolean",
26214 "typetext" : "<boolean>"
7aacca6f 26215 },
4d47f125
TL
26216 "digest" : {
26217 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26218 "maxLength" : 40,
26219 "optional" : 1,
013dc89f
DM
26220 "type" : "string",
26221 "typetext" : "<string>"
7aacca6f 26222 },
4d47f125 26223 "enable" : {
5c1699e5 26224 "default" : 0,
4d47f125
TL
26225 "description" : "Enable/disable firewall rules.",
26226 "optional" : 1,
26227 "type" : "boolean",
26228 "typetext" : "<boolean>"
26229 },
26230 "ipfilter" : {
26231 "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.",
26232 "optional" : 1,
26233 "type" : "boolean",
26234 "typetext" : "<boolean>"
56122987 26235 },
4d47f125
TL
26236 "log_level_in" : {
26237 "description" : "Log level for incoming traffic.",
26238 "enum" : [
26239 "emerg",
26240 "alert",
26241 "crit",
26242 "err",
26243 "warning",
26244 "notice",
26245 "info",
26246 "debug",
26247 "nolog"
26248 ],
26249 "optional" : 1,
26250 "type" : "string"
44660702 26251 },
4d47f125
TL
26252 "log_level_out" : {
26253 "description" : "Log level for outgoing traffic.",
26254 "enum" : [
26255 "emerg",
26256 "alert",
26257 "crit",
26258 "err",
26259 "warning",
26260 "notice",
26261 "info",
26262 "debug",
26263 "nolog"
26264 ],
26265 "optional" : 1,
26266 "type" : "string"
44660702 26267 },
4d47f125 26268 "macfilter" : {
5c1699e5 26269 "default" : 0,
4d47f125
TL
26270 "description" : "Enable/disable MAC address filter.",
26271 "optional" : 1,
26272 "type" : "boolean",
26273 "typetext" : "<boolean>"
7aacca6f 26274 },
4d47f125 26275 "ndp" : {
5c1699e5
TL
26276 "default" : 0,
26277 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
26278 "optional" : 1,
26279 "type" : "boolean",
26280 "typetext" : "<boolean>"
7aacca6f 26281 },
4d47f125
TL
26282 "node" : {
26283 "description" : "The cluster node name.",
26284 "format" : "pve-node",
26285 "type" : "string",
26286 "typetext" : "<string>"
26287 },
26288 "policy_in" : {
26289 "description" : "Input policy.",
26290 "enum" : [
26291 "ACCEPT",
26292 "REJECT",
26293 "DROP"
44660702 26294 ],
4d47f125
TL
26295 "optional" : 1,
26296 "type" : "string"
26297 },
26298 "policy_out" : {
26299 "description" : "Output policy.",
26300 "enum" : [
26301 "ACCEPT",
26302 "REJECT",
26303 "DROP"
26304 ],
26305 "optional" : 1,
26306 "type" : "string"
26307 },
26308 "radv" : {
26309 "description" : "Allow sending Router Advertisement.",
26310 "optional" : 1,
26311 "type" : "boolean",
26312 "typetext" : "<boolean>"
26313 },
26314 "vmid" : {
26315 "description" : "The (unique) ID of the VM.",
26316 "format" : "pve-vmid",
26317 "minimum" : 1,
26318 "type" : "integer",
26319 "typetext" : "<integer> (1 - N)"
44660702 26320 }
4d47f125
TL
26321 }
26322 },
26323 "permissions" : {
26324 "check" : [
26325 "perm",
26326 "/vms/{vmid}",
26327 [
26328 "VM.Config.Network"
26329 ]
26330 ]
26331 },
26332 "protected" : 1,
26333 "proxyto" : "node",
26334 "returns" : {
26335 "type" : "null"
26336 }
26337 }
26338 },
26339 "leaf" : 1,
26340 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
26341 "text" : "options"
26342 },
26343 {
26344 "info" : {
26345 "GET" : {
e9cd3bd4 26346 "allowtoken" : 1,
4d47f125
TL
26347 "description" : "Read firewall log",
26348 "method" : "GET",
26349 "name" : "log",
26350 "parameters" : {
26351 "additionalProperties" : 0,
26352 "properties" : {
26353 "limit" : {
26354 "minimum" : 0,
26355 "optional" : 1,
26356 "type" : "integer",
26357 "typetext" : "<integer> (0 - N)"
44660702 26358 },
4d47f125
TL
26359 "node" : {
26360 "description" : "The cluster node name.",
26361 "format" : "pve-node",
26362 "type" : "string",
26363 "typetext" : "<string>"
44660702 26364 },
4d47f125
TL
26365 "start" : {
26366 "minimum" : 0,
26367 "optional" : 1,
26368 "type" : "integer",
26369 "typetext" : "<integer> (0 - N)"
26370 },
26371 "vmid" : {
26372 "description" : "The (unique) ID of the VM.",
26373 "format" : "pve-vmid",
26374 "minimum" : 1,
26375 "type" : "integer",
26376 "typetext" : "<integer> (1 - N)"
44660702
DM
26377 }
26378 }
26379 },
4d47f125
TL
26380 "permissions" : {
26381 "check" : [
26382 "perm",
26383 "/vms/{vmid}",
26384 [
26385 "VM.Console"
26386 ]
26387 ]
26388 },
26389 "protected" : 1,
26390 "proxyto" : "node",
26391 "returns" : {
26392 "items" : {
26393 "properties" : {
26394 "n" : {
26395 "description" : "Line number",
26396 "type" : "integer"
26397 },
26398 "t" : {
26399 "description" : "Line text",
26400 "type" : "string"
26401 }
26402 },
26403 "type" : "object"
26404 },
26405 "type" : "array"
26406 }
44660702 26407 }
4d47f125
TL
26408 },
26409 "leaf" : 1,
26410 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
26411 "text" : "log"
26412 },
26413 {
44660702
DM
26414 "info" : {
26415 "GET" : {
e9cd3bd4 26416 "allowtoken" : 1,
4d47f125 26417 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 26418 "method" : "GET",
4d47f125 26419 "name" : "refs",
44660702
DM
26420 "parameters" : {
26421 "additionalProperties" : 0,
26422 "properties" : {
26423 "node" : {
26424 "description" : "The cluster node name.",
26425 "format" : "pve-node",
013dc89f
DM
26426 "type" : "string",
26427 "typetext" : "<string>"
44660702 26428 },
4d47f125
TL
26429 "type" : {
26430 "description" : "Only list references of specified type.",
26431 "enum" : [
26432 "alias",
26433 "ipset"
26434 ],
26435 "optional" : 1,
26436 "type" : "string"
26437 },
44660702
DM
26438 "vmid" : {
26439 "description" : "The (unique) ID of the VM.",
26440 "format" : "pve-vmid",
26441 "minimum" : 1,
4bd7df8b 26442 "type" : "integer",
013dc89f 26443 "typetext" : "<integer> (1 - N)"
44660702
DM
26444 }
26445 }
26446 },
4d47f125
TL
26447 "permissions" : {
26448 "check" : [
26449 "perm",
26450 "/vms/{vmid}",
26451 [
26452 "VM.Audit"
26453 ]
26454 ]
26455 },
26456 "returns" : {
26457 "items" : {
26458 "properties" : {
26459 "comment" : {
26460 "optional" : 1,
26461 "type" : "string"
26462 },
26463 "name" : {
26464 "type" : "string"
26465 },
26466 "type" : {
26467 "enum" : [
26468 "alias",
26469 "ipset"
26470 ],
26471 "type" : "string"
26472 }
26473 },
26474 "type" : "object"
26475 },
26476 "type" : "array"
26477 }
26478 }
26479 },
26480 "leaf" : 1,
26481 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
26482 "text" : "refs"
26483 }
26484 ],
26485 "info" : {
26486 "GET" : {
e9cd3bd4 26487 "allowtoken" : 1,
4d47f125
TL
26488 "description" : "Directory index.",
26489 "method" : "GET",
26490 "name" : "index",
26491 "parameters" : {
26492 "additionalProperties" : 0,
26493 "properties" : {
26494 "node" : {
26495 "description" : "The cluster node name.",
26496 "format" : "pve-node",
26497 "type" : "string",
26498 "typetext" : "<string>"
26499 },
26500 "vmid" : {
26501 "description" : "The (unique) ID of the VM.",
26502 "format" : "pve-vmid",
26503 "minimum" : 1,
26504 "type" : "integer",
26505 "typetext" : "<integer> (1 - N)"
26506 }
26507 }
26508 },
26509 "permissions" : {
26510 "user" : "all"
26511 },
26512 "returns" : {
26513 "items" : {
26514 "properties" : {},
26515 "type" : "object"
26516 },
26517 "links" : [
26518 {
26519 "href" : "{name}",
26520 "rel" : "child"
26521 }
26522 ],
26523 "type" : "array"
26524 }
26525 }
26526 },
26527 "leaf" : 0,
26528 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
26529 "text" : "firewall"
26530 },
26531 {
26532 "info" : {
26533 "GET" : {
e9cd3bd4 26534 "allowtoken" : 1,
4d47f125
TL
26535 "description" : "Read VM RRD statistics (returns PNG)",
26536 "method" : "GET",
26537 "name" : "rrd",
26538 "parameters" : {
26539 "additionalProperties" : 0,
26540 "properties" : {
26541 "cf" : {
26542 "description" : "The RRD consolidation function",
26543 "enum" : [
26544 "AVERAGE",
26545 "MAX"
26546 ],
26547 "optional" : 1,
26548 "type" : "string"
26549 },
26550 "ds" : {
26551 "description" : "The list of datasources you want to display.",
26552 "format" : "pve-configid-list",
26553 "type" : "string",
26554 "typetext" : "<string>"
26555 },
26556 "node" : {
26557 "description" : "The cluster node name.",
26558 "format" : "pve-node",
26559 "type" : "string",
26560 "typetext" : "<string>"
26561 },
26562 "timeframe" : {
26563 "description" : "Specify the time frame you are interested in.",
26564 "enum" : [
26565 "hour",
26566 "day",
26567 "week",
26568 "month",
26569 "year"
26570 ],
26571 "type" : "string"
26572 },
26573 "vmid" : {
26574 "description" : "The (unique) ID of the VM.",
26575 "format" : "pve-vmid",
26576 "minimum" : 1,
26577 "type" : "integer",
26578 "typetext" : "<integer> (1 - N)"
26579 }
26580 }
26581 },
26582 "permissions" : {
26583 "check" : [
26584 "perm",
26585 "/vms/{vmid}",
26586 [
26587 "VM.Audit"
26588 ]
26589 ]
26590 },
26591 "protected" : 1,
26592 "returns" : {
26593 "properties" : {
26594 "filename" : {
26595 "type" : "string"
26596 }
26597 },
26598 "type" : "object"
26599 }
26600 }
26601 },
26602 "leaf" : 1,
26603 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
26604 "text" : "rrd"
26605 },
26606 {
26607 "info" : {
26608 "GET" : {
e9cd3bd4 26609 "allowtoken" : 1,
4d47f125
TL
26610 "description" : "Read VM RRD statistics",
26611 "method" : "GET",
26612 "name" : "rrddata",
26613 "parameters" : {
26614 "additionalProperties" : 0,
26615 "properties" : {
26616 "cf" : {
26617 "description" : "The RRD consolidation function",
26618 "enum" : [
26619 "AVERAGE",
26620 "MAX"
26621 ],
26622 "optional" : 1,
26623 "type" : "string"
26624 },
26625 "node" : {
26626 "description" : "The cluster node name.",
26627 "format" : "pve-node",
26628 "type" : "string",
26629 "typetext" : "<string>"
44660702 26630 },
4d47f125
TL
26631 "timeframe" : {
26632 "description" : "Specify the time frame you are interested in.",
26633 "enum" : [
26634 "hour",
26635 "day",
26636 "week",
26637 "month",
26638 "year"
44660702 26639 ],
4d47f125
TL
26640 "type" : "string"
26641 },
26642 "vmid" : {
26643 "description" : "The (unique) ID of the VM.",
26644 "format" : "pve-vmid",
26645 "minimum" : 1,
26646 "type" : "integer",
26647 "typetext" : "<integer> (1 - N)"
44660702 26648 }
4d47f125
TL
26649 }
26650 },
26651 "permissions" : {
26652 "check" : [
26653 "perm",
26654 "/vms/{vmid}",
26655 [
26656 "VM.Audit"
26657 ]
26658 ]
26659 },
26660 "protected" : 1,
26661 "returns" : {
26662 "items" : {
26663 "properties" : {},
26664 "type" : "object"
44660702 26665 },
4d47f125
TL
26666 "type" : "array"
26667 }
26668 }
26669 },
26670 "leaf" : 1,
26671 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
26672 "text" : "rrddata"
26673 },
26674 {
26675 "info" : {
26676 "POST" : {
e9cd3bd4 26677 "allowtoken" : 1,
4d47f125
TL
26678 "description" : "Creates a TCP VNC proxy connections.",
26679 "method" : "POST",
26680 "name" : "vncproxy",
26681 "parameters" : {
26682 "additionalProperties" : 0,
26683 "properties" : {
26684 "height" : {
26685 "description" : "sets the height of the console in pixels.",
26686 "maximum" : 2160,
26687 "minimum" : 16,
26688 "optional" : 1,
26689 "type" : "integer",
26690 "typetext" : "<integer> (16 - 2160)"
44660702 26691 },
4d47f125
TL
26692 "node" : {
26693 "description" : "The cluster node name.",
26694 "format" : "pve-node",
26695 "type" : "string",
26696 "typetext" : "<string>"
44660702 26697 },
4d47f125
TL
26698 "vmid" : {
26699 "description" : "The (unique) ID of the VM.",
26700 "format" : "pve-vmid",
26701 "minimum" : 1,
26702 "type" : "integer",
26703 "typetext" : "<integer> (1 - N)"
26704 },
26705 "websocket" : {
26706 "description" : "use websocket instead of standard VNC.",
26707 "optional" : 1,
26708 "type" : "boolean",
26709 "typetext" : "<boolean>"
26710 },
26711 "width" : {
26712 "description" : "sets the width of the console in pixels.",
26713 "maximum" : 4096,
26714 "minimum" : 16,
26715 "optional" : 1,
26716 "type" : "integer",
26717 "typetext" : "<integer> (16 - 4096)"
56122987
DM
26718 }
26719 }
44660702 26720 },
4d47f125
TL
26721 "permissions" : {
26722 "check" : [
26723 "perm",
26724 "/vms/{vmid}",
26725 [
26726 "VM.Console"
26727 ]
26728 ]
26729 },
26730 "protected" : 1,
26731 "returns" : {
26732 "additionalProperties" : 0,
26733 "properties" : {
26734 "cert" : {
26735 "type" : "string"
44660702 26736 },
4d47f125
TL
26737 "port" : {
26738 "type" : "integer"
26739 },
26740 "ticket" : {
26741 "type" : "string"
26742 },
26743 "upid" : {
26744 "type" : "string"
26745 },
26746 "user" : {
26747 "type" : "string"
26748 }
26749 }
26750 }
26751 }
26752 },
26753 "leaf" : 1,
26754 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
26755 "text" : "vncproxy"
26756 },
26757 {
26758 "info" : {
26759 "POST" : {
e9cd3bd4 26760 "allowtoken" : 1,
4d47f125
TL
26761 "description" : "Creates a TCP proxy connection.",
26762 "method" : "POST",
26763 "name" : "termproxy",
26764 "parameters" : {
26765 "additionalProperties" : 0,
26766 "properties" : {
26767 "node" : {
26768 "description" : "The cluster node name.",
26769 "format" : "pve-node",
26770 "type" : "string",
26771 "typetext" : "<string>"
44660702 26772 },
4d47f125
TL
26773 "vmid" : {
26774 "description" : "The (unique) ID of the VM.",
26775 "format" : "pve-vmid",
26776 "minimum" : 1,
26777 "type" : "integer",
26778 "typetext" : "<integer> (1 - N)"
44660702 26779 }
4d47f125
TL
26780 }
26781 },
26782 "permissions" : {
26783 "check" : [
26784 "perm",
26785 "/vms/{vmid}",
26786 [
26787 "VM.Console"
26788 ]
26789 ]
26790 },
26791 "protected" : 1,
26792 "returns" : {
26793 "additionalProperties" : 0,
26794 "properties" : {
26795 "port" : {
26796 "type" : "integer"
56122987 26797 },
4d47f125
TL
26798 "ticket" : {
26799 "type" : "string"
7aacca6f 26800 },
4d47f125
TL
26801 "upid" : {
26802 "type" : "string"
26803 },
26804 "user" : {
26805 "type" : "string"
26806 }
26807 }
26808 }
26809 }
26810 },
26811 "leaf" : 1,
26812 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
26813 "text" : "termproxy"
26814 },
26815 {
26816 "info" : {
26817 "GET" : {
e9cd3bd4 26818 "allowtoken" : 1,
4d47f125
TL
26819 "description" : "Opens a weksocket for VNC traffic.",
26820 "method" : "GET",
26821 "name" : "vncwebsocket",
26822 "parameters" : {
26823 "additionalProperties" : 0,
26824 "properties" : {
26825 "node" : {
26826 "description" : "The cluster node name.",
26827 "format" : "pve-node",
26828 "type" : "string",
26829 "typetext" : "<string>"
26830 },
26831 "port" : {
26832 "description" : "Port number returned by previous vncproxy call.",
26833 "maximum" : 5999,
26834 "minimum" : 5900,
26835 "type" : "integer",
26836 "typetext" : "<integer> (5900 - 5999)"
26837 },
26838 "vmid" : {
26839 "description" : "The (unique) ID of the VM.",
26840 "format" : "pve-vmid",
26841 "minimum" : 1,
26842 "type" : "integer",
26843 "typetext" : "<integer> (1 - N)"
26844 },
26845 "vncticket" : {
26846 "description" : "Ticket from previous call to vncproxy.",
26847 "maxLength" : 512,
26848 "type" : "string",
26849 "typetext" : "<string>"
56122987
DM
26850 }
26851 }
26852 },
4d47f125
TL
26853 "permissions" : {
26854 "check" : [
26855 "perm",
26856 "/vms/{vmid}",
26857 [
26858 "VM.Console"
26859 ]
26860 ],
26861 "description" : "You also need to pass a valid ticket (vncticket)."
26862 },
26863 "returns" : {
26864 "properties" : {
26865 "port" : {
26866 "type" : "string"
26867 }
26868 },
26869 "type" : "object"
26870 }
26871 }
26872 },
26873 "leaf" : 1,
26874 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
26875 "text" : "vncwebsocket"
26876 },
26877 {
26878 "info" : {
26879 "POST" : {
e9cd3bd4 26880 "allowtoken" : 1,
4d47f125
TL
26881 "description" : "Returns a SPICE configuration to connect to the CT.",
26882 "method" : "POST",
26883 "name" : "spiceproxy",
26884 "parameters" : {
26885 "additionalProperties" : 0,
26886 "properties" : {
26887 "node" : {
26888 "description" : "The cluster node name.",
26889 "format" : "pve-node",
26890 "type" : "string",
26891 "typetext" : "<string>"
56122987 26892 },
4d47f125
TL
26893 "proxy" : {
26894 "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).",
26895 "format" : "address",
26896 "optional" : 1,
26897 "type" : "string",
26898 "typetext" : "<string>"
44660702 26899 },
4d47f125
TL
26900 "vmid" : {
26901 "description" : "The (unique) ID of the VM.",
26902 "format" : "pve-vmid",
26903 "minimum" : 1,
26904 "type" : "integer",
26905 "typetext" : "<integer> (1 - N)"
44660702 26906 }
56122987
DM
26907 }
26908 },
4d47f125
TL
26909 "permissions" : {
26910 "check" : [
26911 "perm",
26912 "/vms/{vmid}",
26913 [
26914 "VM.Console"
26915 ]
26916 ]
26917 },
26918 "protected" : 1,
26919 "proxyto" : "node",
26920 "returns" : {
26921 "additionalProperties" : 1,
26922 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
26923 "properties" : {
26924 "host" : {
26925 "type" : "string"
26926 },
26927 "password" : {
26928 "type" : "string"
26929 },
26930 "proxy" : {
26931 "type" : "string"
26932 },
26933 "tls-port" : {
26934 "type" : "integer"
26935 },
26936 "type" : {
26937 "type" : "string"
26938 }
26939 }
26940 }
26941 }
26942 },
26943 "leaf" : 1,
26944 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
26945 "text" : "spiceproxy"
26946 },
26947 {
26948 "info" : {
26949 "POST" : {
e9cd3bd4 26950 "allowtoken" : 1,
4d47f125
TL
26951 "description" : "Migrate the container to another node. Creates a new migration task.",
26952 "method" : "POST",
26953 "name" : "migrate_vm",
26954 "parameters" : {
26955 "additionalProperties" : 0,
26956 "properties" : {
95895385
TL
26957 "bwlimit" : {
26958 "default" : "migrate limit from datacenter or storage config",
26959 "description" : "Override I/O bandwidth limit (in KiB/s).",
26960 "minimum" : "0",
26961 "optional" : 1,
26962 "type" : "number",
26963 "typetext" : "<number> (0 - N)"
26964 },
4d47f125
TL
26965 "force" : {
26966 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
26967 "optional" : 1,
26968 "type" : "boolean",
26969 "typetext" : "<boolean>"
56122987 26970 },
4d47f125
TL
26971 "node" : {
26972 "description" : "The cluster node name.",
26973 "format" : "pve-node",
26974 "type" : "string",
26975 "typetext" : "<string>"
44660702 26976 },
4d47f125
TL
26977 "online" : {
26978 "description" : "Use online/live migration.",
26979 "optional" : 1,
26980 "type" : "boolean",
26981 "typetext" : "<boolean>"
26982 },
26983 "restart" : {
26984 "description" : "Use restart migration",
26985 "optional" : 1,
26986 "type" : "boolean",
26987 "typetext" : "<boolean>"
26988 },
26989 "target" : {
26990 "description" : "Target node.",
26991 "format" : "pve-node",
26992 "type" : "string",
26993 "typetext" : "<string>"
26994 },
26995 "timeout" : {
26996 "default" : 180,
26997 "description" : "Timeout in seconds for shutdown for restart migration",
26998 "optional" : 1,
26999 "type" : "integer",
27000 "typetext" : "<integer>"
27001 },
27002 "vmid" : {
27003 "description" : "The (unique) ID of the VM.",
27004 "format" : "pve-vmid",
27005 "minimum" : 1,
27006 "type" : "integer",
27007 "typetext" : "<integer> (1 - N)"
56122987
DM
27008 }
27009 }
27010 },
4d47f125
TL
27011 "permissions" : {
27012 "check" : [
27013 "perm",
27014 "/vms/{vmid}",
27015 [
27016 "VM.Migrate"
27017 ]
27018 ]
27019 },
27020 "protected" : 1,
27021 "proxyto" : "node",
27022 "returns" : {
27023 "description" : "the task ID.",
27024 "type" : "string"
27025 }
56122987 27026 }
4d47f125
TL
27027 },
27028 "leaf" : 1,
27029 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
27030 "text" : "migrate"
27031 },
27032 {
56122987
DM
27033 "info" : {
27034 "GET" : {
e9cd3bd4 27035 "allowtoken" : 1,
4d47f125 27036 "description" : "Check if feature for virtual machine is available.",
44660702 27037 "method" : "GET",
4d47f125 27038 "name" : "vm_feature",
56122987 27039 "parameters" : {
44660702 27040 "additionalProperties" : 0,
56122987 27041 "properties" : {
4d47f125
TL
27042 "feature" : {
27043 "description" : "Feature to check.",
27044 "enum" : [
27045 "snapshot",
27046 "clone",
27047 "copy"
27048 ],
27049 "type" : "string"
27050 },
56122987 27051 "node" : {
44660702 27052 "description" : "The cluster node name.",
56122987 27053 "format" : "pve-node",
013dc89f
DM
27054 "type" : "string",
27055 "typetext" : "<string>"
44660702 27056 },
4d47f125
TL
27057 "snapname" : {
27058 "description" : "The name of the snapshot.",
27059 "format" : "pve-configid",
27060 "maxLength" : 40,
27061 "optional" : 1,
27062 "type" : "string",
27063 "typetext" : "<string>"
27064 },
44660702
DM
27065 "vmid" : {
27066 "description" : "The (unique) ID of the VM.",
27067 "format" : "pve-vmid",
27068 "minimum" : 1,
4bd7df8b 27069 "type" : "integer",
013dc89f 27070 "typetext" : "<integer> (1 - N)"
56122987 27071 }
44660702
DM
27072 }
27073 },
27074 "permissions" : {
4d47f125
TL
27075 "check" : [
27076 "perm",
27077 "/vms/{vmid}",
27078 [
27079 "VM.Audit"
27080 ]
27081 ]
56122987 27082 },
4d47f125
TL
27083 "protected" : 1,
27084 "proxyto" : "node",
56122987 27085 "returns" : {
4d47f125
TL
27086 "properties" : {
27087 "hasFeature" : {
27088 "type" : "boolean"
27089 }
7aacca6f 27090 },
4d47f125
TL
27091 "type" : "object"
27092 }
27093 }
27094 },
27095 "leaf" : 1,
27096 "path" : "/nodes/{node}/lxc/{vmid}/feature",
27097 "text" : "feature"
27098 },
27099 {
27100 "info" : {
27101 "POST" : {
e9cd3bd4 27102 "allowtoken" : 1,
4d47f125
TL
27103 "description" : "Create a Template.",
27104 "method" : "POST",
27105 "name" : "template",
27106 "parameters" : {
27107 "additionalProperties" : 0,
27108 "properties" : {
27109 "node" : {
27110 "description" : "The cluster node name.",
27111 "format" : "pve-node",
27112 "type" : "string",
27113 "typetext" : "<string>"
27114 },
27115 "vmid" : {
27116 "description" : "The (unique) ID of the VM.",
27117 "format" : "pve-vmid",
27118 "minimum" : 1,
27119 "type" : "integer",
27120 "typetext" : "<integer> (1 - N)"
56122987 27121 }
4d47f125
TL
27122 }
27123 },
27124 "permissions" : {
27125 "check" : [
27126 "perm",
27127 "/vms/{vmid}",
27128 [
27129 "VM.Allocate"
27130 ]
44660702 27131 ],
4d47f125
TL
27132 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
27133 },
27134 "protected" : 1,
27135 "proxyto" : "node",
27136 "returns" : {
27137 "type" : "null"
56122987
DM
27138 }
27139 }
27140 },
4d47f125
TL
27141 "leaf" : 1,
27142 "path" : "/nodes/{node}/lxc/{vmid}/template",
27143 "text" : "template"
56122987
DM
27144 },
27145 {
56122987 27146 "info" : {
4d47f125 27147 "POST" : {
e9cd3bd4 27148 "allowtoken" : 1,
4d47f125
TL
27149 "description" : "Create a container clone/copy",
27150 "method" : "POST",
27151 "name" : "clone_vm",
56122987 27152 "parameters" : {
7aacca6f 27153 "additionalProperties" : 0,
56122987 27154 "properties" : {
95895385
TL
27155 "bwlimit" : {
27156 "default" : "clone limit from datacenter or storage config",
27157 "description" : "Override I/O bandwidth limit (in KiB/s).",
27158 "minimum" : "0",
27159 "optional" : 1,
27160 "type" : "number",
27161 "typetext" : "<number> (0 - N)"
27162 },
4d47f125
TL
27163 "description" : {
27164 "description" : "Description for the new CT.",
44660702 27165 "optional" : 1,
4d47f125
TL
27166 "type" : "string",
27167 "typetext" : "<string>"
44660702 27168 },
4d47f125
TL
27169 "full" : {
27170 "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.",
27171 "optional" : 1,
27172 "type" : "boolean",
27173 "typetext" : "<boolean>"
27174 },
27175 "hostname" : {
27176 "description" : "Set a hostname for the new CT.",
27177 "format" : "dns-name",
27178 "optional" : 1,
013dc89f
DM
27179 "type" : "string",
27180 "typetext" : "<string>"
44660702 27181 },
4d47f125
TL
27182 "newid" : {
27183 "description" : "VMID for the clone.",
27184 "format" : "pve-vmid",
27185 "minimum" : 1,
27186 "type" : "integer",
27187 "typetext" : "<integer> (1 - N)"
27188 },
7aacca6f
DM
27189 "node" : {
27190 "description" : "The cluster node name.",
44660702 27191 "format" : "pve-node",
013dc89f
DM
27192 "type" : "string",
27193 "typetext" : "<string>"
56122987 27194 },
4d47f125
TL
27195 "pool" : {
27196 "description" : "Add the new CT to the specified pool.",
27197 "format" : "pve-poolid",
27198 "optional" : 1,
27199 "type" : "string",
27200 "typetext" : "<string>"
27201 },
27202 "snapname" : {
27203 "description" : "The name of the snapshot.",
27204 "format" : "pve-configid",
27205 "maxLength" : 40,
27206 "optional" : 1,
27207 "type" : "string",
27208 "typetext" : "<string>"
27209 },
27210 "storage" : {
27211 "description" : "Target storage for full clone.",
27212 "format" : "pve-storage-id",
27213 "optional" : 1,
27214 "type" : "string",
27215 "typetext" : "<string>"
27216 },
27217 "target" : {
27218 "description" : "Target node. Only allowed if the original VM is on shared storage.",
27219 "format" : "pve-node",
27220 "optional" : 1,
27221 "type" : "string",
27222 "typetext" : "<string>"
27223 },
7aacca6f 27224 "vmid" : {
44660702 27225 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
27226 "format" : "pve-vmid",
27227 "minimum" : 1,
4bd7df8b 27228 "type" : "integer",
013dc89f 27229 "typetext" : "<integer> (1 - N)"
56122987 27230 }
7aacca6f
DM
27231 }
27232 },
27233 "permissions" : {
27234 "check" : [
4d47f125 27235 "and",
7aacca6f 27236 [
4d47f125
TL
27237 "perm",
27238 "/vms/{vmid}",
27239 [
27240 "VM.Clone"
27241 ]
27242 ],
27243 [
27244 "or",
27245 [
27246 "perm",
27247 "/vms/{newid}",
27248 [
27249 "VM.Allocate"
27250 ]
27251 ],
27252 [
27253 "perm",
27254 "/pool/{pool}",
27255 [
27256 "VM.Allocate"
27257 ],
27258 "require_param",
27259 "pool"
27260 ]
7aacca6f 27261 ]
4d47f125
TL
27262 ],
27263 "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 27264 },
44660702 27265 "protected" : 1,
4d47f125 27266 "proxyto" : "node",
7aacca6f 27267 "returns" : {
4d47f125 27268 "type" : "string"
7aacca6f 27269 }
56122987 27270 }
7aacca6f 27271 },
44660702 27272 "leaf" : 1,
4d47f125
TL
27273 "path" : "/nodes/{node}/lxc/{vmid}/clone",
27274 "text" : "clone"
56122987
DM
27275 },
27276 {
56122987 27277 "info" : {
4d47f125 27278 "PUT" : {
e9cd3bd4 27279 "allowtoken" : 1,
4d47f125
TL
27280 "description" : "Resize a container mount point.",
27281 "method" : "PUT",
27282 "name" : "resize_vm",
56122987 27283 "parameters" : {
7aacca6f 27284 "additionalProperties" : 0,
56122987 27285 "properties" : {
4d47f125
TL
27286 "digest" : {
27287 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27288 "maxLength" : 40,
27289 "optional" : 1,
27290 "type" : "string",
27291 "typetext" : "<string>"
27292 },
27293 "disk" : {
27294 "description" : "The disk you want to resize.",
44660702 27295 "enum" : [
4d47f125
TL
27296 "rootfs",
27297 "mp0",
27298 "mp1",
27299 "mp2",
27300 "mp3",
27301 "mp4",
27302 "mp5",
27303 "mp6",
27304 "mp7",
27305 "mp8",
27306 "mp9",
27307 "mp10",
27308 "mp11",
27309 "mp12",
27310 "mp13",
27311 "mp14",
27312 "mp15",
27313 "mp16",
27314 "mp17",
27315 "mp18",
27316 "mp19",
27317 "mp20",
27318 "mp21",
27319 "mp22",
27320 "mp23",
27321 "mp24",
27322 "mp25",
27323 "mp26",
27324 "mp27",
27325 "mp28",
27326 "mp29",
27327 "mp30",
27328 "mp31",
27329 "mp32",
27330 "mp33",
27331 "mp34",
27332 "mp35",
27333 "mp36",
27334 "mp37",
27335 "mp38",
27336 "mp39",
27337 "mp40",
27338 "mp41",
27339 "mp42",
27340 "mp43",
27341 "mp44",
27342 "mp45",
27343 "mp46",
27344 "mp47",
27345 "mp48",
27346 "mp49",
27347 "mp50",
27348 "mp51",
27349 "mp52",
27350 "mp53",
27351 "mp54",
27352 "mp55",
27353 "mp56",
27354 "mp57",
27355 "mp58",
27356 "mp59",
27357 "mp60",
27358 "mp61",
27359 "mp62",
27360 "mp63",
27361 "mp64",
27362 "mp65",
27363 "mp66",
27364 "mp67",
27365 "mp68",
27366 "mp69",
27367 "mp70",
27368 "mp71",
27369 "mp72",
27370 "mp73",
27371 "mp74",
27372 "mp75",
27373 "mp76",
27374 "mp77",
27375 "mp78",
27376 "mp79",
27377 "mp80",
27378 "mp81",
27379 "mp82",
27380 "mp83",
27381 "mp84",
27382 "mp85",
27383 "mp86",
27384 "mp87",
27385 "mp88",
27386 "mp89",
27387 "mp90",
27388 "mp91",
27389 "mp92",
27390 "mp93",
27391 "mp94",
27392 "mp95",
27393 "mp96",
27394 "mp97",
27395 "mp98",
27396 "mp99",
27397 "mp100",
27398 "mp101",
27399 "mp102",
27400 "mp103",
27401 "mp104",
27402 "mp105",
27403 "mp106",
27404 "mp107",
27405 "mp108",
27406 "mp109",
27407 "mp110",
27408 "mp111",
27409 "mp112",
27410 "mp113",
27411 "mp114",
27412 "mp115",
27413 "mp116",
27414 "mp117",
27415 "mp118",
27416 "mp119",
27417 "mp120",
27418 "mp121",
27419 "mp122",
27420 "mp123",
27421 "mp124",
27422 "mp125",
27423 "mp126",
27424 "mp127",
27425 "mp128",
27426 "mp129",
27427 "mp130",
27428 "mp131",
27429 "mp132",
27430 "mp133",
27431 "mp134",
27432 "mp135",
27433 "mp136",
27434 "mp137",
27435 "mp138",
27436 "mp139",
27437 "mp140",
27438 "mp141",
27439 "mp142",
27440 "mp143",
27441 "mp144",
27442 "mp145",
27443 "mp146",
27444 "mp147",
27445 "mp148",
27446 "mp149",
27447 "mp150",
27448 "mp151",
27449 "mp152",
27450 "mp153",
27451 "mp154",
27452 "mp155",
27453 "mp156",
27454 "mp157",
27455 "mp158",
27456 "mp159",
27457 "mp160",
27458 "mp161",
27459 "mp162",
27460 "mp163",
27461 "mp164",
27462 "mp165",
27463 "mp166",
27464 "mp167",
27465 "mp168",
27466 "mp169",
27467 "mp170",
27468 "mp171",
27469 "mp172",
27470 "mp173",
27471 "mp174",
27472 "mp175",
27473 "mp176",
27474 "mp177",
27475 "mp178",
27476 "mp179",
27477 "mp180",
27478 "mp181",
27479 "mp182",
27480 "mp183",
27481 "mp184",
27482 "mp185",
27483 "mp186",
27484 "mp187",
27485 "mp188",
27486 "mp189",
27487 "mp190",
27488 "mp191",
27489 "mp192",
27490 "mp193",
27491 "mp194",
27492 "mp195",
27493 "mp196",
27494 "mp197",
27495 "mp198",
27496 "mp199",
27497 "mp200",
27498 "mp201",
27499 "mp202",
27500 "mp203",
27501 "mp204",
27502 "mp205",
27503 "mp206",
27504 "mp207",
27505 "mp208",
27506 "mp209",
27507 "mp210",
27508 "mp211",
27509 "mp212",
27510 "mp213",
27511 "mp214",
27512 "mp215",
27513 "mp216",
27514 "mp217",
27515 "mp218",
27516 "mp219",
27517 "mp220",
27518 "mp221",
27519 "mp222",
27520 "mp223",
27521 "mp224",
27522 "mp225",
27523 "mp226",
27524 "mp227",
27525 "mp228",
27526 "mp229",
27527 "mp230",
27528 "mp231",
27529 "mp232",
27530 "mp233",
27531 "mp234",
27532 "mp235",
27533 "mp236",
27534 "mp237",
27535 "mp238",
27536 "mp239",
27537 "mp240",
27538 "mp241",
27539 "mp242",
27540 "mp243",
27541 "mp244",
27542 "mp245",
27543 "mp246",
27544 "mp247",
27545 "mp248",
27546 "mp249",
27547 "mp250",
27548 "mp251",
27549 "mp252",
27550 "mp253",
27551 "mp254",
27552 "mp255"
44660702 27553 ],
44660702
DM
27554 "type" : "string"
27555 },
7aacca6f 27556 "node" : {
44660702 27557 "description" : "The cluster node name.",
7aacca6f 27558 "format" : "pve-node",
013dc89f
DM
27559 "type" : "string",
27560 "typetext" : "<string>"
7aacca6f 27561 },
4d47f125
TL
27562 "size" : {
27563 "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.",
27564 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 27565 "type" : "string"
7aacca6f
DM
27566 },
27567 "vmid" : {
27568 "description" : "The (unique) ID of the VM.",
44660702 27569 "format" : "pve-vmid",
7aacca6f 27570 "minimum" : 1,
4bd7df8b 27571 "type" : "integer",
013dc89f 27572 "typetext" : "<integer> (1 - N)"
56122987 27573 }
56122987
DM
27574 }
27575 },
56122987
DM
27576 "permissions" : {
27577 "check" : [
27578 "perm",
27579 "/vms/{vmid}",
27580 [
4d47f125
TL
27581 "VM.Config.Disk"
27582 ],
27583 "any",
27584 1
56122987
DM
27585 ]
27586 },
7aacca6f 27587 "protected" : 1,
4d47f125 27588 "proxyto" : "node",
7aacca6f 27589 "returns" : {
4d47f125
TL
27590 "description" : "the task ID.",
27591 "type" : "string"
44660702 27592 }
56122987
DM
27593 }
27594 },
44660702 27595 "leaf" : 1,
4d47f125
TL
27596 "path" : "/nodes/{node}/lxc/{vmid}/resize",
27597 "text" : "resize"
56122987
DM
27598 },
27599 {
27600 "info" : {
27601 "POST" : {
e9cd3bd4 27602 "allowtoken" : 1,
4d47f125 27603 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 27604 "method" : "POST",
4d47f125 27605 "name" : "move_volume",
7aacca6f 27606 "parameters" : {
44660702 27607 "additionalProperties" : 0,
7aacca6f 27608 "properties" : {
95895385
TL
27609 "bwlimit" : {
27610 "default" : "clone limit from datacenter or storage config",
27611 "description" : "Override I/O bandwidth limit (in KiB/s).",
27612 "minimum" : "0",
27613 "optional" : 1,
27614 "type" : "number",
27615 "typetext" : "<number> (0 - N)"
27616 },
4d47f125
TL
27617 "delete" : {
27618 "default" : 0,
27619 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 27620 "optional" : 1,
4d47f125
TL
27621 "type" : "boolean",
27622 "typetext" : "<boolean>"
27623 },
27624 "digest" : {
27625 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27626 "maxLength" : 40,
27627 "optional" : 1,
27628 "type" : "string",
27629 "typetext" : "<string>"
5d9c884c 27630 },
44660702
DM
27631 "node" : {
27632 "description" : "The cluster node name.",
27633 "format" : "pve-node",
013dc89f
DM
27634 "type" : "string",
27635 "typetext" : "<string>"
44660702 27636 },
4d47f125
TL
27637 "storage" : {
27638 "description" : "Target Storage.",
27639 "format" : "pve-storage-id",
27640 "type" : "string",
27641 "typetext" : "<string>"
27642 },
7aacca6f 27643 "vmid" : {
44660702 27644 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
27645 "format" : "pve-vmid",
27646 "minimum" : 1,
4bd7df8b 27647 "type" : "integer",
013dc89f 27648 "typetext" : "<integer> (1 - N)"
7aacca6f 27649 },
4d47f125
TL
27650 "volume" : {
27651 "description" : "Volume which will be moved.",
27652 "enum" : [
27653 "rootfs",
27654 "mp0",
27655 "mp1",
27656 "mp2",
27657 "mp3",
27658 "mp4",
27659 "mp5",
27660 "mp6",
27661 "mp7",
27662 "mp8",
27663 "mp9",
27664 "mp10",
27665 "mp11",
27666 "mp12",
27667 "mp13",
27668 "mp14",
27669 "mp15",
27670 "mp16",
27671 "mp17",
27672 "mp18",
27673 "mp19",
27674 "mp20",
27675 "mp21",
27676 "mp22",
27677 "mp23",
27678 "mp24",
27679 "mp25",
27680 "mp26",
27681 "mp27",
27682 "mp28",
27683 "mp29",
27684 "mp30",
27685 "mp31",
27686 "mp32",
27687 "mp33",
27688 "mp34",
27689 "mp35",
27690 "mp36",
27691 "mp37",
27692 "mp38",
27693 "mp39",
27694 "mp40",
27695 "mp41",
27696 "mp42",
27697 "mp43",
27698 "mp44",
27699 "mp45",
27700 "mp46",
27701 "mp47",
27702 "mp48",
27703 "mp49",
27704 "mp50",
27705 "mp51",
27706 "mp52",
27707 "mp53",
27708 "mp54",
27709 "mp55",
27710 "mp56",
27711 "mp57",
27712 "mp58",
27713 "mp59",
27714 "mp60",
27715 "mp61",
27716 "mp62",
27717 "mp63",
27718 "mp64",
27719 "mp65",
27720 "mp66",
27721 "mp67",
27722 "mp68",
27723 "mp69",
27724 "mp70",
27725 "mp71",
27726 "mp72",
27727 "mp73",
27728 "mp74",
27729 "mp75",
27730 "mp76",
27731 "mp77",
27732 "mp78",
27733 "mp79",
27734 "mp80",
27735 "mp81",
27736 "mp82",
27737 "mp83",
27738 "mp84",
27739 "mp85",
27740 "mp86",
27741 "mp87",
27742 "mp88",
27743 "mp89",
27744 "mp90",
27745 "mp91",
27746 "mp92",
27747 "mp93",
27748 "mp94",
27749 "mp95",
27750 "mp96",
27751 "mp97",
27752 "mp98",
27753 "mp99",
27754 "mp100",
27755 "mp101",
27756 "mp102",
27757 "mp103",
27758 "mp104",
27759 "mp105",
27760 "mp106",
27761 "mp107",
27762 "mp108",
27763 "mp109",
27764 "mp110",
27765 "mp111",
27766 "mp112",
27767 "mp113",
27768 "mp114",
27769 "mp115",
27770 "mp116",
27771 "mp117",
27772 "mp118",
27773 "mp119",
27774 "mp120",
27775 "mp121",
27776 "mp122",
27777 "mp123",
27778 "mp124",
27779 "mp125",
27780 "mp126",
27781 "mp127",
27782 "mp128",
27783 "mp129",
27784 "mp130",
27785 "mp131",
27786 "mp132",
27787 "mp133",
27788 "mp134",
27789 "mp135",
27790 "mp136",
27791 "mp137",
27792 "mp138",
27793 "mp139",
27794 "mp140",
27795 "mp141",
27796 "mp142",
27797 "mp143",
27798 "mp144",
27799 "mp145",
27800 "mp146",
27801 "mp147",
27802 "mp148",
27803 "mp149",
27804 "mp150",
27805 "mp151",
27806 "mp152",
27807 "mp153",
27808 "mp154",
27809 "mp155",
27810 "mp156",
27811 "mp157",
27812 "mp158",
27813 "mp159",
27814 "mp160",
27815 "mp161",
27816 "mp162",
27817 "mp163",
27818 "mp164",
27819 "mp165",
27820 "mp166",
27821 "mp167",
27822 "mp168",
27823 "mp169",
27824 "mp170",
27825 "mp171",
27826 "mp172",
27827 "mp173",
27828 "mp174",
27829 "mp175",
27830 "mp176",
27831 "mp177",
27832 "mp178",
27833 "mp179",
27834 "mp180",
27835 "mp181",
27836 "mp182",
27837 "mp183",
27838 "mp184",
27839 "mp185",
27840 "mp186",
27841 "mp187",
27842 "mp188",
27843 "mp189",
27844 "mp190",
27845 "mp191",
27846 "mp192",
27847 "mp193",
27848 "mp194",
27849 "mp195",
27850 "mp196",
27851 "mp197",
27852 "mp198",
27853 "mp199",
27854 "mp200",
27855 "mp201",
27856 "mp202",
27857 "mp203",
27858 "mp204",
27859 "mp205",
27860 "mp206",
27861 "mp207",
27862 "mp208",
27863 "mp209",
27864 "mp210",
27865 "mp211",
27866 "mp212",
27867 "mp213",
27868 "mp214",
27869 "mp215",
27870 "mp216",
27871 "mp217",
27872 "mp218",
27873 "mp219",
27874 "mp220",
27875 "mp221",
27876 "mp222",
27877 "mp223",
27878 "mp224",
27879 "mp225",
27880 "mp226",
27881 "mp227",
27882 "mp228",
27883 "mp229",
27884 "mp230",
27885 "mp231",
27886 "mp232",
27887 "mp233",
27888 "mp234",
27889 "mp235",
27890 "mp236",
27891 "mp237",
27892 "mp238",
27893 "mp239",
27894 "mp240",
27895 "mp241",
27896 "mp242",
27897 "mp243",
27898 "mp244",
27899 "mp245",
27900 "mp246",
27901 "mp247",
27902 "mp248",
27903 "mp249",
27904 "mp250",
27905 "mp251",
27906 "mp252",
27907 "mp253",
27908 "mp254",
27909 "mp255"
27910 ],
27911 "type" : "string"
7aacca6f 27912 }
44660702 27913 }
7aacca6f 27914 },
56122987
DM
27915 "permissions" : {
27916 "check" : [
4d47f125 27917 "and",
56122987 27918 [
4d47f125
TL
27919 "perm",
27920 "/vms/{vmid}",
27921 [
27922 "VM.Config.Disk"
27923 ]
27924 ],
27925 [
27926 "perm",
27927 "/storage/{storage}",
27928 [
27929 "Datastore.AllocateSpace"
27930 ]
56122987 27931 ]
4d47f125
TL
27932 ],
27933 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
27934 },
27935 "protected" : 1,
27936 "proxyto" : "node",
27937 "returns" : {
27938 "type" : "string"
27939 }
27940 }
27941 },
27942 "leaf" : 1,
27943 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
27944 "text" : "move_volume"
1c532546
TL
27945 },
27946 {
27947 "info" : {
27948 "GET" : {
e9cd3bd4 27949 "allowtoken" : 1,
1c532546
TL
27950 "description" : "Get container configuration, including pending changes.",
27951 "method" : "GET",
27952 "name" : "vm_pending",
27953 "parameters" : {
27954 "additionalProperties" : 0,
27955 "properties" : {
27956 "node" : {
27957 "description" : "The cluster node name.",
27958 "format" : "pve-node",
27959 "type" : "string",
27960 "typetext" : "<string>"
27961 },
27962 "vmid" : {
27963 "description" : "The (unique) ID of the VM.",
27964 "format" : "pve-vmid",
27965 "minimum" : 1,
27966 "type" : "integer",
27967 "typetext" : "<integer> (1 - N)"
27968 }
27969 }
27970 },
27971 "permissions" : {
27972 "check" : [
27973 "perm",
27974 "/vms/{vmid}",
27975 [
27976 "VM.Audit"
27977 ]
27978 ]
27979 },
27980 "proxyto" : "node",
27981 "returns" : {
27982 "items" : {
27983 "properties" : {
27984 "delete" : {
27985 "description" : "Indicates a pending delete request if present and not 0.",
27986 "maximum" : 2,
27987 "minimum" : 0,
27988 "optional" : 1,
27989 "type" : "integer"
27990 },
27991 "key" : {
27992 "description" : "Configuration option name.",
27993 "type" : "string"
27994 },
27995 "pending" : {
27996 "description" : "Pending value.",
27997 "optional" : 1,
27998 "type" : "string"
27999 },
28000 "value" : {
28001 "description" : "Current value.",
28002 "optional" : 1,
28003 "type" : "string"
28004 }
28005 },
28006 "type" : "object"
28007 },
28008 "type" : "array"
28009 }
28010 }
28011 },
28012 "leaf" : 1,
28013 "path" : "/nodes/{node}/lxc/{vmid}/pending",
28014 "text" : "pending"
4d47f125
TL
28015 }
28016 ],
28017 "info" : {
28018 "DELETE" : {
e9cd3bd4 28019 "allowtoken" : 1,
4d47f125
TL
28020 "description" : "Destroy the container (also delete all uses files).",
28021 "method" : "DELETE",
28022 "name" : "destroy_vm",
28023 "parameters" : {
28024 "additionalProperties" : 0,
28025 "properties" : {
c5aa7e14
TL
28026 "force" : {
28027 "default" : 0,
28028 "description" : "Force destroy, even if running.",
28029 "optional" : 1,
28030 "type" : "boolean",
28031 "typetext" : "<boolean>"
28032 },
4d47f125
TL
28033 "node" : {
28034 "description" : "The cluster node name.",
28035 "format" : "pve-node",
28036 "type" : "string",
28037 "typetext" : "<string>"
28038 },
1c532546 28039 "purge" : {
c5aa7e14
TL
28040 "default" : 0,
28041 "description" : "Remove container from all related configurations. For example, backup jobs, replication jobs or HA. Related ACLs and Firewall entries will *always* be removed.",
1c532546
TL
28042 "optional" : 1,
28043 "type" : "boolean",
28044 "typetext" : "<boolean>"
28045 },
4d47f125
TL
28046 "vmid" : {
28047 "description" : "The (unique) ID of the VM.",
28048 "format" : "pve-vmid",
28049 "minimum" : 1,
28050 "type" : "integer",
28051 "typetext" : "<integer> (1 - N)"
28052 }
28053 }
28054 },
28055 "permissions" : {
28056 "check" : [
28057 "perm",
28058 "/vms/{vmid}",
28059 [
28060 "VM.Allocate"
28061 ]
28062 ]
28063 },
28064 "protected" : 1,
28065 "proxyto" : "node",
28066 "returns" : {
28067 "type" : "string"
28068 }
28069 },
28070 "GET" : {
e9cd3bd4 28071 "allowtoken" : 1,
4d47f125
TL
28072 "description" : "Directory index",
28073 "method" : "GET",
28074 "name" : "vmdiridx",
28075 "parameters" : {
28076 "additionalProperties" : 0,
28077 "properties" : {
28078 "node" : {
28079 "description" : "The cluster node name.",
28080 "format" : "pve-node",
28081 "type" : "string",
28082 "typetext" : "<string>"
56122987 28083 },
4d47f125
TL
28084 "vmid" : {
28085 "description" : "The (unique) ID of the VM.",
28086 "format" : "pve-vmid",
28087 "minimum" : 1,
28088 "type" : "integer",
28089 "typetext" : "<integer> (1 - N)"
56122987
DM
28090 }
28091 }
28092 },
4d47f125
TL
28093 "permissions" : {
28094 "user" : "all"
28095 },
28096 "proxyto" : "node",
28097 "returns" : {
28098 "items" : {
28099 "properties" : {
28100 "subdir" : {
28101 "type" : "string"
35a75dd3
DM
28102 }
28103 },
4d47f125
TL
28104 "type" : "object"
28105 },
28106 "links" : [
28107 {
28108 "href" : "{subdir}",
28109 "rel" : "child"
35a75dd3 28110 }
4d47f125
TL
28111 ],
28112 "type" : "array"
28113 }
28114 }
28115 },
28116 "leaf" : 0,
28117 "path" : "/nodes/{node}/lxc/{vmid}",
28118 "text" : "{vmid}"
28119 }
28120 ],
28121 "info" : {
28122 "GET" : {
e9cd3bd4 28123 "allowtoken" : 1,
4d47f125
TL
28124 "description" : "LXC container index (per node).",
28125 "method" : "GET",
28126 "name" : "vmlist",
28127 "parameters" : {
28128 "additionalProperties" : 0,
28129 "properties" : {
28130 "node" : {
28131 "description" : "The cluster node name.",
28132 "format" : "pve-node",
28133 "type" : "string",
28134 "typetext" : "<string>"
28135 }
28136 }
28137 },
28138 "permissions" : {
28139 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
28140 "user" : "all"
28141 },
28142 "protected" : 1,
28143 "proxyto" : "node",
28144 "returns" : {
28145 "items" : {
28146 "properties" : {
28147 "cpus" : {
28148 "description" : "Maximum usable CPUs.",
28149 "optional" : 1,
28150 "type" : "number"
28151 },
95895385
TL
28152 "lock" : {
28153 "description" : "The current config lock, if any.",
28154 "optional" : 1,
28155 "type" : "string"
28156 },
4d47f125
TL
28157 "maxdisk" : {
28158 "description" : "Root disk size in bytes.",
28159 "optional" : 1,
28160 "renderer" : "bytes",
28161 "type" : "integer"
28162 },
28163 "maxmem" : {
28164 "description" : "Maximum memory in bytes.",
28165 "optional" : 1,
28166 "renderer" : "bytes",
28167 "type" : "integer"
28168 },
28169 "maxswap" : {
28170 "description" : "Maximum SWAP memory in bytes.",
28171 "optional" : 1,
28172 "renderer" : "bytes",
28173 "type" : "integer"
28174 },
28175 "name" : {
28176 "description" : "Container name.",
28177 "optional" : 1,
28178 "type" : "string"
28179 },
28180 "status" : {
28181 "description" : "LXC Container status.",
28182 "enum" : [
28183 "stopped",
28184 "running"
28185 ],
28186 "type" : "string"
28187 },
5c1699e5
TL
28188 "tags" : {
28189 "description" : "The current configured tags, if any.",
28190 "optional" : 1,
28191 "type" : "string"
28192 },
4d47f125
TL
28193 "uptime" : {
28194 "description" : "Uptime.",
28195 "optional" : 1,
28196 "renderer" : "duration",
28197 "type" : "integer"
28198 },
28199 "vmid" : {
28200 "description" : "The (unique) ID of the VM.",
28201 "format" : "pve-vmid",
28202 "minimum" : 1,
28203 "type" : "integer"
35a75dd3
DM
28204 }
28205 },
4d47f125 28206 "type" : "object"
35a75dd3 28207 },
4d47f125
TL
28208 "links" : [
28209 {
28210 "href" : "{vmid}",
28211 "rel" : "child"
28212 }
28213 ],
28214 "type" : "array"
28215 }
28216 },
28217 "POST" : {
e9cd3bd4 28218 "allowtoken" : 1,
4d47f125
TL
28219 "description" : "Create or restore a container.",
28220 "method" : "POST",
28221 "name" : "create_vm",
28222 "parameters" : {
28223 "additionalProperties" : 0,
28224 "properties" : {
28225 "arch" : {
28226 "default" : "amd64",
28227 "description" : "OS architecture type.",
28228 "enum" : [
28229 "amd64",
28230 "i386",
28231 "arm64",
28232 "armhf"
28233 ],
28234 "optional" : 1,
28235 "type" : "string"
28236 },
28237 "bwlimit" : {
95895385
TL
28238 "default" : "restore limit from datacenter or storage config",
28239 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
28240 "minimum" : "0",
28241 "optional" : 1,
28242 "type" : "number",
28243 "typetext" : "<number> (0 - N)"
28244 },
28245 "cmode" : {
28246 "default" : "tty",
28247 "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).",
28248 "enum" : [
28249 "shell",
28250 "console",
28251 "tty"
28252 ],
28253 "optional" : 1,
28254 "type" : "string"
28255 },
28256 "console" : {
28257 "default" : 1,
28258 "description" : "Attach a console device (/dev/console) to the container.",
28259 "optional" : 1,
28260 "type" : "boolean",
28261 "typetext" : "<boolean>"
28262 },
28263 "cores" : {
28264 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 28265 "maximum" : 8192,
4d47f125
TL
28266 "minimum" : 1,
28267 "optional" : 1,
28268 "type" : "integer",
4772952b 28269 "typetext" : "<integer> (1 - 8192)"
4d47f125
TL
28270 },
28271 "cpulimit" : {
28272 "default" : 0,
28273 "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.",
4772952b 28274 "maximum" : 8192,
4d47f125
TL
28275 "minimum" : 0,
28276 "optional" : 1,
28277 "type" : "number",
4772952b 28278 "typetext" : "<number> (0 - 8192)"
4d47f125
TL
28279 },
28280 "cpuunits" : {
28281 "default" : 1024,
28282 "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.",
28283 "maximum" : 500000,
28284 "minimum" : 0,
28285 "optional" : 1,
28286 "type" : "integer",
28287 "typetext" : "<integer> (0 - 500000)"
28288 },
739d4d64
TL
28289 "debug" : {
28290 "default" : 0,
28291 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
28292 "optional" : 1,
28293 "type" : "boolean",
28294 "typetext" : "<boolean>"
28295 },
4d47f125
TL
28296 "description" : {
28297 "description" : "Container description. Only used on the configuration web interface.",
28298 "optional" : 1,
28299 "type" : "string",
28300 "typetext" : "<string>"
28301 },
28302 "features" : {
28303 "description" : "Allow containers access to advanced features.",
28304 "format" : {
c5aa7e14
TL
28305 "force_rw_sys" : {
28306 "default" : 0,
28307 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
28308 "optional" : 1,
28309 "type" : "boolean"
28310 },
e2d681b3
TL
28311 "fuse" : {
28312 "default" : 0,
28313 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
28314 "optional" : 1,
28315 "type" : "boolean"
28316 },
4d47f125
TL
28317 "keyctl" : {
28318 "default" : 0,
28319 "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.",
28320 "optional" : 1,
28321 "type" : "boolean"
7aacca6f 28322 },
c5aa7e14
TL
28323 "mknod" : {
28324 "default" : 0,
28325 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
28326 "optional" : 1,
28327 "type" : "boolean"
28328 },
4d47f125
TL
28329 "mount" : {
28330 "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.",
28331 "format_description" : "fstype;fstype;...",
28332 "optional" : 1,
95895385 28333 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 28334 "type" : "string"
56122987 28335 },
4d47f125
TL
28336 "nesting" : {
28337 "default" : 0,
28338 "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.",
28339 "optional" : 1,
28340 "type" : "boolean"
44660702 28341 }
4d47f125
TL
28342 },
28343 "optional" : 1,
28344 "type" : "string",
c5aa7e14 28345 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 28346 },
4d47f125
TL
28347 "force" : {
28348 "description" : "Allow to overwrite existing container.",
28349 "optional" : 1,
28350 "type" : "boolean",
28351 "typetext" : "<boolean>"
28352 },
5f26e15b
TL
28353 "hookscript" : {
28354 "description" : "Script that will be exectued during various steps in the containers lifetime.",
28355 "format" : "pve-volume-id",
28356 "optional" : 1,
28357 "type" : "string",
28358 "typetext" : "<string>"
28359 },
4d47f125
TL
28360 "hostname" : {
28361 "description" : "Set a host name for the container.",
28362 "format" : "dns-name",
28363 "maxLength" : 255,
28364 "optional" : 1,
28365 "type" : "string",
28366 "typetext" : "<string>"
28367 },
28368 "ignore-unpack-errors" : {
28369 "description" : "Ignore errors when extracting the template.",
28370 "optional" : 1,
28371 "type" : "boolean",
28372 "typetext" : "<boolean>"
28373 },
28374 "lock" : {
28375 "description" : "Lock/unlock the VM.",
28376 "enum" : [
28377 "backup",
bb4c8cf8 28378 "create",
1c532546 28379 "destroyed",
4d47f125 28380 "disk",
bb4c8cf8 28381 "fstrim",
4d47f125
TL
28382 "migrate",
28383 "mounted",
28384 "rollback",
28385 "snapshot",
28386 "snapshot-delete"
28387 ],
28388 "optional" : 1,
28389 "type" : "string"
28390 },
28391 "memory" : {
28392 "default" : 512,
28393 "description" : "Amount of RAM for the VM in MB.",
28394 "minimum" : 16,
28395 "optional" : 1,
28396 "type" : "integer",
28397 "typetext" : "<integer> (16 - N)"
28398 },
28399 "mp[n]" : {
28400 "description" : "Use volume as container mount point.",
28401 "format" : {
28402 "acl" : {
28403 "description" : "Explicitly enable or disable ACL support.",
28404 "optional" : 1,
28405 "type" : "boolean"
56122987 28406 },
4d47f125
TL
28407 "backup" : {
28408 "description" : "Whether to include the mount point in backups.",
28409 "optional" : 1,
28410 "type" : "boolean",
28411 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 28412 },
7cbed89a
TL
28413 "mountoptions" : {
28414 "description" : "Extra mount options for rootfs/mps.",
28415 "format_description" : "opt[;opt...]",
28416 "optional" : 1,
28417 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
28418 "type" : "string"
28419 },
4d47f125
TL
28420 "mp" : {
28421 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
28422 "format" : "pve-lxc-mp-string",
28423 "format_description" : "Path",
28424 "type" : "string",
28425 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 28426 },
4d47f125
TL
28427 "quota" : {
28428 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
28429 "optional" : 1,
28430 "type" : "boolean"
28431 },
28432 "replicate" : {
28433 "default" : 1,
28434 "description" : "Will include this volume to a storage replica job.",
28435 "optional" : 1,
28436 "type" : "boolean"
28437 },
28438 "ro" : {
28439 "description" : "Read-only mount point",
28440 "optional" : 1,
28441 "type" : "boolean"
28442 },
28443 "shared" : {
28444 "default" : 0,
28445 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
28446 "optional" : 1,
28447 "type" : "boolean",
28448 "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 28449 },
4d47f125
TL
28450 "size" : {
28451 "description" : "Volume size (read only value).",
28452 "format" : "disk-size",
28453 "format_description" : "DiskSize",
28454 "optional" : 1,
28455 "type" : "string"
28456 },
28457 "volume" : {
28458 "default_key" : 1,
28459 "description" : "Volume, device or directory to mount into the container.",
28460 "format" : "pve-lxc-mp-string",
28461 "format_description" : "volume",
44660702
DM
28462 "type" : "string"
28463 }
4d47f125
TL
28464 },
28465 "optional" : 1,
28466 "type" : "string",
7cbed89a 28467 "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 28468 },
4d47f125
TL
28469 "nameserver" : {
28470 "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.",
28471 "format" : "address-list",
28472 "optional" : 1,
28473 "type" : "string",
28474 "typetext" : "<string>"
28475 },
28476 "net[n]" : {
28477 "description" : "Specifies network interfaces for the container.",
28478 "format" : {
28479 "bridge" : {
28480 "description" : "Bridge to attach the network device to.",
28481 "format_description" : "bridge",
28482 "optional" : 1,
28483 "pattern" : "[-_.\\w\\d]+",
28484 "type" : "string"
56122987 28485 },
4d47f125
TL
28486 "firewall" : {
28487 "description" : "Controls whether this interface's firewall rules should be used.",
28488 "optional" : 1,
28489 "type" : "boolean"
56122987 28490 },
4d47f125
TL
28491 "gw" : {
28492 "description" : "Default gateway for IPv4 traffic.",
28493 "format" : "ipv4",
28494 "format_description" : "GatewayIPv4",
28495 "optional" : 1,
28496 "type" : "string"
28497 },
28498 "gw6" : {
28499 "description" : "Default gateway for IPv6 traffic.",
28500 "format" : "ipv6",
28501 "format_description" : "GatewayIPv6",
28502 "optional" : 1,
28503 "type" : "string"
28504 },
28505 "hwaddr" : {
28506 "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 28507 "format" : "mac-addr",
4d47f125
TL
28508 "format_description" : "XX:XX:XX:XX:XX:XX",
28509 "optional" : 1,
95895385
TL
28510 "type" : "string",
28511 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
28512 },
28513 "ip" : {
28514 "description" : "IPv4 address in CIDR format.",
28515 "format" : "pve-ipv4-config",
28516 "format_description" : "(IPv4/CIDR|dhcp|manual)",
28517 "optional" : 1,
28518 "type" : "string"
28519 },
28520 "ip6" : {
28521 "description" : "IPv6 address in CIDR format.",
28522 "format" : "pve-ipv6-config",
28523 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
28524 "optional" : 1,
28525 "type" : "string"
28526 },
28527 "mtu" : {
28528 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
28529 "minimum" : 64,
28530 "optional" : 1,
28531 "type" : "integer"
28532 },
28533 "name" : {
28534 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
28535 "format_description" : "string",
28536 "pattern" : "[-_.\\w\\d]+",
28537 "type" : "string"
28538 },
28539 "rate" : {
28540 "description" : "Apply rate limiting to the interface",
28541 "format_description" : "mbps",
28542 "optional" : 1,
28543 "type" : "number"
28544 },
28545 "tag" : {
28546 "description" : "VLAN tag for this interface.",
28547 "maximum" : 4094,
28548 "minimum" : 1,
28549 "optional" : 1,
28550 "type" : "integer"
28551 },
28552 "trunks" : {
28553 "description" : "VLAN ids to pass through the interface",
28554 "format_description" : "vlanid[;vlanid...]",
28555 "optional" : 1,
28556 "pattern" : "(?^:\\d+(?:;\\d+)*)",
28557 "type" : "string"
28558 },
28559 "type" : {
28560 "description" : "Network interface type.",
28561 "enum" : [
28562 "veth"
28563 ],
28564 "optional" : 1,
28565 "type" : "string"
7aacca6f 28566 }
4d47f125
TL
28567 },
28568 "optional" : 1,
28569 "type" : "string",
28570 "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 28571 },
4d47f125
TL
28572 "node" : {
28573 "description" : "The cluster node name.",
28574 "format" : "pve-node",
28575 "type" : "string",
28576 "typetext" : "<string>"
28577 },
28578 "onboot" : {
28579 "default" : 0,
28580 "description" : "Specifies whether a VM will be started during system bootup.",
28581 "optional" : 1,
28582 "type" : "boolean",
28583 "typetext" : "<boolean>"
28584 },
28585 "ostemplate" : {
28586 "description" : "The OS template or backup file.",
28587 "maxLength" : 255,
28588 "type" : "string",
28589 "typetext" : "<string>"
28590 },
28591 "ostype" : {
28592 "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.",
28593 "enum" : [
28594 "debian",
28595 "ubuntu",
28596 "centos",
28597 "fedora",
28598 "opensuse",
28599 "archlinux",
28600 "alpine",
28601 "gentoo",
28602 "unmanaged"
28603 ],
28604 "optional" : 1,
28605 "type" : "string"
28606 },
28607 "password" : {
28608 "description" : "Sets root password inside container.",
28609 "minLength" : 5,
28610 "optional" : 1,
28611 "type" : "string",
28612 "typetext" : "<string>"
28613 },
28614 "pool" : {
28615 "description" : "Add the VM to the specified pool.",
28616 "format" : "pve-poolid",
28617 "optional" : 1,
28618 "type" : "string",
28619 "typetext" : "<string>"
28620 },
28621 "protection" : {
28622 "default" : 0,
28623 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
28624 "optional" : 1,
28625 "type" : "boolean",
28626 "typetext" : "<boolean>"
28627 },
28628 "restore" : {
28629 "description" : "Mark this as restore task.",
28630 "optional" : 1,
28631 "type" : "boolean",
28632 "typetext" : "<boolean>"
28633 },
28634 "rootfs" : {
28635 "description" : "Use volume as container root.",
28636 "format" : {
28637 "acl" : {
28638 "description" : "Explicitly enable or disable ACL support.",
28639 "optional" : 1,
28640 "type" : "boolean"
56122987 28641 },
7cbed89a
TL
28642 "mountoptions" : {
28643 "description" : "Extra mount options for rootfs/mps.",
28644 "format_description" : "opt[;opt...]",
28645 "optional" : 1,
28646 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
28647 "type" : "string"
28648 },
4d47f125
TL
28649 "quota" : {
28650 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
28651 "optional" : 1,
28652 "type" : "boolean"
7aacca6f 28653 },
4d47f125
TL
28654 "replicate" : {
28655 "default" : 1,
28656 "description" : "Will include this volume to a storage replica job.",
28657 "optional" : 1,
28658 "type" : "boolean"
28659 },
28660 "ro" : {
28661 "description" : "Read-only mount point",
28662 "optional" : 1,
28663 "type" : "boolean"
28664 },
28665 "shared" : {
28666 "default" : 0,
28667 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
28668 "optional" : 1,
28669 "type" : "boolean",
28670 "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!"
28671 },
28672 "size" : {
28673 "description" : "Volume size (read only value).",
28674 "format" : "disk-size",
28675 "format_description" : "DiskSize",
28676 "optional" : 1,
28677 "type" : "string"
28678 },
28679 "volume" : {
28680 "default_key" : 1,
28681 "description" : "Volume, device or directory to mount into the container.",
28682 "format" : "pve-lxc-mp-string",
28683 "format_description" : "volume",
28684 "type" : "string"
56122987 28685 }
4d47f125
TL
28686 },
28687 "optional" : 1,
28688 "type" : "string",
7cbed89a 28689 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 28690 },
4d47f125
TL
28691 "searchdomain" : {
28692 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
28693 "format" : "dns-name-list",
28694 "optional" : 1,
28695 "type" : "string",
28696 "typetext" : "<string>"
28697 },
28698 "ssh-public-keys" : {
28699 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
28700 "optional" : 1,
28701 "type" : "string",
28702 "typetext" : "<string>"
28703 },
28704 "start" : {
28705 "default" : 0,
28706 "description" : "Start the CT after its creation finished successfully.",
28707 "optional" : 1,
28708 "type" : "boolean",
28709 "typetext" : "<boolean>"
28710 },
28711 "startup" : {
28712 "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.",
28713 "format" : "pve-startup-order",
28714 "optional" : 1,
28715 "type" : "string",
28716 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
28717 },
28718 "storage" : {
28719 "default" : "local",
28720 "description" : "Default Storage.",
28721 "format" : "pve-storage-id",
28722 "optional" : 1,
28723 "type" : "string",
28724 "typetext" : "<string>"
28725 },
28726 "swap" : {
28727 "default" : 512,
28728 "description" : "Amount of SWAP for the VM in MB.",
28729 "minimum" : 0,
28730 "optional" : 1,
28731 "type" : "integer",
28732 "typetext" : "<integer> (0 - N)"
28733 },
5c1699e5
TL
28734 "tags" : {
28735 "description" : "Tags of the Container. This is only meta information.",
28736 "format" : "pve-tag-list",
28737 "optional" : 1,
28738 "type" : "string",
28739 "typetext" : "<string>"
28740 },
4d47f125
TL
28741 "template" : {
28742 "default" : 0,
28743 "description" : "Enable/disable Template.",
28744 "optional" : 1,
28745 "type" : "boolean",
28746 "typetext" : "<boolean>"
28747 },
04d22a9f
TL
28748 "timezone" : {
28749 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
28750 "format" : "pve-ct-timezone",
28751 "optional" : 1,
28752 "type" : "string",
28753 "typetext" : "<string>"
28754 },
4d47f125
TL
28755 "tty" : {
28756 "default" : 2,
28757 "description" : "Specify the number of tty available to the container",
28758 "maximum" : 6,
28759 "minimum" : 0,
28760 "optional" : 1,
28761 "type" : "integer",
28762 "typetext" : "<integer> (0 - 6)"
28763 },
95895385
TL
28764 "unique" : {
28765 "description" : "Assign a unique random ethernet address.",
28766 "optional" : 1,
28767 "requires" : "restore",
28768 "type" : "boolean",
28769 "typetext" : "<boolean>"
28770 },
4d47f125
TL
28771 "unprivileged" : {
28772 "default" : 0,
28773 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
28774 "optional" : 1,
28775 "type" : "boolean",
28776 "typetext" : "<boolean>"
28777 },
28778 "unused[n]" : {
28779 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
28780 "format" : {
28781 "volume" : {
28782 "default_key" : 1,
28783 "description" : "The volume that is not used currently.",
28784 "format" : "pve-volume-id",
28785 "format_description" : "volume",
28786 "type" : "string"
28787 }
28788 },
4d47f125
TL
28789 "optional" : 1,
28790 "type" : "string",
c5aa7e14 28791 "typetext" : "[volume=]<volume>"
4d47f125
TL
28792 },
28793 "vmid" : {
28794 "description" : "The (unique) ID of the VM.",
28795 "format" : "pve-vmid",
28796 "minimum" : 1,
28797 "type" : "integer",
28798 "typetext" : "<integer> (1 - N)"
28799 }
28800 }
28801 },
28802 "permissions" : {
28803 "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.",
28804 "user" : "all"
28805 },
28806 "protected" : 1,
28807 "proxyto" : "node",
28808 "returns" : {
28809 "type" : "string"
28810 }
28811 }
28812 },
28813 "leaf" : 0,
28814 "path" : "/nodes/{node}/lxc",
28815 "text" : "lxc"
28816 },
28817 {
28818 "children" : [
28819 {
28820 "children" : [
56122987 28821 {
4d47f125
TL
28822 "children" : [
28823 {
28824 "info" : {
28825 "POST" : {
e9cd3bd4 28826 "allowtoken" : 1,
4d47f125
TL
28827 "description" : "ceph osd in",
28828 "method" : "POST",
28829 "name" : "in",
28830 "parameters" : {
28831 "additionalProperties" : 0,
28832 "properties" : {
28833 "node" : {
28834 "description" : "The cluster node name.",
28835 "format" : "pve-node",
28836 "type" : "string",
28837 "typetext" : "<string>"
28838 },
28839 "osdid" : {
28840 "description" : "OSD ID",
28841 "type" : "integer",
28842 "typetext" : "<integer>"
28843 }
28844 }
27a7acb2 28845 },
4d47f125
TL
28846 "permissions" : {
28847 "check" : [
28848 "perm",
28849 "/",
28850 [
28851 "Sys.Modify"
28852 ]
28853 ]
44660702 28854 },
4d47f125
TL
28855 "protected" : 1,
28856 "proxyto" : "node",
28857 "returns" : {
28858 "type" : "null"
7aacca6f
DM
28859 }
28860 }
56122987 28861 },
4d47f125
TL
28862 "leaf" : 1,
28863 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
28864 "text" : "in"
28865 },
28866 {
28867 "info" : {
28868 "POST" : {
e9cd3bd4 28869 "allowtoken" : 1,
4d47f125
TL
28870 "description" : "ceph osd out",
28871 "method" : "POST",
28872 "name" : "out",
28873 "parameters" : {
28874 "additionalProperties" : 0,
28875 "properties" : {
28876 "node" : {
28877 "description" : "The cluster node name.",
28878 "format" : "pve-node",
28879 "type" : "string",
28880 "typetext" : "<string>"
28881 },
28882 "osdid" : {
28883 "description" : "OSD ID",
28884 "type" : "integer",
28885 "typetext" : "<integer>"
28886 }
28887 }
28888 },
28889 "permissions" : {
28890 "check" : [
56122987 28891 "perm",
4d47f125 28892 "/",
56122987 28893 [
4d47f125 28894 "Sys.Modify"
56122987 28895 ]
56122987 28896 ]
44660702 28897 },
4d47f125
TL
28898 "protected" : 1,
28899 "proxyto" : "node",
28900 "returns" : {
28901 "type" : "null"
56122987 28902 }
44660702 28903 }
56122987 28904 },
4d47f125
TL
28905 "leaf" : 1,
28906 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
28907 "text" : "out"
7cbed89a
TL
28908 },
28909 {
28910 "info" : {
28911 "POST" : {
e9cd3bd4 28912 "allowtoken" : 1,
7cbed89a
TL
28913 "description" : "Instruct the OSD to scrub.",
28914 "method" : "POST",
28915 "name" : "scrub",
28916 "parameters" : {
28917 "additionalProperties" : 0,
28918 "properties" : {
28919 "deep" : {
28920 "default" : 0,
28921 "description" : "If set, instructs a deep scrub instead of a normal one.",
28922 "optional" : 1,
28923 "type" : "boolean",
28924 "typetext" : "<boolean>"
28925 },
28926 "node" : {
28927 "description" : "The cluster node name.",
28928 "format" : "pve-node",
28929 "type" : "string",
28930 "typetext" : "<string>"
28931 },
28932 "osdid" : {
28933 "description" : "OSD ID",
28934 "type" : "integer",
28935 "typetext" : "<integer>"
28936 }
28937 }
28938 },
28939 "permissions" : {
28940 "check" : [
28941 "perm",
28942 "/",
28943 [
28944 "Sys.Modify"
28945 ]
28946 ]
28947 },
28948 "protected" : 1,
28949 "proxyto" : "node",
28950 "returns" : {
28951 "type" : "null"
28952 }
28953 }
28954 },
28955 "leaf" : 1,
28956 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
28957 "text" : "scrub"
56122987 28958 }
4d47f125 28959 ],
27a7acb2 28960 "info" : {
4d47f125 28961 "DELETE" : {
e9cd3bd4 28962 "allowtoken" : 1,
4d47f125
TL
28963 "description" : "Destroy OSD",
28964 "method" : "DELETE",
28965 "name" : "destroyosd",
27a7acb2
DM
28966 "parameters" : {
28967 "additionalProperties" : 0,
28968 "properties" : {
4d47f125 28969 "cleanup" : {
27a7acb2 28970 "default" : 0,
4d47f125 28971 "description" : "If set, we remove partition table entries.",
27a7acb2 28972 "optional" : 1,
4d47f125
TL
28973 "type" : "boolean",
28974 "typetext" : "<boolean>"
28975 },
28976 "node" : {
28977 "description" : "The cluster node name.",
28978 "format" : "pve-node",
28979 "type" : "string",
28980 "typetext" : "<string>"
28981 },
28982 "osdid" : {
28983 "description" : "OSD ID",
28984 "type" : "integer",
28985 "typetext" : "<integer>"
28986 }
28987 }
27a7acb2
DM
28988 },
28989 "protected" : 1,
28990 "proxyto" : "node",
28991 "returns" : {
28992 "type" : "string"
28993 }
28994 }
28995 },
4d47f125
TL
28996 "leaf" : 0,
28997 "path" : "/nodes/{node}/ceph/osd/{osdid}",
28998 "text" : "{osdid}"
56122987
DM
28999 }
29000 ],
29001 "info" : {
4d47f125 29002 "GET" : {
e9cd3bd4 29003 "allowtoken" : 1,
4d47f125
TL
29004 "description" : "Get Ceph osd list/tree.",
29005 "method" : "GET",
29006 "name" : "index",
44660702
DM
29007 "parameters" : {
29008 "additionalProperties" : 0,
29009 "properties" : {
29010 "node" : {
29011 "description" : "The cluster node name.",
29012 "format" : "pve-node",
013dc89f
DM
29013 "type" : "string",
29014 "typetext" : "<string>"
44660702
DM
29015 }
29016 }
29017 },
7aacca6f
DM
29018 "permissions" : {
29019 "check" : [
29020 "perm",
4d47f125 29021 "/",
7aacca6f 29022 [
4d47f125
TL
29023 "Sys.Audit",
29024 "Datastore.Audit"
29025 ],
29026 "any",
29027 1
29028 ]
29029 },
29030 "protected" : 1,
29031 "proxyto" : "node",
29032 "returns" : {
29033 "type" : "object"
29034 }
29035 },
29036 "POST" : {
e9cd3bd4 29037 "allowtoken" : 1,
4d47f125
TL
29038 "description" : "Create OSD",
29039 "method" : "POST",
29040 "name" : "createosd",
29041 "parameters" : {
29042 "additionalProperties" : 0,
29043 "properties" : {
739d4d64
TL
29044 "crush-device-class" : {
29045 "description" : "Set the device class of the OSD in crush.",
29046 "optional" : 1,
29047 "type" : "string",
29048 "typetext" : "<string>"
29049 },
1e3f8156
TL
29050 "db_dev" : {
29051 "description" : "Block device name for block.db.",
44660702 29052 "optional" : 1,
4bd7df8b 29053 "type" : "string",
4d47f125 29054 "typetext" : "<string>"
44660702 29055 },
1e3f8156
TL
29056 "db_size" : {
29057 "default" : "bluestore_block_db_size or 10% of OSD size",
29058 "description" : "Size in GiB for block.db.",
29059 "minimum" : 1,
7aacca6f 29060 "optional" : 1,
1e3f8156
TL
29061 "requires" : "db_dev",
29062 "type" : "number",
29063 "typetext" : "<number> (1 - N)",
29064 "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 29065 },
1e3f8156
TL
29066 "dev" : {
29067 "description" : "Block device name.",
4d47f125
TL
29068 "type" : "string",
29069 "typetext" : "<string>"
5d9c884c 29070 },
1e3f8156
TL
29071 "encrypted" : {
29072 "default" : 0,
29073 "description" : "Enables encryption of the OSD.",
29074 "optional" : 1,
29075 "type" : "boolean",
29076 "typetext" : "<boolean>"
29077 },
4d47f125
TL
29078 "node" : {
29079 "description" : "The cluster node name.",
29080 "format" : "pve-node",
29081 "type" : "string",
29082 "typetext" : "<string>"
7aacca6f 29083 },
4d47f125 29084 "wal_dev" : {
1e3f8156 29085 "description" : "Block device name for block.wal.",
de0983cb 29086 "optional" : 1,
4d47f125
TL
29087 "type" : "string",
29088 "typetext" : "<string>"
1e3f8156
TL
29089 },
29090 "wal_size" : {
29091 "default" : "bluestore_block_wal_size or 1% of OSD size",
29092 "description" : "Size in GiB for block.wal.",
29093 "minimum" : 0.5,
29094 "optional" : 1,
29095 "requires" : "wal_dev",
29096 "type" : "number",
29097 "typetext" : "<number> (0.5 - N)",
29098 "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
29099 }
29100 }
29101 },
29102 "protected" : 1,
29103 "proxyto" : "node",
29104 "returns" : {
29105 "type" : "string"
29106 }
29107 }
29108 },
29109 "leaf" : 0,
29110 "path" : "/nodes/{node}/ceph/osd",
29111 "text" : "osd"
29112 },
e2d681b3
TL
29113 {
29114 "children" : [
29115 {
29116 "info" : {
29117 "DELETE" : {
e9cd3bd4 29118 "allowtoken" : 1,
e2d681b3
TL
29119 "description" : "Destroy Ceph Metadata Server",
29120 "method" : "DELETE",
29121 "name" : "destroymds",
29122 "parameters" : {
29123 "additionalProperties" : 0,
29124 "properties" : {
29125 "name" : {
29126 "description" : "The name (ID) of the mds",
29127 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29128 "type" : "string"
29129 },
29130 "node" : {
29131 "description" : "The cluster node name.",
29132 "format" : "pve-node",
29133 "type" : "string",
29134 "typetext" : "<string>"
29135 }
29136 }
29137 },
29138 "permissions" : {
29139 "check" : [
29140 "perm",
29141 "/",
29142 [
29143 "Sys.Modify"
29144 ]
29145 ]
29146 },
29147 "protected" : 1,
29148 "proxyto" : "node",
29149 "returns" : {
29150 "type" : "string"
29151 }
29152 },
29153 "POST" : {
e9cd3bd4 29154 "allowtoken" : 1,
e2d681b3
TL
29155 "description" : "Create Ceph Metadata Server (MDS)",
29156 "method" : "POST",
29157 "name" : "createmds",
29158 "parameters" : {
29159 "additionalProperties" : 0,
29160 "properties" : {
29161 "hotstandby" : {
29162 "default" : "0",
29163 "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.",
29164 "optional" : 1,
29165 "type" : "boolean",
29166 "typetext" : "<boolean>"
29167 },
29168 "name" : {
29169 "default" : "nodename",
29170 "description" : "The ID for the mds, when omitted the same as the nodename",
c5aa7e14 29171 "maxLength" : 200,
e2d681b3
TL
29172 "optional" : 1,
29173 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29174 "type" : "string"
29175 },
29176 "node" : {
29177 "description" : "The cluster node name.",
29178 "format" : "pve-node",
29179 "type" : "string",
29180 "typetext" : "<string>"
29181 }
29182 }
29183 },
29184 "permissions" : {
29185 "check" : [
29186 "perm",
29187 "/",
29188 [
29189 "Sys.Modify"
29190 ]
29191 ]
29192 },
29193 "protected" : 1,
29194 "proxyto" : "node",
29195 "returns" : {
29196 "type" : "string"
29197 }
29198 }
29199 },
29200 "leaf" : 1,
29201 "path" : "/nodes/{node}/ceph/mds/{name}",
29202 "text" : "{name}"
29203 }
29204 ],
29205 "info" : {
29206 "GET" : {
e9cd3bd4 29207 "allowtoken" : 1,
e2d681b3
TL
29208 "description" : "MDS directory index.",
29209 "method" : "GET",
29210 "name" : "index",
29211 "parameters" : {
29212 "additionalProperties" : 0,
29213 "properties" : {
29214 "node" : {
29215 "description" : "The cluster node name.",
29216 "format" : "pve-node",
29217 "type" : "string",
29218 "typetext" : "<string>"
29219 }
29220 }
29221 },
29222 "permissions" : {
29223 "check" : [
29224 "perm",
29225 "/",
29226 [
29227 "Sys.Audit",
29228 "Datastore.Audit"
29229 ],
29230 "any",
29231 1
29232 ]
29233 },
29234 "protected" : 1,
29235 "proxyto" : "node",
29236 "returns" : {
29237 "items" : {
29238 "properties" : {
29239 "addr" : {
29240 "optional" : 1,
29241 "type" : "string"
29242 },
29243 "host" : {
29244 "optional" : 1,
29245 "type" : "string"
29246 },
29247 "name" : {
29248 "description" : "The name (ID) for the MDS"
29249 },
29250 "rank" : {
29251 "optional" : 1,
29252 "type" : "integer"
29253 },
29254 "standby_replay" : {
29255 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
29256 "optional" : 1,
29257 "type" : "boolean"
29258 },
29259 "state" : {
29260 "description" : "State of the MDS",
29261 "type" : "string"
29262 }
29263 },
29264 "type" : "object"
29265 },
29266 "links" : [
29267 {
29268 "href" : "{name}",
29269 "rel" : "child"
29270 }
29271 ],
29272 "type" : "array"
29273 }
29274 }
29275 },
29276 "leaf" : 0,
29277 "path" : "/nodes/{node}/ceph/mds",
29278 "text" : "mds"
29279 },
29280 {
29281 "children" : [
29282 {
29283 "info" : {
5f26e15b 29284 "DELETE" : {
e9cd3bd4 29285 "allowtoken" : 1,
5f26e15b
TL
29286 "description" : "Destroy Ceph Manager.",
29287 "method" : "DELETE",
29288 "name" : "destroymgr",
e2d681b3
TL
29289 "parameters" : {
29290 "additionalProperties" : 0,
29291 "properties" : {
5f26e15b
TL
29292 "id" : {
29293 "description" : "The ID of the manager",
29294 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29295 "type" : "string"
e2d681b3
TL
29296 },
29297 "node" : {
29298 "description" : "The cluster node name.",
29299 "format" : "pve-node",
29300 "type" : "string",
29301 "typetext" : "<string>"
e2d681b3
TL
29302 }
29303 }
29304 },
29305 "permissions" : {
29306 "check" : [
29307 "perm",
29308 "/",
29309 [
29310 "Sys.Modify"
29311 ]
29312 ]
29313 },
29314 "protected" : 1,
29315 "proxyto" : "node",
29316 "returns" : {
29317 "type" : "string"
29318 }
1e3f8156
TL
29319 },
29320 "POST" : {
e9cd3bd4 29321 "allowtoken" : 1,
1e3f8156
TL
29322 "description" : "Create Ceph Manager",
29323 "method" : "POST",
29324 "name" : "createmgr",
29325 "parameters" : {
29326 "additionalProperties" : 0,
29327 "properties" : {
29328 "id" : {
29329 "description" : "The ID for the manager, when omitted the same as the nodename",
c5aa7e14 29330 "maxLength" : 200,
1e3f8156
TL
29331 "optional" : 1,
29332 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29333 "type" : "string"
29334 },
29335 "node" : {
29336 "description" : "The cluster node name.",
29337 "format" : "pve-node",
29338 "type" : "string",
29339 "typetext" : "<string>"
29340 }
29341 }
29342 },
29343 "permissions" : {
29344 "check" : [
29345 "perm",
29346 "/",
29347 [
29348 "Sys.Modify"
29349 ]
29350 ]
29351 },
29352 "protected" : 1,
29353 "proxyto" : "node",
29354 "returns" : {
29355 "type" : "string"
29356 }
e2d681b3
TL
29357 }
29358 },
29359 "leaf" : 1,
5f26e15b
TL
29360 "path" : "/nodes/{node}/ceph/mgr/{id}",
29361 "text" : "{id}"
e2d681b3
TL
29362 }
29363 ],
29364 "info" : {
1e3f8156 29365 "GET" : {
e9cd3bd4 29366 "allowtoken" : 1,
1e3f8156
TL
29367 "description" : "MGR directory index.",
29368 "method" : "GET",
29369 "name" : "index",
e2d681b3
TL
29370 "parameters" : {
29371 "additionalProperties" : 0,
29372 "properties" : {
29373 "node" : {
29374 "description" : "The cluster node name.",
29375 "format" : "pve-node",
29376 "type" : "string",
29377 "typetext" : "<string>"
29378 }
29379 }
29380 },
29381 "permissions" : {
29382 "check" : [
29383 "perm",
29384 "/",
29385 [
1e3f8156
TL
29386 "Sys.Audit",
29387 "Datastore.Audit"
29388 ],
29389 "any",
29390 1
e2d681b3
TL
29391 ]
29392 },
29393 "protected" : 1,
5f26e15b 29394 "proxyto" : "node",
e2d681b3 29395 "returns" : {
1e3f8156
TL
29396 "items" : {
29397 "properties" : {
29398 "addr" : {
29399 "optional" : 1,
29400 "type" : "string"
29401 },
29402 "host" : {
29403 "optional" : 1,
29404 "type" : "string"
29405 },
29406 "name" : {
29407 "description" : "The name (ID) for the MGR"
29408 },
29409 "state" : {
29410 "description" : "State of the MGR",
29411 "type" : "string"
29412 }
29413 },
29414 "type" : "object"
29415 },
29416 "links" : [
29417 {
29418 "href" : "{name}",
29419 "rel" : "child"
29420 }
29421 ],
29422 "type" : "array"
e2d681b3
TL
29423 }
29424 }
29425 },
29426 "leaf" : 0,
5f26e15b
TL
29427 "path" : "/nodes/{node}/ceph/mgr",
29428 "text" : "mgr"
e2d681b3 29429 },
4d47f125 29430 {
5f26e15b
TL
29431 "children" : [
29432 {
29433 "info" : {
29434 "DELETE" : {
e9cd3bd4 29435 "allowtoken" : 1,
5f26e15b
TL
29436 "description" : "Destroy Ceph Monitor and Manager.",
29437 "method" : "DELETE",
29438 "name" : "destroymon",
29439 "parameters" : {
29440 "additionalProperties" : 0,
29441 "properties" : {
1e3f8156
TL
29442 "monid" : {
29443 "description" : "Monitor ID",
29444 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29445 "type" : "string"
29446 },
29447 "node" : {
29448 "description" : "The cluster node name.",
29449 "format" : "pve-node",
29450 "type" : "string",
29451 "typetext" : "<string>"
29452 }
29453 }
29454 },
29455 "permissions" : {
29456 "check" : [
29457 "perm",
29458 "/",
29459 [
29460 "Sys.Modify"
29461 ]
29462 ]
29463 },
29464 "protected" : 1,
29465 "proxyto" : "node",
29466 "returns" : {
29467 "type" : "string"
29468 }
29469 },
29470 "POST" : {
e9cd3bd4 29471 "allowtoken" : 1,
1e3f8156
TL
29472 "description" : "Create Ceph Monitor and Manager",
29473 "method" : "POST",
29474 "name" : "createmon",
29475 "parameters" : {
29476 "additionalProperties" : 0,
29477 "properties" : {
29478 "mon-address" : {
29479 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
29480 "format" : "ip",
5f26e15b 29481 "optional" : 1,
1e3f8156
TL
29482 "type" : "string",
29483 "typetext" : "<string>"
5f26e15b
TL
29484 },
29485 "monid" : {
1e3f8156 29486 "description" : "The ID for the monitor, when omitted the same as the nodename",
c5aa7e14 29487 "maxLength" : 200,
1e3f8156 29488 "optional" : 1,
5f26e15b
TL
29489 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
29490 "type" : "string"
29491 },
29492 "node" : {
29493 "description" : "The cluster node name.",
29494 "format" : "pve-node",
29495 "type" : "string",
29496 "typetext" : "<string>"
29497 }
29498 }
29499 },
29500 "permissions" : {
29501 "check" : [
29502 "perm",
29503 "/",
29504 [
29505 "Sys.Modify"
29506 ]
29507 ]
29508 },
29509 "protected" : 1,
29510 "proxyto" : "node",
29511 "returns" : {
7aacca6f 29512 "type" : "string"
56122987 29513 }
4d47f125 29514 }
56122987 29515 },
5f26e15b
TL
29516 "leaf" : 1,
29517 "path" : "/nodes/{node}/ceph/mon/{monid}",
29518 "text" : "{monid}"
29519 }
29520 ],
29521 "info" : {
29522 "GET" : {
e9cd3bd4 29523 "allowtoken" : 1,
5f26e15b
TL
29524 "description" : "Get Ceph monitor list.",
29525 "method" : "GET",
29526 "name" : "listmon",
29527 "parameters" : {
29528 "additionalProperties" : 0,
29529 "properties" : {
29530 "node" : {
29531 "description" : "The cluster node name.",
29532 "format" : "pve-node",
29533 "type" : "string",
29534 "typetext" : "<string>"
29535 }
29536 }
29537 },
4d47f125
TL
29538 "permissions" : {
29539 "check" : [
29540 "perm",
29541 "/",
29542 [
29543 "Sys.Audit",
29544 "Datastore.Audit"
29545 ],
29546 "any",
29547 1
29548 ]
56122987 29549 },
4d47f125
TL
29550 "protected" : 1,
29551 "proxyto" : "node",
29552 "returns" : {
29553 "items" : {
29554 "properties" : {
5f26e15b 29555 "addr" : {
1e3f8156
TL
29556 "optional" : 1,
29557 "type" : "string"
29558 },
29559 "host" : {
29560 "optional" : 1,
4d47f125
TL
29561 "type" : "string"
29562 },
5f26e15b 29563 "name" : {
4d47f125
TL
29564 "type" : "string"
29565 }
7aacca6f 29566 },
4d47f125
TL
29567 "type" : "object"
29568 },
5f26e15b
TL
29569 "links" : [
29570 {
29571 "href" : "{name}",
29572 "rel" : "child"
29573 }
29574 ],
4d47f125
TL
29575 "type" : "array"
29576 }
4d47f125
TL
29577 }
29578 },
5f26e15b
TL
29579 "leaf" : 0,
29580 "path" : "/nodes/{node}/ceph/mon",
29581 "text" : "mon"
4d47f125
TL
29582 },
29583 {
29584 "children" : [
29585 {
29586 "info" : {
5f26e15b 29587 "POST" : {
e9cd3bd4 29588 "allowtoken" : 1,
5f26e15b
TL
29589 "description" : "Create a Ceph filesystem",
29590 "method" : "POST",
29591 "name" : "createfs",
4d47f125
TL
29592 "parameters" : {
29593 "additionalProperties" : 0,
29594 "properties" : {
5f26e15b 29595 "add-storage" : {
4d47f125 29596 "default" : 0,
5f26e15b 29597 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
29598 "optional" : 1,
29599 "type" : "boolean",
29600 "typetext" : "<boolean>"
29601 },
5f26e15b
TL
29602 "name" : {
29603 "default" : "cephfs",
29604 "description" : "The ceph filesystem name.",
29605 "optional" : 1,
29606 "type" : "string",
29607 "typetext" : "<string>"
4d47f125
TL
29608 },
29609 "node" : {
29610 "description" : "The cluster node name.",
29611 "format" : "pve-node",
29612 "type" : "string",
29613 "typetext" : "<string>"
5f26e15b
TL
29614 },
29615 "pg_num" : {
29616 "default" : 128,
29617 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
29618 "maximum" : 32768,
29619 "minimum" : 8,
29620 "optional" : 1,
29621 "type" : "integer",
29622 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
29623 }
29624 }
7aacca6f 29625 },
4d47f125
TL
29626 "permissions" : {
29627 "check" : [
29628 "perm",
29629 "/",
29630 [
29631 "Sys.Modify"
29632 ]
29633 ]
7aacca6f 29634 },
4d47f125
TL
29635 "protected" : 1,
29636 "proxyto" : "node",
29637 "returns" : {
44660702 29638 "type" : "string"
4d47f125
TL
29639 }
29640 }
29641 },
29642 "leaf" : 1,
5f26e15b
TL
29643 "path" : "/nodes/{node}/ceph/fs/{name}",
29644 "text" : "{name}"
4d47f125
TL
29645 }
29646 ],
29647 "info" : {
29648 "GET" : {
e9cd3bd4 29649 "allowtoken" : 1,
5f26e15b 29650 "description" : "Directory index.",
4d47f125 29651 "method" : "GET",
5f26e15b 29652 "name" : "index",
4d47f125
TL
29653 "parameters" : {
29654 "additionalProperties" : 0,
29655 "properties" : {
29656 "node" : {
29657 "description" : "The cluster node name.",
29658 "format" : "pve-node",
29659 "type" : "string",
29660 "typetext" : "<string>"
29661 }
29662 }
29663 },
29664 "permissions" : {
29665 "check" : [
29666 "perm",
29667 "/",
29668 [
29669 "Sys.Audit",
29670 "Datastore.Audit"
29671 ],
29672 "any",
29673 1
29674 ]
29675 },
29676 "protected" : 1,
95895385 29677 "proxyto" : "node",
4d47f125
TL
29678 "returns" : {
29679 "items" : {
29680 "properties" : {
5f26e15b
TL
29681 "data_pool" : {
29682 "description" : "The name of the data pool.",
29683 "type" : "string"
29684 },
29685 "metadata_pool" : {
29686 "description" : "The name of the metadata pool.",
4d47f125
TL
29687 "type" : "string"
29688 },
29689 "name" : {
5f26e15b 29690 "description" : "The ceph filesystem name.",
4d47f125
TL
29691 "type" : "string"
29692 }
7aacca6f 29693 },
4d47f125
TL
29694 "type" : "object"
29695 },
29696 "links" : [
29697 {
29698 "href" : "{name}",
29699 "rel" : "child"
29700 }
29701 ],
29702 "type" : "array"
29703 }
5f26e15b
TL
29704 }
29705 },
29706 "leaf" : 0,
29707 "path" : "/nodes/{node}/ceph/fs",
29708 "text" : "fs"
29709 },
29710 {
29711 "info" : {
29712 "GET" : {
e9cd3bd4 29713 "allowtoken" : 1,
5f26e15b
TL
29714 "description" : "List local disks.",
29715 "method" : "GET",
29716 "name" : "disks",
4d47f125
TL
29717 "parameters" : {
29718 "additionalProperties" : 0,
29719 "properties" : {
5f26e15b
TL
29720 "node" : {
29721 "description" : "The cluster node name.",
29722 "format" : "pve-node",
29723 "type" : "string",
29724 "typetext" : "<string>"
44660702 29725 },
5f26e15b
TL
29726 "type" : {
29727 "description" : "Only list specific types of disks.",
29728 "enum" : [
29729 "unused",
29730 "journal_disks"
29731 ],
44660702 29732 "optional" : 1,
44660702 29733 "type" : "string"
5f26e15b
TL
29734 }
29735 }
29736 },
29737 "permissions" : {
29738 "check" : [
29739 "perm",
29740 "/",
29741 [
29742 "Sys.Audit",
29743 "Datastore.Audit"
29744 ],
29745 "any",
29746 1
29747 ]
29748 },
29749 "protected" : 1,
29750 "proxyto" : "node",
29751 "returns" : {
29752 "items" : {
29753 "properties" : {
29754 "dev" : {
29755 "type" : "string"
29756 },
29757 "gpt" : {
29758 "type" : "boolean"
29759 },
29760 "model" : {
29761 "optional" : 1,
29762 "type" : "string"
29763 },
29764 "osdid" : {
29765 "type" : "integer"
29766 },
29767 "serial" : {
29768 "optional" : 1,
29769 "type" : "string"
29770 },
29771 "size" : {
29772 "type" : "integer"
29773 },
29774 "used" : {
29775 "optional" : 1,
29776 "type" : "string"
29777 },
29778 "vendor" : {
29779 "optional" : 1,
29780 "type" : "string"
29781 }
44660702 29782 },
5f26e15b
TL
29783 "type" : "object"
29784 },
29785 "type" : "array"
29786 }
29787 }
29788 },
29789 "leaf" : 1,
29790 "path" : "/nodes/{node}/ceph/disks",
29791 "text" : "disks"
29792 },
29793 {
29794 "info" : {
29795 "GET" : {
e9cd3bd4 29796 "allowtoken" : 1,
5f26e15b
TL
29797 "description" : "Get Ceph configuration.",
29798 "method" : "GET",
29799 "name" : "config",
29800 "parameters" : {
29801 "additionalProperties" : 0,
29802 "properties" : {
4d47f125
TL
29803 "node" : {
29804 "description" : "The cluster node name.",
29805 "format" : "pve-node",
29806 "type" : "string",
29807 "typetext" : "<string>"
7aacca6f 29808 }
4d47f125 29809 }
44660702 29810 },
4d47f125
TL
29811 "permissions" : {
29812 "check" : [
29813 "perm",
29814 "/",
29815 [
5f26e15b
TL
29816 "Sys.Audit",
29817 "Datastore.Audit"
29818 ],
29819 "any",
29820 1
4d47f125 29821 ]
56122987 29822 },
95895385 29823 "proxyto" : "node",
4d47f125 29824 "returns" : {
7aacca6f 29825 "type" : "string"
4d47f125
TL
29826 }
29827 }
29828 },
5f26e15b
TL
29829 "leaf" : 1,
29830 "path" : "/nodes/{node}/ceph/config",
29831 "text" : "config"
4d47f125 29832 },
7cbed89a
TL
29833 {
29834 "info" : {
29835 "GET" : {
e9cd3bd4 29836 "allowtoken" : 1,
7cbed89a
TL
29837 "description" : "Get Ceph configuration database.",
29838 "method" : "GET",
29839 "name" : "configdb",
29840 "parameters" : {
29841 "additionalProperties" : 0,
29842 "properties" : {
29843 "node" : {
29844 "description" : "The cluster node name.",
29845 "format" : "pve-node",
29846 "type" : "string",
29847 "typetext" : "<string>"
29848 }
29849 }
29850 },
29851 "permissions" : {
29852 "check" : [
29853 "perm",
29854 "/",
29855 [
29856 "Sys.Audit",
29857 "Datastore.Audit"
29858 ],
29859 "any",
29860 1
29861 ]
29862 },
29863 "protected" : 1,
29864 "proxyto" : "node",
29865 "returns" : {
29866 "items" : {
29867 "properties" : {
29868 "can_update_at_runtime" : {
29869 "type" : "boolean"
29870 },
29871 "level" : {
29872 "type" : "string"
29873 },
29874 "mask" : {
29875 "type" : "string"
29876 },
29877 "name" : {
29878 "type" : "string"
29879 },
29880 "section" : {
29881 "type" : "string"
29882 },
29883 "value" : {
29884 "type" : "string"
29885 }
29886 },
29887 "type" : "object"
29888 },
29889 "type" : "array"
29890 }
29891 }
29892 },
29893 "leaf" : 1,
29894 "path" : "/nodes/{node}/ceph/configdb",
29895 "text" : "configdb"
29896 },
4d47f125
TL
29897 {
29898 "info" : {
29899 "POST" : {
e9cd3bd4 29900 "allowtoken" : 1,
4d47f125
TL
29901 "description" : "Create initial ceph default configuration and setup symlinks.",
29902 "method" : "POST",
29903 "name" : "init",
29904 "parameters" : {
29905 "additionalProperties" : 0,
29906 "properties" : {
e2d681b3
TL
29907 "cluster-network" : {
29908 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
29909 "format" : "CIDR",
29910 "maxLength" : 128,
29911 "optional" : 1,
29912 "requires" : "network",
29913 "type" : "string",
29914 "typetext" : "<string>"
29915 },
4d47f125
TL
29916 "disable_cephx" : {
29917 "default" : 0,
1e3f8156 29918 "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 29919 "optional" : 1,
4d47f125
TL
29920 "type" : "boolean",
29921 "typetext" : "<boolean>"
56122987 29922 },
4d47f125
TL
29923 "min_size" : {
29924 "default" : 2,
29925 "description" : "Minimum number of available replicas per object to allow I/O",
29926 "maximum" : 7,
29927 "minimum" : 1,
7aacca6f 29928 "optional" : 1,
4d47f125
TL
29929 "type" : "integer",
29930 "typetext" : "<integer> (1 - 7)"
7aacca6f 29931 },
4d47f125
TL
29932 "network" : {
29933 "description" : "Use specific network for all ceph related traffic",
29934 "format" : "CIDR",
29935 "maxLength" : 128,
5d9c884c 29936 "optional" : 1,
4d47f125
TL
29937 "type" : "string",
29938 "typetext" : "<string>"
5d9c884c 29939 },
4d47f125
TL
29940 "node" : {
29941 "description" : "The cluster node name.",
29942 "format" : "pve-node",
29943 "type" : "string",
29944 "typetext" : "<string>"
7aacca6f 29945 },
4d47f125
TL
29946 "pg_bits" : {
29947 "default" : 6,
29948 "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.",
29949 "maximum" : 14,
29950 "minimum" : 6,
de0983cb 29951 "optional" : 1,
4d47f125
TL
29952 "type" : "integer",
29953 "typetext" : "<integer> (6 - 14)"
de0983cb 29954 },
44660702 29955 "size" : {
4d47f125
TL
29956 "default" : 3,
29957 "description" : "Targeted number of replicas per object",
29958 "maximum" : 7,
29959 "minimum" : 1,
7aacca6f 29960 "optional" : 1,
4d47f125
TL
29961 "type" : "integer",
29962 "typetext" : "<integer> (1 - 7)"
56122987 29963 }
4d47f125 29964 }
44660702 29965 },
4d47f125
TL
29966 "permissions" : {
29967 "check" : [
29968 "perm",
29969 "/",
29970 [
29971 "Sys.Modify"
29972 ]
29973 ]
5da3d723 29974 },
4d47f125
TL
29975 "protected" : 1,
29976 "proxyto" : "node",
29977 "returns" : {
29978 "type" : "null"
29979 }
29980 }
29981 },
29982 "leaf" : 1,
29983 "path" : "/nodes/{node}/ceph/init",
29984 "text" : "init"
29985 },
4d47f125
TL
29986 {
29987 "info" : {
29988 "POST" : {
e9cd3bd4 29989 "allowtoken" : 1,
4d47f125
TL
29990 "description" : "Stop ceph services.",
29991 "method" : "POST",
29992 "name" : "stop",
29993 "parameters" : {
29994 "additionalProperties" : 0,
29995 "properties" : {
29996 "node" : {
29997 "description" : "The cluster node name.",
29998 "format" : "pve-node",
29999 "type" : "string",
30000 "typetext" : "<string>"
30001 },
30002 "service" : {
e2d681b3 30003 "default" : "ceph.target",
4d47f125
TL
30004 "description" : "Ceph service name.",
30005 "optional" : 1,
c5aa7e14 30006 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
30007 "type" : "string"
30008 }
30009 }
7aacca6f 30010 },
4d47f125
TL
30011 "permissions" : {
30012 "check" : [
30013 "perm",
30014 "/",
30015 [
30016 "Sys.Modify"
30017 ]
30018 ]
7aacca6f 30019 },
4d47f125
TL
30020 "protected" : 1,
30021 "proxyto" : "node",
30022 "returns" : {
30023 "type" : "string"
30024 }
30025 }
30026 },
30027 "leaf" : 1,
30028 "path" : "/nodes/{node}/ceph/stop",
30029 "text" : "stop"
30030 },
30031 {
30032 "info" : {
30033 "POST" : {
e9cd3bd4 30034 "allowtoken" : 1,
4d47f125
TL
30035 "description" : "Start ceph services.",
30036 "method" : "POST",
30037 "name" : "start",
30038 "parameters" : {
30039 "additionalProperties" : 0,
30040 "properties" : {
30041 "node" : {
30042 "description" : "The cluster node name.",
30043 "format" : "pve-node",
30044 "type" : "string",
30045 "typetext" : "<string>"
30046 },
30047 "service" : {
e2d681b3 30048 "default" : "ceph.target",
4d47f125
TL
30049 "description" : "Ceph service name.",
30050 "optional" : 1,
c5aa7e14 30051 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
30052 "type" : "string"
30053 }
30054 }
44660702 30055 },
4d47f125
TL
30056 "permissions" : {
30057 "check" : [
30058 "perm",
30059 "/",
30060 [
30061 "Sys.Modify"
30062 ]
30063 ]
44660702 30064 },
4d47f125
TL
30065 "protected" : 1,
30066 "proxyto" : "node",
30067 "returns" : {
30068 "type" : "string"
44660702 30069 }
7aacca6f
DM
30070 }
30071 },
4d47f125
TL
30072 "leaf" : 1,
30073 "path" : "/nodes/{node}/ceph/start",
30074 "text" : "start"
30075 },
e2d681b3
TL
30076 {
30077 "info" : {
30078 "POST" : {
e9cd3bd4 30079 "allowtoken" : 1,
e2d681b3
TL
30080 "description" : "Restart ceph services.",
30081 "method" : "POST",
30082 "name" : "restart",
30083 "parameters" : {
30084 "additionalProperties" : 0,
30085 "properties" : {
30086 "node" : {
30087 "description" : "The cluster node name.",
30088 "format" : "pve-node",
30089 "type" : "string",
30090 "typetext" : "<string>"
30091 },
30092 "service" : {
30093 "default" : "ceph.target",
30094 "description" : "Ceph service name.",
30095 "optional" : 1,
c5aa7e14 30096 "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
e2d681b3
TL
30097 "type" : "string"
30098 }
30099 }
30100 },
30101 "permissions" : {
30102 "check" : [
30103 "perm",
30104 "/",
30105 [
30106 "Sys.Modify"
30107 ]
30108 ]
30109 },
30110 "protected" : 1,
30111 "proxyto" : "node",
30112 "returns" : {
30113 "type" : "string"
30114 }
30115 }
30116 },
30117 "leaf" : 1,
30118 "path" : "/nodes/{node}/ceph/restart",
30119 "text" : "restart"
30120 },
4d47f125
TL
30121 {
30122 "info" : {
30123 "GET" : {
e9cd3bd4 30124 "allowtoken" : 1,
4d47f125
TL
30125 "description" : "Get ceph status.",
30126 "method" : "GET",
30127 "name" : "status",
30128 "parameters" : {
30129 "additionalProperties" : 0,
30130 "properties" : {
30131 "node" : {
30132 "description" : "The cluster node name.",
30133 "format" : "pve-node",
30134 "type" : "string",
30135 "typetext" : "<string>"
30136 }
30137 }
30138 },
30139 "permissions" : {
30140 "check" : [
30141 "perm",
30142 "/",
30143 [
30144 "Sys.Audit",
30145 "Datastore.Audit"
30146 ],
30147 "any",
30148 1
30149 ]
30150 },
30151 "protected" : 1,
30152 "proxyto" : "node",
30153 "returns" : {
30154 "type" : "object"
30155 }
30156 }
44660702 30157 },
4d47f125
TL
30158 "leaf" : 1,
30159 "path" : "/nodes/{node}/ceph/status",
30160 "text" : "status"
30161 },
44660702 30162 {
56122987
DM
30163 "children" : [
30164 {
44660702
DM
30165 "info" : {
30166 "DELETE" : {
e9cd3bd4 30167 "allowtoken" : 1,
4d47f125 30168 "description" : "Destroy pool",
44660702 30169 "method" : "DELETE",
4d47f125 30170 "name" : "destroypool",
44660702
DM
30171 "parameters" : {
30172 "additionalProperties" : 0,
30173 "properties" : {
4d47f125 30174 "force" : {
44660702 30175 "default" : 0,
4d47f125 30176 "description" : "If true, destroys pool even if in use",
44660702 30177 "optional" : 1,
013dc89f
DM
30178 "type" : "boolean",
30179 "typetext" : "<boolean>"
7aacca6f 30180 },
4d47f125
TL
30181 "name" : {
30182 "description" : "The name of the pool. It must be unique.",
30183 "type" : "string",
30184 "typetext" : "<string>"
30185 },
44660702
DM
30186 "node" : {
30187 "description" : "The cluster node name.",
30188 "format" : "pve-node",
013dc89f
DM
30189 "type" : "string",
30190 "typetext" : "<string>"
56122987 30191 },
4d47f125
TL
30192 "remove_storages" : {
30193 "default" : 0,
30194 "description" : "Remove all pveceph-managed storages configured for this pool",
30195 "optional" : 1,
30196 "type" : "boolean",
30197 "typetext" : "<boolean>"
44660702 30198 }
56122987
DM
30199 }
30200 },
4d47f125
TL
30201 "permissions" : {
30202 "check" : [
30203 "perm",
30204 "/",
30205 [
30206 "Sys.Modify"
30207 ]
30208 ]
30209 },
44660702
DM
30210 "protected" : 1,
30211 "proxyto" : "node",
30212 "returns" : {
30213 "type" : "string"
30214 }
4772952b
TL
30215 },
30216 "PUT" : {
30217 "allowtoken" : 1,
30218 "description" : "Change POOL settings",
30219 "method" : "PUT",
30220 "name" : "setpool",
30221 "parameters" : {
30222 "additionalProperties" : 0,
30223 "properties" : {
30224 "application" : {
30225 "description" : "The application of the pool.",
30226 "enum" : [
30227 "rbd",
30228 "cephfs",
30229 "rgw"
30230 ],
30231 "optional" : 1,
30232 "type" : "string"
30233 },
30234 "crush_rule" : {
30235 "description" : "The rule to use for mapping object placement in the cluster.",
30236 "optional" : 1,
30237 "type" : "string",
30238 "typetext" : "<string>"
30239 },
30240 "min_size" : {
30241 "description" : "Minimum number of replicas per object",
30242 "maximum" : 7,
30243 "minimum" : 1,
30244 "optional" : 1,
30245 "type" : "integer",
30246 "typetext" : "<integer> (1 - 7)"
30247 },
30248 "name" : {
30249 "description" : "The name of the pool. It must be unique.",
30250 "type" : "string",
30251 "typetext" : "<string>"
30252 },
30253 "node" : {
30254 "description" : "The cluster node name.",
30255 "format" : "pve-node",
30256 "type" : "string",
30257 "typetext" : "<string>"
30258 },
30259 "pg_autoscale_mode" : {
30260 "description" : "The automatic PG scaling mode of the pool.",
30261 "enum" : [
30262 "on",
30263 "off",
30264 "warn"
30265 ],
30266 "optional" : 1,
30267 "type" : "string"
30268 },
30269 "pg_num" : {
30270 "description" : "Number of placement groups.",
30271 "maximum" : 32768,
30272 "minimum" : 8,
30273 "optional" : 1,
30274 "type" : "integer",
30275 "typetext" : "<integer> (8 - 32768)"
30276 },
30277 "size" : {
30278 "description" : "Number of replicas per object",
30279 "maximum" : 7,
30280 "minimum" : 1,
30281 "optional" : 1,
30282 "type" : "integer",
30283 "typetext" : "<integer> (1 - 7)"
30284 }
30285 }
30286 },
30287 "permissions" : {
30288 "check" : [
30289 "perm",
30290 "/",
30291 [
30292 "Sys.Modify"
30293 ]
30294 ]
30295 },
30296 "protected" : 1,
30297 "proxyto" : "node",
30298 "returns" : {
30299 "type" : "string"
30300 }
44660702
DM
30301 }
30302 },
4d47f125
TL
30303 "leaf" : 1,
30304 "path" : "/nodes/{node}/ceph/pools/{name}",
30305 "text" : "{name}"
44660702
DM
30306 }
30307 ],
30308 "info" : {
30309 "GET" : {
e9cd3bd4 30310 "allowtoken" : 1,
4d47f125 30311 "description" : "List all pools.",
44660702 30312 "method" : "GET",
4d47f125 30313 "name" : "lspools",
44660702
DM
30314 "parameters" : {
30315 "additionalProperties" : 0,
30316 "properties" : {
30317 "node" : {
30318 "description" : "The cluster node name.",
30319 "format" : "pve-node",
013dc89f
DM
30320 "type" : "string",
30321 "typetext" : "<string>"
44660702
DM
30322 }
30323 }
30324 },
30325 "permissions" : {
30326 "check" : [
30327 "perm",
30328 "/",
30329 [
30330 "Sys.Audit",
30331 "Datastore.Audit"
30332 ],
30333 "any",
30334 1
30335 ]
30336 },
30337 "protected" : 1,
30338 "proxyto" : "node",
30339 "returns" : {
4d47f125
TL
30340 "items" : {
30341 "properties" : {
ac70d7d1
TL
30342 "bytes_used" : {
30343 "title" : "Used",
30344 "type" : "integer"
30345 },
30346 "crush_rule" : {
30347 "title" : "Crush Rule",
30348 "type" : "integer"
30349 },
30350 "crush_rule_name" : {
30351 "title" : "Crush Rule Name",
30352 "type" : "string"
30353 },
30354 "min_size" : {
30355 "title" : "Min Size",
30356 "type" : "integer"
30357 },
30358 "percent_used" : {
30359 "title" : "%-Used",
30360 "type" : "number"
30361 },
30362 "pg_autoscale_mode" : {
30363 "optional" : 1,
30364 "title" : "PG Autoscale Mode",
30365 "type" : "string"
30366 },
30367 "pg_num" : {
30368 "title" : "PG Num",
30369 "type" : "integer"
30370 },
4d47f125 30371 "pool" : {
ac70d7d1 30372 "title" : "ID",
4d47f125
TL
30373 "type" : "integer"
30374 },
30375 "pool_name" : {
ac70d7d1 30376 "title" : "Name",
4d47f125
TL
30377 "type" : "string"
30378 },
30379 "size" : {
ac70d7d1 30380 "title" : "Size",
4d47f125
TL
30381 "type" : "integer"
30382 }
30383 },
30384 "type" : "object"
30385 },
30386 "links" : [
30387 {
30388 "href" : "{pool_name}",
30389 "rel" : "child"
30390 }
30391 ],
30392 "type" : "array"
44660702
DM
30393 }
30394 },
30395 "POST" : {
e9cd3bd4 30396 "allowtoken" : 1,
4d47f125 30397 "description" : "Create POOL",
44660702 30398 "method" : "POST",
4d47f125 30399 "name" : "createpool",
44660702
DM
30400 "parameters" : {
30401 "additionalProperties" : 0,
30402 "properties" : {
4d47f125 30403 "add_storages" : {
e2d681b3 30404 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
30405 "optional" : 1,
30406 "type" : "boolean",
30407 "typetext" : "<boolean>"
30408 },
4d47f125 30409 "application" : {
4772952b
TL
30410 "default" : "rbd",
30411 "description" : "The application of the pool.",
44660702 30412 "enum" : [
4d47f125
TL
30413 "rbd",
30414 "cephfs",
30415 "rgw"
44660702
DM
30416 ],
30417 "optional" : 1,
30418 "type" : "string"
30419 },
4d47f125
TL
30420 "crush_rule" : {
30421 "description" : "The rule to use for mapping object placement in the cluster.",
30422 "optional" : 1,
30423 "type" : "string",
30424 "typetext" : "<string>"
30425 },
30426 "min_size" : {
30427 "default" : 2,
30428 "description" : "Minimum number of replicas per object",
30429 "maximum" : 7,
30430 "minimum" : 1,
44660702 30431 "optional" : 1,
4d47f125
TL
30432 "type" : "integer",
30433 "typetext" : "<integer> (1 - 7)"
30434 },
30435 "name" : {
30436 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
30437 "type" : "string",
30438 "typetext" : "<string>"
44660702
DM
30439 },
30440 "node" : {
30441 "description" : "The cluster node name.",
30442 "format" : "pve-node",
013dc89f
DM
30443 "type" : "string",
30444 "typetext" : "<string>"
2489d6df 30445 },
4772952b
TL
30446 "pg_autoscale_mode" : {
30447 "default" : "warn",
30448 "description" : "The automatic PG scaling mode of the pool.",
30449 "enum" : [
30450 "on",
30451 "off",
30452 "warn"
30453 ],
30454 "optional" : 1,
30455 "type" : "string"
30456 },
4d47f125 30457 "pg_num" : {
e2d681b3 30458 "default" : 128,
4d47f125
TL
30459 "description" : "Number of placement groups.",
30460 "maximum" : 32768,
30461 "minimum" : 8,
2489d6df 30462 "optional" : 1,
4d47f125
TL
30463 "type" : "integer",
30464 "typetext" : "<integer> (8 - 32768)"
30465 },
30466 "size" : {
30467 "default" : 3,
30468 "description" : "Number of replicas per object",
30469 "maximum" : 7,
30470 "minimum" : 1,
30471 "optional" : 1,
30472 "type" : "integer",
30473 "typetext" : "<integer> (1 - 7)"
44660702 30474 }
56122987 30475 }
44660702 30476 },
4d47f125
TL
30477 "permissions" : {
30478 "check" : [
30479 "perm",
30480 "/",
30481 [
30482 "Sys.Modify"
30483 ]
30484 ]
30485 },
44660702
DM
30486 "protected" : 1,
30487 "proxyto" : "node",
30488 "returns" : {
30489 "type" : "string"
30490 }
56122987 30491 }
44660702 30492 },
7aacca6f 30493 "leaf" : 0,
4d47f125
TL
30494 "path" : "/nodes/{node}/ceph/pools",
30495 "text" : "pools"
7aacca6f
DM
30496 },
30497 {
4d47f125
TL
30498 "children" : [
30499 {
30500 "info" : {
30501 "DELETE" : {
e9cd3bd4 30502 "allowtoken" : 1,
4d47f125
TL
30503 "description" : "Unset a ceph flag",
30504 "method" : "DELETE",
30505 "name" : "unset_flag",
30506 "parameters" : {
30507 "additionalProperties" : 0,
30508 "properties" : {
30509 "flag" : {
1c532546 30510 "description" : "The ceph flag to unset",
4d47f125 30511 "enum" : [
1c532546
TL
30512 "nobackfill",
30513 "nodeep-scrub",
4d47f125 30514 "nodown",
4d47f125 30515 "noin",
1c532546 30516 "noout",
4d47f125
TL
30517 "norebalance",
30518 "norecover",
30519 "noscrub",
1c532546
TL
30520 "notieragent",
30521 "noup",
30522 "pause"
4d47f125
TL
30523 ],
30524 "type" : "string"
30525 },
30526 "node" : {
30527 "description" : "The cluster node name.",
30528 "format" : "pve-node",
30529 "type" : "string",
30530 "typetext" : "<string>"
30531 }
30532 }
30533 },
30534 "permissions" : {
30535 "check" : [
30536 "perm",
30537 "/",
30538 [
30539 "Sys.Modify"
30540 ]
30541 ]
30542 },
30543 "protected" : 1,
30544 "proxyto" : "node",
30545 "returns" : {
30546 "type" : "null"
30547 }
30548 },
30549 "POST" : {
e9cd3bd4 30550 "allowtoken" : 1,
1c532546 30551 "description" : "Set a specific ceph flag",
4d47f125
TL
30552 "method" : "POST",
30553 "name" : "set_flag",
30554 "parameters" : {
30555 "additionalProperties" : 0,
30556 "properties" : {
30557 "flag" : {
1c532546 30558 "description" : "The ceph flag to set",
4d47f125 30559 "enum" : [
1c532546
TL
30560 "nobackfill",
30561 "nodeep-scrub",
4d47f125 30562 "nodown",
4d47f125 30563 "noin",
1c532546 30564 "noout",
4d47f125
TL
30565 "norebalance",
30566 "norecover",
30567 "noscrub",
1c532546
TL
30568 "notieragent",
30569 "noup",
30570 "pause"
4d47f125
TL
30571 ],
30572 "type" : "string"
30573 },
30574 "node" : {
30575 "description" : "The cluster node name.",
30576 "format" : "pve-node",
30577 "type" : "string",
30578 "typetext" : "<string>"
30579 }
30580 }
30581 },
30582 "permissions" : {
30583 "check" : [
30584 "perm",
30585 "/",
30586 [
30587 "Sys.Modify"
30588 ]
30589 ]
30590 },
30591 "protected" : 1,
30592 "proxyto" : "node",
30593 "returns" : {
30594 "type" : "null"
30595 }
30596 }
30597 },
30598 "leaf" : 1,
30599 "path" : "/nodes/{node}/ceph/flags/{flag}",
30600 "text" : "{flag}"
30601 }
30602 ],
56122987
DM
30603 "info" : {
30604 "GET" : {
e9cd3bd4 30605 "allowtoken" : 1,
4d47f125 30606 "description" : "get all set ceph flags",
44660702 30607 "method" : "GET",
4d47f125 30608 "name" : "get_flags",
44660702
DM
30609 "parameters" : {
30610 "additionalProperties" : 0,
30611 "properties" : {
30612 "node" : {
30613 "description" : "The cluster node name.",
30614 "format" : "pve-node",
013dc89f
DM
30615 "type" : "string",
30616 "typetext" : "<string>"
44660702
DM
30617 }
30618 }
30619 },
56122987
DM
30620 "permissions" : {
30621 "check" : [
30622 "perm",
30623 "/",
30624 [
4d47f125
TL
30625 "Sys.Audit"
30626 ]
56122987 30627 ]
4d47f125
TL
30628 },
30629 "protected" : 1,
30630 "proxyto" : "node",
30631 "returns" : {
30632 "type" : "string"
44660702 30633 }
56122987 30634 }
44660702 30635 },
4d47f125
TL
30636 "leaf" : 0,
30637 "path" : "/nodes/{node}/ceph/flags",
30638 "text" : "flags"
56122987
DM
30639 },
30640 {
56122987
DM
30641 "info" : {
30642 "GET" : {
e9cd3bd4 30643 "allowtoken" : 1,
4d47f125 30644 "description" : "Get OSD crush map",
44660702 30645 "method" : "GET",
4d47f125 30646 "name" : "crush",
56122987 30647 "parameters" : {
7aacca6f 30648 "additionalProperties" : 0,
56122987 30649 "properties" : {
56122987 30650 "node" : {
7aacca6f 30651 "description" : "The cluster node name.",
44660702 30652 "format" : "pve-node",
013dc89f
DM
30653 "type" : "string",
30654 "typetext" : "<string>"
56122987 30655 }
7aacca6f 30656 }
56122987 30657 },
56122987
DM
30658 "permissions" : {
30659 "check" : [
30660 "perm",
30661 "/",
30662 [
30663 "Sys.Audit",
30664 "Datastore.Audit"
30665 ],
30666 "any",
30667 1
30668 ]
44660702 30669 },
4d47f125
TL
30670 "protected" : 1,
30671 "proxyto" : "node",
44660702
DM
30672 "returns" : {
30673 "type" : "string"
7aacca6f
DM
30674 }
30675 }
44660702
DM
30676 },
30677 "leaf" : 1,
4d47f125
TL
30678 "path" : "/nodes/{node}/ceph/crush",
30679 "text" : "crush"
7aacca6f
DM
30680 },
30681 {
7aacca6f
DM
30682 "info" : {
30683 "GET" : {
e9cd3bd4 30684 "allowtoken" : 1,
4d47f125 30685 "description" : "Read ceph log",
7aacca6f 30686 "method" : "GET",
4d47f125 30687 "name" : "log",
7aacca6f
DM
30688 "parameters" : {
30689 "additionalProperties" : 0,
30690 "properties" : {
4d47f125
TL
30691 "limit" : {
30692 "minimum" : 0,
30693 "optional" : 1,
30694 "type" : "integer",
30695 "typetext" : "<integer> (0 - N)"
30696 },
7aacca6f 30697 "node" : {
7aacca6f 30698 "description" : "The cluster node name.",
44660702 30699 "format" : "pve-node",
013dc89f
DM
30700 "type" : "string",
30701 "typetext" : "<string>"
4d47f125
TL
30702 },
30703 "start" : {
30704 "minimum" : 0,
30705 "optional" : 1,
30706 "type" : "integer",
30707 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
30708 }
30709 }
30710 },
44660702
DM
30711 "permissions" : {
30712 "check" : [
30713 "perm",
4d47f125 30714 "/nodes/{node}",
44660702 30715 [
4d47f125
TL
30716 "Sys.Syslog"
30717 ]
44660702
DM
30718 ]
30719 },
7aacca6f 30720 "protected" : 1,
44660702 30721 "proxyto" : "node",
7aacca6f
DM
30722 "returns" : {
30723 "items" : {
30724 "properties" : {
4d47f125
TL
30725 "n" : {
30726 "description" : "Line number",
30727 "type" : "integer"
56122987 30728 },
4d47f125
TL
30729 "t" : {
30730 "description" : "Line text",
56122987
DM
30731 "type" : "string"
30732 }
7aacca6f
DM
30733 },
30734 "type" : "object"
56122987
DM
30735 },
30736 "type" : "array"
44660702 30737 }
4d47f125
TL
30738 }
30739 },
30740 "leaf" : 1,
30741 "path" : "/nodes/{node}/ceph/log",
30742 "text" : "log"
30743 },
30744 {
30745 "info" : {
30746 "GET" : {
e9cd3bd4 30747 "allowtoken" : 1,
4d47f125
TL
30748 "description" : "List ceph rules.",
30749 "method" : "GET",
30750 "name" : "rules",
44660702
DM
30751 "parameters" : {
30752 "additionalProperties" : 0,
30753 "properties" : {
30754 "node" : {
30755 "description" : "The cluster node name.",
30756 "format" : "pve-node",
013dc89f
DM
30757 "type" : "string",
30758 "typetext" : "<string>"
44660702
DM
30759 }
30760 }
30761 },
7aacca6f
DM
30762 "permissions" : {
30763 "check" : [
30764 "perm",
30765 "/",
30766 [
4d47f125
TL
30767 "Sys.Audit",
30768 "Datastore.Audit"
30769 ],
30770 "any",
30771 1
7aacca6f
DM
30772 ]
30773 },
44660702 30774 "protected" : 1,
7aacca6f 30775 "proxyto" : "node",
56122987 30776 "returns" : {
4d47f125
TL
30777 "items" : {
30778 "properties" : {},
30779 "type" : "object"
30780 },
30781 "links" : [
30782 {
30783 "href" : "{name}",
30784 "rel" : "child"
30785 }
30786 ],
30787 "type" : "array"
44660702 30788 }
56122987 30789 }
44660702 30790 },
4d47f125
TL
30791 "leaf" : 1,
30792 "path" : "/nodes/{node}/ceph/rules",
30793 "text" : "rules"
30794 }
30795 ],
30796 "info" : {
30797 "GET" : {
e9cd3bd4 30798 "allowtoken" : 1,
4d47f125
TL
30799 "description" : "Directory index.",
30800 "method" : "GET",
30801 "name" : "index",
30802 "parameters" : {
30803 "additionalProperties" : 0,
30804 "properties" : {
30805 "node" : {
30806 "description" : "The cluster node name.",
30807 "format" : "pve-node",
30808 "type" : "string",
30809 "typetext" : "<string>"
30810 }
30811 }
30812 },
30813 "permissions" : {
30814 "check" : [
30815 "perm",
30816 "/",
30817 [
30818 "Sys.Audit",
30819 "Datastore.Audit"
30820 ],
30821 "any",
30822 1
30823 ]
30824 },
30825 "returns" : {
30826 "items" : {
30827 "properties" : {},
30828 "type" : "object"
30829 },
30830 "links" : [
30831 {
30832 "href" : "{name}",
30833 "rel" : "child"
30834 }
30835 ],
30836 "type" : "array"
30837 }
30838 }
30839 },
30840 "leaf" : 0,
30841 "path" : "/nodes/{node}/ceph",
30842 "text" : "ceph"
30843 },
30844 {
30845 "children" : [
56122987
DM
30846 {
30847 "info" : {
4d47f125 30848 "GET" : {
e9cd3bd4 30849 "allowtoken" : 1,
4d47f125
TL
30850 "description" : "Extract configuration from vzdump backup archive.",
30851 "method" : "GET",
30852 "name" : "extractconfig",
30853 "parameters" : {
30854 "additionalProperties" : 0,
30855 "properties" : {
44660702
DM
30856 "node" : {
30857 "description" : "The cluster node name.",
30858 "format" : "pve-node",
013dc89f
DM
30859 "type" : "string",
30860 "typetext" : "<string>"
44660702 30861 },
4d47f125
TL
30862 "volume" : {
30863 "description" : "Volume identifier",
30864 "type" : "string",
30865 "typetext" : "<string>"
44660702
DM
30866 }
30867 }
7aacca6f 30868 },
56122987 30869 "permissions" : {
4d47f125
TL
30870 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
30871 "user" : "all"
56122987 30872 },
7aacca6f 30873 "protected" : 1,
44660702
DM
30874 "proxyto" : "node",
30875 "returns" : {
4d47f125 30876 "type" : "string"
7aacca6f
DM
30877 }
30878 }
30879 },
7aacca6f 30880 "leaf" : 1,
4d47f125
TL
30881 "path" : "/nodes/{node}/vzdump/extractconfig",
30882 "text" : "extractconfig"
30883 }
30884 ],
30885 "info" : {
30886 "POST" : {
e9cd3bd4 30887 "allowtoken" : 1,
4d47f125
TL
30888 "description" : "Create backup.",
30889 "method" : "POST",
30890 "name" : "vzdump",
30891 "parameters" : {
30892 "additionalProperties" : 0,
30893 "properties" : {
30894 "all" : {
30895 "default" : 0,
30896 "description" : "Backup all known guest systems on this host.",
30897 "optional" : 1,
30898 "type" : "boolean",
30899 "typetext" : "<boolean>"
30900 },
30901 "bwlimit" : {
30902 "default" : 0,
30903 "description" : "Limit I/O bandwidth (KBytes per second).",
30904 "minimum" : 0,
30905 "optional" : 1,
30906 "type" : "integer",
30907 "typetext" : "<integer> (0 - N)"
30908 },
30909 "compress" : {
30910 "default" : "0",
30911 "description" : "Compress dump file.",
30912 "enum" : [
30913 "0",
30914 "1",
30915 "gzip",
c5aa7e14
TL
30916 "lzo",
30917 "zstd"
4d47f125
TL
30918 ],
30919 "optional" : 1,
30920 "type" : "string"
30921 },
30922 "dumpdir" : {
30923 "description" : "Store resulting files to specified directory.",
30924 "optional" : 1,
30925 "type" : "string",
30926 "typetext" : "<string>"
30927 },
30928 "exclude" : {
30929 "description" : "Exclude specified guest systems (assumes --all)",
30930 "format" : "pve-vmid-list",
30931 "optional" : 1,
30932 "type" : "string",
30933 "typetext" : "<string>"
30934 },
30935 "exclude-path" : {
30936 "description" : "Exclude certain files/directories (shell globs).",
30937 "format" : "string-alist",
30938 "optional" : 1,
30939 "type" : "string",
30940 "typetext" : "<string>"
30941 },
30942 "ionice" : {
30943 "default" : 7,
30944 "description" : "Set CFQ ionice priority.",
30945 "maximum" : 8,
30946 "minimum" : 0,
30947 "optional" : 1,
30948 "type" : "integer",
30949 "typetext" : "<integer> (0 - 8)"
30950 },
30951 "lockwait" : {
30952 "default" : 180,
30953 "description" : "Maximal time to wait for the global lock (minutes).",
30954 "minimum" : 0,
30955 "optional" : 1,
30956 "type" : "integer",
30957 "typetext" : "<integer> (0 - N)"
30958 },
30959 "mailnotification" : {
30960 "default" : "always",
30961 "description" : "Specify when to send an email",
30962 "enum" : [
30963 "always",
30964 "failure"
30965 ],
30966 "optional" : 1,
30967 "type" : "string"
30968 },
30969 "mailto" : {
30970 "description" : "Comma-separated list of email addresses that should receive email notifications.",
30971 "format" : "string-list",
30972 "optional" : 1,
30973 "type" : "string",
30974 "typetext" : "<string>"
30975 },
30976 "maxfiles" : {
30977 "default" : 1,
30978 "description" : "Maximal number of backup files per guest system.",
30979 "minimum" : 1,
30980 "optional" : 1,
30981 "type" : "integer",
30982 "typetext" : "<integer> (1 - N)"
30983 },
30984 "mode" : {
30985 "default" : "snapshot",
30986 "description" : "Backup mode.",
30987 "enum" : [
30988 "snapshot",
30989 "suspend",
30990 "stop"
30991 ],
30992 "optional" : 1,
30993 "type" : "string"
30994 },
30995 "node" : {
30996 "description" : "Only run if executed on this node.",
30997 "format" : "pve-node",
30998 "optional" : 1,
30999 "type" : "string",
31000 "typetext" : "<string>"
31001 },
31002 "pigz" : {
31003 "default" : 0,
31004 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
31005 "optional" : 1,
31006 "type" : "integer",
31007 "typetext" : "<integer>"
31008 },
9226ccbc
TL
31009 "pool" : {
31010 "description" : "Backup all known guest systems included in the specified pool.",
31011 "optional" : 1,
31012 "type" : "string",
31013 "typetext" : "<string>"
31014 },
739d4d64
TL
31015 "prune-backups" : {
31016 "description" : "Use these retention options instead of those from the storage configuration.",
31017 "format" : "prune-backups",
31018 "optional" : 1,
31019 "type" : "string",
4772952b 31020 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 31021 },
4d47f125
TL
31022 "quiet" : {
31023 "default" : 0,
31024 "description" : "Be quiet.",
31025 "optional" : 1,
31026 "type" : "boolean",
31027 "typetext" : "<boolean>"
31028 },
31029 "remove" : {
31030 "default" : 1,
31031 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
31032 "optional" : 1,
31033 "type" : "boolean",
31034 "typetext" : "<boolean>"
31035 },
31036 "script" : {
31037 "description" : "Use specified hook script.",
31038 "optional" : 1,
31039 "type" : "string",
31040 "typetext" : "<string>"
31041 },
31042 "size" : {
31043 "default" : 1024,
31044 "description" : "Unused, will be removed in a future release.",
31045 "minimum" : 500,
31046 "optional" : 1,
31047 "type" : "integer",
31048 "typetext" : "<integer> (500 - N)"
31049 },
31050 "stdexcludes" : {
31051 "default" : 1,
31052 "description" : "Exclude temporary files and logs.",
31053 "optional" : 1,
31054 "type" : "boolean",
31055 "typetext" : "<boolean>"
31056 },
31057 "stdout" : {
31058 "description" : "Write tar to stdout, not to a file.",
31059 "optional" : 1,
31060 "type" : "boolean",
31061 "typetext" : "<boolean>"
31062 },
31063 "stop" : {
31064 "default" : 0,
1e3f8156 31065 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
31066 "optional" : 1,
31067 "type" : "boolean",
31068 "typetext" : "<boolean>"
31069 },
31070 "stopwait" : {
31071 "default" : 10,
31072 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
31073 "minimum" : 0,
31074 "optional" : 1,
31075 "type" : "integer",
31076 "typetext" : "<integer> (0 - N)"
31077 },
31078 "storage" : {
31079 "description" : "Store resulting file to this storage.",
31080 "format" : "pve-storage-id",
31081 "optional" : 1,
31082 "type" : "string",
31083 "typetext" : "<string>"
31084 },
31085 "tmpdir" : {
31086 "description" : "Store temporary files to specified directory.",
31087 "optional" : 1,
31088 "type" : "string",
31089 "typetext" : "<string>"
31090 },
31091 "vmid" : {
31092 "description" : "The ID of the guest system you want to backup.",
31093 "format" : "pve-vmid-list",
31094 "optional" : 1,
31095 "type" : "string",
31096 "typetext" : "<string>"
c5aa7e14
TL
31097 },
31098 "zstd" : {
31099 "default" : 1,
31100 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
31101 "optional" : 1,
31102 "type" : "integer",
31103 "typetext" : "<integer>"
4d47f125
TL
31104 }
31105 }
31106 },
31107 "permissions" : {
4772952b 31108 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'prune-backups', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
4d47f125
TL
31109 "user" : "all"
31110 },
31111 "protected" : 1,
31112 "proxyto" : "node",
31113 "returns" : {
31114 "type" : "string"
31115 }
31116 }
31117 },
31118 "leaf" : 0,
31119 "path" : "/nodes/{node}/vzdump",
31120 "text" : "vzdump"
31121 },
31122 {
31123 "children" : [
2489d6df
WB
31124 {
31125 "children" : [
31126 {
31127 "info" : {
4d47f125 31128 "GET" : {
e9cd3bd4 31129 "allowtoken" : 1,
4d47f125
TL
31130 "description" : "Read service properties",
31131 "method" : "GET",
31132 "name" : "service_state",
2489d6df
WB
31133 "parameters" : {
31134 "additionalProperties" : 0,
31135 "properties" : {
2489d6df
WB
31136 "node" : {
31137 "description" : "The cluster node name.",
31138 "format" : "pve-node",
31139 "type" : "string",
31140 "typetext" : "<string>"
4d47f125
TL
31141 },
31142 "service" : {
31143 "description" : "Service ID",
31144 "enum" : [
31145 "pveproxy",
31146 "pvedaemon",
31147 "spiceproxy",
31148 "pvestatd",
31149 "pve-cluster",
31150 "corosync",
31151 "pve-firewall",
31152 "pvefw-logger",
31153 "pve-ha-crm",
31154 "pve-ha-lrm",
31155 "sshd",
31156 "syslog",
31157 "cron",
31158 "postfix",
31159 "ksmtuned",
31160 "systemd-timesyncd"
31161 ],
31162 "type" : "string"
2489d6df
WB
31163 }
31164 }
31165 },
31166 "permissions" : {
31167 "check" : [
31168 "perm",
4d47f125 31169 "/nodes/{node}",
2489d6df 31170 [
4d47f125 31171 "Sys.Audit"
2489d6df
WB
31172 ]
31173 ]
31174 },
31175 "protected" : 1,
31176 "proxyto" : "node",
31177 "returns" : {
4d47f125 31178 "type" : "object"
2489d6df
WB
31179 }
31180 }
31181 },
31182 "leaf" : 1,
4d47f125
TL
31183 "path" : "/nodes/{node}/services/{service}/state",
31184 "text" : "state"
31185 },
31186 {
31187 "info" : {
31188 "POST" : {
e9cd3bd4 31189 "allowtoken" : 1,
4d47f125
TL
31190 "description" : "Start service.",
31191 "method" : "POST",
31192 "name" : "service_start",
31193 "parameters" : {
31194 "additionalProperties" : 0,
31195 "properties" : {
31196 "node" : {
31197 "description" : "The cluster node name.",
31198 "format" : "pve-node",
31199 "type" : "string",
31200 "typetext" : "<string>"
31201 },
31202 "service" : {
31203 "description" : "Service ID",
31204 "enum" : [
31205 "pveproxy",
31206 "pvedaemon",
31207 "spiceproxy",
31208 "pvestatd",
31209 "pve-cluster",
31210 "corosync",
31211 "pve-firewall",
31212 "pvefw-logger",
31213 "pve-ha-crm",
31214 "pve-ha-lrm",
31215 "sshd",
31216 "syslog",
31217 "cron",
31218 "postfix",
31219 "ksmtuned",
31220 "systemd-timesyncd"
31221 ],
31222 "type" : "string"
31223 }
31224 }
7aacca6f 31225 },
4d47f125
TL
31226 "permissions" : {
31227 "check" : [
31228 "perm",
31229 "/nodes/{node}",
31230 [
31231 "Sys.Modify"
31232 ]
31233 ]
7aacca6f 31234 },
4d47f125
TL
31235 "protected" : 1,
31236 "proxyto" : "node",
31237 "returns" : {
31238 "type" : "string"
31239 }
31240 }
56122987 31241 },
4d47f125
TL
31242 "leaf" : 1,
31243 "path" : "/nodes/{node}/services/{service}/start",
31244 "text" : "start"
31245 },
44660702
DM
31246 {
31247 "info" : {
4d47f125 31248 "POST" : {
e9cd3bd4 31249 "allowtoken" : 1,
4d47f125
TL
31250 "description" : "Stop service.",
31251 "method" : "POST",
31252 "name" : "service_stop",
44660702
DM
31253 "parameters" : {
31254 "additionalProperties" : 0,
31255 "properties" : {
44660702
DM
31256 "node" : {
31257 "description" : "The cluster node name.",
31258 "format" : "pve-node",
013dc89f
DM
31259 "type" : "string",
31260 "typetext" : "<string>"
2489d6df 31261 },
4d47f125
TL
31262 "service" : {
31263 "description" : "Service ID",
31264 "enum" : [
31265 "pveproxy",
31266 "pvedaemon",
31267 "spiceproxy",
31268 "pvestatd",
31269 "pve-cluster",
31270 "corosync",
31271 "pve-firewall",
31272 "pvefw-logger",
31273 "pve-ha-crm",
31274 "pve-ha-lrm",
31275 "sshd",
31276 "syslog",
31277 "cron",
31278 "postfix",
31279 "ksmtuned",
31280 "systemd-timesyncd"
31281 ],
31282 "type" : "string"
44660702
DM
31283 }
31284 }
31285 },
31286 "permissions" : {
31287 "check" : [
31288 "perm",
4d47f125 31289 "/nodes/{node}",
44660702
DM
31290 [
31291 "Sys.Modify"
31292 ]
31293 ]
31294 },
31295 "protected" : 1,
31296 "proxyto" : "node",
31297 "returns" : {
2489d6df 31298 "type" : "string"
44660702
DM
31299 }
31300 }
31301 },
31302 "leaf" : 1,
4d47f125
TL
31303 "path" : "/nodes/{node}/services/{service}/stop",
31304 "text" : "stop"
7aacca6f 31305 },
32d876b5
DM
31306 {
31307 "info" : {
4d47f125 31308 "POST" : {
e9cd3bd4 31309 "allowtoken" : 1,
739d4d64 31310 "description" : "Hard restart service. Use reload if you want to reduce interruptions.",
4d47f125
TL
31311 "method" : "POST",
31312 "name" : "service_restart",
32d876b5
DM
31313 "parameters" : {
31314 "additionalProperties" : 0,
31315 "properties" : {
4d47f125
TL
31316 "node" : {
31317 "description" : "The cluster node name.",
31318 "format" : "pve-node",
31319 "type" : "string",
31320 "typetext" : "<string>"
31321 },
31322 "service" : {
31323 "description" : "Service ID",
32d876b5 31324 "enum" : [
4d47f125
TL
31325 "pveproxy",
31326 "pvedaemon",
31327 "spiceproxy",
31328 "pvestatd",
31329 "pve-cluster",
31330 "corosync",
31331 "pve-firewall",
31332 "pvefw-logger",
31333 "pve-ha-crm",
31334 "pve-ha-lrm",
31335 "sshd",
31336 "syslog",
31337 "cron",
31338 "postfix",
31339 "ksmtuned",
31340 "systemd-timesyncd"
32d876b5
DM
31341 ],
31342 "type" : "string"
32d876b5
DM
31343 }
31344 }
31345 },
31346 "permissions" : {
31347 "check" : [
31348 "perm",
4d47f125 31349 "/nodes/{node}",
32d876b5
DM
31350 [
31351 "Sys.Modify"
31352 ]
31353 ]
31354 },
31355 "protected" : 1,
31356 "proxyto" : "node",
31357 "returns" : {
4d47f125 31358 "type" : "string"
32d876b5 31359 }
4d47f125
TL
31360 }
31361 },
31362 "leaf" : 1,
31363 "path" : "/nodes/{node}/services/{service}/restart",
31364 "text" : "restart"
31365 },
31366 {
31367 "info" : {
32d876b5 31368 "POST" : {
e9cd3bd4 31369 "allowtoken" : 1,
739d4d64 31370 "description" : "Reload service. Falls back to restart if service cannot be reloaded.",
32d876b5 31371 "method" : "POST",
4d47f125 31372 "name" : "service_reload",
32d876b5
DM
31373 "parameters" : {
31374 "additionalProperties" : 0,
31375 "properties" : {
32d876b5
DM
31376 "node" : {
31377 "description" : "The cluster node name.",
31378 "format" : "pve-node",
31379 "type" : "string",
31380 "typetext" : "<string>"
4d47f125
TL
31381 },
31382 "service" : {
31383 "description" : "Service ID",
31384 "enum" : [
31385 "pveproxy",
31386 "pvedaemon",
31387 "spiceproxy",
31388 "pvestatd",
31389 "pve-cluster",
31390 "corosync",
31391 "pve-firewall",
31392 "pvefw-logger",
31393 "pve-ha-crm",
31394 "pve-ha-lrm",
31395 "sshd",
31396 "syslog",
31397 "cron",
31398 "postfix",
31399 "ksmtuned",
31400 "systemd-timesyncd"
31401 ],
31402 "type" : "string"
32d876b5
DM
31403 }
31404 }
31405 },
31406 "permissions" : {
31407 "check" : [
31408 "perm",
4d47f125 31409 "/nodes/{node}",
32d876b5
DM
31410 [
31411 "Sys.Modify"
31412 ]
31413 ]
31414 },
31415 "protected" : 1,
31416 "proxyto" : "node",
31417 "returns" : {
4d47f125 31418 "type" : "string"
32d876b5
DM
31419 }
31420 }
31421 },
31422 "leaf" : 1,
4d47f125
TL
31423 "path" : "/nodes/{node}/services/{service}/reload",
31424 "text" : "reload"
32d876b5
DM
31425 }
31426 ],
31427 "info" : {
31428 "GET" : {
e9cd3bd4 31429 "allowtoken" : 1,
4d47f125 31430 "description" : "Directory index",
44660702 31431 "method" : "GET",
4d47f125 31432 "name" : "srvcmdidx",
44660702
DM
31433 "parameters" : {
31434 "additionalProperties" : 0,
31435 "properties" : {
44660702
DM
31436 "node" : {
31437 "description" : "The cluster node name.",
31438 "format" : "pve-node",
013dc89f
DM
31439 "type" : "string",
31440 "typetext" : "<string>"
44660702 31441 },
4d47f125
TL
31442 "service" : {
31443 "description" : "Service ID",
31444 "enum" : [
31445 "pveproxy",
31446 "pvedaemon",
31447 "spiceproxy",
31448 "pvestatd",
31449 "pve-cluster",
31450 "corosync",
31451 "pve-firewall",
31452 "pvefw-logger",
31453 "pve-ha-crm",
31454 "pve-ha-lrm",
31455 "sshd",
31456 "syslog",
31457 "cron",
31458 "postfix",
31459 "ksmtuned",
31460 "systemd-timesyncd"
31461 ],
31462 "type" : "string"
44660702 31463 }
7aacca6f 31464 }
56122987 31465 },
56122987
DM
31466 "permissions" : {
31467 "check" : [
31468 "perm",
7aacca6f 31469 "/nodes/{node}",
56122987 31470 [
4d47f125 31471 "Sys.Audit"
56122987
DM
31472 ]
31473 ]
31474 },
44660702
DM
31475 "returns" : {
31476 "items" : {
31477 "properties" : {
4d47f125 31478 "subdir" : {
44660702
DM
31479 "type" : "string"
31480 }
56122987 31481 },
44660702 31482 "type" : "object"
56122987 31483 },
2489d6df
WB
31484 "links" : [
31485 {
4d47f125 31486 "href" : "{subdir}",
2489d6df
WB
31487 "rel" : "child"
31488 }
31489 ],
31490 "type" : "array"
31491 }
31492 }
4d47f125
TL
31493 },
31494 "leaf" : 0,
31495 "path" : "/nodes/{node}/services/{service}",
31496 "text" : "{service}"
7aacca6f
DM
31497 }
31498 ],
44660702
DM
31499 "info" : {
31500 "GET" : {
e9cd3bd4 31501 "allowtoken" : 1,
4d47f125 31502 "description" : "Service list.",
44660702
DM
31503 "method" : "GET",
31504 "name" : "index",
31505 "parameters" : {
31506 "additionalProperties" : 0,
31507 "properties" : {
31508 "node" : {
31509 "description" : "The cluster node name.",
31510 "format" : "pve-node",
013dc89f
DM
31511 "type" : "string",
31512 "typetext" : "<string>"
44660702
DM
31513 }
31514 }
31515 },
31516 "permissions" : {
31517 "check" : [
31518 "perm",
4d47f125 31519 "/nodes/{node}",
44660702 31520 [
4d47f125
TL
31521 "Sys.Audit"
31522 ]
44660702
DM
31523 ]
31524 },
4d47f125
TL
31525 "protected" : 1,
31526 "proxyto" : "node",
44660702
DM
31527 "returns" : {
31528 "items" : {
31529 "properties" : {},
31530 "type" : "object"
31531 },
31532 "links" : [
31533 {
4d47f125 31534 "href" : "{service}",
44660702
DM
31535 "rel" : "child"
31536 }
31537 ],
31538 "type" : "array"
31539 }
31540 }
31541 },
7aacca6f 31542 "leaf" : 0,
4d47f125
TL
31543 "path" : "/nodes/{node}/services",
31544 "text" : "services"
7aacca6f
DM
31545 },
31546 {
7aacca6f 31547 "info" : {
ac70d7d1
TL
31548 "DELETE" : {
31549 "allowtoken" : 1,
31550 "description" : "Delete subscription key of this node.",
31551 "method" : "DELETE",
31552 "name" : "delete",
31553 "parameters" : {
31554 "additionalProperties" : 0,
31555 "properties" : {
31556 "node" : {
31557 "description" : "The cluster node name.",
31558 "format" : "pve-node",
31559 "type" : "string",
31560 "typetext" : "<string>"
31561 }
31562 }
31563 },
31564 "permissions" : {
31565 "check" : [
31566 "perm",
31567 "/nodes/{node}",
31568 [
31569 "Sys.Modify"
31570 ]
31571 ]
31572 },
31573 "protected" : 1,
31574 "proxyto" : "node",
31575 "returns" : {
31576 "type" : "null"
31577 }
31578 },
4d47f125 31579 "GET" : {
e9cd3bd4 31580 "allowtoken" : 1,
4d47f125
TL
31581 "description" : "Read subscription info.",
31582 "method" : "GET",
31583 "name" : "get",
7aacca6f 31584 "parameters" : {
44660702 31585 "additionalProperties" : 0,
7aacca6f 31586 "properties" : {
44660702 31587 "node" : {
4d47f125 31588 "description" : "The cluster node name.",
44660702 31589 "format" : "pve-node",
013dc89f
DM
31590 "type" : "string",
31591 "typetext" : "<string>"
4d47f125
TL
31592 }
31593 }
31594 },
31595 "permissions" : {
31596 "user" : "all"
31597 },
31598 "proxyto" : "node",
31599 "returns" : {
31600 "type" : "object"
31601 }
31602 },
31603 "POST" : {
e9cd3bd4 31604 "allowtoken" : 1,
4d47f125
TL
31605 "description" : "Update subscription info.",
31606 "method" : "POST",
31607 "name" : "update",
31608 "parameters" : {
31609 "additionalProperties" : 0,
31610 "properties" : {
31611 "force" : {
31612 "default" : 0,
31613 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 31614 "optional" : 1,
4d47f125
TL
31615 "type" : "boolean",
31616 "typetext" : "<boolean>"
44660702 31617 },
4d47f125
TL
31618 "node" : {
31619 "description" : "The cluster node name.",
31620 "format" : "pve-node",
013dc89f
DM
31621 "type" : "string",
31622 "typetext" : "<string>"
4d47f125
TL
31623 }
31624 }
31625 },
31626 "permissions" : {
31627 "check" : [
31628 "perm",
31629 "/nodes/{node}",
31630 [
31631 "Sys.Modify"
31632 ]
31633 ]
31634 },
31635 "protected" : 1,
31636 "proxyto" : "node",
31637 "returns" : {
31638 "type" : "null"
31639 }
31640 },
31641 "PUT" : {
e9cd3bd4 31642 "allowtoken" : 1,
4d47f125
TL
31643 "description" : "Set subscription key.",
31644 "method" : "PUT",
31645 "name" : "set",
31646 "parameters" : {
31647 "additionalProperties" : 0,
31648 "properties" : {
31649 "key" : {
31650 "description" : "Proxmox VE subscription key",
31651 "maxLength" : 32,
5f26e15b 31652 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 31653 "type" : "string"
7aacca6f 31654 },
4d47f125
TL
31655 "node" : {
31656 "description" : "The cluster node name.",
31657 "format" : "pve-node",
013dc89f
DM
31658 "type" : "string",
31659 "typetext" : "<string>"
7aacca6f 31660 }
7aacca6f
DM
31661 }
31662 },
7aacca6f 31663 "permissions" : {
4d47f125
TL
31664 "check" : [
31665 "perm",
31666 "/nodes/{node}",
31667 [
31668 "Sys.Modify"
31669 ]
31670 ]
7aacca6f 31671 },
44660702 31672 "protected" : 1,
7aacca6f 31673 "proxyto" : "node",
7aacca6f 31674 "returns" : {
4d47f125 31675 "type" : "null"
7aacca6f
DM
31676 }
31677 }
31678 },
4d47f125
TL
31679 "leaf" : 1,
31680 "path" : "/nodes/{node}/subscription",
31681 "text" : "subscription"
44660702
DM
31682 },
31683 {
7aacca6f
DM
31684 "children" : [
31685 {
4d47f125
TL
31686 "info" : {
31687 "DELETE" : {
e9cd3bd4 31688 "allowtoken" : 1,
4d47f125
TL
31689 "description" : "Delete network device configuration",
31690 "method" : "DELETE",
31691 "name" : "delete_network",
31692 "parameters" : {
31693 "additionalProperties" : 0,
31694 "properties" : {
31695 "iface" : {
31696 "description" : "Network interface name.",
31697 "format" : "pve-iface",
31698 "maxLength" : 20,
31699 "minLength" : 2,
31700 "type" : "string",
31701 "typetext" : "<string>"
7aacca6f 31702 },
4d47f125
TL
31703 "node" : {
31704 "description" : "The cluster node name.",
31705 "format" : "pve-node",
31706 "type" : "string",
31707 "typetext" : "<string>"
44660702
DM
31708 }
31709 }
31710 },
4d47f125
TL
31711 "permissions" : {
31712 "check" : [
31713 "perm",
31714 "/nodes/{node}",
31715 [
31716 "Sys.Modify"
31717 ]
31718 ]
31719 },
31720 "protected" : 1,
31721 "proxyto" : "node",
31722 "returns" : {
31723 "type" : "null"
31724 }
31725 },
31726 "GET" : {
e9cd3bd4 31727 "allowtoken" : 1,
4d47f125
TL
31728 "description" : "Read network device configuration",
31729 "method" : "GET",
31730 "name" : "network_config",
31731 "parameters" : {
31732 "additionalProperties" : 0,
31733 "properties" : {
31734 "iface" : {
31735 "description" : "Network interface name.",
31736 "format" : "pve-iface",
31737 "maxLength" : 20,
31738 "minLength" : 2,
31739 "type" : "string",
31740 "typetext" : "<string>"
56122987 31741 },
4d47f125
TL
31742 "node" : {
31743 "description" : "The cluster node name.",
31744 "format" : "pve-node",
31745 "type" : "string",
31746 "typetext" : "<string>"
44660702
DM
31747 }
31748 }
31749 },
4d47f125
TL
31750 "permissions" : {
31751 "check" : [
31752 "perm",
31753 "/nodes/{node}",
31754 [
31755 "Sys.Audit"
31756 ]
31757 ]
31758 },
31759 "proxyto" : "node",
31760 "returns" : {
31761 "properties" : {
31762 "method" : {
31763 "type" : "string"
44660702 31764 },
4d47f125 31765 "type" : {
44660702
DM
31766 "type" : "string"
31767 }
4d47f125
TL
31768 },
31769 "type" : "object"
31770 }
56122987 31771 },
4d47f125 31772 "PUT" : {
e9cd3bd4 31773 "allowtoken" : 1,
4d47f125
TL
31774 "description" : "Update network device configuration",
31775 "method" : "PUT",
31776 "name" : "update_network",
31777 "parameters" : {
31778 "additionalProperties" : 0,
31779 "properties" : {
31780 "address" : {
31781 "description" : "IP address.",
31782 "format" : "ipv4",
31783 "optional" : 1,
31784 "requires" : "netmask",
31785 "type" : "string",
31786 "typetext" : "<string>"
31787 },
31788 "address6" : {
31789 "description" : "IP address.",
31790 "format" : "ipv6",
31791 "optional" : 1,
31792 "requires" : "netmask6",
31793 "type" : "string",
31794 "typetext" : "<string>"
31795 },
31796 "autostart" : {
31797 "description" : "Automatically start interface on boot.",
31798 "optional" : 1,
31799 "type" : "boolean",
31800 "typetext" : "<boolean>"
31801 },
e9cd3bd4
TL
31802 "bond-primary" : {
31803 "description" : "Specify the primary interface for active-backup bond.",
31804 "format" : "pve-iface",
31805 "optional" : 1,
31806 "type" : "string",
31807 "typetext" : "<string>"
31808 },
4d47f125
TL
31809 "bond_mode" : {
31810 "description" : "Bonding mode.",
31811 "enum" : [
31812 "balance-rr",
31813 "active-backup",
31814 "balance-xor",
31815 "broadcast",
31816 "802.3ad",
31817 "balance-tlb",
31818 "balance-alb",
31819 "balance-slb",
31820 "lacp-balance-slb",
31821 "lacp-balance-tcp"
31822 ],
31823 "optional" : 1,
31824 "type" : "string"
31825 },
31826 "bond_xmit_hash_policy" : {
31827 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
31828 "enum" : [
31829 "layer2",
31830 "layer2+3",
31831 "layer3+4"
31832 ],
31833 "optional" : 1,
31834 "type" : "string"
31835 },
31836 "bridge_ports" : {
1e3f8156 31837 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31838 "format" : "pve-iface-list",
31839 "optional" : 1,
31840 "type" : "string",
31841 "typetext" : "<string>"
31842 },
31843 "bridge_vlan_aware" : {
31844 "description" : "Enable bridge vlan support.",
31845 "optional" : 1,
31846 "type" : "boolean",
31847 "typetext" : "<boolean>"
31848 },
bb4c8cf8
TL
31849 "cidr" : {
31850 "description" : "IPv4 CIDR.",
31851 "format" : "CIDRv4",
31852 "optional" : 1,
31853 "type" : "string",
31854 "typetext" : "<string>"
31855 },
31856 "cidr6" : {
31857 "description" : "IPv6 CIDR.",
31858 "format" : "CIDRv6",
31859 "optional" : 1,
31860 "type" : "string",
31861 "typetext" : "<string>"
31862 },
4d47f125
TL
31863 "comments" : {
31864 "description" : "Comments",
31865 "optional" : 1,
31866 "type" : "string",
31867 "typetext" : "<string>"
31868 },
31869 "comments6" : {
31870 "description" : "Comments",
31871 "optional" : 1,
31872 "type" : "string",
31873 "typetext" : "<string>"
31874 },
31875 "delete" : {
31876 "description" : "A list of settings you want to delete.",
31877 "format" : "pve-configid-list",
31878 "optional" : 1,
31879 "type" : "string",
31880 "typetext" : "<string>"
31881 },
31882 "gateway" : {
31883 "description" : "Default gateway address.",
31884 "format" : "ipv4",
31885 "optional" : 1,
31886 "type" : "string",
31887 "typetext" : "<string>"
31888 },
31889 "gateway6" : {
31890 "description" : "Default ipv6 gateway address.",
31891 "format" : "ipv6",
31892 "optional" : 1,
31893 "type" : "string",
31894 "typetext" : "<string>"
31895 },
31896 "iface" : {
31897 "description" : "Network interface name.",
31898 "format" : "pve-iface",
31899 "maxLength" : 20,
31900 "minLength" : 2,
31901 "type" : "string",
31902 "typetext" : "<string>"
56122987 31903 },
e9cd3bd4
TL
31904 "mtu" : {
31905 "description" : "MTU.",
31906 "maximum" : 65520,
31907 "minimum" : 1280,
31908 "optional" : 1,
31909 "type" : "integer",
31910 "typetext" : "<integer> (1280 - 65520)"
31911 },
4d47f125
TL
31912 "netmask" : {
31913 "description" : "Network mask.",
31914 "format" : "ipv4mask",
31915 "optional" : 1,
31916 "requires" : "address",
31917 "type" : "string",
31918 "typetext" : "<string>"
31919 },
31920 "netmask6" : {
31921 "description" : "Network mask.",
31922 "maximum" : 128,
31923 "minimum" : 0,
31924 "optional" : 1,
31925 "requires" : "address6",
31926 "type" : "integer",
31927 "typetext" : "<integer> (0 - 128)"
56122987 31928 },
44660702
DM
31929 "node" : {
31930 "description" : "The cluster node name.",
31931 "format" : "pve-node",
013dc89f
DM
31932 "type" : "string",
31933 "typetext" : "<string>"
44660702 31934 },
4d47f125
TL
31935 "ovs_bonds" : {
31936 "description" : "Specify the interfaces used by the bonding device.",
31937 "format" : "pve-iface-list",
31938 "optional" : 1,
31939 "type" : "string",
31940 "typetext" : "<string>"
31941 },
31942 "ovs_bridge" : {
31943 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
31944 "format" : "pve-iface",
31945 "optional" : 1,
31946 "type" : "string",
31947 "typetext" : "<string>"
31948 },
31949 "ovs_options" : {
31950 "description" : "OVS interface options.",
31951 "maxLength" : 1024,
31952 "optional" : 1,
31953 "type" : "string",
31954 "typetext" : "<string>"
31955 },
31956 "ovs_ports" : {
1e3f8156 31957 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31958 "format" : "pve-iface-list",
31959 "optional" : 1,
31960 "type" : "string",
31961 "typetext" : "<string>"
31962 },
31963 "ovs_tag" : {
31964 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
31965 "maximum" : 4094,
31966 "minimum" : 1,
31967 "optional" : 1,
31968 "type" : "integer",
31969 "typetext" : "<integer> (1 - 4094)"
31970 },
31971 "slaves" : {
31972 "description" : "Specify the interfaces used by the bonding device.",
31973 "format" : "pve-iface-list",
31974 "optional" : 1,
31975 "type" : "string",
31976 "typetext" : "<string>"
31977 },
31978 "type" : {
31979 "description" : "Network interface type",
44660702 31980 "enum" : [
4d47f125
TL
31981 "bridge",
31982 "bond",
31983 "eth",
31984 "alias",
31985 "vlan",
31986 "OVSBridge",
31987 "OVSBond",
31988 "OVSPort",
31989 "OVSIntPort",
31990 "unknown"
44660702
DM
31991 ],
31992 "type" : "string"
e9cd3bd4
TL
31993 },
31994 "vlan-id" : {
31995 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
31996 "maximum" : 4094,
31997 "minimum" : 1,
31998 "optional" : 1,
31999 "type" : "integer",
32000 "typetext" : "<integer> (1 - 4094)"
32001 },
32002 "vlan-raw-device" : {
32003 "description" : "Specify the raw interface for the vlan interface.",
32004 "format" : "pve-iface",
32005 "optional" : 1,
32006 "type" : "string",
32007 "typetext" : "<string>"
44660702
DM
32008 }
32009 }
32010 },
32011 "permissions" : {
32012 "check" : [
32013 "perm",
32014 "/nodes/{node}",
32015 [
4d47f125 32016 "Sys.Modify"
44660702
DM
32017 ]
32018 ]
32019 },
4d47f125
TL
32020 "protected" : 1,
32021 "proxyto" : "node",
44660702 32022 "returns" : {
4d47f125 32023 "type" : "null"
44660702
DM
32024 }
32025 }
32026 },
4d47f125
TL
32027 "leaf" : 1,
32028 "path" : "/nodes/{node}/network/{iface}",
32029 "text" : "{iface}"
44660702
DM
32030 }
32031 ],
32032 "info" : {
4d47f125 32033 "DELETE" : {
e9cd3bd4 32034 "allowtoken" : 1,
4d47f125
TL
32035 "description" : "Revert network configuration changes.",
32036 "method" : "DELETE",
32037 "name" : "revert_network_changes",
44660702
DM
32038 "parameters" : {
32039 "additionalProperties" : 0,
32040 "properties" : {
32041 "node" : {
32042 "description" : "The cluster node name.",
32043 "format" : "pve-node",
013dc89f
DM
32044 "type" : "string",
32045 "typetext" : "<string>"
44660702
DM
32046 }
32047 }
32048 },
32049 "permissions" : {
32050 "check" : [
32051 "perm",
32052 "/nodes/{node}",
32053 [
4d47f125 32054 "Sys.Modify"
44660702
DM
32055 ]
32056 ]
32057 },
32058 "protected" : 1,
32059 "proxyto" : "node",
4d47f125
TL
32060 "returns" : {
32061 "type" : "null"
32062 }
32063 },
32064 "GET" : {
e9cd3bd4 32065 "allowtoken" : 1,
4d47f125
TL
32066 "description" : "List available networks",
32067 "method" : "GET",
32068 "name" : "index",
32069 "parameters" : {
32070 "additionalProperties" : 0,
32071 "properties" : {
32072 "node" : {
32073 "description" : "The cluster node name.",
32074 "format" : "pve-node",
32075 "type" : "string",
32076 "typetext" : "<string>"
32077 },
32078 "type" : {
32079 "description" : "Only list specific interface types.",
32080 "enum" : [
32081 "bridge",
32082 "bond",
32083 "eth",
32084 "alias",
32085 "vlan",
32086 "OVSBridge",
32087 "OVSBond",
32088 "OVSPort",
32089 "OVSIntPort",
32090 "any_bridge"
32091 ],
32092 "optional" : 1,
32093 "type" : "string"
32094 }
32095 }
32096 },
32097 "permissions" : {
32098 "user" : "all"
32099 },
32100 "proxyto" : "node",
44660702
DM
32101 "returns" : {
32102 "items" : {
32103 "properties" : {},
32104 "type" : "object"
32105 },
32106 "links" : [
32107 {
4d47f125 32108 "href" : "{iface}",
44660702 32109 "rel" : "child"
56122987 32110 }
44660702
DM
32111 ],
32112 "type" : "array"
32113 }
4d47f125
TL
32114 },
32115 "POST" : {
e9cd3bd4 32116 "allowtoken" : 1,
4d47f125
TL
32117 "description" : "Create network device configuration",
32118 "method" : "POST",
32119 "name" : "create_network",
7aacca6f 32120 "parameters" : {
44660702 32121 "additionalProperties" : 0,
7aacca6f 32122 "properties" : {
4d47f125
TL
32123 "address" : {
32124 "description" : "IP address.",
32125 "format" : "ipv4",
32126 "optional" : 1,
32127 "requires" : "netmask",
32128 "type" : "string",
32129 "typetext" : "<string>"
32130 },
32131 "address6" : {
32132 "description" : "IP address.",
32133 "format" : "ipv6",
32134 "optional" : 1,
32135 "requires" : "netmask6",
32136 "type" : "string",
32137 "typetext" : "<string>"
32138 },
32139 "autostart" : {
32140 "description" : "Automatically start interface on boot.",
32141 "optional" : 1,
32142 "type" : "boolean",
32143 "typetext" : "<boolean>"
32144 },
e9cd3bd4
TL
32145 "bond-primary" : {
32146 "description" : "Specify the primary interface for active-backup bond.",
32147 "format" : "pve-iface",
32148 "optional" : 1,
32149 "type" : "string",
32150 "typetext" : "<string>"
32151 },
4d47f125
TL
32152 "bond_mode" : {
32153 "description" : "Bonding mode.",
32154 "enum" : [
32155 "balance-rr",
32156 "active-backup",
32157 "balance-xor",
32158 "broadcast",
32159 "802.3ad",
32160 "balance-tlb",
32161 "balance-alb",
32162 "balance-slb",
32163 "lacp-balance-slb",
32164 "lacp-balance-tcp"
32165 ],
32166 "optional" : 1,
32167 "type" : "string"
32168 },
32169 "bond_xmit_hash_policy" : {
32170 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
32171 "enum" : [
32172 "layer2",
32173 "layer2+3",
32174 "layer3+4"
32175 ],
32176 "optional" : 1,
32177 "type" : "string"
32178 },
32179 "bridge_ports" : {
1e3f8156 32180 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
32181 "format" : "pve-iface-list",
32182 "optional" : 1,
013dc89f
DM
32183 "type" : "string",
32184 "typetext" : "<string>"
4d47f125
TL
32185 },
32186 "bridge_vlan_aware" : {
32187 "description" : "Enable bridge vlan support.",
44660702 32188 "optional" : 1,
013dc89f
DM
32189 "type" : "boolean",
32190 "typetext" : "<boolean>"
44660702 32191 },
bb4c8cf8
TL
32192 "cidr" : {
32193 "description" : "IPv4 CIDR.",
32194 "format" : "CIDRv4",
32195 "optional" : 1,
32196 "type" : "string",
32197 "typetext" : "<string>"
32198 },
32199 "cidr6" : {
32200 "description" : "IPv6 CIDR.",
32201 "format" : "CIDRv6",
32202 "optional" : 1,
32203 "type" : "string",
32204 "typetext" : "<string>"
32205 },
4d47f125
TL
32206 "comments" : {
32207 "description" : "Comments",
32208 "optional" : 1,
32209 "type" : "string",
32210 "typetext" : "<string>"
32211 },
32212 "comments6" : {
32213 "description" : "Comments",
32214 "optional" : 1,
32215 "type" : "string",
32216 "typetext" : "<string>"
32217 },
32218 "gateway" : {
32219 "description" : "Default gateway address.",
32220 "format" : "ipv4",
32221 "optional" : 1,
32222 "type" : "string",
32223 "typetext" : "<string>"
32224 },
32225 "gateway6" : {
32226 "description" : "Default ipv6 gateway address.",
32227 "format" : "ipv6",
32228 "optional" : 1,
32229 "type" : "string",
32230 "typetext" : "<string>"
32231 },
32232 "iface" : {
32233 "description" : "Network interface name.",
32234 "format" : "pve-iface",
32235 "maxLength" : 20,
32236 "minLength" : 2,
32237 "type" : "string",
32238 "typetext" : "<string>"
32239 },
e9cd3bd4
TL
32240 "mtu" : {
32241 "description" : "MTU.",
32242 "maximum" : 65520,
32243 "minimum" : 1280,
32244 "optional" : 1,
32245 "type" : "integer",
32246 "typetext" : "<integer> (1280 - 65520)"
32247 },
4d47f125
TL
32248 "netmask" : {
32249 "description" : "Network mask.",
32250 "format" : "ipv4mask",
32251 "optional" : 1,
32252 "requires" : "address",
32253 "type" : "string",
32254 "typetext" : "<string>"
32255 },
32256 "netmask6" : {
32257 "description" : "Network mask.",
32258 "maximum" : 128,
32259 "minimum" : 0,
32260 "optional" : 1,
32261 "requires" : "address6",
32262 "type" : "integer",
32263 "typetext" : "<integer> (0 - 128)"
32264 },
7aacca6f 32265 "node" : {
7aacca6f 32266 "description" : "The cluster node name.",
44660702 32267 "format" : "pve-node",
013dc89f
DM
32268 "type" : "string",
32269 "typetext" : "<string>"
4d47f125
TL
32270 },
32271 "ovs_bonds" : {
32272 "description" : "Specify the interfaces used by the bonding device.",
32273 "format" : "pve-iface-list",
32274 "optional" : 1,
32275 "type" : "string",
32276 "typetext" : "<string>"
32277 },
32278 "ovs_bridge" : {
32279 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
32280 "format" : "pve-iface",
32281 "optional" : 1,
32282 "type" : "string",
32283 "typetext" : "<string>"
32284 },
32285 "ovs_options" : {
32286 "description" : "OVS interface options.",
32287 "maxLength" : 1024,
32288 "optional" : 1,
32289 "type" : "string",
32290 "typetext" : "<string>"
32291 },
32292 "ovs_ports" : {
1e3f8156 32293 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
32294 "format" : "pve-iface-list",
32295 "optional" : 1,
32296 "type" : "string",
32297 "typetext" : "<string>"
32298 },
32299 "ovs_tag" : {
32300 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
32301 "maximum" : 4094,
32302 "minimum" : 1,
32303 "optional" : 1,
32304 "type" : "integer",
32305 "typetext" : "<integer> (1 - 4094)"
32306 },
32307 "slaves" : {
32308 "description" : "Specify the interfaces used by the bonding device.",
32309 "format" : "pve-iface-list",
32310 "optional" : 1,
32311 "type" : "string",
32312 "typetext" : "<string>"
32313 },
32314 "type" : {
32315 "description" : "Network interface type",
32316 "enum" : [
32317 "bridge",
32318 "bond",
32319 "eth",
32320 "alias",
32321 "vlan",
32322 "OVSBridge",
32323 "OVSBond",
32324 "OVSPort",
32325 "OVSIntPort",
32326 "unknown"
32327 ],
32328 "type" : "string"
e9cd3bd4
TL
32329 },
32330 "vlan-id" : {
32331 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
32332 "maximum" : 4094,
32333 "minimum" : 1,
32334 "optional" : 1,
32335 "type" : "integer",
32336 "typetext" : "<integer> (1 - 4094)"
32337 },
32338 "vlan-raw-device" : {
32339 "description" : "Specify the raw interface for the vlan interface.",
32340 "format" : "pve-iface",
32341 "optional" : 1,
32342 "type" : "string",
32343 "typetext" : "<string>"
7aacca6f
DM
32344 }
32345 }
32346 },
35a75dd3
DM
32347 "permissions" : {
32348 "check" : [
32349 "perm",
32350 "/nodes/{node}",
32351 [
32352 "Sys.Modify"
32353 ]
32354 ]
32355 },
7aacca6f 32356 "protected" : 1,
7aacca6f 32357 "proxyto" : "node",
44660702
DM
32358 "returns" : {
32359 "type" : "null"
32360 }
32361 },
32362 "PUT" : {
e9cd3bd4 32363 "allowtoken" : 1,
4d47f125 32364 "description" : "Reload network configuration",
44660702 32365 "method" : "PUT",
4d47f125 32366 "name" : "reload_network_config",
7aacca6f
DM
32367 "parameters" : {
32368 "additionalProperties" : 0,
32369 "properties" : {
7aacca6f 32370 "node" : {
7aacca6f 32371 "description" : "The cluster node name.",
44660702 32372 "format" : "pve-node",
013dc89f
DM
32373 "type" : "string",
32374 "typetext" : "<string>"
7aacca6f
DM
32375 }
32376 }
32377 },
35a75dd3
DM
32378 "permissions" : {
32379 "check" : [
32380 "perm",
32381 "/nodes/{node}",
32382 [
32383 "Sys.Modify"
32384 ]
32385 ]
32386 },
44660702
DM
32387 "protected" : 1,
32388 "proxyto" : "node",
7aacca6f 32389 "returns" : {
4d47f125 32390 "type" : "string"
44660702 32391 }
7aacca6f
DM
32392 }
32393 },
4d47f125
TL
32394 "leaf" : 0,
32395 "path" : "/nodes/{node}/network",
32396 "text" : "network"
7aacca6f
DM
32397 },
32398 {
7aacca6f
DM
32399 "children" : [
32400 {
4d47f125
TL
32401 "children" : [
32402 {
32403 "info" : {
32404 "GET" : {
e9cd3bd4 32405 "allowtoken" : 1,
4d47f125
TL
32406 "description" : "Read task log.",
32407 "method" : "GET",
32408 "name" : "read_task_log",
32409 "parameters" : {
32410 "additionalProperties" : 0,
32411 "properties" : {
32412 "limit" : {
32413 "default" : 50,
32414 "minimum" : 0,
32415 "optional" : 1,
32416 "type" : "integer",
32417 "typetext" : "<integer> (0 - N)"
32418 },
32419 "node" : {
32420 "description" : "The cluster node name.",
32421 "format" : "pve-node",
32422 "type" : "string",
32423 "typetext" : "<string>"
32424 },
32425 "start" : {
32426 "default" : 0,
32427 "minimum" : 0,
32428 "optional" : 1,
32429 "type" : "integer",
32430 "typetext" : "<integer> (0 - N)"
32431 },
32432 "upid" : {
32433 "type" : "string",
32434 "typetext" : "<string>"
32435 }
32436 }
32437 },
32438 "permissions" : {
32439 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
32440 "user" : "all"
32441 },
32442 "protected" : 1,
32443 "proxyto" : "node",
32444 "returns" : {
32445 "items" : {
32446 "properties" : {
32447 "n" : {
32448 "description" : "Line number",
32449 "type" : "integer"
32450 },
32451 "t" : {
32452 "description" : "Line text",
32453 "type" : "string"
32454 }
32455 },
32456 "type" : "object"
32457 },
32458 "type" : "array"
32459 }
32460 }
32461 },
32462 "leaf" : 1,
32463 "path" : "/nodes/{node}/tasks/{upid}/log",
32464 "text" : "log"
32465 },
32466 {
32467 "info" : {
32468 "GET" : {
e9cd3bd4 32469 "allowtoken" : 1,
4d47f125
TL
32470 "description" : "Read task status.",
32471 "method" : "GET",
32472 "name" : "read_task_status",
32473 "parameters" : {
32474 "additionalProperties" : 0,
32475 "properties" : {
32476 "node" : {
32477 "description" : "The cluster node name.",
32478 "format" : "pve-node",
32479 "type" : "string",
32480 "typetext" : "<string>"
32481 },
32482 "upid" : {
32483 "type" : "string",
32484 "typetext" : "<string>"
32485 }
32486 }
32487 },
32488 "permissions" : {
32489 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
32490 "user" : "all"
32491 },
32492 "protected" : 1,
32493 "proxyto" : "node",
32494 "returns" : {
32495 "properties" : {
32496 "pid" : {
32497 "type" : "integer"
32498 },
32499 "status" : {
32500 "enum" : [
32501 "running",
32502 "stopped"
32503 ],
32504 "type" : "string"
32505 }
32506 },
32507 "type" : "object"
32508 }
32509 }
32510 },
32511 "leaf" : 1,
32512 "path" : "/nodes/{node}/tasks/{upid}/status",
32513 "text" : "status"
32514 }
32515 ],
56122987 32516 "info" : {
7aacca6f 32517 "DELETE" : {
e9cd3bd4 32518 "allowtoken" : 1,
4d47f125 32519 "description" : "Stop a task.",
44660702 32520 "method" : "DELETE",
4d47f125 32521 "name" : "stop_task",
44660702
DM
32522 "parameters" : {
32523 "additionalProperties" : 0,
32524 "properties" : {
44660702
DM
32525 "node" : {
32526 "description" : "The cluster node name.",
32527 "format" : "pve-node",
013dc89f
DM
32528 "type" : "string",
32529 "typetext" : "<string>"
4d47f125
TL
32530 },
32531 "upid" : {
32532 "type" : "string",
32533 "typetext" : "<string>"
44660702
DM
32534 }
32535 }
7aacca6f
DM
32536 },
32537 "permissions" : {
4d47f125
TL
32538 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
32539 "user" : "all"
7aacca6f 32540 },
44660702 32541 "protected" : 1,
7aacca6f 32542 "proxyto" : "node",
44660702
DM
32543 "returns" : {
32544 "type" : "null"
32545 }
32546 },
32547 "GET" : {
e9cd3bd4 32548 "allowtoken" : 1,
4d47f125 32549 "description" : "",
44660702 32550 "method" : "GET",
4d47f125 32551 "name" : "upid_index",
7aacca6f
DM
32552 "parameters" : {
32553 "additionalProperties" : 0,
32554 "properties" : {
7aacca6f 32555 "node" : {
44660702 32556 "description" : "The cluster node name.",
7aacca6f 32557 "format" : "pve-node",
013dc89f
DM
32558 "type" : "string",
32559 "typetext" : "<string>"
7aacca6f 32560 },
4d47f125
TL
32561 "upid" : {
32562 "type" : "string",
32563 "typetext" : "<string>"
7aacca6f
DM
32564 }
32565 }
32566 },
7aacca6f 32567 "permissions" : {
4d47f125 32568 "user" : "all"
7aacca6f
DM
32569 },
32570 "returns" : {
4d47f125
TL
32571 "items" : {
32572 "properties" : {},
32573 "type" : "object"
32574 },
32575 "links" : [
32576 {
32577 "href" : "{name}",
32578 "rel" : "child"
32579 }
32580 ],
32581 "type" : "array"
44660702 32582 }
7aacca6f
DM
32583 }
32584 },
4d47f125
TL
32585 "leaf" : 0,
32586 "path" : "/nodes/{node}/tasks/{upid}",
32587 "text" : "{upid}"
7aacca6f
DM
32588 }
32589 ],
7aacca6f 32590 "info" : {
44660702 32591 "GET" : {
e9cd3bd4 32592 "allowtoken" : 1,
4d47f125 32593 "description" : "Read task list for one node (finished tasks).",
44660702 32594 "method" : "GET",
4d47f125 32595 "name" : "node_tasks",
44660702
DM
32596 "parameters" : {
32597 "additionalProperties" : 0,
32598 "properties" : {
4d47f125
TL
32599 "errors" : {
32600 "default" : 0,
7aacca6f 32601 "optional" : 1,
4d47f125
TL
32602 "type" : "boolean",
32603 "typetext" : "<boolean>"
7aacca6f 32604 },
4d47f125
TL
32605 "limit" : {
32606 "default" : 50,
32607 "description" : "Only list this amount of tasks.",
32608 "minimum" : 0,
44660702 32609 "optional" : 1,
4d47f125
TL
32610 "type" : "integer",
32611 "typetext" : "<integer> (0 - N)"
32612 },
32613 "node" : {
32614 "description" : "The cluster node name.",
32615 "format" : "pve-node",
013dc89f
DM
32616 "type" : "string",
32617 "typetext" : "<string>"
44660702 32618 },
5f26e15b
TL
32619 "source" : {
32620 "default" : "archive",
32621 "description" : "List archived, active or all tasks.",
32622 "enum" : [
32623 "archive",
32624 "active",
32625 "all"
32626 ],
32627 "optional" : 1,
32628 "type" : "string"
32629 },
4d47f125
TL
32630 "start" : {
32631 "default" : 0,
32632 "description" : "List tasks beginning from this offset.",
32633 "minimum" : 0,
44660702 32634 "optional" : 1,
4d47f125
TL
32635 "type" : "integer",
32636 "typetext" : "<integer> (0 - N)"
44660702 32637 },
5f26e15b
TL
32638 "typefilter" : {
32639 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
32640 "optional" : 1,
32641 "type" : "string",
32642 "typetext" : "<string>"
32643 },
4d47f125
TL
32644 "userfilter" : {
32645 "description" : "Only list tasks from this user.",
44660702 32646 "optional" : 1,
013dc89f
DM
32647 "type" : "string",
32648 "typetext" : "<string>"
44660702 32649 },
4d47f125
TL
32650 "vmid" : {
32651 "description" : "Only list tasks for this VM.",
32652 "format" : "pve-vmid",
44660702
DM
32653 "minimum" : 1,
32654 "optional" : 1,
4bd7df8b 32655 "type" : "integer",
4d47f125
TL
32656 "typetext" : "<integer> (1 - N)"
32657 }
32658 }
32659 },
32660 "permissions" : {
32661 "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).",
32662 "user" : "all"
32663 },
32664 "proxyto" : "node",
32665 "returns" : {
32666 "items" : {
32667 "properties" : {
32668 "endtime" : {
32669 "optional" : 1,
32670 "title" : "Endtime",
32671 "type" : "integer"
32672 },
32673 "id" : {
4d47f125
TL
32674 "title" : "ID",
32675 "type" : "string"
32676 },
32677 "node" : {
4d47f125
TL
32678 "title" : "Node",
32679 "type" : "string"
32680 },
32681 "pid" : {
4d47f125
TL
32682 "title" : "PID",
32683 "type" : "integer"
32684 },
32685 "pstart" : {
4d47f125
TL
32686 "type" : "integer"
32687 },
32688 "starttime" : {
4d47f125
TL
32689 "title" : "Starttime",
32690 "type" : "integer"
32691 },
32692 "status" : {
32693 "optional" : 1,
32694 "title" : "Status",
32695 "type" : "string"
32696 },
32697 "type" : {
4d47f125
TL
32698 "title" : "Type",
32699 "type" : "string"
32700 },
32701 "upid" : {
32702 "title" : "UPID",
32703 "type" : "string"
32704 },
32705 "user" : {
4d47f125
TL
32706 "title" : "User",
32707 "type" : "string"
32708 }
44660702 32709 },
4d47f125
TL
32710 "type" : "object"
32711 },
32712 "links" : [
32713 {
32714 "href" : "{upid}",
32715 "rel" : "child"
32716 }
32717 ],
32718 "type" : "array"
32719 }
32720 }
32721 },
32722 "leaf" : 0,
32723 "path" : "/nodes/{node}/tasks",
32724 "text" : "tasks"
32725 },
32726 {
32727 "children" : [
32728 {
32729 "info" : {
32730 "GET" : {
e9cd3bd4 32731 "allowtoken" : 1,
4d47f125
TL
32732 "description" : "Scan zfs pool list on local node.",
32733 "method" : "GET",
32734 "name" : "zfsscan",
32735 "parameters" : {
32736 "additionalProperties" : 0,
32737 "properties" : {
32738 "node" : {
32739 "description" : "The cluster node name.",
32740 "format" : "pve-node",
32741 "type" : "string",
32742 "typetext" : "<string>"
32743 }
32744 }
44660702 32745 },
4d47f125
TL
32746 "permissions" : {
32747 "check" : [
32748 "perm",
32749 "/storage",
32750 [
32751 "Datastore.Allocate"
32752 ]
32753 ]
32754 },
32755 "protected" : 1,
32756 "proxyto" : "node",
32757 "returns" : {
32758 "items" : {
32759 "properties" : {
32760 "pool" : {
32761 "description" : "ZFS pool name.",
32762 "type" : "string"
32763 }
32764 },
32765 "type" : "object"
32766 },
32767 "type" : "array"
32768 }
32769 }
32770 },
32771 "leaf" : 1,
32772 "path" : "/nodes/{node}/scan/zfs",
32773 "text" : "zfs"
32774 },
32775 {
32776 "info" : {
32777 "GET" : {
e9cd3bd4 32778 "allowtoken" : 1,
4d47f125
TL
32779 "description" : "Scan remote NFS server.",
32780 "method" : "GET",
32781 "name" : "nfsscan",
32782 "parameters" : {
32783 "additionalProperties" : 0,
32784 "properties" : {
32785 "node" : {
32786 "description" : "The cluster node name.",
32787 "format" : "pve-node",
32788 "type" : "string",
32789 "typetext" : "<string>"
32790 },
32791 "server" : {
32792 "description" : "The server address (name or IP).",
32793 "format" : "pve-storage-server",
32794 "type" : "string",
32795 "typetext" : "<string>"
32796 }
32797 }
32798 },
32799 "permissions" : {
32800 "check" : [
32801 "perm",
32802 "/storage",
32803 [
32804 "Datastore.Allocate"
32805 ]
32806 ]
32807 },
32808 "protected" : 1,
32809 "proxyto" : "node",
32810 "returns" : {
32811 "items" : {
32812 "properties" : {
32813 "options" : {
32814 "description" : "NFS export options.",
32815 "type" : "string"
32816 },
32817 "path" : {
32818 "description" : "The exported path.",
32819 "type" : "string"
32820 }
32821 },
32822 "type" : "object"
32823 },
32824 "type" : "array"
32825 }
32826 }
32827 },
32828 "leaf" : 1,
32829 "path" : "/nodes/{node}/scan/nfs",
32830 "text" : "nfs"
32831 },
32832 {
32833 "info" : {
32834 "GET" : {
e9cd3bd4 32835 "allowtoken" : 1,
4d47f125
TL
32836 "description" : "Scan remote CIFS server.",
32837 "method" : "GET",
32838 "name" : "cifsscan",
32839 "parameters" : {
32840 "additionalProperties" : 0,
32841 "properties" : {
32842 "domain" : {
32843 "description" : "SMB domain (Workgroup).",
32844 "optional" : 1,
32845 "type" : "string",
32846 "typetext" : "<string>"
32847 },
32848 "node" : {
32849 "description" : "The cluster node name.",
32850 "format" : "pve-node",
32851 "type" : "string",
32852 "typetext" : "<string>"
32853 },
32854 "password" : {
32855 "description" : "User password.",
32856 "optional" : 1,
32857 "type" : "string",
32858 "typetext" : "<string>"
32859 },
32860 "server" : {
32861 "description" : "The server address (name or IP).",
32862 "format" : "pve-storage-server",
32863 "type" : "string",
32864 "typetext" : "<string>"
32865 },
32866 "username" : {
32867 "description" : "User name.",
32868 "optional" : 1,
32869 "type" : "string",
32870 "typetext" : "<string>"
32871 }
32872 }
32873 },
32874 "permissions" : {
32875 "check" : [
32876 "perm",
32877 "/storage",
32878 [
32879 "Datastore.Allocate"
32880 ]
32881 ]
32882 },
32883 "protected" : 1,
32884 "proxyto" : "node",
32885 "returns" : {
32886 "items" : {
32887 "properties" : {
32888 "description" : {
32889 "description" : "Descriptive text from server.",
32890 "type" : "string"
32891 },
32892 "share" : {
32893 "description" : "The cifs share name.",
32894 "type" : "string"
32895 }
32896 },
32897 "type" : "object"
32898 },
32899 "type" : "array"
56122987 32900 }
44660702 32901 }
56122987 32902 },
4d47f125
TL
32903 "leaf" : 1,
32904 "path" : "/nodes/{node}/scan/cifs",
32905 "text" : "cifs"
32906 },
44660702 32907 {
4d47f125
TL
32908 "info" : {
32909 "GET" : {
e9cd3bd4 32910 "allowtoken" : 1,
4d47f125
TL
32911 "description" : "Scan remote GlusterFS server.",
32912 "method" : "GET",
32913 "name" : "glusterfsscan",
32914 "parameters" : {
32915 "additionalProperties" : 0,
32916 "properties" : {
32917 "node" : {
32918 "description" : "The cluster node name.",
32919 "format" : "pve-node",
32920 "type" : "string",
32921 "typetext" : "<string>"
7aacca6f 32922 },
4d47f125
TL
32923 "server" : {
32924 "description" : "The server address (name or IP).",
32925 "format" : "pve-storage-server",
32926 "type" : "string",
32927 "typetext" : "<string>"
44660702 32928 }
7aacca6f 32929 }
56122987 32930 },
4d47f125
TL
32931 "permissions" : {
32932 "check" : [
32933 "perm",
32934 "/storage",
32935 [
32936 "Datastore.Allocate"
32937 ]
32938 ]
32939 },
32940 "protected" : 1,
32941 "proxyto" : "node",
32942 "returns" : {
32943 "items" : {
32944 "properties" : {
32945 "volname" : {
32946 "description" : "The volume name.",
32947 "type" : "string"
7aacca6f
DM
32948 }
32949 },
4d47f125
TL
32950 "type" : "object"
32951 },
32952 "type" : "array"
32953 }
32954 }
32955 },
32956 "leaf" : 1,
32957 "path" : "/nodes/{node}/scan/glusterfs",
32958 "text" : "glusterfs"
32959 },
32960 {
32961 "info" : {
32962 "GET" : {
e9cd3bd4 32963 "allowtoken" : 1,
4d47f125
TL
32964 "description" : "Scan remote iSCSI server.",
32965 "method" : "GET",
32966 "name" : "iscsiscan",
32967 "parameters" : {
32968 "additionalProperties" : 0,
32969 "properties" : {
32970 "node" : {
32971 "description" : "The cluster node name.",
32972 "format" : "pve-node",
32973 "type" : "string",
32974 "typetext" : "<string>"
56122987 32975 },
4d47f125
TL
32976 "portal" : {
32977 "description" : "The iSCSI portal (IP or DNS name with optional port).",
32978 "format" : "pve-storage-portal-dns",
32979 "type" : "string",
32980 "typetext" : "<string>"
32981 }
32982 }
32983 },
32984 "permissions" : {
32985 "check" : [
32986 "perm",
32987 "/storage",
32988 [
32989 "Datastore.Allocate"
32990 ]
32991 ]
32992 },
32993 "protected" : 1,
32994 "proxyto" : "node",
32995 "returns" : {
32996 "items" : {
32997 "properties" : {
32998 "portal" : {
32999 "description" : "The iSCSI portal name.",
33000 "type" : "string"
7aacca6f 33001 },
4d47f125
TL
33002 "target" : {
33003 "description" : "The iSCSI target name.",
33004 "type" : "string"
33005 }
33006 },
33007 "type" : "object"
33008 },
33009 "type" : "array"
33010 }
33011 }
33012 },
33013 "leaf" : 1,
33014 "path" : "/nodes/{node}/scan/iscsi",
33015 "text" : "iscsi"
33016 },
33017 {
33018 "info" : {
33019 "GET" : {
e9cd3bd4 33020 "allowtoken" : 1,
4d47f125
TL
33021 "description" : "List local LVM volume groups.",
33022 "method" : "GET",
33023 "name" : "lvmscan",
33024 "parameters" : {
33025 "additionalProperties" : 0,
33026 "properties" : {
33027 "node" : {
33028 "description" : "The cluster node name.",
33029 "format" : "pve-node",
33030 "type" : "string",
33031 "typetext" : "<string>"
56122987 33032 }
7aacca6f 33033 }
44660702 33034 },
4d47f125
TL
33035 "permissions" : {
33036 "check" : [
33037 "perm",
33038 "/storage",
33039 [
33040 "Datastore.Allocate"
33041 ]
33042 ]
33043 },
33044 "protected" : 1,
33045 "proxyto" : "node",
33046 "returns" : {
33047 "items" : {
33048 "properties" : {
33049 "vg" : {
33050 "description" : "The LVM logical volume group name.",
33051 "type" : "string"
33052 }
33053 },
33054 "type" : "object"
33055 },
33056 "type" : "array"
33057 }
56122987 33058 }
4d47f125
TL
33059 },
33060 "leaf" : 1,
33061 "path" : "/nodes/{node}/scan/lvm",
33062 "text" : "lvm"
33063 },
33064 {
44660702 33065 "info" : {
4d47f125 33066 "GET" : {
e9cd3bd4 33067 "allowtoken" : 1,
4d47f125
TL
33068 "description" : "List local LVM Thin Pools.",
33069 "method" : "GET",
33070 "name" : "lvmthinscan",
44660702
DM
33071 "parameters" : {
33072 "additionalProperties" : 0,
33073 "properties" : {
33074 "node" : {
33075 "description" : "The cluster node name.",
33076 "format" : "pve-node",
013dc89f
DM
33077 "type" : "string",
33078 "typetext" : "<string>"
44660702 33079 },
4d47f125
TL
33080 "vg" : {
33081 "maxLength" : 100,
33082 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
33083 "type" : "string"
44660702 33084 }
7aacca6f 33085 }
44660702
DM
33086 },
33087 "permissions" : {
4d47f125
TL
33088 "check" : [
33089 "perm",
33090 "/storage",
33091 [
33092 "Datastore.Allocate"
33093 ]
33094 ]
44660702
DM
33095 },
33096 "protected" : 1,
33097 "proxyto" : "node",
33098 "returns" : {
4d47f125
TL
33099 "items" : {
33100 "properties" : {
33101 "lv" : {
33102 "description" : "The LVM Thin Pool name (LVM logical volume).",
33103 "type" : "string"
33104 }
33105 },
33106 "type" : "object"
33107 },
33108 "type" : "array"
7aacca6f 33109 }
4d47f125
TL
33110 }
33111 },
33112 "leaf" : 1,
33113 "path" : "/nodes/{node}/scan/lvmthin",
33114 "text" : "lvmthin"
33115 },
33116 {
33117 "info" : {
44660702 33118 "GET" : {
e9cd3bd4 33119 "allowtoken" : 1,
4d47f125 33120 "description" : "List local USB devices.",
44660702 33121 "method" : "GET",
4d47f125 33122 "name" : "usbscan",
44660702
DM
33123 "parameters" : {
33124 "additionalProperties" : 0,
33125 "properties" : {
33126 "node" : {
33127 "description" : "The cluster node name.",
33128 "format" : "pve-node",
013dc89f
DM
33129 "type" : "string",
33130 "typetext" : "<string>"
44660702
DM
33131 }
33132 }
33133 },
33134 "permissions" : {
4d47f125
TL
33135 "check" : [
33136 "perm",
33137 "/",
33138 [
33139 "Sys.Modify"
33140 ]
33141 ]
44660702 33142 },
4d47f125
TL
33143 "protected" : 1,
33144 "proxyto" : "node",
44660702
DM
33145 "returns" : {
33146 "items" : {
4d47f125
TL
33147 "properties" : {
33148 "busnum" : {
33149 "type" : "integer"
33150 },
33151 "class" : {
33152 "type" : "integer"
33153 },
33154 "devnum" : {
33155 "type" : "integer"
33156 },
33157 "level" : {
33158 "type" : "integer"
33159 },
33160 "manufacturer" : {
33161 "optional" : 1,
33162 "type" : "string"
33163 },
33164 "port" : {
33165 "type" : "integer"
33166 },
33167 "prodid" : {
33168 "type" : "string"
33169 },
33170 "product" : {
33171 "optional" : 1,
33172 "type" : "string"
33173 },
33174 "serial" : {
33175 "optional" : 1,
33176 "type" : "string"
33177 },
33178 "speed" : {
33179 "type" : "string"
33180 },
33181 "usbpath" : {
33182 "optional" : 1,
33183 "type" : "string"
33184 },
33185 "vendid" : {
33186 "type" : "string"
33187 }
33188 },
44660702
DM
33189 "type" : "object"
33190 },
44660702 33191 "type" : "array"
56122987 33192 }
44660702 33193 }
56122987 33194 },
4d47f125
TL
33195 "leaf" : 1,
33196 "path" : "/nodes/{node}/scan/usb",
33197 "text" : "usb"
44660702
DM
33198 }
33199 ],
33200 "info" : {
33201 "GET" : {
e9cd3bd4 33202 "allowtoken" : 1,
4d47f125 33203 "description" : "Index of available scan methods",
44660702 33204 "method" : "GET",
4d47f125 33205 "name" : "index",
56122987 33206 "parameters" : {
7aacca6f 33207 "additionalProperties" : 0,
56122987 33208 "properties" : {
56122987
DM
33209 "node" : {
33210 "description" : "The cluster node name.",
44660702 33211 "format" : "pve-node",
013dc89f
DM
33212 "type" : "string",
33213 "typetext" : "<string>"
56122987
DM
33214 }
33215 }
33216 },
7aacca6f
DM
33217 "permissions" : {
33218 "user" : "all"
33219 },
56122987
DM
33220 "returns" : {
33221 "items" : {
33222 "properties" : {
4d47f125 33223 "method" : {
56122987
DM
33224 "type" : "string"
33225 }
33226 },
33227 "type" : "object"
33228 },
56122987
DM
33229 "links" : [
33230 {
4d47f125 33231 "href" : "{method}",
44660702 33232 "rel" : "child"
56122987 33233 }
44660702
DM
33234 ],
33235 "type" : "array"
56122987
DM
33236 }
33237 }
33238 },
44660702 33239 "leaf" : 0,
4d47f125
TL
33240 "path" : "/nodes/{node}/scan",
33241 "text" : "scan"
44660702 33242 },
e2d681b3
TL
33243 {
33244 "children" : [
33245 {
33246 "children" : [
33247 {
33248 "children" : [
33249 {
33250 "info" : {
33251 "GET" : {
e9cd3bd4 33252 "allowtoken" : 1,
e2d681b3
TL
33253 "description" : "List mediated device types for given PCI device.",
33254 "method" : "GET",
33255 "name" : "mdevscan",
33256 "parameters" : {
33257 "additionalProperties" : 0,
33258 "properties" : {
33259 "node" : {
33260 "description" : "The cluster node name.",
33261 "format" : "pve-node",
33262 "type" : "string",
33263 "typetext" : "<string>"
33264 },
33265 "pciid" : {
33266 "description" : "The PCI ID to list the mdev types for.",
33267 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
33268 "type" : "string"
33269 }
33270 }
33271 },
33272 "permissions" : {
33273 "check" : [
33274 "perm",
33275 "/",
33276 [
33277 "Sys.Modify"
33278 ]
33279 ]
33280 },
33281 "protected" : 1,
33282 "proxyto" : "node",
33283 "returns" : {
33284 "items" : {
33285 "properties" : {
33286 "available" : {
33287 "description" : "The number of still available instances of this type.",
33288 "type" : "integer"
33289 },
33290 "description" : {
33291 "type" : "string"
33292 },
33293 "type" : {
33294 "description" : "The name of the mdev type.",
33295 "type" : "string"
33296 }
33297 },
33298 "type" : "object"
33299 },
33300 "type" : "array"
33301 }
33302 }
33303 },
33304 "leaf" : 1,
33305 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
33306 "text" : "mdev"
33307 }
33308 ],
33309 "info" : {
33310 "GET" : {
e9cd3bd4 33311 "allowtoken" : 1,
e2d681b3
TL
33312 "description" : "Index of available pci methods",
33313 "method" : "GET",
33314 "name" : "pciindex",
33315 "parameters" : {
33316 "additionalProperties" : 0,
33317 "properties" : {
33318 "node" : {
33319 "description" : "The cluster node name.",
33320 "format" : "pve-node",
33321 "type" : "string",
33322 "typetext" : "<string>"
33323 },
33324 "pciid" : {
33325 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
33326 "type" : "string"
33327 }
33328 }
33329 },
33330 "permissions" : {
33331 "user" : "all"
33332 },
33333 "returns" : {
33334 "items" : {
33335 "properties" : {
33336 "method" : {
33337 "type" : "string"
33338 }
33339 },
33340 "type" : "object"
33341 },
33342 "links" : [
33343 {
33344 "href" : "{method}",
33345 "rel" : "child"
33346 }
33347 ],
33348 "type" : "array"
33349 }
33350 }
33351 },
33352 "leaf" : 0,
33353 "path" : "/nodes/{node}/hardware/pci/{pciid}",
33354 "text" : "{pciid}"
33355 }
33356 ],
33357 "info" : {
33358 "GET" : {
e9cd3bd4 33359 "allowtoken" : 1,
e2d681b3
TL
33360 "description" : "List local PCI devices.",
33361 "method" : "GET",
33362 "name" : "pciscan",
33363 "parameters" : {
33364 "additionalProperties" : 0,
33365 "properties" : {
33366 "node" : {
33367 "description" : "The cluster node name.",
33368 "format" : "pve-node",
33369 "type" : "string",
33370 "typetext" : "<string>"
33371 },
33372 "pci-class-blacklist" : {
33373 "default" : "05;06;08;0b",
33374 "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).",
33375 "format" : "string-list",
33376 "optional" : 1,
33377 "type" : "string",
33378 "typetext" : "<string>"
33379 },
33380 "verbose" : {
33381 "default" : 1,
33382 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
33383 "optional" : 1,
33384 "type" : "boolean",
33385 "typetext" : "<boolean>"
33386 }
33387 }
33388 },
33389 "permissions" : {
33390 "check" : [
33391 "perm",
33392 "/",
33393 [
33394 "Sys.Modify"
33395 ]
33396 ]
33397 },
33398 "protected" : 1,
33399 "proxyto" : "node",
33400 "returns" : {
33401 "items" : {
33402 "properties" : {
33403 "class" : {
33404 "description" : "The PCI Class of the device.",
33405 "type" : "string"
33406 },
33407 "device" : {
33408 "description" : "The Device ID.",
33409 "type" : "string"
33410 },
33411 "device_name" : {
33412 "optional" : 1,
33413 "type" : "string"
33414 },
33415 "id" : {
33416 "description" : "The PCI ID.",
33417 "type" : "string"
33418 },
33419 "iommugroup" : {
33420 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
33421 "type" : "integer"
33422 },
33423 "mdev" : {
33424 "description" : "If set, marks that the device is capable of creating mediated devices.",
33425 "optional" : 1,
33426 "type" : "boolean"
33427 },
33428 "subsystem_device" : {
33429 "description" : "The Subsystem Device ID.",
33430 "optional" : 1,
33431 "type" : "string"
33432 },
33433 "subsystem_device_name" : {
33434 "optional" : 1,
33435 "type" : "string"
33436 },
33437 "subsystem_vendor" : {
33438 "description" : "The Subsystem Vendor ID.",
33439 "optional" : 1,
33440 "type" : "string"
33441 },
33442 "subsystem_vendor_name" : {
33443 "optional" : 1,
33444 "type" : "string"
33445 },
33446 "vendor" : {
33447 "description" : "The Vendor ID.",
33448 "type" : "string"
33449 },
33450 "vendor_name" : {
33451 "optional" : 1,
33452 "type" : "string"
33453 }
33454 },
33455 "type" : "object"
33456 },
33457 "links" : [
33458 {
33459 "href" : "{id}",
33460 "rel" : "child"
33461 }
33462 ],
33463 "type" : "array"
33464 }
33465 }
33466 },
33467 "leaf" : 0,
33468 "path" : "/nodes/{node}/hardware/pci",
33469 "text" : "pci"
33470 }
33471 ],
33472 "info" : {
33473 "GET" : {
e9cd3bd4 33474 "allowtoken" : 1,
e2d681b3
TL
33475 "description" : "Index of hardware types",
33476 "method" : "GET",
33477 "name" : "index",
33478 "parameters" : {
33479 "additionalProperties" : 0,
33480 "properties" : {
33481 "node" : {
33482 "description" : "The cluster node name.",
33483 "format" : "pve-node",
33484 "type" : "string",
33485 "typetext" : "<string>"
33486 }
33487 }
33488 },
33489 "permissions" : {
33490 "user" : "all"
33491 },
33492 "returns" : {
33493 "items" : {
33494 "properties" : {
33495 "type" : {
33496 "type" : "string"
33497 }
33498 },
33499 "type" : "object"
33500 },
33501 "links" : [
33502 {
33503 "href" : "{type}",
33504 "rel" : "child"
33505 }
33506 ],
33507 "type" : "array"
33508 }
33509 }
33510 },
33511 "leaf" : 0,
33512 "path" : "/nodes/{node}/hardware",
33513 "text" : "hardware"
33514 },
44660702 33515 {
56122987
DM
33516 "children" : [
33517 {
4d47f125 33518 "children" : [
739d4d64
TL
33519 {
33520 "info" : {
33521 "DELETE" : {
33522 "allowtoken" : 1,
33523 "description" : "Prune backups. Only those using the standard naming scheme are considered.",
33524 "method" : "DELETE",
33525 "name" : "delete",
33526 "parameters" : {
33527 "additionalProperties" : 0,
33528 "properties" : {
33529 "node" : {
33530 "description" : "The cluster node name.",
33531 "format" : "pve-node",
33532 "type" : "string",
33533 "typetext" : "<string>"
33534 },
33535 "prune-backups" : {
33536 "description" : "Use these retention options instead of those from the storage configuration.",
33537 "format" : "prune-backups",
33538 "optional" : 1,
33539 "type" : "string",
4772952b 33540 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64
TL
33541 },
33542 "storage" : {
33543 "description" : "The storage identifier.",
33544 "format" : "pve-storage-id",
33545 "type" : "string",
33546 "typetext" : "<string>"
33547 },
33548 "type" : {
33549 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
33550 "enum" : [
33551 "qemu",
33552 "lxc"
33553 ],
33554 "optional" : 1,
33555 "type" : "string"
33556 },
33557 "vmid" : {
33558 "description" : "Only prune backups for this VM.",
33559 "format" : "pve-vmid",
33560 "minimum" : 1,
33561 "optional" : 1,
33562 "type" : "integer",
33563 "typetext" : "<integer> (1 - N)"
33564 }
33565 }
33566 },
33567 "permissions" : {
33568 "description" : "You need the 'Datastore.Allocate' privilege on the storage (or if a VM ID is specified, 'Datastore.AllocateSpace' and 'VM.Backup' for the VM).",
33569 "user" : "all"
33570 },
33571 "protected" : 1,
33572 "proxyto" : "node",
33573 "returns" : {
33574 "type" : "string"
33575 }
33576 },
33577 "GET" : {
33578 "allowtoken" : 1,
4772952b 33579 "description" : "Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.",
739d4d64
TL
33580 "method" : "GET",
33581 "name" : "dryrun",
33582 "parameters" : {
33583 "additionalProperties" : 0,
33584 "properties" : {
33585 "node" : {
33586 "description" : "The cluster node name.",
33587 "format" : "pve-node",
33588 "type" : "string",
33589 "typetext" : "<string>"
33590 },
33591 "prune-backups" : {
33592 "description" : "Use these retention options instead of those from the storage configuration.",
33593 "format" : "prune-backups",
33594 "optional" : 1,
33595 "type" : "string",
4772952b 33596 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64
TL
33597 },
33598 "storage" : {
33599 "description" : "The storage identifier.",
33600 "format" : "pve-storage-id",
33601 "type" : "string",
33602 "typetext" : "<string>"
33603 },
33604 "type" : {
33605 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
33606 "enum" : [
33607 "qemu",
33608 "lxc"
33609 ],
33610 "optional" : 1,
33611 "type" : "string"
33612 },
33613 "vmid" : {
33614 "description" : "Only consider backups for this guest.",
33615 "format" : "pve-vmid",
33616 "minimum" : 1,
33617 "optional" : 1,
33618 "type" : "integer",
33619 "typetext" : "<integer> (1 - N)"
33620 }
33621 }
33622 },
33623 "permissions" : {
33624 "check" : [
33625 "perm",
33626 "/storage/{storage}",
33627 [
33628 "Datastore.Audit",
33629 "Datastore.AllocateSpace"
33630 ],
33631 "any",
33632 1
33633 ]
33634 },
33635 "protected" : 1,
33636 "proxyto" : "node",
33637 "returns" : {
33638 "items" : {
33639 "properties" : {
33640 "ctime" : {
33641 "description" : "Creation time of the backup (seconds since the UNIX epoch).",
33642 "type" : "integer"
33643 },
33644 "mark" : {
33645 "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
33646 "type" : "string"
33647 },
33648 "type" : {
33649 "description" : "One of 'qemu', 'lxc', 'openvz' or 'unknown'.",
33650 "type" : "string"
33651 },
33652 "vmid" : {
33653 "description" : "The VM the backup belongs to.",
33654 "optional" : 1,
33655 "type" : "integer"
33656 },
33657 "volid" : {
33658 "description" : "Backup volume ID.",
33659 "type" : "string"
33660 }
33661 },
33662 "type" : "object"
33663 },
33664 "type" : "array"
33665 }
33666 }
33667 },
33668 "leaf" : 1,
33669 "path" : "/nodes/{node}/storage/{storage}/prunebackups",
33670 "text" : "prunebackups"
33671 },
4d47f125
TL
33672 {
33673 "children" : [
33674 {
33675 "info" : {
33676 "DELETE" : {
e9cd3bd4 33677 "allowtoken" : 1,
4d47f125
TL
33678 "description" : "Delete volume",
33679 "method" : "DELETE",
33680 "name" : "delete",
33681 "parameters" : {
33682 "additionalProperties" : 0,
33683 "properties" : {
1c532546
TL
33684 "delay" : {
33685 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
33686 "maximum" : 30,
33687 "minimum" : 1,
33688 "optional" : 1,
33689 "type" : "integer",
33690 "typetext" : "<integer> (1 - 30)"
33691 },
4d47f125
TL
33692 "node" : {
33693 "description" : "The cluster node name.",
33694 "format" : "pve-node",
33695 "type" : "string",
33696 "typetext" : "<string>"
33697 },
33698 "storage" : {
33699 "description" : "The storage identifier.",
33700 "format" : "pve-storage-id",
33701 "optional" : 1,
33702 "type" : "string",
33703 "typetext" : "<string>"
33704 },
33705 "volume" : {
33706 "description" : "Volume identifier",
33707 "type" : "string",
33708 "typetext" : "<string>"
33709 }
33710 }
33711 },
33712 "permissions" : {
33713 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
33714 "user" : "all"
33715 },
33716 "protected" : 1,
33717 "proxyto" : "node",
33718 "returns" : {
1c532546
TL
33719 "optional" : 1,
33720 "type" : "string"
4d47f125
TL
33721 }
33722 },
33723 "GET" : {
e9cd3bd4 33724 "allowtoken" : 1,
4d47f125
TL
33725 "description" : "Get volume attributes",
33726 "method" : "GET",
33727 "name" : "info",
33728 "parameters" : {
33729 "additionalProperties" : 0,
33730 "properties" : {
33731 "node" : {
33732 "description" : "The cluster node name.",
33733 "format" : "pve-node",
33734 "type" : "string",
33735 "typetext" : "<string>"
33736 },
33737 "storage" : {
33738 "description" : "The storage identifier.",
33739 "format" : "pve-storage-id",
33740 "optional" : 1,
33741 "type" : "string",
33742 "typetext" : "<string>"
33743 },
33744 "volume" : {
33745 "description" : "Volume identifier",
33746 "type" : "string",
33747 "typetext" : "<string>"
33748 }
33749 }
33750 },
33751 "permissions" : {
33752 "description" : "You need read access for the volume.",
33753 "user" : "all"
33754 },
33755 "protected" : 1,
33756 "proxyto" : "node",
33757 "returns" : {
4772952b
TL
33758 "properties" : {
33759 "format" : {
33760 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
33761 "type" : "string"
33762 },
33763 "notes" : {
33764 "description" : "Optional notes.",
33765 "optional" : 1,
33766 "type" : "string"
33767 },
33768 "path" : {
33769 "description" : "The Path",
33770 "type" : "string"
33771 },
33772 "size" : {
33773 "description" : "Volume size in bytes.",
33774 "renderer" : "bytes",
33775 "type" : "integer"
33776 },
33777 "used" : {
33778 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
33779 "renderer" : "bytes",
33780 "type" : "integer"
33781 }
33782 },
4d47f125
TL
33783 "type" : "object"
33784 }
33785 },
33786 "POST" : {
e9cd3bd4 33787 "allowtoken" : 1,
4d47f125
TL
33788 "description" : "Copy a volume. This is experimental code - do not use.",
33789 "method" : "POST",
33790 "name" : "copy",
33791 "parameters" : {
33792 "additionalProperties" : 0,
33793 "properties" : {
33794 "node" : {
33795 "description" : "The cluster node name.",
33796 "format" : "pve-node",
33797 "type" : "string",
33798 "typetext" : "<string>"
33799 },
33800 "storage" : {
33801 "description" : "The storage identifier.",
33802 "format" : "pve-storage-id",
33803 "optional" : 1,
33804 "type" : "string",
33805 "typetext" : "<string>"
33806 },
33807 "target" : {
33808 "description" : "Target volume identifier",
33809 "type" : "string",
33810 "typetext" : "<string>"
33811 },
33812 "target_node" : {
33813 "description" : "Target node. Default is local node.",
33814 "format" : "pve-node",
33815 "optional" : 1,
33816 "type" : "string",
33817 "typetext" : "<string>"
33818 },
33819 "volume" : {
33820 "description" : "Source volume identifier",
33821 "type" : "string",
33822 "typetext" : "<string>"
33823 }
33824 }
33825 },
33826 "protected" : 1,
33827 "proxyto" : "node",
33828 "returns" : {
33829 "type" : "string"
33830 }
4772952b
TL
33831 },
33832 "PUT" : {
33833 "allowtoken" : 1,
33834 "description" : "Update volume attributes",
33835 "method" : "PUT",
33836 "name" : "updateattributes",
33837 "parameters" : {
33838 "additionalProperties" : 0,
33839 "properties" : {
33840 "node" : {
33841 "description" : "The cluster node name.",
33842 "format" : "pve-node",
33843 "type" : "string",
33844 "typetext" : "<string>"
33845 },
33846 "notes" : {
33847 "description" : "The new notes.",
33848 "optional" : 1,
33849 "type" : "string",
33850 "typetext" : "<string>"
33851 },
33852 "storage" : {
33853 "description" : "The storage identifier.",
33854 "format" : "pve-storage-id",
33855 "optional" : 1,
33856 "type" : "string",
33857 "typetext" : "<string>"
33858 },
33859 "volume" : {
33860 "description" : "Volume identifier",
33861 "type" : "string",
33862 "typetext" : "<string>"
33863 }
33864 }
33865 },
33866 "permissions" : {
33867 "description" : "You need read access for the volume.",
33868 "user" : "all"
33869 },
33870 "protected" : 1,
33871 "proxyto" : "node",
33872 "returns" : {
33873 "type" : "null"
33874 }
4d47f125
TL
33875 }
33876 },
33877 "leaf" : 1,
33878 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
33879 "text" : "{volume}"
44660702 33880 }
4d47f125
TL
33881 ],
33882 "info" : {
33883 "GET" : {
e9cd3bd4 33884 "allowtoken" : 1,
4d47f125
TL
33885 "description" : "List storage content.",
33886 "method" : "GET",
33887 "name" : "index",
33888 "parameters" : {
33889 "additionalProperties" : 0,
33890 "properties" : {
33891 "content" : {
33892 "description" : "Only list content of this type.",
33893 "format" : "pve-storage-content",
33894 "optional" : 1,
33895 "type" : "string",
33896 "typetext" : "<string>"
33897 },
33898 "node" : {
33899 "description" : "The cluster node name.",
33900 "format" : "pve-node",
33901 "type" : "string",
33902 "typetext" : "<string>"
33903 },
33904 "storage" : {
33905 "description" : "The storage identifier.",
33906 "format" : "pve-storage-id",
33907 "type" : "string",
33908 "typetext" : "<string>"
33909 },
33910 "vmid" : {
33911 "description" : "Only list images for this VM",
33912 "format" : "pve-vmid",
33913 "minimum" : 1,
33914 "optional" : 1,
33915 "type" : "integer",
33916 "typetext" : "<integer> (1 - N)"
33917 }
56122987 33918 }
44660702 33919 },
4d47f125
TL
33920 "permissions" : {
33921 "check" : [
33922 "perm",
33923 "/storage/{storage}",
33924 [
33925 "Datastore.Audit",
33926 "Datastore.AllocateSpace"
33927 ],
33928 "any",
33929 1
33930 ]
7aacca6f 33931 },
4d47f125
TL
33932 "protected" : 1,
33933 "proxyto" : "node",
33934 "returns" : {
33935 "items" : {
33936 "properties" : {
c5aa7e14
TL
33937 "ctime" : {
33938 "description" : "Creation time (seconds since the UNIX Epoch).",
33939 "minimum" : 0,
33940 "optional" : 1,
33941 "type" : "integer"
33942 },
4d47f125
TL
33943 "format" : {
33944 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
33945 "type" : "string"
33946 },
4772952b
TL
33947 "notes" : {
33948 "description" : "Optional notes. If they contain multiple lines, only the first one is returned here.",
33949 "optional" : 1,
33950 "type" : "string"
33951 },
4d47f125
TL
33952 "parent" : {
33953 "description" : "Volume identifier of parent (for linked cloned).",
33954 "optional" : 1,
33955 "type" : "string"
33956 },
33957 "size" : {
33958 "description" : "Volume size in bytes.",
33959 "renderer" : "bytes",
33960 "type" : "integer"
33961 },
33962 "used" : {
c5aa7e14 33963 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
4d47f125
TL
33964 "optional" : 1,
33965 "renderer" : "bytes",
33966 "type" : "integer"
33967 },
4772952b
TL
33968 "verification" : {
33969 "description" : "Last backup verification result, only useful for PBS storages.",
33970 "optional" : 1,
33971 "properties" : {
33972 "state" : {
33973 "description" : "Last backup verification state.",
33974 "type" : "string"
33975 },
33976 "upid" : {
33977 "description" : "Last backup verification UPID.",
33978 "type" : "string"
33979 }
33980 },
33981 "type" : "object"
33982 },
4d47f125
TL
33983 "vmid" : {
33984 "description" : "Associated Owner VMID.",
33985 "optional" : 1,
33986 "type" : "integer"
33987 },
33988 "volid" : {
33989 "description" : "Volume identifier.",
33990 "type" : "string"
33991 }
33992 },
33993 "type" : "object"
44660702 33994 },
4d47f125
TL
33995 "links" : [
33996 {
33997 "href" : "{volid}",
33998 "rel" : "child"
33999 }
34000 ],
34001 "type" : "array"
34002 }
34003 },
34004 "POST" : {
e9cd3bd4 34005 "allowtoken" : 1,
4d47f125
TL
34006 "description" : "Allocate disk images.",
34007 "method" : "POST",
34008 "name" : "create",
34009 "parameters" : {
34010 "additionalProperties" : 0,
34011 "properties" : {
34012 "filename" : {
34013 "description" : "The name of the file to create.",
34014 "type" : "string",
34015 "typetext" : "<string>"
34016 },
34017 "format" : {
34018 "enum" : [
34019 "raw",
34020 "qcow2",
34021 "subvol"
34022 ],
34023 "optional" : 1,
34024 "requires" : "size",
34025 "type" : "string"
34026 },
34027 "node" : {
34028 "description" : "The cluster node name.",
34029 "format" : "pve-node",
34030 "type" : "string",
34031 "typetext" : "<string>"
34032 },
34033 "size" : {
34034 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
34035 "pattern" : "\\d+[MG]?",
34036 "type" : "string"
34037 },
34038 "storage" : {
34039 "description" : "The storage identifier.",
34040 "format" : "pve-storage-id",
34041 "type" : "string",
34042 "typetext" : "<string>"
34043 },
34044 "vmid" : {
34045 "description" : "Specify owner VM",
34046 "format" : "pve-vmid",
34047 "minimum" : 1,
34048 "type" : "integer",
34049 "typetext" : "<integer> (1 - N)"
34050 }
44660702
DM
34051 }
34052 },
4d47f125
TL
34053 "permissions" : {
34054 "check" : [
34055 "perm",
34056 "/storage/{storage}",
34057 [
34058 "Datastore.AllocateSpace"
34059 ]
34060 ]
27a7acb2 34061 },
4d47f125
TL
34062 "protected" : 1,
34063 "proxyto" : "node",
34064 "returns" : {
34065 "description" : "Volume identifier",
34066 "type" : "string"
27a7acb2
DM
34067 }
34068 }
34069 },
4d47f125
TL
34070 "leaf" : 0,
34071 "path" : "/nodes/{node}/storage/{storage}/content",
34072 "text" : "content"
34073 },
34074 {
34075 "info" : {
34076 "GET" : {
e9cd3bd4 34077 "allowtoken" : 1,
4d47f125
TL
34078 "description" : "Read storage status.",
34079 "method" : "GET",
34080 "name" : "read_status",
34081 "parameters" : {
34082 "additionalProperties" : 0,
34083 "properties" : {
34084 "node" : {
34085 "description" : "The cluster node name.",
34086 "format" : "pve-node",
34087 "type" : "string",
34088 "typetext" : "<string>"
34089 },
34090 "storage" : {
34091 "description" : "The storage identifier.",
34092 "format" : "pve-storage-id",
34093 "type" : "string",
34094 "typetext" : "<string>"
34095 }
27a7acb2
DM
34096 }
34097 },
4d47f125
TL
34098 "permissions" : {
34099 "check" : [
34100 "perm",
34101 "/storage/{storage}",
34102 [
34103 "Datastore.Audit",
34104 "Datastore.AllocateSpace"
34105 ],
34106 "any",
34107 1
34108 ]
7aacca6f 34109 },
4d47f125
TL
34110 "protected" : 1,
34111 "proxyto" : "node",
34112 "returns" : {
34113 "type" : "object"
56122987 34114 }
44660702
DM
34115 }
34116 },
4d47f125
TL
34117 "leaf" : 1,
34118 "path" : "/nodes/{node}/storage/{storage}/status",
34119 "text" : "status"
34120 },
34121 {
34122 "info" : {
34123 "GET" : {
e9cd3bd4 34124 "allowtoken" : 1,
4d47f125
TL
34125 "description" : "Read storage RRD statistics (returns PNG).",
34126 "method" : "GET",
34127 "name" : "rrd",
34128 "parameters" : {
34129 "additionalProperties" : 0,
34130 "properties" : {
34131 "cf" : {
34132 "description" : "The RRD consolidation function",
34133 "enum" : [
34134 "AVERAGE",
34135 "MAX"
34136 ],
34137 "optional" : 1,
34138 "type" : "string"
34139 },
34140 "ds" : {
34141 "description" : "The list of datasources you want to display.",
34142 "format" : "pve-configid-list",
34143 "type" : "string",
34144 "typetext" : "<string>"
34145 },
34146 "node" : {
34147 "description" : "The cluster node name.",
34148 "format" : "pve-node",
34149 "type" : "string",
34150 "typetext" : "<string>"
34151 },
34152 "storage" : {
34153 "description" : "The storage identifier.",
34154 "format" : "pve-storage-id",
34155 "type" : "string",
34156 "typetext" : "<string>"
34157 },
34158 "timeframe" : {
34159 "description" : "Specify the time frame you are interested in.",
34160 "enum" : [
34161 "hour",
34162 "day",
34163 "week",
34164 "month",
34165 "year"
34166 ],
34167 "type" : "string"
34168 }
44660702
DM
34169 }
34170 },
4d47f125
TL
34171 "permissions" : {
34172 "check" : [
34173 "perm",
34174 "/storage/{storage}",
34175 [
34176 "Datastore.Audit",
34177 "Datastore.AllocateSpace"
34178 ],
34179 "any",
34180 1
34181 ]
34182 },
34183 "protected" : 1,
34184 "proxyto" : "node",
34185 "returns" : {
34186 "properties" : {
34187 "filename" : {
34188 "type" : "string"
34189 }
34190 },
34191 "type" : "object"
44660702
DM
34192 }
34193 }
34194 },
4d47f125
TL
34195 "leaf" : 1,
34196 "path" : "/nodes/{node}/storage/{storage}/rrd",
34197 "text" : "rrd"
34198 },
34199 {
34200 "info" : {
34201 "GET" : {
e9cd3bd4 34202 "allowtoken" : 1,
4d47f125
TL
34203 "description" : "Read storage RRD statistics.",
34204 "method" : "GET",
34205 "name" : "rrddata",
34206 "parameters" : {
34207 "additionalProperties" : 0,
34208 "properties" : {
34209 "cf" : {
34210 "description" : "The RRD consolidation function",
34211 "enum" : [
34212 "AVERAGE",
34213 "MAX"
34214 ],
34215 "optional" : 1,
34216 "type" : "string"
34217 },
34218 "node" : {
34219 "description" : "The cluster node name.",
34220 "format" : "pve-node",
34221 "type" : "string",
34222 "typetext" : "<string>"
34223 },
34224 "storage" : {
34225 "description" : "The storage identifier.",
34226 "format" : "pve-storage-id",
34227 "type" : "string",
34228 "typetext" : "<string>"
34229 },
34230 "timeframe" : {
34231 "description" : "Specify the time frame you are interested in.",
34232 "enum" : [
34233 "hour",
34234 "day",
34235 "week",
34236 "month",
34237 "year"
34238 ],
34239 "type" : "string"
34240 }
56122987
DM
34241 }
34242 },
4d47f125
TL
34243 "permissions" : {
34244 "check" : [
34245 "perm",
34246 "/storage/{storage}",
34247 [
34248 "Datastore.Audit",
34249 "Datastore.AllocateSpace"
34250 ],
34251 "any",
34252 1
34253 ]
34254 },
34255 "protected" : 1,
34256 "proxyto" : "node",
34257 "returns" : {
34258 "items" : {
34259 "properties" : {},
34260 "type" : "object"
34261 },
34262 "type" : "array"
56122987 34263 }
7aacca6f 34264 }
56122987 34265 },
4d47f125
TL
34266 "leaf" : 1,
34267 "path" : "/nodes/{node}/storage/{storage}/rrddata",
34268 "text" : "rrddata"
34269 },
34270 {
34271 "info" : {
34272 "POST" : {
e9cd3bd4 34273 "allowtoken" : 1,
4d47f125
TL
34274 "description" : "Upload templates and ISO images.",
34275 "method" : "POST",
34276 "name" : "upload",
34277 "parameters" : {
34278 "additionalProperties" : 0,
34279 "properties" : {
34280 "content" : {
34281 "description" : "Content type.",
34282 "format" : "pve-storage-content",
34283 "type" : "string",
34284 "typetext" : "<string>"
34285 },
34286 "filename" : {
34287 "description" : "The name of the file to create.",
34288 "type" : "string",
34289 "typetext" : "<string>"
34290 },
34291 "node" : {
34292 "description" : "The cluster node name.",
34293 "format" : "pve-node",
34294 "type" : "string",
34295 "typetext" : "<string>"
34296 },
34297 "storage" : {
34298 "description" : "The storage identifier.",
34299 "format" : "pve-storage-id",
34300 "type" : "string",
34301 "typetext" : "<string>"
34302 },
34303 "tmpfilename" : {
1e3f8156 34304 "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
34305 "optional" : 1,
34306 "type" : "string",
34307 "typetext" : "<string>"
34308 }
44660702
DM
34309 }
34310 },
4d47f125
TL
34311 "permissions" : {
34312 "check" : [
34313 "perm",
34314 "/storage/{storage}",
34315 [
34316 "Datastore.AllocateTemplate"
34317 ]
34318 ]
56122987 34319 },
4d47f125
TL
34320 "protected" : 1,
34321 "returns" : {
44660702 34322 "type" : "string"
56122987 34323 }
44660702 34324 }
56122987 34325 },
4d47f125
TL
34326 "leaf" : 1,
34327 "path" : "/nodes/{node}/storage/{storage}/upload",
34328 "text" : "upload"
56122987 34329 }
4d47f125 34330 ],
56122987
DM
34331 "info" : {
34332 "GET" : {
e9cd3bd4 34333 "allowtoken" : 1,
4d47f125 34334 "description" : "",
44660702 34335 "method" : "GET",
4d47f125 34336 "name" : "diridx",
44660702
DM
34337 "parameters" : {
34338 "additionalProperties" : 0,
34339 "properties" : {
34340 "node" : {
34341 "description" : "The cluster node name.",
34342 "format" : "pve-node",
013dc89f
DM
34343 "type" : "string",
34344 "typetext" : "<string>"
4d47f125
TL
34345 },
34346 "storage" : {
34347 "description" : "The storage identifier.",
34348 "format" : "pve-storage-id",
34349 "type" : "string",
34350 "typetext" : "<string>"
44660702
DM
34351 }
34352 }
34353 },
7aacca6f
DM
34354 "permissions" : {
34355 "check" : [
34356 "perm",
4d47f125 34357 "/storage/{storage}",
7aacca6f 34358 [
4d47f125
TL
34359 "Datastore.Audit",
34360 "Datastore.AllocateSpace"
34361 ],
34362 "any",
34363 1
7aacca6f
DM
34364 ]
34365 },
56122987
DM
34366 "returns" : {
34367 "items" : {
34368 "properties" : {
4d47f125 34369 "subdir" : {
44660702 34370 "type" : "string"
56122987
DM
34371 }
34372 },
34373 "type" : "object"
7aacca6f 34374 },
4d47f125
TL
34375 "links" : [
34376 {
34377 "href" : "{subdir}",
34378 "rel" : "child"
34379 }
34380 ],
7aacca6f 34381 "type" : "array"
44660702
DM
34382 }
34383 }
34384 },
4d47f125
TL
34385 "leaf" : 0,
34386 "path" : "/nodes/{node}/storage/{storage}",
34387 "text" : "{storage}"
44660702
DM
34388 }
34389 ],
34390 "info" : {
34391 "GET" : {
e9cd3bd4 34392 "allowtoken" : 1,
4d47f125 34393 "description" : "Get status for all datastores.",
44660702
DM
34394 "method" : "GET",
34395 "name" : "index",
34396 "parameters" : {
34397 "additionalProperties" : 0,
34398 "properties" : {
4d47f125
TL
34399 "content" : {
34400 "description" : "Only list stores which support this content type.",
34401 "format" : "pve-storage-content-list",
34402 "optional" : 1,
34403 "type" : "string",
34404 "typetext" : "<string>"
34405 },
34406 "enabled" : {
34407 "default" : 0,
34408 "description" : "Only list stores which are enabled (not disabled in config).",
34409 "optional" : 1,
34410 "type" : "boolean",
34411 "typetext" : "<boolean>"
34412 },
34413 "format" : {
34414 "default" : 0,
34415 "description" : "Include information about formats",
34416 "optional" : 1,
34417 "type" : "boolean",
34418 "typetext" : "<boolean>"
34419 },
44660702
DM
34420 "node" : {
34421 "description" : "The cluster node name.",
34422 "format" : "pve-node",
013dc89f
DM
34423 "type" : "string",
34424 "typetext" : "<string>"
4d47f125
TL
34425 },
34426 "storage" : {
34427 "description" : "Only list status for specified storage",
34428 "format" : "pve-storage-id",
34429 "optional" : 1,
34430 "type" : "string",
34431 "typetext" : "<string>"
34432 },
34433 "target" : {
34434 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
34435 "format" : "pve-node",
34436 "optional" : 1,
34437 "type" : "string",
34438 "typetext" : "<string>"
44660702
DM
34439 }
34440 }
34441 },
4d47f125
TL
34442 "permissions" : {
34443 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
34444 "user" : "all"
34445 },
34446 "protected" : 1,
34447 "proxyto" : "node",
34448 "returns" : {
34449 "items" : {
34450 "properties" : {
34451 "active" : {
34452 "description" : "Set when storage is accessible.",
34453 "optional" : 1,
34454 "type" : "boolean"
34455 },
34456 "avail" : {
34457 "description" : "Available storage space in bytes.",
34458 "optional" : 1,
34459 "renderer" : "bytes",
34460 "type" : "integer"
34461 },
34462 "content" : {
34463 "description" : "Allowed storage content types.",
34464 "format" : "pve-storage-content-list",
34465 "type" : "string"
34466 },
34467 "enabled" : {
34468 "description" : "Set when storage is enabled (not disabled).",
34469 "optional" : 1,
34470 "type" : "boolean"
34471 },
34472 "shared" : {
34473 "description" : "Shared flag from storage configuration.",
34474 "optional" : 1,
34475 "type" : "boolean"
34476 },
34477 "storage" : {
34478 "description" : "The storage identifier.",
34479 "format" : "pve-storage-id",
34480 "type" : "string"
34481 },
34482 "total" : {
34483 "description" : "Total storage space in bytes.",
34484 "optional" : 1,
34485 "renderer" : "bytes",
34486 "type" : "integer"
34487 },
34488 "type" : {
34489 "description" : "Storage type.",
34490 "type" : "string"
34491 },
34492 "used" : {
34493 "description" : "Used storage space in bytes.",
34494 "optional" : 1,
34495 "renderer" : "bytes",
34496 "type" : "integer"
34497 },
34498 "used_fraction" : {
34499 "description" : "Used fraction (used/total).",
34500 "optional" : 1,
34501 "renderer" : "fraction_as_percentage",
34502 "type" : "number"
7aacca6f 34503 }
4d47f125
TL
34504 },
34505 "type" : "object"
34506 },
34507 "links" : [
34508 {
34509 "href" : "{storage}",
34510 "rel" : "child"
34511 }
34512 ],
34513 "type" : "array"
34514 }
34515 }
34516 },
34517 "leaf" : 0,
34518 "path" : "/nodes/{node}/storage",
34519 "text" : "storage"
34520 },
34521 {
34522 "children" : [
34523 {
34524 "info" : {
34525 "GET" : {
e9cd3bd4 34526 "allowtoken" : 1,
4d47f125
TL
34527 "description" : "List LVM Volume Groups",
34528 "method" : "GET",
34529 "name" : "index",
34530 "parameters" : {
34531 "additionalProperties" : 0,
34532 "properties" : {
34533 "node" : {
34534 "description" : "The cluster node name.",
34535 "format" : "pve-node",
34536 "type" : "string",
34537 "typetext" : "<string>"
34538 }
34539 }
34540 },
34541 "permissions" : {
34542 "check" : [
34543 "perm",
34544 "/",
34545 [
34546 "Sys.Audit",
34547 "Datastore.Audit"
34548 ],
34549 "any",
34550 1
34551 ]
34552 },
34553 "protected" : 1,
34554 "proxyto" : "node",
34555 "returns" : {
34556 "properties" : {
34557 "children" : {
44660702
DM
34558 "items" : {
34559 "properties" : {
4d47f125
TL
34560 "children" : {
34561 "description" : "The underlying physical volumes",
34562 "items" : {
34563 "properties" : {
34564 "free" : {
34565 "description" : "The free bytes in the physical volume",
34566 "type" : "integer"
34567 },
34568 "leaf" : {
34569 "type" : "boolean"
34570 },
34571 "name" : {
34572 "description" : "The name of the physical volume",
34573 "type" : "string"
34574 },
34575 "size" : {
34576 "description" : "The size of the physical volume in bytes",
34577 "type" : "integer"
34578 }
34579 },
34580 "type" : "object"
34581 },
34582 "optional" : 1,
34583 "type" : "array"
34584 },
34585 "free" : {
34586 "description" : "The free bytes in the volume group",
34587 "type" : "integer"
34588 },
34589 "leaf" : {
34590 "type" : "boolean"
34591 },
34592 "name" : {
34593 "description" : "The name of the volume group",
44660702 34594 "type" : "string"
4d47f125
TL
34595 },
34596 "size" : {
34597 "description" : "The size of the volume group in bytes",
34598 "type" : "integer"
44660702
DM
34599 }
34600 },
34601 "type" : "object"
34602 },
44660702 34603 "type" : "array"
4d47f125
TL
34604 },
34605 "leaf" : {
34606 "type" : "boolean"
44660702
DM
34607 }
34608 },
4d47f125
TL
34609 "type" : "object"
34610 }
34611 },
34612 "POST" : {
e9cd3bd4 34613 "allowtoken" : 1,
4d47f125
TL
34614 "description" : "Create an LVM Volume Group",
34615 "method" : "POST",
34616 "name" : "create",
34617 "parameters" : {
34618 "additionalProperties" : 0,
34619 "properties" : {
34620 "add_storage" : {
34621 "default" : 0,
34622 "description" : "Configure storage using the Volume Group",
34623 "optional" : 1,
34624 "type" : "boolean",
34625 "typetext" : "<boolean>"
44660702 34626 },
4d47f125
TL
34627 "device" : {
34628 "description" : "The block device you want to create the volume group on",
34629 "type" : "string",
34630 "typetext" : "<string>"
44660702 34631 },
4d47f125
TL
34632 "name" : {
34633 "description" : "The storage identifier.",
34634 "format" : "pve-storage-id",
34635 "type" : "string",
34636 "typetext" : "<string>"
34637 },
34638 "node" : {
34639 "description" : "The cluster node name.",
34640 "format" : "pve-node",
34641 "type" : "string",
34642 "typetext" : "<string>"
34643 }
34644 }
34645 },
34646 "permissions" : {
34647 "check" : [
34648 "perm",
34649 "/",
34650 [
34651 "Sys.Modify",
34652 "Datastore.Allocate"
34653 ]
34654 ]
34655 },
34656 "protected" : 1,
34657 "proxyto" : "node",
34658 "returns" : {
34659 "type" : "string"
34660 }
34661 }
34662 },
34663 "leaf" : 1,
34664 "path" : "/nodes/{node}/disks/lvm",
34665 "text" : "lvm"
34666 },
34667 {
34668 "info" : {
34669 "GET" : {
e9cd3bd4 34670 "allowtoken" : 1,
4d47f125
TL
34671 "description" : "List LVM thinpools",
34672 "method" : "GET",
34673 "name" : "index",
34674 "parameters" : {
34675 "additionalProperties" : 0,
34676 "properties" : {
34677 "node" : {
34678 "description" : "The cluster node name.",
34679 "format" : "pve-node",
34680 "type" : "string",
34681 "typetext" : "<string>"
44660702
DM
34682 }
34683 }
34684 },
4d47f125
TL
34685 "permissions" : {
34686 "check" : [
34687 "perm",
34688 "/",
34689 [
34690 "Sys.Audit",
34691 "Datastore.Audit"
34692 ],
34693 "any",
34694 1
34695 ]
34696 },
34697 "protected" : 1,
34698 "proxyto" : "node",
34699 "returns" : {
34700 "items" : {
34701 "properties" : {
34702 "lv" : {
34703 "description" : "The name of the thinpool.",
34704 "type" : "string"
34705 },
34706 "lv_size" : {
34707 "description" : "The size of the thinpool in bytes.",
34708 "type" : "integer"
34709 },
34710 "metadata_size" : {
34711 "description" : "The size of the metadata lv in bytes.",
34712 "type" : "integer"
34713 },
34714 "metadata_used" : {
34715 "description" : "The used bytes of the metadata lv.",
34716 "type" : "integer"
34717 },
34718 "used" : {
34719 "description" : "The used bytes of the thinpool.",
34720 "type" : "integer"
44660702
DM
34721 }
34722 },
4d47f125
TL
34723 "type" : "object"
34724 },
34725 "type" : "array"
34726 }
34727 },
34728 "POST" : {
e9cd3bd4 34729 "allowtoken" : 1,
4d47f125
TL
34730 "description" : "Create an LVM thinpool",
34731 "method" : "POST",
34732 "name" : "create",
34733 "parameters" : {
34734 "additionalProperties" : 0,
34735 "properties" : {
34736 "add_storage" : {
34737 "default" : 0,
34738 "description" : "Configure storage using the thinpool.",
34739 "optional" : 1,
34740 "type" : "boolean",
34741 "typetext" : "<boolean>"
56122987 34742 },
4d47f125
TL
34743 "device" : {
34744 "description" : "The block device you want to create the thinpool on.",
34745 "type" : "string",
34746 "typetext" : "<string>"
34747 },
34748 "name" : {
34749 "description" : "The storage identifier.",
34750 "format" : "pve-storage-id",
34751 "type" : "string",
34752 "typetext" : "<string>"
34753 },
34754 "node" : {
34755 "description" : "The cluster node name.",
34756 "format" : "pve-node",
34757 "type" : "string",
34758 "typetext" : "<string>"
44660702 34759 }
56122987
DM
34760 }
34761 },
4d47f125
TL
34762 "permissions" : {
34763 "check" : [
34764 "perm",
34765 "/",
34766 [
34767 "Sys.Modify",
34768 "Datastore.Allocate"
34769 ]
34770 ]
34771 },
34772 "protected" : 1,
34773 "proxyto" : "node",
34774 "returns" : {
34775 "type" : "string"
34776 }
34777 }
34778 },
34779 "leaf" : 1,
34780 "path" : "/nodes/{node}/disks/lvmthin",
34781 "text" : "lvmthin"
34782 },
34783 {
34784 "info" : {
34785 "GET" : {
e9cd3bd4 34786 "allowtoken" : 1,
4d47f125
TL
34787 "description" : "PVE Managed Directory storages.",
34788 "method" : "GET",
34789 "name" : "index",
34790 "parameters" : {
34791 "additionalProperties" : 0,
34792 "properties" : {
34793 "node" : {
34794 "description" : "The cluster node name.",
34795 "format" : "pve-node",
34796 "type" : "string",
34797 "typetext" : "<string>"
34798 }
34799 }
34800 },
34801 "permissions" : {
34802 "check" : [
34803 "perm",
34804 "/",
34805 [
34806 "Sys.Audit",
34807 "Datastore.Audit"
34808 ],
34809 "any",
34810 1
34811 ]
34812 },
34813 "protected" : 1,
34814 "proxyto" : "node",
34815 "returns" : {
34816 "items" : {
34817 "properties" : {
34818 "device" : {
34819 "description" : "The mounted device.",
34820 "type" : "string"
34821 },
34822 "options" : {
34823 "description" : "The mount options.",
34824 "type" : "string"
34825 },
34826 "path" : {
34827 "description" : "The mount path.",
34828 "type" : "string"
34829 },
34830 "type" : {
34831 "description" : "The filesystem type.",
34832 "type" : "string"
34833 },
34834 "unitfile" : {
34835 "description" : "The path of the mount unit.",
34836 "type" : "string"
44660702 34837 }
56122987 34838 },
4d47f125
TL
34839 "type" : "object"
34840 },
34841 "type" : "array"
34842 }
34843 },
34844 "POST" : {
e9cd3bd4 34845 "allowtoken" : 1,
4d47f125
TL
34846 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
34847 "method" : "POST",
34848 "name" : "create",
34849 "parameters" : {
34850 "additionalProperties" : 0,
34851 "properties" : {
34852 "add_storage" : {
34853 "default" : 0,
34854 "description" : "Configure storage using the directory.",
34855 "optional" : 1,
34856 "type" : "boolean",
34857 "typetext" : "<boolean>"
34858 },
34859 "device" : {
34860 "description" : "The block device you want to create the filesystem on.",
34861 "type" : "string",
34862 "typetext" : "<string>"
34863 },
34864 "filesystem" : {
34865 "default" : "ext4",
34866 "description" : "The desired filesystem.",
34867 "enum" : [
34868 "ext4",
34869 "xfs"
34870 ],
34871 "optional" : 1,
34872 "type" : "string"
56122987 34873 },
4d47f125
TL
34874 "name" : {
34875 "description" : "The storage identifier.",
34876 "format" : "pve-storage-id",
34877 "type" : "string",
34878 "typetext" : "<string>"
34879 },
34880 "node" : {
34881 "description" : "The cluster node name.",
34882 "format" : "pve-node",
34883 "type" : "string",
34884 "typetext" : "<string>"
7aacca6f 34885 }
56122987
DM
34886 }
34887 },
4d47f125
TL
34888 "permissions" : {
34889 "check" : [
34890 "perm",
34891 "/",
34892 [
34893 "Sys.Modify",
34894 "Datastore.Allocate"
34895 ]
34896 ]
34897 },
34898 "protected" : 1,
34899 "proxyto" : "node",
34900 "returns" : {
34901 "type" : "string"
34902 }
34903 }
34904 },
34905 "leaf" : 1,
34906 "path" : "/nodes/{node}/disks/directory",
34907 "text" : "directory"
34908 },
34909 {
34910 "children" : [
56122987 34911 {
56122987
DM
34912 "info" : {
34913 "GET" : {
e9cd3bd4 34914 "allowtoken" : 1,
4d47f125 34915 "description" : "Get details about a zpool.",
44660702 34916 "method" : "GET",
4d47f125 34917 "name" : "detail",
56122987 34918 "parameters" : {
44660702 34919 "additionalProperties" : 0,
56122987 34920 "properties" : {
4d47f125
TL
34921 "name" : {
34922 "description" : "The storage identifier.",
34923 "format" : "pve-storage-id",
34924 "type" : "string",
34925 "typetext" : "<string>"
44660702 34926 },
7aacca6f 34927 "node" : {
7aacca6f 34928 "description" : "The cluster node name.",
44660702 34929 "format" : "pve-node",
013dc89f
DM
34930 "type" : "string",
34931 "typetext" : "<string>"
56122987 34932 }
44660702 34933 }
7aacca6f 34934 },
7aacca6f
DM
34935 "permissions" : {
34936 "check" : [
34937 "perm",
4d47f125 34938 "/",
7aacca6f 34939 [
4d47f125
TL
34940 "Sys.Audit",
34941 "Datastore.Audit"
7aacca6f
DM
34942 ],
34943 "any",
34944 1
34945 ]
34946 },
44660702
DM
34947 "protected" : 1,
34948 "proxyto" : "node",
7aacca6f 34949 "returns" : {
56122987 34950 "properties" : {
4d47f125
TL
34951 "action" : {
34952 "description" : "Information about the recommended action to fix the state.",
34953 "optional" : 1,
34954 "type" : "string"
56122987 34955 },
4d47f125 34956 "children" : {
e2d681b3 34957 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
34958 "items" : {
34959 "properties" : {
34960 "cksum" : {
e2d681b3 34961 "optional" : 1,
4d47f125
TL
34962 "type" : "number"
34963 },
34964 "msg" : {
34965 "description" : "An optional message about the vdev.",
34966 "type" : "string"
34967 },
34968 "name" : {
e2d681b3 34969 "description" : "The name of the vdev or section.",
4d47f125
TL
34970 "type" : "string"
34971 },
34972 "read" : {
e2d681b3 34973 "optional" : 1,
4d47f125
TL
34974 "type" : "number"
34975 },
34976 "state" : {
34977 "description" : "The state of the vdev.",
e2d681b3 34978 "optional" : 1,
4d47f125
TL
34979 "type" : "string"
34980 },
34981 "write" : {
e2d681b3 34982 "optional" : 1,
4d47f125
TL
34983 "type" : "number"
34984 }
34985 },
34986 "type" : "object"
34987 },
34988 "type" : "array"
56122987 34989 },
e2d681b3
TL
34990 "errors" : {
34991 "description" : "Information about the errors on the zpool.",
34992 "type" : "string"
34993 },
4d47f125
TL
34994 "name" : {
34995 "description" : "The name of the zpool.",
34996 "type" : "string"
44660702 34997 },
4d47f125 34998 "scan" : {
e2d681b3 34999 "description" : "Information about the last/current scrub.",
4d47f125 35000 "type" : "string"
44660702 35001 },
4d47f125
TL
35002 "state" : {
35003 "description" : "The state of the zpool.",
35004 "type" : "string"
35005 },
35006 "status" : {
35007 "description" : "Information about the state of the zpool.",
44660702 35008 "optional" : 1,
4d47f125 35009 "type" : "string"
56122987 35010 }
4d47f125
TL
35011 },
35012 "type" : "object"
44660702
DM
35013 }
35014 }
35015 },
35016 "leaf" : 1,
4d47f125
TL
35017 "path" : "/nodes/{node}/disks/zfs/{name}",
35018 "text" : "{name}"
44660702
DM
35019 }
35020 ],
35021 "info" : {
35022 "GET" : {
e9cd3bd4 35023 "allowtoken" : 1,
4d47f125 35024 "description" : "List Zpools.",
44660702 35025 "method" : "GET",
4d47f125 35026 "name" : "index",
44660702
DM
35027 "parameters" : {
35028 "additionalProperties" : 0,
35029 "properties" : {
35030 "node" : {
35031 "description" : "The cluster node name.",
35032 "format" : "pve-node",
013dc89f
DM
35033 "type" : "string",
35034 "typetext" : "<string>"
4d47f125
TL
35035 }
35036 }
35037 },
35038 "permissions" : {
35039 "check" : [
35040 "perm",
35041 "/",
35042 [
35043 "Sys.Audit",
35044 "Datastore.Audit"
35045 ],
35046 "any",
35047 1
35048 ]
35049 },
35050 "protected" : 1,
35051 "proxyto" : "node",
35052 "returns" : {
35053 "items" : {
35054 "properties" : {
35055 "alloc" : {
35056 "description" : "",
35057 "type" : "integer"
35058 },
35059 "dedup" : {
35060 "description" : "",
35061 "type" : "number"
35062 },
35063 "frag" : {
35064 "description" : "",
35065 "type" : "integer"
35066 },
35067 "free" : {
35068 "description" : "",
35069 "type" : "integer"
35070 },
35071 "health" : {
35072 "description" : "",
35073 "type" : "string"
35074 },
35075 "name" : {
35076 "description" : "",
35077 "type" : "string"
35078 },
35079 "size" : {
35080 "description" : "",
35081 "type" : "integer"
35082 }
35083 },
35084 "type" : "object"
35085 },
35086 "links" : [
35087 {
35088 "href" : "{name}",
35089 "rel" : "child"
35090 }
35091 ],
35092 "type" : "array"
35093 }
35094 },
35095 "POST" : {
e9cd3bd4 35096 "allowtoken" : 1,
4d47f125
TL
35097 "description" : "Create a ZFS pool.",
35098 "method" : "POST",
35099 "name" : "create",
35100 "parameters" : {
35101 "additionalProperties" : 0,
35102 "properties" : {
35103 "add_storage" : {
35104 "default" : 0,
35105 "description" : "Configure storage using the zpool.",
35106 "optional" : 1,
35107 "type" : "boolean",
35108 "typetext" : "<boolean>"
35109 },
35110 "ashift" : {
35111 "default" : 12,
35112 "description" : "Pool sector size exponent.",
35113 "maximum" : 16,
35114 "minimum" : 9,
35115 "optional" : 1,
35116 "type" : "integer",
35117 "typetext" : "<integer> (9 - 16)"
35118 },
35119 "compression" : {
35120 "default" : "on",
35121 "description" : "The compression algorithm to use.",
35122 "enum" : [
35123 "on",
35124 "off",
35125 "gzip",
35126 "lz4",
35127 "lzjb",
35128 "zle"
35129 ],
35130 "optional" : 1,
35131 "type" : "string"
35132 },
35133 "devices" : {
35134 "description" : "The block devices you want to create the zpool on.",
35135 "format" : "string-list",
35136 "type" : "string",
35137 "typetext" : "<string>"
44660702 35138 },
4d47f125 35139 "name" : {
44660702
DM
35140 "description" : "The storage identifier.",
35141 "format" : "pve-storage-id",
013dc89f
DM
35142 "type" : "string",
35143 "typetext" : "<string>"
4d47f125
TL
35144 },
35145 "node" : {
35146 "description" : "The cluster node name.",
35147 "format" : "pve-node",
35148 "type" : "string",
35149 "typetext" : "<string>"
35150 },
35151 "raidlevel" : {
35152 "description" : "The RAID level to use.",
35153 "enum" : [
35154 "single",
35155 "mirror",
35156 "raid10",
35157 "raidz",
35158 "raidz2",
35159 "raidz3"
35160 ],
35161 "type" : "string"
56122987
DM
35162 }
35163 }
44660702
DM
35164 },
35165 "permissions" : {
35166 "check" : [
35167 "perm",
4d47f125 35168 "/",
44660702 35169 [
4d47f125
TL
35170 "Sys.Modify",
35171 "Datastore.Allocate"
35172 ]
44660702
DM
35173 ]
35174 },
4d47f125
TL
35175 "protected" : 1,
35176 "proxyto" : "node",
44660702 35177 "returns" : {
4d47f125 35178 "type" : "string"
56122987
DM
35179 }
35180 }
44660702
DM
35181 },
35182 "leaf" : 0,
4d47f125
TL
35183 "path" : "/nodes/{node}/disks/zfs",
35184 "text" : "zfs"
35185 },
2c0dde61
DM
35186 {
35187 "info" : {
35188 "GET" : {
e9cd3bd4 35189 "allowtoken" : 1,
2c0dde61
DM
35190 "description" : "List local disks.",
35191 "method" : "GET",
35192 "name" : "list",
35193 "parameters" : {
35194 "additionalProperties" : 0,
35195 "properties" : {
35196 "node" : {
35197 "description" : "The cluster node name.",
35198 "format" : "pve-node",
013dc89f
DM
35199 "type" : "string",
35200 "typetext" : "<string>"
4d47f125
TL
35201 },
35202 "skipsmart" : {
35203 "default" : 0,
35204 "description" : "Skip smart checks.",
35205 "optional" : 1,
35206 "type" : "boolean",
35207 "typetext" : "<boolean>"
35208 },
35209 "type" : {
35210 "description" : "Only list specific types of disks.",
35211 "enum" : [
35212 "unused",
35213 "journal_disks"
35214 ],
35215 "optional" : 1,
35216 "type" : "string"
2c0dde61
DM
35217 }
35218 }
35219 },
35220 "permissions" : {
35221 "check" : [
35222 "perm",
35223 "/",
35224 [
35225 "Sys.Audit",
35226 "Datastore.Audit"
35227 ],
35228 "any",
35229 1
35230 ]
35231 },
35232 "protected" : 1,
35233 "proxyto" : "node",
35234 "returns" : {
35235 "items" : {
35236 "properties" : {
35237 "devpath" : {
35238 "description" : "The device path",
35239 "type" : "string"
35240 },
35241 "gpt" : {
35242 "type" : "boolean"
35243 },
35244 "health" : {
35245 "optional" : 1,
35246 "type" : "string"
35247 },
35248 "model" : {
35249 "optional" : 1,
35250 "type" : "string"
35251 },
35252 "osdid" : {
35253 "type" : "integer"
35254 },
35255 "serial" : {
35256 "optional" : 1,
35257 "type" : "string"
35258 },
35259 "size" : {
35260 "type" : "integer"
35261 },
35262 "used" : {
35263 "optional" : 1,
35264 "type" : "string"
35265 },
35266 "vendor" : {
35267 "optional" : 1,
35268 "type" : "string"
35269 },
35270 "wwn" : {
35271 "optional" : 1,
35272 "type" : "string"
35273 }
35274 },
35275 "type" : "object"
35276 },
35277 "type" : "array"
35278 }
35279 }
35280 },
35281 "leaf" : 1,
35282 "path" : "/nodes/{node}/disks/list",
35283 "text" : "list"
35284 },
35285 {
35286 "info" : {
35287 "GET" : {
e9cd3bd4 35288 "allowtoken" : 1,
2c0dde61
DM
35289 "description" : "Get SMART Health of a disk.",
35290 "method" : "GET",
35291 "name" : "smart",
35292 "parameters" : {
35293 "additionalProperties" : 0,
35294 "properties" : {
35295 "disk" : {
35296 "description" : "Block device name",
35297 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
35298 "type" : "string"
35299 },
35300 "healthonly" : {
35301 "description" : "If true returns only the health status",
35302 "optional" : 1,
013dc89f
DM
35303 "type" : "boolean",
35304 "typetext" : "<boolean>"
2c0dde61
DM
35305 },
35306 "node" : {
35307 "description" : "The cluster node name.",
35308 "format" : "pve-node",
013dc89f
DM
35309 "type" : "string",
35310 "typetext" : "<string>"
2c0dde61
DM
35311 }
35312 }
35313 },
35314 "permissions" : {
35315 "check" : [
35316 "perm",
35317 "/",
35318 [
35319 "Sys.Audit",
35320 "Datastore.Audit"
35321 ],
35322 "any",
35323 1
35324 ]
35325 },
35326 "protected" : 1,
35327 "proxyto" : "node",
35328 "returns" : {
de0983cb
DM
35329 "properties" : {
35330 "attributes" : {
35331 "optional" : 1,
35332 "type" : "array"
35333 },
35334 "health" : {
35335 "type" : "string"
35336 },
35337 "text" : {
35338 "optional" : 1,
35339 "type" : "string"
35340 },
35341 "type" : {
35342 "optional" : 1,
35343 "type" : "string"
35344 }
35345 },
2c0dde61
DM
35346 "type" : "object"
35347 }
35348 }
35349 },
35350 "leaf" : 1,
35351 "path" : "/nodes/{node}/disks/smart",
35352 "text" : "smart"
35353 },
35354 {
35355 "info" : {
35356 "POST" : {
e9cd3bd4 35357 "allowtoken" : 1,
2c0dde61
DM
35358 "description" : "Initialize Disk with GPT",
35359 "method" : "POST",
35360 "name" : "initgpt",
35361 "parameters" : {
35362 "additionalProperties" : 0,
35363 "properties" : {
35364 "disk" : {
35365 "description" : "Block device name",
35366 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
35367 "type" : "string"
35368 },
35369 "node" : {
35370 "description" : "The cluster node name.",
35371 "format" : "pve-node",
013dc89f
DM
35372 "type" : "string",
35373 "typetext" : "<string>"
2c0dde61
DM
35374 },
35375 "uuid" : {
35376 "description" : "UUID for the GPT table",
35377 "maxLength" : 36,
35378 "optional" : 1,
35379 "pattern" : "[a-fA-F0-9\\-]+",
35380 "type" : "string"
35381 }
35382 }
35383 },
35384 "permissions" : {
35385 "check" : [
35386 "perm",
35387 "/",
35388 [
35389 "Sys.Modify"
35390 ]
35391 ]
35392 },
35393 "protected" : 1,
35394 "proxyto" : "node",
35395 "returns" : {
35396 "type" : "string"
35397 }
35398 }
35399 },
35400 "leaf" : 1,
35401 "path" : "/nodes/{node}/disks/initgpt",
35402 "text" : "initgpt"
35403 }
35404 ],
35405 "info" : {
35406 "GET" : {
e9cd3bd4 35407 "allowtoken" : 1,
2c0dde61
DM
35408 "description" : "Node index.",
35409 "method" : "GET",
35410 "name" : "index",
35411 "parameters" : {
35412 "additionalProperties" : 0,
35413 "properties" : {
35414 "node" : {
35415 "description" : "The cluster node name.",
35416 "format" : "pve-node",
013dc89f
DM
35417 "type" : "string",
35418 "typetext" : "<string>"
2c0dde61
DM
35419 }
35420 }
35421 },
35422 "permissions" : {
35423 "user" : "all"
35424 },
35425 "proxyto" : "node",
35426 "returns" : {
35427 "items" : {
35428 "properties" : {},
35429 "type" : "object"
35430 },
35431 "links" : [
35432 {
35433 "href" : "{name}",
35434 "rel" : "child"
35435 }
35436 ],
35437 "type" : "array"
35438 }
35439 }
35440 },
35441 "leaf" : 0,
35442 "path" : "/nodes/{node}/disks",
35443 "text" : "disks"
35444 },
56122987 35445 {
56122987
DM
35446 "children" : [
35447 {
35448 "info" : {
44660702 35449 "GET" : {
e9cd3bd4 35450 "allowtoken" : 1,
44660702
DM
35451 "description" : "List available updates.",
35452 "method" : "GET",
35453 "name" : "list_updates",
35454 "parameters" : {
35455 "additionalProperties" : 0,
35456 "properties" : {
35457 "node" : {
35458 "description" : "The cluster node name.",
35459 "format" : "pve-node",
013dc89f
DM
35460 "type" : "string",
35461 "typetext" : "<string>"
44660702
DM
35462 }
35463 }
7aacca6f
DM
35464 },
35465 "permissions" : {
35466 "check" : [
35467 "perm",
35468 "/nodes/{node}",
35469 [
35470 "Sys.Modify"
35471 ]
35472 ]
35473 },
44660702 35474 "protected" : 1,
56122987 35475 "proxyto" : "node",
44660702
DM
35476 "returns" : {
35477 "items" : {
35478 "properties" : {},
35479 "type" : "object"
35480 },
35481 "type" : "array"
35482 }
35483 },
35484 "POST" : {
e9cd3bd4 35485 "allowtoken" : 1,
44660702 35486 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
35487 "method" : "POST",
35488 "name" : "update_database",
56122987
DM
35489 "parameters" : {
35490 "additionalProperties" : 0,
35491 "properties" : {
44660702
DM
35492 "node" : {
35493 "description" : "The cluster node name.",
35494 "format" : "pve-node",
013dc89f
DM
35495 "type" : "string",
35496 "typetext" : "<string>"
44660702 35497 },
56122987 35498 "notify" : {
56122987 35499 "default" : 0,
44660702
DM
35500 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
35501 "optional" : 1,
013dc89f
DM
35502 "type" : "boolean",
35503 "typetext" : "<boolean>"
56122987
DM
35504 },
35505 "quiet" : {
56122987 35506 "default" : 0,
44660702 35507 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 35508 "optional" : 1,
013dc89f
DM
35509 "type" : "boolean",
35510 "typetext" : "<boolean>"
56122987 35511 }
7aacca6f
DM
35512 }
35513 },
35514 "permissions" : {
35515 "check" : [
35516 "perm",
35517 "/nodes/{node}",
35518 [
35519 "Sys.Modify"
35520 ]
35521 ]
35522 },
44660702
DM
35523 "protected" : 1,
35524 "proxyto" : "node",
35525 "returns" : {
35526 "type" : "string"
35527 }
56122987
DM
35528 }
35529 },
7aacca6f 35530 "leaf" : 1,
44660702
DM
35531 "path" : "/nodes/{node}/apt/update",
35532 "text" : "update"
56122987
DM
35533 },
35534 {
56122987
DM
35535 "info" : {
35536 "GET" : {
e9cd3bd4 35537 "allowtoken" : 1,
44660702 35538 "description" : "Get package changelogs.",
56122987 35539 "method" : "GET",
7aacca6f 35540 "name" : "changelog",
56122987 35541 "parameters" : {
44660702 35542 "additionalProperties" : 0,
56122987
DM
35543 "properties" : {
35544 "name" : {
35545 "description" : "Package name.",
013dc89f
DM
35546 "type" : "string",
35547 "typetext" : "<string>"
56122987 35548 },
44660702
DM
35549 "node" : {
35550 "description" : "The cluster node name.",
35551 "format" : "pve-node",
013dc89f
DM
35552 "type" : "string",
35553 "typetext" : "<string>"
44660702 35554 },
56122987 35555 "version" : {
7aacca6f 35556 "description" : "Package version.",
44660702 35557 "optional" : 1,
013dc89f
DM
35558 "type" : "string",
35559 "typetext" : "<string>"
56122987 35560 }
44660702 35561 }
56122987 35562 },
44660702
DM
35563 "permissions" : {
35564 "check" : [
35565 "perm",
35566 "/nodes/{node}",
35567 [
35568 "Sys.Modify"
35569 ]
35570 ]
35571 },
35572 "proxyto" : "node",
35573 "returns" : {
35574 "type" : "string"
35575 }
56122987
DM
35576 }
35577 },
44660702
DM
35578 "leaf" : 1,
35579 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 35580 "text" : "changelog"
56122987
DM
35581 },
35582 {
56122987
DM
35583 "info" : {
35584 "GET" : {
e9cd3bd4 35585 "allowtoken" : 1,
44660702
DM
35586 "description" : "Get package information for important Proxmox packages.",
35587 "method" : "GET",
7aacca6f
DM
35588 "name" : "versions",
35589 "parameters" : {
44660702 35590 "additionalProperties" : 0,
7aacca6f
DM
35591 "properties" : {
35592 "node" : {
44660702 35593 "description" : "The cluster node name.",
7aacca6f 35594 "format" : "pve-node",
013dc89f
DM
35595 "type" : "string",
35596 "typetext" : "<string>"
7aacca6f 35597 }
44660702 35598 }
7aacca6f 35599 },
56122987
DM
35600 "permissions" : {
35601 "check" : [
35602 "perm",
35603 "/nodes/{node}",
35604 [
35605 "Sys.Audit"
35606 ]
35607 ]
35608 },
7aacca6f 35609 "proxyto" : "node",
56122987
DM
35610 "returns" : {
35611 "items" : {
7aacca6f
DM
35612 "properties" : {},
35613 "type" : "object"
44660702
DM
35614 },
35615 "type" : "array"
56122987
DM
35616 }
35617 }
35618 },
44660702 35619 "leaf" : 1,
7aacca6f 35620 "path" : "/nodes/{node}/apt/versions",
44660702 35621 "text" : "versions"
56122987
DM
35622 }
35623 ],
56122987
DM
35624 "info" : {
35625 "GET" : {
e9cd3bd4 35626 "allowtoken" : 1,
44660702 35627 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 35628 "method" : "GET",
44660702 35629 "name" : "index",
7aacca6f
DM
35630 "parameters" : {
35631 "additionalProperties" : 0,
35632 "properties" : {
35633 "node" : {
44660702 35634 "description" : "The cluster node name.",
7aacca6f 35635 "format" : "pve-node",
013dc89f
DM
35636 "type" : "string",
35637 "typetext" : "<string>"
7aacca6f
DM
35638 }
35639 }
35640 },
7aacca6f
DM
35641 "permissions" : {
35642 "user" : "all"
35643 },
44660702
DM
35644 "returns" : {
35645 "items" : {
35646 "properties" : {
35647 "id" : {
35648 "type" : "string"
35649 }
35650 },
35651 "type" : "object"
35652 },
35653 "links" : [
35654 {
35655 "href" : "{id}",
35656 "rel" : "child"
35657 }
35658 ],
35659 "type" : "array"
35660 }
56122987 35661 }
7aacca6f 35662 },
44660702 35663 "leaf" : 0,
7aacca6f 35664 "path" : "/nodes/{node}/apt",
44660702 35665 "text" : "apt"
56122987
DM
35666 },
35667 {
56122987
DM
35668 "children" : [
35669 {
35670 "children" : [
35671 {
56122987
DM
35672 "info" : {
35673 "DELETE" : {
e9cd3bd4 35674 "allowtoken" : 1,
44660702 35675 "description" : "Delete rule.",
7aacca6f 35676 "method" : "DELETE",
44660702 35677 "name" : "delete_rule",
56122987
DM
35678 "parameters" : {
35679 "additionalProperties" : 0,
35680 "properties" : {
56122987
DM
35681 "digest" : {
35682 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 35683 "maxLength" : 40,
56122987 35684 "optional" : 1,
013dc89f
DM
35685 "type" : "string",
35686 "typetext" : "<string>"
56122987 35687 },
44660702
DM
35688 "node" : {
35689 "description" : "The cluster node name.",
35690 "format" : "pve-node",
013dc89f
DM
35691 "type" : "string",
35692 "typetext" : "<string>"
44660702 35693 },
7aacca6f 35694 "pos" : {
7aacca6f 35695 "description" : "Update rule at position <pos>.",
44660702
DM
35696 "minimum" : 0,
35697 "optional" : 1,
4bd7df8b 35698 "type" : "integer",
013dc89f 35699 "typetext" : "<integer> (0 - N)"
56122987
DM
35700 }
35701 }
35702 },
44660702
DM
35703 "permissions" : {
35704 "check" : [
35705 "perm",
35706 "/nodes/{node}",
35707 [
35708 "Sys.Modify"
35709 ]
35710 ]
35711 },
35712 "protected" : 1,
35713 "proxyto" : "node",
56122987
DM
35714 "returns" : {
35715 "type" : "null"
44660702
DM
35716 }
35717 },
35718 "GET" : {
e9cd3bd4 35719 "allowtoken" : 1,
44660702
DM
35720 "description" : "Get single rule data.",
35721 "method" : "GET",
35722 "name" : "get_rule",
35723 "parameters" : {
35724 "additionalProperties" : 0,
35725 "properties" : {
35726 "node" : {
35727 "description" : "The cluster node name.",
35728 "format" : "pve-node",
013dc89f
DM
35729 "type" : "string",
35730 "typetext" : "<string>"
44660702
DM
35731 },
35732 "pos" : {
35733 "description" : "Update rule at position <pos>.",
35734 "minimum" : 0,
35735 "optional" : 1,
4bd7df8b 35736 "type" : "integer",
013dc89f 35737 "typetext" : "<integer> (0 - N)"
44660702
DM
35738 }
35739 }
56122987 35740 },
56122987
DM
35741 "permissions" : {
35742 "check" : [
35743 "perm",
35744 "/nodes/{node}",
35745 [
44660702 35746 "Sys.Audit"
56122987
DM
35747 ]
35748 ]
44660702
DM
35749 },
35750 "proxyto" : "node",
35751 "returns" : {
35752 "properties" : {
e2d681b3
TL
35753 "action" : {
35754 "type" : "string"
35755 },
35756 "comment" : {
35757 "optional" : 1,
35758 "type" : "string"
35759 },
35760 "dest" : {
35761 "optional" : 1,
35762 "type" : "string"
35763 },
35764 "dport" : {
35765 "optional" : 1,
35766 "type" : "string"
35767 },
35768 "enable" : {
35769 "optional" : 1,
35770 "type" : "integer"
35771 },
4772952b
TL
35772 "icmp-type" : {
35773 "optional" : 1,
35774 "type" : "string"
35775 },
e2d681b3
TL
35776 "iface" : {
35777 "optional" : 1,
35778 "type" : "string"
35779 },
35780 "ipversion" : {
35781 "optional" : 1,
35782 "type" : "integer"
35783 },
95895385
TL
35784 "log" : {
35785 "description" : "Log level for firewall rule",
35786 "enum" : [
35787 "emerg",
35788 "alert",
35789 "crit",
35790 "err",
35791 "warning",
35792 "notice",
35793 "info",
35794 "debug",
35795 "nolog"
35796 ],
35797 "optional" : 1,
35798 "type" : "string"
35799 },
e2d681b3
TL
35800 "macro" : {
35801 "optional" : 1,
5f26e15b 35802 "type" : "string"
e2d681b3 35803 },
44660702
DM
35804 "pos" : {
35805 "type" : "integer"
e2d681b3
TL
35806 },
35807 "proto" : {
35808 "optional" : 1,
35809 "type" : "string"
35810 },
35811 "source" : {
35812 "optional" : 1,
35813 "type" : "string"
35814 },
35815 "sport" : {
35816 "optional" : 1,
35817 "type" : "string"
35818 },
35819 "type" : {
35820 "type" : "string"
44660702
DM
35821 }
35822 },
35823 "type" : "object"
7aacca6f 35824 }
56122987
DM
35825 },
35826 "PUT" : {
e9cd3bd4 35827 "allowtoken" : 1,
44660702
DM
35828 "description" : "Modify rule data.",
35829 "method" : "PUT",
56122987 35830 "name" : "update_rule",
56122987 35831 "parameters" : {
44660702 35832 "additionalProperties" : 0,
56122987 35833 "properties" : {
44660702
DM
35834 "action" : {
35835 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
35836 "maxLength" : 20,
35837 "minLength" : 2,
56122987 35838 "optional" : 1,
44660702
DM
35839 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
35840 "type" : "string"
56122987 35841 },
7aacca6f 35842 "comment" : {
e94f0d56 35843 "description" : "Descriptive comment.",
56122987 35844 "optional" : 1,
013dc89f
DM
35845 "type" : "string",
35846 "typetext" : "<string>"
56122987 35847 },
44660702
DM
35848 "delete" : {
35849 "description" : "A list of settings you want to delete.",
35850 "format" : "pve-configid-list",
56122987 35851 "optional" : 1,
013dc89f
DM
35852 "type" : "string",
35853 "typetext" : "<string>"
56122987 35854 },
44660702
DM
35855 "dest" : {
35856 "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.",
35857 "format" : "pve-fw-addr-spec",
56122987 35858 "optional" : 1,
013dc89f
DM
35859 "type" : "string",
35860 "typetext" : "<string>"
56122987 35861 },
44660702
DM
35862 "digest" : {
35863 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35864 "maxLength" : 40,
56122987 35865 "optional" : 1,
013dc89f
DM
35866 "type" : "string",
35867 "typetext" : "<string>"
56122987 35868 },
7aacca6f 35869 "dport" : {
7aacca6f 35870 "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
35871 "format" : "pve-fw-dport-spec",
35872 "optional" : 1,
013dc89f
DM
35873 "type" : "string",
35874 "typetext" : "<string>"
7aacca6f 35875 },
44660702 35876 "enable" : {
e94f0d56 35877 "description" : "Flag to enable/disable a rule.",
44660702 35878 "minimum" : 0,
56122987 35879 "optional" : 1,
4bd7df8b 35880 "type" : "integer",
013dc89f 35881 "typetext" : "<integer> (0 - N)"
56122987 35882 },
4772952b
TL
35883 "icmp-type" : {
35884 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
35885 "format" : "pve-fw-icmp-type-spec",
35886 "optional" : 1,
35887 "type" : "string",
35888 "typetext" : "<string>"
35889 },
7aacca6f 35890 "iface" : {
44660702 35891 "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 35892 "format" : "pve-iface",
44660702 35893 "maxLength" : 20,
56122987 35894 "minLength" : 2,
44660702 35895 "optional" : 1,
013dc89f
DM
35896 "type" : "string",
35897 "typetext" : "<string>"
56122987 35898 },
95895385
TL
35899 "log" : {
35900 "description" : "Log level for firewall rule.",
35901 "enum" : [
35902 "emerg",
35903 "alert",
35904 "crit",
35905 "err",
35906 "warning",
35907 "notice",
35908 "info",
35909 "debug",
35910 "nolog"
35911 ],
35912 "optional" : 1,
35913 "type" : "string"
35914 },
44660702 35915 "macro" : {
e94f0d56 35916 "description" : "Use predefined standard macro.",
44660702
DM
35917 "maxLength" : 128,
35918 "optional" : 1,
013dc89f
DM
35919 "type" : "string",
35920 "typetext" : "<string>"
44660702
DM
35921 },
35922 "moveto" : {
35923 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
35924 "minimum" : 0,
7aacca6f 35925 "optional" : 1,
4bd7df8b 35926 "type" : "integer",
013dc89f 35927 "typetext" : "<integer> (0 - N)"
44660702
DM
35928 },
35929 "node" : {
35930 "description" : "The cluster node name.",
35931 "format" : "pve-node",
013dc89f
DM
35932 "type" : "string",
35933 "typetext" : "<string>"
56122987
DM
35934 },
35935 "pos" : {
44660702 35936 "description" : "Update rule at position <pos>.",
7aacca6f 35937 "minimum" : 0,
7aacca6f 35938 "optional" : 1,
4bd7df8b 35939 "type" : "integer",
013dc89f 35940 "typetext" : "<integer> (0 - N)"
7aacca6f 35941 },
44660702
DM
35942 "proto" : {
35943 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
35944 "format" : "pve-fw-protocol-spec",
7aacca6f 35945 "optional" : 1,
013dc89f
DM
35946 "type" : "string",
35947 "typetext" : "<string>"
7aacca6f 35948 },
44660702
DM
35949 "source" : {
35950 "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.",
35951 "format" : "pve-fw-addr-spec",
56122987 35952 "optional" : 1,
013dc89f
DM
35953 "type" : "string",
35954 "typetext" : "<string>"
7aacca6f 35955 },
44660702
DM
35956 "sport" : {
35957 "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.",
35958 "format" : "pve-fw-sport-spec",
35959 "optional" : 1,
013dc89f
DM
35960 "type" : "string",
35961 "typetext" : "<string>"
44660702
DM
35962 },
35963 "type" : {
e94f0d56 35964 "description" : "Rule type.",
44660702
DM
35965 "enum" : [
35966 "in",
35967 "out",
35968 "group"
35969 ],
35970 "optional" : 1,
35971 "type" : "string"
56122987 35972 }
44660702 35973 }
56122987 35974 },
56122987
DM
35975 "permissions" : {
35976 "check" : [
35977 "perm",
35978 "/nodes/{node}",
35979 [
35980 "Sys.Modify"
35981 ]
35982 ]
7aacca6f 35983 },
44660702 35984 "protected" : 1,
7aacca6f 35985 "proxyto" : "node",
7aacca6f
DM
35986 "returns" : {
35987 "type" : "null"
56122987
DM
35988 }
35989 }
7aacca6f 35990 },
44660702 35991 "leaf" : 1,
7aacca6f 35992 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 35993 "text" : "{pos}"
56122987
DM
35994 }
35995 ],
56122987
DM
35996 "info" : {
35997 "GET" : {
e9cd3bd4 35998 "allowtoken" : 1,
44660702
DM
35999 "description" : "List rules.",
36000 "method" : "GET",
36001 "name" : "get_rules",
36002 "parameters" : {
36003 "additionalProperties" : 0,
36004 "properties" : {
36005 "node" : {
36006 "description" : "The cluster node name.",
36007 "format" : "pve-node",
013dc89f
DM
36008 "type" : "string",
36009 "typetext" : "<string>"
44660702
DM
36010 }
36011 }
36012 },
36013 "permissions" : {
36014 "check" : [
36015 "perm",
36016 "/nodes/{node}",
36017 [
36018 "Sys.Audit"
36019 ]
36020 ]
36021 },
36022 "proxyto" : "node",
56122987 36023 "returns" : {
56122987
DM
36024 "items" : {
36025 "properties" : {
36026 "pos" : {
36027 "type" : "integer"
36028 }
44660702
DM
36029 },
36030 "type" : "object"
56122987 36031 },
7aacca6f
DM
36032 "links" : [
36033 {
36034 "href" : "{pos}",
36035 "rel" : "child"
36036 }
36037 ],
36038 "type" : "array"
44660702 36039 }
56122987
DM
36040 },
36041 "POST" : {
e9cd3bd4 36042 "allowtoken" : 1,
44660702 36043 "description" : "Create new rule.",
7aacca6f
DM
36044 "method" : "POST",
36045 "name" : "create_rule",
56122987 36046 "parameters" : {
44660702 36047 "additionalProperties" : 0,
56122987 36048 "properties" : {
7aacca6f 36049 "action" : {
7aacca6f 36050 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 36051 "maxLength" : 20,
7aacca6f
DM
36052 "minLength" : 2,
36053 "optional" : 0,
44660702
DM
36054 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
36055 "type" : "string"
56122987 36056 },
44660702 36057 "comment" : {
e94f0d56 36058 "description" : "Descriptive comment.",
56122987 36059 "optional" : 1,
013dc89f
DM
36060 "type" : "string",
36061 "typetext" : "<string>"
56122987 36062 },
44660702
DM
36063 "dest" : {
36064 "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.",
36065 "format" : "pve-fw-addr-spec",
7aacca6f 36066 "optional" : 1,
013dc89f
DM
36067 "type" : "string",
36068 "typetext" : "<string>"
56122987 36069 },
44660702
DM
36070 "digest" : {
36071 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36072 "maxLength" : 40,
36073 "optional" : 1,
013dc89f
DM
36074 "type" : "string",
36075 "typetext" : "<string>"
56122987 36076 },
44660702
DM
36077 "dport" : {
36078 "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.",
36079 "format" : "pve-fw-dport-spec",
7aacca6f 36080 "optional" : 1,
013dc89f
DM
36081 "type" : "string",
36082 "typetext" : "<string>"
56122987 36083 },
44660702 36084 "enable" : {
e94f0d56 36085 "description" : "Flag to enable/disable a rule.",
44660702
DM
36086 "minimum" : 0,
36087 "optional" : 1,
4bd7df8b 36088 "type" : "integer",
013dc89f 36089 "typetext" : "<integer> (0 - N)"
44660702 36090 },
4772952b
TL
36091 "icmp-type" : {
36092 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
36093 "format" : "pve-fw-icmp-type-spec",
36094 "optional" : 1,
36095 "type" : "string",
36096 "typetext" : "<string>"
36097 },
7aacca6f 36098 "iface" : {
44660702 36099 "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 36100 "format" : "pve-iface",
56122987 36101 "maxLength" : 20,
7aacca6f 36102 "minLength" : 2,
7aacca6f 36103 "optional" : 1,
013dc89f
DM
36104 "type" : "string",
36105 "typetext" : "<string>"
56122987 36106 },
95895385
TL
36107 "log" : {
36108 "description" : "Log level for firewall rule.",
36109 "enum" : [
36110 "emerg",
36111 "alert",
36112 "crit",
36113 "err",
36114 "warning",
36115 "notice",
36116 "info",
36117 "debug",
36118 "nolog"
36119 ],
36120 "optional" : 1,
36121 "type" : "string"
36122 },
44660702 36123 "macro" : {
e94f0d56 36124 "description" : "Use predefined standard macro.",
44660702 36125 "maxLength" : 128,
7aacca6f 36126 "optional" : 1,
013dc89f
DM
36127 "type" : "string",
36128 "typetext" : "<string>"
56122987 36129 },
44660702
DM
36130 "node" : {
36131 "description" : "The cluster node name.",
36132 "format" : "pve-node",
013dc89f
DM
36133 "type" : "string",
36134 "typetext" : "<string>"
44660702
DM
36135 },
36136 "pos" : {
36137 "description" : "Update rule at position <pos>.",
36138 "minimum" : 0,
36139 "optional" : 1,
4bd7df8b 36140 "type" : "integer",
013dc89f 36141 "typetext" : "<integer> (0 - N)"
44660702
DM
36142 },
36143 "proto" : {
36144 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
36145 "format" : "pve-fw-protocol-spec",
56122987 36146 "optional" : 1,
013dc89f
DM
36147 "type" : "string",
36148 "typetext" : "<string>"
56122987 36149 },
7aacca6f 36150 "source" : {
7aacca6f 36151 "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
36152 "format" : "pve-fw-addr-spec",
36153 "optional" : 1,
013dc89f
DM
36154 "type" : "string",
36155 "typetext" : "<string>"
7aacca6f 36156 },
44660702
DM
36157 "sport" : {
36158 "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.",
36159 "format" : "pve-fw-sport-spec",
7aacca6f 36160 "optional" : 1,
013dc89f
DM
36161 "type" : "string",
36162 "typetext" : "<string>"
44660702
DM
36163 },
36164 "type" : {
e94f0d56 36165 "description" : "Rule type.",
44660702
DM
36166 "enum" : [
36167 "in",
36168 "out",
36169 "group"
36170 ],
36171 "optional" : 0,
36172 "type" : "string"
56122987 36173 }
44660702 36174 }
7aacca6f 36175 },
56122987
DM
36176 "permissions" : {
36177 "check" : [
36178 "perm",
36179 "/nodes/{node}",
36180 [
36181 "Sys.Modify"
36182 ]
36183 ]
36184 },
44660702
DM
36185 "protected" : 1,
36186 "proxyto" : "node",
36187 "returns" : {
36188 "type" : "null"
36189 }
56122987
DM
36190 }
36191 },
44660702 36192 "leaf" : 0,
7aacca6f 36193 "path" : "/nodes/{node}/firewall/rules",
44660702 36194 "text" : "rules"
56122987
DM
36195 },
36196 {
56122987 36197 "info" : {
44660702 36198 "GET" : {
e9cd3bd4 36199 "allowtoken" : 1,
44660702
DM
36200 "description" : "Get host firewall options.",
36201 "method" : "GET",
36202 "name" : "get_options",
56122987 36203 "parameters" : {
7aacca6f 36204 "additionalProperties" : 0,
56122987 36205 "properties" : {
44660702
DM
36206 "node" : {
36207 "description" : "The cluster node name.",
36208 "format" : "pve-node",
013dc89f
DM
36209 "type" : "string",
36210 "typetext" : "<string>"
44660702
DM
36211 }
36212 }
36213 },
36214 "permissions" : {
36215 "check" : [
36216 "perm",
36217 "/nodes/{node}",
36218 [
36219 "Sys.Audit"
36220 ]
36221 ]
36222 },
36223 "proxyto" : "node",
36224 "returns" : {
36225 "properties" : {
36226 "enable" : {
36227 "description" : "Enable host firewall rules.",
7aacca6f 36228 "optional" : 1,
44660702 36229 "type" : "boolean"
7aacca6f 36230 },
44660702
DM
36231 "log_level_in" : {
36232 "description" : "Log level for incoming traffic.",
56122987
DM
36233 "enum" : [
36234 "emerg",
36235 "alert",
36236 "crit",
36237 "err",
36238 "warning",
36239 "notice",
36240 "info",
36241 "debug",
36242 "nolog"
36243 ],
56122987 36244 "optional" : 1,
44660702
DM
36245 "type" : "string"
36246 },
36247 "log_level_out" : {
36248 "description" : "Log level for outgoing traffic.",
56122987
DM
36249 "enum" : [
36250 "emerg",
36251 "alert",
36252 "crit",
36253 "err",
36254 "warning",
36255 "notice",
36256 "info",
36257 "debug",
36258 "nolog"
36259 ],
44660702
DM
36260 "optional" : 1,
36261 "type" : "string"
36262 },
95895385
TL
36263 "log_nf_conntrack" : {
36264 "default" : 0,
36265 "description" : "Enable logging of conntrack information.",
36266 "optional" : 1,
36267 "type" : "boolean"
36268 },
44660702 36269 "ndp" : {
5c1699e5
TL
36270 "default" : 0,
36271 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
36272 "optional" : 1,
36273 "type" : "boolean"
36274 },
5f26e15b
TL
36275 "nf_conntrack_allow_invalid" : {
36276 "default" : 0,
36277 "description" : "Allow invalid packets on connection tracking.",
36278 "optional" : 1,
36279 "type" : "boolean"
36280 },
44660702 36281 "nf_conntrack_max" : {
5c1699e5 36282 "default" : 262144,
44660702
DM
36283 "description" : "Maximum number of tracked connections.",
36284 "minimum" : 32768,
36285 "optional" : 1,
36286 "type" : "integer"
36287 },
36288 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 36289 "default" : 432000,
44660702
DM
36290 "description" : "Conntrack established timeout.",
36291 "minimum" : 7875,
36292 "optional" : 1,
36293 "type" : "integer"
36294 },
5c1699e5
TL
36295 "nf_conntrack_tcp_timeout_syn_recv" : {
36296 "default" : 60,
36297 "description" : "Conntrack syn recv timeout.",
36298 "maximum" : 60,
36299 "minimum" : 30,
36300 "optional" : 1,
36301 "type" : "integer"
36302 },
44660702
DM
36303 "nosmurfs" : {
36304 "description" : "Enable SMURFS filter.",
36305 "optional" : 1,
36306 "type" : "boolean"
56122987 36307 },
5c1699e5
TL
36308 "protection_synflood" : {
36309 "default" : 0,
36310 "description" : "Enable synflood protection",
36311 "optional" : 1,
36312 "type" : "boolean"
36313 },
36314 "protection_synflood_burst" : {
36315 "default" : 1000,
36316 "description" : "Synflood protection rate burst by ip src.",
36317 "optional" : 1,
36318 "type" : "integer"
36319 },
36320 "protection_synflood_rate" : {
36321 "default" : 200,
36322 "description" : "Synflood protection rate syn/sec by ip src.",
36323 "optional" : 1,
36324 "type" : "integer"
36325 },
7aacca6f 36326 "smurf_log_level" : {
44660702 36327 "description" : "Log level for SMURFS filter.",
56122987
DM
36328 "enum" : [
36329 "emerg",
36330 "alert",
36331 "crit",
36332 "err",
36333 "warning",
36334 "notice",
36335 "info",
36336 "debug",
36337 "nolog"
7aacca6f 36338 ],
7aacca6f
DM
36339 "optional" : 1,
36340 "type" : "string"
56122987 36341 },
44660702
DM
36342 "tcp_flags_log_level" : {
36343 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
36344 "enum" : [
36345 "emerg",
36346 "alert",
36347 "crit",
36348 "err",
36349 "warning",
36350 "notice",
36351 "info",
36352 "debug",
36353 "nolog"
36354 ],
44660702
DM
36355 "optional" : 1,
36356 "type" : "string"
7aacca6f 36357 },
44660702 36358 "tcpflags" : {
5c1699e5 36359 "default" : 0,
44660702 36360 "description" : "Filter illegal combinations of TCP flags.",
56122987 36361 "optional" : 1,
44660702 36362 "type" : "boolean"
56122987 36363 }
44660702
DM
36364 },
36365 "type" : "object"
7aacca6f 36366 }
56122987 36367 },
44660702 36368 "PUT" : {
e9cd3bd4 36369 "allowtoken" : 1,
44660702
DM
36370 "description" : "Set Firewall options.",
36371 "method" : "PUT",
36372 "name" : "set_options",
7aacca6f 36373 "parameters" : {
44660702 36374 "additionalProperties" : 0,
7aacca6f 36375 "properties" : {
44660702
DM
36376 "delete" : {
36377 "description" : "A list of settings you want to delete.",
36378 "format" : "pve-configid-list",
7aacca6f 36379 "optional" : 1,
013dc89f
DM
36380 "type" : "string",
36381 "typetext" : "<string>"
56122987 36382 },
44660702
DM
36383 "digest" : {
36384 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36385 "maxLength" : 40,
36386 "optional" : 1,
013dc89f
DM
36387 "type" : "string",
36388 "typetext" : "<string>"
56122987 36389 },
44660702
DM
36390 "enable" : {
36391 "description" : "Enable host firewall rules.",
7aacca6f 36392 "optional" : 1,
013dc89f
DM
36393 "type" : "boolean",
36394 "typetext" : "<boolean>"
44660702
DM
36395 },
36396 "log_level_in" : {
36397 "description" : "Log level for incoming traffic.",
56122987
DM
36398 "enum" : [
36399 "emerg",
36400 "alert",
36401 "crit",
36402 "err",
36403 "warning",
36404 "notice",
36405 "info",
36406 "debug",
36407 "nolog"
44660702 36408 ],
7aacca6f 36409 "optional" : 1,
44660702 36410 "type" : "string"
7aacca6f 36411 },
44660702
DM
36412 "log_level_out" : {
36413 "description" : "Log level for outgoing traffic.",
56122987
DM
36414 "enum" : [
36415 "emerg",
36416 "alert",
36417 "crit",
36418 "err",
36419 "warning",
36420 "notice",
36421 "info",
36422 "debug",
36423 "nolog"
36424 ],
36425 "optional" : 1,
7aacca6f 36426 "type" : "string"
56122987 36427 },
95895385
TL
36428 "log_nf_conntrack" : {
36429 "default" : 0,
36430 "description" : "Enable logging of conntrack information.",
36431 "optional" : 1,
36432 "type" : "boolean",
36433 "typetext" : "<boolean>"
36434 },
44660702 36435 "ndp" : {
5c1699e5
TL
36436 "default" : 0,
36437 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 36438 "optional" : 1,
013dc89f
DM
36439 "type" : "boolean",
36440 "typetext" : "<boolean>"
44660702 36441 },
5f26e15b
TL
36442 "nf_conntrack_allow_invalid" : {
36443 "default" : 0,
36444 "description" : "Allow invalid packets on connection tracking.",
36445 "optional" : 1,
36446 "type" : "boolean",
36447 "typetext" : "<boolean>"
36448 },
44660702 36449 "nf_conntrack_max" : {
5c1699e5 36450 "default" : 262144,
44660702
DM
36451 "description" : "Maximum number of tracked connections.",
36452 "minimum" : 32768,
36453 "optional" : 1,
4bd7df8b 36454 "type" : "integer",
013dc89f 36455 "typetext" : "<integer> (32768 - N)"
44660702
DM
36456 },
36457 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 36458 "default" : 432000,
44660702
DM
36459 "description" : "Conntrack established timeout.",
36460 "minimum" : 7875,
36461 "optional" : 1,
4bd7df8b 36462 "type" : "integer",
013dc89f 36463 "typetext" : "<integer> (7875 - N)"
44660702 36464 },
5c1699e5
TL
36465 "nf_conntrack_tcp_timeout_syn_recv" : {
36466 "default" : 60,
36467 "description" : "Conntrack syn recv timeout.",
36468 "maximum" : 60,
36469 "minimum" : 30,
36470 "optional" : 1,
36471 "type" : "integer",
36472 "typetext" : "<integer> (30 - 60)"
36473 },
44660702
DM
36474 "node" : {
36475 "description" : "The cluster node name.",
36476 "format" : "pve-node",
013dc89f
DM
36477 "type" : "string",
36478 "typetext" : "<string>"
44660702
DM
36479 },
36480 "nosmurfs" : {
36481 "description" : "Enable SMURFS filter.",
36482 "optional" : 1,
013dc89f
DM
36483 "type" : "boolean",
36484 "typetext" : "<boolean>"
44660702 36485 },
5c1699e5
TL
36486 "protection_synflood" : {
36487 "default" : 0,
36488 "description" : "Enable synflood protection",
36489 "optional" : 1,
36490 "type" : "boolean",
36491 "typetext" : "<boolean>"
36492 },
36493 "protection_synflood_burst" : {
36494 "default" : 1000,
36495 "description" : "Synflood protection rate burst by ip src.",
36496 "optional" : 1,
36497 "type" : "integer",
36498 "typetext" : "<integer>"
36499 },
36500 "protection_synflood_rate" : {
36501 "default" : 200,
36502 "description" : "Synflood protection rate syn/sec by ip src.",
36503 "optional" : 1,
36504 "type" : "integer",
36505 "typetext" : "<integer>"
36506 },
44660702
DM
36507 "smurf_log_level" : {
36508 "description" : "Log level for SMURFS filter.",
56122987
DM
36509 "enum" : [
36510 "emerg",
36511 "alert",
36512 "crit",
36513 "err",
36514 "warning",
36515 "notice",
36516 "info",
36517 "debug",
36518 "nolog"
44660702
DM
36519 ],
36520 "optional" : 1,
36521 "type" : "string"
56122987 36522 },
44660702
DM
36523 "tcp_flags_log_level" : {
36524 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
36525 "enum" : [
36526 "emerg",
36527 "alert",
36528 "crit",
36529 "err",
36530 "warning",
36531 "notice",
36532 "info",
36533 "debug",
36534 "nolog"
36535 ],
44660702
DM
36536 "optional" : 1,
36537 "type" : "string"
7aacca6f 36538 },
44660702 36539 "tcpflags" : {
5c1699e5 36540 "default" : 0,
44660702 36541 "description" : "Filter illegal combinations of TCP flags.",
56122987 36542 "optional" : 1,
013dc89f
DM
36543 "type" : "boolean",
36544 "typetext" : "<boolean>"
56122987 36545 }
7aacca6f 36546 }
56122987 36547 },
44660702
DM
36548 "permissions" : {
36549 "check" : [
36550 "perm",
36551 "/nodes/{node}",
36552 [
36553 "Sys.Modify"
36554 ]
36555 ]
36556 },
36557 "protected" : 1,
36558 "proxyto" : "node",
36559 "returns" : {
36560 "type" : "null"
36561 }
7aacca6f
DM
36562 }
36563 },
44660702
DM
36564 "leaf" : 1,
36565 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
36566 "text" : "options"
36567 },
36568 {
7aacca6f
DM
36569 "info" : {
36570 "GET" : {
e9cd3bd4 36571 "allowtoken" : 1,
44660702
DM
36572 "description" : "Read firewall log",
36573 "method" : "GET",
7aacca6f 36574 "name" : "log",
56122987 36575 "parameters" : {
44660702 36576 "additionalProperties" : 0,
56122987 36577 "properties" : {
7aacca6f 36578 "limit" : {
44660702 36579 "minimum" : 0,
7aacca6f 36580 "optional" : 1,
4bd7df8b 36581 "type" : "integer",
013dc89f 36582 "typetext" : "<integer> (0 - N)"
7aacca6f 36583 },
56122987 36584 "node" : {
7aacca6f 36585 "description" : "The cluster node name.",
44660702 36586 "format" : "pve-node",
013dc89f
DM
36587 "type" : "string",
36588 "typetext" : "<string>"
44660702
DM
36589 },
36590 "start" : {
36591 "minimum" : 0,
36592 "optional" : 1,
4bd7df8b 36593 "type" : "integer",
013dc89f 36594 "typetext" : "<integer> (0 - N)"
56122987 36595 }
44660702 36596 }
7aacca6f 36597 },
56122987
DM
36598 "permissions" : {
36599 "check" : [
36600 "perm",
36601 "/nodes/{node}",
36602 [
36603 "Sys.Syslog"
36604 ]
36605 ]
36606 },
44660702
DM
36607 "protected" : 1,
36608 "proxyto" : "node",
56122987
DM
36609 "returns" : {
36610 "items" : {
56122987 36611 "properties" : {
56122987 36612 "n" : {
44660702
DM
36613 "description" : "Line number",
36614 "type" : "integer"
7aacca6f
DM
36615 },
36616 "t" : {
44660702
DM
36617 "description" : "Line text",
36618 "type" : "string"
56122987 36619 }
44660702
DM
36620 },
36621 "type" : "object"
56122987
DM
36622 },
36623 "type" : "array"
7aacca6f 36624 }
56122987
DM
36625 }
36626 },
44660702
DM
36627 "leaf" : 1,
36628 "path" : "/nodes/{node}/firewall/log",
7aacca6f 36629 "text" : "log"
56122987
DM
36630 }
36631 ],
36632 "info" : {
36633 "GET" : {
e9cd3bd4 36634 "allowtoken" : 1,
44660702
DM
36635 "description" : "Directory index.",
36636 "method" : "GET",
36637 "name" : "index",
56122987 36638 "parameters" : {
44660702 36639 "additionalProperties" : 0,
56122987
DM
36640 "properties" : {
36641 "node" : {
36642 "description" : "The cluster node name.",
44660702 36643 "format" : "pve-node",
013dc89f
DM
36644 "type" : "string",
36645 "typetext" : "<string>"
56122987 36646 }
44660702 36647 }
56122987 36648 },
7aacca6f
DM
36649 "permissions" : {
36650 "user" : "all"
36651 },
56122987
DM
36652 "returns" : {
36653 "items" : {
36654 "properties" : {},
36655 "type" : "object"
36656 },
56122987
DM
36657 "links" : [
36658 {
44660702
DM
36659 "href" : "{name}",
36660 "rel" : "child"
56122987 36661 }
44660702
DM
36662 ],
36663 "type" : "array"
36664 }
56122987 36665 }
7aacca6f 36666 },
44660702 36667 "leaf" : 0,
7aacca6f 36668 "path" : "/nodes/{node}/firewall",
44660702 36669 "text" : "firewall"
56122987 36670 },
5d9c884c
DM
36671 {
36672 "children" : [
36673 {
36674 "children" : [
36675 {
36676 "info" : {
36677 "GET" : {
e9cd3bd4 36678 "allowtoken" : 1,
5d9c884c
DM
36679 "description" : "Get replication job status.",
36680 "method" : "GET",
36681 "name" : "job_status",
36682 "parameters" : {
36683 "additionalProperties" : 0,
36684 "properties" : {
36685 "id" : {
36686 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36687 "format" : "pve-replication-job-id",
36688 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36689 "type" : "string"
36690 },
36691 "node" : {
36692 "description" : "The cluster node name.",
36693 "format" : "pve-node",
36694 "type" : "string",
36695 "typetext" : "<string>"
36696 }
36697 }
36698 },
36699 "permissions" : {
36700 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
36701 "user" : "all"
36702 },
36703 "protected" : 1,
36704 "proxyto" : "node",
36705 "returns" : {
5d9c884c
DM
36706 "type" : "object"
36707 }
36708 }
36709 },
36710 "leaf" : 1,
36711 "path" : "/nodes/{node}/replication/{id}/status",
36712 "text" : "status"
36713 },
36714 {
36715 "info" : {
36716 "GET" : {
e9cd3bd4 36717 "allowtoken" : 1,
5d9c884c
DM
36718 "description" : "Read replication job log.",
36719 "method" : "GET",
36720 "name" : "read_job_log",
36721 "parameters" : {
36722 "additionalProperties" : 0,
36723 "properties" : {
36724 "id" : {
36725 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36726 "format" : "pve-replication-job-id",
36727 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36728 "type" : "string"
36729 },
36730 "limit" : {
36731 "minimum" : 0,
36732 "optional" : 1,
36733 "type" : "integer",
36734 "typetext" : "<integer> (0 - N)"
36735 },
36736 "node" : {
36737 "description" : "The cluster node name.",
36738 "format" : "pve-node",
36739 "type" : "string",
36740 "typetext" : "<string>"
36741 },
36742 "start" : {
36743 "minimum" : 0,
36744 "optional" : 1,
36745 "type" : "integer",
36746 "typetext" : "<integer> (0 - N)"
36747 }
36748 }
36749 },
36750 "permissions" : {
36751 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
36752 "user" : "all"
36753 },
36754 "protected" : 1,
36755 "proxyto" : "node",
36756 "returns" : {
36757 "items" : {
36758 "properties" : {
36759 "n" : {
36760 "description" : "Line number",
36761 "type" : "integer"
36762 },
36763 "t" : {
36764 "description" : "Line text",
36765 "type" : "string"
36766 }
36767 },
36768 "type" : "object"
36769 },
36770 "type" : "array"
36771 }
36772 }
36773 },
36774 "leaf" : 1,
36775 "path" : "/nodes/{node}/replication/{id}/log",
36776 "text" : "log"
36777 },
36778 {
36779 "info" : {
36780 "POST" : {
e9cd3bd4 36781 "allowtoken" : 1,
5d9c884c
DM
36782 "description" : "Schedule replication job to start as soon as possible.",
36783 "method" : "POST",
36784 "name" : "schedule_now",
36785 "parameters" : {
36786 "additionalProperties" : 0,
36787 "properties" : {
36788 "id" : {
36789 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36790 "format" : "pve-replication-job-id",
36791 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36792 "type" : "string"
36793 },
36794 "node" : {
36795 "description" : "The cluster node name.",
36796 "format" : "pve-node",
36797 "type" : "string",
36798 "typetext" : "<string>"
36799 }
36800 }
36801 },
36802 "permissions" : {
36803 "check" : [
36804 "perm",
36805 "/storage",
36806 [
36807 "Datastore.Allocate"
36808 ]
36809 ]
36810 },
36811 "protected" : 1,
36812 "proxyto" : "node",
36813 "returns" : {
36814 "type" : "string"
36815 }
36816 }
36817 },
36818 "leaf" : 1,
36819 "path" : "/nodes/{node}/replication/{id}/schedule_now",
36820 "text" : "schedule_now"
36821 }
36822 ],
36823 "info" : {
36824 "GET" : {
e9cd3bd4 36825 "allowtoken" : 1,
5d9c884c
DM
36826 "description" : "Directory index.",
36827 "method" : "GET",
36828 "name" : "index",
36829 "parameters" : {
36830 "additionalProperties" : 0,
36831 "properties" : {
36832 "id" : {
36833 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
36834 "format" : "pve-replication-job-id",
36835 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
36836 "type" : "string"
36837 },
36838 "node" : {
36839 "description" : "The cluster node name.",
36840 "format" : "pve-node",
36841 "type" : "string",
36842 "typetext" : "<string>"
36843 }
36844 }
36845 },
36846 "permissions" : {
36847 "user" : "all"
36848 },
36849 "returns" : {
36850 "items" : {
36851 "properties" : {},
36852 "type" : "object"
36853 },
36854 "links" : [
36855 {
36856 "href" : "{name}",
36857 "rel" : "child"
36858 }
36859 ],
36860 "type" : "array"
36861 }
36862 }
36863 },
36864 "leaf" : 0,
36865 "path" : "/nodes/{node}/replication/{id}",
36866 "text" : "{id}"
36867 }
36868 ],
36869 "info" : {
36870 "GET" : {
e9cd3bd4 36871 "allowtoken" : 1,
5d9c884c
DM
36872 "description" : "List status of all replication jobs on this node.",
36873 "method" : "GET",
36874 "name" : "status",
36875 "parameters" : {
36876 "additionalProperties" : 0,
36877 "properties" : {
36878 "guest" : {
36879 "description" : "Only list replication jobs for this guest.",
36880 "format" : "pve-vmid",
36881 "minimum" : 1,
36882 "optional" : 1,
36883 "type" : "integer",
36884 "typetext" : "<integer> (1 - N)"
36885 },
36886 "node" : {
36887 "description" : "The cluster node name.",
36888 "format" : "pve-node",
36889 "type" : "string",
36890 "typetext" : "<string>"
36891 }
36892 }
36893 },
36894 "permissions" : {
36895 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
36896 "user" : "all"
36897 },
36898 "protected" : 1,
36899 "proxyto" : "node",
36900 "returns" : {
36901 "items" : {
36902 "properties" : {
36903 "id" : {
36904 "type" : "string"
36905 }
36906 },
36907 "type" : "object"
36908 },
36909 "links" : [
36910 {
36911 "href" : "{id}",
36912 "rel" : "child"
36913 }
36914 ],
36915 "type" : "array"
36916 }
36917 }
36918 },
36919 "leaf" : 0,
36920 "path" : "/nodes/{node}/replication",
36921 "text" : "replication"
36922 },
a9a8e3d1
DM
36923 {
36924 "children" : [
36925 {
36926 "children" : [
36927 {
36928 "info" : {
36929 "DELETE" : {
e9cd3bd4 36930 "allowtoken" : 1,
a9a8e3d1
DM
36931 "description" : "Revoke existing certificate from CA.",
36932 "method" : "DELETE",
36933 "name" : "revoke_certificate",
36934 "parameters" : {
36935 "additionalProperties" : 0,
36936 "properties" : {
36937 "node" : {
36938 "description" : "The cluster node name.",
36939 "format" : "pve-node",
36940 "type" : "string",
36941 "typetext" : "<string>"
36942 }
36943 }
36944 },
ac70d7d1
TL
36945 "permissions" : {
36946 "check" : [
36947 "perm",
36948 "/nodes/{node}",
36949 [
36950 "Sys.Modify"
36951 ]
36952 ]
36953 },
a9a8e3d1
DM
36954 "protected" : 1,
36955 "proxyto" : "node",
36956 "returns" : {
36957 "type" : "string"
36958 }
36959 },
36960 "POST" : {
e9cd3bd4 36961 "allowtoken" : 1,
a9a8e3d1
DM
36962 "description" : "Order a new certificate from ACME-compatible CA.",
36963 "method" : "POST",
36964 "name" : "new_certificate",
36965 "parameters" : {
36966 "additionalProperties" : 0,
36967 "properties" : {
36968 "force" : {
36969 "default" : 0,
36970 "description" : "Overwrite existing custom certificate.",
36971 "optional" : 1,
36972 "type" : "boolean",
36973 "typetext" : "<boolean>"
36974 },
36975 "node" : {
36976 "description" : "The cluster node name.",
36977 "format" : "pve-node",
36978 "type" : "string",
36979 "typetext" : "<string>"
36980 }
36981 }
36982 },
ac70d7d1
TL
36983 "permissions" : {
36984 "check" : [
36985 "perm",
36986 "/nodes/{node}",
36987 [
36988 "Sys.Modify"
36989 ]
36990 ]
36991 },
a9a8e3d1
DM
36992 "protected" : 1,
36993 "proxyto" : "node",
36994 "returns" : {
36995 "type" : "string"
36996 }
36997 },
36998 "PUT" : {
e9cd3bd4 36999 "allowtoken" : 1,
a9a8e3d1
DM
37000 "description" : "Renew existing certificate from CA.",
37001 "method" : "PUT",
37002 "name" : "renew_certificate",
37003 "parameters" : {
37004 "additionalProperties" : 0,
37005 "properties" : {
37006 "force" : {
37007 "default" : 0,
37008 "description" : "Force renewal even if expiry is more than 30 days away.",
37009 "optional" : 1,
37010 "type" : "boolean",
37011 "typetext" : "<boolean>"
37012 },
37013 "node" : {
37014 "description" : "The cluster node name.",
37015 "format" : "pve-node",
37016 "type" : "string",
37017 "typetext" : "<string>"
37018 }
37019 }
37020 },
ac70d7d1
TL
37021 "permissions" : {
37022 "check" : [
37023 "perm",
37024 "/nodes/{node}",
37025 [
37026 "Sys.Modify"
37027 ]
37028 ]
37029 },
a9a8e3d1
DM
37030 "protected" : 1,
37031 "proxyto" : "node",
37032 "returns" : {
37033 "type" : "string"
37034 }
37035 }
37036 },
37037 "leaf" : 1,
37038 "path" : "/nodes/{node}/certificates/acme/certificate",
37039 "text" : "certificate"
37040 }
37041 ],
37042 "info" : {
37043 "GET" : {
e9cd3bd4 37044 "allowtoken" : 1,
a9a8e3d1
DM
37045 "description" : "ACME index.",
37046 "method" : "GET",
37047 "name" : "index",
37048 "parameters" : {
37049 "additionalProperties" : 0,
37050 "properties" : {
37051 "node" : {
37052 "description" : "The cluster node name.",
37053 "format" : "pve-node",
37054 "type" : "string",
37055 "typetext" : "<string>"
37056 }
37057 }
37058 },
37059 "permissions" : {
37060 "user" : "all"
37061 },
37062 "returns" : {
37063 "items" : {
37064 "properties" : {},
37065 "type" : "object"
37066 },
37067 "links" : [
37068 {
37069 "href" : "{name}",
37070 "rel" : "child"
37071 }
37072 ],
37073 "type" : "array"
37074 }
37075 }
37076 },
37077 "leaf" : 0,
37078 "path" : "/nodes/{node}/certificates/acme",
37079 "text" : "acme"
37080 },
37081 {
37082 "info" : {
37083 "GET" : {
e9cd3bd4 37084 "allowtoken" : 1,
a9a8e3d1
DM
37085 "description" : "Get information about node's certificates.",
37086 "method" : "GET",
37087 "name" : "info",
37088 "parameters" : {
37089 "additionalProperties" : 0,
37090 "properties" : {
37091 "node" : {
37092 "description" : "The cluster node name.",
37093 "format" : "pve-node",
37094 "type" : "string",
37095 "typetext" : "<string>"
37096 }
37097 }
37098 },
37099 "permissions" : {
37100 "user" : "all"
37101 },
37102 "proxyto" : "node",
37103 "returns" : {
37104 "items" : {
37105 "properties" : {
37106 "filename" : {
37107 "optional" : 1,
37108 "type" : "string"
37109 },
37110 "fingerprint" : {
37111 "description" : "Certificate SHA 256 fingerprint.",
37112 "optional" : 1,
37113 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
37114 "type" : "string"
37115 },
37116 "issuer" : {
37117 "description" : "Certificate issuer name.",
37118 "optional" : 1,
37119 "type" : "string"
37120 },
37121 "notafter" : {
37122 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
37123 "optional" : 1,
4d47f125 37124 "renderer" : "timestamp",
a9a8e3d1
DM
37125 "type" : "integer"
37126 },
37127 "notbefore" : {
37128 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
37129 "optional" : 1,
4d47f125 37130 "renderer" : "timestamp",
a9a8e3d1
DM
37131 "type" : "integer"
37132 },
37133 "pem" : {
37134 "description" : "Certificate in PEM format",
37135 "format" : "pem-certificate",
37136 "optional" : 1,
37137 "type" : "string"
37138 },
1c532546
TL
37139 "public-key-bits" : {
37140 "description" : "Certificate's public key size",
37141 "optional" : 1,
37142 "type" : "integer"
37143 },
37144 "public-key-type" : {
37145 "description" : "Certificate's public key algorithm",
37146 "optional" : 1,
37147 "type" : "string"
37148 },
a9a8e3d1
DM
37149 "san" : {
37150 "description" : "List of Certificate's SubjectAlternativeName entries.",
37151 "items" : {
37152 "type" : "string"
37153 },
37154 "optional" : 1,
4d47f125 37155 "renderer" : "yaml",
a9a8e3d1
DM
37156 "type" : "array"
37157 },
37158 "subject" : {
37159 "description" : "Certificate subject name.",
37160 "optional" : 1,
37161 "type" : "string"
37162 }
37163 },
37164 "type" : "object"
37165 },
37166 "type" : "array"
37167 }
37168 }
37169 },
37170 "leaf" : 1,
37171 "path" : "/nodes/{node}/certificates/info",
37172 "text" : "info"
37173 },
37174 {
37175 "info" : {
37176 "DELETE" : {
e9cd3bd4 37177 "allowtoken" : 1,
a9a8e3d1
DM
37178 "description" : "DELETE custom certificate chain and key.",
37179 "method" : "DELETE",
37180 "name" : "remove_custom_cert",
37181 "parameters" : {
37182 "additionalProperties" : 0,
37183 "properties" : {
37184 "node" : {
37185 "description" : "The cluster node name.",
37186 "format" : "pve-node",
37187 "type" : "string",
37188 "typetext" : "<string>"
37189 },
37190 "restart" : {
37191 "default" : 0,
37192 "description" : "Restart pveproxy.",
37193 "optional" : 1,
37194 "type" : "boolean",
37195 "typetext" : "<boolean>"
37196 }
37197 }
37198 },
ac70d7d1
TL
37199 "permissions" : {
37200 "check" : [
37201 "perm",
37202 "/nodes/{node}",
37203 [
37204 "Sys.Modify"
37205 ]
37206 ]
37207 },
a9a8e3d1
DM
37208 "protected" : 1,
37209 "proxyto" : "node",
37210 "returns" : {
37211 "type" : "null"
37212 }
37213 },
37214 "POST" : {
e9cd3bd4 37215 "allowtoken" : 1,
a9a8e3d1
DM
37216 "description" : "Upload or update custom certificate chain and key.",
37217 "method" : "POST",
37218 "name" : "upload_custom_cert",
37219 "parameters" : {
37220 "additionalProperties" : 0,
37221 "properties" : {
37222 "certificates" : {
37223 "description" : "PEM encoded certificate (chain).",
37224 "format" : "pem-certificate-chain",
37225 "type" : "string",
37226 "typetext" : "<string>"
37227 },
37228 "force" : {
37229 "default" : 0,
37230 "description" : "Overwrite existing custom or ACME certificate files.",
37231 "optional" : 1,
37232 "type" : "boolean",
37233 "typetext" : "<boolean>"
37234 },
37235 "key" : {
37236 "description" : "PEM encoded private key.",
37237 "format" : "pem-string",
37238 "optional" : 1,
37239 "type" : "string",
37240 "typetext" : "<string>"
37241 },
37242 "node" : {
37243 "description" : "The cluster node name.",
37244 "format" : "pve-node",
37245 "type" : "string",
37246 "typetext" : "<string>"
37247 },
37248 "restart" : {
37249 "default" : 0,
37250 "description" : "Restart pveproxy.",
37251 "optional" : 1,
37252 "type" : "boolean",
37253 "typetext" : "<boolean>"
37254 }
37255 }
37256 },
ac70d7d1
TL
37257 "permissions" : {
37258 "check" : [
37259 "perm",
37260 "/nodes/{node}",
37261 [
37262 "Sys.Modify"
37263 ]
37264 ]
37265 },
a9a8e3d1
DM
37266 "protected" : 1,
37267 "proxyto" : "node",
37268 "returns" : {
37269 "properties" : {
37270 "filename" : {
37271 "optional" : 1,
37272 "type" : "string"
37273 },
37274 "fingerprint" : {
37275 "description" : "Certificate SHA 256 fingerprint.",
37276 "optional" : 1,
37277 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
37278 "type" : "string"
37279 },
37280 "issuer" : {
37281 "description" : "Certificate issuer name.",
37282 "optional" : 1,
37283 "type" : "string"
37284 },
37285 "notafter" : {
37286 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
37287 "optional" : 1,
4d47f125 37288 "renderer" : "timestamp",
a9a8e3d1
DM
37289 "type" : "integer"
37290 },
37291 "notbefore" : {
37292 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
37293 "optional" : 1,
4d47f125 37294 "renderer" : "timestamp",
a9a8e3d1
DM
37295 "type" : "integer"
37296 },
37297 "pem" : {
37298 "description" : "Certificate in PEM format",
37299 "format" : "pem-certificate",
37300 "optional" : 1,
37301 "type" : "string"
37302 },
1c532546
TL
37303 "public-key-bits" : {
37304 "description" : "Certificate's public key size",
37305 "optional" : 1,
37306 "type" : "integer"
37307 },
37308 "public-key-type" : {
37309 "description" : "Certificate's public key algorithm",
37310 "optional" : 1,
37311 "type" : "string"
37312 },
a9a8e3d1
DM
37313 "san" : {
37314 "description" : "List of Certificate's SubjectAlternativeName entries.",
37315 "items" : {
37316 "type" : "string"
37317 },
37318 "optional" : 1,
4d47f125 37319 "renderer" : "yaml",
a9a8e3d1
DM
37320 "type" : "array"
37321 },
37322 "subject" : {
37323 "description" : "Certificate subject name.",
37324 "optional" : 1,
37325 "type" : "string"
37326 }
37327 },
37328 "type" : "object"
37329 }
37330 }
37331 },
37332 "leaf" : 1,
37333 "path" : "/nodes/{node}/certificates/custom",
37334 "text" : "custom"
37335 }
37336 ],
37337 "info" : {
37338 "GET" : {
e9cd3bd4 37339 "allowtoken" : 1,
a9a8e3d1
DM
37340 "description" : "Node index.",
37341 "method" : "GET",
37342 "name" : "index",
37343 "parameters" : {
37344 "additionalProperties" : 0,
37345 "properties" : {
37346 "node" : {
37347 "description" : "The cluster node name.",
37348 "format" : "pve-node",
37349 "type" : "string",
37350 "typetext" : "<string>"
37351 }
37352 }
37353 },
37354 "permissions" : {
37355 "user" : "all"
37356 },
37357 "returns" : {
37358 "items" : {
37359 "properties" : {},
37360 "type" : "object"
37361 },
37362 "links" : [
37363 {
37364 "href" : "{name}",
37365 "rel" : "child"
37366 }
37367 ],
37368 "type" : "array"
37369 }
37370 }
37371 },
37372 "leaf" : 0,
c5aa7e14
TL
37373 "path" : "/nodes/{node}/certificates",
37374 "text" : "certificates"
37375 },
37376 {
37377 "info" : {
37378 "GET" : {
37379 "allowtoken" : 1,
37380 "description" : "Get node configuration options.",
37381 "method" : "GET",
37382 "name" : "get_config",
37383 "parameters" : {
37384 "additionalProperties" : 0,
37385 "properties" : {
37386 "node" : {
37387 "description" : "The cluster node name.",
37388 "format" : "pve-node",
37389 "type" : "string",
37390 "typetext" : "<string>"
37391 },
37392 "property" : {
37393 "default" : "all",
37394 "description" : "Return only a specific property from the node configuration.",
37395 "enum" : [
37396 "acme",
37397 "acmedomain0",
37398 "acmedomain1",
37399 "acmedomain2",
37400 "acmedomain3",
37401 "acmedomain4",
37402 "acmedomain5",
37403 "description",
37404 "startall-onboot-delay",
37405 "wakeonlan"
37406 ],
37407 "optional" : 1,
37408 "type" : "string"
37409 }
37410 }
37411 },
37412 "permissions" : {
37413 "check" : [
37414 "perm",
37415 "/",
37416 [
37417 "Sys.Audit"
37418 ]
37419 ]
37420 },
37421 "proxyto" : "node",
37422 "returns" : {
37423 "type" : "object"
37424 }
37425 },
37426 "PUT" : {
37427 "allowtoken" : 1,
37428 "description" : "Set node configuration options.",
37429 "method" : "PUT",
37430 "name" : "set_options",
37431 "parameters" : {
37432 "additionalProperties" : 0,
37433 "properties" : {
37434 "acme" : {
37435 "description" : "Node specific ACME settings.",
37436 "format" : {
37437 "account" : {
37438 "default" : "default",
37439 "description" : "ACME account config file name.",
37440 "format" : "pve-configid",
37441 "format_description" : "name",
37442 "optional" : 1,
37443 "type" : "string"
37444 },
37445 "domains" : {
37446 "description" : "List of domains for this node's ACME certificate",
37447 "format" : "pve-acme-domain-list",
37448 "format_description" : "domain[;domain;...]",
37449 "optional" : 1,
37450 "type" : "string"
37451 }
37452 },
37453 "optional" : 1,
37454 "type" : "string",
37455 "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]"
37456 },
37457 "acmedomain[n]" : {
37458 "description" : "ACME domain and validation plugin",
37459 "format" : {
37460 "alias" : {
37461 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
ac70d7d1 37462 "format" : "pve-acme-alias",
c5aa7e14
TL
37463 "format_description" : "domain",
37464 "optional" : 1,
37465 "type" : "string"
37466 },
37467 "domain" : {
37468 "default_key" : 1,
37469 "description" : "domain for this node's ACME certificate",
37470 "format" : "pve-acme-domain",
37471 "format_description" : "domain",
37472 "type" : "string"
37473 },
37474 "plugin" : {
37475 "default" : "standalone",
37476 "description" : "The ACME plugin ID",
37477 "format" : "pve-configid",
37478 "format_description" : "name of the plugin configuration",
37479 "optional" : 1,
37480 "type" : "string"
37481 }
37482 },
37483 "optional" : 1,
37484 "type" : "string",
37485 "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
37486 },
37487 "delete" : {
37488 "description" : "A list of settings you want to delete.",
37489 "format" : "pve-configid-list",
37490 "optional" : 1,
37491 "type" : "string",
37492 "typetext" : "<string>"
37493 },
37494 "description" : {
37495 "description" : "Node description/comment.",
37496 "optional" : 1,
37497 "type" : "string",
37498 "typetext" : "<string>"
37499 },
37500 "digest" : {
37501 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37502 "maxLength" : 40,
37503 "optional" : 1,
37504 "type" : "string",
37505 "typetext" : "<string>"
37506 },
37507 "node" : {
37508 "description" : "The cluster node name.",
37509 "format" : "pve-node",
37510 "type" : "string",
37511 "typetext" : "<string>"
37512 },
37513 "startall-onboot-delay" : {
37514 "default" : 0,
37515 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
37516 "maximum" : 300,
37517 "minimum" : 0,
37518 "optional" : 1,
37519 "type" : "integer",
37520 "typetext" : "<integer> (0 - 300)"
37521 },
37522 "wakeonlan" : {
37523 "description" : "MAC address for wake on LAN",
37524 "format" : "mac-addr",
37525 "optional" : 1,
37526 "type" : "string",
37527 "typetext" : "<string>"
37528 }
37529 }
37530 },
37531 "permissions" : {
37532 "check" : [
37533 "perm",
37534 "/",
37535 [
37536 "Sys.Modify"
37537 ]
37538 ]
37539 },
37540 "protected" : 1,
37541 "proxyto" : "node",
37542 "returns" : {
37543 "type" : "null"
37544 }
37545 }
37546 },
37547 "leaf" : 1,
37548 "path" : "/nodes/{node}/config",
37549 "text" : "config"
37550 },
37551 {
37552 "children" : [
37553 {
37554 "children" : [
37555 {
37556 "children" : [
37557 {
37558 "info" : {
37559 "GET" : {
37560 "allowtoken" : 1,
37561 "description" : "List zone content.",
37562 "method" : "GET",
37563 "name" : "index",
37564 "parameters" : {
37565 "additionalProperties" : 0,
37566 "properties" : {
37567 "node" : {
37568 "description" : "The cluster node name.",
37569 "format" : "pve-node",
37570 "type" : "string",
37571 "typetext" : "<string>"
37572 },
37573 "zone" : {
37574 "description" : "The SDN zone object identifier.",
37575 "format" : "pve-sdn-zone-id",
37576 "type" : "string",
37577 "typetext" : "<string>"
37578 }
37579 }
37580 },
37581 "permissions" : {
37582 "check" : [
37583 "perm",
37584 "/sdn/zones/{zone}",
37585 [
37586 "SDN.Audit"
37587 ],
37588 "any",
37589 1
37590 ]
37591 },
37592 "protected" : 1,
37593 "proxyto" : "node",
37594 "returns" : {
37595 "items" : {
37596 "properties" : {
37597 "status" : {
37598 "description" : "Status.",
37599 "optional" : 1,
37600 "type" : "string"
37601 },
37602 "statusmsg" : {
37603 "description" : "Status details",
37604 "optional" : 1,
37605 "type" : "string"
37606 },
37607 "vnet" : {
37608 "description" : "Vnet identifier.",
37609 "type" : "string"
37610 }
37611 },
37612 "type" : "object"
37613 },
37614 "links" : [
37615 {
37616 "href" : "{vnet}",
37617 "rel" : "child"
37618 }
37619 ],
37620 "type" : "array"
37621 }
37622 }
37623 },
37624 "leaf" : 1,
37625 "path" : "/nodes/{node}/sdn/zones/{zone}/content",
37626 "text" : "content"
37627 }
37628 ],
37629 "info" : {
37630 "GET" : {
37631 "allowtoken" : 1,
37632 "description" : "",
37633 "method" : "GET",
37634 "name" : "diridx",
37635 "parameters" : {
37636 "additionalProperties" : 0,
37637 "properties" : {
37638 "node" : {
37639 "description" : "The cluster node name.",
37640 "format" : "pve-node",
37641 "type" : "string",
37642 "typetext" : "<string>"
37643 },
37644 "zone" : {
37645 "description" : "The SDN zone object identifier.",
37646 "format" : "pve-sdn-zone-id",
37647 "type" : "string",
37648 "typetext" : "<string>"
37649 }
37650 }
37651 },
37652 "permissions" : {
37653 "check" : [
37654 "perm",
37655 "/sdn/zones/{zone}",
37656 [
37657 "SDN.Audit"
37658 ],
37659 "any",
37660 1
37661 ]
37662 },
37663 "returns" : {
37664 "items" : {
37665 "properties" : {
37666 "subdir" : {
37667 "type" : "string"
37668 }
37669 },
37670 "type" : "object"
37671 },
37672 "links" : [
37673 {
37674 "href" : "{subdir}",
37675 "rel" : "child"
37676 }
37677 ],
37678 "type" : "array"
37679 }
37680 }
37681 },
37682 "leaf" : 0,
37683 "path" : "/nodes/{node}/sdn/zones/{zone}",
37684 "text" : "{zone}"
37685 }
37686 ],
37687 "info" : {
37688 "GET" : {
37689 "allowtoken" : 1,
37690 "description" : "Get status for all zones.",
37691 "method" : "GET",
37692 "name" : "index",
37693 "parameters" : {
37694 "additionalProperties" : 0,
37695 "properties" : {
37696 "node" : {
37697 "description" : "The cluster node name.",
37698 "format" : "pve-node",
37699 "type" : "string",
37700 "typetext" : "<string>"
37701 }
37702 }
37703 },
37704 "permissions" : {
37705 "description" : "Only list entries where you have 'SDN.Audit'",
37706 "user" : "all"
37707 },
37708 "protected" : 1,
37709 "proxyto" : "node",
37710 "returns" : {
37711 "items" : {
37712 "properties" : {
37713 "status" : {
37714 "description" : "Status of zone",
ac70d7d1
TL
37715 "enum" : [
37716 "available",
37717 "pending",
37718 "error"
37719 ],
c5aa7e14
TL
37720 "type" : "string"
37721 },
37722 "zone" : {
37723 "description" : "The SDN zone object identifier.",
37724 "format" : "pve-sdn-zone-id",
37725 "type" : "string"
37726 }
37727 },
37728 "type" : "object"
37729 },
37730 "links" : [
37731 {
37732 "href" : "{zone}",
37733 "rel" : "child"
37734 }
37735 ],
37736 "type" : "array"
37737 }
37738 }
37739 },
37740 "leaf" : 0,
37741 "path" : "/nodes/{node}/sdn/zones",
37742 "text" : "zones"
37743 }
37744 ],
37745 "info" : {
37746 "GET" : {
37747 "allowtoken" : 1,
37748 "description" : "SDN index.",
37749 "method" : "GET",
37750 "name" : "sdnindex",
37751 "parameters" : {
37752 "additionalProperties" : 0,
37753 "properties" : {
37754 "node" : {
37755 "description" : "The cluster node name.",
37756 "format" : "pve-node",
37757 "type" : "string",
37758 "typetext" : "<string>"
37759 }
37760 }
37761 },
37762 "permissions" : {
37763 "user" : "all"
37764 },
37765 "returns" : {
37766 "items" : {
37767 "properties" : {},
37768 "type" : "object"
37769 },
37770 "links" : [
37771 {
37772 "href" : "{name}",
37773 "rel" : "child"
37774 }
37775 ],
37776 "type" : "array"
37777 }
37778 }
37779 },
37780 "leaf" : 0,
37781 "path" : "/nodes/{node}/sdn",
37782 "text" : "sdn"
a9a8e3d1 37783 },
56122987 37784 {
56122987
DM
37785 "info" : {
37786 "GET" : {
e9cd3bd4 37787 "allowtoken" : 1,
44660702
DM
37788 "description" : "API version details",
37789 "method" : "GET",
37790 "name" : "version",
56122987 37791 "parameters" : {
44660702 37792 "additionalProperties" : 0,
56122987
DM
37793 "properties" : {
37794 "node" : {
56122987 37795 "description" : "The cluster node name.",
44660702 37796 "format" : "pve-node",
013dc89f
DM
37797 "type" : "string",
37798 "typetext" : "<string>"
56122987 37799 }
44660702 37800 }
56122987 37801 },
56122987 37802 "permissions" : {
7aacca6f 37803 "user" : "all"
56122987 37804 },
56122987 37805 "proxyto" : "node",
56122987 37806 "returns" : {
56122987 37807 "properties" : {
44660702 37808 "release" : {
1e3f8156 37809 "description" : "The current installed Proxmox VE Release",
56122987
DM
37810 "type" : "string"
37811 },
44660702 37812 "repoid" : {
1e3f8156 37813 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
37814 "type" : "string"
37815 },
37816 "version" : {
1e3f8156 37817 "description" : "The current installed pve-manager package version",
7aacca6f
DM
37818 "type" : "string"
37819 }
44660702
DM
37820 },
37821 "type" : "object"
7aacca6f 37822 }
56122987
DM
37823 }
37824 },
56122987 37825 "leaf" : 1,
44660702
DM
37826 "path" : "/nodes/{node}/version",
37827 "text" : "version"
56122987
DM
37828 },
37829 {
56122987
DM
37830 "info" : {
37831 "GET" : {
e9cd3bd4 37832 "allowtoken" : 1,
7aacca6f 37833 "description" : "Read node status",
44660702 37834 "method" : "GET",
7aacca6f 37835 "name" : "status",
56122987 37836 "parameters" : {
44660702 37837 "additionalProperties" : 0,
56122987
DM
37838 "properties" : {
37839 "node" : {
7aacca6f 37840 "description" : "The cluster node name.",
44660702 37841 "format" : "pve-node",
013dc89f
DM
37842 "type" : "string",
37843 "typetext" : "<string>"
56122987 37844 }
44660702 37845 }
56122987 37846 },
56122987
DM
37847 "permissions" : {
37848 "check" : [
37849 "perm",
37850 "/nodes/{node}",
37851 [
37852 "Sys.Audit"
37853 ]
37854 ]
44660702
DM
37855 },
37856 "proxyto" : "node",
37857 "returns" : {
44660702 37858 "type" : "object"
7aacca6f
DM
37859 }
37860 },
37861 "POST" : {
e9cd3bd4 37862 "allowtoken" : 1,
44660702
DM
37863 "description" : "Reboot or shutdown a node.",
37864 "method" : "POST",
7aacca6f 37865 "name" : "node_cmd",
56122987 37866 "parameters" : {
44660702 37867 "additionalProperties" : 0,
56122987 37868 "properties" : {
7aacca6f
DM
37869 "command" : {
37870 "description" : "Specify the command.",
56122987 37871 "enum" : [
7aacca6f
DM
37872 "reboot",
37873 "shutdown"
56122987
DM
37874 ],
37875 "type" : "string"
44660702
DM
37876 },
37877 "node" : {
37878 "description" : "The cluster node name.",
37879 "format" : "pve-node",
013dc89f
DM
37880 "type" : "string",
37881 "typetext" : "<string>"
56122987 37882 }
44660702 37883 }
7aacca6f 37884 },
7aacca6f
DM
37885 "permissions" : {
37886 "check" : [
37887 "perm",
37888 "/nodes/{node}",
37889 [
37890 "Sys.PowerMgmt"
37891 ]
37892 ]
37893 },
44660702 37894 "protected" : 1,
7aacca6f 37895 "proxyto" : "node",
7aacca6f
DM
37896 "returns" : {
37897 "type" : "null"
56122987
DM
37898 }
37899 }
37900 },
7aacca6f 37901 "leaf" : 1,
44660702
DM
37902 "path" : "/nodes/{node}/status",
37903 "text" : "status"
56122987
DM
37904 },
37905 {
56122987
DM
37906 "info" : {
37907 "GET" : {
e9cd3bd4 37908 "allowtoken" : 1,
44660702
DM
37909 "description" : "Read tap/vm network device interface counters",
37910 "method" : "GET",
37911 "name" : "netstat",
37912 "parameters" : {
37913 "additionalProperties" : 0,
37914 "properties" : {
37915 "node" : {
37916 "description" : "The cluster node name.",
37917 "format" : "pve-node",
013dc89f
DM
37918 "type" : "string",
37919 "typetext" : "<string>"
44660702 37920 }
56122987
DM
37921 }
37922 },
37923 "permissions" : {
37924 "check" : [
37925 "perm",
37926 "/nodes/{node}",
37927 [
7aacca6f 37928 "Sys.Audit"
56122987
DM
37929 ]
37930 ]
37931 },
7aacca6f 37932 "proxyto" : "node",
44660702
DM
37933 "returns" : {
37934 "items" : {
37935 "properties" : {},
37936 "type" : "object"
37937 },
37938 "type" : "array"
37939 }
7aacca6f
DM
37940 }
37941 },
44660702
DM
37942 "leaf" : 1,
37943 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
37944 "text" : "netstat"
37945 },
37946 {
37947 "info" : {
37948 "POST" : {
e9cd3bd4 37949 "allowtoken" : 1,
7aacca6f 37950 "description" : "Execute multiple commands in order.",
7aacca6f 37951 "method" : "POST",
7aacca6f 37952 "name" : "execute",
56122987
DM
37953 "parameters" : {
37954 "additionalProperties" : 0,
37955 "properties" : {
7aacca6f
DM
37956 "commands" : {
37957 "description" : "JSON encoded array of commands.",
013dc89f
DM
37958 "type" : "string",
37959 "typetext" : "<string>"
56122987
DM
37960 },
37961 "node" : {
44660702 37962 "description" : "The cluster node name.",
56122987 37963 "format" : "pve-node",
013dc89f
DM
37964 "type" : "string",
37965 "typetext" : "<string>"
56122987
DM
37966 }
37967 }
44660702
DM
37968 },
37969 "permissions" : {
37970 "check" : [
37971 "perm",
37972 "/nodes/{node}",
37973 [
37974 "Sys.Audit"
37975 ]
37976 ]
37977 },
37978 "protected" : 1,
37979 "proxyto" : "node",
37980 "returns" : {
44660702 37981 "type" : "array"
56122987
DM
37982 }
37983 }
37984 },
56122987 37985 "leaf" : 1,
44660702
DM
37986 "path" : "/nodes/{node}/execute",
37987 "text" : "execute"
56122987 37988 },
5f26e15b
TL
37989 {
37990 "info" : {
37991 "POST" : {
e9cd3bd4 37992 "allowtoken" : 1,
5f26e15b
TL
37993 "description" : "Try to wake a node via 'wake on LAN' network packet.",
37994 "method" : "POST",
37995 "name" : "wakeonlan",
37996 "parameters" : {
37997 "additionalProperties" : 0,
37998 "properties" : {
37999 "node" : {
38000 "description" : "target node for wake on LAN packet",
38001 "format" : "pve-node",
38002 "type" : "string",
38003 "typetext" : "<string>"
38004 }
38005 }
38006 },
38007 "permissions" : {
38008 "check" : [
38009 "perm",
38010 "/nodes/{node}",
38011 [
38012 "Sys.PowerMgmt"
38013 ]
38014 ]
38015 },
38016 "protected" : 1,
38017 "returns" : {
38018 "description" : "MAC address used to assemble the WoL magic packet.",
38019 "format" : "mac-addr",
38020 "type" : "string"
38021 }
38022 }
38023 },
38024 "leaf" : 1,
38025 "path" : "/nodes/{node}/wakeonlan",
38026 "text" : "wakeonlan"
38027 },
56122987
DM
38028 {
38029 "info" : {
7aacca6f 38030 "GET" : {
e9cd3bd4 38031 "allowtoken" : 1,
44660702
DM
38032 "description" : "Read node RRD statistics (returns PNG)",
38033 "method" : "GET",
7aacca6f 38034 "name" : "rrd",
56122987 38035 "parameters" : {
7aacca6f 38036 "additionalProperties" : 0,
56122987 38037 "properties" : {
44660702
DM
38038 "cf" : {
38039 "description" : "The RRD consolidation function",
38040 "enum" : [
38041 "AVERAGE",
38042 "MAX"
38043 ],
38044 "optional" : 1,
38045 "type" : "string"
38046 },
7aacca6f 38047 "ds" : {
7aacca6f 38048 "description" : "The list of datasources you want to display.",
44660702 38049 "format" : "pve-configid-list",
013dc89f
DM
38050 "type" : "string",
38051 "typetext" : "<string>"
44660702
DM
38052 },
38053 "node" : {
38054 "description" : "The cluster node name.",
38055 "format" : "pve-node",
013dc89f
DM
38056 "type" : "string",
38057 "typetext" : "<string>"
7aacca6f
DM
38058 },
38059 "timeframe" : {
38060 "description" : "Specify the time frame you are interested in.",
38061 "enum" : [
38062 "hour",
38063 "day",
38064 "week",
38065 "month",
38066 "year"
38067 ],
38068 "type" : "string"
56122987 38069 }
7aacca6f 38070 }
56122987 38071 },
56122987 38072 "permissions" : {
56122987
DM
38073 "check" : [
38074 "perm",
38075 "/nodes/{node}",
38076 [
7aacca6f 38077 "Sys.Audit"
56122987
DM
38078 ]
38079 ]
38080 },
7aacca6f 38081 "protected" : 1,
56122987 38082 "returns" : {
56122987 38083 "properties" : {
7aacca6f 38084 "filename" : {
56122987
DM
38085 "type" : "string"
38086 }
44660702
DM
38087 },
38088 "type" : "object"
38089 }
56122987
DM
38090 }
38091 },
44660702 38092 "leaf" : 1,
7aacca6f 38093 "path" : "/nodes/{node}/rrd",
44660702 38094 "text" : "rrd"
56122987
DM
38095 },
38096 {
38097 "info" : {
7aacca6f 38098 "GET" : {
e9cd3bd4 38099 "allowtoken" : 1,
44660702
DM
38100 "description" : "Read node RRD statistics",
38101 "method" : "GET",
7aacca6f 38102 "name" : "rrddata",
56122987 38103 "parameters" : {
44660702 38104 "additionalProperties" : 0,
56122987 38105 "properties" : {
7aacca6f 38106 "cf" : {
7aacca6f
DM
38107 "description" : "The RRD consolidation function",
38108 "enum" : [
38109 "AVERAGE",
38110 "MAX"
44660702
DM
38111 ],
38112 "optional" : 1,
38113 "type" : "string"
56122987
DM
38114 },
38115 "node" : {
44660702 38116 "description" : "The cluster node name.",
56122987 38117 "format" : "pve-node",
013dc89f
DM
38118 "type" : "string",
38119 "typetext" : "<string>"
56122987 38120 },
7aacca6f 38121 "timeframe" : {
7aacca6f
DM
38122 "description" : "Specify the time frame you are interested in.",
38123 "enum" : [
38124 "hour",
38125 "day",
38126 "week",
38127 "month",
38128 "year"
44660702
DM
38129 ],
38130 "type" : "string"
56122987 38131 }
56122987
DM
38132 }
38133 },
56122987
DM
38134 "permissions" : {
38135 "check" : [
38136 "perm",
38137 "/nodes/{node}",
38138 [
44660702 38139 "Sys.Audit"
56122987
DM
38140 ]
38141 ]
7aacca6f 38142 },
44660702 38143 "protected" : 1,
56122987 38144 "returns" : {
7aacca6f 38145 "items" : {
44660702 38146 "properties" : {},
7aacca6f
DM
38147 "type" : "object"
38148 },
38149 "type" : "array"
44660702
DM
38150 }
38151 }
38152 },
38153 "leaf" : 1,
38154 "path" : "/nodes/{node}/rrddata",
38155 "text" : "rrddata"
38156 },
38157 {
38158 "info" : {
38159 "GET" : {
e9cd3bd4 38160 "allowtoken" : 1,
44660702
DM
38161 "description" : "Read system log",
38162 "method" : "GET",
38163 "name" : "syslog",
56122987 38164 "parameters" : {
44660702 38165 "additionalProperties" : 0,
56122987 38166 "properties" : {
44660702
DM
38167 "limit" : {
38168 "minimum" : 0,
7aacca6f 38169 "optional" : 1,
4bd7df8b 38170 "type" : "integer",
013dc89f 38171 "typetext" : "<integer> (0 - N)"
7aacca6f 38172 },
56122987 38173 "node" : {
7aacca6f 38174 "description" : "The cluster node name.",
44660702 38175 "format" : "pve-node",
013dc89f
DM
38176 "type" : "string",
38177 "typetext" : "<string>"
56122987 38178 },
35a75dd3
DM
38179 "service" : {
38180 "description" : "Service ID",
38181 "maxLength" : 128,
38182 "optional" : 1,
38183 "type" : "string",
38184 "typetext" : "<string>"
38185 },
44660702
DM
38186 "since" : {
38187 "description" : "Display all log since this date-time string.",
38188 "optional" : 1,
38189 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
38190 "type" : "string"
38191 },
38192 "start" : {
7aacca6f
DM
38193 "minimum" : 0,
38194 "optional" : 1,
4bd7df8b 38195 "type" : "integer",
013dc89f 38196 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
38197 },
38198 "until" : {
38199 "description" : "Display all log until this date-time string.",
7aacca6f 38200 "optional" : 1,
44660702 38201 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
38202 "type" : "string"
38203 }
44660702 38204 }
56122987 38205 },
44660702
DM
38206 "permissions" : {
38207 "check" : [
38208 "perm",
38209 "/nodes/{node}",
38210 [
38211 "Sys.Syslog"
38212 ]
38213 ]
38214 },
38215 "protected" : 1,
38216 "proxyto" : "node",
38217 "returns" : {
38218 "items" : {
38219 "properties" : {
38220 "n" : {
38221 "description" : "Line number",
38222 "type" : "integer"
38223 },
38224 "t" : {
38225 "description" : "Line text",
38226 "type" : "string"
38227 }
38228 },
38229 "type" : "object"
38230 },
38231 "type" : "array"
38232 }
56122987
DM
38233 }
38234 },
44660702
DM
38235 "leaf" : 1,
38236 "path" : "/nodes/{node}/syslog",
7aacca6f 38237 "text" : "syslog"
56122987 38238 },
bb4c8cf8
TL
38239 {
38240 "info" : {
38241 "GET" : {
e9cd3bd4 38242 "allowtoken" : 1,
bb4c8cf8
TL
38243 "description" : "Read Journal",
38244 "method" : "GET",
38245 "name" : "journal",
38246 "parameters" : {
38247 "additionalProperties" : 0,
38248 "properties" : {
38249 "endcursor" : {
38250 "description" : "End before the given Cursor. Conflicts with 'until'",
38251 "optional" : 1,
38252 "type" : "string",
38253 "typetext" : "<string>"
38254 },
38255 "lastentries" : {
38256 "description" : "Limit to the last X lines. Conflicts with a range.",
38257 "minimum" : 0,
38258 "optional" : 1,
38259 "type" : "integer",
38260 "typetext" : "<integer> (0 - N)"
38261 },
38262 "node" : {
38263 "description" : "The cluster node name.",
38264 "format" : "pve-node",
38265 "type" : "string",
38266 "typetext" : "<string>"
38267 },
38268 "since" : {
38269 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
38270 "minimum" : 0,
38271 "optional" : 1,
38272 "type" : "integer",
38273 "typetext" : "<integer> (0 - N)"
38274 },
38275 "startcursor" : {
38276 "description" : "Start after the given Cursor. Conflicts with 'since'",
38277 "optional" : 1,
38278 "type" : "string",
38279 "typetext" : "<string>"
38280 },
38281 "until" : {
38282 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
38283 "minimum" : 0,
38284 "optional" : 1,
38285 "type" : "integer",
38286 "typetext" : "<integer> (0 - N)"
38287 }
38288 }
38289 },
38290 "permissions" : {
38291 "check" : [
38292 "perm",
38293 "/nodes/{node}",
38294 [
38295 "Sys.Syslog"
38296 ]
38297 ]
38298 },
38299 "protected" : 1,
38300 "proxyto" : "node",
38301 "returns" : {
38302 "items" : {
38303 "type" : "string"
38304 },
38305 "type" : "array"
38306 }
38307 }
38308 },
38309 "leaf" : 1,
38310 "path" : "/nodes/{node}/journal",
38311 "text" : "journal"
38312 },
56122987 38313 {
56122987
DM
38314 "info" : {
38315 "POST" : {
e9cd3bd4 38316 "allowtoken" : 1,
44660702
DM
38317 "description" : "Creates a VNC Shell proxy.",
38318 "method" : "POST",
38319 "name" : "vncshell",
38320 "parameters" : {
38321 "additionalProperties" : 0,
56122987 38322 "properties" : {
95895385
TL
38323 "cmd" : {
38324 "default" : "login",
38325 "description" : "Run specific command or default to login.",
38326 "enum" : [
ac70d7d1 38327 "login",
4772952b
TL
38328 "upgrade",
38329 "ceph_install"
95895385
TL
38330 ],
38331 "optional" : 1,
38332 "type" : "string"
38333 },
4772952b
TL
38334 "cmd-opts" : {
38335 "default" : "",
38336 "description" : "Add parameters to a command. Encoded as null terminated strings.",
38337 "optional" : 1,
38338 "requires" : "cmd",
38339 "type" : "string",
38340 "typetext" : "<string>"
38341 },
5d9c884c
DM
38342 "height" : {
38343 "description" : "sets the height of the console in pixels.",
38344 "maximum" : 2160,
38345 "minimum" : 16,
38346 "optional" : 1,
38347 "type" : "integer",
38348 "typetext" : "<integer> (16 - 2160)"
38349 },
44660702
DM
38350 "node" : {
38351 "description" : "The cluster node name.",
38352 "format" : "pve-node",
013dc89f
DM
38353 "type" : "string",
38354 "typetext" : "<string>"
7aacca6f 38355 },
44660702
DM
38356 "upgrade" : {
38357 "default" : 0,
95895385 38358 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 38359 "optional" : 1,
013dc89f
DM
38360 "type" : "boolean",
38361 "typetext" : "<boolean>"
7aacca6f 38362 },
44660702
DM
38363 "websocket" : {
38364 "description" : "use websocket instead of standard vnc.",
38365 "optional" : 1,
013dc89f
DM
38366 "type" : "boolean",
38367 "typetext" : "<boolean>"
5d9c884c
DM
38368 },
38369 "width" : {
38370 "description" : "sets the width of the console in pixels.",
38371 "maximum" : 4096,
38372 "minimum" : 16,
38373 "optional" : 1,
38374 "type" : "integer",
38375 "typetext" : "<integer> (16 - 4096)"
56122987 38376 }
44660702 38377 }
56122987 38378 },
56122987
DM
38379 "permissions" : {
38380 "check" : [
38381 "perm",
7aacca6f 38382 "/nodes/{node}",
56122987 38383 [
7aacca6f 38384 "Sys.Console"
56122987 38385 ]
44660702
DM
38386 ],
38387 "description" : "Restricted to users on realm 'pam'"
56122987 38388 },
44660702
DM
38389 "protected" : 1,
38390 "returns" : {
38391 "additionalProperties" : 0,
56122987 38392 "properties" : {
44660702
DM
38393 "cert" : {
38394 "type" : "string"
7aacca6f 38395 },
44660702
DM
38396 "port" : {
38397 "type" : "integer"
7aacca6f 38398 },
44660702
DM
38399 "ticket" : {
38400 "type" : "string"
38401 },
38402 "upid" : {
38403 "type" : "string"
38404 },
38405 "user" : {
38406 "type" : "string"
56122987 38407 }
44660702
DM
38408 }
38409 }
56122987
DM
38410 }
38411 },
7aacca6f 38412 "leaf" : 1,
44660702
DM
38413 "path" : "/nodes/{node}/vncshell",
38414 "text" : "vncshell"
56122987 38415 },
35a75dd3
DM
38416 {
38417 "info" : {
38418 "POST" : {
e9cd3bd4 38419 "allowtoken" : 1,
35a75dd3
DM
38420 "description" : "Creates a VNC Shell proxy.",
38421 "method" : "POST",
38422 "name" : "termproxy",
38423 "parameters" : {
38424 "additionalProperties" : 0,
38425 "properties" : {
95895385
TL
38426 "cmd" : {
38427 "default" : "login",
38428 "description" : "Run specific command or default to login.",
38429 "enum" : [
ac70d7d1 38430 "login",
4772952b
TL
38431 "upgrade",
38432 "ceph_install"
95895385
TL
38433 ],
38434 "optional" : 1,
38435 "type" : "string"
38436 },
4772952b
TL
38437 "cmd-opts" : {
38438 "default" : "",
38439 "description" : "Add parameters to a command. Encoded as null terminated strings.",
38440 "optional" : 1,
38441 "requires" : "cmd",
38442 "type" : "string",
38443 "typetext" : "<string>"
38444 },
35a75dd3
DM
38445 "node" : {
38446 "description" : "The cluster node name.",
38447 "format" : "pve-node",
38448 "type" : "string",
38449 "typetext" : "<string>"
38450 },
38451 "upgrade" : {
38452 "default" : 0,
95895385 38453 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
38454 "optional" : 1,
38455 "type" : "boolean",
38456 "typetext" : "<boolean>"
38457 }
38458 }
38459 },
38460 "permissions" : {
38461 "check" : [
38462 "perm",
38463 "/nodes/{node}",
38464 [
38465 "Sys.Console"
38466 ]
38467 ],
38468 "description" : "Restricted to users on realm 'pam'"
38469 },
38470 "protected" : 1,
38471 "returns" : {
38472 "additionalProperties" : 0,
38473 "properties" : {
38474 "port" : {
38475 "type" : "integer"
38476 },
38477 "ticket" : {
38478 "type" : "string"
38479 },
38480 "upid" : {
38481 "type" : "string"
38482 },
38483 "user" : {
38484 "type" : "string"
38485 }
38486 }
38487 }
38488 }
38489 },
38490 "leaf" : 1,
38491 "path" : "/nodes/{node}/termproxy",
38492 "text" : "termproxy"
38493 },
56122987
DM
38494 {
38495 "info" : {
38496 "GET" : {
e9cd3bd4 38497 "allowtoken" : 1,
7aacca6f 38498 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
38499 "method" : "GET",
38500 "name" : "vncwebsocket",
56122987 38501 "parameters" : {
44660702 38502 "additionalProperties" : 0,
56122987
DM
38503 "properties" : {
38504 "node" : {
38505 "description" : "The cluster node name.",
44660702 38506 "format" : "pve-node",
013dc89f
DM
38507 "type" : "string",
38508 "typetext" : "<string>"
7aacca6f
DM
38509 },
38510 "port" : {
7aacca6f
DM
38511 "description" : "Port number returned by previous vncproxy call.",
38512 "maximum" : 5999,
44660702 38513 "minimum" : 5900,
4bd7df8b 38514 "type" : "integer",
013dc89f 38515 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
38516 },
38517 "vncticket" : {
38518 "description" : "Ticket from previous call to vncproxy.",
38519 "maxLength" : 512,
013dc89f
DM
38520 "type" : "string",
38521 "typetext" : "<string>"
56122987 38522 }
44660702 38523 }
56122987 38524 },
56122987
DM
38525 "permissions" : {
38526 "check" : [
38527 "perm",
38528 "/nodes/{node}",
38529 [
7aacca6f 38530 "Sys.Console"
56122987 38531 ]
44660702
DM
38532 ],
38533 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
38534 },
38535 "returns" : {
38536 "properties" : {
38537 "port" : {
38538 "type" : "string"
38539 }
38540 },
38541 "type" : "object"
7aacca6f 38542 }
56122987
DM
38543 }
38544 },
44660702 38545 "leaf" : 1,
7aacca6f 38546 "path" : "/nodes/{node}/vncwebsocket",
44660702 38547 "text" : "vncwebsocket"
56122987
DM
38548 },
38549 {
38550 "info" : {
38551 "POST" : {
e9cd3bd4 38552 "allowtoken" : 1,
44660702 38553 "description" : "Creates a SPICE shell.",
7aacca6f 38554 "method" : "POST",
44660702 38555 "name" : "spiceshell",
56122987 38556 "parameters" : {
7aacca6f 38557 "additionalProperties" : 0,
56122987 38558 "properties" : {
95895385
TL
38559 "cmd" : {
38560 "default" : "login",
38561 "description" : "Run specific command or default to login.",
38562 "enum" : [
ac70d7d1 38563 "login",
4772952b
TL
38564 "upgrade",
38565 "ceph_install"
95895385
TL
38566 ],
38567 "optional" : 1,
38568 "type" : "string"
38569 },
4772952b
TL
38570 "cmd-opts" : {
38571 "default" : "",
38572 "description" : "Add parameters to a command. Encoded as null terminated strings.",
38573 "optional" : 1,
38574 "requires" : "cmd",
38575 "type" : "string",
38576 "typetext" : "<string>"
38577 },
7aacca6f 38578 "node" : {
44660702 38579 "description" : "The cluster node name.",
56122987 38580 "format" : "pve-node",
013dc89f
DM
38581 "type" : "string",
38582 "typetext" : "<string>"
7aacca6f 38583 },
44660702 38584 "proxy" : {
4d47f125 38585 "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
38586 "format" : "address",
38587 "optional" : 1,
013dc89f
DM
38588 "type" : "string",
38589 "typetext" : "<string>"
7aacca6f 38590 },
44660702
DM
38591 "upgrade" : {
38592 "default" : 0,
95895385 38593 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 38594 "optional" : 1,
013dc89f
DM
38595 "type" : "boolean",
38596 "typetext" : "<boolean>"
56122987 38597 }
7aacca6f 38598 }
56122987 38599 },
56122987
DM
38600 "permissions" : {
38601 "check" : [
38602 "perm",
7aacca6f 38603 "/nodes/{node}",
56122987 38604 [
7aacca6f 38605 "Sys.Console"
56122987 38606 ]
7aacca6f
DM
38607 ],
38608 "description" : "Restricted to users on realm 'pam'"
44660702
DM
38609 },
38610 "protected" : 1,
38611 "proxyto" : "node",
38612 "returns" : {
38613 "additionalProperties" : 1,
38614 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
38615 "properties" : {
38616 "host" : {
38617 "type" : "string"
38618 },
38619 "password" : {
38620 "type" : "string"
38621 },
38622 "proxy" : {
38623 "type" : "string"
38624 },
38625 "tls-port" : {
38626 "type" : "integer"
38627 },
38628 "type" : {
38629 "type" : "string"
38630 }
38631 }
7aacca6f 38632 }
56122987
DM
38633 }
38634 },
56122987 38635 "leaf" : 1,
44660702
DM
38636 "path" : "/nodes/{node}/spiceshell",
38637 "text" : "spiceshell"
56122987
DM
38638 },
38639 {
56122987 38640 "info" : {
7aacca6f 38641 "GET" : {
e9cd3bd4 38642 "allowtoken" : 1,
44660702 38643 "description" : "Read DNS settings.",
7aacca6f 38644 "method" : "GET",
44660702
DM
38645 "name" : "dns",
38646 "parameters" : {
7aacca6f
DM
38647 "additionalProperties" : 0,
38648 "properties" : {
44660702
DM
38649 "node" : {
38650 "description" : "The cluster node name.",
38651 "format" : "pve-node",
013dc89f
DM
38652 "type" : "string",
38653 "typetext" : "<string>"
7aacca6f
DM
38654 }
38655 }
38656 },
7aacca6f
DM
38657 "permissions" : {
38658 "check" : [
38659 "perm",
38660 "/nodes/{node}",
38661 [
38662 "Sys.Audit"
38663 ]
38664 ]
38665 },
44660702
DM
38666 "proxyto" : "node",
38667 "returns" : {
56122987
DM
38668 "additionalProperties" : 0,
38669 "properties" : {
44660702
DM
38670 "dns1" : {
38671 "description" : "First name server IP address.",
38672 "optional" : 1,
38673 "type" : "string"
38674 },
38675 "dns2" : {
38676 "description" : "Second name server IP address.",
38677 "optional" : 1,
38678 "type" : "string"
38679 },
38680 "dns3" : {
38681 "description" : "Third name server IP address.",
38682 "optional" : 1,
38683 "type" : "string"
38684 },
38685 "search" : {
38686 "description" : "Search domain for host-name lookup.",
38687 "optional" : 1,
38688 "type" : "string"
7aacca6f 38689 }
44660702
DM
38690 },
38691 "type" : "object"
38692 }
7aacca6f
DM
38693 },
38694 "PUT" : {
e9cd3bd4 38695 "allowtoken" : 1,
44660702
DM
38696 "description" : "Write DNS settings.",
38697 "method" : "PUT",
7aacca6f
DM
38698 "name" : "update_dns",
38699 "parameters" : {
38700 "additionalProperties" : 0,
38701 "properties" : {
44660702
DM
38702 "dns1" : {
38703 "description" : "First name server IP address.",
38704 "format" : "ip",
38705 "optional" : 1,
013dc89f
DM
38706 "type" : "string",
38707 "typetext" : "<string>"
7aacca6f 38708 },
44660702
DM
38709 "dns2" : {
38710 "description" : "Second name server IP address.",
38711 "format" : "ip",
7aacca6f 38712 "optional" : 1,
013dc89f
DM
38713 "type" : "string",
38714 "typetext" : "<string>"
7aacca6f 38715 },
44660702
DM
38716 "dns3" : {
38717 "description" : "Third name server IP address.",
38718 "format" : "ip",
7aacca6f 38719 "optional" : 1,
013dc89f
DM
38720 "type" : "string",
38721 "typetext" : "<string>"
7aacca6f
DM
38722 },
38723 "node" : {
44660702 38724 "description" : "The cluster node name.",
56122987 38725 "format" : "pve-node",
013dc89f
DM
38726 "type" : "string",
38727 "typetext" : "<string>"
7aacca6f 38728 },
44660702
DM
38729 "search" : {
38730 "description" : "Search domain for host-name lookup.",
013dc89f
DM
38731 "type" : "string",
38732 "typetext" : "<string>"
56122987
DM
38733 }
38734 }
38735 },
38736 "permissions" : {
38737 "check" : [
38738 "perm",
7aacca6f 38739 "/nodes/{node}",
56122987 38740 [
7aacca6f 38741 "Sys.Modify"
56122987
DM
38742 ]
38743 ]
38744 },
44660702 38745 "protected" : 1,
7aacca6f 38746 "proxyto" : "node",
56122987 38747 "returns" : {
7aacca6f
DM
38748 "type" : "null"
38749 }
56122987 38750 }
44660702
DM
38751 },
38752 "leaf" : 1,
38753 "path" : "/nodes/{node}/dns",
38754 "text" : "dns"
56122987
DM
38755 },
38756 {
38757 "info" : {
7aacca6f 38758 "GET" : {
e9cd3bd4 38759 "allowtoken" : 1,
7aacca6f 38760 "description" : "Read server time and time zone settings.",
44660702
DM
38761 "method" : "GET",
38762 "name" : "time",
56122987 38763 "parameters" : {
44660702 38764 "additionalProperties" : 0,
56122987
DM
38765 "properties" : {
38766 "node" : {
44660702 38767 "description" : "The cluster node name.",
56122987 38768 "format" : "pve-node",
013dc89f
DM
38769 "type" : "string",
38770 "typetext" : "<string>"
56122987 38771 }
44660702 38772 }
56122987
DM
38773 },
38774 "permissions" : {
38775 "check" : [
38776 "perm",
7aacca6f 38777 "/nodes/{node}",
56122987 38778 [
7aacca6f 38779 "Sys.Audit"
56122987
DM
38780 ]
38781 ]
44660702
DM
38782 },
38783 "proxyto" : "node",
38784 "returns" : {
38785 "additionalProperties" : 0,
38786 "properties" : {
38787 "localtime" : {
38788 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
38789 "minimum" : 1297163644,
4d47f125 38790 "renderer" : "timestamp_gmt",
44660702
DM
38791 "type" : "integer"
38792 },
38793 "time" : {
38794 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
38795 "minimum" : 1297163644,
4d47f125 38796 "renderer" : "timestamp",
44660702
DM
38797 "type" : "integer"
38798 },
38799 "timezone" : {
38800 "description" : "Time zone",
38801 "type" : "string"
38802 }
38803 },
38804 "type" : "object"
7aacca6f
DM
38805 }
38806 },
38807 "PUT" : {
e9cd3bd4 38808 "allowtoken" : 1,
7aacca6f 38809 "description" : "Set time zone.",
44660702
DM
38810 "method" : "PUT",
38811 "name" : "set_timezone",
38812 "parameters" : {
38813 "additionalProperties" : 0,
38814 "properties" : {
38815 "node" : {
38816 "description" : "The cluster node name.",
38817 "format" : "pve-node",
013dc89f
DM
38818 "type" : "string",
38819 "typetext" : "<string>"
44660702
DM
38820 },
38821 "timezone" : {
38822 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
38823 "type" : "string",
38824 "typetext" : "<string>"
44660702
DM
38825 }
38826 }
38827 },
7aacca6f
DM
38828 "permissions" : {
38829 "check" : [
38830 "perm",
38831 "/nodes/{node}",
38832 [
38833 "Sys.Modify"
38834 ]
38835 ]
56122987 38836 },
7aacca6f 38837 "protected" : 1,
44660702
DM
38838 "proxyto" : "node",
38839 "returns" : {
38840 "type" : "null"
38841 }
7aacca6f
DM
38842 }
38843 },
7aacca6f 38844 "leaf" : 1,
44660702
DM
38845 "path" : "/nodes/{node}/time",
38846 "text" : "time"
7aacca6f
DM
38847 },
38848 {
38849 "info" : {
44660702 38850 "GET" : {
e9cd3bd4 38851 "allowtoken" : 1,
44660702
DM
38852 "description" : "Get list of appliances.",
38853 "method" : "GET",
38854 "name" : "aplinfo",
7aacca6f
DM
38855 "parameters" : {
38856 "additionalProperties" : 0,
38857 "properties" : {
7aacca6f 38858 "node" : {
44660702 38859 "description" : "The cluster node name.",
7aacca6f 38860 "format" : "pve-node",
013dc89f
DM
38861 "type" : "string",
38862 "typetext" : "<string>"
7aacca6f
DM
38863 }
38864 }
56122987 38865 },
7aacca6f 38866 "permissions" : {
44660702 38867 "user" : "all"
56122987 38868 },
44660702 38869 "proxyto" : "node",
7aacca6f
DM
38870 "returns" : {
38871 "items" : {
44660702
DM
38872 "properties" : {},
38873 "type" : "object"
7aacca6f
DM
38874 },
38875 "type" : "array"
44660702
DM
38876 }
38877 },
38878 "POST" : {
e9cd3bd4 38879 "allowtoken" : 1,
44660702
DM
38880 "description" : "Download appliance templates.",
38881 "method" : "POST",
38882 "name" : "apl_download",
7aacca6f
DM
38883 "parameters" : {
38884 "additionalProperties" : 0,
38885 "properties" : {
38886 "node" : {
7aacca6f 38887 "description" : "The cluster node name.",
44660702 38888 "format" : "pve-node",
013dc89f
DM
38889 "type" : "string",
38890 "typetext" : "<string>"
44660702
DM
38891 },
38892 "storage" : {
4bd7df8b 38893 "description" : "The storage where the template will be stored",
44660702 38894 "format" : "pve-storage-id",
013dc89f
DM
38895 "type" : "string",
38896 "typetext" : "<string>"
44660702
DM
38897 },
38898 "template" : {
1e3f8156 38899 "description" : "The template which will downloaded",
44660702 38900 "maxLength" : 255,
013dc89f
DM
38901 "type" : "string",
38902 "typetext" : "<string>"
7aacca6f
DM
38903 }
38904 }
56122987 38905 },
7aacca6f 38906 "permissions" : {
44660702
DM
38907 "check" : [
38908 "perm",
38909 "/storage/{storage}",
38910 [
38911 "Datastore.AllocateTemplate"
38912 ]
38913 ]
38914 },
38915 "protected" : 1,
38916 "proxyto" : "node",
38917 "returns" : {
38918 "type" : "string"
7aacca6f
DM
38919 }
38920 }
38921 },
7aacca6f 38922 "leaf" : 1,
44660702
DM
38923 "path" : "/nodes/{node}/aplinfo",
38924 "text" : "aplinfo"
7aacca6f
DM
38925 },
38926 {
38927 "info" : {
38928 "GET" : {
e9cd3bd4 38929 "allowtoken" : 1,
44660702
DM
38930 "description" : "Gather various systems information about a node",
38931 "method" : "GET",
38932 "name" : "report",
7aacca6f 38933 "parameters" : {
44660702 38934 "additionalProperties" : 0,
7aacca6f
DM
38935 "properties" : {
38936 "node" : {
7aacca6f 38937 "description" : "The cluster node name.",
44660702 38938 "format" : "pve-node",
013dc89f
DM
38939 "type" : "string",
38940 "typetext" : "<string>"
7aacca6f 38941 }
44660702 38942 }
56122987 38943 },
7aacca6f
DM
38944 "permissions" : {
38945 "check" : [
38946 "perm",
38947 "/nodes/{node}",
38948 [
38949 "Sys.Audit"
38950 ]
38951 ]
56122987 38952 },
44660702 38953 "protected" : 1,
7aacca6f
DM
38954 "proxyto" : "node",
38955 "returns" : {
56122987 38956 "type" : "string"
7aacca6f
DM
38957 }
38958 }
38959 },
7aacca6f 38960 "leaf" : 1,
44660702
DM
38961 "path" : "/nodes/{node}/report",
38962 "text" : "report"
7aacca6f
DM
38963 },
38964 {
7aacca6f
DM
38965 "info" : {
38966 "POST" : {
e9cd3bd4 38967 "allowtoken" : 1,
1c532546 38968 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 38969 "method" : "POST",
44660702 38970 "name" : "startall",
7aacca6f 38971 "parameters" : {
44660702 38972 "additionalProperties" : 0,
7aacca6f
DM
38973 "properties" : {
38974 "force" : {
1c532546
TL
38975 "default" : "off",
38976 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 38977 "optional" : 1,
013dc89f
DM
38978 "type" : "boolean",
38979 "typetext" : "<boolean>"
7aacca6f
DM
38980 },
38981 "node" : {
7aacca6f 38982 "description" : "The cluster node name.",
44660702 38983 "format" : "pve-node",
013dc89f
DM
38984 "type" : "string",
38985 "typetext" : "<string>"
52e44c50
FG
38986 },
38987 "vms" : {
1c532546 38988 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
38989 "format" : "pve-vmid-list",
38990 "optional" : 1,
38991 "type" : "string",
38992 "typetext" : "<string>"
7aacca6f 38993 }
44660702 38994 }
56122987 38995 },
7aacca6f
DM
38996 "permissions" : {
38997 "check" : [
38998 "perm",
38999 "/",
39000 [
39001 "VM.PowerMgmt"
39002 ]
39003 ]
44660702
DM
39004 },
39005 "protected" : 1,
39006 "proxyto" : "node",
39007 "returns" : {
39008 "type" : "string"
7aacca6f
DM
39009 }
39010 }
39011 },
44660702 39012 "leaf" : 1,
7aacca6f 39013 "path" : "/nodes/{node}/startall",
44660702 39014 "text" : "startall"
7aacca6f
DM
39015 },
39016 {
7aacca6f
DM
39017 "info" : {
39018 "POST" : {
e9cd3bd4 39019 "allowtoken" : 1,
7aacca6f 39020 "description" : "Stop all VMs and Containers.",
44660702
DM
39021 "method" : "POST",
39022 "name" : "stopall",
7aacca6f 39023 "parameters" : {
44660702 39024 "additionalProperties" : 0,
7aacca6f
DM
39025 "properties" : {
39026 "node" : {
44660702 39027 "description" : "The cluster node name.",
7aacca6f 39028 "format" : "pve-node",
013dc89f
DM
39029 "type" : "string",
39030 "typetext" : "<string>"
52e44c50
FG
39031 },
39032 "vms" : {
39033 "description" : "Only consider Guests with these IDs.",
39034 "format" : "pve-vmid-list",
39035 "optional" : 1,
39036 "type" : "string",
39037 "typetext" : "<string>"
7aacca6f 39038 }
44660702 39039 }
56122987 39040 },
7aacca6f
DM
39041 "permissions" : {
39042 "check" : [
39043 "perm",
39044 "/",
39045 [
44660702 39046 "VM.PowerMgmt"
7aacca6f
DM
39047 ]
39048 ]
56122987 39049 },
44660702 39050 "protected" : 1,
7aacca6f 39051 "proxyto" : "node",
44660702
DM
39052 "returns" : {
39053 "type" : "string"
39054 }
39055 }
56122987 39056 },
44660702
DM
39057 "leaf" : 1,
39058 "path" : "/nodes/{node}/stopall",
39059 "text" : "stopall"
39060 },
39061 {
39062 "info" : {
39063 "POST" : {
e9cd3bd4 39064 "allowtoken" : 1,
44660702
DM
39065 "description" : "Migrate all VMs and Containers.",
39066 "method" : "POST",
39067 "name" : "migrateall",
39068 "parameters" : {
39069 "additionalProperties" : 0,
39070 "properties" : {
39071 "maxworkers" : {
39072 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
39073 "minimum" : 1,
39074 "optional" : 1,
4bd7df8b 39075 "type" : "integer",
013dc89f 39076 "typetext" : "<integer> (1 - N)"
44660702
DM
39077 },
39078 "node" : {
39079 "description" : "The cluster node name.",
39080 "format" : "pve-node",
013dc89f
DM
39081 "type" : "string",
39082 "typetext" : "<string>"
44660702
DM
39083 },
39084 "target" : {
39085 "description" : "Target node.",
39086 "format" : "pve-node",
013dc89f
DM
39087 "type" : "string",
39088 "typetext" : "<string>"
52e44c50
FG
39089 },
39090 "vms" : {
39091 "description" : "Only consider Guests with these IDs.",
39092 "format" : "pve-vmid-list",
39093 "optional" : 1,
39094 "type" : "string",
39095 "typetext" : "<string>"
e9cd3bd4
TL
39096 },
39097 "with-local-disks" : {
39098 "description" : "Enable live storage migration for local disk",
39099 "optional" : 1,
39100 "type" : "boolean",
39101 "typetext" : "<boolean>"
44660702
DM
39102 }
39103 }
39104 },
39105 "permissions" : {
39106 "check" : [
39107 "perm",
39108 "/",
39109 [
39110 "VM.Migrate"
39111 ]
39112 ]
39113 },
39114 "protected" : 1,
39115 "proxyto" : "node",
39116 "returns" : {
39117 "type" : "string"
39118 }
39119 }
56122987 39120 },
44660702
DM
39121 "leaf" : 1,
39122 "path" : "/nodes/{node}/migrateall",
39123 "text" : "migrateall"
4d47f125
TL
39124 },
39125 {
39126 "info" : {
39127 "GET" : {
e9cd3bd4 39128 "allowtoken" : 1,
4d47f125
TL
39129 "description" : "Get the content of /etc/hosts.",
39130 "method" : "GET",
39131 "name" : "get_etc_hosts",
39132 "parameters" : {
39133 "additionalProperties" : 0,
39134 "properties" : {
39135 "node" : {
39136 "description" : "The cluster node name.",
39137 "format" : "pve-node",
39138 "type" : "string",
39139 "typetext" : "<string>"
39140 }
39141 }
39142 },
39143 "permissions" : {
39144 "check" : [
39145 "perm",
39146 "/",
39147 [
39148 "Sys.Audit"
39149 ]
39150 ]
39151 },
39152 "protected" : 1,
39153 "proxyto" : "node",
39154 "returns" : {
39155 "properties" : {
39156 "data" : {
39157 "description" : "The content of /etc/hosts.",
39158 "type" : "string"
39159 },
39160 "digest" : {
39161 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
39162 "maxLength" : 40,
39163 "optional" : 1,
39164 "type" : "string"
39165 }
39166 },
39167 "type" : "object"
39168 }
39169 },
39170 "POST" : {
e9cd3bd4 39171 "allowtoken" : 1,
4d47f125
TL
39172 "description" : "Write /etc/hosts.",
39173 "method" : "POST",
39174 "name" : "write_etc_hosts",
39175 "parameters" : {
39176 "additionalProperties" : 0,
39177 "properties" : {
39178 "data" : {
39179 "description" : "The target content of /etc/hosts.",
39180 "type" : "string",
39181 "typetext" : "<string>"
39182 },
39183 "digest" : {
39184 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
39185 "maxLength" : 40,
39186 "optional" : 1,
39187 "type" : "string",
39188 "typetext" : "<string>"
39189 },
39190 "node" : {
39191 "description" : "The cluster node name.",
39192 "format" : "pve-node",
39193 "type" : "string",
39194 "typetext" : "<string>"
39195 }
39196 }
39197 },
39198 "permissions" : {
39199 "check" : [
39200 "perm",
39201 "/nodes/{node}",
39202 [
39203 "Sys.Modify"
39204 ]
39205 ]
39206 },
39207 "protected" : 1,
39208 "proxyto" : "node",
39209 "returns" : {
39210 "type" : "null"
39211 }
39212 }
39213 },
39214 "leaf" : 1,
39215 "path" : "/nodes/{node}/hosts",
39216 "text" : "hosts"
44660702
DM
39217 }
39218 ],
39219 "info" : {
39220 "GET" : {
e9cd3bd4 39221 "allowtoken" : 1,
44660702
DM
39222 "description" : "Node index.",
39223 "method" : "GET",
39224 "name" : "index",
39225 "parameters" : {
39226 "additionalProperties" : 0,
39227 "properties" : {
39228 "node" : {
39229 "description" : "The cluster node name.",
39230 "format" : "pve-node",
013dc89f
DM
39231 "type" : "string",
39232 "typetext" : "<string>"
44660702
DM
39233 }
39234 }
56122987 39235 },
44660702
DM
39236 "permissions" : {
39237 "user" : "all"
56122987 39238 },
44660702
DM
39239 "returns" : {
39240 "items" : {
39241 "properties" : {},
39242 "type" : "object"
39243 },
39244 "links" : [
39245 {
39246 "href" : "{name}",
39247 "rel" : "child"
39248 }
56122987 39249 ],
44660702 39250 "type" : "array"
7aacca6f
DM
39251 }
39252 }
39253 },
44660702
DM
39254 "leaf" : 0,
39255 "path" : "/nodes/{node}",
39256 "text" : "{node}"
39257 }
39258 ],
39259 "info" : {
7aacca6f 39260 "GET" : {
e9cd3bd4 39261 "allowtoken" : 1,
44660702 39262 "description" : "Cluster node index.",
7aacca6f 39263 "method" : "GET",
44660702 39264 "name" : "index",
7aacca6f 39265 "parameters" : {
7aacca6f
DM
39266 "additionalProperties" : 0
39267 },
39268 "permissions" : {
7aacca6f
DM
39269 "user" : "all"
39270 },
44660702
DM
39271 "returns" : {
39272 "items" : {
4d47f125
TL
39273 "properties" : {
39274 "cpu" : {
39275 "description" : "CPU utilization.",
39276 "optional" : 1,
39277 "renderer" : "fraction_as_percentage",
39278 "type" : "number"
39279 },
39280 "level" : {
39281 "description" : "Support level.",
39282 "optional" : 1,
39283 "type" : "string"
39284 },
39285 "maxcpu" : {
39286 "description" : "Number of available CPUs.",
39287 "optional" : 1,
39288 "type" : "integer"
39289 },
39290 "maxmem" : {
39291 "description" : "Number of available memory in bytes.",
39292 "optional" : 1,
39293 "renderer" : "bytes",
39294 "type" : "integer"
39295 },
39296 "mem" : {
39297 "description" : "Used memory in bytes.",
39298 "optional" : 1,
39299 "renderer" : "bytes",
1c532546 39300 "type" : "integer"
4d47f125
TL
39301 },
39302 "node" : {
39303 "description" : "The cluster node name.",
39304 "format" : "pve-node",
39305 "type" : "string"
39306 },
39307 "ssl_fingerprint" : {
39308 "description" : "The SSL fingerprint for the node certificate.",
39309 "optional" : 1,
39310 "type" : "string"
39311 },
39312 "status" : {
39313 "description" : "Node status.",
39314 "enum" : [
39315 "unknown",
39316 "online",
39317 "offline"
39318 ],
39319 "type" : "string"
39320 },
39321 "uptime" : {
39322 "description" : "Node uptime in seconds.",
39323 "optional" : 1,
39324 "renderer" : "duration",
39325 "type" : "integer"
39326 }
39327 },
44660702
DM
39328 "type" : "object"
39329 },
39330 "links" : [
39331 {
39332 "href" : "{node}",
39333 "rel" : "child"
39334 }
39335 ],
39336 "type" : "array"
39337 }
7aacca6f
DM
39338 }
39339 },
44660702
DM
39340 "leaf" : 0,
39341 "path" : "/nodes",
39342 "text" : "nodes"
39343 },
39344 {
7aacca6f
DM
39345 "children" : [
39346 {
7aacca6f 39347 "info" : {
44660702 39348 "DELETE" : {
e9cd3bd4 39349 "allowtoken" : 1,
44660702
DM
39350 "description" : "Delete storage configuration.",
39351 "method" : "DELETE",
39352 "name" : "delete",
7aacca6f
DM
39353 "parameters" : {
39354 "additionalProperties" : 0,
39355 "properties" : {
39356 "storage" : {
7aacca6f 39357 "description" : "The storage identifier.",
44660702 39358 "format" : "pve-storage-id",
013dc89f
DM
39359 "type" : "string",
39360 "typetext" : "<string>"
7aacca6f
DM
39361 }
39362 }
56122987 39363 },
7aacca6f
DM
39364 "permissions" : {
39365 "check" : [
39366 "perm",
39367 "/storage",
39368 [
39369 "Datastore.Allocate"
39370 ]
39371 ]
56122987 39372 },
44660702
DM
39373 "protected" : 1,
39374 "returns" : {
39375 "type" : "null"
39376 }
39377 },
39378 "GET" : {
e9cd3bd4 39379 "allowtoken" : 1,
44660702
DM
39380 "description" : "Read storage configuration.",
39381 "method" : "GET",
39382 "name" : "read",
7aacca6f
DM
39383 "parameters" : {
39384 "additionalProperties" : 0,
39385 "properties" : {
39386 "storage" : {
44660702 39387 "description" : "The storage identifier.",
7aacca6f 39388 "format" : "pve-storage-id",
013dc89f
DM
39389 "type" : "string",
39390 "typetext" : "<string>"
7aacca6f
DM
39391 }
39392 }
39393 },
44660702
DM
39394 "permissions" : {
39395 "check" : [
39396 "perm",
39397 "/storage/{storage}",
39398 [
39399 "Datastore.Allocate"
39400 ]
39401 ]
39402 },
5da3d723
TL
39403 "returns" : {
39404 "type" : "object"
39405 }
7aacca6f
DM
39406 },
39407 "PUT" : {
e9cd3bd4 39408 "allowtoken" : 1,
44660702
DM
39409 "description" : "Update storage configuration.",
39410 "method" : "PUT",
39411 "name" : "update",
39412 "parameters" : {
39413 "additionalProperties" : 0,
39414 "properties" : {
39415 "blocksize" : {
39416 "description" : "block size",
7aacca6f 39417 "optional" : 1,
013dc89f
DM
39418 "type" : "string",
39419 "typetext" : "<string>"
7aacca6f 39420 },
27a7acb2
DM
39421 "bwlimit" : {
39422 "description" : "Set bandwidth/io limits various operations.",
39423 "format" : {
39424 "clone" : {
95895385 39425 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
39426 "format_description" : "LIMIT",
39427 "minimum" : "0",
39428 "optional" : 1,
39429 "type" : "number"
39430 },
39431 "default" : {
95895385 39432 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
39433 "format_description" : "LIMIT",
39434 "minimum" : "0",
39435 "optional" : 1,
39436 "type" : "number"
39437 },
39438 "migration" : {
95895385 39439 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
39440 "format_description" : "LIMIT",
39441 "minimum" : "0",
39442 "optional" : 1,
39443 "type" : "number"
39444 },
39445 "move" : {
95895385 39446 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
39447 "format_description" : "LIMIT",
39448 "minimum" : "0",
39449 "optional" : 1,
39450 "type" : "number"
39451 },
39452 "restore" : {
95895385 39453 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
39454 "format_description" : "LIMIT",
39455 "minimum" : "0",
39456 "optional" : 1,
39457 "type" : "number"
39458 }
39459 },
39460 "optional" : 1,
39461 "type" : "string",
39462 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
39463 },
44660702
DM
39464 "comstar_hg" : {
39465 "description" : "host group for comstar views",
39466 "optional" : 1,
013dc89f
DM
39467 "type" : "string",
39468 "typetext" : "<string>"
7aacca6f 39469 },
44660702
DM
39470 "comstar_tg" : {
39471 "description" : "target group for comstar views",
7aacca6f 39472 "optional" : 1,
013dc89f
DM
39473 "type" : "string",
39474 "typetext" : "<string>"
7aacca6f 39475 },
44660702
DM
39476 "content" : {
39477 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
39478 "format" : "pve-storage-content-list",
7aacca6f 39479 "optional" : 1,
013dc89f
DM
39480 "type" : "string",
39481 "typetext" : "<string>"
7aacca6f 39482 },
44660702
DM
39483 "delete" : {
39484 "description" : "A list of settings you want to delete.",
39485 "format" : "pve-configid-list",
39486 "maxLength" : 4096,
7aacca6f 39487 "optional" : 1,
013dc89f
DM
39488 "type" : "string",
39489 "typetext" : "<string>"
7aacca6f
DM
39490 },
39491 "digest" : {
44660702 39492 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 39493 "maxLength" : 40,
7aacca6f 39494 "optional" : 1,
013dc89f
DM
39495 "type" : "string",
39496 "typetext" : "<string>"
7aacca6f 39497 },
44660702
DM
39498 "disable" : {
39499 "description" : "Flag to disable the storage.",
39500 "optional" : 1,
013dc89f
DM
39501 "type" : "boolean",
39502 "typetext" : "<boolean>"
7aacca6f 39503 },
27a7acb2
DM
39504 "domain" : {
39505 "description" : "CIFS domain.",
39506 "maxLength" : 256,
39507 "optional" : 1,
39508 "type" : "string",
39509 "typetext" : "<string>"
39510 },
04d22a9f
TL
39511 "encryption-key" : {
39512 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
39513 "optional" : 1,
39514 "type" : "string",
39515 "typetext" : "<string>"
39516 },
c5aa7e14
TL
39517 "fingerprint" : {
39518 "description" : "Certificate SHA 256 fingerprint.",
39519 "optional" : 1,
39520 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39521 "type" : "string"
39522 },
7aacca6f
DM
39523 "format" : {
39524 "description" : "Default image format.",
44660702 39525 "format" : "pve-storage-format",
7aacca6f 39526 "optional" : 1,
013dc89f
DM
39527 "type" : "string",
39528 "typetext" : "<string>"
7aacca6f 39529 },
5da3d723
TL
39530 "fuse" : {
39531 "description" : "Mount CephFS through FUSE.",
39532 "optional" : 1,
39533 "type" : "boolean",
39534 "typetext" : "<boolean>"
39535 },
2c0dde61
DM
39536 "is_mountpoint" : {
39537 "default" : "no",
2489d6df 39538 "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 39539 "optional" : 1,
2489d6df
WB
39540 "type" : "string",
39541 "typetext" : "<string>"
2c0dde61 39542 },
44660702 39543 "krbd" : {
e2d681b3 39544 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 39545 "optional" : 1,
013dc89f
DM
39546 "type" : "boolean",
39547 "typetext" : "<boolean>"
7aacca6f 39548 },
4d47f125
TL
39549 "lio_tpg" : {
39550 "description" : "target portal group for Linux LIO targets",
39551 "optional" : 1,
39552 "type" : "string",
39553 "typetext" : "<string>"
39554 },
44660702
DM
39555 "maxfiles" : {
39556 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
39557 "minimum" : 0,
39558 "optional" : 1,
4bd7df8b 39559 "type" : "integer",
013dc89f 39560 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
39561 },
39562 "mkdir" : {
39563 "default" : "yes",
39564 "description" : "Create the directory if it doesn't exist.",
39565 "optional" : 1,
013dc89f
DM
39566 "type" : "boolean",
39567 "typetext" : "<boolean>"
7aacca6f 39568 },
2489d6df
WB
39569 "monhost" : {
39570 "description" : "IP addresses of monitors (for external clusters).",
39571 "format" : "pve-storage-portal-dns-list",
39572 "optional" : 1,
39573 "type" : "string",
39574 "typetext" : "<string>"
39575 },
5c1699e5
TL
39576 "mountpoint" : {
39577 "description" : "mount point",
39578 "format" : "pve-storage-path",
39579 "optional" : 1,
39580 "type" : "string",
39581 "typetext" : "<string>"
39582 },
7aacca6f 39583 "nodes" : {
44660702 39584 "description" : "List of cluster node names.",
7aacca6f
DM
39585 "format" : "pve-node-list",
39586 "optional" : 1,
013dc89f
DM
39587 "type" : "string",
39588 "typetext" : "<string>"
7aacca6f 39589 },
44660702
DM
39590 "nowritecache" : {
39591 "description" : "disable write caching on the target",
7aacca6f 39592 "optional" : 1,
013dc89f
DM
39593 "type" : "boolean",
39594 "typetext" : "<boolean>"
7aacca6f
DM
39595 },
39596 "options" : {
7aacca6f 39597 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
39598 "format" : "pve-storage-options",
39599 "optional" : 1,
013dc89f
DM
39600 "type" : "string",
39601 "typetext" : "<string>"
44660702 39602 },
27a7acb2 39603 "password" : {
04d22a9f 39604 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
39605 "maxLength" : 256,
39606 "optional" : 1,
39607 "type" : "string",
39608 "typetext" : "<string>"
39609 },
44660702
DM
39610 "pool" : {
39611 "description" : "Pool.",
39612 "optional" : 1,
013dc89f
DM
39613 "type" : "string",
39614 "typetext" : "<string>"
44660702 39615 },
4772952b
TL
39616 "port" : {
39617 "default" : 8007,
39618 "description" : "For non default port.",
39619 "maximum" : 65535,
39620 "minimum" : 1,
39621 "optional" : 1,
39622 "type" : "integer",
39623 "typetext" : "<integer> (1 - 65535)"
39624 },
739d4d64
TL
39625 "prune-backups" : {
39626 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
39627 "format" : "prune-backups",
39628 "optional" : 1,
39629 "type" : "string",
4772952b 39630 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 39631 },
44660702
DM
39632 "redundancy" : {
39633 "default" : 2,
39634 "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.",
39635 "maximum" : 16,
39636 "minimum" : 1,
39637 "optional" : 1,
4bd7df8b 39638 "type" : "integer",
013dc89f 39639 "typetext" : "<integer> (1 - 16)"
44660702
DM
39640 },
39641 "saferemove" : {
39642 "description" : "Zero-out data when removing LVs.",
39643 "optional" : 1,
013dc89f
DM
39644 "type" : "boolean",
39645 "typetext" : "<boolean>"
7aacca6f
DM
39646 },
39647 "saferemove_throughput" : {
44660702 39648 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 39649 "optional" : 1,
013dc89f
DM
39650 "type" : "string",
39651 "typetext" : "<string>"
7aacca6f 39652 },
44660702
DM
39653 "server" : {
39654 "description" : "Server IP or DNS name.",
39655 "format" : "pve-storage-server",
7aacca6f 39656 "optional" : 1,
013dc89f
DM
39657 "type" : "string",
39658 "typetext" : "<string>"
7aacca6f 39659 },
44660702
DM
39660 "server2" : {
39661 "description" : "Backup volfile server IP or DNS name.",
39662 "format" : "pve-storage-server",
7aacca6f 39663 "optional" : 1,
44660702 39664 "requires" : "server",
013dc89f
DM
39665 "type" : "string",
39666 "typetext" : "<string>"
44660702
DM
39667 },
39668 "shared" : {
39669 "description" : "Mark storage as shared.",
39670 "optional" : 1,
013dc89f
DM
39671 "type" : "boolean",
39672 "typetext" : "<boolean>"
44660702 39673 },
27a7acb2 39674 "smbversion" : {
5da3d723
TL
39675 "description" : "SMB protocol version",
39676 "enum" : [
39677 "2.0",
39678 "2.1",
39679 "3.0"
39680 ],
27a7acb2 39681 "optional" : 1,
5da3d723 39682 "type" : "string"
27a7acb2 39683 },
44660702
DM
39684 "sparse" : {
39685 "description" : "use sparse volumes",
39686 "optional" : 1,
013dc89f
DM
39687 "type" : "boolean",
39688 "typetext" : "<boolean>"
44660702
DM
39689 },
39690 "storage" : {
39691 "description" : "The storage identifier.",
39692 "format" : "pve-storage-id",
013dc89f
DM
39693 "type" : "string",
39694 "typetext" : "<string>"
44660702 39695 },
5da3d723
TL
39696 "subdir" : {
39697 "description" : "Subdir to mount.",
39698 "format" : "pve-storage-path",
39699 "optional" : 1,
39700 "type" : "string",
39701 "typetext" : "<string>"
39702 },
4bd7df8b
DM
39703 "tagged_only" : {
39704 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
39705 "optional" : 1,
013dc89f
DM
39706 "type" : "boolean",
39707 "typetext" : "<boolean>"
4bd7df8b 39708 },
44660702
DM
39709 "transport" : {
39710 "description" : "Gluster transport: tcp or rdma",
39711 "enum" : [
39712 "tcp",
39713 "rdma",
39714 "unix"
39715 ],
39716 "optional" : 1,
39717 "type" : "string"
7aacca6f
DM
39718 },
39719 "username" : {
39720 "description" : "RBD Id.",
44660702 39721 "optional" : 1,
013dc89f
DM
39722 "type" : "string",
39723 "typetext" : "<string>"
7aacca6f 39724 }
44660702
DM
39725 },
39726 "type" : "object"
39727 },
39728 "permissions" : {
39729 "check" : [
39730 "perm",
39731 "/storage",
39732 [
39733 "Datastore.Allocate"
39734 ]
39735 ]
39736 },
39737 "protected" : 1,
39738 "returns" : {
4772952b
TL
39739 "properties" : {
39740 "config" : {
39741 "additionalProperties" : 1,
39742 "description" : "Partial, possible server generated, configuration properties.",
39743 "optional" : 1,
39744 "properties" : {
39745 "encryption-key" : {
39746 "description" : "The, possible auto-generated, encryption-key.",
39747 "optional" : 1,
39748 "type" : "string"
39749 }
39750 },
39751 "type" : "object"
39752 },
39753 "storage" : {
39754 "description" : "The ID of the created storage.",
39755 "type" : "string"
39756 },
39757 "type" : {
39758 "description" : "The type of the created storage.",
39759 "enum" : [
39760 "cephfs",
39761 "cifs",
39762 "dir",
39763 "drbd",
39764 "glusterfs",
39765 "iscsi",
39766 "iscsidirect",
39767 "lvm",
39768 "lvmthin",
39769 "nfs",
39770 "pbs",
39771 "rbd",
39772 "zfs",
39773 "zfspool"
39774 ],
39775 "type" : "string"
39776 }
39777 },
39778 "type" : "object"
44660702
DM
39779 }
39780 }
39781 },
39782 "leaf" : 1,
39783 "path" : "/storage/{storage}",
39784 "text" : "{storage}"
39785 }
39786 ],
39787 "info" : {
39788 "GET" : {
e9cd3bd4 39789 "allowtoken" : 1,
44660702
DM
39790 "description" : "Storage index.",
39791 "method" : "GET",
39792 "name" : "index",
39793 "parameters" : {
39794 "additionalProperties" : 0,
39795 "properties" : {
39796 "type" : {
39797 "description" : "Only list storage of specific type",
39798 "enum" : [
5da3d723 39799 "cephfs",
27a7acb2 39800 "cifs",
44660702
DM
39801 "dir",
39802 "drbd",
39803 "glusterfs",
39804 "iscsi",
39805 "iscsidirect",
39806 "lvm",
39807 "lvmthin",
39808 "nfs",
c5aa7e14 39809 "pbs",
44660702 39810 "rbd",
44660702
DM
39811 "zfs",
39812 "zfspool"
39813 ],
39814 "optional" : 1,
39815 "type" : "string"
39816 }
39817 }
39818 },
39819 "permissions" : {
39820 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
39821 "user" : "all"
39822 },
39823 "returns" : {
39824 "items" : {
39825 "properties" : {
39826 "storage" : {
39827 "type" : "string"
7aacca6f 39828 }
56122987 39829 },
44660702
DM
39830 "type" : "object"
39831 },
39832 "links" : [
39833 {
39834 "href" : "{storage}",
39835 "rel" : "child"
39836 }
39837 ],
39838 "type" : "array"
39839 }
39840 },
39841 "POST" : {
e9cd3bd4 39842 "allowtoken" : 1,
44660702
DM
39843 "description" : "Create a new storage.",
39844 "method" : "POST",
39845 "name" : "create",
39846 "parameters" : {
39847 "additionalProperties" : 0,
39848 "properties" : {
39849 "authsupported" : {
39850 "description" : "Authsupported.",
39851 "optional" : 1,
013dc89f
DM
39852 "type" : "string",
39853 "typetext" : "<string>"
44660702
DM
39854 },
39855 "base" : {
39856 "description" : "Base volume. This volume is automatically activated.",
39857 "format" : "pve-volume-id",
39858 "optional" : 1,
013dc89f
DM
39859 "type" : "string",
39860 "typetext" : "<string>"
44660702
DM
39861 },
39862 "blocksize" : {
39863 "description" : "block size",
39864 "optional" : 1,
013dc89f
DM
39865 "type" : "string",
39866 "typetext" : "<string>"
44660702 39867 },
27a7acb2
DM
39868 "bwlimit" : {
39869 "description" : "Set bandwidth/io limits various operations.",
39870 "format" : {
39871 "clone" : {
95895385 39872 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
39873 "format_description" : "LIMIT",
39874 "minimum" : "0",
39875 "optional" : 1,
39876 "type" : "number"
39877 },
39878 "default" : {
95895385 39879 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
39880 "format_description" : "LIMIT",
39881 "minimum" : "0",
39882 "optional" : 1,
39883 "type" : "number"
39884 },
39885 "migration" : {
95895385 39886 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
39887 "format_description" : "LIMIT",
39888 "minimum" : "0",
39889 "optional" : 1,
39890 "type" : "number"
39891 },
39892 "move" : {
95895385 39893 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
39894 "format_description" : "LIMIT",
39895 "minimum" : "0",
39896 "optional" : 1,
39897 "type" : "number"
39898 },
39899 "restore" : {
95895385 39900 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
39901 "format_description" : "LIMIT",
39902 "minimum" : "0",
39903 "optional" : 1,
39904 "type" : "number"
39905 }
39906 },
39907 "optional" : 1,
39908 "type" : "string",
39909 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
39910 },
44660702
DM
39911 "comstar_hg" : {
39912 "description" : "host group for comstar views",
39913 "optional" : 1,
013dc89f
DM
39914 "type" : "string",
39915 "typetext" : "<string>"
44660702
DM
39916 },
39917 "comstar_tg" : {
39918 "description" : "target group for comstar views",
39919 "optional" : 1,
013dc89f
DM
39920 "type" : "string",
39921 "typetext" : "<string>"
44660702
DM
39922 },
39923 "content" : {
39924 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
39925 "format" : "pve-storage-content-list",
39926 "optional" : 1,
013dc89f
DM
39927 "type" : "string",
39928 "typetext" : "<string>"
44660702 39929 },
c5aa7e14 39930 "datastore" : {
4772952b 39931 "description" : "Proxmox Backup Server datastore name.",
c5aa7e14
TL
39932 "optional" : 1,
39933 "type" : "string",
39934 "typetext" : "<string>"
39935 },
44660702
DM
39936 "disable" : {
39937 "description" : "Flag to disable the storage.",
39938 "optional" : 1,
013dc89f
DM
39939 "type" : "boolean",
39940 "typetext" : "<boolean>"
44660702 39941 },
27a7acb2
DM
39942 "domain" : {
39943 "description" : "CIFS domain.",
39944 "maxLength" : 256,
39945 "optional" : 1,
39946 "type" : "string",
39947 "typetext" : "<string>"
39948 },
04d22a9f
TL
39949 "encryption-key" : {
39950 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
39951 "optional" : 1,
39952 "type" : "string",
39953 "typetext" : "<string>"
39954 },
44660702
DM
39955 "export" : {
39956 "description" : "NFS export path.",
39957 "format" : "pve-storage-path",
39958 "optional" : 1,
013dc89f
DM
39959 "type" : "string",
39960 "typetext" : "<string>"
44660702 39961 },
c5aa7e14
TL
39962 "fingerprint" : {
39963 "description" : "Certificate SHA 256 fingerprint.",
39964 "optional" : 1,
39965 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39966 "type" : "string"
39967 },
44660702
DM
39968 "format" : {
39969 "description" : "Default image format.",
39970 "format" : "pve-storage-format",
39971 "optional" : 1,
013dc89f
DM
39972 "type" : "string",
39973 "typetext" : "<string>"
44660702 39974 },
5da3d723
TL
39975 "fuse" : {
39976 "description" : "Mount CephFS through FUSE.",
39977 "optional" : 1,
39978 "type" : "boolean",
39979 "typetext" : "<boolean>"
39980 },
2c0dde61
DM
39981 "is_mountpoint" : {
39982 "default" : "no",
2489d6df 39983 "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 39984 "optional" : 1,
2489d6df
WB
39985 "type" : "string",
39986 "typetext" : "<string>"
2c0dde61 39987 },
44660702
DM
39988 "iscsiprovider" : {
39989 "description" : "iscsi provider",
39990 "optional" : 1,
013dc89f
DM
39991 "type" : "string",
39992 "typetext" : "<string>"
44660702
DM
39993 },
39994 "krbd" : {
e2d681b3 39995 "description" : "Always access rbd through krbd kernel module.",
44660702 39996 "optional" : 1,
013dc89f
DM
39997 "type" : "boolean",
39998 "typetext" : "<boolean>"
56122987 39999 },
4d47f125
TL
40000 "lio_tpg" : {
40001 "description" : "target portal group for Linux LIO targets",
40002 "optional" : 1,
40003 "type" : "string",
40004 "typetext" : "<string>"
40005 },
44660702
DM
40006 "maxfiles" : {
40007 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
40008 "minimum" : 0,
40009 "optional" : 1,
4bd7df8b 40010 "type" : "integer",
013dc89f 40011 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
40012 },
40013 "mkdir" : {
40014 "default" : "yes",
40015 "description" : "Create the directory if it doesn't exist.",
40016 "optional" : 1,
013dc89f
DM
40017 "type" : "boolean",
40018 "typetext" : "<boolean>"
7aacca6f 40019 },
44660702 40020 "monhost" : {
2489d6df 40021 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 40022 "format" : "pve-storage-portal-dns-list",
44660702 40023 "optional" : 1,
013dc89f
DM
40024 "type" : "string",
40025 "typetext" : "<string>"
7aacca6f 40026 },
5c1699e5
TL
40027 "mountpoint" : {
40028 "description" : "mount point",
40029 "format" : "pve-storage-path",
40030 "optional" : 1,
40031 "type" : "string",
40032 "typetext" : "<string>"
40033 },
44660702
DM
40034 "nodes" : {
40035 "description" : "List of cluster node names.",
40036 "format" : "pve-node-list",
40037 "optional" : 1,
013dc89f
DM
40038 "type" : "string",
40039 "typetext" : "<string>"
7aacca6f 40040 },
44660702
DM
40041 "nowritecache" : {
40042 "description" : "disable write caching on the target",
40043 "optional" : 1,
013dc89f
DM
40044 "type" : "boolean",
40045 "typetext" : "<boolean>"
44660702
DM
40046 },
40047 "options" : {
40048 "description" : "NFS mount options (see 'man nfs')",
40049 "format" : "pve-storage-options",
40050 "optional" : 1,
013dc89f
DM
40051 "type" : "string",
40052 "typetext" : "<string>"
44660702 40053 },
27a7acb2 40054 "password" : {
04d22a9f 40055 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
40056 "maxLength" : 256,
40057 "optional" : 1,
40058 "type" : "string",
40059 "typetext" : "<string>"
40060 },
44660702
DM
40061 "path" : {
40062 "description" : "File system path.",
40063 "format" : "pve-storage-path",
40064 "optional" : 1,
013dc89f
DM
40065 "type" : "string",
40066 "typetext" : "<string>"
44660702
DM
40067 },
40068 "pool" : {
40069 "description" : "Pool.",
40070 "optional" : 1,
013dc89f
DM
40071 "type" : "string",
40072 "typetext" : "<string>"
44660702 40073 },
4772952b
TL
40074 "port" : {
40075 "default" : 8007,
40076 "description" : "For non default port.",
40077 "maximum" : 65535,
40078 "minimum" : 1,
40079 "optional" : 1,
40080 "type" : "integer",
40081 "typetext" : "<integer> (1 - 65535)"
40082 },
44660702
DM
40083 "portal" : {
40084 "description" : "iSCSI portal (IP or DNS name with optional port).",
40085 "format" : "pve-storage-portal-dns",
40086 "optional" : 1,
013dc89f
DM
40087 "type" : "string",
40088 "typetext" : "<string>"
44660702 40089 },
739d4d64
TL
40090 "prune-backups" : {
40091 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
40092 "format" : "prune-backups",
40093 "optional" : 1,
40094 "type" : "string",
4772952b 40095 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 40096 },
44660702
DM
40097 "redundancy" : {
40098 "default" : 2,
40099 "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.",
40100 "maximum" : 16,
40101 "minimum" : 1,
40102 "optional" : 1,
4bd7df8b 40103 "type" : "integer",
013dc89f 40104 "typetext" : "<integer> (1 - 16)"
44660702
DM
40105 },
40106 "saferemove" : {
40107 "description" : "Zero-out data when removing LVs.",
40108 "optional" : 1,
013dc89f
DM
40109 "type" : "boolean",
40110 "typetext" : "<boolean>"
44660702
DM
40111 },
40112 "saferemove_throughput" : {
40113 "description" : "Wipe throughput (cstream -t parameter value).",
40114 "optional" : 1,
013dc89f
DM
40115 "type" : "string",
40116 "typetext" : "<string>"
44660702
DM
40117 },
40118 "server" : {
40119 "description" : "Server IP or DNS name.",
40120 "format" : "pve-storage-server",
40121 "optional" : 1,
013dc89f
DM
40122 "type" : "string",
40123 "typetext" : "<string>"
44660702
DM
40124 },
40125 "server2" : {
40126 "description" : "Backup volfile server IP or DNS name.",
40127 "format" : "pve-storage-server",
40128 "optional" : 1,
40129 "requires" : "server",
013dc89f
DM
40130 "type" : "string",
40131 "typetext" : "<string>"
44660702 40132 },
27a7acb2
DM
40133 "share" : {
40134 "description" : "CIFS share.",
40135 "optional" : 1,
40136 "type" : "string",
40137 "typetext" : "<string>"
40138 },
44660702
DM
40139 "shared" : {
40140 "description" : "Mark storage as shared.",
40141 "optional" : 1,
013dc89f
DM
40142 "type" : "boolean",
40143 "typetext" : "<boolean>"
44660702 40144 },
27a7acb2 40145 "smbversion" : {
5da3d723
TL
40146 "description" : "SMB protocol version",
40147 "enum" : [
40148 "2.0",
40149 "2.1",
40150 "3.0"
40151 ],
27a7acb2 40152 "optional" : 1,
5da3d723 40153 "type" : "string"
27a7acb2 40154 },
44660702
DM
40155 "sparse" : {
40156 "description" : "use sparse volumes",
40157 "optional" : 1,
013dc89f
DM
40158 "type" : "boolean",
40159 "typetext" : "<boolean>"
44660702
DM
40160 },
40161 "storage" : {
40162 "description" : "The storage identifier.",
40163 "format" : "pve-storage-id",
013dc89f
DM
40164 "type" : "string",
40165 "typetext" : "<string>"
44660702 40166 },
5da3d723
TL
40167 "subdir" : {
40168 "description" : "Subdir to mount.",
40169 "format" : "pve-storage-path",
40170 "optional" : 1,
40171 "type" : "string",
40172 "typetext" : "<string>"
40173 },
4bd7df8b
DM
40174 "tagged_only" : {
40175 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
40176 "optional" : 1,
013dc89f
DM
40177 "type" : "boolean",
40178 "typetext" : "<boolean>"
4bd7df8b 40179 },
44660702
DM
40180 "target" : {
40181 "description" : "iSCSI target.",
40182 "optional" : 1,
013dc89f
DM
40183 "type" : "string",
40184 "typetext" : "<string>"
44660702
DM
40185 },
40186 "thinpool" : {
40187 "description" : "LVM thin pool LV name.",
40188 "format" : "pve-storage-vgname",
40189 "optional" : 1,
013dc89f
DM
40190 "type" : "string",
40191 "typetext" : "<string>"
44660702
DM
40192 },
40193 "transport" : {
40194 "description" : "Gluster transport: tcp or rdma",
40195 "enum" : [
40196 "tcp",
40197 "rdma",
40198 "unix"
7aacca6f 40199 ],
44660702
DM
40200 "optional" : 1,
40201 "type" : "string"
56122987 40202 },
44660702
DM
40203 "type" : {
40204 "description" : "Storage type.",
40205 "enum" : [
5da3d723 40206 "cephfs",
27a7acb2 40207 "cifs",
44660702
DM
40208 "dir",
40209 "drbd",
40210 "glusterfs",
40211 "iscsi",
40212 "iscsidirect",
40213 "lvm",
40214 "lvmthin",
40215 "nfs",
c5aa7e14 40216 "pbs",
44660702 40217 "rbd",
44660702
DM
40218 "zfs",
40219 "zfspool"
40220 ],
40221 "type" : "string"
56122987 40222 },
44660702
DM
40223 "username" : {
40224 "description" : "RBD Id.",
40225 "optional" : 1,
013dc89f
DM
40226 "type" : "string",
40227 "typetext" : "<string>"
7aacca6f 40228 },
44660702
DM
40229 "vgname" : {
40230 "description" : "Volume group name.",
40231 "format" : "pve-storage-vgname",
40232 "optional" : 1,
013dc89f
DM
40233 "type" : "string",
40234 "typetext" : "<string>"
44660702
DM
40235 },
40236 "volume" : {
40237 "description" : "Glusterfs Volume.",
40238 "optional" : 1,
013dc89f
DM
40239 "type" : "string",
40240 "typetext" : "<string>"
44660702
DM
40241 }
40242 },
40243 "type" : "object"
40244 },
40245 "permissions" : {
40246 "check" : [
40247 "perm",
40248 "/storage",
40249 [
40250 "Datastore.Allocate"
40251 ]
40252 ]
56122987 40253 },
44660702
DM
40254 "protected" : 1,
40255 "returns" : {
4772952b
TL
40256 "properties" : {
40257 "config" : {
40258 "additionalProperties" : 1,
40259 "description" : "Partial, possible server generated, configuration properties.",
40260 "optional" : 1,
40261 "properties" : {
40262 "encryption-key" : {
40263 "description" : "The, possible auto-generated, encryption-key.",
40264 "optional" : 1,
40265 "type" : "string"
40266 }
40267 },
40268 "type" : "object"
40269 },
40270 "storage" : {
40271 "description" : "The ID of the created storage.",
40272 "type" : "string"
40273 },
40274 "type" : {
40275 "description" : "The type of the created storage.",
40276 "enum" : [
40277 "cephfs",
40278 "cifs",
40279 "dir",
40280 "drbd",
40281 "glusterfs",
40282 "iscsi",
40283 "iscsidirect",
40284 "lvm",
40285 "lvmthin",
40286 "nfs",
40287 "pbs",
40288 "rbd",
40289 "zfs",
40290 "zfspool"
40291 ],
40292 "type" : "string"
40293 }
40294 },
40295 "type" : "object"
44660702
DM
40296 }
40297 }
40298 },
40299 "leaf" : 0,
40300 "path" : "/storage",
40301 "text" : "storage"
40302 },
40303 {
40304 "children" : [
40305 {
56122987
DM
40306 "children" : [
40307 {
bb4c8cf8
TL
40308 "children" : [
40309 {
40310 "info" : {
40311 "GET" : {
e9cd3bd4 40312 "allowtoken" : 1,
bb4c8cf8
TL
40313 "description" : "Get user TFA types (Personal and Realm).",
40314 "method" : "GET",
40315 "name" : "read_user_tfa_type",
40316 "parameters" : {
40317 "additionalProperties" : 0,
40318 "properties" : {
40319 "userid" : {
40320 "description" : "User ID",
40321 "format" : "pve-userid",
40322 "maxLength" : 64,
40323 "type" : "string",
40324 "typetext" : "<string>"
40325 }
40326 }
40327 },
40328 "permissions" : {
40329 "check" : [
40330 "or",
40331 [
40332 "userid-param",
40333 "self"
40334 ],
40335 [
40336 "userid-group",
40337 [
40338 "User.Modify",
40339 "Sys.Audit"
40340 ]
40341 ]
40342 ]
40343 },
40344 "protected" : 1,
40345 "returns" : {
40346 "additionalProperties" : 0,
40347 "properties" : {
40348 "realm" : {
40349 "description" : "The type of TFA the users realm has set, if any.",
40350 "enum" : [
40351 "oath",
40352 "yubico"
40353 ],
40354 "optional" : 1,
40355 "type" : "string"
40356 },
40357 "user" : {
40358 "description" : "The type of TFA the user has set, if any.",
40359 "enum" : [
40360 "oath",
40361 "u2f"
40362 ],
40363 "optional" : 1,
40364 "type" : "string"
40365 }
40366 },
40367 "type" : "object"
40368 }
40369 }
40370 },
40371 "leaf" : 1,
40372 "path" : "/access/users/{userid}/tfa",
40373 "text" : "tfa"
e9cd3bd4
TL
40374 },
40375 {
40376 "children" : [
40377 {
40378 "info" : {
40379 "DELETE" : {
40380 "allowtoken" : 1,
40381 "description" : "Remove API token for a specific user.",
40382 "method" : "DELETE",
40383 "name" : "remove_token",
40384 "parameters" : {
40385 "additionalProperties" : 0,
40386 "properties" : {
40387 "tokenid" : {
40388 "description" : "User-specific token identifier.",
40389 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40390 "type" : "string"
40391 },
40392 "userid" : {
40393 "description" : "User ID",
40394 "format" : "pve-userid",
40395 "maxLength" : 64,
40396 "type" : "string",
40397 "typetext" : "<string>"
40398 }
40399 }
40400 },
40401 "permissions" : {
40402 "check" : [
40403 "or",
40404 [
40405 "userid-param",
40406 "self"
40407 ],
40408 [
40409 "perm",
40410 "/access/users/{userid}",
40411 [
40412 "User.Modify"
40413 ]
40414 ]
40415 ]
40416 },
40417 "protected" : 1,
40418 "returns" : {
c5aa7e14
TL
40419 "type" : "null"
40420 }
40421 },
40422 "GET" : {
40423 "allowtoken" : 1,
40424 "description" : "Get specific API token information.",
40425 "method" : "GET",
40426 "name" : "read_token",
40427 "parameters" : {
40428 "additionalProperties" : 0,
40429 "properties" : {
40430 "tokenid" : {
40431 "description" : "User-specific token identifier.",
40432 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40433 "type" : "string"
40434 },
40435 "userid" : {
40436 "description" : "User ID",
40437 "format" : "pve-userid",
40438 "maxLength" : 64,
40439 "type" : "string",
40440 "typetext" : "<string>"
40441 }
40442 }
40443 },
40444 "permissions" : {
40445 "check" : [
40446 "or",
40447 [
40448 "userid-param",
40449 "self"
40450 ],
40451 [
40452 "perm",
40453 "/access/users/{userid}",
40454 [
40455 "User.Modify"
40456 ]
40457 ]
40458 ]
40459 },
40460 "returns" : {
40461 "properties" : {
40462 "comment" : {
40463 "optional" : 1,
40464 "type" : "string"
40465 },
40466 "expire" : {
40467 "default" : "same as user",
40468 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40469 "minimum" : 0,
40470 "optional" : 1,
40471 "type" : "integer"
40472 },
40473 "privsep" : {
40474 "default" : 1,
40475 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40476 "optional" : 1,
40477 "type" : "boolean"
40478 }
40479 },
40480 "type" : "object"
40481 }
40482 },
40483 "POST" : {
40484 "allowtoken" : 1,
40485 "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!",
40486 "method" : "POST",
40487 "name" : "generate_token",
40488 "parameters" : {
40489 "additionalProperties" : 0,
40490 "properties" : {
40491 "comment" : {
40492 "optional" : 1,
40493 "type" : "string",
40494 "typetext" : "<string>"
40495 },
40496 "expire" : {
40497 "default" : "same as user",
40498 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40499 "minimum" : 0,
40500 "optional" : 1,
40501 "type" : "integer",
40502 "typetext" : "<integer> (0 - N)"
40503 },
40504 "privsep" : {
40505 "default" : 1,
40506 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40507 "optional" : 1,
40508 "type" : "boolean",
40509 "typetext" : "<boolean>"
40510 },
40511 "tokenid" : {
40512 "description" : "User-specific token identifier.",
40513 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40514 "type" : "string"
40515 },
40516 "userid" : {
40517 "description" : "User ID",
40518 "format" : "pve-userid",
40519 "maxLength" : 64,
40520 "type" : "string",
40521 "typetext" : "<string>"
40522 }
40523 }
40524 },
40525 "permissions" : {
40526 "check" : [
40527 "or",
40528 [
40529 "userid-param",
40530 "self"
40531 ],
40532 [
40533 "perm",
40534 "/access/users/{userid}",
40535 [
40536 "User.Modify"
40537 ]
40538 ]
40539 ]
40540 },
40541 "protected" : 1,
40542 "returns" : {
e9cd3bd4
TL
40543 "additionalProperties" : 0,
40544 "properties" : {
c5aa7e14
TL
40545 "full-tokenid" : {
40546 "description" : "The full token id.",
40547 "format_description" : "<userid>!<tokenid>",
e9cd3bd4
TL
40548 "type" : "string"
40549 },
e9cd3bd4
TL
40550 "info" : {
40551 "properties" : {
40552 "comment" : {
40553 "optional" : 1,
40554 "type" : "string"
40555 },
40556 "expire" : {
40557 "default" : "same as user",
40558 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40559 "minimum" : 0,
40560 "optional" : 1,
40561 "type" : "integer"
40562 },
40563 "privsep" : {
40564 "default" : 1,
40565 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40566 "optional" : 1,
40567 "type" : "boolean"
40568 }
40569 },
40570 "type" : "object"
40571 },
40572 "value" : {
40573 "description" : "API token value used for authentication.",
40574 "type" : "string"
40575 }
40576 },
40577 "type" : "object"
40578 }
40579 },
40580 "PUT" : {
40581 "allowtoken" : 1,
40582 "description" : "Update API token for a specific user.",
40583 "method" : "PUT",
40584 "name" : "update_token_info",
40585 "parameters" : {
40586 "additionalProperties" : 0,
40587 "properties" : {
40588 "comment" : {
40589 "optional" : 1,
40590 "type" : "string",
40591 "typetext" : "<string>"
40592 },
40593 "expire" : {
40594 "default" : "same as user",
40595 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40596 "minimum" : 0,
40597 "optional" : 1,
40598 "type" : "integer",
40599 "typetext" : "<integer> (0 - N)"
40600 },
40601 "privsep" : {
40602 "default" : 1,
40603 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40604 "optional" : 1,
40605 "type" : "boolean",
40606 "typetext" : "<boolean>"
40607 },
40608 "tokenid" : {
40609 "description" : "User-specific token identifier.",
40610 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40611 "type" : "string"
40612 },
40613 "userid" : {
40614 "description" : "User ID",
40615 "format" : "pve-userid",
40616 "maxLength" : 64,
40617 "type" : "string",
40618 "typetext" : "<string>"
40619 }
40620 }
40621 },
40622 "permissions" : {
40623 "check" : [
40624 "or",
40625 [
40626 "userid-param",
40627 "self"
40628 ],
40629 [
40630 "perm",
40631 "/access/users/{userid}",
40632 [
40633 "User.Modify"
40634 ]
40635 ]
40636 ]
40637 },
40638 "protected" : 1,
40639 "returns" : {
40640 "description" : "Updated token information.",
40641 "properties" : {
40642 "comment" : {
40643 "optional" : 1,
40644 "type" : "string"
40645 },
40646 "expire" : {
40647 "default" : "same as user",
40648 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40649 "minimum" : 0,
40650 "optional" : 1,
40651 "type" : "integer"
40652 },
40653 "privsep" : {
40654 "default" : 1,
40655 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40656 "optional" : 1,
40657 "type" : "boolean"
40658 }
40659 },
40660 "type" : "object"
40661 }
40662 }
40663 },
40664 "leaf" : 1,
40665 "path" : "/access/users/{userid}/token/{tokenid}",
40666 "text" : "{tokenid}"
40667 }
40668 ],
40669 "info" : {
40670 "GET" : {
40671 "allowtoken" : 1,
40672 "description" : "Get user API tokens.",
40673 "method" : "GET",
40674 "name" : "token_index",
40675 "parameters" : {
40676 "additionalProperties" : 0,
40677 "properties" : {
40678 "userid" : {
40679 "description" : "User ID",
40680 "format" : "pve-userid",
40681 "maxLength" : 64,
40682 "type" : "string",
40683 "typetext" : "<string>"
40684 }
40685 }
40686 },
40687 "permissions" : {
40688 "check" : [
40689 "or",
40690 [
40691 "userid-param",
40692 "self"
40693 ],
40694 [
40695 "perm",
40696 "/access/users/{userid}",
40697 [
40698 "User.Modify"
40699 ]
40700 ]
40701 ]
40702 },
40703 "returns" : {
40704 "items" : {
40705 "properties" : {
40706 "comment" : {
40707 "optional" : 1,
40708 "type" : "string"
40709 },
40710 "expire" : {
40711 "default" : "same as user",
40712 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
40713 "minimum" : 0,
40714 "optional" : 1,
40715 "type" : "integer"
40716 },
40717 "privsep" : {
40718 "default" : 1,
40719 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
40720 "optional" : 1,
40721 "type" : "boolean"
40722 },
40723 "tokenid" : {
40724 "description" : "User-specific token identifier.",
40725 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
40726 "type" : "string"
40727 }
40728 },
40729 "type" : "object"
40730 },
40731 "links" : [
40732 {
40733 "href" : "{tokenid}",
40734 "rel" : "child"
40735 }
40736 ],
40737 "type" : "array"
40738 }
40739 }
40740 },
40741 "leaf" : 0,
40742 "path" : "/access/users/{userid}/token",
40743 "text" : "token"
bb4c8cf8
TL
40744 }
40745 ],
56122987 40746 "info" : {
44660702 40747 "DELETE" : {
e9cd3bd4 40748 "allowtoken" : 1,
44660702
DM
40749 "description" : "Delete user.",
40750 "method" : "DELETE",
40751 "name" : "delete_user",
56122987 40752 "parameters" : {
7aacca6f 40753 "additionalProperties" : 0,
56122987 40754 "properties" : {
56122987 40755 "userid" : {
56122987
DM
40756 "description" : "User ID",
40757 "format" : "pve-userid",
44660702 40758 "maxLength" : 64,
013dc89f
DM
40759 "type" : "string",
40760 "typetext" : "<string>"
56122987 40761 }
7aacca6f 40762 }
56122987 40763 },
56122987
DM
40764 "permissions" : {
40765 "check" : [
44660702 40766 "and",
56122987 40767 [
44660702
DM
40768 "userid-param",
40769 "Realm.AllocateUser"
56122987 40770 ],
44660702
DM
40771 [
40772 "userid-group",
40773 [
40774 "User.Modify"
40775 ]
40776 ]
56122987 40777 ]
7aacca6f 40778 },
44660702 40779 "protected" : 1,
56122987
DM
40780 "returns" : {
40781 "type" : "null"
44660702 40782 }
7aacca6f 40783 },
44660702 40784 "GET" : {
e9cd3bd4 40785 "allowtoken" : 1,
44660702
DM
40786 "description" : "Get user configuration.",
40787 "method" : "GET",
40788 "name" : "read_user",
56122987
DM
40789 "parameters" : {
40790 "additionalProperties" : 0,
40791 "properties" : {
40792 "userid" : {
44660702 40793 "description" : "User ID",
56122987 40794 "format" : "pve-userid",
44660702 40795 "maxLength" : 64,
013dc89f
DM
40796 "type" : "string",
40797 "typetext" : "<string>"
56122987
DM
40798 }
40799 }
40800 },
56122987
DM
40801 "permissions" : {
40802 "check" : [
44660702 40803 "userid-group",
56122987 40804 [
44660702
DM
40805 "User.Modify",
40806 "Sys.Audit"
56122987
DM
40807 ]
40808 ]
40809 },
56122987 40810 "returns" : {
7aacca6f 40811 "additionalProperties" : 0,
56122987 40812 "properties" : {
44660702
DM
40813 "comment" : {
40814 "optional" : 1,
40815 "type" : "string"
56122987 40816 },
44660702 40817 "email" : {
e2d681b3 40818 "format" : "email-opt",
44660702
DM
40819 "optional" : 1,
40820 "type" : "string"
7aacca6f
DM
40821 },
40822 "enable" : {
e2d681b3
TL
40823 "default" : 1,
40824 "description" : "Enable the account (default). You can set this to '0' to disable the account",
40825 "optional" : 1,
7aacca6f
DM
40826 "type" : "boolean"
40827 },
44660702 40828 "expire" : {
e2d681b3
TL
40829 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40830 "minimum" : 0,
44660702
DM
40831 "optional" : 1,
40832 "type" : "integer"
40833 },
40834 "firstname" : {
56122987
DM
40835 "optional" : 1,
40836 "type" : "string"
40837 },
44660702 40838 "groups" : {
e9cd3bd4
TL
40839 "items" : {
40840 "format" : "pve-groupid",
40841 "type" : "string"
40842 },
40843 "optional" : 1,
44660702 40844 "type" : "array"
56122987 40845 },
44660702 40846 "keys" : {
e2d681b3 40847 "description" : "Keys for two factor auth (yubico).",
44660702
DM
40848 "optional" : 1,
40849 "type" : "string"
7aacca6f 40850 },
44660702
DM
40851 "lastname" : {
40852 "optional" : 1,
40853 "type" : "string"
e9cd3bd4
TL
40854 },
40855 "tokens" : {
40856 "optional" : 1,
40857 "type" : "object"
56122987 40858 }
e2d681b3
TL
40859 },
40860 "type" : "object"
44660702
DM
40861 }
40862 },
40863 "PUT" : {
e9cd3bd4 40864 "allowtoken" : 1,
44660702
DM
40865 "description" : "Update user configuration.",
40866 "method" : "PUT",
40867 "name" : "update_user",
56122987 40868 "parameters" : {
44660702 40869 "additionalProperties" : 0,
56122987 40870 "properties" : {
44660702
DM
40871 "append" : {
40872 "optional" : 1,
40873 "requires" : "groups",
013dc89f
DM
40874 "type" : "boolean",
40875 "typetext" : "<boolean>"
44660702
DM
40876 },
40877 "comment" : {
40878 "optional" : 1,
013dc89f
DM
40879 "type" : "string",
40880 "typetext" : "<string>"
44660702
DM
40881 },
40882 "email" : {
40883 "format" : "email-opt",
40884 "optional" : 1,
013dc89f
DM
40885 "type" : "string",
40886 "typetext" : "<string>"
44660702
DM
40887 },
40888 "enable" : {
e2d681b3
TL
40889 "default" : 1,
40890 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 40891 "optional" : 1,
013dc89f
DM
40892 "type" : "boolean",
40893 "typetext" : "<boolean>"
44660702
DM
40894 },
40895 "expire" : {
40896 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
40897 "minimum" : 0,
40898 "optional" : 1,
4bd7df8b 40899 "type" : "integer",
013dc89f 40900 "typetext" : "<integer> (0 - N)"
44660702
DM
40901 },
40902 "firstname" : {
40903 "optional" : 1,
013dc89f
DM
40904 "type" : "string",
40905 "typetext" : "<string>"
44660702
DM
40906 },
40907 "groups" : {
40908 "format" : "pve-groupid-list",
40909 "optional" : 1,
013dc89f
DM
40910 "type" : "string",
40911 "typetext" : "<string>"
44660702
DM
40912 },
40913 "keys" : {
40914 "description" : "Keys for two factor auth (yubico).",
40915 "optional" : 1,
013dc89f
DM
40916 "type" : "string",
40917 "typetext" : "<string>"
44660702
DM
40918 },
40919 "lastname" : {
40920 "optional" : 1,
013dc89f
DM
40921 "type" : "string",
40922 "typetext" : "<string>"
44660702 40923 },
56122987 40924 "userid" : {
56122987
DM
40925 "description" : "User ID",
40926 "format" : "pve-userid",
44660702 40927 "maxLength" : 64,
013dc89f
DM
40928 "type" : "string",
40929 "typetext" : "<string>"
56122987 40930 }
44660702 40931 }
56122987 40932 },
56122987
DM
40933 "permissions" : {
40934 "check" : [
40935 "userid-group",
40936 [
44660702
DM
40937 "User.Modify"
40938 ],
40939 "groups_param",
40940 1
56122987
DM
40941 ]
40942 },
44660702
DM
40943 "protected" : 1,
40944 "returns" : {
40945 "type" : "null"
40946 }
56122987
DM
40947 }
40948 },
bb4c8cf8 40949 "leaf" : 0,
44660702 40950 "path" : "/access/users/{userid}",
7aacca6f 40951 "text" : "{userid}"
56122987 40952 }
7aacca6f 40953 ],
56122987 40954 "info" : {
7aacca6f 40955 "GET" : {
e9cd3bd4 40956 "allowtoken" : 1,
44660702
DM
40957 "description" : "User index.",
40958 "method" : "GET",
7aacca6f 40959 "name" : "index",
56122987 40960 "parameters" : {
44660702
DM
40961 "additionalProperties" : 0,
40962 "properties" : {
40963 "enabled" : {
40964 "description" : "Optional filter for enable property.",
40965 "optional" : 1,
013dc89f
DM
40966 "type" : "boolean",
40967 "typetext" : "<boolean>"
e9cd3bd4
TL
40968 },
40969 "full" : {
40970 "default" : 0,
40971 "description" : "Include group and token information.",
40972 "optional" : 1,
40973 "type" : "boolean",
40974 "typetext" : "<boolean>"
44660702
DM
40975 }
40976 }
40977 },
40978 "permissions" : {
40979 "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.",
40980 "user" : "all"
56122987 40981 },
7aacca6f 40982 "returns" : {
7aacca6f
DM
40983 "items" : {
40984 "properties" : {
e2d681b3
TL
40985 "comment" : {
40986 "optional" : 1,
40987 "type" : "string"
40988 },
40989 "email" : {
40990 "format" : "email-opt",
40991 "optional" : 1,
40992 "type" : "string"
40993 },
40994 "enable" : {
40995 "default" : 1,
40996 "description" : "Enable the account (default). You can set this to '0' to disable the account",
40997 "optional" : 1,
40998 "type" : "boolean"
40999 },
41000 "expire" : {
41001 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
41002 "minimum" : 0,
41003 "optional" : 1,
41004 "type" : "integer"
41005 },
41006 "firstname" : {
41007 "optional" : 1,
41008 "type" : "string"
41009 },
e9cd3bd4
TL
41010 "groups" : {
41011 "format" : "pve-groupid-list",
41012 "optional" : 1,
41013 "type" : "string"
41014 },
e2d681b3
TL
41015 "keys" : {
41016 "description" : "Keys for two factor auth (yubico).",
41017 "optional" : 1,
41018 "type" : "string"
41019 },
41020 "lastname" : {
41021 "optional" : 1,
41022 "type" : "string"
41023 },
e9cd3bd4
TL
41024 "tokens" : {
41025 "items" : {
41026 "properties" : {
41027 "comment" : {
41028 "optional" : 1,
41029 "type" : "string"
41030 },
41031 "expire" : {
41032 "default" : "same as user",
41033 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
41034 "minimum" : 0,
41035 "optional" : 1,
41036 "type" : "integer"
41037 },
41038 "privsep" : {
41039 "default" : 1,
41040 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
41041 "optional" : 1,
41042 "type" : "boolean"
41043 },
41044 "tokenid" : {
41045 "description" : "User-specific token identifier.",
41046 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
41047 "type" : "string"
41048 }
41049 },
41050 "type" : "object"
41051 },
41052 "optional" : 1,
41053 "type" : "array"
41054 },
44660702 41055 "userid" : {
e2d681b3
TL
41056 "description" : "User ID",
41057 "format" : "pve-userid",
41058 "maxLength" : 64,
7aacca6f
DM
41059 "type" : "string"
41060 }
41061 },
41062 "type" : "object"
41063 },
44660702
DM
41064 "links" : [
41065 {
41066 "href" : "{userid}",
41067 "rel" : "child"
41068 }
41069 ],
7aacca6f
DM
41070 "type" : "array"
41071 }
41072 },
41073 "POST" : {
e9cd3bd4 41074 "allowtoken" : 1,
44660702 41075 "description" : "Create new user.",
7aacca6f 41076 "method" : "POST",
44660702 41077 "name" : "create_user",
56122987 41078 "parameters" : {
7aacca6f
DM
41079 "additionalProperties" : 0,
41080 "properties" : {
44660702
DM
41081 "comment" : {
41082 "optional" : 1,
013dc89f
DM
41083 "type" : "string",
41084 "typetext" : "<string>"
7aacca6f 41085 },
44660702
DM
41086 "email" : {
41087 "format" : "email-opt",
41088 "optional" : 1,
013dc89f
DM
41089 "type" : "string",
41090 "typetext" : "<string>"
44660702
DM
41091 },
41092 "enable" : {
41093 "default" : 1,
e2d681b3 41094 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 41095 "optional" : 1,
013dc89f
DM
41096 "type" : "boolean",
41097 "typetext" : "<boolean>"
44660702
DM
41098 },
41099 "expire" : {
41100 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
41101 "minimum" : 0,
41102 "optional" : 1,
4bd7df8b 41103 "type" : "integer",
013dc89f 41104 "typetext" : "<integer> (0 - N)"
44660702
DM
41105 },
41106 "firstname" : {
41107 "optional" : 1,
013dc89f
DM
41108 "type" : "string",
41109 "typetext" : "<string>"
44660702
DM
41110 },
41111 "groups" : {
41112 "format" : "pve-groupid-list",
41113 "optional" : 1,
013dc89f
DM
41114 "type" : "string",
41115 "typetext" : "<string>"
44660702
DM
41116 },
41117 "keys" : {
41118 "description" : "Keys for two factor auth (yubico).",
41119 "optional" : 1,
013dc89f
DM
41120 "type" : "string",
41121 "typetext" : "<string>"
44660702
DM
41122 },
41123 "lastname" : {
7aacca6f 41124 "optional" : 1,
013dc89f
DM
41125 "type" : "string",
41126 "typetext" : "<string>"
44660702
DM
41127 },
41128 "password" : {
41129 "description" : "Initial password.",
41130 "maxLength" : 64,
41131 "minLength" : 5,
41132 "optional" : 1,
013dc89f
DM
41133 "type" : "string",
41134 "typetext" : "<string>"
44660702
DM
41135 },
41136 "userid" : {
41137 "description" : "User ID",
41138 "format" : "pve-userid",
41139 "maxLength" : 64,
013dc89f
DM
41140 "type" : "string",
41141 "typetext" : "<string>"
56122987 41142 }
7aacca6f 41143 }
56122987 41144 },
44660702
DM
41145 "permissions" : {
41146 "check" : [
41147 "and",
41148 [
41149 "userid-param",
41150 "Realm.AllocateUser"
41151 ],
41152 [
41153 "userid-group",
41154 [
41155 "User.Modify"
41156 ],
41157 "groups_param",
41158 1
41159 ]
41160 ],
41161 "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."
41162 },
41163 "protected" : 1,
41164 "returns" : {
41165 "type" : "null"
41166 }
56122987
DM
41167 }
41168 },
44660702
DM
41169 "leaf" : 0,
41170 "path" : "/access/users",
41171 "text" : "users"
41172 },
41173 {
56122987
DM
41174 "children" : [
41175 {
56122987
DM
41176 "info" : {
41177 "DELETE" : {
e9cd3bd4 41178 "allowtoken" : 1,
44660702
DM
41179 "description" : "Delete group.",
41180 "method" : "DELETE",
41181 "name" : "delete_group",
41182 "parameters" : {
41183 "additionalProperties" : 0,
41184 "properties" : {
41185 "groupid" : {
41186 "format" : "pve-groupid",
013dc89f
DM
41187 "type" : "string",
41188 "typetext" : "<string>"
44660702
DM
41189 }
41190 }
41191 },
7aacca6f
DM
41192 "permissions" : {
41193 "check" : [
41194 "perm",
41195 "/access/groups",
41196 [
41197 "Group.Allocate"
41198 ]
41199 ]
41200 },
7aacca6f 41201 "protected" : 1,
7aacca6f
DM
41202 "returns" : {
41203 "type" : "null"
44660702 41204 }
7aacca6f 41205 },
44660702 41206 "GET" : {
e9cd3bd4 41207 "allowtoken" : 1,
44660702
DM
41208 "description" : "Get group configuration.",
41209 "method" : "GET",
41210 "name" : "read_group",
41211 "parameters" : {
41212 "additionalProperties" : 0,
41213 "properties" : {
41214 "groupid" : {
41215 "format" : "pve-groupid",
013dc89f
DM
41216 "type" : "string",
41217 "typetext" : "<string>"
44660702
DM
41218 }
41219 }
56122987 41220 },
7aacca6f
DM
41221 "permissions" : {
41222 "check" : [
41223 "perm",
41224 "/access/groups",
41225 [
44660702 41226 "Sys.Audit",
7aacca6f 41227 "Group.Allocate"
44660702
DM
41228 ],
41229 "any",
41230 1
7aacca6f
DM
41231 ]
41232 },
7aacca6f 41233 "returns" : {
44660702 41234 "additionalProperties" : 0,
7aacca6f
DM
41235 "properties" : {
41236 "comment" : {
44660702
DM
41237 "optional" : 1,
41238 "type" : "string"
7aacca6f
DM
41239 },
41240 "members" : {
41241 "items" : {
e2d681b3
TL
41242 "description" : "User ID",
41243 "format" : "pve-userid",
41244 "maxLength" : 64,
7aacca6f
DM
41245 "type" : "string"
41246 },
41247 "type" : "array"
41248 }
41249 },
44660702
DM
41250 "type" : "object"
41251 }
41252 },
41253 "PUT" : {
e9cd3bd4 41254 "allowtoken" : 1,
44660702
DM
41255 "description" : "Update group data.",
41256 "method" : "PUT",
41257 "name" : "update_group",
56122987 41258 "parameters" : {
44660702 41259 "additionalProperties" : 0,
56122987 41260 "properties" : {
44660702
DM
41261 "comment" : {
41262 "optional" : 1,
013dc89f
DM
41263 "type" : "string",
41264 "typetext" : "<string>"
44660702 41265 },
56122987
DM
41266 "groupid" : {
41267 "format" : "pve-groupid",
013dc89f
DM
41268 "type" : "string",
41269 "typetext" : "<string>"
56122987 41270 }
44660702 41271 }
56122987 41272 },
56122987
DM
41273 "permissions" : {
41274 "check" : [
41275 "perm",
41276 "/access/groups",
41277 [
41278 "Group.Allocate"
44660702 41279 ]
56122987
DM
41280 ]
41281 },
44660702
DM
41282 "protected" : 1,
41283 "returns" : {
41284 "type" : "null"
41285 }
7aacca6f
DM
41286 }
41287 },
7aacca6f 41288 "leaf" : 1,
44660702
DM
41289 "path" : "/access/groups/{groupid}",
41290 "text" : "{groupid}"
41291 }
41292 ],
41293 "info" : {
41294 "GET" : {
e9cd3bd4 41295 "allowtoken" : 1,
44660702
DM
41296 "description" : "Group index.",
41297 "method" : "GET",
41298 "name" : "index",
41299 "parameters" : {
41300 "additionalProperties" : 0
41301 },
41302 "permissions" : {
41303 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
41304 "user" : "all"
41305 },
41306 "returns" : {
41307 "items" : {
41308 "properties" : {
e2d681b3
TL
41309 "comment" : {
41310 "optional" : 1,
41311 "type" : "string"
41312 },
44660702 41313 "groupid" : {
e2d681b3 41314 "format" : "pve-groupid",
44660702 41315 "type" : "string"
e9cd3bd4
TL
41316 },
41317 "users" : {
41318 "description" : "list of users which form this group",
41319 "format" : "pve-userid-list",
41320 "optional" : 1,
41321 "type" : "string"
44660702
DM
41322 }
41323 },
41324 "type" : "object"
41325 },
41326 "links" : [
41327 {
41328 "href" : "{groupid}",
41329 "rel" : "child"
41330 }
41331 ],
41332 "type" : "array"
41333 }
41334 },
41335 "POST" : {
e9cd3bd4 41336 "allowtoken" : 1,
44660702
DM
41337 "description" : "Create new group.",
41338 "method" : "POST",
41339 "name" : "create_group",
41340 "parameters" : {
41341 "additionalProperties" : 0,
41342 "properties" : {
41343 "comment" : {
41344 "optional" : 1,
013dc89f
DM
41345 "type" : "string",
41346 "typetext" : "<string>"
44660702
DM
41347 },
41348 "groupid" : {
41349 "format" : "pve-groupid",
013dc89f
DM
41350 "type" : "string",
41351 "typetext" : "<string>"
44660702
DM
41352 }
41353 }
41354 },
41355 "permissions" : {
41356 "check" : [
41357 "perm",
41358 "/access/groups",
41359 [
41360 "Group.Allocate"
41361 ]
41362 ]
41363 },
41364 "protected" : 1,
41365 "returns" : {
41366 "type" : "null"
41367 }
7aacca6f 41368 }
44660702 41369 },
7aacca6f 41370 "leaf" : 0,
44660702
DM
41371 "path" : "/access/groups",
41372 "text" : "groups"
7aacca6f
DM
41373 },
41374 {
41375 "children" : [
41376 {
7aacca6f 41377 "info" : {
7aacca6f 41378 "DELETE" : {
e9cd3bd4 41379 "allowtoken" : 1,
7aacca6f 41380 "description" : "Delete role.",
44660702 41381 "method" : "DELETE",
7aacca6f 41382 "name" : "delete_role",
56122987
DM
41383 "parameters" : {
41384 "additionalProperties" : 0,
41385 "properties" : {
7aacca6f
DM
41386 "roleid" : {
41387 "format" : "pve-roleid",
013dc89f
DM
41388 "type" : "string",
41389 "typetext" : "<string>"
56122987
DM
41390 }
41391 }
41392 },
56122987
DM
41393 "permissions" : {
41394 "check" : [
41395 "perm",
7aacca6f 41396 "/access",
56122987 41397 [
7aacca6f
DM
41398 "Sys.Modify"
41399 ]
56122987 41400 ]
44660702
DM
41401 },
41402 "protected" : 1,
41403 "returns" : {
41404 "type" : "null"
56122987
DM
41405 }
41406 },
44660702 41407 "GET" : {
e9cd3bd4 41408 "allowtoken" : 1,
44660702
DM
41409 "description" : "Get role configuration.",
41410 "method" : "GET",
41411 "name" : "read_role",
41412 "parameters" : {
41413 "additionalProperties" : 0,
41414 "properties" : {
41415 "roleid" : {
41416 "format" : "pve-roleid",
013dc89f
DM
41417 "type" : "string",
41418 "typetext" : "<string>"
44660702
DM
41419 }
41420 }
41421 },
7aacca6f 41422 "permissions" : {
44660702 41423 "user" : "all"
56122987 41424 },
e2d681b3
TL
41425 "returns" : {
41426 "additionalProperties" : 0,
41427 "properties" : {
41428 "Datastore.Allocate" : {
41429 "optional" : 1,
41430 "type" : "boolean"
41431 },
41432 "Datastore.AllocateSpace" : {
41433 "optional" : 1,
41434 "type" : "boolean"
41435 },
41436 "Datastore.AllocateTemplate" : {
41437 "optional" : 1,
41438 "type" : "boolean"
41439 },
41440 "Datastore.Audit" : {
41441 "optional" : 1,
41442 "type" : "boolean"
41443 },
41444 "Group.Allocate" : {
41445 "optional" : 1,
41446 "type" : "boolean"
41447 },
41448 "Permissions.Modify" : {
41449 "optional" : 1,
41450 "type" : "boolean"
41451 },
41452 "Pool.Allocate" : {
41453 "optional" : 1,
41454 "type" : "boolean"
41455 },
41456 "Realm.Allocate" : {
41457 "optional" : 1,
41458 "type" : "boolean"
41459 },
41460 "Realm.AllocateUser" : {
41461 "optional" : 1,
41462 "type" : "boolean"
41463 },
5c1699e5
TL
41464 "SDN.Allocate" : {
41465 "optional" : 1,
41466 "type" : "boolean"
41467 },
41468 "SDN.Audit" : {
41469 "optional" : 1,
41470 "type" : "boolean"
41471 },
e2d681b3
TL
41472 "Sys.Audit" : {
41473 "optional" : 1,
41474 "type" : "boolean"
41475 },
41476 "Sys.Console" : {
41477 "optional" : 1,
41478 "type" : "boolean"
41479 },
41480 "Sys.Modify" : {
41481 "optional" : 1,
41482 "type" : "boolean"
41483 },
41484 "Sys.PowerMgmt" : {
41485 "optional" : 1,
41486 "type" : "boolean"
41487 },
41488 "Sys.Syslog" : {
41489 "optional" : 1,
41490 "type" : "boolean"
41491 },
41492 "User.Modify" : {
41493 "optional" : 1,
41494 "type" : "boolean"
41495 },
41496 "VM.Allocate" : {
41497 "optional" : 1,
41498 "type" : "boolean"
41499 },
41500 "VM.Audit" : {
41501 "optional" : 1,
41502 "type" : "boolean"
41503 },
41504 "VM.Backup" : {
41505 "optional" : 1,
41506 "type" : "boolean"
41507 },
41508 "VM.Clone" : {
41509 "optional" : 1,
41510 "type" : "boolean"
41511 },
41512 "VM.Config.CDROM" : {
41513 "optional" : 1,
41514 "type" : "boolean"
41515 },
41516 "VM.Config.CPU" : {
41517 "optional" : 1,
41518 "type" : "boolean"
41519 },
ac70d7d1
TL
41520 "VM.Config.Cloudinit" : {
41521 "optional" : 1,
41522 "type" : "boolean"
41523 },
e2d681b3
TL
41524 "VM.Config.Disk" : {
41525 "optional" : 1,
41526 "type" : "boolean"
41527 },
41528 "VM.Config.HWType" : {
41529 "optional" : 1,
41530 "type" : "boolean"
41531 },
41532 "VM.Config.Memory" : {
41533 "optional" : 1,
41534 "type" : "boolean"
41535 },
41536 "VM.Config.Network" : {
41537 "optional" : 1,
41538 "type" : "boolean"
41539 },
41540 "VM.Config.Options" : {
41541 "optional" : 1,
41542 "type" : "boolean"
41543 },
41544 "VM.Console" : {
41545 "optional" : 1,
41546 "type" : "boolean"
41547 },
41548 "VM.Migrate" : {
41549 "optional" : 1,
41550 "type" : "boolean"
41551 },
41552 "VM.Monitor" : {
41553 "optional" : 1,
41554 "type" : "boolean"
41555 },
41556 "VM.PowerMgmt" : {
41557 "optional" : 1,
41558 "type" : "boolean"
41559 },
41560 "VM.Snapshot" : {
41561 "optional" : 1,
41562 "type" : "boolean"
41563 },
41564 "VM.Snapshot.Rollback" : {
41565 "optional" : 1,
41566 "type" : "boolean"
41567 }
41568 },
41569 "type" : "object"
41570 }
44660702
DM
41571 },
41572 "PUT" : {
e9cd3bd4 41573 "allowtoken" : 1,
e2d681b3 41574 "description" : "Update an existing role.",
44660702
DM
41575 "method" : "PUT",
41576 "name" : "update_role",
56122987
DM
41577 "parameters" : {
41578 "additionalProperties" : 0,
41579 "properties" : {
7aacca6f 41580 "append" : {
44660702 41581 "optional" : 1,
7aacca6f 41582 "requires" : "privs",
013dc89f
DM
41583 "type" : "boolean",
41584 "typetext" : "<boolean>"
7aacca6f
DM
41585 },
41586 "privs" : {
41587 "format" : "pve-priv-list",
e2d681b3 41588 "optional" : 1,
013dc89f
DM
41589 "type" : "string",
41590 "typetext" : "<string>"
44660702
DM
41591 },
41592 "roleid" : {
41593 "format" : "pve-roleid",
013dc89f
DM
41594 "type" : "string",
41595 "typetext" : "<string>"
56122987
DM
41596 }
41597 }
41598 },
44660702
DM
41599 "permissions" : {
41600 "check" : [
41601 "perm",
41602 "/access",
41603 [
41604 "Sys.Modify"
41605 ]
41606 ]
41607 },
56122987 41608 "protected" : 1,
7aacca6f
DM
41609 "returns" : {
41610 "type" : "null"
56122987
DM
41611 }
41612 }
41613 },
44660702 41614 "leaf" : 1,
7aacca6f 41615 "path" : "/access/roles/{roleid}",
44660702 41616 "text" : "{roleid}"
56122987
DM
41617 }
41618 ],
56122987 41619 "info" : {
7aacca6f 41620 "GET" : {
e9cd3bd4 41621 "allowtoken" : 1,
7aacca6f 41622 "description" : "Role index.",
44660702 41623 "method" : "GET",
7aacca6f 41624 "name" : "index",
56122987 41625 "parameters" : {
56122987
DM
41626 "additionalProperties" : 0
41627 },
7aacca6f
DM
41628 "permissions" : {
41629 "user" : "all"
41630 },
56122987 41631 "returns" : {
7aacca6f 41632 "items" : {
7aacca6f 41633 "properties" : {
e2d681b3
TL
41634 "privs" : {
41635 "format" : "pve-priv-list",
41636 "optional" : 1,
41637 "type" : "string"
41638 },
7aacca6f 41639 "roleid" : {
e2d681b3 41640 "format" : "pve-roleid",
7aacca6f 41641 "type" : "string"
e2d681b3
TL
41642 },
41643 "special" : {
41644 "default" : 0,
41645 "optional" : 1,
41646 "type" : "boolean"
7aacca6f 41647 }
44660702
DM
41648 },
41649 "type" : "object"
41650 },
41651 "links" : [
41652 {
41653 "href" : "{roleid}",
41654 "rel" : "child"
7aacca6f 41655 }
44660702
DM
41656 ],
41657 "type" : "array"
41658 }
7aacca6f
DM
41659 },
41660 "POST" : {
e9cd3bd4 41661 "allowtoken" : 1,
7aacca6f 41662 "description" : "Create new role.",
44660702
DM
41663 "method" : "POST",
41664 "name" : "create_role",
7aacca6f
DM
41665 "parameters" : {
41666 "additionalProperties" : 0,
41667 "properties" : {
7aacca6f
DM
41668 "privs" : {
41669 "format" : "pve-priv-list",
41670 "optional" : 1,
013dc89f
DM
41671 "type" : "string",
41672 "typetext" : "<string>"
44660702
DM
41673 },
41674 "roleid" : {
41675 "format" : "pve-roleid",
013dc89f
DM
41676 "type" : "string",
41677 "typetext" : "<string>"
7aacca6f
DM
41678 }
41679 }
41680 },
44660702
DM
41681 "permissions" : {
41682 "check" : [
41683 "perm",
41684 "/access",
41685 [
41686 "Sys.Modify"
41687 ]
41688 ]
41689 },
41690 "protected" : 1,
7aacca6f
DM
41691 "returns" : {
41692 "type" : "null"
41693 }
41694 }
41695 },
44660702 41696 "leaf" : 0,
7aacca6f 41697 "path" : "/access/roles",
44660702 41698 "text" : "roles"
7aacca6f
DM
41699 },
41700 {
41701 "info" : {
56122987 41702 "GET" : {
e9cd3bd4 41703 "allowtoken" : 1,
44660702
DM
41704 "description" : "Get Access Control List (ACLs).",
41705 "method" : "GET",
41706 "name" : "read_acl",
7aacca6f
DM
41707 "parameters" : {
41708 "additionalProperties" : 0
41709 },
44660702
DM
41710 "permissions" : {
41711 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
41712 "user" : "all"
41713 },
56122987 41714 "returns" : {
56122987 41715 "items" : {
44660702 41716 "additionalProperties" : 0,
56122987 41717 "properties" : {
7aacca6f 41718 "path" : {
e2d681b3 41719 "description" : "Access control path",
7aacca6f
DM
41720 "type" : "string"
41721 },
44660702 41722 "propagate" : {
e2d681b3
TL
41723 "default" : 1,
41724 "description" : "Allow to propagate (inherit) permissions.",
41725 "optional" : 1,
44660702
DM
41726 "type" : "boolean"
41727 },
41728 "roleid" : {
41729 "type" : "string"
41730 },
7aacca6f
DM
41731 "type" : {
41732 "enum" : [
41733 "user",
e9cd3bd4
TL
41734 "group",
41735 "token"
7aacca6f
DM
41736 ],
41737 "type" : "string"
41738 },
7aacca6f
DM
41739 "ugid" : {
41740 "type" : "string"
56122987 41741 }
7aacca6f 41742 },
44660702 41743 "type" : "object"
7aacca6f
DM
41744 },
41745 "type" : "array"
44660702 41746 }
7aacca6f
DM
41747 },
41748 "PUT" : {
e9cd3bd4 41749 "allowtoken" : 1,
44660702
DM
41750 "description" : "Update Access Control List (add or remove permissions).",
41751 "method" : "PUT",
7aacca6f
DM
41752 "name" : "update_acl",
41753 "parameters" : {
41754 "additionalProperties" : 0,
41755 "properties" : {
41756 "delete" : {
44660702 41757 "description" : "Remove permissions (instead of adding it).",
7aacca6f 41758 "optional" : 1,
013dc89f
DM
41759 "type" : "boolean",
41760 "typetext" : "<boolean>"
7aacca6f 41761 },
44660702
DM
41762 "groups" : {
41763 "description" : "List of groups.",
41764 "format" : "pve-groupid-list",
7aacca6f 41765 "optional" : 1,
013dc89f
DM
41766 "type" : "string",
41767 "typetext" : "<string>"
7aacca6f
DM
41768 },
41769 "path" : {
41770 "description" : "Access control path",
013dc89f
DM
41771 "type" : "string",
41772 "typetext" : "<string>"
7aacca6f 41773 },
7aacca6f 41774 "propagate" : {
44660702 41775 "default" : 1,
7aacca6f 41776 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 41777 "optional" : 1,
013dc89f
DM
41778 "type" : "boolean",
41779 "typetext" : "<boolean>"
7aacca6f 41780 },
44660702
DM
41781 "roles" : {
41782 "description" : "List of roles.",
41783 "format" : "pve-roleid-list",
013dc89f
DM
41784 "type" : "string",
41785 "typetext" : "<string>"
44660702 41786 },
e9cd3bd4
TL
41787 "tokens" : {
41788 "description" : "List of API tokens.",
41789 "format" : "pve-tokenid-list",
41790 "optional" : 1,
41791 "type" : "string",
41792 "typetext" : "<string>"
41793 },
44660702
DM
41794 "users" : {
41795 "description" : "List of users.",
41796 "format" : "pve-userid-list",
7aacca6f 41797 "optional" : 1,
013dc89f
DM
41798 "type" : "string",
41799 "typetext" : "<string>"
56122987
DM
41800 }
41801 }
41802 },
56122987 41803 "permissions" : {
7aacca6f
DM
41804 "check" : [
41805 "perm-modify",
41806 "{path}"
41807 ]
41808 },
7aacca6f
DM
41809 "protected" : 1,
41810 "returns" : {
41811 "type" : "null"
44660702 41812 }
56122987
DM
41813 }
41814 },
7aacca6f 41815 "leaf" : 1,
44660702
DM
41816 "path" : "/access/acl",
41817 "text" : "acl"
7aacca6f
DM
41818 },
41819 {
56122987
DM
41820 "children" : [
41821 {
c5aa7e14
TL
41822 "children" : [
41823 {
41824 "info" : {
41825 "POST" : {
41826 "allowtoken" : 1,
41827 "description" : "Syncs users and/or groups from the configured LDAP to user.cfg. NOTE: Synced groups will have the name 'name-$realm', so make sure those groups do not exist to prevent overwriting.",
41828 "method" : "POST",
41829 "name" : "sync",
41830 "parameters" : {
41831 "additionalProperties" : 0,
41832 "properties" : {
41833 "dry-run" : {
41834 "default" : 0,
41835 "description" : "If set, does not write anything.",
41836 "optional" : 1,
41837 "type" : "boolean",
41838 "typetext" : "<boolean>"
41839 },
41840 "enable-new" : {
41841 "default" : "1",
41842 "description" : "Enable newly synced users immediately.",
41843 "optional" : "1",
41844 "type" : "boolean",
41845 "typetext" : "<boolean>"
41846 },
41847 "full" : {
41848 "description" : "If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync. Otherwise only syncs information which is not already present, and does not deletes or modifies anything else.",
41849 "optional" : "1",
41850 "type" : "boolean",
41851 "typetext" : "<boolean>"
41852 },
41853 "purge" : {
41854 "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
41855 "optional" : "1",
41856 "type" : "boolean",
41857 "typetext" : "<boolean>"
41858 },
41859 "realm" : {
41860 "description" : "Authentication domain ID",
41861 "format" : "pve-realm",
41862 "maxLength" : 32,
41863 "type" : "string",
41864 "typetext" : "<string>"
41865 },
41866 "scope" : {
41867 "description" : "Select what to sync.",
41868 "enum" : [
41869 "users",
41870 "groups",
41871 "both"
41872 ],
41873 "optional" : "1",
41874 "type" : "string"
41875 }
41876 }
41877 },
41878 "permissions" : {
41879 "check" : [
41880 "and",
41881 [
41882 "userid-param",
41883 "Realm.AllocateUser"
41884 ],
41885 [
41886 "userid-group",
41887 [
41888 "User.Modify"
41889 ]
41890 ]
41891 ],
41892 "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'."
41893 },
41894 "protected" : 1,
41895 "returns" : {
41896 "description" : "Worker Task-UPID",
41897 "type" : "string"
41898 }
41899 }
41900 },
41901 "leaf" : 1,
41902 "path" : "/access/domains/{realm}/sync",
41903 "text" : "sync"
41904 }
41905 ],
56122987 41906 "info" : {
44660702 41907 "DELETE" : {
e9cd3bd4 41908 "allowtoken" : 1,
44660702
DM
41909 "description" : "Delete an authentication server.",
41910 "method" : "DELETE",
41911 "name" : "delete",
41912 "parameters" : {
41913 "additionalProperties" : 0,
41914 "properties" : {
41915 "realm" : {
41916 "description" : "Authentication domain ID",
41917 "format" : "pve-realm",
41918 "maxLength" : 32,
013dc89f
DM
41919 "type" : "string",
41920 "typetext" : "<string>"
56122987 41921 }
44660702 41922 }
56122987 41923 },
56122987
DM
41924 "permissions" : {
41925 "check" : [
41926 "perm",
7aacca6f 41927 "/access/realm",
56122987 41928 [
7aacca6f 41929 "Realm.Allocate"
56122987
DM
41930 ]
41931 ]
41932 },
7aacca6f 41933 "protected" : 1,
7aacca6f
DM
41934 "returns" : {
41935 "type" : "null"
44660702 41936 }
7aacca6f 41937 },
44660702 41938 "GET" : {
e9cd3bd4 41939 "allowtoken" : 1,
44660702
DM
41940 "description" : "Get auth server configuration.",
41941 "method" : "GET",
41942 "name" : "read",
56122987 41943 "parameters" : {
44660702 41944 "additionalProperties" : 0,
56122987 41945 "properties" : {
7aacca6f 41946 "realm" : {
44660702 41947 "description" : "Authentication domain ID",
7aacca6f
DM
41948 "format" : "pve-realm",
41949 "maxLength" : 32,
013dc89f
DM
41950 "type" : "string",
41951 "typetext" : "<string>"
56122987 41952 }
44660702 41953 }
7aacca6f 41954 },
7aacca6f
DM
41955 "permissions" : {
41956 "check" : [
41957 "perm",
41958 "/access/realm",
41959 [
44660702
DM
41960 "Realm.Allocate",
41961 "Sys.Audit"
41962 ],
41963 "any",
41964 1
7aacca6f 41965 ]
44660702
DM
41966 },
41967 "returns" : {}
7aacca6f 41968 },
44660702 41969 "PUT" : {
e9cd3bd4 41970 "allowtoken" : 1,
44660702
DM
41971 "description" : "Update authentication server settings.",
41972 "method" : "PUT",
41973 "name" : "update",
7aacca6f 41974 "parameters" : {
44660702 41975 "additionalProperties" : 0,
7aacca6f 41976 "properties" : {
44660702
DM
41977 "base_dn" : {
41978 "description" : "LDAP base domain name",
41979 "maxLength" : 256,
41980 "optional" : 1,
41981 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41982 "type" : "string"
41983 },
4bd7df8b
DM
41984 "bind_dn" : {
41985 "description" : "LDAP bind domain name",
41986 "maxLength" : 256,
41987 "optional" : 1,
41988 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
41989 "type" : "string"
41990 },
2489d6df
WB
41991 "capath" : {
41992 "default" : "/etc/ssl/certs",
41993 "description" : "Path to the CA certificate store",
41994 "optional" : 1,
41995 "type" : "string",
41996 "typetext" : "<string>"
41997 },
4772952b
TL
41998 "case-sensitive" : {
41999 "default" : 1,
42000 "description" : "username is case-sensitive",
42001 "optional" : 1,
42002 "type" : "boolean",
42003 "typetext" : "<boolean>"
42004 },
2489d6df
WB
42005 "cert" : {
42006 "description" : "Path to the client certificate",
42007 "optional" : 1,
42008 "type" : "string",
42009 "typetext" : "<string>"
42010 },
42011 "certkey" : {
42012 "description" : "Path to the client certificate key",
42013 "optional" : 1,
42014 "type" : "string",
42015 "typetext" : "<string>"
42016 },
44660702
DM
42017 "comment" : {
42018 "description" : "Description.",
42019 "maxLength" : 4096,
42020 "optional" : 1,
013dc89f
DM
42021 "type" : "string",
42022 "typetext" : "<string>"
44660702
DM
42023 },
42024 "default" : {
42025 "description" : "Use this as default realm",
42026 "optional" : 1,
013dc89f
DM
42027 "type" : "boolean",
42028 "typetext" : "<boolean>"
44660702
DM
42029 },
42030 "delete" : {
42031 "description" : "A list of settings you want to delete.",
42032 "format" : "pve-configid-list",
42033 "maxLength" : 4096,
42034 "optional" : 1,
013dc89f
DM
42035 "type" : "string",
42036 "typetext" : "<string>"
44660702
DM
42037 },
42038 "digest" : {
42039 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
42040 "maxLength" : 40,
42041 "optional" : 1,
013dc89f
DM
42042 "type" : "string",
42043 "typetext" : "<string>"
44660702
DM
42044 },
42045 "domain" : {
42046 "description" : "AD domain name",
42047 "maxLength" : 256,
42048 "optional" : 1,
42049 "pattern" : "\\S+",
42050 "type" : "string"
42051 },
c5aa7e14
TL
42052 "filter" : {
42053 "description" : "LDAP filter for user sync.",
42054 "maxLength" : 2048,
42055 "optional" : 1,
42056 "type" : "string",
42057 "typetext" : "<string>"
42058 },
42059 "group_classes" : {
42060 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
42061 "description" : "The objectclasses for groups.",
42062 "format" : "ldap-simple-attr-list",
42063 "optional" : 1,
42064 "type" : "string",
42065 "typetext" : "<string>"
42066 },
42067 "group_dn" : {
42068 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
42069 "maxLength" : 256,
42070 "optional" : 1,
42071 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
42072 "type" : "string"
42073 },
42074 "group_filter" : {
42075 "description" : "LDAP filter for group sync.",
42076 "maxLength" : 2048,
42077 "optional" : 1,
42078 "type" : "string",
42079 "typetext" : "<string>"
42080 },
42081 "group_name_attr" : {
42082 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
42083 "format" : "ldap-simple-attr",
42084 "maxLength" : 256,
42085 "optional" : 1,
42086 "type" : "string",
42087 "typetext" : "<string>"
42088 },
42089 "mode" : {
42090 "default" : "ldap",
42091 "description" : "LDAP protocol mode.",
42092 "enum" : [
42093 "ldap",
42094 "ldaps",
42095 "ldap+starttls"
42096 ],
42097 "optional" : 1,
42098 "type" : "string"
42099 },
42100 "password" : {
42101 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
42102 "optional" : 1,
42103 "type" : "string",
42104 "typetext" : "<string>"
42105 },
44660702
DM
42106 "port" : {
42107 "description" : "Server port.",
42108 "maximum" : 65535,
42109 "minimum" : 1,
42110 "optional" : 1,
4bd7df8b 42111 "type" : "integer",
013dc89f 42112 "typetext" : "<integer> (1 - 65535)"
44660702 42113 },
7aacca6f 42114 "realm" : {
7aacca6f
DM
42115 "description" : "Authentication domain ID",
42116 "format" : "pve-realm",
44660702 42117 "maxLength" : 32,
013dc89f
DM
42118 "type" : "string",
42119 "typetext" : "<string>"
44660702
DM
42120 },
42121 "secure" : {
c5aa7e14 42122 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
44660702 42123 "optional" : 1,
013dc89f
DM
42124 "type" : "boolean",
42125 "typetext" : "<boolean>"
44660702
DM
42126 },
42127 "server1" : {
42128 "description" : "Server IP address (or DNS name)",
42129 "format" : "address",
42130 "maxLength" : 256,
42131 "optional" : 1,
013dc89f
DM
42132 "type" : "string",
42133 "typetext" : "<string>"
44660702
DM
42134 },
42135 "server2" : {
42136 "description" : "Fallback Server IP address (or DNS name)",
42137 "format" : "address",
42138 "maxLength" : 256,
42139 "optional" : 1,
013dc89f
DM
42140 "type" : "string",
42141 "typetext" : "<string>"
44660702 42142 },
1c532546
TL
42143 "sslversion" : {
42144 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
42145 "enum" : [
42146 "tlsv1",
42147 "tlsv1_1",
42148 "tlsv1_2",
42149 "tlsv1_3"
42150 ],
42151 "optional" : 1,
42152 "type" : "string"
42153 },
c5aa7e14
TL
42154 "sync-defaults-options" : {
42155 "description" : "The default options for behavior of synchronizations.",
42156 "format" : "realm-sync-options",
42157 "optional" : 1,
42158 "type" : "string",
42159 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
42160 },
42161 "sync_attributes" : {
42162 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
42163 "optional" : 1,
42164 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
42165 "type" : "string"
42166 },
44660702
DM
42167 "tfa" : {
42168 "description" : "Use Two-factor authentication.",
42169 "format" : "pve-tfa-config",
42170 "maxLength" : 128,
42171 "optional" : 1,
013dc89f 42172 "type" : "string",
95895385 42173 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
42174 },
42175 "user_attr" : {
42176 "description" : "LDAP user attribute name",
42177 "maxLength" : 256,
42178 "optional" : 1,
42179 "pattern" : "\\S{2,}",
42180 "type" : "string"
2489d6df 42181 },
c5aa7e14
TL
42182 "user_classes" : {
42183 "default" : "inetorgperson, posixaccount, person, user",
42184 "description" : "The objectclasses for users.",
42185 "format" : "ldap-simple-attr-list",
42186 "optional" : 1,
42187 "type" : "string",
42188 "typetext" : "<string>"
42189 },
2489d6df
WB
42190 "verify" : {
42191 "default" : 0,
42192 "description" : "Verify the server's SSL certificate",
42193 "optional" : 1,
42194 "type" : "boolean",
42195 "typetext" : "<boolean>"
7aacca6f 42196 }
56122987 42197 },
44660702 42198 "type" : "object"
56122987 42199 },
7aacca6f
DM
42200 "permissions" : {
42201 "check" : [
42202 "perm",
42203 "/access/realm",
42204 [
44660702
DM
42205 "Realm.Allocate"
42206 ]
7aacca6f
DM
42207 ]
42208 },
44660702
DM
42209 "protected" : 1,
42210 "returns" : {
42211 "type" : "null"
42212 }
56122987 42213 }
44660702 42214 },
c5aa7e14 42215 "leaf" : 0,
44660702
DM
42216 "path" : "/access/domains/{realm}",
42217 "text" : "{realm}"
56122987 42218 }
7aacca6f 42219 ],
56122987
DM
42220 "info" : {
42221 "GET" : {
e9cd3bd4 42222 "allowtoken" : 1,
44660702
DM
42223 "description" : "Authentication domain index.",
42224 "method" : "GET",
42225 "name" : "index",
42226 "parameters" : {
42227 "additionalProperties" : 0
42228 },
42229 "permissions" : {
42230 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
42231 "user" : "world"
42232 },
56122987 42233 "returns" : {
56122987
DM
42234 "items" : {
42235 "properties" : {
7aacca6f 42236 "comment" : {
52e44c50 42237 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
42238 "optional" : 1,
42239 "type" : "string"
42240 },
56122987
DM
42241 "realm" : {
42242 "type" : "string"
42243 },
42244 "tfa" : {
7aacca6f 42245 "description" : "Two-factor authentication provider.",
56122987
DM
42246 "enum" : [
42247 "yubico",
42248 "oath"
42249 ],
44660702
DM
42250 "optional" : 1,
42251 "type" : "string"
c5aa7e14
TL
42252 },
42253 "type" : {
42254 "type" : "string"
56122987
DM
42255 }
42256 },
42257 "type" : "object"
44660702
DM
42258 },
42259 "links" : [
42260 {
42261 "href" : "{realm}",
42262 "rel" : "child"
42263 }
42264 ],
42265 "type" : "array"
42266 }
56122987
DM
42267 },
42268 "POST" : {
e9cd3bd4 42269 "allowtoken" : 1,
7aacca6f 42270 "description" : "Add an authentication server.",
44660702 42271 "method" : "POST",
7aacca6f 42272 "name" : "create",
56122987 42273 "parameters" : {
44660702 42274 "additionalProperties" : 0,
56122987 42275 "properties" : {
44660702
DM
42276 "base_dn" : {
42277 "description" : "LDAP base domain name",
56122987 42278 "maxLength" : 256,
44660702
DM
42279 "optional" : 1,
42280 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 42281 "type" : "string"
56122987 42282 },
4bd7df8b
DM
42283 "bind_dn" : {
42284 "description" : "LDAP bind domain name",
42285 "maxLength" : 256,
42286 "optional" : 1,
42287 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
42288 "type" : "string"
42289 },
2489d6df
WB
42290 "capath" : {
42291 "default" : "/etc/ssl/certs",
42292 "description" : "Path to the CA certificate store",
42293 "optional" : 1,
42294 "type" : "string",
42295 "typetext" : "<string>"
42296 },
4772952b
TL
42297 "case-sensitive" : {
42298 "default" : 1,
42299 "description" : "username is case-sensitive",
42300 "optional" : 1,
42301 "type" : "boolean",
42302 "typetext" : "<boolean>"
42303 },
2489d6df
WB
42304 "cert" : {
42305 "description" : "Path to the client certificate",
42306 "optional" : 1,
42307 "type" : "string",
42308 "typetext" : "<string>"
42309 },
42310 "certkey" : {
42311 "description" : "Path to the client certificate key",
42312 "optional" : 1,
42313 "type" : "string",
42314 "typetext" : "<string>"
42315 },
44660702
DM
42316 "comment" : {
42317 "description" : "Description.",
42318 "maxLength" : 4096,
56122987 42319 "optional" : 1,
013dc89f
DM
42320 "type" : "string",
42321 "typetext" : "<string>"
56122987 42322 },
44660702
DM
42323 "default" : {
42324 "description" : "Use this as default realm",
7aacca6f 42325 "optional" : 1,
013dc89f
DM
42326 "type" : "boolean",
42327 "typetext" : "<boolean>"
56122987 42328 },
44660702
DM
42329 "domain" : {
42330 "description" : "AD domain name",
42331 "maxLength" : 256,
7aacca6f 42332 "optional" : 1,
44660702
DM
42333 "pattern" : "\\S+",
42334 "type" : "string"
56122987 42335 },
c5aa7e14
TL
42336 "filter" : {
42337 "description" : "LDAP filter for user sync.",
42338 "maxLength" : 2048,
42339 "optional" : 1,
42340 "type" : "string",
42341 "typetext" : "<string>"
42342 },
42343 "group_classes" : {
42344 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
42345 "description" : "The objectclasses for groups.",
42346 "format" : "ldap-simple-attr-list",
42347 "optional" : 1,
42348 "type" : "string",
42349 "typetext" : "<string>"
42350 },
42351 "group_dn" : {
42352 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
42353 "maxLength" : 256,
42354 "optional" : 1,
42355 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
42356 "type" : "string"
42357 },
42358 "group_filter" : {
42359 "description" : "LDAP filter for group sync.",
42360 "maxLength" : 2048,
42361 "optional" : 1,
42362 "type" : "string",
42363 "typetext" : "<string>"
42364 },
42365 "group_name_attr" : {
42366 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
42367 "format" : "ldap-simple-attr",
42368 "maxLength" : 256,
42369 "optional" : 1,
42370 "type" : "string",
42371 "typetext" : "<string>"
42372 },
42373 "mode" : {
42374 "default" : "ldap",
42375 "description" : "LDAP protocol mode.",
42376 "enum" : [
42377 "ldap",
42378 "ldaps",
42379 "ldap+starttls"
42380 ],
42381 "optional" : 1,
42382 "type" : "string"
42383 },
42384 "password" : {
42385 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
42386 "optional" : 1,
42387 "type" : "string",
42388 "typetext" : "<string>"
42389 },
7aacca6f 42390 "port" : {
44660702 42391 "description" : "Server port.",
7aacca6f 42392 "maximum" : 65535,
44660702 42393 "minimum" : 1,
7aacca6f 42394 "optional" : 1,
4bd7df8b 42395 "type" : "integer",
013dc89f 42396 "typetext" : "<integer> (1 - 65535)"
56122987 42397 },
44660702
DM
42398 "realm" : {
42399 "description" : "Authentication domain ID",
42400 "format" : "pve-realm",
42401 "maxLength" : 32,
013dc89f
DM
42402 "type" : "string",
42403 "typetext" : "<string>"
44660702
DM
42404 },
42405 "secure" : {
c5aa7e14 42406 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
7aacca6f 42407 "optional" : 1,
013dc89f
DM
42408 "type" : "boolean",
42409 "typetext" : "<boolean>"
56122987 42410 },
44660702
DM
42411 "server1" : {
42412 "description" : "Server IP address (or DNS name)",
42413 "format" : "address",
42414 "maxLength" : 256,
42415 "optional" : 1,
013dc89f
DM
42416 "type" : "string",
42417 "typetext" : "<string>"
56122987 42418 },
44660702
DM
42419 "server2" : {
42420 "description" : "Fallback Server IP address (or DNS name)",
42421 "format" : "address",
7aacca6f 42422 "maxLength" : 256,
7aacca6f 42423 "optional" : 1,
013dc89f
DM
42424 "type" : "string",
42425 "typetext" : "<string>"
7aacca6f 42426 },
1c532546
TL
42427 "sslversion" : {
42428 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
42429 "enum" : [
42430 "tlsv1",
42431 "tlsv1_1",
42432 "tlsv1_2",
42433 "tlsv1_3"
42434 ],
42435 "optional" : 1,
42436 "type" : "string"
42437 },
c5aa7e14
TL
42438 "sync-defaults-options" : {
42439 "description" : "The default options for behavior of synchronizations.",
42440 "format" : "realm-sync-options",
42441 "optional" : 1,
42442 "type" : "string",
42443 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
42444 },
42445 "sync_attributes" : {
42446 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
42447 "optional" : 1,
42448 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
42449 "type" : "string"
42450 },
44660702
DM
42451 "tfa" : {
42452 "description" : "Use Two-factor authentication.",
42453 "format" : "pve-tfa-config",
42454 "maxLength" : 128,
42455 "optional" : 1,
013dc89f 42456 "type" : "string",
95895385 42457 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
42458 },
42459 "type" : {
42460 "description" : "Realm type.",
42461 "enum" : [
42462 "ad",
42463 "ldap",
42464 "pam",
42465 "pve"
42466 ],
42467 "type" : "string"
42468 },
42469 "user_attr" : {
42470 "description" : "LDAP user attribute name",
7aacca6f 42471 "maxLength" : 256,
7aacca6f 42472 "optional" : 1,
44660702
DM
42473 "pattern" : "\\S{2,}",
42474 "type" : "string"
2489d6df 42475 },
c5aa7e14
TL
42476 "user_classes" : {
42477 "default" : "inetorgperson, posixaccount, person, user",
42478 "description" : "The objectclasses for users.",
42479 "format" : "ldap-simple-attr-list",
42480 "optional" : 1,
42481 "type" : "string",
42482 "typetext" : "<string>"
42483 },
2489d6df
WB
42484 "verify" : {
42485 "default" : 0,
42486 "description" : "Verify the server's SSL certificate",
42487 "optional" : 1,
42488 "type" : "boolean",
42489 "typetext" : "<boolean>"
7aacca6f
DM
42490 }
42491 },
7aacca6f 42492 "type" : "object"
56122987 42493 },
7aacca6f
DM
42494 "permissions" : {
42495 "check" : [
42496 "perm",
42497 "/access/realm",
42498 [
42499 "Realm.Allocate"
42500 ]
42501 ]
44660702
DM
42502 },
42503 "protected" : 1,
42504 "returns" : {
42505 "type" : "null"
7aacca6f 42506 }
56122987 42507 }
7aacca6f 42508 },
44660702 42509 "leaf" : 0,
56122987 42510 "path" : "/access/domains",
44660702 42511 "text" : "domains"
56122987
DM
42512 },
42513 {
56122987 42514 "info" : {
44660702 42515 "GET" : {
e9cd3bd4 42516 "allowtoken" : 1,
2489d6df 42517 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
42518 "method" : "GET",
42519 "name" : "get_ticket",
42520 "parameters" : {
42521 "additionalProperties" : 0
42522 },
42523 "permissions" : {
42524 "user" : "world"
42525 },
42526 "returns" : {
42527 "type" : "null"
42528 }
42529 },
56122987 42530 "POST" : {
e9cd3bd4 42531 "allowtoken" : 0,
44660702 42532 "description" : "Create or verify authentication ticket.",
56122987 42533 "method" : "POST",
44660702
DM
42534 "name" : "create_ticket",
42535 "parameters" : {
42536 "additionalProperties" : 0,
56122987 42537 "properties" : {
44660702
DM
42538 "otp" : {
42539 "description" : "One-time password for Two-factor authentication.",
7aacca6f 42540 "optional" : 1,
013dc89f
DM
42541 "type" : "string",
42542 "typetext" : "<string>"
56122987 42543 },
7aacca6f
DM
42544 "password" : {
42545 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
42546 "type" : "string",
42547 "typetext" : "<string>"
7aacca6f 42548 },
44660702
DM
42549 "path" : {
42550 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 42551 "maxLength" : 64,
56122987 42552 "optional" : 1,
56122987 42553 "requires" : "privs",
013dc89f
DM
42554 "type" : "string",
42555 "typetext" : "<string>"
44660702
DM
42556 },
42557 "privs" : {
7aacca6f 42558 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
42559 "format" : "pve-priv-list",
42560 "maxLength" : 64,
56122987 42561 "optional" : 1,
44660702 42562 "requires" : "path",
013dc89f
DM
42563 "type" : "string",
42564 "typetext" : "<string>"
56122987
DM
42565 },
42566 "realm" : {
56122987 42567 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 42568 "format" : "pve-realm",
7aacca6f 42569 "maxLength" : 32,
44660702 42570 "optional" : 1,
013dc89f
DM
42571 "type" : "string",
42572 "typetext" : "<string>"
56122987
DM
42573 },
42574 "username" : {
42575 "description" : "User name",
44660702 42576 "maxLength" : 64,
013dc89f
DM
42577 "type" : "string",
42578 "typetext" : "<string>"
56122987 42579 }
44660702 42580 }
7aacca6f 42581 },
56122987 42582 "permissions" : {
44660702 42583 "description" : "You need to pass valid credientials.",
56122987
DM
42584 "user" : "world"
42585 },
44660702 42586 "protected" : 1,
7aacca6f 42587 "returns" : {
56122987 42588 "properties" : {
44660702
DM
42589 "CSRFPreventionToken" : {
42590 "optional" : 1,
42591 "type" : "string"
56122987 42592 },
e2d681b3
TL
42593 "clustername" : {
42594 "optional" : 1,
42595 "type" : "string"
42596 },
44660702
DM
42597 "ticket" : {
42598 "optional" : 1,
42599 "type" : "string"
42600 },
42601 "username" : {
56122987
DM
42602 "type" : "string"
42603 }
42604 },
44660702 42605 "type" : "object"
7aacca6f 42606 }
7aacca6f
DM
42607 }
42608 },
44660702
DM
42609 "leaf" : 1,
42610 "path" : "/access/ticket",
42611 "text" : "ticket"
7aacca6f 42612 },
56122987 42613 {
56122987 42614 "info" : {
7aacca6f 42615 "PUT" : {
e9cd3bd4 42616 "allowtoken" : 0,
44660702 42617 "description" : "Change user password.",
7aacca6f 42618 "method" : "PUT",
e2d681b3 42619 "name" : "change_password",
56122987
DM
42620 "parameters" : {
42621 "additionalProperties" : 0,
42622 "properties" : {
44660702
DM
42623 "password" : {
42624 "description" : "The new password.",
42625 "maxLength" : 64,
42626 "minLength" : 5,
013dc89f
DM
42627 "type" : "string",
42628 "typetext" : "<string>"
7aacca6f 42629 },
44660702
DM
42630 "userid" : {
42631 "description" : "User ID",
42632 "format" : "pve-userid",
42633 "maxLength" : 64,
013dc89f
DM
42634 "type" : "string",
42635 "typetext" : "<string>"
56122987 42636 }
7aacca6f 42637 }
56122987
DM
42638 },
42639 "permissions" : {
42640 "check" : [
44660702 42641 "or",
56122987 42642 [
44660702
DM
42643 "userid-param",
42644 "self"
42645 ],
42646 [
42647 "and",
42648 [
42649 "userid-param",
42650 "Realm.AllocateUser"
42651 ],
42652 [
42653 "userid-group",
42654 [
42655 "User.Modify"
42656 ]
42657 ]
56122987 42658 ]
7aacca6f 42659 ],
44660702 42660 "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 42661 },
44660702 42662 "protected" : 1,
7aacca6f
DM
42663 "returns" : {
42664 "type" : "null"
44660702
DM
42665 }
42666 }
42667 },
42668 "leaf" : 1,
42669 "path" : "/access/password",
42670 "text" : "password"
95895385
TL
42671 },
42672 {
42673 "info" : {
42674 "POST" : {
e9cd3bd4 42675 "allowtoken" : 0,
95895385
TL
42676 "description" : "Finish a u2f challenge.",
42677 "method" : "POST",
42678 "name" : "verify_tfa",
42679 "parameters" : {
42680 "additionalProperties" : 0,
42681 "properties" : {
42682 "response" : {
42683 "description" : "The response to the current authentication challenge.",
42684 "type" : "string",
42685 "typetext" : "<string>"
42686 }
42687 }
42688 },
42689 "permissions" : {
42690 "user" : "all"
42691 },
42692 "protected" : 1,
42693 "returns" : {
42694 "properties" : {
42695 "ticket" : {
42696 "type" : "string"
42697 }
42698 },
42699 "type" : "object"
42700 }
42701 },
42702 "PUT" : {
e9cd3bd4 42703 "allowtoken" : 0,
95895385
TL
42704 "description" : "Change user u2f authentication.",
42705 "method" : "PUT",
42706 "name" : "change_tfa",
42707 "parameters" : {
42708 "additionalProperties" : 0,
42709 "properties" : {
42710 "action" : {
42711 "description" : "The action to perform",
42712 "enum" : [
42713 "delete",
42714 "new",
42715 "confirm"
42716 ],
42717 "type" : "string"
42718 },
42719 "config" : {
42720 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
42721 "format" : "pve-tfa-config",
42722 "maxLength" : 128,
42723 "optional" : 1,
42724 "type" : "string",
42725 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
42726 },
42727 "key" : {
42728 "description" : "When adding TOTP, the shared secret value.",
1c532546 42729 "format" : "pve-tfa-secret",
95895385 42730 "optional" : 1,
1c532546
TL
42731 "type" : "string",
42732 "typetext" : "<string>"
95895385
TL
42733 },
42734 "password" : {
42735 "description" : "The current password.",
42736 "maxLength" : 64,
42737 "minLength" : 5,
42738 "optional" : 1,
42739 "type" : "string",
42740 "typetext" : "<string>"
42741 },
42742 "response" : {
42743 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
42744 "optional" : 1,
42745 "type" : "string",
42746 "typetext" : "<string>"
42747 },
42748 "userid" : {
42749 "description" : "User ID",
42750 "format" : "pve-userid",
42751 "maxLength" : 64,
42752 "type" : "string",
42753 "typetext" : "<string>"
42754 }
42755 }
42756 },
42757 "permissions" : {
42758 "check" : [
42759 "or",
42760 [
42761 "userid-param",
42762 "self"
42763 ],
42764 [
42765 "and",
42766 [
42767 "userid-param",
42768 "Realm.AllocateUser"
42769 ],
42770 [
42771 "userid-group",
42772 [
42773 "User.Modify"
42774 ]
42775 ]
42776 ]
42777 ],
42778 "description" : "A user can change their own u2f or totp token."
42779 },
42780 "protected" : 1,
42781 "returns" : {
42782 "type" : "object"
42783 }
42784 }
42785 },
42786 "leaf" : 1,
42787 "path" : "/access/tfa",
42788 "text" : "tfa"
e9cd3bd4
TL
42789 },
42790 {
42791 "info" : {
42792 "GET" : {
42793 "allowtoken" : 1,
42794 "description" : "Retrieve effective permissions of given user/token.",
42795 "method" : "GET",
42796 "name" : "permissions",
42797 "parameters" : {
42798 "additionalProperties" : 0,
42799 "properties" : {
42800 "path" : {
42801 "description" : "Only dump this specific path, not the whole tree.",
42802 "optional" : 1,
42803 "type" : "string",
42804 "typetext" : "<string>"
42805 },
42806 "userid" : {
42807 "description" : "User ID or full API token ID",
42808 "optional" : 1,
42809 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
42810 "type" : "string"
42811 }
42812 }
42813 },
42814 "permissions" : {
42815 "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.",
42816 "user" : "all"
42817 },
42818 "returns" : {
42819 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
42820 "type" : "object"
42821 }
42822 }
42823 },
42824 "leaf" : 1,
42825 "path" : "/access/permissions",
42826 "text" : "permissions"
44660702
DM
42827 }
42828 ],
42829 "info" : {
42830 "GET" : {
e9cd3bd4 42831 "allowtoken" : 1,
44660702
DM
42832 "description" : "Directory index.",
42833 "method" : "GET",
42834 "name" : "index",
42835 "parameters" : {
42836 "additionalProperties" : 0
42837 },
42838 "permissions" : {
42839 "user" : "all"
42840 },
42841 "returns" : {
42842 "items" : {
42843 "properties" : {
42844 "subdir" : {
42845 "type" : "string"
42846 }
7aacca6f 42847 },
44660702
DM
42848 "type" : "object"
42849 },
42850 "links" : [
42851 {
42852 "href" : "{subdir}",
42853 "rel" : "child"
42854 }
42855 ],
42856 "type" : "array"
42857 }
42858 }
42859 },
42860 "leaf" : 0,
42861 "path" : "/access",
42862 "text" : "access"
42863 },
42864 {
42865 "children" : [
42866 {
42867 "info" : {
42868 "DELETE" : {
e9cd3bd4 42869 "allowtoken" : 1,
7aacca6f 42870 "description" : "Delete pool.",
44660702
DM
42871 "method" : "DELETE",
42872 "name" : "delete_pool",
7aacca6f
DM
42873 "parameters" : {
42874 "additionalProperties" : 0,
42875 "properties" : {
42876 "poolid" : {
42877 "format" : "pve-poolid",
013dc89f
DM
42878 "type" : "string",
42879 "typetext" : "<string>"
7aacca6f
DM
42880 }
42881 }
42882 },
56122987
DM
42883 "permissions" : {
42884 "check" : [
42885 "perm",
42886 "/pool/{poolid}",
42887 [
42888 "Pool.Allocate"
42889 ]
44660702
DM
42890 ],
42891 "description" : "You can only delete empty pools (no members)."
42892 },
42893 "protected" : 1,
42894 "returns" : {
42895 "type" : "null"
7aacca6f
DM
42896 }
42897 },
42898 "GET" : {
e9cd3bd4 42899 "allowtoken" : 1,
7aacca6f 42900 "description" : "Get pool configuration.",
44660702 42901 "method" : "GET",
7aacca6f 42902 "name" : "read_pool",
56122987 42903 "parameters" : {
44660702 42904 "additionalProperties" : 0,
56122987
DM
42905 "properties" : {
42906 "poolid" : {
44660702 42907 "format" : "pve-poolid",
013dc89f
DM
42908 "type" : "string",
42909 "typetext" : "<string>"
56122987 42910 }
44660702 42911 }
56122987 42912 },
56122987 42913 "permissions" : {
56122987
DM
42914 "check" : [
42915 "perm",
42916 "/pool/{poolid}",
42917 [
42918 "Pool.Allocate"
42919 ]
42920 ]
42921 },
7aacca6f 42922 "returns" : {
44660702 42923 "additionalProperties" : 0,
56122987 42924 "properties" : {
44660702
DM
42925 "comment" : {
42926 "optional" : 1,
42927 "type" : "string"
42928 },
7aacca6f 42929 "members" : {
7aacca6f
DM
42930 "items" : {
42931 "additionalProperties" : 1,
7aacca6f 42932 "properties" : {
7aacca6f
DM
42933 "id" : {
42934 "type" : "string"
42935 },
42936 "node" : {
42937 "type" : "string"
42938 },
44660702
DM
42939 "storage" : {
42940 "optional" : 1,
42941 "type" : "string"
42942 },
7aacca6f 42943 "type" : {
7aacca6f
DM
42944 "enum" : [
42945 "qemu",
42946 "lxc",
42947 "openvz",
42948 "storage"
44660702
DM
42949 ],
42950 "type" : "string"
42951 },
42952 "vmid" : {
42953 "optional" : 1,
42954 "type" : "integer"
7aacca6f 42955 }
44660702
DM
42956 },
42957 "type" : "object"
42958 },
42959 "type" : "array"
42960 }
42961 },
42962 "type" : "object"
42963 }
42964 },
42965 "PUT" : {
e9cd3bd4 42966 "allowtoken" : 1,
44660702
DM
42967 "description" : "Update pool data.",
42968 "method" : "PUT",
42969 "name" : "update_pool",
42970 "parameters" : {
42971 "additionalProperties" : 0,
42972 "properties" : {
56122987
DM
42973 "comment" : {
42974 "optional" : 1,
013dc89f
DM
42975 "type" : "string",
42976 "typetext" : "<string>"
44660702
DM
42977 },
42978 "delete" : {
42979 "description" : "Remove vms/storage (instead of adding it).",
42980 "optional" : 1,
013dc89f
DM
42981 "type" : "boolean",
42982 "typetext" : "<boolean>"
44660702
DM
42983 },
42984 "poolid" : {
42985 "format" : "pve-poolid",
013dc89f
DM
42986 "type" : "string",
42987 "typetext" : "<string>"
44660702
DM
42988 },
42989 "storage" : {
42990 "description" : "List of storage IDs.",
42991 "format" : "pve-storage-id-list",
42992 "optional" : 1,
013dc89f
DM
42993 "type" : "string",
42994 "typetext" : "<string>"
44660702
DM
42995 },
42996 "vms" : {
42997 "description" : "List of virtual machines.",
42998 "format" : "pve-vmid-list",
42999 "optional" : 1,
013dc89f
DM
43000 "type" : "string",
43001 "typetext" : "<string>"
56122987 43002 }
44660702
DM
43003 }
43004 },
43005 "permissions" : {
43006 "check" : [
43007 "perm",
43008 "/pool/{poolid}",
43009 [
43010 "Pool.Allocate"
43011 ]
43012 ],
43013 "description" : "You also need the right to modify permissions on any object you add/delete."
43014 },
43015 "protected" : 1,
43016 "returns" : {
43017 "type" : "null"
56122987
DM
43018 }
43019 }
43020 },
44660702
DM
43021 "leaf" : 1,
43022 "path" : "/pools/{poolid}",
7aacca6f 43023 "text" : "{poolid}"
56122987 43024 }
7aacca6f 43025 ],
56122987
DM
43026 "info" : {
43027 "GET" : {
e9cd3bd4 43028 "allowtoken" : 1,
44660702
DM
43029 "description" : "Pool index.",
43030 "method" : "GET",
43031 "name" : "index",
43032 "parameters" : {
43033 "additionalProperties" : 0
43034 },
43035 "permissions" : {
43036 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
43037 "user" : "all"
43038 },
56122987 43039 "returns" : {
44660702
DM
43040 "items" : {
43041 "properties" : {
43042 "poolid" : {
43043 "type" : "string"
43044 }
56122987 43045 },
44660702
DM
43046 "type" : "object"
43047 },
43048 "links" : [
43049 {
43050 "href" : "{poolid}",
43051 "rel" : "child"
43052 }
43053 ],
43054 "type" : "array"
43055 }
43056 },
43057 "POST" : {
e9cd3bd4 43058 "allowtoken" : 1,
44660702
DM
43059 "description" : "Create new pool.",
43060 "method" : "POST",
43061 "name" : "create_pool",
43062 "parameters" : {
43063 "additionalProperties" : 0,
43064 "properties" : {
43065 "comment" : {
43066 "optional" : 1,
013dc89f
DM
43067 "type" : "string",
43068 "typetext" : "<string>"
7aacca6f 43069 },
44660702
DM
43070 "poolid" : {
43071 "format" : "pve-poolid",
013dc89f
DM
43072 "type" : "string",
43073 "typetext" : "<string>"
56122987
DM
43074 }
43075 }
43076 },
56122987 43077 "permissions" : {
44660702
DM
43078 "check" : [
43079 "perm",
43080 "/pool/{poolid}",
43081 [
43082 "Pool.Allocate"
43083 ]
43084 ]
56122987 43085 },
44660702
DM
43086 "protected" : 1,
43087 "returns" : {
43088 "type" : "null"
43089 }
43090 }
43091 },
43092 "leaf" : 0,
43093 "path" : "/pools",
43094 "text" : "pools"
43095 },
43096 {
43097 "info" : {
43098 "GET" : {
e9cd3bd4 43099 "allowtoken" : 1,
44660702
DM
43100 "description" : "API version details. The result also includes the global datacenter confguration.",
43101 "method" : "GET",
43102 "name" : "version",
7aacca6f
DM
43103 "parameters" : {
43104 "additionalProperties" : 0
43105 },
44660702
DM
43106 "permissions" : {
43107 "user" : "all"
43108 },
43109 "returns" : {
43110 "properties" : {
43111 "release" : {
43112 "type" : "string"
43113 },
43114 "repoid" : {
43115 "type" : "string"
43116 },
43117 "version" : {
43118 "type" : "string"
43119 }
43120 },
43121 "type" : "object"
43122 }
56122987
DM
43123 }
43124 },
44660702
DM
43125 "leaf" : 1,
43126 "path" : "/version",
56122987
DM
43127 "text" : "version"
43128 }
43129]
43130;
43131