]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update static files
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
a9a8e3d1
DM
139 },
140 "source" : {
141 "description" : "Source of the replication.",
142 "format" : "pve-node",
143 "optional" : 1,
144 "type" : "string",
145 "typetext" : "<string>"
5d9c884c
DM
146 }
147 },
148 "type" : "object"
149 },
150 "permissions" : {
151 "check" : [
152 "perm",
153 "/storage",
154 [
155 "Datastore.Allocate"
156 ]
157 ]
158 },
159 "protected" : 1,
160 "returns" : {
161 "type" : "null"
162 }
163 }
164 },
165 "leaf" : 1,
166 "path" : "/cluster/replication/{id}",
167 "text" : "{id}"
168 }
169 ],
170 "info" : {
171 "GET" : {
172 "description" : "List replication jobs.",
173 "method" : "GET",
174 "name" : "index",
175 "parameters" : {
176 "additionalProperties" : 0
177 },
178 "permissions" : {
179 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
180 "user" : "all"
181 },
182 "returns" : {
183 "items" : {
184 "properties" : {},
185 "type" : "object"
186 },
187 "links" : [
188 {
189 "href" : "{id}",
190 "rel" : "child"
191 }
192 ],
193 "type" : "array"
194 }
195 },
196 "POST" : {
197 "description" : "Create a new replication job",
198 "method" : "POST",
199 "name" : "create",
200 "parameters" : {
201 "additionalProperties" : 0,
202 "properties" : {
203 "comment" : {
204 "description" : "Description.",
205 "maxLength" : 4096,
206 "optional" : 1,
207 "type" : "string",
208 "typetext" : "<string>"
209 },
210 "disable" : {
211 "description" : "Flag to disable/deactivate the entry.",
212 "optional" : 1,
213 "type" : "boolean",
214 "typetext" : "<boolean>"
215 },
216 "id" : {
217 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
218 "format" : "pve-replication-job-id",
219 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
220 "type" : "string"
221 },
222 "rate" : {
223 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
224 "minimum" : 1,
225 "optional" : 1,
226 "type" : "number",
227 "typetext" : "<number> (1 - N)"
228 },
229 "remove_job" : {
230 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
231 "enum" : [
232 "local",
233 "full"
234 ],
235 "optional" : 1,
236 "type" : "string"
237 },
238 "schedule" : {
239 "default" : "*/15",
240 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
241 "format" : "pve-calendar-event",
242 "maxLength" : 128,
243 "optional" : 1,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
a9a8e3d1
DM
247 "source" : {
248 "description" : "Source of the replication.",
249 "format" : "pve-node",
250 "optional" : 1,
251 "type" : "string",
252 "typetext" : "<string>"
253 },
5d9c884c
DM
254 "target" : {
255 "description" : "Target node.",
256 "format" : "pve-node",
257 "optional" : 0,
258 "type" : "string",
259 "typetext" : "<string>"
260 },
261 "type" : {
262 "description" : "Section type.",
263 "enum" : [
264 "local"
265 ],
266 "type" : "string"
267 }
268 },
269 "type" : "object"
270 },
271 "permissions" : {
272 "check" : [
273 "perm",
274 "/storage",
275 [
276 "Datastore.Allocate"
277 ]
278 ]
279 },
280 "protected" : 1,
281 "returns" : {
282 "type" : "null"
283 }
284 }
285 },
286 "leaf" : 0,
287 "path" : "/cluster/replication",
288 "text" : "replication"
289 },
32d876b5
DM
290 {
291 "children" : [
292 {
27a7acb2
DM
293 "children" : [
294 {
295 "info" : {
296 "DELETE" : {
297 "description" : "Removes a node from the cluster configuration.",
298 "method" : "DELETE",
299 "name" : "delnode",
300 "parameters" : {
301 "additionalProperties" : 0,
302 "properties" : {
303 "node" : {
304 "description" : "The cluster node name.",
305 "format" : "pve-node",
306 "type" : "string",
307 "typetext" : "<string>"
308 }
309 }
310 },
311 "protected" : 1,
312 "returns" : {
313 "type" : "null"
314 }
315 },
316 "POST" : {
317 "description" : "Adds a node to the cluster configuration.",
318 "method" : "POST",
319 "name" : "addnode",
320 "parameters" : {
321 "additionalProperties" : 0,
322 "properties" : {
323 "force" : {
324 "description" : "Do not throw error if node already exists.",
325 "optional" : 1,
326 "type" : "boolean",
327 "typetext" : "<boolean>"
328 },
329 "node" : {
330 "description" : "The cluster node name.",
331 "format" : "pve-node",
332 "type" : "string",
333 "typetext" : "<string>"
334 },
335 "nodeid" : {
336 "description" : "Node id for this node.",
337 "minimum" : 1,
338 "optional" : 1,
339 "type" : "integer",
340 "typetext" : "<integer> (1 - N)"
341 },
342 "ring0_addr" : {
343 "default" : "Hostname of the node",
344 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
345 "format" : "address",
346 "optional" : 1,
347 "type" : "string",
348 "typetext" : "<string>"
349 },
350 "ring1_addr" : {
351 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
352 "format" : "address",
353 "optional" : 1,
354 "type" : "string",
355 "typetext" : "<string>"
356 },
357 "votes" : {
358 "description" : "Number of votes for this node",
359 "minimum" : 0,
360 "optional" : 1,
361 "type" : "integer",
362 "typetext" : "<integer> (0 - N)"
363 }
364 }
365 },
366 "protected" : 1,
367 "returns" : {
368 "properties" : {
369 "corosync_authkey" : {
370 "type" : "string"
371 },
372 "corosync_conf" : {
373 "type" : "string"
374 }
375 },
376 "type" : "object"
377 }
378 }
379 },
380 "leaf" : 1,
381 "path" : "/cluster/config/nodes/{node}",
382 "text" : "{node}"
383 }
384 ],
32d876b5
DM
385 "info" : {
386 "GET" : {
387 "description" : "Corosync node list.",
388 "method" : "GET",
389 "name" : "nodes",
390 "parameters" : {
391 "additionalProperties" : 0
392 },
5d9c884c
DM
393 "permissions" : {
394 "check" : [
395 "perm",
396 "/",
397 [
398 "Sys.Audit"
399 ]
400 ]
401 },
32d876b5
DM
402 "returns" : {
403 "items" : {
404 "properties" : {
405 "node" : {
406 "type" : "string"
407 }
408 },
409 "type" : "object"
410 },
411 "links" : [
412 {
413 "href" : "{node}",
414 "rel" : "child"
415 }
416 ],
417 "type" : "array"
418 }
419 }
420 },
27a7acb2 421 "leaf" : 0,
32d876b5
DM
422 "path" : "/cluster/config/nodes",
423 "text" : "nodes"
424 },
27a7acb2
DM
425 {
426 "info" : {
427 "GET" : {
428 "description" : "Get information needed to join this cluster over the connected node.",
429 "method" : "GET",
430 "name" : "join_info",
431 "parameters" : {
432 "additionalProperties" : 0,
433 "properties" : {
434 "node" : {
435 "default" : "current connected node",
436 "description" : "The node for which the joinee gets the nodeinfo. ",
437 "format" : "pve-node",
438 "optional" : 1,
439 "type" : "string",
440 "typetext" : "<string>"
441 }
442 }
443 },
a9a8e3d1
DM
444 "permissions" : {
445 "check" : [
446 "perm",
447 "/",
448 [
449 "Sys.Audit"
450 ]
451 ]
452 },
27a7acb2
DM
453 "returns" : {
454 "additionalProperties" : 0,
455 "properties" : {
456 "config_digest" : {
457 "type" : "string"
458 },
459 "nodelist" : {
460 "items" : {
461 "additionalProperties" : 1,
462 "properties" : {
463 "name" : {
464 "description" : "The cluster node name.",
465 "format" : "pve-node",
466 "type" : "string"
467 },
468 "nodeid" : {
469 "description" : "Node id for this node.",
470 "minimum" : 1,
471 "optional" : 1,
472 "type" : "integer"
473 },
474 "pve_addr" : {
475 "format" : "ip",
476 "type" : "string"
477 },
478 "pve_fp" : {
479 "description" : "Certificate SHA 256 fingerprint.",
480 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
481 "type" : "string"
482 },
483 "quorum_votes" : {
484 "minimum" : 0,
485 "type" : "integer"
486 },
487 "ring0_addr" : {
488 "default" : "Hostname of the node",
489 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
490 "format" : "address",
491 "optional" : 1,
492 "type" : "string"
493 }
494 },
495 "type" : "object"
496 },
497 "type" : "array"
498 },
499 "preferred_node" : {
500 "description" : "The cluster node name.",
501 "format" : "pve-node",
502 "type" : "string"
503 },
504 "totem" : {
505 "type" : "object"
506 }
507 },
508 "type" : "object"
509 }
510 },
511 "POST" : {
512 "description" : "Joins this node into an existing cluster.",
513 "method" : "POST",
514 "name" : "join",
515 "parameters" : {
516 "additionalProperties" : 0,
517 "properties" : {
518 "fingerprint" : {
519 "description" : "Certificate SHA 256 fingerprint.",
520 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
521 "type" : "string"
522 },
523 "force" : {
524 "description" : "Do not throw error if node already exists.",
525 "optional" : 1,
526 "type" : "boolean",
527 "typetext" : "<boolean>"
528 },
529 "hostname" : {
530 "description" : "Hostname (or IP) of an existing cluster member.",
531 "type" : "string",
532 "typetext" : "<string>"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer",
539 "typetext" : "<integer> (1 - N)"
540 },
541 "password" : {
542 "description" : "Superuser (root) password of peer node.",
543 "maxLength" : 128,
544 "type" : "string",
545 "typetext" : "<string>"
546 },
547 "ring0_addr" : {
548 "default" : "IP resolved by node's hostname",
549 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
550 "format" : "address",
551 "optional" : 1,
552 "type" : "string",
553 "typetext" : "<string>"
554 },
555 "ring1_addr" : {
556 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
557 "format" : "address",
558 "optional" : 1,
559 "type" : "string",
560 "typetext" : "<string>"
561 },
562 "votes" : {
563 "description" : "Number of votes for this node",
564 "minimum" : 0,
565 "optional" : 1,
566 "type" : "integer",
567 "typetext" : "<integer> (0 - N)"
568 }
569 }
570 },
571 "protected" : 1,
572 "returns" : {
573 "type" : "string"
574 }
575 }
576 },
577 "leaf" : 1,
578 "path" : "/cluster/config/join",
579 "text" : "join"
580 },
32d876b5
DM
581 {
582 "info" : {
583 "GET" : {
584 "description" : "Get corosync totem protocol settings.",
585 "method" : "GET",
586 "name" : "totem",
587 "parameters" : {
588 "additionalProperties" : 0
589 },
5d9c884c
DM
590 "permissions" : {
591 "check" : [
592 "perm",
593 "/",
594 [
595 "Sys.Audit"
596 ]
597 ]
598 },
32d876b5
DM
599 "returns" : {
600 "properties" : {},
601 "type" : "object"
602 }
603 }
604 },
605 "leaf" : 1,
606 "path" : "/cluster/config/totem",
607 "text" : "totem"
608 }
609 ],
610 "info" : {
611 "GET" : {
612 "description" : "Directory index.",
613 "method" : "GET",
614 "name" : "index",
615 "parameters" : {
616 "additionalProperties" : 0
617 },
5d9c884c
DM
618 "permissions" : {
619 "check" : [
620 "perm",
621 "/",
622 [
623 "Sys.Audit"
624 ]
625 ]
626 },
32d876b5
DM
627 "returns" : {
628 "items" : {
629 "properties" : {},
630 "type" : "object"
631 },
632 "links" : [
633 {
634 "href" : "{name}",
635 "rel" : "child"
636 }
637 ],
638 "type" : "array"
639 }
27a7acb2
DM
640 },
641 "POST" : {
642 "description" : "Generate new cluster configuration.",
643 "method" : "POST",
644 "name" : "create",
645 "parameters" : {
646 "additionalProperties" : 0,
647 "properties" : {
648 "bindnet0_addr" : {
649 "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
650 "format" : "ip",
651 "optional" : 1,
652 "type" : "string",
653 "typetext" : "<string>"
654 },
655 "bindnet1_addr" : {
656 "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
657 "format" : "ip",
658 "optional" : 1,
659 "type" : "string",
660 "typetext" : "<string>"
661 },
662 "clustername" : {
663 "description" : "The name of the cluster.",
664 "format" : "pve-node",
665 "maxLength" : 15,
666 "type" : "string",
667 "typetext" : "<string>"
668 },
669 "nodeid" : {
670 "description" : "Node id for this node.",
671 "minimum" : 1,
672 "optional" : 1,
673 "type" : "integer",
674 "typetext" : "<integer> (1 - N)"
675 },
676 "ring0_addr" : {
677 "default" : "Hostname of the node",
678 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
679 "format" : "address",
680 "optional" : 1,
681 "type" : "string",
682 "typetext" : "<string>"
683 },
684 "ring1_addr" : {
685 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
686 "format" : "address",
687 "optional" : 1,
688 "type" : "string",
689 "typetext" : "<string>"
690 },
691 "votes" : {
692 "description" : "Number of votes for this node.",
693 "minimum" : 1,
694 "optional" : 1,
695 "type" : "integer",
696 "typetext" : "<integer> (1 - N)"
697 }
698 }
699 },
700 "protected" : 1,
701 "returns" : {
702 "type" : "string"
703 }
32d876b5
DM
704 }
705 },
706 "leaf" : 0,
707 "path" : "/cluster/config",
708 "text" : "config"
709 },
56122987 710 {
56122987
DM
711 "children" : [
712 {
56122987
DM
713 "children" : [
714 {
44660702
DM
715 "children" : [
716 {
717 "info" : {
718 "DELETE" : {
719 "description" : "Delete rule.",
720 "method" : "DELETE",
721 "name" : "delete_rule",
722 "parameters" : {
723 "additionalProperties" : 0,
724 "properties" : {
725 "digest" : {
726 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
727 "maxLength" : 40,
728 "optional" : 1,
013dc89f
DM
729 "type" : "string",
730 "typetext" : "<string>"
44660702
DM
731 },
732 "group" : {
733 "description" : "Security Group name.",
4bd7df8b 734 "maxLength" : 18,
44660702
DM
735 "minLength" : 2,
736 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
737 "type" : "string"
738 },
739 "pos" : {
740 "description" : "Update rule at position <pos>.",
741 "minimum" : 0,
742 "optional" : 1,
4bd7df8b 743 "type" : "integer",
013dc89f 744 "typetext" : "<integer> (0 - N)"
44660702
DM
745 }
746 }
747 },
748 "permissions" : {
749 "check" : [
750 "perm",
751 "/",
752 [
753 "Sys.Modify"
754 ]
755 ]
756 },
757 "protected" : 1,
758 "proxyto" : null,
759 "returns" : {
760 "type" : "null"
7aacca6f
DM
761 }
762 },
44660702
DM
763 "GET" : {
764 "description" : "Get single rule data.",
765 "method" : "GET",
766 "name" : "get_rule",
767 "parameters" : {
768 "additionalProperties" : 0,
769 "properties" : {
770 "group" : {
771 "description" : "Security Group name.",
4bd7df8b 772 "maxLength" : 18,
44660702
DM
773 "minLength" : 2,
774 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
775 "type" : "string"
776 },
777 "pos" : {
778 "description" : "Update rule at position <pos>.",
779 "minimum" : 0,
780 "optional" : 1,
4bd7df8b 781 "type" : "integer",
013dc89f 782 "typetext" : "<integer> (0 - N)"
44660702 783 }
7aacca6f 784 }
56122987 785 },
44660702
DM
786 "permissions" : {
787 "check" : [
788 "perm",
789 "/",
790 [
791 "Sys.Audit"
792 ]
793 ]
794 },
795 "proxyto" : null,
796 "returns" : {
797 "properties" : {
798 "pos" : {
799 "type" : "integer"
800 }
801 },
802 "type" : "object"
56122987 803 }
44660702 804 },
7aacca6f 805 "PUT" : {
44660702
DM
806 "description" : "Modify rule data.",
807 "method" : "PUT",
808 "name" : "update_rule",
7aacca6f
DM
809 "parameters" : {
810 "additionalProperties" : 0,
811 "properties" : {
44660702
DM
812 "action" : {
813 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 814 "maxLength" : 20,
44660702 815 "minLength" : 2,
7aacca6f 816 "optional" : 1,
44660702 817 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
818 "type" : "string"
819 },
44660702 820 "comment" : {
e94f0d56 821 "description" : "Descriptive comment.",
7aacca6f 822 "optional" : 1,
013dc89f
DM
823 "type" : "string",
824 "typetext" : "<string>"
7aacca6f 825 },
44660702
DM
826 "delete" : {
827 "description" : "A list of settings you want to delete.",
828 "format" : "pve-configid-list",
7aacca6f 829 "optional" : 1,
013dc89f
DM
830 "type" : "string",
831 "typetext" : "<string>"
7aacca6f 832 },
44660702
DM
833 "dest" : {
834 "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.",
835 "format" : "pve-fw-addr-spec",
7aacca6f 836 "optional" : 1,
013dc89f
DM
837 "type" : "string",
838 "typetext" : "<string>"
7aacca6f
DM
839 },
840 "digest" : {
841 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 842 "maxLength" : 40,
7aacca6f 843 "optional" : 1,
013dc89f
DM
844 "type" : "string",
845 "typetext" : "<string>"
7aacca6f 846 },
44660702
DM
847 "dport" : {
848 "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.",
849 "format" : "pve-fw-dport-spec",
7aacca6f 850 "optional" : 1,
013dc89f
DM
851 "type" : "string",
852 "typetext" : "<string>"
7aacca6f 853 },
44660702 854 "enable" : {
e94f0d56 855 "description" : "Flag to enable/disable a rule.",
44660702 856 "minimum" : 0,
7aacca6f 857 "optional" : 1,
4bd7df8b 858 "type" : "integer",
013dc89f 859 "typetext" : "<integer> (0 - N)"
7aacca6f 860 },
44660702
DM
861 "group" : {
862 "description" : "Security Group name.",
4bd7df8b 863 "maxLength" : 18,
44660702
DM
864 "minLength" : 2,
865 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
866 "type" : "string"
867 },
868 "iface" : {
869 "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.",
870 "format" : "pve-iface",
871 "maxLength" : 20,
872 "minLength" : 2,
7aacca6f 873 "optional" : 1,
013dc89f
DM
874 "type" : "string",
875 "typetext" : "<string>"
7aacca6f 876 },
44660702 877 "macro" : {
e94f0d56 878 "description" : "Use predefined standard macro.",
44660702
DM
879 "maxLength" : 128,
880 "optional" : 1,
013dc89f
DM
881 "type" : "string",
882 "typetext" : "<string>"
7aacca6f
DM
883 },
884 "moveto" : {
885 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 886 "minimum" : 0,
7aacca6f 887 "optional" : 1,
4bd7df8b 888 "type" : "integer",
013dc89f 889 "typetext" : "<integer> (0 - N)"
7aacca6f 890 },
44660702
DM
891 "pos" : {
892 "description" : "Update rule at position <pos>.",
893 "minimum" : 0,
894 "optional" : 1,
4bd7df8b 895 "type" : "integer",
013dc89f 896 "typetext" : "<integer> (0 - N)"
7aacca6f 897 },
44660702
DM
898 "proto" : {
899 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
900 "format" : "pve-fw-protocol-spec",
7aacca6f 901 "optional" : 1,
013dc89f
DM
902 "type" : "string",
903 "typetext" : "<string>"
44660702
DM
904 },
905 "source" : {
906 "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.",
907 "format" : "pve-fw-addr-spec",
908 "optional" : 1,
013dc89f
DM
909 "type" : "string",
910 "typetext" : "<string>"
44660702
DM
911 },
912 "sport" : {
913 "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.",
914 "format" : "pve-fw-sport-spec",
915 "optional" : 1,
013dc89f
DM
916 "type" : "string",
917 "typetext" : "<string>"
7aacca6f
DM
918 },
919 "type" : {
e94f0d56 920 "description" : "Rule type.",
7aacca6f
DM
921 "enum" : [
922 "in",
923 "out",
924 "group"
925 ],
926 "optional" : 1,
927 "type" : "string"
928 }
929 }
930 },
7aacca6f
DM
931 "permissions" : {
932 "check" : [
933 "perm",
934 "/",
935 [
936 "Sys.Modify"
937 ]
938 ]
939 },
44660702 940 "protected" : 1,
7aacca6f
DM
941 "proxyto" : null,
942 "returns" : {
943 "type" : "null"
944 }
7aacca6f
DM
945 }
946 },
44660702 947 "leaf" : 1,
7aacca6f 948 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 949 "text" : "{pos}"
7aacca6f
DM
950 }
951 ],
44660702
DM
952 "info" : {
953 "DELETE" : {
954 "description" : "Delete security group.",
955 "method" : "DELETE",
956 "name" : "delete_security_group",
957 "parameters" : {
958 "additionalProperties" : 0,
959 "properties" : {
960 "group" : {
961 "description" : "Security Group name.",
4bd7df8b 962 "maxLength" : 18,
44660702
DM
963 "minLength" : 2,
964 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
965 "type" : "string"
966 }
56122987 967 }
7aacca6f 968 },
44660702
DM
969 "permissions" : {
970 "check" : [
971 "perm",
972 "/",
973 [
974 "Sys.Modify"
975 ]
7aacca6f 976 ]
56122987 977 },
44660702
DM
978 "protected" : 1,
979 "returns" : {
980 "type" : "null"
56122987 981 }
7aacca6f 982 },
7aacca6f 983 "GET" : {
44660702 984 "description" : "List rules.",
7aacca6f 985 "method" : "GET",
44660702
DM
986 "name" : "get_rules",
987 "parameters" : {
988 "additionalProperties" : 0,
7aacca6f 989 "properties" : {
44660702
DM
990 "group" : {
991 "description" : "Security Group name.",
4bd7df8b 992 "maxLength" : 18,
44660702
DM
993 "minLength" : 2,
994 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
995 "type" : "string"
7aacca6f 996 }
44660702 997 }
7aacca6f
DM
998 },
999 "permissions" : {
1000 "check" : [
1001 "perm",
1002 "/",
1003 [
1004 "Sys.Audit"
1005 ]
1006 ]
1007 },
44660702
DM
1008 "proxyto" : null,
1009 "returns" : {
1010 "items" : {
1011 "properties" : {
1012 "pos" : {
1013 "type" : "integer"
1014 }
1015 },
1016 "type" : "object"
1017 },
1018 "links" : [
1019 {
1020 "href" : "{pos}",
1021 "rel" : "child"
1022 }
1023 ],
1024 "type" : "array"
1025 }
1026 },
1027 "POST" : {
1028 "description" : "Create new rule.",
1029 "method" : "POST",
1030 "name" : "create_rule",
7aacca6f
DM
1031 "parameters" : {
1032 "additionalProperties" : 0,
1033 "properties" : {
44660702
DM
1034 "action" : {
1035 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1036 "maxLength" : 20,
56122987 1037 "minLength" : 2,
44660702
DM
1038 "optional" : 0,
1039 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1040 "type" : "string"
56122987 1041 },
44660702 1042 "comment" : {
e94f0d56 1043 "description" : "Descriptive comment.",
56122987 1044 "optional" : 1,
013dc89f
DM
1045 "type" : "string",
1046 "typetext" : "<string>"
56122987 1047 },
44660702
DM
1048 "dest" : {
1049 "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
1050 "format" : "pve-fw-addr-spec",
1051 "optional" : 1,
013dc89f
DM
1052 "type" : "string",
1053 "typetext" : "<string>"
56122987 1054 },
44660702
DM
1055 "digest" : {
1056 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1057 "maxLength" : 40,
7aacca6f 1058 "optional" : 1,
013dc89f
DM
1059 "type" : "string",
1060 "typetext" : "<string>"
56122987 1061 },
44660702
DM
1062 "dport" : {
1063 "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.",
1064 "format" : "pve-fw-dport-spec",
56122987 1065 "optional" : 1,
013dc89f
DM
1066 "type" : "string",
1067 "typetext" : "<string>"
56122987 1068 },
7aacca6f 1069 "enable" : {
e94f0d56 1070 "description" : "Flag to enable/disable a rule.",
44660702 1071 "minimum" : 0,
7aacca6f 1072 "optional" : 1,
4bd7df8b 1073 "type" : "integer",
013dc89f 1074 "typetext" : "<integer> (0 - N)"
56122987 1075 },
44660702
DM
1076 "group" : {
1077 "description" : "Security Group name.",
4bd7df8b 1078 "maxLength" : 18,
44660702 1079 "minLength" : 2,
7aacca6f 1080 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1081 "type" : "string"
1082 },
1083 "iface" : {
1084 "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.",
1085 "format" : "pve-iface",
1086 "maxLength" : 20,
7aacca6f 1087 "minLength" : 2,
44660702 1088 "optional" : 1,
013dc89f
DM
1089 "type" : "string",
1090 "typetext" : "<string>"
56122987 1091 },
7aacca6f 1092 "macro" : {
e94f0d56 1093 "description" : "Use predefined standard macro.",
44660702 1094 "maxLength" : 128,
7aacca6f 1095 "optional" : 1,
013dc89f
DM
1096 "type" : "string",
1097 "typetext" : "<string>"
7aacca6f
DM
1098 },
1099 "pos" : {
1100 "description" : "Update rule at position <pos>.",
44660702 1101 "minimum" : 0,
56122987 1102 "optional" : 1,
4bd7df8b 1103 "type" : "integer",
013dc89f 1104 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1105 },
1106 "proto" : {
1107 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1108 "format" : "pve-fw-protocol-spec",
7aacca6f 1109 "optional" : 1,
013dc89f
DM
1110 "type" : "string",
1111 "typetext" : "<string>"
44660702
DM
1112 },
1113 "source" : {
1114 "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.",
1115 "format" : "pve-fw-addr-spec",
1116 "optional" : 1,
013dc89f
DM
1117 "type" : "string",
1118 "typetext" : "<string>"
44660702
DM
1119 },
1120 "sport" : {
1121 "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.",
1122 "format" : "pve-fw-sport-spec",
1123 "optional" : 1,
013dc89f
DM
1124 "type" : "string",
1125 "typetext" : "<string>"
44660702
DM
1126 },
1127 "type" : {
e94f0d56 1128 "description" : "Rule type.",
44660702
DM
1129 "enum" : [
1130 "in",
1131 "out",
1132 "group"
1133 ],
1134 "optional" : 0,
1135 "type" : "string"
56122987 1136 }
44660702 1137 }
56122987 1138 },
56122987
DM
1139 "permissions" : {
1140 "check" : [
1141 "perm",
1142 "/",
1143 [
1144 "Sys.Modify"
1145 ]
1146 ]
1147 },
44660702
DM
1148 "protected" : 1,
1149 "proxyto" : null,
56122987
DM
1150 "returns" : {
1151 "type" : "null"
7aacca6f 1152 }
44660702
DM
1153 }
1154 },
1155 "leaf" : 0,
1156 "path" : "/cluster/firewall/groups/{group}",
1157 "text" : "{group}"
1158 }
1159 ],
1160 "info" : {
1161 "GET" : {
1162 "description" : "List security groups.",
1163 "method" : "GET",
1164 "name" : "list_security_groups",
1165 "parameters" : {
1166 "additionalProperties" : 0
1167 },
1168 "permissions" : {
1169 "user" : "all"
1170 },
1171 "returns" : {
1172 "items" : {
1173 "properties" : {
1174 "comment" : {
1175 "optional" : 1,
1176 "type" : "string"
1177 },
1178 "digest" : {
1179 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1180 "maxLength" : 40,
1181 "optional" : 0,
1182 "type" : "string"
1183 },
1184 "group" : {
1185 "description" : "Security Group name.",
4bd7df8b 1186 "maxLength" : 18,
44660702
DM
1187 "minLength" : 2,
1188 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1189 "type" : "string"
1190 }
1191 },
1192 "type" : "object"
56122987 1193 },
44660702
DM
1194 "links" : [
1195 {
1196 "href" : "{group}",
1197 "rel" : "child"
1198 }
1199 ],
1200 "type" : "array"
1201 }
1202 },
1203 "POST" : {
1204 "description" : "Create new security group.",
1205 "method" : "POST",
1206 "name" : "create_security_group",
1207 "parameters" : {
1208 "additionalProperties" : 0,
1209 "properties" : {
1210 "comment" : {
1211 "optional" : 1,
013dc89f
DM
1212 "type" : "string",
1213 "typetext" : "<string>"
44660702
DM
1214 },
1215 "digest" : {
1216 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1217 "maxLength" : 40,
1218 "optional" : 1,
013dc89f
DM
1219 "type" : "string",
1220 "typetext" : "<string>"
44660702
DM
1221 },
1222 "group" : {
1223 "description" : "Security Group name.",
4bd7df8b 1224 "maxLength" : 18,
44660702
DM
1225 "minLength" : 2,
1226 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1227 "type" : "string"
1228 },
1229 "rename" : {
1230 "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 1231 "maxLength" : 18,
44660702
DM
1232 "minLength" : 2,
1233 "optional" : 1,
1234 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1235 "type" : "string"
1236 }
1237 }
1238 },
1239 "permissions" : {
1240 "check" : [
1241 "perm",
1242 "/",
1243 [
1244 "Sys.Modify"
1245 ]
1246 ]
1247 },
1248 "protected" : 1,
1249 "returns" : {
1250 "type" : "null"
1251 }
1252 }
1253 },
1254 "leaf" : 0,
1255 "path" : "/cluster/firewall/groups",
1256 "text" : "groups"
1257 },
1258 {
1259 "children" : [
1260 {
1261 "info" : {
7aacca6f 1262 "DELETE" : {
44660702
DM
1263 "description" : "Delete rule.",
1264 "method" : "DELETE",
1265 "name" : "delete_rule",
1266 "parameters" : {
1267 "additionalProperties" : 0,
1268 "properties" : {
1269 "digest" : {
1270 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1271 "maxLength" : 40,
1272 "optional" : 1,
013dc89f
DM
1273 "type" : "string",
1274 "typetext" : "<string>"
44660702
DM
1275 },
1276 "pos" : {
1277 "description" : "Update rule at position <pos>.",
1278 "minimum" : 0,
1279 "optional" : 1,
4bd7df8b 1280 "type" : "integer",
013dc89f 1281 "typetext" : "<integer> (0 - N)"
44660702
DM
1282 }
1283 }
1284 },
56122987
DM
1285 "permissions" : {
1286 "check" : [
1287 "perm",
1288 "/",
1289 [
7aacca6f 1290 "Sys.Modify"
56122987
DM
1291 ]
1292 ]
1293 },
44660702 1294 "protected" : 1,
56122987
DM
1295 "proxyto" : null,
1296 "returns" : {
7aacca6f 1297 "type" : "null"
44660702
DM
1298 }
1299 },
1300 "GET" : {
1301 "description" : "Get single rule data.",
1302 "method" : "GET",
1303 "name" : "get_rule",
56122987
DM
1304 "parameters" : {
1305 "additionalProperties" : 0,
1306 "properties" : {
1307 "pos" : {
7aacca6f 1308 "description" : "Update rule at position <pos>.",
44660702 1309 "minimum" : 0,
56122987 1310 "optional" : 1,
4bd7df8b 1311 "type" : "integer",
013dc89f 1312 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1313 }
1314 }
1315 },
7aacca6f
DM
1316 "permissions" : {
1317 "check" : [
1318 "perm",
1319 "/",
1320 [
1321 "Sys.Audit"
1322 ]
1323 ]
56122987 1324 },
44660702
DM
1325 "proxyto" : null,
1326 "returns" : {
7aacca6f 1327 "properties" : {
44660702
DM
1328 "pos" : {
1329 "type" : "integer"
7aacca6f 1330 }
44660702
DM
1331 },
1332 "type" : "object"
1333 }
56122987 1334 },
44660702
DM
1335 "PUT" : {
1336 "description" : "Modify rule data.",
1337 "method" : "PUT",
1338 "name" : "update_rule",
7aacca6f
DM
1339 "parameters" : {
1340 "additionalProperties" : 0,
1341 "properties" : {
44660702
DM
1342 "action" : {
1343 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1344 "maxLength" : 20,
1345 "minLength" : 2,
1346 "optional" : 1,
1347 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1348 "type" : "string"
7aacca6f 1349 },
44660702 1350 "comment" : {
e94f0d56 1351 "description" : "Descriptive comment.",
44660702 1352 "optional" : 1,
013dc89f
DM
1353 "type" : "string",
1354 "typetext" : "<string>"
7aacca6f 1355 },
44660702
DM
1356 "delete" : {
1357 "description" : "A list of settings you want to delete.",
1358 "format" : "pve-configid-list",
1359 "optional" : 1,
013dc89f
DM
1360 "type" : "string",
1361 "typetext" : "<string>"
44660702
DM
1362 },
1363 "dest" : {
1364 "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.",
1365 "format" : "pve-fw-addr-spec",
1366 "optional" : 1,
013dc89f
DM
1367 "type" : "string",
1368 "typetext" : "<string>"
44660702
DM
1369 },
1370 "digest" : {
1371 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1372 "maxLength" : 40,
1373 "optional" : 1,
013dc89f
DM
1374 "type" : "string",
1375 "typetext" : "<string>"
44660702
DM
1376 },
1377 "dport" : {
1378 "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.",
1379 "format" : "pve-fw-dport-spec",
1380 "optional" : 1,
013dc89f
DM
1381 "type" : "string",
1382 "typetext" : "<string>"
44660702
DM
1383 },
1384 "enable" : {
e94f0d56 1385 "description" : "Flag to enable/disable a rule.",
44660702
DM
1386 "minimum" : 0,
1387 "optional" : 1,
4bd7df8b 1388 "type" : "integer",
013dc89f 1389 "typetext" : "<integer> (0 - N)"
44660702
DM
1390 },
1391 "iface" : {
1392 "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.",
1393 "format" : "pve-iface",
1394 "maxLength" : 20,
7aacca6f 1395 "minLength" : 2,
44660702 1396 "optional" : 1,
013dc89f
DM
1397 "type" : "string",
1398 "typetext" : "<string>"
7aacca6f 1399 },
44660702 1400 "macro" : {
e94f0d56 1401 "description" : "Use predefined standard macro.",
44660702
DM
1402 "maxLength" : 128,
1403 "optional" : 1,
013dc89f
DM
1404 "type" : "string",
1405 "typetext" : "<string>"
44660702
DM
1406 },
1407 "moveto" : {
1408 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1409 "minimum" : 0,
1410 "optional" : 1,
4bd7df8b 1411 "type" : "integer",
013dc89f 1412 "typetext" : "<integer> (0 - N)"
44660702
DM
1413 },
1414 "pos" : {
1415 "description" : "Update rule at position <pos>.",
1416 "minimum" : 0,
1417 "optional" : 1,
4bd7df8b 1418 "type" : "integer",
013dc89f 1419 "typetext" : "<integer> (0 - N)"
44660702
DM
1420 },
1421 "proto" : {
1422 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1423 "format" : "pve-fw-protocol-spec",
1424 "optional" : 1,
013dc89f
DM
1425 "type" : "string",
1426 "typetext" : "<string>"
44660702
DM
1427 },
1428 "source" : {
1429 "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.",
1430 "format" : "pve-fw-addr-spec",
1431 "optional" : 1,
013dc89f
DM
1432 "type" : "string",
1433 "typetext" : "<string>"
44660702
DM
1434 },
1435 "sport" : {
1436 "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.",
1437 "format" : "pve-fw-sport-spec",
1438 "optional" : 1,
013dc89f
DM
1439 "type" : "string",
1440 "typetext" : "<string>"
44660702
DM
1441 },
1442 "type" : {
e94f0d56 1443 "description" : "Rule type.",
44660702
DM
1444 "enum" : [
1445 "in",
1446 "out",
1447 "group"
1448 ],
1449 "optional" : 1,
1450 "type" : "string"
7aacca6f 1451 }
56122987
DM
1452 }
1453 },
7aacca6f
DM
1454 "permissions" : {
1455 "check" : [
1456 "perm",
1457 "/",
1458 [
1459 "Sys.Modify"
1460 ]
1461 ]
1462 },
44660702
DM
1463 "protected" : 1,
1464 "proxyto" : null,
1465 "returns" : {
1466 "type" : "null"
1467 }
7aacca6f 1468 }
56122987 1469 },
44660702
DM
1470 "leaf" : 1,
1471 "path" : "/cluster/firewall/rules/{pos}",
1472 "text" : "{pos}"
7aacca6f
DM
1473 }
1474 ],
7aacca6f 1475 "info" : {
44660702
DM
1476 "GET" : {
1477 "description" : "List rules.",
1478 "method" : "GET",
1479 "name" : "get_rules",
7aacca6f 1480 "parameters" : {
44660702 1481 "additionalProperties" : 0
7aacca6f
DM
1482 },
1483 "permissions" : {
1484 "check" : [
1485 "perm",
1486 "/",
1487 [
44660702 1488 "Sys.Audit"
7aacca6f
DM
1489 ]
1490 ]
1491 },
44660702 1492 "proxyto" : null,
7aacca6f 1493 "returns" : {
7aacca6f
DM
1494 "items" : {
1495 "properties" : {
44660702
DM
1496 "pos" : {
1497 "type" : "integer"
7aacca6f
DM
1498 }
1499 },
1500 "type" : "object"
56122987 1501 },
7aacca6f
DM
1502 "links" : [
1503 {
44660702 1504 "href" : "{pos}",
7aacca6f
DM
1505 "rel" : "child"
1506 }
44660702
DM
1507 ],
1508 "type" : "array"
7aacca6f 1509 }
44660702 1510 },
7aacca6f 1511 "POST" : {
44660702 1512 "description" : "Create new rule.",
7aacca6f 1513 "method" : "POST",
44660702 1514 "name" : "create_rule",
7aacca6f
DM
1515 "parameters" : {
1516 "additionalProperties" : 0,
1517 "properties" : {
44660702
DM
1518 "action" : {
1519 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1520 "maxLength" : 20,
7aacca6f 1521 "minLength" : 2,
44660702
DM
1522 "optional" : 0,
1523 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1524 "type" : "string"
7aacca6f
DM
1525 },
1526 "comment" : {
e94f0d56 1527 "description" : "Descriptive comment.",
7aacca6f 1528 "optional" : 1,
013dc89f
DM
1529 "type" : "string",
1530 "typetext" : "<string>"
44660702
DM
1531 },
1532 "dest" : {
1533 "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.",
1534 "format" : "pve-fw-addr-spec",
1535 "optional" : 1,
013dc89f
DM
1536 "type" : "string",
1537 "typetext" : "<string>"
44660702
DM
1538 },
1539 "digest" : {
1540 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1541 "maxLength" : 40,
1542 "optional" : 1,
013dc89f
DM
1543 "type" : "string",
1544 "typetext" : "<string>"
44660702
DM
1545 },
1546 "dport" : {
1547 "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.",
1548 "format" : "pve-fw-dport-spec",
1549 "optional" : 1,
013dc89f
DM
1550 "type" : "string",
1551 "typetext" : "<string>"
44660702
DM
1552 },
1553 "enable" : {
e94f0d56 1554 "description" : "Flag to enable/disable a rule.",
44660702
DM
1555 "minimum" : 0,
1556 "optional" : 1,
4bd7df8b 1557 "type" : "integer",
013dc89f 1558 "typetext" : "<integer> (0 - N)"
44660702
DM
1559 },
1560 "iface" : {
1561 "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.",
1562 "format" : "pve-iface",
1563 "maxLength" : 20,
1564 "minLength" : 2,
1565 "optional" : 1,
013dc89f
DM
1566 "type" : "string",
1567 "typetext" : "<string>"
44660702
DM
1568 },
1569 "macro" : {
e94f0d56 1570 "description" : "Use predefined standard macro.",
44660702
DM
1571 "maxLength" : 128,
1572 "optional" : 1,
013dc89f
DM
1573 "type" : "string",
1574 "typetext" : "<string>"
44660702
DM
1575 },
1576 "pos" : {
1577 "description" : "Update rule at position <pos>.",
1578 "minimum" : 0,
1579 "optional" : 1,
4bd7df8b 1580 "type" : "integer",
013dc89f 1581 "typetext" : "<integer> (0 - N)"
44660702
DM
1582 },
1583 "proto" : {
1584 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1585 "format" : "pve-fw-protocol-spec",
1586 "optional" : 1,
013dc89f
DM
1587 "type" : "string",
1588 "typetext" : "<string>"
44660702
DM
1589 },
1590 "source" : {
1591 "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.",
1592 "format" : "pve-fw-addr-spec",
1593 "optional" : 1,
013dc89f
DM
1594 "type" : "string",
1595 "typetext" : "<string>"
44660702
DM
1596 },
1597 "sport" : {
1598 "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.",
1599 "format" : "pve-fw-sport-spec",
1600 "optional" : 1,
013dc89f
DM
1601 "type" : "string",
1602 "typetext" : "<string>"
44660702
DM
1603 },
1604 "type" : {
e94f0d56 1605 "description" : "Rule type.",
44660702
DM
1606 "enum" : [
1607 "in",
1608 "out",
1609 "group"
1610 ],
1611 "optional" : 0,
1612 "type" : "string"
7aacca6f
DM
1613 }
1614 }
1615 },
1616 "permissions" : {
1617 "check" : [
1618 "perm",
1619 "/",
1620 [
1621 "Sys.Modify"
1622 ]
1623 ]
1624 },
44660702
DM
1625 "protected" : 1,
1626 "proxyto" : null,
7aacca6f 1627 "returns" : {
44660702
DM
1628 "type" : "null"
1629 }
1630 }
1631 },
1632 "leaf" : 0,
1633 "path" : "/cluster/firewall/rules",
1634 "text" : "rules"
1635 },
1636 {
1637 "children" : [
1638 {
1639 "children" : [
1640 {
1641 "info" : {
1642 "DELETE" : {
1643 "description" : "Remove IP or Network from IPSet.",
1644 "method" : "DELETE",
1645 "name" : "remove_ip",
1646 "parameters" : {
1647 "additionalProperties" : 0,
1648 "properties" : {
1649 "cidr" : {
1650 "description" : "Network/IP specification in CIDR format.",
1651 "format" : "IPorCIDRorAlias",
013dc89f
DM
1652 "type" : "string",
1653 "typetext" : "<string>"
44660702
DM
1654 },
1655 "digest" : {
1656 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1657 "maxLength" : 40,
1658 "optional" : 1,
013dc89f
DM
1659 "type" : "string",
1660 "typetext" : "<string>"
44660702
DM
1661 },
1662 "name" : {
1663 "description" : "IP set name.",
1664 "maxLength" : 64,
1665 "minLength" : 2,
1666 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1667 "type" : "string"
1668 }
1669 }
1670 },
1671 "permissions" : {
1672 "check" : [
1673 "perm",
1674 "/",
1675 [
1676 "Sys.Modify"
1677 ]
1678 ]
1679 },
1680 "protected" : 1,
1681 "returns" : {
1682 "type" : "null"
1683 }
7aacca6f 1684 },
44660702
DM
1685 "GET" : {
1686 "description" : "Read IP or Network settings from IPSet.",
1687 "method" : "GET",
1688 "name" : "read_ip",
1689 "parameters" : {
1690 "additionalProperties" : 0,
1691 "properties" : {
1692 "cidr" : {
1693 "description" : "Network/IP specification in CIDR format.",
1694 "format" : "IPorCIDRorAlias",
013dc89f
DM
1695 "type" : "string",
1696 "typetext" : "<string>"
44660702
DM
1697 },
1698 "name" : {
1699 "description" : "IP set name.",
1700 "maxLength" : 64,
1701 "minLength" : 2,
1702 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1703 "type" : "string"
1704 }
1705 }
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "perm",
1710 "/",
1711 [
1712 "Sys.Audit"
1713 ]
1714 ]
1715 },
1716 "protected" : 1,
1717 "returns" : {
1718 "type" : "object"
1719 }
7aacca6f 1720 },
44660702
DM
1721 "PUT" : {
1722 "description" : "Update IP or Network settings",
1723 "method" : "PUT",
1724 "name" : "update_ip",
1725 "parameters" : {
1726 "additionalProperties" : 0,
1727 "properties" : {
1728 "cidr" : {
1729 "description" : "Network/IP specification in CIDR format.",
1730 "format" : "IPorCIDRorAlias",
013dc89f
DM
1731 "type" : "string",
1732 "typetext" : "<string>"
44660702
DM
1733 },
1734 "comment" : {
1735 "optional" : 1,
013dc89f
DM
1736 "type" : "string",
1737 "typetext" : "<string>"
44660702
DM
1738 },
1739 "digest" : {
1740 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1741 "maxLength" : 40,
1742 "optional" : 1,
013dc89f
DM
1743 "type" : "string",
1744 "typetext" : "<string>"
44660702
DM
1745 },
1746 "name" : {
1747 "description" : "IP set name.",
1748 "maxLength" : 64,
1749 "minLength" : 2,
1750 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1751 "type" : "string"
1752 },
1753 "nomatch" : {
1754 "optional" : 1,
013dc89f
DM
1755 "type" : "boolean",
1756 "typetext" : "<boolean>"
44660702
DM
1757 }
1758 }
1759 },
1760 "permissions" : {
1761 "check" : [
1762 "perm",
1763 "/",
1764 [
1765 "Sys.Modify"
1766 ]
1767 ]
1768 },
1769 "protected" : 1,
1770 "returns" : {
1771 "type" : "null"
1772 }
7aacca6f
DM
1773 }
1774 },
44660702
DM
1775 "leaf" : 1,
1776 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1777 "text" : "{cidr}"
7aacca6f 1778 }
44660702 1779 ],
7aacca6f
DM
1780 "info" : {
1781 "DELETE" : {
44660702
DM
1782 "description" : "Delete IPSet",
1783 "method" : "DELETE",
1784 "name" : "delete_ipset",
56122987 1785 "parameters" : {
44660702 1786 "additionalProperties" : 0,
56122987
DM
1787 "properties" : {
1788 "name" : {
44660702 1789 "description" : "IP set name.",
56122987 1790 "maxLength" : 64,
44660702 1791 "minLength" : 2,
56122987 1792 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1793 "type" : "string"
56122987 1794 }
44660702 1795 }
7aacca6f 1796 },
56122987
DM
1797 "permissions" : {
1798 "check" : [
1799 "perm",
1800 "/",
1801 [
1802 "Sys.Modify"
1803 ]
1804 ]
1805 },
7aacca6f
DM
1806 "protected" : 1,
1807 "returns" : {
1808 "type" : "null"
44660702 1809 }
7aacca6f 1810 },
44660702
DM
1811 "GET" : {
1812 "description" : "List IPSet content",
1813 "method" : "GET",
1814 "name" : "get_ipset",
56122987
DM
1815 "parameters" : {
1816 "additionalProperties" : 0,
1817 "properties" : {
7aacca6f 1818 "name" : {
44660702 1819 "description" : "IP set name.",
7aacca6f 1820 "maxLength" : 64,
7aacca6f 1821 "minLength" : 2,
44660702 1822 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1823 "type" : "string"
56122987 1824 }
7aacca6f 1825 }
56122987 1826 },
56122987
DM
1827 "permissions" : {
1828 "check" : [
1829 "perm",
1830 "/",
1831 [
44660702 1832 "Sys.Audit"
56122987
DM
1833 ]
1834 ]
44660702
DM
1835 },
1836 "returns" : {
1837 "items" : {
1838 "properties" : {
1839 "cidr" : {
1840 "type" : "string"
1841 },
1842 "comment" : {
1843 "optional" : 1,
1844 "type" : "string"
1845 },
1846 "digest" : {
1847 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1848 "maxLength" : 40,
1849 "optional" : 0,
1850 "type" : "string"
1851 },
1852 "nomatch" : {
1853 "optional" : 1,
1854 "type" : "boolean"
1855 }
1856 },
1857 "type" : "object"
1858 },
1859 "links" : [
1860 {
1861 "href" : "{cidr}",
1862 "rel" : "child"
1863 }
1864 ],
1865 "type" : "array"
7aacca6f
DM
1866 }
1867 },
44660702
DM
1868 "POST" : {
1869 "description" : "Add IP or Network to IPSet.",
1870 "method" : "POST",
1871 "name" : "create_ip",
56122987
DM
1872 "parameters" : {
1873 "additionalProperties" : 0,
1874 "properties" : {
44660702
DM
1875 "cidr" : {
1876 "description" : "Network/IP specification in CIDR format.",
1877 "format" : "IPorCIDRorAlias",
013dc89f
DM
1878 "type" : "string",
1879 "typetext" : "<string>"
44660702
DM
1880 },
1881 "comment" : {
1882 "optional" : 1,
013dc89f
DM
1883 "type" : "string",
1884 "typetext" : "<string>"
44660702
DM
1885 },
1886 "name" : {
1887 "description" : "IP set name.",
1888 "maxLength" : 64,
1889 "minLength" : 2,
1890 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1891 "type" : "string"
1892 },
1893 "nomatch" : {
1894 "optional" : 1,
013dc89f
DM
1895 "type" : "boolean",
1896 "typetext" : "<boolean>"
56122987
DM
1897 }
1898 }
1899 },
56122987
DM
1900 "permissions" : {
1901 "check" : [
1902 "perm",
1903 "/",
1904 [
44660702 1905 "Sys.Modify"
56122987
DM
1906 ]
1907 ]
1908 },
44660702 1909 "protected" : 1,
56122987 1910 "returns" : {
44660702
DM
1911 "type" : "null"
1912 }
56122987
DM
1913 }
1914 },
44660702
DM
1915 "leaf" : 0,
1916 "path" : "/cluster/firewall/ipset/{name}",
1917 "text" : "{name}"
56122987
DM
1918 }
1919 ],
56122987 1920 "info" : {
44660702
DM
1921 "GET" : {
1922 "description" : "List IPSets",
1923 "method" : "GET",
1924 "name" : "ipset_index",
56122987 1925 "parameters" : {
7aacca6f 1926 "additionalProperties" : 0
56122987 1927 },
56122987
DM
1928 "permissions" : {
1929 "check" : [
1930 "perm",
1931 "/",
1932 [
7aacca6f 1933 "Sys.Audit"
56122987
DM
1934 ]
1935 ]
1936 },
56122987
DM
1937 "returns" : {
1938 "items" : {
1939 "properties" : {
44660702
DM
1940 "comment" : {
1941 "optional" : 1,
1942 "type" : "string"
56122987 1943 },
44660702
DM
1944 "digest" : {
1945 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1946 "maxLength" : 40,
1947 "optional" : 0,
1948 "type" : "string"
1949 },
1950 "name" : {
1951 "description" : "IP set name.",
1952 "maxLength" : 64,
1953 "minLength" : 2,
1954 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1955 "type" : "string"
56122987
DM
1956 }
1957 },
1958 "type" : "object"
44660702
DM
1959 },
1960 "links" : [
1961 {
1962 "href" : "{name}",
1963 "rel" : "child"
1964 }
1965 ],
1966 "type" : "array"
56122987 1967 }
44660702
DM
1968 },
1969 "POST" : {
1970 "description" : "Create new IPSet",
1971 "method" : "POST",
1972 "name" : "create_ipset",
7aacca6f
DM
1973 "parameters" : {
1974 "additionalProperties" : 0,
1975 "properties" : {
44660702
DM
1976 "comment" : {
1977 "optional" : 1,
013dc89f
DM
1978 "type" : "string",
1979 "typetext" : "<string>"
44660702
DM
1980 },
1981 "digest" : {
1982 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1983 "maxLength" : 40,
1984 "optional" : 1,
013dc89f
DM
1985 "type" : "string",
1986 "typetext" : "<string>"
44660702
DM
1987 },
1988 "name" : {
1989 "description" : "IP set name.",
1990 "maxLength" : 64,
1991 "minLength" : 2,
1992 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1993 "type" : "string"
1994 },
1995 "rename" : {
1996 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1997 "maxLength" : 64,
1998 "minLength" : 2,
1999 "optional" : 1,
2000 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2001 "type" : "string"
7aacca6f
DM
2002 }
2003 }
2004 },
56122987
DM
2005 "permissions" : {
2006 "check" : [
2007 "perm",
2008 "/",
2009 [
44660702 2010 "Sys.Modify"
56122987
DM
2011 ]
2012 ]
2013 },
44660702 2014 "protected" : 1,
56122987 2015 "returns" : {
44660702
DM
2016 "type" : "null"
2017 }
56122987 2018 }
7aacca6f 2019 },
44660702
DM
2020 "leaf" : 0,
2021 "path" : "/cluster/firewall/ipset",
2022 "text" : "ipset"
2023 },
56122987 2024 {
44660702
DM
2025 "children" : [
2026 {
2027 "info" : {
2028 "DELETE" : {
2029 "description" : "Remove IP or Network alias.",
2030 "method" : "DELETE",
2031 "name" : "remove_alias",
2032 "parameters" : {
2033 "additionalProperties" : 0,
2034 "properties" : {
2035 "digest" : {
2036 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2037 "maxLength" : 40,
2038 "optional" : 1,
013dc89f
DM
2039 "type" : "string",
2040 "typetext" : "<string>"
44660702
DM
2041 },
2042 "name" : {
2043 "description" : "Alias name.",
2044 "maxLength" : 64,
2045 "minLength" : 2,
2046 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2047 "type" : "string"
2048 }
2049 }
2050 },
2051 "permissions" : {
2052 "check" : [
2053 "perm",
2054 "/",
2055 [
2056 "Sys.Modify"
2057 ]
2058 ]
2059 },
2060 "protected" : 1,
2061 "returns" : {
2062 "type" : "null"
2063 }
2064 },
2065 "GET" : {
2066 "description" : "Read alias.",
2067 "method" : "GET",
2068 "name" : "read_alias",
2069 "parameters" : {
2070 "additionalProperties" : 0,
2071 "properties" : {
2072 "name" : {
2073 "description" : "Alias name.",
2074 "maxLength" : 64,
2075 "minLength" : 2,
2076 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2077 "type" : "string"
2078 }
2079 }
2080 },
2081 "permissions" : {
2082 "check" : [
2083 "perm",
2084 "/",
2085 [
2086 "Sys.Audit"
2087 ]
2088 ]
2089 },
2090 "returns" : {
2091 "type" : "object"
2092 }
2093 },
2094 "PUT" : {
2095 "description" : "Update IP or Network alias.",
2096 "method" : "PUT",
2097 "name" : "update_alias",
2098 "parameters" : {
2099 "additionalProperties" : 0,
2100 "properties" : {
2101 "cidr" : {
2102 "description" : "Network/IP specification in CIDR format.",
2103 "format" : "IPorCIDR",
013dc89f
DM
2104 "type" : "string",
2105 "typetext" : "<string>"
44660702
DM
2106 },
2107 "comment" : {
2108 "optional" : 1,
013dc89f
DM
2109 "type" : "string",
2110 "typetext" : "<string>"
44660702
DM
2111 },
2112 "digest" : {
2113 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2114 "maxLength" : 40,
2115 "optional" : 1,
013dc89f
DM
2116 "type" : "string",
2117 "typetext" : "<string>"
44660702
DM
2118 },
2119 "name" : {
2120 "description" : "Alias name.",
2121 "maxLength" : 64,
2122 "minLength" : 2,
2123 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2124 "type" : "string"
2125 },
2126 "rename" : {
2127 "description" : "Rename an existing alias.",
2128 "maxLength" : 64,
2129 "minLength" : 2,
2130 "optional" : 1,
2131 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2132 "type" : "string"
2133 }
2134 }
2135 },
2136 "permissions" : {
2137 "check" : [
2138 "perm",
2139 "/",
2140 [
2141 "Sys.Modify"
2142 ]
2143 ]
2144 },
2145 "protected" : 1,
2146 "returns" : {
2147 "type" : "null"
2148 }
2149 }
2150 },
2151 "leaf" : 1,
2152 "path" : "/cluster/firewall/aliases/{name}",
2153 "text" : "{name}"
2154 }
2155 ],
2156 "info" : {
2157 "GET" : {
2158 "description" : "List aliases",
2159 "method" : "GET",
2160 "name" : "get_aliases",
2161 "parameters" : {
2162 "additionalProperties" : 0
2163 },
2164 "permissions" : {
2165 "check" : [
2166 "perm",
2167 "/",
2168 [
2169 "Sys.Audit"
2170 ]
2171 ]
2172 },
2173 "returns" : {
2174 "items" : {
2175 "properties" : {
2176 "cidr" : {
2177 "type" : "string"
2178 },
2179 "comment" : {
2180 "optional" : 1,
2181 "type" : "string"
2182 },
2183 "digest" : {
2184 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2185 "maxLength" : 40,
2186 "optional" : 0,
2187 "type" : "string"
2188 },
2189 "name" : {
2190 "type" : "string"
2191 }
2192 },
2193 "type" : "object"
2194 },
2195 "links" : [
2196 {
2197 "href" : "{name}",
2198 "rel" : "child"
2199 }
2200 ],
2201 "type" : "array"
2202 }
2203 },
2204 "POST" : {
2205 "description" : "Create IP or Network Alias.",
2206 "method" : "POST",
2207 "name" : "create_alias",
56122987
DM
2208 "parameters" : {
2209 "additionalProperties" : 0,
2210 "properties" : {
44660702
DM
2211 "cidr" : {
2212 "description" : "Network/IP specification in CIDR format.",
2213 "format" : "IPorCIDR",
013dc89f
DM
2214 "type" : "string",
2215 "typetext" : "<string>"
44660702
DM
2216 },
2217 "comment" : {
2218 "optional" : 1,
013dc89f
DM
2219 "type" : "string",
2220 "typetext" : "<string>"
44660702
DM
2221 },
2222 "name" : {
2223 "description" : "Alias name.",
2224 "maxLength" : 64,
2225 "minLength" : 2,
2226 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2227 "type" : "string"
56122987
DM
2228 }
2229 }
2230 },
56122987
DM
2231 "permissions" : {
2232 "check" : [
2233 "perm",
2234 "/",
2235 [
2236 "Sys.Modify"
2237 ]
2238 ]
2239 },
44660702 2240 "protected" : 1,
56122987
DM
2241 "returns" : {
2242 "type" : "null"
2243 }
44660702
DM
2244 }
2245 },
2246 "leaf" : 0,
2247 "path" : "/cluster/firewall/aliases",
2248 "text" : "aliases"
2249 },
2250 {
2251 "info" : {
2252 "GET" : {
2253 "description" : "Get Firewall options.",
2254 "method" : "GET",
2255 "name" : "get_options",
2256 "parameters" : {
2257 "additionalProperties" : 0
7aacca6f 2258 },
56122987
DM
2259 "permissions" : {
2260 "check" : [
2261 "perm",
2262 "/",
2263 [
44660702 2264 "Sys.Audit"
56122987
DM
2265 ]
2266 ]
2267 },
44660702 2268 "returns" : {
56122987 2269 "properties" : {
5da3d723
TL
2270 "ebtables" : {
2271 "default" : 1,
2272 "description" : "Enable ebtables rules cluster wide.",
2273 "optional" : 1,
2274 "type" : "boolean"
2275 },
44660702
DM
2276 "enable" : {
2277 "description" : "Enable or disable the firewall cluster wide.",
2278 "minimum" : 0,
56122987 2279 "optional" : 1,
7aacca6f 2280 "type" : "integer"
56122987 2281 },
44660702
DM
2282 "policy_in" : {
2283 "description" : "Input policy.",
2284 "enum" : [
2285 "ACCEPT",
2286 "REJECT",
2287 "DROP"
2288 ],
56122987 2289 "optional" : 1,
44660702 2290 "type" : "string"
7aacca6f 2291 },
44660702
DM
2292 "policy_out" : {
2293 "description" : "Output policy.",
2294 "enum" : [
2295 "ACCEPT",
2296 "REJECT",
2297 "DROP"
2298 ],
7aacca6f 2299 "optional" : 1,
44660702
DM
2300 "type" : "string"
2301 }
2302 },
2303 "type" : "object"
2304 }
2305 },
2306 "PUT" : {
2307 "description" : "Set Firewall options.",
2308 "method" : "PUT",
2309 "name" : "set_options",
2310 "parameters" : {
2311 "additionalProperties" : 0,
2312 "properties" : {
2313 "delete" : {
2314 "description" : "A list of settings you want to delete.",
2315 "format" : "pve-configid-list",
56122987 2316 "optional" : 1,
013dc89f
DM
2317 "type" : "string",
2318 "typetext" : "<string>"
56122987 2319 },
44660702
DM
2320 "digest" : {
2321 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2322 "maxLength" : 40,
56122987 2323 "optional" : 1,
013dc89f
DM
2324 "type" : "string",
2325 "typetext" : "<string>"
56122987 2326 },
5da3d723
TL
2327 "ebtables" : {
2328 "default" : 1,
2329 "description" : "Enable ebtables rules cluster wide.",
2330 "optional" : 1,
2331 "type" : "boolean",
2332 "typetext" : "<boolean>"
2333 },
44660702
DM
2334 "enable" : {
2335 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2336 "minimum" : 0,
56122987 2337 "optional" : 1,
4bd7df8b 2338 "type" : "integer",
013dc89f 2339 "typetext" : "<integer> (0 - N)"
56122987 2340 },
44660702
DM
2341 "policy_in" : {
2342 "description" : "Input policy.",
56122987 2343 "enum" : [
44660702
DM
2344 "ACCEPT",
2345 "REJECT",
2346 "DROP"
56122987 2347 ],
56122987 2348 "optional" : 1,
44660702 2349 "type" : "string"
56122987 2350 },
44660702
DM
2351 "policy_out" : {
2352 "description" : "Output policy.",
56122987 2353 "enum" : [
44660702
DM
2354 "ACCEPT",
2355 "REJECT",
2356 "DROP"
56122987 2357 ],
7aacca6f 2358 "optional" : 1,
44660702 2359 "type" : "string"
56122987 2360 }
44660702
DM
2361 }
2362 },
2363 "permissions" : {
2364 "check" : [
2365 "perm",
2366 "/",
2367 [
2368 "Sys.Modify"
2369 ]
2370 ]
7aacca6f
DM
2371 },
2372 "protected" : 1,
44660702
DM
2373 "returns" : {
2374 "type" : "null"
2375 }
2376 }
2377 },
2378 "leaf" : 1,
2379 "path" : "/cluster/firewall/options",
2380 "text" : "options"
2381 },
2382 {
2383 "info" : {
7aacca6f 2384 "GET" : {
44660702 2385 "description" : "List available macros",
7aacca6f 2386 "method" : "GET",
44660702
DM
2387 "name" : "get_macros",
2388 "parameters" : {
2389 "additionalProperties" : 0
7aacca6f 2390 },
44660702
DM
2391 "permissions" : {
2392 "user" : "all"
2393 },
2394 "returns" : {
2395 "items" : {
2396 "properties" : {
2397 "descr" : {
2398 "description" : "More verbose description (if available).",
2399 "type" : "string"
2400 },
2401 "macro" : {
2402 "description" : "Macro name.",
2403 "type" : "string"
2404 }
2405 },
2406 "type" : "object"
2407 },
2408 "type" : "array"
2409 }
2410 }
2411 },
2412 "leaf" : 1,
2413 "path" : "/cluster/firewall/macros",
2414 "text" : "macros"
2415 },
2416 {
2417 "info" : {
2418 "GET" : {
2419 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2420 "method" : "GET",
2421 "name" : "refs",
7aacca6f 2422 "parameters" : {
44660702 2423 "additionalProperties" : 0,
7aacca6f 2424 "properties" : {
44660702
DM
2425 "type" : {
2426 "description" : "Only list references of specified type.",
2427 "enum" : [
2428 "alias",
2429 "ipset"
2430 ],
2431 "optional" : 1,
2432 "type" : "string"
7aacca6f 2433 }
44660702 2434 }
7aacca6f
DM
2435 },
2436 "permissions" : {
2437 "check" : [
2438 "perm",
2439 "/",
2440 [
2441 "Sys.Audit"
2442 ]
2443 ]
2444 },
44660702
DM
2445 "returns" : {
2446 "items" : {
2447 "properties" : {
2448 "comment" : {
2449 "optional" : 1,
2450 "type" : "string"
2451 },
2452 "name" : {
2453 "type" : "string"
2454 },
2455 "ref" : {
2456 "type" : "string"
2457 },
2458 "type" : {
2459 "enum" : [
2460 "alias",
2461 "ipset"
2462 ],
2463 "type" : "string"
2464 }
2465 },
2466 "type" : "object"
2467 },
2468 "type" : "array"
2469 }
56122987
DM
2470 }
2471 },
7aacca6f 2472 "leaf" : 1,
44660702
DM
2473 "path" : "/cluster/firewall/refs",
2474 "text" : "refs"
56122987
DM
2475 }
2476 ],
56122987 2477 "info" : {
44660702
DM
2478 "GET" : {
2479 "description" : "Directory index.",
2480 "method" : "GET",
2481 "name" : "index",
56122987 2482 "parameters" : {
56122987
DM
2483 "additionalProperties" : 0
2484 },
44660702
DM
2485 "permissions" : {
2486 "user" : "all"
2487 },
56122987 2488 "returns" : {
44660702
DM
2489 "items" : {
2490 "properties" : {},
2491 "type" : "object"
2492 },
7aacca6f
DM
2493 "links" : [
2494 {
44660702
DM
2495 "href" : "{name}",
2496 "rel" : "child"
7aacca6f
DM
2497 }
2498 ],
7aacca6f 2499 "type" : "array"
7aacca6f 2500 }
56122987
DM
2501 }
2502 },
44660702
DM
2503 "leaf" : 0,
2504 "path" : "/cluster/firewall",
2505 "text" : "firewall"
7aacca6f
DM
2506 },
2507 {
56122987
DM
2508 "children" : [
2509 {
56122987 2510 "info" : {
44660702
DM
2511 "DELETE" : {
2512 "description" : "Delete vzdump backup job definition.",
2513 "method" : "DELETE",
2514 "name" : "delete_job",
2515 "parameters" : {
2516 "additionalProperties" : 0,
2517 "properties" : {
2518 "id" : {
2519 "description" : "The job ID.",
2520 "maxLength" : 50,
013dc89f
DM
2521 "type" : "string",
2522 "typetext" : "<string>"
44660702
DM
2523 }
2524 }
2525 },
2526 "permissions" : {
2527 "check" : [
2528 "perm",
2529 "/",
2530 [
2531 "Sys.Modify"
2532 ]
2533 ]
2534 },
2535 "protected" : 1,
56122987
DM
2536 "returns" : {
2537 "type" : "null"
44660702
DM
2538 }
2539 },
2540 "GET" : {
2541 "description" : "Read vzdump backup job definition.",
2542 "method" : "GET",
2543 "name" : "read_job",
2544 "parameters" : {
2545 "additionalProperties" : 0,
2546 "properties" : {
2547 "id" : {
2548 "description" : "The job ID.",
2549 "maxLength" : 50,
013dc89f
DM
2550 "type" : "string",
2551 "typetext" : "<string>"
44660702
DM
2552 }
2553 }
56122987 2554 },
7aacca6f
DM
2555 "permissions" : {
2556 "check" : [
2557 "perm",
2558 "/",
2559 [
44660702 2560 "Sys.Audit"
7aacca6f
DM
2561 ]
2562 ]
2563 },
44660702
DM
2564 "returns" : {
2565 "type" : "object"
2566 }
2567 },
2568 "PUT" : {
2569 "description" : "Update vzdump backup job definition.",
2570 "method" : "PUT",
2571 "name" : "update_job",
56122987 2572 "parameters" : {
44660702 2573 "additionalProperties" : 0,
56122987 2574 "properties" : {
44660702
DM
2575 "all" : {
2576 "default" : 0,
2577 "description" : "Backup all known guest systems on this host.",
7aacca6f 2578 "optional" : 1,
013dc89f
DM
2579 "type" : "boolean",
2580 "typetext" : "<boolean>"
7aacca6f 2581 },
44660702
DM
2582 "bwlimit" : {
2583 "default" : 0,
2584 "description" : "Limit I/O bandwidth (KBytes per second).",
2585 "minimum" : 0,
2586 "optional" : 1,
4bd7df8b 2587 "type" : "integer",
013dc89f 2588 "typetext" : "<integer> (0 - N)"
44660702
DM
2589 },
2590 "compress" : {
2591 "default" : "0",
2592 "description" : "Compress dump file.",
7aacca6f 2593 "enum" : [
44660702
DM
2594 "0",
2595 "1",
2596 "gzip",
2597 "lzo"
7aacca6f 2598 ],
44660702
DM
2599 "optional" : 1,
2600 "type" : "string"
7aacca6f 2601 },
44660702
DM
2602 "delete" : {
2603 "description" : "A list of settings you want to delete.",
2604 "format" : "pve-configid-list",
7aacca6f 2605 "optional" : 1,
013dc89f
DM
2606 "type" : "string",
2607 "typetext" : "<string>"
56122987 2608 },
44660702
DM
2609 "dow" : {
2610 "description" : "Day of week selection.",
2611 "format" : "pve-day-of-week-list",
7aacca6f 2612 "optional" : 1,
013dc89f
DM
2613 "type" : "string",
2614 "typetext" : "<string>"
56122987 2615 },
44660702
DM
2616 "dumpdir" : {
2617 "description" : "Store resulting files to specified directory.",
56122987 2618 "optional" : 1,
013dc89f
DM
2619 "type" : "string",
2620 "typetext" : "<string>"
56122987 2621 },
44660702
DM
2622 "enabled" : {
2623 "default" : "1",
2624 "description" : "Enable or disable the job.",
2625 "optional" : 1,
013dc89f
DM
2626 "type" : "boolean",
2627 "typetext" : "<boolean>"
44660702
DM
2628 },
2629 "exclude" : {
2630 "description" : "Exclude specified guest systems (assumes --all)",
2631 "format" : "pve-vmid-list",
2632 "optional" : 1,
013dc89f
DM
2633 "type" : "string",
2634 "typetext" : "<string>"
44660702
DM
2635 },
2636 "exclude-path" : {
2637 "description" : "Exclude certain files/directories (shell globs).",
2638 "format" : "string-alist",
2639 "optional" : 1,
013dc89f
DM
2640 "type" : "string",
2641 "typetext" : "<string>"
44660702
DM
2642 },
2643 "id" : {
2644 "description" : "The job ID.",
2645 "maxLength" : 50,
013dc89f
DM
2646 "type" : "string",
2647 "typetext" : "<string>"
44660702
DM
2648 },
2649 "ionice" : {
2650 "default" : 7,
2651 "description" : "Set CFQ ionice priority.",
2652 "maximum" : 8,
2653 "minimum" : 0,
2654 "optional" : 1,
4bd7df8b 2655 "type" : "integer",
013dc89f 2656 "typetext" : "<integer> (0 - 8)"
44660702
DM
2657 },
2658 "lockwait" : {
2659 "default" : 180,
2660 "description" : "Maximal time to wait for the global lock (minutes).",
2661 "minimum" : 0,
2662 "optional" : 1,
4bd7df8b 2663 "type" : "integer",
013dc89f 2664 "typetext" : "<integer> (0 - N)"
44660702
DM
2665 },
2666 "mailnotification" : {
2667 "default" : "always",
2668 "description" : "Specify when to send an email",
56122987 2669 "enum" : [
44660702
DM
2670 "always",
2671 "failure"
56122987 2672 ],
44660702
DM
2673 "optional" : 1,
2674 "type" : "string"
2675 },
2676 "mailto" : {
2677 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2678 "format" : "string-list",
2679 "optional" : 1,
013dc89f
DM
2680 "type" : "string",
2681 "typetext" : "<string>"
44660702
DM
2682 },
2683 "maxfiles" : {
2684 "default" : 1,
2685 "description" : "Maximal number of backup files per guest system.",
2686 "minimum" : 1,
2687 "optional" : 1,
4bd7df8b 2688 "type" : "integer",
013dc89f 2689 "typetext" : "<integer> (1 - N)"
44660702
DM
2690 },
2691 "mode" : {
2692 "default" : "snapshot",
2693 "description" : "Backup mode.",
2694 "enum" : [
2695 "snapshot",
2696 "suspend",
2697 "stop"
2698 ],
2699 "optional" : 1,
2700 "type" : "string"
2701 },
2702 "node" : {
2703 "description" : "Only run if executed on this node.",
2704 "format" : "pve-node",
2705 "optional" : 1,
013dc89f
DM
2706 "type" : "string",
2707 "typetext" : "<string>"
44660702
DM
2708 },
2709 "pigz" : {
2710 "default" : 0,
2711 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2712 "optional" : 1,
013dc89f
DM
2713 "type" : "integer",
2714 "typetext" : "<integer>"
44660702
DM
2715 },
2716 "quiet" : {
2717 "default" : 0,
2718 "description" : "Be quiet.",
2719 "optional" : 1,
013dc89f
DM
2720 "type" : "boolean",
2721 "typetext" : "<boolean>"
44660702
DM
2722 },
2723 "remove" : {
2724 "default" : 1,
2725 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2726 "optional" : 1,
013dc89f
DM
2727 "type" : "boolean",
2728 "typetext" : "<boolean>"
44660702
DM
2729 },
2730 "script" : {
2731 "description" : "Use specified hook script.",
2732 "optional" : 1,
013dc89f
DM
2733 "type" : "string",
2734 "typetext" : "<string>"
44660702
DM
2735 },
2736 "size" : {
2737 "default" : 1024,
2738 "description" : "Unused, will be removed in a future release.",
2739 "minimum" : 500,
2740 "optional" : 1,
4bd7df8b 2741 "type" : "integer",
013dc89f 2742 "typetext" : "<integer> (500 - N)"
44660702
DM
2743 },
2744 "starttime" : {
2745 "description" : "Job Start time.",
2746 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2747 "type" : "string",
44660702 2748 "typetext" : "HH:MM"
7aacca6f 2749 },
44660702
DM
2750 "stdexcludes" : {
2751 "default" : 1,
2752 "description" : "Exclude temporary files and logs.",
2753 "optional" : 1,
013dc89f
DM
2754 "type" : "boolean",
2755 "typetext" : "<boolean>"
44660702
DM
2756 },
2757 "stop" : {
2758 "default" : 0,
2759 "description" : "Stop runnig backup jobs on this host.",
2760 "optional" : 1,
013dc89f
DM
2761 "type" : "boolean",
2762 "typetext" : "<boolean>"
44660702
DM
2763 },
2764 "stopwait" : {
2765 "default" : 10,
2766 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2767 "minimum" : 0,
2768 "optional" : 1,
4bd7df8b 2769 "type" : "integer",
013dc89f 2770 "typetext" : "<integer> (0 - N)"
44660702
DM
2771 },
2772 "storage" : {
2773 "description" : "Store resulting file to this storage.",
2774 "format" : "pve-storage-id",
2775 "optional" : 1,
013dc89f
DM
2776 "type" : "string",
2777 "typetext" : "<string>"
56122987 2778 },
44660702
DM
2779 "tmpdir" : {
2780 "description" : "Store temporary files to specified directory.",
2781 "optional" : 1,
013dc89f
DM
2782 "type" : "string",
2783 "typetext" : "<string>"
44660702
DM
2784 },
2785 "vmid" : {
2786 "description" : "The ID of the guest system you want to backup.",
2787 "format" : "pve-vmid-list",
2788 "optional" : 1,
013dc89f
DM
2789 "type" : "string",
2790 "typetext" : "<string>"
56122987 2791 }
44660702 2792 }
56122987
DM
2793 },
2794 "permissions" : {
2795 "check" : [
2796 "perm",
2797 "/",
2798 [
44660702 2799 "Sys.Modify"
56122987
DM
2800 ]
2801 ]
2802 },
44660702
DM
2803 "protected" : 1,
2804 "returns" : {
2805 "type" : "null"
7aacca6f 2806 }
56122987
DM
2807 }
2808 },
44660702
DM
2809 "leaf" : 1,
2810 "path" : "/cluster/backup/{id}",
2811 "text" : "{id}"
2812 }
2813 ],
2814 "info" : {
2815 "GET" : {
2816 "description" : "List vzdump backup schedule.",
2817 "method" : "GET",
2818 "name" : "index",
2819 "parameters" : {
2820 "additionalProperties" : 0
2821 },
2822 "permissions" : {
2823 "check" : [
2824 "perm",
2825 "/",
2826 [
2827 "Sys.Audit"
2828 ]
2829 ]
2830 },
2831 "returns" : {
2832 "items" : {
2833 "properties" : {
2834 "id" : {
2835 "type" : "string"
2836 }
2837 },
2838 "type" : "object"
2839 },
2840 "links" : [
2841 {
2842 "href" : "{id}",
2843 "rel" : "child"
2844 }
2845 ],
2846 "type" : "array"
2847 }
2848 },
2849 "POST" : {
2850 "description" : "Create new vzdump backup job.",
2851 "method" : "POST",
2852 "name" : "create_job",
2853 "parameters" : {
2854 "additionalProperties" : 0,
2855 "properties" : {
2856 "all" : {
2857 "default" : 0,
2858 "description" : "Backup all known guest systems on this host.",
2859 "optional" : 1,
013dc89f
DM
2860 "type" : "boolean",
2861 "typetext" : "<boolean>"
44660702
DM
2862 },
2863 "bwlimit" : {
2864 "default" : 0,
2865 "description" : "Limit I/O bandwidth (KBytes per second).",
2866 "minimum" : 0,
2867 "optional" : 1,
4bd7df8b 2868 "type" : "integer",
013dc89f 2869 "typetext" : "<integer> (0 - N)"
44660702
DM
2870 },
2871 "compress" : {
2872 "default" : "0",
2873 "description" : "Compress dump file.",
2874 "enum" : [
2875 "0",
2876 "1",
2877 "gzip",
2878 "lzo"
2879 ],
2880 "optional" : 1,
2881 "type" : "string"
2882 },
2883 "dow" : {
2884 "default" : "mon,tue,wed,thu,fri,sat,sun",
2885 "description" : "Day of week selection.",
2886 "format" : "pve-day-of-week-list",
2887 "optional" : 1,
013dc89f
DM
2888 "type" : "string",
2889 "typetext" : "<string>"
44660702
DM
2890 },
2891 "dumpdir" : {
2892 "description" : "Store resulting files to specified directory.",
2893 "optional" : 1,
013dc89f
DM
2894 "type" : "string",
2895 "typetext" : "<string>"
44660702
DM
2896 },
2897 "enabled" : {
2898 "default" : "1",
2899 "description" : "Enable or disable the job.",
2900 "optional" : 1,
013dc89f
DM
2901 "type" : "boolean",
2902 "typetext" : "<boolean>"
44660702
DM
2903 },
2904 "exclude" : {
2905 "description" : "Exclude specified guest systems (assumes --all)",
2906 "format" : "pve-vmid-list",
2907 "optional" : 1,
013dc89f
DM
2908 "type" : "string",
2909 "typetext" : "<string>"
44660702
DM
2910 },
2911 "exclude-path" : {
2912 "description" : "Exclude certain files/directories (shell globs).",
2913 "format" : "string-alist",
2914 "optional" : 1,
013dc89f
DM
2915 "type" : "string",
2916 "typetext" : "<string>"
44660702
DM
2917 },
2918 "ionice" : {
2919 "default" : 7,
2920 "description" : "Set CFQ ionice priority.",
2921 "maximum" : 8,
2922 "minimum" : 0,
2923 "optional" : 1,
4bd7df8b 2924 "type" : "integer",
013dc89f 2925 "typetext" : "<integer> (0 - 8)"
44660702
DM
2926 },
2927 "lockwait" : {
2928 "default" : 180,
2929 "description" : "Maximal time to wait for the global lock (minutes).",
2930 "minimum" : 0,
2931 "optional" : 1,
4bd7df8b 2932 "type" : "integer",
013dc89f 2933 "typetext" : "<integer> (0 - N)"
44660702
DM
2934 },
2935 "mailnotification" : {
2936 "default" : "always",
2937 "description" : "Specify when to send an email",
2938 "enum" : [
2939 "always",
2940 "failure"
2941 ],
2942 "optional" : 1,
2943 "type" : "string"
2944 },
2945 "mailto" : {
2946 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2947 "format" : "string-list",
2948 "optional" : 1,
013dc89f
DM
2949 "type" : "string",
2950 "typetext" : "<string>"
44660702
DM
2951 },
2952 "maxfiles" : {
2953 "default" : 1,
2954 "description" : "Maximal number of backup files per guest system.",
2955 "minimum" : 1,
2956 "optional" : 1,
4bd7df8b 2957 "type" : "integer",
013dc89f 2958 "typetext" : "<integer> (1 - N)"
44660702
DM
2959 },
2960 "mode" : {
2961 "default" : "snapshot",
2962 "description" : "Backup mode.",
2963 "enum" : [
2964 "snapshot",
2965 "suspend",
2966 "stop"
2967 ],
2968 "optional" : 1,
2969 "type" : "string"
2970 },
2971 "node" : {
2972 "description" : "Only run if executed on this node.",
2973 "format" : "pve-node",
2974 "optional" : 1,
013dc89f
DM
2975 "type" : "string",
2976 "typetext" : "<string>"
44660702
DM
2977 },
2978 "pigz" : {
2979 "default" : 0,
2980 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2981 "optional" : 1,
013dc89f
DM
2982 "type" : "integer",
2983 "typetext" : "<integer>"
44660702
DM
2984 },
2985 "quiet" : {
2986 "default" : 0,
2987 "description" : "Be quiet.",
2988 "optional" : 1,
013dc89f
DM
2989 "type" : "boolean",
2990 "typetext" : "<boolean>"
44660702
DM
2991 },
2992 "remove" : {
2993 "default" : 1,
2994 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2995 "optional" : 1,
013dc89f
DM
2996 "type" : "boolean",
2997 "typetext" : "<boolean>"
44660702
DM
2998 },
2999 "script" : {
3000 "description" : "Use specified hook script.",
3001 "optional" : 1,
013dc89f
DM
3002 "type" : "string",
3003 "typetext" : "<string>"
44660702
DM
3004 },
3005 "size" : {
3006 "default" : 1024,
3007 "description" : "Unused, will be removed in a future release.",
3008 "minimum" : 500,
3009 "optional" : 1,
4bd7df8b 3010 "type" : "integer",
013dc89f 3011 "typetext" : "<integer> (500 - N)"
44660702
DM
3012 },
3013 "starttime" : {
3014 "description" : "Job Start time.",
3015 "pattern" : "\\d{1,2}:\\d{1,2}",
3016 "type" : "string",
3017 "typetext" : "HH:MM"
3018 },
3019 "stdexcludes" : {
3020 "default" : 1,
3021 "description" : "Exclude temporary files and logs.",
3022 "optional" : 1,
013dc89f
DM
3023 "type" : "boolean",
3024 "typetext" : "<boolean>"
44660702
DM
3025 },
3026 "stop" : {
3027 "default" : 0,
3028 "description" : "Stop runnig backup jobs on this host.",
3029 "optional" : 1,
013dc89f
DM
3030 "type" : "boolean",
3031 "typetext" : "<boolean>"
44660702
DM
3032 },
3033 "stopwait" : {
3034 "default" : 10,
3035 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3036 "minimum" : 0,
3037 "optional" : 1,
4bd7df8b 3038 "type" : "integer",
013dc89f 3039 "typetext" : "<integer> (0 - N)"
44660702
DM
3040 },
3041 "storage" : {
3042 "description" : "Store resulting file to this storage.",
3043 "format" : "pve-storage-id",
3044 "optional" : 1,
013dc89f
DM
3045 "type" : "string",
3046 "typetext" : "<string>"
44660702
DM
3047 },
3048 "tmpdir" : {
3049 "description" : "Store temporary files to specified directory.",
3050 "optional" : 1,
013dc89f
DM
3051 "type" : "string",
3052 "typetext" : "<string>"
44660702
DM
3053 },
3054 "vmid" : {
3055 "description" : "The ID of the guest system you want to backup.",
3056 "format" : "pve-vmid-list",
3057 "optional" : 1,
013dc89f
DM
3058 "type" : "string",
3059 "typetext" : "<string>"
44660702
DM
3060 }
3061 }
3062 },
3063 "permissions" : {
3064 "check" : [
3065 "perm",
3066 "/",
3067 [
3068 "Sys.Modify"
3069 ]
de0983cb
DM
3070 ],
3071 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3072 },
3073 "protected" : 1,
3074 "returns" : {
3075 "type" : "null"
3076 }
3077 }
3078 },
3079 "leaf" : 0,
3080 "path" : "/cluster/backup",
3081 "text" : "backup"
3082 },
3083 {
3084 "children" : [
3085 {
3086 "children" : [
3087 {
3088 "children" : [
56122987 3089 {
56122987
DM
3090 "info" : {
3091 "POST" : {
44660702
DM
3092 "description" : "Request resource migration (online) to another node.",
3093 "method" : "POST",
3094 "name" : "migrate",
56122987 3095 "parameters" : {
7aacca6f 3096 "additionalProperties" : 0,
56122987
DM
3097 "properties" : {
3098 "node" : {
7aacca6f 3099 "description" : "The cluster node name.",
44660702 3100 "format" : "pve-node",
013dc89f
DM
3101 "type" : "string",
3102 "typetext" : "<string>"
56122987
DM
3103 },
3104 "sid" : {
44660702 3105 "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 3106 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3107 "type" : "string",
44660702 3108 "typetext" : "<type>:<name>"
56122987 3109 }
7aacca6f 3110 }
56122987 3111 },
56122987
DM
3112 "permissions" : {
3113 "check" : [
3114 "perm",
3115 "/",
3116 [
3117 "Sys.Console"
3118 ]
3119 ]
3120 },
7aacca6f 3121 "protected" : 1,
7aacca6f
DM
3122 "returns" : {
3123 "type" : "null"
44660702 3124 }
56122987 3125 }
44660702
DM
3126 },
3127 "leaf" : 1,
3128 "path" : "/cluster/ha/resources/{sid}/migrate",
3129 "text" : "migrate"
3130 },
3131 {
3132 "info" : {
3133 "POST" : {
3134 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3135 "method" : "POST",
3136 "name" : "relocate",
3137 "parameters" : {
3138 "additionalProperties" : 0,
3139 "properties" : {
3140 "node" : {
3141 "description" : "The cluster node name.",
3142 "format" : "pve-node",
013dc89f
DM
3143 "type" : "string",
3144 "typetext" : "<string>"
44660702
DM
3145 },
3146 "sid" : {
3147 "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).",
3148 "format" : "pve-ha-resource-or-vm-id",
3149 "type" : "string",
3150 "typetext" : "<type>:<name>"
3151 }
3152 }
3153 },
3154 "permissions" : {
3155 "check" : [
3156 "perm",
3157 "/",
3158 [
3159 "Sys.Console"
3160 ]
3161 ]
3162 },
3163 "protected" : 1,
3164 "returns" : {
3165 "type" : "null"
3166 }
3167 }
3168 },
3169 "leaf" : 1,
3170 "path" : "/cluster/ha/resources/{sid}/relocate",
3171 "text" : "relocate"
3172 }
3173 ],
3174 "info" : {
3175 "DELETE" : {
3176 "description" : "Delete resource configuration.",
3177 "method" : "DELETE",
3178 "name" : "delete",
7aacca6f 3179 "parameters" : {
44660702 3180 "additionalProperties" : 0,
7aacca6f
DM
3181 "properties" : {
3182 "sid" : {
3183 "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 3184 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3185 "type" : "string",
44660702
DM
3186 "typetext" : "<type>:<name>"
3187 }
3188 }
3189 },
3190 "permissions" : {
3191 "check" : [
3192 "perm",
3193 "/",
3194 [
3195 "Sys.Console"
3196 ]
3197 ]
3198 },
3199 "protected" : 1,
3200 "returns" : {
3201 "type" : "null"
3202 }
3203 },
3204 "GET" : {
3205 "description" : "Read resource configuration.",
3206 "method" : "GET",
3207 "name" : "read",
3208 "parameters" : {
3209 "additionalProperties" : 0,
3210 "properties" : {
3211 "sid" : {
3212 "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 3213 "format" : "pve-ha-resource-or-vm-id",
44660702 3214 "type" : "string",
7aacca6f
DM
3215 "typetext" : "<type>:<name>"
3216 }
44660702 3217 }
7aacca6f
DM
3218 },
3219 "permissions" : {
3220 "check" : [
3221 "perm",
3222 "/",
3223 [
3224 "Sys.Audit"
3225 ]
3226 ]
3227 },
44660702 3228 "returns" : {}
7aacca6f 3229 },
56122987 3230 "PUT" : {
44660702 3231 "description" : "Update resource configuration.",
7aacca6f 3232 "method" : "PUT",
44660702 3233 "name" : "update",
56122987
DM
3234 "parameters" : {
3235 "additionalProperties" : 0,
3236 "properties" : {
44660702
DM
3237 "comment" : {
3238 "description" : "Description.",
3239 "maxLength" : 4096,
56122987 3240 "optional" : 1,
013dc89f
DM
3241 "type" : "string",
3242 "typetext" : "<string>"
56122987 3243 },
7aacca6f
DM
3244 "delete" : {
3245 "description" : "A list of settings you want to delete.",
7aacca6f 3246 "format" : "pve-configid-list",
44660702
DM
3247 "maxLength" : 4096,
3248 "optional" : 1,
013dc89f
DM
3249 "type" : "string",
3250 "typetext" : "<string>"
56122987 3251 },
44660702
DM
3252 "digest" : {
3253 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3254 "maxLength" : 40,
3255 "optional" : 1,
013dc89f
DM
3256 "type" : "string",
3257 "typetext" : "<string>"
56122987 3258 },
44660702
DM
3259 "group" : {
3260 "description" : "The HA group identifier.",
3261 "format" : "pve-configid",
7aacca6f 3262 "optional" : 1,
013dc89f
DM
3263 "type" : "string",
3264 "typetext" : "<string>"
56122987
DM
3265 },
3266 "max_relocate" : {
7aacca6f 3267 "default" : 1,
56122987 3268 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3269 "minimum" : 0,
3270 "optional" : 1,
4bd7df8b 3271 "type" : "integer",
013dc89f 3272 "typetext" : "<integer> (0 - N)"
7aacca6f 3273 },
44660702
DM
3274 "max_restart" : {
3275 "default" : 1,
3276 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3277 "minimum" : 0,
7aacca6f 3278 "optional" : 1,
4bd7df8b 3279 "type" : "integer",
013dc89f 3280 "typetext" : "<integer> (0 - N)"
44660702
DM
3281 },
3282 "sid" : {
3283 "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).",
3284 "format" : "pve-ha-resource-or-vm-id",
3285 "type" : "string",
3286 "typetext" : "<type>:<name>"
7aacca6f
DM
3287 },
3288 "state" : {
f13c1238
DM
3289 "default" : "started",
3290 "description" : "Requested resource state.",
7aacca6f 3291 "enum" : [
f13c1238
DM
3292 "started",
3293 "stopped",
7aacca6f 3294 "enabled",
2489d6df
WB
3295 "disabled",
3296 "ignored"
7aacca6f 3297 ],
7aacca6f 3298 "optional" : 1,
f13c1238 3299 "type" : "string",
2489d6df 3300 "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 3301 }
44660702
DM
3302 },
3303 "type" : "object"
56122987 3304 },
56122987
DM
3305 "permissions" : {
3306 "check" : [
3307 "perm",
3308 "/",
3309 [
3310 "Sys.Console"
3311 ]
3312 ]
3313 },
7aacca6f 3314 "protected" : 1,
56122987
DM
3315 "returns" : {
3316 "type" : "null"
3317 }
3318 }
3319 },
44660702 3320 "leaf" : 0,
7aacca6f 3321 "path" : "/cluster/ha/resources/{sid}",
44660702 3322 "text" : "{sid}"
56122987
DM
3323 }
3324 ],
7aacca6f
DM
3325 "info" : {
3326 "GET" : {
44660702
DM
3327 "description" : "List HA resources.",
3328 "method" : "GET",
3329 "name" : "index",
7aacca6f 3330 "parameters" : {
44660702
DM
3331 "additionalProperties" : 0,
3332 "properties" : {
3333 "type" : {
3334 "description" : "Only list resources of specific type",
3335 "enum" : [
3336 "ct",
3337 "vm"
3338 ],
3339 "optional" : 1,
3340 "type" : "string"
3341 }
3342 }
7aacca6f 3343 },
7aacca6f
DM
3344 "permissions" : {
3345 "check" : [
3346 "perm",
3347 "/",
3348 [
3349 "Sys.Audit"
3350 ]
3351 ]
3352 },
7aacca6f 3353 "returns" : {
7aacca6f 3354 "items" : {
7aacca6f 3355 "properties" : {
44660702 3356 "sid" : {
7aacca6f
DM
3357 "type" : "string"
3358 }
44660702
DM
3359 },
3360 "type" : "object"
7aacca6f
DM
3361 },
3362 "links" : [
3363 {
44660702 3364 "href" : "{sid}",
7aacca6f
DM
3365 "rel" : "child"
3366 }
44660702
DM
3367 ],
3368 "type" : "array"
7aacca6f
DM
3369 }
3370 },
3371 "POST" : {
44660702 3372 "description" : "Create a new HA resource.",
7aacca6f 3373 "method" : "POST",
44660702 3374 "name" : "create",
7aacca6f 3375 "parameters" : {
44660702 3376 "additionalProperties" : 0,
7aacca6f
DM
3377 "properties" : {
3378 "comment" : {
7aacca6f 3379 "description" : "Description.",
44660702 3380 "maxLength" : 4096,
7aacca6f 3381 "optional" : 1,
013dc89f
DM
3382 "type" : "string",
3383 "typetext" : "<string>"
7aacca6f 3384 },
44660702
DM
3385 "group" : {
3386 "description" : "The HA group identifier.",
3387 "format" : "pve-configid",
7aacca6f 3388 "optional" : 1,
013dc89f
DM
3389 "type" : "string",
3390 "typetext" : "<string>"
7aacca6f 3391 },
44660702
DM
3392 "max_relocate" : {
3393 "default" : 1,
3394 "description" : "Maximal number of service relocate tries when a service failes to start.",
3395 "minimum" : 0,
7aacca6f 3396 "optional" : 1,
4bd7df8b 3397 "type" : "integer",
013dc89f 3398 "typetext" : "<integer> (0 - N)"
7aacca6f 3399 },
44660702
DM
3400 "max_restart" : {
3401 "default" : 1,
3402 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3403 "minimum" : 0,
3404 "optional" : 1,
4bd7df8b 3405 "type" : "integer",
013dc89f 3406 "typetext" : "<integer> (0 - N)"
44660702
DM
3407 },
3408 "sid" : {
3409 "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).",
3410 "format" : "pve-ha-resource-or-vm-id",
3411 "type" : "string",
3412 "typetext" : "<type>:<name>"
3413 },
3414 "state" : {
f13c1238
DM
3415 "default" : "started",
3416 "description" : "Requested resource state.",
7aacca6f 3417 "enum" : [
f13c1238
DM
3418 "started",
3419 "stopped",
44660702 3420 "enabled",
2489d6df
WB
3421 "disabled",
3422 "ignored"
7aacca6f 3423 ],
7aacca6f 3424 "optional" : 1,
f13c1238 3425 "type" : "string",
2489d6df 3426 "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 3427 },
44660702
DM
3428 "type" : {
3429 "description" : "Resource type.",
3430 "enum" : [
3431 "ct",
3432 "vm"
3433 ],
3434 "optional" : 1,
3435 "type" : "string"
3436 }
7aacca6f 3437 },
44660702 3438 "type" : "object"
7aacca6f
DM
3439 },
3440 "permissions" : {
3441 "check" : [
3442 "perm",
3443 "/",
3444 [
3445 "Sys.Console"
3446 ]
3447 ]
3448 },
44660702
DM
3449 "protected" : 1,
3450 "returns" : {
3451 "type" : "null"
3452 }
7aacca6f
DM
3453 }
3454 },
44660702
DM
3455 "leaf" : 0,
3456 "path" : "/cluster/ha/resources",
3457 "text" : "resources"
3458 },
3459 {
56122987
DM
3460 "children" : [
3461 {
56122987 3462 "info" : {
44660702
DM
3463 "DELETE" : {
3464 "description" : "Delete ha group configuration.",
3465 "method" : "DELETE",
3466 "name" : "delete",
56122987 3467 "parameters" : {
7aacca6f 3468 "additionalProperties" : 0,
56122987 3469 "properties" : {
7aacca6f
DM
3470 "group" : {
3471 "description" : "The HA group identifier.",
44660702 3472 "format" : "pve-configid",
013dc89f
DM
3473 "type" : "string",
3474 "typetext" : "<string>"
56122987 3475 }
7aacca6f 3476 }
56122987 3477 },
56122987
DM
3478 "permissions" : {
3479 "check" : [
3480 "perm",
3481 "/",
3482 [
7aacca6f 3483 "Sys.Console"
56122987
DM
3484 ]
3485 ]
3486 },
44660702 3487 "protected" : 1,
7aacca6f
DM
3488 "returns" : {
3489 "type" : "null"
56122987
DM
3490 }
3491 },
44660702
DM
3492 "GET" : {
3493 "description" : "Read ha group configuration.",
3494 "method" : "GET",
3495 "name" : "read",
56122987 3496 "parameters" : {
44660702 3497 "additionalProperties" : 0,
56122987
DM
3498 "properties" : {
3499 "group" : {
3500 "description" : "The HA group identifier.",
44660702 3501 "format" : "pve-configid",
013dc89f
DM
3502 "type" : "string",
3503 "typetext" : "<string>"
56122987 3504 }
44660702 3505 }
56122987 3506 },
56122987
DM
3507 "permissions" : {
3508 "check" : [
3509 "perm",
3510 "/",
3511 [
44660702 3512 "Sys.Audit"
56122987
DM
3513 ]
3514 ]
3515 },
44660702 3516 "returns" : {}
7aacca6f 3517 },
44660702
DM
3518 "PUT" : {
3519 "description" : "Update ha group configuration.",
3520 "method" : "PUT",
3521 "name" : "update",
7aacca6f 3522 "parameters" : {
44660702 3523 "additionalProperties" : 0,
7aacca6f 3524 "properties" : {
44660702
DM
3525 "comment" : {
3526 "description" : "Description.",
3527 "maxLength" : 4096,
3528 "optional" : 1,
013dc89f
DM
3529 "type" : "string",
3530 "typetext" : "<string>"
44660702
DM
3531 },
3532 "delete" : {
3533 "description" : "A list of settings you want to delete.",
3534 "format" : "pve-configid-list",
3535 "maxLength" : 4096,
3536 "optional" : 1,
013dc89f
DM
3537 "type" : "string",
3538 "typetext" : "<string>"
44660702
DM
3539 },
3540 "digest" : {
3541 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3542 "maxLength" : 40,
3543 "optional" : 1,
013dc89f
DM
3544 "type" : "string",
3545 "typetext" : "<string>"
44660702 3546 },
7aacca6f
DM
3547 "group" : {
3548 "description" : "The HA group identifier.",
44660702 3549 "format" : "pve-configid",
013dc89f
DM
3550 "type" : "string",
3551 "typetext" : "<string>"
44660702
DM
3552 },
3553 "nodes" : {
f13c1238 3554 "description" : "List of cluster node names with optional priority.",
44660702
DM
3555 "format" : "pve-ha-group-node-list",
3556 "optional" : 1,
7aacca6f 3557 "type" : "string",
f13c1238
DM
3558 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3559 "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
3560 },
3561 "nofailback" : {
3562 "default" : 0,
3563 "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.",
3564 "optional" : 1,
013dc89f
DM
3565 "type" : "boolean",
3566 "typetext" : "<boolean>"
44660702
DM
3567 },
3568 "restricted" : {
3569 "default" : 0,
c4808e75 3570 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3571 "optional" : 1,
013dc89f 3572 "type" : "boolean",
c4808e75
DM
3573 "typetext" : "<boolean>",
3574 "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
3575 }
3576 },
44660702 3577 "type" : "object"
7aacca6f 3578 },
7aacca6f
DM
3579 "permissions" : {
3580 "check" : [
3581 "perm",
3582 "/",
3583 [
44660702 3584 "Sys.Console"
7aacca6f
DM
3585 ]
3586 ]
3587 },
44660702
DM
3588 "protected" : 1,
3589 "returns" : {
3590 "type" : "null"
3591 }
56122987
DM
3592 }
3593 },
3594 "leaf" : 1,
44660702
DM
3595 "path" : "/cluster/ha/groups/{group}",
3596 "text" : "{group}"
56122987 3597 }
44660702
DM
3598 ],
3599 "info" : {
3600 "GET" : {
3601 "description" : "Get HA groups.",
3602 "method" : "GET",
3603 "name" : "index",
3604 "parameters" : {
3605 "additionalProperties" : 0
3606 },
3607 "permissions" : {
3608 "check" : [
3609 "perm",
3610 "/",
3611 [
3612 "Sys.Audit"
3613 ]
3614 ]
3615 },
3616 "returns" : {
3617 "items" : {
3618 "properties" : {
3619 "group" : {
3620 "type" : "string"
3621 }
3622 },
3623 "type" : "object"
3624 },
3625 "links" : [
3626 {
3627 "href" : "{group}",
3628 "rel" : "child"
3629 }
3630 ],
3631 "type" : "array"
3632 }
3633 },
3634 "POST" : {
3635 "description" : "Create a new HA group.",
3636 "method" : "POST",
3637 "name" : "create",
3638 "parameters" : {
3639 "additionalProperties" : 0,
3640 "properties" : {
3641 "comment" : {
3642 "description" : "Description.",
3643 "maxLength" : 4096,
3644 "optional" : 1,
013dc89f
DM
3645 "type" : "string",
3646 "typetext" : "<string>"
44660702
DM
3647 },
3648 "group" : {
3649 "description" : "The HA group identifier.",
3650 "format" : "pve-configid",
013dc89f
DM
3651 "type" : "string",
3652 "typetext" : "<string>"
44660702
DM
3653 },
3654 "nodes" : {
f13c1238 3655 "description" : "List of cluster node names with optional priority.",
44660702
DM
3656 "format" : "pve-ha-group-node-list",
3657 "optional" : 0,
3658 "type" : "string",
f13c1238
DM
3659 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3660 "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
3661 },
3662 "nofailback" : {
3663 "default" : 0,
3664 "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.",
3665 "optional" : 1,
013dc89f
DM
3666 "type" : "boolean",
3667 "typetext" : "<boolean>"
44660702
DM
3668 },
3669 "restricted" : {
3670 "default" : 0,
c4808e75 3671 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3672 "optional" : 1,
013dc89f 3673 "type" : "boolean",
c4808e75
DM
3674 "typetext" : "<boolean>",
3675 "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
3676 },
3677 "type" : {
3678 "description" : "Group type.",
3679 "enum" : [
3680 "group"
3681 ],
3682 "optional" : 1,
3683 "type" : "string"
3684 }
3685 },
3686 "type" : "object"
3687 },
3688 "permissions" : {
3689 "check" : [
3690 "perm",
3691 "/",
3692 [
3693 "Sys.Console"
3694 ]
3695 ]
3696 },
3697 "protected" : 1,
3698 "returns" : {
3699 "type" : "null"
3700 }
3701 }
3702 },
3703 "leaf" : 0,
3704 "path" : "/cluster/ha/groups",
3705 "text" : "groups"
7aacca6f
DM
3706 },
3707 {
7aacca6f
DM
3708 "children" : [
3709 {
3710 "info" : {
3711 "GET" : {
56122987 3712 "description" : "Get HA manger status.",
44660702 3713 "method" : "GET",
7aacca6f 3714 "name" : "status",
44660702
DM
3715 "parameters" : {
3716 "additionalProperties" : 0
3717 },
56122987
DM
3718 "permissions" : {
3719 "check" : [
3720 "perm",
3721 "/",
3722 [
3723 "Sys.Audit"
3724 ]
3725 ]
7aacca6f 3726 },
44660702
DM
3727 "returns" : {
3728 "type" : "array"
56122987
DM
3729 }
3730 }
7aacca6f 3731 },
7aacca6f 3732 "leaf" : 1,
44660702
DM
3733 "path" : "/cluster/ha/status/current",
3734 "text" : "current"
56122987
DM
3735 },
3736 {
3737 "info" : {
3738 "GET" : {
7aacca6f 3739 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3740 "method" : "GET",
3741 "name" : "manager_status",
7aacca6f
DM
3742 "parameters" : {
3743 "additionalProperties" : 0
3744 },
56122987
DM
3745 "permissions" : {
3746 "check" : [
3747 "perm",
3748 "/",
3749 [
3750 "Sys.Audit"
3751 ]
3752 ]
44660702
DM
3753 },
3754 "returns" : {
3755 "type" : "object"
7aacca6f 3756 }
56122987
DM
3757 }
3758 },
56122987 3759 "leaf" : 1,
44660702
DM
3760 "path" : "/cluster/ha/status/manager_status",
3761 "text" : "manager_status"
56122987
DM
3762 }
3763 ],
56122987
DM
3764 "info" : {
3765 "GET" : {
44660702 3766 "description" : "Directory index.",
7aacca6f 3767 "method" : "GET",
44660702
DM
3768 "name" : "index",
3769 "parameters" : {
3770 "additionalProperties" : 0
3771 },
3772 "permissions" : {
3773 "user" : "all"
3774 },
56122987 3775 "returns" : {
56122987
DM
3776 "items" : {
3777 "properties" : {},
3778 "type" : "object"
3779 },
3780 "links" : [
3781 {
44660702
DM
3782 "href" : "{name}",
3783 "rel" : "child"
56122987 3784 }
7aacca6f
DM
3785 ],
3786 "type" : "array"
44660702 3787 }
56122987 3788 }
7aacca6f 3789 },
44660702 3790 "leaf" : 0,
7aacca6f 3791 "path" : "/cluster/ha/status",
44660702 3792 "text" : "status"
56122987
DM
3793 }
3794 ],
56122987
DM
3795 "info" : {
3796 "GET" : {
7aacca6f 3797 "description" : "Directory index.",
44660702
DM
3798 "method" : "GET",
3799 "name" : "index",
3800 "parameters" : {
3801 "additionalProperties" : 0
3802 },
7aacca6f
DM
3803 "permissions" : {
3804 "check" : [
3805 "perm",
3806 "/",
3807 [
3808 "Sys.Audit"
3809 ]
3810 ]
3811 },
56122987 3812 "returns" : {
56122987 3813 "items" : {
7aacca6f
DM
3814 "properties" : {
3815 "id" : {
3816 "type" : "string"
3817 }
44660702
DM
3818 },
3819 "type" : "object"
7aacca6f
DM
3820 },
3821 "links" : [
3822 {
3823 "href" : "{id}",
3824 "rel" : "child"
3825 }
44660702
DM
3826 ],
3827 "type" : "array"
7aacca6f
DM
3828 }
3829 }
44660702
DM
3830 },
3831 "leaf" : 0,
3832 "path" : "/cluster/ha",
3833 "text" : "ha"
7aacca6f 3834 },
a9a8e3d1
DM
3835 {
3836 "children" : [
3837 {
3838 "children" : [
3839 {
3840 "info" : {
3841 "DELETE" : {
3842 "description" : "Deactivate existing ACME account at CA.",
3843 "method" : "DELETE",
3844 "name" : "deactivate_account",
3845 "parameters" : {
3846 "additionalProperties" : 0,
3847 "properties" : {
3848 "name" : {
3849 "default" : "default",
3850 "description" : "ACME account config file name.",
3851 "format" : "pve-configid",
3852 "format_description" : "name",
3853 "optional" : 1,
3854 "type" : "string",
3855 "typetext" : "<name>"
3856 }
3857 }
3858 },
3859 "protected" : 1,
3860 "returns" : {
3861 "type" : "string"
3862 }
3863 },
3864 "GET" : {
3865 "description" : "Return existing ACME account information.",
3866 "method" : "GET",
3867 "name" : "get_account",
3868 "parameters" : {
3869 "additionalProperties" : 0,
3870 "properties" : {
3871 "name" : {
3872 "default" : "default",
3873 "description" : "ACME account config file name.",
3874 "format" : "pve-configid",
3875 "format_description" : "name",
3876 "optional" : 1,
3877 "type" : "string",
3878 "typetext" : "<name>"
3879 }
3880 }
3881 },
3882 "protected" : 1,
3883 "returns" : {
3884 "additionalProperties" : 0,
3885 "properties" : {
3886 "account" : {
3887 "optional" : 1,
3888 "type" : "object"
3889 },
3890 "directory" : {
3891 "description" : "URL of ACME CA directory endpoint.",
3892 "optional" : 1,
3893 "pattern" : "^https?://.*",
3894 "type" : "string"
3895 },
3896 "location" : {
3897 "optional" : 1,
3898 "type" : "string"
3899 },
3900 "tos" : {
3901 "optional" : 1,
3902 "type" : "string"
3903 }
3904 },
3905 "type" : "object"
3906 }
3907 },
3908 "PUT" : {
3909 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
3910 "method" : "PUT",
3911 "name" : "update_account",
3912 "parameters" : {
3913 "additionalProperties" : 0,
3914 "properties" : {
3915 "contact" : {
3916 "description" : "Contact email addresses.",
3917 "format" : "email-list",
3918 "optional" : 1,
3919 "type" : "string",
3920 "typetext" : "<string>"
3921 },
3922 "name" : {
3923 "default" : "default",
3924 "description" : "ACME account config file name.",
3925 "format" : "pve-configid",
3926 "format_description" : "name",
3927 "optional" : 1,
3928 "type" : "string",
3929 "typetext" : "<name>"
3930 }
3931 }
3932 },
3933 "protected" : 1,
3934 "returns" : {
3935 "type" : "string"
3936 }
3937 }
3938 },
3939 "leaf" : 1,
3940 "path" : "/cluster/acme/account/{name}",
3941 "text" : "{name}"
3942 }
3943 ],
3944 "info" : {
3945 "GET" : {
3946 "description" : "ACMEAccount index.",
3947 "method" : "GET",
3948 "name" : "account_index",
3949 "parameters" : {
3950 "additionalProperties" : 0
3951 },
3952 "permissions" : {
3953 "user" : "all"
3954 },
3955 "protected" : 1,
3956 "returns" : {
3957 "items" : {
3958 "properties" : {},
3959 "type" : "object"
3960 },
3961 "links" : [
3962 {
3963 "href" : "{name}",
3964 "rel" : "child"
3965 }
3966 ],
3967 "type" : "array"
3968 }
3969 },
3970 "POST" : {
3971 "description" : "Register a new ACME account with CA.",
3972 "method" : "POST",
3973 "name" : "register_account",
3974 "parameters" : {
3975 "additionalProperties" : 0,
3976 "properties" : {
3977 "contact" : {
3978 "description" : "Contact email addresses.",
3979 "format" : "email-list",
3980 "type" : "string",
3981 "typetext" : "<string>"
3982 },
3983 "directory" : {
3984 "default" : "https://acme-v02.api.letsencrypt.org/directory",
3985 "description" : "URL of ACME CA directory endpoint.",
3986 "optional" : 1,
3987 "pattern" : "^https?://.*",
3988 "type" : "string"
3989 },
3990 "name" : {
3991 "default" : "default",
3992 "description" : "ACME account config file name.",
3993 "format" : "pve-configid",
3994 "format_description" : "name",
3995 "optional" : 1,
3996 "type" : "string",
3997 "typetext" : "<name>"
3998 },
3999 "tos_url" : {
4000 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4001 "optional" : 1,
4002 "type" : "string",
4003 "typetext" : "<string>"
4004 }
4005 }
4006 },
4007 "protected" : 1,
4008 "returns" : {
4009 "type" : "string"
4010 }
4011 }
4012 },
4013 "leaf" : 0,
4014 "path" : "/cluster/acme/account",
4015 "text" : "account"
4016 },
4017 {
4018 "info" : {
4019 "GET" : {
4020 "description" : "Retrieve ACME TermsOfService URL from CA.",
4021 "method" : "GET",
4022 "name" : "get_tos",
4023 "parameters" : {
4024 "additionalProperties" : 0,
4025 "properties" : {
4026 "directory" : {
4027 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4028 "description" : "URL of ACME CA directory endpoint.",
4029 "optional" : 1,
4030 "pattern" : "^https?://.*",
4031 "type" : "string"
4032 }
4033 }
4034 },
5da3d723
TL
4035 "permissions" : {
4036 "user" : "all"
4037 },
a9a8e3d1
DM
4038 "returns" : {
4039 "description" : "ACME TermsOfService URL.",
4040 "type" : "string"
4041 }
4042 }
4043 },
4044 "leaf" : 1,
4045 "path" : "/cluster/acme/tos",
4046 "text" : "tos"
4047 },
4048 {
4049 "info" : {
4050 "GET" : {
4051 "description" : "Get named known ACME directory endpoints.",
4052 "method" : "GET",
4053 "name" : "get_directories",
4054 "parameters" : {
4055 "additionalProperties" : 0
4056 },
5da3d723
TL
4057 "permissions" : {
4058 "user" : "all"
4059 },
a9a8e3d1
DM
4060 "returns" : {
4061 "items" : {
4062 "additionalProperties" : 0,
4063 "properties" : {
4064 "name" : {
4065 "type" : "string"
4066 },
4067 "url" : {
4068 "description" : "URL of ACME CA directory endpoint.",
4069 "pattern" : "^https?://.*",
4070 "type" : "string"
4071 }
4072 },
4073 "type" : "object"
4074 },
4075 "type" : "array"
4076 }
4077 }
4078 },
4079 "leaf" : 1,
4080 "path" : "/cluster/acme/directories",
4081 "text" : "directories"
4082 }
4083 ],
4084 "info" : {
4085 "GET" : {
4086 "description" : "ACMEAccount index.",
4087 "method" : "GET",
4088 "name" : "index",
4089 "parameters" : {
4090 "additionalProperties" : 0
4091 },
4092 "permissions" : {
4093 "user" : "all"
4094 },
4095 "returns" : {
4096 "items" : {
4097 "properties" : {},
4098 "type" : "object"
4099 },
4100 "links" : [
4101 {
4102 "href" : "{name}",
4103 "rel" : "child"
4104 }
4105 ],
4106 "type" : "array"
4107 }
4108 }
4109 },
4110 "leaf" : 0,
4111 "path" : "/cluster/acme",
4112 "text" : "acme"
4113 },
7aacca6f 4114 {
7aacca6f
DM
4115 "info" : {
4116 "GET" : {
4117 "description" : "Read cluster log",
44660702
DM
4118 "method" : "GET",
4119 "name" : "log",
56122987 4120 "parameters" : {
7aacca6f 4121 "additionalProperties" : 0,
56122987
DM
4122 "properties" : {
4123 "max" : {
7aacca6f 4124 "description" : "Maximum number of entries.",
44660702
DM
4125 "minimum" : 1,
4126 "optional" : 1,
4bd7df8b 4127 "type" : "integer",
013dc89f 4128 "typetext" : "<integer> (1 - N)"
56122987 4129 }
7aacca6f 4130 }
56122987 4131 },
44660702
DM
4132 "permissions" : {
4133 "user" : "all"
4134 },
7aacca6f 4135 "returns" : {
7aacca6f 4136 "items" : {
44660702
DM
4137 "properties" : {},
4138 "type" : "object"
4139 },
4140 "type" : "array"
7aacca6f 4141 }
56122987 4142 }
44660702
DM
4143 },
4144 "leaf" : 1,
4145 "path" : "/cluster/log",
4146 "text" : "log"
56122987
DM
4147 },
4148 {
56122987
DM
4149 "info" : {
4150 "GET" : {
44660702 4151 "description" : "Resources index (cluster wide).",
7aacca6f 4152 "method" : "GET",
7aacca6f 4153 "name" : "resources",
56122987
DM
4154 "parameters" : {
4155 "additionalProperties" : 0,
4156 "properties" : {
4157 "type" : {
4158 "enum" : [
4159 "vm",
4160 "storage",
4161 "node"
44660702
DM
4162 ],
4163 "optional" : 1,
4164 "type" : "string"
56122987
DM
4165 }
4166 }
4167 },
44660702
DM
4168 "permissions" : {
4169 "user" : "all"
4170 },
4171 "returns" : {
4172 "items" : {
4173 "properties" : {},
4174 "type" : "object"
4175 },
4176 "type" : "array"
4177 }
56122987
DM
4178 }
4179 },
7aacca6f 4180 "leaf" : 1,
44660702
DM
4181 "path" : "/cluster/resources",
4182 "text" : "resources"
56122987
DM
4183 },
4184 {
56122987
DM
4185 "info" : {
4186 "GET" : {
7aacca6f 4187 "description" : "List recent tasks (cluster wide).",
44660702 4188 "method" : "GET",
7aacca6f 4189 "name" : "tasks",
56122987
DM
4190 "parameters" : {
4191 "additionalProperties" : 0
4192 },
44660702
DM
4193 "permissions" : {
4194 "user" : "all"
4195 },
56122987
DM
4196 "returns" : {
4197 "items" : {
4198 "properties" : {
4199 "upid" : {
4200 "type" : "string"
4201 }
44660702
DM
4202 },
4203 "type" : "object"
4204 },
4205 "type" : "array"
7aacca6f 4206 }
56122987
DM
4207 }
4208 },
7aacca6f 4209 "leaf" : 1,
44660702
DM
4210 "path" : "/cluster/tasks",
4211 "text" : "tasks"
56122987
DM
4212 },
4213 {
56122987 4214 "info" : {
7aacca6f 4215 "GET" : {
44660702
DM
4216 "description" : "Get datacenter options.",
4217 "method" : "GET",
4218 "name" : "get_options",
56122987 4219 "parameters" : {
7aacca6f
DM
4220 "additionalProperties" : 0
4221 },
4222 "permissions" : {
4223 "check" : [
4224 "perm",
4225 "/",
4226 [
4227 "Sys.Audit"
4228 ]
4229 ]
4230 },
7aacca6f 4231 "returns" : {
44660702
DM
4232 "properties" : {},
4233 "type" : "object"
7aacca6f
DM
4234 }
4235 },
4236 "PUT" : {
44660702
DM
4237 "description" : "Set datacenter options.",
4238 "method" : "PUT",
7aacca6f
DM
4239 "name" : "set_options",
4240 "parameters" : {
4241 "additionalProperties" : 0,
4242 "properties" : {
27a7acb2
DM
4243 "bwlimit" : {
4244 "description" : "Set bandwidth/io limits various operations.",
4245 "format" : {
4246 "clone" : {
4247 "description" : "bandwidth limit in MiB/s for cloning disks",
4248 "format_description" : "LIMIT",
4249 "minimum" : "0",
4250 "optional" : 1,
4251 "type" : "number"
4252 },
4253 "default" : {
4254 "description" : "default bandwidth limit in MiB/s",
4255 "format_description" : "LIMIT",
4256 "minimum" : "0",
4257 "optional" : 1,
4258 "type" : "number"
4259 },
4260 "migration" : {
4261 "description" : "bandwidth limit in MiB/s for migrating guests",
4262 "format_description" : "LIMIT",
4263 "minimum" : "0",
4264 "optional" : 1,
4265 "type" : "number"
4266 },
4267 "move" : {
4268 "description" : "bandwidth limit in MiB/s for moving disks",
4269 "format_description" : "LIMIT",
4270 "minimum" : "0",
4271 "optional" : 1,
4272 "type" : "number"
4273 },
4274 "restore" : {
4275 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4276 "format_description" : "LIMIT",
4277 "minimum" : "0",
4278 "optional" : 1,
4279 "type" : "number"
4280 }
4281 },
4282 "optional" : 1,
4283 "type" : "string",
4284 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4285 },
56122987 4286 "console" : {
a9a8e3d1 4287 "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
4288 "enum" : [
4289 "applet",
4290 "vv",
a9a8e3d1
DM
4291 "html5",
4292 "xtermjs"
44660702
DM
4293 ],
4294 "optional" : 1,
4295 "type" : "string"
56122987 4296 },
7aacca6f 4297 "delete" : {
7aacca6f 4298 "description" : "A list of settings you want to delete.",
44660702 4299 "format" : "pve-configid-list",
7aacca6f 4300 "optional" : 1,
013dc89f
DM
4301 "type" : "string",
4302 "typetext" : "<string>"
7aacca6f 4303 },
44660702
DM
4304 "email_from" : {
4305 "description" : "Specify email address to send notification from (default is root@$hostname)",
4306 "format" : "email-opt",
7aacca6f 4307 "optional" : 1,
013dc89f
DM
4308 "type" : "string",
4309 "typetext" : "<string>"
44660702
DM
4310 },
4311 "fencing" : {
4312 "default" : "watchdog",
4313 "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 4314 "enum" : [
44660702
DM
4315 "watchdog",
4316 "hardware",
4317 "both"
7aacca6f 4318 ],
44660702
DM
4319 "optional" : 1,
4320 "type" : "string"
4321 },
4322 "http_proxy" : {
4323 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4324 "optional" : 1,
4325 "pattern" : "http://.*",
4326 "type" : "string"
7aacca6f 4327 },
56122987 4328 "keyboard" : {
44660702 4329 "description" : "Default keybord layout for vnc server.",
56122987 4330 "enum" : [
44660702
DM
4331 "de",
4332 "de-ch",
7aacca6f 4333 "da",
56122987 4334 "en-gb",
44660702
DM
4335 "en-us",
4336 "es",
4337 "fi",
4338 "fr",
4339 "fr-be",
4340 "fr-ca",
4341 "fr-ch",
4342 "hu",
7aacca6f 4343 "is",
44660702
DM
4344 "it",
4345 "ja",
4346 "lt",
56122987 4347 "mk",
7aacca6f 4348 "nl",
56122987 4349 "no",
44660702 4350 "pl",
7aacca6f 4351 "pt",
44660702
DM
4352 "pt-br",
4353 "sv",
4354 "sl",
4355 "tr"
56122987 4356 ],
56122987
DM
4357 "optional" : 1,
4358 "type" : "string"
4359 },
44660702
DM
4360 "language" : {
4361 "description" : "Default GUI language.",
4362 "enum" : [
4363 "en",
4364 "de"
4365 ],
56122987 4366 "optional" : 1,
44660702 4367 "type" : "string"
56122987 4368 },
4bd7df8b
DM
4369 "mac_prefix" : {
4370 "description" : "Prefix for autogenerated MAC addresses.",
4371 "optional" : 1,
4372 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4373 "type" : "string"
4374 },
44660702
DM
4375 "max_workers" : {
4376 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4377 "minimum" : 1,
56122987 4378 "optional" : 1,
4bd7df8b 4379 "type" : "integer",
013dc89f 4380 "typetext" : "<integer> (1 - N)"
56122987 4381 },
de0983cb
DM
4382 "migration" : {
4383 "description" : "For cluster wide migration settings.",
4384 "format" : {
4385 "network" : {
4386 "description" : "CIDR of the (sub) network that is used for migration.",
4387 "format" : "CIDR",
4388 "format_description" : "CIDR",
4389 "optional" : 1,
4390 "type" : "string"
4391 },
4392 "type" : {
4393 "default" : "secure",
4394 "default_key" : 1,
4395 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4396 "enum" : [
4397 "secure",
4398 "insecure"
4399 ],
4400 "type" : "string"
4401 }
4402 },
4403 "optional" : 1,
4404 "type" : "string",
4405 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4406 },
7aacca6f 4407 "migration_unsecure" : {
de0983cb 4408 "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 4409 "optional" : 1,
013dc89f
DM
4410 "type" : "boolean",
4411 "typetext" : "<boolean>"
56122987
DM
4412 }
4413 }
4414 },
44660702
DM
4415 "permissions" : {
4416 "check" : [
4417 "perm",
4418 "/",
4419 [
4420 "Sys.Modify"
4421 ]
4422 ]
4423 },
56122987 4424 "protected" : 1,
7aacca6f
DM
4425 "returns" : {
4426 "type" : "null"
44660702 4427 }
7aacca6f
DM
4428 }
4429 },
44660702
DM
4430 "leaf" : 1,
4431 "path" : "/cluster/options",
7aacca6f
DM
4432 "text" : "options"
4433 },
4434 {
7aacca6f 4435 "info" : {
56122987 4436 "GET" : {
44660702
DM
4437 "description" : "Get cluster status informations.",
4438 "method" : "GET",
4439 "name" : "get_status",
56122987
DM
4440 "parameters" : {
4441 "additionalProperties" : 0
4442 },
56122987
DM
4443 "permissions" : {
4444 "check" : [
4445 "perm",
4446 "/",
4447 [
4448 "Sys.Audit"
4449 ]
4450 ]
4451 },
7aacca6f 4452 "protected" : 1,
56122987 4453 "returns" : {
56122987 4454 "items" : {
56122987
DM
4455 "properties" : {
4456 "type" : {
4457 "type" : "string"
4458 }
44660702
DM
4459 },
4460 "type" : "object"
7aacca6f
DM
4461 },
4462 "type" : "array"
56122987
DM
4463 }
4464 }
4465 },
44660702 4466 "leaf" : 1,
7aacca6f 4467 "path" : "/cluster/status",
44660702 4468 "text" : "status"
56122987
DM
4469 },
4470 {
56122987
DM
4471 "info" : {
4472 "GET" : {
56122987 4473 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4474 "method" : "GET",
4475 "name" : "nextid",
56122987 4476 "parameters" : {
44660702 4477 "additionalProperties" : 0,
56122987
DM
4478 "properties" : {
4479 "vmid" : {
44660702 4480 "description" : "The (unique) ID of the VM.",
56122987 4481 "format" : "pve-vmid",
7aacca6f 4482 "minimum" : 1,
7aacca6f 4483 "optional" : 1,
4bd7df8b 4484 "type" : "integer",
013dc89f 4485 "typetext" : "<integer> (1 - N)"
56122987 4486 }
44660702 4487 }
56122987 4488 },
7aacca6f
DM
4489 "permissions" : {
4490 "user" : "all"
44660702
DM
4491 },
4492 "returns" : {
4493 "description" : "The next free VMID.",
4494 "type" : "integer"
7aacca6f 4495 }
56122987
DM
4496 }
4497 },
7aacca6f 4498 "leaf" : 1,
44660702
DM
4499 "path" : "/cluster/nextid",
4500 "text" : "nextid"
56122987
DM
4501 }
4502 ],
44660702
DM
4503 "info" : {
4504 "GET" : {
4505 "description" : "Cluster index.",
4506 "method" : "GET",
4507 "name" : "index",
4508 "parameters" : {
4509 "additionalProperties" : 0
4510 },
4511 "permissions" : {
4512 "user" : "all"
4513 },
4514 "returns" : {
4515 "items" : {
4516 "properties" : {},
4517 "type" : "object"
4518 },
4519 "links" : [
4520 {
4521 "href" : "{name}",
4522 "rel" : "child"
4523 }
4524 ],
4525 "type" : "array"
4526 }
4527 }
4528 },
4529 "leaf" : 0,
4530 "path" : "/cluster",
7aacca6f 4531 "text" : "cluster"
56122987
DM
4532 },
4533 {
56122987
DM
4534 "children" : [
4535 {
7aacca6f
DM
4536 "children" : [
4537 {
4538 "children" : [
4539 {
56122987
DM
4540 "children" : [
4541 {
56122987
DM
4542 "children" : [
4543 {
4544 "children" : [
4545 {
56122987
DM
4546 "info" : {
4547 "DELETE" : {
44660702 4548 "description" : "Delete rule.",
7aacca6f 4549 "method" : "DELETE",
44660702 4550 "name" : "delete_rule",
56122987 4551 "parameters" : {
44660702 4552 "additionalProperties" : 0,
56122987 4553 "properties" : {
44660702
DM
4554 "digest" : {
4555 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4556 "maxLength" : 40,
4557 "optional" : 1,
013dc89f
DM
4558 "type" : "string",
4559 "typetext" : "<string>"
44660702 4560 },
56122987 4561 "node" : {
7aacca6f 4562 "description" : "The cluster node name.",
44660702 4563 "format" : "pve-node",
013dc89f
DM
4564 "type" : "string",
4565 "typetext" : "<string>"
7aacca6f 4566 },
56122987 4567 "pos" : {
7aacca6f 4568 "description" : "Update rule at position <pos>.",
44660702 4569 "minimum" : 0,
56122987 4570 "optional" : 1,
4bd7df8b 4571 "type" : "integer",
013dc89f 4572 "typetext" : "<integer> (0 - N)"
44660702
DM
4573 },
4574 "vmid" : {
4575 "description" : "The (unique) ID of the VM.",
4576 "format" : "pve-vmid",
4577 "minimum" : 1,
4bd7df8b 4578 "type" : "integer",
013dc89f 4579 "typetext" : "<integer> (1 - N)"
56122987 4580 }
44660702 4581 }
7aacca6f 4582 },
56122987
DM
4583 "permissions" : {
4584 "check" : [
4585 "perm",
4586 "/vms/{vmid}",
4587 [
4588 "VM.Config.Network"
4589 ]
4590 ]
4591 },
44660702
DM
4592 "protected" : 1,
4593 "proxyto" : null,
56122987
DM
4594 "returns" : {
4595 "type" : "null"
44660702
DM
4596 }
4597 },
4598 "GET" : {
4599 "description" : "Get single rule data.",
4600 "method" : "GET",
4601 "name" : "get_rule",
4602 "parameters" : {
4603 "additionalProperties" : 0,
4604 "properties" : {
4605 "node" : {
4606 "description" : "The cluster node name.",
4607 "format" : "pve-node",
013dc89f
DM
4608 "type" : "string",
4609 "typetext" : "<string>"
44660702
DM
4610 },
4611 "pos" : {
4612 "description" : "Update rule at position <pos>.",
4613 "minimum" : 0,
4614 "optional" : 1,
4bd7df8b 4615 "type" : "integer",
013dc89f 4616 "typetext" : "<integer> (0 - N)"
44660702
DM
4617 },
4618 "vmid" : {
4619 "description" : "The (unique) ID of the VM.",
4620 "format" : "pve-vmid",
4621 "minimum" : 1,
4bd7df8b 4622 "type" : "integer",
013dc89f 4623 "typetext" : "<integer> (1 - N)"
44660702
DM
4624 }
4625 }
56122987 4626 },
56122987
DM
4627 "permissions" : {
4628 "check" : [
4629 "perm",
4630 "/vms/{vmid}",
4631 [
44660702 4632 "VM.Audit"
56122987
DM
4633 ]
4634 ]
4635 },
56122987 4636 "proxyto" : null,
44660702
DM
4637 "returns" : {
4638 "properties" : {
4639 "pos" : {
4640 "type" : "integer"
4641 }
4642 },
4643 "type" : "object"
4644 }
4645 },
4646 "PUT" : {
7aacca6f
DM
4647 "description" : "Modify rule data.",
4648 "method" : "PUT",
44660702 4649 "name" : "update_rule",
56122987 4650 "parameters" : {
44660702 4651 "additionalProperties" : 0,
56122987 4652 "properties" : {
44660702
DM
4653 "action" : {
4654 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4655 "maxLength" : 20,
4656 "minLength" : 2,
56122987 4657 "optional" : 1,
44660702 4658 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4659 "type" : "string"
4660 },
7aacca6f 4661 "comment" : {
e94f0d56 4662 "description" : "Descriptive comment.",
7aacca6f 4663 "optional" : 1,
013dc89f
DM
4664 "type" : "string",
4665 "typetext" : "<string>"
7aacca6f
DM
4666 },
4667 "delete" : {
7aacca6f 4668 "description" : "A list of settings you want to delete.",
44660702
DM
4669 "format" : "pve-configid-list",
4670 "optional" : 1,
013dc89f
DM
4671 "type" : "string",
4672 "typetext" : "<string>"
7aacca6f
DM
4673 },
4674 "dest" : {
44660702 4675 "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 4676 "format" : "pve-fw-addr-spec",
56122987 4677 "optional" : 1,
013dc89f
DM
4678 "type" : "string",
4679 "typetext" : "<string>"
56122987 4680 },
7aacca6f 4681 "digest" : {
44660702 4682 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4683 "maxLength" : 40,
56122987 4684 "optional" : 1,
013dc89f
DM
4685 "type" : "string",
4686 "typetext" : "<string>"
44660702
DM
4687 },
4688 "dport" : {
4689 "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.",
4690 "format" : "pve-fw-dport-spec",
4691 "optional" : 1,
013dc89f
DM
4692 "type" : "string",
4693 "typetext" : "<string>"
56122987 4694 },
7aacca6f 4695 "enable" : {
e94f0d56 4696 "description" : "Flag to enable/disable a rule.",
44660702 4697 "minimum" : 0,
56122987 4698 "optional" : 1,
4bd7df8b 4699 "type" : "integer",
013dc89f 4700 "typetext" : "<integer> (0 - N)"
7aacca6f 4701 },
44660702
DM
4702 "iface" : {
4703 "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.",
4704 "format" : "pve-iface",
4705 "maxLength" : 20,
7aacca6f 4706 "minLength" : 2,
56122987 4707 "optional" : 1,
013dc89f
DM
4708 "type" : "string",
4709 "typetext" : "<string>"
56122987 4710 },
44660702 4711 "macro" : {
e94f0d56 4712 "description" : "Use predefined standard macro.",
44660702 4713 "maxLength" : 128,
56122987 4714 "optional" : 1,
013dc89f
DM
4715 "type" : "string",
4716 "typetext" : "<string>"
56122987 4717 },
44660702
DM
4718 "moveto" : {
4719 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4720 "minimum" : 0,
56122987 4721 "optional" : 1,
4bd7df8b 4722 "type" : "integer",
013dc89f 4723 "typetext" : "<integer> (0 - N)"
56122987 4724 },
44660702
DM
4725 "node" : {
4726 "description" : "The cluster node name.",
4727 "format" : "pve-node",
013dc89f
DM
4728 "type" : "string",
4729 "typetext" : "<string>"
44660702
DM
4730 },
4731 "pos" : {
4732 "description" : "Update rule at position <pos>.",
4733 "minimum" : 0,
4734 "optional" : 1,
4bd7df8b 4735 "type" : "integer",
013dc89f 4736 "typetext" : "<integer> (0 - N)"
56122987 4737 },
44660702
DM
4738 "proto" : {
4739 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4740 "format" : "pve-fw-protocol-spec",
4741 "optional" : 1,
013dc89f
DM
4742 "type" : "string",
4743 "typetext" : "<string>"
7aacca6f 4744 },
44660702
DM
4745 "source" : {
4746 "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.",
4747 "format" : "pve-fw-addr-spec",
56122987 4748 "optional" : 1,
013dc89f
DM
4749 "type" : "string",
4750 "typetext" : "<string>"
56122987
DM
4751 },
4752 "sport" : {
4753 "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
4754 "format" : "pve-fw-sport-spec",
4755 "optional" : 1,
013dc89f
DM
4756 "type" : "string",
4757 "typetext" : "<string>"
44660702
DM
4758 },
4759 "type" : {
e94f0d56 4760 "description" : "Rule type.",
44660702
DM
4761 "enum" : [
4762 "in",
4763 "out",
4764 "group"
4765 ],
56122987 4766 "optional" : 1,
56122987 4767 "type" : "string"
44660702
DM
4768 },
4769 "vmid" : {
4770 "description" : "The (unique) ID of the VM.",
4771 "format" : "pve-vmid",
4772 "minimum" : 1,
4bd7df8b 4773 "type" : "integer",
013dc89f 4774 "typetext" : "<integer> (1 - N)"
56122987 4775 }
44660702 4776 }
56122987 4777 },
56122987
DM
4778 "permissions" : {
4779 "check" : [
4780 "perm",
4781 "/vms/{vmid}",
4782 [
44660702 4783 "VM.Config.Network"
56122987
DM
4784 ]
4785 ]
7aacca6f 4786 },
44660702 4787 "protected" : 1,
7aacca6f 4788 "proxyto" : null,
7aacca6f 4789 "returns" : {
44660702
DM
4790 "type" : "null"
4791 }
56122987 4792 }
7aacca6f 4793 },
44660702 4794 "leaf" : 1,
7aacca6f 4795 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4796 "text" : "{pos}"
56122987
DM
4797 }
4798 ],
56122987 4799 "info" : {
44660702
DM
4800 "GET" : {
4801 "description" : "List rules.",
4802 "method" : "GET",
4803 "name" : "get_rules",
4804 "parameters" : {
4805 "additionalProperties" : 0,
4806 "properties" : {
4807 "node" : {
4808 "description" : "The cluster node name.",
4809 "format" : "pve-node",
013dc89f
DM
4810 "type" : "string",
4811 "typetext" : "<string>"
44660702
DM
4812 },
4813 "vmid" : {
4814 "description" : "The (unique) ID of the VM.",
4815 "format" : "pve-vmid",
4816 "minimum" : 1,
4bd7df8b 4817 "type" : "integer",
013dc89f 4818 "typetext" : "<integer> (1 - N)"
44660702
DM
4819 }
4820 }
56122987 4821 },
56122987
DM
4822 "permissions" : {
4823 "check" : [
4824 "perm",
4825 "/vms/{vmid}",
4826 [
44660702 4827 "VM.Audit"
56122987
DM
4828 ]
4829 ]
7aacca6f 4830 },
44660702
DM
4831 "proxyto" : null,
4832 "returns" : {
4833 "items" : {
4834 "properties" : {
4835 "pos" : {
4836 "type" : "integer"
4837 }
4838 },
4839 "type" : "object"
4840 },
4841 "links" : [
4842 {
4843 "href" : "{pos}",
4844 "rel" : "child"
4845 }
4846 ],
4847 "type" : "array"
4848 }
4849 },
4850 "POST" : {
4851 "description" : "Create new rule.",
7aacca6f 4852 "method" : "POST",
44660702 4853 "name" : "create_rule",
56122987 4854 "parameters" : {
44660702 4855 "additionalProperties" : 0,
56122987 4856 "properties" : {
44660702
DM
4857 "action" : {
4858 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4859 "maxLength" : 20,
4860 "minLength" : 2,
4861 "optional" : 0,
4862 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4863 "type" : "string"
56122987 4864 },
44660702 4865 "comment" : {
e94f0d56 4866 "description" : "Descriptive comment.",
56122987 4867 "optional" : 1,
013dc89f
DM
4868 "type" : "string",
4869 "typetext" : "<string>"
56122987 4870 },
44660702
DM
4871 "dest" : {
4872 "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.",
4873 "format" : "pve-fw-addr-spec",
4874 "optional" : 1,
013dc89f
DM
4875 "type" : "string",
4876 "typetext" : "<string>"
56122987 4877 },
44660702
DM
4878 "digest" : {
4879 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4880 "maxLength" : 40,
56122987 4881 "optional" : 1,
013dc89f
DM
4882 "type" : "string",
4883 "typetext" : "<string>"
56122987 4884 },
7aacca6f
DM
4885 "dport" : {
4886 "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 4887 "format" : "pve-fw-dport-spec",
7aacca6f 4888 "optional" : 1,
013dc89f
DM
4889 "type" : "string",
4890 "typetext" : "<string>"
56122987
DM
4891 },
4892 "enable" : {
e94f0d56 4893 "description" : "Flag to enable/disable a rule.",
56122987 4894 "minimum" : 0,
44660702 4895 "optional" : 1,
4bd7df8b 4896 "type" : "integer",
013dc89f 4897 "typetext" : "<integer> (0 - N)"
56122987 4898 },
44660702
DM
4899 "iface" : {
4900 "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.",
4901 "format" : "pve-iface",
4902 "maxLength" : 20,
7aacca6f 4903 "minLength" : 2,
44660702 4904 "optional" : 1,
013dc89f
DM
4905 "type" : "string",
4906 "typetext" : "<string>"
56122987 4907 },
44660702 4908 "macro" : {
e94f0d56 4909 "description" : "Use predefined standard macro.",
44660702 4910 "maxLength" : 128,
56122987 4911 "optional" : 1,
013dc89f
DM
4912 "type" : "string",
4913 "typetext" : "<string>"
7aacca6f 4914 },
44660702
DM
4915 "node" : {
4916 "description" : "The cluster node name.",
4917 "format" : "pve-node",
013dc89f
DM
4918 "type" : "string",
4919 "typetext" : "<string>"
44660702
DM
4920 },
4921 "pos" : {
4922 "description" : "Update rule at position <pos>.",
4923 "minimum" : 0,
4924 "optional" : 1,
4bd7df8b 4925 "type" : "integer",
013dc89f 4926 "typetext" : "<integer> (0 - N)"
44660702
DM
4927 },
4928 "proto" : {
4929 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4930 "format" : "pve-fw-protocol-spec",
7aacca6f 4931 "optional" : 1,
013dc89f
DM
4932 "type" : "string",
4933 "typetext" : "<string>"
7aacca6f
DM
4934 },
4935 "source" : {
4936 "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 4937 "format" : "pve-fw-addr-spec",
7aacca6f 4938 "optional" : 1,
013dc89f
DM
4939 "type" : "string",
4940 "typetext" : "<string>"
7aacca6f 4941 },
44660702
DM
4942 "sport" : {
4943 "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.",
4944 "format" : "pve-fw-sport-spec",
7aacca6f 4945 "optional" : 1,
013dc89f
DM
4946 "type" : "string",
4947 "typetext" : "<string>"
7aacca6f 4948 },
44660702 4949 "type" : {
e94f0d56 4950 "description" : "Rule type.",
44660702
DM
4951 "enum" : [
4952 "in",
4953 "out",
4954 "group"
4955 ],
4956 "optional" : 0,
4957 "type" : "string"
7aacca6f 4958 },
7aacca6f 4959 "vmid" : {
44660702 4960 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
4961 "format" : "pve-vmid",
4962 "minimum" : 1,
4bd7df8b 4963 "type" : "integer",
013dc89f 4964 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4965 }
4966 }
4967 },
56122987
DM
4968 "permissions" : {
4969 "check" : [
4970 "perm",
4971 "/vms/{vmid}",
4972 [
44660702 4973 "VM.Config.Network"
56122987
DM
4974 ]
4975 ]
4976 },
44660702
DM
4977 "protected" : 1,
4978 "proxyto" : null,
56122987 4979 "returns" : {
44660702
DM
4980 "type" : "null"
4981 }
56122987
DM
4982 }
4983 },
44660702 4984 "leaf" : 0,
7aacca6f 4985 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4986 "text" : "rules"
56122987
DM
4987 },
4988 {
4989 "children" : [
4990 {
56122987 4991 "info" : {
44660702
DM
4992 "DELETE" : {
4993 "description" : "Remove IP or Network alias.",
4994 "method" : "DELETE",
4995 "name" : "remove_alias",
56122987 4996 "parameters" : {
44660702 4997 "additionalProperties" : 0,
56122987 4998 "properties" : {
44660702
DM
4999 "digest" : {
5000 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5001 "maxLength" : 40,
5002 "optional" : 1,
013dc89f
DM
5003 "type" : "string",
5004 "typetext" : "<string>"
56122987
DM
5005 },
5006 "name" : {
56122987 5007 "description" : "Alias name.",
44660702 5008 "maxLength" : 64,
7aacca6f 5009 "minLength" : 2,
44660702 5010 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
5011 "type" : "string"
5012 },
7aacca6f 5013 "node" : {
44660702 5014 "description" : "The cluster node name.",
7aacca6f 5015 "format" : "pve-node",
013dc89f
DM
5016 "type" : "string",
5017 "typetext" : "<string>"
44660702
DM
5018 },
5019 "vmid" : {
5020 "description" : "The (unique) ID of the VM.",
5021 "format" : "pve-vmid",
5022 "minimum" : 1,
4bd7df8b 5023 "type" : "integer",
013dc89f 5024 "typetext" : "<integer> (1 - N)"
56122987 5025 }
44660702 5026 }
56122987 5027 },
7aacca6f
DM
5028 "permissions" : {
5029 "check" : [
5030 "perm",
5031 "/vms/{vmid}",
5032 [
5033 "VM.Config.Network"
5034 ]
5035 ]
56122987 5036 },
44660702
DM
5037 "protected" : 1,
5038 "returns" : {
5039 "type" : "null"
5040 }
5041 },
5042 "GET" : {
5043 "description" : "Read alias.",
5044 "method" : "GET",
5045 "name" : "read_alias",
56122987 5046 "parameters" : {
44660702 5047 "additionalProperties" : 0,
56122987 5048 "properties" : {
56122987 5049 "name" : {
7aacca6f 5050 "description" : "Alias name.",
44660702 5051 "maxLength" : 64,
56122987 5052 "minLength" : 2,
44660702 5053 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5054 "type" : "string"
7aacca6f
DM
5055 },
5056 "node" : {
5057 "description" : "The cluster node name.",
44660702 5058 "format" : "pve-node",
013dc89f
DM
5059 "type" : "string",
5060 "typetext" : "<string>"
44660702
DM
5061 },
5062 "vmid" : {
5063 "description" : "The (unique) ID of the VM.",
5064 "format" : "pve-vmid",
5065 "minimum" : 1,
4bd7df8b 5066 "type" : "integer",
013dc89f 5067 "typetext" : "<integer> (1 - N)"
56122987 5068 }
44660702 5069 }
56122987 5070 },
44660702
DM
5071 "permissions" : {
5072 "check" : [
5073 "perm",
5074 "/vms/{vmid}",
5075 [
5076 "VM.Audit"
5077 ]
5078 ]
56122987 5079 },
44660702
DM
5080 "returns" : {
5081 "type" : "object"
5082 }
7aacca6f 5083 },
44660702
DM
5084 "PUT" : {
5085 "description" : "Update IP or Network alias.",
5086 "method" : "PUT",
5087 "name" : "update_alias",
56122987
DM
5088 "parameters" : {
5089 "additionalProperties" : 0,
5090 "properties" : {
44660702
DM
5091 "cidr" : {
5092 "description" : "Network/IP specification in CIDR format.",
5093 "format" : "IPorCIDR",
013dc89f
DM
5094 "type" : "string",
5095 "typetext" : "<string>"
44660702
DM
5096 },
5097 "comment" : {
5098 "optional" : 1,
013dc89f
DM
5099 "type" : "string",
5100 "typetext" : "<string>"
56122987
DM
5101 },
5102 "digest" : {
44660702 5103 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5104 "maxLength" : 40,
5105 "optional" : 1,
013dc89f
DM
5106 "type" : "string",
5107 "typetext" : "<string>"
56122987 5108 },
7aacca6f 5109 "name" : {
44660702 5110 "description" : "Alias name.",
56122987
DM
5111 "maxLength" : 64,
5112 "minLength" : 2,
5113 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5114 "type" : "string"
7aacca6f
DM
5115 },
5116 "node" : {
7aacca6f 5117 "description" : "The cluster node name.",
44660702 5118 "format" : "pve-node",
013dc89f
DM
5119 "type" : "string",
5120 "typetext" : "<string>"
44660702
DM
5121 },
5122 "rename" : {
5123 "description" : "Rename an existing alias.",
5124 "maxLength" : 64,
5125 "minLength" : 2,
5126 "optional" : 1,
5127 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5128 "type" : "string"
5129 },
5130 "vmid" : {
5131 "description" : "The (unique) ID of the VM.",
5132 "format" : "pve-vmid",
5133 "minimum" : 1,
4bd7df8b 5134 "type" : "integer",
013dc89f 5135 "typetext" : "<integer> (1 - N)"
56122987
DM
5136 }
5137 }
5138 },
7aacca6f
DM
5139 "permissions" : {
5140 "check" : [
5141 "perm",
5142 "/vms/{vmid}",
5143 [
5144 "VM.Config.Network"
5145 ]
5146 ]
5147 },
5148 "protected" : 1,
7aacca6f
DM
5149 "returns" : {
5150 "type" : "null"
44660702 5151 }
56122987
DM
5152 }
5153 },
44660702 5154 "leaf" : 1,
7aacca6f 5155 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5156 "text" : "{name}"
56122987
DM
5157 }
5158 ],
5159 "info" : {
44660702
DM
5160 "GET" : {
5161 "description" : "List aliases",
5162 "method" : "GET",
5163 "name" : "get_aliases",
56122987 5164 "parameters" : {
44660702 5165 "additionalProperties" : 0,
56122987 5166 "properties" : {
7aacca6f 5167 "node" : {
7aacca6f 5168 "description" : "The cluster node name.",
44660702 5169 "format" : "pve-node",
013dc89f
DM
5170 "type" : "string",
5171 "typetext" : "<string>"
56122987 5172 },
44660702
DM
5173 "vmid" : {
5174 "description" : "The (unique) ID of the VM.",
5175 "format" : "pve-vmid",
5176 "minimum" : 1,
4bd7df8b 5177 "type" : "integer",
013dc89f 5178 "typetext" : "<integer> (1 - N)"
56122987 5179 }
44660702 5180 }
56122987 5181 },
56122987
DM
5182 "permissions" : {
5183 "check" : [
5184 "perm",
5185 "/vms/{vmid}",
5186 [
44660702 5187 "VM.Audit"
56122987
DM
5188 ]
5189 ]
5190 },
56122987
DM
5191 "returns" : {
5192 "items" : {
5193 "properties" : {
44660702 5194 "cidr" : {
56122987
DM
5195 "type" : "string"
5196 },
44660702
DM
5197 "comment" : {
5198 "optional" : 1,
7aacca6f 5199 "type" : "string"
56122987
DM
5200 },
5201 "digest" : {
56122987 5202 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5203 "maxLength" : 40,
56122987
DM
5204 "optional" : 0,
5205 "type" : "string"
5206 },
44660702 5207 "name" : {
56122987
DM
5208 "type" : "string"
5209 }
44660702
DM
5210 },
5211 "type" : "object"
56122987 5212 },
56122987
DM
5213 "links" : [
5214 {
5215 "href" : "{name}",
5216 "rel" : "child"
5217 }
44660702
DM
5218 ],
5219 "type" : "array"
5220 }
5221 },
5222 "POST" : {
5223 "description" : "Create IP or Network Alias.",
5224 "method" : "POST",
5225 "name" : "create_alias",
56122987 5226 "parameters" : {
7aacca6f 5227 "additionalProperties" : 0,
56122987 5228 "properties" : {
44660702
DM
5229 "cidr" : {
5230 "description" : "Network/IP specification in CIDR format.",
5231 "format" : "IPorCIDR",
013dc89f
DM
5232 "type" : "string",
5233 "typetext" : "<string>"
44660702
DM
5234 },
5235 "comment" : {
5236 "optional" : 1,
013dc89f
DM
5237 "type" : "string",
5238 "typetext" : "<string>"
44660702
DM
5239 },
5240 "name" : {
5241 "description" : "Alias name.",
5242 "maxLength" : 64,
5243 "minLength" : 2,
5244 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5245 "type" : "string"
56122987
DM
5246 },
5247 "node" : {
7aacca6f 5248 "description" : "The cluster node name.",
44660702 5249 "format" : "pve-node",
013dc89f
DM
5250 "type" : "string",
5251 "typetext" : "<string>"
44660702
DM
5252 },
5253 "vmid" : {
5254 "description" : "The (unique) ID of the VM.",
5255 "format" : "pve-vmid",
5256 "minimum" : 1,
4bd7df8b 5257 "type" : "integer",
013dc89f 5258 "typetext" : "<integer> (1 - N)"
56122987 5259 }
7aacca6f 5260 }
56122987 5261 },
44660702
DM
5262 "permissions" : {
5263 "check" : [
5264 "perm",
5265 "/vms/{vmid}",
5266 [
5267 "VM.Config.Network"
5268 ]
5269 ]
5270 },
5271 "protected" : 1,
5272 "returns" : {
5273 "type" : "null"
5274 }
56122987 5275 }
44660702
DM
5276 },
5277 "leaf" : 0,
5278 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5279 "text" : "aliases"
56122987
DM
5280 },
5281 {
56122987
DM
5282 "children" : [
5283 {
7aacca6f
DM
5284 "children" : [
5285 {
5286 "info" : {
5287 "DELETE" : {
44660702 5288 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5289 "method" : "DELETE",
44660702 5290 "name" : "remove_ip",
7aacca6f 5291 "parameters" : {
44660702 5292 "additionalProperties" : 0,
7aacca6f 5293 "properties" : {
44660702
DM
5294 "cidr" : {
5295 "description" : "Network/IP specification in CIDR format.",
5296 "format" : "IPorCIDRorAlias",
013dc89f
DM
5297 "type" : "string",
5298 "typetext" : "<string>"
44660702
DM
5299 },
5300 "digest" : {
5301 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5302 "maxLength" : 40,
5303 "optional" : 1,
013dc89f
DM
5304 "type" : "string",
5305 "typetext" : "<string>"
44660702 5306 },
7aacca6f 5307 "name" : {
7aacca6f 5308 "description" : "IP set name.",
44660702
DM
5309 "maxLength" : 64,
5310 "minLength" : 2,
7aacca6f 5311 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5312 "type" : "string"
7aacca6f
DM
5313 },
5314 "node" : {
5315 "description" : "The cluster node name.",
44660702 5316 "format" : "pve-node",
013dc89f
DM
5317 "type" : "string",
5318 "typetext" : "<string>"
7aacca6f
DM
5319 },
5320 "vmid" : {
44660702 5321 "description" : "The (unique) ID of the VM.",
7aacca6f 5322 "format" : "pve-vmid",
44660702 5323 "minimum" : 1,
4bd7df8b 5324 "type" : "integer",
013dc89f 5325 "typetext" : "<integer> (1 - N)"
7aacca6f 5326 }
44660702 5327 }
7aacca6f 5328 },
7aacca6f
DM
5329 "permissions" : {
5330 "check" : [
5331 "perm",
5332 "/vms/{vmid}",
5333 [
5334 "VM.Config.Network"
5335 ]
5336 ]
5337 },
5338 "protected" : 1,
44660702
DM
5339 "returns" : {
5340 "type" : "null"
5341 }
56122987 5342 },
44660702
DM
5343 "GET" : {
5344 "description" : "Read IP or Network settings from IPSet.",
5345 "method" : "GET",
5346 "name" : "read_ip",
7aacca6f 5347 "parameters" : {
44660702 5348 "additionalProperties" : 0,
7aacca6f 5349 "properties" : {
7aacca6f 5350 "cidr" : {
44660702 5351 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5352 "format" : "IPorCIDRorAlias",
013dc89f
DM
5353 "type" : "string",
5354 "typetext" : "<string>"
7aacca6f
DM
5355 },
5356 "name" : {
7aacca6f 5357 "description" : "IP set name.",
44660702 5358 "maxLength" : 64,
7aacca6f 5359 "minLength" : 2,
44660702
DM
5360 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5361 "type" : "string"
7aacca6f 5362 },
44660702
DM
5363 "node" : {
5364 "description" : "The cluster node name.",
5365 "format" : "pve-node",
013dc89f
DM
5366 "type" : "string",
5367 "typetext" : "<string>"
7aacca6f 5368 },
44660702
DM
5369 "vmid" : {
5370 "description" : "The (unique) ID of the VM.",
5371 "format" : "pve-vmid",
5372 "minimum" : 1,
4bd7df8b 5373 "type" : "integer",
013dc89f 5374 "typetext" : "<integer> (1 - N)"
7aacca6f 5375 }
44660702 5376 }
7aacca6f 5377 },
44660702
DM
5378 "permissions" : {
5379 "check" : [
5380 "perm",
5381 "/vms/{vmid}",
5382 [
5383 "VM.Audit"
5384 ]
5385 ]
5386 },
5387 "protected" : 1,
7aacca6f 5388 "returns" : {
44660702 5389 "type" : "object"
7aacca6f 5390 }
56122987 5391 },
44660702
DM
5392 "PUT" : {
5393 "description" : "Update IP or Network settings",
5394 "method" : "PUT",
5395 "name" : "update_ip",
7aacca6f
DM
5396 "parameters" : {
5397 "additionalProperties" : 0,
5398 "properties" : {
44660702
DM
5399 "cidr" : {
5400 "description" : "Network/IP specification in CIDR format.",
5401 "format" : "IPorCIDRorAlias",
013dc89f
DM
5402 "type" : "string",
5403 "typetext" : "<string>"
44660702
DM
5404 },
5405 "comment" : {
5406 "optional" : 1,
013dc89f
DM
5407 "type" : "string",
5408 "typetext" : "<string>"
44660702
DM
5409 },
5410 "digest" : {
5411 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5412 "maxLength" : 40,
5413 "optional" : 1,
013dc89f
DM
5414 "type" : "string",
5415 "typetext" : "<string>"
44660702 5416 },
7aacca6f 5417 "name" : {
7aacca6f 5418 "description" : "IP set name.",
44660702 5419 "maxLength" : 64,
7aacca6f 5420 "minLength" : 2,
44660702
DM
5421 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5422 "type" : "string"
7aacca6f
DM
5423 },
5424 "node" : {
7aacca6f 5425 "description" : "The cluster node name.",
44660702 5426 "format" : "pve-node",
013dc89f
DM
5427 "type" : "string",
5428 "typetext" : "<string>"
7aacca6f 5429 },
44660702
DM
5430 "nomatch" : {
5431 "optional" : 1,
013dc89f
DM
5432 "type" : "boolean",
5433 "typetext" : "<boolean>"
7aacca6f
DM
5434 },
5435 "vmid" : {
5436 "description" : "The (unique) ID of the VM.",
44660702 5437 "format" : "pve-vmid",
7aacca6f 5438 "minimum" : 1,
4bd7df8b 5439 "type" : "integer",
013dc89f 5440 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5441 }
5442 }
5443 },
5444 "permissions" : {
5445 "check" : [
5446 "perm",
5447 "/vms/{vmid}",
5448 [
44660702 5449 "VM.Config.Network"
7aacca6f
DM
5450 ]
5451 ]
5452 },
7aacca6f 5453 "protected" : 1,
7aacca6f 5454 "returns" : {
44660702 5455 "type" : "null"
7aacca6f 5456 }
56122987 5457 }
7aacca6f 5458 },
7aacca6f 5459 "leaf" : 1,
44660702
DM
5460 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5461 "text" : "{cidr}"
7aacca6f 5462 }
44660702
DM
5463 ],
5464 "info" : {
5465 "DELETE" : {
5466 "description" : "Delete IPSet",
5467 "method" : "DELETE",
5468 "name" : "delete_ipset",
5469 "parameters" : {
5470 "additionalProperties" : 0,
5471 "properties" : {
5472 "name" : {
5473 "description" : "IP set name.",
5474 "maxLength" : 64,
5475 "minLength" : 2,
5476 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5477 "type" : "string"
5478 },
5479 "node" : {
5480 "description" : "The cluster node name.",
5481 "format" : "pve-node",
013dc89f
DM
5482 "type" : "string",
5483 "typetext" : "<string>"
44660702
DM
5484 },
5485 "vmid" : {
5486 "description" : "The (unique) ID of the VM.",
5487 "format" : "pve-vmid",
5488 "minimum" : 1,
4bd7df8b 5489 "type" : "integer",
013dc89f 5490 "typetext" : "<integer> (1 - N)"
44660702
DM
5491 }
5492 }
7aacca6f 5493 },
44660702
DM
5494 "permissions" : {
5495 "check" : [
5496 "perm",
5497 "/vms/{vmid}",
5498 [
5499 "VM.Config.Network"
5500 ]
5501 ]
7aacca6f 5502 },
44660702
DM
5503 "protected" : 1,
5504 "returns" : {
5505 "type" : "null"
5506 }
5507 },
5508 "GET" : {
5509 "description" : "List IPSet content",
5510 "method" : "GET",
5511 "name" : "get_ipset",
5512 "parameters" : {
5513 "additionalProperties" : 0,
5514 "properties" : {
5515 "name" : {
5516 "description" : "IP set name.",
5517 "maxLength" : 64,
5518 "minLength" : 2,
5519 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5520 "type" : "string"
5521 },
5522 "node" : {
5523 "description" : "The cluster node name.",
5524 "format" : "pve-node",
013dc89f
DM
5525 "type" : "string",
5526 "typetext" : "<string>"
44660702
DM
5527 },
5528 "vmid" : {
5529 "description" : "The (unique) ID of the VM.",
5530 "format" : "pve-vmid",
5531 "minimum" : 1,
4bd7df8b 5532 "type" : "integer",
013dc89f 5533 "typetext" : "<integer> (1 - N)"
44660702
DM
5534 }
5535 }
7aacca6f 5536 },
44660702
DM
5537 "permissions" : {
5538 "check" : [
5539 "perm",
5540 "/vms/{vmid}",
5541 [
5542 "VM.Audit"
5543 ]
5544 ]
7aacca6f 5545 },
44660702
DM
5546 "returns" : {
5547 "items" : {
5548 "properties" : {
5549 "cidr" : {
5550 "type" : "string"
5551 },
5552 "comment" : {
5553 "optional" : 1,
5554 "type" : "string"
5555 },
5556 "digest" : {
5557 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5558 "maxLength" : 40,
5559 "optional" : 0,
5560 "type" : "string"
5561 },
5562 "nomatch" : {
5563 "optional" : 1,
5564 "type" : "boolean"
5565 }
5566 },
5567 "type" : "object"
5568 },
5569 "links" : [
5570 {
5571 "href" : "{cidr}",
5572 "rel" : "child"
5573 }
5574 ],
5575 "type" : "array"
56122987
DM
5576 }
5577 },
44660702
DM
5578 "POST" : {
5579 "description" : "Add IP or Network to IPSet.",
5580 "method" : "POST",
5581 "name" : "create_ip",
5582 "parameters" : {
5583 "additionalProperties" : 0,
5584 "properties" : {
5585 "cidr" : {
5586 "description" : "Network/IP specification in CIDR format.",
5587 "format" : "IPorCIDRorAlias",
013dc89f
DM
5588 "type" : "string",
5589 "typetext" : "<string>"
44660702
DM
5590 },
5591 "comment" : {
5592 "optional" : 1,
013dc89f
DM
5593 "type" : "string",
5594 "typetext" : "<string>"
44660702
DM
5595 },
5596 "name" : {
5597 "description" : "IP set name.",
5598 "maxLength" : 64,
5599 "minLength" : 2,
5600 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5601 "type" : "string"
5602 },
5603 "node" : {
5604 "description" : "The cluster node name.",
5605 "format" : "pve-node",
013dc89f
DM
5606 "type" : "string",
5607 "typetext" : "<string>"
44660702
DM
5608 },
5609 "nomatch" : {
5610 "optional" : 1,
013dc89f
DM
5611 "type" : "boolean",
5612 "typetext" : "<boolean>"
44660702
DM
5613 },
5614 "vmid" : {
5615 "description" : "The (unique) ID of the VM.",
5616 "format" : "pve-vmid",
5617 "minimum" : 1,
4bd7df8b 5618 "type" : "integer",
013dc89f 5619 "typetext" : "<integer> (1 - N)"
44660702
DM
5620 }
5621 }
5622 },
5623 "permissions" : {
5624 "check" : [
5625 "perm",
5626 "/vms/{vmid}",
5627 [
5628 "VM.Config.Network"
5629 ]
5630 ]
5631 },
5632 "protected" : 1,
5633 "returns" : {
5634 "type" : "null"
5635 }
5636 }
5637 },
5638 "leaf" : 0,
5639 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5640 "text" : "{name}"
5641 }
5642 ],
5643 "info" : {
5644 "GET" : {
5645 "description" : "List IPSets",
5646 "method" : "GET",
5647 "name" : "ipset_index",
5648 "parameters" : {
5649 "additionalProperties" : 0,
5650 "properties" : {
5651 "node" : {
5652 "description" : "The cluster node name.",
5653 "format" : "pve-node",
013dc89f
DM
5654 "type" : "string",
5655 "typetext" : "<string>"
44660702
DM
5656 },
5657 "vmid" : {
5658 "description" : "The (unique) ID of the VM.",
5659 "format" : "pve-vmid",
5660 "minimum" : 1,
4bd7df8b 5661 "type" : "integer",
013dc89f 5662 "typetext" : "<integer> (1 - N)"
44660702
DM
5663 }
5664 }
56122987
DM
5665 },
5666 "permissions" : {
5667 "check" : [
5668 "perm",
5669 "/vms/{vmid}",
5670 [
44660702 5671 "VM.Audit"
56122987
DM
5672 ]
5673 ]
5674 },
7aacca6f 5675 "returns" : {
7aacca6f
DM
5676 "items" : {
5677 "properties" : {
7aacca6f
DM
5678 "comment" : {
5679 "optional" : 1,
5680 "type" : "string"
5681 },
5682 "digest" : {
7aacca6f 5683 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5684 "maxLength" : 40,
5685 "optional" : 0,
5686 "type" : "string"
5687 },
5688 "name" : {
5689 "description" : "IP set name.",
5690 "maxLength" : 64,
5691 "minLength" : 2,
5692 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5693 "type" : "string"
7aacca6f
DM
5694 }
5695 },
5696 "type" : "object"
5697 },
5698 "links" : [
5699 {
44660702
DM
5700 "href" : "{name}",
5701 "rel" : "child"
7aacca6f 5702 }
44660702
DM
5703 ],
5704 "type" : "array"
5705 }
5706 },
5707 "POST" : {
5708 "description" : "Create new IPSet",
5709 "method" : "POST",
5710 "name" : "create_ipset",
56122987
DM
5711 "parameters" : {
5712 "additionalProperties" : 0,
5713 "properties" : {
44660702
DM
5714 "comment" : {
5715 "optional" : 1,
013dc89f
DM
5716 "type" : "string",
5717 "typetext" : "<string>"
56122987 5718 },
44660702
DM
5719 "digest" : {
5720 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5721 "maxLength" : 40,
5722 "optional" : 1,
013dc89f
DM
5723 "type" : "string",
5724 "typetext" : "<string>"
44660702
DM
5725 },
5726 "name" : {
5727 "description" : "IP set name.",
5728 "maxLength" : 64,
5729 "minLength" : 2,
5730 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5731 "type" : "string"
5732 },
5733 "node" : {
5734 "description" : "The cluster node name.",
5735 "format" : "pve-node",
013dc89f
DM
5736 "type" : "string",
5737 "typetext" : "<string>"
44660702
DM
5738 },
5739 "rename" : {
5740 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5741 "maxLength" : 64,
5742 "minLength" : 2,
5743 "optional" : 1,
5744 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5745 "type" : "string"
5746 },
5747 "vmid" : {
5748 "description" : "The (unique) ID of the VM.",
5749 "format" : "pve-vmid",
5750 "minimum" : 1,
4bd7df8b 5751 "type" : "integer",
013dc89f 5752 "typetext" : "<integer> (1 - N)"
44660702
DM
5753 }
5754 }
5755 },
7aacca6f
DM
5756 "permissions" : {
5757 "check" : [
5758 "perm",
5759 "/vms/{vmid}",
5760 [
5761 "VM.Config.Network"
5762 ]
5763 ]
5764 },
44660702 5765 "protected" : 1,
56122987 5766 "returns" : {
7aacca6f 5767 "type" : "null"
44660702
DM
5768 }
5769 }
5770 },
5771 "leaf" : 0,
5772 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5773 "text" : "ipset"
5774 },
5775 {
5776 "info" : {
5777 "GET" : {
5778 "description" : "Get VM firewall options.",
5779 "method" : "GET",
5780 "name" : "get_options",
7aacca6f
DM
5781 "parameters" : {
5782 "additionalProperties" : 0,
56122987 5783 "properties" : {
7aacca6f
DM
5784 "node" : {
5785 "description" : "The cluster node name.",
44660702 5786 "format" : "pve-node",
013dc89f
DM
5787 "type" : "string",
5788 "typetext" : "<string>"
7aacca6f 5789 },
44660702
DM
5790 "vmid" : {
5791 "description" : "The (unique) ID of the VM.",
5792 "format" : "pve-vmid",
5793 "minimum" : 1,
4bd7df8b 5794 "type" : "integer",
013dc89f 5795 "typetext" : "<integer> (1 - N)"
44660702
DM
5796 }
5797 }
5798 },
5799 "permissions" : {
5800 "check" : [
5801 "perm",
5802 "/vms/{vmid}",
5803 [
5804 "VM.Audit"
5805 ]
5806 ]
5807 },
5808 "proxyto" : "node",
5809 "returns" : {
5810 "properties" : {
5811 "dhcp" : {
5812 "description" : "Enable DHCP.",
56122987 5813 "optional" : 1,
44660702 5814 "type" : "boolean"
56122987 5815 },
44660702
DM
5816 "enable" : {
5817 "description" : "Enable/disable firewall rules.",
7aacca6f 5818 "optional" : 1,
44660702 5819 "type" : "boolean"
56122987 5820 },
44660702
DM
5821 "ipfilter" : {
5822 "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 5823 "optional" : 1,
44660702 5824 "type" : "boolean"
7aacca6f 5825 },
56122987 5826 "log_level_in" : {
7aacca6f 5827 "description" : "Log level for incoming traffic.",
56122987
DM
5828 "enum" : [
5829 "emerg",
5830 "alert",
5831 "crit",
5832 "err",
5833 "warning",
5834 "notice",
5835 "info",
5836 "debug",
5837 "nolog"
5838 ],
56122987
DM
5839 "optional" : 1,
5840 "type" : "string"
5841 },
44660702
DM
5842 "log_level_out" : {
5843 "description" : "Log level for outgoing traffic.",
5844 "enum" : [
5845 "emerg",
5846 "alert",
5847 "crit",
5848 "err",
5849 "warning",
5850 "notice",
5851 "info",
5852 "debug",
5853 "nolog"
5854 ],
5855 "optional" : 1,
5856 "type" : "string"
5857 },
5858 "macfilter" : {
5859 "description" : "Enable/disable MAC address filter.",
56122987 5860 "optional" : 1,
7aacca6f 5861 "type" : "boolean"
56122987
DM
5862 },
5863 "ndp" : {
44660702 5864 "description" : "Enable NDP.",
56122987 5865 "optional" : 1,
44660702 5866 "type" : "boolean"
56122987
DM
5867 },
5868 "policy_in" : {
56122987
DM
5869 "description" : "Input policy.",
5870 "enum" : [
5871 "ACCEPT",
5872 "REJECT",
5873 "DROP"
44660702
DM
5874 ],
5875 "optional" : 1,
5876 "type" : "string"
56122987 5877 },
44660702
DM
5878 "policy_out" : {
5879 "description" : "Output policy.",
5880 "enum" : [
5881 "ACCEPT",
5882 "REJECT",
5883 "DROP"
5884 ],
5885 "optional" : 1,
5886 "type" : "string"
5887 },
5888 "radv" : {
5889 "description" : "Allow sending Router Advertisement.",
5890 "optional" : 1,
5891 "type" : "boolean"
5892 }
5893 },
5894 "type" : "object"
5895 }
5896 },
5897 "PUT" : {
5898 "description" : "Set Firewall options.",
5899 "method" : "PUT",
5900 "name" : "set_options",
5901 "parameters" : {
5902 "additionalProperties" : 0,
5903 "properties" : {
5904 "delete" : {
5905 "description" : "A list of settings you want to delete.",
5906 "format" : "pve-configid-list",
5907 "optional" : 1,
013dc89f
DM
5908 "type" : "string",
5909 "typetext" : "<string>"
44660702
DM
5910 },
5911 "dhcp" : {
5912 "description" : "Enable DHCP.",
7aacca6f 5913 "optional" : 1,
013dc89f
DM
5914 "type" : "boolean",
5915 "typetext" : "<boolean>"
7aacca6f
DM
5916 },
5917 "digest" : {
5918 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5919 "maxLength" : 40,
7aacca6f 5920 "optional" : 1,
013dc89f
DM
5921 "type" : "string",
5922 "typetext" : "<string>"
7aacca6f
DM
5923 },
5924 "enable" : {
5925 "description" : "Enable/disable firewall rules.",
56122987 5926 "optional" : 1,
013dc89f
DM
5927 "type" : "boolean",
5928 "typetext" : "<boolean>"
7aacca6f 5929 },
44660702
DM
5930 "ipfilter" : {
5931 "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.",
5932 "optional" : 1,
013dc89f
DM
5933 "type" : "boolean",
5934 "typetext" : "<boolean>"
44660702
DM
5935 },
5936 "log_level_in" : {
5937 "description" : "Log level for incoming traffic.",
56122987
DM
5938 "enum" : [
5939 "emerg",
5940 "alert",
5941 "crit",
5942 "err",
5943 "warning",
5944 "notice",
5945 "info",
5946 "debug",
5947 "nolog"
7aacca6f 5948 ],
7aacca6f 5949 "optional" : 1,
44660702 5950 "type" : "string"
7aacca6f 5951 },
44660702
DM
5952 "log_level_out" : {
5953 "description" : "Log level for outgoing traffic.",
56122987
DM
5954 "enum" : [
5955 "emerg",
5956 "alert",
5957 "crit",
5958 "err",
5959 "warning",
5960 "notice",
5961 "info",
5962 "debug",
5963 "nolog"
5964 ],
56122987 5965 "optional" : 1,
44660702 5966 "type" : "string"
56122987
DM
5967 },
5968 "macfilter" : {
56122987 5969 "description" : "Enable/disable MAC address filter.",
7aacca6f 5970 "optional" : 1,
013dc89f
DM
5971 "type" : "boolean",
5972 "typetext" : "<boolean>"
56122987 5973 },
44660702
DM
5974 "ndp" : {
5975 "description" : "Enable NDP.",
5976 "optional" : 1,
013dc89f
DM
5977 "type" : "boolean",
5978 "typetext" : "<boolean>"
44660702
DM
5979 },
5980 "node" : {
5981 "description" : "The cluster node name.",
5982 "format" : "pve-node",
013dc89f
DM
5983 "type" : "string",
5984 "typetext" : "<string>"
44660702 5985 },
56122987 5986 "policy_in" : {
44660702 5987 "description" : "Input policy.",
56122987
DM
5988 "enum" : [
5989 "ACCEPT",
5990 "REJECT",
5991 "DROP"
7aacca6f 5992 ],
56122987 5993 "optional" : 1,
7aacca6f 5994 "type" : "string"
56122987 5995 },
44660702
DM
5996 "policy_out" : {
5997 "description" : "Output policy.",
5998 "enum" : [
5999 "ACCEPT",
6000 "REJECT",
6001 "DROP"
6002 ],
56122987 6003 "optional" : 1,
44660702 6004 "type" : "string"
56122987 6005 },
44660702
DM
6006 "radv" : {
6007 "description" : "Allow sending Router Advertisement.",
56122987 6008 "optional" : 1,
013dc89f
DM
6009 "type" : "boolean",
6010 "typetext" : "<boolean>"
7aacca6f
DM
6011 },
6012 "vmid" : {
6013 "description" : "The (unique) ID of the VM.",
44660702 6014 "format" : "pve-vmid",
7aacca6f 6015 "minimum" : 1,
4bd7df8b 6016 "type" : "integer",
013dc89f 6017 "typetext" : "<integer> (1 - N)"
56122987
DM
6018 }
6019 }
6020 },
56122987
DM
6021 "permissions" : {
6022 "check" : [
6023 "perm",
6024 "/vms/{vmid}",
6025 [
44660702 6026 "VM.Config.Network"
56122987
DM
6027 ]
6028 ]
7aacca6f 6029 },
44660702 6030 "protected" : 1,
7aacca6f 6031 "proxyto" : "node",
44660702
DM
6032 "returns" : {
6033 "type" : "null"
6034 }
56122987
DM
6035 }
6036 },
44660702 6037 "leaf" : 1,
7aacca6f 6038 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6039 "text" : "options"
56122987
DM
6040 },
6041 {
56122987
DM
6042 "info" : {
6043 "GET" : {
44660702
DM
6044 "description" : "Read firewall log",
6045 "method" : "GET",
6046 "name" : "log",
6047 "parameters" : {
6048 "additionalProperties" : 0,
6049 "properties" : {
6050 "limit" : {
6051 "minimum" : 0,
6052 "optional" : 1,
4bd7df8b 6053 "type" : "integer",
013dc89f 6054 "typetext" : "<integer> (0 - N)"
56122987 6055 },
44660702
DM
6056 "node" : {
6057 "description" : "The cluster node name.",
6058 "format" : "pve-node",
013dc89f
DM
6059 "type" : "string",
6060 "typetext" : "<string>"
44660702
DM
6061 },
6062 "start" : {
6063 "minimum" : 0,
6064 "optional" : 1,
4bd7df8b 6065 "type" : "integer",
013dc89f 6066 "typetext" : "<integer> (0 - N)"
44660702
DM
6067 },
6068 "vmid" : {
6069 "description" : "The (unique) ID of the VM.",
6070 "format" : "pve-vmid",
6071 "minimum" : 1,
4bd7df8b 6072 "type" : "integer",
013dc89f 6073 "typetext" : "<integer> (1 - N)"
44660702
DM
6074 }
6075 }
7aacca6f 6076 },
7aacca6f
DM
6077 "permissions" : {
6078 "check" : [
6079 "perm",
6080 "/vms/{vmid}",
6081 [
6082 "VM.Console"
6083 ]
6084 ]
56122987 6085 },
7aacca6f 6086 "protected" : 1,
44660702
DM
6087 "proxyto" : "node",
6088 "returns" : {
6089 "items" : {
6090 "properties" : {
6091 "n" : {
6092 "description" : "Line number",
6093 "type" : "integer"
6094 },
6095 "t" : {
6096 "description" : "Line text",
6097 "type" : "string"
6098 }
56122987 6099 },
44660702 6100 "type" : "object"
7aacca6f 6101 },
44660702 6102 "type" : "array"
7aacca6f
DM
6103 }
6104 }
6105 },
44660702 6106 "leaf" : 1,
7aacca6f 6107 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6108 "text" : "log"
7aacca6f
DM
6109 },
6110 {
7aacca6f
DM
6111 "info" : {
6112 "GET" : {
6113 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6114 "method" : "GET",
6115 "name" : "refs",
56122987 6116 "parameters" : {
44660702 6117 "additionalProperties" : 0,
56122987
DM
6118 "properties" : {
6119 "node" : {
7aacca6f 6120 "description" : "The cluster node name.",
44660702 6121 "format" : "pve-node",
013dc89f
DM
6122 "type" : "string",
6123 "typetext" : "<string>"
56122987
DM
6124 },
6125 "type" : {
56122987
DM
6126 "description" : "Only list references of specified type.",
6127 "enum" : [
6128 "alias",
6129 "ipset"
7aacca6f 6130 ],
44660702
DM
6131 "optional" : 1,
6132 "type" : "string"
6133 },
6134 "vmid" : {
6135 "description" : "The (unique) ID of the VM.",
6136 "format" : "pve-vmid",
6137 "minimum" : 1,
4bd7df8b 6138 "type" : "integer",
013dc89f 6139 "typetext" : "<integer> (1 - N)"
56122987 6140 }
44660702
DM
6141 }
6142 },
6143 "permissions" : {
6144 "check" : [
6145 "perm",
6146 "/vms/{vmid}",
6147 [
6148 "VM.Audit"
6149 ]
6150 ]
56122987
DM
6151 },
6152 "returns" : {
56122987
DM
6153 "items" : {
6154 "properties" : {
44660702
DM
6155 "comment" : {
6156 "optional" : 1,
56122987
DM
6157 "type" : "string"
6158 },
6159 "name" : {
6160 "type" : "string"
6161 },
44660702
DM
6162 "type" : {
6163 "enum" : [
6164 "alias",
6165 "ipset"
6166 ],
7aacca6f 6167 "type" : "string"
56122987
DM
6168 }
6169 },
6170 "type" : "object"
7aacca6f
DM
6171 },
6172 "type" : "array"
6173 }
56122987 6174 }
44660702
DM
6175 },
6176 "leaf" : 1,
6177 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6178 "text" : "refs"
56122987
DM
6179 }
6180 ],
56122987
DM
6181 "info" : {
6182 "GET" : {
44660702 6183 "description" : "Directory index.",
56122987 6184 "method" : "GET",
44660702 6185 "name" : "index",
56122987 6186 "parameters" : {
44660702 6187 "additionalProperties" : 0,
56122987
DM
6188 "properties" : {
6189 "node" : {
6190 "description" : "The cluster node name.",
44660702 6191 "format" : "pve-node",
013dc89f
DM
6192 "type" : "string",
6193 "typetext" : "<string>"
56122987
DM
6194 },
6195 "vmid" : {
44660702 6196 "description" : "The (unique) ID of the VM.",
56122987
DM
6197 "format" : "pve-vmid",
6198 "minimum" : 1,
4bd7df8b 6199 "type" : "integer",
013dc89f 6200 "typetext" : "<integer> (1 - N)"
56122987 6201 }
44660702 6202 }
56122987 6203 },
56122987 6204 "permissions" : {
27a7acb2
DM
6205 "user" : "all"
6206 },
6207 "returns" : {
6208 "items" : {
6209 "properties" : {},
6210 "type" : "object"
6211 },
6212 "links" : [
6213 {
6214 "href" : "{name}",
6215 "rel" : "child"
6216 }
6217 ],
6218 "type" : "array"
6219 }
6220 }
6221 },
6222 "leaf" : 0,
6223 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6224 "text" : "firewall"
6225 },
6226 {
6227 "children" : [
6228 {
6229 "info" : {
6230 "POST" : {
6231 "description" : "Execute fsfreeze-freeze.",
6232 "method" : "POST",
6233 "name" : "fsfreeze-freeze",
6234 "parameters" : {
6235 "additionalProperties" : 0,
6236 "properties" : {
6237 "node" : {
6238 "description" : "The cluster node name.",
6239 "format" : "pve-node",
6240 "type" : "string",
6241 "typetext" : "<string>"
6242 },
6243 "vmid" : {
6244 "description" : "The (unique) ID of the VM.",
6245 "format" : "pve-vmid",
6246 "minimum" : 1,
6247 "type" : "integer",
6248 "typetext" : "<integer> (1 - N)"
6249 }
6250 }
6251 },
6252 "permissions" : {
6253 "check" : [
6254 "perm",
6255 "/vms/{vmid}",
6256 [
6257 "VM.Monitor"
6258 ]
6259 ]
6260 },
6261 "protected" : 1,
6262 "proxyto" : "node",
6263 "returns" : {
6264 "description" : "Returns an object with a single `result` property.",
6265 "type" : "object"
6266 }
6267 }
6268 },
6269 "leaf" : 1,
6270 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6271 "text" : "fsfreeze-freeze"
6272 },
6273 {
6274 "info" : {
6275 "POST" : {
6276 "description" : "Execute fsfreeze-status.",
6277 "method" : "POST",
6278 "name" : "fsfreeze-status",
6279 "parameters" : {
6280 "additionalProperties" : 0,
6281 "properties" : {
6282 "node" : {
6283 "description" : "The cluster node name.",
6284 "format" : "pve-node",
6285 "type" : "string",
6286 "typetext" : "<string>"
6287 },
6288 "vmid" : {
6289 "description" : "The (unique) ID of the VM.",
6290 "format" : "pve-vmid",
6291 "minimum" : 1,
6292 "type" : "integer",
6293 "typetext" : "<integer> (1 - N)"
6294 }
6295 }
6296 },
6297 "permissions" : {
6298 "check" : [
6299 "perm",
6300 "/vms/{vmid}",
6301 [
6302 "VM.Monitor"
6303 ]
6304 ]
6305 },
6306 "protected" : 1,
6307 "proxyto" : "node",
6308 "returns" : {
6309 "description" : "Returns an object with a single `result` property.",
6310 "type" : "object"
6311 }
6312 }
6313 },
6314 "leaf" : 1,
6315 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6316 "text" : "fsfreeze-status"
6317 },
6318 {
6319 "info" : {
6320 "POST" : {
6321 "description" : "Execute fsfreeze-thaw.",
6322 "method" : "POST",
6323 "name" : "fsfreeze-thaw",
6324 "parameters" : {
6325 "additionalProperties" : 0,
6326 "properties" : {
6327 "node" : {
6328 "description" : "The cluster node name.",
6329 "format" : "pve-node",
6330 "type" : "string",
6331 "typetext" : "<string>"
6332 },
6333 "vmid" : {
6334 "description" : "The (unique) ID of the VM.",
6335 "format" : "pve-vmid",
6336 "minimum" : 1,
6337 "type" : "integer",
6338 "typetext" : "<integer> (1 - N)"
6339 }
6340 }
6341 },
6342 "permissions" : {
6343 "check" : [
6344 "perm",
6345 "/vms/{vmid}",
6346 [
6347 "VM.Monitor"
6348 ]
6349 ]
6350 },
6351 "protected" : 1,
6352 "proxyto" : "node",
6353 "returns" : {
6354 "description" : "Returns an object with a single `result` property.",
6355 "type" : "object"
6356 }
6357 }
6358 },
6359 "leaf" : 1,
6360 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6361 "text" : "fsfreeze-thaw"
6362 },
6363 {
6364 "info" : {
6365 "POST" : {
6366 "description" : "Execute fstrim.",
6367 "method" : "POST",
6368 "name" : "fstrim",
6369 "parameters" : {
6370 "additionalProperties" : 0,
6371 "properties" : {
6372 "node" : {
6373 "description" : "The cluster node name.",
6374 "format" : "pve-node",
6375 "type" : "string",
6376 "typetext" : "<string>"
6377 },
6378 "vmid" : {
6379 "description" : "The (unique) ID of the VM.",
6380 "format" : "pve-vmid",
6381 "minimum" : 1,
6382 "type" : "integer",
6383 "typetext" : "<integer> (1 - N)"
6384 }
6385 }
6386 },
6387 "permissions" : {
6388 "check" : [
6389 "perm",
6390 "/vms/{vmid}",
6391 [
6392 "VM.Monitor"
6393 ]
6394 ]
6395 },
6396 "protected" : 1,
6397 "proxyto" : "node",
6398 "returns" : {
6399 "description" : "Returns an object with a single `result` property.",
6400 "type" : "object"
6401 }
6402 }
6403 },
6404 "leaf" : 1,
6405 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6406 "text" : "fstrim"
6407 },
6408 {
6409 "info" : {
6410 "GET" : {
6411 "description" : "Execute get-fsinfo.",
6412 "method" : "GET",
6413 "name" : "get-fsinfo",
6414 "parameters" : {
6415 "additionalProperties" : 0,
6416 "properties" : {
6417 "node" : {
6418 "description" : "The cluster node name.",
6419 "format" : "pve-node",
6420 "type" : "string",
6421 "typetext" : "<string>"
6422 },
6423 "vmid" : {
6424 "description" : "The (unique) ID of the VM.",
6425 "format" : "pve-vmid",
6426 "minimum" : 1,
6427 "type" : "integer",
6428 "typetext" : "<integer> (1 - N)"
6429 }
6430 }
6431 },
6432 "permissions" : {
6433 "check" : [
6434 "perm",
6435 "/vms/{vmid}",
6436 [
6437 "VM.Monitor"
6438 ]
6439 ]
6440 },
6441 "protected" : 1,
6442 "proxyto" : "node",
6443 "returns" : {
6444 "description" : "Returns an object with a single `result` property.",
6445 "type" : "object"
6446 }
6447 }
6448 },
6449 "leaf" : 1,
6450 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6451 "text" : "get-fsinfo"
6452 },
6453 {
6454 "info" : {
6455 "GET" : {
6456 "description" : "Execute get-host-name.",
6457 "method" : "GET",
6458 "name" : "get-host-name",
6459 "parameters" : {
6460 "additionalProperties" : 0,
6461 "properties" : {
6462 "node" : {
6463 "description" : "The cluster node name.",
6464 "format" : "pve-node",
6465 "type" : "string",
6466 "typetext" : "<string>"
6467 },
6468 "vmid" : {
6469 "description" : "The (unique) ID of the VM.",
6470 "format" : "pve-vmid",
6471 "minimum" : 1,
6472 "type" : "integer",
6473 "typetext" : "<integer> (1 - N)"
6474 }
6475 }
6476 },
6477 "permissions" : {
6478 "check" : [
6479 "perm",
6480 "/vms/{vmid}",
6481 [
6482 "VM.Monitor"
6483 ]
6484 ]
6485 },
6486 "protected" : 1,
6487 "proxyto" : "node",
6488 "returns" : {
6489 "description" : "Returns an object with a single `result` property.",
6490 "type" : "object"
6491 }
6492 }
6493 },
6494 "leaf" : 1,
6495 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6496 "text" : "get-host-name"
6497 },
6498 {
6499 "info" : {
6500 "GET" : {
6501 "description" : "Execute get-memory-block-info.",
6502 "method" : "GET",
6503 "name" : "get-memory-block-info",
6504 "parameters" : {
6505 "additionalProperties" : 0,
6506 "properties" : {
6507 "node" : {
6508 "description" : "The cluster node name.",
6509 "format" : "pve-node",
6510 "type" : "string",
6511 "typetext" : "<string>"
6512 },
6513 "vmid" : {
6514 "description" : "The (unique) ID of the VM.",
6515 "format" : "pve-vmid",
6516 "minimum" : 1,
6517 "type" : "integer",
6518 "typetext" : "<integer> (1 - N)"
6519 }
6520 }
6521 },
6522 "permissions" : {
6523 "check" : [
6524 "perm",
6525 "/vms/{vmid}",
6526 [
6527 "VM.Monitor"
6528 ]
6529 ]
6530 },
6531 "protected" : 1,
6532 "proxyto" : "node",
6533 "returns" : {
6534 "description" : "Returns an object with a single `result` property.",
6535 "type" : "object"
6536 }
6537 }
6538 },
6539 "leaf" : 1,
6540 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6541 "text" : "get-memory-block-info"
6542 },
6543 {
6544 "info" : {
6545 "GET" : {
6546 "description" : "Execute get-memory-blocks.",
6547 "method" : "GET",
6548 "name" : "get-memory-blocks",
6549 "parameters" : {
6550 "additionalProperties" : 0,
6551 "properties" : {
6552 "node" : {
6553 "description" : "The cluster node name.",
6554 "format" : "pve-node",
6555 "type" : "string",
6556 "typetext" : "<string>"
6557 },
6558 "vmid" : {
6559 "description" : "The (unique) ID of the VM.",
6560 "format" : "pve-vmid",
6561 "minimum" : 1,
6562 "type" : "integer",
6563 "typetext" : "<integer> (1 - N)"
6564 }
6565 }
6566 },
6567 "permissions" : {
6568 "check" : [
6569 "perm",
6570 "/vms/{vmid}",
6571 [
6572 "VM.Monitor"
6573 ]
6574 ]
6575 },
6576 "protected" : 1,
6577 "proxyto" : "node",
6578 "returns" : {
6579 "description" : "Returns an object with a single `result` property.",
6580 "type" : "object"
6581 }
6582 }
6583 },
6584 "leaf" : 1,
6585 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6586 "text" : "get-memory-blocks"
6587 },
6588 {
6589 "info" : {
6590 "GET" : {
6591 "description" : "Execute get-osinfo.",
6592 "method" : "GET",
6593 "name" : "get-osinfo",
6594 "parameters" : {
6595 "additionalProperties" : 0,
6596 "properties" : {
6597 "node" : {
6598 "description" : "The cluster node name.",
6599 "format" : "pve-node",
6600 "type" : "string",
6601 "typetext" : "<string>"
6602 },
6603 "vmid" : {
6604 "description" : "The (unique) ID of the VM.",
6605 "format" : "pve-vmid",
6606 "minimum" : 1,
6607 "type" : "integer",
6608 "typetext" : "<integer> (1 - N)"
6609 }
6610 }
6611 },
6612 "permissions" : {
6613 "check" : [
6614 "perm",
6615 "/vms/{vmid}",
6616 [
6617 "VM.Monitor"
6618 ]
6619 ]
6620 },
6621 "protected" : 1,
6622 "proxyto" : "node",
6623 "returns" : {
6624 "description" : "Returns an object with a single `result` property.",
6625 "type" : "object"
6626 }
6627 }
6628 },
6629 "leaf" : 1,
6630 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6631 "text" : "get-osinfo"
6632 },
6633 {
6634 "info" : {
6635 "GET" : {
6636 "description" : "Execute get-time.",
6637 "method" : "GET",
6638 "name" : "get-time",
6639 "parameters" : {
6640 "additionalProperties" : 0,
6641 "properties" : {
6642 "node" : {
6643 "description" : "The cluster node name.",
6644 "format" : "pve-node",
6645 "type" : "string",
6646 "typetext" : "<string>"
6647 },
6648 "vmid" : {
6649 "description" : "The (unique) ID of the VM.",
6650 "format" : "pve-vmid",
6651 "minimum" : 1,
6652 "type" : "integer",
6653 "typetext" : "<integer> (1 - N)"
6654 }
6655 }
6656 },
6657 "permissions" : {
6658 "check" : [
6659 "perm",
6660 "/vms/{vmid}",
6661 [
6662 "VM.Monitor"
6663 ]
6664 ]
6665 },
6666 "protected" : 1,
6667 "proxyto" : "node",
6668 "returns" : {
6669 "description" : "Returns an object with a single `result` property.",
6670 "type" : "object"
6671 }
6672 }
6673 },
6674 "leaf" : 1,
6675 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6676 "text" : "get-time"
6677 },
6678 {
6679 "info" : {
6680 "GET" : {
6681 "description" : "Execute get-timezone.",
6682 "method" : "GET",
6683 "name" : "get-timezone",
6684 "parameters" : {
6685 "additionalProperties" : 0,
6686 "properties" : {
6687 "node" : {
6688 "description" : "The cluster node name.",
6689 "format" : "pve-node",
6690 "type" : "string",
6691 "typetext" : "<string>"
6692 },
6693 "vmid" : {
6694 "description" : "The (unique) ID of the VM.",
6695 "format" : "pve-vmid",
6696 "minimum" : 1,
6697 "type" : "integer",
6698 "typetext" : "<integer> (1 - N)"
6699 }
6700 }
6701 },
6702 "permissions" : {
6703 "check" : [
6704 "perm",
6705 "/vms/{vmid}",
6706 [
6707 "VM.Monitor"
6708 ]
6709 ]
6710 },
6711 "protected" : 1,
6712 "proxyto" : "node",
6713 "returns" : {
6714 "description" : "Returns an object with a single `result` property.",
6715 "type" : "object"
6716 }
6717 }
6718 },
6719 "leaf" : 1,
6720 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6721 "text" : "get-timezone"
6722 },
6723 {
6724 "info" : {
6725 "GET" : {
6726 "description" : "Execute get-users.",
6727 "method" : "GET",
6728 "name" : "get-users",
6729 "parameters" : {
6730 "additionalProperties" : 0,
6731 "properties" : {
6732 "node" : {
6733 "description" : "The cluster node name.",
6734 "format" : "pve-node",
6735 "type" : "string",
6736 "typetext" : "<string>"
6737 },
6738 "vmid" : {
6739 "description" : "The (unique) ID of the VM.",
6740 "format" : "pve-vmid",
6741 "minimum" : 1,
6742 "type" : "integer",
6743 "typetext" : "<integer> (1 - N)"
6744 }
6745 }
6746 },
6747 "permissions" : {
6748 "check" : [
6749 "perm",
6750 "/vms/{vmid}",
6751 [
6752 "VM.Monitor"
6753 ]
6754 ]
6755 },
6756 "protected" : 1,
6757 "proxyto" : "node",
6758 "returns" : {
6759 "description" : "Returns an object with a single `result` property.",
6760 "type" : "object"
6761 }
6762 }
6763 },
6764 "leaf" : 1,
6765 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
6766 "text" : "get-users"
6767 },
6768 {
6769 "info" : {
6770 "GET" : {
6771 "description" : "Execute get-vcpus.",
6772 "method" : "GET",
6773 "name" : "get-vcpus",
6774 "parameters" : {
6775 "additionalProperties" : 0,
6776 "properties" : {
6777 "node" : {
6778 "description" : "The cluster node name.",
6779 "format" : "pve-node",
6780 "type" : "string",
6781 "typetext" : "<string>"
6782 },
6783 "vmid" : {
6784 "description" : "The (unique) ID of the VM.",
6785 "format" : "pve-vmid",
6786 "minimum" : 1,
6787 "type" : "integer",
6788 "typetext" : "<integer> (1 - N)"
6789 }
6790 }
6791 },
6792 "permissions" : {
6793 "check" : [
6794 "perm",
6795 "/vms/{vmid}",
6796 [
6797 "VM.Monitor"
6798 ]
6799 ]
6800 },
6801 "protected" : 1,
6802 "proxyto" : "node",
6803 "returns" : {
6804 "description" : "Returns an object with a single `result` property.",
6805 "type" : "object"
6806 }
6807 }
6808 },
6809 "leaf" : 1,
6810 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
6811 "text" : "get-vcpus"
6812 },
6813 {
6814 "info" : {
6815 "GET" : {
6816 "description" : "Execute info.",
6817 "method" : "GET",
6818 "name" : "info",
6819 "parameters" : {
6820 "additionalProperties" : 0,
6821 "properties" : {
6822 "node" : {
6823 "description" : "The cluster node name.",
6824 "format" : "pve-node",
6825 "type" : "string",
6826 "typetext" : "<string>"
6827 },
6828 "vmid" : {
6829 "description" : "The (unique) ID of the VM.",
6830 "format" : "pve-vmid",
6831 "minimum" : 1,
6832 "type" : "integer",
6833 "typetext" : "<integer> (1 - N)"
6834 }
6835 }
6836 },
6837 "permissions" : {
6838 "check" : [
6839 "perm",
6840 "/vms/{vmid}",
6841 [
6842 "VM.Monitor"
6843 ]
6844 ]
6845 },
6846 "protected" : 1,
6847 "proxyto" : "node",
6848 "returns" : {
6849 "description" : "Returns an object with a single `result` property.",
6850 "type" : "object"
6851 }
6852 }
6853 },
6854 "leaf" : 1,
6855 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
6856 "text" : "info"
6857 },
6858 {
6859 "info" : {
6860 "GET" : {
6861 "description" : "Execute network-get-interfaces.",
6862 "method" : "GET",
6863 "name" : "network-get-interfaces",
6864 "parameters" : {
6865 "additionalProperties" : 0,
6866 "properties" : {
6867 "node" : {
6868 "description" : "The cluster node name.",
6869 "format" : "pve-node",
6870 "type" : "string",
6871 "typetext" : "<string>"
6872 },
6873 "vmid" : {
6874 "description" : "The (unique) ID of the VM.",
6875 "format" : "pve-vmid",
6876 "minimum" : 1,
6877 "type" : "integer",
6878 "typetext" : "<integer> (1 - N)"
6879 }
6880 }
6881 },
6882 "permissions" : {
6883 "check" : [
6884 "perm",
6885 "/vms/{vmid}",
6886 [
6887 "VM.Monitor"
6888 ]
6889 ]
6890 },
6891 "protected" : 1,
6892 "proxyto" : "node",
6893 "returns" : {
6894 "description" : "Returns an object with a single `result` property.",
6895 "type" : "object"
6896 }
6897 }
6898 },
6899 "leaf" : 1,
6900 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
6901 "text" : "network-get-interfaces"
6902 },
6903 {
6904 "info" : {
6905 "POST" : {
6906 "description" : "Execute ping.",
6907 "method" : "POST",
6908 "name" : "ping",
6909 "parameters" : {
6910 "additionalProperties" : 0,
6911 "properties" : {
6912 "node" : {
6913 "description" : "The cluster node name.",
6914 "format" : "pve-node",
6915 "type" : "string",
6916 "typetext" : "<string>"
6917 },
6918 "vmid" : {
6919 "description" : "The (unique) ID of the VM.",
6920 "format" : "pve-vmid",
6921 "minimum" : 1,
6922 "type" : "integer",
6923 "typetext" : "<integer> (1 - N)"
6924 }
6925 }
6926 },
6927 "permissions" : {
6928 "check" : [
6929 "perm",
6930 "/vms/{vmid}",
6931 [
6932 "VM.Monitor"
6933 ]
6934 ]
6935 },
6936 "protected" : 1,
6937 "proxyto" : "node",
6938 "returns" : {
6939 "description" : "Returns an object with a single `result` property.",
6940 "type" : "object"
6941 }
6942 }
6943 },
6944 "leaf" : 1,
6945 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
6946 "text" : "ping"
6947 },
6948 {
6949 "info" : {
6950 "POST" : {
6951 "description" : "Execute shutdown.",
6952 "method" : "POST",
6953 "name" : "shutdown",
6954 "parameters" : {
6955 "additionalProperties" : 0,
6956 "properties" : {
6957 "node" : {
6958 "description" : "The cluster node name.",
6959 "format" : "pve-node",
6960 "type" : "string",
6961 "typetext" : "<string>"
6962 },
6963 "vmid" : {
6964 "description" : "The (unique) ID of the VM.",
6965 "format" : "pve-vmid",
6966 "minimum" : 1,
6967 "type" : "integer",
6968 "typetext" : "<integer> (1 - N)"
6969 }
6970 }
6971 },
6972 "permissions" : {
6973 "check" : [
6974 "perm",
6975 "/vms/{vmid}",
6976 [
6977 "VM.Monitor"
6978 ]
6979 ]
6980 },
6981 "protected" : 1,
6982 "proxyto" : "node",
6983 "returns" : {
6984 "description" : "Returns an object with a single `result` property.",
6985 "type" : "object"
6986 }
6987 }
6988 },
6989 "leaf" : 1,
6990 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
6991 "text" : "shutdown"
6992 },
6993 {
6994 "info" : {
6995 "POST" : {
6996 "description" : "Execute suspend-disk.",
6997 "method" : "POST",
6998 "name" : "suspend-disk",
6999 "parameters" : {
7000 "additionalProperties" : 0,
7001 "properties" : {
7002 "node" : {
7003 "description" : "The cluster node name.",
7004 "format" : "pve-node",
7005 "type" : "string",
7006 "typetext" : "<string>"
7007 },
7008 "vmid" : {
7009 "description" : "The (unique) ID of the VM.",
7010 "format" : "pve-vmid",
7011 "minimum" : 1,
7012 "type" : "integer",
7013 "typetext" : "<integer> (1 - N)"
7014 }
7015 }
7016 },
7017 "permissions" : {
7018 "check" : [
7019 "perm",
7020 "/vms/{vmid}",
7021 [
7022 "VM.Monitor"
7023 ]
7024 ]
7025 },
7026 "protected" : 1,
7027 "proxyto" : "node",
7028 "returns" : {
7029 "description" : "Returns an object with a single `result` property.",
7030 "type" : "object"
7031 }
7032 }
7033 },
7034 "leaf" : 1,
7035 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7036 "text" : "suspend-disk"
7037 },
7038 {
7039 "info" : {
7040 "POST" : {
7041 "description" : "Execute suspend-hybrid.",
7042 "method" : "POST",
7043 "name" : "suspend-hybrid",
7044 "parameters" : {
7045 "additionalProperties" : 0,
7046 "properties" : {
7047 "node" : {
7048 "description" : "The cluster node name.",
7049 "format" : "pve-node",
7050 "type" : "string",
7051 "typetext" : "<string>"
7052 },
7053 "vmid" : {
7054 "description" : "The (unique) ID of the VM.",
7055 "format" : "pve-vmid",
7056 "minimum" : 1,
7057 "type" : "integer",
7058 "typetext" : "<integer> (1 - N)"
7059 }
7060 }
7061 },
7062 "permissions" : {
7063 "check" : [
7064 "perm",
7065 "/vms/{vmid}",
7066 [
7067 "VM.Monitor"
7068 ]
7069 ]
7070 },
7071 "protected" : 1,
7072 "proxyto" : "node",
7073 "returns" : {
7074 "description" : "Returns an object with a single `result` property.",
7075 "type" : "object"
7076 }
7077 }
7078 },
7079 "leaf" : 1,
7080 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7081 "text" : "suspend-hybrid"
7082 },
7083 {
7084 "info" : {
7085 "POST" : {
7086 "description" : "Execute suspend-ram.",
7087 "method" : "POST",
7088 "name" : "suspend-ram",
7089 "parameters" : {
7090 "additionalProperties" : 0,
7091 "properties" : {
7092 "node" : {
7093 "description" : "The cluster node name.",
7094 "format" : "pve-node",
7095 "type" : "string",
7096 "typetext" : "<string>"
7097 },
7098 "vmid" : {
7099 "description" : "The (unique) ID of the VM.",
7100 "format" : "pve-vmid",
7101 "minimum" : 1,
7102 "type" : "integer",
7103 "typetext" : "<integer> (1 - N)"
7104 }
7105 }
7106 },
7107 "permissions" : {
7108 "check" : [
7109 "perm",
7110 "/vms/{vmid}",
7111 [
7112 "VM.Monitor"
7113 ]
7114 ]
7115 },
7116 "protected" : 1,
7117 "proxyto" : "node",
7118 "returns" : {
7119 "description" : "Returns an object with a single `result` property.",
7120 "type" : "object"
7121 }
7122 }
7123 },
7124 "leaf" : 1,
7125 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7126 "text" : "suspend-ram"
7127 }
7128 ],
7129 "info" : {
7130 "GET" : {
7131 "description" : "Qemu Agent command index.",
7132 "method" : "GET",
7133 "name" : "index",
7134 "parameters" : {
7135 "additionalProperties" : 1,
7136 "properties" : {
7137 "node" : {
7138 "description" : "The cluster node name.",
7139 "format" : "pve-node",
7140 "type" : "string",
7141 "typetext" : "<string>"
7142 },
7143 "vmid" : {
7144 "description" : "The (unique) ID of the VM.",
7145 "format" : "pve-vmid",
7146 "minimum" : 1,
7147 "type" : "integer",
7148 "typetext" : "<integer> (1 - N)"
7149 }
7150 }
7151 },
7152 "permissions" : {
7153 "user" : "all"
7154 },
7155 "proxyto" : "node",
7156 "returns" : {
7157 "description" : "Returns the list of Qemu Agent commands",
7158 "items" : {
7159 "properties" : {},
7160 "type" : "object"
7161 },
7162 "links" : [
7163 {
7164 "href" : "{name}",
7165 "rel" : "child"
7166 }
7167 ],
7168 "type" : "array"
7169 }
7170 },
7171 "POST" : {
7172 "description" : "Execute Qemu Guest Agent commands.",
7173 "method" : "POST",
7174 "name" : "agent",
7175 "parameters" : {
7176 "additionalProperties" : 0,
7177 "properties" : {
7178 "command" : {
7179 "description" : "The QGA command.",
7180 "enum" : [
7181 "fsfreeze-freeze",
7182 "fsfreeze-status",
7183 "fsfreeze-thaw",
7184 "fstrim",
7185 "get-fsinfo",
7186 "get-host-name",
7187 "get-memory-block-info",
7188 "get-memory-blocks",
7189 "get-osinfo",
7190 "get-time",
7191 "get-timezone",
7192 "get-users",
7193 "get-vcpus",
7194 "info",
7195 "network-get-interfaces",
7196 "ping",
7197 "shutdown",
7198 "suspend-disk",
7199 "suspend-hybrid",
7200 "suspend-ram"
7201 ],
7202 "type" : "string"
7203 },
7204 "node" : {
7205 "description" : "The cluster node name.",
7206 "format" : "pve-node",
7207 "type" : "string",
7208 "typetext" : "<string>"
7209 },
7210 "vmid" : {
7211 "description" : "The (unique) ID of the VM.",
7212 "format" : "pve-vmid",
7213 "minimum" : 1,
7214 "type" : "integer",
7215 "typetext" : "<integer> (1 - N)"
7216 }
7217 }
7218 },
7219 "permissions" : {
7220 "check" : [
7221 "perm",
7222 "/vms/{vmid}",
7223 [
7224 "VM.Monitor"
7225 ]
7226 ]
7aacca6f 7227 },
27a7acb2
DM
7228 "protected" : 1,
7229 "proxyto" : "node",
44660702 7230 "returns" : {
27a7acb2
DM
7231 "description" : "Returns an object with a single `result` property.",
7232 "type" : "object"
44660702 7233 }
56122987 7234 }
44660702
DM
7235 },
7236 "leaf" : 0,
27a7acb2
DM
7237 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7238 "text" : "agent"
56122987
DM
7239 },
7240 {
56122987
DM
7241 "info" : {
7242 "GET" : {
44660702
DM
7243 "description" : "Read VM RRD statistics (returns PNG)",
7244 "method" : "GET",
7aacca6f 7245 "name" : "rrd",
56122987
DM
7246 "parameters" : {
7247 "additionalProperties" : 0,
7248 "properties" : {
7aacca6f 7249 "cf" : {
44660702 7250 "description" : "The RRD consolidation function",
7aacca6f
DM
7251 "enum" : [
7252 "AVERAGE",
7253 "MAX"
7254 ],
7aacca6f
DM
7255 "optional" : 1,
7256 "type" : "string"
7257 },
44660702
DM
7258 "ds" : {
7259 "description" : "The list of datasources you want to display.",
7260 "format" : "pve-configid-list",
013dc89f
DM
7261 "type" : "string",
7262 "typetext" : "<string>"
56122987
DM
7263 },
7264 "node" : {
44660702 7265 "description" : "The cluster node name.",
56122987 7266 "format" : "pve-node",
013dc89f
DM
7267 "type" : "string",
7268 "typetext" : "<string>"
56122987
DM
7269 },
7270 "timeframe" : {
44660702 7271 "description" : "Specify the time frame you are interested in.",
56122987
DM
7272 "enum" : [
7273 "hour",
7274 "day",
7275 "week",
7276 "month",
7277 "year"
7278 ],
56122987
DM
7279 "type" : "string"
7280 },
44660702
DM
7281 "vmid" : {
7282 "description" : "The (unique) ID of the VM.",
7283 "format" : "pve-vmid",
7284 "minimum" : 1,
4bd7df8b 7285 "type" : "integer",
013dc89f 7286 "typetext" : "<integer> (1 - N)"
56122987
DM
7287 }
7288 }
7289 },
56122987
DM
7290 "permissions" : {
7291 "check" : [
7292 "perm",
7293 "/vms/{vmid}",
7294 [
7295 "VM.Audit"
7296 ]
7297 ]
7298 },
7aacca6f
DM
7299 "protected" : 1,
7300 "returns" : {
7301 "properties" : {
7302 "filename" : {
7303 "type" : "string"
7304 }
7305 },
7306 "type" : "object"
44660702 7307 }
56122987 7308 }
44660702
DM
7309 },
7310 "leaf" : 1,
7311 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7312 "text" : "rrd"
56122987
DM
7313 },
7314 {
7aacca6f 7315 "info" : {
56122987 7316 "GET" : {
7aacca6f 7317 "description" : "Read VM RRD statistics",
44660702 7318 "method" : "GET",
56122987 7319 "name" : "rrddata",
56122987 7320 "parameters" : {
44660702 7321 "additionalProperties" : 0,
56122987 7322 "properties" : {
44660702
DM
7323 "cf" : {
7324 "description" : "The RRD consolidation function",
7325 "enum" : [
7326 "AVERAGE",
7327 "MAX"
7328 ],
7329 "optional" : 1,
7330 "type" : "string"
7331 },
56122987 7332 "node" : {
44660702 7333 "description" : "The cluster node name.",
56122987 7334 "format" : "pve-node",
013dc89f
DM
7335 "type" : "string",
7336 "typetext" : "<string>"
56122987
DM
7337 },
7338 "timeframe" : {
44660702 7339 "description" : "Specify the time frame you are interested in.",
56122987
DM
7340 "enum" : [
7341 "hour",
7342 "day",
7343 "week",
7344 "month",
7345 "year"
7aacca6f 7346 ],
44660702 7347 "type" : "string"
7aacca6f
DM
7348 },
7349 "vmid" : {
7aacca6f
DM
7350 "description" : "The (unique) ID of the VM.",
7351 "format" : "pve-vmid",
44660702 7352 "minimum" : 1,
4bd7df8b 7353 "type" : "integer",
013dc89f 7354 "typetext" : "<integer> (1 - N)"
56122987 7355 }
44660702 7356 }
56122987 7357 },
56122987
DM
7358 "permissions" : {
7359 "check" : [
7360 "perm",
7361 "/vms/{vmid}",
7362 [
7363 "VM.Audit"
7364 ]
7365 ]
7366 },
44660702 7367 "protected" : 1,
7aacca6f 7368 "returns" : {
7aacca6f 7369 "items" : {
44660702
DM
7370 "properties" : {},
7371 "type" : "object"
7372 },
7373 "type" : "array"
7aacca6f 7374 }
56122987
DM
7375 }
7376 },
44660702
DM
7377 "leaf" : 1,
7378 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
7379 "text" : "rrddata"
7380 },
7381 {
56122987 7382 "info" : {
44660702
DM
7383 "GET" : {
7384 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7385 "method" : "GET",
7386 "name" : "vm_config",
7387 "parameters" : {
7388 "additionalProperties" : 0,
7389 "properties" : {
7390 "current" : {
7391 "default" : 0,
7392 "description" : "Get current values (instead of pending values).",
7393 "optional" : 1,
013dc89f
DM
7394 "type" : "boolean",
7395 "typetext" : "<boolean>"
44660702
DM
7396 },
7397 "node" : {
7398 "description" : "The cluster node name.",
7399 "format" : "pve-node",
013dc89f
DM
7400 "type" : "string",
7401 "typetext" : "<string>"
44660702
DM
7402 },
7403 "vmid" : {
7404 "description" : "The (unique) ID of the VM.",
7405 "format" : "pve-vmid",
7406 "minimum" : 1,
4bd7df8b 7407 "type" : "integer",
013dc89f 7408 "typetext" : "<integer> (1 - N)"
44660702
DM
7409 }
7410 }
7aacca6f 7411 },
56122987
DM
7412 "permissions" : {
7413 "check" : [
7414 "perm",
7415 "/vms/{vmid}",
7416 [
44660702
DM
7417 "VM.Audit"
7418 ]
56122987
DM
7419 ]
7420 },
56122987 7421 "proxyto" : "node",
44660702
DM
7422 "returns" : {
7423 "properties" : {
7424 "digest" : {
7425 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
7426 "type" : "string"
7427 }
7428 },
7429 "type" : "object"
7430 }
7431 },
7432 "POST" : {
7aacca6f
DM
7433 "description" : "Set virtual machine options (asynchrounous API).",
7434 "method" : "POST",
44660702 7435 "name" : "update_vm_async",
56122987 7436 "parameters" : {
44660702 7437 "additionalProperties" : 0,
56122987 7438 "properties" : {
44660702
DM
7439 "acpi" : {
7440 "default" : 1,
7441 "description" : "Enable/disable ACPI.",
7442 "optional" : 1,
013dc89f
DM
7443 "type" : "boolean",
7444 "typetext" : "<boolean>"
44660702
DM
7445 },
7446 "agent" : {
7aacca6f 7447 "default" : 0,
44660702 7448 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7449 "optional" : 1,
013dc89f
DM
7450 "type" : "boolean",
7451 "typetext" : "<boolean>"
7aacca6f 7452 },
44660702 7453 "args" : {
c2993fe5 7454 "description" : "Arbitrary arguments passed to kvm.",
44660702 7455 "optional" : 1,
c2993fe5 7456 "type" : "string",
013dc89f 7457 "typetext" : "<string>",
c2993fe5 7458 "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 7459 },
44660702
DM
7460 "autostart" : {
7461 "default" : 0,
7462 "description" : "Automatic restart after crash (currently ignored).",
56122987 7463 "optional" : 1,
013dc89f
DM
7464 "type" : "boolean",
7465 "typetext" : "<boolean>"
56122987 7466 },
44660702
DM
7467 "background_delay" : {
7468 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
7469 "maximum" : 30,
7470 "minimum" : 1,
7aacca6f 7471 "optional" : 1,
4bd7df8b 7472 "type" : "integer",
013dc89f 7473 "typetext" : "<integer> (1 - 30)"
56122987 7474 },
44660702
DM
7475 "balloon" : {
7476 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7477 "minimum" : 0,
7aacca6f 7478 "optional" : 1,
4bd7df8b 7479 "type" : "integer",
013dc89f 7480 "typetext" : "<integer> (0 - N)"
7aacca6f 7481 },
44660702
DM
7482 "bios" : {
7483 "default" : "seabios",
7484 "description" : "Select BIOS implementation.",
7485 "enum" : [
7486 "seabios",
7487 "ovmf"
7488 ],
56122987 7489 "optional" : 1,
44660702 7490 "type" : "string"
7aacca6f 7491 },
44660702
DM
7492 "boot" : {
7493 "default" : "cdn",
7494 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7495 "optional" : 1,
7496 "pattern" : "[acdn]{1,4}",
7497 "type" : "string"
7498 },
7499 "bootdisk" : {
7500 "description" : "Enable booting from specified disk.",
7501 "format" : "pve-qm-bootdisk",
7502 "optional" : 1,
7503 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7504 "type" : "string"
7505 },
7506 "cdrom" : {
7507 "description" : "This is an alias for option -ide2",
de0983cb 7508 "format" : "pve-qm-ide",
44660702 7509 "optional" : 1,
7aacca6f 7510 "type" : "string",
013dc89f 7511 "typetext" : "<volume>"
44660702 7512 },
27a7acb2
DM
7513 "cipassword" : {
7514 "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.",
7515 "optional" : 1,
7516 "type" : "string",
7517 "typetext" : "<string>"
7518 },
7519 "citype" : {
7520 "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.",
7521 "enum" : [
7522 "configdrive2",
7523 "nocloud"
7524 ],
7525 "optional" : 1,
7526 "type" : "string"
7527 },
7528 "ciuser" : {
7529 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
7530 "optional" : 1,
7531 "type" : "string",
7532 "typetext" : "<string>"
7533 },
44660702
DM
7534 "cores" : {
7535 "default" : 1,
7536 "description" : "The number of cores per socket.",
7537 "minimum" : 1,
7aacca6f 7538 "optional" : 1,
4bd7df8b 7539 "type" : "integer",
013dc89f 7540 "typetext" : "<integer> (1 - N)"
7aacca6f 7541 },
44660702
DM
7542 "cpu" : {
7543 "description" : "Emulated CPU type.",
56122987 7544 "format" : {
44660702
DM
7545 "cputype" : {
7546 "default" : "kvm64",
7aacca6f 7547 "default_key" : 1,
44660702 7548 "description" : "Emulated CPU type.",
56122987 7549 "enum" : [
44660702
DM
7550 "486",
7551 "athlon",
f004f5b9 7552 "Broadwell",
35a75dd3 7553 "Broadwell-IBRS",
f004f5b9 7554 "Broadwell-noTSX",
35a75dd3 7555 "Broadwell-noTSX-IBRS",
f004f5b9 7556 "Conroe",
44660702 7557 "core2duo",
f004f5b9 7558 "coreduo",
27a7acb2
DM
7559 "EPYC",
7560 "EPYC-IBPB",
f004f5b9 7561 "Haswell",
35a75dd3 7562 "Haswell-IBRS",
f004f5b9 7563 "Haswell-noTSX",
35a75dd3 7564 "Haswell-noTSX-IBRS",
f004f5b9
DM
7565 "host",
7566 "IvyBridge",
35a75dd3 7567 "IvyBridge-IBRS",
44660702
DM
7568 "kvm32",
7569 "kvm64",
35a75dd3 7570 "max",
44660702 7571 "Nehalem",
35a75dd3 7572 "Nehalem-IBRS",
44660702
DM
7573 "Opteron_G1",
7574 "Opteron_G2",
7575 "Opteron_G3",
7576 "Opteron_G4",
7577 "Opteron_G5",
f004f5b9
DM
7578 "Penryn",
7579 "pentium",
7580 "pentium2",
7581 "pentium3",
7582 "phenom",
7583 "qemu32",
7584 "qemu64",
7585 "SandyBridge",
35a75dd3 7586 "SandyBridge-IBRS",
5d9c884c 7587 "Skylake-Client",
35a75dd3
DM
7588 "Skylake-Client-IBRS",
7589 "Skylake-Server",
7590 "Skylake-Server-IBRS",
7591 "Westmere",
7592 "Westmere-IBRS"
56122987 7593 ],
56122987
DM
7594 "type" : "string"
7595 },
35a75dd3
DM
7596 "flags" : {
7597 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
7598 "format_description" : "+FLAG[;-FLAG...]",
7599 "optional" : 1,
7600 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
7601 "type" : "string"
7602 },
44660702
DM
7603 "hidden" : {
7604 "default" : 0,
7605 "description" : "Do not identify as a KVM virtual machine.",
56122987 7606 "optional" : 1,
44660702
DM
7607 "type" : "boolean"
7608 }
7609 },
7610 "optional" : 1,
4bd7df8b 7611 "type" : "string",
35a75dd3 7612 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
7613 },
7614 "cpulimit" : {
7615 "default" : 0,
c2993fe5 7616 "description" : "Limit of CPU usage.",
44660702
DM
7617 "maximum" : 128,
7618 "minimum" : 0,
7619 "optional" : 1,
c2993fe5 7620 "type" : "number",
013dc89f 7621 "typetext" : "<number> (0 - 128)",
c2993fe5 7622 "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
7623 },
7624 "cpuunits" : {
de0983cb 7625 "default" : 1024,
c2993fe5 7626 "description" : "CPU weight for a VM.",
2489d6df
WB
7627 "maximum" : 262144,
7628 "minimum" : 2,
44660702 7629 "optional" : 1,
c2993fe5 7630 "type" : "integer",
2489d6df
WB
7631 "typetext" : "<integer> (2 - 262144)",
7632 "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
7633 },
7634 "delete" : {
7635 "description" : "A list of settings you want to delete.",
7636 "format" : "pve-configid-list",
7637 "optional" : 1,
013dc89f
DM
7638 "type" : "string",
7639 "typetext" : "<string>"
44660702
DM
7640 },
7641 "description" : {
7642 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7643 "optional" : 1,
013dc89f
DM
7644 "type" : "string",
7645 "typetext" : "<string>"
44660702
DM
7646 },
7647 "digest" : {
7648 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7649 "maxLength" : 40,
7650 "optional" : 1,
013dc89f
DM
7651 "type" : "string",
7652 "typetext" : "<string>"
44660702
DM
7653 },
7654 "force" : {
7655 "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.",
7656 "optional" : 1,
7657 "requires" : "delete",
013dc89f
DM
7658 "type" : "boolean",
7659 "typetext" : "<boolean>"
44660702
DM
7660 },
7661 "freeze" : {
7662 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7663 "optional" : 1,
013dc89f
DM
7664 "type" : "boolean",
7665 "typetext" : "<boolean>"
44660702
DM
7666 },
7667 "hostpci[n]" : {
c2993fe5 7668 "description" : "Map host PCI devices into guest.",
44660702
DM
7669 "format" : "pve-qm-hostpci",
7670 "optional" : 1,
57b78691 7671 "type" : "string",
52e44c50 7672 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 7673 "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
7674 },
7675 "hotplug" : {
7676 "default" : "network,disk,usb",
7677 "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'.",
7678 "format" : "pve-hotplug-features",
7679 "optional" : 1,
013dc89f
DM
7680 "type" : "string",
7681 "typetext" : "<string>"
44660702 7682 },
4bd7df8b
DM
7683 "hugepages" : {
7684 "description" : "Enable/disable hugepages memory.",
7685 "enum" : [
7686 "any",
7687 "2",
7688 "1024"
7689 ],
7690 "optional" : 1,
7691 "type" : "string"
7692 },
44660702
DM
7693 "ide[n]" : {
7694 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
7695 "format" : {
7696 "aio" : {
7697 "description" : "AIO type to use.",
7698 "enum" : [
7699 "native",
7700 "threads"
56122987 7701 ],
56122987 7702 "optional" : 1,
44660702 7703 "type" : "string"
56122987 7704 },
44660702
DM
7705 "backup" : {
7706 "description" : "Whether the drive should be included when making backups.",
56122987 7707 "optional" : 1,
44660702 7708 "type" : "boolean"
56122987 7709 },
7aacca6f 7710 "bps" : {
de0983cb 7711 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7712 "format_description" : "bps",
7713 "optional" : 1,
7714 "type" : "integer"
7715 },
de0983cb
DM
7716 "bps_max_length" : {
7717 "description" : "Maximum length of I/O bursts in seconds.",
7718 "format_description" : "seconds",
7719 "minimum" : 1,
7720 "optional" : 1,
7721 "type" : "integer"
7722 },
44660702 7723 "bps_rd" : {
de0983cb 7724 "description" : "Maximum read speed in bytes per second.",
44660702 7725 "format_description" : "bps",
56122987 7726 "optional" : 1,
44660702 7727 "type" : "integer"
56122987 7728 },
de0983cb 7729 "bps_rd_length" : {
5d9c884c
DM
7730 "alias" : "bps_rd_max_length"
7731 },
7732 "bps_rd_max_length" : {
de0983cb
DM
7733 "description" : "Maximum length of read I/O bursts in seconds.",
7734 "format_description" : "seconds",
7735 "minimum" : 1,
7736 "optional" : 1,
7737 "type" : "integer"
7738 },
44660702 7739 "bps_wr" : {
de0983cb 7740 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7741 "format_description" : "bps",
7742 "optional" : 1,
7743 "type" : "integer"
7744 },
de0983cb 7745 "bps_wr_length" : {
5d9c884c
DM
7746 "alias" : "bps_wr_max_length"
7747 },
7748 "bps_wr_max_length" : {
de0983cb
DM
7749 "description" : "Maximum length of write I/O bursts in seconds.",
7750 "format_description" : "seconds",
7751 "minimum" : 1,
7752 "optional" : 1,
7753 "type" : "integer"
7754 },
44660702
DM
7755 "cache" : {
7756 "description" : "The drive's cache mode",
7757 "enum" : [
7758 "none",
7759 "writethrough",
7760 "writeback",
7761 "unsafe",
7762 "directsync"
7763 ],
44660702
DM
7764 "optional" : 1,
7765 "type" : "string"
7766 },
7767 "cyls" : {
7768 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7769 "optional" : 1,
7770 "type" : "integer"
7771 },
7772 "detect_zeroes" : {
7773 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7774 "optional" : 1,
7775 "type" : "boolean"
7776 },
7777 "discard" : {
7778 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7779 "enum" : [
7780 "ignore",
7781 "on"
7782 ],
56122987 7783 "optional" : 1,
44660702
DM
7784 "type" : "string"
7785 },
7786 "file" : {
7787 "default_key" : 1,
7788 "description" : "The drive's backing volume.",
7789 "format" : "pve-volume-id-or-qm-path",
7790 "format_description" : "volume",
7791 "type" : "string"
56122987 7792 },
7aacca6f 7793 "format" : {
7aacca6f 7794 "description" : "The drive's backing file's data format.",
56122987 7795 "enum" : [
7aacca6f
DM
7796 "raw",
7797 "cow",
7798 "qcow",
7799 "qed",
7800 "qcow2",
7801 "vmdk",
7802 "cloop"
56122987
DM
7803 ],
7804 "optional" : 1,
56122987
DM
7805 "type" : "string"
7806 },
44660702
DM
7807 "heads" : {
7808 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
7809 "optional" : 1,
7810 "type" : "integer"
7aacca6f 7811 },
44660702 7812 "iops" : {
de0983cb 7813 "description" : "Maximum r/w I/O in operations per second.",
44660702 7814 "format_description" : "iops",
56122987 7815 "optional" : 1,
44660702 7816 "type" : "integer"
56122987 7817 },
44660702 7818 "iops_max" : {
de0983cb 7819 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7820 "format_description" : "iops",
56122987 7821 "optional" : 1,
44660702 7822 "type" : "integer"
56122987 7823 },
de0983cb
DM
7824 "iops_max_length" : {
7825 "description" : "Maximum length of I/O bursts in seconds.",
7826 "format_description" : "seconds",
7827 "minimum" : 1,
7828 "optional" : 1,
7829 "type" : "integer"
7830 },
44660702 7831 "iops_rd" : {
de0983cb 7832 "description" : "Maximum read I/O in operations per second.",
44660702
DM
7833 "format_description" : "iops",
7834 "optional" : 1,
7835 "type" : "integer"
7836 },
de0983cb 7837 "iops_rd_length" : {
5d9c884c 7838 "alias" : "iops_rd_max_length"
de0983cb 7839 },
44660702 7840 "iops_rd_max" : {
de0983cb 7841 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 7842 "format_description" : "iops",
44660702
DM
7843 "optional" : 1,
7844 "type" : "integer"
7845 },
5d9c884c
DM
7846 "iops_rd_max_length" : {
7847 "description" : "Maximum length of read I/O bursts in seconds.",
7848 "format_description" : "seconds",
7849 "minimum" : 1,
7850 "optional" : 1,
7851 "type" : "integer"
7852 },
44660702 7853 "iops_wr" : {
de0983cb 7854 "description" : "Maximum write I/O in operations per second.",
44660702 7855 "format_description" : "iops",
56122987 7856 "optional" : 1,
7aacca6f 7857 "type" : "integer"
56122987 7858 },
de0983cb 7859 "iops_wr_length" : {
5d9c884c 7860 "alias" : "iops_wr_max_length"
de0983cb 7861 },
44660702 7862 "iops_wr_max" : {
de0983cb 7863 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7864 "format_description" : "iops",
7aacca6f 7865 "optional" : 1,
44660702 7866 "type" : "integer"
56122987 7867 },
5d9c884c
DM
7868 "iops_wr_max_length" : {
7869 "description" : "Maximum length of write I/O bursts in seconds.",
7870 "format_description" : "seconds",
7871 "minimum" : 1,
7872 "optional" : 1,
7873 "type" : "integer"
7874 },
44660702 7875 "mbps" : {
de0983cb 7876 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7877 "format_description" : "mbps",
7878 "optional" : 1,
7879 "type" : "number"
7880 },
7881 "mbps_max" : {
de0983cb 7882 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7883 "format_description" : "mbps",
7884 "optional" : 1,
7885 "type" : "number"
7886 },
7887 "mbps_rd" : {
de0983cb 7888 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
7889 "format_description" : "mbps",
7890 "optional" : 1,
7891 "type" : "number"
7892 },
7893 "mbps_rd_max" : {
de0983cb 7894 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7895 "format_description" : "mbps",
7896 "optional" : 1,
7897 "type" : "number"
7898 },
7899 "mbps_wr" : {
de0983cb 7900 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
7901 "format_description" : "mbps",
7902 "optional" : 1,
7903 "type" : "number"
7904 },
7905 "mbps_wr_max" : {
de0983cb 7906 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7907 "format_description" : "mbps",
56122987 7908 "optional" : 1,
44660702 7909 "type" : "number"
56122987 7910 },
7aacca6f 7911 "media" : {
7aacca6f 7912 "default" : "disk",
7aacca6f
DM
7913 "description" : "The drive's media type.",
7914 "enum" : [
7915 "cdrom",
7916 "disk"
44660702 7917 ],
44660702
DM
7918 "optional" : 1,
7919 "type" : "string"
56122987 7920 },
44660702
DM
7921 "model" : {
7922 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
7923 "format" : "urlencoded",
7924 "format_description" : "model",
7925 "maxLength" : 120,
56122987 7926 "optional" : 1,
44660702 7927 "type" : "string"
56122987 7928 },
5d9c884c
DM
7929 "replicate" : {
7930 "default" : 1,
7931 "description" : "Whether the drive should considered for replication jobs.",
7932 "optional" : 1,
7933 "type" : "boolean"
7934 },
44660702
DM
7935 "rerror" : {
7936 "description" : "Read error action.",
7937 "enum" : [
7938 "ignore",
7939 "report",
7940 "stop"
7941 ],
56122987 7942 "optional" : 1,
44660702
DM
7943 "type" : "string"
7944 },
7945 "secs" : {
7946 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7947 "optional" : 1,
7948 "type" : "integer"
7949 },
7950 "serial" : {
7951 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7952 "format" : "urlencoded",
7953 "format_description" : "serial",
7954 "maxLength" : 60,
7955 "optional" : 1,
7956 "type" : "string"
7957 },
27a7acb2
DM
7958 "shared" : {
7959 "default" : 0,
7960 "description" : "Mark this locally-managed volume as available on all nodes",
7961 "optional" : 1,
7962 "type" : "boolean",
7963 "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!"
7964 },
44660702
DM
7965 "size" : {
7966 "description" : "Disk size. This is purely informational and has no effect.",
7967 "format" : "disk-size",
f004f5b9 7968 "format_description" : "DiskSize",
44660702
DM
7969 "optional" : 1,
7970 "type" : "string"
7971 },
7972 "snapshot" : {
27a7acb2 7973 "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
7974 "optional" : 1,
7975 "type" : "boolean"
7976 },
7977 "trans" : {
7978 "description" : "Force disk geometry bios translation mode.",
7979 "enum" : [
7980 "none",
7981 "lba",
7982 "auto"
7983 ],
44660702
DM
7984 "optional" : 1,
7985 "type" : "string"
7986 },
7987 "volume" : {
7988 "alias" : "file"
7989 },
7990 "werror" : {
7991 "description" : "Write error action.",
7992 "enum" : [
7993 "enospc",
7994 "ignore",
7995 "report",
7996 "stop"
7997 ],
44660702
DM
7998 "optional" : 1,
7999 "type" : "string"
56122987
DM
8000 }
8001 },
44660702 8002 "optional" : 1,
4bd7df8b 8003 "type" : "string",
27a7acb2
DM
8004 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
8005 },
8006 "ipconfig[n]" : {
8007 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
8008 "format" : "pve-qm-ipconfig",
8009 "optional" : 1,
8010 "type" : "string",
8011 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 8012 },
44660702 8013 "keyboard" : {
35a75dd3 8014 "default" : null,
5da3d723 8015 "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
8016 "enum" : [
8017 "de",
8018 "de-ch",
8019 "da",
8020 "en-gb",
8021 "en-us",
8022 "es",
8023 "fi",
8024 "fr",
8025 "fr-be",
8026 "fr-ca",
8027 "fr-ch",
8028 "hu",
8029 "is",
8030 "it",
8031 "ja",
8032 "lt",
8033 "mk",
8034 "nl",
8035 "no",
8036 "pl",
8037 "pt",
8038 "pt-br",
8039 "sv",
8040 "sl",
8041 "tr"
8042 ],
56122987 8043 "optional" : 1,
44660702
DM
8044 "type" : "string"
8045 },
8046 "kvm" : {
7aacca6f 8047 "default" : 1,
44660702
DM
8048 "description" : "Enable/disable KVM hardware virtualization.",
8049 "optional" : 1,
013dc89f
DM
8050 "type" : "boolean",
8051 "typetext" : "<boolean>"
56122987 8052 },
44660702
DM
8053 "localtime" : {
8054 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8055 "optional" : 1,
013dc89f
DM
8056 "type" : "boolean",
8057 "typetext" : "<boolean>"
56122987 8058 },
44660702
DM
8059 "lock" : {
8060 "description" : "Lock/unlock the VM.",
8061 "enum" : [
8062 "migrate",
8063 "backup",
8064 "snapshot",
8065 "rollback"
8066 ],
7aacca6f 8067 "optional" : 1,
44660702
DM
8068 "type" : "string"
8069 },
8070 "machine" : {
8071 "description" : "Specific the Qemu machine type.",
8072 "maxLength" : 40,
8073 "optional" : 1,
8074 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8075 "type" : "string"
8076 },
8077 "memory" : {
8078 "default" : 512,
8079 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8080 "minimum" : 16,
8081 "optional" : 1,
4bd7df8b 8082 "type" : "integer",
013dc89f 8083 "typetext" : "<integer> (16 - N)"
44660702
DM
8084 },
8085 "migrate_downtime" : {
8086 "default" : 0.1,
8087 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8088 "minimum" : 0,
8089 "optional" : 1,
4bd7df8b 8090 "type" : "number",
013dc89f 8091 "typetext" : "<number> (0 - N)"
44660702
DM
8092 },
8093 "migrate_speed" : {
8094 "default" : 0,
8095 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8096 "minimum" : 0,
8097 "optional" : 1,
4bd7df8b 8098 "type" : "integer",
013dc89f 8099 "typetext" : "<integer> (0 - N)"
44660702
DM
8100 },
8101 "name" : {
8102 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8103 "format" : "dns-name",
8104 "optional" : 1,
013dc89f
DM
8105 "type" : "string",
8106 "typetext" : "<string>"
44660702 8107 },
27a7acb2
DM
8108 "nameserver" : {
8109 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
8110 "format" : "address-list",
8111 "optional" : 1,
8112 "type" : "string",
8113 "typetext" : "<string>"
8114 },
44660702 8115 "net[n]" : {
c2993fe5 8116 "description" : "Specify network devices.",
f004f5b9
DM
8117 "format" : {
8118 "bridge" : {
c2993fe5 8119 "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
8120 "format_description" : "bridge",
8121 "optional" : 1,
8122 "type" : "string"
8123 },
8124 "e1000" : {
8125 "alias" : "macaddr",
8126 "keyAlias" : "model"
8127 },
8128 "e1000-82540em" : {
8129 "alias" : "macaddr",
8130 "keyAlias" : "model"
8131 },
8132 "e1000-82544gc" : {
8133 "alias" : "macaddr",
8134 "keyAlias" : "model"
8135 },
8136 "e1000-82545em" : {
8137 "alias" : "macaddr",
8138 "keyAlias" : "model"
8139 },
8140 "firewall" : {
8141 "description" : "Whether this interface should be protected by the firewall.",
8142 "optional" : 1,
8143 "type" : "boolean"
8144 },
8145 "i82551" : {
8146 "alias" : "macaddr",
8147 "keyAlias" : "model"
8148 },
8149 "i82557b" : {
8150 "alias" : "macaddr",
8151 "keyAlias" : "model"
8152 },
8153 "i82559er" : {
8154 "alias" : "macaddr",
8155 "keyAlias" : "model"
8156 },
8157 "link_down" : {
c2993fe5 8158 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8159 "optional" : 1,
8160 "type" : "boolean"
8161 },
8162 "macaddr" : {
c2993fe5 8163 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8164 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8165 "optional" : 1,
8166 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8167 "type" : "string"
8168 },
8169 "model" : {
8170 "default_key" : 1,
c2993fe5 8171 "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
8172 "enum" : [
8173 "rtl8139",
8174 "ne2k_pci",
8175 "e1000",
8176 "pcnet",
8177 "virtio",
8178 "ne2k_isa",
8179 "i82551",
8180 "i82557b",
8181 "i82559er",
8182 "vmxnet3",
8183 "e1000-82540em",
8184 "e1000-82544gc",
8185 "e1000-82545em"
8186 ],
f004f5b9
DM
8187 "type" : "string"
8188 },
8189 "ne2k_isa" : {
8190 "alias" : "macaddr",
8191 "keyAlias" : "model"
8192 },
8193 "ne2k_pci" : {
8194 "alias" : "macaddr",
8195 "keyAlias" : "model"
8196 },
8197 "pcnet" : {
8198 "alias" : "macaddr",
8199 "keyAlias" : "model"
8200 },
8201 "queues" : {
8202 "description" : "Number of packet queues to be used on the device.",
8203 "maximum" : 16,
8204 "minimum" : 0,
8205 "optional" : 1,
8206 "type" : "integer"
8207 },
8208 "rate" : {
c2993fe5 8209 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8210 "minimum" : 0,
8211 "optional" : 1,
8212 "type" : "number"
8213 },
8214 "rtl8139" : {
8215 "alias" : "macaddr",
8216 "keyAlias" : "model"
8217 },
8218 "tag" : {
8219 "description" : "VLAN tag to apply to packets on this interface.",
8220 "maximum" : 4094,
c2993fe5 8221 "minimum" : 1,
f004f5b9
DM
8222 "optional" : 1,
8223 "type" : "integer"
8224 },
8225 "trunks" : {
8226 "description" : "VLAN trunks to pass through this interface.",
8227 "format_description" : "vlanid[;vlanid...]",
8228 "optional" : 1,
8229 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8230 "type" : "string"
8231 },
8232 "virtio" : {
8233 "alias" : "macaddr",
8234 "keyAlias" : "model"
8235 },
8236 "vmxnet3" : {
8237 "alias" : "macaddr",
8238 "keyAlias" : "model"
8239 }
8240 },
44660702 8241 "optional" : 1,
4bd7df8b 8242 "type" : "string",
013dc89f 8243 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
8244 },
8245 "node" : {
8246 "description" : "The cluster node name.",
8247 "format" : "pve-node",
013dc89f
DM
8248 "type" : "string",
8249 "typetext" : "<string>"
44660702
DM
8250 },
8251 "numa" : {
8252 "default" : 0,
8253 "description" : "Enable/disable NUMA.",
8254 "optional" : 1,
013dc89f
DM
8255 "type" : "boolean",
8256 "typetext" : "<boolean>"
44660702
DM
8257 },
8258 "numa[n]" : {
c2993fe5 8259 "description" : "NUMA topology.",
56122987 8260 "format" : {
7aacca6f 8261 "cpus" : {
c2993fe5 8262 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8263 "format_description" : "id[-id];...",
8264 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8265 "type" : "string"
7aacca6f
DM
8266 },
8267 "hostnodes" : {
c2993fe5 8268 "description" : "Host NUMA nodes to use.",
44660702 8269 "format_description" : "id[-id];...",
7aacca6f 8270 "optional" : 1,
7aacca6f 8271 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8272 "type" : "string"
7aacca6f 8273 },
44660702 8274 "memory" : {
c2993fe5 8275 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8276 "optional" : 1,
44660702
DM
8277 "type" : "number"
8278 },
8279 "policy" : {
c2993fe5 8280 "description" : "NUMA allocation policy.",
7aacca6f
DM
8281 "enum" : [
8282 "preferred",
8283 "bind",
8284 "interleave"
8285 ],
44660702
DM
8286 "optional" : 1,
8287 "type" : "string"
56122987 8288 }
44660702 8289 },
56122987 8290 "optional" : 1,
4bd7df8b
DM
8291 "type" : "string",
8292 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 8293 },
44660702 8294 "onboot" : {
7aacca6f 8295 "default" : 0,
44660702
DM
8296 "description" : "Specifies whether a VM will be started during system bootup.",
8297 "optional" : 1,
013dc89f
DM
8298 "type" : "boolean",
8299 "typetext" : "<boolean>"
7aacca6f
DM
8300 },
8301 "ostype" : {
c2993fe5 8302 "description" : "Specify guest operating system.",
7aacca6f
DM
8303 "enum" : [
8304 "other",
8305 "wxp",
8306 "w2k",
8307 "w2k3",
8308 "w2k8",
8309 "wvista",
8310 "win7",
8311 "win8",
32d876b5 8312 "win10",
7aacca6f
DM
8313 "l24",
8314 "l26",
8315 "solaris"
8316 ],
7aacca6f 8317 "optional" : 1,
c2993fe5 8318 "type" : "string",
35a75dd3 8319 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 8320 },
44660702 8321 "parallel[n]" : {
c2993fe5 8322 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8323 "optional" : 1,
44660702 8324 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8325 "type" : "string",
8326 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
8327 },
8328 "protection" : {
8329 "default" : 0,
c2993fe5 8330 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8331 "optional" : 1,
013dc89f
DM
8332 "type" : "boolean",
8333 "typetext" : "<boolean>"
7aacca6f 8334 },
44660702
DM
8335 "reboot" : {
8336 "default" : 1,
8337 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8338 "optional" : 1,
013dc89f
DM
8339 "type" : "boolean",
8340 "typetext" : "<boolean>"
7aacca6f 8341 },
44660702
DM
8342 "revert" : {
8343 "description" : "Revert a pending change.",
8344 "format" : "pve-configid-list",
7aacca6f 8345 "optional" : 1,
013dc89f
DM
8346 "type" : "string",
8347 "typetext" : "<string>"
44660702
DM
8348 },
8349 "sata[n]" : {
8350 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8351 "format" : {
44660702
DM
8352 "aio" : {
8353 "description" : "AIO type to use.",
7aacca6f 8354 "enum" : [
44660702
DM
8355 "native",
8356 "threads"
7aacca6f 8357 ],
44660702
DM
8358 "optional" : 1,
8359 "type" : "string"
7aacca6f 8360 },
44660702
DM
8361 "backup" : {
8362 "description" : "Whether the drive should be included when making backups.",
56122987 8363 "optional" : 1,
7aacca6f 8364 "type" : "boolean"
44660702
DM
8365 },
8366 "bps" : {
de0983cb 8367 "description" : "Maximum r/w speed in bytes per second.",
44660702 8368 "format_description" : "bps",
7aacca6f 8369 "optional" : 1,
44660702 8370 "type" : "integer"
56122987 8371 },
de0983cb
DM
8372 "bps_max_length" : {
8373 "description" : "Maximum length of I/O bursts in seconds.",
8374 "format_description" : "seconds",
8375 "minimum" : 1,
8376 "optional" : 1,
8377 "type" : "integer"
8378 },
44660702 8379 "bps_rd" : {
de0983cb 8380 "description" : "Maximum read speed in bytes per second.",
44660702 8381 "format_description" : "bps",
56122987 8382 "optional" : 1,
44660702 8383 "type" : "integer"
56122987 8384 },
de0983cb 8385 "bps_rd_length" : {
5d9c884c
DM
8386 "alias" : "bps_rd_max_length"
8387 },
8388 "bps_rd_max_length" : {
de0983cb
DM
8389 "description" : "Maximum length of read I/O bursts in seconds.",
8390 "format_description" : "seconds",
8391 "minimum" : 1,
8392 "optional" : 1,
8393 "type" : "integer"
8394 },
44660702 8395 "bps_wr" : {
de0983cb 8396 "description" : "Maximum write speed in bytes per second.",
44660702 8397 "format_description" : "bps",
56122987 8398 "optional" : 1,
44660702 8399 "type" : "integer"
56122987 8400 },
de0983cb 8401 "bps_wr_length" : {
5d9c884c
DM
8402 "alias" : "bps_wr_max_length"
8403 },
8404 "bps_wr_max_length" : {
de0983cb
DM
8405 "description" : "Maximum length of write I/O bursts in seconds.",
8406 "format_description" : "seconds",
8407 "minimum" : 1,
8408 "optional" : 1,
8409 "type" : "integer"
8410 },
56122987 8411 "cache" : {
44660702 8412 "description" : "The drive's cache mode",
56122987
DM
8413 "enum" : [
8414 "none",
8415 "writethrough",
8416 "writeback",
8417 "unsafe",
8418 "directsync"
8419 ],
56122987 8420 "optional" : 1,
44660702 8421 "type" : "string"
56122987 8422 },
44660702
DM
8423 "cyls" : {
8424 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8425 "optional" : 1,
44660702 8426 "type" : "integer"
7aacca6f
DM
8427 },
8428 "detect_zeroes" : {
8429 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8430 "optional" : 1,
44660702 8431 "type" : "boolean"
56122987 8432 },
44660702
DM
8433 "discard" : {
8434 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8435 "enum" : [
8436 "ignore",
8437 "on"
8438 ],
56122987 8439 "optional" : 1,
44660702 8440 "type" : "string"
7aacca6f 8441 },
44660702
DM
8442 "file" : {
8443 "default_key" : 1,
8444 "description" : "The drive's backing volume.",
8445 "format" : "pve-volume-id-or-qm-path",
8446 "format_description" : "volume",
8447 "type" : "string"
56122987 8448 },
7aacca6f 8449 "format" : {
44660702 8450 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8451 "enum" : [
8452 "raw",
8453 "cow",
8454 "qcow",
8455 "qed",
8456 "qcow2",
8457 "vmdk",
8458 "cloop"
8459 ],
7aacca6f 8460 "optional" : 1,
44660702 8461 "type" : "string"
56122987 8462 },
7aacca6f 8463 "heads" : {
7aacca6f 8464 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8465 "optional" : 1,
7aacca6f 8466 "type" : "integer"
56122987 8467 },
44660702 8468 "iops" : {
de0983cb 8469 "description" : "Maximum r/w I/O in operations per second.",
44660702 8470 "format_description" : "iops",
56122987 8471 "optional" : 1,
44660702 8472 "type" : "integer"
56122987 8473 },
44660702 8474 "iops_max" : {
de0983cb 8475 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8476 "format_description" : "iops",
56122987 8477 "optional" : 1,
44660702 8478 "type" : "integer"
56122987 8479 },
de0983cb
DM
8480 "iops_max_length" : {
8481 "description" : "Maximum length of I/O bursts in seconds.",
8482 "format_description" : "seconds",
8483 "minimum" : 1,
8484 "optional" : 1,
8485 "type" : "integer"
8486 },
44660702 8487 "iops_rd" : {
de0983cb 8488 "description" : "Maximum read I/O in operations per second.",
44660702 8489 "format_description" : "iops",
7aacca6f 8490 "optional" : 1,
44660702 8491 "type" : "integer"
56122987 8492 },
de0983cb 8493 "iops_rd_length" : {
5d9c884c 8494 "alias" : "iops_rd_max_length"
de0983cb 8495 },
44660702 8496 "iops_rd_max" : {
de0983cb 8497 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8498 "format_description" : "iops",
56122987 8499 "optional" : 1,
44660702 8500 "type" : "integer"
7aacca6f 8501 },
5d9c884c
DM
8502 "iops_rd_max_length" : {
8503 "description" : "Maximum length of read I/O bursts in seconds.",
8504 "format_description" : "seconds",
8505 "minimum" : 1,
8506 "optional" : 1,
8507 "type" : "integer"
8508 },
44660702 8509 "iops_wr" : {
de0983cb 8510 "description" : "Maximum write I/O in operations per second.",
44660702 8511 "format_description" : "iops",
56122987 8512 "optional" : 1,
44660702 8513 "type" : "integer"
56122987 8514 },
de0983cb 8515 "iops_wr_length" : {
5d9c884c 8516 "alias" : "iops_wr_max_length"
de0983cb 8517 },
56122987 8518 "iops_wr_max" : {
de0983cb 8519 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8520 "format_description" : "iops",
56122987 8521 "optional" : 1,
44660702 8522 "type" : "integer"
56122987 8523 },
5d9c884c
DM
8524 "iops_wr_max_length" : {
8525 "description" : "Maximum length of write I/O bursts in seconds.",
8526 "format_description" : "seconds",
8527 "minimum" : 1,
8528 "optional" : 1,
8529 "type" : "integer"
8530 },
44660702 8531 "mbps" : {
de0983cb 8532 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8533 "format_description" : "mbps",
56122987 8534 "optional" : 1,
44660702 8535 "type" : "number"
56122987 8536 },
44660702 8537 "mbps_max" : {
de0983cb 8538 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8539 "format_description" : "mbps",
8540 "optional" : 1,
8541 "type" : "number"
56122987 8542 },
44660702 8543 "mbps_rd" : {
de0983cb 8544 "description" : "Maximum read speed in megabytes per second.",
44660702 8545 "format_description" : "mbps",
56122987 8546 "optional" : 1,
44660702 8547 "type" : "number"
56122987 8548 },
44660702 8549 "mbps_rd_max" : {
de0983cb 8550 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8551 "format_description" : "mbps",
56122987 8552 "optional" : 1,
44660702 8553 "type" : "number"
56122987 8554 },
44660702 8555 "mbps_wr" : {
de0983cb 8556 "description" : "Maximum write speed in megabytes per second.",
56122987 8557 "format_description" : "mbps",
44660702
DM
8558 "optional" : 1,
8559 "type" : "number"
56122987 8560 },
44660702 8561 "mbps_wr_max" : {
de0983cb 8562 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8563 "format_description" : "mbps",
8564 "optional" : 1,
8565 "type" : "number"
7aacca6f 8566 },
44660702
DM
8567 "media" : {
8568 "default" : "disk",
8569 "description" : "The drive's media type.",
8570 "enum" : [
8571 "cdrom",
8572 "disk"
8573 ],
56122987 8574 "optional" : 1,
44660702
DM
8575 "type" : "string"
8576 },
5d9c884c
DM
8577 "replicate" : {
8578 "default" : 1,
8579 "description" : "Whether the drive should considered for replication jobs.",
8580 "optional" : 1,
8581 "type" : "boolean"
8582 },
44660702
DM
8583 "rerror" : {
8584 "description" : "Read error action.",
7aacca6f 8585 "enum" : [
44660702
DM
8586 "ignore",
8587 "report",
8588 "stop"
8589 ],
7aacca6f 8590 "optional" : 1,
44660702 8591 "type" : "string"
56122987 8592 },
44660702
DM
8593 "secs" : {
8594 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8595 "optional" : 1,
44660702 8596 "type" : "integer"
56122987 8597 },
44660702
DM
8598 "serial" : {
8599 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8600 "format" : "urlencoded",
8601 "format_description" : "serial",
8602 "maxLength" : 60,
56122987 8603 "optional" : 1,
44660702 8604 "type" : "string"
56122987 8605 },
27a7acb2
DM
8606 "shared" : {
8607 "default" : 0,
8608 "description" : "Mark this locally-managed volume as available on all nodes",
8609 "optional" : 1,
8610 "type" : "boolean",
8611 "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!"
8612 },
44660702
DM
8613 "size" : {
8614 "description" : "Disk size. This is purely informational and has no effect.",
8615 "format" : "disk-size",
f004f5b9 8616 "format_description" : "DiskSize",
44660702
DM
8617 "optional" : 1,
8618 "type" : "string"
8619 },
8620 "snapshot" : {
27a7acb2 8621 "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 8622 "optional" : 1,
44660702
DM
8623 "type" : "boolean"
8624 },
8625 "trans" : {
8626 "description" : "Force disk geometry bios translation mode.",
56122987 8627 "enum" : [
7aacca6f
DM
8628 "none",
8629 "lba",
8630 "auto"
56122987 8631 ],
44660702
DM
8632 "optional" : 1,
8633 "type" : "string"
56122987 8634 },
7aacca6f
DM
8635 "volume" : {
8636 "alias" : "file"
56122987 8637 },
44660702
DM
8638 "werror" : {
8639 "description" : "Write error action.",
8640 "enum" : [
8641 "enospc",
8642 "ignore",
8643 "report",
8644 "stop"
8645 ],
7aacca6f 8646 "optional" : 1,
44660702
DM
8647 "type" : "string"
8648 }
8649 },
8650 "optional" : 1,
4bd7df8b 8651 "type" : "string",
27a7acb2 8652 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
8653 },
8654 "scsi[n]" : {
8655 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8656 "format" : {
56122987 8657 "aio" : {
56122987
DM
8658 "description" : "AIO type to use.",
8659 "enum" : [
8660 "native",
8661 "threads"
8662 ],
7aacca6f 8663 "optional" : 1,
44660702 8664 "type" : "string"
56122987 8665 },
44660702
DM
8666 "backup" : {
8667 "description" : "Whether the drive should be included when making backups.",
56122987 8668 "optional" : 1,
44660702 8669 "type" : "boolean"
56122987 8670 },
44660702 8671 "bps" : {
de0983cb 8672 "description" : "Maximum r/w speed in bytes per second.",
44660702 8673 "format_description" : "bps",
56122987 8674 "optional" : 1,
44660702 8675 "type" : "integer"
56122987 8676 },
de0983cb
DM
8677 "bps_max_length" : {
8678 "description" : "Maximum length of I/O bursts in seconds.",
8679 "format_description" : "seconds",
8680 "minimum" : 1,
8681 "optional" : 1,
8682 "type" : "integer"
8683 },
44660702 8684 "bps_rd" : {
de0983cb 8685 "description" : "Maximum read speed in bytes per second.",
44660702 8686 "format_description" : "bps",
56122987 8687 "optional" : 1,
44660702 8688 "type" : "integer"
56122987 8689 },
de0983cb 8690 "bps_rd_length" : {
5d9c884c
DM
8691 "alias" : "bps_rd_max_length"
8692 },
8693 "bps_rd_max_length" : {
de0983cb
DM
8694 "description" : "Maximum length of read I/O bursts in seconds.",
8695 "format_description" : "seconds",
8696 "minimum" : 1,
8697 "optional" : 1,
8698 "type" : "integer"
8699 },
7aacca6f 8700 "bps_wr" : {
de0983cb 8701 "description" : "Maximum write speed in bytes per second.",
7aacca6f 8702 "format_description" : "bps",
56122987 8703 "optional" : 1,
44660702 8704 "type" : "integer"
56122987 8705 },
de0983cb 8706 "bps_wr_length" : {
5d9c884c
DM
8707 "alias" : "bps_wr_max_length"
8708 },
8709 "bps_wr_max_length" : {
de0983cb
DM
8710 "description" : "Maximum length of write I/O bursts in seconds.",
8711 "format_description" : "seconds",
8712 "minimum" : 1,
8713 "optional" : 1,
8714 "type" : "integer"
8715 },
44660702
DM
8716 "cache" : {
8717 "description" : "The drive's cache mode",
7aacca6f 8718 "enum" : [
44660702
DM
8719 "none",
8720 "writethrough",
8721 "writeback",
8722 "unsafe",
8723 "directsync"
7aacca6f 8724 ],
56122987 8725 "optional" : 1,
44660702 8726 "type" : "string"
56122987 8727 },
44660702
DM
8728 "cyls" : {
8729 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8730 "optional" : 1,
44660702 8731 "type" : "integer"
56122987 8732 },
44660702
DM
8733 "detect_zeroes" : {
8734 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8735 "optional" : 1,
44660702 8736 "type" : "boolean"
56122987 8737 },
44660702
DM
8738 "discard" : {
8739 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8740 "enum" : [
8741 "ignore",
8742 "on"
8743 ],
7aacca6f 8744 "optional" : 1,
44660702 8745 "type" : "string"
56122987 8746 },
44660702
DM
8747 "file" : {
8748 "default_key" : 1,
8749 "description" : "The drive's backing volume.",
8750 "format" : "pve-volume-id-or-qm-path",
8751 "format_description" : "volume",
8752 "type" : "string"
56122987 8753 },
7aacca6f 8754 "format" : {
44660702 8755 "description" : "The drive's backing file's data format.",
56122987 8756 "enum" : [
7aacca6f
DM
8757 "raw",
8758 "cow",
8759 "qcow",
8760 "qed",
8761 "qcow2",
8762 "vmdk",
8763 "cloop"
8764 ],
44660702
DM
8765 "optional" : 1,
8766 "type" : "string"
56122987 8767 },
44660702
DM
8768 "heads" : {
8769 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8770 "optional" : 1,
7aacca6f 8771 "type" : "integer"
56122987 8772 },
44660702 8773 "iops" : {
de0983cb 8774 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 8775 "format_description" : "iops",
44660702
DM
8776 "optional" : 1,
8777 "type" : "integer"
7aacca6f 8778 },
44660702 8779 "iops_max" : {
de0983cb 8780 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8781 "format_description" : "iops",
56122987 8782 "optional" : 1,
44660702 8783 "type" : "integer"
7aacca6f 8784 },
de0983cb
DM
8785 "iops_max_length" : {
8786 "description" : "Maximum length of I/O bursts in seconds.",
8787 "format_description" : "seconds",
8788 "minimum" : 1,
8789 "optional" : 1,
8790 "type" : "integer"
8791 },
44660702 8792 "iops_rd" : {
de0983cb 8793 "description" : "Maximum read I/O in operations per second.",
44660702 8794 "format_description" : "iops",
7aacca6f 8795 "optional" : 1,
44660702 8796 "type" : "integer"
56122987 8797 },
de0983cb 8798 "iops_rd_length" : {
5d9c884c 8799 "alias" : "iops_rd_max_length"
de0983cb 8800 },
44660702 8801 "iops_rd_max" : {
de0983cb 8802 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8803 "format_description" : "iops",
8804 "optional" : 1,
8805 "type" : "integer"
8806 },
5d9c884c
DM
8807 "iops_rd_max_length" : {
8808 "description" : "Maximum length of read I/O bursts in seconds.",
8809 "format_description" : "seconds",
8810 "minimum" : 1,
8811 "optional" : 1,
8812 "type" : "integer"
8813 },
44660702 8814 "iops_wr" : {
de0983cb 8815 "description" : "Maximum write I/O in operations per second.",
44660702 8816 "format_description" : "iops",
56122987 8817 "optional" : 1,
44660702
DM
8818 "type" : "integer"
8819 },
de0983cb 8820 "iops_wr_length" : {
5d9c884c 8821 "alias" : "iops_wr_max_length"
de0983cb 8822 },
44660702 8823 "iops_wr_max" : {
de0983cb 8824 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8825 "format_description" : "iops",
8826 "optional" : 1,
8827 "type" : "integer"
56122987 8828 },
5d9c884c
DM
8829 "iops_wr_max_length" : {
8830 "description" : "Maximum length of write I/O bursts in seconds.",
8831 "format_description" : "seconds",
8832 "minimum" : 1,
8833 "optional" : 1,
8834 "type" : "integer"
8835 },
7aacca6f 8836 "iothread" : {
7aacca6f 8837 "description" : "Whether to use iothreads for this drive",
56122987 8838 "optional" : 1,
56122987
DM
8839 "type" : "boolean"
8840 },
44660702 8841 "mbps" : {
de0983cb 8842 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8843 "format_description" : "mbps",
8844 "optional" : 1,
8845 "type" : "number"
8846 },
8847 "mbps_max" : {
de0983cb 8848 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8849 "format_description" : "mbps",
8850 "optional" : 1,
8851 "type" : "number"
8852 },
8853 "mbps_rd" : {
de0983cb 8854 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8855 "format_description" : "mbps",
8856 "optional" : 1,
8857 "type" : "number"
8858 },
8859 "mbps_rd_max" : {
de0983cb 8860 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8861 "format_description" : "mbps",
8862 "optional" : 1,
8863 "type" : "number"
8864 },
8865 "mbps_wr" : {
de0983cb 8866 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8867 "format_description" : "mbps",
8868 "optional" : 1,
8869 "type" : "number"
8870 },
8871 "mbps_wr_max" : {
de0983cb 8872 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8873 "format_description" : "mbps",
8874 "optional" : 1,
8875 "type" : "number"
8876 },
7aacca6f 8877 "media" : {
44660702
DM
8878 "default" : "disk",
8879 "description" : "The drive's media type.",
7aacca6f
DM
8880 "enum" : [
8881 "cdrom",
8882 "disk"
8883 ],
56122987 8884 "optional" : 1,
44660702
DM
8885 "type" : "string"
8886 },
8887 "queues" : {
8888 "description" : "Number of queues.",
44660702
DM
8889 "minimum" : 2,
8890 "optional" : 1,
8891 "type" : "integer"
8892 },
5d9c884c
DM
8893 "replicate" : {
8894 "default" : 1,
8895 "description" : "Whether the drive should considered for replication jobs.",
8896 "optional" : 1,
8897 "type" : "boolean"
8898 },
8899 "rerror" : {
8900 "description" : "Read error action.",
8901 "enum" : [
8902 "ignore",
8903 "report",
8904 "stop"
8905 ],
8906 "optional" : 1,
8907 "type" : "string"
8908 },
52e44c50
FG
8909 "scsiblock" : {
8910 "default" : 0,
8911 "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",
8912 "optional" : 1,
8913 "type" : "boolean"
8914 },
44660702
DM
8915 "secs" : {
8916 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8917 "optional" : 1,
8918 "type" : "integer"
8919 },
8920 "serial" : {
8921 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8922 "format" : "urlencoded",
8923 "format_description" : "serial",
8924 "maxLength" : 60,
8925 "optional" : 1,
8926 "type" : "string"
8927 },
27a7acb2
DM
8928 "shared" : {
8929 "default" : 0,
8930 "description" : "Mark this locally-managed volume as available on all nodes",
8931 "optional" : 1,
8932 "type" : "boolean",
8933 "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!"
8934 },
44660702
DM
8935 "size" : {
8936 "description" : "Disk size. This is purely informational and has no effect.",
8937 "format" : "disk-size",
f004f5b9 8938 "format_description" : "DiskSize",
44660702
DM
8939 "optional" : 1,
8940 "type" : "string"
56122987 8941 },
7aacca6f 8942 "snapshot" : {
27a7acb2 8943 "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 8944 "optional" : 1,
44660702 8945 "type" : "boolean"
7aacca6f 8946 },
44660702
DM
8947 "trans" : {
8948 "description" : "Force disk geometry bios translation mode.",
8949 "enum" : [
8950 "none",
8951 "lba",
8952 "auto"
8953 ],
44660702
DM
8954 "optional" : 1,
8955 "type" : "string"
8956 },
8957 "volume" : {
8958 "alias" : "file"
8959 },
8960 "werror" : {
8961 "description" : "Write error action.",
8962 "enum" : [
8963 "enospc",
8964 "ignore",
8965 "report",
8966 "stop"
8967 ],
56122987 8968 "optional" : 1,
44660702 8969 "type" : "string"
56122987 8970 }
44660702 8971 },
7aacca6f 8972 "optional" : 1,
4bd7df8b 8973 "type" : "string",
27a7acb2 8974 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
8975 },
8976 "scsihw" : {
8977 "default" : "lsi",
c2993fe5 8978 "description" : "SCSI controller model",
7aacca6f 8979 "enum" : [
44660702
DM
8980 "lsi",
8981 "lsi53c810",
8982 "virtio-scsi-pci",
8983 "virtio-scsi-single",
8984 "megasas",
8985 "pvscsi"
7aacca6f 8986 ],
44660702
DM
8987 "optional" : 1,
8988 "type" : "string"
56122987 8989 },
27a7acb2
DM
8990 "searchdomain" : {
8991 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
8992 "optional" : 1,
8993 "type" : "string",
8994 "typetext" : "<string>"
8995 },
44660702 8996 "serial[n]" : {
c2993fe5 8997 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 8998 "optional" : 1,
44660702 8999 "pattern" : "(/dev/.+|socket)",
c2993fe5 9000 "type" : "string",
57b78691 9001 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 9002 },
44660702
DM
9003 "shares" : {
9004 "default" : 1000,
5da3d723 9005 "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
9006 "maximum" : 50000,
9007 "minimum" : 0,
56122987 9008 "optional" : 1,
4bd7df8b 9009 "type" : "integer",
013dc89f 9010 "typetext" : "<integer> (0 - 50000)"
56122987 9011 },
44660702
DM
9012 "skiplock" : {
9013 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9014 "optional" : 1,
013dc89f
DM
9015 "type" : "boolean",
9016 "typetext" : "<boolean>"
56122987 9017 },
44660702
DM
9018 "smbios1" : {
9019 "description" : "Specify SMBIOS type 1 fields.",
9020 "format" : "pve-qm-smbios1",
9021 "maxLength" : 256,
56122987 9022 "optional" : 1,
4bd7df8b
DM
9023 "type" : "string",
9024 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 9025 },
44660702
DM
9026 "smp" : {
9027 "default" : 1,
9028 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9029 "minimum" : 1,
7aacca6f 9030 "optional" : 1,
4bd7df8b 9031 "type" : "integer",
013dc89f 9032 "typetext" : "<integer> (1 - N)"
7aacca6f 9033 },
44660702
DM
9034 "sockets" : {
9035 "default" : 1,
9036 "description" : "The number of CPU sockets.",
9037 "minimum" : 1,
7aacca6f 9038 "optional" : 1,
4bd7df8b 9039 "type" : "integer",
013dc89f 9040 "typetext" : "<integer> (1 - N)"
56122987 9041 },
27a7acb2
DM
9042 "sshkeys" : {
9043 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9044 "format" : "urlencoded",
9045 "optional" : 1,
9046 "type" : "string",
9047 "typetext" : "<string>"
9048 },
44660702
DM
9049 "startdate" : {
9050 "default" : "now",
9051 "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 9052 "optional" : 1,
44660702 9053 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9054 "type" : "string",
44660702 9055 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9056 },
7aacca6f 9057 "startup" : {
7aacca6f 9058 "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 9059 "format" : "pve-startup-order",
56122987 9060 "optional" : 1,
44660702
DM
9061 "type" : "string",
9062 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9063 },
44660702 9064 "tablet" : {
7aacca6f 9065 "default" : 1,
c2993fe5 9066 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9067 "optional" : 1,
c2993fe5 9068 "type" : "boolean",
013dc89f 9069 "typetext" : "<boolean>",
c2993fe5 9070 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
56122987 9071 },
44660702
DM
9072 "tdf" : {
9073 "default" : 0,
9074 "description" : "Enable/disable time drift fix.",
7aacca6f 9075 "optional" : 1,
013dc89f
DM
9076 "type" : "boolean",
9077 "typetext" : "<boolean>"
7aacca6f 9078 },
44660702
DM
9079 "template" : {
9080 "default" : 0,
9081 "description" : "Enable/disable Template.",
7aacca6f 9082 "optional" : 1,
013dc89f
DM
9083 "type" : "boolean",
9084 "typetext" : "<boolean>"
7aacca6f 9085 },
44660702 9086 "unused[n]" : {
c2993fe5 9087 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9088 "format" : "pve-volume-id",
7aacca6f 9089 "optional" : 1,
013dc89f
DM
9090 "type" : "string",
9091 "typetext" : "<string>"
7aacca6f 9092 },
44660702 9093 "usb[n]" : {
c2993fe5 9094 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9095 "format" : {
9096 "host" : {
9097 "default_key" : 1,
c2993fe5 9098 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
9099 "format" : "pve-qm-usb-device",
9100 "format_description" : "HOSTUSBDEVICE|spice",
9101 "type" : "string"
9102 },
9103 "usb3" : {
c2993fe5
DM
9104 "default" : 0,
9105 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
44660702
DM
9106 "optional" : 1,
9107 "type" : "boolean"
9108 }
9109 },
7aacca6f 9110 "optional" : 1,
4bd7df8b
DM
9111 "type" : "string",
9112 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 9113 },
44660702
DM
9114 "vcpus" : {
9115 "default" : 0,
9116 "description" : "Number of hotplugged vcpus.",
9117 "minimum" : 1,
56122987 9118 "optional" : 1,
4bd7df8b 9119 "type" : "integer",
013dc89f 9120 "typetext" : "<integer> (1 - N)"
56122987 9121 },
44660702 9122 "vga" : {
c2993fe5 9123 "description" : "Select the VGA type.",
44660702
DM
9124 "enum" : [
9125 "std",
9126 "cirrus",
9127 "vmware",
9128 "qxl",
9129 "serial0",
9130 "serial1",
9131 "serial2",
9132 "serial3",
9133 "qxl2",
9134 "qxl3",
9135 "qxl4"
9136 ],
56122987 9137 "optional" : 1,
c2993fe5
DM
9138 "type" : "string",
9139 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
56122987 9140 },
44660702
DM
9141 "virtio[n]" : {
9142 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9143 "format" : {
44660702
DM
9144 "aio" : {
9145 "description" : "AIO type to use.",
56122987 9146 "enum" : [
44660702
DM
9147 "native",
9148 "threads"
56122987 9149 ],
56122987
DM
9150 "optional" : 1,
9151 "type" : "string"
9152 },
44660702
DM
9153 "backup" : {
9154 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9155 "optional" : 1,
9156 "type" : "boolean"
7aacca6f 9157 },
44660702 9158 "bps" : {
de0983cb 9159 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9160 "format_description" : "bps",
9161 "optional" : 1,
9162 "type" : "integer"
56122987 9163 },
de0983cb
DM
9164 "bps_max_length" : {
9165 "description" : "Maximum length of I/O bursts in seconds.",
9166 "format_description" : "seconds",
9167 "minimum" : 1,
9168 "optional" : 1,
9169 "type" : "integer"
9170 },
44660702 9171 "bps_rd" : {
de0983cb 9172 "description" : "Maximum read speed in bytes per second.",
44660702 9173 "format_description" : "bps",
56122987 9174 "optional" : 1,
44660702 9175 "type" : "integer"
56122987 9176 },
de0983cb 9177 "bps_rd_length" : {
5d9c884c
DM
9178 "alias" : "bps_rd_max_length"
9179 },
9180 "bps_rd_max_length" : {
de0983cb
DM
9181 "description" : "Maximum length of read I/O bursts in seconds.",
9182 "format_description" : "seconds",
9183 "minimum" : 1,
9184 "optional" : 1,
9185 "type" : "integer"
9186 },
44660702 9187 "bps_wr" : {
de0983cb 9188 "description" : "Maximum write speed in bytes per second.",
44660702 9189 "format_description" : "bps",
56122987 9190 "optional" : 1,
44660702
DM
9191 "type" : "integer"
9192 },
de0983cb 9193 "bps_wr_length" : {
5d9c884c
DM
9194 "alias" : "bps_wr_max_length"
9195 },
9196 "bps_wr_max_length" : {
de0983cb
DM
9197 "description" : "Maximum length of write I/O bursts in seconds.",
9198 "format_description" : "seconds",
9199 "minimum" : 1,
9200 "optional" : 1,
9201 "type" : "integer"
9202 },
44660702
DM
9203 "cache" : {
9204 "description" : "The drive's cache mode",
56122987 9205 "enum" : [
44660702
DM
9206 "none",
9207 "writethrough",
9208 "writeback",
9209 "unsafe",
9210 "directsync"
56122987 9211 ],
56122987 9212 "optional" : 1,
44660702 9213 "type" : "string"
56122987 9214 },
44660702
DM
9215 "cyls" : {
9216 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9217 "optional" : 1,
44660702 9218 "type" : "integer"
7aacca6f 9219 },
44660702
DM
9220 "detect_zeroes" : {
9221 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9222 "optional" : 1,
9223 "type" : "boolean"
7aacca6f 9224 },
44660702
DM
9225 "discard" : {
9226 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9227 "enum" : [
9228 "ignore",
9229 "on"
9230 ],
56122987 9231 "optional" : 1,
44660702 9232 "type" : "string"
56122987
DM
9233 },
9234 "file" : {
7aacca6f 9235 "default_key" : 1,
44660702 9236 "description" : "The drive's backing volume.",
7aacca6f 9237 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9238 "format_description" : "volume",
9239 "type" : "string"
7aacca6f
DM
9240 },
9241 "format" : {
7aacca6f
DM
9242 "description" : "The drive's backing file's data format.",
9243 "enum" : [
9244 "raw",
9245 "cow",
9246 "qcow",
9247 "qed",
9248 "qcow2",
9249 "vmdk",
9250 "cloop"
56122987
DM
9251 ],
9252 "optional" : 1,
56122987
DM
9253 "type" : "string"
9254 },
44660702
DM
9255 "heads" : {
9256 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9257 "optional" : 1,
44660702 9258 "type" : "integer"
56122987 9259 },
44660702 9260 "iops" : {
de0983cb 9261 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9262 "format_description" : "iops",
56122987 9263 "optional" : 1,
44660702 9264 "type" : "integer"
56122987 9265 },
44660702 9266 "iops_max" : {
de0983cb 9267 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9268 "format_description" : "iops",
56122987 9269 "optional" : 1,
56122987
DM
9270 "type" : "integer"
9271 },
de0983cb
DM
9272 "iops_max_length" : {
9273 "description" : "Maximum length of I/O bursts in seconds.",
9274 "format_description" : "seconds",
9275 "minimum" : 1,
9276 "optional" : 1,
9277 "type" : "integer"
9278 },
44660702 9279 "iops_rd" : {
de0983cb 9280 "description" : "Maximum read I/O in operations per second.",
44660702 9281 "format_description" : "iops",
56122987 9282 "optional" : 1,
44660702 9283 "type" : "integer"
56122987 9284 },
de0983cb 9285 "iops_rd_length" : {
5d9c884c 9286 "alias" : "iops_rd_max_length"
de0983cb 9287 },
44660702 9288 "iops_rd_max" : {
de0983cb 9289 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9290 "format_description" : "iops",
7aacca6f 9291 "optional" : 1,
44660702 9292 "type" : "integer"
56122987 9293 },
5d9c884c
DM
9294 "iops_rd_max_length" : {
9295 "description" : "Maximum length of read I/O bursts in seconds.",
9296 "format_description" : "seconds",
9297 "minimum" : 1,
9298 "optional" : 1,
9299 "type" : "integer"
9300 },
44660702 9301 "iops_wr" : {
de0983cb 9302 "description" : "Maximum write I/O in operations per second.",
44660702 9303 "format_description" : "iops",
7aacca6f 9304 "optional" : 1,
44660702 9305 "type" : "integer"
56122987 9306 },
de0983cb 9307 "iops_wr_length" : {
5d9c884c 9308 "alias" : "iops_wr_max_length"
de0983cb 9309 },
44660702 9310 "iops_wr_max" : {
de0983cb 9311 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9312 "format_description" : "iops",
56122987
DM
9313 "optional" : 1,
9314 "type" : "integer"
9315 },
5d9c884c
DM
9316 "iops_wr_max_length" : {
9317 "description" : "Maximum length of write I/O bursts in seconds.",
9318 "format_description" : "seconds",
9319 "minimum" : 1,
9320 "optional" : 1,
9321 "type" : "integer"
9322 },
44660702
DM
9323 "iothread" : {
9324 "description" : "Whether to use iothreads for this drive",
44660702
DM
9325 "optional" : 1,
9326 "type" : "boolean"
9327 },
9328 "mbps" : {
de0983cb 9329 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9330 "format_description" : "mbps",
44660702
DM
9331 "optional" : 1,
9332 "type" : "number"
9333 },
9334 "mbps_max" : {
de0983cb 9335 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9336 "format_description" : "mbps",
9337 "optional" : 1,
9338 "type" : "number"
7aacca6f 9339 },
44660702 9340 "mbps_rd" : {
de0983cb 9341 "description" : "Maximum read speed in megabytes per second.",
44660702 9342 "format_description" : "mbps",
56122987 9343 "optional" : 1,
44660702 9344 "type" : "number"
56122987 9345 },
44660702 9346 "mbps_rd_max" : {
de0983cb 9347 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9348 "format_description" : "mbps",
7aacca6f 9349 "optional" : 1,
44660702 9350 "type" : "number"
56122987 9351 },
44660702 9352 "mbps_wr" : {
de0983cb 9353 "description" : "Maximum write speed in megabytes per second.",
44660702 9354 "format_description" : "mbps",
56122987 9355 "optional" : 1,
44660702 9356 "type" : "number"
56122987 9357 },
44660702 9358 "mbps_wr_max" : {
de0983cb 9359 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9360 "format_description" : "mbps",
56122987 9361 "optional" : 1,
44660702 9362 "type" : "number"
56122987
DM
9363 },
9364 "media" : {
7aacca6f 9365 "default" : "disk",
44660702 9366 "description" : "The drive's media type.",
56122987
DM
9367 "enum" : [
9368 "cdrom",
9369 "disk"
9370 ],
44660702
DM
9371 "optional" : 1,
9372 "type" : "string"
56122987 9373 },
5d9c884c
DM
9374 "replicate" : {
9375 "default" : 1,
9376 "description" : "Whether the drive should considered for replication jobs.",
9377 "optional" : 1,
9378 "type" : "boolean"
9379 },
7aacca6f 9380 "rerror" : {
44660702 9381 "description" : "Read error action.",
56122987 9382 "enum" : [
7aacca6f
DM
9383 "ignore",
9384 "report",
9385 "stop"
56122987 9386 ],
56122987 9387 "optional" : 1,
44660702 9388 "type" : "string"
56122987 9389 },
44660702
DM
9390 "secs" : {
9391 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9392 "optional" : 1,
9393 "type" : "integer"
9394 },
9395 "serial" : {
9396 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9397 "format" : "urlencoded",
9398 "format_description" : "serial",
9399 "maxLength" : 60,
56122987 9400 "optional" : 1,
7aacca6f 9401 "type" : "string"
56122987 9402 },
27a7acb2
DM
9403 "shared" : {
9404 "default" : 0,
9405 "description" : "Mark this locally-managed volume as available on all nodes",
9406 "optional" : 1,
9407 "type" : "boolean",
9408 "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!"
9409 },
44660702
DM
9410 "size" : {
9411 "description" : "Disk size. This is purely informational and has no effect.",
9412 "format" : "disk-size",
f004f5b9 9413 "format_description" : "DiskSize",
56122987 9414 "optional" : 1,
44660702 9415 "type" : "string"
56122987 9416 },
44660702 9417 "snapshot" : {
27a7acb2 9418 "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 9419 "optional" : 1,
44660702 9420 "type" : "boolean"
56122987 9421 },
44660702
DM
9422 "trans" : {
9423 "description" : "Force disk geometry bios translation mode.",
9424 "enum" : [
9425 "none",
9426 "lba",
9427 "auto"
9428 ],
44660702
DM
9429 "optional" : 1,
9430 "type" : "string"
9431 },
9432 "volume" : {
9433 "alias" : "file"
9434 },
9435 "werror" : {
9436 "description" : "Write error action.",
9437 "enum" : [
9438 "enospc",
9439 "ignore",
9440 "report",
9441 "stop"
9442 ],
56122987 9443 "optional" : 1,
44660702 9444 "type" : "string"
56122987 9445 }
44660702 9446 },
56122987 9447 "optional" : 1,
4bd7df8b 9448 "type" : "string",
27a7acb2 9449 "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>]"
56122987 9450 },
7aacca6f
DM
9451 "vmid" : {
9452 "description" : "The (unique) ID of the VM.",
7aacca6f 9453 "format" : "pve-vmid",
44660702 9454 "minimum" : 1,
4bd7df8b 9455 "type" : "integer",
013dc89f 9456 "typetext" : "<integer> (1 - N)"
56122987 9457 },
2489d6df
WB
9458 "vmstatestorage" : {
9459 "description" : "Default storage for VM state volumes/files.",
9460 "format" : "pve-storage-id",
9461 "optional" : 1,
9462 "type" : "string",
9463 "typetext" : "<string>"
9464 },
44660702 9465 "watchdog" : {
c2993fe5 9466 "description" : "Create a virtual hardware watchdog device.",
44660702 9467 "format" : "pve-qm-watchdog",
56122987 9468 "optional" : 1,
c2993fe5 9469 "type" : "string",
013dc89f 9470 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9471 "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 9472 }
44660702 9473 }
56122987 9474 },
7aacca6f
DM
9475 "permissions" : {
9476 "check" : [
9477 "perm",
9478 "/vms/{vmid}",
9479 [
44660702
DM
9480 "VM.Config.Disk",
9481 "VM.Config.CDROM",
9482 "VM.Config.CPU",
9483 "VM.Config.Memory",
9484 "VM.Config.Network",
9485 "VM.Config.HWType",
9486 "VM.Config.Options"
9487 ],
9488 "any",
9489 1
7aacca6f 9490 ]
56122987 9491 },
44660702 9492 "protected" : 1,
7aacca6f 9493 "proxyto" : "node",
44660702
DM
9494 "returns" : {
9495 "optional" : 1,
9496 "type" : "string"
9497 }
56122987 9498 },
7aacca6f 9499 "PUT" : {
44660702
DM
9500 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
9501 "method" : "PUT",
9502 "name" : "update_vm",
56122987 9503 "parameters" : {
7aacca6f 9504 "additionalProperties" : 0,
56122987 9505 "properties" : {
44660702
DM
9506 "acpi" : {
9507 "default" : 1,
9508 "description" : "Enable/disable ACPI.",
7aacca6f 9509 "optional" : 1,
013dc89f
DM
9510 "type" : "boolean",
9511 "typetext" : "<boolean>"
7aacca6f 9512 },
44660702
DM
9513 "agent" : {
9514 "default" : 0,
9515 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 9516 "optional" : 1,
013dc89f
DM
9517 "type" : "boolean",
9518 "typetext" : "<boolean>"
56122987 9519 },
44660702 9520 "args" : {
c2993fe5 9521 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 9522 "optional" : 1,
c2993fe5 9523 "type" : "string",
013dc89f 9524 "typetext" : "<string>",
c2993fe5 9525 "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 9526 },
44660702
DM
9527 "autostart" : {
9528 "default" : 0,
9529 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 9530 "optional" : 1,
013dc89f
DM
9531 "type" : "boolean",
9532 "typetext" : "<boolean>"
7aacca6f 9533 },
44660702
DM
9534 "balloon" : {
9535 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
9536 "minimum" : 0,
9537 "optional" : 1,
4bd7df8b 9538 "type" : "integer",
013dc89f 9539 "typetext" : "<integer> (0 - N)"
44660702
DM
9540 },
9541 "bios" : {
9542 "default" : "seabios",
9543 "description" : "Select BIOS implementation.",
7aacca6f 9544 "enum" : [
44660702
DM
9545 "seabios",
9546 "ovmf"
7aacca6f 9547 ],
56122987 9548 "optional" : 1,
7aacca6f
DM
9549 "type" : "string"
9550 },
44660702
DM
9551 "boot" : {
9552 "default" : "cdn",
9553 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 9554 "optional" : 1,
44660702
DM
9555 "pattern" : "[acdn]{1,4}",
9556 "type" : "string"
56122987 9557 },
44660702
DM
9558 "bootdisk" : {
9559 "description" : "Enable booting from specified disk.",
9560 "format" : "pve-qm-bootdisk",
9561 "optional" : 1,
9562 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9563 "type" : "string"
9564 },
9565 "cdrom" : {
9566 "description" : "This is an alias for option -ide2",
de0983cb 9567 "format" : "pve-qm-ide",
56122987 9568 "optional" : 1,
7aacca6f 9569 "type" : "string",
013dc89f 9570 "typetext" : "<volume>"
44660702 9571 },
27a7acb2
DM
9572 "cipassword" : {
9573 "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.",
9574 "optional" : 1,
9575 "type" : "string",
9576 "typetext" : "<string>"
9577 },
9578 "citype" : {
9579 "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.",
9580 "enum" : [
9581 "configdrive2",
9582 "nocloud"
9583 ],
9584 "optional" : 1,
9585 "type" : "string"
9586 },
9587 "ciuser" : {
9588 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9589 "optional" : 1,
9590 "type" : "string",
9591 "typetext" : "<string>"
9592 },
44660702
DM
9593 "cores" : {
9594 "default" : 1,
9595 "description" : "The number of cores per socket.",
9596 "minimum" : 1,
9597 "optional" : 1,
4bd7df8b 9598 "type" : "integer",
013dc89f 9599 "typetext" : "<integer> (1 - N)"
44660702
DM
9600 },
9601 "cpu" : {
9602 "description" : "Emulated CPU type.",
9603 "format" : {
9604 "cputype" : {
9605 "default" : "kvm64",
9606 "default_key" : 1,
9607 "description" : "Emulated CPU type.",
9608 "enum" : [
9609 "486",
9610 "athlon",
f004f5b9 9611 "Broadwell",
35a75dd3 9612 "Broadwell-IBRS",
f004f5b9 9613 "Broadwell-noTSX",
35a75dd3 9614 "Broadwell-noTSX-IBRS",
f004f5b9 9615 "Conroe",
44660702 9616 "core2duo",
f004f5b9 9617 "coreduo",
27a7acb2
DM
9618 "EPYC",
9619 "EPYC-IBPB",
f004f5b9 9620 "Haswell",
35a75dd3 9621 "Haswell-IBRS",
f004f5b9 9622 "Haswell-noTSX",
35a75dd3 9623 "Haswell-noTSX-IBRS",
f004f5b9
DM
9624 "host",
9625 "IvyBridge",
35a75dd3 9626 "IvyBridge-IBRS",
44660702
DM
9627 "kvm32",
9628 "kvm64",
35a75dd3 9629 "max",
44660702 9630 "Nehalem",
35a75dd3 9631 "Nehalem-IBRS",
44660702
DM
9632 "Opteron_G1",
9633 "Opteron_G2",
9634 "Opteron_G3",
9635 "Opteron_G4",
9636 "Opteron_G5",
f004f5b9
DM
9637 "Penryn",
9638 "pentium",
9639 "pentium2",
9640 "pentium3",
9641 "phenom",
9642 "qemu32",
9643 "qemu64",
9644 "SandyBridge",
35a75dd3 9645 "SandyBridge-IBRS",
5d9c884c 9646 "Skylake-Client",
35a75dd3
DM
9647 "Skylake-Client-IBRS",
9648 "Skylake-Server",
9649 "Skylake-Server-IBRS",
9650 "Westmere",
9651 "Westmere-IBRS"
44660702 9652 ],
44660702
DM
9653 "type" : "string"
9654 },
35a75dd3
DM
9655 "flags" : {
9656 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
9657 "format_description" : "+FLAG[;-FLAG...]",
9658 "optional" : 1,
9659 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
9660 "type" : "string"
9661 },
44660702
DM
9662 "hidden" : {
9663 "default" : 0,
9664 "description" : "Do not identify as a KVM virtual machine.",
9665 "optional" : 1,
9666 "type" : "boolean"
9667 }
9668 },
9669 "optional" : 1,
4bd7df8b 9670 "type" : "string",
35a75dd3 9671 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
9672 },
9673 "cpulimit" : {
9674 "default" : 0,
c2993fe5 9675 "description" : "Limit of CPU usage.",
44660702
DM
9676 "maximum" : 128,
9677 "minimum" : 0,
9678 "optional" : 1,
c2993fe5 9679 "type" : "number",
013dc89f 9680 "typetext" : "<number> (0 - 128)",
c2993fe5 9681 "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
9682 },
9683 "cpuunits" : {
de0983cb 9684 "default" : 1024,
c2993fe5 9685 "description" : "CPU weight for a VM.",
2489d6df
WB
9686 "maximum" : 262144,
9687 "minimum" : 2,
44660702 9688 "optional" : 1,
c2993fe5 9689 "type" : "integer",
2489d6df
WB
9690 "typetext" : "<integer> (2 - 262144)",
9691 "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
9692 },
9693 "delete" : {
9694 "description" : "A list of settings you want to delete.",
9695 "format" : "pve-configid-list",
9696 "optional" : 1,
013dc89f
DM
9697 "type" : "string",
9698 "typetext" : "<string>"
44660702
DM
9699 },
9700 "description" : {
9701 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
9702 "optional" : 1,
013dc89f
DM
9703 "type" : "string",
9704 "typetext" : "<string>"
44660702
DM
9705 },
9706 "digest" : {
9707 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9708 "maxLength" : 40,
9709 "optional" : 1,
013dc89f
DM
9710 "type" : "string",
9711 "typetext" : "<string>"
44660702
DM
9712 },
9713 "force" : {
9714 "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.",
9715 "optional" : 1,
9716 "requires" : "delete",
013dc89f
DM
9717 "type" : "boolean",
9718 "typetext" : "<boolean>"
44660702
DM
9719 },
9720 "freeze" : {
9721 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
9722 "optional" : 1,
013dc89f
DM
9723 "type" : "boolean",
9724 "typetext" : "<boolean>"
44660702
DM
9725 },
9726 "hostpci[n]" : {
c2993fe5 9727 "description" : "Map host PCI devices into guest.",
44660702
DM
9728 "format" : "pve-qm-hostpci",
9729 "optional" : 1,
57b78691 9730 "type" : "string",
52e44c50 9731 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 9732 "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 9733 },
7aacca6f 9734 "hotplug" : {
7aacca6f 9735 "default" : "network,disk,usb",
44660702
DM
9736 "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'.",
9737 "format" : "pve-hotplug-features",
56122987 9738 "optional" : 1,
013dc89f
DM
9739 "type" : "string",
9740 "typetext" : "<string>"
56122987 9741 },
4bd7df8b
DM
9742 "hugepages" : {
9743 "description" : "Enable/disable hugepages memory.",
9744 "enum" : [
9745 "any",
9746 "2",
9747 "1024"
9748 ],
9749 "optional" : 1,
9750 "type" : "string"
9751 },
56122987 9752 "ide[n]" : {
7aacca6f 9753 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 9754 "format" : {
44660702
DM
9755 "aio" : {
9756 "description" : "AIO type to use.",
9757 "enum" : [
9758 "native",
9759 "threads"
9760 ],
56122987 9761 "optional" : 1,
44660702 9762 "type" : "string"
56122987 9763 },
44660702
DM
9764 "backup" : {
9765 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9766 "optional" : 1,
9767 "type" : "boolean"
9768 },
9769 "bps" : {
de0983cb 9770 "description" : "Maximum r/w speed in bytes per second.",
44660702 9771 "format_description" : "bps",
56122987 9772 "optional" : 1,
44660702 9773 "type" : "integer"
56122987 9774 },
de0983cb
DM
9775 "bps_max_length" : {
9776 "description" : "Maximum length of I/O bursts in seconds.",
9777 "format_description" : "seconds",
9778 "minimum" : 1,
9779 "optional" : 1,
9780 "type" : "integer"
9781 },
44660702 9782 "bps_rd" : {
de0983cb 9783 "description" : "Maximum read speed in bytes per second.",
44660702 9784 "format_description" : "bps",
56122987 9785 "optional" : 1,
44660702 9786 "type" : "integer"
56122987 9787 },
de0983cb 9788 "bps_rd_length" : {
5d9c884c
DM
9789 "alias" : "bps_rd_max_length"
9790 },
9791 "bps_rd_max_length" : {
de0983cb
DM
9792 "description" : "Maximum length of read I/O bursts in seconds.",
9793 "format_description" : "seconds",
9794 "minimum" : 1,
9795 "optional" : 1,
9796 "type" : "integer"
9797 },
7aacca6f 9798 "bps_wr" : {
de0983cb 9799 "description" : "Maximum write speed in bytes per second.",
44660702
DM
9800 "format_description" : "bps",
9801 "optional" : 1,
9802 "type" : "integer"
7aacca6f 9803 },
de0983cb 9804 "bps_wr_length" : {
5d9c884c
DM
9805 "alias" : "bps_wr_max_length"
9806 },
9807 "bps_wr_max_length" : {
de0983cb
DM
9808 "description" : "Maximum length of write I/O bursts in seconds.",
9809 "format_description" : "seconds",
9810 "minimum" : 1,
9811 "optional" : 1,
9812 "type" : "integer"
9813 },
44660702
DM
9814 "cache" : {
9815 "description" : "The drive's cache mode",
9816 "enum" : [
9817 "none",
9818 "writethrough",
9819 "writeback",
9820 "unsafe",
9821 "directsync"
9822 ],
56122987 9823 "optional" : 1,
44660702
DM
9824 "type" : "string"
9825 },
9826 "cyls" : {
9827 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9828 "optional" : 1,
9829 "type" : "integer"
9830 },
9831 "detect_zeroes" : {
9832 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9833 "optional" : 1,
9834 "type" : "boolean"
56122987 9835 },
7aacca6f 9836 "discard" : {
7aacca6f 9837 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 9838 "enum" : [
7aacca6f
DM
9839 "ignore",
9840 "on"
56122987
DM
9841 ],
9842 "optional" : 1,
44660702 9843 "type" : "string"
7aacca6f 9844 },
44660702
DM
9845 "file" : {
9846 "default_key" : 1,
9847 "description" : "The drive's backing volume.",
9848 "format" : "pve-volume-id-or-qm-path",
9849 "format_description" : "volume",
9850 "type" : "string"
7aacca6f
DM
9851 },
9852 "format" : {
44660702 9853 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9854 "enum" : [
9855 "raw",
9856 "cow",
9857 "qcow",
9858 "qed",
9859 "qcow2",
9860 "vmdk",
9861 "cloop"
9862 ],
7aacca6f 9863 "optional" : 1,
44660702 9864 "type" : "string"
56122987 9865 },
7aacca6f 9866 "heads" : {
44660702 9867 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9868 "optional" : 1,
44660702 9869 "type" : "integer"
7aacca6f 9870 },
44660702 9871 "iops" : {
de0983cb 9872 "description" : "Maximum r/w I/O in operations per second.",
44660702 9873 "format_description" : "iops",
7aacca6f 9874 "optional" : 1,
44660702 9875 "type" : "integer"
56122987 9876 },
44660702 9877 "iops_max" : {
de0983cb 9878 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9879 "format_description" : "iops",
56122987 9880 "optional" : 1,
44660702 9881 "type" : "integer"
56122987 9882 },
de0983cb
DM
9883 "iops_max_length" : {
9884 "description" : "Maximum length of I/O bursts in seconds.",
9885 "format_description" : "seconds",
9886 "minimum" : 1,
9887 "optional" : 1,
9888 "type" : "integer"
9889 },
44660702 9890 "iops_rd" : {
de0983cb 9891 "description" : "Maximum read I/O in operations per second.",
44660702 9892 "format_description" : "iops",
56122987 9893 "optional" : 1,
44660702 9894 "type" : "integer"
7aacca6f 9895 },
de0983cb 9896 "iops_rd_length" : {
5d9c884c 9897 "alias" : "iops_rd_max_length"
de0983cb 9898 },
44660702 9899 "iops_rd_max" : {
de0983cb 9900 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9901 "format_description" : "iops",
7aacca6f 9902 "optional" : 1,
44660702 9903 "type" : "integer"
7aacca6f 9904 },
5d9c884c
DM
9905 "iops_rd_max_length" : {
9906 "description" : "Maximum length of read I/O bursts in seconds.",
9907 "format_description" : "seconds",
9908 "minimum" : 1,
9909 "optional" : 1,
9910 "type" : "integer"
9911 },
44660702 9912 "iops_wr" : {
de0983cb 9913 "description" : "Maximum write I/O in operations per second.",
44660702 9914 "format_description" : "iops",
7aacca6f 9915 "optional" : 1,
44660702 9916 "type" : "integer"
56122987 9917 },
de0983cb 9918 "iops_wr_length" : {
5d9c884c 9919 "alias" : "iops_wr_max_length"
de0983cb 9920 },
44660702 9921 "iops_wr_max" : {
de0983cb 9922 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9923 "format_description" : "iops",
7aacca6f 9924 "optional" : 1,
44660702 9925 "type" : "integer"
7aacca6f 9926 },
5d9c884c
DM
9927 "iops_wr_max_length" : {
9928 "description" : "Maximum length of write I/O bursts in seconds.",
9929 "format_description" : "seconds",
9930 "minimum" : 1,
9931 "optional" : 1,
9932 "type" : "integer"
9933 },
7aacca6f 9934 "mbps" : {
de0983cb 9935 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9936 "format_description" : "mbps",
7aacca6f 9937 "optional" : 1,
44660702 9938 "type" : "number"
7aacca6f 9939 },
44660702 9940 "mbps_max" : {
de0983cb 9941 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9942 "format_description" : "mbps",
7aacca6f 9943 "optional" : 1,
44660702 9944 "type" : "number"
7aacca6f 9945 },
44660702 9946 "mbps_rd" : {
de0983cb 9947 "description" : "Maximum read speed in megabytes per second.",
44660702 9948 "format_description" : "mbps",
7aacca6f 9949 "optional" : 1,
44660702 9950 "type" : "number"
7aacca6f 9951 },
44660702 9952 "mbps_rd_max" : {
de0983cb 9953 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9954 "format_description" : "mbps",
9955 "optional" : 1,
9956 "type" : "number"
7aacca6f 9957 },
44660702 9958 "mbps_wr" : {
de0983cb 9959 "description" : "Maximum write speed in megabytes per second.",
44660702 9960 "format_description" : "mbps",
7aacca6f 9961 "optional" : 1,
44660702
DM
9962 "type" : "number"
9963 },
9964 "mbps_wr_max" : {
de0983cb 9965 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9966 "format_description" : "mbps",
9967 "optional" : 1,
9968 "type" : "number"
9969 },
9970 "media" : {
9971 "default" : "disk",
9972 "description" : "The drive's media type.",
56122987 9973 "enum" : [
44660702
DM
9974 "cdrom",
9975 "disk"
56122987 9976 ],
44660702
DM
9977 "optional" : 1,
9978 "type" : "string"
56122987 9979 },
7aacca6f 9980 "model" : {
44660702 9981 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 9982 "format" : "urlencoded",
7aacca6f 9983 "format_description" : "model",
44660702 9984 "maxLength" : 120,
56122987 9985 "optional" : 1,
44660702 9986 "type" : "string"
56122987 9987 },
5d9c884c
DM
9988 "replicate" : {
9989 "default" : 1,
9990 "description" : "Whether the drive should considered for replication jobs.",
9991 "optional" : 1,
9992 "type" : "boolean"
9993 },
44660702
DM
9994 "rerror" : {
9995 "description" : "Read error action.",
9996 "enum" : [
9997 "ignore",
9998 "report",
9999 "stop"
10000 ],
56122987 10001 "optional" : 1,
44660702 10002 "type" : "string"
56122987 10003 },
44660702
DM
10004 "secs" : {
10005 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10006 "optional" : 1,
10007 "type" : "integer"
56122987 10008 },
44660702
DM
10009 "serial" : {
10010 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10011 "format" : "urlencoded",
10012 "format_description" : "serial",
10013 "maxLength" : 60,
56122987 10014 "optional" : 1,
44660702 10015 "type" : "string"
56122987 10016 },
27a7acb2
DM
10017 "shared" : {
10018 "default" : 0,
10019 "description" : "Mark this locally-managed volume as available on all nodes",
10020 "optional" : 1,
10021 "type" : "boolean",
10022 "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!"
10023 },
44660702
DM
10024 "size" : {
10025 "description" : "Disk size. This is purely informational and has no effect.",
10026 "format" : "disk-size",
f004f5b9 10027 "format_description" : "DiskSize",
56122987 10028 "optional" : 1,
44660702 10029 "type" : "string"
56122987 10030 },
44660702 10031 "snapshot" : {
27a7acb2 10032 "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 10033 "optional" : 1,
44660702 10034 "type" : "boolean"
56122987 10035 },
44660702
DM
10036 "trans" : {
10037 "description" : "Force disk geometry bios translation mode.",
10038 "enum" : [
10039 "none",
10040 "lba",
10041 "auto"
10042 ],
56122987 10043 "optional" : 1,
44660702
DM
10044 "type" : "string"
10045 },
10046 "volume" : {
10047 "alias" : "file"
56122987 10048 },
7aacca6f 10049 "werror" : {
44660702 10050 "description" : "Write error action.",
7aacca6f
DM
10051 "enum" : [
10052 "enospc",
10053 "ignore",
10054 "report",
10055 "stop"
10056 ],
56122987 10057 "optional" : 1,
44660702 10058 "type" : "string"
7aacca6f 10059 }
44660702
DM
10060 },
10061 "optional" : 1,
4bd7df8b 10062 "type" : "string",
27a7acb2
DM
10063 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
10064 },
10065 "ipconfig[n]" : {
10066 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
10067 "format" : "pve-qm-ipconfig",
10068 "optional" : 1,
10069 "type" : "string",
10070 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10071 },
44660702 10072 "keyboard" : {
35a75dd3 10073 "default" : null,
5da3d723 10074 "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
10075 "enum" : [
10076 "de",
10077 "de-ch",
10078 "da",
10079 "en-gb",
10080 "en-us",
10081 "es",
10082 "fi",
10083 "fr",
10084 "fr-be",
10085 "fr-ca",
10086 "fr-ch",
10087 "hu",
10088 "is",
10089 "it",
10090 "ja",
10091 "lt",
10092 "mk",
10093 "nl",
10094 "no",
10095 "pl",
10096 "pt",
10097 "pt-br",
10098 "sv",
10099 "sl",
10100 "tr"
10101 ],
7aacca6f 10102 "optional" : 1,
44660702 10103 "type" : "string"
7aacca6f 10104 },
44660702 10105 "kvm" : {
7aacca6f 10106 "default" : 1,
44660702 10107 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10108 "optional" : 1,
013dc89f
DM
10109 "type" : "boolean",
10110 "typetext" : "<boolean>"
7aacca6f 10111 },
44660702
DM
10112 "localtime" : {
10113 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10114 "optional" : 1,
013dc89f
DM
10115 "type" : "boolean",
10116 "typetext" : "<boolean>"
7aacca6f 10117 },
44660702
DM
10118 "lock" : {
10119 "description" : "Lock/unlock the VM.",
10120 "enum" : [
10121 "migrate",
10122 "backup",
10123 "snapshot",
10124 "rollback"
10125 ],
7aacca6f 10126 "optional" : 1,
44660702 10127 "type" : "string"
7aacca6f 10128 },
44660702
DM
10129 "machine" : {
10130 "description" : "Specific the Qemu machine type.",
10131 "maxLength" : 40,
7aacca6f 10132 "optional" : 1,
44660702
DM
10133 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10134 "type" : "string"
7aacca6f 10135 },
44660702
DM
10136 "memory" : {
10137 "default" : 512,
10138 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10139 "minimum" : 16,
7aacca6f 10140 "optional" : 1,
4bd7df8b 10141 "type" : "integer",
013dc89f 10142 "typetext" : "<integer> (16 - N)"
7aacca6f 10143 },
44660702
DM
10144 "migrate_downtime" : {
10145 "default" : 0.1,
10146 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10147 "minimum" : 0,
7aacca6f 10148 "optional" : 1,
4bd7df8b 10149 "type" : "number",
013dc89f 10150 "typetext" : "<number> (0 - N)"
7aacca6f 10151 },
44660702 10152 "migrate_speed" : {
7aacca6f 10153 "default" : 0,
44660702
DM
10154 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10155 "minimum" : 0,
10156 "optional" : 1,
4bd7df8b 10157 "type" : "integer",
013dc89f 10158 "typetext" : "<integer> (0 - N)"
7aacca6f 10159 },
44660702
DM
10160 "name" : {
10161 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10162 "format" : "dns-name",
7aacca6f 10163 "optional" : 1,
013dc89f
DM
10164 "type" : "string",
10165 "typetext" : "<string>"
7aacca6f 10166 },
27a7acb2
DM
10167 "nameserver" : {
10168 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
10169 "format" : "address-list",
10170 "optional" : 1,
10171 "type" : "string",
10172 "typetext" : "<string>"
10173 },
44660702 10174 "net[n]" : {
c2993fe5 10175 "description" : "Specify network devices.",
f004f5b9
DM
10176 "format" : {
10177 "bridge" : {
c2993fe5 10178 "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
10179 "format_description" : "bridge",
10180 "optional" : 1,
10181 "type" : "string"
10182 },
10183 "e1000" : {
10184 "alias" : "macaddr",
10185 "keyAlias" : "model"
10186 },
10187 "e1000-82540em" : {
10188 "alias" : "macaddr",
10189 "keyAlias" : "model"
10190 },
10191 "e1000-82544gc" : {
10192 "alias" : "macaddr",
10193 "keyAlias" : "model"
10194 },
10195 "e1000-82545em" : {
10196 "alias" : "macaddr",
10197 "keyAlias" : "model"
10198 },
10199 "firewall" : {
10200 "description" : "Whether this interface should be protected by the firewall.",
10201 "optional" : 1,
10202 "type" : "boolean"
10203 },
10204 "i82551" : {
10205 "alias" : "macaddr",
10206 "keyAlias" : "model"
10207 },
10208 "i82557b" : {
10209 "alias" : "macaddr",
10210 "keyAlias" : "model"
10211 },
10212 "i82559er" : {
10213 "alias" : "macaddr",
10214 "keyAlias" : "model"
10215 },
10216 "link_down" : {
c2993fe5 10217 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10218 "optional" : 1,
10219 "type" : "boolean"
10220 },
10221 "macaddr" : {
c2993fe5 10222 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10223 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10224 "optional" : 1,
10225 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10226 "type" : "string"
10227 },
10228 "model" : {
10229 "default_key" : 1,
c2993fe5 10230 "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
10231 "enum" : [
10232 "rtl8139",
10233 "ne2k_pci",
10234 "e1000",
10235 "pcnet",
10236 "virtio",
10237 "ne2k_isa",
10238 "i82551",
10239 "i82557b",
10240 "i82559er",
10241 "vmxnet3",
10242 "e1000-82540em",
10243 "e1000-82544gc",
10244 "e1000-82545em"
10245 ],
f004f5b9
DM
10246 "type" : "string"
10247 },
10248 "ne2k_isa" : {
10249 "alias" : "macaddr",
10250 "keyAlias" : "model"
10251 },
10252 "ne2k_pci" : {
10253 "alias" : "macaddr",
10254 "keyAlias" : "model"
10255 },
10256 "pcnet" : {
10257 "alias" : "macaddr",
10258 "keyAlias" : "model"
10259 },
10260 "queues" : {
10261 "description" : "Number of packet queues to be used on the device.",
10262 "maximum" : 16,
10263 "minimum" : 0,
10264 "optional" : 1,
10265 "type" : "integer"
10266 },
10267 "rate" : {
c2993fe5 10268 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10269 "minimum" : 0,
10270 "optional" : 1,
10271 "type" : "number"
10272 },
10273 "rtl8139" : {
10274 "alias" : "macaddr",
10275 "keyAlias" : "model"
10276 },
10277 "tag" : {
10278 "description" : "VLAN tag to apply to packets on this interface.",
10279 "maximum" : 4094,
c2993fe5 10280 "minimum" : 1,
f004f5b9
DM
10281 "optional" : 1,
10282 "type" : "integer"
10283 },
10284 "trunks" : {
10285 "description" : "VLAN trunks to pass through this interface.",
10286 "format_description" : "vlanid[;vlanid...]",
10287 "optional" : 1,
10288 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10289 "type" : "string"
10290 },
10291 "virtio" : {
10292 "alias" : "macaddr",
10293 "keyAlias" : "model"
10294 },
10295 "vmxnet3" : {
10296 "alias" : "macaddr",
10297 "keyAlias" : "model"
10298 }
10299 },
7aacca6f 10300 "optional" : 1,
4bd7df8b 10301 "type" : "string",
013dc89f 10302 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 10303 },
44660702
DM
10304 "node" : {
10305 "description" : "The cluster node name.",
10306 "format" : "pve-node",
013dc89f
DM
10307 "type" : "string",
10308 "typetext" : "<string>"
44660702
DM
10309 },
10310 "numa" : {
10311 "default" : 0,
10312 "description" : "Enable/disable NUMA.",
7aacca6f 10313 "optional" : 1,
013dc89f
DM
10314 "type" : "boolean",
10315 "typetext" : "<boolean>"
7aacca6f 10316 },
44660702 10317 "numa[n]" : {
c2993fe5 10318 "description" : "NUMA topology.",
44660702
DM
10319 "format" : {
10320 "cpus" : {
c2993fe5 10321 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10322 "format_description" : "id[-id];...",
10323 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10324 "type" : "string"
10325 },
10326 "hostnodes" : {
c2993fe5 10327 "description" : "Host NUMA nodes to use.",
44660702
DM
10328 "format_description" : "id[-id];...",
10329 "optional" : 1,
10330 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10331 "type" : "string"
10332 },
10333 "memory" : {
c2993fe5 10334 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10335 "optional" : 1,
10336 "type" : "number"
10337 },
10338 "policy" : {
c2993fe5 10339 "description" : "NUMA allocation policy.",
44660702
DM
10340 "enum" : [
10341 "preferred",
10342 "bind",
10343 "interleave"
10344 ],
44660702
DM
10345 "optional" : 1,
10346 "type" : "string"
10347 }
10348 },
7aacca6f 10349 "optional" : 1,
4bd7df8b
DM
10350 "type" : "string",
10351 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10352 },
44660702
DM
10353 "onboot" : {
10354 "default" : 0,
10355 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10356 "optional" : 1,
013dc89f
DM
10357 "type" : "boolean",
10358 "typetext" : "<boolean>"
7aacca6f 10359 },
44660702 10360 "ostype" : {
c2993fe5 10361 "description" : "Specify guest operating system.",
44660702
DM
10362 "enum" : [
10363 "other",
10364 "wxp",
10365 "w2k",
10366 "w2k3",
10367 "w2k8",
10368 "wvista",
10369 "win7",
10370 "win8",
32d876b5 10371 "win10",
44660702
DM
10372 "l24",
10373 "l26",
10374 "solaris"
10375 ],
7aacca6f 10376 "optional" : 1,
c2993fe5 10377 "type" : "string",
35a75dd3 10378 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 10379 },
44660702 10380 "parallel[n]" : {
c2993fe5 10381 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10382 "optional" : 1,
44660702 10383 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10384 "type" : "string",
10385 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 10386 },
44660702
DM
10387 "protection" : {
10388 "default" : 0,
c2993fe5 10389 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10390 "optional" : 1,
013dc89f
DM
10391 "type" : "boolean",
10392 "typetext" : "<boolean>"
7aacca6f 10393 },
44660702
DM
10394 "reboot" : {
10395 "default" : 1,
10396 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 10397 "optional" : 1,
013dc89f
DM
10398 "type" : "boolean",
10399 "typetext" : "<boolean>"
7aacca6f 10400 },
44660702
DM
10401 "revert" : {
10402 "description" : "Revert a pending change.",
10403 "format" : "pve-configid-list",
7aacca6f 10404 "optional" : 1,
013dc89f
DM
10405 "type" : "string",
10406 "typetext" : "<string>"
7aacca6f 10407 },
44660702
DM
10408 "sata[n]" : {
10409 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 10410 "format" : {
44660702
DM
10411 "aio" : {
10412 "description" : "AIO type to use.",
10413 "enum" : [
10414 "native",
10415 "threads"
10416 ],
44660702
DM
10417 "optional" : 1,
10418 "type" : "string"
10419 },
10420 "backup" : {
10421 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10422 "optional" : 1,
10423 "type" : "boolean"
10424 },
10425 "bps" : {
de0983cb 10426 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 10427 "format_description" : "bps",
7aacca6f
DM
10428 "optional" : 1,
10429 "type" : "integer"
56122987 10430 },
de0983cb
DM
10431 "bps_max_length" : {
10432 "description" : "Maximum length of I/O bursts in seconds.",
10433 "format_description" : "seconds",
10434 "minimum" : 1,
10435 "optional" : 1,
10436 "type" : "integer"
10437 },
44660702 10438 "bps_rd" : {
de0983cb 10439 "description" : "Maximum read speed in bytes per second.",
44660702 10440 "format_description" : "bps",
7aacca6f 10441 "optional" : 1,
44660702 10442 "type" : "integer"
7aacca6f 10443 },
de0983cb 10444 "bps_rd_length" : {
5d9c884c
DM
10445 "alias" : "bps_rd_max_length"
10446 },
10447 "bps_rd_max_length" : {
de0983cb
DM
10448 "description" : "Maximum length of read I/O bursts in seconds.",
10449 "format_description" : "seconds",
10450 "minimum" : 1,
10451 "optional" : 1,
10452 "type" : "integer"
10453 },
44660702 10454 "bps_wr" : {
de0983cb 10455 "description" : "Maximum write speed in bytes per second.",
44660702 10456 "format_description" : "bps",
7aacca6f 10457 "optional" : 1,
44660702 10458 "type" : "integer"
7aacca6f 10459 },
de0983cb 10460 "bps_wr_length" : {
5d9c884c
DM
10461 "alias" : "bps_wr_max_length"
10462 },
10463 "bps_wr_max_length" : {
de0983cb
DM
10464 "description" : "Maximum length of write I/O bursts in seconds.",
10465 "format_description" : "seconds",
10466 "minimum" : 1,
10467 "optional" : 1,
10468 "type" : "integer"
10469 },
44660702
DM
10470 "cache" : {
10471 "description" : "The drive's cache mode",
10472 "enum" : [
10473 "none",
10474 "writethrough",
10475 "writeback",
10476 "unsafe",
10477 "directsync"
10478 ],
7aacca6f 10479 "optional" : 1,
44660702 10480 "type" : "string"
7aacca6f 10481 },
44660702
DM
10482 "cyls" : {
10483 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10484 "optional" : 1,
44660702 10485 "type" : "integer"
7aacca6f 10486 },
44660702
DM
10487 "detect_zeroes" : {
10488 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 10489 "optional" : 1,
44660702 10490 "type" : "boolean"
7aacca6f 10491 },
44660702
DM
10492 "discard" : {
10493 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10494 "enum" : [
10495 "ignore",
10496 "on"
10497 ],
7aacca6f 10498 "optional" : 1,
44660702
DM
10499 "type" : "string"
10500 },
10501 "file" : {
10502 "default_key" : 1,
10503 "description" : "The drive's backing volume.",
10504 "format" : "pve-volume-id-or-qm-path",
10505 "format_description" : "volume",
10506 "type" : "string"
7aacca6f
DM
10507 },
10508 "format" : {
7aacca6f 10509 "description" : "The drive's backing file's data format.",
56122987
DM
10510 "enum" : [
10511 "raw",
10512 "cow",
10513 "qcow",
10514 "qed",
10515 "qcow2",
10516 "vmdk",
10517 "cloop"
10518 ],
10519 "optional" : 1,
7aacca6f 10520 "type" : "string"
56122987 10521 },
7aacca6f 10522 "heads" : {
7aacca6f 10523 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10524 "optional" : 1,
10525 "type" : "integer"
56122987 10526 },
44660702 10527 "iops" : {
de0983cb 10528 "description" : "Maximum r/w I/O in operations per second.",
44660702 10529 "format_description" : "iops",
56122987 10530 "optional" : 1,
44660702 10531 "type" : "integer"
7aacca6f 10532 },
44660702 10533 "iops_max" : {
de0983cb 10534 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10535 "format_description" : "iops",
7aacca6f 10536 "optional" : 1,
44660702 10537 "type" : "integer"
56122987 10538 },
de0983cb
DM
10539 "iops_max_length" : {
10540 "description" : "Maximum length of I/O bursts in seconds.",
10541 "format_description" : "seconds",
10542 "minimum" : 1,
10543 "optional" : 1,
10544 "type" : "integer"
10545 },
44660702 10546 "iops_rd" : {
de0983cb 10547 "description" : "Maximum read I/O in operations per second.",
44660702 10548 "format_description" : "iops",
56122987 10549 "optional" : 1,
44660702 10550 "type" : "integer"
7aacca6f 10551 },
de0983cb 10552 "iops_rd_length" : {
5d9c884c 10553 "alias" : "iops_rd_max_length"
de0983cb 10554 },
44660702 10555 "iops_rd_max" : {
de0983cb 10556 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10557 "format_description" : "iops",
56122987 10558 "optional" : 1,
44660702 10559 "type" : "integer"
56122987 10560 },
5d9c884c
DM
10561 "iops_rd_max_length" : {
10562 "description" : "Maximum length of read I/O bursts in seconds.",
10563 "format_description" : "seconds",
10564 "minimum" : 1,
10565 "optional" : 1,
10566 "type" : "integer"
10567 },
44660702 10568 "iops_wr" : {
de0983cb 10569 "description" : "Maximum write I/O in operations per second.",
44660702
DM
10570 "format_description" : "iops",
10571 "optional" : 1,
10572 "type" : "integer"
56122987 10573 },
de0983cb 10574 "iops_wr_length" : {
5d9c884c 10575 "alias" : "iops_wr_max_length"
de0983cb 10576 },
44660702 10577 "iops_wr_max" : {
de0983cb 10578 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10579 "format_description" : "iops",
10580 "optional" : 1,
10581 "type" : "integer"
10582 },
5d9c884c
DM
10583 "iops_wr_max_length" : {
10584 "description" : "Maximum length of write I/O bursts in seconds.",
10585 "format_description" : "seconds",
10586 "minimum" : 1,
10587 "optional" : 1,
10588 "type" : "integer"
10589 },
44660702 10590 "mbps" : {
de0983cb 10591 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10592 "format_description" : "mbps",
10593 "optional" : 1,
10594 "type" : "number"
10595 },
10596 "mbps_max" : {
de0983cb 10597 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10598 "format_description" : "mbps",
10599 "optional" : 1,
10600 "type" : "number"
10601 },
10602 "mbps_rd" : {
de0983cb 10603 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10604 "format_description" : "mbps",
10605 "optional" : 1,
10606 "type" : "number"
10607 },
10608 "mbps_rd_max" : {
de0983cb 10609 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10610 "format_description" : "mbps",
10611 "optional" : 1,
10612 "type" : "number"
10613 },
10614 "mbps_wr" : {
de0983cb 10615 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10616 "format_description" : "mbps",
10617 "optional" : 1,
10618 "type" : "number"
10619 },
10620 "mbps_wr_max" : {
de0983cb 10621 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10622 "format_description" : "mbps",
10623 "optional" : 1,
10624 "type" : "number"
10625 },
10626 "media" : {
10627 "default" : "disk",
10628 "description" : "The drive's media type.",
10629 "enum" : [
10630 "cdrom",
10631 "disk"
10632 ],
56122987 10633 "optional" : 1,
44660702
DM
10634 "type" : "string"
10635 },
5d9c884c
DM
10636 "replicate" : {
10637 "default" : 1,
10638 "description" : "Whether the drive should considered for replication jobs.",
10639 "optional" : 1,
10640 "type" : "boolean"
10641 },
44660702 10642 "rerror" : {
7aacca6f
DM
10643 "description" : "Read error action.",
10644 "enum" : [
10645 "ignore",
10646 "report",
10647 "stop"
44660702 10648 ],
56122987 10649 "optional" : 1,
44660702 10650 "type" : "string"
56122987 10651 },
7aacca6f 10652 "secs" : {
44660702 10653 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10654 "optional" : 1,
44660702 10655 "type" : "integer"
56122987 10656 },
44660702
DM
10657 "serial" : {
10658 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10659 "format" : "urlencoded",
10660 "format_description" : "serial",
10661 "maxLength" : 60,
56122987 10662 "optional" : 1,
44660702 10663 "type" : "string"
56122987 10664 },
27a7acb2
DM
10665 "shared" : {
10666 "default" : 0,
10667 "description" : "Mark this locally-managed volume as available on all nodes",
10668 "optional" : 1,
10669 "type" : "boolean",
10670 "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!"
10671 },
44660702
DM
10672 "size" : {
10673 "description" : "Disk size. This is purely informational and has no effect.",
10674 "format" : "disk-size",
f004f5b9 10675 "format_description" : "DiskSize",
56122987 10676 "optional" : 1,
44660702 10677 "type" : "string"
56122987
DM
10678 },
10679 "snapshot" : {
27a7acb2 10680 "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 10681 "optional" : 1,
44660702 10682 "type" : "boolean"
56122987 10683 },
56122987 10684 "trans" : {
7aacca6f 10685 "description" : "Force disk geometry bios translation mode.",
56122987
DM
10686 "enum" : [
10687 "none",
10688 "lba",
10689 "auto"
10690 ],
10691 "optional" : 1,
44660702 10692 "type" : "string"
56122987 10693 },
44660702
DM
10694 "volume" : {
10695 "alias" : "file"
56122987 10696 },
7aacca6f 10697 "werror" : {
44660702 10698 "description" : "Write error action.",
56122987 10699 "enum" : [
7aacca6f 10700 "enospc",
56122987 10701 "ignore",
7aacca6f
DM
10702 "report",
10703 "stop"
10704 ],
7aacca6f 10705 "optional" : 1,
44660702
DM
10706 "type" : "string"
10707 }
10708 },
10709 "optional" : 1,
4bd7df8b 10710 "type" : "string",
27a7acb2 10711 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
10712 },
10713 "scsi[n]" : {
10714 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
10715 "format" : {
10716 "aio" : {
7aacca6f 10717 "description" : "AIO type to use.",
56122987
DM
10718 "enum" : [
10719 "native",
10720 "threads"
44660702 10721 ],
56122987 10722 "optional" : 1,
44660702 10723 "type" : "string"
56122987 10724 },
7aacca6f 10725 "backup" : {
7aacca6f 10726 "description" : "Whether the drive should be included when making backups.",
7aacca6f 10727 "optional" : 1,
44660702 10728 "type" : "boolean"
56122987 10729 },
44660702 10730 "bps" : {
de0983cb 10731 "description" : "Maximum r/w speed in bytes per second.",
44660702 10732 "format_description" : "bps",
7aacca6f 10733 "optional" : 1,
44660702 10734 "type" : "integer"
7aacca6f 10735 },
de0983cb
DM
10736 "bps_max_length" : {
10737 "description" : "Maximum length of I/O bursts in seconds.",
10738 "format_description" : "seconds",
10739 "minimum" : 1,
10740 "optional" : 1,
10741 "type" : "integer"
10742 },
44660702 10743 "bps_rd" : {
de0983cb 10744 "description" : "Maximum read speed in bytes per second.",
44660702 10745 "format_description" : "bps",
56122987 10746 "optional" : 1,
44660702 10747 "type" : "integer"
56122987 10748 },
de0983cb 10749 "bps_rd_length" : {
5d9c884c
DM
10750 "alias" : "bps_rd_max_length"
10751 },
10752 "bps_rd_max_length" : {
de0983cb
DM
10753 "description" : "Maximum length of read I/O bursts in seconds.",
10754 "format_description" : "seconds",
10755 "minimum" : 1,
10756 "optional" : 1,
10757 "type" : "integer"
10758 },
44660702 10759 "bps_wr" : {
de0983cb 10760 "description" : "Maximum write speed in bytes per second.",
44660702 10761 "format_description" : "bps",
56122987 10762 "optional" : 1,
44660702 10763 "type" : "integer"
56122987 10764 },
de0983cb 10765 "bps_wr_length" : {
5d9c884c
DM
10766 "alias" : "bps_wr_max_length"
10767 },
10768 "bps_wr_max_length" : {
de0983cb
DM
10769 "description" : "Maximum length of write I/O bursts in seconds.",
10770 "format_description" : "seconds",
10771 "minimum" : 1,
10772 "optional" : 1,
10773 "type" : "integer"
10774 },
44660702
DM
10775 "cache" : {
10776 "description" : "The drive's cache mode",
10777 "enum" : [
10778 "none",
10779 "writethrough",
10780 "writeback",
10781 "unsafe",
10782 "directsync"
10783 ],
56122987 10784 "optional" : 1,
44660702
DM
10785 "type" : "string"
10786 },
10787 "cyls" : {
10788 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10789 "optional" : 1,
10790 "type" : "integer"
10791 },
10792 "detect_zeroes" : {
10793 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10794 "optional" : 1,
10795 "type" : "boolean"
10796 },
10797 "discard" : {
10798 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10799 "enum" : [
10800 "ignore",
10801 "on"
10802 ],
44660702
DM
10803 "optional" : 1,
10804 "type" : "string"
10805 },
10806 "file" : {
10807 "default_key" : 1,
10808 "description" : "The drive's backing volume.",
10809 "format" : "pve-volume-id-or-qm-path",
10810 "format_description" : "volume",
10811 "type" : "string"
56122987 10812 },
7aacca6f 10813 "format" : {
44660702 10814 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10815 "enum" : [
10816 "raw",
10817 "cow",
10818 "qcow",
10819 "qed",
10820 "qcow2",
10821 "vmdk",
10822 "cloop"
10823 ],
56122987 10824 "optional" : 1,
44660702 10825 "type" : "string"
56122987 10826 },
44660702
DM
10827 "heads" : {
10828 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10829 "optional" : 1,
44660702 10830 "type" : "integer"
56122987 10831 },
44660702 10832 "iops" : {
de0983cb 10833 "description" : "Maximum r/w I/O in operations per second.",
44660702 10834 "format_description" : "iops",
7aacca6f 10835 "optional" : 1,
44660702 10836 "type" : "integer"
56122987 10837 },
44660702 10838 "iops_max" : {
de0983cb 10839 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 10840 "format_description" : "iops",
7aacca6f 10841 "optional" : 1,
44660702 10842 "type" : "integer"
56122987 10843 },
de0983cb
DM
10844 "iops_max_length" : {
10845 "description" : "Maximum length of I/O bursts in seconds.",
10846 "format_description" : "seconds",
10847 "minimum" : 1,
10848 "optional" : 1,
10849 "type" : "integer"
10850 },
44660702 10851 "iops_rd" : {
de0983cb 10852 "description" : "Maximum read I/O in operations per second.",
44660702 10853 "format_description" : "iops",
56122987 10854 "optional" : 1,
44660702 10855 "type" : "integer"
56122987 10856 },
de0983cb 10857 "iops_rd_length" : {
5d9c884c 10858 "alias" : "iops_rd_max_length"
de0983cb 10859 },
44660702 10860 "iops_rd_max" : {
de0983cb 10861 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10862 "format_description" : "iops",
56122987 10863 "optional" : 1,
44660702 10864 "type" : "integer"
56122987 10865 },
5d9c884c
DM
10866 "iops_rd_max_length" : {
10867 "description" : "Maximum length of read I/O bursts in seconds.",
10868 "format_description" : "seconds",
10869 "minimum" : 1,
10870 "optional" : 1,
10871 "type" : "integer"
10872 },
44660702 10873 "iops_wr" : {
de0983cb 10874 "description" : "Maximum write I/O in operations per second.",
44660702 10875 "format_description" : "iops",
56122987 10876 "optional" : 1,
44660702 10877 "type" : "integer"
56122987 10878 },
de0983cb 10879 "iops_wr_length" : {
5d9c884c 10880 "alias" : "iops_wr_max_length"
de0983cb 10881 },
44660702 10882 "iops_wr_max" : {
de0983cb 10883 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 10884 "format_description" : "iops",
44660702
DM
10885 "optional" : 1,
10886 "type" : "integer"
7aacca6f 10887 },
5d9c884c
DM
10888 "iops_wr_max_length" : {
10889 "description" : "Maximum length of write I/O bursts in seconds.",
10890 "format_description" : "seconds",
10891 "minimum" : 1,
10892 "optional" : 1,
10893 "type" : "integer"
10894 },
7aacca6f 10895 "iothread" : {
44660702 10896 "description" : "Whether to use iothreads for this drive",
56122987 10897 "optional" : 1,
44660702 10898 "type" : "boolean"
56122987 10899 },
44660702 10900 "mbps" : {
de0983cb 10901 "description" : "Maximum r/w speed in megabytes per second.",
44660702 10902 "format_description" : "mbps",
56122987 10903 "optional" : 1,
44660702 10904 "type" : "number"
56122987 10905 },
44660702 10906 "mbps_max" : {
de0983cb 10907 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10908 "format_description" : "mbps",
56122987 10909 "optional" : 1,
44660702 10910 "type" : "number"
56122987 10911 },
44660702 10912 "mbps_rd" : {
de0983cb 10913 "description" : "Maximum read speed in megabytes per second.",
44660702 10914 "format_description" : "mbps",
7aacca6f 10915 "optional" : 1,
44660702 10916 "type" : "number"
56122987 10917 },
44660702 10918 "mbps_rd_max" : {
de0983cb 10919 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10920 "format_description" : "mbps",
7aacca6f 10921 "optional" : 1,
44660702 10922 "type" : "number"
7aacca6f 10923 },
44660702 10924 "mbps_wr" : {
de0983cb 10925 "description" : "Maximum write speed in megabytes per second.",
44660702 10926 "format_description" : "mbps",
56122987 10927 "optional" : 1,
44660702 10928 "type" : "number"
56122987 10929 },
44660702 10930 "mbps_wr_max" : {
de0983cb 10931 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10932 "format_description" : "mbps",
56122987 10933 "optional" : 1,
44660702
DM
10934 "type" : "number"
10935 },
10936 "media" : {
10937 "default" : "disk",
10938 "description" : "The drive's media type.",
7aacca6f 10939 "enum" : [
44660702
DM
10940 "cdrom",
10941 "disk"
7aacca6f 10942 ],
56122987 10943 "optional" : 1,
44660702 10944 "type" : "string"
56122987 10945 },
7aacca6f 10946 "queues" : {
44660702 10947 "description" : "Number of queues.",
7aacca6f 10948 "minimum" : 2,
7aacca6f
DM
10949 "optional" : 1,
10950 "type" : "integer"
56122987 10951 },
5d9c884c
DM
10952 "replicate" : {
10953 "default" : 1,
10954 "description" : "Whether the drive should considered for replication jobs.",
10955 "optional" : 1,
10956 "type" : "boolean"
10957 },
10958 "rerror" : {
10959 "description" : "Read error action.",
10960 "enum" : [
10961 "ignore",
10962 "report",
10963 "stop"
10964 ],
10965 "optional" : 1,
10966 "type" : "string"
10967 },
52e44c50
FG
10968 "scsiblock" : {
10969 "default" : 0,
10970 "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",
10971 "optional" : 1,
10972 "type" : "boolean"
10973 },
44660702
DM
10974 "secs" : {
10975 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10976 "optional" : 1,
44660702 10977 "type" : "integer"
56122987 10978 },
44660702
DM
10979 "serial" : {
10980 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10981 "format" : "urlencoded",
10982 "format_description" : "serial",
10983 "maxLength" : 60,
56122987 10984 "optional" : 1,
44660702 10985 "type" : "string"
56122987 10986 },
27a7acb2
DM
10987 "shared" : {
10988 "default" : 0,
10989 "description" : "Mark this locally-managed volume as available on all nodes",
10990 "optional" : 1,
10991 "type" : "boolean",
10992 "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!"
10993 },
44660702
DM
10994 "size" : {
10995 "description" : "Disk size. This is purely informational and has no effect.",
10996 "format" : "disk-size",
f004f5b9 10997 "format_description" : "DiskSize",
44660702
DM
10998 "optional" : 1,
10999 "type" : "string"
11000 },
11001 "snapshot" : {
27a7acb2 11002 "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 11003 "optional" : 1,
44660702
DM
11004 "type" : "boolean"
11005 },
11006 "trans" : {
11007 "description" : "Force disk geometry bios translation mode.",
56122987 11008 "enum" : [
44660702
DM
11009 "none",
11010 "lba",
11011 "auto"
56122987 11012 ],
44660702
DM
11013 "optional" : 1,
11014 "type" : "string"
11015 },
11016 "volume" : {
11017 "alias" : "file"
56122987 11018 },
7aacca6f 11019 "werror" : {
7aacca6f
DM
11020 "description" : "Write error action.",
11021 "enum" : [
11022 "enospc",
11023 "ignore",
11024 "report",
11025 "stop"
44660702 11026 ],
56122987 11027 "optional" : 1,
7aacca6f 11028 "type" : "string"
56122987 11029 }
44660702 11030 },
56122987 11031 "optional" : 1,
4bd7df8b 11032 "type" : "string",
27a7acb2 11033 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
11034 },
11035 "scsihw" : {
44660702 11036 "default" : "lsi",
c2993fe5 11037 "description" : "SCSI controller model",
56122987
DM
11038 "enum" : [
11039 "lsi",
11040 "lsi53c810",
11041 "virtio-scsi-pci",
11042 "virtio-scsi-single",
11043 "megasas",
11044 "pvscsi"
11045 ],
11046 "optional" : 1,
56122987
DM
11047 "type" : "string"
11048 },
27a7acb2
DM
11049 "searchdomain" : {
11050 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
11051 "optional" : 1,
11052 "type" : "string",
11053 "typetext" : "<string>"
11054 },
44660702 11055 "serial[n]" : {
c2993fe5 11056 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11057 "optional" : 1,
44660702 11058 "pattern" : "(/dev/.+|socket)",
c2993fe5 11059 "type" : "string",
57b78691 11060 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 11061 },
44660702
DM
11062 "shares" : {
11063 "default" : 1000,
5da3d723 11064 "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
11065 "maximum" : 50000,
11066 "minimum" : 0,
7aacca6f 11067 "optional" : 1,
4bd7df8b 11068 "type" : "integer",
013dc89f 11069 "typetext" : "<integer> (0 - 50000)"
56122987 11070 },
7aacca6f
DM
11071 "skiplock" : {
11072 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11073 "optional" : 1,
013dc89f
DM
11074 "type" : "boolean",
11075 "typetext" : "<boolean>"
56122987 11076 },
44660702
DM
11077 "smbios1" : {
11078 "description" : "Specify SMBIOS type 1 fields.",
11079 "format" : "pve-qm-smbios1",
11080 "maxLength" : 256,
56122987 11081 "optional" : 1,
4bd7df8b
DM
11082 "type" : "string",
11083 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11084 },
44660702
DM
11085 "smp" : {
11086 "default" : 1,
11087 "description" : "The number of CPUs. Please use option -sockets instead.",
11088 "minimum" : 1,
56122987 11089 "optional" : 1,
4bd7df8b 11090 "type" : "integer",
013dc89f 11091 "typetext" : "<integer> (1 - N)"
56122987 11092 },
44660702
DM
11093 "sockets" : {
11094 "default" : 1,
11095 "description" : "The number of CPU sockets.",
11096 "minimum" : 1,
56122987 11097 "optional" : 1,
4bd7df8b 11098 "type" : "integer",
013dc89f 11099 "typetext" : "<integer> (1 - N)"
56122987 11100 },
27a7acb2
DM
11101 "sshkeys" : {
11102 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11103 "format" : "urlencoded",
11104 "optional" : 1,
11105 "type" : "string",
11106 "typetext" : "<string>"
11107 },
44660702
DM
11108 "startdate" : {
11109 "default" : "now",
11110 "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'.",
11111 "optional" : 1,
11112 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11113 "type" : "string",
44660702
DM
11114 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11115 },
11116 "startup" : {
11117 "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.",
11118 "format" : "pve-startup-order",
7aacca6f 11119 "optional" : 1,
44660702
DM
11120 "type" : "string",
11121 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11122 },
44660702
DM
11123 "tablet" : {
11124 "default" : 1,
c2993fe5 11125 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11126 "optional" : 1,
c2993fe5 11127 "type" : "boolean",
013dc89f 11128 "typetext" : "<boolean>",
c2993fe5 11129 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
7aacca6f 11130 },
44660702
DM
11131 "tdf" : {
11132 "default" : 0,
11133 "description" : "Enable/disable time drift fix.",
7aacca6f 11134 "optional" : 1,
013dc89f
DM
11135 "type" : "boolean",
11136 "typetext" : "<boolean>"
7aacca6f 11137 },
44660702
DM
11138 "template" : {
11139 "default" : 0,
11140 "description" : "Enable/disable Template.",
7aacca6f 11141 "optional" : 1,
013dc89f
DM
11142 "type" : "boolean",
11143 "typetext" : "<boolean>"
7aacca6f 11144 },
44660702 11145 "unused[n]" : {
c2993fe5 11146 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11147 "format" : "pve-volume-id",
7aacca6f 11148 "optional" : 1,
013dc89f
DM
11149 "type" : "string",
11150 "typetext" : "<string>"
7aacca6f 11151 },
44660702 11152 "usb[n]" : {
c2993fe5 11153 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11154 "format" : {
44660702
DM
11155 "host" : {
11156 "default_key" : 1,
c2993fe5 11157 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
11158 "format" : "pve-qm-usb-device",
11159 "format_description" : "HOSTUSBDEVICE|spice",
11160 "type" : "string"
7aacca6f 11161 },
44660702 11162 "usb3" : {
c2993fe5
DM
11163 "default" : 0,
11164 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
7aacca6f 11165 "optional" : 1,
44660702 11166 "type" : "boolean"
7aacca6f 11167 }
44660702 11168 },
7aacca6f 11169 "optional" : 1,
4bd7df8b
DM
11170 "type" : "string",
11171 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11172 },
44660702 11173 "vcpus" : {
7aacca6f 11174 "default" : 0,
44660702
DM
11175 "description" : "Number of hotplugged vcpus.",
11176 "minimum" : 1,
7aacca6f 11177 "optional" : 1,
4bd7df8b 11178 "type" : "integer",
013dc89f 11179 "typetext" : "<integer> (1 - N)"
7aacca6f 11180 },
44660702 11181 "vga" : {
c2993fe5 11182 "description" : "Select the VGA type.",
44660702
DM
11183 "enum" : [
11184 "std",
11185 "cirrus",
11186 "vmware",
11187 "qxl",
11188 "serial0",
11189 "serial1",
11190 "serial2",
11191 "serial3",
11192 "qxl2",
11193 "qxl3",
11194 "qxl4"
11195 ],
7aacca6f 11196 "optional" : 1,
c2993fe5
DM
11197 "type" : "string",
11198 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 11199 },
44660702
DM
11200 "virtio[n]" : {
11201 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11202 "format" : {
7aacca6f 11203 "aio" : {
7aacca6f 11204 "description" : "AIO type to use.",
56122987 11205 "enum" : [
7aacca6f
DM
11206 "native",
11207 "threads"
7aacca6f 11208 ],
44660702
DM
11209 "optional" : 1,
11210 "type" : "string"
56122987 11211 },
44660702
DM
11212 "backup" : {
11213 "description" : "Whether the drive should be included when making backups.",
56122987 11214 "optional" : 1,
44660702 11215 "type" : "boolean"
7aacca6f 11216 },
44660702 11217 "bps" : {
de0983cb 11218 "description" : "Maximum r/w speed in bytes per second.",
44660702 11219 "format_description" : "bps",
7aacca6f 11220 "optional" : 1,
44660702 11221 "type" : "integer"
56122987 11222 },
de0983cb
DM
11223 "bps_max_length" : {
11224 "description" : "Maximum length of I/O bursts in seconds.",
11225 "format_description" : "seconds",
11226 "minimum" : 1,
11227 "optional" : 1,
11228 "type" : "integer"
11229 },
56122987 11230 "bps_rd" : {
de0983cb 11231 "description" : "Maximum read speed in bytes per second.",
44660702 11232 "format_description" : "bps",
56122987 11233 "optional" : 1,
7aacca6f 11234 "type" : "integer"
56122987 11235 },
de0983cb 11236 "bps_rd_length" : {
5d9c884c
DM
11237 "alias" : "bps_rd_max_length"
11238 },
11239 "bps_rd_max_length" : {
de0983cb
DM
11240 "description" : "Maximum length of read I/O bursts in seconds.",
11241 "format_description" : "seconds",
11242 "minimum" : 1,
11243 "optional" : 1,
11244 "type" : "integer"
11245 },
44660702 11246 "bps_wr" : {
de0983cb 11247 "description" : "Maximum write speed in bytes per second.",
44660702 11248 "format_description" : "bps",
56122987 11249 "optional" : 1,
7aacca6f 11250 "type" : "integer"
56122987 11251 },
de0983cb 11252 "bps_wr_length" : {
5d9c884c
DM
11253 "alias" : "bps_wr_max_length"
11254 },
11255 "bps_wr_max_length" : {
de0983cb
DM
11256 "description" : "Maximum length of write I/O bursts in seconds.",
11257 "format_description" : "seconds",
11258 "minimum" : 1,
11259 "optional" : 1,
11260 "type" : "integer"
11261 },
7aacca6f 11262 "cache" : {
44660702 11263 "description" : "The drive's cache mode",
7aacca6f
DM
11264 "enum" : [
11265 "none",
11266 "writethrough",
11267 "writeback",
11268 "unsafe",
11269 "directsync"
11270 ],
56122987 11271 "optional" : 1,
44660702 11272 "type" : "string"
7aacca6f 11273 },
44660702
DM
11274 "cyls" : {
11275 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11276 "optional" : 1,
11277 "type" : "integer"
11278 },
11279 "detect_zeroes" : {
11280 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11281 "optional" : 1,
11282 "type" : "boolean"
11283 },
11284 "discard" : {
11285 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11286 "enum" : [
44660702
DM
11287 "ignore",
11288 "on"
56122987
DM
11289 ],
11290 "optional" : 1,
44660702 11291 "type" : "string"
56122987 11292 },
44660702
DM
11293 "file" : {
11294 "default_key" : 1,
11295 "description" : "The drive's backing volume.",
11296 "format" : "pve-volume-id-or-qm-path",
11297 "format_description" : "volume",
11298 "type" : "string"
11299 },
11300 "format" : {
11301 "description" : "The drive's backing file's data format.",
11302 "enum" : [
11303 "raw",
11304 "cow",
11305 "qcow",
11306 "qed",
11307 "qcow2",
11308 "vmdk",
11309 "cloop"
11310 ],
56122987 11311 "optional" : 1,
44660702 11312 "type" : "string"
56122987 11313 },
44660702
DM
11314 "heads" : {
11315 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11316 "optional" : 1,
11317 "type" : "integer"
11318 },
11319 "iops" : {
de0983cb 11320 "description" : "Maximum r/w I/O in operations per second.",
44660702 11321 "format_description" : "iops",
56122987 11322 "optional" : 1,
44660702
DM
11323 "type" : "integer"
11324 },
11325 "iops_max" : {
de0983cb 11326 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11327 "format_description" : "iops",
11328 "optional" : 1,
11329 "type" : "integer"
56122987 11330 },
de0983cb
DM
11331 "iops_max_length" : {
11332 "description" : "Maximum length of I/O bursts in seconds.",
11333 "format_description" : "seconds",
11334 "minimum" : 1,
11335 "optional" : 1,
11336 "type" : "integer"
11337 },
7aacca6f 11338 "iops_rd" : {
de0983cb 11339 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11340 "format_description" : "iops",
7aacca6f 11341 "optional" : 1,
44660702 11342 "type" : "integer"
56122987 11343 },
de0983cb 11344 "iops_rd_length" : {
5d9c884c 11345 "alias" : "iops_rd_max_length"
de0983cb 11346 },
44660702 11347 "iops_rd_max" : {
de0983cb 11348 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11349 "format_description" : "iops",
11350 "optional" : 1,
11351 "type" : "integer"
11352 },
5d9c884c
DM
11353 "iops_rd_max_length" : {
11354 "description" : "Maximum length of read I/O bursts in seconds.",
11355 "format_description" : "seconds",
11356 "minimum" : 1,
11357 "optional" : 1,
11358 "type" : "integer"
11359 },
44660702 11360 "iops_wr" : {
de0983cb 11361 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11362 "format_description" : "iops",
11363 "optional" : 1,
11364 "type" : "integer"
11365 },
de0983cb 11366 "iops_wr_length" : {
5d9c884c 11367 "alias" : "iops_wr_max_length"
de0983cb 11368 },
44660702 11369 "iops_wr_max" : {
de0983cb 11370 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11371 "format_description" : "iops",
11372 "optional" : 1,
11373 "type" : "integer"
11374 },
5d9c884c
DM
11375 "iops_wr_max_length" : {
11376 "description" : "Maximum length of write I/O bursts in seconds.",
11377 "format_description" : "seconds",
11378 "minimum" : 1,
11379 "optional" : 1,
11380 "type" : "integer"
11381 },
44660702
DM
11382 "iothread" : {
11383 "description" : "Whether to use iothreads for this drive",
44660702
DM
11384 "optional" : 1,
11385 "type" : "boolean"
11386 },
11387 "mbps" : {
de0983cb 11388 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11389 "format_description" : "mbps",
7aacca6f 11390 "optional" : 1,
44660702 11391 "type" : "number"
7aacca6f
DM
11392 },
11393 "mbps_max" : {
de0983cb 11394 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11395 "format_description" : "mbps",
56122987 11396 "optional" : 1,
44660702 11397 "type" : "number"
56122987 11398 },
44660702 11399 "mbps_rd" : {
de0983cb 11400 "description" : "Maximum read speed in megabytes per second.",
44660702 11401 "format_description" : "mbps",
56122987 11402 "optional" : 1,
44660702 11403 "type" : "number"
56122987 11404 },
44660702 11405 "mbps_rd_max" : {
de0983cb 11406 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11407 "format_description" : "mbps",
11408 "optional" : 1,
11409 "type" : "number"
11410 },
11411 "mbps_wr" : {
de0983cb 11412 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11413 "format_description" : "mbps",
11414 "optional" : 1,
11415 "type" : "number"
11416 },
11417 "mbps_wr_max" : {
de0983cb 11418 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11419 "format_description" : "mbps",
11420 "optional" : 1,
11421 "type" : "number"
11422 },
11423 "media" : {
11424 "default" : "disk",
11425 "description" : "The drive's media type.",
56122987 11426 "enum" : [
44660702
DM
11427 "cdrom",
11428 "disk"
56122987
DM
11429 ],
11430 "optional" : 1,
44660702 11431 "type" : "string"
56122987 11432 },
5d9c884c
DM
11433 "replicate" : {
11434 "default" : 1,
11435 "description" : "Whether the drive should considered for replication jobs.",
11436 "optional" : 1,
11437 "type" : "boolean"
11438 },
44660702
DM
11439 "rerror" : {
11440 "description" : "Read error action.",
11441 "enum" : [
11442 "ignore",
11443 "report",
11444 "stop"
11445 ],
56122987 11446 "optional" : 1,
44660702 11447 "type" : "string"
56122987 11448 },
44660702
DM
11449 "secs" : {
11450 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11451 "optional" : 1,
44660702 11452 "type" : "integer"
56122987 11453 },
7aacca6f
DM
11454 "serial" : {
11455 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 11456 "format" : "urlencoded",
44660702 11457 "format_description" : "serial",
7aacca6f 11458 "maxLength" : 60,
44660702
DM
11459 "optional" : 1,
11460 "type" : "string"
56122987 11461 },
27a7acb2
DM
11462 "shared" : {
11463 "default" : 0,
11464 "description" : "Mark this locally-managed volume as available on all nodes",
11465 "optional" : 1,
11466 "type" : "boolean",
11467 "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!"
11468 },
44660702
DM
11469 "size" : {
11470 "description" : "Disk size. This is purely informational and has no effect.",
11471 "format" : "disk-size",
f004f5b9 11472 "format_description" : "DiskSize",
44660702
DM
11473 "optional" : 1,
11474 "type" : "string"
56122987 11475 },
44660702 11476 "snapshot" : {
27a7acb2 11477 "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 11478 "optional" : 1,
44660702 11479 "type" : "boolean"
56122987 11480 },
44660702
DM
11481 "trans" : {
11482 "description" : "Force disk geometry bios translation mode.",
11483 "enum" : [
11484 "none",
11485 "lba",
11486 "auto"
11487 ],
7aacca6f 11488 "optional" : 1,
44660702 11489 "type" : "string"
7aacca6f 11490 },
44660702
DM
11491 "volume" : {
11492 "alias" : "file"
11493 },
11494 "werror" : {
11495 "description" : "Write error action.",
11496 "enum" : [
11497 "enospc",
11498 "ignore",
11499 "report",
11500 "stop"
11501 ],
7aacca6f 11502 "optional" : 1,
44660702 11503 "type" : "string"
56122987
DM
11504 }
11505 },
7aacca6f 11506 "optional" : 1,
4bd7df8b 11507 "type" : "string",
27a7acb2 11508 "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 11509 },
44660702
DM
11510 "vmid" : {
11511 "description" : "The (unique) ID of the VM.",
11512 "format" : "pve-vmid",
11513 "minimum" : 1,
4bd7df8b 11514 "type" : "integer",
013dc89f 11515 "typetext" : "<integer> (1 - N)"
56122987 11516 },
2489d6df
WB
11517 "vmstatestorage" : {
11518 "description" : "Default storage for VM state volumes/files.",
11519 "format" : "pve-storage-id",
11520 "optional" : 1,
11521 "type" : "string",
11522 "typetext" : "<string>"
11523 },
44660702 11524 "watchdog" : {
c2993fe5 11525 "description" : "Create a virtual hardware watchdog device.",
44660702 11526 "format" : "pve-qm-watchdog",
56122987 11527 "optional" : 1,
c2993fe5 11528 "type" : "string",
013dc89f 11529 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 11530 "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 11531 }
7aacca6f 11532 }
56122987 11533 },
56122987
DM
11534 "permissions" : {
11535 "check" : [
11536 "perm",
11537 "/vms/{vmid}",
11538 [
11539 "VM.Config.Disk",
11540 "VM.Config.CDROM",
11541 "VM.Config.CPU",
11542 "VM.Config.Memory",
11543 "VM.Config.Network",
11544 "VM.Config.HWType",
11545 "VM.Config.Options"
11546 ],
11547 "any",
11548 1
11549 ]
11550 },
44660702 11551 "protected" : 1,
7aacca6f 11552 "proxyto" : "node",
56122987 11553 "returns" : {
7aacca6f
DM
11554 "type" : "null"
11555 }
11556 }
11557 },
44660702
DM
11558 "leaf" : 1,
11559 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
11560 "text" : "config"
11561 },
11562 {
11563 "info" : {
56122987 11564 "GET" : {
44660702 11565 "description" : "Get virtual machine configuration, including pending changes.",
56122987 11566 "method" : "GET",
44660702 11567 "name" : "vm_pending",
7aacca6f 11568 "parameters" : {
44660702 11569 "additionalProperties" : 0,
7aacca6f
DM
11570 "properties" : {
11571 "node" : {
7aacca6f 11572 "description" : "The cluster node name.",
44660702 11573 "format" : "pve-node",
013dc89f
DM
11574 "type" : "string",
11575 "typetext" : "<string>"
7aacca6f
DM
11576 },
11577 "vmid" : {
44660702 11578 "description" : "The (unique) ID of the VM.",
7aacca6f 11579 "format" : "pve-vmid",
44660702 11580 "minimum" : 1,
4bd7df8b 11581 "type" : "integer",
013dc89f 11582 "typetext" : "<integer> (1 - N)"
7aacca6f 11583 }
44660702 11584 }
7aacca6f 11585 },
56122987
DM
11586 "permissions" : {
11587 "check" : [
11588 "perm",
11589 "/vms/{vmid}",
11590 [
11591 "VM.Audit"
11592 ]
11593 ]
11594 },
7aacca6f 11595 "proxyto" : "node",
44660702
DM
11596 "returns" : {
11597 "items" : {
11598 "properties" : {
11599 "delete" : {
11600 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
11601 "maximum" : 2,
11602 "minimum" : 0,
11603 "optional" : 1,
11604 "type" : "integer"
11605 },
11606 "key" : {
11607 "description" : "Configuration option name.",
11608 "type" : "string"
11609 },
11610 "pending" : {
11611 "description" : "Pending value.",
11612 "optional" : 1,
11613 "type" : "string"
11614 },
11615 "value" : {
11616 "description" : "Current value.",
11617 "optional" : 1,
11618 "type" : "string"
11619 }
11620 },
11621 "type" : "object"
11622 },
11623 "type" : "array"
11624 }
56122987
DM
11625 }
11626 },
7aacca6f 11627 "leaf" : 1,
44660702
DM
11628 "path" : "/nodes/{node}/qemu/{vmid}/pending",
11629 "text" : "pending"
56122987
DM
11630 },
11631 {
56122987
DM
11632 "info" : {
11633 "PUT" : {
7aacca6f 11634 "description" : "Unlink/delete disk images.",
7aacca6f 11635 "method" : "PUT",
7aacca6f 11636 "name" : "unlink",
56122987 11637 "parameters" : {
44660702 11638 "additionalProperties" : 0,
56122987 11639 "properties" : {
7aacca6f 11640 "force" : {
44660702 11641 "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.",
7aacca6f 11642 "optional" : 1,
013dc89f
DM
11643 "type" : "boolean",
11644 "typetext" : "<boolean>"
7aacca6f 11645 },
56122987
DM
11646 "idlist" : {
11647 "description" : "A list of disk IDs you want to delete.",
44660702 11648 "format" : "pve-configid-list",
013dc89f
DM
11649 "type" : "string",
11650 "typetext" : "<string>"
44660702
DM
11651 },
11652 "node" : {
11653 "description" : "The cluster node name.",
11654 "format" : "pve-node",
013dc89f
DM
11655 "type" : "string",
11656 "typetext" : "<string>"
56122987
DM
11657 },
11658 "vmid" : {
7aacca6f 11659 "description" : "The (unique) ID of the VM.",
44660702 11660 "format" : "pve-vmid",
7aacca6f 11661 "minimum" : 1,
4bd7df8b 11662 "type" : "integer",
013dc89f 11663 "typetext" : "<integer> (1 - N)"
56122987 11664 }
44660702
DM
11665 }
11666 },
11667 "permissions" : {
11668 "check" : [
11669 "perm",
11670 "/vms/{vmid}",
11671 [
11672 "VM.Config.Disk"
11673 ]
11674 ]
11675 },
11676 "protected" : 1,
11677 "proxyto" : "node",
11678 "returns" : {
11679 "type" : "null"
7aacca6f 11680 }
56122987 11681 }
7aacca6f 11682 },
44660702 11683 "leaf" : 1,
7aacca6f 11684 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 11685 "text" : "unlink"
56122987
DM
11686 },
11687 {
56122987
DM
11688 "info" : {
11689 "POST" : {
7aacca6f 11690 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
11691 "method" : "POST",
11692 "name" : "vncproxy",
56122987 11693 "parameters" : {
44660702 11694 "additionalProperties" : 0,
56122987 11695 "properties" : {
44660702
DM
11696 "node" : {
11697 "description" : "The cluster node name.",
11698 "format" : "pve-node",
013dc89f
DM
11699 "type" : "string",
11700 "typetext" : "<string>"
44660702 11701 },
56122987 11702 "vmid" : {
7aacca6f 11703 "description" : "The (unique) ID of the VM.",
44660702 11704 "format" : "pve-vmid",
56122987 11705 "minimum" : 1,
4bd7df8b 11706 "type" : "integer",
013dc89f 11707 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
11708 },
11709 "websocket" : {
11710 "description" : "starts websockify instead of vncproxy",
44660702 11711 "optional" : 1,
013dc89f
DM
11712 "type" : "boolean",
11713 "typetext" : "<boolean>"
56122987 11714 }
44660702 11715 }
56122987 11716 },
44660702
DM
11717 "permissions" : {
11718 "check" : [
11719 "perm",
11720 "/vms/{vmid}",
11721 [
11722 "VM.Console"
11723 ]
11724 ]
11725 },
11726 "protected" : 1,
56122987 11727 "returns" : {
7aacca6f 11728 "additionalProperties" : 0,
56122987 11729 "properties" : {
7aacca6f 11730 "cert" : {
56122987
DM
11731 "type" : "string"
11732 },
56122987
DM
11733 "port" : {
11734 "type" : "integer"
11735 },
7aacca6f
DM
11736 "ticket" : {
11737 "type" : "string"
11738 },
44660702
DM
11739 "upid" : {
11740 "type" : "string"
11741 },
7aacca6f 11742 "user" : {
56122987
DM
11743 "type" : "string"
11744 }
7aacca6f 11745 }
56122987
DM
11746 }
11747 }
11748 },
44660702
DM
11749 "leaf" : 1,
11750 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 11751 "text" : "vncproxy"
56122987 11752 },
35a75dd3
DM
11753 {
11754 "info" : {
11755 "POST" : {
11756 "description" : "Creates a TCP proxy connections.",
11757 "method" : "POST",
11758 "name" : "termproxy",
11759 "parameters" : {
11760 "additionalProperties" : 0,
11761 "properties" : {
11762 "node" : {
11763 "description" : "The cluster node name.",
11764 "format" : "pve-node",
11765 "type" : "string",
11766 "typetext" : "<string>"
11767 },
11768 "serial" : {
11769 "description" : "opens a serial terminal (defaults to display)",
11770 "enum" : [
11771 "serial0",
11772 "serial1",
11773 "serial2",
11774 "serial3"
11775 ],
11776 "optional" : 1,
11777 "type" : "string"
11778 },
11779 "vmid" : {
11780 "description" : "The (unique) ID of the VM.",
11781 "format" : "pve-vmid",
11782 "minimum" : 1,
11783 "type" : "integer",
11784 "typetext" : "<integer> (1 - N)"
11785 }
11786 }
11787 },
11788 "permissions" : {
11789 "check" : [
11790 "perm",
11791 "/vms/{vmid}",
11792 [
11793 "VM.Console"
11794 ]
11795 ]
11796 },
11797 "protected" : 1,
11798 "returns" : {
11799 "additionalProperties" : 0,
11800 "properties" : {
11801 "port" : {
11802 "type" : "integer"
11803 },
11804 "ticket" : {
11805 "type" : "string"
11806 },
11807 "upid" : {
11808 "type" : "string"
11809 },
11810 "user" : {
11811 "type" : "string"
11812 }
11813 }
11814 }
11815 }
11816 },
11817 "leaf" : 1,
11818 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
11819 "text" : "termproxy"
11820 },
56122987 11821 {
56122987
DM
11822 "info" : {
11823 "GET" : {
44660702
DM
11824 "description" : "Opens a weksocket for VNC traffic.",
11825 "method" : "GET",
11826 "name" : "vncwebsocket",
56122987 11827 "parameters" : {
44660702 11828 "additionalProperties" : 0,
56122987 11829 "properties" : {
7aacca6f 11830 "node" : {
7aacca6f 11831 "description" : "The cluster node name.",
44660702 11832 "format" : "pve-node",
013dc89f
DM
11833 "type" : "string",
11834 "typetext" : "<string>"
7aacca6f 11835 },
44660702
DM
11836 "port" : {
11837 "description" : "Port number returned by previous vncproxy call.",
11838 "maximum" : 5999,
11839 "minimum" : 5900,
4bd7df8b 11840 "type" : "integer",
013dc89f 11841 "typetext" : "<integer> (5900 - 5999)"
56122987 11842 },
7aacca6f 11843 "vmid" : {
44660702 11844 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11845 "format" : "pve-vmid",
11846 "minimum" : 1,
4bd7df8b 11847 "type" : "integer",
013dc89f 11848 "typetext" : "<integer> (1 - N)"
44660702
DM
11849 },
11850 "vncticket" : {
11851 "description" : "Ticket from previous call to vncproxy.",
11852 "maxLength" : 512,
013dc89f
DM
11853 "type" : "string",
11854 "typetext" : "<string>"
56122987 11855 }
44660702
DM
11856 }
11857 },
11858 "permissions" : {
11859 "check" : [
11860 "perm",
11861 "/vms/{vmid}",
11862 [
11863 "VM.Console"
11864 ]
11865 ],
11866 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 11867 },
7aacca6f
DM
11868 "returns" : {
11869 "properties" : {
11870 "port" : {
11871 "type" : "string"
11872 }
11873 },
11874 "type" : "object"
11875 }
56122987
DM
11876 }
11877 },
7aacca6f 11878 "leaf" : 1,
44660702
DM
11879 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
11880 "text" : "vncwebsocket"
56122987
DM
11881 },
11882 {
11883 "info" : {
11884 "POST" : {
44660702
DM
11885 "description" : "Returns a SPICE configuration to connect to the VM.",
11886 "method" : "POST",
7aacca6f
DM
11887 "name" : "spiceproxy",
11888 "parameters" : {
44660702 11889 "additionalProperties" : 0,
56122987 11890 "properties" : {
44660702
DM
11891 "node" : {
11892 "description" : "The cluster node name.",
11893 "format" : "pve-node",
013dc89f
DM
11894 "type" : "string",
11895 "typetext" : "<string>"
44660702 11896 },
7aacca6f 11897 "proxy" : {
44660702 11898 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
7aacca6f 11899 "format" : "address",
7aacca6f 11900 "optional" : 1,
013dc89f
DM
11901 "type" : "string",
11902 "typetext" : "<string>"
56122987 11903 },
7aacca6f 11904 "vmid" : {
44660702 11905 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11906 "format" : "pve-vmid",
11907 "minimum" : 1,
4bd7df8b 11908 "type" : "integer",
013dc89f 11909 "typetext" : "<integer> (1 - N)"
56122987 11910 }
44660702 11911 }
56122987 11912 },
56122987
DM
11913 "permissions" : {
11914 "check" : [
11915 "perm",
11916 "/vms/{vmid}",
11917 [
11918 "VM.Console"
11919 ]
11920 ]
11921 },
44660702
DM
11922 "protected" : 1,
11923 "proxyto" : "node",
7aacca6f 11924 "returns" : {
44660702
DM
11925 "additionalProperties" : 1,
11926 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 11927 "properties" : {
44660702 11928 "host" : {
7aacca6f
DM
11929 "type" : "string"
11930 },
7aacca6f
DM
11931 "password" : {
11932 "type" : "string"
11933 },
44660702 11934 "proxy" : {
7aacca6f
DM
11935 "type" : "string"
11936 },
44660702
DM
11937 "tls-port" : {
11938 "type" : "integer"
11939 },
11940 "type" : {
7aacca6f
DM
11941 "type" : "string"
11942 }
44660702 11943 }
7aacca6f
DM
11944 }
11945 }
11946 },
44660702
DM
11947 "leaf" : 1,
11948 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
11949 "text" : "spiceproxy"
11950 },
11951 {
56122987
DM
11952 "children" : [
11953 {
56122987
DM
11954 "info" : {
11955 "GET" : {
44660702
DM
11956 "description" : "Get virtual machine status.",
11957 "method" : "GET",
11958 "name" : "vm_status",
56122987 11959 "parameters" : {
44660702 11960 "additionalProperties" : 0,
56122987 11961 "properties" : {
44660702
DM
11962 "node" : {
11963 "description" : "The cluster node name.",
11964 "format" : "pve-node",
013dc89f
DM
11965 "type" : "string",
11966 "typetext" : "<string>"
44660702 11967 },
56122987 11968 "vmid" : {
44660702 11969 "description" : "The (unique) ID of the VM.",
7aacca6f 11970 "format" : "pve-vmid",
56122987 11971 "minimum" : 1,
4bd7df8b 11972 "type" : "integer",
013dc89f 11973 "typetext" : "<integer> (1 - N)"
56122987 11974 }
44660702 11975 }
56122987
DM
11976 },
11977 "permissions" : {
11978 "check" : [
11979 "perm",
11980 "/vms/{vmid}",
11981 [
11982 "VM.Audit"
11983 ]
11984 ]
11985 },
44660702 11986 "protected" : 1,
7aacca6f 11987 "proxyto" : "node",
56122987
DM
11988 "returns" : {
11989 "type" : "object"
7aacca6f 11990 }
56122987 11991 }
7aacca6f 11992 },
7aacca6f 11993 "leaf" : 1,
44660702
DM
11994 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
11995 "text" : "current"
56122987
DM
11996 },
11997 {
56122987
DM
11998 "info" : {
11999 "POST" : {
44660702 12000 "description" : "Start virtual machine.",
56122987 12001 "method" : "POST",
44660702 12002 "name" : "vm_start",
56122987 12003 "parameters" : {
44660702 12004 "additionalProperties" : 0,
56122987 12005 "properties" : {
44660702
DM
12006 "machine" : {
12007 "description" : "Specific the Qemu machine type.",
12008 "maxLength" : 40,
12009 "optional" : 1,
12010 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
12011 "type" : "string"
12012 },
12013 "migratedfrom" : {
12014 "description" : "The cluster node name.",
12015 "format" : "pve-node",
56122987 12016 "optional" : 1,
013dc89f
DM
12017 "type" : "string",
12018 "typetext" : "<string>"
56122987 12019 },
de0983cb
DM
12020 "migration_network" : {
12021 "description" : "CIDR of the (sub) network that is used for migration.",
12022 "format" : "CIDR",
12023 "optional" : 1,
013dc89f
DM
12024 "type" : "string",
12025 "typetext" : "<string>"
de0983cb
DM
12026 },
12027 "migration_type" : {
12028 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
12029 "enum" : [
12030 "secure",
12031 "insecure"
12032 ],
12033 "optional" : 1,
12034 "type" : "string"
12035 },
7aacca6f 12036 "node" : {
7aacca6f 12037 "description" : "The cluster node name.",
44660702 12038 "format" : "pve-node",
013dc89f
DM
12039 "type" : "string",
12040 "typetext" : "<string>"
7aacca6f 12041 },
44660702
DM
12042 "skiplock" : {
12043 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 12044 "optional" : 1,
013dc89f
DM
12045 "type" : "boolean",
12046 "typetext" : "<boolean>"
56122987 12047 },
44660702
DM
12048 "stateuri" : {
12049 "description" : "Some command save/restore state from this location.",
12050 "maxLength" : 128,
56122987 12051 "optional" : 1,
013dc89f
DM
12052 "type" : "string",
12053 "typetext" : "<string>"
56122987 12054 },
52e44c50
FG
12055 "targetstorage" : {
12056 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
12057 "optional" : 1,
12058 "type" : "string",
12059 "typetext" : "<string>"
12060 },
56122987 12061 "vmid" : {
7aacca6f 12062 "description" : "The (unique) ID of the VM.",
44660702
DM
12063 "format" : "pve-vmid",
12064 "minimum" : 1,
4bd7df8b 12065 "type" : "integer",
013dc89f 12066 "typetext" : "<integer> (1 - N)"
56122987 12067 }
44660702 12068 }
7aacca6f 12069 },
56122987
DM
12070 "permissions" : {
12071 "check" : [
12072 "perm",
12073 "/vms/{vmid}",
12074 [
12075 "VM.PowerMgmt"
12076 ]
12077 ]
44660702
DM
12078 },
12079 "protected" : 1,
12080 "proxyto" : "node",
12081 "returns" : {
12082 "type" : "string"
56122987
DM
12083 }
12084 }
44660702
DM
12085 },
12086 "leaf" : 1,
12087 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
12088 "text" : "start"
56122987
DM
12089 },
12090 {
56122987
DM
12091 "info" : {
12092 "POST" : {
7aacca6f 12093 "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",
44660702
DM
12094 "method" : "POST",
12095 "name" : "vm_stop",
56122987 12096 "parameters" : {
44660702 12097 "additionalProperties" : 0,
56122987 12098 "properties" : {
44660702
DM
12099 "keepActive" : {
12100 "default" : 0,
de0983cb 12101 "description" : "Do not deactivate storage volumes.",
56122987 12102 "optional" : 1,
013dc89f
DM
12103 "type" : "boolean",
12104 "typetext" : "<boolean>"
56122987
DM
12105 },
12106 "migratedfrom" : {
56122987 12107 "description" : "The cluster node name.",
44660702 12108 "format" : "pve-node",
7aacca6f 12109 "optional" : 1,
013dc89f
DM
12110 "type" : "string",
12111 "typetext" : "<string>"
7aacca6f 12112 },
44660702
DM
12113 "node" : {
12114 "description" : "The cluster node name.",
12115 "format" : "pve-node",
013dc89f
DM
12116 "type" : "string",
12117 "typetext" : "<string>"
56122987
DM
12118 },
12119 "skiplock" : {
12120 "description" : "Ignore locks - only root is allowed to use this option.",
12121 "optional" : 1,
013dc89f
DM
12122 "type" : "boolean",
12123 "typetext" : "<boolean>"
56122987 12124 },
44660702
DM
12125 "timeout" : {
12126 "description" : "Wait maximal timeout seconds.",
12127 "minimum" : 0,
56122987 12128 "optional" : 1,
4bd7df8b 12129 "type" : "integer",
013dc89f 12130 "typetext" : "<integer> (0 - N)"
7aacca6f 12131 },
44660702
DM
12132 "vmid" : {
12133 "description" : "The (unique) ID of the VM.",
12134 "format" : "pve-vmid",
12135 "minimum" : 1,
4bd7df8b 12136 "type" : "integer",
013dc89f 12137 "typetext" : "<integer> (1 - N)"
56122987 12138 }
44660702 12139 }
56122987 12140 },
56122987
DM
12141 "permissions" : {
12142 "check" : [
12143 "perm",
12144 "/vms/{vmid}",
12145 [
12146 "VM.PowerMgmt"
12147 ]
12148 ]
12149 },
44660702
DM
12150 "protected" : 1,
12151 "proxyto" : "node",
7aacca6f
DM
12152 "returns" : {
12153 "type" : "string"
44660702
DM
12154 }
12155 }
12156 },
12157 "leaf" : 1,
12158 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
12159 "text" : "stop"
12160 },
12161 {
12162 "info" : {
12163 "POST" : {
12164 "description" : "Reset virtual machine.",
12165 "method" : "POST",
12166 "name" : "vm_reset",
56122987 12167 "parameters" : {
7aacca6f 12168 "additionalProperties" : 0,
56122987 12169 "properties" : {
56122987
DM
12170 "node" : {
12171 "description" : "The cluster node name.",
44660702 12172 "format" : "pve-node",
013dc89f
DM
12173 "type" : "string",
12174 "typetext" : "<string>"
56122987
DM
12175 },
12176 "skiplock" : {
44660702 12177 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 12178 "optional" : 1,
013dc89f
DM
12179 "type" : "boolean",
12180 "typetext" : "<boolean>"
7aacca6f
DM
12181 },
12182 "vmid" : {
44660702 12183 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
12184 "format" : "pve-vmid",
12185 "minimum" : 1,
4bd7df8b 12186 "type" : "integer",
013dc89f 12187 "typetext" : "<integer> (1 - N)"
56122987 12188 }
7aacca6f 12189 }
56122987 12190 },
7aacca6f
DM
12191 "permissions" : {
12192 "check" : [
12193 "perm",
12194 "/vms/{vmid}",
12195 [
12196 "VM.PowerMgmt"
12197 ]
12198 ]
12199 },
44660702 12200 "protected" : 1,
7aacca6f 12201 "proxyto" : "node",
56122987
DM
12202 "returns" : {
12203 "type" : "string"
44660702
DM
12204 }
12205 }
12206 },
12207 "leaf" : 1,
12208 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
12209 "text" : "reset"
12210 },
12211 {
12212 "info" : {
12213 "POST" : {
12214 "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.",
12215 "method" : "POST",
56122987 12216 "name" : "vm_shutdown",
56122987 12217 "parameters" : {
7aacca6f 12218 "additionalProperties" : 0,
56122987 12219 "properties" : {
56122987 12220 "forceStop" : {
56122987 12221 "default" : 0,
44660702 12222 "description" : "Make sure the VM stops.",
7aacca6f 12223 "optional" : 1,
013dc89f
DM
12224 "type" : "boolean",
12225 "typetext" : "<boolean>"
56122987
DM
12226 },
12227 "keepActive" : {
7aacca6f 12228 "default" : 0,
de0983cb 12229 "description" : "Do not deactivate storage volumes.",
44660702 12230 "optional" : 1,
013dc89f
DM
12231 "type" : "boolean",
12232 "typetext" : "<boolean>"
44660702
DM
12233 },
12234 "node" : {
12235 "description" : "The cluster node name.",
12236 "format" : "pve-node",
013dc89f
DM
12237 "type" : "string",
12238 "typetext" : "<string>"
44660702
DM
12239 },
12240 "skiplock" : {
12241 "description" : "Ignore locks - only root is allowed to use this option.",
12242 "optional" : 1,
013dc89f
DM
12243 "type" : "boolean",
12244 "typetext" : "<boolean>"
56122987 12245 },
7aacca6f 12246 "timeout" : {
7aacca6f 12247 "description" : "Wait maximal timeout seconds.",
44660702 12248 "minimum" : 0,
7aacca6f 12249 "optional" : 1,
4bd7df8b 12250 "type" : "integer",
013dc89f 12251 "typetext" : "<integer> (0 - N)"
7aacca6f 12252 },
56122987 12253 "vmid" : {
7aacca6f 12254 "description" : "The (unique) ID of the VM.",
44660702
DM
12255 "format" : "pve-vmid",
12256 "minimum" : 1,
4bd7df8b 12257 "type" : "integer",
013dc89f 12258 "typetext" : "<integer> (1 - N)"
56122987 12259 }
7aacca6f 12260 }
56122987 12261 },
44660702
DM
12262 "permissions" : {
12263 "check" : [
12264 "perm",
12265 "/vms/{vmid}",
12266 [
12267 "VM.PowerMgmt"
12268 ]
12269 ]
12270 },
7aacca6f 12271 "protected" : 1,
44660702
DM
12272 "proxyto" : "node",
12273 "returns" : {
12274 "type" : "string"
12275 }
56122987
DM
12276 }
12277 },
44660702 12278 "leaf" : 1,
7aacca6f 12279 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 12280 "text" : "shutdown"
56122987
DM
12281 },
12282 {
56122987
DM
12283 "info" : {
12284 "POST" : {
44660702 12285 "description" : "Suspend virtual machine.",
56122987 12286 "method" : "POST",
44660702 12287 "name" : "vm_suspend",
7aacca6f 12288 "parameters" : {
44660702 12289 "additionalProperties" : 0,
7aacca6f
DM
12290 "properties" : {
12291 "node" : {
7aacca6f 12292 "description" : "The cluster node name.",
44660702 12293 "format" : "pve-node",
013dc89f
DM
12294 "type" : "string",
12295 "typetext" : "<string>"
7aacca6f
DM
12296 },
12297 "skiplock" : {
12298 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12299 "optional" : 1,
013dc89f
DM
12300 "type" : "boolean",
12301 "typetext" : "<boolean>"
44660702
DM
12302 },
12303 "vmid" : {
12304 "description" : "The (unique) ID of the VM.",
12305 "format" : "pve-vmid",
12306 "minimum" : 1,
4bd7df8b 12307 "type" : "integer",
013dc89f 12308 "typetext" : "<integer> (1 - N)"
44660702
DM
12309 }
12310 }
56122987
DM
12311 },
12312 "permissions" : {
12313 "check" : [
12314 "perm",
12315 "/vms/{vmid}",
12316 [
12317 "VM.PowerMgmt"
12318 ]
12319 ]
12320 },
44660702
DM
12321 "protected" : 1,
12322 "proxyto" : "node",
12323 "returns" : {
12324 "type" : "string"
12325 }
56122987
DM
12326 }
12327 },
44660702 12328 "leaf" : 1,
7aacca6f 12329 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 12330 "text" : "suspend"
56122987
DM
12331 },
12332 {
56122987
DM
12333 "info" : {
12334 "POST" : {
44660702
DM
12335 "description" : "Resume virtual machine.",
12336 "method" : "POST",
7aacca6f 12337 "name" : "vm_resume",
56122987
DM
12338 "parameters" : {
12339 "additionalProperties" : 0,
12340 "properties" : {
44660702
DM
12341 "nocheck" : {
12342 "optional" : 1,
013dc89f
DM
12343 "type" : "boolean",
12344 "typetext" : "<boolean>"
44660702 12345 },
7aacca6f 12346 "node" : {
44660702 12347 "description" : "The cluster node name.",
7aacca6f 12348 "format" : "pve-node",
013dc89f
DM
12349 "type" : "string",
12350 "typetext" : "<string>"
56122987
DM
12351 },
12352 "skiplock" : {
56122987 12353 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12354 "optional" : 1,
013dc89f
DM
12355 "type" : "boolean",
12356 "typetext" : "<boolean>"
56122987 12357 },
7aacca6f 12358 "vmid" : {
7aacca6f
DM
12359 "description" : "The (unique) ID of the VM.",
12360 "format" : "pve-vmid",
44660702 12361 "minimum" : 1,
4bd7df8b 12362 "type" : "integer",
013dc89f 12363 "typetext" : "<integer> (1 - N)"
56122987
DM
12364 }
12365 }
12366 },
12367 "permissions" : {
12368 "check" : [
12369 "perm",
12370 "/vms/{vmid}",
12371 [
12372 "VM.PowerMgmt"
12373 ]
12374 ]
12375 },
44660702
DM
12376 "protected" : 1,
12377 "proxyto" : "node",
56122987
DM
12378 "returns" : {
12379 "type" : "string"
7aacca6f 12380 }
56122987
DM
12381 }
12382 },
44660702
DM
12383 "leaf" : 1,
12384 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 12385 "text" : "resume"
56122987
DM
12386 }
12387 ],
12388 "info" : {
44660702
DM
12389 "GET" : {
12390 "description" : "Directory index",
12391 "method" : "GET",
12392 "name" : "vmcmdidx",
56122987 12393 "parameters" : {
44660702 12394 "additionalProperties" : 0,
56122987 12395 "properties" : {
44660702
DM
12396 "node" : {
12397 "description" : "The cluster node name.",
12398 "format" : "pve-node",
013dc89f
DM
12399 "type" : "string",
12400 "typetext" : "<string>"
7aacca6f 12401 },
56122987 12402 "vmid" : {
7aacca6f 12403 "description" : "The (unique) ID of the VM.",
44660702
DM
12404 "format" : "pve-vmid",
12405 "minimum" : 1,
4bd7df8b 12406 "type" : "integer",
013dc89f 12407 "typetext" : "<integer> (1 - N)"
56122987 12408 }
44660702 12409 }
56122987 12410 },
44660702
DM
12411 "permissions" : {
12412 "user" : "all"
12413 },
12414 "proxyto" : "node",
12415 "returns" : {
12416 "items" : {
12417 "properties" : {
12418 "subdir" : {
12419 "type" : "string"
12420 }
12421 },
12422 "type" : "object"
12423 },
12424 "links" : [
12425 {
12426 "href" : "{subdir}",
12427 "rel" : "child"
12428 }
12429 ],
12430 "type" : "array"
12431 }
56122987 12432 }
7aacca6f 12433 },
44660702
DM
12434 "leaf" : 0,
12435 "path" : "/nodes/{node}/qemu/{vmid}/status",
12436 "text" : "status"
56122987
DM
12437 },
12438 {
56122987 12439 "info" : {
44660702
DM
12440 "PUT" : {
12441 "description" : "Send key event to virtual machine.",
12442 "method" : "PUT",
12443 "name" : "vm_sendkey",
12444 "parameters" : {
12445 "additionalProperties" : 0,
56122987 12446 "properties" : {
44660702
DM
12447 "key" : {
12448 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
12449 "type" : "string",
12450 "typetext" : "<string>"
44660702
DM
12451 },
12452 "node" : {
12453 "description" : "The cluster node name.",
12454 "format" : "pve-node",
013dc89f
DM
12455 "type" : "string",
12456 "typetext" : "<string>"
44660702
DM
12457 },
12458 "skiplock" : {
12459 "description" : "Ignore locks - only root is allowed to use this option.",
12460 "optional" : 1,
013dc89f
DM
12461 "type" : "boolean",
12462 "typetext" : "<boolean>"
7aacca6f 12463 },
44660702
DM
12464 "vmid" : {
12465 "description" : "The (unique) ID of the VM.",
12466 "format" : "pve-vmid",
12467 "minimum" : 1,
4bd7df8b 12468 "type" : "integer",
013dc89f 12469 "typetext" : "<integer> (1 - N)"
56122987 12470 }
7aacca6f 12471 }
56122987 12472 },
56122987
DM
12473 "permissions" : {
12474 "check" : [
12475 "perm",
12476 "/vms/{vmid}",
12477 [
44660702 12478 "VM.Console"
56122987
DM
12479 ]
12480 ]
12481 },
7aacca6f 12482 "protected" : 1,
44660702
DM
12483 "proxyto" : "node",
12484 "returns" : {
12485 "type" : "null"
12486 }
12487 }
12488 },
12489 "leaf" : 1,
12490 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
12491 "text" : "sendkey"
12492 },
12493 {
12494 "info" : {
12495 "GET" : {
12496 "description" : "Check if feature for virtual machine is available.",
12497 "method" : "GET",
7aacca6f 12498 "name" : "vm_feature",
56122987 12499 "parameters" : {
44660702 12500 "additionalProperties" : 0,
56122987 12501 "properties" : {
56122987 12502 "feature" : {
44660702 12503 "description" : "Feature to check.",
56122987
DM
12504 "enum" : [
12505 "snapshot",
12506 "clone",
12507 "copy"
12508 ],
44660702
DM
12509 "type" : "string"
12510 },
12511 "node" : {
12512 "description" : "The cluster node name.",
12513 "format" : "pve-node",
013dc89f
DM
12514 "type" : "string",
12515 "typetext" : "<string>"
56122987
DM
12516 },
12517 "snapname" : {
56122987 12518 "description" : "The name of the snapshot.",
44660702
DM
12519 "format" : "pve-configid",
12520 "maxLength" : 40,
7aacca6f 12521 "optional" : 1,
013dc89f
DM
12522 "type" : "string",
12523 "typetext" : "<string>"
7aacca6f 12524 },
44660702
DM
12525 "vmid" : {
12526 "description" : "The (unique) ID of the VM.",
12527 "format" : "pve-vmid",
12528 "minimum" : 1,
4bd7df8b 12529 "type" : "integer",
013dc89f 12530 "typetext" : "<integer> (1 - N)"
44660702
DM
12531 }
12532 }
12533 },
12534 "permissions" : {
12535 "check" : [
12536 "perm",
12537 "/vms/{vmid}",
12538 [
12539 "VM.Audit"
12540 ]
12541 ]
12542 },
12543 "protected" : 1,
12544 "proxyto" : "node",
12545 "returns" : {
12546 "properties" : {
12547 "hasFeature" : {
12548 "type" : "boolean"
12549 },
12550 "nodes" : {
12551 "items" : {
12552 "type" : "string"
12553 },
12554 "type" : "array"
56122987
DM
12555 }
12556 },
44660702 12557 "type" : "object"
56122987
DM
12558 }
12559 }
12560 },
7aacca6f 12561 "leaf" : 1,
44660702
DM
12562 "path" : "/nodes/{node}/qemu/{vmid}/feature",
12563 "text" : "feature"
56122987
DM
12564 },
12565 {
56122987
DM
12566 "info" : {
12567 "POST" : {
44660702 12568 "description" : "Create a copy of virtual machine/template.",
56122987 12569 "method" : "POST",
7aacca6f 12570 "name" : "clone_vm",
56122987
DM
12571 "parameters" : {
12572 "additionalProperties" : 0,
12573 "properties" : {
44660702
DM
12574 "description" : {
12575 "description" : "Description for the new VM.",
56122987 12576 "optional" : 1,
013dc89f
DM
12577 "type" : "string",
12578 "typetext" : "<string>"
56122987 12579 },
44660702 12580 "format" : {
27a7acb2 12581 "description" : "Target format for file storage. Only valid for full clone.",
44660702
DM
12582 "enum" : [
12583 "raw",
12584 "qcow2",
12585 "vmdk"
12586 ],
12587 "optional" : 1,
56122987
DM
12588 "type" : "string"
12589 },
44660702 12590 "full" : {
27a7acb2 12591 "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.",
7aacca6f 12592 "optional" : 1,
013dc89f
DM
12593 "type" : "boolean",
12594 "typetext" : "<boolean>"
44660702
DM
12595 },
12596 "name" : {
56122987 12597 "description" : "Set a name for the new VM.",
44660702
DM
12598 "format" : "dns-name",
12599 "optional" : 1,
013dc89f
DM
12600 "type" : "string",
12601 "typetext" : "<string>"
44660702
DM
12602 },
12603 "newid" : {
12604 "description" : "VMID for the clone.",
12605 "format" : "pve-vmid",
12606 "minimum" : 1,
4bd7df8b 12607 "type" : "integer",
013dc89f 12608 "typetext" : "<integer> (1 - N)"
44660702
DM
12609 },
12610 "node" : {
12611 "description" : "The cluster node name.",
12612 "format" : "pve-node",
013dc89f
DM
12613 "type" : "string",
12614 "typetext" : "<string>"
7aacca6f
DM
12615 },
12616 "pool" : {
12617 "description" : "Add the new VM to the specified pool.",
44660702 12618 "format" : "pve-poolid",
56122987 12619 "optional" : 1,
013dc89f
DM
12620 "type" : "string",
12621 "typetext" : "<string>"
56122987 12622 },
44660702
DM
12623 "snapname" : {
12624 "description" : "The name of the snapshot.",
12625 "format" : "pve-configid",
12626 "maxLength" : 40,
7aacca6f 12627 "optional" : 1,
013dc89f
DM
12628 "type" : "string",
12629 "typetext" : "<string>"
56122987 12630 },
44660702
DM
12631 "storage" : {
12632 "description" : "Target storage for full clone.",
12633 "format" : "pve-storage-id",
7aacca6f 12634 "optional" : 1,
013dc89f
DM
12635 "type" : "string",
12636 "typetext" : "<string>"
56122987 12637 },
44660702
DM
12638 "target" : {
12639 "description" : "Target node. Only allowed if the original VM is on shared storage.",
12640 "format" : "pve-node",
56122987 12641 "optional" : 1,
013dc89f
DM
12642 "type" : "string",
12643 "typetext" : "<string>"
44660702
DM
12644 },
12645 "vmid" : {
12646 "description" : "The (unique) ID of the VM.",
12647 "format" : "pve-vmid",
12648 "minimum" : 1,
4bd7df8b 12649 "type" : "integer",
013dc89f 12650 "typetext" : "<integer> (1 - N)"
56122987
DM
12651 }
12652 }
12653 },
56122987
DM
12654 "permissions" : {
12655 "check" : [
12656 "and",
12657 [
12658 "perm",
12659 "/vms/{vmid}",
12660 [
12661 "VM.Clone"
12662 ]
12663 ],
12664 [
12665 "or",
12666 [
12667 "perm",
12668 "/vms/{newid}",
12669 [
12670 "VM.Allocate"
12671 ]
12672 ],
12673 [
12674 "perm",
12675 "/pool/{pool}",
12676 [
12677 "VM.Allocate"
12678 ],
12679 "require_param",
12680 "pool"
12681 ]
12682 ]
44660702
DM
12683 ],
12684 "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."
12685 },
12686 "protected" : 1,
12687 "proxyto" : "node",
12688 "returns" : {
12689 "type" : "string"
56122987
DM
12690 }
12691 }
12692 },
44660702
DM
12693 "leaf" : 1,
12694 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
12695 "text" : "clone"
12696 },
12697 {
56122987
DM
12698 "info" : {
12699 "POST" : {
7aacca6f 12700 "description" : "Move volume to different storage.",
44660702
DM
12701 "method" : "POST",
12702 "name" : "move_vm_disk",
56122987
DM
12703 "parameters" : {
12704 "additionalProperties" : 0,
12705 "properties" : {
12706 "delete" : {
44660702 12707 "default" : 0,
56122987 12708 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 12709 "optional" : 1,
013dc89f
DM
12710 "type" : "boolean",
12711 "typetext" : "<boolean>"
56122987 12712 },
44660702
DM
12713 "digest" : {
12714 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12715 "maxLength" : 40,
12716 "optional" : 1,
013dc89f
DM
12717 "type" : "string",
12718 "typetext" : "<string>"
56122987 12719 },
56122987 12720 "disk" : {
56122987
DM
12721 "description" : "The disk you want to move.",
12722 "enum" : [
12723 "ide0",
12724 "ide1",
12725 "ide2",
12726 "ide3",
12727 "scsi0",
12728 "scsi1",
12729 "scsi2",
12730 "scsi3",
12731 "scsi4",
12732 "scsi5",
12733 "scsi6",
12734 "scsi7",
12735 "scsi8",
12736 "scsi9",
12737 "scsi10",
12738 "scsi11",
12739 "scsi12",
12740 "scsi13",
12741 "virtio0",
12742 "virtio1",
12743 "virtio2",
12744 "virtio3",
12745 "virtio4",
12746 "virtio5",
12747 "virtio6",
12748 "virtio7",
12749 "virtio8",
12750 "virtio9",
12751 "virtio10",
12752 "virtio11",
12753 "virtio12",
12754 "virtio13",
12755 "virtio14",
12756 "virtio15",
12757 "sata0",
12758 "sata1",
12759 "sata2",
12760 "sata3",
12761 "sata4",
2c0dde61
DM
12762 "sata5",
12763 "efidisk0"
44660702
DM
12764 ],
12765 "type" : "string"
7aacca6f
DM
12766 },
12767 "format" : {
12768 "description" : "Target Format.",
12769 "enum" : [
12770 "raw",
12771 "qcow2",
12772 "vmdk"
12773 ],
12774 "optional" : 1,
12775 "type" : "string"
44660702
DM
12776 },
12777 "node" : {
12778 "description" : "The cluster node name.",
12779 "format" : "pve-node",
013dc89f
DM
12780 "type" : "string",
12781 "typetext" : "<string>"
44660702
DM
12782 },
12783 "storage" : {
12784 "description" : "Target storage.",
12785 "format" : "pve-storage-id",
013dc89f
DM
12786 "type" : "string",
12787 "typetext" : "<string>"
44660702
DM
12788 },
12789 "vmid" : {
12790 "description" : "The (unique) ID of the VM.",
12791 "format" : "pve-vmid",
12792 "minimum" : 1,
4bd7df8b 12793 "type" : "integer",
013dc89f 12794 "typetext" : "<integer> (1 - N)"
56122987
DM
12795 }
12796 }
12797 },
44660702
DM
12798 "permissions" : {
12799 "check" : [
12800 "and",
12801 [
12802 "perm",
12803 "/vms/{vmid}",
12804 [
12805 "VM.Config.Disk"
12806 ]
12807 ],
12808 [
12809 "perm",
12810 "/storage/{storage}",
12811 [
12812 "Datastore.AllocateSpace"
12813 ]
12814 ]
12815 ],
12816 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
12817 },
12818 "protected" : 1,
12819 "proxyto" : "node",
12820 "returns" : {
12821 "description" : "the task ID.",
12822 "type" : "string"
12823 }
56122987 12824 }
7aacca6f 12825 },
44660702 12826 "leaf" : 1,
7aacca6f 12827 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 12828 "text" : "move_disk"
56122987
DM
12829 },
12830 {
56122987
DM
12831 "info" : {
12832 "POST" : {
7aacca6f 12833 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 12834 "method" : "POST",
7aacca6f 12835 "name" : "migrate_vm",
56122987 12836 "parameters" : {
44660702 12837 "additionalProperties" : 0,
56122987 12838 "properties" : {
44660702
DM
12839 "force" : {
12840 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
12841 "optional" : 1,
013dc89f
DM
12842 "type" : "boolean",
12843 "typetext" : "<boolean>"
44660702 12844 },
de0983cb
DM
12845 "migration_network" : {
12846 "description" : "CIDR of the (sub) network that is used for migration.",
12847 "format" : "CIDR",
12848 "optional" : 1,
013dc89f
DM
12849 "type" : "string",
12850 "typetext" : "<string>"
de0983cb
DM
12851 },
12852 "migration_type" : {
12853 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
12854 "enum" : [
12855 "secure",
12856 "insecure"
12857 ],
12858 "optional" : 1,
12859 "type" : "string"
12860 },
7aacca6f 12861 "node" : {
44660702 12862 "description" : "The cluster node name.",
7aacca6f 12863 "format" : "pve-node",
013dc89f
DM
12864 "type" : "string",
12865 "typetext" : "<string>"
56122987
DM
12866 },
12867 "online" : {
44660702 12868 "description" : "Use online/live migration.",
56122987 12869 "optional" : 1,
013dc89f
DM
12870 "type" : "boolean",
12871 "typetext" : "<boolean>"
56122987 12872 },
44660702
DM
12873 "target" : {
12874 "description" : "Target node.",
12875 "format" : "pve-node",
013dc89f
DM
12876 "type" : "string",
12877 "typetext" : "<string>"
56122987 12878 },
52e44c50
FG
12879 "targetstorage" : {
12880 "description" : "Default target storage.",
12881 "format" : "pve-storage-id",
12882 "optional" : 1,
12883 "type" : "string",
12884 "typetext" : "<string>"
12885 },
7aacca6f 12886 "vmid" : {
7aacca6f 12887 "description" : "The (unique) ID of the VM.",
44660702 12888 "format" : "pve-vmid",
7aacca6f 12889 "minimum" : 1,
4bd7df8b 12890 "type" : "integer",
013dc89f 12891 "typetext" : "<integer> (1 - N)"
52e44c50
FG
12892 },
12893 "with-local-disks" : {
12894 "description" : "Enable live storage migration for local disk",
12895 "optional" : 1,
12896 "type" : "boolean",
12897 "typetext" : "<boolean>"
56122987 12898 }
44660702
DM
12899 }
12900 },
12901 "permissions" : {
12902 "check" : [
12903 "perm",
12904 "/vms/{vmid}",
12905 [
12906 "VM.Migrate"
12907 ]
12908 ]
56122987
DM
12909 },
12910 "protected" : 1,
44660702
DM
12911 "proxyto" : "node",
12912 "returns" : {
12913 "description" : "the task ID.",
12914 "type" : "string"
12915 }
56122987 12916 }
7aacca6f 12917 },
44660702
DM
12918 "leaf" : 1,
12919 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 12920 "text" : "migrate"
56122987
DM
12921 },
12922 {
12923 "info" : {
12924 "POST" : {
44660702 12925 "description" : "Execute Qemu monitor commands.",
56122987 12926 "method" : "POST",
44660702 12927 "name" : "monitor",
56122987 12928 "parameters" : {
7aacca6f 12929 "additionalProperties" : 0,
56122987 12930 "properties" : {
44660702
DM
12931 "command" : {
12932 "description" : "The monitor command.",
013dc89f
DM
12933 "type" : "string",
12934 "typetext" : "<string>"
44660702 12935 },
56122987 12936 "node" : {
44660702 12937 "description" : "The cluster node name.",
7aacca6f 12938 "format" : "pve-node",
013dc89f
DM
12939 "type" : "string",
12940 "typetext" : "<string>"
56122987
DM
12941 },
12942 "vmid" : {
44660702 12943 "description" : "The (unique) ID of the VM.",
56122987 12944 "format" : "pve-vmid",
7aacca6f 12945 "minimum" : 1,
4bd7df8b 12946 "type" : "integer",
013dc89f 12947 "typetext" : "<integer> (1 - N)"
56122987 12948 }
7aacca6f 12949 }
56122987 12950 },
56122987
DM
12951 "permissions" : {
12952 "check" : [
12953 "perm",
12954 "/vms/{vmid}",
12955 [
12956 "VM.Monitor"
12957 ]
32d876b5
DM
12958 ],
12959 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 12960 },
44660702
DM
12961 "protected" : 1,
12962 "proxyto" : "node",
12963 "returns" : {
12964 "type" : "string"
12965 }
56122987 12966 }
44660702
DM
12967 },
12968 "leaf" : 1,
12969 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
12970 "text" : "monitor"
56122987
DM
12971 },
12972 {
56122987
DM
12973 "info" : {
12974 "PUT" : {
44660702
DM
12975 "description" : "Extend volume size.",
12976 "method" : "PUT",
12977 "name" : "resize_vm",
56122987 12978 "parameters" : {
44660702 12979 "additionalProperties" : 0,
56122987 12980 "properties" : {
44660702
DM
12981 "digest" : {
12982 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12983 "maxLength" : 40,
12984 "optional" : 1,
013dc89f
DM
12985 "type" : "string",
12986 "typetext" : "<string>"
56122987 12987 },
56122987
DM
12988 "disk" : {
12989 "description" : "The disk you want to resize.",
12990 "enum" : [
12991 "ide0",
12992 "ide1",
12993 "ide2",
12994 "ide3",
12995 "scsi0",
12996 "scsi1",
12997 "scsi2",
12998 "scsi3",
12999 "scsi4",
13000 "scsi5",
13001 "scsi6",
13002 "scsi7",
13003 "scsi8",
13004 "scsi9",
13005 "scsi10",
13006 "scsi11",
13007 "scsi12",
13008 "scsi13",
13009 "virtio0",
13010 "virtio1",
13011 "virtio2",
13012 "virtio3",
13013 "virtio4",
13014 "virtio5",
13015 "virtio6",
13016 "virtio7",
13017 "virtio8",
13018 "virtio9",
13019 "virtio10",
13020 "virtio11",
13021 "virtio12",
13022 "virtio13",
13023 "virtio14",
13024 "virtio15",
13025 "sata0",
13026 "sata1",
13027 "sata2",
13028 "sata3",
13029 "sata4",
2c0dde61
DM
13030 "sata5",
13031 "efidisk0"
44660702
DM
13032 ],
13033 "type" : "string"
56122987 13034 },
44660702
DM
13035 "node" : {
13036 "description" : "The cluster node name.",
13037 "format" : "pve-node",
013dc89f
DM
13038 "type" : "string",
13039 "typetext" : "<string>"
7aacca6f 13040 },
44660702 13041 "size" : {
5d9c884c 13042 "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
13043 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
13044 "type" : "string"
56122987
DM
13045 },
13046 "skiplock" : {
13047 "description" : "Ignore locks - only root is allowed to use this option.",
13048 "optional" : 1,
013dc89f
DM
13049 "type" : "boolean",
13050 "typetext" : "<boolean>"
56122987
DM
13051 },
13052 "vmid" : {
7aacca6f 13053 "description" : "The (unique) ID of the VM.",
56122987 13054 "format" : "pve-vmid",
44660702 13055 "minimum" : 1,
4bd7df8b 13056 "type" : "integer",
013dc89f 13057 "typetext" : "<integer> (1 - N)"
56122987
DM
13058 }
13059 }
13060 },
13061 "permissions" : {
13062 "check" : [
13063 "perm",
13064 "/vms/{vmid}",
13065 [
44660702 13066 "VM.Config.Disk"
56122987
DM
13067 ]
13068 ]
13069 },
7aacca6f 13070 "protected" : 1,
7aacca6f 13071 "proxyto" : "node",
44660702
DM
13072 "returns" : {
13073 "type" : "null"
13074 }
7aacca6f
DM
13075 }
13076 },
44660702
DM
13077 "leaf" : 1,
13078 "path" : "/nodes/{node}/qemu/{vmid}/resize",
13079 "text" : "resize"
13080 },
13081 {
56122987
DM
13082 "children" : [
13083 {
13084 "children" : [
13085 {
56122987 13086 "info" : {
44660702
DM
13087 "GET" : {
13088 "description" : "Get snapshot configuration",
13089 "method" : "GET",
13090 "name" : "get_snapshot_config",
56122987 13091 "parameters" : {
44660702 13092 "additionalProperties" : 0,
56122987 13093 "properties" : {
56122987 13094 "node" : {
44660702 13095 "description" : "The cluster node name.",
56122987 13096 "format" : "pve-node",
013dc89f
DM
13097 "type" : "string",
13098 "typetext" : "<string>"
7aacca6f
DM
13099 },
13100 "snapname" : {
44660702 13101 "description" : "The name of the snapshot.",
7aacca6f 13102 "format" : "pve-configid",
44660702 13103 "maxLength" : 40,
013dc89f
DM
13104 "type" : "string",
13105 "typetext" : "<string>"
7aacca6f
DM
13106 },
13107 "vmid" : {
44660702 13108 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13109 "format" : "pve-vmid",
13110 "minimum" : 1,
4bd7df8b 13111 "type" : "integer",
013dc89f 13112 "typetext" : "<integer> (1 - N)"
56122987 13113 }
44660702 13114 }
56122987
DM
13115 },
13116 "permissions" : {
13117 "check" : [
13118 "perm",
13119 "/vms/{vmid}",
13120 [
2489d6df
WB
13121 "VM.Snapshot",
13122 "VM.Snapshot.Rollback"
13123 ],
13124 "any",
13125 1
56122987
DM
13126 ]
13127 },
44660702 13128 "proxyto" : "node",
56122987 13129 "returns" : {
44660702 13130 "type" : "object"
7aacca6f
DM
13131 }
13132 },
44660702
DM
13133 "PUT" : {
13134 "description" : "Update snapshot metadata.",
13135 "method" : "PUT",
13136 "name" : "update_snapshot_config",
56122987 13137 "parameters" : {
44660702 13138 "additionalProperties" : 0,
56122987 13139 "properties" : {
44660702
DM
13140 "description" : {
13141 "description" : "A textual description or comment.",
13142 "optional" : 1,
013dc89f
DM
13143 "type" : "string",
13144 "typetext" : "<string>"
44660702 13145 },
56122987 13146 "node" : {
7aacca6f 13147 "description" : "The cluster node name.",
44660702 13148 "format" : "pve-node",
013dc89f
DM
13149 "type" : "string",
13150 "typetext" : "<string>"
56122987 13151 },
56122987
DM
13152 "snapname" : {
13153 "description" : "The name of the snapshot.",
44660702 13154 "format" : "pve-configid",
7aacca6f 13155 "maxLength" : 40,
013dc89f
DM
13156 "type" : "string",
13157 "typetext" : "<string>"
7aacca6f
DM
13158 },
13159 "vmid" : {
13160 "description" : "The (unique) ID of the VM.",
44660702 13161 "format" : "pve-vmid",
7aacca6f 13162 "minimum" : 1,
4bd7df8b 13163 "type" : "integer",
013dc89f 13164 "typetext" : "<integer> (1 - N)"
56122987 13165 }
44660702 13166 }
56122987 13167 },
7aacca6f
DM
13168 "permissions" : {
13169 "check" : [
13170 "perm",
13171 "/vms/{vmid}",
13172 [
13173 "VM.Snapshot"
13174 ]
13175 ]
44660702
DM
13176 },
13177 "protected" : 1,
13178 "proxyto" : "node",
13179 "returns" : {
13180 "type" : "null"
7aacca6f 13181 }
56122987
DM
13182 }
13183 },
44660702 13184 "leaf" : 1,
7aacca6f 13185 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 13186 "text" : "config"
56122987
DM
13187 },
13188 {
56122987
DM
13189 "info" : {
13190 "POST" : {
44660702 13191 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 13192 "method" : "POST",
44660702 13193 "name" : "rollback",
56122987
DM
13194 "parameters" : {
13195 "additionalProperties" : 0,
13196 "properties" : {
44660702
DM
13197 "node" : {
13198 "description" : "The cluster node name.",
13199 "format" : "pve-node",
013dc89f
DM
13200 "type" : "string",
13201 "typetext" : "<string>"
44660702 13202 },
56122987 13203 "snapname" : {
44660702 13204 "description" : "The name of the snapshot.",
56122987
DM
13205 "format" : "pve-configid",
13206 "maxLength" : 40,
013dc89f
DM
13207 "type" : "string",
13208 "typetext" : "<string>"
7aacca6f 13209 },
56122987 13210 "vmid" : {
7aacca6f 13211 "description" : "The (unique) ID of the VM.",
44660702 13212 "format" : "pve-vmid",
56122987 13213 "minimum" : 1,
4bd7df8b 13214 "type" : "integer",
013dc89f 13215 "typetext" : "<integer> (1 - N)"
56122987
DM
13216 }
13217 }
13218 },
7aacca6f 13219 "permissions" : {
56122987
DM
13220 "check" : [
13221 "perm",
13222 "/vms/{vmid}",
13223 [
2489d6df
WB
13224 "VM.Snapshot",
13225 "VM.Snapshot.Rollback"
13226 ],
13227 "any",
13228 1
56122987
DM
13229 ]
13230 },
44660702 13231 "protected" : 1,
7aacca6f 13232 "proxyto" : "node",
44660702
DM
13233 "returns" : {
13234 "description" : "the task ID.",
13235 "type" : "string"
13236 }
56122987
DM
13237 }
13238 },
44660702
DM
13239 "leaf" : 1,
13240 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 13241 "text" : "rollback"
56122987 13242 }
44660702
DM
13243 ],
13244 "info" : {
13245 "DELETE" : {
13246 "description" : "Delete a VM snapshot.",
13247 "method" : "DELETE",
13248 "name" : "delsnapshot",
13249 "parameters" : {
13250 "additionalProperties" : 0,
13251 "properties" : {
13252 "force" : {
13253 "description" : "For removal from config file, even if removing disk snapshots fails.",
13254 "optional" : 1,
013dc89f
DM
13255 "type" : "boolean",
13256 "typetext" : "<boolean>"
44660702
DM
13257 },
13258 "node" : {
13259 "description" : "The cluster node name.",
13260 "format" : "pve-node",
013dc89f
DM
13261 "type" : "string",
13262 "typetext" : "<string>"
44660702
DM
13263 },
13264 "snapname" : {
13265 "description" : "The name of the snapshot.",
13266 "format" : "pve-configid",
13267 "maxLength" : 40,
013dc89f
DM
13268 "type" : "string",
13269 "typetext" : "<string>"
44660702
DM
13270 },
13271 "vmid" : {
13272 "description" : "The (unique) ID of the VM.",
13273 "format" : "pve-vmid",
13274 "minimum" : 1,
4bd7df8b 13275 "type" : "integer",
013dc89f 13276 "typetext" : "<integer> (1 - N)"
44660702
DM
13277 }
13278 }
13279 },
13280 "permissions" : {
13281 "check" : [
13282 "perm",
13283 "/vms/{vmid}",
13284 [
13285 "VM.Snapshot"
13286 ]
13287 ]
13288 },
13289 "protected" : 1,
13290 "proxyto" : "node",
13291 "returns" : {
13292 "description" : "the task ID.",
13293 "type" : "string"
13294 }
13295 },
13296 "GET" : {
13297 "description" : "",
13298 "method" : "GET",
13299 "name" : "snapshot_cmd_idx",
13300 "parameters" : {
13301 "additionalProperties" : 0,
13302 "properties" : {
13303 "node" : {
13304 "description" : "The cluster node name.",
13305 "format" : "pve-node",
013dc89f
DM
13306 "type" : "string",
13307 "typetext" : "<string>"
44660702
DM
13308 },
13309 "snapname" : {
13310 "description" : "The name of the snapshot.",
13311 "format" : "pve-configid",
13312 "maxLength" : 40,
013dc89f
DM
13313 "type" : "string",
13314 "typetext" : "<string>"
44660702
DM
13315 },
13316 "vmid" : {
13317 "description" : "The (unique) ID of the VM.",
13318 "format" : "pve-vmid",
13319 "minimum" : 1,
4bd7df8b 13320 "type" : "integer",
013dc89f 13321 "typetext" : "<integer> (1 - N)"
44660702
DM
13322 }
13323 }
13324 },
13325 "permissions" : {
13326 "user" : "all"
13327 },
13328 "returns" : {
13329 "items" : {
13330 "properties" : {},
13331 "type" : "object"
13332 },
13333 "links" : [
13334 {
13335 "href" : "{cmd}",
13336 "rel" : "child"
13337 }
13338 ],
13339 "type" : "array"
13340 }
13341 }
13342 },
13343 "leaf" : 0,
13344 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
13345 "text" : "{snapname}"
56122987
DM
13346 }
13347 ],
44660702
DM
13348 "info" : {
13349 "GET" : {
13350 "description" : "List all snapshots.",
13351 "method" : "GET",
13352 "name" : "snapshot_list",
13353 "parameters" : {
13354 "additionalProperties" : 0,
13355 "properties" : {
13356 "node" : {
13357 "description" : "The cluster node name.",
13358 "format" : "pve-node",
013dc89f
DM
13359 "type" : "string",
13360 "typetext" : "<string>"
44660702
DM
13361 },
13362 "vmid" : {
13363 "description" : "The (unique) ID of the VM.",
13364 "format" : "pve-vmid",
13365 "minimum" : 1,
4bd7df8b 13366 "type" : "integer",
013dc89f 13367 "typetext" : "<integer> (1 - N)"
44660702
DM
13368 }
13369 }
13370 },
13371 "permissions" : {
13372 "check" : [
13373 "perm",
13374 "/vms/{vmid}",
13375 [
13376 "VM.Audit"
13377 ]
13378 ]
13379 },
13380 "protected" : 1,
13381 "proxyto" : "node",
13382 "returns" : {
13383 "items" : {
13384 "properties" : {},
13385 "type" : "object"
13386 },
13387 "links" : [
13388 {
13389 "href" : "{name}",
13390 "rel" : "child"
13391 }
13392 ],
13393 "type" : "array"
13394 }
13395 },
13396 "POST" : {
13397 "description" : "Snapshot a VM.",
13398 "method" : "POST",
13399 "name" : "snapshot",
13400 "parameters" : {
13401 "additionalProperties" : 0,
13402 "properties" : {
13403 "description" : {
13404 "description" : "A textual description or comment.",
13405 "optional" : 1,
013dc89f
DM
13406 "type" : "string",
13407 "typetext" : "<string>"
44660702
DM
13408 },
13409 "node" : {
13410 "description" : "The cluster node name.",
13411 "format" : "pve-node",
013dc89f
DM
13412 "type" : "string",
13413 "typetext" : "<string>"
44660702
DM
13414 },
13415 "snapname" : {
13416 "description" : "The name of the snapshot.",
13417 "format" : "pve-configid",
13418 "maxLength" : 40,
013dc89f
DM
13419 "type" : "string",
13420 "typetext" : "<string>"
44660702
DM
13421 },
13422 "vmid" : {
13423 "description" : "The (unique) ID of the VM.",
13424 "format" : "pve-vmid",
13425 "minimum" : 1,
4bd7df8b 13426 "type" : "integer",
013dc89f 13427 "typetext" : "<integer> (1 - N)"
44660702
DM
13428 },
13429 "vmstate" : {
13430 "description" : "Save the vmstate",
13431 "optional" : 1,
013dc89f
DM
13432 "type" : "boolean",
13433 "typetext" : "<boolean>"
44660702
DM
13434 }
13435 }
13436 },
13437 "permissions" : {
13438 "check" : [
13439 "perm",
13440 "/vms/{vmid}",
13441 [
13442 "VM.Snapshot"
13443 ]
13444 ]
13445 },
13446 "protected" : 1,
13447 "proxyto" : "node",
13448 "returns" : {
13449 "description" : "the task ID.",
13450 "type" : "string"
13451 }
13452 }
13453 },
13454 "leaf" : 0,
13455 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 13456 "text" : "snapshot"
56122987
DM
13457 },
13458 {
56122987
DM
13459 "info" : {
13460 "POST" : {
44660702
DM
13461 "description" : "Create a Template.",
13462 "method" : "POST",
56122987 13463 "name" : "template",
56122987 13464 "parameters" : {
7aacca6f 13465 "additionalProperties" : 0,
56122987 13466 "properties" : {
56122987 13467 "disk" : {
56122987
DM
13468 "description" : "If you want to convert only 1 disk to base image.",
13469 "enum" : [
13470 "ide0",
13471 "ide1",
13472 "ide2",
13473 "ide3",
13474 "scsi0",
13475 "scsi1",
13476 "scsi2",
13477 "scsi3",
13478 "scsi4",
13479 "scsi5",
13480 "scsi6",
13481 "scsi7",
13482 "scsi8",
13483 "scsi9",
13484 "scsi10",
13485 "scsi11",
13486 "scsi12",
13487 "scsi13",
13488 "virtio0",
13489 "virtio1",
13490 "virtio2",
13491 "virtio3",
13492 "virtio4",
13493 "virtio5",
13494 "virtio6",
13495 "virtio7",
13496 "virtio8",
13497 "virtio9",
13498 "virtio10",
13499 "virtio11",
13500 "virtio12",
13501 "virtio13",
13502 "virtio14",
13503 "virtio15",
13504 "sata0",
13505 "sata1",
13506 "sata2",
13507 "sata3",
13508 "sata4",
2c0dde61
DM
13509 "sata5",
13510 "efidisk0"
56122987 13511 ],
7aacca6f 13512 "optional" : 1,
56122987
DM
13513 "type" : "string"
13514 },
44660702
DM
13515 "node" : {
13516 "description" : "The cluster node name.",
13517 "format" : "pve-node",
013dc89f
DM
13518 "type" : "string",
13519 "typetext" : "<string>"
44660702
DM
13520 },
13521 "vmid" : {
13522 "description" : "The (unique) ID of the VM.",
7aacca6f 13523 "format" : "pve-vmid",
44660702 13524 "minimum" : 1,
4bd7df8b 13525 "type" : "integer",
013dc89f 13526 "typetext" : "<integer> (1 - N)"
56122987 13527 }
7aacca6f 13528 }
56122987 13529 },
7aacca6f
DM
13530 "permissions" : {
13531 "check" : [
13532 "perm",
13533 "/vms/{vmid}",
13534 [
13535 "VM.Allocate"
13536 ]
13537 ],
13538 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
13539 },
44660702 13540 "protected" : 1,
7aacca6f 13541 "proxyto" : "node",
7aacca6f
DM
13542 "returns" : {
13543 "type" : "null"
13544 }
56122987
DM
13545 }
13546 },
44660702 13547 "leaf" : 1,
7aacca6f 13548 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 13549 "text" : "template"
56122987
DM
13550 }
13551 ],
7aacca6f 13552 "info" : {
44660702
DM
13553 "DELETE" : {
13554 "description" : "Destroy the vm (also delete all used/owned volumes).",
13555 "method" : "DELETE",
13556 "name" : "destroy_vm",
7aacca6f 13557 "parameters" : {
44660702 13558 "additionalProperties" : 0,
7aacca6f
DM
13559 "properties" : {
13560 "node" : {
44660702 13561 "description" : "The cluster node name.",
7aacca6f 13562 "format" : "pve-node",
013dc89f
DM
13563 "type" : "string",
13564 "typetext" : "<string>"
44660702
DM
13565 },
13566 "skiplock" : {
13567 "description" : "Ignore locks - only root is allowed to use this option.",
13568 "optional" : 1,
013dc89f
DM
13569 "type" : "boolean",
13570 "typetext" : "<boolean>"
7aacca6f
DM
13571 },
13572 "vmid" : {
44660702 13573 "description" : "The (unique) ID of the VM.",
7aacca6f 13574 "format" : "pve-vmid",
44660702 13575 "minimum" : 1,
4bd7df8b 13576 "type" : "integer",
013dc89f 13577 "typetext" : "<integer> (1 - N)"
7aacca6f 13578 }
44660702 13579 }
7aacca6f 13580 },
7aacca6f
DM
13581 "permissions" : {
13582 "check" : [
13583 "perm",
13584 "/vms/{vmid}",
13585 [
13586 "VM.Allocate"
13587 ]
13588 ]
13589 },
44660702
DM
13590 "protected" : 1,
13591 "proxyto" : "node",
7aacca6f
DM
13592 "returns" : {
13593 "type" : "string"
44660702
DM
13594 }
13595 },
13596 "GET" : {
13597 "description" : "Directory index",
13598 "method" : "GET",
13599 "name" : "vmdiridx",
7aacca6f 13600 "parameters" : {
44660702 13601 "additionalProperties" : 0,
7aacca6f 13602 "properties" : {
7aacca6f 13603 "node" : {
7aacca6f 13604 "description" : "The cluster node name.",
44660702 13605 "format" : "pve-node",
013dc89f
DM
13606 "type" : "string",
13607 "typetext" : "<string>"
44660702
DM
13608 },
13609 "vmid" : {
13610 "description" : "The (unique) ID of the VM.",
13611 "format" : "pve-vmid",
13612 "minimum" : 1,
4bd7df8b 13613 "type" : "integer",
013dc89f 13614 "typetext" : "<integer> (1 - N)"
7aacca6f 13615 }
44660702 13616 }
7aacca6f 13617 },
44660702
DM
13618 "permissions" : {
13619 "user" : "all"
13620 },
13621 "proxyto" : "node",
13622 "returns" : {
13623 "items" : {
13624 "properties" : {
13625 "subdir" : {
13626 "type" : "string"
13627 }
13628 },
13629 "type" : "object"
13630 },
13631 "links" : [
13632 {
13633 "href" : "{subdir}",
13634 "rel" : "child"
13635 }
13636 ],
13637 "type" : "array"
13638 }
7aacca6f 13639 }
44660702
DM
13640 },
13641 "leaf" : 0,
13642 "path" : "/nodes/{node}/qemu/{vmid}",
13643 "text" : "{vmid}"
56122987
DM
13644 }
13645 ],
13646 "info" : {
44660702
DM
13647 "GET" : {
13648 "description" : "Virtual machine index (per node).",
13649 "method" : "GET",
13650 "name" : "vmlist",
56122987 13651 "parameters" : {
44660702 13652 "additionalProperties" : 0,
56122987 13653 "properties" : {
44660702
DM
13654 "full" : {
13655 "description" : "Determine the full status of active VMs.",
56122987 13656 "optional" : 1,
013dc89f
DM
13657 "type" : "boolean",
13658 "typetext" : "<boolean>"
56122987 13659 },
44660702
DM
13660 "node" : {
13661 "description" : "The cluster node name.",
13662 "format" : "pve-node",
013dc89f
DM
13663 "type" : "string",
13664 "typetext" : "<string>"
44660702
DM
13665 }
13666 }
13667 },
13668 "permissions" : {
13669 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
13670 "user" : "all"
13671 },
13672 "protected" : 1,
13673 "proxyto" : "node",
13674 "returns" : {
13675 "items" : {
13676 "properties" : {},
13677 "type" : "object"
13678 },
13679 "links" : [
13680 {
13681 "href" : "{vmid}",
13682 "rel" : "child"
13683 }
13684 ],
13685 "type" : "array"
13686 }
13687 },
13688 "POST" : {
13689 "description" : "Create or restore a virtual machine.",
13690 "method" : "POST",
13691 "name" : "create_vm",
13692 "parameters" : {
13693 "additionalProperties" : 0,
13694 "properties" : {
7aacca6f 13695 "acpi" : {
7aacca6f 13696 "default" : 1,
44660702 13697 "description" : "Enable/disable ACPI.",
56122987 13698 "optional" : 1,
013dc89f
DM
13699 "type" : "boolean",
13700 "typetext" : "<boolean>"
56122987 13701 },
44660702
DM
13702 "agent" : {
13703 "default" : 0,
13704 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 13705 "optional" : 1,
013dc89f
DM
13706 "type" : "boolean",
13707 "typetext" : "<boolean>"
56122987 13708 },
44660702
DM
13709 "archive" : {
13710 "description" : "The backup file.",
13711 "maxLength" : 255,
56122987 13712 "optional" : 1,
013dc89f
DM
13713 "type" : "string",
13714 "typetext" : "<string>"
56122987 13715 },
44660702 13716 "args" : {
c2993fe5 13717 "description" : "Arbitrary arguments passed to kvm.",
56122987 13718 "optional" : 1,
c2993fe5 13719 "type" : "string",
013dc89f 13720 "typetext" : "<string>",
c2993fe5 13721 "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 13722 },
44660702 13723 "autostart" : {
7aacca6f 13724 "default" : 0,
44660702
DM
13725 "description" : "Automatic restart after crash (currently ignored).",
13726 "optional" : 1,
013dc89f
DM
13727 "type" : "boolean",
13728 "typetext" : "<boolean>"
7aacca6f 13729 },
44660702
DM
13730 "balloon" : {
13731 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13732 "minimum" : 0,
56122987 13733 "optional" : 1,
4bd7df8b 13734 "type" : "integer",
013dc89f 13735 "typetext" : "<integer> (0 - N)"
56122987 13736 },
44660702
DM
13737 "bios" : {
13738 "default" : "seabios",
13739 "description" : "Select BIOS implementation.",
13740 "enum" : [
13741 "seabios",
13742 "ovmf"
13743 ],
56122987 13744 "optional" : 1,
44660702 13745 "type" : "string"
56122987 13746 },
44660702
DM
13747 "boot" : {
13748 "default" : "cdn",
13749 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 13750 "optional" : 1,
44660702
DM
13751 "pattern" : "[acdn]{1,4}",
13752 "type" : "string"
56122987 13753 },
7aacca6f
DM
13754 "bootdisk" : {
13755 "description" : "Enable booting from specified disk.",
44660702
DM
13756 "format" : "pve-qm-bootdisk",
13757 "optional" : 1,
7aacca6f 13758 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
13759 "type" : "string"
13760 },
27a7acb2
DM
13761 "bwlimit" : {
13762 "description" : "Override i/o bandwidth limit (in KiB/s).",
13763 "minimum" : "0",
13764 "optional" : 1,
13765 "type" : "integer",
13766 "typetext" : "<integer> (0 - N)"
13767 },
44660702
DM
13768 "cdrom" : {
13769 "description" : "This is an alias for option -ide2",
de0983cb 13770 "format" : "pve-qm-ide",
56122987 13771 "optional" : 1,
44660702 13772 "type" : "string",
013dc89f 13773 "typetext" : "<volume>"
56122987 13774 },
27a7acb2
DM
13775 "cipassword" : {
13776 "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.",
13777 "optional" : 1,
13778 "type" : "string",
13779 "typetext" : "<string>"
13780 },
13781 "citype" : {
13782 "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.",
13783 "enum" : [
13784 "configdrive2",
13785 "nocloud"
13786 ],
13787 "optional" : 1,
13788 "type" : "string"
13789 },
13790 "ciuser" : {
13791 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13792 "optional" : 1,
13793 "type" : "string",
13794 "typetext" : "<string>"
13795 },
44660702
DM
13796 "cores" : {
13797 "default" : 1,
13798 "description" : "The number of cores per socket.",
7aacca6f 13799 "minimum" : 1,
44660702 13800 "optional" : 1,
4bd7df8b 13801 "type" : "integer",
013dc89f 13802 "typetext" : "<integer> (1 - N)"
7aacca6f 13803 },
44660702
DM
13804 "cpu" : {
13805 "description" : "Emulated CPU type.",
13806 "format" : {
13807 "cputype" : {
13808 "default" : "kvm64",
13809 "default_key" : 1,
13810 "description" : "Emulated CPU type.",
13811 "enum" : [
13812 "486",
13813 "athlon",
f004f5b9 13814 "Broadwell",
35a75dd3 13815 "Broadwell-IBRS",
f004f5b9 13816 "Broadwell-noTSX",
35a75dd3 13817 "Broadwell-noTSX-IBRS",
f004f5b9 13818 "Conroe",
44660702 13819 "core2duo",
f004f5b9 13820 "coreduo",
27a7acb2
DM
13821 "EPYC",
13822 "EPYC-IBPB",
f004f5b9 13823 "Haswell",
35a75dd3 13824 "Haswell-IBRS",
f004f5b9 13825 "Haswell-noTSX",
35a75dd3 13826 "Haswell-noTSX-IBRS",
f004f5b9
DM
13827 "host",
13828 "IvyBridge",
35a75dd3 13829 "IvyBridge-IBRS",
44660702
DM
13830 "kvm32",
13831 "kvm64",
35a75dd3 13832 "max",
44660702 13833 "Nehalem",
35a75dd3 13834 "Nehalem-IBRS",
44660702
DM
13835 "Opteron_G1",
13836 "Opteron_G2",
13837 "Opteron_G3",
13838 "Opteron_G4",
13839 "Opteron_G5",
f004f5b9
DM
13840 "Penryn",
13841 "pentium",
13842 "pentium2",
13843 "pentium3",
13844 "phenom",
13845 "qemu32",
13846 "qemu64",
13847 "SandyBridge",
35a75dd3 13848 "SandyBridge-IBRS",
5d9c884c 13849 "Skylake-Client",
35a75dd3
DM
13850 "Skylake-Client-IBRS",
13851 "Skylake-Server",
13852 "Skylake-Server-IBRS",
13853 "Westmere",
13854 "Westmere-IBRS"
44660702 13855 ],
44660702
DM
13856 "type" : "string"
13857 },
35a75dd3
DM
13858 "flags" : {
13859 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
13860 "format_description" : "+FLAG[;-FLAG...]",
13861 "optional" : 1,
13862 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
13863 "type" : "string"
13864 },
44660702
DM
13865 "hidden" : {
13866 "default" : 0,
13867 "description" : "Do not identify as a KVM virtual machine.",
13868 "optional" : 1,
13869 "type" : "boolean"
13870 }
13871 },
56122987 13872 "optional" : 1,
4bd7df8b 13873 "type" : "string",
35a75dd3 13874 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 13875 },
44660702 13876 "cpulimit" : {
7aacca6f 13877 "default" : 0,
c2993fe5 13878 "description" : "Limit of CPU usage.",
44660702
DM
13879 "maximum" : 128,
13880 "minimum" : 0,
7aacca6f 13881 "optional" : 1,
c2993fe5 13882 "type" : "number",
013dc89f 13883 "typetext" : "<number> (0 - 128)",
c2993fe5 13884 "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
13885 },
13886 "cpuunits" : {
de0983cb 13887 "default" : 1024,
c2993fe5 13888 "description" : "CPU weight for a VM.",
2489d6df
WB
13889 "maximum" : 262144,
13890 "minimum" : 2,
44660702 13891 "optional" : 1,
c2993fe5 13892 "type" : "integer",
2489d6df
WB
13893 "typetext" : "<integer> (2 - 262144)",
13894 "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
13895 },
13896 "description" : {
13897 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 13898 "optional" : 1,
013dc89f
DM
13899 "type" : "string",
13900 "typetext" : "<string>"
44660702
DM
13901 },
13902 "force" : {
13903 "description" : "Allow to overwrite existing VM.",
13904 "optional" : 1,
13905 "requires" : "archive",
013dc89f
DM
13906 "type" : "boolean",
13907 "typetext" : "<boolean>"
44660702
DM
13908 },
13909 "freeze" : {
13910 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13911 "optional" : 1,
013dc89f
DM
13912 "type" : "boolean",
13913 "typetext" : "<boolean>"
44660702
DM
13914 },
13915 "hostpci[n]" : {
c2993fe5 13916 "description" : "Map host PCI devices into guest.",
44660702
DM
13917 "format" : "pve-qm-hostpci",
13918 "optional" : 1,
57b78691 13919 "type" : "string",
52e44c50 13920 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 13921 "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
13922 },
13923 "hotplug" : {
13924 "default" : "network,disk,usb",
13925 "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'.",
13926 "format" : "pve-hotplug-features",
13927 "optional" : 1,
013dc89f
DM
13928 "type" : "string",
13929 "typetext" : "<string>"
7aacca6f 13930 },
4bd7df8b
DM
13931 "hugepages" : {
13932 "description" : "Enable/disable hugepages memory.",
13933 "enum" : [
13934 "any",
13935 "2",
13936 "1024"
13937 ],
13938 "optional" : 1,
13939 "type" : "string"
13940 },
7aacca6f 13941 "ide[n]" : {
44660702 13942 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 13943 "format" : {
44660702
DM
13944 "aio" : {
13945 "description" : "AIO type to use.",
13946 "enum" : [
13947 "native",
13948 "threads"
13949 ],
44660702
DM
13950 "optional" : 1,
13951 "type" : "string"
13952 },
13953 "backup" : {
13954 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13955 "optional" : 1,
13956 "type" : "boolean"
13957 },
13958 "bps" : {
de0983cb 13959 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 13960 "format_description" : "bps",
56122987 13961 "optional" : 1,
44660702 13962 "type" : "integer"
56122987 13963 },
de0983cb
DM
13964 "bps_max_length" : {
13965 "description" : "Maximum length of I/O bursts in seconds.",
13966 "format_description" : "seconds",
13967 "minimum" : 1,
13968 "optional" : 1,
13969 "type" : "integer"
13970 },
44660702 13971 "bps_rd" : {
de0983cb 13972 "description" : "Maximum read speed in bytes per second.",
44660702 13973 "format_description" : "bps",
56122987 13974 "optional" : 1,
44660702 13975 "type" : "integer"
56122987 13976 },
de0983cb 13977 "bps_rd_length" : {
5d9c884c
DM
13978 "alias" : "bps_rd_max_length"
13979 },
13980 "bps_rd_max_length" : {
de0983cb
DM
13981 "description" : "Maximum length of read I/O bursts in seconds.",
13982 "format_description" : "seconds",
13983 "minimum" : 1,
13984 "optional" : 1,
13985 "type" : "integer"
13986 },
44660702 13987 "bps_wr" : {
de0983cb 13988 "description" : "Maximum write speed in bytes per second.",
44660702 13989 "format_description" : "bps",
56122987 13990 "optional" : 1,
44660702 13991 "type" : "integer"
56122987 13992 },
de0983cb 13993 "bps_wr_length" : {
5d9c884c
DM
13994 "alias" : "bps_wr_max_length"
13995 },
13996 "bps_wr_max_length" : {
de0983cb
DM
13997 "description" : "Maximum length of write I/O bursts in seconds.",
13998 "format_description" : "seconds",
13999 "minimum" : 1,
14000 "optional" : 1,
14001 "type" : "integer"
14002 },
44660702
DM
14003 "cache" : {
14004 "description" : "The drive's cache mode",
56122987 14005 "enum" : [
7aacca6f 14006 "none",
44660702
DM
14007 "writethrough",
14008 "writeback",
14009 "unsafe",
14010 "directsync"
56122987 14011 ],
56122987 14012 "optional" : 1,
44660702 14013 "type" : "string"
56122987 14014 },
44660702
DM
14015 "cyls" : {
14016 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14017 "optional" : 1,
14018 "type" : "integer"
7aacca6f 14019 },
44660702
DM
14020 "detect_zeroes" : {
14021 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14022 "optional" : 1,
44660702 14023 "type" : "boolean"
56122987 14024 },
44660702
DM
14025 "discard" : {
14026 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14027 "enum" : [
14028 "ignore",
14029 "on"
14030 ],
56122987 14031 "optional" : 1,
44660702 14032 "type" : "string"
56122987 14033 },
7aacca6f 14034 "file" : {
44660702 14035 "default_key" : 1,
7aacca6f 14036 "description" : "The drive's backing volume.",
7aacca6f
DM
14037 "format" : "pve-volume-id-or-qm-path",
14038 "format_description" : "volume",
7aacca6f 14039 "type" : "string"
56122987 14040 },
44660702
DM
14041 "format" : {
14042 "description" : "The drive's backing file's data format.",
56122987 14043 "enum" : [
44660702
DM
14044 "raw",
14045 "cow",
14046 "qcow",
14047 "qed",
14048 "qcow2",
14049 "vmdk",
14050 "cloop"
7aacca6f 14051 ],
7aacca6f
DM
14052 "optional" : 1,
14053 "type" : "string"
56122987 14054 },
44660702
DM
14055 "heads" : {
14056 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14057 "optional" : 1,
44660702 14058 "type" : "integer"
56122987 14059 },
44660702 14060 "iops" : {
de0983cb 14061 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 14062 "format_description" : "iops",
56122987 14063 "optional" : 1,
44660702 14064 "type" : "integer"
56122987 14065 },
44660702 14066 "iops_max" : {
de0983cb 14067 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14068 "format_description" : "iops",
56122987 14069 "optional" : 1,
44660702 14070 "type" : "integer"
56122987 14071 },
de0983cb
DM
14072 "iops_max_length" : {
14073 "description" : "Maximum length of I/O bursts in seconds.",
14074 "format_description" : "seconds",
14075 "minimum" : 1,
14076 "optional" : 1,
14077 "type" : "integer"
14078 },
7aacca6f 14079 "iops_rd" : {
de0983cb 14080 "description" : "Maximum read I/O in operations per second.",
44660702
DM
14081 "format_description" : "iops",
14082 "optional" : 1,
14083 "type" : "integer"
7aacca6f 14084 },
de0983cb 14085 "iops_rd_length" : {
5d9c884c 14086 "alias" : "iops_rd_max_length"
de0983cb 14087 },
44660702 14088 "iops_rd_max" : {
de0983cb 14089 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14090 "format_description" : "iops",
56122987 14091 "optional" : 1,
44660702 14092 "type" : "integer"
56122987 14093 },
5d9c884c
DM
14094 "iops_rd_max_length" : {
14095 "description" : "Maximum length of read I/O bursts in seconds.",
14096 "format_description" : "seconds",
14097 "minimum" : 1,
14098 "optional" : 1,
14099 "type" : "integer"
14100 },
44660702 14101 "iops_wr" : {
de0983cb 14102 "description" : "Maximum write I/O in operations per second.",
44660702 14103 "format_description" : "iops",
56122987 14104 "optional" : 1,
44660702 14105 "type" : "integer"
7aacca6f 14106 },
de0983cb 14107 "iops_wr_length" : {
5d9c884c 14108 "alias" : "iops_wr_max_length"
de0983cb 14109 },
44660702 14110 "iops_wr_max" : {
de0983cb 14111 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14112 "format_description" : "iops",
7aacca6f 14113 "optional" : 1,
44660702 14114 "type" : "integer"
56122987 14115 },
5d9c884c
DM
14116 "iops_wr_max_length" : {
14117 "description" : "Maximum length of write I/O bursts in seconds.",
14118 "format_description" : "seconds",
14119 "minimum" : 1,
14120 "optional" : 1,
14121 "type" : "integer"
14122 },
44660702 14123 "mbps" : {
de0983cb 14124 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14125 "format_description" : "mbps",
7aacca6f 14126 "optional" : 1,
44660702 14127 "type" : "number"
56122987 14128 },
44660702 14129 "mbps_max" : {
de0983cb 14130 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 14131 "format_description" : "mbps",
56122987 14132 "optional" : 1,
44660702 14133 "type" : "number"
56122987 14134 },
44660702 14135 "mbps_rd" : {
de0983cb 14136 "description" : "Maximum read speed in megabytes per second.",
44660702 14137 "format_description" : "mbps",
7aacca6f 14138 "optional" : 1,
44660702 14139 "type" : "number"
7aacca6f 14140 },
44660702 14141 "mbps_rd_max" : {
de0983cb 14142 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14143 "format_description" : "mbps",
56122987 14144 "optional" : 1,
44660702 14145 "type" : "number"
56122987 14146 },
44660702 14147 "mbps_wr" : {
de0983cb 14148 "description" : "Maximum write speed in megabytes per second.",
44660702 14149 "format_description" : "mbps",
7aacca6f 14150 "optional" : 1,
44660702 14151 "type" : "number"
56122987 14152 },
44660702 14153 "mbps_wr_max" : {
de0983cb 14154 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14155 "format_description" : "mbps",
56122987 14156 "optional" : 1,
44660702 14157 "type" : "number"
7aacca6f
DM
14158 },
14159 "media" : {
44660702
DM
14160 "default" : "disk",
14161 "description" : "The drive's media type.",
56122987 14162 "enum" : [
7aacca6f
DM
14163 "cdrom",
14164 "disk"
56122987 14165 ],
56122987 14166 "optional" : 1,
44660702 14167 "type" : "string"
56122987 14168 },
44660702
DM
14169 "model" : {
14170 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
14171 "format" : "urlencoded",
14172 "format_description" : "model",
14173 "maxLength" : 120,
56122987 14174 "optional" : 1,
44660702 14175 "type" : "string"
56122987 14176 },
5d9c884c
DM
14177 "replicate" : {
14178 "default" : 1,
14179 "description" : "Whether the drive should considered for replication jobs.",
14180 "optional" : 1,
14181 "type" : "boolean"
14182 },
7aacca6f 14183 "rerror" : {
7aacca6f
DM
14184 "description" : "Read error action.",
14185 "enum" : [
14186 "ignore",
14187 "report",
14188 "stop"
44660702 14189 ],
44660702
DM
14190 "optional" : 1,
14191 "type" : "string"
56122987 14192 },
44660702
DM
14193 "secs" : {
14194 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14195 "optional" : 1,
44660702
DM
14196 "type" : "integer"
14197 },
14198 "serial" : {
14199 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14200 "format" : "urlencoded",
14201 "format_description" : "serial",
14202 "maxLength" : 60,
14203 "optional" : 1,
14204 "type" : "string"
14205 },
27a7acb2
DM
14206 "shared" : {
14207 "default" : 0,
14208 "description" : "Mark this locally-managed volume as available on all nodes",
14209 "optional" : 1,
14210 "type" : "boolean",
14211 "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!"
14212 },
44660702
DM
14213 "size" : {
14214 "description" : "Disk size. This is purely informational and has no effect.",
14215 "format" : "disk-size",
f004f5b9 14216 "format_description" : "DiskSize",
44660702
DM
14217 "optional" : 1,
14218 "type" : "string"
7aacca6f
DM
14219 },
14220 "snapshot" : {
27a7acb2 14221 "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 14222 "optional" : 1,
44660702 14223 "type" : "boolean"
7aacca6f 14224 },
44660702
DM
14225 "trans" : {
14226 "description" : "Force disk geometry bios translation mode.",
14227 "enum" : [
14228 "none",
14229 "lba",
14230 "auto"
14231 ],
7aacca6f 14232 "optional" : 1,
44660702
DM
14233 "type" : "string"
14234 },
14235 "volume" : {
14236 "alias" : "file"
14237 },
14238 "werror" : {
14239 "description" : "Write error action.",
14240 "enum" : [
14241 "enospc",
14242 "ignore",
14243 "report",
14244 "stop"
14245 ],
44660702
DM
14246 "optional" : 1,
14247 "type" : "string"
56122987
DM
14248 }
14249 },
56122987 14250 "optional" : 1,
4bd7df8b 14251 "type" : "string",
27a7acb2
DM
14252 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
14253 },
14254 "ipconfig[n]" : {
14255 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
14256 "format" : "pve-qm-ipconfig",
14257 "optional" : 1,
14258 "type" : "string",
14259 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 14260 },
56122987 14261 "keyboard" : {
35a75dd3 14262 "default" : null,
5da3d723 14263 "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 14264 "enum" : [
44660702
DM
14265 "de",
14266 "de-ch",
7aacca6f 14267 "da",
56122987 14268 "en-gb",
44660702
DM
14269 "en-us",
14270 "es",
14271 "fi",
14272 "fr",
14273 "fr-be",
14274 "fr-ca",
14275 "fr-ch",
14276 "hu",
7aacca6f 14277 "is",
44660702
DM
14278 "it",
14279 "ja",
14280 "lt",
56122987 14281 "mk",
7aacca6f 14282 "nl",
56122987 14283 "no",
44660702 14284 "pl",
7aacca6f 14285 "pt",
44660702
DM
14286 "pt-br",
14287 "sv",
14288 "sl",
14289 "tr"
56122987 14290 ],
44660702
DM
14291 "optional" : 1,
14292 "type" : "string"
56122987 14293 },
44660702
DM
14294 "kvm" : {
14295 "default" : 1,
14296 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 14297 "optional" : 1,
013dc89f
DM
14298 "type" : "boolean",
14299 "typetext" : "<boolean>"
7aacca6f 14300 },
44660702
DM
14301 "localtime" : {
14302 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 14303 "optional" : 1,
013dc89f
DM
14304 "type" : "boolean",
14305 "typetext" : "<boolean>"
44660702
DM
14306 },
14307 "lock" : {
14308 "description" : "Lock/unlock the VM.",
7aacca6f
DM
14309 "enum" : [
14310 "migrate",
14311 "backup",
14312 "snapshot",
14313 "rollback"
14314 ],
44660702
DM
14315 "optional" : 1,
14316 "type" : "string"
56122987 14317 },
44660702
DM
14318 "machine" : {
14319 "description" : "Specific the Qemu machine type.",
14320 "maxLength" : 40,
14321 "optional" : 1,
14322 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
14323 "type" : "string"
14324 },
14325 "memory" : {
14326 "default" : 512,
14327 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14328 "minimum" : 16,
14329 "optional" : 1,
4bd7df8b 14330 "type" : "integer",
013dc89f 14331 "typetext" : "<integer> (16 - N)"
44660702
DM
14332 },
14333 "migrate_downtime" : {
14334 "default" : 0.1,
14335 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
14336 "minimum" : 0,
14337 "optional" : 1,
4bd7df8b 14338 "type" : "number",
013dc89f 14339 "typetext" : "<number> (0 - N)"
44660702
DM
14340 },
14341 "migrate_speed" : {
56122987 14342 "default" : 0,
44660702
DM
14343 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
14344 "minimum" : 0,
56122987 14345 "optional" : 1,
4bd7df8b 14346 "type" : "integer",
013dc89f 14347 "typetext" : "<integer> (0 - N)"
56122987 14348 },
27a7acb2
DM
14349 "name" : {
14350 "description" : "Set a name for the VM. Only used on the configuration web interface.",
14351 "format" : "dns-name",
14352 "optional" : 1,
14353 "type" : "string",
14354 "typetext" : "<string>"
14355 },
14356 "nameserver" : {
14357 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
14358 "format" : "address-list",
44660702 14359 "optional" : 1,
013dc89f
DM
14360 "type" : "string",
14361 "typetext" : "<string>"
44660702
DM
14362 },
14363 "net[n]" : {
c2993fe5 14364 "description" : "Specify network devices.",
f004f5b9
DM
14365 "format" : {
14366 "bridge" : {
c2993fe5 14367 "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
14368 "format_description" : "bridge",
14369 "optional" : 1,
14370 "type" : "string"
14371 },
14372 "e1000" : {
14373 "alias" : "macaddr",
14374 "keyAlias" : "model"
14375 },
14376 "e1000-82540em" : {
14377 "alias" : "macaddr",
14378 "keyAlias" : "model"
14379 },
14380 "e1000-82544gc" : {
14381 "alias" : "macaddr",
14382 "keyAlias" : "model"
14383 },
14384 "e1000-82545em" : {
14385 "alias" : "macaddr",
14386 "keyAlias" : "model"
14387 },
14388 "firewall" : {
14389 "description" : "Whether this interface should be protected by the firewall.",
14390 "optional" : 1,
14391 "type" : "boolean"
14392 },
14393 "i82551" : {
14394 "alias" : "macaddr",
14395 "keyAlias" : "model"
14396 },
14397 "i82557b" : {
14398 "alias" : "macaddr",
14399 "keyAlias" : "model"
14400 },
14401 "i82559er" : {
14402 "alias" : "macaddr",
14403 "keyAlias" : "model"
14404 },
14405 "link_down" : {
c2993fe5 14406 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
14407 "optional" : 1,
14408 "type" : "boolean"
14409 },
14410 "macaddr" : {
c2993fe5 14411 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 14412 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
14413 "optional" : 1,
14414 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
14415 "type" : "string"
14416 },
14417 "model" : {
14418 "default_key" : 1,
c2993fe5 14419 "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
14420 "enum" : [
14421 "rtl8139",
14422 "ne2k_pci",
14423 "e1000",
14424 "pcnet",
14425 "virtio",
14426 "ne2k_isa",
14427 "i82551",
14428 "i82557b",
14429 "i82559er",
14430 "vmxnet3",
14431 "e1000-82540em",
14432 "e1000-82544gc",
14433 "e1000-82545em"
14434 ],
f004f5b9
DM
14435 "type" : "string"
14436 },
14437 "ne2k_isa" : {
14438 "alias" : "macaddr",
14439 "keyAlias" : "model"
14440 },
14441 "ne2k_pci" : {
14442 "alias" : "macaddr",
14443 "keyAlias" : "model"
14444 },
14445 "pcnet" : {
14446 "alias" : "macaddr",
14447 "keyAlias" : "model"
14448 },
14449 "queues" : {
14450 "description" : "Number of packet queues to be used on the device.",
14451 "maximum" : 16,
14452 "minimum" : 0,
14453 "optional" : 1,
14454 "type" : "integer"
14455 },
14456 "rate" : {
c2993fe5 14457 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
14458 "minimum" : 0,
14459 "optional" : 1,
14460 "type" : "number"
14461 },
14462 "rtl8139" : {
14463 "alias" : "macaddr",
14464 "keyAlias" : "model"
14465 },
14466 "tag" : {
14467 "description" : "VLAN tag to apply to packets on this interface.",
14468 "maximum" : 4094,
c2993fe5 14469 "minimum" : 1,
f004f5b9
DM
14470 "optional" : 1,
14471 "type" : "integer"
14472 },
14473 "trunks" : {
14474 "description" : "VLAN trunks to pass through this interface.",
14475 "format_description" : "vlanid[;vlanid...]",
14476 "optional" : 1,
14477 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14478 "type" : "string"
14479 },
14480 "virtio" : {
14481 "alias" : "macaddr",
14482 "keyAlias" : "model"
14483 },
14484 "vmxnet3" : {
14485 "alias" : "macaddr",
14486 "keyAlias" : "model"
14487 }
14488 },
44660702 14489 "optional" : 1,
4bd7df8b 14490 "type" : "string",
013dc89f 14491 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
14492 },
14493 "node" : {
14494 "description" : "The cluster node name.",
14495 "format" : "pve-node",
013dc89f
DM
14496 "type" : "string",
14497 "typetext" : "<string>"
44660702
DM
14498 },
14499 "numa" : {
7aacca6f 14500 "default" : 0,
44660702
DM
14501 "description" : "Enable/disable NUMA.",
14502 "optional" : 1,
013dc89f
DM
14503 "type" : "boolean",
14504 "typetext" : "<boolean>"
56122987 14505 },
7aacca6f 14506 "numa[n]" : {
c2993fe5 14507 "description" : "NUMA topology.",
7aacca6f 14508 "format" : {
44660702 14509 "cpus" : {
c2993fe5 14510 "description" : "CPUs accessing this NUMA node.",
44660702
DM
14511 "format_description" : "id[-id];...",
14512 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14513 "type" : "string"
14514 },
7aacca6f 14515 "hostnodes" : {
c2993fe5 14516 "description" : "Host NUMA nodes to use.",
44660702 14517 "format_description" : "id[-id];...",
7aacca6f 14518 "optional" : 1,
44660702
DM
14519 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14520 "type" : "string"
7aacca6f 14521 },
44660702 14522 "memory" : {
c2993fe5 14523 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
14524 "optional" : 1,
14525 "type" : "number"
7aacca6f
DM
14526 },
14527 "policy" : {
c2993fe5 14528 "description" : "NUMA allocation policy.",
7aacca6f
DM
14529 "enum" : [
14530 "preferred",
14531 "bind",
14532 "interleave"
14533 ],
7aacca6f 14534 "optional" : 1,
44660702 14535 "type" : "string"
7aacca6f
DM
14536 }
14537 },
56122987 14538 "optional" : 1,
4bd7df8b
DM
14539 "type" : "string",
14540 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 14541 },
44660702
DM
14542 "onboot" : {
14543 "default" : 0,
14544 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 14545 "optional" : 1,
013dc89f
DM
14546 "type" : "boolean",
14547 "typetext" : "<boolean>"
56122987
DM
14548 },
14549 "ostype" : {
c2993fe5 14550 "description" : "Specify guest operating system.",
56122987
DM
14551 "enum" : [
14552 "other",
14553 "wxp",
14554 "w2k",
14555 "w2k3",
14556 "w2k8",
14557 "wvista",
14558 "win7",
14559 "win8",
32d876b5 14560 "win10",
56122987
DM
14561 "l24",
14562 "l26",
14563 "solaris"
44660702 14564 ],
56122987 14565 "optional" : 1,
c2993fe5 14566 "type" : "string",
35a75dd3 14567 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 14568 },
44660702 14569 "parallel[n]" : {
c2993fe5 14570 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 14571 "optional" : 1,
44660702 14572 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
14573 "type" : "string",
14574 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 14575 },
44660702
DM
14576 "pool" : {
14577 "description" : "Add the VM to the specified pool.",
14578 "format" : "pve-poolid",
56122987 14579 "optional" : 1,
013dc89f
DM
14580 "type" : "string",
14581 "typetext" : "<string>"
56122987 14582 },
44660702
DM
14583 "protection" : {
14584 "default" : 0,
c2993fe5 14585 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 14586 "optional" : 1,
013dc89f
DM
14587 "type" : "boolean",
14588 "typetext" : "<boolean>"
56122987 14589 },
44660702 14590 "reboot" : {
7aacca6f 14591 "default" : 1,
44660702
DM
14592 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
14593 "optional" : 1,
013dc89f
DM
14594 "type" : "boolean",
14595 "typetext" : "<boolean>"
56122987 14596 },
56122987 14597 "sata[n]" : {
44660702 14598 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 14599 "format" : {
7aacca6f 14600 "aio" : {
44660702 14601 "description" : "AIO type to use.",
56122987 14602 "enum" : [
7aacca6f
DM
14603 "native",
14604 "threads"
56122987 14605 ],
7aacca6f 14606 "optional" : 1,
44660702 14607 "type" : "string"
7aacca6f
DM
14608 },
14609 "backup" : {
7aacca6f 14610 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14611 "optional" : 1,
44660702 14612 "type" : "boolean"
56122987 14613 },
44660702 14614 "bps" : {
de0983cb 14615 "description" : "Maximum r/w speed in bytes per second.",
44660702 14616 "format_description" : "bps",
7aacca6f 14617 "optional" : 1,
44660702 14618 "type" : "integer"
56122987 14619 },
de0983cb
DM
14620 "bps_max_length" : {
14621 "description" : "Maximum length of I/O bursts in seconds.",
14622 "format_description" : "seconds",
14623 "minimum" : 1,
14624 "optional" : 1,
14625 "type" : "integer"
14626 },
44660702 14627 "bps_rd" : {
de0983cb 14628 "description" : "Maximum read speed in bytes per second.",
44660702 14629 "format_description" : "bps",
56122987 14630 "optional" : 1,
44660702 14631 "type" : "integer"
7aacca6f 14632 },
de0983cb 14633 "bps_rd_length" : {
5d9c884c
DM
14634 "alias" : "bps_rd_max_length"
14635 },
14636 "bps_rd_max_length" : {
de0983cb
DM
14637 "description" : "Maximum length of read I/O bursts in seconds.",
14638 "format_description" : "seconds",
14639 "minimum" : 1,
14640 "optional" : 1,
14641 "type" : "integer"
14642 },
44660702 14643 "bps_wr" : {
de0983cb 14644 "description" : "Maximum write speed in bytes per second.",
44660702 14645 "format_description" : "bps",
56122987 14646 "optional" : 1,
44660702 14647 "type" : "integer"
56122987 14648 },
de0983cb 14649 "bps_wr_length" : {
5d9c884c
DM
14650 "alias" : "bps_wr_max_length"
14651 },
14652 "bps_wr_max_length" : {
de0983cb
DM
14653 "description" : "Maximum length of write I/O bursts in seconds.",
14654 "format_description" : "seconds",
14655 "minimum" : 1,
14656 "optional" : 1,
14657 "type" : "integer"
14658 },
7aacca6f 14659 "cache" : {
7aacca6f
DM
14660 "description" : "The drive's cache mode",
14661 "enum" : [
14662 "none",
14663 "writethrough",
14664 "writeback",
14665 "unsafe",
14666 "directsync"
14667 ],
44660702
DM
14668 "optional" : 1,
14669 "type" : "string"
56122987 14670 },
44660702
DM
14671 "cyls" : {
14672 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 14673 "optional" : 1,
7aacca6f 14674 "type" : "integer"
56122987 14675 },
7aacca6f
DM
14676 "detect_zeroes" : {
14677 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14678 "optional" : 1,
7aacca6f 14679 "type" : "boolean"
56122987 14680 },
44660702
DM
14681 "discard" : {
14682 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14683 "enum" : [
14684 "ignore",
14685 "on"
14686 ],
56122987 14687 "optional" : 1,
44660702 14688 "type" : "string"
56122987 14689 },
44660702
DM
14690 "file" : {
14691 "default_key" : 1,
14692 "description" : "The drive's backing volume.",
14693 "format" : "pve-volume-id-or-qm-path",
14694 "format_description" : "volume",
14695 "type" : "string"
56122987
DM
14696 },
14697 "format" : {
44660702 14698 "description" : "The drive's backing file's data format.",
56122987
DM
14699 "enum" : [
14700 "raw",
14701 "cow",
14702 "qcow",
14703 "qed",
14704 "qcow2",
14705 "vmdk",
14706 "cloop"
14707 ],
56122987 14708 "optional" : 1,
44660702 14709 "type" : "string"
56122987 14710 },
7aacca6f 14711 "heads" : {
7aacca6f 14712 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14713 "optional" : 1,
14714 "type" : "integer"
56122987 14715 },
44660702 14716 "iops" : {
de0983cb 14717 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
14718 "format_description" : "iops",
14719 "optional" : 1,
14720 "type" : "integer"
56122987 14721 },
44660702 14722 "iops_max" : {
de0983cb 14723 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14724 "format_description" : "iops",
56122987 14725 "optional" : 1,
44660702 14726 "type" : "integer"
56122987 14727 },
de0983cb
DM
14728 "iops_max_length" : {
14729 "description" : "Maximum length of I/O bursts in seconds.",
14730 "format_description" : "seconds",
14731 "minimum" : 1,
14732 "optional" : 1,
14733 "type" : "integer"
14734 },
44660702 14735 "iops_rd" : {
de0983cb 14736 "description" : "Maximum read I/O in operations per second.",
44660702 14737 "format_description" : "iops",
56122987 14738 "optional" : 1,
44660702 14739 "type" : "integer"
56122987 14740 },
de0983cb 14741 "iops_rd_length" : {
5d9c884c 14742 "alias" : "iops_rd_max_length"
de0983cb 14743 },
44660702 14744 "iops_rd_max" : {
de0983cb 14745 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 14746 "format_description" : "iops",
56122987 14747 "optional" : 1,
44660702 14748 "type" : "integer"
56122987 14749 },
5d9c884c
DM
14750 "iops_rd_max_length" : {
14751 "description" : "Maximum length of read I/O bursts in seconds.",
14752 "format_description" : "seconds",
14753 "minimum" : 1,
14754 "optional" : 1,
14755 "type" : "integer"
14756 },
44660702 14757 "iops_wr" : {
de0983cb 14758 "description" : "Maximum write I/O in operations per second.",
44660702 14759 "format_description" : "iops",
7aacca6f 14760 "optional" : 1,
44660702 14761 "type" : "integer"
7aacca6f 14762 },
de0983cb 14763 "iops_wr_length" : {
5d9c884c 14764 "alias" : "iops_wr_max_length"
de0983cb 14765 },
44660702 14766 "iops_wr_max" : {
de0983cb 14767 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14768 "format_description" : "iops",
56122987 14769 "optional" : 1,
7aacca6f 14770 "type" : "integer"
56122987 14771 },
5d9c884c
DM
14772 "iops_wr_max_length" : {
14773 "description" : "Maximum length of write I/O bursts in seconds.",
14774 "format_description" : "seconds",
14775 "minimum" : 1,
14776 "optional" : 1,
14777 "type" : "integer"
14778 },
44660702 14779 "mbps" : {
de0983cb 14780 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14781 "format_description" : "mbps",
56122987 14782 "optional" : 1,
44660702 14783 "type" : "number"
56122987 14784 },
44660702 14785 "mbps_max" : {
de0983cb 14786 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14787 "format_description" : "mbps",
7aacca6f 14788 "optional" : 1,
44660702 14789 "type" : "number"
7aacca6f 14790 },
44660702 14791 "mbps_rd" : {
de0983cb 14792 "description" : "Maximum read speed in megabytes per second.",
44660702 14793 "format_description" : "mbps",
7aacca6f 14794 "optional" : 1,
44660702 14795 "type" : "number"
7aacca6f 14796 },
44660702 14797 "mbps_rd_max" : {
de0983cb 14798 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14799 "format_description" : "mbps",
7aacca6f 14800 "optional" : 1,
44660702 14801 "type" : "number"
7aacca6f 14802 },
44660702 14803 "mbps_wr" : {
de0983cb 14804 "description" : "Maximum write speed in megabytes per second.",
44660702 14805 "format_description" : "mbps",
7aacca6f 14806 "optional" : 1,
44660702 14807 "type" : "number"
7aacca6f
DM
14808 },
14809 "mbps_wr_max" : {
de0983cb 14810 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14811 "format_description" : "mbps",
7aacca6f 14812 "optional" : 1,
44660702 14813 "type" : "number"
7aacca6f 14814 },
44660702
DM
14815 "media" : {
14816 "default" : "disk",
14817 "description" : "The drive's media type.",
56122987 14818 "enum" : [
44660702
DM
14819 "cdrom",
14820 "disk"
56122987 14821 ],
56122987 14822 "optional" : 1,
44660702 14823 "type" : "string"
56122987 14824 },
5d9c884c
DM
14825 "replicate" : {
14826 "default" : 1,
14827 "description" : "Whether the drive should considered for replication jobs.",
14828 "optional" : 1,
14829 "type" : "boolean"
14830 },
44660702
DM
14831 "rerror" : {
14832 "description" : "Read error action.",
7aacca6f
DM
14833 "enum" : [
14834 "ignore",
44660702
DM
14835 "report",
14836 "stop"
7aacca6f 14837 ],
56122987 14838 "optional" : 1,
44660702 14839 "type" : "string"
56122987 14840 },
44660702
DM
14841 "secs" : {
14842 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14843 "optional" : 1,
44660702 14844 "type" : "integer"
56122987 14845 },
44660702
DM
14846 "serial" : {
14847 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14848 "format" : "urlencoded",
14849 "format_description" : "serial",
14850 "maxLength" : 60,
14851 "optional" : 1,
14852 "type" : "string"
7aacca6f 14853 },
27a7acb2
DM
14854 "shared" : {
14855 "default" : 0,
14856 "description" : "Mark this locally-managed volume as available on all nodes",
14857 "optional" : 1,
14858 "type" : "boolean",
14859 "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!"
14860 },
7aacca6f
DM
14861 "size" : {
14862 "description" : "Disk size. This is purely informational and has no effect.",
44660702 14863 "format" : "disk-size",
f004f5b9 14864 "format_description" : "DiskSize",
56122987 14865 "optional" : 1,
44660702 14866 "type" : "string"
56122987 14867 },
44660702 14868 "snapshot" : {
27a7acb2 14869 "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 14870 "optional" : 1,
44660702 14871 "type" : "boolean"
56122987 14872 },
44660702
DM
14873 "trans" : {
14874 "description" : "Force disk geometry bios translation mode.",
56122987 14875 "enum" : [
44660702
DM
14876 "none",
14877 "lba",
14878 "auto"
7aacca6f 14879 ],
44660702
DM
14880 "optional" : 1,
14881 "type" : "string"
14882 },
14883 "volume" : {
14884 "alias" : "file"
56122987
DM
14885 },
14886 "werror" : {
56122987
DM
14887 "description" : "Write error action.",
14888 "enum" : [
14889 "enospc",
14890 "ignore",
14891 "report",
14892 "stop"
14893 ],
56122987 14894 "optional" : 1,
44660702
DM
14895 "type" : "string"
14896 }
14897 },
14898 "optional" : 1,
4bd7df8b 14899 "type" : "string",
27a7acb2 14900 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
14901 },
14902 "scsi[n]" : {
14903 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
14904 "format" : {
14905 "aio" : {
14906 "description" : "AIO type to use.",
14907 "enum" : [
14908 "native",
14909 "threads"
14910 ],
44660702
DM
14911 "optional" : 1,
14912 "type" : "string"
56122987 14913 },
7aacca6f 14914 "backup" : {
44660702 14915 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14916 "optional" : 1,
44660702 14917 "type" : "boolean"
7aacca6f 14918 },
44660702 14919 "bps" : {
de0983cb 14920 "description" : "Maximum r/w speed in bytes per second.",
44660702 14921 "format_description" : "bps",
7aacca6f 14922 "optional" : 1,
44660702 14923 "type" : "integer"
7aacca6f 14924 },
de0983cb
DM
14925 "bps_max_length" : {
14926 "description" : "Maximum length of I/O bursts in seconds.",
14927 "format_description" : "seconds",
14928 "minimum" : 1,
14929 "optional" : 1,
14930 "type" : "integer"
14931 },
44660702 14932 "bps_rd" : {
de0983cb 14933 "description" : "Maximum read speed in bytes per second.",
44660702 14934 "format_description" : "bps",
56122987 14935 "optional" : 1,
44660702 14936 "type" : "integer"
56122987 14937 },
de0983cb 14938 "bps_rd_length" : {
5d9c884c
DM
14939 "alias" : "bps_rd_max_length"
14940 },
14941 "bps_rd_max_length" : {
de0983cb
DM
14942 "description" : "Maximum length of read I/O bursts in seconds.",
14943 "format_description" : "seconds",
14944 "minimum" : 1,
14945 "optional" : 1,
14946 "type" : "integer"
14947 },
44660702 14948 "bps_wr" : {
de0983cb 14949 "description" : "Maximum write speed in bytes per second.",
44660702 14950 "format_description" : "bps",
7aacca6f 14951 "optional" : 1,
44660702 14952 "type" : "integer"
56122987 14953 },
de0983cb 14954 "bps_wr_length" : {
5d9c884c
DM
14955 "alias" : "bps_wr_max_length"
14956 },
14957 "bps_wr_max_length" : {
de0983cb
DM
14958 "description" : "Maximum length of write I/O bursts in seconds.",
14959 "format_description" : "seconds",
14960 "minimum" : 1,
14961 "optional" : 1,
14962 "type" : "integer"
14963 },
44660702
DM
14964 "cache" : {
14965 "description" : "The drive's cache mode",
7aacca6f
DM
14966 "enum" : [
14967 "none",
44660702
DM
14968 "writethrough",
14969 "writeback",
14970 "unsafe",
14971 "directsync"
7aacca6f 14972 ],
56122987 14973 "optional" : 1,
44660702 14974 "type" : "string"
56122987 14975 },
7aacca6f
DM
14976 "cyls" : {
14977 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14978 "optional" : 1,
44660702 14979 "type" : "integer"
7aacca6f 14980 },
44660702
DM
14981 "detect_zeroes" : {
14982 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14983 "optional" : 1,
44660702 14984 "type" : "boolean"
56122987 14985 },
44660702
DM
14986 "discard" : {
14987 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 14988 "enum" : [
44660702
DM
14989 "ignore",
14990 "on"
7aacca6f 14991 ],
7aacca6f 14992 "optional" : 1,
44660702 14993 "type" : "string"
56122987
DM
14994 },
14995 "file" : {
7aacca6f
DM
14996 "default_key" : 1,
14997 "description" : "The drive's backing volume.",
44660702
DM
14998 "format" : "pve-volume-id-or-qm-path",
14999 "format_description" : "volume",
7aacca6f 15000 "type" : "string"
56122987 15001 },
7aacca6f 15002 "format" : {
44660702 15003 "description" : "The drive's backing file's data format.",
56122987 15004 "enum" : [
7aacca6f
DM
15005 "raw",
15006 "cow",
15007 "qcow",
15008 "qed",
15009 "qcow2",
15010 "vmdk",
15011 "cloop"
56122987 15012 ],
44660702
DM
15013 "optional" : 1,
15014 "type" : "string"
56122987 15015 },
44660702
DM
15016 "heads" : {
15017 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15018 "optional" : 1,
15019 "type" : "integer"
15020 },
15021 "iops" : {
de0983cb 15022 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 15023 "format_description" : "iops",
56122987 15024 "optional" : 1,
44660702 15025 "type" : "integer"
56122987 15026 },
44660702 15027 "iops_max" : {
de0983cb 15028 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 15029 "format_description" : "iops",
7aacca6f 15030 "optional" : 1,
44660702 15031 "type" : "integer"
56122987 15032 },
de0983cb
DM
15033 "iops_max_length" : {
15034 "description" : "Maximum length of I/O bursts in seconds.",
15035 "format_description" : "seconds",
15036 "minimum" : 1,
15037 "optional" : 1,
15038 "type" : "integer"
15039 },
44660702 15040 "iops_rd" : {
de0983cb 15041 "description" : "Maximum read I/O in operations per second.",
44660702 15042 "format_description" : "iops",
56122987 15043 "optional" : 1,
44660702 15044 "type" : "integer"
56122987 15045 },
de0983cb 15046 "iops_rd_length" : {
5d9c884c 15047 "alias" : "iops_rd_max_length"
de0983cb 15048 },
44660702 15049 "iops_rd_max" : {
de0983cb 15050 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15051 "format_description" : "iops",
15052 "optional" : 1,
15053 "type" : "integer"
56122987 15054 },
5d9c884c
DM
15055 "iops_rd_max_length" : {
15056 "description" : "Maximum length of read I/O bursts in seconds.",
15057 "format_description" : "seconds",
15058 "minimum" : 1,
15059 "optional" : 1,
15060 "type" : "integer"
15061 },
44660702 15062 "iops_wr" : {
de0983cb 15063 "description" : "Maximum write I/O in operations per second.",
44660702 15064 "format_description" : "iops",
56122987 15065 "optional" : 1,
44660702 15066 "type" : "integer"
56122987 15067 },
de0983cb 15068 "iops_wr_length" : {
5d9c884c 15069 "alias" : "iops_wr_max_length"
de0983cb 15070 },
44660702 15071 "iops_wr_max" : {
de0983cb 15072 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 15073 "format_description" : "iops",
56122987 15074 "optional" : 1,
56122987
DM
15075 "type" : "integer"
15076 },
5d9c884c
DM
15077 "iops_wr_max_length" : {
15078 "description" : "Maximum length of write I/O bursts in seconds.",
15079 "format_description" : "seconds",
15080 "minimum" : 1,
15081 "optional" : 1,
15082 "type" : "integer"
15083 },
44660702
DM
15084 "iothread" : {
15085 "description" : "Whether to use iothreads for this drive",
44660702
DM
15086 "optional" : 1,
15087 "type" : "boolean"
15088 },
15089 "mbps" : {
de0983cb 15090 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15091 "format_description" : "mbps",
15092 "optional" : 1,
15093 "type" : "number"
15094 },
7aacca6f 15095 "mbps_max" : {
de0983cb 15096 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 15097 "format_description" : "mbps",
56122987 15098 "optional" : 1,
44660702 15099 "type" : "number"
56122987 15100 },
44660702 15101 "mbps_rd" : {
de0983cb 15102 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15103 "format_description" : "mbps",
15104 "optional" : 1,
15105 "type" : "number"
56122987 15106 },
44660702 15107 "mbps_rd_max" : {
de0983cb 15108 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 15109 "format_description" : "mbps",
56122987 15110 "optional" : 1,
44660702 15111 "type" : "number"
56122987 15112 },
44660702 15113 "mbps_wr" : {
de0983cb 15114 "description" : "Maximum write speed in megabytes per second.",
44660702 15115 "format_description" : "mbps",
56122987 15116 "optional" : 1,
44660702 15117 "type" : "number"
56122987 15118 },
44660702 15119 "mbps_wr_max" : {
de0983cb 15120 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 15121 "format_description" : "mbps",
7aacca6f 15122 "optional" : 1,
44660702 15123 "type" : "number"
56122987 15124 },
7aacca6f 15125 "media" : {
44660702 15126 "default" : "disk",
7aacca6f
DM
15127 "description" : "The drive's media type.",
15128 "enum" : [
15129 "cdrom",
15130 "disk"
15131 ],
56122987 15132 "optional" : 1,
44660702 15133 "type" : "string"
56122987 15134 },
44660702
DM
15135 "queues" : {
15136 "description" : "Number of queues.",
44660702
DM
15137 "minimum" : 2,
15138 "optional" : 1,
15139 "type" : "integer"
56122987 15140 },
5d9c884c
DM
15141 "replicate" : {
15142 "default" : 1,
15143 "description" : "Whether the drive should considered for replication jobs.",
15144 "optional" : 1,
15145 "type" : "boolean"
15146 },
15147 "rerror" : {
15148 "description" : "Read error action.",
15149 "enum" : [
15150 "ignore",
15151 "report",
15152 "stop"
15153 ],
15154 "optional" : 1,
15155 "type" : "string"
15156 },
52e44c50
FG
15157 "scsiblock" : {
15158 "default" : 0,
15159 "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",
15160 "optional" : 1,
15161 "type" : "boolean"
15162 },
7aacca6f 15163 "secs" : {
7aacca6f 15164 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
15165 "optional" : 1,
15166 "type" : "integer"
15167 },
15168 "serial" : {
15169 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15170 "format" : "urlencoded",
15171 "format_description" : "serial",
15172 "maxLength" : 60,
15173 "optional" : 1,
15174 "type" : "string"
15175 },
27a7acb2
DM
15176 "shared" : {
15177 "default" : 0,
15178 "description" : "Mark this locally-managed volume as available on all nodes",
15179 "optional" : 1,
15180 "type" : "boolean",
15181 "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!"
15182 },
44660702
DM
15183 "size" : {
15184 "description" : "Disk size. This is purely informational and has no effect.",
15185 "format" : "disk-size",
f004f5b9 15186 "format_description" : "DiskSize",
44660702
DM
15187 "optional" : 1,
15188 "type" : "string"
15189 },
15190 "snapshot" : {
27a7acb2 15191 "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
15192 "optional" : 1,
15193 "type" : "boolean"
15194 },
15195 "trans" : {
15196 "description" : "Force disk geometry bios translation mode.",
15197 "enum" : [
15198 "none",
15199 "lba",
15200 "auto"
15201 ],
44660702
DM
15202 "optional" : 1,
15203 "type" : "string"
15204 },
15205 "volume" : {
15206 "alias" : "file"
15207 },
15208 "werror" : {
15209 "description" : "Write error action.",
15210 "enum" : [
15211 "enospc",
15212 "ignore",
15213 "report",
15214 "stop"
15215 ],
44660702
DM
15216 "optional" : 1,
15217 "type" : "string"
56122987
DM
15218 }
15219 },
7aacca6f 15220 "optional" : 1,
4bd7df8b 15221 "type" : "string",
27a7acb2 15222 "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>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 15223 },
44660702
DM
15224 "scsihw" : {
15225 "default" : "lsi",
c2993fe5 15226 "description" : "SCSI controller model",
44660702
DM
15227 "enum" : [
15228 "lsi",
15229 "lsi53c810",
15230 "virtio-scsi-pci",
15231 "virtio-scsi-single",
15232 "megasas",
15233 "pvscsi"
15234 ],
7aacca6f 15235 "optional" : 1,
44660702 15236 "type" : "string"
7aacca6f 15237 },
27a7acb2
DM
15238 "searchdomain" : {
15239 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
15240 "optional" : 1,
15241 "type" : "string",
15242 "typetext" : "<string>"
15243 },
44660702 15244 "serial[n]" : {
c2993fe5 15245 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
15246 "optional" : 1,
15247 "pattern" : "(/dev/.+|socket)",
c2993fe5 15248 "type" : "string",
57b78691 15249 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
15250 },
15251 "shares" : {
15252 "default" : 1000,
5da3d723 15253 "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
15254 "maximum" : 50000,
15255 "minimum" : 0,
15256 "optional" : 1,
4bd7df8b 15257 "type" : "integer",
013dc89f 15258 "typetext" : "<integer> (0 - 50000)"
44660702
DM
15259 },
15260 "smbios1" : {
15261 "description" : "Specify SMBIOS type 1 fields.",
15262 "format" : "pve-qm-smbios1",
15263 "maxLength" : 256,
7aacca6f 15264 "optional" : 1,
4bd7df8b
DM
15265 "type" : "string",
15266 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
15267 },
15268 "smp" : {
44660702 15269 "default" : 1,
7aacca6f 15270 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 15271 "minimum" : 1,
56122987 15272 "optional" : 1,
4bd7df8b 15273 "type" : "integer",
013dc89f 15274 "typetext" : "<integer> (1 - N)"
44660702
DM
15275 },
15276 "sockets" : {
7aacca6f 15277 "default" : 1,
44660702
DM
15278 "description" : "The number of CPU sockets.",
15279 "minimum" : 1,
15280 "optional" : 1,
4bd7df8b 15281 "type" : "integer",
013dc89f 15282 "typetext" : "<integer> (1 - N)"
7aacca6f 15283 },
27a7acb2
DM
15284 "sshkeys" : {
15285 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
15286 "format" : "urlencoded",
15287 "optional" : 1,
15288 "type" : "string",
15289 "typetext" : "<string>"
15290 },
5da3d723
TL
15291 "start" : {
15292 "default" : 0,
15293 "description" : "Start VM after it was created successfully.",
15294 "optional" : 1,
15295 "type" : "boolean",
15296 "typetext" : "<boolean>"
15297 },
44660702
DM
15298 "startdate" : {
15299 "default" : "now",
15300 "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'.",
15301 "optional" : 1,
15302 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
15303 "type" : "string",
15304 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
15305 },
15306 "startup" : {
15307 "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.",
15308 "format" : "pve-startup-order",
15309 "optional" : 1,
15310 "type" : "string",
15311 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15312 },
15313 "storage" : {
15314 "description" : "Default storage.",
15315 "format" : "pve-storage-id",
7aacca6f 15316 "optional" : 1,
013dc89f
DM
15317 "type" : "string",
15318 "typetext" : "<string>"
56122987 15319 },
44660702
DM
15320 "tablet" : {
15321 "default" : 1,
c2993fe5 15322 "description" : "Enable/disable the USB tablet device.",
56122987 15323 "optional" : 1,
c2993fe5 15324 "type" : "boolean",
013dc89f 15325 "typetext" : "<boolean>",
c2993fe5 15326 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
44660702
DM
15327 },
15328 "tdf" : {
15329 "default" : 0,
15330 "description" : "Enable/disable time drift fix.",
15331 "optional" : 1,
013dc89f
DM
15332 "type" : "boolean",
15333 "typetext" : "<boolean>"
7aacca6f
DM
15334 },
15335 "template" : {
7aacca6f 15336 "default" : 0,
44660702 15337 "description" : "Enable/disable Template.",
7aacca6f 15338 "optional" : 1,
013dc89f
DM
15339 "type" : "boolean",
15340 "typetext" : "<boolean>"
7aacca6f 15341 },
44660702
DM
15342 "unique" : {
15343 "description" : "Assign a unique random ethernet address.",
7aacca6f 15344 "optional" : 1,
44660702 15345 "requires" : "archive",
013dc89f
DM
15346 "type" : "boolean",
15347 "typetext" : "<boolean>"
56122987 15348 },
44660702 15349 "unused[n]" : {
c2993fe5 15350 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 15351 "format" : "pve-volume-id",
7aacca6f 15352 "optional" : 1,
013dc89f
DM
15353 "type" : "string",
15354 "typetext" : "<string>"
44660702
DM
15355 },
15356 "usb[n]" : {
c2993fe5 15357 "description" : "Configure an USB device (n is 0 to 4).",
56122987 15358 "format" : {
7aacca6f
DM
15359 "host" : {
15360 "default_key" : 1,
c2993fe5 15361 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 15362 "format" : "pve-qm-usb-device",
44660702
DM
15363 "format_description" : "HOSTUSBDEVICE|spice",
15364 "type" : "string"
7aacca6f 15365 },
56122987 15366 "usb3" : {
c2993fe5
DM
15367 "default" : 0,
15368 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
56122987 15369 "optional" : 1,
56122987 15370 "type" : "boolean"
7aacca6f 15371 }
56122987 15372 },
56122987 15373 "optional" : 1,
4bd7df8b
DM
15374 "type" : "string",
15375 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 15376 },
44660702
DM
15377 "vcpus" : {
15378 "default" : 0,
15379 "description" : "Number of hotplugged vcpus.",
15380 "minimum" : 1,
56122987 15381 "optional" : 1,
4bd7df8b 15382 "type" : "integer",
013dc89f 15383 "typetext" : "<integer> (1 - N)"
7aacca6f 15384 },
44660702 15385 "vga" : {
c2993fe5 15386 "description" : "Select the VGA type.",
44660702
DM
15387 "enum" : [
15388 "std",
15389 "cirrus",
15390 "vmware",
15391 "qxl",
15392 "serial0",
15393 "serial1",
15394 "serial2",
15395 "serial3",
15396 "qxl2",
15397 "qxl3",
15398 "qxl4"
15399 ],
15400 "optional" : 1,
c2993fe5
DM
15401 "type" : "string",
15402 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 15403 },
44660702
DM
15404 "virtio[n]" : {
15405 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
15406 "format" : {
15407 "aio" : {
15408 "description" : "AIO type to use.",
15409 "enum" : [
15410 "native",
15411 "threads"
15412 ],
44660702
DM
15413 "optional" : 1,
15414 "type" : "string"
15415 },
15416 "backup" : {
15417 "description" : "Whether the drive should be included when making backups.",
44660702
DM
15418 "optional" : 1,
15419 "type" : "boolean"
15420 },
15421 "bps" : {
de0983cb 15422 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
15423 "format_description" : "bps",
15424 "optional" : 1,
15425 "type" : "integer"
15426 },
de0983cb
DM
15427 "bps_max_length" : {
15428 "description" : "Maximum length of I/O bursts in seconds.",
15429 "format_description" : "seconds",
15430 "minimum" : 1,
15431 "optional" : 1,
15432 "type" : "integer"
15433 },
44660702 15434 "bps_rd" : {
de0983cb 15435 "description" : "Maximum read speed in bytes per second.",
44660702
DM
15436 "format_description" : "bps",
15437 "optional" : 1,
15438 "type" : "integer"
15439 },
de0983cb 15440 "bps_rd_length" : {
5d9c884c
DM
15441 "alias" : "bps_rd_max_length"
15442 },
15443 "bps_rd_max_length" : {
de0983cb
DM
15444 "description" : "Maximum length of read I/O bursts in seconds.",
15445 "format_description" : "seconds",
15446 "minimum" : 1,
15447 "optional" : 1,
15448 "type" : "integer"
15449 },
44660702 15450 "bps_wr" : {
de0983cb 15451 "description" : "Maximum write speed in bytes per second.",
44660702
DM
15452 "format_description" : "bps",
15453 "optional" : 1,
15454 "type" : "integer"
15455 },
de0983cb 15456 "bps_wr_length" : {
5d9c884c
DM
15457 "alias" : "bps_wr_max_length"
15458 },
15459 "bps_wr_max_length" : {
de0983cb
DM
15460 "description" : "Maximum length of write I/O bursts in seconds.",
15461 "format_description" : "seconds",
15462 "minimum" : 1,
15463 "optional" : 1,
15464 "type" : "integer"
15465 },
44660702
DM
15466 "cache" : {
15467 "description" : "The drive's cache mode",
15468 "enum" : [
15469 "none",
15470 "writethrough",
15471 "writeback",
15472 "unsafe",
15473 "directsync"
15474 ],
44660702
DM
15475 "optional" : 1,
15476 "type" : "string"
15477 },
15478 "cyls" : {
15479 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15480 "optional" : 1,
15481 "type" : "integer"
15482 },
15483 "detect_zeroes" : {
15484 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15485 "optional" : 1,
15486 "type" : "boolean"
15487 },
15488 "discard" : {
15489 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15490 "enum" : [
15491 "ignore",
15492 "on"
15493 ],
44660702
DM
15494 "optional" : 1,
15495 "type" : "string"
15496 },
15497 "file" : {
15498 "default_key" : 1,
15499 "description" : "The drive's backing volume.",
15500 "format" : "pve-volume-id-or-qm-path",
15501 "format_description" : "volume",
15502 "type" : "string"
15503 },
15504 "format" : {
15505 "description" : "The drive's backing file's data format.",
15506 "enum" : [
15507 "raw",
15508 "cow",
15509 "qcow",
15510 "qed",
15511 "qcow2",
15512 "vmdk",
15513 "cloop"
15514 ],
44660702
DM
15515 "optional" : 1,
15516 "type" : "string"
15517 },
15518 "heads" : {
15519 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15520 "optional" : 1,
15521 "type" : "integer"
15522 },
15523 "iops" : {
de0983cb 15524 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
15525 "format_description" : "iops",
15526 "optional" : 1,
15527 "type" : "integer"
15528 },
15529 "iops_max" : {
de0983cb 15530 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
15531 "format_description" : "iops",
15532 "optional" : 1,
15533 "type" : "integer"
15534 },
de0983cb
DM
15535 "iops_max_length" : {
15536 "description" : "Maximum length of I/O bursts in seconds.",
15537 "format_description" : "seconds",
15538 "minimum" : 1,
15539 "optional" : 1,
15540 "type" : "integer"
15541 },
44660702 15542 "iops_rd" : {
de0983cb 15543 "description" : "Maximum read I/O in operations per second.",
44660702
DM
15544 "format_description" : "iops",
15545 "optional" : 1,
15546 "type" : "integer"
15547 },
de0983cb 15548 "iops_rd_length" : {
5d9c884c 15549 "alias" : "iops_rd_max_length"
de0983cb 15550 },
44660702 15551 "iops_rd_max" : {
de0983cb 15552 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15553 "format_description" : "iops",
15554 "optional" : 1,
15555 "type" : "integer"
15556 },
5d9c884c
DM
15557 "iops_rd_max_length" : {
15558 "description" : "Maximum length of read I/O bursts in seconds.",
15559 "format_description" : "seconds",
15560 "minimum" : 1,
15561 "optional" : 1,
15562 "type" : "integer"
15563 },
44660702 15564 "iops_wr" : {
de0983cb 15565 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15566 "format_description" : "iops",
15567 "optional" : 1,
15568 "type" : "integer"
15569 },
de0983cb 15570 "iops_wr_length" : {
5d9c884c 15571 "alias" : "iops_wr_max_length"
de0983cb 15572 },
44660702 15573 "iops_wr_max" : {
de0983cb 15574 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15575 "format_description" : "iops",
15576 "optional" : 1,
15577 "type" : "integer"
15578 },
5d9c884c
DM
15579 "iops_wr_max_length" : {
15580 "description" : "Maximum length of write I/O bursts in seconds.",
15581 "format_description" : "seconds",
15582 "minimum" : 1,
15583 "optional" : 1,
15584 "type" : "integer"
15585 },
44660702
DM
15586 "iothread" : {
15587 "description" : "Whether to use iothreads for this drive",
44660702
DM
15588 "optional" : 1,
15589 "type" : "boolean"
15590 },
15591 "mbps" : {
de0983cb 15592 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15593 "format_description" : "mbps",
15594 "optional" : 1,
15595 "type" : "number"
15596 },
15597 "mbps_max" : {
de0983cb 15598 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
15599 "format_description" : "mbps",
15600 "optional" : 1,
15601 "type" : "number"
15602 },
15603 "mbps_rd" : {
de0983cb 15604 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15605 "format_description" : "mbps",
15606 "optional" : 1,
15607 "type" : "number"
15608 },
15609 "mbps_rd_max" : {
de0983cb 15610 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15611 "format_description" : "mbps",
15612 "optional" : 1,
15613 "type" : "number"
15614 },
15615 "mbps_wr" : {
de0983cb 15616 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15617 "format_description" : "mbps",
15618 "optional" : 1,
15619 "type" : "number"
15620 },
15621 "mbps_wr_max" : {
de0983cb 15622 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15623 "format_description" : "mbps",
15624 "optional" : 1,
15625 "type" : "number"
15626 },
15627 "media" : {
15628 "default" : "disk",
15629 "description" : "The drive's media type.",
15630 "enum" : [
15631 "cdrom",
15632 "disk"
15633 ],
44660702
DM
15634 "optional" : 1,
15635 "type" : "string"
15636 },
5d9c884c
DM
15637 "replicate" : {
15638 "default" : 1,
15639 "description" : "Whether the drive should considered for replication jobs.",
15640 "optional" : 1,
15641 "type" : "boolean"
15642 },
44660702
DM
15643 "rerror" : {
15644 "description" : "Read error action.",
15645 "enum" : [
15646 "ignore",
15647 "report",
15648 "stop"
15649 ],
44660702
DM
15650 "optional" : 1,
15651 "type" : "string"
15652 },
15653 "secs" : {
15654 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
15655 "optional" : 1,
15656 "type" : "integer"
15657 },
15658 "serial" : {
15659 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15660 "format" : "urlencoded",
15661 "format_description" : "serial",
15662 "maxLength" : 60,
15663 "optional" : 1,
15664 "type" : "string"
15665 },
27a7acb2
DM
15666 "shared" : {
15667 "default" : 0,
15668 "description" : "Mark this locally-managed volume as available on all nodes",
15669 "optional" : 1,
15670 "type" : "boolean",
15671 "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!"
15672 },
44660702
DM
15673 "size" : {
15674 "description" : "Disk size. This is purely informational and has no effect.",
15675 "format" : "disk-size",
f004f5b9 15676 "format_description" : "DiskSize",
44660702
DM
15677 "optional" : 1,
15678 "type" : "string"
15679 },
15680 "snapshot" : {
27a7acb2 15681 "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
15682 "optional" : 1,
15683 "type" : "boolean"
15684 },
15685 "trans" : {
15686 "description" : "Force disk geometry bios translation mode.",
15687 "enum" : [
15688 "none",
15689 "lba",
15690 "auto"
15691 ],
44660702
DM
15692 "optional" : 1,
15693 "type" : "string"
15694 },
15695 "volume" : {
15696 "alias" : "file"
15697 },
15698 "werror" : {
15699 "description" : "Write error action.",
15700 "enum" : [
15701 "enospc",
15702 "ignore",
15703 "report",
15704 "stop"
15705 ],
44660702
DM
15706 "optional" : 1,
15707 "type" : "string"
15708 }
15709 },
15710 "optional" : 1,
4bd7df8b 15711 "type" : "string",
27a7acb2 15712 "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 15713 },
44660702
DM
15714 "vmid" : {
15715 "description" : "The (unique) ID of the VM.",
15716 "format" : "pve-vmid",
15717 "minimum" : 1,
4bd7df8b 15718 "type" : "integer",
013dc89f 15719 "typetext" : "<integer> (1 - N)"
44660702 15720 },
2489d6df
WB
15721 "vmstatestorage" : {
15722 "description" : "Default storage for VM state volumes/files.",
15723 "format" : "pve-storage-id",
15724 "optional" : 1,
15725 "type" : "string",
15726 "typetext" : "<string>"
15727 },
44660702 15728 "watchdog" : {
c2993fe5 15729 "description" : "Create a virtual hardware watchdog device.",
44660702 15730 "format" : "pve-qm-watchdog",
7aacca6f 15731 "optional" : 1,
c2993fe5 15732 "type" : "string",
013dc89f 15733 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 15734 "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 15735 }
44660702 15736 }
56122987 15737 },
56122987 15738 "permissions" : {
44660702
DM
15739 "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.",
15740 "user" : "all"
56122987 15741 },
44660702
DM
15742 "protected" : 1,
15743 "proxyto" : "node",
56122987 15744 "returns" : {
44660702 15745 "type" : "string"
7aacca6f 15746 }
56122987 15747 }
7aacca6f 15748 },
44660702 15749 "leaf" : 0,
7aacca6f 15750 "path" : "/nodes/{node}/qemu",
44660702 15751 "text" : "qemu"
56122987
DM
15752 },
15753 {
15754 "children" : [
15755 {
56122987
DM
15756 "children" : [
15757 {
56122987 15758 "info" : {
44660702
DM
15759 "GET" : {
15760 "description" : "Get container configuration.",
15761 "method" : "GET",
15762 "name" : "vm_config",
15763 "parameters" : {
15764 "additionalProperties" : 0,
15765 "properties" : {
15766 "node" : {
15767 "description" : "The cluster node name.",
15768 "format" : "pve-node",
013dc89f
DM
15769 "type" : "string",
15770 "typetext" : "<string>"
44660702
DM
15771 },
15772 "vmid" : {
15773 "description" : "The (unique) ID of the VM.",
15774 "format" : "pve-vmid",
15775 "minimum" : 1,
4bd7df8b 15776 "type" : "integer",
013dc89f 15777 "typetext" : "<integer> (1 - N)"
44660702
DM
15778 }
15779 }
15780 },
15781 "permissions" : {
15782 "check" : [
15783 "perm",
15784 "/vms/{vmid}",
15785 [
15786 "VM.Audit"
15787 ]
15788 ]
15789 },
15790 "proxyto" : "node",
15791 "returns" : {
15792 "properties" : {
15793 "digest" : {
15794 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
15795 "type" : "string"
15796 }
15797 },
15798 "type" : "object"
15799 }
15800 },
56122987 15801 "PUT" : {
44660702
DM
15802 "description" : "Set container options.",
15803 "method" : "PUT",
15804 "name" : "update_vm",
56122987 15805 "parameters" : {
44660702 15806 "additionalProperties" : 0,
56122987 15807 "properties" : {
44660702
DM
15808 "arch" : {
15809 "default" : "amd64",
15810 "description" : "OS architecture type.",
15811 "enum" : [
15812 "amd64",
15813 "i386"
15814 ],
7aacca6f 15815 "optional" : 1,
44660702
DM
15816 "type" : "string"
15817 },
15818 "cmode" : {
7aacca6f 15819 "default" : "tty",
44660702 15820 "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
15821 "enum" : [
15822 "shell",
15823 "console",
15824 "tty"
15825 ],
44660702
DM
15826 "optional" : 1,
15827 "type" : "string"
7aacca6f 15828 },
44660702
DM
15829 "console" : {
15830 "default" : 1,
15831 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 15832 "optional" : 1,
013dc89f
DM
15833 "type" : "boolean",
15834 "typetext" : "<boolean>"
7aacca6f 15835 },
de0983cb
DM
15836 "cores" : {
15837 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
15838 "maximum" : 128,
15839 "minimum" : 1,
15840 "optional" : 1,
15841 "type" : "integer",
013dc89f 15842 "typetext" : "<integer> (1 - 128)"
de0983cb 15843 },
44660702
DM
15844 "cpulimit" : {
15845 "default" : 0,
15846 "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.",
15847 "maximum" : 128,
7aacca6f 15848 "minimum" : 0,
7aacca6f 15849 "optional" : 1,
4bd7df8b 15850 "type" : "number",
013dc89f 15851 "typetext" : "<number> (0 - 128)"
7aacca6f 15852 },
44660702
DM
15853 "cpuunits" : {
15854 "default" : 1024,
15855 "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.",
15856 "maximum" : 500000,
15857 "minimum" : 0,
15858 "optional" : 1,
4bd7df8b 15859 "type" : "integer",
013dc89f 15860 "typetext" : "<integer> (0 - 500000)"
7aacca6f 15861 },
44660702
DM
15862 "delete" : {
15863 "description" : "A list of settings you want to delete.",
15864 "format" : "pve-configid-list",
7aacca6f 15865 "optional" : 1,
013dc89f
DM
15866 "type" : "string",
15867 "typetext" : "<string>"
7aacca6f 15868 },
44660702
DM
15869 "description" : {
15870 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 15871 "optional" : 1,
013dc89f
DM
15872 "type" : "string",
15873 "typetext" : "<string>"
7aacca6f 15874 },
44660702
DM
15875 "digest" : {
15876 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15877 "maxLength" : 40,
7aacca6f 15878 "optional" : 1,
013dc89f
DM
15879 "type" : "string",
15880 "typetext" : "<string>"
7aacca6f 15881 },
44660702
DM
15882 "hostname" : {
15883 "description" : "Set a host name for the container.",
15884 "format" : "dns-name",
15885 "maxLength" : 255,
56122987 15886 "optional" : 1,
013dc89f
DM
15887 "type" : "string",
15888 "typetext" : "<string>"
44660702
DM
15889 },
15890 "lock" : {
15891 "description" : "Lock/unlock the VM.",
15892 "enum" : [
15893 "migrate",
15894 "backup",
15895 "snapshot",
15896 "rollback"
15897 ],
15898 "optional" : 1,
15899 "type" : "string"
15900 },
15901 "memory" : {
15902 "default" : 512,
15903 "description" : "Amount of RAM for the VM in MB.",
15904 "minimum" : 16,
15905 "optional" : 1,
4bd7df8b 15906 "type" : "integer",
013dc89f 15907 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
15908 },
15909 "mp[n]" : {
c2993fe5 15910 "description" : "Use volume as container mount point.",
7aacca6f 15911 "format" : {
7aacca6f
DM
15912 "acl" : {
15913 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 15914 "optional" : 1,
44660702 15915 "type" : "boolean"
7aacca6f
DM
15916 },
15917 "backup" : {
de0983cb 15918 "description" : "Whether to include the mount point in backups.",
7aacca6f 15919 "optional" : 1,
4bd7df8b 15920 "type" : "boolean",
de0983cb 15921 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
15922 },
15923 "mp" : {
de0983cb 15924 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 15925 "format" : "pve-lxc-mp-string",
44660702 15926 "format_description" : "Path",
4bd7df8b 15927 "type" : "string",
de0983cb 15928 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 15929 },
5d9c884c
DM
15930 "quota" : {
15931 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
15932 "optional" : 1,
15933 "type" : "boolean"
15934 },
15935 "replicate" : {
15936 "default" : 1,
15937 "description" : "Will include this volume to a storage replica job.",
44660702
DM
15938 "optional" : 1,
15939 "type" : "boolean"
15940 },
15941 "ro" : {
de0983cb 15942 "description" : "Read-only mount point",
44660702
DM
15943 "optional" : 1,
15944 "type" : "boolean"
15945 },
de0983cb
DM
15946 "shared" : {
15947 "default" : 0,
15948 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
15949 "optional" : 1,
15950 "type" : "boolean",
15951 "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!"
15952 },
44660702
DM
15953 "size" : {
15954 "description" : "Volume size (read only value).",
15955 "format" : "disk-size",
15956 "format_description" : "DiskSize",
15957 "optional" : 1,
15958 "type" : "string"
15959 },
15960 "volume" : {
15961 "default_key" : 1,
15962 "description" : "Volume, device or directory to mount into the container.",
15963 "format" : "pve-lxc-mp-string",
15964 "format_description" : "volume",
15965 "type" : "string"
15966 }
15967 },
7aacca6f 15968 "optional" : 1,
4bd7df8b 15969 "type" : "string",
5d9c884c 15970 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 15971 },
44660702
DM
15972 "nameserver" : {
15973 "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.",
15974 "format" : "address-list",
56122987 15975 "optional" : 1,
013dc89f
DM
15976 "type" : "string",
15977 "typetext" : "<string>"
56122987
DM
15978 },
15979 "net[n]" : {
44660702 15980 "description" : "Specifies network interfaces for the container.",
56122987 15981 "format" : {
44660702
DM
15982 "bridge" : {
15983 "description" : "Bridge to attach the network device to.",
f004f5b9 15984 "format_description" : "bridge",
56122987 15985 "optional" : 1,
44660702
DM
15986 "pattern" : "[-_.\\w\\d]+",
15987 "type" : "string"
56122987 15988 },
44660702
DM
15989 "firewall" : {
15990 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 15991 "optional" : 1,
44660702 15992 "type" : "boolean"
56122987 15993 },
44660702
DM
15994 "gw" : {
15995 "description" : "Default gateway for IPv4 traffic.",
15996 "format" : "ipv4",
15997 "format_description" : "GatewayIPv4",
56122987 15998 "optional" : 1,
44660702 15999 "type" : "string"
56122987
DM
16000 },
16001 "gw6" : {
7aacca6f 16002 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
16003 "format" : "ipv6",
16004 "format_description" : "GatewayIPv6",
7aacca6f 16005 "optional" : 1,
56122987
DM
16006 "type" : "string"
16007 },
44660702 16008 "hwaddr" : {
f004f5b9
DM
16009 "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)",
16010 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
16011 "optional" : 1,
16012 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
16013 "type" : "string"
16014 },
16015 "ip" : {
16016 "description" : "IPv4 address in CIDR format.",
16017 "format" : "pve-ipv4-config",
2489d6df 16018 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 16019 "optional" : 1,
44660702 16020 "type" : "string"
56122987 16021 },
7aacca6f 16022 "ip6" : {
7aacca6f
DM
16023 "description" : "IPv6 address in CIDR format.",
16024 "format" : "pve-ipv6-config",
2489d6df 16025 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 16026 "optional" : 1,
44660702 16027 "type" : "string"
56122987 16028 },
44660702
DM
16029 "mtu" : {
16030 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 16031 "minimum" : 64,
56122987 16032 "optional" : 1,
44660702 16033 "type" : "integer"
56122987
DM
16034 },
16035 "name" : {
44660702 16036 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 16037 "format_description" : "string",
56122987 16038 "pattern" : "[-_.\\w\\d]+",
44660702 16039 "type" : "string"
56122987 16040 },
44660702
DM
16041 "rate" : {
16042 "description" : "Apply rate limiting to the interface",
16043 "format_description" : "mbps",
56122987 16044 "optional" : 1,
44660702 16045 "type" : "number"
7aacca6f 16046 },
44660702
DM
16047 "tag" : {
16048 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
16049 "maximum" : 4094,
16050 "minimum" : 1,
56122987 16051 "optional" : 1,
7aacca6f 16052 "type" : "integer"
56122987 16053 },
44660702
DM
16054 "trunks" : {
16055 "description" : "VLAN ids to pass through the interface",
16056 "format_description" : "vlanid[;vlanid...]",
16057 "optional" : 1,
16058 "pattern" : "(?^:\\d+(?:;\\d+)*)",
16059 "type" : "string"
16060 },
16061 "type" : {
16062 "description" : "Network interface type.",
16063 "enum" : [
16064 "veth"
16065 ],
56122987 16066 "optional" : 1,
44660702 16067 "type" : "string"
56122987
DM
16068 }
16069 },
7aacca6f 16070 "optional" : 1,
4bd7df8b 16071 "type" : "string",
2489d6df 16072 "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 16073 },
44660702
DM
16074 "node" : {
16075 "description" : "The cluster node name.",
16076 "format" : "pve-node",
013dc89f
DM
16077 "type" : "string",
16078 "typetext" : "<string>"
56122987 16079 },
44660702
DM
16080 "onboot" : {
16081 "default" : 0,
16082 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 16083 "optional" : 1,
013dc89f
DM
16084 "type" : "boolean",
16085 "typetext" : "<boolean>"
56122987 16086 },
44660702
DM
16087 "ostype" : {
16088 "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.",
16089 "enum" : [
16090 "debian",
16091 "ubuntu",
16092 "centos",
16093 "fedora",
16094 "opensuse",
16095 "archlinux",
16096 "alpine",
57b78691 16097 "gentoo",
44660702
DM
16098 "unmanaged"
16099 ],
56122987 16100 "optional" : 1,
44660702 16101 "type" : "string"
56122987 16102 },
44660702
DM
16103 "protection" : {
16104 "default" : 0,
16105 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 16106 "optional" : 1,
013dc89f
DM
16107 "type" : "boolean",
16108 "typetext" : "<boolean>"
56122987 16109 },
7aacca6f
DM
16110 "rootfs" : {
16111 "description" : "Use volume as container root.",
56122987
DM
16112 "format" : {
16113 "acl" : {
44660702 16114 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
16115 "optional" : 1,
16116 "type" : "boolean"
56122987 16117 },
44660702
DM
16118 "quota" : {
16119 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
16120 "optional" : 1,
16121 "type" : "boolean"
16122 },
5d9c884c
DM
16123 "replicate" : {
16124 "default" : 1,
16125 "description" : "Will include this volume to a storage replica job.",
16126 "optional" : 1,
16127 "type" : "boolean"
16128 },
44660702 16129 "ro" : {
de0983cb 16130 "description" : "Read-only mount point",
56122987 16131 "optional" : 1,
44660702
DM
16132 "type" : "boolean"
16133 },
de0983cb
DM
16134 "shared" : {
16135 "default" : 0,
16136 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16137 "optional" : 1,
16138 "type" : "boolean",
16139 "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!"
16140 },
44660702 16141 "size" : {
7aacca6f 16142 "description" : "Volume size (read only value).",
44660702 16143 "format" : "disk-size",
56122987 16144 "format_description" : "DiskSize",
56122987 16145 "optional" : 1,
44660702 16146 "type" : "string"
7aacca6f
DM
16147 },
16148 "volume" : {
7aacca6f
DM
16149 "default_key" : 1,
16150 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
16151 "format" : "pve-lxc-mp-string",
16152 "format_description" : "volume",
7aacca6f 16153 "type" : "string"
56122987 16154 }
44660702
DM
16155 },
16156 "optional" : 1,
4bd7df8b 16157 "type" : "string",
5d9c884c 16158 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
16159 },
16160 "searchdomain" : {
16161 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
16162 "format" : "dns-name-list",
16163 "optional" : 1,
013dc89f
DM
16164 "type" : "string",
16165 "typetext" : "<string>"
44660702
DM
16166 },
16167 "startup" : {
16168 "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.",
16169 "format" : "pve-startup-order",
16170 "optional" : 1,
16171 "type" : "string",
16172 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
16173 },
16174 "swap" : {
16175 "default" : 512,
16176 "description" : "Amount of SWAP for the VM in MB.",
16177 "minimum" : 0,
16178 "optional" : 1,
4bd7df8b 16179 "type" : "integer",
013dc89f 16180 "typetext" : "<integer> (0 - N)"
56122987 16181 },
56122987 16182 "template" : {
44660702 16183 "default" : 0,
7aacca6f 16184 "description" : "Enable/disable Template.",
56122987 16185 "optional" : 1,
013dc89f
DM
16186 "type" : "boolean",
16187 "typetext" : "<boolean>"
56122987 16188 },
44660702
DM
16189 "tty" : {
16190 "default" : 2,
16191 "description" : "Specify the number of tty available to the container",
16192 "maximum" : 6,
16193 "minimum" : 0,
16194 "optional" : 1,
4bd7df8b 16195 "type" : "integer",
013dc89f 16196 "typetext" : "<integer> (0 - 6)"
56122987 16197 },
44660702
DM
16198 "unprivileged" : {
16199 "default" : 0,
16200 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 16201 "optional" : 1,
013dc89f
DM
16202 "type" : "boolean",
16203 "typetext" : "<boolean>"
56122987 16204 },
44660702 16205 "unused[n]" : {
c2993fe5 16206 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 16207 "format" : "pve-volume-id",
56122987 16208 "optional" : 1,
013dc89f
DM
16209 "type" : "string",
16210 "typetext" : "<string>"
44660702
DM
16211 },
16212 "vmid" : {
16213 "description" : "The (unique) ID of the VM.",
16214 "format" : "pve-vmid",
16215 "minimum" : 1,
4bd7df8b 16216 "type" : "integer",
013dc89f 16217 "typetext" : "<integer> (1 - N)"
56122987 16218 }
44660702 16219 }
56122987 16220 },
56122987
DM
16221 "permissions" : {
16222 "check" : [
16223 "perm",
16224 "/vms/{vmid}",
16225 [
16226 "VM.Config.Disk",
16227 "VM.Config.CPU",
16228 "VM.Config.Memory",
16229 "VM.Config.Network",
16230 "VM.Config.Options"
16231 ],
16232 "any",
16233 1
52e44c50
FG
16234 ],
16235 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 16236 },
44660702
DM
16237 "protected" : 1,
16238 "proxyto" : "node",
56122987
DM
16239 "returns" : {
16240 "type" : "null"
7aacca6f 16241 }
56122987 16242 }
7aacca6f 16243 },
44660702 16244 "leaf" : 1,
7aacca6f 16245 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 16246 "text" : "config"
56122987
DM
16247 },
16248 {
56122987
DM
16249 "children" : [
16250 {
16251 "info" : {
16252 "GET" : {
44660702 16253 "description" : "Get virtual machine status.",
7aacca6f 16254 "method" : "GET",
44660702 16255 "name" : "vm_status",
56122987 16256 "parameters" : {
44660702 16257 "additionalProperties" : 0,
56122987 16258 "properties" : {
56122987 16259 "node" : {
44660702 16260 "description" : "The cluster node name.",
56122987 16261 "format" : "pve-node",
013dc89f
DM
16262 "type" : "string",
16263 "typetext" : "<string>"
7aacca6f
DM
16264 },
16265 "vmid" : {
16266 "description" : "The (unique) ID of the VM.",
44660702 16267 "format" : "pve-vmid",
7aacca6f 16268 "minimum" : 1,
4bd7df8b 16269 "type" : "integer",
013dc89f 16270 "typetext" : "<integer> (1 - N)"
56122987 16271 }
44660702 16272 }
7aacca6f
DM
16273 },
16274 "permissions" : {
16275 "check" : [
16276 "perm",
16277 "/vms/{vmid}",
16278 [
16279 "VM.Audit"
16280 ]
16281 ]
16282 },
44660702 16283 "protected" : 1,
7aacca6f 16284 "proxyto" : "node",
44660702
DM
16285 "returns" : {
16286 "type" : "object"
16287 }
56122987
DM
16288 }
16289 },
44660702
DM
16290 "leaf" : 1,
16291 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
16292 "text" : "current"
16293 },
16294 {
56122987
DM
16295 "info" : {
16296 "POST" : {
7aacca6f 16297 "description" : "Start the container.",
44660702 16298 "method" : "POST",
7aacca6f 16299 "name" : "vm_start",
56122987
DM
16300 "parameters" : {
16301 "additionalProperties" : 0,
16302 "properties" : {
56122987 16303 "node" : {
7aacca6f 16304 "description" : "The cluster node name.",
44660702 16305 "format" : "pve-node",
013dc89f
DM
16306 "type" : "string",
16307 "typetext" : "<string>"
56122987 16308 },
7aacca6f 16309 "skiplock" : {
44660702 16310 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 16311 "optional" : 1,
013dc89f
DM
16312 "type" : "boolean",
16313 "typetext" : "<boolean>"
7aacca6f 16314 },
56122987 16315 "vmid" : {
7aacca6f 16316 "description" : "The (unique) ID of the VM.",
44660702 16317 "format" : "pve-vmid",
56122987 16318 "minimum" : 1,
4bd7df8b 16319 "type" : "integer",
013dc89f 16320 "typetext" : "<integer> (1 - N)"
56122987
DM
16321 }
16322 }
16323 },
16324 "permissions" : {
16325 "check" : [
16326 "perm",
16327 "/vms/{vmid}",
16328 [
16329 "VM.PowerMgmt"
16330 ]
16331 ]
16332 },
44660702 16333 "protected" : 1,
7aacca6f 16334 "proxyto" : "node",
44660702
DM
16335 "returns" : {
16336 "type" : "string"
16337 }
16338 }
16339 },
16340 "leaf" : 1,
16341 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
16342 "text" : "start"
16343 },
16344 {
16345 "info" : {
16346 "POST" : {
16347 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
16348 "method" : "POST",
16349 "name" : "vm_stop",
16350 "parameters" : {
44660702 16351 "additionalProperties" : 0,
7aacca6f 16352 "properties" : {
44660702
DM
16353 "node" : {
16354 "description" : "The cluster node name.",
16355 "format" : "pve-node",
013dc89f
DM
16356 "type" : "string",
16357 "typetext" : "<string>"
44660702 16358 },
7aacca6f
DM
16359 "skiplock" : {
16360 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 16361 "optional" : 1,
013dc89f
DM
16362 "type" : "boolean",
16363 "typetext" : "<boolean>"
7aacca6f
DM
16364 },
16365 "vmid" : {
44660702 16366 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16367 "format" : "pve-vmid",
16368 "minimum" : 1,
4bd7df8b 16369 "type" : "integer",
013dc89f 16370 "typetext" : "<integer> (1 - N)"
7aacca6f 16371 }
44660702
DM
16372 }
16373 },
16374 "permissions" : {
16375 "check" : [
16376 "perm",
16377 "/vms/{vmid}",
16378 [
16379 "VM.PowerMgmt"
16380 ]
16381 ]
7aacca6f 16382 },
44660702
DM
16383 "protected" : 1,
16384 "proxyto" : "node",
16385 "returns" : {
16386 "type" : "string"
16387 }
56122987 16388 }
7aacca6f 16389 },
7aacca6f 16390 "leaf" : 1,
44660702
DM
16391 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
16392 "text" : "stop"
56122987
DM
16393 },
16394 {
56122987
DM
16395 "info" : {
16396 "POST" : {
44660702
DM
16397 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
16398 "method" : "POST",
7aacca6f 16399 "name" : "vm_shutdown",
56122987 16400 "parameters" : {
44660702 16401 "additionalProperties" : 0,
56122987 16402 "properties" : {
7aacca6f 16403 "forceStop" : {
44660702 16404 "default" : 0,
7aacca6f
DM
16405 "description" : "Make sure the Container stops.",
16406 "optional" : 1,
013dc89f
DM
16407 "type" : "boolean",
16408 "typetext" : "<boolean>"
44660702
DM
16409 },
16410 "node" : {
16411 "description" : "The cluster node name.",
16412 "format" : "pve-node",
013dc89f
DM
16413 "type" : "string",
16414 "typetext" : "<string>"
7aacca6f
DM
16415 },
16416 "timeout" : {
7aacca6f 16417 "default" : 60,
44660702
DM
16418 "description" : "Wait maximal timeout seconds.",
16419 "minimum" : 0,
56122987 16420 "optional" : 1,
4bd7df8b 16421 "type" : "integer",
013dc89f 16422 "typetext" : "<integer> (0 - N)"
56122987
DM
16423 },
16424 "vmid" : {
7aacca6f 16425 "description" : "The (unique) ID of the VM.",
44660702
DM
16426 "format" : "pve-vmid",
16427 "minimum" : 1,
4bd7df8b 16428 "type" : "integer",
013dc89f 16429 "typetext" : "<integer> (1 - N)"
56122987 16430 }
44660702 16431 }
56122987
DM
16432 },
16433 "permissions" : {
16434 "check" : [
16435 "perm",
16436 "/vms/{vmid}",
16437 [
16438 "VM.PowerMgmt"
16439 ]
16440 ]
16441 },
44660702
DM
16442 "protected" : 1,
16443 "proxyto" : "node",
7aacca6f
DM
16444 "returns" : {
16445 "type" : "string"
16446 }
56122987
DM
16447 }
16448 },
44660702
DM
16449 "leaf" : 1,
16450 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 16451 "text" : "shutdown"
56122987
DM
16452 },
16453 {
56122987
DM
16454 "info" : {
16455 "POST" : {
7aacca6f 16456 "description" : "Suspend the container.",
7aacca6f 16457 "method" : "POST",
7aacca6f 16458 "name" : "vm_suspend",
56122987
DM
16459 "parameters" : {
16460 "additionalProperties" : 0,
16461 "properties" : {
44660702
DM
16462 "node" : {
16463 "description" : "The cluster node name.",
16464 "format" : "pve-node",
013dc89f
DM
16465 "type" : "string",
16466 "typetext" : "<string>"
44660702 16467 },
7aacca6f 16468 "vmid" : {
7aacca6f
DM
16469 "description" : "The (unique) ID of the VM.",
16470 "format" : "pve-vmid",
44660702 16471 "minimum" : 1,
4bd7df8b 16472 "type" : "integer",
013dc89f 16473 "typetext" : "<integer> (1 - N)"
56122987
DM
16474 }
16475 }
7aacca6f 16476 },
56122987
DM
16477 "permissions" : {
16478 "check" : [
16479 "perm",
16480 "/vms/{vmid}",
16481 [
16482 "VM.PowerMgmt"
16483 ]
16484 ]
16485 },
7aacca6f 16486 "protected" : 1,
44660702
DM
16487 "proxyto" : "node",
16488 "returns" : {
16489 "type" : "string"
16490 }
16491 }
16492 },
16493 "leaf" : 1,
16494 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
16495 "text" : "suspend"
16496 },
16497 {
16498 "info" : {
16499 "POST" : {
16500 "description" : "Resume the container.",
16501 "method" : "POST",
16502 "name" : "vm_resume",
56122987 16503 "parameters" : {
44660702 16504 "additionalProperties" : 0,
56122987
DM
16505 "properties" : {
16506 "node" : {
7aacca6f 16507 "description" : "The cluster node name.",
44660702 16508 "format" : "pve-node",
013dc89f
DM
16509 "type" : "string",
16510 "typetext" : "<string>"
56122987
DM
16511 },
16512 "vmid" : {
7aacca6f 16513 "description" : "The (unique) ID of the VM.",
56122987 16514 "format" : "pve-vmid",
44660702 16515 "minimum" : 1,
4bd7df8b 16516 "type" : "integer",
013dc89f 16517 "typetext" : "<integer> (1 - N)"
56122987 16518 }
44660702
DM
16519 }
16520 },
16521 "permissions" : {
16522 "check" : [
16523 "perm",
16524 "/vms/{vmid}",
16525 [
16526 "VM.PowerMgmt"
16527 ]
16528 ]
56122987 16529 },
44660702
DM
16530 "protected" : 1,
16531 "proxyto" : "node",
16532 "returns" : {
16533 "type" : "string"
16534 }
7aacca6f
DM
16535 }
16536 },
44660702
DM
16537 "leaf" : 1,
16538 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
16539 "text" : "resume"
16540 }
16541 ],
16542 "info" : {
16543 "GET" : {
7aacca6f 16544 "description" : "Directory index",
44660702 16545 "method" : "GET",
7aacca6f 16546 "name" : "vmcmdidx",
7aacca6f
DM
16547 "parameters" : {
16548 "additionalProperties" : 0,
16549 "properties" : {
16550 "node" : {
16551 "description" : "The cluster node name.",
44660702 16552 "format" : "pve-node",
013dc89f
DM
16553 "type" : "string",
16554 "typetext" : "<string>"
56122987 16555 },
7aacca6f 16556 "vmid" : {
44660702 16557 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16558 "format" : "pve-vmid",
16559 "minimum" : 1,
4bd7df8b 16560 "type" : "integer",
013dc89f 16561 "typetext" : "<integer> (1 - N)"
7aacca6f 16562 }
56122987
DM
16563 }
16564 },
44660702
DM
16565 "permissions" : {
16566 "user" : "all"
16567 },
16568 "proxyto" : "node",
7aacca6f 16569 "returns" : {
7aacca6f
DM
16570 "items" : {
16571 "properties" : {
16572 "subdir" : {
16573 "type" : "string"
16574 }
16575 },
16576 "type" : "object"
16577 },
16578 "links" : [
16579 {
44660702
DM
16580 "href" : "{subdir}",
16581 "rel" : "child"
7aacca6f 16582 }
44660702
DM
16583 ],
16584 "type" : "array"
7aacca6f
DM
16585 }
16586 }
44660702
DM
16587 },
16588 "leaf" : 0,
16589 "path" : "/nodes/{node}/lxc/{vmid}/status",
16590 "text" : "status"
7aacca6f
DM
16591 },
16592 {
7aacca6f 16593 "children" : [
56122987 16594 {
7aacca6f
DM
16595 "children" : [
16596 {
16597 "info" : {
16598 "POST" : {
7aacca6f 16599 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 16600 "method" : "POST",
44660702 16601 "name" : "rollback",
7aacca6f 16602 "parameters" : {
44660702 16603 "additionalProperties" : 0,
7aacca6f 16604 "properties" : {
44660702
DM
16605 "node" : {
16606 "description" : "The cluster node name.",
16607 "format" : "pve-node",
013dc89f
DM
16608 "type" : "string",
16609 "typetext" : "<string>"
44660702 16610 },
7aacca6f 16611 "snapname" : {
44660702 16612 "description" : "The name of the snapshot.",
7aacca6f
DM
16613 "format" : "pve-configid",
16614 "maxLength" : 40,
013dc89f
DM
16615 "type" : "string",
16616 "typetext" : "<string>"
7aacca6f 16617 },
7aacca6f 16618 "vmid" : {
44660702 16619 "description" : "The (unique) ID of the VM.",
7aacca6f 16620 "format" : "pve-vmid",
44660702 16621 "minimum" : 1,
4bd7df8b 16622 "type" : "integer",
013dc89f 16623 "typetext" : "<integer> (1 - N)"
7aacca6f 16624 }
44660702
DM
16625 }
16626 },
16627 "permissions" : {
16628 "check" : [
16629 "perm",
16630 "/vms/{vmid}",
16631 [
2489d6df
WB
16632 "VM.Snapshot",
16633 "VM.Snapshot.Rollback"
16634 ],
16635 "any",
16636 1
44660702 16637 ]
7aacca6f 16638 },
44660702
DM
16639 "protected" : 1,
16640 "proxyto" : "node",
16641 "returns" : {
16642 "description" : "the task ID.",
16643 "type" : "string"
16644 }
7aacca6f
DM
16645 }
16646 },
7aacca6f 16647 "leaf" : 1,
44660702
DM
16648 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
16649 "text" : "rollback"
7aacca6f
DM
16650 },
16651 {
7aacca6f
DM
16652 "info" : {
16653 "GET" : {
7aacca6f 16654 "description" : "Get snapshot configuration",
44660702
DM
16655 "method" : "GET",
16656 "name" : "get_snapshot_config",
7aacca6f
DM
16657 "parameters" : {
16658 "additionalProperties" : 0,
16659 "properties" : {
7aacca6f 16660 "node" : {
7aacca6f 16661 "description" : "The cluster node name.",
44660702 16662 "format" : "pve-node",
013dc89f
DM
16663 "type" : "string",
16664 "typetext" : "<string>"
7aacca6f
DM
16665 },
16666 "snapname" : {
44660702 16667 "description" : "The name of the snapshot.",
7aacca6f
DM
16668 "format" : "pve-configid",
16669 "maxLength" : 40,
013dc89f
DM
16670 "type" : "string",
16671 "typetext" : "<string>"
44660702
DM
16672 },
16673 "vmid" : {
16674 "description" : "The (unique) ID of the VM.",
16675 "format" : "pve-vmid",
16676 "minimum" : 1,
4bd7df8b 16677 "type" : "integer",
013dc89f 16678 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16679 }
16680 }
16681 },
16682 "permissions" : {
16683 "check" : [
16684 "perm",
16685 "/vms/{vmid}",
16686 [
2489d6df
WB
16687 "VM.Snapshot",
16688 "VM.Snapshot.Rollback"
16689 ],
16690 "any",
16691 1
7aacca6f
DM
16692 ]
16693 },
44660702
DM
16694 "proxyto" : "node",
16695 "returns" : {
16696 "type" : "object"
16697 }
7aacca6f
DM
16698 },
16699 "PUT" : {
44660702
DM
16700 "description" : "Update snapshot metadata.",
16701 "method" : "PUT",
7aacca6f
DM
16702 "name" : "update_snapshot_config",
16703 "parameters" : {
16704 "additionalProperties" : 0,
16705 "properties" : {
44660702
DM
16706 "description" : {
16707 "description" : "A textual description or comment.",
16708 "optional" : 1,
013dc89f
DM
16709 "type" : "string",
16710 "typetext" : "<string>"
44660702 16711 },
7aacca6f 16712 "node" : {
7aacca6f 16713 "description" : "The cluster node name.",
44660702 16714 "format" : "pve-node",
013dc89f
DM
16715 "type" : "string",
16716 "typetext" : "<string>"
7aacca6f
DM
16717 },
16718 "snapname" : {
16719 "description" : "The name of the snapshot.",
7aacca6f 16720 "format" : "pve-configid",
44660702 16721 "maxLength" : 40,
013dc89f
DM
16722 "type" : "string",
16723 "typetext" : "<string>"
7aacca6f
DM
16724 },
16725 "vmid" : {
44660702 16726 "description" : "The (unique) ID of the VM.",
7aacca6f 16727 "format" : "pve-vmid",
44660702 16728 "minimum" : 1,
4bd7df8b 16729 "type" : "integer",
013dc89f 16730 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16731 }
16732 }
16733 },
7aacca6f
DM
16734 "permissions" : {
16735 "check" : [
16736 "perm",
16737 "/vms/{vmid}",
16738 [
16739 "VM.Snapshot"
16740 ]
16741 ]
16742 },
44660702
DM
16743 "protected" : 1,
16744 "proxyto" : "node",
7aacca6f
DM
16745 "returns" : {
16746 "type" : "null"
16747 }
16748 }
16749 },
44660702 16750 "leaf" : 1,
7aacca6f 16751 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 16752 "text" : "config"
7aacca6f
DM
16753 }
16754 ],
56122987 16755 "info" : {
44660702
DM
16756 "DELETE" : {
16757 "description" : "Delete a LXC snapshot.",
16758 "method" : "DELETE",
16759 "name" : "delsnapshot",
56122987 16760 "parameters" : {
44660702 16761 "additionalProperties" : 0,
56122987 16762 "properties" : {
44660702
DM
16763 "force" : {
16764 "description" : "For removal from config file, even if removing disk snapshots fails.",
16765 "optional" : 1,
013dc89f
DM
16766 "type" : "boolean",
16767 "typetext" : "<boolean>"
44660702
DM
16768 },
16769 "node" : {
16770 "description" : "The cluster node name.",
16771 "format" : "pve-node",
013dc89f
DM
16772 "type" : "string",
16773 "typetext" : "<string>"
7aacca6f
DM
16774 },
16775 "snapname" : {
7aacca6f
DM
16776 "description" : "The name of the snapshot.",
16777 "format" : "pve-configid",
44660702 16778 "maxLength" : 40,
013dc89f
DM
16779 "type" : "string",
16780 "typetext" : "<string>"
44660702
DM
16781 },
16782 "vmid" : {
16783 "description" : "The (unique) ID of the VM.",
16784 "format" : "pve-vmid",
16785 "minimum" : 1,
4bd7df8b 16786 "type" : "integer",
013dc89f 16787 "typetext" : "<integer> (1 - N)"
56122987 16788 }
44660702 16789 }
7aacca6f 16790 },
56122987
DM
16791 "permissions" : {
16792 "check" : [
16793 "perm",
16794 "/vms/{vmid}",
16795 [
7aacca6f 16796 "VM.Snapshot"
56122987
DM
16797 ]
16798 ]
16799 },
44660702 16800 "protected" : 1,
7aacca6f 16801 "proxyto" : "node",
56122987 16802 "returns" : {
7aacca6f 16803 "description" : "the task ID.",
56122987 16804 "type" : "string"
44660702
DM
16805 }
16806 },
16807 "GET" : {
16808 "description" : "",
16809 "method" : "GET",
16810 "name" : "snapshot_cmd_idx",
7aacca6f
DM
16811 "parameters" : {
16812 "additionalProperties" : 0,
16813 "properties" : {
7aacca6f 16814 "node" : {
44660702 16815 "description" : "The cluster node name.",
7aacca6f 16816 "format" : "pve-node",
013dc89f
DM
16817 "type" : "string",
16818 "typetext" : "<string>"
7aacca6f
DM
16819 },
16820 "snapname" : {
44660702 16821 "description" : "The name of the snapshot.",
7aacca6f 16822 "format" : "pve-configid",
44660702 16823 "maxLength" : 40,
013dc89f
DM
16824 "type" : "string",
16825 "typetext" : "<string>"
44660702
DM
16826 },
16827 "vmid" : {
16828 "description" : "The (unique) ID of the VM.",
16829 "format" : "pve-vmid",
16830 "minimum" : 1,
4bd7df8b 16831 "type" : "integer",
013dc89f 16832 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16833 }
16834 }
16835 },
44660702
DM
16836 "permissions" : {
16837 "user" : "all"
16838 },
16839 "returns" : {
16840 "items" : {
16841 "properties" : {},
16842 "type" : "object"
16843 },
16844 "links" : [
16845 {
16846 "href" : "{cmd}",
16847 "rel" : "child"
16848 }
16849 ],
16850 "type" : "array"
16851 }
16852 }
16853 },
16854 "leaf" : 0,
16855 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
16856 "text" : "{snapname}"
16857 }
16858 ],
16859 "info" : {
16860 "GET" : {
16861 "description" : "List all snapshots.",
16862 "method" : "GET",
16863 "name" : "list",
16864 "parameters" : {
16865 "additionalProperties" : 0,
16866 "properties" : {
16867 "node" : {
16868 "description" : "The cluster node name.",
16869 "format" : "pve-node",
013dc89f
DM
16870 "type" : "string",
16871 "typetext" : "<string>"
44660702
DM
16872 },
16873 "vmid" : {
16874 "description" : "The (unique) ID of the VM.",
16875 "format" : "pve-vmid",
16876 "minimum" : 1,
4bd7df8b 16877 "type" : "integer",
013dc89f 16878 "typetext" : "<integer> (1 - N)"
44660702 16879 }
56122987
DM
16880 }
16881 },
56122987 16882 "permissions" : {
7aacca6f
DM
16883 "check" : [
16884 "perm",
16885 "/vms/{vmid}",
16886 [
16887 "VM.Audit"
16888 ]
16889 ]
16890 },
44660702 16891 "protected" : 1,
56122987 16892 "proxyto" : "node",
7aacca6f 16893 "returns" : {
44660702
DM
16894 "items" : {
16895 "properties" : {},
16896 "type" : "object"
16897 },
7aacca6f
DM
16898 "links" : [
16899 {
16900 "href" : "{name}",
16901 "rel" : "child"
16902 }
16903 ],
7aacca6f 16904 "type" : "array"
44660702 16905 }
7aacca6f
DM
16906 },
16907 "POST" : {
44660702
DM
16908 "description" : "Snapshot a container.",
16909 "method" : "POST",
16910 "name" : "snapshot",
56122987
DM
16911 "parameters" : {
16912 "additionalProperties" : 0,
16913 "properties" : {
7aacca6f 16914 "description" : {
44660702 16915 "description" : "A textual description or comment.",
7aacca6f 16916 "optional" : 1,
013dc89f
DM
16917 "type" : "string",
16918 "typetext" : "<string>"
44660702
DM
16919 },
16920 "node" : {
16921 "description" : "The cluster node name.",
16922 "format" : "pve-node",
013dc89f
DM
16923 "type" : "string",
16924 "typetext" : "<string>"
56122987
DM
16925 },
16926 "snapname" : {
56122987 16927 "description" : "The name of the snapshot.",
44660702 16928 "format" : "pve-configid",
7aacca6f 16929 "maxLength" : 40,
013dc89f
DM
16930 "type" : "string",
16931 "typetext" : "<string>"
56122987 16932 },
44660702
DM
16933 "vmid" : {
16934 "description" : "The (unique) ID of the VM.",
16935 "format" : "pve-vmid",
16936 "minimum" : 1,
4bd7df8b 16937 "type" : "integer",
013dc89f 16938 "typetext" : "<integer> (1 - N)"
56122987 16939 }
7aacca6f 16940 }
56122987 16941 },
56122987
DM
16942 "permissions" : {
16943 "check" : [
16944 "perm",
16945 "/vms/{vmid}",
16946 [
7aacca6f 16947 "VM.Snapshot"
56122987
DM
16948 ]
16949 ]
7aacca6f 16950 },
44660702 16951 "protected" : 1,
7aacca6f
DM
16952 "proxyto" : "node",
16953 "returns" : {
16954 "description" : "the task ID.",
16955 "type" : "string"
56122987
DM
16956 }
16957 }
44660702
DM
16958 },
16959 "leaf" : 0,
16960 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
16961 "text" : "snapshot"
7aacca6f
DM
16962 },
16963 {
56122987
DM
16964 "children" : [
16965 {
56122987
DM
16966 "children" : [
16967 {
56122987 16968 "info" : {
44660702
DM
16969 "DELETE" : {
16970 "description" : "Delete rule.",
16971 "method" : "DELETE",
16972 "name" : "delete_rule",
56122987 16973 "parameters" : {
44660702 16974 "additionalProperties" : 0,
56122987 16975 "properties" : {
44660702
DM
16976 "digest" : {
16977 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16978 "maxLength" : 40,
7aacca6f 16979 "optional" : 1,
013dc89f
DM
16980 "type" : "string",
16981 "typetext" : "<string>"
7aacca6f
DM
16982 },
16983 "node" : {
44660702 16984 "description" : "The cluster node name.",
7aacca6f 16985 "format" : "pve-node",
013dc89f
DM
16986 "type" : "string",
16987 "typetext" : "<string>"
44660702
DM
16988 },
16989 "pos" : {
16990 "description" : "Update rule at position <pos>.",
16991 "minimum" : 0,
16992 "optional" : 1,
4bd7df8b 16993 "type" : "integer",
013dc89f 16994 "typetext" : "<integer> (0 - N)"
44660702
DM
16995 },
16996 "vmid" : {
16997 "description" : "The (unique) ID of the VM.",
16998 "format" : "pve-vmid",
16999 "minimum" : 1,
4bd7df8b 17000 "type" : "integer",
013dc89f 17001 "typetext" : "<integer> (1 - N)"
56122987 17002 }
44660702 17003 }
56122987 17004 },
56122987
DM
17005 "permissions" : {
17006 "check" : [
17007 "perm",
17008 "/vms/{vmid}",
17009 [
44660702 17010 "VM.Config.Network"
56122987
DM
17011 ]
17012 ]
17013 },
44660702 17014 "protected" : 1,
7aacca6f 17015 "proxyto" : null,
44660702
DM
17016 "returns" : {
17017 "type" : "null"
17018 }
7aacca6f 17019 },
44660702
DM
17020 "GET" : {
17021 "description" : "Get single rule data.",
17022 "method" : "GET",
17023 "name" : "get_rule",
56122987 17024 "parameters" : {
44660702 17025 "additionalProperties" : 0,
56122987 17026 "properties" : {
7aacca6f 17027 "node" : {
7aacca6f 17028 "description" : "The cluster node name.",
44660702 17029 "format" : "pve-node",
013dc89f
DM
17030 "type" : "string",
17031 "typetext" : "<string>"
56122987 17032 },
7aacca6f 17033 "pos" : {
7aacca6f 17034 "description" : "Update rule at position <pos>.",
44660702 17035 "minimum" : 0,
7aacca6f 17036 "optional" : 1,
4bd7df8b 17037 "type" : "integer",
013dc89f 17038 "typetext" : "<integer> (0 - N)"
56122987 17039 },
7aacca6f 17040 "vmid" : {
44660702 17041 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
17042 "format" : "pve-vmid",
17043 "minimum" : 1,
4bd7df8b 17044 "type" : "integer",
013dc89f 17045 "typetext" : "<integer> (1 - N)"
56122987 17046 }
44660702 17047 }
56122987 17048 },
7aacca6f
DM
17049 "permissions" : {
17050 "check" : [
17051 "perm",
17052 "/vms/{vmid}",
17053 [
44660702 17054 "VM.Audit"
7aacca6f
DM
17055 ]
17056 ]
17057 },
7aacca6f
DM
17058 "proxyto" : null,
17059 "returns" : {
44660702
DM
17060 "properties" : {
17061 "pos" : {
17062 "type" : "integer"
17063 }
17064 },
17065 "type" : "object"
7aacca6f 17066 }
56122987 17067 },
44660702
DM
17068 "PUT" : {
17069 "description" : "Modify rule data.",
17070 "method" : "PUT",
17071 "name" : "update_rule",
56122987
DM
17072 "parameters" : {
17073 "additionalProperties" : 0,
17074 "properties" : {
44660702
DM
17075 "action" : {
17076 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
17077 "maxLength" : 20,
17078 "minLength" : 2,
17079 "optional" : 1,
17080 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17081 "type" : "string"
17082 },
17083 "comment" : {
e94f0d56 17084 "description" : "Descriptive comment.",
44660702 17085 "optional" : 1,
013dc89f
DM
17086 "type" : "string",
17087 "typetext" : "<string>"
44660702
DM
17088 },
17089 "delete" : {
17090 "description" : "A list of settings you want to delete.",
17091 "format" : "pve-configid-list",
17092 "optional" : 1,
013dc89f
DM
17093 "type" : "string",
17094 "typetext" : "<string>"
44660702
DM
17095 },
17096 "dest" : {
17097 "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.",
17098 "format" : "pve-fw-addr-spec",
17099 "optional" : 1,
013dc89f
DM
17100 "type" : "string",
17101 "typetext" : "<string>"
44660702
DM
17102 },
17103 "digest" : {
17104 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17105 "maxLength" : 40,
17106 "optional" : 1,
013dc89f
DM
17107 "type" : "string",
17108 "typetext" : "<string>"
44660702
DM
17109 },
17110 "dport" : {
17111 "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.",
17112 "format" : "pve-fw-dport-spec",
17113 "optional" : 1,
013dc89f
DM
17114 "type" : "string",
17115 "typetext" : "<string>"
44660702
DM
17116 },
17117 "enable" : {
e94f0d56 17118 "description" : "Flag to enable/disable a rule.",
44660702
DM
17119 "minimum" : 0,
17120 "optional" : 1,
4bd7df8b 17121 "type" : "integer",
013dc89f 17122 "typetext" : "<integer> (0 - N)"
44660702
DM
17123 },
17124 "iface" : {
17125 "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.",
17126 "format" : "pve-iface",
17127 "maxLength" : 20,
17128 "minLength" : 2,
17129 "optional" : 1,
013dc89f
DM
17130 "type" : "string",
17131 "typetext" : "<string>"
44660702
DM
17132 },
17133 "macro" : {
e94f0d56 17134 "description" : "Use predefined standard macro.",
44660702
DM
17135 "maxLength" : 128,
17136 "optional" : 1,
013dc89f
DM
17137 "type" : "string",
17138 "typetext" : "<string>"
44660702
DM
17139 },
17140 "moveto" : {
17141 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
17142 "minimum" : 0,
17143 "optional" : 1,
4bd7df8b 17144 "type" : "integer",
013dc89f 17145 "typetext" : "<integer> (0 - N)"
44660702 17146 },
7aacca6f
DM
17147 "node" : {
17148 "description" : "The cluster node name.",
44660702 17149 "format" : "pve-node",
013dc89f
DM
17150 "type" : "string",
17151 "typetext" : "<string>"
56122987
DM
17152 },
17153 "pos" : {
44660702 17154 "description" : "Update rule at position <pos>.",
56122987 17155 "minimum" : 0,
7aacca6f 17156 "optional" : 1,
4bd7df8b 17157 "type" : "integer",
013dc89f 17158 "typetext" : "<integer> (0 - N)"
56122987 17159 },
44660702
DM
17160 "proto" : {
17161 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
17162 "format" : "pve-fw-protocol-spec",
17163 "optional" : 1,
013dc89f
DM
17164 "type" : "string",
17165 "typetext" : "<string>"
7aacca6f 17166 },
44660702
DM
17167 "source" : {
17168 "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.",
17169 "format" : "pve-fw-addr-spec",
17170 "optional" : 1,
013dc89f
DM
17171 "type" : "string",
17172 "typetext" : "<string>"
44660702
DM
17173 },
17174 "sport" : {
17175 "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.",
17176 "format" : "pve-fw-sport-spec",
17177 "optional" : 1,
013dc89f
DM
17178 "type" : "string",
17179 "typetext" : "<string>"
44660702
DM
17180 },
17181 "type" : {
e94f0d56 17182 "description" : "Rule type.",
44660702
DM
17183 "enum" : [
17184 "in",
17185 "out",
17186 "group"
17187 ],
7aacca6f 17188 "optional" : 1,
44660702
DM
17189 "type" : "string"
17190 },
17191 "vmid" : {
17192 "description" : "The (unique) ID of the VM.",
17193 "format" : "pve-vmid",
17194 "minimum" : 1,
4bd7df8b 17195 "type" : "integer",
013dc89f 17196 "typetext" : "<integer> (1 - N)"
56122987
DM
17197 }
17198 }
17199 },
56122987
DM
17200 "permissions" : {
17201 "check" : [
17202 "perm",
17203 "/vms/{vmid}",
17204 [
7aacca6f 17205 "VM.Config.Network"
56122987
DM
17206 ]
17207 ]
17208 },
44660702 17209 "protected" : 1,
56122987 17210 "proxyto" : null,
56122987 17211 "returns" : {
7aacca6f
DM
17212 "type" : "null"
17213 }
56122987 17214 }
44660702
DM
17215 },
17216 "leaf" : 1,
17217 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
17218 "text" : "{pos}"
56122987
DM
17219 }
17220 ],
17221 "info" : {
7aacca6f 17222 "GET" : {
44660702
DM
17223 "description" : "List rules.",
17224 "method" : "GET",
17225 "name" : "get_rules",
7aacca6f 17226 "parameters" : {
44660702 17227 "additionalProperties" : 0,
7aacca6f
DM
17228 "properties" : {
17229 "node" : {
7aacca6f 17230 "description" : "The cluster node name.",
44660702 17231 "format" : "pve-node",
013dc89f
DM
17232 "type" : "string",
17233 "typetext" : "<string>"
7aacca6f
DM
17234 },
17235 "vmid" : {
17236 "description" : "The (unique) ID of the VM.",
44660702 17237 "format" : "pve-vmid",
7aacca6f 17238 "minimum" : 1,
4bd7df8b 17239 "type" : "integer",
013dc89f 17240 "typetext" : "<integer> (1 - N)"
7aacca6f 17241 }
44660702 17242 }
56122987 17243 },
56122987
DM
17244 "permissions" : {
17245 "check" : [
17246 "perm",
17247 "/vms/{vmid}",
17248 [
7aacca6f 17249 "VM.Audit"
56122987
DM
17250 ]
17251 ]
17252 },
17253 "proxyto" : null,
7aacca6f 17254 "returns" : {
7aacca6f
DM
17255 "items" : {
17256 "properties" : {
17257 "pos" : {
17258 "type" : "integer"
17259 }
17260 },
17261 "type" : "object"
17262 },
17263 "links" : [
17264 {
44660702
DM
17265 "href" : "{pos}",
17266 "rel" : "child"
7aacca6f 17267 }
44660702
DM
17268 ],
17269 "type" : "array"
17270 }
7aacca6f
DM
17271 },
17272 "POST" : {
44660702
DM
17273 "description" : "Create new rule.",
17274 "method" : "POST",
7aacca6f 17275 "name" : "create_rule",
56122987 17276 "parameters" : {
44660702 17277 "additionalProperties" : 0,
56122987 17278 "properties" : {
7aacca6f 17279 "action" : {
44660702 17280 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 17281 "maxLength" : 20,
44660702 17282 "minLength" : 2,
7aacca6f
DM
17283 "optional" : 0,
17284 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
17285 "type" : "string"
17286 },
44660702 17287 "comment" : {
e94f0d56 17288 "description" : "Descriptive comment.",
7aacca6f 17289 "optional" : 1,
013dc89f
DM
17290 "type" : "string",
17291 "typetext" : "<string>"
56122987 17292 },
44660702
DM
17293 "dest" : {
17294 "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.",
17295 "format" : "pve-fw-addr-spec",
56122987 17296 "optional" : 1,
013dc89f
DM
17297 "type" : "string",
17298 "typetext" : "<string>"
56122987 17299 },
44660702
DM
17300 "digest" : {
17301 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17302 "maxLength" : 40,
56122987 17303 "optional" : 1,
013dc89f
DM
17304 "type" : "string",
17305 "typetext" : "<string>"
56122987 17306 },
44660702
DM
17307 "dport" : {
17308 "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.",
17309 "format" : "pve-fw-dport-spec",
56122987 17310 "optional" : 1,
013dc89f
DM
17311 "type" : "string",
17312 "typetext" : "<string>"
56122987 17313 },
44660702 17314 "enable" : {
e94f0d56 17315 "description" : "Flag to enable/disable a rule.",
44660702 17316 "minimum" : 0,
56122987 17317 "optional" : 1,
4bd7df8b 17318 "type" : "integer",
013dc89f 17319 "typetext" : "<integer> (0 - N)"
56122987 17320 },
44660702
DM
17321 "iface" : {
17322 "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.",
17323 "format" : "pve-iface",
17324 "maxLength" : 20,
17325 "minLength" : 2,
7aacca6f 17326 "optional" : 1,
013dc89f
DM
17327 "type" : "string",
17328 "typetext" : "<string>"
56122987 17329 },
44660702 17330 "macro" : {
e94f0d56 17331 "description" : "Use predefined standard macro.",
44660702 17332 "maxLength" : 128,
56122987 17333 "optional" : 1,
013dc89f
DM
17334 "type" : "string",
17335 "typetext" : "<string>"
56122987
DM
17336 },
17337 "node" : {
7aacca6f 17338 "description" : "The cluster node name.",
44660702 17339 "format" : "pve-node",
013dc89f
DM
17340 "type" : "string",
17341 "typetext" : "<string>"
7aacca6f 17342 },
44660702
DM
17343 "pos" : {
17344 "description" : "Update rule at position <pos>.",
17345 "minimum" : 0,
17346 "optional" : 1,
4bd7df8b 17347 "type" : "integer",
013dc89f 17348 "typetext" : "<integer> (0 - N)"
44660702
DM
17349 },
17350 "proto" : {
17351 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
17352 "format" : "pve-fw-protocol-spec",
7aacca6f 17353 "optional" : 1,
013dc89f
DM
17354 "type" : "string",
17355 "typetext" : "<string>"
7aacca6f 17356 },
44660702
DM
17357 "source" : {
17358 "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.",
17359 "format" : "pve-fw-addr-spec",
17360 "optional" : 1,
013dc89f
DM
17361 "type" : "string",
17362 "typetext" : "<string>"
56122987 17363 },
44660702
DM
17364 "sport" : {
17365 "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.",
17366 "format" : "pve-fw-sport-spec",
17367 "optional" : 1,
013dc89f
DM
17368 "type" : "string",
17369 "typetext" : "<string>"
7aacca6f 17370 },
44660702 17371 "type" : {
e94f0d56 17372 "description" : "Rule type.",
44660702
DM
17373 "enum" : [
17374 "in",
17375 "out",
17376 "group"
17377 ],
17378 "optional" : 0,
17379 "type" : "string"
17380 },
17381 "vmid" : {
17382 "description" : "The (unique) ID of the VM.",
17383 "format" : "pve-vmid",
17384 "minimum" : 1,
4bd7df8b 17385 "type" : "integer",
013dc89f 17386 "typetext" : "<integer> (1 - N)"
44660702
DM
17387 }
17388 }
17389 },
17390 "permissions" : {
17391 "check" : [
17392 "perm",
17393 "/vms/{vmid}",
17394 [
17395 "VM.Config.Network"
17396 ]
17397 ]
17398 },
17399 "protected" : 1,
17400 "proxyto" : null,
17401 "returns" : {
17402 "type" : "null"
17403 }
17404 }
17405 },
17406 "leaf" : 0,
17407 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
17408 "text" : "rules"
17409 },
17410 {
17411 "children" : [
17412 {
17413 "info" : {
17414 "DELETE" : {
17415 "description" : "Remove IP or Network alias.",
17416 "method" : "DELETE",
17417 "name" : "remove_alias",
56122987 17418 "parameters" : {
44660702 17419 "additionalProperties" : 0,
56122987 17420 "properties" : {
44660702
DM
17421 "digest" : {
17422 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17423 "maxLength" : 40,
56122987 17424 "optional" : 1,
013dc89f
DM
17425 "type" : "string",
17426 "typetext" : "<string>"
56122987 17427 },
7aacca6f 17428 "name" : {
44660702 17429 "description" : "Alias name.",
7aacca6f 17430 "maxLength" : 64,
7aacca6f
DM
17431 "minLength" : 2,
17432 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17433 "type" : "string"
7aacca6f
DM
17434 },
17435 "node" : {
44660702 17436 "description" : "The cluster node name.",
56122987 17437 "format" : "pve-node",
013dc89f
DM
17438 "type" : "string",
17439 "typetext" : "<string>"
7aacca6f 17440 },
56122987 17441 "vmid" : {
44660702 17442 "description" : "The (unique) ID of the VM.",
56122987 17443 "format" : "pve-vmid",
44660702 17444 "minimum" : 1,
4bd7df8b 17445 "type" : "integer",
013dc89f 17446 "typetext" : "<integer> (1 - N)"
56122987 17447 }
44660702 17448 }
56122987 17449 },
56122987
DM
17450 "permissions" : {
17451 "check" : [
17452 "perm",
17453 "/vms/{vmid}",
17454 [
7aacca6f 17455 "VM.Config.Network"
56122987
DM
17456 ]
17457 ]
17458 },
44660702 17459 "protected" : 1,
56122987 17460 "returns" : {
7aacca6f 17461 "type" : "null"
44660702 17462 }
56122987 17463 },
44660702
DM
17464 "GET" : {
17465 "description" : "Read alias.",
17466 "method" : "GET",
17467 "name" : "read_alias",
17468 "parameters" : {
17469 "additionalProperties" : 0,
17470 "properties" : {
17471 "name" : {
17472 "description" : "Alias name.",
17473 "maxLength" : 64,
17474 "minLength" : 2,
17475 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17476 "type" : "string"
17477 },
17478 "node" : {
17479 "description" : "The cluster node name.",
17480 "format" : "pve-node",
013dc89f
DM
17481 "type" : "string",
17482 "typetext" : "<string>"
44660702
DM
17483 },
17484 "vmid" : {
17485 "description" : "The (unique) ID of the VM.",
17486 "format" : "pve-vmid",
17487 "minimum" : 1,
4bd7df8b 17488 "type" : "integer",
013dc89f 17489 "typetext" : "<integer> (1 - N)"
44660702
DM
17490 }
17491 }
56122987 17492 },
7aacca6f
DM
17493 "permissions" : {
17494 "check" : [
17495 "perm",
17496 "/vms/{vmid}",
17497 [
44660702 17498 "VM.Audit"
7aacca6f
DM
17499 ]
17500 ]
17501 },
44660702
DM
17502 "returns" : {
17503 "type" : "object"
17504 }
17505 },
17506 "PUT" : {
17507 "description" : "Update IP or Network alias.",
17508 "method" : "PUT",
17509 "name" : "update_alias",
56122987
DM
17510 "parameters" : {
17511 "additionalProperties" : 0,
17512 "properties" : {
44660702
DM
17513 "cidr" : {
17514 "description" : "Network/IP specification in CIDR format.",
17515 "format" : "IPorCIDR",
013dc89f
DM
17516 "type" : "string",
17517 "typetext" : "<string>"
44660702
DM
17518 },
17519 "comment" : {
17520 "optional" : 1,
013dc89f
DM
17521 "type" : "string",
17522 "typetext" : "<string>"
44660702
DM
17523 },
17524 "digest" : {
17525 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17526 "maxLength" : 40,
17527 "optional" : 1,
013dc89f
DM
17528 "type" : "string",
17529 "typetext" : "<string>"
44660702 17530 },
56122987 17531 "name" : {
7aacca6f 17532 "description" : "Alias name.",
44660702
DM
17533 "maxLength" : 64,
17534 "minLength" : 2,
7aacca6f 17535 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17536 "type" : "string"
56122987
DM
17537 },
17538 "node" : {
17539 "description" : "The cluster node name.",
44660702 17540 "format" : "pve-node",
013dc89f
DM
17541 "type" : "string",
17542 "typetext" : "<string>"
44660702
DM
17543 },
17544 "rename" : {
17545 "description" : "Rename an existing alias.",
17546 "maxLength" : 64,
17547 "minLength" : 2,
17548 "optional" : 1,
17549 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17550 "type" : "string"
56122987 17551 },
7aacca6f 17552 "vmid" : {
7aacca6f 17553 "description" : "The (unique) ID of the VM.",
44660702 17554 "format" : "pve-vmid",
7aacca6f 17555 "minimum" : 1,
4bd7df8b 17556 "type" : "integer",
013dc89f 17557 "typetext" : "<integer> (1 - N)"
56122987
DM
17558 }
17559 }
17560 },
44660702
DM
17561 "permissions" : {
17562 "check" : [
17563 "perm",
17564 "/vms/{vmid}",
17565 [
17566 "VM.Config.Network"
17567 ]
17568 ]
7aacca6f 17569 },
44660702
DM
17570 "protected" : 1,
17571 "returns" : {
17572 "type" : "null"
7aacca6f
DM
17573 }
17574 }
17575 },
44660702
DM
17576 "leaf" : 1,
17577 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
17578 "text" : "{name}"
17579 }
17580 ],
17581 "info" : {
17582 "GET" : {
17583 "description" : "List aliases",
17584 "method" : "GET",
17585 "name" : "get_aliases",
56122987
DM
17586 "parameters" : {
17587 "additionalProperties" : 0,
17588 "properties" : {
17589 "node" : {
44660702 17590 "description" : "The cluster node name.",
56122987 17591 "format" : "pve-node",
013dc89f
DM
17592 "type" : "string",
17593 "typetext" : "<string>"
56122987
DM
17594 },
17595 "vmid" : {
7aacca6f 17596 "description" : "The (unique) ID of the VM.",
44660702 17597 "format" : "pve-vmid",
7aacca6f 17598 "minimum" : 1,
4bd7df8b 17599 "type" : "integer",
013dc89f 17600 "typetext" : "<integer> (1 - N)"
56122987
DM
17601 }
17602 }
17603 },
44660702
DM
17604 "permissions" : {
17605 "check" : [
17606 "perm",
17607 "/vms/{vmid}",
17608 [
17609 "VM.Audit"
17610 ]
17611 ]
17612 },
56122987
DM
17613 "returns" : {
17614 "items" : {
56122987 17615 "properties" : {
44660702
DM
17616 "cidr" : {
17617 "type" : "string"
7aacca6f 17618 },
44660702
DM
17619 "comment" : {
17620 "optional" : 1,
56122987
DM
17621 "type" : "string"
17622 },
56122987 17623 "digest" : {
56122987 17624 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
17625 "maxLength" : 40,
17626 "optional" : 0,
17627 "type" : "string"
17628 },
17629 "name" : {
17630 "type" : "string"
56122987 17631 }
44660702
DM
17632 },
17633 "type" : "object"
17634 },
17635 "links" : [
17636 {
17637 "href" : "{name}",
17638 "rel" : "child"
56122987 17639 }
44660702
DM
17640 ],
17641 "type" : "array"
7aacca6f
DM
17642 }
17643 },
17644 "POST" : {
44660702 17645 "description" : "Create IP or Network Alias.",
7aacca6f 17646 "method" : "POST",
44660702 17647 "name" : "create_alias",
7aacca6f
DM
17648 "parameters" : {
17649 "additionalProperties" : 0,
17650 "properties" : {
44660702
DM
17651 "cidr" : {
17652 "description" : "Network/IP specification in CIDR format.",
17653 "format" : "IPorCIDR",
013dc89f
DM
17654 "type" : "string",
17655 "typetext" : "<string>"
7aacca6f
DM
17656 },
17657 "comment" : {
17658 "optional" : 1,
013dc89f
DM
17659 "type" : "string",
17660 "typetext" : "<string>"
7aacca6f 17661 },
44660702
DM
17662 "name" : {
17663 "description" : "Alias name.",
17664 "maxLength" : 64,
7aacca6f
DM
17665 "minLength" : 2,
17666 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17667 "type" : "string"
7aacca6f
DM
17668 },
17669 "node" : {
44660702 17670 "description" : "The cluster node name.",
7aacca6f 17671 "format" : "pve-node",
013dc89f
DM
17672 "type" : "string",
17673 "typetext" : "<string>"
7aacca6f 17674 },
44660702
DM
17675 "vmid" : {
17676 "description" : "The (unique) ID of the VM.",
17677 "format" : "pve-vmid",
17678 "minimum" : 1,
4bd7df8b 17679 "type" : "integer",
013dc89f 17680 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17681 }
17682 }
17683 },
44660702
DM
17684 "permissions" : {
17685 "check" : [
17686 "perm",
17687 "/vms/{vmid}",
17688 [
17689 "VM.Config.Network"
17690 ]
17691 ]
17692 },
17693 "protected" : 1,
17694 "returns" : {
17695 "type" : "null"
17696 }
56122987
DM
17697 }
17698 },
44660702
DM
17699 "leaf" : 0,
17700 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
17701 "text" : "aliases"
17702 },
17703 {
56122987
DM
17704 "children" : [
17705 {
56122987
DM
17706 "children" : [
17707 {
17708 "info" : {
17709 "DELETE" : {
44660702 17710 "description" : "Remove IP or Network from IPSet.",
7aacca6f 17711 "method" : "DELETE",
44660702 17712 "name" : "remove_ip",
56122987
DM
17713 "parameters" : {
17714 "additionalProperties" : 0,
17715 "properties" : {
44660702
DM
17716 "cidr" : {
17717 "description" : "Network/IP specification in CIDR format.",
17718 "format" : "IPorCIDRorAlias",
013dc89f
DM
17719 "type" : "string",
17720 "typetext" : "<string>"
56122987
DM
17721 },
17722 "digest" : {
44660702 17723 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 17724 "maxLength" : 40,
7aacca6f 17725 "optional" : 1,
013dc89f
DM
17726 "type" : "string",
17727 "typetext" : "<string>"
56122987 17728 },
56122987 17729 "name" : {
44660702 17730 "description" : "IP set name.",
56122987 17731 "maxLength" : 64,
7aacca6f 17732 "minLength" : 2,
56122987 17733 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 17734 "type" : "string"
7aacca6f
DM
17735 },
17736 "node" : {
7aacca6f 17737 "description" : "The cluster node name.",
44660702 17738 "format" : "pve-node",
013dc89f
DM
17739 "type" : "string",
17740 "typetext" : "<string>"
44660702
DM
17741 },
17742 "vmid" : {
17743 "description" : "The (unique) ID of the VM.",
17744 "format" : "pve-vmid",
17745 "minimum" : 1,
4bd7df8b 17746 "type" : "integer",
013dc89f 17747 "typetext" : "<integer> (1 - N)"
56122987
DM
17748 }
17749 }
17750 },
44660702
DM
17751 "permissions" : {
17752 "check" : [
17753 "perm",
17754 "/vms/{vmid}",
17755 [
17756 "VM.Config.Network"
17757 ]
17758 ]
17759 },
7aacca6f 17760 "protected" : 1,
56122987
DM
17761 "returns" : {
17762 "type" : "null"
44660702
DM
17763 }
17764 },
17765 "GET" : {
17766 "description" : "Read IP or Network settings from IPSet.",
17767 "method" : "GET",
17768 "name" : "read_ip",
56122987
DM
17769 "parameters" : {
17770 "additionalProperties" : 0,
17771 "properties" : {
7aacca6f 17772 "cidr" : {
7aacca6f 17773 "description" : "Network/IP specification in CIDR format.",
44660702 17774 "format" : "IPorCIDRorAlias",
013dc89f
DM
17775 "type" : "string",
17776 "typetext" : "<string>"
56122987 17777 },
7aacca6f 17778 "name" : {
44660702 17779 "description" : "IP set name.",
7aacca6f
DM
17780 "maxLength" : 64,
17781 "minLength" : 2,
7aacca6f
DM
17782 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17783 "type" : "string"
56122987 17784 },
44660702
DM
17785 "node" : {
17786 "description" : "The cluster node name.",
17787 "format" : "pve-node",
013dc89f
DM
17788 "type" : "string",
17789 "typetext" : "<string>"
44660702
DM
17790 },
17791 "vmid" : {
17792 "description" : "The (unique) ID of the VM.",
17793 "format" : "pve-vmid",
17794 "minimum" : 1,
4bd7df8b 17795 "type" : "integer",
013dc89f 17796 "typetext" : "<integer> (1 - N)"
56122987
DM
17797 }
17798 }
17799 },
56122987
DM
17800 "permissions" : {
17801 "check" : [
17802 "perm",
17803 "/vms/{vmid}",
17804 [
44660702 17805 "VM.Audit"
56122987
DM
17806 ]
17807 ]
7aacca6f 17808 },
44660702 17809 "protected" : 1,
7aacca6f
DM
17810 "returns" : {
17811 "type" : "object"
44660702
DM
17812 }
17813 },
17814 "PUT" : {
17815 "description" : "Update IP or Network settings",
17816 "method" : "PUT",
17817 "name" : "update_ip",
7aacca6f 17818 "parameters" : {
44660702 17819 "additionalProperties" : 0,
7aacca6f
DM
17820 "properties" : {
17821 "cidr" : {
44660702 17822 "description" : "Network/IP specification in CIDR format.",
7aacca6f 17823 "format" : "IPorCIDRorAlias",
013dc89f
DM
17824 "type" : "string",
17825 "typetext" : "<string>"
7aacca6f 17826 },
44660702
DM
17827 "comment" : {
17828 "optional" : 1,
013dc89f
DM
17829 "type" : "string",
17830 "typetext" : "<string>"
44660702
DM
17831 },
17832 "digest" : {
17833 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17834 "maxLength" : 40,
17835 "optional" : 1,
013dc89f
DM
17836 "type" : "string",
17837 "typetext" : "<string>"
44660702
DM
17838 },
17839 "name" : {
17840 "description" : "IP set name.",
17841 "maxLength" : 64,
17842 "minLength" : 2,
17843 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17844 "type" : "string"
7aacca6f
DM
17845 },
17846 "node" : {
7aacca6f 17847 "description" : "The cluster node name.",
44660702 17848 "format" : "pve-node",
013dc89f
DM
17849 "type" : "string",
17850 "typetext" : "<string>"
7aacca6f 17851 },
44660702
DM
17852 "nomatch" : {
17853 "optional" : 1,
013dc89f
DM
17854 "type" : "boolean",
17855 "typetext" : "<boolean>"
44660702
DM
17856 },
17857 "vmid" : {
17858 "description" : "The (unique) ID of the VM.",
17859 "format" : "pve-vmid",
17860 "minimum" : 1,
4bd7df8b 17861 "type" : "integer",
013dc89f 17862 "typetext" : "<integer> (1 - N)"
7aacca6f 17863 }
44660702
DM
17864 }
17865 },
17866 "permissions" : {
17867 "check" : [
17868 "perm",
17869 "/vms/{vmid}",
17870 [
17871 "VM.Config.Network"
17872 ]
17873 ]
7aacca6f
DM
17874 },
17875 "protected" : 1,
44660702
DM
17876 "returns" : {
17877 "type" : "null"
17878 }
56122987
DM
17879 }
17880 },
56122987 17881 "leaf" : 1,
44660702
DM
17882 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
17883 "text" : "{cidr}"
56122987
DM
17884 }
17885 ],
17886 "info" : {
44660702
DM
17887 "DELETE" : {
17888 "description" : "Delete IPSet",
17889 "method" : "DELETE",
17890 "name" : "delete_ipset",
17891 "parameters" : {
17892 "additionalProperties" : 0,
17893 "properties" : {
17894 "name" : {
17895 "description" : "IP set name.",
17896 "maxLength" : 64,
17897 "minLength" : 2,
17898 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17899 "type" : "string"
17900 },
17901 "node" : {
17902 "description" : "The cluster node name.",
17903 "format" : "pve-node",
013dc89f
DM
17904 "type" : "string",
17905 "typetext" : "<string>"
44660702
DM
17906 },
17907 "vmid" : {
17908 "description" : "The (unique) ID of the VM.",
17909 "format" : "pve-vmid",
17910 "minimum" : 1,
4bd7df8b 17911 "type" : "integer",
013dc89f 17912 "typetext" : "<integer> (1 - N)"
44660702
DM
17913 }
17914 }
17915 },
17916 "permissions" : {
17917 "check" : [
17918 "perm",
17919 "/vms/{vmid}",
17920 [
17921 "VM.Config.Network"
17922 ]
17923 ]
17924 },
17925 "protected" : 1,
17926 "returns" : {
17927 "type" : "null"
17928 }
17929 },
56122987 17930 "GET" : {
7aacca6f 17931 "description" : "List IPSet content",
44660702
DM
17932 "method" : "GET",
17933 "name" : "get_ipset",
7aacca6f
DM
17934 "parameters" : {
17935 "additionalProperties" : 0,
17936 "properties" : {
17937 "name" : {
17938 "description" : "IP set name.",
44660702 17939 "maxLength" : 64,
7aacca6f 17940 "minLength" : 2,
44660702
DM
17941 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17942 "type" : "string"
7aacca6f
DM
17943 },
17944 "node" : {
7aacca6f 17945 "description" : "The cluster node name.",
44660702 17946 "format" : "pve-node",
013dc89f
DM
17947 "type" : "string",
17948 "typetext" : "<string>"
7aacca6f
DM
17949 },
17950 "vmid" : {
17951 "description" : "The (unique) ID of the VM.",
44660702 17952 "format" : "pve-vmid",
7aacca6f 17953 "minimum" : 1,
4bd7df8b 17954 "type" : "integer",
013dc89f 17955 "typetext" : "<integer> (1 - N)"
56122987 17956 }
7aacca6f
DM
17957 }
17958 },
7aacca6f
DM
17959 "permissions" : {
17960 "check" : [
17961 "perm",
17962 "/vms/{vmid}",
17963 [
17964 "VM.Audit"
17965 ]
17966 ]
17967 },
17968 "returns" : {
56122987
DM
17969 "items" : {
17970 "properties" : {
17971 "cidr" : {
17972 "type" : "string"
17973 },
44660702
DM
17974 "comment" : {
17975 "optional" : 1,
17976 "type" : "string"
17977 },
56122987 17978 "digest" : {
56122987 17979 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 17980 "maxLength" : 40,
7aacca6f 17981 "optional" : 0,
56122987 17982 "type" : "string"
7aacca6f
DM
17983 },
17984 "nomatch" : {
44660702
DM
17985 "optional" : 1,
17986 "type" : "boolean"
56122987 17987 }
44660702
DM
17988 },
17989 "type" : "object"
56122987 17990 },
7aacca6f
DM
17991 "links" : [
17992 {
44660702
DM
17993 "href" : "{cidr}",
17994 "rel" : "child"
56122987 17995 }
44660702
DM
17996 ],
17997 "type" : "array"
17998 }
56122987 17999 },
7aacca6f
DM
18000 "POST" : {
18001 "description" : "Add IP or Network to IPSet.",
44660702 18002 "method" : "POST",
7aacca6f 18003 "name" : "create_ip",
56122987 18004 "parameters" : {
44660702 18005 "additionalProperties" : 0,
56122987 18006 "properties" : {
44660702
DM
18007 "cidr" : {
18008 "description" : "Network/IP specification in CIDR format.",
18009 "format" : "IPorCIDRorAlias",
013dc89f
DM
18010 "type" : "string",
18011 "typetext" : "<string>"
44660702
DM
18012 },
18013 "comment" : {
18014 "optional" : 1,
013dc89f
DM
18015 "type" : "string",
18016 "typetext" : "<string>"
56122987
DM
18017 },
18018 "name" : {
56122987 18019 "description" : "IP set name.",
44660702 18020 "maxLength" : 64,
7aacca6f 18021 "minLength" : 2,
44660702 18022 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 18023 "type" : "string"
56122987 18024 },
7aacca6f 18025 "node" : {
7aacca6f 18026 "description" : "The cluster node name.",
44660702 18027 "format" : "pve-node",
013dc89f
DM
18028 "type" : "string",
18029 "typetext" : "<string>"
56122987 18030 },
44660702
DM
18031 "nomatch" : {
18032 "optional" : 1,
013dc89f
DM
18033 "type" : "boolean",
18034 "typetext" : "<boolean>"
7aacca6f
DM
18035 },
18036 "vmid" : {
44660702 18037 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18038 "format" : "pve-vmid",
18039 "minimum" : 1,
4bd7df8b 18040 "type" : "integer",
013dc89f 18041 "typetext" : "<integer> (1 - N)"
56122987 18042 }
44660702
DM
18043 }
18044 },
18045 "permissions" : {
18046 "check" : [
18047 "perm",
18048 "/vms/{vmid}",
18049 [
18050 "VM.Config.Network"
18051 ]
18052 ]
18053 },
18054 "protected" : 1,
18055 "returns" : {
18056 "type" : "null"
18057 }
18058 }
18059 },
18060 "leaf" : 0,
18061 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
18062 "text" : "{name}"
18063 }
18064 ],
18065 "info" : {
18066 "GET" : {
18067 "description" : "List IPSets",
18068 "method" : "GET",
18069 "name" : "ipset_index",
18070 "parameters" : {
18071 "additionalProperties" : 0,
18072 "properties" : {
18073 "node" : {
18074 "description" : "The cluster node name.",
18075 "format" : "pve-node",
013dc89f
DM
18076 "type" : "string",
18077 "typetext" : "<string>"
44660702
DM
18078 },
18079 "vmid" : {
18080 "description" : "The (unique) ID of the VM.",
18081 "format" : "pve-vmid",
18082 "minimum" : 1,
4bd7df8b 18083 "type" : "integer",
013dc89f 18084 "typetext" : "<integer> (1 - N)"
44660702
DM
18085 }
18086 }
18087 },
18088 "permissions" : {
18089 "check" : [
18090 "perm",
18091 "/vms/{vmid}",
18092 [
18093 "VM.Audit"
18094 ]
18095 ]
18096 },
18097 "returns" : {
18098 "items" : {
18099 "properties" : {
18100 "comment" : {
18101 "optional" : 1,
18102 "type" : "string"
18103 },
18104 "digest" : {
18105 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18106 "maxLength" : 40,
18107 "optional" : 0,
18108 "type" : "string"
7aacca6f 18109 },
44660702
DM
18110 "name" : {
18111 "description" : "IP set name.",
18112 "maxLength" : 64,
18113 "minLength" : 2,
18114 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18115 "type" : "string"
18116 }
18117 },
18118 "type" : "object"
18119 },
18120 "links" : [
18121 {
18122 "href" : "{name}",
18123 "rel" : "child"
18124 }
18125 ],
18126 "type" : "array"
18127 }
18128 },
18129 "POST" : {
18130 "description" : "Create new IPSet",
18131 "method" : "POST",
18132 "name" : "create_ipset",
18133 "parameters" : {
18134 "additionalProperties" : 0,
18135 "properties" : {
18136 "comment" : {
18137 "optional" : 1,
013dc89f
DM
18138 "type" : "string",
18139 "typetext" : "<string>"
44660702
DM
18140 },
18141 "digest" : {
18142 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18143 "maxLength" : 40,
18144 "optional" : 1,
013dc89f
DM
18145 "type" : "string",
18146 "typetext" : "<string>"
56122987 18147 },
44660702
DM
18148 "name" : {
18149 "description" : "IP set name.",
18150 "maxLength" : 64,
18151 "minLength" : 2,
18152 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18153 "type" : "string"
18154 },
18155 "node" : {
18156 "description" : "The cluster node name.",
18157 "format" : "pve-node",
013dc89f
DM
18158 "type" : "string",
18159 "typetext" : "<string>"
7aacca6f 18160 },
44660702
DM
18161 "rename" : {
18162 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
18163 "maxLength" : 64,
18164 "minLength" : 2,
18165 "optional" : 1,
18166 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18167 "type" : "string"
18168 },
18169 "vmid" : {
18170 "description" : "The (unique) ID of the VM.",
18171 "format" : "pve-vmid",
18172 "minimum" : 1,
4bd7df8b 18173 "type" : "integer",
013dc89f 18174 "typetext" : "<integer> (1 - N)"
44660702 18175 }
56122987 18176 }
44660702
DM
18177 },
18178 "permissions" : {
18179 "check" : [
18180 "perm",
18181 "/vms/{vmid}",
18182 [
18183 "VM.Config.Network"
18184 ]
18185 ]
18186 },
18187 "protected" : 1,
18188 "returns" : {
18189 "type" : "null"
56122987
DM
18190 }
18191 }
44660702
DM
18192 },
18193 "leaf" : 0,
18194 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
18195 "text" : "ipset"
56122987
DM
18196 },
18197 {
56122987 18198 "info" : {
7aacca6f 18199 "GET" : {
44660702 18200 "description" : "Get VM firewall options.",
7aacca6f 18201 "method" : "GET",
44660702
DM
18202 "name" : "get_options",
18203 "parameters" : {
18204 "additionalProperties" : 0,
18205 "properties" : {
18206 "node" : {
18207 "description" : "The cluster node name.",
18208 "format" : "pve-node",
013dc89f
DM
18209 "type" : "string",
18210 "typetext" : "<string>"
44660702
DM
18211 },
18212 "vmid" : {
18213 "description" : "The (unique) ID of the VM.",
18214 "format" : "pve-vmid",
18215 "minimum" : 1,
4bd7df8b 18216 "type" : "integer",
013dc89f 18217 "typetext" : "<integer> (1 - N)"
44660702
DM
18218 }
18219 }
18220 },
18221 "permissions" : {
18222 "check" : [
18223 "perm",
18224 "/vms/{vmid}",
18225 [
18226 "VM.Audit"
18227 ]
18228 ]
18229 },
18230 "proxyto" : "node",
56122987 18231 "returns" : {
56122987 18232 "properties" : {
44660702
DM
18233 "dhcp" : {
18234 "description" : "Enable DHCP.",
18235 "optional" : 1,
18236 "type" : "boolean"
18237 },
18238 "enable" : {
18239 "description" : "Enable/disable firewall rules.",
18240 "optional" : 1,
18241 "type" : "boolean"
18242 },
18243 "ipfilter" : {
18244 "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 18245 "optional" : 1,
44660702
DM
18246 "type" : "boolean"
18247 },
18248 "log_level_in" : {
7aacca6f
DM
18249 "description" : "Log level for incoming traffic.",
18250 "enum" : [
18251 "emerg",
18252 "alert",
18253 "crit",
18254 "err",
18255 "warning",
18256 "notice",
18257 "info",
18258 "debug",
18259 "nolog"
44660702
DM
18260 ],
18261 "optional" : 1,
18262 "type" : "string"
56122987 18263 },
44660702
DM
18264 "log_level_out" : {
18265 "description" : "Log level for outgoing traffic.",
56122987 18266 "enum" : [
44660702
DM
18267 "emerg",
18268 "alert",
18269 "crit",
18270 "err",
18271 "warning",
18272 "notice",
18273 "info",
18274 "debug",
18275 "nolog"
7aacca6f 18276 ],
7aacca6f
DM
18277 "optional" : 1,
18278 "type" : "string"
56122987 18279 },
44660702
DM
18280 "macfilter" : {
18281 "description" : "Enable/disable MAC address filter.",
18282 "optional" : 1,
18283 "type" : "boolean"
7aacca6f 18284 },
44660702
DM
18285 "ndp" : {
18286 "description" : "Enable NDP.",
56122987 18287 "optional" : 1,
44660702 18288 "type" : "boolean"
56122987
DM
18289 },
18290 "policy_in" : {
7aacca6f 18291 "description" : "Input policy.",
56122987
DM
18292 "enum" : [
18293 "ACCEPT",
18294 "REJECT",
18295 "DROP"
18296 ],
7aacca6f 18297 "optional" : 1,
44660702 18298 "type" : "string"
56122987 18299 },
44660702
DM
18300 "policy_out" : {
18301 "description" : "Output policy.",
56122987 18302 "enum" : [
44660702
DM
18303 "ACCEPT",
18304 "REJECT",
18305 "DROP"
56122987 18306 ],
7aacca6f 18307 "optional" : 1,
56122987
DM
18308 "type" : "string"
18309 },
44660702
DM
18310 "radv" : {
18311 "description" : "Allow sending Router Advertisement.",
56122987 18312 "optional" : 1,
7aacca6f
DM
18313 "type" : "boolean"
18314 }
7aacca6f 18315 },
44660702
DM
18316 "type" : "object"
18317 }
7aacca6f
DM
18318 },
18319 "PUT" : {
44660702
DM
18320 "description" : "Set Firewall options.",
18321 "method" : "PUT",
7aacca6f
DM
18322 "name" : "set_options",
18323 "parameters" : {
44660702 18324 "additionalProperties" : 0,
7aacca6f 18325 "properties" : {
44660702
DM
18326 "delete" : {
18327 "description" : "A list of settings you want to delete.",
18328 "format" : "pve-configid-list",
18329 "optional" : 1,
013dc89f
DM
18330 "type" : "string",
18331 "typetext" : "<string>"
44660702
DM
18332 },
18333 "dhcp" : {
18334 "description" : "Enable DHCP.",
18335 "optional" : 1,
013dc89f
DM
18336 "type" : "boolean",
18337 "typetext" : "<boolean>"
44660702
DM
18338 },
18339 "digest" : {
18340 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18341 "maxLength" : 40,
18342 "optional" : 1,
013dc89f
DM
18343 "type" : "string",
18344 "typetext" : "<string>"
44660702 18345 },
7aacca6f
DM
18346 "enable" : {
18347 "description" : "Enable/disable firewall rules.",
56122987 18348 "optional" : 1,
013dc89f
DM
18349 "type" : "boolean",
18350 "typetext" : "<boolean>"
56122987 18351 },
44660702
DM
18352 "ipfilter" : {
18353 "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.",
18354 "optional" : 1,
013dc89f
DM
18355 "type" : "boolean",
18356 "typetext" : "<boolean>"
44660702
DM
18357 },
18358 "log_level_in" : {
18359 "description" : "Log level for incoming traffic.",
56122987
DM
18360 "enum" : [
18361 "emerg",
18362 "alert",
18363 "crit",
18364 "err",
18365 "warning",
18366 "notice",
18367 "info",
18368 "debug",
18369 "nolog"
18370 ],
56122987 18371 "optional" : 1,
44660702 18372 "type" : "string"
56122987 18373 },
44660702
DM
18374 "log_level_out" : {
18375 "description" : "Log level for outgoing traffic.",
56122987
DM
18376 "enum" : [
18377 "emerg",
18378 "alert",
18379 "crit",
18380 "err",
18381 "warning",
18382 "notice",
18383 "info",
18384 "debug",
18385 "nolog"
18386 ],
44660702
DM
18387 "optional" : 1,
18388 "type" : "string"
56122987 18389 },
44660702
DM
18390 "macfilter" : {
18391 "description" : "Enable/disable MAC address filter.",
18392 "optional" : 1,
013dc89f
DM
18393 "type" : "boolean",
18394 "typetext" : "<boolean>"
44660702
DM
18395 },
18396 "ndp" : {
18397 "description" : "Enable NDP.",
56122987 18398 "optional" : 1,
013dc89f
DM
18399 "type" : "boolean",
18400 "typetext" : "<boolean>"
56122987 18401 },
7aacca6f
DM
18402 "node" : {
18403 "description" : "The cluster node name.",
44660702 18404 "format" : "pve-node",
013dc89f
DM
18405 "type" : "string",
18406 "typetext" : "<string>"
7aacca6f 18407 },
44660702
DM
18408 "policy_in" : {
18409 "description" : "Input policy.",
18410 "enum" : [
18411 "ACCEPT",
18412 "REJECT",
18413 "DROP"
18414 ],
7aacca6f 18415 "optional" : 1,
44660702 18416 "type" : "string"
7aacca6f 18417 },
44660702
DM
18418 "policy_out" : {
18419 "description" : "Output policy.",
56122987 18420 "enum" : [
7aacca6f
DM
18421 "ACCEPT",
18422 "REJECT",
18423 "DROP"
56122987
DM
18424 ],
18425 "optional" : 1,
56122987 18426 "type" : "string"
7aacca6f 18427 },
44660702
DM
18428 "radv" : {
18429 "description" : "Allow sending Router Advertisement.",
7aacca6f 18430 "optional" : 1,
013dc89f
DM
18431 "type" : "boolean",
18432 "typetext" : "<boolean>"
44660702
DM
18433 },
18434 "vmid" : {
18435 "description" : "The (unique) ID of the VM.",
18436 "format" : "pve-vmid",
18437 "minimum" : 1,
4bd7df8b 18438 "type" : "integer",
013dc89f 18439 "typetext" : "<integer> (1 - N)"
56122987 18440 }
44660702 18441 }
56122987 18442 },
7aacca6f
DM
18443 "permissions" : {
18444 "check" : [
18445 "perm",
18446 "/vms/{vmid}",
18447 [
18448 "VM.Config.Network"
18449 ]
18450 ]
18451 },
44660702
DM
18452 "protected" : 1,
18453 "proxyto" : "node",
7aacca6f
DM
18454 "returns" : {
18455 "type" : "null"
56122987
DM
18456 }
18457 }
18458 },
44660702 18459 "leaf" : 1,
7aacca6f 18460 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 18461 "text" : "options"
56122987
DM
18462 },
18463 {
56122987
DM
18464 "info" : {
18465 "GET" : {
44660702 18466 "description" : "Read firewall log",
56122987 18467 "method" : "GET",
7aacca6f 18468 "name" : "log",
56122987
DM
18469 "parameters" : {
18470 "additionalProperties" : 0,
18471 "properties" : {
44660702
DM
18472 "limit" : {
18473 "minimum" : 0,
18474 "optional" : 1,
4bd7df8b 18475 "type" : "integer",
013dc89f 18476 "typetext" : "<integer> (0 - N)"
44660702 18477 },
56122987
DM
18478 "node" : {
18479 "description" : "The cluster node name.",
44660702 18480 "format" : "pve-node",
013dc89f
DM
18481 "type" : "string",
18482 "typetext" : "<string>"
56122987 18483 },
44660702
DM
18484 "start" : {
18485 "minimum" : 0,
7aacca6f 18486 "optional" : 1,
4bd7df8b 18487 "type" : "integer",
013dc89f 18488 "typetext" : "<integer> (0 - N)"
56122987
DM
18489 },
18490 "vmid" : {
44660702 18491 "description" : "The (unique) ID of the VM.",
7aacca6f 18492 "format" : "pve-vmid",
56122987 18493 "minimum" : 1,
4bd7df8b 18494 "type" : "integer",
013dc89f 18495 "typetext" : "<integer> (1 - N)"
56122987
DM
18496 }
18497 }
18498 },
44660702
DM
18499 "permissions" : {
18500 "check" : [
18501 "perm",
18502 "/vms/{vmid}",
18503 [
18504 "VM.Console"
18505 ]
18506 ]
18507 },
56122987 18508 "protected" : 1,
44660702 18509 "proxyto" : "node",
7aacca6f
DM
18510 "returns" : {
18511 "items" : {
18512 "properties" : {
7aacca6f
DM
18513 "n" : {
18514 "description" : "Line number",
18515 "type" : "integer"
44660702
DM
18516 },
18517 "t" : {
18518 "description" : "Line text",
18519 "type" : "string"
7aacca6f
DM
18520 }
18521 },
18522 "type" : "object"
18523 },
18524 "type" : "array"
44660702 18525 }
56122987
DM
18526 }
18527 },
7aacca6f 18528 "leaf" : 1,
44660702
DM
18529 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
18530 "text" : "log"
56122987
DM
18531 },
18532 {
56122987
DM
18533 "info" : {
18534 "GET" : {
7aacca6f 18535 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
18536 "method" : "GET",
18537 "name" : "refs",
56122987 18538 "parameters" : {
7aacca6f 18539 "additionalProperties" : 0,
56122987 18540 "properties" : {
44660702
DM
18541 "node" : {
18542 "description" : "The cluster node name.",
18543 "format" : "pve-node",
013dc89f
DM
18544 "type" : "string",
18545 "typetext" : "<string>"
7aacca6f 18546 },
56122987 18547 "type" : {
44660702 18548 "description" : "Only list references of specified type.",
56122987
DM
18549 "enum" : [
18550 "alias",
18551 "ipset"
18552 ],
44660702
DM
18553 "optional" : 1,
18554 "type" : "string"
56122987 18555 },
44660702
DM
18556 "vmid" : {
18557 "description" : "The (unique) ID of the VM.",
18558 "format" : "pve-vmid",
18559 "minimum" : 1,
4bd7df8b 18560 "type" : "integer",
013dc89f 18561 "typetext" : "<integer> (1 - N)"
56122987 18562 }
7aacca6f 18563 }
56122987 18564 },
44660702
DM
18565 "permissions" : {
18566 "check" : [
18567 "perm",
18568 "/vms/{vmid}",
18569 [
18570 "VM.Audit"
18571 ]
18572 ]
18573 },
56122987 18574 "returns" : {
56122987 18575 "items" : {
56122987 18576 "properties" : {
44660702
DM
18577 "comment" : {
18578 "optional" : 1,
18579 "type" : "string"
18580 },
18581 "name" : {
18582 "type" : "string"
18583 },
56122987 18584 "type" : {
56122987
DM
18585 "enum" : [
18586 "alias",
18587 "ipset"
44660702 18588 ],
7aacca6f 18589 "type" : "string"
56122987 18590 }
44660702
DM
18591 },
18592 "type" : "object"
18593 },
18594 "type" : "array"
56122987
DM
18595 }
18596 }
18597 },
44660702 18598 "leaf" : 1,
7aacca6f 18599 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 18600 "text" : "refs"
56122987
DM
18601 }
18602 ],
56122987
DM
18603 "info" : {
18604 "GET" : {
7aacca6f 18605 "description" : "Directory index.",
44660702
DM
18606 "method" : "GET",
18607 "name" : "index",
56122987 18608 "parameters" : {
44660702 18609 "additionalProperties" : 0,
56122987 18610 "properties" : {
56122987 18611 "node" : {
44660702 18612 "description" : "The cluster node name.",
56122987 18613 "format" : "pve-node",
013dc89f
DM
18614 "type" : "string",
18615 "typetext" : "<string>"
44660702
DM
18616 },
18617 "vmid" : {
18618 "description" : "The (unique) ID of the VM.",
18619 "format" : "pve-vmid",
18620 "minimum" : 1,
4bd7df8b 18621 "type" : "integer",
013dc89f 18622 "typetext" : "<integer> (1 - N)"
56122987 18623 }
44660702
DM
18624 }
18625 },
18626 "permissions" : {
18627 "user" : "all"
56122987
DM
18628 },
18629 "returns" : {
7aacca6f 18630 "items" : {
44660702
DM
18631 "properties" : {},
18632 "type" : "object"
7aacca6f 18633 },
56122987
DM
18634 "links" : [
18635 {
44660702
DM
18636 "href" : "{name}",
18637 "rel" : "child"
56122987 18638 }
44660702
DM
18639 ],
18640 "type" : "array"
56122987
DM
18641 }
18642 }
18643 },
44660702 18644 "leaf" : 0,
7aacca6f 18645 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 18646 "text" : "firewall"
56122987
DM
18647 },
18648 {
56122987
DM
18649 "info" : {
18650 "GET" : {
56122987 18651 "description" : "Read VM RRD statistics (returns PNG)",
44660702 18652 "method" : "GET",
7aacca6f 18653 "name" : "rrd",
56122987 18654 "parameters" : {
7aacca6f 18655 "additionalProperties" : 0,
56122987 18656 "properties" : {
44660702
DM
18657 "cf" : {
18658 "description" : "The RRD consolidation function",
18659 "enum" : [
18660 "AVERAGE",
18661 "MAX"
18662 ],
18663 "optional" : 1,
18664 "type" : "string"
18665 },
18666 "ds" : {
18667 "description" : "The list of datasources you want to display.",
18668 "format" : "pve-configid-list",
013dc89f
DM
18669 "type" : "string",
18670 "typetext" : "<string>"
44660702 18671 },
7aacca6f
DM
18672 "node" : {
18673 "description" : "The cluster node name.",
44660702 18674 "format" : "pve-node",
013dc89f
DM
18675 "type" : "string",
18676 "typetext" : "<string>"
56122987
DM
18677 },
18678 "timeframe" : {
18679 "description" : "Specify the time frame you are interested in.",
18680 "enum" : [
18681 "hour",
18682 "day",
18683 "week",
18684 "month",
18685 "year"
7aacca6f 18686 ],
44660702 18687 "type" : "string"
7aacca6f
DM
18688 },
18689 "vmid" : {
44660702 18690 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18691 "format" : "pve-vmid",
18692 "minimum" : 1,
4bd7df8b 18693 "type" : "integer",
013dc89f 18694 "typetext" : "<integer> (1 - N)"
56122987 18695 }
7aacca6f
DM
18696 }
18697 },
18698 "permissions" : {
18699 "check" : [
18700 "perm",
18701 "/vms/{vmid}",
18702 [
18703 "VM.Audit"
18704 ]
18705 ]
56122987 18706 },
44660702 18707 "protected" : 1,
7aacca6f
DM
18708 "returns" : {
18709 "properties" : {
18710 "filename" : {
18711 "type" : "string"
18712 }
18713 },
18714 "type" : "object"
18715 }
56122987 18716 }
7aacca6f 18717 },
44660702 18718 "leaf" : 1,
7aacca6f 18719 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 18720 "text" : "rrd"
56122987
DM
18721 },
18722 {
56122987
DM
18723 "info" : {
18724 "GET" : {
44660702
DM
18725 "description" : "Read VM RRD statistics",
18726 "method" : "GET",
18727 "name" : "rrddata",
56122987 18728 "parameters" : {
7aacca6f 18729 "additionalProperties" : 0,
56122987 18730 "properties" : {
44660702
DM
18731 "cf" : {
18732 "description" : "The RRD consolidation function",
18733 "enum" : [
18734 "AVERAGE",
18735 "MAX"
18736 ],
18737 "optional" : 1,
18738 "type" : "string"
18739 },
7aacca6f 18740 "node" : {
44660702 18741 "description" : "The cluster node name.",
7aacca6f 18742 "format" : "pve-node",
013dc89f
DM
18743 "type" : "string",
18744 "typetext" : "<string>"
7aacca6f 18745 },
56122987
DM
18746 "timeframe" : {
18747 "description" : "Specify the time frame you are interested in.",
18748 "enum" : [
18749 "hour",
18750 "day",
18751 "week",
18752 "month",
18753 "year"
44660702
DM
18754 ],
18755 "type" : "string"
7aacca6f
DM
18756 },
18757 "vmid" : {
18758 "description" : "The (unique) ID of the VM.",
44660702 18759 "format" : "pve-vmid",
7aacca6f 18760 "minimum" : 1,
4bd7df8b 18761 "type" : "integer",
013dc89f 18762 "typetext" : "<integer> (1 - N)"
56122987 18763 }
56122987
DM
18764 }
18765 },
56122987
DM
18766 "permissions" : {
18767 "check" : [
18768 "perm",
18769 "/vms/{vmid}",
18770 [
18771 "VM.Audit"
18772 ]
18773 ]
18774 },
7aacca6f
DM
18775 "protected" : 1,
18776 "returns" : {
7aacca6f
DM
18777 "items" : {
18778 "properties" : {},
18779 "type" : "object"
44660702
DM
18780 },
18781 "type" : "array"
18782 }
56122987
DM
18783 }
18784 },
44660702 18785 "leaf" : 1,
7aacca6f 18786 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 18787 "text" : "rrddata"
56122987
DM
18788 },
18789 {
18790 "info" : {
18791 "POST" : {
18792 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
18793 "method" : "POST",
18794 "name" : "vncproxy",
7aacca6f 18795 "parameters" : {
44660702 18796 "additionalProperties" : 0,
7aacca6f 18797 "properties" : {
5d9c884c
DM
18798 "height" : {
18799 "description" : "sets the height of the console in pixels.",
18800 "maximum" : 2160,
18801 "minimum" : 16,
18802 "optional" : 1,
18803 "type" : "integer",
18804 "typetext" : "<integer> (16 - 2160)"
18805 },
44660702
DM
18806 "node" : {
18807 "description" : "The cluster node name.",
18808 "format" : "pve-node",
013dc89f
DM
18809 "type" : "string",
18810 "typetext" : "<string>"
44660702 18811 },
7aacca6f 18812 "vmid" : {
44660702 18813 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18814 "format" : "pve-vmid",
18815 "minimum" : 1,
4bd7df8b 18816 "type" : "integer",
013dc89f 18817 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
18818 },
18819 "websocket" : {
44660702 18820 "description" : "use websocket instead of standard VNC.",
7aacca6f 18821 "optional" : 1,
013dc89f
DM
18822 "type" : "boolean",
18823 "typetext" : "<boolean>"
5d9c884c
DM
18824 },
18825 "width" : {
18826 "description" : "sets the width of the console in pixels.",
18827 "maximum" : 4096,
18828 "minimum" : 16,
18829 "optional" : 1,
18830 "type" : "integer",
18831 "typetext" : "<integer> (16 - 4096)"
7aacca6f 18832 }
44660702 18833 }
7aacca6f 18834 },
56122987
DM
18835 "permissions" : {
18836 "check" : [
18837 "perm",
18838 "/vms/{vmid}",
18839 [
18840 "VM.Console"
18841 ]
18842 ]
18843 },
44660702 18844 "protected" : 1,
56122987 18845 "returns" : {
7aacca6f 18846 "additionalProperties" : 0,
56122987 18847 "properties" : {
7aacca6f 18848 "cert" : {
56122987
DM
18849 "type" : "string"
18850 },
44660702
DM
18851 "port" : {
18852 "type" : "integer"
56122987 18853 },
44660702 18854 "ticket" : {
56122987
DM
18855 "type" : "string"
18856 },
44660702 18857 "upid" : {
56122987
DM
18858 "type" : "string"
18859 },
44660702
DM
18860 "user" : {
18861 "type" : "string"
56122987 18862 }
7aacca6f 18863 }
56122987
DM
18864 }
18865 }
18866 },
44660702 18867 "leaf" : 1,
56122987 18868 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 18869 "text" : "vncproxy"
56122987 18870 },
35a75dd3
DM
18871 {
18872 "info" : {
18873 "POST" : {
18874 "description" : "Creates a TCP proxy connection.",
18875 "method" : "POST",
18876 "name" : "termproxy",
18877 "parameters" : {
18878 "additionalProperties" : 0,
18879 "properties" : {
18880 "node" : {
18881 "description" : "The cluster node name.",
18882 "format" : "pve-node",
18883 "type" : "string",
18884 "typetext" : "<string>"
18885 },
18886 "vmid" : {
18887 "description" : "The (unique) ID of the VM.",
18888 "format" : "pve-vmid",
18889 "minimum" : 1,
18890 "type" : "integer",
18891 "typetext" : "<integer> (1 - N)"
18892 }
18893 }
18894 },
18895 "permissions" : {
18896 "check" : [
18897 "perm",
18898 "/vms/{vmid}",
18899 [
18900 "VM.Console"
18901 ]
18902 ]
18903 },
18904 "protected" : 1,
18905 "returns" : {
18906 "additionalProperties" : 0,
18907 "properties" : {
18908 "port" : {
18909 "type" : "integer"
18910 },
18911 "ticket" : {
18912 "type" : "string"
18913 },
18914 "upid" : {
18915 "type" : "string"
18916 },
18917 "user" : {
18918 "type" : "string"
18919 }
18920 }
18921 }
18922 }
18923 },
18924 "leaf" : 1,
18925 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
18926 "text" : "termproxy"
18927 },
56122987 18928 {
56122987
DM
18929 "info" : {
18930 "GET" : {
44660702
DM
18931 "description" : "Opens a weksocket for VNC traffic.",
18932 "method" : "GET",
18933 "name" : "vncwebsocket",
56122987 18934 "parameters" : {
44660702 18935 "additionalProperties" : 0,
56122987 18936 "properties" : {
56122987
DM
18937 "node" : {
18938 "description" : "The cluster node name.",
44660702 18939 "format" : "pve-node",
013dc89f
DM
18940 "type" : "string",
18941 "typetext" : "<string>"
7aacca6f 18942 },
44660702
DM
18943 "port" : {
18944 "description" : "Port number returned by previous vncproxy call.",
18945 "maximum" : 5999,
18946 "minimum" : 5900,
4bd7df8b 18947 "type" : "integer",
013dc89f 18948 "typetext" : "<integer> (5900 - 5999)"
44660702 18949 },
7aacca6f
DM
18950 "vmid" : {
18951 "description" : "The (unique) ID of the VM.",
7aacca6f 18952 "format" : "pve-vmid",
44660702 18953 "minimum" : 1,
4bd7df8b 18954 "type" : "integer",
013dc89f 18955 "typetext" : "<integer> (1 - N)"
44660702
DM
18956 },
18957 "vncticket" : {
18958 "description" : "Ticket from previous call to vncproxy.",
18959 "maxLength" : 512,
013dc89f
DM
18960 "type" : "string",
18961 "typetext" : "<string>"
56122987 18962 }
44660702 18963 }
7aacca6f 18964 },
7aacca6f
DM
18965 "permissions" : {
18966 "check" : [
18967 "perm",
18968 "/vms/{vmid}",
18969 [
18970 "VM.Console"
18971 ]
18972 ],
18973 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
18974 },
18975 "returns" : {
56122987
DM
18976 "properties" : {
18977 "port" : {
18978 "type" : "string"
18979 }
44660702
DM
18980 },
18981 "type" : "object"
18982 }
56122987
DM
18983 }
18984 },
44660702 18985 "leaf" : 1,
7aacca6f 18986 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 18987 "text" : "vncwebsocket"
56122987
DM
18988 },
18989 {
56122987
DM
18990 "info" : {
18991 "POST" : {
44660702
DM
18992 "description" : "Returns a SPICE configuration to connect to the CT.",
18993 "method" : "POST",
18994 "name" : "spiceproxy",
56122987
DM
18995 "parameters" : {
18996 "additionalProperties" : 0,
18997 "properties" : {
44660702
DM
18998 "node" : {
18999 "description" : "The cluster node name.",
19000 "format" : "pve-node",
013dc89f
DM
19001 "type" : "string",
19002 "typetext" : "<string>"
56122987
DM
19003 },
19004 "proxy" : {
7aacca6f 19005 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
44660702
DM
19006 "format" : "address",
19007 "optional" : 1,
013dc89f
DM
19008 "type" : "string",
19009 "typetext" : "<string>"
44660702
DM
19010 },
19011 "vmid" : {
19012 "description" : "The (unique) ID of the VM.",
19013 "format" : "pve-vmid",
19014 "minimum" : 1,
4bd7df8b 19015 "type" : "integer",
013dc89f 19016 "typetext" : "<integer> (1 - N)"
56122987
DM
19017 }
19018 }
19019 },
56122987
DM
19020 "permissions" : {
19021 "check" : [
19022 "perm",
19023 "/vms/{vmid}",
19024 [
19025 "VM.Console"
19026 ]
19027 ]
19028 },
44660702
DM
19029 "protected" : 1,
19030 "proxyto" : "node",
56122987 19031 "returns" : {
7aacca6f 19032 "additionalProperties" : 1,
44660702 19033 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 19034 "properties" : {
44660702 19035 "host" : {
56122987
DM
19036 "type" : "string"
19037 },
44660702 19038 "password" : {
56122987
DM
19039 "type" : "string"
19040 },
19041 "proxy" : {
19042 "type" : "string"
19043 },
56122987
DM
19044 "tls-port" : {
19045 "type" : "integer"
7aacca6f 19046 },
44660702 19047 "type" : {
7aacca6f 19048 "type" : "string"
56122987 19049 }
7aacca6f
DM
19050 }
19051 }
56122987 19052 }
44660702
DM
19053 },
19054 "leaf" : 1,
19055 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
19056 "text" : "spiceproxy"
56122987
DM
19057 },
19058 {
56122987
DM
19059 "info" : {
19060 "POST" : {
44660702 19061 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 19062 "method" : "POST",
44660702 19063 "name" : "migrate_vm",
56122987 19064 "parameters" : {
44660702 19065 "additionalProperties" : 0,
56122987 19066 "properties" : {
44660702 19067 "force" : {
de0983cb 19068 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 19069 "optional" : 1,
013dc89f
DM
19070 "type" : "boolean",
19071 "typetext" : "<boolean>"
44660702
DM
19072 },
19073 "node" : {
19074 "description" : "The cluster node name.",
7aacca6f 19075 "format" : "pve-node",
013dc89f
DM
19076 "type" : "string",
19077 "typetext" : "<string>"
7aacca6f 19078 },
56122987 19079 "online" : {
56122987 19080 "description" : "Use online/live migration.",
44660702 19081 "optional" : 1,
013dc89f
DM
19082 "type" : "boolean",
19083 "typetext" : "<boolean>"
56122987 19084 },
6875b729
DM
19085 "restart" : {
19086 "description" : "Use restart migration",
19087 "optional" : 1,
19088 "type" : "boolean",
19089 "typetext" : "<boolean>"
19090 },
44660702
DM
19091 "target" : {
19092 "description" : "Target node.",
56122987 19093 "format" : "pve-node",
013dc89f
DM
19094 "type" : "string",
19095 "typetext" : "<string>"
56122987 19096 },
6875b729
DM
19097 "timeout" : {
19098 "default" : 180,
19099 "description" : "Timeout in seconds for shutdown for restart migration",
19100 "optional" : 1,
19101 "type" : "integer",
19102 "typetext" : "<integer>"
19103 },
44660702
DM
19104 "vmid" : {
19105 "description" : "The (unique) ID of the VM.",
19106 "format" : "pve-vmid",
19107 "minimum" : 1,
4bd7df8b 19108 "type" : "integer",
013dc89f 19109 "typetext" : "<integer> (1 - N)"
56122987 19110 }
44660702 19111 }
7aacca6f 19112 },
56122987
DM
19113 "permissions" : {
19114 "check" : [
19115 "perm",
19116 "/vms/{vmid}",
19117 [
19118 "VM.Migrate"
19119 ]
19120 ]
19121 },
44660702 19122 "protected" : 1,
7aacca6f 19123 "proxyto" : "node",
44660702
DM
19124 "returns" : {
19125 "description" : "the task ID.",
19126 "type" : "string"
19127 }
56122987
DM
19128 }
19129 },
44660702
DM
19130 "leaf" : 1,
19131 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 19132 "text" : "migrate"
56122987
DM
19133 },
19134 {
56122987
DM
19135 "info" : {
19136 "GET" : {
44660702
DM
19137 "description" : "Check if feature for virtual machine is available.",
19138 "method" : "GET",
56122987 19139 "name" : "vm_feature",
56122987 19140 "parameters" : {
7aacca6f 19141 "additionalProperties" : 0,
56122987 19142 "properties" : {
44660702
DM
19143 "feature" : {
19144 "description" : "Feature to check.",
19145 "enum" : [
27a7acb2
DM
19146 "snapshot",
19147 "clone",
19148 "copy"
44660702
DM
19149 ],
19150 "type" : "string"
19151 },
7aacca6f 19152 "node" : {
44660702 19153 "description" : "The cluster node name.",
7aacca6f 19154 "format" : "pve-node",
013dc89f
DM
19155 "type" : "string",
19156 "typetext" : "<string>"
7aacca6f 19157 },
56122987 19158 "snapname" : {
7aacca6f
DM
19159 "description" : "The name of the snapshot.",
19160 "format" : "pve-configid",
44660702
DM
19161 "maxLength" : 40,
19162 "optional" : 1,
013dc89f
DM
19163 "type" : "string",
19164 "typetext" : "<string>"
56122987
DM
19165 },
19166 "vmid" : {
7aacca6f 19167 "description" : "The (unique) ID of the VM.",
44660702 19168 "format" : "pve-vmid",
7aacca6f 19169 "minimum" : 1,
4bd7df8b 19170 "type" : "integer",
013dc89f 19171 "typetext" : "<integer> (1 - N)"
56122987 19172 }
7aacca6f 19173 }
56122987
DM
19174 },
19175 "permissions" : {
19176 "check" : [
19177 "perm",
19178 "/vms/{vmid}",
19179 [
19180 "VM.Audit"
19181 ]
19182 ]
19183 },
44660702 19184 "protected" : 1,
7aacca6f 19185 "proxyto" : "node",
7aacca6f
DM
19186 "returns" : {
19187 "properties" : {
19188 "hasFeature" : {
19189 "type" : "boolean"
19190 }
19191 },
19192 "type" : "object"
19193 }
56122987
DM
19194 }
19195 },
7aacca6f 19196 "leaf" : 1,
44660702
DM
19197 "path" : "/nodes/{node}/lxc/{vmid}/feature",
19198 "text" : "feature"
56122987
DM
19199 },
19200 {
56122987
DM
19201 "info" : {
19202 "POST" : {
44660702
DM
19203 "description" : "Create a Template.",
19204 "method" : "POST",
56122987 19205 "name" : "template",
56122987
DM
19206 "parameters" : {
19207 "additionalProperties" : 0,
19208 "properties" : {
7aacca6f 19209 "node" : {
7aacca6f 19210 "description" : "The cluster node name.",
44660702 19211 "format" : "pve-node",
013dc89f
DM
19212 "type" : "string",
19213 "typetext" : "<string>"
56122987 19214 },
44660702
DM
19215 "vmid" : {
19216 "description" : "The (unique) ID of the VM.",
19217 "format" : "pve-vmid",
19218 "minimum" : 1,
4bd7df8b 19219 "type" : "integer",
013dc89f 19220 "typetext" : "<integer> (1 - N)"
56122987
DM
19221 }
19222 }
19223 },
56122987 19224 "permissions" : {
56122987
DM
19225 "check" : [
19226 "perm",
19227 "/vms/{vmid}",
19228 [
19229 "VM.Allocate"
19230 ]
44660702
DM
19231 ],
19232 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 19233 },
44660702 19234 "protected" : 1,
7aacca6f
DM
19235 "proxyto" : "node",
19236 "returns" : {
19237 "type" : "null"
56122987
DM
19238 }
19239 }
19240 },
44660702 19241 "leaf" : 1,
7aacca6f 19242 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 19243 "text" : "template"
56122987
DM
19244 },
19245 {
56122987
DM
19246 "info" : {
19247 "POST" : {
44660702
DM
19248 "description" : "Create a container clone/copy",
19249 "method" : "POST",
56122987 19250 "name" : "clone_vm",
7aacca6f
DM
19251 "parameters" : {
19252 "additionalProperties" : 0,
19253 "properties" : {
44660702
DM
19254 "description" : {
19255 "description" : "Description for the new CT.",
7aacca6f 19256 "optional" : 1,
013dc89f
DM
19257 "type" : "string",
19258 "typetext" : "<string>"
7aacca6f 19259 },
44660702 19260 "full" : {
27a7acb2 19261 "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.",
7aacca6f 19262 "optional" : 1,
013dc89f
DM
19263 "type" : "boolean",
19264 "typetext" : "<boolean>"
7aacca6f
DM
19265 },
19266 "hostname" : {
44660702 19267 "description" : "Set a hostname for the new CT.",
7aacca6f 19268 "format" : "dns-name",
7aacca6f 19269 "optional" : 1,
013dc89f
DM
19270 "type" : "string",
19271 "typetext" : "<string>"
7aacca6f 19272 },
44660702
DM
19273 "newid" : {
19274 "description" : "VMID for the clone.",
7aacca6f 19275 "format" : "pve-vmid",
44660702 19276 "minimum" : 1,
4bd7df8b 19277 "type" : "integer",
013dc89f 19278 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
19279 },
19280 "node" : {
19281 "description" : "The cluster node name.",
44660702 19282 "format" : "pve-node",
013dc89f
DM
19283 "type" : "string",
19284 "typetext" : "<string>"
44660702
DM
19285 },
19286 "pool" : {
19287 "description" : "Add the new CT to the specified pool.",
19288 "format" : "pve-poolid",
19289 "optional" : 1,
013dc89f
DM
19290 "type" : "string",
19291 "typetext" : "<string>"
7aacca6f
DM
19292 },
19293 "snapname" : {
44660702 19294 "description" : "The name of the snapshot.",
7aacca6f
DM
19295 "format" : "pve-configid",
19296 "maxLength" : 40,
7aacca6f 19297 "optional" : 1,
013dc89f
DM
19298 "type" : "string",
19299 "typetext" : "<string>"
7aacca6f
DM
19300 },
19301 "storage" : {
44660702 19302 "description" : "Target storage for full clone.",
7aacca6f
DM
19303 "format" : "pve-storage-id",
19304 "optional" : 1,
27a7acb2
DM
19305 "type" : "string",
19306 "typetext" : "<string>"
19307 },
19308 "target" : {
19309 "description" : "Target node. Only allowed if the original VM is on shared storage.",
19310 "format" : "pve-node",
19311 "optional" : 1,
013dc89f
DM
19312 "type" : "string",
19313 "typetext" : "<string>"
44660702
DM
19314 },
19315 "vmid" : {
19316 "description" : "The (unique) ID of the VM.",
19317 "format" : "pve-vmid",
19318 "minimum" : 1,
4bd7df8b 19319 "type" : "integer",
013dc89f 19320 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
19321 }
19322 }
56122987
DM
19323 },
19324 "permissions" : {
56122987
DM
19325 "check" : [
19326 "and",
19327 [
19328 "perm",
19329 "/vms/{vmid}",
19330 [
19331 "VM.Clone"
19332 ]
19333 ],
19334 [
19335 "or",
19336 [
19337 "perm",
19338 "/vms/{newid}",
19339 [
19340 "VM.Allocate"
19341 ]
19342 ],
19343 [
19344 "perm",
19345 "/pool/{pool}",
19346 [
19347 "VM.Allocate"
19348 ],
19349 "require_param",
19350 "pool"
19351 ]
19352 ]
7aacca6f
DM
19353 ],
19354 "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 19355 },
44660702 19356 "protected" : 1,
56122987 19357 "proxyto" : "node",
7aacca6f
DM
19358 "returns" : {
19359 "type" : "string"
56122987
DM
19360 }
19361 }
44660702
DM
19362 },
19363 "leaf" : 1,
19364 "path" : "/nodes/{node}/lxc/{vmid}/clone",
19365 "text" : "clone"
56122987
DM
19366 },
19367 {
56122987
DM
19368 "info" : {
19369 "PUT" : {
de0983cb 19370 "description" : "Resize a container mount point.",
44660702
DM
19371 "method" : "PUT",
19372 "name" : "resize_vm",
56122987 19373 "parameters" : {
44660702 19374 "additionalProperties" : 0,
56122987 19375 "properties" : {
44660702
DM
19376 "digest" : {
19377 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19378 "maxLength" : 40,
19379 "optional" : 1,
013dc89f
DM
19380 "type" : "string",
19381 "typetext" : "<string>"
56122987
DM
19382 },
19383 "disk" : {
7aacca6f 19384 "description" : "The disk you want to resize.",
56122987
DM
19385 "enum" : [
19386 "rootfs",
19387 "mp0",
19388 "mp1",
19389 "mp2",
19390 "mp3",
19391 "mp4",
19392 "mp5",
19393 "mp6",
19394 "mp7",
19395 "mp8",
19396 "mp9"
19397 ],
7aacca6f
DM
19398 "type" : "string"
19399 },
44660702
DM
19400 "node" : {
19401 "description" : "The cluster node name.",
19402 "format" : "pve-node",
013dc89f
DM
19403 "type" : "string",
19404 "typetext" : "<string>"
44660702
DM
19405 },
19406 "size" : {
19407 "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.",
19408 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
19409 "type" : "string"
19410 },
19411 "vmid" : {
19412 "description" : "The (unique) ID of the VM.",
19413 "format" : "pve-vmid",
19414 "minimum" : 1,
4bd7df8b 19415 "type" : "integer",
013dc89f 19416 "typetext" : "<integer> (1 - N)"
56122987 19417 }
44660702 19418 }
56122987 19419 },
7aacca6f
DM
19420 "permissions" : {
19421 "check" : [
19422 "perm",
19423 "/vms/{vmid}",
19424 [
19425 "VM.Config.Disk"
19426 ],
19427 "any",
19428 1
19429 ]
19430 },
44660702 19431 "protected" : 1,
7aacca6f
DM
19432 "proxyto" : "node",
19433 "returns" : {
19434 "description" : "the task ID.",
19435 "type" : "string"
19436 }
56122987
DM
19437 }
19438 },
44660702 19439 "leaf" : 1,
7aacca6f 19440 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 19441 "text" : "resize"
27a7acb2
DM
19442 },
19443 {
19444 "info" : {
19445 "POST" : {
19446 "description" : "Move a rootfs-/mp-volume to a different storage",
19447 "method" : "POST",
19448 "name" : "move_volume",
19449 "parameters" : {
19450 "additionalProperties" : 0,
19451 "properties" : {
19452 "delete" : {
19453 "default" : 0,
19454 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
19455 "optional" : 1,
19456 "type" : "boolean",
19457 "typetext" : "<boolean>"
19458 },
19459 "digest" : {
19460 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19461 "maxLength" : 40,
19462 "optional" : 1,
19463 "type" : "string",
19464 "typetext" : "<string>"
19465 },
19466 "node" : {
19467 "description" : "The cluster node name.",
19468 "format" : "pve-node",
19469 "type" : "string",
19470 "typetext" : "<string>"
19471 },
19472 "storage" : {
19473 "description" : "Target Storage.",
19474 "format" : "pve-storage-id",
19475 "type" : "string",
19476 "typetext" : "<string>"
19477 },
19478 "vmid" : {
19479 "description" : "The (unique) ID of the VM.",
19480 "format" : "pve-vmid",
19481 "minimum" : 1,
19482 "type" : "integer",
19483 "typetext" : "<integer> (1 - N)"
19484 },
19485 "volume" : {
19486 "description" : "Volume which will be moved.",
19487 "enum" : [
19488 "rootfs",
19489 "mp0",
19490 "mp1",
19491 "mp2",
19492 "mp3",
19493 "mp4",
19494 "mp5",
19495 "mp6",
19496 "mp7",
19497 "mp8",
19498 "mp9"
19499 ],
19500 "type" : "string"
19501 }
19502 }
19503 },
19504 "permissions" : {
19505 "check" : [
19506 "and",
19507 [
19508 "perm",
19509 "/vms/{vmid}",
19510 [
19511 "VM.Config.Disk"
19512 ]
19513 ],
19514 [
19515 "perm",
19516 "/storage/{storage}",
19517 [
19518 "Datastore.AllocateSpace"
19519 ]
19520 ]
19521 ],
19522 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
19523 },
19524 "protected" : 1,
19525 "proxyto" : "node",
19526 "returns" : {
19527 "type" : "string"
19528 }
19529 }
19530 },
19531 "leaf" : 1,
19532 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
19533 "text" : "move_volume"
56122987
DM
19534 }
19535 ],
19536 "info" : {
19537 "DELETE" : {
7aacca6f 19538 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
19539 "method" : "DELETE",
19540 "name" : "destroy_vm",
19541 "parameters" : {
19542 "additionalProperties" : 0,
19543 "properties" : {
19544 "node" : {
19545 "description" : "The cluster node name.",
19546 "format" : "pve-node",
013dc89f
DM
19547 "type" : "string",
19548 "typetext" : "<string>"
44660702
DM
19549 },
19550 "vmid" : {
19551 "description" : "The (unique) ID of the VM.",
19552 "format" : "pve-vmid",
19553 "minimum" : 1,
4bd7df8b 19554 "type" : "integer",
013dc89f 19555 "typetext" : "<integer> (1 - N)"
44660702
DM
19556 }
19557 }
19558 },
7aacca6f
DM
19559 "permissions" : {
19560 "check" : [
19561 "perm",
19562 "/vms/{vmid}",
19563 [
19564 "VM.Allocate"
19565 ]
19566 ]
19567 },
44660702
DM
19568 "protected" : 1,
19569 "proxyto" : "node",
56122987
DM
19570 "returns" : {
19571 "type" : "string"
44660702 19572 }
56122987
DM
19573 },
19574 "GET" : {
7aacca6f 19575 "description" : "Directory index",
44660702 19576 "method" : "GET",
7aacca6f 19577 "name" : "vmdiridx",
56122987 19578 "parameters" : {
7aacca6f 19579 "additionalProperties" : 0,
56122987
DM
19580 "properties" : {
19581 "node" : {
7aacca6f 19582 "description" : "The cluster node name.",
44660702 19583 "format" : "pve-node",
013dc89f
DM
19584 "type" : "string",
19585 "typetext" : "<string>"
56122987
DM
19586 },
19587 "vmid" : {
19588 "description" : "The (unique) ID of the VM.",
56122987 19589 "format" : "pve-vmid",
44660702 19590 "minimum" : 1,
4bd7df8b 19591 "type" : "integer",
013dc89f 19592 "typetext" : "<integer> (1 - N)"
56122987 19593 }
7aacca6f 19594 }
56122987 19595 },
56122987
DM
19596 "permissions" : {
19597 "user" : "all"
44660702
DM
19598 },
19599 "proxyto" : "node",
19600 "returns" : {
19601 "items" : {
19602 "properties" : {
19603 "subdir" : {
19604 "type" : "string"
19605 }
19606 },
19607 "type" : "object"
19608 },
19609 "links" : [
19610 {
19611 "href" : "{subdir}",
19612 "rel" : "child"
19613 }
19614 ],
19615 "type" : "array"
56122987
DM
19616 }
19617 }
44660702
DM
19618 },
19619 "leaf" : 0,
19620 "path" : "/nodes/{node}/lxc/{vmid}",
19621 "text" : "{vmid}"
56122987
DM
19622 }
19623 ],
56122987 19624 "info" : {
44660702
DM
19625 "GET" : {
19626 "description" : "LXC container index (per node).",
19627 "method" : "GET",
19628 "name" : "vmlist",
19629 "parameters" : {
19630 "additionalProperties" : 0,
19631 "properties" : {
19632 "node" : {
19633 "description" : "The cluster node name.",
19634 "format" : "pve-node",
013dc89f
DM
19635 "type" : "string",
19636 "typetext" : "<string>"
44660702
DM
19637 }
19638 }
19639 },
19640 "permissions" : {
19641 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
19642 "user" : "all"
19643 },
19644 "protected" : 1,
19645 "proxyto" : "node",
19646 "returns" : {
19647 "items" : {
19648 "properties" : {},
19649 "type" : "object"
19650 },
19651 "links" : [
19652 {
19653 "href" : "{vmid}",
19654 "rel" : "child"
19655 }
19656 ],
19657 "type" : "array"
19658 }
19659 },
56122987 19660 "POST" : {
44660702 19661 "description" : "Create or restore a container.",
7aacca6f
DM
19662 "method" : "POST",
19663 "name" : "create_vm",
56122987 19664 "parameters" : {
7aacca6f 19665 "additionalProperties" : 0,
56122987 19666 "properties" : {
44660702
DM
19667 "arch" : {
19668 "default" : "amd64",
19669 "description" : "OS architecture type.",
19670 "enum" : [
19671 "amd64",
19672 "i386"
19673 ],
7aacca6f 19674 "optional" : 1,
44660702 19675 "type" : "string"
7aacca6f 19676 },
27a7acb2
DM
19677 "bwlimit" : {
19678 "description" : "Override i/o bandwidth limit (in KiB/s).",
19679 "minimum" : "0",
19680 "optional" : 1,
19681 "type" : "number",
19682 "typetext" : "<number> (0 - N)"
19683 },
44660702
DM
19684 "cmode" : {
19685 "default" : "tty",
19686 "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).",
19687 "enum" : [
19688 "shell",
19689 "console",
19690 "tty"
19691 ],
7aacca6f 19692 "optional" : 1,
44660702 19693 "type" : "string"
7aacca6f
DM
19694 },
19695 "console" : {
7aacca6f 19696 "default" : 1,
44660702 19697 "description" : "Attach a console device (/dev/console) to the container.",
56122987 19698 "optional" : 1,
013dc89f
DM
19699 "type" : "boolean",
19700 "typetext" : "<boolean>"
56122987 19701 },
de0983cb
DM
19702 "cores" : {
19703 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19704 "maximum" : 128,
19705 "minimum" : 1,
19706 "optional" : 1,
19707 "type" : "integer",
013dc89f 19708 "typetext" : "<integer> (1 - 128)"
de0983cb 19709 },
44660702
DM
19710 "cpulimit" : {
19711 "default" : 0,
19712 "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.",
19713 "maximum" : 128,
19714 "minimum" : 0,
56122987 19715 "optional" : 1,
4bd7df8b 19716 "type" : "number",
013dc89f 19717 "typetext" : "<number> (0 - 128)"
56122987 19718 },
44660702
DM
19719 "cpuunits" : {
19720 "default" : 1024,
19721 "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.",
19722 "maximum" : 500000,
19723 "minimum" : 0,
56122987 19724 "optional" : 1,
4bd7df8b 19725 "type" : "integer",
013dc89f 19726 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
19727 },
19728 "description" : {
44660702 19729 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19730 "optional" : 1,
013dc89f
DM
19731 "type" : "string",
19732 "typetext" : "<string>"
7aacca6f 19733 },
44660702
DM
19734 "force" : {
19735 "description" : "Allow to overwrite existing container.",
7aacca6f 19736 "optional" : 1,
013dc89f
DM
19737 "type" : "boolean",
19738 "typetext" : "<boolean>"
44660702
DM
19739 },
19740 "hostname" : {
19741 "description" : "Set a host name for the container.",
19742 "format" : "dns-name",
19743 "maxLength" : 255,
19744 "optional" : 1,
013dc89f
DM
19745 "type" : "string",
19746 "typetext" : "<string>"
44660702
DM
19747 },
19748 "ignore-unpack-errors" : {
19749 "description" : "Ignore errors when extracting the template.",
19750 "optional" : 1,
013dc89f
DM
19751 "type" : "boolean",
19752 "typetext" : "<boolean>"
44660702
DM
19753 },
19754 "lock" : {
19755 "description" : "Lock/unlock the VM.",
7aacca6f
DM
19756 "enum" : [
19757 "migrate",
19758 "backup",
19759 "snapshot",
19760 "rollback"
19761 ],
44660702
DM
19762 "optional" : 1,
19763 "type" : "string"
7aacca6f 19764 },
44660702
DM
19765 "memory" : {
19766 "default" : 512,
19767 "description" : "Amount of RAM for the VM in MB.",
19768 "minimum" : 16,
7aacca6f 19769 "optional" : 1,
4bd7df8b 19770 "type" : "integer",
013dc89f 19771 "typetext" : "<integer> (16 - N)"
44660702
DM
19772 },
19773 "mp[n]" : {
c2993fe5 19774 "description" : "Use volume as container mount point.",
56122987 19775 "format" : {
7aacca6f
DM
19776 "acl" : {
19777 "description" : "Explicitly enable or disable ACL support.",
19778 "optional" : 1,
44660702 19779 "type" : "boolean"
56122987
DM
19780 },
19781 "backup" : {
de0983cb 19782 "description" : "Whether to include the mount point in backups.",
44660702 19783 "optional" : 1,
4bd7df8b 19784 "type" : "boolean",
de0983cb 19785 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
19786 },
19787 "mp" : {
de0983cb 19788 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
19789 "format" : "pve-lxc-mp-string",
19790 "format_description" : "Path",
4bd7df8b 19791 "type" : "string",
de0983cb 19792 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702
DM
19793 },
19794 "quota" : {
19795 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 19796 "optional" : 1,
44660702
DM
19797 "type" : "boolean"
19798 },
5d9c884c
DM
19799 "replicate" : {
19800 "default" : 1,
19801 "description" : "Will include this volume to a storage replica job.",
19802 "optional" : 1,
19803 "type" : "boolean"
19804 },
44660702 19805 "ro" : {
de0983cb 19806 "description" : "Read-only mount point",
44660702
DM
19807 "optional" : 1,
19808 "type" : "boolean"
7aacca6f 19809 },
de0983cb
DM
19810 "shared" : {
19811 "default" : 0,
19812 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19813 "optional" : 1,
19814 "type" : "boolean",
19815 "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!"
19816 },
7aacca6f 19817 "size" : {
44660702 19818 "description" : "Volume size (read only value).",
7aacca6f
DM
19819 "format" : "disk-size",
19820 "format_description" : "DiskSize",
7aacca6f
DM
19821 "optional" : 1,
19822 "type" : "string"
56122987
DM
19823 },
19824 "volume" : {
7aacca6f 19825 "default_key" : 1,
44660702 19826 "description" : "Volume, device or directory to mount into the container.",
56122987 19827 "format" : "pve-lxc-mp-string",
56122987 19828 "format_description" : "volume",
44660702 19829 "type" : "string"
56122987 19830 }
44660702 19831 },
56122987 19832 "optional" : 1,
4bd7df8b 19833 "type" : "string",
5d9c884c 19834 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 19835 },
44660702
DM
19836 "nameserver" : {
19837 "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.",
19838 "format" : "address-list",
56122987 19839 "optional" : 1,
013dc89f
DM
19840 "type" : "string",
19841 "typetext" : "<string>"
56122987 19842 },
44660702
DM
19843 "net[n]" : {
19844 "description" : "Specifies network interfaces for the container.",
7aacca6f 19845 "format" : {
44660702
DM
19846 "bridge" : {
19847 "description" : "Bridge to attach the network device to.",
f004f5b9 19848 "format_description" : "bridge",
7aacca6f 19849 "optional" : 1,
44660702
DM
19850 "pattern" : "[-_.\\w\\d]+",
19851 "type" : "string"
7aacca6f 19852 },
44660702
DM
19853 "firewall" : {
19854 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 19855 "optional" : 1,
44660702 19856 "type" : "boolean"
7aacca6f 19857 },
44660702
DM
19858 "gw" : {
19859 "description" : "Default gateway for IPv4 traffic.",
19860 "format" : "ipv4",
19861 "format_description" : "GatewayIPv4",
7aacca6f 19862 "optional" : 1,
44660702 19863 "type" : "string"
7aacca6f 19864 },
44660702
DM
19865 "gw6" : {
19866 "description" : "Default gateway for IPv6 traffic.",
19867 "format" : "ipv6",
19868 "format_description" : "GatewayIPv6",
19869 "optional" : 1,
19870 "type" : "string"
7aacca6f 19871 },
44660702 19872 "hwaddr" : {
f004f5b9
DM
19873 "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)",
19874 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19875 "optional" : 1,
19876 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
19877 "type" : "string"
19878 },
44660702
DM
19879 "ip" : {
19880 "description" : "IPv4 address in CIDR format.",
19881 "format" : "pve-ipv4-config",
2489d6df 19882 "format_description" : "(IPv4/CIDR|dhcp|manual)",
7aacca6f 19883 "optional" : 1,
44660702 19884 "type" : "string"
7aacca6f 19885 },
44660702
DM
19886 "ip6" : {
19887 "description" : "IPv6 address in CIDR format.",
19888 "format" : "pve-ipv6-config",
2489d6df 19889 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
44660702
DM
19890 "optional" : 1,
19891 "type" : "string"
19892 },
19893 "mtu" : {
19894 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
19895 "minimum" : 64,
19896 "optional" : 1,
19897 "type" : "integer"
19898 },
19899 "name" : {
19900 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19901 "format_description" : "string",
44660702
DM
19902 "pattern" : "[-_.\\w\\d]+",
19903 "type" : "string"
19904 },
19905 "rate" : {
19906 "description" : "Apply rate limiting to the interface",
19907 "format_description" : "mbps",
19908 "optional" : 1,
19909 "type" : "number"
19910 },
19911 "tag" : {
19912 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19913 "maximum" : 4094,
19914 "minimum" : 1,
44660702
DM
19915 "optional" : 1,
19916 "type" : "integer"
19917 },
19918 "trunks" : {
19919 "description" : "VLAN ids to pass through the interface",
19920 "format_description" : "vlanid[;vlanid...]",
19921 "optional" : 1,
19922 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19923 "type" : "string"
19924 },
19925 "type" : {
19926 "description" : "Network interface type.",
19927 "enum" : [
19928 "veth"
19929 ],
19930 "optional" : 1,
19931 "type" : "string"
7aacca6f
DM
19932 }
19933 },
56122987 19934 "optional" : 1,
4bd7df8b 19935 "type" : "string",
2489d6df 19936 "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 19937 },
44660702
DM
19938 "node" : {
19939 "description" : "The cluster node name.",
19940 "format" : "pve-node",
013dc89f
DM
19941 "type" : "string",
19942 "typetext" : "<string>"
56122987 19943 },
44660702
DM
19944 "onboot" : {
19945 "default" : 0,
19946 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19947 "optional" : 1,
013dc89f
DM
19948 "type" : "boolean",
19949 "typetext" : "<boolean>"
44660702
DM
19950 },
19951 "ostemplate" : {
19952 "description" : "The OS template or backup file.",
19953 "maxLength" : 255,
013dc89f
DM
19954 "type" : "string",
19955 "typetext" : "<string>"
56122987
DM
19956 },
19957 "ostype" : {
7aacca6f 19958 "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.",
56122987
DM
19959 "enum" : [
19960 "debian",
19961 "ubuntu",
19962 "centos",
19963 "fedora",
19964 "opensuse",
19965 "archlinux",
19966 "alpine",
57b78691 19967 "gentoo",
56122987 19968 "unmanaged"
44660702 19969 ],
56122987 19970 "optional" : 1,
7aacca6f 19971 "type" : "string"
56122987 19972 },
44660702
DM
19973 "password" : {
19974 "description" : "Sets root password inside container.",
19975 "minLength" : 5,
7aacca6f 19976 "optional" : 1,
013dc89f
DM
19977 "type" : "string",
19978 "typetext" : "<string>"
7aacca6f 19979 },
44660702
DM
19980 "pool" : {
19981 "description" : "Add the VM to the specified pool.",
19982 "format" : "pve-poolid",
7aacca6f 19983 "optional" : 1,
013dc89f
DM
19984 "type" : "string",
19985 "typetext" : "<string>"
7aacca6f 19986 },
44660702
DM
19987 "protection" : {
19988 "default" : 0,
19989 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 19990 "optional" : 1,
013dc89f
DM
19991 "type" : "boolean",
19992 "typetext" : "<boolean>"
7aacca6f 19993 },
44660702
DM
19994 "restore" : {
19995 "description" : "Mark this as restore task.",
19996 "optional" : 1,
013dc89f
DM
19997 "type" : "boolean",
19998 "typetext" : "<boolean>"
7aacca6f 19999 },
44660702
DM
20000 "rootfs" : {
20001 "description" : "Use volume as container root.",
56122987 20002 "format" : {
44660702
DM
20003 "acl" : {
20004 "description" : "Explicitly enable or disable ACL support.",
56122987 20005 "optional" : 1,
44660702 20006 "type" : "boolean"
56122987 20007 },
44660702
DM
20008 "quota" : {
20009 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 20010 "optional" : 1,
44660702 20011 "type" : "boolean"
7aacca6f 20012 },
5d9c884c
DM
20013 "replicate" : {
20014 "default" : 1,
20015 "description" : "Will include this volume to a storage replica job.",
20016 "optional" : 1,
20017 "type" : "boolean"
20018 },
44660702 20019 "ro" : {
de0983cb 20020 "description" : "Read-only mount point",
7aacca6f 20021 "optional" : 1,
44660702 20022 "type" : "boolean"
7aacca6f 20023 },
de0983cb
DM
20024 "shared" : {
20025 "default" : 0,
20026 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20027 "optional" : 1,
20028 "type" : "boolean",
20029 "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!"
20030 },
44660702
DM
20031 "size" : {
20032 "description" : "Volume size (read only value).",
20033 "format" : "disk-size",
20034 "format_description" : "DiskSize",
7aacca6f
DM
20035 "optional" : 1,
20036 "type" : "string"
20037 },
44660702
DM
20038 "volume" : {
20039 "default_key" : 1,
20040 "description" : "Volume, device or directory to mount into the container.",
20041 "format" : "pve-lxc-mp-string",
20042 "format_description" : "volume",
20043 "type" : "string"
56122987 20044 }
7aacca6f 20045 },
7aacca6f 20046 "optional" : 1,
4bd7df8b 20047 "type" : "string",
5d9c884c 20048 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20049 },
20050 "searchdomain" : {
20051 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20052 "format" : "dns-name-list",
20053 "optional" : 1,
013dc89f
DM
20054 "type" : "string",
20055 "typetext" : "<string>"
44660702
DM
20056 },
20057 "ssh-public-keys" : {
20058 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
20059 "optional" : 1,
013dc89f
DM
20060 "type" : "string",
20061 "typetext" : "<string>"
44660702 20062 },
5da3d723
TL
20063 "start" : {
20064 "default" : 0,
20065 "description" : "Start the CT after its creation finished successfully.",
20066 "optional" : 1,
20067 "type" : "boolean",
20068 "typetext" : "<boolean>"
20069 },
44660702
DM
20070 "startup" : {
20071 "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.",
20072 "format" : "pve-startup-order",
20073 "optional" : 1,
7aacca6f 20074 "type" : "string",
44660702 20075 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 20076 },
44660702
DM
20077 "storage" : {
20078 "default" : "local",
20079 "description" : "Default Storage.",
20080 "format" : "pve-storage-id",
20081 "optional" : 1,
013dc89f
DM
20082 "type" : "string",
20083 "typetext" : "<string>"
7aacca6f 20084 },
44660702
DM
20085 "swap" : {
20086 "default" : 512,
20087 "description" : "Amount of SWAP for the VM in MB.",
20088 "minimum" : 0,
20089 "optional" : 1,
4bd7df8b 20090 "type" : "integer",
013dc89f 20091 "typetext" : "<integer> (0 - N)"
44660702
DM
20092 },
20093 "template" : {
20094 "default" : 0,
20095 "description" : "Enable/disable Template.",
20096 "optional" : 1,
013dc89f
DM
20097 "type" : "boolean",
20098 "typetext" : "<boolean>"
7aacca6f 20099 },
44660702
DM
20100 "tty" : {
20101 "default" : 2,
20102 "description" : "Specify the number of tty available to the container",
20103 "maximum" : 6,
20104 "minimum" : 0,
20105 "optional" : 1,
4bd7df8b 20106 "type" : "integer",
013dc89f 20107 "typetext" : "<integer> (0 - 6)"
7aacca6f 20108 },
44660702
DM
20109 "unprivileged" : {
20110 "default" : 0,
20111 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
20112 "optional" : 1,
013dc89f
DM
20113 "type" : "boolean",
20114 "typetext" : "<boolean>"
44660702
DM
20115 },
20116 "unused[n]" : {
c2993fe5 20117 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
20118 "format" : "pve-volume-id",
20119 "optional" : 1,
013dc89f
DM
20120 "type" : "string",
20121 "typetext" : "<string>"
44660702
DM
20122 },
20123 "vmid" : {
20124 "description" : "The (unique) ID of the VM.",
20125 "format" : "pve-vmid",
20126 "minimum" : 1,
4bd7df8b 20127 "type" : "integer",
013dc89f 20128 "typetext" : "<integer> (1 - N)"
44660702 20129 }
7aacca6f
DM
20130 }
20131 },
44660702
DM
20132 "permissions" : {
20133 "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.",
20134 "user" : "all"
20135 },
20136 "protected" : 1,
20137 "proxyto" : "node",
20138 "returns" : {
20139 "type" : "string"
20140 }
20141 }
20142 },
20143 "leaf" : 0,
20144 "path" : "/nodes/{node}/lxc",
20145 "text" : "lxc"
20146 },
20147 {
20148 "children" : [
20149 {
56122987
DM
20150 "children" : [
20151 {
7aacca6f
DM
20152 "children" : [
20153 {
7aacca6f
DM
20154 "info" : {
20155 "POST" : {
44660702
DM
20156 "description" : "ceph osd in",
20157 "method" : "POST",
20158 "name" : "in",
20159 "parameters" : {
20160 "additionalProperties" : 0,
20161 "properties" : {
20162 "node" : {
20163 "description" : "The cluster node name.",
20164 "format" : "pve-node",
013dc89f
DM
20165 "type" : "string",
20166 "typetext" : "<string>"
44660702
DM
20167 },
20168 "osdid" : {
20169 "description" : "OSD ID",
013dc89f
DM
20170 "type" : "integer",
20171 "typetext" : "<integer>"
44660702
DM
20172 }
20173 }
20174 },
56122987
DM
20175 "permissions" : {
20176 "check" : [
20177 "perm",
20178 "/",
20179 [
20180 "Sys.Modify"
20181 ]
20182 ]
7aacca6f 20183 },
44660702 20184 "protected" : 1,
7aacca6f
DM
20185 "proxyto" : "node",
20186 "returns" : {
20187 "type" : "null"
44660702 20188 }
56122987
DM
20189 }
20190 },
44660702 20191 "leaf" : 1,
7aacca6f 20192 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 20193 "text" : "in"
56122987
DM
20194 },
20195 {
56122987
DM
20196 "info" : {
20197 "POST" : {
44660702
DM
20198 "description" : "ceph osd out",
20199 "method" : "POST",
20200 "name" : "out",
20201 "parameters" : {
20202 "additionalProperties" : 0,
20203 "properties" : {
20204 "node" : {
20205 "description" : "The cluster node name.",
20206 "format" : "pve-node",
013dc89f
DM
20207 "type" : "string",
20208 "typetext" : "<string>"
44660702
DM
20209 },
20210 "osdid" : {
20211 "description" : "OSD ID",
013dc89f
DM
20212 "type" : "integer",
20213 "typetext" : "<integer>"
44660702
DM
20214 }
20215 }
20216 },
56122987
DM
20217 "permissions" : {
20218 "check" : [
20219 "perm",
20220 "/",
20221 [
20222 "Sys.Modify"
20223 ]
20224 ]
20225 },
44660702 20226 "protected" : 1,
56122987 20227 "proxyto" : "node",
7aacca6f
DM
20228 "returns" : {
20229 "type" : "null"
44660702
DM
20230 }
20231 }
20232 },
20233 "leaf" : 1,
20234 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
20235 "text" : "out"
20236 }
20237 ],
20238 "info" : {
20239 "DELETE" : {
20240 "description" : "Destroy OSD",
20241 "method" : "DELETE",
20242 "name" : "destroyosd",
20243 "parameters" : {
20244 "additionalProperties" : 0,
20245 "properties" : {
20246 "cleanup" : {
20247 "default" : 0,
20248 "description" : "If set, we remove partition table entries.",
20249 "optional" : 1,
013dc89f
DM
20250 "type" : "boolean",
20251 "typetext" : "<boolean>"
7aacca6f 20252 },
44660702
DM
20253 "node" : {
20254 "description" : "The cluster node name.",
20255 "format" : "pve-node",
013dc89f
DM
20256 "type" : "string",
20257 "typetext" : "<string>"
56122987 20258 },
44660702
DM
20259 "osdid" : {
20260 "description" : "OSD ID",
013dc89f
DM
20261 "type" : "integer",
20262 "typetext" : "<integer>"
44660702 20263 }
56122987
DM
20264 }
20265 },
44660702
DM
20266 "protected" : 1,
20267 "proxyto" : "node",
20268 "returns" : {
20269 "type" : "string"
20270 }
20271 }
20272 },
20273 "leaf" : 0,
20274 "path" : "/nodes/{node}/ceph/osd/{osdid}",
20275 "text" : "{osdid}"
20276 }
20277 ],
20278 "info" : {
20279 "GET" : {
20280 "description" : "Get Ceph osd list/tree.",
20281 "method" : "GET",
20282 "name" : "index",
20283 "parameters" : {
20284 "additionalProperties" : 0,
20285 "properties" : {
20286 "node" : {
20287 "description" : "The cluster node name.",
20288 "format" : "pve-node",
013dc89f
DM
20289 "type" : "string",
20290 "typetext" : "<string>"
44660702
DM
20291 }
20292 }
20293 },
20294 "permissions" : {
20295 "check" : [
20296 "perm",
20297 "/",
20298 [
20299 "Sys.Audit",
20300 "Datastore.Audit"
20301 ],
20302 "any",
20303 1
20304 ]
20305 },
20306 "protected" : 1,
20307 "proxyto" : "node",
20308 "returns" : {
20309 "type" : "object"
20310 }
20311 },
20312 "POST" : {
20313 "description" : "Create OSD",
20314 "method" : "POST",
20315 "name" : "createosd",
20316 "parameters" : {
20317 "additionalProperties" : 0,
20318 "properties" : {
5d9c884c 20319 "bluestore" : {
35a75dd3
DM
20320 "default" : 1,
20321 "description" : "Use bluestore instead of filestore. This is the default.",
5d9c884c
DM
20322 "optional" : 1,
20323 "type" : "boolean",
20324 "typetext" : "<boolean>"
20325 },
44660702
DM
20326 "dev" : {
20327 "description" : "Block device name.",
013dc89f
DM
20328 "type" : "string",
20329 "typetext" : "<string>"
44660702
DM
20330 },
20331 "fstype" : {
20332 "default" : "xfs",
5d9c884c 20333 "description" : "File system type (filestore only).",
44660702
DM
20334 "enum" : [
20335 "xfs",
20336 "ext4",
20337 "btrfs"
20338 ],
20339 "optional" : 1,
20340 "type" : "string"
20341 },
20342 "journal_dev" : {
2489d6df 20343 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
44660702 20344 "optional" : 1,
013dc89f
DM
20345 "type" : "string",
20346 "typetext" : "<string>"
44660702
DM
20347 },
20348 "node" : {
20349 "description" : "The cluster node name.",
20350 "format" : "pve-node",
013dc89f
DM
20351 "type" : "string",
20352 "typetext" : "<string>"
2489d6df
WB
20353 },
20354 "wal_dev" : {
20355 "description" : "Block device name for block.wal (bluestore only).",
20356 "optional" : 1,
20357 "type" : "string",
20358 "typetext" : "<string>"
44660702 20359 }
56122987 20360 }
44660702
DM
20361 },
20362 "protected" : 1,
20363 "proxyto" : "node",
20364 "returns" : {
20365 "type" : "string"
20366 }
56122987 20367 }
44660702 20368 },
7aacca6f 20369 "leaf" : 0,
44660702
DM
20370 "path" : "/nodes/{node}/ceph/osd",
20371 "text" : "osd"
7aacca6f
DM
20372 },
20373 {
56122987
DM
20374 "info" : {
20375 "GET" : {
7aacca6f 20376 "description" : "List local disks.",
44660702
DM
20377 "method" : "GET",
20378 "name" : "disks",
20379 "parameters" : {
20380 "additionalProperties" : 0,
20381 "properties" : {
20382 "node" : {
20383 "description" : "The cluster node name.",
20384 "format" : "pve-node",
013dc89f
DM
20385 "type" : "string",
20386 "typetext" : "<string>"
44660702
DM
20387 },
20388 "type" : {
20389 "description" : "Only list specific types of disks.",
20390 "enum" : [
20391 "unused",
20392 "journal_disks"
20393 ],
20394 "optional" : 1,
20395 "type" : "string"
20396 }
20397 }
20398 },
56122987
DM
20399 "permissions" : {
20400 "check" : [
20401 "perm",
20402 "/",
20403 [
20404 "Sys.Audit",
20405 "Datastore.Audit"
20406 ],
20407 "any",
20408 1
20409 ]
7aacca6f 20410 },
44660702
DM
20411 "protected" : 1,
20412 "proxyto" : "node",
56122987 20413 "returns" : {
7aacca6f
DM
20414 "items" : {
20415 "properties" : {
44660702
DM
20416 "dev" : {
20417 "type" : "string"
20418 },
20419 "gpt" : {
20420 "type" : "boolean"
20421 },
20422 "model" : {
20423 "optional" : 1,
20424 "type" : "string"
7aacca6f
DM
20425 },
20426 "osdid" : {
20427 "type" : "integer"
20428 },
20429 "serial" : {
7aacca6f
DM
20430 "optional" : 1,
20431 "type" : "string"
20432 },
20433 "size" : {
20434 "type" : "integer"
20435 },
44660702
DM
20436 "used" : {
20437 "optional" : 1,
7aacca6f
DM
20438 "type" : "string"
20439 },
44660702
DM
20440 "vendor" : {
20441 "optional" : 1,
20442 "type" : "string"
7aacca6f
DM
20443 }
20444 },
20445 "type" : "object"
44660702
DM
20446 },
20447 "type" : "array"
20448 }
56122987 20449 }
44660702
DM
20450 },
20451 "leaf" : 1,
20452 "path" : "/nodes/{node}/ceph/disks",
20453 "text" : "disks"
56122987
DM
20454 },
20455 {
56122987
DM
20456 "info" : {
20457 "GET" : {
7aacca6f 20458 "description" : "Get Ceph configuration.",
44660702
DM
20459 "method" : "GET",
20460 "name" : "config",
56122987 20461 "parameters" : {
7aacca6f 20462 "additionalProperties" : 0,
56122987 20463 "properties" : {
56122987 20464 "node" : {
7aacca6f 20465 "description" : "The cluster node name.",
44660702 20466 "format" : "pve-node",
013dc89f
DM
20467 "type" : "string",
20468 "typetext" : "<string>"
56122987 20469 }
7aacca6f 20470 }
56122987 20471 },
56122987
DM
20472 "permissions" : {
20473 "check" : [
20474 "perm",
20475 "/",
20476 [
20477 "Sys.Audit",
20478 "Datastore.Audit"
20479 ],
20480 "any",
20481 1
20482 ]
44660702
DM
20483 },
20484 "returns" : {
20485 "type" : "string"
7aacca6f
DM
20486 }
20487 }
44660702
DM
20488 },
20489 "leaf" : 1,
20490 "path" : "/nodes/{node}/ceph/config",
20491 "text" : "config"
7aacca6f
DM
20492 },
20493 {
7aacca6f
DM
20494 "children" : [
20495 {
7aacca6f
DM
20496 "info" : {
20497 "DELETE" : {
2489d6df 20498 "description" : "Destroy Ceph Monitor and Manager.",
44660702
DM
20499 "method" : "DELETE",
20500 "name" : "destroymon",
20501 "parameters" : {
20502 "additionalProperties" : 0,
20503 "properties" : {
2489d6df
WB
20504 "exclude-manager" : {
20505 "default" : 0,
20506 "description" : "When set, removes only the monitor, not the manager",
20507 "optional" : 1,
20508 "type" : "boolean",
20509 "typetext" : "<boolean>"
20510 },
44660702
DM
20511 "monid" : {
20512 "description" : "Monitor ID",
2489d6df
WB
20513 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20514 "type" : "string"
44660702
DM
20515 },
20516 "node" : {
20517 "description" : "The cluster node name.",
20518 "format" : "pve-node",
013dc89f
DM
20519 "type" : "string",
20520 "typetext" : "<string>"
44660702
DM
20521 }
20522 }
20523 },
7aacca6f
DM
20524 "permissions" : {
20525 "check" : [
20526 "perm",
20527 "/",
20528 [
20529 "Sys.Modify"
20530 ]
20531 ]
20532 },
44660702
DM
20533 "protected" : 1,
20534 "proxyto" : "node",
7aacca6f
DM
20535 "returns" : {
20536 "type" : "string"
44660702 20537 }
7aacca6f 20538 }
44660702
DM
20539 },
20540 "leaf" : 1,
20541 "path" : "/nodes/{node}/ceph/mon/{monid}",
20542 "text" : "{monid}"
7aacca6f
DM
20543 }
20544 ],
20545 "info" : {
20546 "GET" : {
44660702 20547 "description" : "Get Ceph monitor list.",
7aacca6f 20548 "method" : "GET",
44660702 20549 "name" : "listmon",
7aacca6f
DM
20550 "parameters" : {
20551 "additionalProperties" : 0,
20552 "properties" : {
20553 "node" : {
7aacca6f 20554 "description" : "The cluster node name.",
44660702 20555 "format" : "pve-node",
013dc89f
DM
20556 "type" : "string",
20557 "typetext" : "<string>"
7aacca6f
DM
20558 }
20559 }
20560 },
44660702
DM
20561 "permissions" : {
20562 "check" : [
20563 "perm",
20564 "/",
20565 [
20566 "Sys.Audit",
20567 "Datastore.Audit"
20568 ],
20569 "any",
20570 1
20571 ]
20572 },
7aacca6f 20573 "protected" : 1,
44660702 20574 "proxyto" : "node",
7aacca6f
DM
20575 "returns" : {
20576 "items" : {
20577 "properties" : {
44660702 20578 "addr" : {
7aacca6f 20579 "type" : "string"
56122987 20580 },
44660702 20581 "name" : {
56122987
DM
20582 "type" : "string"
20583 }
7aacca6f
DM
20584 },
20585 "type" : "object"
56122987 20586 },
7aacca6f
DM
20587 "links" : [
20588 {
20589 "href" : "{name}",
20590 "rel" : "child"
20591 }
20592 ],
56122987 20593 "type" : "array"
44660702 20594 }
7aacca6f
DM
20595 },
20596 "POST" : {
2489d6df 20597 "description" : "Create Ceph Monitor and Manager",
44660702
DM
20598 "method" : "POST",
20599 "name" : "createmon",
20600 "parameters" : {
20601 "additionalProperties" : 0,
20602 "properties" : {
2489d6df
WB
20603 "exclude-manager" : {
20604 "default" : 0,
20605 "description" : "When set, only a monitor will be created.",
20606 "optional" : 1,
20607 "type" : "boolean",
20608 "typetext" : "<boolean>"
20609 },
20610 "id" : {
20611 "description" : "The ID for the monitor, when omitted the same as the nodename",
20612 "optional" : 1,
20613 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20614 "type" : "string"
20615 },
35a75dd3
DM
20616 "mon-address" : {
20617 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
20618 "format" : "ip",
20619 "optional" : 1,
20620 "type" : "string",
20621 "typetext" : "<string>"
20622 },
44660702
DM
20623 "node" : {
20624 "description" : "The cluster node name.",
20625 "format" : "pve-node",
013dc89f
DM
20626 "type" : "string",
20627 "typetext" : "<string>"
44660702
DM
20628 }
20629 }
20630 },
7aacca6f
DM
20631 "permissions" : {
20632 "check" : [
20633 "perm",
20634 "/",
20635 [
20636 "Sys.Modify"
20637 ]
20638 ]
20639 },
44660702 20640 "protected" : 1,
7aacca6f 20641 "proxyto" : "node",
56122987
DM
20642 "returns" : {
20643 "type" : "string"
44660702 20644 }
56122987 20645 }
44660702
DM
20646 },
20647 "leaf" : 0,
20648 "path" : "/nodes/{node}/ceph/mon",
20649 "text" : "mon"
56122987
DM
20650 },
20651 {
20652 "info" : {
20653 "POST" : {
44660702
DM
20654 "description" : "Create initial ceph default configuration and setup symlinks.",
20655 "method" : "POST",
20656 "name" : "init",
20657 "parameters" : {
20658 "additionalProperties" : 0,
20659 "properties" : {
5d9c884c
DM
20660 "disable_cephx" : {
20661 "default" : 0,
20662 "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
20663 "optional" : 1,
20664 "type" : "boolean",
20665 "typetext" : "<boolean>"
20666 },
20667 "min_size" : {
20668 "default" : 2,
20669 "description" : "Minimum number of available replicas per object to allow I/O",
20670 "maximum" : 7,
20671 "minimum" : 1,
20672 "optional" : 1,
20673 "type" : "integer",
20674 "typetext" : "<integer> (1 - 7)"
20675 },
44660702
DM
20676 "network" : {
20677 "description" : "Use specific network for all ceph related traffic",
20678 "format" : "CIDR",
20679 "maxLength" : 128,
20680 "optional" : 1,
013dc89f
DM
20681 "type" : "string",
20682 "typetext" : "<string>"
44660702
DM
20683 },
20684 "node" : {
20685 "description" : "The cluster node name.",
20686 "format" : "pve-node",
013dc89f
DM
20687 "type" : "string",
20688 "typetext" : "<string>"
44660702
DM
20689 },
20690 "pg_bits" : {
20691 "default" : 6,
20692 "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.",
20693 "maximum" : 14,
20694 "minimum" : 6,
20695 "optional" : 1,
4bd7df8b 20696 "type" : "integer",
013dc89f 20697 "typetext" : "<integer> (6 - 14)"
44660702
DM
20698 },
20699 "size" : {
5d9c884c
DM
20700 "default" : 3,
20701 "description" : "Targeted number of replicas per object",
20702 "maximum" : 7,
44660702
DM
20703 "minimum" : 1,
20704 "optional" : 1,
4bd7df8b 20705 "type" : "integer",
5d9c884c 20706 "typetext" : "<integer> (1 - 7)"
44660702
DM
20707 }
20708 }
7aacca6f 20709 },
56122987
DM
20710 "permissions" : {
20711 "check" : [
20712 "perm",
20713 "/",
20714 [
20715 "Sys.Modify"
20716 ]
20717 ]
20718 },
7aacca6f 20719 "protected" : 1,
44660702
DM
20720 "proxyto" : "node",
20721 "returns" : {
20722 "type" : "null"
7aacca6f
DM
20723 }
20724 }
20725 },
7aacca6f 20726 "leaf" : 1,
44660702
DM
20727 "path" : "/nodes/{node}/ceph/init",
20728 "text" : "init"
7aacca6f 20729 },
2489d6df
WB
20730 {
20731 "children" : [
20732 {
20733 "info" : {
20734 "DELETE" : {
20735 "description" : "Destroy Ceph Manager.",
20736 "method" : "DELETE",
20737 "name" : "destroymgr",
20738 "parameters" : {
20739 "additionalProperties" : 0,
20740 "properties" : {
20741 "id" : {
20742 "description" : "The ID of the manager",
20743 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20744 "type" : "string"
20745 },
20746 "node" : {
20747 "description" : "The cluster node name.",
20748 "format" : "pve-node",
20749 "type" : "string",
20750 "typetext" : "<string>"
20751 }
20752 }
20753 },
20754 "permissions" : {
20755 "check" : [
20756 "perm",
20757 "/",
20758 [
20759 "Sys.Modify"
20760 ]
20761 ]
20762 },
20763 "protected" : 1,
20764 "proxyto" : "node",
20765 "returns" : {
20766 "type" : "string"
20767 }
20768 }
20769 },
20770 "leaf" : 1,
20771 "path" : "/nodes/{node}/ceph/mgr/{id}",
20772 "text" : "{id}"
20773 }
20774 ],
20775 "info" : {
20776 "POST" : {
20777 "description" : "Create Ceph Manager",
20778 "method" : "POST",
20779 "name" : "createmgr",
20780 "parameters" : {
20781 "additionalProperties" : 0,
20782 "properties" : {
20783 "id" : {
20784 "description" : "The ID for the manager, when omitted the same as the nodename",
20785 "optional" : 1,
20786 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20787 "type" : "string"
20788 },
20789 "node" : {
20790 "description" : "The cluster node name.",
20791 "format" : "pve-node",
20792 "type" : "string",
20793 "typetext" : "<string>"
20794 }
20795 }
20796 },
20797 "permissions" : {
20798 "check" : [
20799 "perm",
20800 "/",
20801 [
20802 "Sys.Modify"
20803 ]
20804 ]
20805 },
20806 "protected" : 1,
20807 "proxyto" : "node",
20808 "returns" : {
20809 "type" : "string"
20810 }
20811 }
20812 },
20813 "leaf" : 0,
20814 "path" : "/nodes/{node}/ceph/mgr",
20815 "text" : "mgr"
20816 },
7aacca6f 20817 {
7aacca6f
DM
20818 "info" : {
20819 "POST" : {
44660702 20820 "description" : "Stop ceph services.",
7aacca6f
DM
20821 "method" : "POST",
20822 "name" : "stop",
20823 "parameters" : {
44660702 20824 "additionalProperties" : 0,
7aacca6f
DM
20825 "properties" : {
20826 "node" : {
7aacca6f 20827 "description" : "The cluster node name.",
44660702 20828 "format" : "pve-node",
013dc89f
DM
20829 "type" : "string",
20830 "typetext" : "<string>"
7aacca6f
DM
20831 },
20832 "service" : {
7aacca6f 20833 "description" : "Ceph service name.",
44660702 20834 "optional" : 1,
2489d6df 20835 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20836 "type" : "string"
56122987 20837 }
44660702 20838 }
7aacca6f
DM
20839 },
20840 "permissions" : {
20841 "check" : [
20842 "perm",
20843 "/",
20844 [
20845 "Sys.Modify"
20846 ]
20847 ]
20848 },
44660702
DM
20849 "protected" : 1,
20850 "proxyto" : "node",
20851 "returns" : {
20852 "type" : "string"
20853 }
7aacca6f 20854 }
44660702
DM
20855 },
20856 "leaf" : 1,
20857 "path" : "/nodes/{node}/ceph/stop",
20858 "text" : "stop"
7aacca6f
DM
20859 },
20860 {
7aacca6f
DM
20861 "info" : {
20862 "POST" : {
7aacca6f 20863 "description" : "Start ceph services.",
44660702 20864 "method" : "POST",
7aacca6f 20865 "name" : "start",
56122987
DM
20866 "parameters" : {
20867 "additionalProperties" : 0,
20868 "properties" : {
20869 "node" : {
7aacca6f 20870 "description" : "The cluster node name.",
44660702 20871 "format" : "pve-node",
013dc89f
DM
20872 "type" : "string",
20873 "typetext" : "<string>"
7aacca6f
DM
20874 },
20875 "service" : {
20876 "description" : "Ceph service name.",
44660702 20877 "optional" : 1,
2489d6df 20878 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20879 "type" : "string"
7aacca6f
DM
20880 }
20881 }
20882 },
44660702
DM
20883 "permissions" : {
20884 "check" : [
20885 "perm",
20886 "/",
20887 [
20888 "Sys.Modify"
20889 ]
20890 ]
20891 },
7aacca6f 20892 "protected" : 1,
44660702
DM
20893 "proxyto" : "node",
20894 "returns" : {
20895 "type" : "string"
20896 }
7aacca6f 20897 }
44660702
DM
20898 },
20899 "leaf" : 1,
20900 "path" : "/nodes/{node}/ceph/start",
20901 "text" : "start"
7aacca6f
DM
20902 },
20903 {
7aacca6f
DM
20904 "info" : {
20905 "GET" : {
44660702
DM
20906 "description" : "Get ceph status.",
20907 "method" : "GET",
20908 "name" : "status",
7aacca6f
DM
20909 "parameters" : {
20910 "additionalProperties" : 0,
20911 "properties" : {
20912 "node" : {
7aacca6f 20913 "description" : "The cluster node name.",
44660702 20914 "format" : "pve-node",
013dc89f
DM
20915 "type" : "string",
20916 "typetext" : "<string>"
56122987
DM
20917 }
20918 }
20919 },
20920 "permissions" : {
20921 "check" : [
20922 "perm",
20923 "/",
20924 [
20925 "Sys.Audit",
20926 "Datastore.Audit"
20927 ],
20928 "any",
20929 1
20930 ]
20931 },
44660702
DM
20932 "protected" : 1,
20933 "proxyto" : "node",
56122987 20934 "returns" : {
7aacca6f
DM
20935 "type" : "object"
20936 }
20937 }
20938 },
44660702 20939 "leaf" : 1,
7aacca6f 20940 "path" : "/nodes/{node}/ceph/status",
44660702 20941 "text" : "status"
7aacca6f
DM
20942 },
20943 {
44660702
DM
20944 "children" : [
20945 {
20946 "info" : {
20947 "DELETE" : {
20948 "description" : "Destroy pool",
20949 "method" : "DELETE",
20950 "name" : "destroypool",
20951 "parameters" : {
20952 "additionalProperties" : 0,
20953 "properties" : {
4bd7df8b
DM
20954 "force" : {
20955 "default" : 0,
20956 "description" : "If true, destroys pool even if in use",
20957 "optional" : 1,
013dc89f
DM
20958 "type" : "boolean",
20959 "typetext" : "<boolean>"
4bd7df8b 20960 },
44660702
DM
20961 "name" : {
20962 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
20963 "type" : "string",
20964 "typetext" : "<string>"
44660702
DM
20965 },
20966 "node" : {
20967 "description" : "The cluster node name.",
20968 "format" : "pve-node",
013dc89f
DM
20969 "type" : "string",
20970 "typetext" : "<string>"
2489d6df
WB
20971 },
20972 "remove_storages" : {
20973 "default" : 0,
20974 "description" : "Remove all pveceph-managed storages configured for this pool",
20975 "optional" : 1,
20976 "type" : "boolean",
20977 "typetext" : "<boolean>"
44660702
DM
20978 }
20979 }
20980 },
20981 "permissions" : {
20982 "check" : [
20983 "perm",
20984 "/",
20985 [
20986 "Sys.Modify"
20987 ]
20988 ]
20989 },
20990 "protected" : 1,
20991 "proxyto" : "node",
20992 "returns" : {
2489d6df 20993 "type" : "string"
44660702
DM
20994 }
20995 }
20996 },
20997 "leaf" : 1,
20998 "path" : "/nodes/{node}/ceph/pools/{name}",
20999 "text" : "{name}"
21000 }
21001 ],
7aacca6f
DM
21002 "info" : {
21003 "GET" : {
44660702
DM
21004 "description" : "List all pools.",
21005 "method" : "GET",
21006 "name" : "lspools",
7aacca6f
DM
21007 "parameters" : {
21008 "additionalProperties" : 0,
21009 "properties" : {
21010 "node" : {
7aacca6f 21011 "description" : "The cluster node name.",
44660702 21012 "format" : "pve-node",
013dc89f
DM
21013 "type" : "string",
21014 "typetext" : "<string>"
7aacca6f
DM
21015 }
21016 }
21017 },
7aacca6f
DM
21018 "permissions" : {
21019 "check" : [
21020 "perm",
21021 "/",
21022 [
21023 "Sys.Audit",
21024 "Datastore.Audit"
21025 ],
21026 "any",
21027 1
21028 ]
21029 },
44660702
DM
21030 "protected" : 1,
21031 "proxyto" : "node",
7aacca6f 21032 "returns" : {
56122987 21033 "items" : {
56122987 21034 "properties" : {
7aacca6f
DM
21035 "pool" : {
21036 "type" : "integer"
21037 },
44660702
DM
21038 "pool_name" : {
21039 "type" : "string"
21040 },
7aacca6f
DM
21041 "size" : {
21042 "type" : "integer"
56122987 21043 }
44660702
DM
21044 },
21045 "type" : "object"
7aacca6f 21046 },
44660702
DM
21047 "links" : [
21048 {
21049 "href" : "{pool_name}",
21050 "rel" : "child"
21051 }
21052 ],
7aacca6f
DM
21053 "type" : "array"
21054 }
21055 },
21056 "POST" : {
7aacca6f 21057 "description" : "Create POOL",
7aacca6f 21058 "method" : "POST",
7aacca6f
DM
21059 "name" : "createpool",
21060 "parameters" : {
21061 "additionalProperties" : 0,
21062 "properties" : {
2489d6df
WB
21063 "add_storages" : {
21064 "description" : "Configure VM and CT storages using the new pool.",
7aacca6f 21065 "optional" : 1,
2489d6df
WB
21066 "type" : "boolean",
21067 "typetext" : "<boolean>"
21068 },
21069 "application" : {
21070 "description" : "The application of the pool, 'rbd' by default.",
21071 "enum" : [
21072 "rbd",
21073 "cephfs",
21074 "rgw"
21075 ],
21076 "optional" : 1,
21077 "type" : "string"
21078 },
21079 "crush_rule" : {
21080 "description" : "The rule to use for mapping object placement in the cluster.",
21081 "optional" : 1,
21082 "type" : "string",
21083 "typetext" : "<string>"
56122987 21084 },
44660702 21085 "min_size" : {
2489d6df 21086 "default" : 2,
44660702 21087 "description" : "Minimum number of replicas per object",
5d9c884c 21088 "maximum" : 7,
44660702
DM
21089 "minimum" : 1,
21090 "optional" : 1,
4bd7df8b 21091 "type" : "integer",
5d9c884c 21092 "typetext" : "<integer> (1 - 7)"
7aacca6f 21093 },
44660702
DM
21094 "name" : {
21095 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
21096 "type" : "string",
21097 "typetext" : "<string>"
44660702
DM
21098 },
21099 "node" : {
21100 "description" : "The cluster node name.",
21101 "format" : "pve-node",
013dc89f
DM
21102 "type" : "string",
21103 "typetext" : "<string>"
44660702
DM
21104 },
21105 "pg_num" : {
21106 "default" : 64,
21107 "description" : "Number of placement groups.",
21108 "maximum" : 32768,
21109 "minimum" : 8,
21110 "optional" : 1,
4bd7df8b 21111 "type" : "integer",
013dc89f 21112 "typetext" : "<integer> (8 - 32768)"
44660702
DM
21113 },
21114 "size" : {
2489d6df 21115 "default" : 3,
44660702 21116 "description" : "Number of replicas per object",
5d9c884c 21117 "maximum" : 7,
44660702
DM
21118 "minimum" : 1,
21119 "optional" : 1,
4bd7df8b 21120 "type" : "integer",
5d9c884c 21121 "typetext" : "<integer> (1 - 7)"
56122987
DM
21122 }
21123 }
44660702
DM
21124 },
21125 "permissions" : {
21126 "check" : [
21127 "perm",
21128 "/",
21129 [
21130 "Sys.Modify"
21131 ]
21132 ]
21133 },
21134 "protected" : 1,
21135 "proxyto" : "node",
21136 "returns" : {
2489d6df 21137 "type" : "string"
7aacca6f 21138 }
56122987 21139 }
44660702 21140 },
56122987 21141 "leaf" : 0,
44660702
DM
21142 "path" : "/nodes/{node}/ceph/pools",
21143 "text" : "pools"
56122987 21144 },
32d876b5
DM
21145 {
21146 "children" : [
21147 {
21148 "info" : {
21149 "DELETE" : {
21150 "description" : "Unset a ceph flag",
21151 "method" : "DELETE",
21152 "name" : "unset_flag",
21153 "parameters" : {
21154 "additionalProperties" : 0,
21155 "properties" : {
21156 "flag" : {
21157 "description" : "The ceph flag to set/unset",
21158 "enum" : [
21159 "full",
21160 "pause",
21161 "noup",
21162 "nodown",
21163 "noout",
21164 "noin",
21165 "nobackfill",
21166 "norebalance",
21167 "norecover",
21168 "noscrub",
21169 "nodeep-scrub",
21170 "notieragent"
21171 ],
21172 "type" : "string"
21173 },
21174 "node" : {
21175 "description" : "The cluster node name.",
21176 "format" : "pve-node",
21177 "type" : "string",
21178 "typetext" : "<string>"
21179 }
21180 }
21181 },
21182 "permissions" : {
21183 "check" : [
21184 "perm",
21185 "/",
21186 [
21187 "Sys.Modify"
21188 ]
21189 ]
21190 },
21191 "protected" : 1,
21192 "proxyto" : "node",
21193 "returns" : {
21194 "type" : "null"
21195 }
21196 },
21197 "POST" : {
21198 "description" : "Set a ceph flag",
21199 "method" : "POST",
21200 "name" : "set_flag",
21201 "parameters" : {
21202 "additionalProperties" : 0,
21203 "properties" : {
21204 "flag" : {
21205 "description" : "The ceph flag to set/unset",
21206 "enum" : [
21207 "full",
21208 "pause",
21209 "noup",
21210 "nodown",
21211 "noout",
21212 "noin",
21213 "nobackfill",
21214 "norebalance",
21215 "norecover",
21216 "noscrub",
21217 "nodeep-scrub",
21218 "notieragent"
21219 ],
21220 "type" : "string"
21221 },
21222 "node" : {
21223 "description" : "The cluster node name.",
21224 "format" : "pve-node",
21225 "type" : "string",
21226 "typetext" : "<string>"
21227 }
21228 }
21229 },
21230 "permissions" : {
21231 "check" : [
21232 "perm",
21233 "/",
21234 [
21235 "Sys.Modify"
21236 ]
21237 ]
21238 },
21239 "protected" : 1,
21240 "proxyto" : "node",
21241 "returns" : {
21242 "type" : "null"
21243 }
21244 }
21245 },
21246 "leaf" : 1,
21247 "path" : "/nodes/{node}/ceph/flags/{flag}",
21248 "text" : "{flag}"
21249 }
21250 ],
21251 "info" : {
21252 "GET" : {
21253 "description" : "get all set ceph flags",
21254 "method" : "GET",
21255 "name" : "get_flags",
21256 "parameters" : {
21257 "additionalProperties" : 0,
21258 "properties" : {
21259 "node" : {
21260 "description" : "The cluster node name.",
21261 "format" : "pve-node",
21262 "type" : "string",
21263 "typetext" : "<string>"
21264 }
21265 }
21266 },
21267 "permissions" : {
21268 "check" : [
21269 "perm",
21270 "/",
21271 [
21272 "Sys.Audit"
21273 ]
21274 ]
21275 },
21276 "protected" : 1,
21277 "proxyto" : "node",
21278 "returns" : {
21279 "type" : "string"
21280 }
21281 }
21282 },
21283 "leaf" : 0,
21284 "path" : "/nodes/{node}/ceph/flags",
21285 "text" : "flags"
21286 },
56122987 21287 {
56122987 21288 "info" : {
7aacca6f 21289 "GET" : {
44660702
DM
21290 "description" : "Get OSD crush map",
21291 "method" : "GET",
21292 "name" : "crush",
21293 "parameters" : {
21294 "additionalProperties" : 0,
21295 "properties" : {
21296 "node" : {
21297 "description" : "The cluster node name.",
21298 "format" : "pve-node",
013dc89f
DM
21299 "type" : "string",
21300 "typetext" : "<string>"
44660702
DM
21301 }
21302 }
21303 },
7aacca6f
DM
21304 "permissions" : {
21305 "check" : [
21306 "perm",
21307 "/",
21308 [
21309 "Sys.Audit",
21310 "Datastore.Audit"
21311 ],
21312 "any",
21313 1
21314 ]
21315 },
44660702 21316 "protected" : 1,
7aacca6f 21317 "proxyto" : "node",
56122987 21318 "returns" : {
7aacca6f 21319 "type" : "string"
44660702 21320 }
56122987
DM
21321 }
21322 },
44660702
DM
21323 "leaf" : 1,
21324 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 21325 "text" : "crush"
56122987
DM
21326 },
21327 {
56122987 21328 "info" : {
7aacca6f 21329 "GET" : {
44660702
DM
21330 "description" : "Read ceph log",
21331 "method" : "GET",
21332 "name" : "log",
21333 "parameters" : {
21334 "additionalProperties" : 0,
21335 "properties" : {
21336 "limit" : {
21337 "minimum" : 0,
21338 "optional" : 1,
4bd7df8b 21339 "type" : "integer",
013dc89f 21340 "typetext" : "<integer> (0 - N)"
7aacca6f 21341 },
44660702
DM
21342 "node" : {
21343 "description" : "The cluster node name.",
21344 "format" : "pve-node",
013dc89f
DM
21345 "type" : "string",
21346 "typetext" : "<string>"
44660702
DM
21347 },
21348 "start" : {
21349 "minimum" : 0,
21350 "optional" : 1,
4bd7df8b 21351 "type" : "integer",
013dc89f 21352 "typetext" : "<integer> (0 - N)"
44660702 21353 }
7aacca6f 21354 }
56122987 21355 },
56122987
DM
21356 "permissions" : {
21357 "check" : [
21358 "perm",
7aacca6f 21359 "/nodes/{node}",
56122987 21360 [
7aacca6f 21361 "Sys.Syslog"
56122987
DM
21362 ]
21363 ]
21364 },
7aacca6f 21365 "protected" : 1,
44660702
DM
21366 "proxyto" : "node",
21367 "returns" : {
21368 "items" : {
21369 "properties" : {
21370 "n" : {
21371 "description" : "Line number",
21372 "type" : "integer"
21373 },
21374 "t" : {
21375 "description" : "Line text",
21376 "type" : "string"
21377 }
56122987 21378 },
44660702 21379 "type" : "object"
56122987 21380 },
44660702 21381 "type" : "array"
7aacca6f 21382 }
56122987
DM
21383 }
21384 },
21385 "leaf" : 1,
44660702
DM
21386 "path" : "/nodes/{node}/ceph/log",
21387 "text" : "log"
2489d6df
WB
21388 },
21389 {
21390 "info" : {
21391 "GET" : {
21392 "description" : "List ceph rules.",
21393 "method" : "GET",
21394 "name" : "rules",
21395 "parameters" : {
21396 "additionalProperties" : 0,
21397 "properties" : {
21398 "node" : {
21399 "description" : "The cluster node name.",
21400 "format" : "pve-node",
21401 "type" : "string",
21402 "typetext" : "<string>"
21403 }
21404 }
21405 },
21406 "permissions" : {
21407 "check" : [
21408 "perm",
21409 "/",
21410 [
21411 "Sys.Audit",
21412 "Datastore.Audit"
21413 ],
21414 "any",
21415 1
21416 ]
21417 },
21418 "protected" : 1,
21419 "proxyto" : "node",
21420 "returns" : {
21421 "items" : {
21422 "properties" : {},
21423 "type" : "object"
21424 },
21425 "links" : [
21426 {
21427 "href" : "{name}",
21428 "rel" : "child"
21429 }
21430 ],
21431 "type" : "array"
21432 }
21433 }
21434 },
21435 "leaf" : 1,
21436 "path" : "/nodes/{node}/ceph/rules",
21437 "text" : "rules"
7aacca6f
DM
21438 }
21439 ],
44660702
DM
21440 "info" : {
21441 "GET" : {
21442 "description" : "Directory index.",
21443 "method" : "GET",
21444 "name" : "index",
21445 "parameters" : {
21446 "additionalProperties" : 0,
21447 "properties" : {
21448 "node" : {
21449 "description" : "The cluster node name.",
21450 "format" : "pve-node",
013dc89f
DM
21451 "type" : "string",
21452 "typetext" : "<string>"
44660702
DM
21453 }
21454 }
21455 },
21456 "permissions" : {
21457 "check" : [
21458 "perm",
21459 "/",
21460 [
21461 "Sys.Audit",
21462 "Datastore.Audit"
21463 ],
21464 "any",
21465 1
21466 ]
21467 },
21468 "returns" : {
21469 "items" : {
21470 "properties" : {},
21471 "type" : "object"
21472 },
21473 "links" : [
21474 {
21475 "href" : "{name}",
21476 "rel" : "child"
21477 }
21478 ],
21479 "type" : "array"
21480 }
21481 }
21482 },
7aacca6f 21483 "leaf" : 0,
44660702
DM
21484 "path" : "/nodes/{node}/ceph",
21485 "text" : "ceph"
7aacca6f
DM
21486 },
21487 {
4bd7df8b
DM
21488 "children" : [
21489 {
21490 "info" : {
21491 "GET" : {
21492 "description" : "Extract configuration from vzdump backup archive.",
21493 "method" : "GET",
21494 "name" : "extractconfig",
21495 "parameters" : {
21496 "additionalProperties" : 0,
21497 "properties" : {
21498 "node" : {
21499 "description" : "The cluster node name.",
21500 "format" : "pve-node",
013dc89f
DM
21501 "type" : "string",
21502 "typetext" : "<string>"
4bd7df8b
DM
21503 },
21504 "volume" : {
21505 "description" : "Volume identifier",
013dc89f
DM
21506 "type" : "string",
21507 "typetext" : "<string>"
4bd7df8b
DM
21508 }
21509 }
21510 },
21511 "permissions" : {
21512 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
21513 "user" : "all"
21514 },
21515 "protected" : 1,
21516 "proxyto" : "node",
21517 "returns" : {
21518 "type" : "string"
21519 }
21520 }
21521 },
21522 "leaf" : 1,
21523 "path" : "/nodes/{node}/vzdump/extractconfig",
21524 "text" : "extractconfig"
21525 }
21526 ],
7aacca6f
DM
21527 "info" : {
21528 "POST" : {
7aacca6f 21529 "description" : "Create backup.",
44660702 21530 "method" : "POST",
7aacca6f
DM
21531 "name" : "vzdump",
21532 "parameters" : {
44660702 21533 "additionalProperties" : 0,
7aacca6f 21534 "properties" : {
44660702
DM
21535 "all" : {
21536 "default" : 0,
21537 "description" : "Backup all known guest systems on this host.",
7aacca6f 21538 "optional" : 1,
013dc89f
DM
21539 "type" : "boolean",
21540 "typetext" : "<boolean>"
56122987 21541 },
44660702 21542 "bwlimit" : {
7aacca6f 21543 "default" : 0,
44660702
DM
21544 "description" : "Limit I/O bandwidth (KBytes per second).",
21545 "minimum" : 0,
7aacca6f 21546 "optional" : 1,
4bd7df8b 21547 "type" : "integer",
013dc89f 21548 "typetext" : "<integer> (0 - N)"
56122987 21549 },
44660702
DM
21550 "compress" : {
21551 "default" : "0",
21552 "description" : "Compress dump file.",
21553 "enum" : [
21554 "0",
21555 "1",
21556 "gzip",
21557 "lzo"
21558 ],
7aacca6f 21559 "optional" : 1,
44660702 21560 "type" : "string"
56122987 21561 },
44660702
DM
21562 "dumpdir" : {
21563 "description" : "Store resulting files to specified directory.",
7aacca6f 21564 "optional" : 1,
013dc89f
DM
21565 "type" : "string",
21566 "typetext" : "<string>"
7aacca6f 21567 },
44660702
DM
21568 "exclude" : {
21569 "description" : "Exclude specified guest systems (assumes --all)",
21570 "format" : "pve-vmid-list",
7aacca6f 21571 "optional" : 1,
013dc89f
DM
21572 "type" : "string",
21573 "typetext" : "<string>"
7aacca6f 21574 },
44660702
DM
21575 "exclude-path" : {
21576 "description" : "Exclude certain files/directories (shell globs).",
21577 "format" : "string-alist",
7aacca6f 21578 "optional" : 1,
013dc89f
DM
21579 "type" : "string",
21580 "typetext" : "<string>"
7aacca6f 21581 },
44660702
DM
21582 "ionice" : {
21583 "default" : 7,
21584 "description" : "Set CFQ ionice priority.",
21585 "maximum" : 8,
21586 "minimum" : 0,
21587 "optional" : 1,
4bd7df8b 21588 "type" : "integer",
013dc89f 21589 "typetext" : "<integer> (0 - 8)"
7aacca6f 21590 },
44660702
DM
21591 "lockwait" : {
21592 "default" : 180,
21593 "description" : "Maximal time to wait for the global lock (minutes).",
21594 "minimum" : 0,
7aacca6f 21595 "optional" : 1,
4bd7df8b 21596 "type" : "integer",
013dc89f 21597 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
21598 },
21599 "mailnotification" : {
44660702 21600 "default" : "always",
7aacca6f
DM
21601 "description" : "Specify when to send an email",
21602 "enum" : [
21603 "always",
21604 "failure"
21605 ],
7aacca6f 21606 "optional" : 1,
44660702 21607 "type" : "string"
7aacca6f
DM
21608 },
21609 "mailto" : {
7aacca6f 21610 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 21611 "format" : "string-list",
7aacca6f 21612 "optional" : 1,
013dc89f
DM
21613 "type" : "string",
21614 "typetext" : "<string>"
56122987 21615 },
44660702
DM
21616 "maxfiles" : {
21617 "default" : 1,
21618 "description" : "Maximal number of backup files per guest system.",
21619 "minimum" : 1,
7aacca6f 21620 "optional" : 1,
4bd7df8b 21621 "type" : "integer",
013dc89f 21622 "typetext" : "<integer> (1 - N)"
56122987 21623 },
7aacca6f 21624 "mode" : {
44660702 21625 "default" : "snapshot",
7aacca6f
DM
21626 "description" : "Backup mode.",
21627 "enum" : [
21628 "snapshot",
21629 "suspend",
21630 "stop"
21631 ],
44660702
DM
21632 "optional" : 1,
21633 "type" : "string"
7aacca6f 21634 },
44660702
DM
21635 "node" : {
21636 "description" : "Only run if executed on this node.",
21637 "format" : "pve-node",
21638 "optional" : 1,
013dc89f
DM
21639 "type" : "string",
21640 "typetext" : "<string>"
44660702
DM
21641 },
21642 "pigz" : {
21643 "default" : 0,
21644 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
21645 "optional" : 1,
013dc89f
DM
21646 "type" : "integer",
21647 "typetext" : "<integer>"
44660702
DM
21648 },
21649 "quiet" : {
21650 "default" : 0,
21651 "description" : "Be quiet.",
21652 "optional" : 1,
013dc89f
DM
21653 "type" : "boolean",
21654 "typetext" : "<boolean>"
44660702
DM
21655 },
21656 "remove" : {
7aacca6f 21657 "default" : 1,
44660702 21658 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 21659 "optional" : 1,
013dc89f
DM
21660 "type" : "boolean",
21661 "typetext" : "<boolean>"
7aacca6f 21662 },
44660702
DM
21663 "script" : {
21664 "description" : "Use specified hook script.",
21665 "optional" : 1,
013dc89f
DM
21666 "type" : "string",
21667 "typetext" : "<string>"
44660702
DM
21668 },
21669 "size" : {
21670 "default" : 1024,
21671 "description" : "Unused, will be removed in a future release.",
21672 "minimum" : 500,
21673 "optional" : 1,
4bd7df8b 21674 "type" : "integer",
013dc89f 21675 "typetext" : "<integer> (500 - N)"
44660702
DM
21676 },
21677 "stdexcludes" : {
21678 "default" : 1,
21679 "description" : "Exclude temporary files and logs.",
21680 "optional" : 1,
013dc89f
DM
21681 "type" : "boolean",
21682 "typetext" : "<boolean>"
44660702
DM
21683 },
21684 "stdout" : {
21685 "description" : "Write tar to stdout, not to a file.",
7aacca6f 21686 "optional" : 1,
013dc89f
DM
21687 "type" : "boolean",
21688 "typetext" : "<boolean>"
44660702
DM
21689 },
21690 "stop" : {
7aacca6f 21691 "default" : 0,
44660702
DM
21692 "description" : "Stop runnig backup jobs on this host.",
21693 "optional" : 1,
013dc89f
DM
21694 "type" : "boolean",
21695 "typetext" : "<boolean>"
7aacca6f 21696 },
44660702
DM
21697 "stopwait" : {
21698 "default" : 10,
21699 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
21700 "minimum" : 0,
21701 "optional" : 1,
4bd7df8b 21702 "type" : "integer",
013dc89f 21703 "typetext" : "<integer> (0 - N)"
7aacca6f 21704 },
44660702
DM
21705 "storage" : {
21706 "description" : "Store resulting file to this storage.",
21707 "format" : "pve-storage-id",
7aacca6f 21708 "optional" : 1,
013dc89f
DM
21709 "type" : "string",
21710 "typetext" : "<string>"
44660702
DM
21711 },
21712 "tmpdir" : {
21713 "description" : "Store temporary files to specified directory.",
21714 "optional" : 1,
013dc89f
DM
21715 "type" : "string",
21716 "typetext" : "<string>"
7aacca6f
DM
21717 },
21718 "vmid" : {
7aacca6f 21719 "description" : "The ID of the guest system you want to backup.",
44660702 21720 "format" : "pve-vmid-list",
7aacca6f 21721 "optional" : 1,
013dc89f
DM
21722 "type" : "string",
21723 "typetext" : "<string>"
7aacca6f 21724 }
7aacca6f
DM
21725 }
21726 },
7aacca6f 21727 "permissions" : {
de0983cb 21728 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
44660702 21729 "user" : "all"
7aacca6f 21730 },
44660702 21731 "protected" : 1,
7aacca6f 21732 "proxyto" : "node",
7aacca6f 21733 "returns" : {
44660702 21734 "type" : "string"
7aacca6f
DM
21735 }
21736 }
21737 },
4bd7df8b 21738 "leaf" : 0,
44660702
DM
21739 "path" : "/nodes/{node}/vzdump",
21740 "text" : "vzdump"
21741 },
21742 {
7aacca6f
DM
21743 "children" : [
21744 {
7aacca6f
DM
21745 "children" : [
21746 {
7aacca6f
DM
21747 "info" : {
21748 "GET" : {
7aacca6f
DM
21749 "description" : "Read service properties",
21750 "method" : "GET",
21751 "name" : "service_state",
21752 "parameters" : {
44660702 21753 "additionalProperties" : 0,
7aacca6f
DM
21754 "properties" : {
21755 "node" : {
7aacca6f 21756 "description" : "The cluster node name.",
44660702 21757 "format" : "pve-node",
013dc89f
DM
21758 "type" : "string",
21759 "typetext" : "<string>"
7aacca6f
DM
21760 },
21761 "service" : {
44660702 21762 "description" : "Service ID",
7aacca6f
DM
21763 "enum" : [
21764 "pveproxy",
21765 "pvedaemon",
21766 "spiceproxy",
21767 "pvestatd",
21768 "pve-cluster",
21769 "corosync",
21770 "pve-firewall",
21771 "pvefw-logger",
21772 "pve-ha-crm",
21773 "pve-ha-lrm",
21774 "sshd",
21775 "syslog",
21776 "cron",
21777 "postfix",
21778 "ksmtuned",
21779 "systemd-timesyncd"
21780 ],
7aacca6f
DM
21781 "type" : "string"
21782 }
44660702 21783 }
56122987 21784 },
7aacca6f
DM
21785 "permissions" : {
21786 "check" : [
21787 "perm",
21788 "/nodes/{node}",
21789 [
44660702 21790 "Sys.Audit"
7aacca6f
DM
21791 ]
21792 ]
56122987 21793 },
44660702 21794 "protected" : 1,
7aacca6f 21795 "proxyto" : "node",
44660702
DM
21796 "returns" : {
21797 "properties" : {},
21798 "type" : "object"
21799 }
21800 }
21801 },
21802 "leaf" : 1,
21803 "path" : "/nodes/{node}/services/{service}/state",
21804 "text" : "state"
21805 },
21806 {
21807 "info" : {
21808 "POST" : {
21809 "description" : "Start service.",
7aacca6f
DM
21810 "method" : "POST",
21811 "name" : "service_start",
21812 "parameters" : {
44660702 21813 "additionalProperties" : 0,
7aacca6f 21814 "properties" : {
44660702
DM
21815 "node" : {
21816 "description" : "The cluster node name.",
21817 "format" : "pve-node",
013dc89f
DM
21818 "type" : "string",
21819 "typetext" : "<string>"
44660702 21820 },
7aacca6f 21821 "service" : {
44660702 21822 "description" : "Service ID",
7aacca6f
DM
21823 "enum" : [
21824 "pveproxy",
21825 "pvedaemon",
21826 "spiceproxy",
21827 "pvestatd",
21828 "pve-cluster",
21829 "corosync",
21830 "pve-firewall",
21831 "pvefw-logger",
21832 "pve-ha-crm",
21833 "pve-ha-lrm",
21834 "sshd",
21835 "syslog",
21836 "cron",
21837 "postfix",
21838 "ksmtuned",
21839 "systemd-timesyncd"
21840 ],
7aacca6f
DM
21841 "type" : "string"
21842 }
44660702 21843 }
56122987 21844 },
56122987
DM
21845 "permissions" : {
21846 "check" : [
21847 "perm",
21848 "/nodes/{node}",
21849 [
7aacca6f 21850 "Sys.Modify"
56122987
DM
21851 ]
21852 ]
7aacca6f 21853 },
7aacca6f 21854 "protected" : 1,
44660702
DM
21855 "proxyto" : "node",
21856 "returns" : {
21857 "type" : "string"
21858 }
21859 }
21860 },
21861 "leaf" : 1,
21862 "path" : "/nodes/{node}/services/{service}/start",
21863 "text" : "start"
21864 },
21865 {
21866 "info" : {
21867 "POST" : {
21868 "description" : "Stop service.",
21869 "method" : "POST",
7aacca6f 21870 "name" : "service_stop",
56122987 21871 "parameters" : {
7aacca6f 21872 "additionalProperties" : 0,
56122987
DM
21873 "properties" : {
21874 "node" : {
44660702 21875 "description" : "The cluster node name.",
56122987 21876 "format" : "pve-node",
013dc89f
DM
21877 "type" : "string",
21878 "typetext" : "<string>"
56122987
DM
21879 },
21880 "service" : {
44660702 21881 "description" : "Service ID",
56122987
DM
21882 "enum" : [
21883 "pveproxy",
21884 "pvedaemon",
21885 "spiceproxy",
21886 "pvestatd",
21887 "pve-cluster",
21888 "corosync",
21889 "pve-firewall",
21890 "pvefw-logger",
21891 "pve-ha-crm",
21892 "pve-ha-lrm",
21893 "sshd",
21894 "syslog",
21895 "cron",
21896 "postfix",
21897 "ksmtuned",
21898 "systemd-timesyncd"
21899 ],
56122987
DM
21900 "type" : "string"
21901 }
7aacca6f 21902 }
44660702 21903 },
56122987
DM
21904 "permissions" : {
21905 "check" : [
21906 "perm",
21907 "/nodes/{node}",
21908 [
21909 "Sys.Modify"
21910 ]
21911 ]
21912 },
44660702
DM
21913 "protected" : 1,
21914 "proxyto" : "node",
7aacca6f
DM
21915 "returns" : {
21916 "type" : "string"
44660702
DM
21917 }
21918 }
21919 },
21920 "leaf" : 1,
21921 "path" : "/nodes/{node}/services/{service}/stop",
21922 "text" : "stop"
21923 },
21924 {
21925 "info" : {
21926 "POST" : {
21927 "description" : "Restart service.",
21928 "method" : "POST",
21929 "name" : "service_restart",
56122987
DM
21930 "parameters" : {
21931 "additionalProperties" : 0,
21932 "properties" : {
7aacca6f
DM
21933 "node" : {
21934 "description" : "The cluster node name.",
44660702 21935 "format" : "pve-node",
013dc89f
DM
21936 "type" : "string",
21937 "typetext" : "<string>"
7aacca6f
DM
21938 },
21939 "service" : {
44660702 21940 "description" : "Service ID",
56122987
DM
21941 "enum" : [
21942 "pveproxy",
21943 "pvedaemon",
21944 "spiceproxy",
21945 "pvestatd",
21946 "pve-cluster",
21947 "corosync",
21948 "pve-firewall",
21949 "pvefw-logger",
21950 "pve-ha-crm",
21951 "pve-ha-lrm",
21952 "sshd",
21953 "syslog",
21954 "cron",
21955 "postfix",
21956 "ksmtuned",
21957 "systemd-timesyncd"
7aacca6f 21958 ],
7aacca6f 21959 "type" : "string"
56122987
DM
21960 }
21961 }
21962 },
44660702
DM
21963 "permissions" : {
21964 "check" : [
21965 "perm",
21966 "/nodes/{node}",
21967 [
21968 "Sys.Modify"
21969 ]
21970 ]
21971 },
21972 "protected" : 1,
21973 "proxyto" : "node",
21974 "returns" : {
21975 "type" : "string"
21976 }
56122987 21977 }
44660702
DM
21978 },
21979 "leaf" : 1,
21980 "path" : "/nodes/{node}/services/{service}/restart",
21981 "text" : "restart"
56122987
DM
21982 },
21983 {
56122987
DM
21984 "info" : {
21985 "POST" : {
44660702
DM
21986 "description" : "Reload service.",
21987 "method" : "POST",
7aacca6f 21988 "name" : "service_reload",
56122987
DM
21989 "parameters" : {
21990 "additionalProperties" : 0,
21991 "properties" : {
44660702
DM
21992 "node" : {
21993 "description" : "The cluster node name.",
21994 "format" : "pve-node",
013dc89f
DM
21995 "type" : "string",
21996 "typetext" : "<string>"
44660702 21997 },
56122987 21998 "service" : {
56122987
DM
21999 "description" : "Service ID",
22000 "enum" : [
22001 "pveproxy",
22002 "pvedaemon",
22003 "spiceproxy",
22004 "pvestatd",
22005 "pve-cluster",
22006 "corosync",
22007 "pve-firewall",
22008 "pvefw-logger",
22009 "pve-ha-crm",
22010 "pve-ha-lrm",
22011 "sshd",
22012 "syslog",
22013 "cron",
22014 "postfix",
22015 "ksmtuned",
22016 "systemd-timesyncd"
44660702
DM
22017 ],
22018 "type" : "string"
56122987
DM
22019 }
22020 }
22021 },
56122987
DM
22022 "permissions" : {
22023 "check" : [
22024 "perm",
22025 "/nodes/{node}",
22026 [
22027 "Sys.Modify"
22028 ]
22029 ]
22030 },
44660702 22031 "protected" : 1,
56122987 22032 "proxyto" : "node",
7aacca6f
DM
22033 "returns" : {
22034 "type" : "string"
56122987
DM
22035 }
22036 }
44660702
DM
22037 },
22038 "leaf" : 1,
22039 "path" : "/nodes/{node}/services/{service}/reload",
22040 "text" : "reload"
22041 }
22042 ],
22043 "info" : {
22044 "GET" : {
22045 "description" : "Directory index",
22046 "method" : "GET",
22047 "name" : "srvcmdidx",
22048 "parameters" : {
22049 "additionalProperties" : 0,
22050 "properties" : {
22051 "node" : {
22052 "description" : "The cluster node name.",
22053 "format" : "pve-node",
013dc89f
DM
22054 "type" : "string",
22055 "typetext" : "<string>"
44660702
DM
22056 },
22057 "service" : {
22058 "description" : "Service ID",
22059 "enum" : [
22060 "pveproxy",
22061 "pvedaemon",
22062 "spiceproxy",
22063 "pvestatd",
22064 "pve-cluster",
22065 "corosync",
22066 "pve-firewall",
22067 "pvefw-logger",
22068 "pve-ha-crm",
22069 "pve-ha-lrm",
22070 "sshd",
22071 "syslog",
22072 "cron",
22073 "postfix",
22074 "ksmtuned",
22075 "systemd-timesyncd"
22076 ],
22077 "type" : "string"
22078 }
22079 }
22080 },
22081 "permissions" : {
22082 "check" : [
22083 "perm",
22084 "/nodes/{node}",
22085 [
22086 "Sys.Audit"
22087 ]
22088 ]
22089 },
22090 "returns" : {
22091 "items" : {
22092 "properties" : {
22093 "subdir" : {
22094 "type" : "string"
22095 }
22096 },
22097 "type" : "object"
22098 },
22099 "links" : [
22100 {
22101 "href" : "{subdir}",
22102 "rel" : "child"
22103 }
22104 ],
22105 "type" : "array"
22106 }
22107 }
22108 },
22109 "leaf" : 0,
22110 "path" : "/nodes/{node}/services/{service}",
22111 "text" : "{service}"
22112 }
22113 ],
22114 "info" : {
22115 "GET" : {
22116 "description" : "Service list.",
22117 "method" : "GET",
22118 "name" : "index",
22119 "parameters" : {
22120 "additionalProperties" : 0,
22121 "properties" : {
22122 "node" : {
22123 "description" : "The cluster node name.",
22124 "format" : "pve-node",
013dc89f
DM
22125 "type" : "string",
22126 "typetext" : "<string>"
44660702
DM
22127 }
22128 }
22129 },
22130 "permissions" : {
22131 "check" : [
22132 "perm",
22133 "/nodes/{node}",
22134 [
22135 "Sys.Audit"
22136 ]
22137 ]
22138 },
22139 "protected" : 1,
22140 "proxyto" : "node",
22141 "returns" : {
22142 "items" : {
22143 "properties" : {},
22144 "type" : "object"
22145 },
22146 "links" : [
22147 {
22148 "href" : "{service}",
22149 "rel" : "child"
56122987 22150 }
44660702
DM
22151 ],
22152 "type" : "array"
22153 }
7aacca6f 22154 }
44660702 22155 },
7aacca6f 22156 "leaf" : 0,
44660702
DM
22157 "path" : "/nodes/{node}/services",
22158 "text" : "services"
7aacca6f
DM
22159 },
22160 {
7aacca6f
DM
22161 "info" : {
22162 "GET" : {
44660702
DM
22163 "description" : "Read subscription info.",
22164 "method" : "GET",
22165 "name" : "get",
7aacca6f 22166 "parameters" : {
44660702 22167 "additionalProperties" : 0,
7aacca6f
DM
22168 "properties" : {
22169 "node" : {
22170 "description" : "The cluster node name.",
44660702 22171 "format" : "pve-node",
013dc89f
DM
22172 "type" : "string",
22173 "typetext" : "<string>"
7aacca6f 22174 }
44660702
DM
22175 }
22176 },
22177 "permissions" : {
22178 "user" : "all"
7aacca6f 22179 },
7aacca6f
DM
22180 "proxyto" : "node",
22181 "returns" : {
22182 "type" : "object"
44660702 22183 }
7aacca6f 22184 },
44660702
DM
22185 "POST" : {
22186 "description" : "Update subscription info.",
22187 "method" : "POST",
22188 "name" : "update",
7aacca6f
DM
22189 "parameters" : {
22190 "additionalProperties" : 0,
22191 "properties" : {
44660702
DM
22192 "force" : {
22193 "default" : 0,
22194 "description" : "Always connect to server, even if we have up to date info inside local cache.",
22195 "optional" : 1,
013dc89f
DM
22196 "type" : "boolean",
22197 "typetext" : "<boolean>"
44660702 22198 },
7aacca6f 22199 "node" : {
7aacca6f 22200 "description" : "The cluster node name.",
44660702 22201 "format" : "pve-node",
013dc89f
DM
22202 "type" : "string",
22203 "typetext" : "<string>"
7aacca6f
DM
22204 }
22205 }
22206 },
35a75dd3
DM
22207 "permissions" : {
22208 "check" : [
22209 "perm",
22210 "/nodes/{node}",
22211 [
22212 "Sys.Modify"
22213 ]
22214 ]
22215 },
7aacca6f 22216 "protected" : 1,
7aacca6f 22217 "proxyto" : "node",
44660702
DM
22218 "returns" : {
22219 "type" : "null"
22220 }
22221 },
22222 "PUT" : {
22223 "description" : "Set subscription key.",
22224 "method" : "PUT",
22225 "name" : "set",
7aacca6f
DM
22226 "parameters" : {
22227 "additionalProperties" : 0,
22228 "properties" : {
44660702
DM
22229 "key" : {
22230 "description" : "Proxmox VE subscription key",
2489d6df
WB
22231 "maxLength" : 32,
22232 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
22233 "type" : "string"
7aacca6f
DM
22234 },
22235 "node" : {
7aacca6f 22236 "description" : "The cluster node name.",
44660702 22237 "format" : "pve-node",
013dc89f
DM
22238 "type" : "string",
22239 "typetext" : "<string>"
7aacca6f
DM
22240 }
22241 }
22242 },
35a75dd3
DM
22243 "permissions" : {
22244 "check" : [
22245 "perm",
22246 "/nodes/{node}",
22247 [
22248 "Sys.Modify"
22249 ]
22250 ]
22251 },
44660702
DM
22252 "protected" : 1,
22253 "proxyto" : "node",
7aacca6f
DM
22254 "returns" : {
22255 "type" : "null"
44660702 22256 }
7aacca6f
DM
22257 }
22258 },
44660702 22259 "leaf" : 1,
7aacca6f 22260 "path" : "/nodes/{node}/subscription",
44660702 22261 "text" : "subscription"
7aacca6f
DM
22262 },
22263 {
7aacca6f
DM
22264 "children" : [
22265 {
56122987 22266 "info" : {
7aacca6f 22267 "DELETE" : {
44660702
DM
22268 "description" : "Delete network device configuration",
22269 "method" : "DELETE",
22270 "name" : "delete_network",
22271 "parameters" : {
22272 "additionalProperties" : 0,
22273 "properties" : {
22274 "iface" : {
22275 "description" : "Network interface name.",
22276 "format" : "pve-iface",
22277 "maxLength" : 20,
22278 "minLength" : 2,
013dc89f
DM
22279 "type" : "string",
22280 "typetext" : "<string>"
44660702
DM
22281 },
22282 "node" : {
22283 "description" : "The cluster node name.",
22284 "format" : "pve-node",
013dc89f
DM
22285 "type" : "string",
22286 "typetext" : "<string>"
44660702
DM
22287 }
22288 }
7aacca6f
DM
22289 },
22290 "permissions" : {
22291 "check" : [
22292 "perm",
22293 "/nodes/{node}",
22294 [
22295 "Sys.Modify"
22296 ]
22297 ]
22298 },
44660702 22299 "protected" : 1,
7aacca6f 22300 "proxyto" : "node",
44660702
DM
22301 "returns" : {
22302 "type" : "null"
22303 }
22304 },
22305 "GET" : {
22306 "description" : "Read network device configuration",
22307 "method" : "GET",
22308 "name" : "network_config",
56122987 22309 "parameters" : {
44660702 22310 "additionalProperties" : 0,
56122987 22311 "properties" : {
7aacca6f 22312 "iface" : {
7aacca6f 22313 "description" : "Network interface name.",
44660702
DM
22314 "format" : "pve-iface",
22315 "maxLength" : 20,
7aacca6f 22316 "minLength" : 2,
013dc89f
DM
22317 "type" : "string",
22318 "typetext" : "<string>"
44660702
DM
22319 },
22320 "node" : {
22321 "description" : "The cluster node name.",
22322 "format" : "pve-node",
013dc89f
DM
22323 "type" : "string",
22324 "typetext" : "<string>"
56122987 22325 }
44660702 22326 }
7aacca6f
DM
22327 },
22328 "permissions" : {
22329 "check" : [
22330 "perm",
22331 "/nodes/{node}",
22332 [
44660702 22333 "Sys.Audit"
7aacca6f
DM
22334 ]
22335 ]
22336 },
22337 "proxyto" : "node",
44660702
DM
22338 "returns" : {
22339 "properties" : {
22340 "method" : {
22341 "type" : "string"
22342 },
22343 "type" : {
22344 "type" : "string"
22345 }
22346 },
22347 "type" : "object"
22348 }
22349 },
22350 "PUT" : {
7aacca6f
DM
22351 "description" : "Update network device configuration",
22352 "method" : "PUT",
22353 "name" : "update_network",
22354 "parameters" : {
22355 "additionalProperties" : 0,
22356 "properties" : {
7aacca6f 22357 "address" : {
44660702 22358 "description" : "IP address.",
7aacca6f 22359 "format" : "ipv4",
44660702 22360 "optional" : 1,
7aacca6f 22361 "requires" : "netmask",
013dc89f
DM
22362 "type" : "string",
22363 "typetext" : "<string>"
7aacca6f 22364 },
44660702
DM
22365 "address6" : {
22366 "description" : "IP address.",
22367 "format" : "ipv6",
22368 "optional" : 1,
22369 "requires" : "netmask6",
013dc89f
DM
22370 "type" : "string",
22371 "typetext" : "<string>"
7aacca6f
DM
22372 },
22373 "autostart" : {
44660702 22374 "description" : "Automatically start interface on boot.",
7aacca6f 22375 "optional" : 1,
013dc89f
DM
22376 "type" : "boolean",
22377 "typetext" : "<boolean>"
7aacca6f 22378 },
44660702
DM
22379 "bond_mode" : {
22380 "description" : "Bonding mode.",
7aacca6f 22381 "enum" : [
44660702
DM
22382 "balance-rr",
22383 "active-backup",
22384 "balance-xor",
22385 "broadcast",
22386 "802.3ad",
22387 "balance-tlb",
22388 "balance-alb",
22389 "balance-slb",
22390 "lacp-balance-slb",
22391 "lacp-balance-tcp"
22392 ],
7aacca6f 22393 "optional" : 1,
44660702 22394 "type" : "string"
7aacca6f 22395 },
44660702
DM
22396 "bond_xmit_hash_policy" : {
22397 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22398 "enum" : [
22399 "layer2",
22400 "layer2+3",
22401 "layer3+4"
22402 ],
7aacca6f 22403 "optional" : 1,
44660702 22404 "type" : "string"
7aacca6f 22405 },
44660702
DM
22406 "bridge_ports" : {
22407 "description" : "Specify the iterfaces you want to add to your bridge.",
22408 "format" : "pve-iface-list",
7aacca6f 22409 "optional" : 1,
013dc89f
DM
22410 "type" : "string",
22411 "typetext" : "<string>"
7aacca6f 22412 },
44660702
DM
22413 "bridge_vlan_aware" : {
22414 "description" : "Enable bridge vlan support.",
7aacca6f 22415 "optional" : 1,
013dc89f
DM
22416 "type" : "boolean",
22417 "typetext" : "<boolean>"
7aacca6f
DM
22418 },
22419 "comments" : {
44660702 22420 "description" : "Comments",
7aacca6f 22421 "optional" : 1,
013dc89f
DM
22422 "type" : "string",
22423 "typetext" : "<string>"
7aacca6f 22424 },
44660702
DM
22425 "comments6" : {
22426 "description" : "Comments",
7aacca6f 22427 "optional" : 1,
013dc89f
DM
22428 "type" : "string",
22429 "typetext" : "<string>"
7aacca6f 22430 },
44660702
DM
22431 "delete" : {
22432 "description" : "A list of settings you want to delete.",
22433 "format" : "pve-configid-list",
7aacca6f 22434 "optional" : 1,
013dc89f
DM
22435 "type" : "string",
22436 "typetext" : "<string>"
7aacca6f 22437 },
44660702
DM
22438 "gateway" : {
22439 "description" : "Default gateway address.",
22440 "format" : "ipv4",
7aacca6f 22441 "optional" : 1,
013dc89f
DM
22442 "type" : "string",
22443 "typetext" : "<string>"
7aacca6f 22444 },
44660702
DM
22445 "gateway6" : {
22446 "description" : "Default ipv6 gateway address.",
22447 "format" : "ipv6",
7aacca6f 22448 "optional" : 1,
013dc89f
DM
22449 "type" : "string",
22450 "typetext" : "<string>"
7aacca6f
DM
22451 },
22452 "iface" : {
44660702 22453 "description" : "Network interface name.",
7aacca6f
DM
22454 "format" : "pve-iface",
22455 "maxLength" : 20,
22456 "minLength" : 2,
013dc89f
DM
22457 "type" : "string",
22458 "typetext" : "<string>"
7aacca6f 22459 },
44660702
DM
22460 "netmask" : {
22461 "description" : "Network mask.",
22462 "format" : "ipv4mask",
7aacca6f 22463 "optional" : 1,
44660702 22464 "requires" : "address",
013dc89f
DM
22465 "type" : "string",
22466 "typetext" : "<string>"
7aacca6f
DM
22467 },
22468 "netmask6" : {
44660702 22469 "description" : "Network mask.",
7aacca6f 22470 "maximum" : 128,
44660702 22471 "minimum" : 0,
7aacca6f
DM
22472 "optional" : 1,
22473 "requires" : "address6",
4bd7df8b 22474 "type" : "integer",
013dc89f 22475 "typetext" : "<integer> (0 - 128)"
44660702 22476 },
7aacca6f 22477 "node" : {
44660702 22478 "description" : "The cluster node name.",
7aacca6f 22479 "format" : "pve-node",
013dc89f
DM
22480 "type" : "string",
22481 "typetext" : "<string>"
7aacca6f 22482 },
44660702
DM
22483 "ovs_bonds" : {
22484 "description" : "Specify the interfaces used by the bonding device.",
22485 "format" : "pve-iface-list",
22486 "optional" : 1,
013dc89f
DM
22487 "type" : "string",
22488 "typetext" : "<string>"
44660702
DM
22489 },
22490 "ovs_bridge" : {
22491 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22492 "format" : "pve-iface",
22493 "optional" : 1,
013dc89f
DM
22494 "type" : "string",
22495 "typetext" : "<string>"
44660702
DM
22496 },
22497 "ovs_options" : {
22498 "description" : "OVS interface options.",
22499 "maxLength" : 1024,
22500 "optional" : 1,
013dc89f
DM
22501 "type" : "string",
22502 "typetext" : "<string>"
44660702
DM
22503 },
22504 "ovs_ports" : {
22505 "description" : "Specify the iterfaces you want to add to your bridge.",
22506 "format" : "pve-iface-list",
22507 "optional" : 1,
013dc89f
DM
22508 "type" : "string",
22509 "typetext" : "<string>"
44660702
DM
22510 },
22511 "ovs_tag" : {
22512 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22513 "maximum" : 4094,
22514 "minimum" : 1,
22515 "optional" : 1,
4bd7df8b 22516 "type" : "integer",
013dc89f 22517 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22518 },
22519 "slaves" : {
22520 "description" : "Specify the interfaces used by the bonding device.",
22521 "format" : "pve-iface-list",
22522 "optional" : 1,
013dc89f
DM
22523 "type" : "string",
22524 "typetext" : "<string>"
44660702
DM
22525 },
22526 "type" : {
22527 "description" : "Network interface type",
22528 "enum" : [
22529 "bridge",
22530 "bond",
22531 "eth",
22532 "alias",
22533 "vlan",
22534 "OVSBridge",
22535 "OVSBond",
22536 "OVSPort",
22537 "OVSIntPort",
22538 "unknown"
22539 ],
22540 "type" : "string"
7aacca6f
DM
22541 }
22542 }
22543 },
7aacca6f
DM
22544 "permissions" : {
22545 "check" : [
22546 "perm",
22547 "/nodes/{node}",
22548 [
44660702 22549 "Sys.Modify"
7aacca6f
DM
22550 ]
22551 ]
22552 },
44660702
DM
22553 "protected" : 1,
22554 "proxyto" : "node",
7aacca6f 22555 "returns" : {
44660702
DM
22556 "type" : "null"
22557 }
7aacca6f
DM
22558 }
22559 },
7aacca6f 22560 "leaf" : 1,
44660702
DM
22561 "path" : "/nodes/{node}/network/{iface}",
22562 "text" : "{iface}"
7aacca6f
DM
22563 }
22564 ],
7aacca6f 22565 "info" : {
44660702
DM
22566 "DELETE" : {
22567 "description" : "Revert network configuration changes.",
22568 "method" : "DELETE",
22569 "name" : "revert_network_changes",
7aacca6f
DM
22570 "parameters" : {
22571 "additionalProperties" : 0,
22572 "properties" : {
7aacca6f 22573 "node" : {
7aacca6f 22574 "description" : "The cluster node name.",
44660702 22575 "format" : "pve-node",
013dc89f
DM
22576 "type" : "string",
22577 "typetext" : "<string>"
7aacca6f
DM
22578 }
22579 }
44660702 22580 },
7aacca6f
DM
22581 "permissions" : {
22582 "check" : [
22583 "perm",
22584 "/nodes/{node}",
22585 [
22586 "Sys.Modify"
22587 ]
22588 ]
22589 },
44660702
DM
22590 "protected" : 1,
22591 "proxyto" : "node",
7aacca6f
DM
22592 "returns" : {
22593 "type" : "null"
44660702 22594 }
7aacca6f 22595 },
44660702
DM
22596 "GET" : {
22597 "description" : "List available networks",
22598 "method" : "GET",
22599 "name" : "index",
7aacca6f 22600 "parameters" : {
44660702 22601 "additionalProperties" : 0,
7aacca6f 22602 "properties" : {
7aacca6f 22603 "node" : {
44660702
DM
22604 "description" : "The cluster node name.",
22605 "format" : "pve-node",
013dc89f
DM
22606 "type" : "string",
22607 "typetext" : "<string>"
7aacca6f
DM
22608 },
22609 "type" : {
44660702 22610 "description" : "Only list specific interface types.",
7aacca6f
DM
22611 "enum" : [
22612 "bridge",
22613 "bond",
22614 "eth",
22615 "alias",
22616 "vlan",
22617 "OVSBridge",
22618 "OVSBond",
22619 "OVSPort",
22620 "OVSIntPort",
44660702 22621 "any_bridge"
7aacca6f 22622 ],
7aacca6f 22623 "optional" : 1,
44660702
DM
22624 "type" : "string"
22625 }
22626 }
22627 },
22628 "permissions" : {
22629 "user" : "all"
22630 },
22631 "proxyto" : "node",
22632 "returns" : {
22633 "items" : {
22634 "properties" : {},
22635 "type" : "object"
22636 },
22637 "links" : [
22638 {
22639 "href" : "{iface}",
22640 "rel" : "child"
22641 }
22642 ],
22643 "type" : "array"
22644 }
22645 },
22646 "POST" : {
22647 "description" : "Create network device configuration",
22648 "method" : "POST",
22649 "name" : "create_network",
22650 "parameters" : {
22651 "additionalProperties" : 0,
22652 "properties" : {
7aacca6f 22653 "address" : {
44660702
DM
22654 "description" : "IP address.",
22655 "format" : "ipv4",
22656 "optional" : 1,
7aacca6f 22657 "requires" : "netmask",
013dc89f
DM
22658 "type" : "string",
22659 "typetext" : "<string>"
44660702
DM
22660 },
22661 "address6" : {
7aacca6f 22662 "description" : "IP address.",
44660702
DM
22663 "format" : "ipv6",
22664 "optional" : 1,
22665 "requires" : "netmask6",
013dc89f
DM
22666 "type" : "string",
22667 "typetext" : "<string>"
44660702
DM
22668 },
22669 "autostart" : {
22670 "description" : "Automatically start interface on boot.",
7aacca6f 22671 "optional" : 1,
013dc89f
DM
22672 "type" : "boolean",
22673 "typetext" : "<boolean>"
7aacca6f
DM
22674 },
22675 "bond_mode" : {
22676 "description" : "Bonding mode.",
22677 "enum" : [
22678 "balance-rr",
22679 "active-backup",
22680 "balance-xor",
22681 "broadcast",
22682 "802.3ad",
22683 "balance-tlb",
22684 "balance-alb",
22685 "balance-slb",
22686 "lacp-balance-slb",
22687 "lacp-balance-tcp"
22688 ],
22689 "optional" : 1,
22690 "type" : "string"
22691 },
44660702
DM
22692 "bond_xmit_hash_policy" : {
22693 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22694 "enum" : [
22695 "layer2",
22696 "layer2+3",
22697 "layer3+4"
22698 ],
22699 "optional" : 1,
22700 "type" : "string"
22701 },
22702 "bridge_ports" : {
22703 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 22704 "format" : "pve-iface-list",
7aacca6f 22705 "optional" : 1,
013dc89f
DM
22706 "type" : "string",
22707 "typetext" : "<string>"
7aacca6f 22708 },
44660702
DM
22709 "bridge_vlan_aware" : {
22710 "description" : "Enable bridge vlan support.",
7aacca6f 22711 "optional" : 1,
013dc89f
DM
22712 "type" : "boolean",
22713 "typetext" : "<boolean>"
7aacca6f 22714 },
44660702
DM
22715 "comments" : {
22716 "description" : "Comments",
7aacca6f 22717 "optional" : 1,
013dc89f
DM
22718 "type" : "string",
22719 "typetext" : "<string>"
44660702
DM
22720 },
22721 "comments6" : {
22722 "description" : "Comments",
22723 "optional" : 1,
013dc89f
DM
22724 "type" : "string",
22725 "typetext" : "<string>"
44660702
DM
22726 },
22727 "gateway" : {
22728 "description" : "Default gateway address.",
22729 "format" : "ipv4",
22730 "optional" : 1,
013dc89f
DM
22731 "type" : "string",
22732 "typetext" : "<string>"
44660702
DM
22733 },
22734 "gateway6" : {
22735 "description" : "Default ipv6 gateway address.",
22736 "format" : "ipv6",
22737 "optional" : 1,
013dc89f
DM
22738 "type" : "string",
22739 "typetext" : "<string>"
56122987 22740 },
7aacca6f 22741 "iface" : {
44660702 22742 "description" : "Network interface name.",
7aacca6f
DM
22743 "format" : "pve-iface",
22744 "maxLength" : 20,
44660702 22745 "minLength" : 2,
013dc89f
DM
22746 "type" : "string",
22747 "typetext" : "<string>"
56122987 22748 },
44660702
DM
22749 "netmask" : {
22750 "description" : "Network mask.",
22751 "format" : "ipv4mask",
7aacca6f 22752 "optional" : 1,
44660702 22753 "requires" : "address",
013dc89f
DM
22754 "type" : "string",
22755 "typetext" : "<string>"
7aacca6f 22756 },
44660702
DM
22757 "netmask6" : {
22758 "description" : "Network mask.",
22759 "maximum" : 128,
22760 "minimum" : 0,
7aacca6f 22761 "optional" : 1,
44660702 22762 "requires" : "address6",
4bd7df8b 22763 "type" : "integer",
013dc89f 22764 "typetext" : "<integer> (0 - 128)"
7aacca6f 22765 },
44660702
DM
22766 "node" : {
22767 "description" : "The cluster node name.",
22768 "format" : "pve-node",
013dc89f
DM
22769 "type" : "string",
22770 "typetext" : "<string>"
44660702
DM
22771 },
22772 "ovs_bonds" : {
22773 "description" : "Specify the interfaces used by the bonding device.",
22774 "format" : "pve-iface-list",
7aacca6f 22775 "optional" : 1,
013dc89f
DM
22776 "type" : "string",
22777 "typetext" : "<string>"
7aacca6f 22778 },
44660702
DM
22779 "ovs_bridge" : {
22780 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22781 "format" : "pve-iface",
22782 "optional" : 1,
013dc89f
DM
22783 "type" : "string",
22784 "typetext" : "<string>"
44660702
DM
22785 },
22786 "ovs_options" : {
22787 "description" : "OVS interface options.",
22788 "maxLength" : 1024,
22789 "optional" : 1,
013dc89f
DM
22790 "type" : "string",
22791 "typetext" : "<string>"
44660702
DM
22792 },
22793 "ovs_ports" : {
22794 "description" : "Specify the iterfaces you want to add to your bridge.",
22795 "format" : "pve-iface-list",
22796 "optional" : 1,
013dc89f
DM
22797 "type" : "string",
22798 "typetext" : "<string>"
44660702
DM
22799 },
22800 "ovs_tag" : {
22801 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22802 "maximum" : 4094,
22803 "minimum" : 1,
22804 "optional" : 1,
4bd7df8b 22805 "type" : "integer",
013dc89f 22806 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22807 },
22808 "slaves" : {
22809 "description" : "Specify the interfaces used by the bonding device.",
22810 "format" : "pve-iface-list",
7aacca6f 22811 "optional" : 1,
013dc89f
DM
22812 "type" : "string",
22813 "typetext" : "<string>"
44660702
DM
22814 },
22815 "type" : {
22816 "description" : "Network interface type",
7aacca6f 22817 "enum" : [
44660702
DM
22818 "bridge",
22819 "bond",
22820 "eth",
22821 "alias",
22822 "vlan",
22823 "OVSBridge",
22824 "OVSBond",
22825 "OVSPort",
22826 "OVSIntPort",
22827 "unknown"
7aacca6f 22828 ],
44660702 22829 "type" : "string"
56122987 22830 }
44660702 22831 }
56122987 22832 },
56122987
DM
22833 "permissions" : {
22834 "check" : [
22835 "perm",
22836 "/nodes/{node}",
22837 [
7aacca6f 22838 "Sys.Modify"
44660702
DM
22839 ]
22840 ]
7aacca6f 22841 },
44660702
DM
22842 "protected" : 1,
22843 "proxyto" : "node",
22844 "returns" : {
22845 "type" : "null"
22846 }
22847 }
22848 },
22849 "leaf" : 0,
22850 "path" : "/nodes/{node}/network",
22851 "text" : "network"
22852 },
22853 {
22854 "children" : [
22855 {
7aacca6f
DM
22856 "children" : [
22857 {
22858 "info" : {
22859 "GET" : {
44660702 22860 "description" : "Read task log.",
7aacca6f
DM
22861 "method" : "GET",
22862 "name" : "read_task_log",
22863 "parameters" : {
44660702 22864 "additionalProperties" : 0,
7aacca6f 22865 "properties" : {
44660702
DM
22866 "limit" : {
22867 "minimum" : 0,
7aacca6f 22868 "optional" : 1,
4bd7df8b 22869 "type" : "integer",
013dc89f 22870 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22871 },
22872 "node" : {
22873 "description" : "The cluster node name.",
44660702 22874 "format" : "pve-node",
013dc89f
DM
22875 "type" : "string",
22876 "typetext" : "<string>"
7aacca6f 22877 },
44660702
DM
22878 "start" : {
22879 "minimum" : 0,
7aacca6f 22880 "optional" : 1,
4bd7df8b 22881 "type" : "integer",
013dc89f 22882 "typetext" : "<integer> (0 - N)"
44660702
DM
22883 },
22884 "upid" : {
013dc89f
DM
22885 "type" : "string",
22886 "typetext" : "<string>"
7aacca6f 22887 }
44660702
DM
22888 }
22889 },
22890 "permissions" : {
22891 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22892 "user" : "all"
7aacca6f
DM
22893 },
22894 "protected" : 1,
44660702 22895 "proxyto" : "node",
7aacca6f 22896 "returns" : {
7aacca6f 22897 "items" : {
7aacca6f
DM
22898 "properties" : {
22899 "n" : {
44660702
DM
22900 "description" : "Line number",
22901 "type" : "integer"
7aacca6f
DM
22902 },
22903 "t" : {
44660702
DM
22904 "description" : "Line text",
22905 "type" : "string"
7aacca6f 22906 }
44660702
DM
22907 },
22908 "type" : "object"
22909 },
22910 "type" : "array"
22911 }
7aacca6f 22912 }
56122987 22913 },
7aacca6f 22914 "leaf" : 1,
44660702
DM
22915 "path" : "/nodes/{node}/tasks/{upid}/log",
22916 "text" : "log"
7aacca6f
DM
22917 },
22918 {
7aacca6f
DM
22919 "info" : {
22920 "GET" : {
44660702
DM
22921 "description" : "Read task status.",
22922 "method" : "GET",
7aacca6f
DM
22923 "name" : "read_task_status",
22924 "parameters" : {
22925 "additionalProperties" : 0,
22926 "properties" : {
22927 "node" : {
7aacca6f 22928 "description" : "The cluster node name.",
44660702 22929 "format" : "pve-node",
013dc89f
DM
22930 "type" : "string",
22931 "typetext" : "<string>"
7aacca6f
DM
22932 },
22933 "upid" : {
013dc89f
DM
22934 "type" : "string",
22935 "typetext" : "<string>"
7aacca6f
DM
22936 }
22937 }
22938 },
7aacca6f
DM
22939 "permissions" : {
22940 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22941 "user" : "all"
56122987 22942 },
44660702 22943 "protected" : 1,
7aacca6f 22944 "proxyto" : "node",
7aacca6f
DM
22945 "returns" : {
22946 "properties" : {
22947 "pid" : {
22948 "type" : "integer"
22949 },
22950 "status" : {
7aacca6f
DM
22951 "enum" : [
22952 "running",
22953 "stopped"
44660702
DM
22954 ],
22955 "type" : "string"
7aacca6f
DM
22956 }
22957 },
22958 "type" : "object"
56122987 22959 }
7aacca6f 22960 }
44660702
DM
22961 },
22962 "leaf" : 1,
22963 "path" : "/nodes/{node}/tasks/{upid}/status",
22964 "text" : "status"
56122987 22965 }
7aacca6f 22966 ],
44660702
DM
22967 "info" : {
22968 "DELETE" : {
22969 "description" : "Stop a task.",
22970 "method" : "DELETE",
22971 "name" : "stop_task",
22972 "parameters" : {
22973 "additionalProperties" : 0,
22974 "properties" : {
22975 "node" : {
22976 "description" : "The cluster node name.",
22977 "format" : "pve-node",
013dc89f
DM
22978 "type" : "string",
22979 "typetext" : "<string>"
44660702
DM
22980 },
22981 "upid" : {
013dc89f
DM
22982 "type" : "string",
22983 "typetext" : "<string>"
44660702 22984 }
7aacca6f 22985 }
44660702
DM
22986 },
22987 "permissions" : {
22988 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
22989 "user" : "all"
22990 },
22991 "protected" : 1,
22992 "proxyto" : "node",
22993 "returns" : {
22994 "type" : "null"
7aacca6f 22995 }
56122987 22996 },
44660702
DM
22997 "GET" : {
22998 "description" : "",
22999 "method" : "GET",
23000 "name" : "upid_index",
23001 "parameters" : {
23002 "additionalProperties" : 0,
23003 "properties" : {
23004 "node" : {
23005 "description" : "The cluster node name.",
23006 "format" : "pve-node",
013dc89f
DM
23007 "type" : "string",
23008 "typetext" : "<string>"
44660702
DM
23009 },
23010 "upid" : {
013dc89f
DM
23011 "type" : "string",
23012 "typetext" : "<string>"
44660702
DM
23013 }
23014 }
23015 },
23016 "permissions" : {
23017 "user" : "all"
23018 },
23019 "returns" : {
23020 "items" : {
23021 "properties" : {},
23022 "type" : "object"
23023 },
23024 "links" : [
23025 {
23026 "href" : "{name}",
23027 "rel" : "child"
23028 }
23029 ],
23030 "type" : "array"
56122987 23031 }
44660702 23032 }
56122987 23033 },
44660702
DM
23034 "leaf" : 0,
23035 "path" : "/nodes/{node}/tasks/{upid}",
23036 "text" : "{upid}"
23037 }
23038 ],
23039 "info" : {
23040 "GET" : {
7aacca6f 23041 "description" : "Read task list for one node (finished tasks).",
44660702
DM
23042 "method" : "GET",
23043 "name" : "node_tasks",
56122987 23044 "parameters" : {
7aacca6f 23045 "additionalProperties" : 0,
56122987 23046 "properties" : {
44660702 23047 "errors" : {
56122987 23048 "optional" : 1,
013dc89f
DM
23049 "type" : "boolean",
23050 "typetext" : "<boolean>"
56122987 23051 },
44660702 23052 "limit" : {
56122987 23053 "minimum" : 0,
56122987 23054 "optional" : 1,
4bd7df8b 23055 "type" : "integer",
013dc89f 23056 "typetext" : "<integer> (0 - N)"
56122987 23057 },
56122987
DM
23058 "node" : {
23059 "description" : "The cluster node name.",
44660702 23060 "format" : "pve-node",
013dc89f
DM
23061 "type" : "string",
23062 "typetext" : "<string>"
56122987 23063 },
44660702 23064 "start" : {
7aacca6f 23065 "minimum" : 0,
44660702 23066 "optional" : 1,
4bd7df8b 23067 "type" : "integer",
013dc89f 23068 "typetext" : "<integer> (0 - N)"
56122987 23069 },
7aacca6f 23070 "userfilter" : {
44660702 23071 "optional" : 1,
013dc89f
DM
23072 "type" : "string",
23073 "typetext" : "<string>"
44660702
DM
23074 },
23075 "vmid" : {
23076 "description" : "Only list tasks for this VM.",
23077 "format" : "pve-vmid",
23078 "minimum" : 1,
23079 "optional" : 1,
4bd7df8b 23080 "type" : "integer",
013dc89f 23081 "typetext" : "<integer> (1 - N)"
56122987
DM
23082 }
23083 }
23084 },
7aacca6f 23085 "permissions" : {
44660702 23086 "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).",
7aacca6f
DM
23087 "user" : "all"
23088 },
44660702 23089 "proxyto" : "node",
56122987
DM
23090 "returns" : {
23091 "items" : {
23092 "properties" : {
44660702 23093 "upid" : {
56122987
DM
23094 "type" : "string"
23095 }
23096 },
23097 "type" : "object"
23098 },
56122987
DM
23099 "links" : [
23100 {
44660702
DM
23101 "href" : "{upid}",
23102 "rel" : "child"
56122987 23103 }
44660702
DM
23104 ],
23105 "type" : "array"
56122987
DM
23106 }
23107 }
23108 },
44660702
DM
23109 "leaf" : 0,
23110 "path" : "/nodes/{node}/tasks",
23111 "text" : "tasks"
23112 },
23113 {
56122987
DM
23114 "children" : [
23115 {
56122987
DM
23116 "info" : {
23117 "GET" : {
7aacca6f 23118 "description" : "Scan zfs pool list on local node.",
44660702
DM
23119 "method" : "GET",
23120 "name" : "zfsscan",
56122987 23121 "parameters" : {
44660702 23122 "additionalProperties" : 0,
56122987 23123 "properties" : {
56122987
DM
23124 "node" : {
23125 "description" : "The cluster node name.",
44660702 23126 "format" : "pve-node",
013dc89f
DM
23127 "type" : "string",
23128 "typetext" : "<string>"
56122987 23129 }
44660702
DM
23130 }
23131 },
7aacca6f
DM
23132 "permissions" : {
23133 "check" : [
23134 "perm",
23135 "/storage",
23136 [
23137 "Datastore.Allocate"
23138 ]
23139 ]
23140 },
44660702
DM
23141 "protected" : 1,
23142 "proxyto" : "node",
56122987 23143 "returns" : {
56122987
DM
23144 "items" : {
23145 "properties" : {
44660702 23146 "pool" : {
56122987
DM
23147 "type" : "string"
23148 }
44660702
DM
23149 },
23150 "type" : "object"
23151 },
23152 "type" : "array"
23153 }
23154 }
23155 },
23156 "leaf" : 1,
23157 "path" : "/nodes/{node}/scan/zfs",
23158 "text" : "zfs"
23159 },
23160 {
23161 "info" : {
23162 "GET" : {
23163 "description" : "Scan remote NFS server.",
23164 "method" : "GET",
7aacca6f 23165 "name" : "nfsscan",
56122987 23166 "parameters" : {
44660702 23167 "additionalProperties" : 0,
56122987
DM
23168 "properties" : {
23169 "node" : {
7aacca6f 23170 "description" : "The cluster node name.",
44660702 23171 "format" : "pve-node",
013dc89f
DM
23172 "type" : "string",
23173 "typetext" : "<string>"
7aacca6f
DM
23174 },
23175 "server" : {
23176 "format" : "pve-storage-server",
013dc89f
DM
23177 "type" : "string",
23178 "typetext" : "<string>"
56122987 23179 }
44660702 23180 }
56122987 23181 },
56122987
DM
23182 "permissions" : {
23183 "check" : [
23184 "perm",
23185 "/storage",
23186 [
23187 "Datastore.Allocate"
23188 ]
23189 ]
23190 },
44660702 23191 "protected" : 1,
56122987 23192 "proxyto" : "node",
44660702
DM
23193 "returns" : {
23194 "items" : {
23195 "properties" : {
23196 "options" : {
23197 "type" : "string"
23198 },
23199 "path" : {
23200 "type" : "string"
23201 }
23202 },
23203 "type" : "object"
23204 },
23205 "type" : "array"
23206 }
23207 }
23208 },
23209 "leaf" : 1,
23210 "path" : "/nodes/{node}/scan/nfs",
23211 "text" : "nfs"
23212 },
27a7acb2
DM
23213 {
23214 "info" : {
23215 "GET" : {
23216 "description" : "Scan remote CIFS server.",
23217 "method" : "GET",
23218 "name" : "cifsscan",
23219 "parameters" : {
23220 "additionalProperties" : 0,
23221 "properties" : {
23222 "domain" : {
23223 "optional" : 1,
23224 "type" : "string",
23225 "typetext" : "<string>"
23226 },
23227 "node" : {
23228 "description" : "The cluster node name.",
23229 "format" : "pve-node",
23230 "type" : "string",
23231 "typetext" : "<string>"
23232 },
23233 "password" : {
23234 "optional" : 1,
23235 "type" : "string",
23236 "typetext" : "<string>"
23237 },
23238 "server" : {
23239 "format" : "pve-storage-server",
23240 "type" : "string",
23241 "typetext" : "<string>"
23242 },
23243 "username" : {
23244 "optional" : 1,
23245 "type" : "string",
23246 "typetext" : "<string>"
23247 }
23248 }
23249 },
23250 "permissions" : {
23251 "check" : [
23252 "perm",
23253 "/storage",
23254 [
23255 "Datastore.Allocate"
23256 ]
23257 ]
23258 },
23259 "protected" : 1,
23260 "proxyto" : "node",
23261 "returns" : {
23262 "items" : {
23263 "properties" : {
23264 "description" : {
23265 "type" : "string"
23266 },
23267 "share" : {
23268 "type" : "string"
23269 }
23270 },
23271 "type" : "object"
23272 },
23273 "type" : "array"
23274 }
23275 }
23276 },
23277 "leaf" : 1,
23278 "path" : "/nodes/{node}/scan/cifs",
23279 "text" : "cifs"
23280 },
44660702
DM
23281 {
23282 "info" : {
23283 "GET" : {
23284 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
23285 "method" : "GET",
23286 "name" : "glusterfsscan",
56122987 23287 "parameters" : {
44660702 23288 "additionalProperties" : 0,
56122987 23289 "properties" : {
56122987 23290 "node" : {
44660702 23291 "description" : "The cluster node name.",
56122987 23292 "format" : "pve-node",
013dc89f
DM
23293 "type" : "string",
23294 "typetext" : "<string>"
7aacca6f
DM
23295 },
23296 "server" : {
23297 "format" : "pve-storage-server",
013dc89f
DM
23298 "type" : "string",
23299 "typetext" : "<string>"
56122987 23300 }
44660702
DM
23301 }
23302 },
23303 "permissions" : {
23304 "check" : [
23305 "perm",
23306 "/storage",
23307 [
23308 "Datastore.Allocate"
23309 ]
23310 ]
7aacca6f 23311 },
44660702
DM
23312 "protected" : 1,
23313 "proxyto" : "node",
23314 "returns" : {
23315 "items" : {
23316 "properties" : {
23317 "volname" : {
23318 "type" : "string"
23319 }
23320 },
23321 "type" : "object"
23322 },
23323 "type" : "array"
23324 }
56122987
DM
23325 }
23326 },
44660702
DM
23327 "leaf" : 1,
23328 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 23329 "text" : "glusterfs"
56122987
DM
23330 },
23331 {
56122987
DM
23332 "info" : {
23333 "GET" : {
7aacca6f 23334 "description" : "Scan remote iSCSI server.",
44660702
DM
23335 "method" : "GET",
23336 "name" : "iscsiscan",
23337 "parameters" : {
23338 "additionalProperties" : 0,
23339 "properties" : {
23340 "node" : {
23341 "description" : "The cluster node name.",
23342 "format" : "pve-node",
013dc89f
DM
23343 "type" : "string",
23344 "typetext" : "<string>"
44660702
DM
23345 },
23346 "portal" : {
23347 "format" : "pve-storage-portal-dns",
013dc89f
DM
23348 "type" : "string",
23349 "typetext" : "<string>"
44660702
DM
23350 }
23351 }
23352 },
56122987
DM
23353 "permissions" : {
23354 "check" : [
23355 "perm",
23356 "/storage",
23357 [
23358 "Datastore.Allocate"
23359 ]
23360 ]
23361 },
44660702
DM
23362 "protected" : 1,
23363 "proxyto" : "node",
56122987 23364 "returns" : {
56122987
DM
23365 "items" : {
23366 "properties" : {
44660702 23367 "portal" : {
56122987
DM
23368 "type" : "string"
23369 },
44660702 23370 "target" : {
56122987
DM
23371 "type" : "string"
23372 }
23373 },
23374 "type" : "object"
56122987 23375 },
44660702
DM
23376 "type" : "array"
23377 }
56122987
DM
23378 }
23379 },
44660702 23380 "leaf" : 1,
7aacca6f 23381 "path" : "/nodes/{node}/scan/iscsi",
44660702 23382 "text" : "iscsi"
56122987
DM
23383 },
23384 {
56122987
DM
23385 "info" : {
23386 "GET" : {
44660702
DM
23387 "description" : "List local LVM volume groups.",
23388 "method" : "GET",
23389 "name" : "lvmscan",
23390 "parameters" : {
23391 "additionalProperties" : 0,
23392 "properties" : {
23393 "node" : {
23394 "description" : "The cluster node name.",
23395 "format" : "pve-node",
013dc89f
DM
23396 "type" : "string",
23397 "typetext" : "<string>"
56122987 23398 }
7aacca6f 23399 }
56122987 23400 },
56122987
DM
23401 "permissions" : {
23402 "check" : [
23403 "perm",
23404 "/storage",
23405 [
23406 "Datastore.Allocate"
23407 ]
23408 ]
23409 },
7aacca6f 23410 "protected" : 1,
44660702
DM
23411 "proxyto" : "node",
23412 "returns" : {
23413 "items" : {
23414 "properties" : {
23415 "vg" : {
23416 "type" : "string"
23417 }
23418 },
23419 "type" : "object"
23420 },
23421 "type" : "array"
7aacca6f 23422 }
56122987
DM
23423 }
23424 },
23425 "leaf" : 1,
44660702
DM
23426 "path" : "/nodes/{node}/scan/lvm",
23427 "text" : "lvm"
56122987
DM
23428 },
23429 {
56122987
DM
23430 "info" : {
23431 "GET" : {
44660702
DM
23432 "description" : "List local LVM Thin Pools.",
23433 "method" : "GET",
23434 "name" : "lvmthinscan",
56122987 23435 "parameters" : {
44660702 23436 "additionalProperties" : 0,
56122987
DM
23437 "properties" : {
23438 "node" : {
44660702 23439 "description" : "The cluster node name.",
56122987 23440 "format" : "pve-node",
013dc89f
DM
23441 "type" : "string",
23442 "typetext" : "<string>"
56122987
DM
23443 },
23444 "vg" : {
44660702 23445 "maxLength" : 100,
56122987 23446 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 23447 "type" : "string"
56122987 23448 }
44660702 23449 }
56122987 23450 },
7aacca6f
DM
23451 "permissions" : {
23452 "check" : [
23453 "perm",
23454 "/storage",
23455 [
23456 "Datastore.Allocate"
23457 ]
23458 ]
23459 },
44660702 23460 "protected" : 1,
7aacca6f 23461 "proxyto" : "node",
56122987 23462 "returns" : {
56122987
DM
23463 "items" : {
23464 "properties" : {
23465 "lv" : {
23466 "type" : "string"
23467 }
23468 },
23469 "type" : "object"
44660702
DM
23470 },
23471 "type" : "array"
7aacca6f 23472 }
56122987
DM
23473 }
23474 },
7aacca6f 23475 "leaf" : 1,
44660702
DM
23476 "path" : "/nodes/{node}/scan/lvmthin",
23477 "text" : "lvmthin"
56122987
DM
23478 },
23479 {
56122987
DM
23480 "info" : {
23481 "GET" : {
44660702
DM
23482 "description" : "List local USB devices.",
23483 "method" : "GET",
23484 "name" : "usbscan",
23485 "parameters" : {
23486 "additionalProperties" : 0,
23487 "properties" : {
23488 "node" : {
23489 "description" : "The cluster node name.",
23490 "format" : "pve-node",
013dc89f
DM
23491 "type" : "string",
23492 "typetext" : "<string>"
44660702
DM
23493 }
23494 }
23495 },
7aacca6f
DM
23496 "permissions" : {
23497 "check" : [
23498 "perm",
23499 "/",
23500 [
23501 "Sys.Modify"
23502 ]
23503 ]
23504 },
44660702 23505 "protected" : 1,
7aacca6f 23506 "proxyto" : "node",
56122987
DM
23507 "returns" : {
23508 "items" : {
23509 "properties" : {
44660702
DM
23510 "busnum" : {
23511 "type" : "integer"
56122987 23512 },
44660702
DM
23513 "class" : {
23514 "type" : "integer"
56122987 23515 },
7aacca6f 23516 "devnum" : {
56122987
DM
23517 "type" : "integer"
23518 },
44660702
DM
23519 "level" : {
23520 "type" : "integer"
23521 },
23522 "manufacturer" : {
23523 "optional" : 1,
7aacca6f
DM
23524 "type" : "string"
23525 },
44660702 23526 "port" : {
56122987
DM
23527 "type" : "integer"
23528 },
44660702
DM
23529 "prodid" : {
23530 "type" : "string"
56122987 23531 },
44660702
DM
23532 "product" : {
23533 "optional" : 1,
23534 "type" : "string"
23535 },
23536 "serial" : {
7aacca6f 23537 "optional" : 1,
56122987
DM
23538 "type" : "string"
23539 },
44660702 23540 "speed" : {
7aacca6f 23541 "type" : "string"
56122987 23542 },
44660702 23543 "usbpath" : {
56122987
DM
23544 "optional" : 1,
23545 "type" : "string"
23546 },
44660702
DM
23547 "vendid" : {
23548 "type" : "string"
56122987
DM
23549 }
23550 },
23551 "type" : "object"
7aacca6f
DM
23552 },
23553 "type" : "array"
44660702
DM
23554 }
23555 }
23556 },
23557 "leaf" : 1,
23558 "path" : "/nodes/{node}/scan/usb",
23559 "text" : "usb"
23560 }
23561 ],
23562 "info" : {
23563 "GET" : {
23564 "description" : "Index of available scan methods",
23565 "method" : "GET",
23566 "name" : "index",
23567 "parameters" : {
23568 "additionalProperties" : 0,
23569 "properties" : {
23570 "node" : {
23571 "description" : "The cluster node name.",
23572 "format" : "pve-node",
013dc89f
DM
23573 "type" : "string",
23574 "typetext" : "<string>"
44660702
DM
23575 }
23576 }
23577 },
23578 "permissions" : {
23579 "user" : "all"
23580 },
23581 "returns" : {
23582 "items" : {
23583 "properties" : {
23584 "method" : {
23585 "type" : "string"
56122987
DM
23586 }
23587 },
44660702
DM
23588 "type" : "object"
23589 },
23590 "links" : [
23591 {
23592 "href" : "{method}",
23593 "rel" : "child"
23594 }
23595 ],
23596 "type" : "array"
56122987
DM
23597 }
23598 }
44660702
DM
23599 },
23600 "leaf" : 0,
23601 "path" : "/nodes/{node}/scan",
7aacca6f 23602 "text" : "scan"
56122987
DM
23603 },
23604 {
56122987
DM
23605 "children" : [
23606 {
56122987
DM
23607 "children" : [
23608 {
7aacca6f
DM
23609 "children" : [
23610 {
23611 "info" : {
44660702
DM
23612 "DELETE" : {
23613 "description" : "Delete volume",
23614 "method" : "DELETE",
23615 "name" : "delete",
7aacca6f
DM
23616 "parameters" : {
23617 "additionalProperties" : 0,
23618 "properties" : {
7aacca6f
DM
23619 "node" : {
23620 "description" : "The cluster node name.",
44660702 23621 "format" : "pve-node",
013dc89f
DM
23622 "type" : "string",
23623 "typetext" : "<string>"
44660702
DM
23624 },
23625 "storage" : {
23626 "description" : "The storage identifier.",
23627 "format" : "pve-storage-id",
23628 "optional" : 1,
013dc89f
DM
23629 "type" : "string",
23630 "typetext" : "<string>"
7aacca6f
DM
23631 },
23632 "volume" : {
23633 "description" : "Volume identifier",
013dc89f
DM
23634 "type" : "string",
23635 "typetext" : "<string>"
7aacca6f
DM
23636 }
23637 }
23638 },
44660702
DM
23639 "permissions" : {
23640 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
23641 "user" : "all"
23642 },
23643 "protected" : 1,
23644 "proxyto" : "node",
23645 "returns" : {
23646 "type" : "null"
23647 }
7aacca6f 23648 },
44660702
DM
23649 "GET" : {
23650 "description" : "Get volume attributes",
23651 "method" : "GET",
23652 "name" : "info",
7aacca6f
DM
23653 "parameters" : {
23654 "additionalProperties" : 0,
23655 "properties" : {
7aacca6f
DM
23656 "node" : {
23657 "description" : "The cluster node name.",
44660702 23658 "format" : "pve-node",
013dc89f
DM
23659 "type" : "string",
23660 "typetext" : "<string>"
7aacca6f
DM
23661 },
23662 "storage" : {
7aacca6f 23663 "description" : "The storage identifier.",
44660702 23664 "format" : "pve-storage-id",
7aacca6f 23665 "optional" : 1,
013dc89f
DM
23666 "type" : "string",
23667 "typetext" : "<string>"
44660702
DM
23668 },
23669 "volume" : {
23670 "description" : "Volume identifier",
013dc89f
DM
23671 "type" : "string",
23672 "typetext" : "<string>"
7aacca6f
DM
23673 }
23674 }
23675 },
7aacca6f 23676 "permissions" : {
44660702 23677 "description" : "You need read access for the volume.",
7aacca6f
DM
23678 "user" : "all"
23679 },
44660702 23680 "protected" : 1,
7aacca6f 23681 "proxyto" : "node",
7aacca6f 23682 "returns" : {
44660702 23683 "type" : "object"
7aacca6f
DM
23684 }
23685 },
23686 "POST" : {
44660702
DM
23687 "description" : "Copy a volume. This is experimental code - do not use.",
23688 "method" : "POST",
23689 "name" : "copy",
7aacca6f
DM
23690 "parameters" : {
23691 "additionalProperties" : 0,
23692 "properties" : {
44660702
DM
23693 "node" : {
23694 "description" : "The cluster node name.",
23695 "format" : "pve-node",
013dc89f
DM
23696 "type" : "string",
23697 "typetext" : "<string>"
44660702
DM
23698 },
23699 "storage" : {
23700 "description" : "The storage identifier.",
23701 "format" : "pve-storage-id",
23702 "optional" : 1,
013dc89f
DM
23703 "type" : "string",
23704 "typetext" : "<string>"
44660702 23705 },
7aacca6f 23706 "target" : {
44660702 23707 "description" : "Target volume identifier",
013dc89f
DM
23708 "type" : "string",
23709 "typetext" : "<string>"
7aacca6f
DM
23710 },
23711 "target_node" : {
7aacca6f 23712 "description" : "Target node. Default is local node.",
44660702
DM
23713 "format" : "pve-node",
23714 "optional" : 1,
013dc89f
DM
23715 "type" : "string",
23716 "typetext" : "<string>"
7aacca6f
DM
23717 },
23718 "volume" : {
44660702 23719 "description" : "Source volume identifier",
013dc89f
DM
23720 "type" : "string",
23721 "typetext" : "<string>"
7aacca6f
DM
23722 }
23723 }
23724 },
7aacca6f
DM
23725 "protected" : 1,
23726 "proxyto" : "node",
23727 "returns" : {
23728 "type" : "string"
44660702 23729 }
7aacca6f
DM
23730 }
23731 },
7aacca6f 23732 "leaf" : 1,
44660702
DM
23733 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
23734 "text" : "{volume}"
7aacca6f
DM
23735 }
23736 ],
56122987
DM
23737 "info" : {
23738 "GET" : {
44660702
DM
23739 "description" : "List storage content.",
23740 "method" : "GET",
23741 "name" : "index",
23742 "parameters" : {
23743 "additionalProperties" : 0,
23744 "properties" : {
23745 "content" : {
23746 "description" : "Only list content of this type.",
23747 "format" : "pve-storage-content",
23748 "optional" : 1,
013dc89f
DM
23749 "type" : "string",
23750 "typetext" : "<string>"
44660702
DM
23751 },
23752 "node" : {
23753 "description" : "The cluster node name.",
23754 "format" : "pve-node",
013dc89f
DM
23755 "type" : "string",
23756 "typetext" : "<string>"
44660702
DM
23757 },
23758 "storage" : {
23759 "description" : "The storage identifier.",
23760 "format" : "pve-storage-id",
013dc89f
DM
23761 "type" : "string",
23762 "typetext" : "<string>"
44660702
DM
23763 },
23764 "vmid" : {
23765 "description" : "Only list images for this VM",
23766 "format" : "pve-vmid",
23767 "minimum" : 1,
23768 "optional" : 1,
4bd7df8b 23769 "type" : "integer",
013dc89f 23770 "typetext" : "<integer> (1 - N)"
44660702
DM
23771 }
23772 }
23773 },
7aacca6f
DM
23774 "permissions" : {
23775 "check" : [
23776 "perm",
23777 "/storage/{storage}",
23778 [
23779 "Datastore.Audit",
23780 "Datastore.AllocateSpace"
23781 ],
23782 "any",
23783 1
23784 ]
23785 },
44660702 23786 "protected" : 1,
7aacca6f 23787 "proxyto" : "node",
56122987 23788 "returns" : {
44660702
DM
23789 "items" : {
23790 "properties" : {
23791 "volid" : {
23792 "type" : "string"
23793 }
23794 },
23795 "type" : "object"
23796 },
23797 "links" : [
23798 {
23799 "href" : "{volid}",
23800 "rel" : "child"
23801 }
23802 ],
23803 "type" : "array"
23804 }
23805 },
23806 "POST" : {
23807 "description" : "Allocate disk images.",
23808 "method" : "POST",
23809 "name" : "create",
56122987 23810 "parameters" : {
44660702 23811 "additionalProperties" : 0,
56122987 23812 "properties" : {
44660702
DM
23813 "filename" : {
23814 "description" : "The name of the file to create.",
013dc89f
DM
23815 "type" : "string",
23816 "typetext" : "<string>"
44660702
DM
23817 },
23818 "format" : {
23819 "enum" : [
23820 "raw",
23821 "qcow2",
23822 "subvol"
23823 ],
23824 "optional" : 1,
23825 "requires" : "size",
23826 "type" : "string"
23827 },
23828 "node" : {
23829 "description" : "The cluster node name.",
23830 "format" : "pve-node",
013dc89f
DM
23831 "type" : "string",
23832 "typetext" : "<string>"
44660702
DM
23833 },
23834 "size" : {
23835 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
23836 "pattern" : "\\d+[MG]?",
23837 "type" : "string"
23838 },
56122987
DM
23839 "storage" : {
23840 "description" : "The storage identifier.",
44660702 23841 "format" : "pve-storage-id",
013dc89f
DM
23842 "type" : "string",
23843 "typetext" : "<string>"
56122987 23844 },
44660702
DM
23845 "vmid" : {
23846 "description" : "Specify owner VM",
23847 "format" : "pve-vmid",
23848 "minimum" : 1,
4bd7df8b 23849 "type" : "integer",
013dc89f 23850 "typetext" : "<integer> (1 - N)"
44660702
DM
23851 }
23852 }
23853 },
23854 "permissions" : {
23855 "check" : [
23856 "perm",
23857 "/storage/{storage}",
23858 [
23859 "Datastore.AllocateSpace"
23860 ]
23861 ]
23862 },
23863 "protected" : 1,
23864 "proxyto" : "node",
23865 "returns" : {
23866 "description" : "Volume identifier",
23867 "type" : "string"
23868 }
23869 }
23870 },
23871 "leaf" : 0,
23872 "path" : "/nodes/{node}/storage/{storage}/content",
23873 "text" : "content"
23874 },
23875 {
23876 "info" : {
23877 "GET" : {
23878 "description" : "Read storage status.",
23879 "method" : "GET",
23880 "name" : "read_status",
23881 "parameters" : {
23882 "additionalProperties" : 0,
23883 "properties" : {
56122987
DM
23884 "node" : {
23885 "description" : "The cluster node name.",
44660702 23886 "format" : "pve-node",
013dc89f
DM
23887 "type" : "string",
23888 "typetext" : "<string>"
44660702
DM
23889 },
23890 "storage" : {
23891 "description" : "The storage identifier.",
23892 "format" : "pve-storage-id",
013dc89f
DM
23893 "type" : "string",
23894 "typetext" : "<string>"
56122987 23895 }
44660702
DM
23896 }
23897 },
23898 "permissions" : {
23899 "check" : [
23900 "perm",
23901 "/storage/{storage}",
23902 [
23903 "Datastore.Audit",
23904 "Datastore.AllocateSpace"
23905 ],
23906 "any",
23907 1
23908 ]
56122987
DM
23909 },
23910 "protected" : 1,
44660702
DM
23911 "proxyto" : "node",
23912 "returns" : {
23913 "properties" : {},
23914 "type" : "object"
23915 }
56122987
DM
23916 }
23917 },
44660702
DM
23918 "leaf" : 1,
23919 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 23920 "text" : "status"
56122987
DM
23921 },
23922 {
56122987
DM
23923 "info" : {
23924 "GET" : {
44660702
DM
23925 "description" : "Read storage RRD statistics (returns PNG).",
23926 "method" : "GET",
23927 "name" : "rrd",
56122987 23928 "parameters" : {
44660702 23929 "additionalProperties" : 0,
56122987 23930 "properties" : {
44660702
DM
23931 "cf" : {
23932 "description" : "The RRD consolidation function",
23933 "enum" : [
23934 "AVERAGE",
23935 "MAX"
23936 ],
23937 "optional" : 1,
23938 "type" : "string"
23939 },
7aacca6f 23940 "ds" : {
7aacca6f 23941 "description" : "The list of datasources you want to display.",
44660702 23942 "format" : "pve-configid-list",
013dc89f
DM
23943 "type" : "string",
23944 "typetext" : "<string>"
56122987 23945 },
7aacca6f
DM
23946 "node" : {
23947 "description" : "The cluster node name.",
44660702 23948 "format" : "pve-node",
013dc89f
DM
23949 "type" : "string",
23950 "typetext" : "<string>"
56122987 23951 },
7aacca6f 23952 "storage" : {
7aacca6f 23953 "description" : "The storage identifier.",
44660702 23954 "format" : "pve-storage-id",
013dc89f
DM
23955 "type" : "string",
23956 "typetext" : "<string>"
44660702
DM
23957 },
23958 "timeframe" : {
23959 "description" : "Specify the time frame you are interested in.",
7aacca6f 23960 "enum" : [
44660702
DM
23961 "hour",
23962 "day",
23963 "week",
23964 "month",
23965 "year"
7aacca6f 23966 ],
44660702 23967 "type" : "string"
56122987 23968 }
44660702 23969 }
56122987
DM
23970 },
23971 "permissions" : {
23972 "check" : [
23973 "perm",
23974 "/storage/{storage}",
23975 [
23976 "Datastore.Audit",
23977 "Datastore.AllocateSpace"
23978 ],
23979 "any",
23980 1
23981 ]
23982 },
44660702
DM
23983 "protected" : 1,
23984 "proxyto" : "node",
7aacca6f
DM
23985 "returns" : {
23986 "properties" : {
23987 "filename" : {
23988 "type" : "string"
23989 }
23990 },
23991 "type" : "object"
23992 }
56122987
DM
23993 }
23994 },
23995 "leaf" : 1,
44660702
DM
23996 "path" : "/nodes/{node}/storage/{storage}/rrd",
23997 "text" : "rrd"
56122987
DM
23998 },
23999 {
56122987
DM
24000 "info" : {
24001 "GET" : {
44660702
DM
24002 "description" : "Read storage RRD statistics.",
24003 "method" : "GET",
24004 "name" : "rrddata",
56122987 24005 "parameters" : {
44660702 24006 "additionalProperties" : 0,
56122987 24007 "properties" : {
44660702
DM
24008 "cf" : {
24009 "description" : "The RRD consolidation function",
24010 "enum" : [
24011 "AVERAGE",
24012 "MAX"
24013 ],
24014 "optional" : 1,
24015 "type" : "string"
24016 },
7aacca6f 24017 "node" : {
7aacca6f 24018 "description" : "The cluster node name.",
44660702 24019 "format" : "pve-node",
013dc89f
DM
24020 "type" : "string",
24021 "typetext" : "<string>"
44660702
DM
24022 },
24023 "storage" : {
24024 "description" : "The storage identifier.",
24025 "format" : "pve-storage-id",
013dc89f
DM
24026 "type" : "string",
24027 "typetext" : "<string>"
7aacca6f 24028 },
56122987 24029 "timeframe" : {
7aacca6f 24030 "description" : "Specify the time frame you are interested in.",
56122987
DM
24031 "enum" : [
24032 "hour",
24033 "day",
24034 "week",
24035 "month",
24036 "year"
56122987 24037 ],
44660702 24038 "type" : "string"
56122987 24039 }
44660702 24040 }
7aacca6f 24041 },
7aacca6f
DM
24042 "permissions" : {
24043 "check" : [
24044 "perm",
24045 "/storage/{storage}",
24046 [
24047 "Datastore.Audit",
24048 "Datastore.AllocateSpace"
24049 ],
24050 "any",
24051 1
24052 ]
24053 },
44660702
DM
24054 "protected" : 1,
24055 "proxyto" : "node",
7aacca6f
DM
24056 "returns" : {
24057 "items" : {
44660702
DM
24058 "properties" : {},
24059 "type" : "object"
7aacca6f
DM
24060 },
24061 "type" : "array"
56122987
DM
24062 }
24063 }
7aacca6f 24064 },
7aacca6f 24065 "leaf" : 1,
44660702
DM
24066 "path" : "/nodes/{node}/storage/{storage}/rrddata",
24067 "text" : "rrddata"
56122987
DM
24068 },
24069 {
56122987
DM
24070 "info" : {
24071 "POST" : {
7aacca6f 24072 "description" : "Upload templates and ISO images.",
44660702
DM
24073 "method" : "POST",
24074 "name" : "upload",
56122987 24075 "parameters" : {
7aacca6f 24076 "additionalProperties" : 0,
56122987 24077 "properties" : {
56122987 24078 "content" : {
7aacca6f 24079 "description" : "Content type.",
44660702 24080 "format" : "pve-storage-content",
013dc89f
DM
24081 "type" : "string",
24082 "typetext" : "<string>"
56122987
DM
24083 },
24084 "filename" : {
44660702 24085 "description" : "The name of the file to create.",
013dc89f
DM
24086 "type" : "string",
24087 "typetext" : "<string>"
56122987
DM
24088 },
24089 "node" : {
24090 "description" : "The cluster node name.",
44660702 24091 "format" : "pve-node",
013dc89f
DM
24092 "type" : "string",
24093 "typetext" : "<string>"
44660702
DM
24094 },
24095 "storage" : {
24096 "description" : "The storage identifier.",
24097 "format" : "pve-storage-id",
013dc89f
DM
24098 "type" : "string",
24099 "typetext" : "<string>"
44660702
DM
24100 },
24101 "tmpfilename" : {
24102 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
24103 "optional" : 1,
013dc89f
DM
24104 "type" : "string",
24105 "typetext" : "<string>"
56122987 24106 }
7aacca6f 24107 }
56122987 24108 },
56122987
DM
24109 "permissions" : {
24110 "check" : [
24111 "perm",
24112 "/storage/{storage}",
24113 [
24114 "Datastore.AllocateTemplate"
24115 ]
24116 ]
44660702
DM
24117 },
24118 "protected" : 1,
24119 "returns" : {
24120 "type" : "string"
24121 }
24122 }
24123 },
24124 "leaf" : 1,
24125 "path" : "/nodes/{node}/storage/{storage}/upload",
24126 "text" : "upload"
24127 }
24128 ],
24129 "info" : {
24130 "GET" : {
24131 "description" : "",
24132 "method" : "GET",
24133 "name" : "diridx",
24134 "parameters" : {
24135 "additionalProperties" : 0,
24136 "properties" : {
24137 "node" : {
24138 "description" : "The cluster node name.",
24139 "format" : "pve-node",
013dc89f
DM
24140 "type" : "string",
24141 "typetext" : "<string>"
44660702
DM
24142 },
24143 "storage" : {
24144 "description" : "The storage identifier.",
24145 "format" : "pve-storage-id",
013dc89f
DM
24146 "type" : "string",
24147 "typetext" : "<string>"
56122987
DM
24148 }
24149 }
44660702
DM
24150 },
24151 "permissions" : {
24152 "check" : [
24153 "perm",
24154 "/storage/{storage}",
24155 [
24156 "Datastore.Audit",
24157 "Datastore.AllocateSpace"
24158 ],
24159 "any",
24160 1
24161 ]
24162 },
24163 "returns" : {
24164 "items" : {
24165 "properties" : {
24166 "subdir" : {
24167 "type" : "string"
24168 }
24169 },
24170 "type" : "object"
24171 },
24172 "links" : [
24173 {
24174 "href" : "{subdir}",
24175 "rel" : "child"
24176 }
24177 ],
24178 "type" : "array"
56122987
DM
24179 }
24180 }
44660702
DM
24181 },
24182 "leaf" : 0,
24183 "path" : "/nodes/{node}/storage/{storage}",
24184 "text" : "{storage}"
56122987
DM
24185 }
24186 ],
56122987
DM
24187 "info" : {
24188 "GET" : {
44660702
DM
24189 "description" : "Get status for all datastores.",
24190 "method" : "GET",
24191 "name" : "index",
24192 "parameters" : {
24193 "additionalProperties" : 0,
24194 "properties" : {
24195 "content" : {
24196 "description" : "Only list stores which support this content type.",
24197 "format" : "pve-storage-content-list",
24198 "optional" : 1,
013dc89f
DM
24199 "type" : "string",
24200 "typetext" : "<string>"
44660702
DM
24201 },
24202 "enabled" : {
24203 "default" : 0,
24204 "description" : "Only list stores which are enabled (not disabled in config).",
24205 "optional" : 1,
013dc89f
DM
24206 "type" : "boolean",
24207 "typetext" : "<boolean>"
44660702 24208 },
35a75dd3
DM
24209 "format" : {
24210 "default" : 0,
24211 "description" : "Include information about formats",
24212 "optional" : 1,
24213 "type" : "boolean",
24214 "typetext" : "<boolean>"
24215 },
44660702
DM
24216 "node" : {
24217 "description" : "The cluster node name.",
24218 "format" : "pve-node",
013dc89f
DM
24219 "type" : "string",
24220 "typetext" : "<string>"
44660702
DM
24221 },
24222 "storage" : {
24223 "description" : "Only list status for specified storage",
24224 "format" : "pve-storage-id",
24225 "optional" : 1,
013dc89f
DM
24226 "type" : "string",
24227 "typetext" : "<string>"
44660702
DM
24228 },
24229 "target" : {
24230 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
24231 "format" : "pve-node",
24232 "optional" : 1,
013dc89f
DM
24233 "type" : "string",
24234 "typetext" : "<string>"
44660702
DM
24235 }
24236 }
24237 },
7aacca6f
DM
24238 "permissions" : {
24239 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
24240 "user" : "all"
24241 },
44660702 24242 "protected" : 1,
7aacca6f 24243 "proxyto" : "node",
56122987
DM
24244 "returns" : {
24245 "items" : {
56122987
DM
24246 "properties" : {
24247 "storage" : {
24248 "type" : "string"
24249 }
44660702
DM
24250 },
24251 "type" : "object"
56122987 24252 },
56122987
DM
24253 "links" : [
24254 {
7aacca6f
DM
24255 "href" : "{storage}",
24256 "rel" : "child"
56122987 24257 }
44660702
DM
24258 ],
24259 "type" : "array"
24260 }
56122987 24261 }
44660702
DM
24262 },
24263 "leaf" : 0,
24264 "path" : "/nodes/{node}/storage",
24265 "text" : "storage"
56122987 24266 },
2c0dde61
DM
24267 {
24268 "children" : [
24269 {
24270 "info" : {
24271 "GET" : {
24272 "description" : "List local disks.",
24273 "method" : "GET",
24274 "name" : "list",
24275 "parameters" : {
24276 "additionalProperties" : 0,
24277 "properties" : {
24278 "node" : {
24279 "description" : "The cluster node name.",
24280 "format" : "pve-node",
013dc89f
DM
24281 "type" : "string",
24282 "typetext" : "<string>"
2c0dde61
DM
24283 }
24284 }
24285 },
24286 "permissions" : {
24287 "check" : [
24288 "perm",
24289 "/",
24290 [
24291 "Sys.Audit",
24292 "Datastore.Audit"
24293 ],
24294 "any",
24295 1
24296 ]
24297 },
24298 "protected" : 1,
24299 "proxyto" : "node",
24300 "returns" : {
24301 "items" : {
24302 "properties" : {
24303 "devpath" : {
24304 "description" : "The device path",
24305 "type" : "string"
24306 },
24307 "gpt" : {
24308 "type" : "boolean"
24309 },
24310 "health" : {
24311 "optional" : 1,
24312 "type" : "string"
24313 },
24314 "model" : {
24315 "optional" : 1,
24316 "type" : "string"
24317 },
24318 "osdid" : {
24319 "type" : "integer"
24320 },
24321 "serial" : {
24322 "optional" : 1,
24323 "type" : "string"
24324 },
24325 "size" : {
24326 "type" : "integer"
24327 },
24328 "used" : {
24329 "optional" : 1,
24330 "type" : "string"
24331 },
24332 "vendor" : {
24333 "optional" : 1,
24334 "type" : "string"
24335 },
24336 "wwn" : {
24337 "optional" : 1,
24338 "type" : "string"
24339 }
24340 },
24341 "type" : "object"
24342 },
24343 "type" : "array"
24344 }
24345 }
24346 },
24347 "leaf" : 1,
24348 "path" : "/nodes/{node}/disks/list",
24349 "text" : "list"
24350 },
24351 {
24352 "info" : {
24353 "GET" : {
24354 "description" : "Get SMART Health of a disk.",
24355 "method" : "GET",
24356 "name" : "smart",
24357 "parameters" : {
24358 "additionalProperties" : 0,
24359 "properties" : {
24360 "disk" : {
24361 "description" : "Block device name",
24362 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24363 "type" : "string"
24364 },
24365 "healthonly" : {
24366 "description" : "If true returns only the health status",
24367 "optional" : 1,
013dc89f
DM
24368 "type" : "boolean",
24369 "typetext" : "<boolean>"
2c0dde61
DM
24370 },
24371 "node" : {
24372 "description" : "The cluster node name.",
24373 "format" : "pve-node",
013dc89f
DM
24374 "type" : "string",
24375 "typetext" : "<string>"
2c0dde61
DM
24376 }
24377 }
24378 },
24379 "permissions" : {
24380 "check" : [
24381 "perm",
24382 "/",
24383 [
24384 "Sys.Audit",
24385 "Datastore.Audit"
24386 ],
24387 "any",
24388 1
24389 ]
24390 },
24391 "protected" : 1,
24392 "proxyto" : "node",
24393 "returns" : {
de0983cb
DM
24394 "properties" : {
24395 "attributes" : {
24396 "optional" : 1,
24397 "type" : "array"
24398 },
24399 "health" : {
24400 "type" : "string"
24401 },
24402 "text" : {
24403 "optional" : 1,
24404 "type" : "string"
24405 },
24406 "type" : {
24407 "optional" : 1,
24408 "type" : "string"
24409 }
24410 },
2c0dde61
DM
24411 "type" : "object"
24412 }
24413 }
24414 },
24415 "leaf" : 1,
24416 "path" : "/nodes/{node}/disks/smart",
24417 "text" : "smart"
24418 },
24419 {
24420 "info" : {
24421 "POST" : {
24422 "description" : "Initialize Disk with GPT",
24423 "method" : "POST",
24424 "name" : "initgpt",
24425 "parameters" : {
24426 "additionalProperties" : 0,
24427 "properties" : {
24428 "disk" : {
24429 "description" : "Block device name",
24430 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24431 "type" : "string"
24432 },
24433 "node" : {
24434 "description" : "The cluster node name.",
24435 "format" : "pve-node",
013dc89f
DM
24436 "type" : "string",
24437 "typetext" : "<string>"
2c0dde61
DM
24438 },
24439 "uuid" : {
24440 "description" : "UUID for the GPT table",
24441 "maxLength" : 36,
24442 "optional" : 1,
24443 "pattern" : "[a-fA-F0-9\\-]+",
24444 "type" : "string"
24445 }
24446 }
24447 },
24448 "permissions" : {
24449 "check" : [
24450 "perm",
24451 "/",
24452 [
24453 "Sys.Modify"
24454 ]
24455 ]
24456 },
24457 "protected" : 1,
24458 "proxyto" : "node",
24459 "returns" : {
24460 "type" : "string"
24461 }
24462 }
24463 },
24464 "leaf" : 1,
24465 "path" : "/nodes/{node}/disks/initgpt",
24466 "text" : "initgpt"
24467 }
24468 ],
24469 "info" : {
24470 "GET" : {
24471 "description" : "Node index.",
24472 "method" : "GET",
24473 "name" : "index",
24474 "parameters" : {
24475 "additionalProperties" : 0,
24476 "properties" : {
24477 "node" : {
24478 "description" : "The cluster node name.",
24479 "format" : "pve-node",
013dc89f
DM
24480 "type" : "string",
24481 "typetext" : "<string>"
2c0dde61
DM
24482 }
24483 }
24484 },
24485 "permissions" : {
24486 "user" : "all"
24487 },
24488 "proxyto" : "node",
24489 "returns" : {
24490 "items" : {
24491 "properties" : {},
24492 "type" : "object"
24493 },
24494 "links" : [
24495 {
24496 "href" : "{name}",
24497 "rel" : "child"
24498 }
24499 ],
24500 "type" : "array"
24501 }
24502 }
24503 },
24504 "leaf" : 0,
24505 "path" : "/nodes/{node}/disks",
24506 "text" : "disks"
24507 },
56122987 24508 {
56122987
DM
24509 "children" : [
24510 {
24511 "info" : {
44660702
DM
24512 "GET" : {
24513 "description" : "List available updates.",
24514 "method" : "GET",
24515 "name" : "list_updates",
24516 "parameters" : {
24517 "additionalProperties" : 0,
24518 "properties" : {
24519 "node" : {
24520 "description" : "The cluster node name.",
24521 "format" : "pve-node",
013dc89f
DM
24522 "type" : "string",
24523 "typetext" : "<string>"
44660702
DM
24524 }
24525 }
7aacca6f
DM
24526 },
24527 "permissions" : {
24528 "check" : [
24529 "perm",
24530 "/nodes/{node}",
24531 [
24532 "Sys.Modify"
24533 ]
24534 ]
24535 },
44660702 24536 "protected" : 1,
56122987 24537 "proxyto" : "node",
44660702
DM
24538 "returns" : {
24539 "items" : {
24540 "properties" : {},
24541 "type" : "object"
24542 },
24543 "type" : "array"
24544 }
24545 },
24546 "POST" : {
24547 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
24548 "method" : "POST",
24549 "name" : "update_database",
56122987
DM
24550 "parameters" : {
24551 "additionalProperties" : 0,
24552 "properties" : {
44660702
DM
24553 "node" : {
24554 "description" : "The cluster node name.",
24555 "format" : "pve-node",
013dc89f
DM
24556 "type" : "string",
24557 "typetext" : "<string>"
44660702 24558 },
56122987 24559 "notify" : {
56122987 24560 "default" : 0,
44660702
DM
24561 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
24562 "optional" : 1,
013dc89f
DM
24563 "type" : "boolean",
24564 "typetext" : "<boolean>"
56122987
DM
24565 },
24566 "quiet" : {
56122987 24567 "default" : 0,
44660702 24568 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 24569 "optional" : 1,
013dc89f
DM
24570 "type" : "boolean",
24571 "typetext" : "<boolean>"
56122987 24572 }
7aacca6f
DM
24573 }
24574 },
24575 "permissions" : {
24576 "check" : [
24577 "perm",
24578 "/nodes/{node}",
24579 [
24580 "Sys.Modify"
24581 ]
24582 ]
24583 },
44660702
DM
24584 "protected" : 1,
24585 "proxyto" : "node",
24586 "returns" : {
24587 "type" : "string"
24588 }
56122987
DM
24589 }
24590 },
7aacca6f 24591 "leaf" : 1,
44660702
DM
24592 "path" : "/nodes/{node}/apt/update",
24593 "text" : "update"
56122987
DM
24594 },
24595 {
56122987
DM
24596 "info" : {
24597 "GET" : {
44660702 24598 "description" : "Get package changelogs.",
56122987 24599 "method" : "GET",
7aacca6f 24600 "name" : "changelog",
56122987 24601 "parameters" : {
44660702 24602 "additionalProperties" : 0,
56122987
DM
24603 "properties" : {
24604 "name" : {
24605 "description" : "Package name.",
013dc89f
DM
24606 "type" : "string",
24607 "typetext" : "<string>"
56122987 24608 },
44660702
DM
24609 "node" : {
24610 "description" : "The cluster node name.",
24611 "format" : "pve-node",
013dc89f
DM
24612 "type" : "string",
24613 "typetext" : "<string>"
44660702 24614 },
56122987 24615 "version" : {
7aacca6f 24616 "description" : "Package version.",
44660702 24617 "optional" : 1,
013dc89f
DM
24618 "type" : "string",
24619 "typetext" : "<string>"
56122987 24620 }
44660702 24621 }
56122987 24622 },
44660702
DM
24623 "permissions" : {
24624 "check" : [
24625 "perm",
24626 "/nodes/{node}",
24627 [
24628 "Sys.Modify"
24629 ]
24630 ]
24631 },
24632 "proxyto" : "node",
24633 "returns" : {
24634 "type" : "string"
24635 }
56122987
DM
24636 }
24637 },
44660702
DM
24638 "leaf" : 1,
24639 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 24640 "text" : "changelog"
56122987
DM
24641 },
24642 {
56122987
DM
24643 "info" : {
24644 "GET" : {
44660702
DM
24645 "description" : "Get package information for important Proxmox packages.",
24646 "method" : "GET",
7aacca6f
DM
24647 "name" : "versions",
24648 "parameters" : {
44660702 24649 "additionalProperties" : 0,
7aacca6f
DM
24650 "properties" : {
24651 "node" : {
44660702 24652 "description" : "The cluster node name.",
7aacca6f 24653 "format" : "pve-node",
013dc89f
DM
24654 "type" : "string",
24655 "typetext" : "<string>"
7aacca6f 24656 }
44660702 24657 }
7aacca6f 24658 },
56122987
DM
24659 "permissions" : {
24660 "check" : [
24661 "perm",
24662 "/nodes/{node}",
24663 [
24664 "Sys.Audit"
24665 ]
24666 ]
24667 },
7aacca6f 24668 "proxyto" : "node",
56122987
DM
24669 "returns" : {
24670 "items" : {
7aacca6f
DM
24671 "properties" : {},
24672 "type" : "object"
44660702
DM
24673 },
24674 "type" : "array"
56122987
DM
24675 }
24676 }
24677 },
44660702 24678 "leaf" : 1,
7aacca6f 24679 "path" : "/nodes/{node}/apt/versions",
44660702 24680 "text" : "versions"
56122987
DM
24681 }
24682 ],
56122987
DM
24683 "info" : {
24684 "GET" : {
44660702 24685 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 24686 "method" : "GET",
44660702 24687 "name" : "index",
7aacca6f
DM
24688 "parameters" : {
24689 "additionalProperties" : 0,
24690 "properties" : {
24691 "node" : {
44660702 24692 "description" : "The cluster node name.",
7aacca6f 24693 "format" : "pve-node",
013dc89f
DM
24694 "type" : "string",
24695 "typetext" : "<string>"
7aacca6f
DM
24696 }
24697 }
24698 },
7aacca6f
DM
24699 "permissions" : {
24700 "user" : "all"
24701 },
44660702
DM
24702 "returns" : {
24703 "items" : {
24704 "properties" : {
24705 "id" : {
24706 "type" : "string"
24707 }
24708 },
24709 "type" : "object"
24710 },
24711 "links" : [
24712 {
24713 "href" : "{id}",
24714 "rel" : "child"
24715 }
24716 ],
24717 "type" : "array"
24718 }
56122987 24719 }
7aacca6f 24720 },
44660702 24721 "leaf" : 0,
7aacca6f 24722 "path" : "/nodes/{node}/apt",
44660702 24723 "text" : "apt"
56122987
DM
24724 },
24725 {
56122987
DM
24726 "children" : [
24727 {
24728 "children" : [
24729 {
56122987
DM
24730 "info" : {
24731 "DELETE" : {
44660702 24732 "description" : "Delete rule.",
7aacca6f 24733 "method" : "DELETE",
44660702 24734 "name" : "delete_rule",
56122987
DM
24735 "parameters" : {
24736 "additionalProperties" : 0,
24737 "properties" : {
56122987
DM
24738 "digest" : {
24739 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 24740 "maxLength" : 40,
56122987 24741 "optional" : 1,
013dc89f
DM
24742 "type" : "string",
24743 "typetext" : "<string>"
56122987 24744 },
44660702
DM
24745 "node" : {
24746 "description" : "The cluster node name.",
24747 "format" : "pve-node",
013dc89f
DM
24748 "type" : "string",
24749 "typetext" : "<string>"
44660702 24750 },
7aacca6f 24751 "pos" : {
7aacca6f 24752 "description" : "Update rule at position <pos>.",
44660702
DM
24753 "minimum" : 0,
24754 "optional" : 1,
4bd7df8b 24755 "type" : "integer",
013dc89f 24756 "typetext" : "<integer> (0 - N)"
56122987
DM
24757 }
24758 }
24759 },
44660702
DM
24760 "permissions" : {
24761 "check" : [
24762 "perm",
24763 "/nodes/{node}",
24764 [
24765 "Sys.Modify"
24766 ]
24767 ]
24768 },
24769 "protected" : 1,
24770 "proxyto" : "node",
56122987
DM
24771 "returns" : {
24772 "type" : "null"
44660702
DM
24773 }
24774 },
24775 "GET" : {
24776 "description" : "Get single rule data.",
24777 "method" : "GET",
24778 "name" : "get_rule",
24779 "parameters" : {
24780 "additionalProperties" : 0,
24781 "properties" : {
24782 "node" : {
24783 "description" : "The cluster node name.",
24784 "format" : "pve-node",
013dc89f
DM
24785 "type" : "string",
24786 "typetext" : "<string>"
44660702
DM
24787 },
24788 "pos" : {
24789 "description" : "Update rule at position <pos>.",
24790 "minimum" : 0,
24791 "optional" : 1,
4bd7df8b 24792 "type" : "integer",
013dc89f 24793 "typetext" : "<integer> (0 - N)"
44660702
DM
24794 }
24795 }
56122987 24796 },
56122987
DM
24797 "permissions" : {
24798 "check" : [
24799 "perm",
24800 "/nodes/{node}",
24801 [
44660702 24802 "Sys.Audit"
56122987
DM
24803 ]
24804 ]
44660702
DM
24805 },
24806 "proxyto" : "node",
24807 "returns" : {
24808 "properties" : {
24809 "pos" : {
24810 "type" : "integer"
24811 }
24812 },
24813 "type" : "object"
7aacca6f 24814 }
56122987
DM
24815 },
24816 "PUT" : {
44660702
DM
24817 "description" : "Modify rule data.",
24818 "method" : "PUT",
56122987 24819 "name" : "update_rule",
56122987 24820 "parameters" : {
44660702 24821 "additionalProperties" : 0,
56122987 24822 "properties" : {
44660702
DM
24823 "action" : {
24824 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24825 "maxLength" : 20,
24826 "minLength" : 2,
56122987 24827 "optional" : 1,
44660702
DM
24828 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24829 "type" : "string"
56122987 24830 },
7aacca6f 24831 "comment" : {
e94f0d56 24832 "description" : "Descriptive comment.",
56122987 24833 "optional" : 1,
013dc89f
DM
24834 "type" : "string",
24835 "typetext" : "<string>"
56122987 24836 },
44660702
DM
24837 "delete" : {
24838 "description" : "A list of settings you want to delete.",
24839 "format" : "pve-configid-list",
56122987 24840 "optional" : 1,
013dc89f
DM
24841 "type" : "string",
24842 "typetext" : "<string>"
56122987 24843 },
44660702
DM
24844 "dest" : {
24845 "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.",
24846 "format" : "pve-fw-addr-spec",
56122987 24847 "optional" : 1,
013dc89f
DM
24848 "type" : "string",
24849 "typetext" : "<string>"
56122987 24850 },
44660702
DM
24851 "digest" : {
24852 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24853 "maxLength" : 40,
56122987 24854 "optional" : 1,
013dc89f
DM
24855 "type" : "string",
24856 "typetext" : "<string>"
56122987 24857 },
7aacca6f 24858 "dport" : {
7aacca6f 24859 "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
24860 "format" : "pve-fw-dport-spec",
24861 "optional" : 1,
013dc89f
DM
24862 "type" : "string",
24863 "typetext" : "<string>"
7aacca6f 24864 },
44660702 24865 "enable" : {
e94f0d56 24866 "description" : "Flag to enable/disable a rule.",
44660702 24867 "minimum" : 0,
56122987 24868 "optional" : 1,
4bd7df8b 24869 "type" : "integer",
013dc89f 24870 "typetext" : "<integer> (0 - N)"
56122987 24871 },
7aacca6f 24872 "iface" : {
44660702 24873 "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 24874 "format" : "pve-iface",
44660702 24875 "maxLength" : 20,
56122987 24876 "minLength" : 2,
44660702 24877 "optional" : 1,
013dc89f
DM
24878 "type" : "string",
24879 "typetext" : "<string>"
56122987 24880 },
44660702 24881 "macro" : {
e94f0d56 24882 "description" : "Use predefined standard macro.",
44660702
DM
24883 "maxLength" : 128,
24884 "optional" : 1,
013dc89f
DM
24885 "type" : "string",
24886 "typetext" : "<string>"
44660702
DM
24887 },
24888 "moveto" : {
24889 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24890 "minimum" : 0,
7aacca6f 24891 "optional" : 1,
4bd7df8b 24892 "type" : "integer",
013dc89f 24893 "typetext" : "<integer> (0 - N)"
44660702
DM
24894 },
24895 "node" : {
24896 "description" : "The cluster node name.",
24897 "format" : "pve-node",
013dc89f
DM
24898 "type" : "string",
24899 "typetext" : "<string>"
56122987
DM
24900 },
24901 "pos" : {
44660702 24902 "description" : "Update rule at position <pos>.",
7aacca6f 24903 "minimum" : 0,
7aacca6f 24904 "optional" : 1,
4bd7df8b 24905 "type" : "integer",
013dc89f 24906 "typetext" : "<integer> (0 - N)"
7aacca6f 24907 },
44660702
DM
24908 "proto" : {
24909 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24910 "format" : "pve-fw-protocol-spec",
7aacca6f 24911 "optional" : 1,
013dc89f
DM
24912 "type" : "string",
24913 "typetext" : "<string>"
7aacca6f 24914 },
44660702
DM
24915 "source" : {
24916 "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.",
24917 "format" : "pve-fw-addr-spec",
56122987 24918 "optional" : 1,
013dc89f
DM
24919 "type" : "string",
24920 "typetext" : "<string>"
7aacca6f 24921 },
44660702
DM
24922 "sport" : {
24923 "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.",
24924 "format" : "pve-fw-sport-spec",
24925 "optional" : 1,
013dc89f
DM
24926 "type" : "string",
24927 "typetext" : "<string>"
44660702
DM
24928 },
24929 "type" : {
e94f0d56 24930 "description" : "Rule type.",
44660702
DM
24931 "enum" : [
24932 "in",
24933 "out",
24934 "group"
24935 ],
24936 "optional" : 1,
24937 "type" : "string"
56122987 24938 }
44660702 24939 }
56122987 24940 },
56122987
DM
24941 "permissions" : {
24942 "check" : [
24943 "perm",
24944 "/nodes/{node}",
24945 [
24946 "Sys.Modify"
24947 ]
24948 ]
7aacca6f 24949 },
44660702 24950 "protected" : 1,
7aacca6f 24951 "proxyto" : "node",
7aacca6f
DM
24952 "returns" : {
24953 "type" : "null"
56122987
DM
24954 }
24955 }
7aacca6f 24956 },
44660702 24957 "leaf" : 1,
7aacca6f 24958 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 24959 "text" : "{pos}"
56122987
DM
24960 }
24961 ],
56122987
DM
24962 "info" : {
24963 "GET" : {
44660702
DM
24964 "description" : "List rules.",
24965 "method" : "GET",
24966 "name" : "get_rules",
24967 "parameters" : {
24968 "additionalProperties" : 0,
24969 "properties" : {
24970 "node" : {
24971 "description" : "The cluster node name.",
24972 "format" : "pve-node",
013dc89f
DM
24973 "type" : "string",
24974 "typetext" : "<string>"
44660702
DM
24975 }
24976 }
24977 },
24978 "permissions" : {
24979 "check" : [
24980 "perm",
24981 "/nodes/{node}",
24982 [
24983 "Sys.Audit"
24984 ]
24985 ]
24986 },
24987 "proxyto" : "node",
56122987 24988 "returns" : {
56122987
DM
24989 "items" : {
24990 "properties" : {
24991 "pos" : {
24992 "type" : "integer"
24993 }
44660702
DM
24994 },
24995 "type" : "object"
56122987 24996 },
7aacca6f
DM
24997 "links" : [
24998 {
24999 "href" : "{pos}",
25000 "rel" : "child"
25001 }
25002 ],
25003 "type" : "array"
44660702 25004 }
56122987
DM
25005 },
25006 "POST" : {
44660702 25007 "description" : "Create new rule.",
7aacca6f
DM
25008 "method" : "POST",
25009 "name" : "create_rule",
56122987 25010 "parameters" : {
44660702 25011 "additionalProperties" : 0,
56122987 25012 "properties" : {
7aacca6f 25013 "action" : {
7aacca6f 25014 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 25015 "maxLength" : 20,
7aacca6f
DM
25016 "minLength" : 2,
25017 "optional" : 0,
44660702
DM
25018 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25019 "type" : "string"
56122987 25020 },
44660702 25021 "comment" : {
e94f0d56 25022 "description" : "Descriptive comment.",
56122987 25023 "optional" : 1,
013dc89f
DM
25024 "type" : "string",
25025 "typetext" : "<string>"
56122987 25026 },
44660702
DM
25027 "dest" : {
25028 "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.",
25029 "format" : "pve-fw-addr-spec",
7aacca6f 25030 "optional" : 1,
013dc89f
DM
25031 "type" : "string",
25032 "typetext" : "<string>"
56122987 25033 },
44660702
DM
25034 "digest" : {
25035 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25036 "maxLength" : 40,
25037 "optional" : 1,
013dc89f
DM
25038 "type" : "string",
25039 "typetext" : "<string>"
56122987 25040 },
44660702
DM
25041 "dport" : {
25042 "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.",
25043 "format" : "pve-fw-dport-spec",
7aacca6f 25044 "optional" : 1,
013dc89f
DM
25045 "type" : "string",
25046 "typetext" : "<string>"
56122987 25047 },
44660702 25048 "enable" : {
e94f0d56 25049 "description" : "Flag to enable/disable a rule.",
44660702
DM
25050 "minimum" : 0,
25051 "optional" : 1,
4bd7df8b 25052 "type" : "integer",
013dc89f 25053 "typetext" : "<integer> (0 - N)"
44660702 25054 },
7aacca6f 25055 "iface" : {
44660702 25056 "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 25057 "format" : "pve-iface",
56122987 25058 "maxLength" : 20,
7aacca6f 25059 "minLength" : 2,
7aacca6f 25060 "optional" : 1,
013dc89f
DM
25061 "type" : "string",
25062 "typetext" : "<string>"
56122987 25063 },
44660702 25064 "macro" : {
e94f0d56 25065 "description" : "Use predefined standard macro.",
44660702 25066 "maxLength" : 128,
7aacca6f 25067 "optional" : 1,
013dc89f
DM
25068 "type" : "string",
25069 "typetext" : "<string>"
56122987 25070 },
44660702
DM
25071 "node" : {
25072 "description" : "The cluster node name.",
25073 "format" : "pve-node",
013dc89f
DM
25074 "type" : "string",
25075 "typetext" : "<string>"
44660702
DM
25076 },
25077 "pos" : {
25078 "description" : "Update rule at position <pos>.",
25079 "minimum" : 0,
25080 "optional" : 1,
4bd7df8b 25081 "type" : "integer",
013dc89f 25082 "typetext" : "<integer> (0 - N)"
44660702
DM
25083 },
25084 "proto" : {
25085 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
25086 "format" : "pve-fw-protocol-spec",
56122987 25087 "optional" : 1,
013dc89f
DM
25088 "type" : "string",
25089 "typetext" : "<string>"
56122987 25090 },
7aacca6f 25091 "source" : {
7aacca6f 25092 "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
25093 "format" : "pve-fw-addr-spec",
25094 "optional" : 1,
013dc89f
DM
25095 "type" : "string",
25096 "typetext" : "<string>"
7aacca6f 25097 },
44660702
DM
25098 "sport" : {
25099 "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.",
25100 "format" : "pve-fw-sport-spec",
7aacca6f 25101 "optional" : 1,
013dc89f
DM
25102 "type" : "string",
25103 "typetext" : "<string>"
44660702
DM
25104 },
25105 "type" : {
e94f0d56 25106 "description" : "Rule type.",
44660702
DM
25107 "enum" : [
25108 "in",
25109 "out",
25110 "group"
25111 ],
25112 "optional" : 0,
25113 "type" : "string"
56122987 25114 }
44660702 25115 }
7aacca6f 25116 },
56122987
DM
25117 "permissions" : {
25118 "check" : [
25119 "perm",
25120 "/nodes/{node}",
25121 [
25122 "Sys.Modify"
25123 ]
25124 ]
25125 },
44660702
DM
25126 "protected" : 1,
25127 "proxyto" : "node",
25128 "returns" : {
25129 "type" : "null"
25130 }
56122987
DM
25131 }
25132 },
44660702 25133 "leaf" : 0,
7aacca6f 25134 "path" : "/nodes/{node}/firewall/rules",
44660702 25135 "text" : "rules"
56122987
DM
25136 },
25137 {
56122987 25138 "info" : {
44660702
DM
25139 "GET" : {
25140 "description" : "Get host firewall options.",
25141 "method" : "GET",
25142 "name" : "get_options",
56122987 25143 "parameters" : {
7aacca6f 25144 "additionalProperties" : 0,
56122987 25145 "properties" : {
44660702
DM
25146 "node" : {
25147 "description" : "The cluster node name.",
25148 "format" : "pve-node",
013dc89f
DM
25149 "type" : "string",
25150 "typetext" : "<string>"
44660702
DM
25151 }
25152 }
25153 },
25154 "permissions" : {
25155 "check" : [
25156 "perm",
25157 "/nodes/{node}",
25158 [
25159 "Sys.Audit"
25160 ]
25161 ]
25162 },
25163 "proxyto" : "node",
25164 "returns" : {
25165 "properties" : {
25166 "enable" : {
25167 "description" : "Enable host firewall rules.",
7aacca6f 25168 "optional" : 1,
44660702 25169 "type" : "boolean"
7aacca6f 25170 },
44660702
DM
25171 "log_level_in" : {
25172 "description" : "Log level for incoming traffic.",
56122987
DM
25173 "enum" : [
25174 "emerg",
25175 "alert",
25176 "crit",
25177 "err",
25178 "warning",
25179 "notice",
25180 "info",
25181 "debug",
25182 "nolog"
25183 ],
56122987 25184 "optional" : 1,
44660702
DM
25185 "type" : "string"
25186 },
25187 "log_level_out" : {
25188 "description" : "Log level for outgoing traffic.",
56122987
DM
25189 "enum" : [
25190 "emerg",
25191 "alert",
25192 "crit",
25193 "err",
25194 "warning",
25195 "notice",
25196 "info",
25197 "debug",
25198 "nolog"
25199 ],
44660702
DM
25200 "optional" : 1,
25201 "type" : "string"
25202 },
25203 "ndp" : {
25204 "description" : "Enable NDP.",
25205 "optional" : 1,
25206 "type" : "boolean"
25207 },
25208 "nf_conntrack_max" : {
25209 "description" : "Maximum number of tracked connections.",
25210 "minimum" : 32768,
25211 "optional" : 1,
25212 "type" : "integer"
25213 },
25214 "nf_conntrack_tcp_timeout_established" : {
25215 "description" : "Conntrack established timeout.",
25216 "minimum" : 7875,
25217 "optional" : 1,
25218 "type" : "integer"
25219 },
25220 "nosmurfs" : {
25221 "description" : "Enable SMURFS filter.",
25222 "optional" : 1,
25223 "type" : "boolean"
56122987 25224 },
7aacca6f 25225 "smurf_log_level" : {
44660702 25226 "description" : "Log level for SMURFS filter.",
56122987
DM
25227 "enum" : [
25228 "emerg",
25229 "alert",
25230 "crit",
25231 "err",
25232 "warning",
25233 "notice",
25234 "info",
25235 "debug",
25236 "nolog"
7aacca6f 25237 ],
7aacca6f
DM
25238 "optional" : 1,
25239 "type" : "string"
56122987 25240 },
44660702
DM
25241 "tcp_flags_log_level" : {
25242 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
25243 "enum" : [
25244 "emerg",
25245 "alert",
25246 "crit",
25247 "err",
25248 "warning",
25249 "notice",
25250 "info",
25251 "debug",
25252 "nolog"
25253 ],
44660702
DM
25254 "optional" : 1,
25255 "type" : "string"
7aacca6f 25256 },
44660702
DM
25257 "tcpflags" : {
25258 "description" : "Filter illegal combinations of TCP flags.",
56122987 25259 "optional" : 1,
44660702 25260 "type" : "boolean"
56122987 25261 }
44660702
DM
25262 },
25263 "type" : "object"
7aacca6f 25264 }
56122987 25265 },
44660702
DM
25266 "PUT" : {
25267 "description" : "Set Firewall options.",
25268 "method" : "PUT",
25269 "name" : "set_options",
7aacca6f 25270 "parameters" : {
44660702 25271 "additionalProperties" : 0,
7aacca6f 25272 "properties" : {
44660702
DM
25273 "delete" : {
25274 "description" : "A list of settings you want to delete.",
25275 "format" : "pve-configid-list",
7aacca6f 25276 "optional" : 1,
013dc89f
DM
25277 "type" : "string",
25278 "typetext" : "<string>"
56122987 25279 },
44660702
DM
25280 "digest" : {
25281 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25282 "maxLength" : 40,
25283 "optional" : 1,
013dc89f
DM
25284 "type" : "string",
25285 "typetext" : "<string>"
56122987 25286 },
44660702
DM
25287 "enable" : {
25288 "description" : "Enable host firewall rules.",
7aacca6f 25289 "optional" : 1,
013dc89f
DM
25290 "type" : "boolean",
25291 "typetext" : "<boolean>"
44660702
DM
25292 },
25293 "log_level_in" : {
25294 "description" : "Log level for incoming traffic.",
56122987
DM
25295 "enum" : [
25296 "emerg",
25297 "alert",
25298 "crit",
25299 "err",
25300 "warning",
25301 "notice",
25302 "info",
25303 "debug",
25304 "nolog"
44660702 25305 ],
7aacca6f 25306 "optional" : 1,
44660702 25307 "type" : "string"
7aacca6f 25308 },
44660702
DM
25309 "log_level_out" : {
25310 "description" : "Log level for outgoing traffic.",
56122987
DM
25311 "enum" : [
25312 "emerg",
25313 "alert",
25314 "crit",
25315 "err",
25316 "warning",
25317 "notice",
25318 "info",
25319 "debug",
25320 "nolog"
25321 ],
25322 "optional" : 1,
7aacca6f 25323 "type" : "string"
56122987 25324 },
44660702
DM
25325 "ndp" : {
25326 "description" : "Enable NDP.",
7aacca6f 25327 "optional" : 1,
013dc89f
DM
25328 "type" : "boolean",
25329 "typetext" : "<boolean>"
44660702
DM
25330 },
25331 "nf_conntrack_max" : {
25332 "description" : "Maximum number of tracked connections.",
25333 "minimum" : 32768,
25334 "optional" : 1,
4bd7df8b 25335 "type" : "integer",
013dc89f 25336 "typetext" : "<integer> (32768 - N)"
44660702
DM
25337 },
25338 "nf_conntrack_tcp_timeout_established" : {
25339 "description" : "Conntrack established timeout.",
25340 "minimum" : 7875,
25341 "optional" : 1,
4bd7df8b 25342 "type" : "integer",
013dc89f 25343 "typetext" : "<integer> (7875 - N)"
44660702
DM
25344 },
25345 "node" : {
25346 "description" : "The cluster node name.",
25347 "format" : "pve-node",
013dc89f
DM
25348 "type" : "string",
25349 "typetext" : "<string>"
44660702
DM
25350 },
25351 "nosmurfs" : {
25352 "description" : "Enable SMURFS filter.",
25353 "optional" : 1,
013dc89f
DM
25354 "type" : "boolean",
25355 "typetext" : "<boolean>"
44660702
DM
25356 },
25357 "smurf_log_level" : {
25358 "description" : "Log level for SMURFS filter.",
56122987
DM
25359 "enum" : [
25360 "emerg",
25361 "alert",
25362 "crit",
25363 "err",
25364 "warning",
25365 "notice",
25366 "info",
25367 "debug",
25368 "nolog"
44660702
DM
25369 ],
25370 "optional" : 1,
25371 "type" : "string"
56122987 25372 },
44660702
DM
25373 "tcp_flags_log_level" : {
25374 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
25375 "enum" : [
25376 "emerg",
25377 "alert",
25378 "crit",
25379 "err",
25380 "warning",
25381 "notice",
25382 "info",
25383 "debug",
25384 "nolog"
25385 ],
44660702
DM
25386 "optional" : 1,
25387 "type" : "string"
7aacca6f 25388 },
44660702
DM
25389 "tcpflags" : {
25390 "description" : "Filter illegal combinations of TCP flags.",
56122987 25391 "optional" : 1,
013dc89f
DM
25392 "type" : "boolean",
25393 "typetext" : "<boolean>"
56122987 25394 }
7aacca6f 25395 }
56122987 25396 },
44660702
DM
25397 "permissions" : {
25398 "check" : [
25399 "perm",
25400 "/nodes/{node}",
25401 [
25402 "Sys.Modify"
25403 ]
25404 ]
25405 },
25406 "protected" : 1,
25407 "proxyto" : "node",
25408 "returns" : {
25409 "type" : "null"
25410 }
7aacca6f
DM
25411 }
25412 },
44660702
DM
25413 "leaf" : 1,
25414 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
25415 "text" : "options"
25416 },
25417 {
7aacca6f
DM
25418 "info" : {
25419 "GET" : {
44660702
DM
25420 "description" : "Read firewall log",
25421 "method" : "GET",
7aacca6f 25422 "name" : "log",
56122987 25423 "parameters" : {
44660702 25424 "additionalProperties" : 0,
56122987 25425 "properties" : {
7aacca6f 25426 "limit" : {
44660702 25427 "minimum" : 0,
7aacca6f 25428 "optional" : 1,
4bd7df8b 25429 "type" : "integer",
013dc89f 25430 "typetext" : "<integer> (0 - N)"
7aacca6f 25431 },
56122987 25432 "node" : {
7aacca6f 25433 "description" : "The cluster node name.",
44660702 25434 "format" : "pve-node",
013dc89f
DM
25435 "type" : "string",
25436 "typetext" : "<string>"
44660702
DM
25437 },
25438 "start" : {
25439 "minimum" : 0,
25440 "optional" : 1,
4bd7df8b 25441 "type" : "integer",
013dc89f 25442 "typetext" : "<integer> (0 - N)"
56122987 25443 }
44660702 25444 }
7aacca6f 25445 },
56122987
DM
25446 "permissions" : {
25447 "check" : [
25448 "perm",
25449 "/nodes/{node}",
25450 [
25451 "Sys.Syslog"
25452 ]
25453 ]
25454 },
44660702
DM
25455 "protected" : 1,
25456 "proxyto" : "node",
56122987
DM
25457 "returns" : {
25458 "items" : {
56122987 25459 "properties" : {
56122987 25460 "n" : {
44660702
DM
25461 "description" : "Line number",
25462 "type" : "integer"
7aacca6f
DM
25463 },
25464 "t" : {
44660702
DM
25465 "description" : "Line text",
25466 "type" : "string"
56122987 25467 }
44660702
DM
25468 },
25469 "type" : "object"
56122987
DM
25470 },
25471 "type" : "array"
7aacca6f 25472 }
56122987
DM
25473 }
25474 },
44660702
DM
25475 "leaf" : 1,
25476 "path" : "/nodes/{node}/firewall/log",
7aacca6f 25477 "text" : "log"
56122987
DM
25478 }
25479 ],
25480 "info" : {
25481 "GET" : {
44660702
DM
25482 "description" : "Directory index.",
25483 "method" : "GET",
25484 "name" : "index",
56122987 25485 "parameters" : {
44660702 25486 "additionalProperties" : 0,
56122987
DM
25487 "properties" : {
25488 "node" : {
25489 "description" : "The cluster node name.",
44660702 25490 "format" : "pve-node",
013dc89f
DM
25491 "type" : "string",
25492 "typetext" : "<string>"
56122987 25493 }
44660702 25494 }
56122987 25495 },
7aacca6f
DM
25496 "permissions" : {
25497 "user" : "all"
25498 },
56122987
DM
25499 "returns" : {
25500 "items" : {
25501 "properties" : {},
25502 "type" : "object"
25503 },
56122987
DM
25504 "links" : [
25505 {
44660702
DM
25506 "href" : "{name}",
25507 "rel" : "child"
56122987 25508 }
44660702
DM
25509 ],
25510 "type" : "array"
25511 }
56122987 25512 }
7aacca6f 25513 },
44660702 25514 "leaf" : 0,
7aacca6f 25515 "path" : "/nodes/{node}/firewall",
44660702 25516 "text" : "firewall"
56122987 25517 },
5d9c884c
DM
25518 {
25519 "children" : [
25520 {
25521 "children" : [
25522 {
25523 "info" : {
25524 "GET" : {
25525 "description" : "Get replication job status.",
25526 "method" : "GET",
25527 "name" : "job_status",
25528 "parameters" : {
25529 "additionalProperties" : 0,
25530 "properties" : {
25531 "id" : {
25532 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25533 "format" : "pve-replication-job-id",
25534 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25535 "type" : "string"
25536 },
25537 "node" : {
25538 "description" : "The cluster node name.",
25539 "format" : "pve-node",
25540 "type" : "string",
25541 "typetext" : "<string>"
25542 }
25543 }
25544 },
25545 "permissions" : {
25546 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25547 "user" : "all"
25548 },
25549 "protected" : 1,
25550 "proxyto" : "node",
25551 "returns" : {
25552 "properties" : {},
25553 "type" : "object"
25554 }
25555 }
25556 },
25557 "leaf" : 1,
25558 "path" : "/nodes/{node}/replication/{id}/status",
25559 "text" : "status"
25560 },
25561 {
25562 "info" : {
25563 "GET" : {
25564 "description" : "Read replication job log.",
25565 "method" : "GET",
25566 "name" : "read_job_log",
25567 "parameters" : {
25568 "additionalProperties" : 0,
25569 "properties" : {
25570 "id" : {
25571 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25572 "format" : "pve-replication-job-id",
25573 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25574 "type" : "string"
25575 },
25576 "limit" : {
25577 "minimum" : 0,
25578 "optional" : 1,
25579 "type" : "integer",
25580 "typetext" : "<integer> (0 - N)"
25581 },
25582 "node" : {
25583 "description" : "The cluster node name.",
25584 "format" : "pve-node",
25585 "type" : "string",
25586 "typetext" : "<string>"
25587 },
25588 "start" : {
25589 "minimum" : 0,
25590 "optional" : 1,
25591 "type" : "integer",
25592 "typetext" : "<integer> (0 - N)"
25593 }
25594 }
25595 },
25596 "permissions" : {
25597 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
25598 "user" : "all"
25599 },
25600 "protected" : 1,
25601 "proxyto" : "node",
25602 "returns" : {
25603 "items" : {
25604 "properties" : {
25605 "n" : {
25606 "description" : "Line number",
25607 "type" : "integer"
25608 },
25609 "t" : {
25610 "description" : "Line text",
25611 "type" : "string"
25612 }
25613 },
25614 "type" : "object"
25615 },
25616 "type" : "array"
25617 }
25618 }
25619 },
25620 "leaf" : 1,
25621 "path" : "/nodes/{node}/replication/{id}/log",
25622 "text" : "log"
25623 },
25624 {
25625 "info" : {
25626 "POST" : {
25627 "description" : "Schedule replication job to start as soon as possible.",
25628 "method" : "POST",
25629 "name" : "schedule_now",
25630 "parameters" : {
25631 "additionalProperties" : 0,
25632 "properties" : {
25633 "id" : {
25634 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25635 "format" : "pve-replication-job-id",
25636 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25637 "type" : "string"
25638 },
25639 "node" : {
25640 "description" : "The cluster node name.",
25641 "format" : "pve-node",
25642 "type" : "string",
25643 "typetext" : "<string>"
25644 }
25645 }
25646 },
25647 "permissions" : {
25648 "check" : [
25649 "perm",
25650 "/storage",
25651 [
25652 "Datastore.Allocate"
25653 ]
25654 ]
25655 },
25656 "protected" : 1,
25657 "proxyto" : "node",
25658 "returns" : {
25659 "type" : "string"
25660 }
25661 }
25662 },
25663 "leaf" : 1,
25664 "path" : "/nodes/{node}/replication/{id}/schedule_now",
25665 "text" : "schedule_now"
25666 }
25667 ],
25668 "info" : {
25669 "GET" : {
25670 "description" : "Directory index.",
25671 "method" : "GET",
25672 "name" : "index",
25673 "parameters" : {
25674 "additionalProperties" : 0,
25675 "properties" : {
25676 "id" : {
25677 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25678 "format" : "pve-replication-job-id",
25679 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25680 "type" : "string"
25681 },
25682 "node" : {
25683 "description" : "The cluster node name.",
25684 "format" : "pve-node",
25685 "type" : "string",
25686 "typetext" : "<string>"
25687 }
25688 }
25689 },
25690 "permissions" : {
25691 "user" : "all"
25692 },
25693 "returns" : {
25694 "items" : {
25695 "properties" : {},
25696 "type" : "object"
25697 },
25698 "links" : [
25699 {
25700 "href" : "{name}",
25701 "rel" : "child"
25702 }
25703 ],
25704 "type" : "array"
25705 }
25706 }
25707 },
25708 "leaf" : 0,
25709 "path" : "/nodes/{node}/replication/{id}",
25710 "text" : "{id}"
25711 }
25712 ],
25713 "info" : {
25714 "GET" : {
25715 "description" : "List status of all replication jobs on this node.",
25716 "method" : "GET",
25717 "name" : "status",
25718 "parameters" : {
25719 "additionalProperties" : 0,
25720 "properties" : {
25721 "guest" : {
25722 "description" : "Only list replication jobs for this guest.",
25723 "format" : "pve-vmid",
25724 "minimum" : 1,
25725 "optional" : 1,
25726 "type" : "integer",
25727 "typetext" : "<integer> (1 - N)"
25728 },
25729 "node" : {
25730 "description" : "The cluster node name.",
25731 "format" : "pve-node",
25732 "type" : "string",
25733 "typetext" : "<string>"
25734 }
25735 }
25736 },
25737 "permissions" : {
25738 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25739 "user" : "all"
25740 },
25741 "protected" : 1,
25742 "proxyto" : "node",
25743 "returns" : {
25744 "items" : {
25745 "properties" : {
25746 "id" : {
25747 "type" : "string"
25748 }
25749 },
25750 "type" : "object"
25751 },
25752 "links" : [
25753 {
25754 "href" : "{id}",
25755 "rel" : "child"
25756 }
25757 ],
25758 "type" : "array"
25759 }
25760 }
25761 },
25762 "leaf" : 0,
25763 "path" : "/nodes/{node}/replication",
25764 "text" : "replication"
25765 },
a9a8e3d1
DM
25766 {
25767 "children" : [
25768 {
25769 "children" : [
25770 {
25771 "info" : {
25772 "DELETE" : {
25773 "description" : "Revoke existing certificate from CA.",
25774 "method" : "DELETE",
25775 "name" : "revoke_certificate",
25776 "parameters" : {
25777 "additionalProperties" : 0,
25778 "properties" : {
25779 "node" : {
25780 "description" : "The cluster node name.",
25781 "format" : "pve-node",
25782 "type" : "string",
25783 "typetext" : "<string>"
25784 }
25785 }
25786 },
25787 "protected" : 1,
25788 "proxyto" : "node",
25789 "returns" : {
25790 "type" : "string"
25791 }
25792 },
25793 "POST" : {
25794 "description" : "Order a new certificate from ACME-compatible CA.",
25795 "method" : "POST",
25796 "name" : "new_certificate",
25797 "parameters" : {
25798 "additionalProperties" : 0,
25799 "properties" : {
25800 "force" : {
25801 "default" : 0,
25802 "description" : "Overwrite existing custom certificate.",
25803 "optional" : 1,
25804 "type" : "boolean",
25805 "typetext" : "<boolean>"
25806 },
25807 "node" : {
25808 "description" : "The cluster node name.",
25809 "format" : "pve-node",
25810 "type" : "string",
25811 "typetext" : "<string>"
25812 }
25813 }
25814 },
25815 "protected" : 1,
25816 "proxyto" : "node",
25817 "returns" : {
25818 "type" : "string"
25819 }
25820 },
25821 "PUT" : {
25822 "description" : "Renew existing certificate from CA.",
25823 "method" : "PUT",
25824 "name" : "renew_certificate",
25825 "parameters" : {
25826 "additionalProperties" : 0,
25827 "properties" : {
25828 "force" : {
25829 "default" : 0,
25830 "description" : "Force renewal even if expiry is more than 30 days away.",
25831 "optional" : 1,
25832 "type" : "boolean",
25833 "typetext" : "<boolean>"
25834 },
25835 "node" : {
25836 "description" : "The cluster node name.",
25837 "format" : "pve-node",
25838 "type" : "string",
25839 "typetext" : "<string>"
25840 }
25841 }
25842 },
25843 "protected" : 1,
25844 "proxyto" : "node",
25845 "returns" : {
25846 "type" : "string"
25847 }
25848 }
25849 },
25850 "leaf" : 1,
25851 "path" : "/nodes/{node}/certificates/acme/certificate",
25852 "text" : "certificate"
25853 }
25854 ],
25855 "info" : {
25856 "GET" : {
25857 "description" : "ACME index.",
25858 "method" : "GET",
25859 "name" : "index",
25860 "parameters" : {
25861 "additionalProperties" : 0,
25862 "properties" : {
25863 "node" : {
25864 "description" : "The cluster node name.",
25865 "format" : "pve-node",
25866 "type" : "string",
25867 "typetext" : "<string>"
25868 }
25869 }
25870 },
25871 "permissions" : {
25872 "user" : "all"
25873 },
25874 "returns" : {
25875 "items" : {
25876 "properties" : {},
25877 "type" : "object"
25878 },
25879 "links" : [
25880 {
25881 "href" : "{name}",
25882 "rel" : "child"
25883 }
25884 ],
25885 "type" : "array"
25886 }
25887 }
25888 },
25889 "leaf" : 0,
25890 "path" : "/nodes/{node}/certificates/acme",
25891 "text" : "acme"
25892 },
25893 {
25894 "info" : {
25895 "GET" : {
25896 "description" : "Get information about node's certificates.",
25897 "method" : "GET",
25898 "name" : "info",
25899 "parameters" : {
25900 "additionalProperties" : 0,
25901 "properties" : {
25902 "node" : {
25903 "description" : "The cluster node name.",
25904 "format" : "pve-node",
25905 "type" : "string",
25906 "typetext" : "<string>"
25907 }
25908 }
25909 },
25910 "permissions" : {
25911 "user" : "all"
25912 },
25913 "proxyto" : "node",
25914 "returns" : {
25915 "items" : {
25916 "properties" : {
25917 "filename" : {
25918 "optional" : 1,
25919 "type" : "string"
25920 },
25921 "fingerprint" : {
25922 "description" : "Certificate SHA 256 fingerprint.",
25923 "optional" : 1,
25924 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
25925 "type" : "string"
25926 },
25927 "issuer" : {
25928 "description" : "Certificate issuer name.",
25929 "optional" : 1,
25930 "type" : "string"
25931 },
25932 "notafter" : {
25933 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
25934 "optional" : 1,
25935 "type" : "integer"
25936 },
25937 "notbefore" : {
25938 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
25939 "optional" : 1,
25940 "type" : "integer"
25941 },
25942 "pem" : {
25943 "description" : "Certificate in PEM format",
25944 "format" : "pem-certificate",
25945 "optional" : 1,
25946 "type" : "string"
25947 },
25948 "san" : {
25949 "description" : "List of Certificate's SubjectAlternativeName entries.",
25950 "items" : {
25951 "type" : "string"
25952 },
25953 "optional" : 1,
25954 "type" : "array"
25955 },
25956 "subject" : {
25957 "description" : "Certificate subject name.",
25958 "optional" : 1,
25959 "type" : "string"
25960 }
25961 },
25962 "type" : "object"
25963 },
25964 "type" : "array"
25965 }
25966 }
25967 },
25968 "leaf" : 1,
25969 "path" : "/nodes/{node}/certificates/info",
25970 "text" : "info"
25971 },
25972 {
25973 "info" : {
25974 "DELETE" : {
25975 "description" : "DELETE custom certificate chain and key.",
25976 "method" : "DELETE",
25977 "name" : "remove_custom_cert",
25978 "parameters" : {
25979 "additionalProperties" : 0,
25980 "properties" : {
25981 "node" : {
25982 "description" : "The cluster node name.",
25983 "format" : "pve-node",
25984 "type" : "string",
25985 "typetext" : "<string>"
25986 },
25987 "restart" : {
25988 "default" : 0,
25989 "description" : "Restart pveproxy.",
25990 "optional" : 1,
25991 "type" : "boolean",
25992 "typetext" : "<boolean>"
25993 }
25994 }
25995 },
25996 "protected" : 1,
25997 "proxyto" : "node",
25998 "returns" : {
25999 "type" : "null"
26000 }
26001 },
26002 "POST" : {
26003 "description" : "Upload or update custom certificate chain and key.",
26004 "method" : "POST",
26005 "name" : "upload_custom_cert",
26006 "parameters" : {
26007 "additionalProperties" : 0,
26008 "properties" : {
26009 "certificates" : {
26010 "description" : "PEM encoded certificate (chain).",
26011 "format" : "pem-certificate-chain",
26012 "type" : "string",
26013 "typetext" : "<string>"
26014 },
26015 "force" : {
26016 "default" : 0,
26017 "description" : "Overwrite existing custom or ACME certificate files.",
26018 "optional" : 1,
26019 "type" : "boolean",
26020 "typetext" : "<boolean>"
26021 },
26022 "key" : {
26023 "description" : "PEM encoded private key.",
26024 "format" : "pem-string",
26025 "optional" : 1,
26026 "type" : "string",
26027 "typetext" : "<string>"
26028 },
26029 "node" : {
26030 "description" : "The cluster node name.",
26031 "format" : "pve-node",
26032 "type" : "string",
26033 "typetext" : "<string>"
26034 },
26035 "restart" : {
26036 "default" : 0,
26037 "description" : "Restart pveproxy.",
26038 "optional" : 1,
26039 "type" : "boolean",
26040 "typetext" : "<boolean>"
26041 }
26042 }
26043 },
26044 "protected" : 1,
26045 "proxyto" : "node",
26046 "returns" : {
26047 "properties" : {
26048 "filename" : {
26049 "optional" : 1,
26050 "type" : "string"
26051 },
26052 "fingerprint" : {
26053 "description" : "Certificate SHA 256 fingerprint.",
26054 "optional" : 1,
26055 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
26056 "type" : "string"
26057 },
26058 "issuer" : {
26059 "description" : "Certificate issuer name.",
26060 "optional" : 1,
26061 "type" : "string"
26062 },
26063 "notafter" : {
26064 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
26065 "optional" : 1,
26066 "type" : "integer"
26067 },
26068 "notbefore" : {
26069 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
26070 "optional" : 1,
26071 "type" : "integer"
26072 },
26073 "pem" : {
26074 "description" : "Certificate in PEM format",
26075 "format" : "pem-certificate",
26076 "optional" : 1,
26077 "type" : "string"
26078 },
26079 "san" : {
26080 "description" : "List of Certificate's SubjectAlternativeName entries.",
26081 "items" : {
26082 "type" : "string"
26083 },
26084 "optional" : 1,
26085 "type" : "array"
26086 },
26087 "subject" : {
26088 "description" : "Certificate subject name.",
26089 "optional" : 1,
26090 "type" : "string"
26091 }
26092 },
26093 "type" : "object"
26094 }
26095 }
26096 },
26097 "leaf" : 1,
26098 "path" : "/nodes/{node}/certificates/custom",
26099 "text" : "custom"
26100 }
26101 ],
26102 "info" : {
26103 "GET" : {
26104 "description" : "Node index.",
26105 "method" : "GET",
26106 "name" : "index",
26107 "parameters" : {
26108 "additionalProperties" : 0,
26109 "properties" : {
26110 "node" : {
26111 "description" : "The cluster node name.",
26112 "format" : "pve-node",
26113 "type" : "string",
26114 "typetext" : "<string>"
26115 }
26116 }
26117 },
26118 "permissions" : {
26119 "user" : "all"
26120 },
26121 "returns" : {
26122 "items" : {
26123 "properties" : {},
26124 "type" : "object"
26125 },
26126 "links" : [
26127 {
26128 "href" : "{name}",
26129 "rel" : "child"
26130 }
26131 ],
26132 "type" : "array"
26133 }
26134 }
26135 },
26136 "leaf" : 0,
26137 "path" : "/nodes/{node}/certificates",
26138 "text" : "certificates"
26139 },
26140 {
26141 "info" : {
26142 "GET" : {
26143 "description" : "Get node configuration options.",
26144 "method" : "GET",
26145 "name" : "get_config",
26146 "parameters" : {
26147 "additionalProperties" : 0,
26148 "properties" : {
26149 "node" : {
26150 "description" : "The cluster node name.",
26151 "format" : "pve-node",
26152 "type" : "string",
26153 "typetext" : "<string>"
26154 }
26155 }
26156 },
26157 "permissions" : {
26158 "check" : [
26159 "perm",
26160 "/",
26161 [
26162 "Sys.Audit"
26163 ]
26164 ]
26165 },
26166 "proxyto" : "node",
26167 "returns" : {
26168 "properties" : {},
26169 "type" : "object"
26170 }
26171 },
26172 "PUT" : {
26173 "description" : "Set node configuration options.",
26174 "method" : "PUT",
26175 "name" : "set_options",
26176 "parameters" : {
26177 "additionalProperties" : 0,
26178 "properties" : {
26179 "acme" : {
26180 "description" : "Node specific ACME settings.",
26181 "format" : {
26182 "account" : {
26183 "default" : "default",
26184 "description" : "ACME account config file name.",
26185 "format" : "pve-configid",
26186 "format_description" : "name",
26187 "optional" : 1,
26188 "type" : "string"
26189 },
26190 "domains" : {
26191 "description" : "List of domains for this node's ACME certificate",
26192 "format" : "pve-acme-domain-list",
26193 "format_description" : "domain[;domain;...]",
26194 "type" : "string"
26195 }
26196 },
26197 "optional" : 1,
26198 "type" : "string",
26199 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
26200 },
26201 "delete" : {
26202 "description" : "A list of settings you want to delete.",
26203 "format" : "pve-configid-list",
26204 "optional" : 1,
26205 "type" : "string",
26206 "typetext" : "<string>"
26207 },
26208 "description" : {
26209 "description" : "Node description/comment.",
26210 "optional" : 1,
26211 "type" : "string",
26212 "typetext" : "<string>"
26213 },
26214 "digest" : {
26215 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26216 "maxLength" : 40,
26217 "optional" : 1,
26218 "type" : "string",
26219 "typetext" : "<string>"
26220 },
26221 "node" : {
26222 "description" : "The cluster node name.",
26223 "format" : "pve-node",
26224 "type" : "string",
26225 "typetext" : "<string>"
26226 }
26227 }
26228 },
26229 "permissions" : {
26230 "check" : [
26231 "perm",
26232 "/",
26233 [
26234 "Sys.Modify"
26235 ]
26236 ]
26237 },
26238 "protected" : 1,
26239 "proxyto" : "node",
26240 "returns" : {
26241 "type" : "null"
26242 }
26243 }
26244 },
26245 "leaf" : 1,
26246 "path" : "/nodes/{node}/config",
26247 "text" : "config"
26248 },
56122987 26249 {
56122987
DM
26250 "info" : {
26251 "GET" : {
44660702
DM
26252 "description" : "API version details",
26253 "method" : "GET",
26254 "name" : "version",
56122987 26255 "parameters" : {
44660702 26256 "additionalProperties" : 0,
56122987
DM
26257 "properties" : {
26258 "node" : {
56122987 26259 "description" : "The cluster node name.",
44660702 26260 "format" : "pve-node",
013dc89f
DM
26261 "type" : "string",
26262 "typetext" : "<string>"
56122987 26263 }
44660702 26264 }
56122987 26265 },
56122987 26266 "permissions" : {
7aacca6f 26267 "user" : "all"
56122987 26268 },
56122987 26269 "proxyto" : "node",
56122987 26270 "returns" : {
56122987 26271 "properties" : {
44660702 26272 "release" : {
56122987
DM
26273 "type" : "string"
26274 },
44660702 26275 "repoid" : {
7aacca6f
DM
26276 "type" : "string"
26277 },
26278 "version" : {
26279 "type" : "string"
26280 }
44660702
DM
26281 },
26282 "type" : "object"
7aacca6f 26283 }
56122987
DM
26284 }
26285 },
56122987 26286 "leaf" : 1,
44660702
DM
26287 "path" : "/nodes/{node}/version",
26288 "text" : "version"
56122987
DM
26289 },
26290 {
56122987
DM
26291 "info" : {
26292 "GET" : {
7aacca6f 26293 "description" : "Read node status",
44660702 26294 "method" : "GET",
7aacca6f 26295 "name" : "status",
56122987 26296 "parameters" : {
44660702 26297 "additionalProperties" : 0,
56122987
DM
26298 "properties" : {
26299 "node" : {
7aacca6f 26300 "description" : "The cluster node name.",
44660702 26301 "format" : "pve-node",
013dc89f
DM
26302 "type" : "string",
26303 "typetext" : "<string>"
56122987 26304 }
44660702 26305 }
56122987 26306 },
56122987
DM
26307 "permissions" : {
26308 "check" : [
26309 "perm",
26310 "/nodes/{node}",
26311 [
26312 "Sys.Audit"
26313 ]
26314 ]
44660702
DM
26315 },
26316 "proxyto" : "node",
26317 "returns" : {
26318 "properties" : {},
26319 "type" : "object"
7aacca6f
DM
26320 }
26321 },
26322 "POST" : {
44660702
DM
26323 "description" : "Reboot or shutdown a node.",
26324 "method" : "POST",
7aacca6f 26325 "name" : "node_cmd",
56122987 26326 "parameters" : {
44660702 26327 "additionalProperties" : 0,
56122987 26328 "properties" : {
7aacca6f
DM
26329 "command" : {
26330 "description" : "Specify the command.",
56122987 26331 "enum" : [
7aacca6f
DM
26332 "reboot",
26333 "shutdown"
56122987
DM
26334 ],
26335 "type" : "string"
44660702
DM
26336 },
26337 "node" : {
26338 "description" : "The cluster node name.",
26339 "format" : "pve-node",
013dc89f
DM
26340 "type" : "string",
26341 "typetext" : "<string>"
56122987 26342 }
44660702 26343 }
7aacca6f 26344 },
7aacca6f
DM
26345 "permissions" : {
26346 "check" : [
26347 "perm",
26348 "/nodes/{node}",
26349 [
26350 "Sys.PowerMgmt"
26351 ]
26352 ]
26353 },
44660702 26354 "protected" : 1,
7aacca6f 26355 "proxyto" : "node",
7aacca6f
DM
26356 "returns" : {
26357 "type" : "null"
56122987
DM
26358 }
26359 }
26360 },
7aacca6f 26361 "leaf" : 1,
44660702
DM
26362 "path" : "/nodes/{node}/status",
26363 "text" : "status"
56122987
DM
26364 },
26365 {
56122987
DM
26366 "info" : {
26367 "GET" : {
44660702
DM
26368 "description" : "Read tap/vm network device interface counters",
26369 "method" : "GET",
26370 "name" : "netstat",
26371 "parameters" : {
26372 "additionalProperties" : 0,
26373 "properties" : {
26374 "node" : {
26375 "description" : "The cluster node name.",
26376 "format" : "pve-node",
013dc89f
DM
26377 "type" : "string",
26378 "typetext" : "<string>"
44660702 26379 }
56122987
DM
26380 }
26381 },
26382 "permissions" : {
26383 "check" : [
26384 "perm",
26385 "/nodes/{node}",
26386 [
7aacca6f 26387 "Sys.Audit"
56122987
DM
26388 ]
26389 ]
26390 },
7aacca6f 26391 "proxyto" : "node",
44660702
DM
26392 "returns" : {
26393 "items" : {
26394 "properties" : {},
26395 "type" : "object"
26396 },
26397 "type" : "array"
26398 }
7aacca6f
DM
26399 }
26400 },
44660702
DM
26401 "leaf" : 1,
26402 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
26403 "text" : "netstat"
26404 },
26405 {
26406 "info" : {
26407 "POST" : {
7aacca6f 26408 "description" : "Execute multiple commands in order.",
7aacca6f 26409 "method" : "POST",
7aacca6f 26410 "name" : "execute",
56122987
DM
26411 "parameters" : {
26412 "additionalProperties" : 0,
26413 "properties" : {
7aacca6f
DM
26414 "commands" : {
26415 "description" : "JSON encoded array of commands.",
013dc89f
DM
26416 "type" : "string",
26417 "typetext" : "<string>"
56122987
DM
26418 },
26419 "node" : {
44660702 26420 "description" : "The cluster node name.",
56122987 26421 "format" : "pve-node",
013dc89f
DM
26422 "type" : "string",
26423 "typetext" : "<string>"
56122987
DM
26424 }
26425 }
44660702
DM
26426 },
26427 "permissions" : {
26428 "check" : [
26429 "perm",
26430 "/nodes/{node}",
26431 [
26432 "Sys.Audit"
26433 ]
26434 ]
26435 },
26436 "protected" : 1,
26437 "proxyto" : "node",
26438 "returns" : {
26439 "properties" : {},
26440 "type" : "array"
56122987
DM
26441 }
26442 }
26443 },
56122987 26444 "leaf" : 1,
44660702
DM
26445 "path" : "/nodes/{node}/execute",
26446 "text" : "execute"
56122987
DM
26447 },
26448 {
26449 "info" : {
7aacca6f 26450 "GET" : {
44660702
DM
26451 "description" : "Read node RRD statistics (returns PNG)",
26452 "method" : "GET",
7aacca6f 26453 "name" : "rrd",
56122987 26454 "parameters" : {
7aacca6f 26455 "additionalProperties" : 0,
56122987 26456 "properties" : {
44660702
DM
26457 "cf" : {
26458 "description" : "The RRD consolidation function",
26459 "enum" : [
26460 "AVERAGE",
26461 "MAX"
26462 ],
26463 "optional" : 1,
26464 "type" : "string"
26465 },
7aacca6f 26466 "ds" : {
7aacca6f 26467 "description" : "The list of datasources you want to display.",
44660702 26468 "format" : "pve-configid-list",
013dc89f
DM
26469 "type" : "string",
26470 "typetext" : "<string>"
44660702
DM
26471 },
26472 "node" : {
26473 "description" : "The cluster node name.",
26474 "format" : "pve-node",
013dc89f
DM
26475 "type" : "string",
26476 "typetext" : "<string>"
7aacca6f
DM
26477 },
26478 "timeframe" : {
26479 "description" : "Specify the time frame you are interested in.",
26480 "enum" : [
26481 "hour",
26482 "day",
26483 "week",
26484 "month",
26485 "year"
26486 ],
26487 "type" : "string"
56122987 26488 }
7aacca6f 26489 }
56122987 26490 },
56122987 26491 "permissions" : {
56122987
DM
26492 "check" : [
26493 "perm",
26494 "/nodes/{node}",
26495 [
7aacca6f 26496 "Sys.Audit"
56122987
DM
26497 ]
26498 ]
26499 },
7aacca6f 26500 "protected" : 1,
56122987 26501 "returns" : {
56122987 26502 "properties" : {
7aacca6f 26503 "filename" : {
56122987
DM
26504 "type" : "string"
26505 }
44660702
DM
26506 },
26507 "type" : "object"
26508 }
56122987
DM
26509 }
26510 },
44660702 26511 "leaf" : 1,
7aacca6f 26512 "path" : "/nodes/{node}/rrd",
44660702 26513 "text" : "rrd"
56122987
DM
26514 },
26515 {
26516 "info" : {
7aacca6f 26517 "GET" : {
44660702
DM
26518 "description" : "Read node RRD statistics",
26519 "method" : "GET",
7aacca6f 26520 "name" : "rrddata",
56122987 26521 "parameters" : {
44660702 26522 "additionalProperties" : 0,
56122987 26523 "properties" : {
7aacca6f 26524 "cf" : {
7aacca6f
DM
26525 "description" : "The RRD consolidation function",
26526 "enum" : [
26527 "AVERAGE",
26528 "MAX"
44660702
DM
26529 ],
26530 "optional" : 1,
26531 "type" : "string"
56122987
DM
26532 },
26533 "node" : {
44660702 26534 "description" : "The cluster node name.",
56122987 26535 "format" : "pve-node",
013dc89f
DM
26536 "type" : "string",
26537 "typetext" : "<string>"
56122987 26538 },
7aacca6f 26539 "timeframe" : {
7aacca6f
DM
26540 "description" : "Specify the time frame you are interested in.",
26541 "enum" : [
26542 "hour",
26543 "day",
26544 "week",
26545 "month",
26546 "year"
44660702
DM
26547 ],
26548 "type" : "string"
56122987 26549 }
56122987
DM
26550 }
26551 },
56122987
DM
26552 "permissions" : {
26553 "check" : [
26554 "perm",
26555 "/nodes/{node}",
26556 [
44660702 26557 "Sys.Audit"
56122987
DM
26558 ]
26559 ]
7aacca6f 26560 },
44660702 26561 "protected" : 1,
56122987 26562 "returns" : {
7aacca6f 26563 "items" : {
44660702 26564 "properties" : {},
7aacca6f
DM
26565 "type" : "object"
26566 },
26567 "type" : "array"
44660702
DM
26568 }
26569 }
26570 },
26571 "leaf" : 1,
26572 "path" : "/nodes/{node}/rrddata",
26573 "text" : "rrddata"
26574 },
26575 {
26576 "info" : {
26577 "GET" : {
26578 "description" : "Read system log",
26579 "method" : "GET",
26580 "name" : "syslog",
56122987 26581 "parameters" : {
44660702 26582 "additionalProperties" : 0,
56122987 26583 "properties" : {
44660702
DM
26584 "limit" : {
26585 "minimum" : 0,
7aacca6f 26586 "optional" : 1,
4bd7df8b 26587 "type" : "integer",
013dc89f 26588 "typetext" : "<integer> (0 - N)"
7aacca6f 26589 },
56122987 26590 "node" : {
7aacca6f 26591 "description" : "The cluster node name.",
44660702 26592 "format" : "pve-node",
013dc89f
DM
26593 "type" : "string",
26594 "typetext" : "<string>"
56122987 26595 },
35a75dd3
DM
26596 "service" : {
26597 "description" : "Service ID",
26598 "maxLength" : 128,
26599 "optional" : 1,
26600 "type" : "string",
26601 "typetext" : "<string>"
26602 },
44660702
DM
26603 "since" : {
26604 "description" : "Display all log since this date-time string.",
26605 "optional" : 1,
26606 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
26607 "type" : "string"
26608 },
26609 "start" : {
7aacca6f
DM
26610 "minimum" : 0,
26611 "optional" : 1,
4bd7df8b 26612 "type" : "integer",
013dc89f 26613 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26614 },
26615 "until" : {
26616 "description" : "Display all log until this date-time string.",
7aacca6f 26617 "optional" : 1,
44660702 26618 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
26619 "type" : "string"
26620 }
44660702 26621 }
56122987 26622 },
44660702
DM
26623 "permissions" : {
26624 "check" : [
26625 "perm",
26626 "/nodes/{node}",
26627 [
26628 "Sys.Syslog"
26629 ]
26630 ]
26631 },
26632 "protected" : 1,
26633 "proxyto" : "node",
26634 "returns" : {
26635 "items" : {
26636 "properties" : {
26637 "n" : {
26638 "description" : "Line number",
26639 "type" : "integer"
26640 },
26641 "t" : {
26642 "description" : "Line text",
26643 "type" : "string"
26644 }
26645 },
26646 "type" : "object"
26647 },
26648 "type" : "array"
26649 }
56122987
DM
26650 }
26651 },
44660702
DM
26652 "leaf" : 1,
26653 "path" : "/nodes/{node}/syslog",
7aacca6f 26654 "text" : "syslog"
56122987
DM
26655 },
26656 {
56122987
DM
26657 "info" : {
26658 "POST" : {
44660702
DM
26659 "description" : "Creates a VNC Shell proxy.",
26660 "method" : "POST",
26661 "name" : "vncshell",
26662 "parameters" : {
26663 "additionalProperties" : 0,
56122987 26664 "properties" : {
5d9c884c
DM
26665 "height" : {
26666 "description" : "sets the height of the console in pixels.",
26667 "maximum" : 2160,
26668 "minimum" : 16,
26669 "optional" : 1,
26670 "type" : "integer",
26671 "typetext" : "<integer> (16 - 2160)"
26672 },
44660702
DM
26673 "node" : {
26674 "description" : "The cluster node name.",
26675 "format" : "pve-node",
013dc89f
DM
26676 "type" : "string",
26677 "typetext" : "<string>"
7aacca6f 26678 },
44660702
DM
26679 "upgrade" : {
26680 "default" : 0,
26681 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26682 "optional" : 1,
013dc89f
DM
26683 "type" : "boolean",
26684 "typetext" : "<boolean>"
7aacca6f 26685 },
44660702
DM
26686 "websocket" : {
26687 "description" : "use websocket instead of standard vnc.",
26688 "optional" : 1,
013dc89f
DM
26689 "type" : "boolean",
26690 "typetext" : "<boolean>"
5d9c884c
DM
26691 },
26692 "width" : {
26693 "description" : "sets the width of the console in pixels.",
26694 "maximum" : 4096,
26695 "minimum" : 16,
26696 "optional" : 1,
26697 "type" : "integer",
26698 "typetext" : "<integer> (16 - 4096)"
56122987 26699 }
44660702 26700 }
56122987 26701 },
56122987
DM
26702 "permissions" : {
26703 "check" : [
26704 "perm",
7aacca6f 26705 "/nodes/{node}",
56122987 26706 [
7aacca6f 26707 "Sys.Console"
56122987 26708 ]
44660702
DM
26709 ],
26710 "description" : "Restricted to users on realm 'pam'"
56122987 26711 },
44660702
DM
26712 "protected" : 1,
26713 "returns" : {
26714 "additionalProperties" : 0,
56122987 26715 "properties" : {
44660702
DM
26716 "cert" : {
26717 "type" : "string"
7aacca6f 26718 },
44660702
DM
26719 "port" : {
26720 "type" : "integer"
7aacca6f 26721 },
44660702
DM
26722 "ticket" : {
26723 "type" : "string"
26724 },
26725 "upid" : {
26726 "type" : "string"
26727 },
26728 "user" : {
26729 "type" : "string"
56122987 26730 }
44660702
DM
26731 }
26732 }
56122987
DM
26733 }
26734 },
7aacca6f 26735 "leaf" : 1,
44660702
DM
26736 "path" : "/nodes/{node}/vncshell",
26737 "text" : "vncshell"
56122987 26738 },
35a75dd3
DM
26739 {
26740 "info" : {
26741 "POST" : {
26742 "description" : "Creates a VNC Shell proxy.",
26743 "method" : "POST",
26744 "name" : "termproxy",
26745 "parameters" : {
26746 "additionalProperties" : 0,
26747 "properties" : {
26748 "node" : {
26749 "description" : "The cluster node name.",
26750 "format" : "pve-node",
26751 "type" : "string",
26752 "typetext" : "<string>"
26753 },
26754 "upgrade" : {
26755 "default" : 0,
26756 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26757 "optional" : 1,
26758 "type" : "boolean",
26759 "typetext" : "<boolean>"
26760 }
26761 }
26762 },
26763 "permissions" : {
26764 "check" : [
26765 "perm",
26766 "/nodes/{node}",
26767 [
26768 "Sys.Console"
26769 ]
26770 ],
26771 "description" : "Restricted to users on realm 'pam'"
26772 },
26773 "protected" : 1,
26774 "returns" : {
26775 "additionalProperties" : 0,
26776 "properties" : {
26777 "port" : {
26778 "type" : "integer"
26779 },
26780 "ticket" : {
26781 "type" : "string"
26782 },
26783 "upid" : {
26784 "type" : "string"
26785 },
26786 "user" : {
26787 "type" : "string"
26788 }
26789 }
26790 }
26791 }
26792 },
26793 "leaf" : 1,
26794 "path" : "/nodes/{node}/termproxy",
26795 "text" : "termproxy"
26796 },
56122987
DM
26797 {
26798 "info" : {
26799 "GET" : {
7aacca6f 26800 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
26801 "method" : "GET",
26802 "name" : "vncwebsocket",
56122987 26803 "parameters" : {
44660702 26804 "additionalProperties" : 0,
56122987
DM
26805 "properties" : {
26806 "node" : {
26807 "description" : "The cluster node name.",
44660702 26808 "format" : "pve-node",
013dc89f
DM
26809 "type" : "string",
26810 "typetext" : "<string>"
7aacca6f
DM
26811 },
26812 "port" : {
7aacca6f
DM
26813 "description" : "Port number returned by previous vncproxy call.",
26814 "maximum" : 5999,
44660702 26815 "minimum" : 5900,
4bd7df8b 26816 "type" : "integer",
013dc89f 26817 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
26818 },
26819 "vncticket" : {
26820 "description" : "Ticket from previous call to vncproxy.",
26821 "maxLength" : 512,
013dc89f
DM
26822 "type" : "string",
26823 "typetext" : "<string>"
56122987 26824 }
44660702 26825 }
56122987 26826 },
56122987
DM
26827 "permissions" : {
26828 "check" : [
26829 "perm",
26830 "/nodes/{node}",
26831 [
7aacca6f 26832 "Sys.Console"
56122987 26833 ]
44660702
DM
26834 ],
26835 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
26836 },
26837 "returns" : {
26838 "properties" : {
26839 "port" : {
26840 "type" : "string"
26841 }
26842 },
26843 "type" : "object"
7aacca6f 26844 }
56122987
DM
26845 }
26846 },
44660702 26847 "leaf" : 1,
7aacca6f 26848 "path" : "/nodes/{node}/vncwebsocket",
44660702 26849 "text" : "vncwebsocket"
56122987
DM
26850 },
26851 {
26852 "info" : {
26853 "POST" : {
44660702 26854 "description" : "Creates a SPICE shell.",
7aacca6f 26855 "method" : "POST",
44660702 26856 "name" : "spiceshell",
56122987 26857 "parameters" : {
7aacca6f 26858 "additionalProperties" : 0,
56122987 26859 "properties" : {
7aacca6f 26860 "node" : {
44660702 26861 "description" : "The cluster node name.",
56122987 26862 "format" : "pve-node",
013dc89f
DM
26863 "type" : "string",
26864 "typetext" : "<string>"
7aacca6f 26865 },
44660702
DM
26866 "proxy" : {
26867 "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 resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
26868 "format" : "address",
26869 "optional" : 1,
013dc89f
DM
26870 "type" : "string",
26871 "typetext" : "<string>"
7aacca6f 26872 },
44660702
DM
26873 "upgrade" : {
26874 "default" : 0,
26875 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26876 "optional" : 1,
013dc89f
DM
26877 "type" : "boolean",
26878 "typetext" : "<boolean>"
56122987 26879 }
7aacca6f 26880 }
56122987 26881 },
56122987
DM
26882 "permissions" : {
26883 "check" : [
26884 "perm",
7aacca6f 26885 "/nodes/{node}",
56122987 26886 [
7aacca6f 26887 "Sys.Console"
56122987 26888 ]
7aacca6f
DM
26889 ],
26890 "description" : "Restricted to users on realm 'pam'"
44660702
DM
26891 },
26892 "protected" : 1,
26893 "proxyto" : "node",
26894 "returns" : {
26895 "additionalProperties" : 1,
26896 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
26897 "properties" : {
26898 "host" : {
26899 "type" : "string"
26900 },
26901 "password" : {
26902 "type" : "string"
26903 },
26904 "proxy" : {
26905 "type" : "string"
26906 },
26907 "tls-port" : {
26908 "type" : "integer"
26909 },
26910 "type" : {
26911 "type" : "string"
26912 }
26913 }
7aacca6f 26914 }
56122987
DM
26915 }
26916 },
56122987 26917 "leaf" : 1,
44660702
DM
26918 "path" : "/nodes/{node}/spiceshell",
26919 "text" : "spiceshell"
56122987
DM
26920 },
26921 {
56122987 26922 "info" : {
7aacca6f 26923 "GET" : {
44660702 26924 "description" : "Read DNS settings.",
7aacca6f 26925 "method" : "GET",
44660702
DM
26926 "name" : "dns",
26927 "parameters" : {
7aacca6f
DM
26928 "additionalProperties" : 0,
26929 "properties" : {
44660702
DM
26930 "node" : {
26931 "description" : "The cluster node name.",
26932 "format" : "pve-node",
013dc89f
DM
26933 "type" : "string",
26934 "typetext" : "<string>"
7aacca6f
DM
26935 }
26936 }
26937 },
7aacca6f
DM
26938 "permissions" : {
26939 "check" : [
26940 "perm",
26941 "/nodes/{node}",
26942 [
26943 "Sys.Audit"
26944 ]
26945 ]
26946 },
44660702
DM
26947 "proxyto" : "node",
26948 "returns" : {
56122987
DM
26949 "additionalProperties" : 0,
26950 "properties" : {
44660702
DM
26951 "dns1" : {
26952 "description" : "First name server IP address.",
26953 "optional" : 1,
26954 "type" : "string"
26955 },
26956 "dns2" : {
26957 "description" : "Second name server IP address.",
26958 "optional" : 1,
26959 "type" : "string"
26960 },
26961 "dns3" : {
26962 "description" : "Third name server IP address.",
26963 "optional" : 1,
26964 "type" : "string"
26965 },
26966 "search" : {
26967 "description" : "Search domain for host-name lookup.",
26968 "optional" : 1,
26969 "type" : "string"
7aacca6f 26970 }
44660702
DM
26971 },
26972 "type" : "object"
26973 }
7aacca6f
DM
26974 },
26975 "PUT" : {
44660702
DM
26976 "description" : "Write DNS settings.",
26977 "method" : "PUT",
7aacca6f
DM
26978 "name" : "update_dns",
26979 "parameters" : {
26980 "additionalProperties" : 0,
26981 "properties" : {
44660702
DM
26982 "dns1" : {
26983 "description" : "First name server IP address.",
26984 "format" : "ip",
26985 "optional" : 1,
013dc89f
DM
26986 "type" : "string",
26987 "typetext" : "<string>"
7aacca6f 26988 },
44660702
DM
26989 "dns2" : {
26990 "description" : "Second name server IP address.",
26991 "format" : "ip",
7aacca6f 26992 "optional" : 1,
013dc89f
DM
26993 "type" : "string",
26994 "typetext" : "<string>"
7aacca6f 26995 },
44660702
DM
26996 "dns3" : {
26997 "description" : "Third name server IP address.",
26998 "format" : "ip",
7aacca6f 26999 "optional" : 1,
013dc89f
DM
27000 "type" : "string",
27001 "typetext" : "<string>"
7aacca6f
DM
27002 },
27003 "node" : {
44660702 27004 "description" : "The cluster node name.",
56122987 27005 "format" : "pve-node",
013dc89f
DM
27006 "type" : "string",
27007 "typetext" : "<string>"
7aacca6f 27008 },
44660702
DM
27009 "search" : {
27010 "description" : "Search domain for host-name lookup.",
013dc89f
DM
27011 "type" : "string",
27012 "typetext" : "<string>"
56122987
DM
27013 }
27014 }
27015 },
27016 "permissions" : {
27017 "check" : [
27018 "perm",
7aacca6f 27019 "/nodes/{node}",
56122987 27020 [
7aacca6f 27021 "Sys.Modify"
56122987
DM
27022 ]
27023 ]
27024 },
44660702 27025 "protected" : 1,
7aacca6f 27026 "proxyto" : "node",
56122987 27027 "returns" : {
7aacca6f
DM
27028 "type" : "null"
27029 }
56122987 27030 }
44660702
DM
27031 },
27032 "leaf" : 1,
27033 "path" : "/nodes/{node}/dns",
27034 "text" : "dns"
56122987
DM
27035 },
27036 {
27037 "info" : {
7aacca6f 27038 "GET" : {
7aacca6f 27039 "description" : "Read server time and time zone settings.",
44660702
DM
27040 "method" : "GET",
27041 "name" : "time",
56122987 27042 "parameters" : {
44660702 27043 "additionalProperties" : 0,
56122987
DM
27044 "properties" : {
27045 "node" : {
44660702 27046 "description" : "The cluster node name.",
56122987 27047 "format" : "pve-node",
013dc89f
DM
27048 "type" : "string",
27049 "typetext" : "<string>"
56122987 27050 }
44660702 27051 }
56122987
DM
27052 },
27053 "permissions" : {
27054 "check" : [
27055 "perm",
7aacca6f 27056 "/nodes/{node}",
56122987 27057 [
7aacca6f 27058 "Sys.Audit"
56122987
DM
27059 ]
27060 ]
44660702
DM
27061 },
27062 "proxyto" : "node",
27063 "returns" : {
27064 "additionalProperties" : 0,
27065 "properties" : {
27066 "localtime" : {
27067 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
27068 "minimum" : 1297163644,
27069 "type" : "integer"
27070 },
27071 "time" : {
27072 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
27073 "minimum" : 1297163644,
27074 "type" : "integer"
27075 },
27076 "timezone" : {
27077 "description" : "Time zone",
27078 "type" : "string"
27079 }
27080 },
27081 "type" : "object"
7aacca6f
DM
27082 }
27083 },
27084 "PUT" : {
7aacca6f 27085 "description" : "Set time zone.",
44660702
DM
27086 "method" : "PUT",
27087 "name" : "set_timezone",
27088 "parameters" : {
27089 "additionalProperties" : 0,
27090 "properties" : {
27091 "node" : {
27092 "description" : "The cluster node name.",
27093 "format" : "pve-node",
013dc89f
DM
27094 "type" : "string",
27095 "typetext" : "<string>"
44660702
DM
27096 },
27097 "timezone" : {
27098 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
27099 "type" : "string",
27100 "typetext" : "<string>"
44660702
DM
27101 }
27102 }
27103 },
7aacca6f
DM
27104 "permissions" : {
27105 "check" : [
27106 "perm",
27107 "/nodes/{node}",
27108 [
27109 "Sys.Modify"
27110 ]
27111 ]
56122987 27112 },
7aacca6f 27113 "protected" : 1,
44660702
DM
27114 "proxyto" : "node",
27115 "returns" : {
27116 "type" : "null"
27117 }
7aacca6f
DM
27118 }
27119 },
7aacca6f 27120 "leaf" : 1,
44660702
DM
27121 "path" : "/nodes/{node}/time",
27122 "text" : "time"
7aacca6f
DM
27123 },
27124 {
27125 "info" : {
44660702
DM
27126 "GET" : {
27127 "description" : "Get list of appliances.",
27128 "method" : "GET",
27129 "name" : "aplinfo",
7aacca6f
DM
27130 "parameters" : {
27131 "additionalProperties" : 0,
27132 "properties" : {
7aacca6f 27133 "node" : {
44660702 27134 "description" : "The cluster node name.",
7aacca6f 27135 "format" : "pve-node",
013dc89f
DM
27136 "type" : "string",
27137 "typetext" : "<string>"
7aacca6f
DM
27138 }
27139 }
56122987 27140 },
7aacca6f 27141 "permissions" : {
44660702 27142 "user" : "all"
56122987 27143 },
44660702 27144 "proxyto" : "node",
7aacca6f
DM
27145 "returns" : {
27146 "items" : {
44660702
DM
27147 "properties" : {},
27148 "type" : "object"
7aacca6f
DM
27149 },
27150 "type" : "array"
44660702
DM
27151 }
27152 },
27153 "POST" : {
27154 "description" : "Download appliance templates.",
27155 "method" : "POST",
27156 "name" : "apl_download",
7aacca6f
DM
27157 "parameters" : {
27158 "additionalProperties" : 0,
27159 "properties" : {
27160 "node" : {
7aacca6f 27161 "description" : "The cluster node name.",
44660702 27162 "format" : "pve-node",
013dc89f
DM
27163 "type" : "string",
27164 "typetext" : "<string>"
44660702
DM
27165 },
27166 "storage" : {
4bd7df8b 27167 "description" : "The storage where the template will be stored",
44660702 27168 "format" : "pve-storage-id",
013dc89f
DM
27169 "type" : "string",
27170 "typetext" : "<string>"
44660702
DM
27171 },
27172 "template" : {
27173 "description" : "The template wich will downloaded",
27174 "maxLength" : 255,
013dc89f
DM
27175 "type" : "string",
27176 "typetext" : "<string>"
7aacca6f
DM
27177 }
27178 }
56122987 27179 },
7aacca6f 27180 "permissions" : {
44660702
DM
27181 "check" : [
27182 "perm",
27183 "/storage/{storage}",
27184 [
27185 "Datastore.AllocateTemplate"
27186 ]
27187 ]
27188 },
27189 "protected" : 1,
27190 "proxyto" : "node",
27191 "returns" : {
27192 "type" : "string"
7aacca6f
DM
27193 }
27194 }
27195 },
7aacca6f 27196 "leaf" : 1,
44660702
DM
27197 "path" : "/nodes/{node}/aplinfo",
27198 "text" : "aplinfo"
7aacca6f
DM
27199 },
27200 {
27201 "info" : {
27202 "GET" : {
44660702
DM
27203 "description" : "Gather various systems information about a node",
27204 "method" : "GET",
27205 "name" : "report",
7aacca6f 27206 "parameters" : {
44660702 27207 "additionalProperties" : 0,
7aacca6f
DM
27208 "properties" : {
27209 "node" : {
7aacca6f 27210 "description" : "The cluster node name.",
44660702 27211 "format" : "pve-node",
013dc89f
DM
27212 "type" : "string",
27213 "typetext" : "<string>"
7aacca6f 27214 }
44660702 27215 }
56122987 27216 },
7aacca6f
DM
27217 "permissions" : {
27218 "check" : [
27219 "perm",
27220 "/nodes/{node}",
27221 [
27222 "Sys.Audit"
27223 ]
27224 ]
56122987 27225 },
44660702 27226 "protected" : 1,
7aacca6f
DM
27227 "proxyto" : "node",
27228 "returns" : {
56122987 27229 "type" : "string"
7aacca6f
DM
27230 }
27231 }
27232 },
7aacca6f 27233 "leaf" : 1,
44660702
DM
27234 "path" : "/nodes/{node}/report",
27235 "text" : "report"
7aacca6f
DM
27236 },
27237 {
7aacca6f
DM
27238 "info" : {
27239 "POST" : {
44660702 27240 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 27241 "method" : "POST",
44660702 27242 "name" : "startall",
7aacca6f 27243 "parameters" : {
44660702 27244 "additionalProperties" : 0,
7aacca6f
DM
27245 "properties" : {
27246 "force" : {
44660702 27247 "description" : "force if onboot=0.",
7aacca6f 27248 "optional" : 1,
013dc89f
DM
27249 "type" : "boolean",
27250 "typetext" : "<boolean>"
7aacca6f
DM
27251 },
27252 "node" : {
7aacca6f 27253 "description" : "The cluster node name.",
44660702 27254 "format" : "pve-node",
013dc89f
DM
27255 "type" : "string",
27256 "typetext" : "<string>"
52e44c50
FG
27257 },
27258 "vms" : {
27259 "description" : "Only consider Guests with these IDs.",
27260 "format" : "pve-vmid-list",
27261 "optional" : 1,
27262 "type" : "string",
27263 "typetext" : "<string>"
7aacca6f 27264 }
44660702 27265 }
56122987 27266 },
7aacca6f
DM
27267 "permissions" : {
27268 "check" : [
27269 "perm",
27270 "/",
27271 [
27272 "VM.PowerMgmt"
27273 ]
27274 ]
44660702
DM
27275 },
27276 "protected" : 1,
27277 "proxyto" : "node",
27278 "returns" : {
27279 "type" : "string"
7aacca6f
DM
27280 }
27281 }
27282 },
44660702 27283 "leaf" : 1,
7aacca6f 27284 "path" : "/nodes/{node}/startall",
44660702 27285 "text" : "startall"
7aacca6f
DM
27286 },
27287 {
7aacca6f
DM
27288 "info" : {
27289 "POST" : {
27290 "description" : "Stop all VMs and Containers.",
44660702
DM
27291 "method" : "POST",
27292 "name" : "stopall",
7aacca6f 27293 "parameters" : {
44660702 27294 "additionalProperties" : 0,
7aacca6f
DM
27295 "properties" : {
27296 "node" : {
44660702 27297 "description" : "The cluster node name.",
7aacca6f 27298 "format" : "pve-node",
013dc89f
DM
27299 "type" : "string",
27300 "typetext" : "<string>"
52e44c50
FG
27301 },
27302 "vms" : {
27303 "description" : "Only consider Guests with these IDs.",
27304 "format" : "pve-vmid-list",
27305 "optional" : 1,
27306 "type" : "string",
27307 "typetext" : "<string>"
7aacca6f 27308 }
44660702 27309 }
56122987 27310 },
7aacca6f
DM
27311 "permissions" : {
27312 "check" : [
27313 "perm",
27314 "/",
27315 [
44660702 27316 "VM.PowerMgmt"
7aacca6f
DM
27317 ]
27318 ]
56122987 27319 },
44660702 27320 "protected" : 1,
7aacca6f 27321 "proxyto" : "node",
44660702
DM
27322 "returns" : {
27323 "type" : "string"
27324 }
27325 }
56122987 27326 },
44660702
DM
27327 "leaf" : 1,
27328 "path" : "/nodes/{node}/stopall",
27329 "text" : "stopall"
27330 },
27331 {
27332 "info" : {
27333 "POST" : {
27334 "description" : "Migrate all VMs and Containers.",
27335 "method" : "POST",
27336 "name" : "migrateall",
27337 "parameters" : {
27338 "additionalProperties" : 0,
27339 "properties" : {
27340 "maxworkers" : {
27341 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
27342 "minimum" : 1,
27343 "optional" : 1,
4bd7df8b 27344 "type" : "integer",
013dc89f 27345 "typetext" : "<integer> (1 - N)"
44660702
DM
27346 },
27347 "node" : {
27348 "description" : "The cluster node name.",
27349 "format" : "pve-node",
013dc89f
DM
27350 "type" : "string",
27351 "typetext" : "<string>"
44660702
DM
27352 },
27353 "target" : {
27354 "description" : "Target node.",
27355 "format" : "pve-node",
013dc89f
DM
27356 "type" : "string",
27357 "typetext" : "<string>"
52e44c50
FG
27358 },
27359 "vms" : {
27360 "description" : "Only consider Guests with these IDs.",
27361 "format" : "pve-vmid-list",
27362 "optional" : 1,
27363 "type" : "string",
27364 "typetext" : "<string>"
44660702
DM
27365 }
27366 }
27367 },
27368 "permissions" : {
27369 "check" : [
27370 "perm",
27371 "/",
27372 [
27373 "VM.Migrate"
27374 ]
27375 ]
27376 },
27377 "protected" : 1,
27378 "proxyto" : "node",
27379 "returns" : {
27380 "type" : "string"
27381 }
27382 }
56122987 27383 },
44660702
DM
27384 "leaf" : 1,
27385 "path" : "/nodes/{node}/migrateall",
27386 "text" : "migrateall"
27387 }
27388 ],
27389 "info" : {
27390 "GET" : {
27391 "description" : "Node index.",
27392 "method" : "GET",
27393 "name" : "index",
27394 "parameters" : {
27395 "additionalProperties" : 0,
27396 "properties" : {
27397 "node" : {
27398 "description" : "The cluster node name.",
27399 "format" : "pve-node",
013dc89f
DM
27400 "type" : "string",
27401 "typetext" : "<string>"
44660702
DM
27402 }
27403 }
56122987 27404 },
44660702
DM
27405 "permissions" : {
27406 "user" : "all"
56122987 27407 },
44660702
DM
27408 "returns" : {
27409 "items" : {
27410 "properties" : {},
27411 "type" : "object"
27412 },
27413 "links" : [
27414 {
27415 "href" : "{name}",
27416 "rel" : "child"
27417 }
56122987 27418 ],
44660702 27419 "type" : "array"
7aacca6f
DM
27420 }
27421 }
27422 },
44660702
DM
27423 "leaf" : 0,
27424 "path" : "/nodes/{node}",
27425 "text" : "{node}"
27426 }
27427 ],
27428 "info" : {
7aacca6f 27429 "GET" : {
44660702 27430 "description" : "Cluster node index.",
7aacca6f 27431 "method" : "GET",
44660702 27432 "name" : "index",
7aacca6f 27433 "parameters" : {
7aacca6f
DM
27434 "additionalProperties" : 0
27435 },
27436 "permissions" : {
7aacca6f
DM
27437 "user" : "all"
27438 },
44660702
DM
27439 "returns" : {
27440 "items" : {
27441 "properties" : {},
27442 "type" : "object"
27443 },
27444 "links" : [
27445 {
27446 "href" : "{node}",
27447 "rel" : "child"
27448 }
27449 ],
27450 "type" : "array"
27451 }
7aacca6f
DM
27452 }
27453 },
44660702
DM
27454 "leaf" : 0,
27455 "path" : "/nodes",
27456 "text" : "nodes"
27457 },
27458 {
7aacca6f
DM
27459 "children" : [
27460 {
7aacca6f 27461 "info" : {
44660702
DM
27462 "DELETE" : {
27463 "description" : "Delete storage configuration.",
27464 "method" : "DELETE",
27465 "name" : "delete",
7aacca6f
DM
27466 "parameters" : {
27467 "additionalProperties" : 0,
27468 "properties" : {
27469 "storage" : {
7aacca6f 27470 "description" : "The storage identifier.",
44660702 27471 "format" : "pve-storage-id",
013dc89f
DM
27472 "type" : "string",
27473 "typetext" : "<string>"
7aacca6f
DM
27474 }
27475 }
56122987 27476 },
7aacca6f
DM
27477 "permissions" : {
27478 "check" : [
27479 "perm",
27480 "/storage",
27481 [
27482 "Datastore.Allocate"
27483 ]
27484 ]
56122987 27485 },
44660702
DM
27486 "protected" : 1,
27487 "returns" : {
27488 "type" : "null"
27489 }
27490 },
27491 "GET" : {
27492 "description" : "Read storage configuration.",
27493 "method" : "GET",
27494 "name" : "read",
7aacca6f
DM
27495 "parameters" : {
27496 "additionalProperties" : 0,
27497 "properties" : {
27498 "storage" : {
44660702 27499 "description" : "The storage identifier.",
7aacca6f 27500 "format" : "pve-storage-id",
013dc89f
DM
27501 "type" : "string",
27502 "typetext" : "<string>"
7aacca6f
DM
27503 }
27504 }
27505 },
44660702
DM
27506 "permissions" : {
27507 "check" : [
27508 "perm",
27509 "/storage/{storage}",
27510 [
27511 "Datastore.Allocate"
27512 ]
27513 ]
27514 },
5da3d723
TL
27515 "returns" : {
27516 "type" : "object"
27517 }
7aacca6f
DM
27518 },
27519 "PUT" : {
44660702
DM
27520 "description" : "Update storage configuration.",
27521 "method" : "PUT",
27522 "name" : "update",
27523 "parameters" : {
27524 "additionalProperties" : 0,
27525 "properties" : {
27526 "blocksize" : {
27527 "description" : "block size",
7aacca6f 27528 "optional" : 1,
013dc89f
DM
27529 "type" : "string",
27530 "typetext" : "<string>"
7aacca6f 27531 },
27a7acb2
DM
27532 "bwlimit" : {
27533 "description" : "Set bandwidth/io limits various operations.",
27534 "format" : {
27535 "clone" : {
27536 "description" : "bandwidth limit in MiB/s for cloning disks",
27537 "format_description" : "LIMIT",
27538 "minimum" : "0",
27539 "optional" : 1,
27540 "type" : "number"
27541 },
27542 "default" : {
27543 "description" : "default bandwidth limit in MiB/s",
27544 "format_description" : "LIMIT",
27545 "minimum" : "0",
27546 "optional" : 1,
27547 "type" : "number"
27548 },
27549 "migration" : {
27550 "description" : "bandwidth limit in MiB/s for migrating guests",
27551 "format_description" : "LIMIT",
27552 "minimum" : "0",
27553 "optional" : 1,
27554 "type" : "number"
27555 },
27556 "move" : {
27557 "description" : "bandwidth limit in MiB/s for moving disks",
27558 "format_description" : "LIMIT",
27559 "minimum" : "0",
27560 "optional" : 1,
27561 "type" : "number"
27562 },
27563 "restore" : {
27564 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
27565 "format_description" : "LIMIT",
27566 "minimum" : "0",
27567 "optional" : 1,
27568 "type" : "number"
27569 }
27570 },
27571 "optional" : 1,
27572 "type" : "string",
27573 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
27574 },
44660702
DM
27575 "comstar_hg" : {
27576 "description" : "host group for comstar views",
27577 "optional" : 1,
013dc89f
DM
27578 "type" : "string",
27579 "typetext" : "<string>"
7aacca6f 27580 },
44660702
DM
27581 "comstar_tg" : {
27582 "description" : "target group for comstar views",
7aacca6f 27583 "optional" : 1,
013dc89f
DM
27584 "type" : "string",
27585 "typetext" : "<string>"
7aacca6f 27586 },
44660702
DM
27587 "content" : {
27588 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
27589 "format" : "pve-storage-content-list",
7aacca6f 27590 "optional" : 1,
013dc89f
DM
27591 "type" : "string",
27592 "typetext" : "<string>"
7aacca6f 27593 },
44660702
DM
27594 "delete" : {
27595 "description" : "A list of settings you want to delete.",
27596 "format" : "pve-configid-list",
27597 "maxLength" : 4096,
7aacca6f 27598 "optional" : 1,
013dc89f
DM
27599 "type" : "string",
27600 "typetext" : "<string>"
7aacca6f
DM
27601 },
27602 "digest" : {
44660702 27603 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 27604 "maxLength" : 40,
7aacca6f 27605 "optional" : 1,
013dc89f
DM
27606 "type" : "string",
27607 "typetext" : "<string>"
7aacca6f 27608 },
44660702
DM
27609 "disable" : {
27610 "description" : "Flag to disable the storage.",
27611 "optional" : 1,
013dc89f
DM
27612 "type" : "boolean",
27613 "typetext" : "<boolean>"
7aacca6f 27614 },
27a7acb2
DM
27615 "domain" : {
27616 "description" : "CIFS domain.",
27617 "maxLength" : 256,
27618 "optional" : 1,
27619 "type" : "string",
27620 "typetext" : "<string>"
27621 },
7aacca6f
DM
27622 "format" : {
27623 "description" : "Default image format.",
44660702 27624 "format" : "pve-storage-format",
7aacca6f 27625 "optional" : 1,
013dc89f
DM
27626 "type" : "string",
27627 "typetext" : "<string>"
7aacca6f 27628 },
5da3d723
TL
27629 "fuse" : {
27630 "description" : "Mount CephFS through FUSE.",
27631 "optional" : 1,
27632 "type" : "boolean",
27633 "typetext" : "<boolean>"
27634 },
2c0dde61
DM
27635 "is_mountpoint" : {
27636 "default" : "no",
2489d6df 27637 "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 27638 "optional" : 1,
2489d6df
WB
27639 "type" : "string",
27640 "typetext" : "<string>"
2c0dde61 27641 },
44660702
DM
27642 "krbd" : {
27643 "description" : "Access rbd through krbd kernel module.",
7aacca6f 27644 "optional" : 1,
013dc89f
DM
27645 "type" : "boolean",
27646 "typetext" : "<boolean>"
7aacca6f 27647 },
44660702
DM
27648 "maxfiles" : {
27649 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
27650 "minimum" : 0,
27651 "optional" : 1,
4bd7df8b 27652 "type" : "integer",
013dc89f 27653 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
27654 },
27655 "mkdir" : {
27656 "default" : "yes",
27657 "description" : "Create the directory if it doesn't exist.",
27658 "optional" : 1,
013dc89f
DM
27659 "type" : "boolean",
27660 "typetext" : "<boolean>"
7aacca6f 27661 },
2489d6df
WB
27662 "monhost" : {
27663 "description" : "IP addresses of monitors (for external clusters).",
27664 "format" : "pve-storage-portal-dns-list",
27665 "optional" : 1,
27666 "type" : "string",
27667 "typetext" : "<string>"
27668 },
7aacca6f 27669 "nodes" : {
44660702 27670 "description" : "List of cluster node names.",
7aacca6f
DM
27671 "format" : "pve-node-list",
27672 "optional" : 1,
013dc89f
DM
27673 "type" : "string",
27674 "typetext" : "<string>"
7aacca6f 27675 },
44660702
DM
27676 "nowritecache" : {
27677 "description" : "disable write caching on the target",
7aacca6f 27678 "optional" : 1,
013dc89f
DM
27679 "type" : "boolean",
27680 "typetext" : "<boolean>"
7aacca6f
DM
27681 },
27682 "options" : {
7aacca6f 27683 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
27684 "format" : "pve-storage-options",
27685 "optional" : 1,
013dc89f
DM
27686 "type" : "string",
27687 "typetext" : "<string>"
44660702 27688 },
27a7acb2
DM
27689 "password" : {
27690 "description" : "Password for CIFS share.",
27691 "maxLength" : 256,
27692 "optional" : 1,
27693 "type" : "string",
27694 "typetext" : "<string>"
27695 },
44660702
DM
27696 "pool" : {
27697 "description" : "Pool.",
27698 "optional" : 1,
013dc89f
DM
27699 "type" : "string",
27700 "typetext" : "<string>"
44660702
DM
27701 },
27702 "redundancy" : {
27703 "default" : 2,
27704 "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.",
27705 "maximum" : 16,
27706 "minimum" : 1,
27707 "optional" : 1,
4bd7df8b 27708 "type" : "integer",
013dc89f 27709 "typetext" : "<integer> (1 - 16)"
44660702
DM
27710 },
27711 "saferemove" : {
27712 "description" : "Zero-out data when removing LVs.",
27713 "optional" : 1,
013dc89f
DM
27714 "type" : "boolean",
27715 "typetext" : "<boolean>"
7aacca6f
DM
27716 },
27717 "saferemove_throughput" : {
44660702 27718 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 27719 "optional" : 1,
013dc89f
DM
27720 "type" : "string",
27721 "typetext" : "<string>"
7aacca6f 27722 },
44660702
DM
27723 "server" : {
27724 "description" : "Server IP or DNS name.",
27725 "format" : "pve-storage-server",
7aacca6f 27726 "optional" : 1,
013dc89f
DM
27727 "type" : "string",
27728 "typetext" : "<string>"
7aacca6f 27729 },
44660702
DM
27730 "server2" : {
27731 "description" : "Backup volfile server IP or DNS name.",
27732 "format" : "pve-storage-server",
7aacca6f 27733 "optional" : 1,
44660702 27734 "requires" : "server",
013dc89f
DM
27735 "type" : "string",
27736 "typetext" : "<string>"
44660702
DM
27737 },
27738 "shared" : {
27739 "description" : "Mark storage as shared.",
27740 "optional" : 1,
013dc89f
DM
27741 "type" : "boolean",
27742 "typetext" : "<boolean>"
44660702 27743 },
27a7acb2 27744 "smbversion" : {
5da3d723
TL
27745 "description" : "SMB protocol version",
27746 "enum" : [
27747 "2.0",
27748 "2.1",
27749 "3.0"
27750 ],
27a7acb2 27751 "optional" : 1,
5da3d723 27752 "type" : "string"
27a7acb2 27753 },
44660702
DM
27754 "sparse" : {
27755 "description" : "use sparse volumes",
27756 "optional" : 1,
013dc89f
DM
27757 "type" : "boolean",
27758 "typetext" : "<boolean>"
44660702
DM
27759 },
27760 "storage" : {
27761 "description" : "The storage identifier.",
27762 "format" : "pve-storage-id",
013dc89f
DM
27763 "type" : "string",
27764 "typetext" : "<string>"
44660702 27765 },
5da3d723
TL
27766 "subdir" : {
27767 "description" : "Subdir to mount.",
27768 "format" : "pve-storage-path",
27769 "optional" : 1,
27770 "type" : "string",
27771 "typetext" : "<string>"
27772 },
4bd7df8b
DM
27773 "tagged_only" : {
27774 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
27775 "optional" : 1,
013dc89f
DM
27776 "type" : "boolean",
27777 "typetext" : "<boolean>"
4bd7df8b 27778 },
44660702
DM
27779 "transport" : {
27780 "description" : "Gluster transport: tcp or rdma",
27781 "enum" : [
27782 "tcp",
27783 "rdma",
27784 "unix"
27785 ],
27786 "optional" : 1,
27787 "type" : "string"
7aacca6f
DM
27788 },
27789 "username" : {
27790 "description" : "RBD Id.",
44660702 27791 "optional" : 1,
013dc89f
DM
27792 "type" : "string",
27793 "typetext" : "<string>"
7aacca6f 27794 }
44660702
DM
27795 },
27796 "type" : "object"
27797 },
27798 "permissions" : {
27799 "check" : [
27800 "perm",
27801 "/storage",
27802 [
27803 "Datastore.Allocate"
27804 ]
27805 ]
27806 },
27807 "protected" : 1,
27808 "returns" : {
27809 "type" : "null"
27810 }
27811 }
27812 },
27813 "leaf" : 1,
27814 "path" : "/storage/{storage}",
27815 "text" : "{storage}"
27816 }
27817 ],
27818 "info" : {
27819 "GET" : {
27820 "description" : "Storage index.",
27821 "method" : "GET",
27822 "name" : "index",
27823 "parameters" : {
27824 "additionalProperties" : 0,
27825 "properties" : {
27826 "type" : {
27827 "description" : "Only list storage of specific type",
27828 "enum" : [
5da3d723 27829 "cephfs",
27a7acb2 27830 "cifs",
44660702
DM
27831 "dir",
27832 "drbd",
27833 "glusterfs",
27834 "iscsi",
27835 "iscsidirect",
27836 "lvm",
27837 "lvmthin",
27838 "nfs",
27839 "rbd",
27840 "sheepdog",
27841 "zfs",
27842 "zfspool"
27843 ],
27844 "optional" : 1,
27845 "type" : "string"
27846 }
27847 }
27848 },
27849 "permissions" : {
27850 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
27851 "user" : "all"
27852 },
27853 "returns" : {
27854 "items" : {
27855 "properties" : {
27856 "storage" : {
27857 "type" : "string"
7aacca6f 27858 }
56122987 27859 },
44660702
DM
27860 "type" : "object"
27861 },
27862 "links" : [
27863 {
27864 "href" : "{storage}",
27865 "rel" : "child"
27866 }
27867 ],
27868 "type" : "array"
27869 }
27870 },
27871 "POST" : {
27872 "description" : "Create a new storage.",
27873 "method" : "POST",
27874 "name" : "create",
27875 "parameters" : {
27876 "additionalProperties" : 0,
27877 "properties" : {
27878 "authsupported" : {
27879 "description" : "Authsupported.",
27880 "optional" : 1,
013dc89f
DM
27881 "type" : "string",
27882 "typetext" : "<string>"
44660702
DM
27883 },
27884 "base" : {
27885 "description" : "Base volume. This volume is automatically activated.",
27886 "format" : "pve-volume-id",
27887 "optional" : 1,
013dc89f
DM
27888 "type" : "string",
27889 "typetext" : "<string>"
44660702
DM
27890 },
27891 "blocksize" : {
27892 "description" : "block size",
27893 "optional" : 1,
013dc89f
DM
27894 "type" : "string",
27895 "typetext" : "<string>"
44660702 27896 },
27a7acb2
DM
27897 "bwlimit" : {
27898 "description" : "Set bandwidth/io limits various operations.",
27899 "format" : {
27900 "clone" : {
27901 "description" : "bandwidth limit in MiB/s for cloning disks",
27902 "format_description" : "LIMIT",
27903 "minimum" : "0",
27904 "optional" : 1,
27905 "type" : "number"
27906 },
27907 "default" : {
27908 "description" : "default bandwidth limit in MiB/s",
27909 "format_description" : "LIMIT",
27910 "minimum" : "0",
27911 "optional" : 1,
27912 "type" : "number"
27913 },
27914 "migration" : {
27915 "description" : "bandwidth limit in MiB/s for migrating guests",
27916 "format_description" : "LIMIT",
27917 "minimum" : "0",
27918 "optional" : 1,
27919 "type" : "number"
27920 },
27921 "move" : {
27922 "description" : "bandwidth limit in MiB/s for moving disks",
27923 "format_description" : "LIMIT",
27924 "minimum" : "0",
27925 "optional" : 1,
27926 "type" : "number"
27927 },
27928 "restore" : {
27929 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
27930 "format_description" : "LIMIT",
27931 "minimum" : "0",
27932 "optional" : 1,
27933 "type" : "number"
27934 }
27935 },
27936 "optional" : 1,
27937 "type" : "string",
27938 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
27939 },
44660702
DM
27940 "comstar_hg" : {
27941 "description" : "host group for comstar views",
27942 "optional" : 1,
013dc89f
DM
27943 "type" : "string",
27944 "typetext" : "<string>"
44660702
DM
27945 },
27946 "comstar_tg" : {
27947 "description" : "target group for comstar views",
27948 "optional" : 1,
013dc89f
DM
27949 "type" : "string",
27950 "typetext" : "<string>"
44660702
DM
27951 },
27952 "content" : {
27953 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
27954 "format" : "pve-storage-content-list",
27955 "optional" : 1,
013dc89f
DM
27956 "type" : "string",
27957 "typetext" : "<string>"
44660702
DM
27958 },
27959 "disable" : {
27960 "description" : "Flag to disable the storage.",
27961 "optional" : 1,
013dc89f
DM
27962 "type" : "boolean",
27963 "typetext" : "<boolean>"
44660702 27964 },
27a7acb2
DM
27965 "domain" : {
27966 "description" : "CIFS domain.",
27967 "maxLength" : 256,
27968 "optional" : 1,
27969 "type" : "string",
27970 "typetext" : "<string>"
27971 },
44660702
DM
27972 "export" : {
27973 "description" : "NFS export path.",
27974 "format" : "pve-storage-path",
27975 "optional" : 1,
013dc89f
DM
27976 "type" : "string",
27977 "typetext" : "<string>"
44660702
DM
27978 },
27979 "format" : {
27980 "description" : "Default image format.",
27981 "format" : "pve-storage-format",
27982 "optional" : 1,
013dc89f
DM
27983 "type" : "string",
27984 "typetext" : "<string>"
44660702 27985 },
5da3d723
TL
27986 "fuse" : {
27987 "description" : "Mount CephFS through FUSE.",
27988 "optional" : 1,
27989 "type" : "boolean",
27990 "typetext" : "<boolean>"
27991 },
2c0dde61
DM
27992 "is_mountpoint" : {
27993 "default" : "no",
2489d6df 27994 "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 27995 "optional" : 1,
2489d6df
WB
27996 "type" : "string",
27997 "typetext" : "<string>"
2c0dde61 27998 },
44660702
DM
27999 "iscsiprovider" : {
28000 "description" : "iscsi provider",
28001 "optional" : 1,
013dc89f
DM
28002 "type" : "string",
28003 "typetext" : "<string>"
44660702
DM
28004 },
28005 "krbd" : {
28006 "description" : "Access rbd through krbd kernel module.",
28007 "optional" : 1,
013dc89f
DM
28008 "type" : "boolean",
28009 "typetext" : "<boolean>"
56122987 28010 },
44660702
DM
28011 "maxfiles" : {
28012 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
28013 "minimum" : 0,
28014 "optional" : 1,
4bd7df8b 28015 "type" : "integer",
013dc89f 28016 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
28017 },
28018 "mkdir" : {
28019 "default" : "yes",
28020 "description" : "Create the directory if it doesn't exist.",
28021 "optional" : 1,
013dc89f
DM
28022 "type" : "boolean",
28023 "typetext" : "<boolean>"
7aacca6f 28024 },
44660702 28025 "monhost" : {
2489d6df 28026 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 28027 "format" : "pve-storage-portal-dns-list",
44660702 28028 "optional" : 1,
013dc89f
DM
28029 "type" : "string",
28030 "typetext" : "<string>"
7aacca6f 28031 },
44660702
DM
28032 "nodes" : {
28033 "description" : "List of cluster node names.",
28034 "format" : "pve-node-list",
28035 "optional" : 1,
013dc89f
DM
28036 "type" : "string",
28037 "typetext" : "<string>"
7aacca6f 28038 },
44660702
DM
28039 "nowritecache" : {
28040 "description" : "disable write caching on the target",
28041 "optional" : 1,
013dc89f
DM
28042 "type" : "boolean",
28043 "typetext" : "<boolean>"
44660702
DM
28044 },
28045 "options" : {
28046 "description" : "NFS mount options (see 'man nfs')",
28047 "format" : "pve-storage-options",
28048 "optional" : 1,
013dc89f
DM
28049 "type" : "string",
28050 "typetext" : "<string>"
44660702 28051 },
27a7acb2
DM
28052 "password" : {
28053 "description" : "Password for CIFS share.",
28054 "maxLength" : 256,
28055 "optional" : 1,
28056 "type" : "string",
28057 "typetext" : "<string>"
28058 },
44660702
DM
28059 "path" : {
28060 "description" : "File system path.",
28061 "format" : "pve-storage-path",
28062 "optional" : 1,
013dc89f
DM
28063 "type" : "string",
28064 "typetext" : "<string>"
44660702
DM
28065 },
28066 "pool" : {
28067 "description" : "Pool.",
28068 "optional" : 1,
013dc89f
DM
28069 "type" : "string",
28070 "typetext" : "<string>"
44660702
DM
28071 },
28072 "portal" : {
28073 "description" : "iSCSI portal (IP or DNS name with optional port).",
28074 "format" : "pve-storage-portal-dns",
28075 "optional" : 1,
013dc89f
DM
28076 "type" : "string",
28077 "typetext" : "<string>"
44660702
DM
28078 },
28079 "redundancy" : {
28080 "default" : 2,
28081 "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.",
28082 "maximum" : 16,
28083 "minimum" : 1,
28084 "optional" : 1,
4bd7df8b 28085 "type" : "integer",
013dc89f 28086 "typetext" : "<integer> (1 - 16)"
44660702
DM
28087 },
28088 "saferemove" : {
28089 "description" : "Zero-out data when removing LVs.",
28090 "optional" : 1,
013dc89f
DM
28091 "type" : "boolean",
28092 "typetext" : "<boolean>"
44660702
DM
28093 },
28094 "saferemove_throughput" : {
28095 "description" : "Wipe throughput (cstream -t parameter value).",
28096 "optional" : 1,
013dc89f
DM
28097 "type" : "string",
28098 "typetext" : "<string>"
44660702
DM
28099 },
28100 "server" : {
28101 "description" : "Server IP or DNS name.",
28102 "format" : "pve-storage-server",
28103 "optional" : 1,
013dc89f
DM
28104 "type" : "string",
28105 "typetext" : "<string>"
44660702
DM
28106 },
28107 "server2" : {
28108 "description" : "Backup volfile server IP or DNS name.",
28109 "format" : "pve-storage-server",
28110 "optional" : 1,
28111 "requires" : "server",
013dc89f
DM
28112 "type" : "string",
28113 "typetext" : "<string>"
44660702 28114 },
27a7acb2
DM
28115 "share" : {
28116 "description" : "CIFS share.",
28117 "optional" : 1,
28118 "type" : "string",
28119 "typetext" : "<string>"
28120 },
44660702
DM
28121 "shared" : {
28122 "description" : "Mark storage as shared.",
28123 "optional" : 1,
013dc89f
DM
28124 "type" : "boolean",
28125 "typetext" : "<boolean>"
44660702 28126 },
27a7acb2 28127 "smbversion" : {
5da3d723
TL
28128 "description" : "SMB protocol version",
28129 "enum" : [
28130 "2.0",
28131 "2.1",
28132 "3.0"
28133 ],
27a7acb2 28134 "optional" : 1,
5da3d723 28135 "type" : "string"
27a7acb2 28136 },
44660702
DM
28137 "sparse" : {
28138 "description" : "use sparse volumes",
28139 "optional" : 1,
013dc89f
DM
28140 "type" : "boolean",
28141 "typetext" : "<boolean>"
44660702
DM
28142 },
28143 "storage" : {
28144 "description" : "The storage identifier.",
28145 "format" : "pve-storage-id",
013dc89f
DM
28146 "type" : "string",
28147 "typetext" : "<string>"
44660702 28148 },
5da3d723
TL
28149 "subdir" : {
28150 "description" : "Subdir to mount.",
28151 "format" : "pve-storage-path",
28152 "optional" : 1,
28153 "type" : "string",
28154 "typetext" : "<string>"
28155 },
4bd7df8b
DM
28156 "tagged_only" : {
28157 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
28158 "optional" : 1,
013dc89f
DM
28159 "type" : "boolean",
28160 "typetext" : "<boolean>"
4bd7df8b 28161 },
44660702
DM
28162 "target" : {
28163 "description" : "iSCSI target.",
28164 "optional" : 1,
013dc89f
DM
28165 "type" : "string",
28166 "typetext" : "<string>"
44660702
DM
28167 },
28168 "thinpool" : {
28169 "description" : "LVM thin pool LV name.",
28170 "format" : "pve-storage-vgname",
28171 "optional" : 1,
013dc89f
DM
28172 "type" : "string",
28173 "typetext" : "<string>"
44660702
DM
28174 },
28175 "transport" : {
28176 "description" : "Gluster transport: tcp or rdma",
28177 "enum" : [
28178 "tcp",
28179 "rdma",
28180 "unix"
7aacca6f 28181 ],
44660702
DM
28182 "optional" : 1,
28183 "type" : "string"
56122987 28184 },
44660702
DM
28185 "type" : {
28186 "description" : "Storage type.",
28187 "enum" : [
5da3d723 28188 "cephfs",
27a7acb2 28189 "cifs",
44660702
DM
28190 "dir",
28191 "drbd",
28192 "glusterfs",
28193 "iscsi",
28194 "iscsidirect",
28195 "lvm",
28196 "lvmthin",
28197 "nfs",
28198 "rbd",
28199 "sheepdog",
28200 "zfs",
28201 "zfspool"
28202 ],
28203 "type" : "string"
56122987 28204 },
44660702
DM
28205 "username" : {
28206 "description" : "RBD Id.",
28207 "optional" : 1,
013dc89f
DM
28208 "type" : "string",
28209 "typetext" : "<string>"
7aacca6f 28210 },
44660702
DM
28211 "vgname" : {
28212 "description" : "Volume group name.",
28213 "format" : "pve-storage-vgname",
28214 "optional" : 1,
013dc89f
DM
28215 "type" : "string",
28216 "typetext" : "<string>"
44660702
DM
28217 },
28218 "volume" : {
28219 "description" : "Glusterfs Volume.",
28220 "optional" : 1,
013dc89f
DM
28221 "type" : "string",
28222 "typetext" : "<string>"
44660702
DM
28223 }
28224 },
28225 "type" : "object"
28226 },
28227 "permissions" : {
28228 "check" : [
28229 "perm",
28230 "/storage",
28231 [
28232 "Datastore.Allocate"
28233 ]
28234 ]
56122987 28235 },
44660702
DM
28236 "protected" : 1,
28237 "returns" : {
28238 "type" : "null"
28239 }
28240 }
28241 },
28242 "leaf" : 0,
28243 "path" : "/storage",
28244 "text" : "storage"
28245 },
28246 {
28247 "children" : [
28248 {
56122987
DM
28249 "children" : [
28250 {
56122987 28251 "info" : {
44660702
DM
28252 "DELETE" : {
28253 "description" : "Delete user.",
28254 "method" : "DELETE",
28255 "name" : "delete_user",
56122987 28256 "parameters" : {
7aacca6f 28257 "additionalProperties" : 0,
56122987 28258 "properties" : {
56122987 28259 "userid" : {
56122987
DM
28260 "description" : "User ID",
28261 "format" : "pve-userid",
44660702 28262 "maxLength" : 64,
013dc89f
DM
28263 "type" : "string",
28264 "typetext" : "<string>"
56122987 28265 }
7aacca6f 28266 }
56122987 28267 },
56122987
DM
28268 "permissions" : {
28269 "check" : [
44660702 28270 "and",
56122987 28271 [
44660702
DM
28272 "userid-param",
28273 "Realm.AllocateUser"
56122987 28274 ],
44660702
DM
28275 [
28276 "userid-group",
28277 [
28278 "User.Modify"
28279 ]
28280 ]
56122987 28281 ]
7aacca6f 28282 },
44660702 28283 "protected" : 1,
56122987
DM
28284 "returns" : {
28285 "type" : "null"
44660702 28286 }
7aacca6f 28287 },
44660702
DM
28288 "GET" : {
28289 "description" : "Get user configuration.",
28290 "method" : "GET",
28291 "name" : "read_user",
56122987
DM
28292 "parameters" : {
28293 "additionalProperties" : 0,
28294 "properties" : {
28295 "userid" : {
44660702 28296 "description" : "User ID",
56122987 28297 "format" : "pve-userid",
44660702 28298 "maxLength" : 64,
013dc89f
DM
28299 "type" : "string",
28300 "typetext" : "<string>"
56122987
DM
28301 }
28302 }
28303 },
56122987
DM
28304 "permissions" : {
28305 "check" : [
44660702 28306 "userid-group",
56122987 28307 [
44660702
DM
28308 "User.Modify",
28309 "Sys.Audit"
56122987
DM
28310 ]
28311 ]
28312 },
56122987 28313 "returns" : {
7aacca6f 28314 "additionalProperties" : 0,
56122987 28315 "properties" : {
44660702
DM
28316 "comment" : {
28317 "optional" : 1,
28318 "type" : "string"
56122987 28319 },
44660702
DM
28320 "email" : {
28321 "optional" : 1,
28322 "type" : "string"
7aacca6f
DM
28323 },
28324 "enable" : {
28325 "type" : "boolean"
28326 },
44660702
DM
28327 "expire" : {
28328 "optional" : 1,
28329 "type" : "integer"
28330 },
28331 "firstname" : {
56122987
DM
28332 "optional" : 1,
28333 "type" : "string"
28334 },
44660702
DM
28335 "groups" : {
28336 "type" : "array"
56122987 28337 },
44660702
DM
28338 "keys" : {
28339 "optional" : 1,
28340 "type" : "string"
7aacca6f 28341 },
44660702
DM
28342 "lastname" : {
28343 "optional" : 1,
28344 "type" : "string"
56122987 28345 }
7aacca6f 28346 }
44660702
DM
28347 }
28348 },
28349 "PUT" : {
28350 "description" : "Update user configuration.",
28351 "method" : "PUT",
28352 "name" : "update_user",
56122987 28353 "parameters" : {
44660702 28354 "additionalProperties" : 0,
56122987 28355 "properties" : {
44660702
DM
28356 "append" : {
28357 "optional" : 1,
28358 "requires" : "groups",
013dc89f
DM
28359 "type" : "boolean",
28360 "typetext" : "<boolean>"
44660702
DM
28361 },
28362 "comment" : {
28363 "optional" : 1,
013dc89f
DM
28364 "type" : "string",
28365 "typetext" : "<string>"
44660702
DM
28366 },
28367 "email" : {
28368 "format" : "email-opt",
28369 "optional" : 1,
013dc89f
DM
28370 "type" : "string",
28371 "typetext" : "<string>"
44660702
DM
28372 },
28373 "enable" : {
28374 "description" : "Enable/disable the account.",
28375 "optional" : 1,
013dc89f
DM
28376 "type" : "boolean",
28377 "typetext" : "<boolean>"
44660702
DM
28378 },
28379 "expire" : {
28380 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
28381 "minimum" : 0,
28382 "optional" : 1,
4bd7df8b 28383 "type" : "integer",
013dc89f 28384 "typetext" : "<integer> (0 - N)"
44660702
DM
28385 },
28386 "firstname" : {
28387 "optional" : 1,
013dc89f
DM
28388 "type" : "string",
28389 "typetext" : "<string>"
44660702
DM
28390 },
28391 "groups" : {
28392 "format" : "pve-groupid-list",
28393 "optional" : 1,
013dc89f
DM
28394 "type" : "string",
28395 "typetext" : "<string>"
44660702
DM
28396 },
28397 "keys" : {
28398 "description" : "Keys for two factor auth (yubico).",
28399 "optional" : 1,
013dc89f
DM
28400 "type" : "string",
28401 "typetext" : "<string>"
44660702
DM
28402 },
28403 "lastname" : {
28404 "optional" : 1,
013dc89f
DM
28405 "type" : "string",
28406 "typetext" : "<string>"
44660702 28407 },
56122987 28408 "userid" : {
56122987
DM
28409 "description" : "User ID",
28410 "format" : "pve-userid",
44660702 28411 "maxLength" : 64,
013dc89f
DM
28412 "type" : "string",
28413 "typetext" : "<string>"
56122987 28414 }
44660702 28415 }
56122987 28416 },
56122987
DM
28417 "permissions" : {
28418 "check" : [
28419 "userid-group",
28420 [
44660702
DM
28421 "User.Modify"
28422 ],
28423 "groups_param",
28424 1
56122987
DM
28425 ]
28426 },
44660702
DM
28427 "protected" : 1,
28428 "returns" : {
28429 "type" : "null"
28430 }
56122987
DM
28431 }
28432 },
44660702
DM
28433 "leaf" : 1,
28434 "path" : "/access/users/{userid}",
7aacca6f 28435 "text" : "{userid}"
56122987 28436 }
7aacca6f 28437 ],
56122987 28438 "info" : {
7aacca6f 28439 "GET" : {
44660702
DM
28440 "description" : "User index.",
28441 "method" : "GET",
7aacca6f 28442 "name" : "index",
56122987 28443 "parameters" : {
44660702
DM
28444 "additionalProperties" : 0,
28445 "properties" : {
28446 "enabled" : {
28447 "description" : "Optional filter for enable property.",
28448 "optional" : 1,
013dc89f
DM
28449 "type" : "boolean",
28450 "typetext" : "<boolean>"
44660702
DM
28451 }
28452 }
28453 },
28454 "permissions" : {
28455 "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.",
28456 "user" : "all"
56122987 28457 },
7aacca6f 28458 "returns" : {
7aacca6f
DM
28459 "items" : {
28460 "properties" : {
44660702 28461 "userid" : {
7aacca6f
DM
28462 "type" : "string"
28463 }
28464 },
28465 "type" : "object"
28466 },
44660702
DM
28467 "links" : [
28468 {
28469 "href" : "{userid}",
28470 "rel" : "child"
28471 }
28472 ],
7aacca6f
DM
28473 "type" : "array"
28474 }
28475 },
28476 "POST" : {
44660702 28477 "description" : "Create new user.",
7aacca6f 28478 "method" : "POST",
44660702 28479 "name" : "create_user",
56122987 28480 "parameters" : {
7aacca6f
DM
28481 "additionalProperties" : 0,
28482 "properties" : {
44660702
DM
28483 "comment" : {
28484 "optional" : 1,
013dc89f
DM
28485 "type" : "string",
28486 "typetext" : "<string>"
7aacca6f 28487 },
44660702
DM
28488 "email" : {
28489 "format" : "email-opt",
28490 "optional" : 1,
013dc89f
DM
28491 "type" : "string",
28492 "typetext" : "<string>"
44660702
DM
28493 },
28494 "enable" : {
28495 "default" : 1,
28496 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
28497 "optional" : 1,
013dc89f
DM
28498 "type" : "boolean",
28499 "typetext" : "<boolean>"
44660702
DM
28500 },
28501 "expire" : {
28502 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
28503 "minimum" : 0,
28504 "optional" : 1,
4bd7df8b 28505 "type" : "integer",
013dc89f 28506 "typetext" : "<integer> (0 - N)"
44660702
DM
28507 },
28508 "firstname" : {
28509 "optional" : 1,
013dc89f
DM
28510 "type" : "string",
28511 "typetext" : "<string>"
44660702
DM
28512 },
28513 "groups" : {
28514 "format" : "pve-groupid-list",
28515 "optional" : 1,
013dc89f
DM
28516 "type" : "string",
28517 "typetext" : "<string>"
44660702
DM
28518 },
28519 "keys" : {
28520 "description" : "Keys for two factor auth (yubico).",
28521 "optional" : 1,
013dc89f
DM
28522 "type" : "string",
28523 "typetext" : "<string>"
44660702
DM
28524 },
28525 "lastname" : {
7aacca6f 28526 "optional" : 1,
013dc89f
DM
28527 "type" : "string",
28528 "typetext" : "<string>"
44660702
DM
28529 },
28530 "password" : {
28531 "description" : "Initial password.",
28532 "maxLength" : 64,
28533 "minLength" : 5,
28534 "optional" : 1,
013dc89f
DM
28535 "type" : "string",
28536 "typetext" : "<string>"
44660702
DM
28537 },
28538 "userid" : {
28539 "description" : "User ID",
28540 "format" : "pve-userid",
28541 "maxLength" : 64,
013dc89f
DM
28542 "type" : "string",
28543 "typetext" : "<string>"
56122987 28544 }
7aacca6f 28545 }
56122987 28546 },
44660702
DM
28547 "permissions" : {
28548 "check" : [
28549 "and",
28550 [
28551 "userid-param",
28552 "Realm.AllocateUser"
28553 ],
28554 [
28555 "userid-group",
28556 [
28557 "User.Modify"
28558 ],
28559 "groups_param",
28560 1
28561 ]
28562 ],
28563 "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."
28564 },
28565 "protected" : 1,
28566 "returns" : {
28567 "type" : "null"
28568 }
56122987
DM
28569 }
28570 },
44660702
DM
28571 "leaf" : 0,
28572 "path" : "/access/users",
28573 "text" : "users"
28574 },
28575 {
56122987
DM
28576 "children" : [
28577 {
56122987
DM
28578 "info" : {
28579 "DELETE" : {
44660702
DM
28580 "description" : "Delete group.",
28581 "method" : "DELETE",
28582 "name" : "delete_group",
28583 "parameters" : {
28584 "additionalProperties" : 0,
28585 "properties" : {
28586 "groupid" : {
28587 "format" : "pve-groupid",
013dc89f
DM
28588 "type" : "string",
28589 "typetext" : "<string>"
44660702
DM
28590 }
28591 }
28592 },
7aacca6f
DM
28593 "permissions" : {
28594 "check" : [
28595 "perm",
28596 "/access/groups",
28597 [
28598 "Group.Allocate"
28599 ]
28600 ]
28601 },
7aacca6f 28602 "protected" : 1,
7aacca6f
DM
28603 "returns" : {
28604 "type" : "null"
44660702 28605 }
7aacca6f 28606 },
44660702
DM
28607 "GET" : {
28608 "description" : "Get group configuration.",
28609 "method" : "GET",
28610 "name" : "read_group",
28611 "parameters" : {
28612 "additionalProperties" : 0,
28613 "properties" : {
28614 "groupid" : {
28615 "format" : "pve-groupid",
013dc89f
DM
28616 "type" : "string",
28617 "typetext" : "<string>"
44660702
DM
28618 }
28619 }
56122987 28620 },
7aacca6f
DM
28621 "permissions" : {
28622 "check" : [
28623 "perm",
28624 "/access/groups",
28625 [
44660702 28626 "Sys.Audit",
7aacca6f 28627 "Group.Allocate"
44660702
DM
28628 ],
28629 "any",
28630 1
7aacca6f
DM
28631 ]
28632 },
7aacca6f 28633 "returns" : {
44660702 28634 "additionalProperties" : 0,
7aacca6f
DM
28635 "properties" : {
28636 "comment" : {
44660702
DM
28637 "optional" : 1,
28638 "type" : "string"
7aacca6f
DM
28639 },
28640 "members" : {
28641 "items" : {
28642 "type" : "string"
28643 },
28644 "type" : "array"
28645 }
28646 },
44660702
DM
28647 "type" : "object"
28648 }
28649 },
28650 "PUT" : {
28651 "description" : "Update group data.",
28652 "method" : "PUT",
28653 "name" : "update_group",
56122987 28654 "parameters" : {
44660702 28655 "additionalProperties" : 0,
56122987 28656 "properties" : {
44660702
DM
28657 "comment" : {
28658 "optional" : 1,
013dc89f
DM
28659 "type" : "string",
28660 "typetext" : "<string>"
44660702 28661 },
56122987
DM
28662 "groupid" : {
28663 "format" : "pve-groupid",
013dc89f
DM
28664 "type" : "string",
28665 "typetext" : "<string>"
56122987 28666 }
44660702 28667 }
56122987 28668 },
56122987
DM
28669 "permissions" : {
28670 "check" : [
28671 "perm",
28672 "/access/groups",
28673 [
28674 "Group.Allocate"
44660702 28675 ]
56122987
DM
28676 ]
28677 },
44660702
DM
28678 "protected" : 1,
28679 "returns" : {
28680 "type" : "null"
28681 }
7aacca6f
DM
28682 }
28683 },
7aacca6f 28684 "leaf" : 1,
44660702
DM
28685 "path" : "/access/groups/{groupid}",
28686 "text" : "{groupid}"
28687 }
28688 ],
28689 "info" : {
28690 "GET" : {
28691 "description" : "Group index.",
28692 "method" : "GET",
28693 "name" : "index",
28694 "parameters" : {
28695 "additionalProperties" : 0
28696 },
28697 "permissions" : {
28698 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
28699 "user" : "all"
28700 },
28701 "returns" : {
28702 "items" : {
28703 "properties" : {
28704 "groupid" : {
28705 "type" : "string"
28706 }
28707 },
28708 "type" : "object"
28709 },
28710 "links" : [
28711 {
28712 "href" : "{groupid}",
28713 "rel" : "child"
28714 }
28715 ],
28716 "type" : "array"
28717 }
28718 },
28719 "POST" : {
28720 "description" : "Create new group.",
28721 "method" : "POST",
28722 "name" : "create_group",
28723 "parameters" : {
28724 "additionalProperties" : 0,
28725 "properties" : {
28726 "comment" : {
28727 "optional" : 1,
013dc89f
DM
28728 "type" : "string",
28729 "typetext" : "<string>"
44660702
DM
28730 },
28731 "groupid" : {
28732 "format" : "pve-groupid",
013dc89f
DM
28733 "type" : "string",
28734 "typetext" : "<string>"
44660702
DM
28735 }
28736 }
28737 },
28738 "permissions" : {
28739 "check" : [
28740 "perm",
28741 "/access/groups",
28742 [
28743 "Group.Allocate"
28744 ]
28745 ]
28746 },
28747 "protected" : 1,
28748 "returns" : {
28749 "type" : "null"
28750 }
7aacca6f 28751 }
44660702 28752 },
7aacca6f 28753 "leaf" : 0,
44660702
DM
28754 "path" : "/access/groups",
28755 "text" : "groups"
7aacca6f
DM
28756 },
28757 {
28758 "children" : [
28759 {
7aacca6f 28760 "info" : {
7aacca6f 28761 "DELETE" : {
7aacca6f 28762 "description" : "Delete role.",
44660702 28763 "method" : "DELETE",
7aacca6f 28764 "name" : "delete_role",
56122987
DM
28765 "parameters" : {
28766 "additionalProperties" : 0,
28767 "properties" : {
7aacca6f
DM
28768 "roleid" : {
28769 "format" : "pve-roleid",
013dc89f
DM
28770 "type" : "string",
28771 "typetext" : "<string>"
56122987
DM
28772 }
28773 }
28774 },
56122987
DM
28775 "permissions" : {
28776 "check" : [
28777 "perm",
7aacca6f 28778 "/access",
56122987 28779 [
7aacca6f
DM
28780 "Sys.Modify"
28781 ]
56122987 28782 ]
44660702
DM
28783 },
28784 "protected" : 1,
28785 "returns" : {
28786 "type" : "null"
56122987
DM
28787 }
28788 },
44660702
DM
28789 "GET" : {
28790 "description" : "Get role configuration.",
28791 "method" : "GET",
28792 "name" : "read_role",
28793 "parameters" : {
28794 "additionalProperties" : 0,
28795 "properties" : {
28796 "roleid" : {
28797 "format" : "pve-roleid",
013dc89f
DM
28798 "type" : "string",
28799 "typetext" : "<string>"
44660702
DM
28800 }
28801 }
28802 },
7aacca6f 28803 "permissions" : {
44660702 28804 "user" : "all"
56122987 28805 },
44660702
DM
28806 "returns" : {}
28807 },
28808 "PUT" : {
28809 "description" : "Create new role.",
28810 "method" : "PUT",
28811 "name" : "update_role",
56122987
DM
28812 "parameters" : {
28813 "additionalProperties" : 0,
28814 "properties" : {
7aacca6f 28815 "append" : {
44660702 28816 "optional" : 1,
7aacca6f 28817 "requires" : "privs",
013dc89f
DM
28818 "type" : "boolean",
28819 "typetext" : "<boolean>"
7aacca6f
DM
28820 },
28821 "privs" : {
28822 "format" : "pve-priv-list",
013dc89f
DM
28823 "type" : "string",
28824 "typetext" : "<string>"
44660702
DM
28825 },
28826 "roleid" : {
28827 "format" : "pve-roleid",
013dc89f
DM
28828 "type" : "string",
28829 "typetext" : "<string>"
56122987
DM
28830 }
28831 }
28832 },
44660702
DM
28833 "permissions" : {
28834 "check" : [
28835 "perm",
28836 "/access",
28837 [
28838 "Sys.Modify"
28839 ]
28840 ]
28841 },
56122987 28842 "protected" : 1,
7aacca6f
DM
28843 "returns" : {
28844 "type" : "null"
56122987
DM
28845 }
28846 }
28847 },
44660702 28848 "leaf" : 1,
7aacca6f 28849 "path" : "/access/roles/{roleid}",
44660702 28850 "text" : "{roleid}"
56122987
DM
28851 }
28852 ],
56122987 28853 "info" : {
7aacca6f
DM
28854 "GET" : {
28855 "description" : "Role index.",
44660702 28856 "method" : "GET",
7aacca6f 28857 "name" : "index",
56122987 28858 "parameters" : {
56122987
DM
28859 "additionalProperties" : 0
28860 },
7aacca6f
DM
28861 "permissions" : {
28862 "user" : "all"
28863 },
56122987 28864 "returns" : {
7aacca6f 28865 "items" : {
7aacca6f
DM
28866 "properties" : {
28867 "roleid" : {
28868 "type" : "string"
28869 }
44660702
DM
28870 },
28871 "type" : "object"
28872 },
28873 "links" : [
28874 {
28875 "href" : "{roleid}",
28876 "rel" : "child"
7aacca6f 28877 }
44660702
DM
28878 ],
28879 "type" : "array"
28880 }
7aacca6f
DM
28881 },
28882 "POST" : {
28883 "description" : "Create new role.",
44660702
DM
28884 "method" : "POST",
28885 "name" : "create_role",
7aacca6f
DM
28886 "parameters" : {
28887 "additionalProperties" : 0,
28888 "properties" : {
7aacca6f
DM
28889 "privs" : {
28890 "format" : "pve-priv-list",
28891 "optional" : 1,
013dc89f
DM
28892 "type" : "string",
28893 "typetext" : "<string>"
44660702
DM
28894 },
28895 "roleid" : {
28896 "format" : "pve-roleid",
013dc89f
DM
28897 "type" : "string",
28898 "typetext" : "<string>"
7aacca6f
DM
28899 }
28900 }
28901 },
44660702
DM
28902 "permissions" : {
28903 "check" : [
28904 "perm",
28905 "/access",
28906 [
28907 "Sys.Modify"
28908 ]
28909 ]
28910 },
28911 "protected" : 1,
7aacca6f
DM
28912 "returns" : {
28913 "type" : "null"
28914 }
28915 }
28916 },
44660702 28917 "leaf" : 0,
7aacca6f 28918 "path" : "/access/roles",
44660702 28919 "text" : "roles"
7aacca6f
DM
28920 },
28921 {
28922 "info" : {
56122987 28923 "GET" : {
44660702
DM
28924 "description" : "Get Access Control List (ACLs).",
28925 "method" : "GET",
28926 "name" : "read_acl",
7aacca6f
DM
28927 "parameters" : {
28928 "additionalProperties" : 0
28929 },
44660702
DM
28930 "permissions" : {
28931 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
28932 "user" : "all"
28933 },
56122987 28934 "returns" : {
56122987 28935 "items" : {
44660702 28936 "additionalProperties" : 0,
56122987 28937 "properties" : {
7aacca6f
DM
28938 "path" : {
28939 "type" : "string"
28940 },
44660702
DM
28941 "propagate" : {
28942 "type" : "boolean"
28943 },
28944 "roleid" : {
28945 "type" : "string"
28946 },
7aacca6f
DM
28947 "type" : {
28948 "enum" : [
28949 "user",
28950 "group"
28951 ],
28952 "type" : "string"
28953 },
7aacca6f
DM
28954 "ugid" : {
28955 "type" : "string"
56122987 28956 }
7aacca6f 28957 },
44660702 28958 "type" : "object"
7aacca6f
DM
28959 },
28960 "type" : "array"
44660702 28961 }
7aacca6f
DM
28962 },
28963 "PUT" : {
44660702
DM
28964 "description" : "Update Access Control List (add or remove permissions).",
28965 "method" : "PUT",
7aacca6f
DM
28966 "name" : "update_acl",
28967 "parameters" : {
28968 "additionalProperties" : 0,
28969 "properties" : {
28970 "delete" : {
44660702 28971 "description" : "Remove permissions (instead of adding it).",
7aacca6f 28972 "optional" : 1,
013dc89f
DM
28973 "type" : "boolean",
28974 "typetext" : "<boolean>"
7aacca6f 28975 },
44660702
DM
28976 "groups" : {
28977 "description" : "List of groups.",
28978 "format" : "pve-groupid-list",
7aacca6f 28979 "optional" : 1,
013dc89f
DM
28980 "type" : "string",
28981 "typetext" : "<string>"
7aacca6f
DM
28982 },
28983 "path" : {
28984 "description" : "Access control path",
013dc89f
DM
28985 "type" : "string",
28986 "typetext" : "<string>"
7aacca6f 28987 },
7aacca6f 28988 "propagate" : {
44660702 28989 "default" : 1,
7aacca6f 28990 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 28991 "optional" : 1,
013dc89f
DM
28992 "type" : "boolean",
28993 "typetext" : "<boolean>"
7aacca6f 28994 },
44660702
DM
28995 "roles" : {
28996 "description" : "List of roles.",
28997 "format" : "pve-roleid-list",
013dc89f
DM
28998 "type" : "string",
28999 "typetext" : "<string>"
44660702
DM
29000 },
29001 "users" : {
29002 "description" : "List of users.",
29003 "format" : "pve-userid-list",
7aacca6f 29004 "optional" : 1,
013dc89f
DM
29005 "type" : "string",
29006 "typetext" : "<string>"
56122987
DM
29007 }
29008 }
29009 },
56122987 29010 "permissions" : {
7aacca6f
DM
29011 "check" : [
29012 "perm-modify",
29013 "{path}"
29014 ]
29015 },
7aacca6f
DM
29016 "protected" : 1,
29017 "returns" : {
29018 "type" : "null"
44660702 29019 }
56122987
DM
29020 }
29021 },
7aacca6f 29022 "leaf" : 1,
44660702
DM
29023 "path" : "/access/acl",
29024 "text" : "acl"
7aacca6f
DM
29025 },
29026 {
56122987
DM
29027 "children" : [
29028 {
56122987 29029 "info" : {
44660702
DM
29030 "DELETE" : {
29031 "description" : "Delete an authentication server.",
29032 "method" : "DELETE",
29033 "name" : "delete",
29034 "parameters" : {
29035 "additionalProperties" : 0,
29036 "properties" : {
29037 "realm" : {
29038 "description" : "Authentication domain ID",
29039 "format" : "pve-realm",
29040 "maxLength" : 32,
013dc89f
DM
29041 "type" : "string",
29042 "typetext" : "<string>"
56122987 29043 }
44660702 29044 }
56122987 29045 },
56122987
DM
29046 "permissions" : {
29047 "check" : [
29048 "perm",
7aacca6f 29049 "/access/realm",
56122987 29050 [
7aacca6f 29051 "Realm.Allocate"
56122987
DM
29052 ]
29053 ]
29054 },
7aacca6f 29055 "protected" : 1,
7aacca6f
DM
29056 "returns" : {
29057 "type" : "null"
44660702 29058 }
7aacca6f 29059 },
44660702
DM
29060 "GET" : {
29061 "description" : "Get auth server configuration.",
29062 "method" : "GET",
29063 "name" : "read",
56122987 29064 "parameters" : {
44660702 29065 "additionalProperties" : 0,
56122987 29066 "properties" : {
7aacca6f 29067 "realm" : {
44660702 29068 "description" : "Authentication domain ID",
7aacca6f
DM
29069 "format" : "pve-realm",
29070 "maxLength" : 32,
013dc89f
DM
29071 "type" : "string",
29072 "typetext" : "<string>"
56122987 29073 }
44660702 29074 }
7aacca6f 29075 },
7aacca6f
DM
29076 "permissions" : {
29077 "check" : [
29078 "perm",
29079 "/access/realm",
29080 [
44660702
DM
29081 "Realm.Allocate",
29082 "Sys.Audit"
29083 ],
29084 "any",
29085 1
7aacca6f 29086 ]
44660702
DM
29087 },
29088 "returns" : {}
7aacca6f 29089 },
44660702
DM
29090 "PUT" : {
29091 "description" : "Update authentication server settings.",
29092 "method" : "PUT",
29093 "name" : "update",
7aacca6f 29094 "parameters" : {
44660702 29095 "additionalProperties" : 0,
7aacca6f 29096 "properties" : {
44660702
DM
29097 "base_dn" : {
29098 "description" : "LDAP base domain name",
29099 "maxLength" : 256,
29100 "optional" : 1,
29101 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29102 "type" : "string"
29103 },
4bd7df8b
DM
29104 "bind_dn" : {
29105 "description" : "LDAP bind domain name",
29106 "maxLength" : 256,
29107 "optional" : 1,
29108 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29109 "type" : "string"
29110 },
2489d6df
WB
29111 "capath" : {
29112 "default" : "/etc/ssl/certs",
29113 "description" : "Path to the CA certificate store",
29114 "optional" : 1,
29115 "type" : "string",
29116 "typetext" : "<string>"
29117 },
29118 "cert" : {
29119 "description" : "Path to the client certificate",
29120 "optional" : 1,
29121 "type" : "string",
29122 "typetext" : "<string>"
29123 },
29124 "certkey" : {
29125 "description" : "Path to the client certificate key",
29126 "optional" : 1,
29127 "type" : "string",
29128 "typetext" : "<string>"
29129 },
44660702
DM
29130 "comment" : {
29131 "description" : "Description.",
29132 "maxLength" : 4096,
29133 "optional" : 1,
013dc89f
DM
29134 "type" : "string",
29135 "typetext" : "<string>"
44660702
DM
29136 },
29137 "default" : {
29138 "description" : "Use this as default realm",
29139 "optional" : 1,
013dc89f
DM
29140 "type" : "boolean",
29141 "typetext" : "<boolean>"
44660702
DM
29142 },
29143 "delete" : {
29144 "description" : "A list of settings you want to delete.",
29145 "format" : "pve-configid-list",
29146 "maxLength" : 4096,
29147 "optional" : 1,
013dc89f
DM
29148 "type" : "string",
29149 "typetext" : "<string>"
44660702
DM
29150 },
29151 "digest" : {
29152 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29153 "maxLength" : 40,
29154 "optional" : 1,
013dc89f
DM
29155 "type" : "string",
29156 "typetext" : "<string>"
44660702
DM
29157 },
29158 "domain" : {
29159 "description" : "AD domain name",
29160 "maxLength" : 256,
29161 "optional" : 1,
29162 "pattern" : "\\S+",
29163 "type" : "string"
29164 },
29165 "port" : {
29166 "description" : "Server port.",
29167 "maximum" : 65535,
29168 "minimum" : 1,
29169 "optional" : 1,
4bd7df8b 29170 "type" : "integer",
013dc89f 29171 "typetext" : "<integer> (1 - 65535)"
44660702 29172 },
7aacca6f 29173 "realm" : {
7aacca6f
DM
29174 "description" : "Authentication domain ID",
29175 "format" : "pve-realm",
44660702 29176 "maxLength" : 32,
013dc89f
DM
29177 "type" : "string",
29178 "typetext" : "<string>"
44660702
DM
29179 },
29180 "secure" : {
29181 "description" : "Use secure LDAPS protocol.",
29182 "optional" : 1,
013dc89f
DM
29183 "type" : "boolean",
29184 "typetext" : "<boolean>"
44660702
DM
29185 },
29186 "server1" : {
29187 "description" : "Server IP address (or DNS name)",
29188 "format" : "address",
29189 "maxLength" : 256,
29190 "optional" : 1,
013dc89f
DM
29191 "type" : "string",
29192 "typetext" : "<string>"
44660702
DM
29193 },
29194 "server2" : {
29195 "description" : "Fallback Server IP address (or DNS name)",
29196 "format" : "address",
29197 "maxLength" : 256,
29198 "optional" : 1,
013dc89f
DM
29199 "type" : "string",
29200 "typetext" : "<string>"
44660702
DM
29201 },
29202 "tfa" : {
29203 "description" : "Use Two-factor authentication.",
29204 "format" : "pve-tfa-config",
29205 "maxLength" : 128,
29206 "optional" : 1,
013dc89f
DM
29207 "type" : "string",
29208 "typetext" : "<string>"
44660702
DM
29209 },
29210 "user_attr" : {
29211 "description" : "LDAP user attribute name",
29212 "maxLength" : 256,
29213 "optional" : 1,
29214 "pattern" : "\\S{2,}",
29215 "type" : "string"
2489d6df
WB
29216 },
29217 "verify" : {
29218 "default" : 0,
29219 "description" : "Verify the server's SSL certificate",
29220 "optional" : 1,
29221 "type" : "boolean",
29222 "typetext" : "<boolean>"
7aacca6f 29223 }
56122987 29224 },
44660702 29225 "type" : "object"
56122987 29226 },
7aacca6f
DM
29227 "permissions" : {
29228 "check" : [
29229 "perm",
29230 "/access/realm",
29231 [
44660702
DM
29232 "Realm.Allocate"
29233 ]
7aacca6f
DM
29234 ]
29235 },
44660702
DM
29236 "protected" : 1,
29237 "returns" : {
29238 "type" : "null"
29239 }
56122987 29240 }
44660702
DM
29241 },
29242 "leaf" : 1,
29243 "path" : "/access/domains/{realm}",
29244 "text" : "{realm}"
56122987 29245 }
7aacca6f 29246 ],
56122987
DM
29247 "info" : {
29248 "GET" : {
44660702
DM
29249 "description" : "Authentication domain index.",
29250 "method" : "GET",
29251 "name" : "index",
29252 "parameters" : {
29253 "additionalProperties" : 0
29254 },
29255 "permissions" : {
29256 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
29257 "user" : "world"
29258 },
56122987 29259 "returns" : {
56122987
DM
29260 "items" : {
29261 "properties" : {
7aacca6f 29262 "comment" : {
52e44c50 29263 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
29264 "optional" : 1,
29265 "type" : "string"
29266 },
56122987
DM
29267 "realm" : {
29268 "type" : "string"
29269 },
29270 "tfa" : {
7aacca6f 29271 "description" : "Two-factor authentication provider.",
56122987
DM
29272 "enum" : [
29273 "yubico",
29274 "oath"
29275 ],
44660702
DM
29276 "optional" : 1,
29277 "type" : "string"
56122987
DM
29278 }
29279 },
29280 "type" : "object"
44660702
DM
29281 },
29282 "links" : [
29283 {
29284 "href" : "{realm}",
29285 "rel" : "child"
29286 }
29287 ],
29288 "type" : "array"
29289 }
56122987
DM
29290 },
29291 "POST" : {
7aacca6f 29292 "description" : "Add an authentication server.",
44660702 29293 "method" : "POST",
7aacca6f 29294 "name" : "create",
56122987 29295 "parameters" : {
44660702 29296 "additionalProperties" : 0,
56122987 29297 "properties" : {
44660702
DM
29298 "base_dn" : {
29299 "description" : "LDAP base domain name",
56122987 29300 "maxLength" : 256,
44660702
DM
29301 "optional" : 1,
29302 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 29303 "type" : "string"
56122987 29304 },
4bd7df8b
DM
29305 "bind_dn" : {
29306 "description" : "LDAP bind domain name",
29307 "maxLength" : 256,
29308 "optional" : 1,
29309 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29310 "type" : "string"
29311 },
2489d6df
WB
29312 "capath" : {
29313 "default" : "/etc/ssl/certs",
29314 "description" : "Path to the CA certificate store",
29315 "optional" : 1,
29316 "type" : "string",
29317 "typetext" : "<string>"
29318 },
29319 "cert" : {
29320 "description" : "Path to the client certificate",
29321 "optional" : 1,
29322 "type" : "string",
29323 "typetext" : "<string>"
29324 },
29325 "certkey" : {
29326 "description" : "Path to the client certificate key",
29327 "optional" : 1,
29328 "type" : "string",
29329 "typetext" : "<string>"
29330 },
44660702
DM
29331 "comment" : {
29332 "description" : "Description.",
29333 "maxLength" : 4096,
56122987 29334 "optional" : 1,
013dc89f
DM
29335 "type" : "string",
29336 "typetext" : "<string>"
56122987 29337 },
44660702
DM
29338 "default" : {
29339 "description" : "Use this as default realm",
7aacca6f 29340 "optional" : 1,
013dc89f
DM
29341 "type" : "boolean",
29342 "typetext" : "<boolean>"
56122987 29343 },
44660702
DM
29344 "domain" : {
29345 "description" : "AD domain name",
29346 "maxLength" : 256,
7aacca6f 29347 "optional" : 1,
44660702
DM
29348 "pattern" : "\\S+",
29349 "type" : "string"
56122987 29350 },
7aacca6f 29351 "port" : {
44660702 29352 "description" : "Server port.",
7aacca6f 29353 "maximum" : 65535,
44660702 29354 "minimum" : 1,
7aacca6f 29355 "optional" : 1,
4bd7df8b 29356 "type" : "integer",
013dc89f 29357 "typetext" : "<integer> (1 - 65535)"
56122987 29358 },
44660702
DM
29359 "realm" : {
29360 "description" : "Authentication domain ID",
29361 "format" : "pve-realm",
29362 "maxLength" : 32,
013dc89f
DM
29363 "type" : "string",
29364 "typetext" : "<string>"
44660702
DM
29365 },
29366 "secure" : {
29367 "description" : "Use secure LDAPS protocol.",
7aacca6f 29368 "optional" : 1,
013dc89f
DM
29369 "type" : "boolean",
29370 "typetext" : "<boolean>"
56122987 29371 },
44660702
DM
29372 "server1" : {
29373 "description" : "Server IP address (or DNS name)",
29374 "format" : "address",
29375 "maxLength" : 256,
29376 "optional" : 1,
013dc89f
DM
29377 "type" : "string",
29378 "typetext" : "<string>"
56122987 29379 },
44660702
DM
29380 "server2" : {
29381 "description" : "Fallback Server IP address (or DNS name)",
29382 "format" : "address",
7aacca6f 29383 "maxLength" : 256,
7aacca6f 29384 "optional" : 1,
013dc89f
DM
29385 "type" : "string",
29386 "typetext" : "<string>"
7aacca6f 29387 },
44660702
DM
29388 "tfa" : {
29389 "description" : "Use Two-factor authentication.",
29390 "format" : "pve-tfa-config",
29391 "maxLength" : 128,
29392 "optional" : 1,
013dc89f
DM
29393 "type" : "string",
29394 "typetext" : "<string>"
44660702
DM
29395 },
29396 "type" : {
29397 "description" : "Realm type.",
29398 "enum" : [
29399 "ad",
29400 "ldap",
29401 "pam",
29402 "pve"
29403 ],
29404 "type" : "string"
29405 },
29406 "user_attr" : {
29407 "description" : "LDAP user attribute name",
7aacca6f 29408 "maxLength" : 256,
7aacca6f 29409 "optional" : 1,
44660702
DM
29410 "pattern" : "\\S{2,}",
29411 "type" : "string"
2489d6df
WB
29412 },
29413 "verify" : {
29414 "default" : 0,
29415 "description" : "Verify the server's SSL certificate",
29416 "optional" : 1,
29417 "type" : "boolean",
29418 "typetext" : "<boolean>"
7aacca6f
DM
29419 }
29420 },
7aacca6f 29421 "type" : "object"
56122987 29422 },
7aacca6f
DM
29423 "permissions" : {
29424 "check" : [
29425 "perm",
29426 "/access/realm",
29427 [
29428 "Realm.Allocate"
29429 ]
29430 ]
44660702
DM
29431 },
29432 "protected" : 1,
29433 "returns" : {
29434 "type" : "null"
7aacca6f 29435 }
56122987 29436 }
7aacca6f 29437 },
44660702 29438 "leaf" : 0,
56122987 29439 "path" : "/access/domains",
44660702 29440 "text" : "domains"
56122987
DM
29441 },
29442 {
56122987 29443 "info" : {
44660702 29444 "GET" : {
2489d6df 29445 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
29446 "method" : "GET",
29447 "name" : "get_ticket",
29448 "parameters" : {
29449 "additionalProperties" : 0
29450 },
29451 "permissions" : {
29452 "user" : "world"
29453 },
29454 "returns" : {
29455 "type" : "null"
29456 }
29457 },
56122987 29458 "POST" : {
44660702 29459 "description" : "Create or verify authentication ticket.",
56122987 29460 "method" : "POST",
44660702
DM
29461 "name" : "create_ticket",
29462 "parameters" : {
29463 "additionalProperties" : 0,
56122987 29464 "properties" : {
44660702
DM
29465 "otp" : {
29466 "description" : "One-time password for Two-factor authentication.",
7aacca6f 29467 "optional" : 1,
013dc89f
DM
29468 "type" : "string",
29469 "typetext" : "<string>"
56122987 29470 },
7aacca6f
DM
29471 "password" : {
29472 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
29473 "type" : "string",
29474 "typetext" : "<string>"
7aacca6f 29475 },
44660702
DM
29476 "path" : {
29477 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 29478 "maxLength" : 64,
56122987 29479 "optional" : 1,
56122987 29480 "requires" : "privs",
013dc89f
DM
29481 "type" : "string",
29482 "typetext" : "<string>"
44660702
DM
29483 },
29484 "privs" : {
7aacca6f 29485 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
29486 "format" : "pve-priv-list",
29487 "maxLength" : 64,
56122987 29488 "optional" : 1,
44660702 29489 "requires" : "path",
013dc89f
DM
29490 "type" : "string",
29491 "typetext" : "<string>"
56122987
DM
29492 },
29493 "realm" : {
56122987 29494 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 29495 "format" : "pve-realm",
7aacca6f 29496 "maxLength" : 32,
44660702 29497 "optional" : 1,
013dc89f
DM
29498 "type" : "string",
29499 "typetext" : "<string>"
56122987
DM
29500 },
29501 "username" : {
29502 "description" : "User name",
44660702 29503 "maxLength" : 64,
013dc89f
DM
29504 "type" : "string",
29505 "typetext" : "<string>"
56122987 29506 }
44660702 29507 }
7aacca6f 29508 },
56122987 29509 "permissions" : {
44660702 29510 "description" : "You need to pass valid credientials.",
56122987
DM
29511 "user" : "world"
29512 },
44660702 29513 "protected" : 1,
7aacca6f 29514 "returns" : {
56122987 29515 "properties" : {
44660702
DM
29516 "CSRFPreventionToken" : {
29517 "optional" : 1,
29518 "type" : "string"
56122987 29519 },
44660702
DM
29520 "ticket" : {
29521 "optional" : 1,
29522 "type" : "string"
29523 },
29524 "username" : {
56122987
DM
29525 "type" : "string"
29526 }
29527 },
44660702 29528 "type" : "object"
7aacca6f 29529 }
7aacca6f
DM
29530 }
29531 },
44660702
DM
29532 "leaf" : 1,
29533 "path" : "/access/ticket",
29534 "text" : "ticket"
7aacca6f 29535 },
56122987 29536 {
56122987 29537 "info" : {
7aacca6f 29538 "PUT" : {
44660702 29539 "description" : "Change user password.",
7aacca6f 29540 "method" : "PUT",
44660702 29541 "name" : "change_passsword",
56122987
DM
29542 "parameters" : {
29543 "additionalProperties" : 0,
29544 "properties" : {
44660702
DM
29545 "password" : {
29546 "description" : "The new password.",
29547 "maxLength" : 64,
29548 "minLength" : 5,
013dc89f
DM
29549 "type" : "string",
29550 "typetext" : "<string>"
7aacca6f 29551 },
44660702
DM
29552 "userid" : {
29553 "description" : "User ID",
29554 "format" : "pve-userid",
29555 "maxLength" : 64,
013dc89f
DM
29556 "type" : "string",
29557 "typetext" : "<string>"
56122987 29558 }
7aacca6f 29559 }
56122987
DM
29560 },
29561 "permissions" : {
29562 "check" : [
44660702 29563 "or",
56122987 29564 [
44660702
DM
29565 "userid-param",
29566 "self"
29567 ],
29568 [
29569 "and",
29570 [
29571 "userid-param",
29572 "Realm.AllocateUser"
29573 ],
29574 [
29575 "userid-group",
29576 [
29577 "User.Modify"
29578 ]
29579 ]
56122987 29580 ]
7aacca6f 29581 ],
44660702 29582 "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 29583 },
44660702 29584 "protected" : 1,
7aacca6f
DM
29585 "returns" : {
29586 "type" : "null"
44660702
DM
29587 }
29588 }
29589 },
29590 "leaf" : 1,
29591 "path" : "/access/password",
29592 "text" : "password"
29593 }
29594 ],
29595 "info" : {
29596 "GET" : {
29597 "description" : "Directory index.",
29598 "method" : "GET",
29599 "name" : "index",
29600 "parameters" : {
29601 "additionalProperties" : 0
29602 },
29603 "permissions" : {
29604 "user" : "all"
29605 },
29606 "returns" : {
29607 "items" : {
29608 "properties" : {
29609 "subdir" : {
29610 "type" : "string"
29611 }
7aacca6f 29612 },
44660702
DM
29613 "type" : "object"
29614 },
29615 "links" : [
29616 {
29617 "href" : "{subdir}",
29618 "rel" : "child"
29619 }
29620 ],
29621 "type" : "array"
29622 }
29623 }
29624 },
29625 "leaf" : 0,
29626 "path" : "/access",
29627 "text" : "access"
29628 },
29629 {
29630 "children" : [
29631 {
29632 "info" : {
29633 "DELETE" : {
7aacca6f 29634 "description" : "Delete pool.",
44660702
DM
29635 "method" : "DELETE",
29636 "name" : "delete_pool",
7aacca6f
DM
29637 "parameters" : {
29638 "additionalProperties" : 0,
29639 "properties" : {
29640 "poolid" : {
29641 "format" : "pve-poolid",
013dc89f
DM
29642 "type" : "string",
29643 "typetext" : "<string>"
7aacca6f
DM
29644 }
29645 }
29646 },
56122987
DM
29647 "permissions" : {
29648 "check" : [
29649 "perm",
29650 "/pool/{poolid}",
29651 [
29652 "Pool.Allocate"
29653 ]
44660702
DM
29654 ],
29655 "description" : "You can only delete empty pools (no members)."
29656 },
29657 "protected" : 1,
29658 "returns" : {
29659 "type" : "null"
7aacca6f
DM
29660 }
29661 },
29662 "GET" : {
29663 "description" : "Get pool configuration.",
44660702 29664 "method" : "GET",
7aacca6f 29665 "name" : "read_pool",
56122987 29666 "parameters" : {
44660702 29667 "additionalProperties" : 0,
56122987
DM
29668 "properties" : {
29669 "poolid" : {
44660702 29670 "format" : "pve-poolid",
013dc89f
DM
29671 "type" : "string",
29672 "typetext" : "<string>"
56122987 29673 }
44660702 29674 }
56122987 29675 },
56122987 29676 "permissions" : {
56122987
DM
29677 "check" : [
29678 "perm",
29679 "/pool/{poolid}",
29680 [
29681 "Pool.Allocate"
29682 ]
29683 ]
29684 },
7aacca6f 29685 "returns" : {
44660702 29686 "additionalProperties" : 0,
56122987 29687 "properties" : {
44660702
DM
29688 "comment" : {
29689 "optional" : 1,
29690 "type" : "string"
29691 },
7aacca6f 29692 "members" : {
7aacca6f
DM
29693 "items" : {
29694 "additionalProperties" : 1,
7aacca6f 29695 "properties" : {
7aacca6f
DM
29696 "id" : {
29697 "type" : "string"
29698 },
29699 "node" : {
29700 "type" : "string"
29701 },
44660702
DM
29702 "storage" : {
29703 "optional" : 1,
29704 "type" : "string"
29705 },
7aacca6f 29706 "type" : {
7aacca6f
DM
29707 "enum" : [
29708 "qemu",
29709 "lxc",
29710 "openvz",
29711 "storage"
44660702
DM
29712 ],
29713 "type" : "string"
29714 },
29715 "vmid" : {
29716 "optional" : 1,
29717 "type" : "integer"
7aacca6f 29718 }
44660702
DM
29719 },
29720 "type" : "object"
29721 },
29722 "type" : "array"
29723 }
29724 },
29725 "type" : "object"
29726 }
29727 },
29728 "PUT" : {
29729 "description" : "Update pool data.",
29730 "method" : "PUT",
29731 "name" : "update_pool",
29732 "parameters" : {
29733 "additionalProperties" : 0,
29734 "properties" : {
56122987
DM
29735 "comment" : {
29736 "optional" : 1,
013dc89f
DM
29737 "type" : "string",
29738 "typetext" : "<string>"
44660702
DM
29739 },
29740 "delete" : {
29741 "description" : "Remove vms/storage (instead of adding it).",
29742 "optional" : 1,
013dc89f
DM
29743 "type" : "boolean",
29744 "typetext" : "<boolean>"
44660702
DM
29745 },
29746 "poolid" : {
29747 "format" : "pve-poolid",
013dc89f
DM
29748 "type" : "string",
29749 "typetext" : "<string>"
44660702
DM
29750 },
29751 "storage" : {
29752 "description" : "List of storage IDs.",
29753 "format" : "pve-storage-id-list",
29754 "optional" : 1,
013dc89f
DM
29755 "type" : "string",
29756 "typetext" : "<string>"
44660702
DM
29757 },
29758 "vms" : {
29759 "description" : "List of virtual machines.",
29760 "format" : "pve-vmid-list",
29761 "optional" : 1,
013dc89f
DM
29762 "type" : "string",
29763 "typetext" : "<string>"
56122987 29764 }
44660702
DM
29765 }
29766 },
29767 "permissions" : {
29768 "check" : [
29769 "perm",
29770 "/pool/{poolid}",
29771 [
29772 "Pool.Allocate"
29773 ]
29774 ],
29775 "description" : "You also need the right to modify permissions on any object you add/delete."
29776 },
29777 "protected" : 1,
29778 "returns" : {
29779 "type" : "null"
56122987
DM
29780 }
29781 }
29782 },
44660702
DM
29783 "leaf" : 1,
29784 "path" : "/pools/{poolid}",
7aacca6f 29785 "text" : "{poolid}"
56122987 29786 }
7aacca6f 29787 ],
56122987
DM
29788 "info" : {
29789 "GET" : {
44660702
DM
29790 "description" : "Pool index.",
29791 "method" : "GET",
29792 "name" : "index",
29793 "parameters" : {
29794 "additionalProperties" : 0
29795 },
29796 "permissions" : {
29797 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
29798 "user" : "all"
29799 },
56122987 29800 "returns" : {
44660702
DM
29801 "items" : {
29802 "properties" : {
29803 "poolid" : {
29804 "type" : "string"
29805 }
56122987 29806 },
44660702
DM
29807 "type" : "object"
29808 },
29809 "links" : [
29810 {
29811 "href" : "{poolid}",
29812 "rel" : "child"
29813 }
29814 ],
29815 "type" : "array"
29816 }
29817 },
29818 "POST" : {
29819 "description" : "Create new pool.",
29820 "method" : "POST",
29821 "name" : "create_pool",
29822 "parameters" : {
29823 "additionalProperties" : 0,
29824 "properties" : {
29825 "comment" : {
29826 "optional" : 1,
013dc89f
DM
29827 "type" : "string",
29828 "typetext" : "<string>"
7aacca6f 29829 },
44660702
DM
29830 "poolid" : {
29831 "format" : "pve-poolid",
013dc89f
DM
29832 "type" : "string",
29833 "typetext" : "<string>"
56122987
DM
29834 }
29835 }
29836 },
56122987 29837 "permissions" : {
44660702
DM
29838 "check" : [
29839 "perm",
29840 "/pool/{poolid}",
29841 [
29842 "Pool.Allocate"
29843 ]
29844 ]
56122987 29845 },
44660702
DM
29846 "protected" : 1,
29847 "returns" : {
29848 "type" : "null"
29849 }
29850 }
29851 },
29852 "leaf" : 0,
29853 "path" : "/pools",
29854 "text" : "pools"
29855 },
29856 {
29857 "info" : {
29858 "GET" : {
29859 "description" : "API version details. The result also includes the global datacenter confguration.",
29860 "method" : "GET",
29861 "name" : "version",
7aacca6f
DM
29862 "parameters" : {
29863 "additionalProperties" : 0
29864 },
44660702
DM
29865 "permissions" : {
29866 "user" : "all"
29867 },
29868 "returns" : {
29869 "properties" : {
29870 "release" : {
29871 "type" : "string"
29872 },
29873 "repoid" : {
29874 "type" : "string"
29875 },
29876 "version" : {
29877 "type" : "string"
29878 }
29879 },
29880 "type" : "object"
29881 }
56122987
DM
29882 }
29883 },
44660702
DM
29884 "leaf" : 1,
29885 "path" : "/version",
56122987
DM
29886 "text" : "version"
29887 }
29888]
29889;
29890