]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update API
[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" : {
44660702
DM
2270 "enable" : {
2271 "description" : "Enable or disable the firewall cluster wide.",
2272 "minimum" : 0,
56122987 2273 "optional" : 1,
7aacca6f 2274 "type" : "integer"
56122987 2275 },
44660702
DM
2276 "policy_in" : {
2277 "description" : "Input policy.",
2278 "enum" : [
2279 "ACCEPT",
2280 "REJECT",
2281 "DROP"
2282 ],
56122987 2283 "optional" : 1,
44660702 2284 "type" : "string"
7aacca6f 2285 },
44660702
DM
2286 "policy_out" : {
2287 "description" : "Output policy.",
2288 "enum" : [
2289 "ACCEPT",
2290 "REJECT",
2291 "DROP"
2292 ],
7aacca6f 2293 "optional" : 1,
44660702
DM
2294 "type" : "string"
2295 }
2296 },
2297 "type" : "object"
2298 }
2299 },
2300 "PUT" : {
2301 "description" : "Set Firewall options.",
2302 "method" : "PUT",
2303 "name" : "set_options",
2304 "parameters" : {
2305 "additionalProperties" : 0,
2306 "properties" : {
2307 "delete" : {
2308 "description" : "A list of settings you want to delete.",
2309 "format" : "pve-configid-list",
56122987 2310 "optional" : 1,
013dc89f
DM
2311 "type" : "string",
2312 "typetext" : "<string>"
56122987 2313 },
44660702
DM
2314 "digest" : {
2315 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2316 "maxLength" : 40,
56122987 2317 "optional" : 1,
013dc89f
DM
2318 "type" : "string",
2319 "typetext" : "<string>"
56122987 2320 },
44660702
DM
2321 "enable" : {
2322 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2323 "minimum" : 0,
56122987 2324 "optional" : 1,
4bd7df8b 2325 "type" : "integer",
013dc89f 2326 "typetext" : "<integer> (0 - N)"
56122987 2327 },
44660702
DM
2328 "policy_in" : {
2329 "description" : "Input policy.",
56122987 2330 "enum" : [
44660702
DM
2331 "ACCEPT",
2332 "REJECT",
2333 "DROP"
56122987 2334 ],
56122987 2335 "optional" : 1,
44660702 2336 "type" : "string"
56122987 2337 },
44660702
DM
2338 "policy_out" : {
2339 "description" : "Output policy.",
56122987 2340 "enum" : [
44660702
DM
2341 "ACCEPT",
2342 "REJECT",
2343 "DROP"
56122987 2344 ],
7aacca6f 2345 "optional" : 1,
44660702 2346 "type" : "string"
56122987 2347 }
44660702
DM
2348 }
2349 },
2350 "permissions" : {
2351 "check" : [
2352 "perm",
2353 "/",
2354 [
2355 "Sys.Modify"
2356 ]
2357 ]
7aacca6f
DM
2358 },
2359 "protected" : 1,
44660702
DM
2360 "returns" : {
2361 "type" : "null"
2362 }
2363 }
2364 },
2365 "leaf" : 1,
2366 "path" : "/cluster/firewall/options",
2367 "text" : "options"
2368 },
2369 {
2370 "info" : {
7aacca6f 2371 "GET" : {
44660702 2372 "description" : "List available macros",
7aacca6f 2373 "method" : "GET",
44660702
DM
2374 "name" : "get_macros",
2375 "parameters" : {
2376 "additionalProperties" : 0
7aacca6f 2377 },
44660702
DM
2378 "permissions" : {
2379 "user" : "all"
2380 },
2381 "returns" : {
2382 "items" : {
2383 "properties" : {
2384 "descr" : {
2385 "description" : "More verbose description (if available).",
2386 "type" : "string"
2387 },
2388 "macro" : {
2389 "description" : "Macro name.",
2390 "type" : "string"
2391 }
2392 },
2393 "type" : "object"
2394 },
2395 "type" : "array"
2396 }
2397 }
2398 },
2399 "leaf" : 1,
2400 "path" : "/cluster/firewall/macros",
2401 "text" : "macros"
2402 },
2403 {
2404 "info" : {
2405 "GET" : {
2406 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2407 "method" : "GET",
2408 "name" : "refs",
7aacca6f 2409 "parameters" : {
44660702 2410 "additionalProperties" : 0,
7aacca6f 2411 "properties" : {
44660702
DM
2412 "type" : {
2413 "description" : "Only list references of specified type.",
2414 "enum" : [
2415 "alias",
2416 "ipset"
2417 ],
2418 "optional" : 1,
2419 "type" : "string"
7aacca6f 2420 }
44660702 2421 }
7aacca6f
DM
2422 },
2423 "permissions" : {
2424 "check" : [
2425 "perm",
2426 "/",
2427 [
2428 "Sys.Audit"
2429 ]
2430 ]
2431 },
44660702
DM
2432 "returns" : {
2433 "items" : {
2434 "properties" : {
2435 "comment" : {
2436 "optional" : 1,
2437 "type" : "string"
2438 },
2439 "name" : {
2440 "type" : "string"
2441 },
2442 "ref" : {
2443 "type" : "string"
2444 },
2445 "type" : {
2446 "enum" : [
2447 "alias",
2448 "ipset"
2449 ],
2450 "type" : "string"
2451 }
2452 },
2453 "type" : "object"
2454 },
2455 "type" : "array"
2456 }
56122987
DM
2457 }
2458 },
7aacca6f 2459 "leaf" : 1,
44660702
DM
2460 "path" : "/cluster/firewall/refs",
2461 "text" : "refs"
56122987
DM
2462 }
2463 ],
56122987 2464 "info" : {
44660702
DM
2465 "GET" : {
2466 "description" : "Directory index.",
2467 "method" : "GET",
2468 "name" : "index",
56122987 2469 "parameters" : {
56122987
DM
2470 "additionalProperties" : 0
2471 },
44660702
DM
2472 "permissions" : {
2473 "user" : "all"
2474 },
56122987 2475 "returns" : {
44660702
DM
2476 "items" : {
2477 "properties" : {},
2478 "type" : "object"
2479 },
7aacca6f
DM
2480 "links" : [
2481 {
44660702
DM
2482 "href" : "{name}",
2483 "rel" : "child"
7aacca6f
DM
2484 }
2485 ],
7aacca6f 2486 "type" : "array"
7aacca6f 2487 }
56122987
DM
2488 }
2489 },
44660702
DM
2490 "leaf" : 0,
2491 "path" : "/cluster/firewall",
2492 "text" : "firewall"
7aacca6f
DM
2493 },
2494 {
56122987
DM
2495 "children" : [
2496 {
56122987 2497 "info" : {
44660702
DM
2498 "DELETE" : {
2499 "description" : "Delete vzdump backup job definition.",
2500 "method" : "DELETE",
2501 "name" : "delete_job",
2502 "parameters" : {
2503 "additionalProperties" : 0,
2504 "properties" : {
2505 "id" : {
2506 "description" : "The job ID.",
2507 "maxLength" : 50,
013dc89f
DM
2508 "type" : "string",
2509 "typetext" : "<string>"
44660702
DM
2510 }
2511 }
2512 },
2513 "permissions" : {
2514 "check" : [
2515 "perm",
2516 "/",
2517 [
2518 "Sys.Modify"
2519 ]
2520 ]
2521 },
2522 "protected" : 1,
56122987
DM
2523 "returns" : {
2524 "type" : "null"
44660702
DM
2525 }
2526 },
2527 "GET" : {
2528 "description" : "Read vzdump backup job definition.",
2529 "method" : "GET",
2530 "name" : "read_job",
2531 "parameters" : {
2532 "additionalProperties" : 0,
2533 "properties" : {
2534 "id" : {
2535 "description" : "The job ID.",
2536 "maxLength" : 50,
013dc89f
DM
2537 "type" : "string",
2538 "typetext" : "<string>"
44660702
DM
2539 }
2540 }
56122987 2541 },
7aacca6f
DM
2542 "permissions" : {
2543 "check" : [
2544 "perm",
2545 "/",
2546 [
44660702 2547 "Sys.Audit"
7aacca6f
DM
2548 ]
2549 ]
2550 },
44660702
DM
2551 "returns" : {
2552 "type" : "object"
2553 }
2554 },
2555 "PUT" : {
2556 "description" : "Update vzdump backup job definition.",
2557 "method" : "PUT",
2558 "name" : "update_job",
56122987 2559 "parameters" : {
44660702 2560 "additionalProperties" : 0,
56122987 2561 "properties" : {
44660702
DM
2562 "all" : {
2563 "default" : 0,
2564 "description" : "Backup all known guest systems on this host.",
7aacca6f 2565 "optional" : 1,
013dc89f
DM
2566 "type" : "boolean",
2567 "typetext" : "<boolean>"
7aacca6f 2568 },
44660702
DM
2569 "bwlimit" : {
2570 "default" : 0,
2571 "description" : "Limit I/O bandwidth (KBytes per second).",
2572 "minimum" : 0,
2573 "optional" : 1,
4bd7df8b 2574 "type" : "integer",
013dc89f 2575 "typetext" : "<integer> (0 - N)"
44660702
DM
2576 },
2577 "compress" : {
2578 "default" : "0",
2579 "description" : "Compress dump file.",
7aacca6f 2580 "enum" : [
44660702
DM
2581 "0",
2582 "1",
2583 "gzip",
2584 "lzo"
7aacca6f 2585 ],
44660702
DM
2586 "optional" : 1,
2587 "type" : "string"
7aacca6f 2588 },
44660702
DM
2589 "delete" : {
2590 "description" : "A list of settings you want to delete.",
2591 "format" : "pve-configid-list",
7aacca6f 2592 "optional" : 1,
013dc89f
DM
2593 "type" : "string",
2594 "typetext" : "<string>"
56122987 2595 },
44660702
DM
2596 "dow" : {
2597 "description" : "Day of week selection.",
2598 "format" : "pve-day-of-week-list",
7aacca6f 2599 "optional" : 1,
013dc89f
DM
2600 "type" : "string",
2601 "typetext" : "<string>"
56122987 2602 },
44660702
DM
2603 "dumpdir" : {
2604 "description" : "Store resulting files to specified directory.",
56122987 2605 "optional" : 1,
013dc89f
DM
2606 "type" : "string",
2607 "typetext" : "<string>"
56122987 2608 },
44660702
DM
2609 "enabled" : {
2610 "default" : "1",
2611 "description" : "Enable or disable the job.",
2612 "optional" : 1,
013dc89f
DM
2613 "type" : "boolean",
2614 "typetext" : "<boolean>"
44660702
DM
2615 },
2616 "exclude" : {
2617 "description" : "Exclude specified guest systems (assumes --all)",
2618 "format" : "pve-vmid-list",
2619 "optional" : 1,
013dc89f
DM
2620 "type" : "string",
2621 "typetext" : "<string>"
44660702
DM
2622 },
2623 "exclude-path" : {
2624 "description" : "Exclude certain files/directories (shell globs).",
2625 "format" : "string-alist",
2626 "optional" : 1,
013dc89f
DM
2627 "type" : "string",
2628 "typetext" : "<string>"
44660702
DM
2629 },
2630 "id" : {
2631 "description" : "The job ID.",
2632 "maxLength" : 50,
013dc89f
DM
2633 "type" : "string",
2634 "typetext" : "<string>"
44660702
DM
2635 },
2636 "ionice" : {
2637 "default" : 7,
2638 "description" : "Set CFQ ionice priority.",
2639 "maximum" : 8,
2640 "minimum" : 0,
2641 "optional" : 1,
4bd7df8b 2642 "type" : "integer",
013dc89f 2643 "typetext" : "<integer> (0 - 8)"
44660702
DM
2644 },
2645 "lockwait" : {
2646 "default" : 180,
2647 "description" : "Maximal time to wait for the global lock (minutes).",
2648 "minimum" : 0,
2649 "optional" : 1,
4bd7df8b 2650 "type" : "integer",
013dc89f 2651 "typetext" : "<integer> (0 - N)"
44660702
DM
2652 },
2653 "mailnotification" : {
2654 "default" : "always",
2655 "description" : "Specify when to send an email",
56122987 2656 "enum" : [
44660702
DM
2657 "always",
2658 "failure"
56122987 2659 ],
44660702
DM
2660 "optional" : 1,
2661 "type" : "string"
2662 },
2663 "mailto" : {
2664 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2665 "format" : "string-list",
2666 "optional" : 1,
013dc89f
DM
2667 "type" : "string",
2668 "typetext" : "<string>"
44660702
DM
2669 },
2670 "maxfiles" : {
2671 "default" : 1,
2672 "description" : "Maximal number of backup files per guest system.",
2673 "minimum" : 1,
2674 "optional" : 1,
4bd7df8b 2675 "type" : "integer",
013dc89f 2676 "typetext" : "<integer> (1 - N)"
44660702
DM
2677 },
2678 "mode" : {
2679 "default" : "snapshot",
2680 "description" : "Backup mode.",
2681 "enum" : [
2682 "snapshot",
2683 "suspend",
2684 "stop"
2685 ],
2686 "optional" : 1,
2687 "type" : "string"
2688 },
2689 "node" : {
2690 "description" : "Only run if executed on this node.",
2691 "format" : "pve-node",
2692 "optional" : 1,
013dc89f
DM
2693 "type" : "string",
2694 "typetext" : "<string>"
44660702
DM
2695 },
2696 "pigz" : {
2697 "default" : 0,
2698 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2699 "optional" : 1,
013dc89f
DM
2700 "type" : "integer",
2701 "typetext" : "<integer>"
44660702
DM
2702 },
2703 "quiet" : {
2704 "default" : 0,
2705 "description" : "Be quiet.",
2706 "optional" : 1,
013dc89f
DM
2707 "type" : "boolean",
2708 "typetext" : "<boolean>"
44660702
DM
2709 },
2710 "remove" : {
2711 "default" : 1,
2712 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2713 "optional" : 1,
013dc89f
DM
2714 "type" : "boolean",
2715 "typetext" : "<boolean>"
44660702
DM
2716 },
2717 "script" : {
2718 "description" : "Use specified hook script.",
2719 "optional" : 1,
013dc89f
DM
2720 "type" : "string",
2721 "typetext" : "<string>"
44660702
DM
2722 },
2723 "size" : {
2724 "default" : 1024,
2725 "description" : "Unused, will be removed in a future release.",
2726 "minimum" : 500,
2727 "optional" : 1,
4bd7df8b 2728 "type" : "integer",
013dc89f 2729 "typetext" : "<integer> (500 - N)"
44660702
DM
2730 },
2731 "starttime" : {
2732 "description" : "Job Start time.",
2733 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2734 "type" : "string",
44660702 2735 "typetext" : "HH:MM"
7aacca6f 2736 },
44660702
DM
2737 "stdexcludes" : {
2738 "default" : 1,
2739 "description" : "Exclude temporary files and logs.",
2740 "optional" : 1,
013dc89f
DM
2741 "type" : "boolean",
2742 "typetext" : "<boolean>"
44660702
DM
2743 },
2744 "stop" : {
2745 "default" : 0,
2746 "description" : "Stop runnig backup jobs on this host.",
2747 "optional" : 1,
013dc89f
DM
2748 "type" : "boolean",
2749 "typetext" : "<boolean>"
44660702
DM
2750 },
2751 "stopwait" : {
2752 "default" : 10,
2753 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2754 "minimum" : 0,
2755 "optional" : 1,
4bd7df8b 2756 "type" : "integer",
013dc89f 2757 "typetext" : "<integer> (0 - N)"
44660702
DM
2758 },
2759 "storage" : {
2760 "description" : "Store resulting file to this storage.",
2761 "format" : "pve-storage-id",
2762 "optional" : 1,
013dc89f
DM
2763 "type" : "string",
2764 "typetext" : "<string>"
56122987 2765 },
44660702
DM
2766 "tmpdir" : {
2767 "description" : "Store temporary files to specified directory.",
2768 "optional" : 1,
013dc89f
DM
2769 "type" : "string",
2770 "typetext" : "<string>"
44660702
DM
2771 },
2772 "vmid" : {
2773 "description" : "The ID of the guest system you want to backup.",
2774 "format" : "pve-vmid-list",
2775 "optional" : 1,
013dc89f
DM
2776 "type" : "string",
2777 "typetext" : "<string>"
56122987 2778 }
44660702 2779 }
56122987
DM
2780 },
2781 "permissions" : {
2782 "check" : [
2783 "perm",
2784 "/",
2785 [
44660702 2786 "Sys.Modify"
56122987
DM
2787 ]
2788 ]
2789 },
44660702
DM
2790 "protected" : 1,
2791 "returns" : {
2792 "type" : "null"
7aacca6f 2793 }
56122987
DM
2794 }
2795 },
44660702
DM
2796 "leaf" : 1,
2797 "path" : "/cluster/backup/{id}",
2798 "text" : "{id}"
2799 }
2800 ],
2801 "info" : {
2802 "GET" : {
2803 "description" : "List vzdump backup schedule.",
2804 "method" : "GET",
2805 "name" : "index",
2806 "parameters" : {
2807 "additionalProperties" : 0
2808 },
2809 "permissions" : {
2810 "check" : [
2811 "perm",
2812 "/",
2813 [
2814 "Sys.Audit"
2815 ]
2816 ]
2817 },
2818 "returns" : {
2819 "items" : {
2820 "properties" : {
2821 "id" : {
2822 "type" : "string"
2823 }
2824 },
2825 "type" : "object"
2826 },
2827 "links" : [
2828 {
2829 "href" : "{id}",
2830 "rel" : "child"
2831 }
2832 ],
2833 "type" : "array"
2834 }
2835 },
2836 "POST" : {
2837 "description" : "Create new vzdump backup job.",
2838 "method" : "POST",
2839 "name" : "create_job",
2840 "parameters" : {
2841 "additionalProperties" : 0,
2842 "properties" : {
2843 "all" : {
2844 "default" : 0,
2845 "description" : "Backup all known guest systems on this host.",
2846 "optional" : 1,
013dc89f
DM
2847 "type" : "boolean",
2848 "typetext" : "<boolean>"
44660702
DM
2849 },
2850 "bwlimit" : {
2851 "default" : 0,
2852 "description" : "Limit I/O bandwidth (KBytes per second).",
2853 "minimum" : 0,
2854 "optional" : 1,
4bd7df8b 2855 "type" : "integer",
013dc89f 2856 "typetext" : "<integer> (0 - N)"
44660702
DM
2857 },
2858 "compress" : {
2859 "default" : "0",
2860 "description" : "Compress dump file.",
2861 "enum" : [
2862 "0",
2863 "1",
2864 "gzip",
2865 "lzo"
2866 ],
2867 "optional" : 1,
2868 "type" : "string"
2869 },
2870 "dow" : {
2871 "default" : "mon,tue,wed,thu,fri,sat,sun",
2872 "description" : "Day of week selection.",
2873 "format" : "pve-day-of-week-list",
2874 "optional" : 1,
013dc89f
DM
2875 "type" : "string",
2876 "typetext" : "<string>"
44660702
DM
2877 },
2878 "dumpdir" : {
2879 "description" : "Store resulting files to specified directory.",
2880 "optional" : 1,
013dc89f
DM
2881 "type" : "string",
2882 "typetext" : "<string>"
44660702
DM
2883 },
2884 "enabled" : {
2885 "default" : "1",
2886 "description" : "Enable or disable the job.",
2887 "optional" : 1,
013dc89f
DM
2888 "type" : "boolean",
2889 "typetext" : "<boolean>"
44660702
DM
2890 },
2891 "exclude" : {
2892 "description" : "Exclude specified guest systems (assumes --all)",
2893 "format" : "pve-vmid-list",
2894 "optional" : 1,
013dc89f
DM
2895 "type" : "string",
2896 "typetext" : "<string>"
44660702
DM
2897 },
2898 "exclude-path" : {
2899 "description" : "Exclude certain files/directories (shell globs).",
2900 "format" : "string-alist",
2901 "optional" : 1,
013dc89f
DM
2902 "type" : "string",
2903 "typetext" : "<string>"
44660702
DM
2904 },
2905 "ionice" : {
2906 "default" : 7,
2907 "description" : "Set CFQ ionice priority.",
2908 "maximum" : 8,
2909 "minimum" : 0,
2910 "optional" : 1,
4bd7df8b 2911 "type" : "integer",
013dc89f 2912 "typetext" : "<integer> (0 - 8)"
44660702
DM
2913 },
2914 "lockwait" : {
2915 "default" : 180,
2916 "description" : "Maximal time to wait for the global lock (minutes).",
2917 "minimum" : 0,
2918 "optional" : 1,
4bd7df8b 2919 "type" : "integer",
013dc89f 2920 "typetext" : "<integer> (0 - N)"
44660702
DM
2921 },
2922 "mailnotification" : {
2923 "default" : "always",
2924 "description" : "Specify when to send an email",
2925 "enum" : [
2926 "always",
2927 "failure"
2928 ],
2929 "optional" : 1,
2930 "type" : "string"
2931 },
2932 "mailto" : {
2933 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2934 "format" : "string-list",
2935 "optional" : 1,
013dc89f
DM
2936 "type" : "string",
2937 "typetext" : "<string>"
44660702
DM
2938 },
2939 "maxfiles" : {
2940 "default" : 1,
2941 "description" : "Maximal number of backup files per guest system.",
2942 "minimum" : 1,
2943 "optional" : 1,
4bd7df8b 2944 "type" : "integer",
013dc89f 2945 "typetext" : "<integer> (1 - N)"
44660702
DM
2946 },
2947 "mode" : {
2948 "default" : "snapshot",
2949 "description" : "Backup mode.",
2950 "enum" : [
2951 "snapshot",
2952 "suspend",
2953 "stop"
2954 ],
2955 "optional" : 1,
2956 "type" : "string"
2957 },
2958 "node" : {
2959 "description" : "Only run if executed on this node.",
2960 "format" : "pve-node",
2961 "optional" : 1,
013dc89f
DM
2962 "type" : "string",
2963 "typetext" : "<string>"
44660702
DM
2964 },
2965 "pigz" : {
2966 "default" : 0,
2967 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2968 "optional" : 1,
013dc89f
DM
2969 "type" : "integer",
2970 "typetext" : "<integer>"
44660702
DM
2971 },
2972 "quiet" : {
2973 "default" : 0,
2974 "description" : "Be quiet.",
2975 "optional" : 1,
013dc89f
DM
2976 "type" : "boolean",
2977 "typetext" : "<boolean>"
44660702
DM
2978 },
2979 "remove" : {
2980 "default" : 1,
2981 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2982 "optional" : 1,
013dc89f
DM
2983 "type" : "boolean",
2984 "typetext" : "<boolean>"
44660702
DM
2985 },
2986 "script" : {
2987 "description" : "Use specified hook script.",
2988 "optional" : 1,
013dc89f
DM
2989 "type" : "string",
2990 "typetext" : "<string>"
44660702
DM
2991 },
2992 "size" : {
2993 "default" : 1024,
2994 "description" : "Unused, will be removed in a future release.",
2995 "minimum" : 500,
2996 "optional" : 1,
4bd7df8b 2997 "type" : "integer",
013dc89f 2998 "typetext" : "<integer> (500 - N)"
44660702
DM
2999 },
3000 "starttime" : {
3001 "description" : "Job Start time.",
3002 "pattern" : "\\d{1,2}:\\d{1,2}",
3003 "type" : "string",
3004 "typetext" : "HH:MM"
3005 },
3006 "stdexcludes" : {
3007 "default" : 1,
3008 "description" : "Exclude temporary files and logs.",
3009 "optional" : 1,
013dc89f
DM
3010 "type" : "boolean",
3011 "typetext" : "<boolean>"
44660702
DM
3012 },
3013 "stop" : {
3014 "default" : 0,
3015 "description" : "Stop runnig backup jobs on this host.",
3016 "optional" : 1,
013dc89f
DM
3017 "type" : "boolean",
3018 "typetext" : "<boolean>"
44660702
DM
3019 },
3020 "stopwait" : {
3021 "default" : 10,
3022 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3023 "minimum" : 0,
3024 "optional" : 1,
4bd7df8b 3025 "type" : "integer",
013dc89f 3026 "typetext" : "<integer> (0 - N)"
44660702
DM
3027 },
3028 "storage" : {
3029 "description" : "Store resulting file to this storage.",
3030 "format" : "pve-storage-id",
3031 "optional" : 1,
013dc89f
DM
3032 "type" : "string",
3033 "typetext" : "<string>"
44660702
DM
3034 },
3035 "tmpdir" : {
3036 "description" : "Store temporary files to specified directory.",
3037 "optional" : 1,
013dc89f
DM
3038 "type" : "string",
3039 "typetext" : "<string>"
44660702
DM
3040 },
3041 "vmid" : {
3042 "description" : "The ID of the guest system you want to backup.",
3043 "format" : "pve-vmid-list",
3044 "optional" : 1,
013dc89f
DM
3045 "type" : "string",
3046 "typetext" : "<string>"
44660702
DM
3047 }
3048 }
3049 },
3050 "permissions" : {
3051 "check" : [
3052 "perm",
3053 "/",
3054 [
3055 "Sys.Modify"
3056 ]
de0983cb
DM
3057 ],
3058 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3059 },
3060 "protected" : 1,
3061 "returns" : {
3062 "type" : "null"
3063 }
3064 }
3065 },
3066 "leaf" : 0,
3067 "path" : "/cluster/backup",
3068 "text" : "backup"
3069 },
3070 {
3071 "children" : [
3072 {
3073 "children" : [
3074 {
3075 "children" : [
56122987 3076 {
56122987
DM
3077 "info" : {
3078 "POST" : {
44660702
DM
3079 "description" : "Request resource migration (online) to another node.",
3080 "method" : "POST",
3081 "name" : "migrate",
56122987 3082 "parameters" : {
7aacca6f 3083 "additionalProperties" : 0,
56122987
DM
3084 "properties" : {
3085 "node" : {
7aacca6f 3086 "description" : "The cluster node name.",
44660702 3087 "format" : "pve-node",
013dc89f
DM
3088 "type" : "string",
3089 "typetext" : "<string>"
56122987
DM
3090 },
3091 "sid" : {
44660702 3092 "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 3093 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3094 "type" : "string",
44660702 3095 "typetext" : "<type>:<name>"
56122987 3096 }
7aacca6f 3097 }
56122987 3098 },
56122987
DM
3099 "permissions" : {
3100 "check" : [
3101 "perm",
3102 "/",
3103 [
3104 "Sys.Console"
3105 ]
3106 ]
3107 },
7aacca6f 3108 "protected" : 1,
7aacca6f
DM
3109 "returns" : {
3110 "type" : "null"
44660702 3111 }
56122987 3112 }
44660702
DM
3113 },
3114 "leaf" : 1,
3115 "path" : "/cluster/ha/resources/{sid}/migrate",
3116 "text" : "migrate"
3117 },
3118 {
3119 "info" : {
3120 "POST" : {
3121 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3122 "method" : "POST",
3123 "name" : "relocate",
3124 "parameters" : {
3125 "additionalProperties" : 0,
3126 "properties" : {
3127 "node" : {
3128 "description" : "The cluster node name.",
3129 "format" : "pve-node",
013dc89f
DM
3130 "type" : "string",
3131 "typetext" : "<string>"
44660702
DM
3132 },
3133 "sid" : {
3134 "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).",
3135 "format" : "pve-ha-resource-or-vm-id",
3136 "type" : "string",
3137 "typetext" : "<type>:<name>"
3138 }
3139 }
3140 },
3141 "permissions" : {
3142 "check" : [
3143 "perm",
3144 "/",
3145 [
3146 "Sys.Console"
3147 ]
3148 ]
3149 },
3150 "protected" : 1,
3151 "returns" : {
3152 "type" : "null"
3153 }
3154 }
3155 },
3156 "leaf" : 1,
3157 "path" : "/cluster/ha/resources/{sid}/relocate",
3158 "text" : "relocate"
3159 }
3160 ],
3161 "info" : {
3162 "DELETE" : {
3163 "description" : "Delete resource configuration.",
3164 "method" : "DELETE",
3165 "name" : "delete",
7aacca6f 3166 "parameters" : {
44660702 3167 "additionalProperties" : 0,
7aacca6f
DM
3168 "properties" : {
3169 "sid" : {
3170 "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 3171 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3172 "type" : "string",
44660702
DM
3173 "typetext" : "<type>:<name>"
3174 }
3175 }
3176 },
3177 "permissions" : {
3178 "check" : [
3179 "perm",
3180 "/",
3181 [
3182 "Sys.Console"
3183 ]
3184 ]
3185 },
3186 "protected" : 1,
3187 "returns" : {
3188 "type" : "null"
3189 }
3190 },
3191 "GET" : {
3192 "description" : "Read resource configuration.",
3193 "method" : "GET",
3194 "name" : "read",
3195 "parameters" : {
3196 "additionalProperties" : 0,
3197 "properties" : {
3198 "sid" : {
3199 "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 3200 "format" : "pve-ha-resource-or-vm-id",
44660702 3201 "type" : "string",
7aacca6f
DM
3202 "typetext" : "<type>:<name>"
3203 }
44660702 3204 }
7aacca6f
DM
3205 },
3206 "permissions" : {
3207 "check" : [
3208 "perm",
3209 "/",
3210 [
3211 "Sys.Audit"
3212 ]
3213 ]
3214 },
44660702 3215 "returns" : {}
7aacca6f 3216 },
56122987 3217 "PUT" : {
44660702 3218 "description" : "Update resource configuration.",
7aacca6f 3219 "method" : "PUT",
44660702 3220 "name" : "update",
56122987
DM
3221 "parameters" : {
3222 "additionalProperties" : 0,
3223 "properties" : {
44660702
DM
3224 "comment" : {
3225 "description" : "Description.",
3226 "maxLength" : 4096,
56122987 3227 "optional" : 1,
013dc89f
DM
3228 "type" : "string",
3229 "typetext" : "<string>"
56122987 3230 },
7aacca6f
DM
3231 "delete" : {
3232 "description" : "A list of settings you want to delete.",
7aacca6f 3233 "format" : "pve-configid-list",
44660702
DM
3234 "maxLength" : 4096,
3235 "optional" : 1,
013dc89f
DM
3236 "type" : "string",
3237 "typetext" : "<string>"
56122987 3238 },
44660702
DM
3239 "digest" : {
3240 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3241 "maxLength" : 40,
3242 "optional" : 1,
013dc89f
DM
3243 "type" : "string",
3244 "typetext" : "<string>"
56122987 3245 },
44660702
DM
3246 "group" : {
3247 "description" : "The HA group identifier.",
3248 "format" : "pve-configid",
7aacca6f 3249 "optional" : 1,
013dc89f
DM
3250 "type" : "string",
3251 "typetext" : "<string>"
56122987
DM
3252 },
3253 "max_relocate" : {
7aacca6f 3254 "default" : 1,
56122987 3255 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3256 "minimum" : 0,
3257 "optional" : 1,
4bd7df8b 3258 "type" : "integer",
013dc89f 3259 "typetext" : "<integer> (0 - N)"
7aacca6f 3260 },
44660702
DM
3261 "max_restart" : {
3262 "default" : 1,
3263 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3264 "minimum" : 0,
7aacca6f 3265 "optional" : 1,
4bd7df8b 3266 "type" : "integer",
013dc89f 3267 "typetext" : "<integer> (0 - N)"
44660702
DM
3268 },
3269 "sid" : {
3270 "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).",
3271 "format" : "pve-ha-resource-or-vm-id",
3272 "type" : "string",
3273 "typetext" : "<type>:<name>"
7aacca6f
DM
3274 },
3275 "state" : {
f13c1238
DM
3276 "default" : "started",
3277 "description" : "Requested resource state.",
7aacca6f 3278 "enum" : [
f13c1238
DM
3279 "started",
3280 "stopped",
7aacca6f 3281 "enabled",
2489d6df
WB
3282 "disabled",
3283 "ignored"
7aacca6f 3284 ],
7aacca6f 3285 "optional" : 1,
f13c1238 3286 "type" : "string",
2489d6df 3287 "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 3288 }
44660702
DM
3289 },
3290 "type" : "object"
56122987 3291 },
56122987
DM
3292 "permissions" : {
3293 "check" : [
3294 "perm",
3295 "/",
3296 [
3297 "Sys.Console"
3298 ]
3299 ]
3300 },
7aacca6f 3301 "protected" : 1,
56122987
DM
3302 "returns" : {
3303 "type" : "null"
3304 }
3305 }
3306 },
44660702 3307 "leaf" : 0,
7aacca6f 3308 "path" : "/cluster/ha/resources/{sid}",
44660702 3309 "text" : "{sid}"
56122987
DM
3310 }
3311 ],
7aacca6f
DM
3312 "info" : {
3313 "GET" : {
44660702
DM
3314 "description" : "List HA resources.",
3315 "method" : "GET",
3316 "name" : "index",
7aacca6f 3317 "parameters" : {
44660702
DM
3318 "additionalProperties" : 0,
3319 "properties" : {
3320 "type" : {
3321 "description" : "Only list resources of specific type",
3322 "enum" : [
3323 "ct",
3324 "vm"
3325 ],
3326 "optional" : 1,
3327 "type" : "string"
3328 }
3329 }
7aacca6f 3330 },
7aacca6f
DM
3331 "permissions" : {
3332 "check" : [
3333 "perm",
3334 "/",
3335 [
3336 "Sys.Audit"
3337 ]
3338 ]
3339 },
7aacca6f 3340 "returns" : {
7aacca6f 3341 "items" : {
7aacca6f 3342 "properties" : {
44660702 3343 "sid" : {
7aacca6f
DM
3344 "type" : "string"
3345 }
44660702
DM
3346 },
3347 "type" : "object"
7aacca6f
DM
3348 },
3349 "links" : [
3350 {
44660702 3351 "href" : "{sid}",
7aacca6f
DM
3352 "rel" : "child"
3353 }
44660702
DM
3354 ],
3355 "type" : "array"
7aacca6f
DM
3356 }
3357 },
3358 "POST" : {
44660702 3359 "description" : "Create a new HA resource.",
7aacca6f 3360 "method" : "POST",
44660702 3361 "name" : "create",
7aacca6f 3362 "parameters" : {
44660702 3363 "additionalProperties" : 0,
7aacca6f
DM
3364 "properties" : {
3365 "comment" : {
7aacca6f 3366 "description" : "Description.",
44660702 3367 "maxLength" : 4096,
7aacca6f 3368 "optional" : 1,
013dc89f
DM
3369 "type" : "string",
3370 "typetext" : "<string>"
7aacca6f 3371 },
44660702
DM
3372 "group" : {
3373 "description" : "The HA group identifier.",
3374 "format" : "pve-configid",
7aacca6f 3375 "optional" : 1,
013dc89f
DM
3376 "type" : "string",
3377 "typetext" : "<string>"
7aacca6f 3378 },
44660702
DM
3379 "max_relocate" : {
3380 "default" : 1,
3381 "description" : "Maximal number of service relocate tries when a service failes to start.",
3382 "minimum" : 0,
7aacca6f 3383 "optional" : 1,
4bd7df8b 3384 "type" : "integer",
013dc89f 3385 "typetext" : "<integer> (0 - N)"
7aacca6f 3386 },
44660702
DM
3387 "max_restart" : {
3388 "default" : 1,
3389 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3390 "minimum" : 0,
3391 "optional" : 1,
4bd7df8b 3392 "type" : "integer",
013dc89f 3393 "typetext" : "<integer> (0 - N)"
44660702
DM
3394 },
3395 "sid" : {
3396 "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).",
3397 "format" : "pve-ha-resource-or-vm-id",
3398 "type" : "string",
3399 "typetext" : "<type>:<name>"
3400 },
3401 "state" : {
f13c1238
DM
3402 "default" : "started",
3403 "description" : "Requested resource state.",
7aacca6f 3404 "enum" : [
f13c1238
DM
3405 "started",
3406 "stopped",
44660702 3407 "enabled",
2489d6df
WB
3408 "disabled",
3409 "ignored"
7aacca6f 3410 ],
7aacca6f 3411 "optional" : 1,
f13c1238 3412 "type" : "string",
2489d6df 3413 "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 3414 },
44660702
DM
3415 "type" : {
3416 "description" : "Resource type.",
3417 "enum" : [
3418 "ct",
3419 "vm"
3420 ],
3421 "optional" : 1,
3422 "type" : "string"
3423 }
7aacca6f 3424 },
44660702 3425 "type" : "object"
7aacca6f
DM
3426 },
3427 "permissions" : {
3428 "check" : [
3429 "perm",
3430 "/",
3431 [
3432 "Sys.Console"
3433 ]
3434 ]
3435 },
44660702
DM
3436 "protected" : 1,
3437 "returns" : {
3438 "type" : "null"
3439 }
7aacca6f
DM
3440 }
3441 },
44660702
DM
3442 "leaf" : 0,
3443 "path" : "/cluster/ha/resources",
3444 "text" : "resources"
3445 },
3446 {
56122987
DM
3447 "children" : [
3448 {
56122987 3449 "info" : {
44660702
DM
3450 "DELETE" : {
3451 "description" : "Delete ha group configuration.",
3452 "method" : "DELETE",
3453 "name" : "delete",
56122987 3454 "parameters" : {
7aacca6f 3455 "additionalProperties" : 0,
56122987 3456 "properties" : {
7aacca6f
DM
3457 "group" : {
3458 "description" : "The HA group identifier.",
44660702 3459 "format" : "pve-configid",
013dc89f
DM
3460 "type" : "string",
3461 "typetext" : "<string>"
56122987 3462 }
7aacca6f 3463 }
56122987 3464 },
56122987
DM
3465 "permissions" : {
3466 "check" : [
3467 "perm",
3468 "/",
3469 [
7aacca6f 3470 "Sys.Console"
56122987
DM
3471 ]
3472 ]
3473 },
44660702 3474 "protected" : 1,
7aacca6f
DM
3475 "returns" : {
3476 "type" : "null"
56122987
DM
3477 }
3478 },
44660702
DM
3479 "GET" : {
3480 "description" : "Read ha group configuration.",
3481 "method" : "GET",
3482 "name" : "read",
56122987 3483 "parameters" : {
44660702 3484 "additionalProperties" : 0,
56122987
DM
3485 "properties" : {
3486 "group" : {
3487 "description" : "The HA group identifier.",
44660702 3488 "format" : "pve-configid",
013dc89f
DM
3489 "type" : "string",
3490 "typetext" : "<string>"
56122987 3491 }
44660702 3492 }
56122987 3493 },
56122987
DM
3494 "permissions" : {
3495 "check" : [
3496 "perm",
3497 "/",
3498 [
44660702 3499 "Sys.Audit"
56122987
DM
3500 ]
3501 ]
3502 },
44660702 3503 "returns" : {}
7aacca6f 3504 },
44660702
DM
3505 "PUT" : {
3506 "description" : "Update ha group configuration.",
3507 "method" : "PUT",
3508 "name" : "update",
7aacca6f 3509 "parameters" : {
44660702 3510 "additionalProperties" : 0,
7aacca6f 3511 "properties" : {
44660702
DM
3512 "comment" : {
3513 "description" : "Description.",
3514 "maxLength" : 4096,
3515 "optional" : 1,
013dc89f
DM
3516 "type" : "string",
3517 "typetext" : "<string>"
44660702
DM
3518 },
3519 "delete" : {
3520 "description" : "A list of settings you want to delete.",
3521 "format" : "pve-configid-list",
3522 "maxLength" : 4096,
3523 "optional" : 1,
013dc89f
DM
3524 "type" : "string",
3525 "typetext" : "<string>"
44660702
DM
3526 },
3527 "digest" : {
3528 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3529 "maxLength" : 40,
3530 "optional" : 1,
013dc89f
DM
3531 "type" : "string",
3532 "typetext" : "<string>"
44660702 3533 },
7aacca6f
DM
3534 "group" : {
3535 "description" : "The HA group identifier.",
44660702 3536 "format" : "pve-configid",
013dc89f
DM
3537 "type" : "string",
3538 "typetext" : "<string>"
44660702
DM
3539 },
3540 "nodes" : {
f13c1238 3541 "description" : "List of cluster node names with optional priority.",
44660702
DM
3542 "format" : "pve-ha-group-node-list",
3543 "optional" : 1,
7aacca6f 3544 "type" : "string",
f13c1238
DM
3545 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3546 "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
3547 },
3548 "nofailback" : {
3549 "default" : 0,
3550 "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.",
3551 "optional" : 1,
013dc89f
DM
3552 "type" : "boolean",
3553 "typetext" : "<boolean>"
44660702
DM
3554 },
3555 "restricted" : {
3556 "default" : 0,
c4808e75 3557 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3558 "optional" : 1,
013dc89f 3559 "type" : "boolean",
c4808e75
DM
3560 "typetext" : "<boolean>",
3561 "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
3562 }
3563 },
44660702 3564 "type" : "object"
7aacca6f 3565 },
7aacca6f
DM
3566 "permissions" : {
3567 "check" : [
3568 "perm",
3569 "/",
3570 [
44660702 3571 "Sys.Console"
7aacca6f
DM
3572 ]
3573 ]
3574 },
44660702
DM
3575 "protected" : 1,
3576 "returns" : {
3577 "type" : "null"
3578 }
56122987
DM
3579 }
3580 },
3581 "leaf" : 1,
44660702
DM
3582 "path" : "/cluster/ha/groups/{group}",
3583 "text" : "{group}"
56122987 3584 }
44660702
DM
3585 ],
3586 "info" : {
3587 "GET" : {
3588 "description" : "Get HA groups.",
3589 "method" : "GET",
3590 "name" : "index",
3591 "parameters" : {
3592 "additionalProperties" : 0
3593 },
3594 "permissions" : {
3595 "check" : [
3596 "perm",
3597 "/",
3598 [
3599 "Sys.Audit"
3600 ]
3601 ]
3602 },
3603 "returns" : {
3604 "items" : {
3605 "properties" : {
3606 "group" : {
3607 "type" : "string"
3608 }
3609 },
3610 "type" : "object"
3611 },
3612 "links" : [
3613 {
3614 "href" : "{group}",
3615 "rel" : "child"
3616 }
3617 ],
3618 "type" : "array"
3619 }
3620 },
3621 "POST" : {
3622 "description" : "Create a new HA group.",
3623 "method" : "POST",
3624 "name" : "create",
3625 "parameters" : {
3626 "additionalProperties" : 0,
3627 "properties" : {
3628 "comment" : {
3629 "description" : "Description.",
3630 "maxLength" : 4096,
3631 "optional" : 1,
013dc89f
DM
3632 "type" : "string",
3633 "typetext" : "<string>"
44660702
DM
3634 },
3635 "group" : {
3636 "description" : "The HA group identifier.",
3637 "format" : "pve-configid",
013dc89f
DM
3638 "type" : "string",
3639 "typetext" : "<string>"
44660702
DM
3640 },
3641 "nodes" : {
f13c1238 3642 "description" : "List of cluster node names with optional priority.",
44660702
DM
3643 "format" : "pve-ha-group-node-list",
3644 "optional" : 0,
3645 "type" : "string",
f13c1238
DM
3646 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3647 "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
3648 },
3649 "nofailback" : {
3650 "default" : 0,
3651 "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.",
3652 "optional" : 1,
013dc89f
DM
3653 "type" : "boolean",
3654 "typetext" : "<boolean>"
44660702
DM
3655 },
3656 "restricted" : {
3657 "default" : 0,
c4808e75 3658 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3659 "optional" : 1,
013dc89f 3660 "type" : "boolean",
c4808e75
DM
3661 "typetext" : "<boolean>",
3662 "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
3663 },
3664 "type" : {
3665 "description" : "Group type.",
3666 "enum" : [
3667 "group"
3668 ],
3669 "optional" : 1,
3670 "type" : "string"
3671 }
3672 },
3673 "type" : "object"
3674 },
3675 "permissions" : {
3676 "check" : [
3677 "perm",
3678 "/",
3679 [
3680 "Sys.Console"
3681 ]
3682 ]
3683 },
3684 "protected" : 1,
3685 "returns" : {
3686 "type" : "null"
3687 }
3688 }
3689 },
3690 "leaf" : 0,
3691 "path" : "/cluster/ha/groups",
3692 "text" : "groups"
7aacca6f
DM
3693 },
3694 {
7aacca6f
DM
3695 "children" : [
3696 {
3697 "info" : {
3698 "GET" : {
56122987 3699 "description" : "Get HA manger status.",
44660702 3700 "method" : "GET",
7aacca6f 3701 "name" : "status",
44660702
DM
3702 "parameters" : {
3703 "additionalProperties" : 0
3704 },
56122987
DM
3705 "permissions" : {
3706 "check" : [
3707 "perm",
3708 "/",
3709 [
3710 "Sys.Audit"
3711 ]
3712 ]
7aacca6f 3713 },
44660702
DM
3714 "returns" : {
3715 "type" : "array"
56122987
DM
3716 }
3717 }
7aacca6f 3718 },
7aacca6f 3719 "leaf" : 1,
44660702
DM
3720 "path" : "/cluster/ha/status/current",
3721 "text" : "current"
56122987
DM
3722 },
3723 {
3724 "info" : {
3725 "GET" : {
7aacca6f 3726 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3727 "method" : "GET",
3728 "name" : "manager_status",
7aacca6f
DM
3729 "parameters" : {
3730 "additionalProperties" : 0
3731 },
56122987
DM
3732 "permissions" : {
3733 "check" : [
3734 "perm",
3735 "/",
3736 [
3737 "Sys.Audit"
3738 ]
3739 ]
44660702
DM
3740 },
3741 "returns" : {
3742 "type" : "object"
7aacca6f 3743 }
56122987
DM
3744 }
3745 },
56122987 3746 "leaf" : 1,
44660702
DM
3747 "path" : "/cluster/ha/status/manager_status",
3748 "text" : "manager_status"
56122987
DM
3749 }
3750 ],
56122987
DM
3751 "info" : {
3752 "GET" : {
44660702 3753 "description" : "Directory index.",
7aacca6f 3754 "method" : "GET",
44660702
DM
3755 "name" : "index",
3756 "parameters" : {
3757 "additionalProperties" : 0
3758 },
3759 "permissions" : {
3760 "user" : "all"
3761 },
56122987 3762 "returns" : {
56122987
DM
3763 "items" : {
3764 "properties" : {},
3765 "type" : "object"
3766 },
3767 "links" : [
3768 {
44660702
DM
3769 "href" : "{name}",
3770 "rel" : "child"
56122987 3771 }
7aacca6f
DM
3772 ],
3773 "type" : "array"
44660702 3774 }
56122987 3775 }
7aacca6f 3776 },
44660702 3777 "leaf" : 0,
7aacca6f 3778 "path" : "/cluster/ha/status",
44660702 3779 "text" : "status"
56122987
DM
3780 }
3781 ],
56122987
DM
3782 "info" : {
3783 "GET" : {
7aacca6f 3784 "description" : "Directory index.",
44660702
DM
3785 "method" : "GET",
3786 "name" : "index",
3787 "parameters" : {
3788 "additionalProperties" : 0
3789 },
7aacca6f
DM
3790 "permissions" : {
3791 "check" : [
3792 "perm",
3793 "/",
3794 [
3795 "Sys.Audit"
3796 ]
3797 ]
3798 },
56122987 3799 "returns" : {
56122987 3800 "items" : {
7aacca6f
DM
3801 "properties" : {
3802 "id" : {
3803 "type" : "string"
3804 }
44660702
DM
3805 },
3806 "type" : "object"
7aacca6f
DM
3807 },
3808 "links" : [
3809 {
3810 "href" : "{id}",
3811 "rel" : "child"
3812 }
44660702
DM
3813 ],
3814 "type" : "array"
7aacca6f
DM
3815 }
3816 }
44660702
DM
3817 },
3818 "leaf" : 0,
3819 "path" : "/cluster/ha",
3820 "text" : "ha"
7aacca6f 3821 },
a9a8e3d1
DM
3822 {
3823 "children" : [
3824 {
3825 "children" : [
3826 {
3827 "info" : {
3828 "DELETE" : {
3829 "description" : "Deactivate existing ACME account at CA.",
3830 "method" : "DELETE",
3831 "name" : "deactivate_account",
3832 "parameters" : {
3833 "additionalProperties" : 0,
3834 "properties" : {
3835 "name" : {
3836 "default" : "default",
3837 "description" : "ACME account config file name.",
3838 "format" : "pve-configid",
3839 "format_description" : "name",
3840 "optional" : 1,
3841 "type" : "string",
3842 "typetext" : "<name>"
3843 }
3844 }
3845 },
3846 "protected" : 1,
3847 "returns" : {
3848 "type" : "string"
3849 }
3850 },
3851 "GET" : {
3852 "description" : "Return existing ACME account information.",
3853 "method" : "GET",
3854 "name" : "get_account",
3855 "parameters" : {
3856 "additionalProperties" : 0,
3857 "properties" : {
3858 "name" : {
3859 "default" : "default",
3860 "description" : "ACME account config file name.",
3861 "format" : "pve-configid",
3862 "format_description" : "name",
3863 "optional" : 1,
3864 "type" : "string",
3865 "typetext" : "<name>"
3866 }
3867 }
3868 },
3869 "protected" : 1,
3870 "returns" : {
3871 "additionalProperties" : 0,
3872 "properties" : {
3873 "account" : {
3874 "optional" : 1,
3875 "type" : "object"
3876 },
3877 "directory" : {
3878 "description" : "URL of ACME CA directory endpoint.",
3879 "optional" : 1,
3880 "pattern" : "^https?://.*",
3881 "type" : "string"
3882 },
3883 "location" : {
3884 "optional" : 1,
3885 "type" : "string"
3886 },
3887 "tos" : {
3888 "optional" : 1,
3889 "type" : "string"
3890 }
3891 },
3892 "type" : "object"
3893 }
3894 },
3895 "PUT" : {
3896 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
3897 "method" : "PUT",
3898 "name" : "update_account",
3899 "parameters" : {
3900 "additionalProperties" : 0,
3901 "properties" : {
3902 "contact" : {
3903 "description" : "Contact email addresses.",
3904 "format" : "email-list",
3905 "optional" : 1,
3906 "type" : "string",
3907 "typetext" : "<string>"
3908 },
3909 "name" : {
3910 "default" : "default",
3911 "description" : "ACME account config file name.",
3912 "format" : "pve-configid",
3913 "format_description" : "name",
3914 "optional" : 1,
3915 "type" : "string",
3916 "typetext" : "<name>"
3917 }
3918 }
3919 },
3920 "protected" : 1,
3921 "returns" : {
3922 "type" : "string"
3923 }
3924 }
3925 },
3926 "leaf" : 1,
3927 "path" : "/cluster/acme/account/{name}",
3928 "text" : "{name}"
3929 }
3930 ],
3931 "info" : {
3932 "GET" : {
3933 "description" : "ACMEAccount index.",
3934 "method" : "GET",
3935 "name" : "account_index",
3936 "parameters" : {
3937 "additionalProperties" : 0
3938 },
3939 "permissions" : {
3940 "user" : "all"
3941 },
3942 "protected" : 1,
3943 "returns" : {
3944 "items" : {
3945 "properties" : {},
3946 "type" : "object"
3947 },
3948 "links" : [
3949 {
3950 "href" : "{name}",
3951 "rel" : "child"
3952 }
3953 ],
3954 "type" : "array"
3955 }
3956 },
3957 "POST" : {
3958 "description" : "Register a new ACME account with CA.",
3959 "method" : "POST",
3960 "name" : "register_account",
3961 "parameters" : {
3962 "additionalProperties" : 0,
3963 "properties" : {
3964 "contact" : {
3965 "description" : "Contact email addresses.",
3966 "format" : "email-list",
3967 "type" : "string",
3968 "typetext" : "<string>"
3969 },
3970 "directory" : {
3971 "default" : "https://acme-v02.api.letsencrypt.org/directory",
3972 "description" : "URL of ACME CA directory endpoint.",
3973 "optional" : 1,
3974 "pattern" : "^https?://.*",
3975 "type" : "string"
3976 },
3977 "name" : {
3978 "default" : "default",
3979 "description" : "ACME account config file name.",
3980 "format" : "pve-configid",
3981 "format_description" : "name",
3982 "optional" : 1,
3983 "type" : "string",
3984 "typetext" : "<name>"
3985 },
3986 "tos_url" : {
3987 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
3988 "optional" : 1,
3989 "type" : "string",
3990 "typetext" : "<string>"
3991 }
3992 }
3993 },
3994 "protected" : 1,
3995 "returns" : {
3996 "type" : "string"
3997 }
3998 }
3999 },
4000 "leaf" : 0,
4001 "path" : "/cluster/acme/account",
4002 "text" : "account"
4003 },
4004 {
4005 "info" : {
4006 "GET" : {
4007 "description" : "Retrieve ACME TermsOfService URL from CA.",
4008 "method" : "GET",
4009 "name" : "get_tos",
4010 "parameters" : {
4011 "additionalProperties" : 0,
4012 "properties" : {
4013 "directory" : {
4014 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4015 "description" : "URL of ACME CA directory endpoint.",
4016 "optional" : 1,
4017 "pattern" : "^https?://.*",
4018 "type" : "string"
4019 }
4020 }
4021 },
4022 "returns" : {
4023 "description" : "ACME TermsOfService URL.",
4024 "type" : "string"
4025 }
4026 }
4027 },
4028 "leaf" : 1,
4029 "path" : "/cluster/acme/tos",
4030 "text" : "tos"
4031 },
4032 {
4033 "info" : {
4034 "GET" : {
4035 "description" : "Get named known ACME directory endpoints.",
4036 "method" : "GET",
4037 "name" : "get_directories",
4038 "parameters" : {
4039 "additionalProperties" : 0
4040 },
4041 "returns" : {
4042 "items" : {
4043 "additionalProperties" : 0,
4044 "properties" : {
4045 "name" : {
4046 "type" : "string"
4047 },
4048 "url" : {
4049 "description" : "URL of ACME CA directory endpoint.",
4050 "pattern" : "^https?://.*",
4051 "type" : "string"
4052 }
4053 },
4054 "type" : "object"
4055 },
4056 "type" : "array"
4057 }
4058 }
4059 },
4060 "leaf" : 1,
4061 "path" : "/cluster/acme/directories",
4062 "text" : "directories"
4063 }
4064 ],
4065 "info" : {
4066 "GET" : {
4067 "description" : "ACMEAccount index.",
4068 "method" : "GET",
4069 "name" : "index",
4070 "parameters" : {
4071 "additionalProperties" : 0
4072 },
4073 "permissions" : {
4074 "user" : "all"
4075 },
4076 "returns" : {
4077 "items" : {
4078 "properties" : {},
4079 "type" : "object"
4080 },
4081 "links" : [
4082 {
4083 "href" : "{name}",
4084 "rel" : "child"
4085 }
4086 ],
4087 "type" : "array"
4088 }
4089 }
4090 },
4091 "leaf" : 0,
4092 "path" : "/cluster/acme",
4093 "text" : "acme"
4094 },
7aacca6f 4095 {
7aacca6f
DM
4096 "info" : {
4097 "GET" : {
4098 "description" : "Read cluster log",
44660702
DM
4099 "method" : "GET",
4100 "name" : "log",
56122987 4101 "parameters" : {
7aacca6f 4102 "additionalProperties" : 0,
56122987
DM
4103 "properties" : {
4104 "max" : {
7aacca6f 4105 "description" : "Maximum number of entries.",
44660702
DM
4106 "minimum" : 1,
4107 "optional" : 1,
4bd7df8b 4108 "type" : "integer",
013dc89f 4109 "typetext" : "<integer> (1 - N)"
56122987 4110 }
7aacca6f 4111 }
56122987 4112 },
44660702
DM
4113 "permissions" : {
4114 "user" : "all"
4115 },
7aacca6f 4116 "returns" : {
7aacca6f 4117 "items" : {
44660702
DM
4118 "properties" : {},
4119 "type" : "object"
4120 },
4121 "type" : "array"
7aacca6f 4122 }
56122987 4123 }
44660702
DM
4124 },
4125 "leaf" : 1,
4126 "path" : "/cluster/log",
4127 "text" : "log"
56122987
DM
4128 },
4129 {
56122987
DM
4130 "info" : {
4131 "GET" : {
44660702 4132 "description" : "Resources index (cluster wide).",
7aacca6f 4133 "method" : "GET",
7aacca6f 4134 "name" : "resources",
56122987
DM
4135 "parameters" : {
4136 "additionalProperties" : 0,
4137 "properties" : {
4138 "type" : {
4139 "enum" : [
4140 "vm",
4141 "storage",
4142 "node"
44660702
DM
4143 ],
4144 "optional" : 1,
4145 "type" : "string"
56122987
DM
4146 }
4147 }
4148 },
44660702
DM
4149 "permissions" : {
4150 "user" : "all"
4151 },
4152 "returns" : {
4153 "items" : {
4154 "properties" : {},
4155 "type" : "object"
4156 },
4157 "type" : "array"
4158 }
56122987
DM
4159 }
4160 },
7aacca6f 4161 "leaf" : 1,
44660702
DM
4162 "path" : "/cluster/resources",
4163 "text" : "resources"
56122987
DM
4164 },
4165 {
56122987
DM
4166 "info" : {
4167 "GET" : {
7aacca6f 4168 "description" : "List recent tasks (cluster wide).",
44660702 4169 "method" : "GET",
7aacca6f 4170 "name" : "tasks",
56122987
DM
4171 "parameters" : {
4172 "additionalProperties" : 0
4173 },
44660702
DM
4174 "permissions" : {
4175 "user" : "all"
4176 },
56122987
DM
4177 "returns" : {
4178 "items" : {
4179 "properties" : {
4180 "upid" : {
4181 "type" : "string"
4182 }
44660702
DM
4183 },
4184 "type" : "object"
4185 },
4186 "type" : "array"
7aacca6f 4187 }
56122987
DM
4188 }
4189 },
7aacca6f 4190 "leaf" : 1,
44660702
DM
4191 "path" : "/cluster/tasks",
4192 "text" : "tasks"
56122987
DM
4193 },
4194 {
56122987 4195 "info" : {
7aacca6f 4196 "GET" : {
44660702
DM
4197 "description" : "Get datacenter options.",
4198 "method" : "GET",
4199 "name" : "get_options",
56122987 4200 "parameters" : {
7aacca6f
DM
4201 "additionalProperties" : 0
4202 },
4203 "permissions" : {
4204 "check" : [
4205 "perm",
4206 "/",
4207 [
4208 "Sys.Audit"
4209 ]
4210 ]
4211 },
7aacca6f 4212 "returns" : {
44660702
DM
4213 "properties" : {},
4214 "type" : "object"
7aacca6f
DM
4215 }
4216 },
4217 "PUT" : {
44660702
DM
4218 "description" : "Set datacenter options.",
4219 "method" : "PUT",
7aacca6f
DM
4220 "name" : "set_options",
4221 "parameters" : {
4222 "additionalProperties" : 0,
4223 "properties" : {
27a7acb2
DM
4224 "bwlimit" : {
4225 "description" : "Set bandwidth/io limits various operations.",
4226 "format" : {
4227 "clone" : {
4228 "description" : "bandwidth limit in MiB/s for cloning disks",
4229 "format_description" : "LIMIT",
4230 "minimum" : "0",
4231 "optional" : 1,
4232 "type" : "number"
4233 },
4234 "default" : {
4235 "description" : "default bandwidth limit in MiB/s",
4236 "format_description" : "LIMIT",
4237 "minimum" : "0",
4238 "optional" : 1,
4239 "type" : "number"
4240 },
4241 "migration" : {
4242 "description" : "bandwidth limit in MiB/s for migrating guests",
4243 "format_description" : "LIMIT",
4244 "minimum" : "0",
4245 "optional" : 1,
4246 "type" : "number"
4247 },
4248 "move" : {
4249 "description" : "bandwidth limit in MiB/s for moving disks",
4250 "format_description" : "LIMIT",
4251 "minimum" : "0",
4252 "optional" : 1,
4253 "type" : "number"
4254 },
4255 "restore" : {
4256 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
4257 "format_description" : "LIMIT",
4258 "minimum" : "0",
4259 "optional" : 1,
4260 "type" : "number"
4261 }
4262 },
4263 "optional" : 1,
4264 "type" : "string",
4265 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
4266 },
56122987 4267 "console" : {
a9a8e3d1 4268 "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
4269 "enum" : [
4270 "applet",
4271 "vv",
a9a8e3d1
DM
4272 "html5",
4273 "xtermjs"
44660702
DM
4274 ],
4275 "optional" : 1,
4276 "type" : "string"
56122987 4277 },
7aacca6f 4278 "delete" : {
7aacca6f 4279 "description" : "A list of settings you want to delete.",
44660702 4280 "format" : "pve-configid-list",
7aacca6f 4281 "optional" : 1,
013dc89f
DM
4282 "type" : "string",
4283 "typetext" : "<string>"
7aacca6f 4284 },
44660702
DM
4285 "email_from" : {
4286 "description" : "Specify email address to send notification from (default is root@$hostname)",
4287 "format" : "email-opt",
7aacca6f 4288 "optional" : 1,
013dc89f
DM
4289 "type" : "string",
4290 "typetext" : "<string>"
44660702
DM
4291 },
4292 "fencing" : {
4293 "default" : "watchdog",
4294 "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 4295 "enum" : [
44660702
DM
4296 "watchdog",
4297 "hardware",
4298 "both"
7aacca6f 4299 ],
44660702
DM
4300 "optional" : 1,
4301 "type" : "string"
4302 },
4303 "http_proxy" : {
4304 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4305 "optional" : 1,
4306 "pattern" : "http://.*",
4307 "type" : "string"
7aacca6f 4308 },
56122987 4309 "keyboard" : {
44660702 4310 "description" : "Default keybord layout for vnc server.",
56122987 4311 "enum" : [
44660702
DM
4312 "de",
4313 "de-ch",
7aacca6f 4314 "da",
56122987 4315 "en-gb",
44660702
DM
4316 "en-us",
4317 "es",
4318 "fi",
4319 "fr",
4320 "fr-be",
4321 "fr-ca",
4322 "fr-ch",
4323 "hu",
7aacca6f 4324 "is",
44660702
DM
4325 "it",
4326 "ja",
4327 "lt",
56122987 4328 "mk",
7aacca6f 4329 "nl",
56122987 4330 "no",
44660702 4331 "pl",
7aacca6f 4332 "pt",
44660702
DM
4333 "pt-br",
4334 "sv",
4335 "sl",
4336 "tr"
56122987 4337 ],
56122987
DM
4338 "optional" : 1,
4339 "type" : "string"
4340 },
44660702
DM
4341 "language" : {
4342 "description" : "Default GUI language.",
4343 "enum" : [
4344 "en",
4345 "de"
4346 ],
56122987 4347 "optional" : 1,
44660702 4348 "type" : "string"
56122987 4349 },
4bd7df8b
DM
4350 "mac_prefix" : {
4351 "description" : "Prefix for autogenerated MAC addresses.",
4352 "optional" : 1,
4353 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4354 "type" : "string"
4355 },
44660702
DM
4356 "max_workers" : {
4357 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4358 "minimum" : 1,
56122987 4359 "optional" : 1,
4bd7df8b 4360 "type" : "integer",
013dc89f 4361 "typetext" : "<integer> (1 - N)"
56122987 4362 },
de0983cb
DM
4363 "migration" : {
4364 "description" : "For cluster wide migration settings.",
4365 "format" : {
4366 "network" : {
4367 "description" : "CIDR of the (sub) network that is used for migration.",
4368 "format" : "CIDR",
4369 "format_description" : "CIDR",
4370 "optional" : 1,
4371 "type" : "string"
4372 },
4373 "type" : {
4374 "default" : "secure",
4375 "default_key" : 1,
4376 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4377 "enum" : [
4378 "secure",
4379 "insecure"
4380 ],
4381 "type" : "string"
4382 }
4383 },
4384 "optional" : 1,
4385 "type" : "string",
4386 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4387 },
7aacca6f 4388 "migration_unsecure" : {
de0983cb 4389 "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 4390 "optional" : 1,
013dc89f
DM
4391 "type" : "boolean",
4392 "typetext" : "<boolean>"
56122987
DM
4393 }
4394 }
4395 },
44660702
DM
4396 "permissions" : {
4397 "check" : [
4398 "perm",
4399 "/",
4400 [
4401 "Sys.Modify"
4402 ]
4403 ]
4404 },
56122987 4405 "protected" : 1,
7aacca6f
DM
4406 "returns" : {
4407 "type" : "null"
44660702 4408 }
7aacca6f
DM
4409 }
4410 },
44660702
DM
4411 "leaf" : 1,
4412 "path" : "/cluster/options",
7aacca6f
DM
4413 "text" : "options"
4414 },
4415 {
7aacca6f 4416 "info" : {
56122987 4417 "GET" : {
44660702
DM
4418 "description" : "Get cluster status informations.",
4419 "method" : "GET",
4420 "name" : "get_status",
56122987
DM
4421 "parameters" : {
4422 "additionalProperties" : 0
4423 },
56122987
DM
4424 "permissions" : {
4425 "check" : [
4426 "perm",
4427 "/",
4428 [
4429 "Sys.Audit"
4430 ]
4431 ]
4432 },
7aacca6f 4433 "protected" : 1,
56122987 4434 "returns" : {
56122987 4435 "items" : {
56122987
DM
4436 "properties" : {
4437 "type" : {
4438 "type" : "string"
4439 }
44660702
DM
4440 },
4441 "type" : "object"
7aacca6f
DM
4442 },
4443 "type" : "array"
56122987
DM
4444 }
4445 }
4446 },
44660702 4447 "leaf" : 1,
7aacca6f 4448 "path" : "/cluster/status",
44660702 4449 "text" : "status"
56122987
DM
4450 },
4451 {
56122987
DM
4452 "info" : {
4453 "GET" : {
56122987 4454 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4455 "method" : "GET",
4456 "name" : "nextid",
56122987 4457 "parameters" : {
44660702 4458 "additionalProperties" : 0,
56122987
DM
4459 "properties" : {
4460 "vmid" : {
44660702 4461 "description" : "The (unique) ID of the VM.",
56122987 4462 "format" : "pve-vmid",
7aacca6f 4463 "minimum" : 1,
7aacca6f 4464 "optional" : 1,
4bd7df8b 4465 "type" : "integer",
013dc89f 4466 "typetext" : "<integer> (1 - N)"
56122987 4467 }
44660702 4468 }
56122987 4469 },
7aacca6f
DM
4470 "permissions" : {
4471 "user" : "all"
44660702
DM
4472 },
4473 "returns" : {
4474 "description" : "The next free VMID.",
4475 "type" : "integer"
7aacca6f 4476 }
56122987
DM
4477 }
4478 },
7aacca6f 4479 "leaf" : 1,
44660702
DM
4480 "path" : "/cluster/nextid",
4481 "text" : "nextid"
56122987
DM
4482 }
4483 ],
44660702
DM
4484 "info" : {
4485 "GET" : {
4486 "description" : "Cluster index.",
4487 "method" : "GET",
4488 "name" : "index",
4489 "parameters" : {
4490 "additionalProperties" : 0
4491 },
4492 "permissions" : {
4493 "user" : "all"
4494 },
4495 "returns" : {
4496 "items" : {
4497 "properties" : {},
4498 "type" : "object"
4499 },
4500 "links" : [
4501 {
4502 "href" : "{name}",
4503 "rel" : "child"
4504 }
4505 ],
4506 "type" : "array"
4507 }
4508 }
4509 },
4510 "leaf" : 0,
4511 "path" : "/cluster",
7aacca6f 4512 "text" : "cluster"
56122987
DM
4513 },
4514 {
56122987
DM
4515 "children" : [
4516 {
7aacca6f
DM
4517 "children" : [
4518 {
4519 "children" : [
4520 {
56122987
DM
4521 "children" : [
4522 {
56122987
DM
4523 "children" : [
4524 {
4525 "children" : [
4526 {
56122987
DM
4527 "info" : {
4528 "DELETE" : {
44660702 4529 "description" : "Delete rule.",
7aacca6f 4530 "method" : "DELETE",
44660702 4531 "name" : "delete_rule",
56122987 4532 "parameters" : {
44660702 4533 "additionalProperties" : 0,
56122987 4534 "properties" : {
44660702
DM
4535 "digest" : {
4536 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4537 "maxLength" : 40,
4538 "optional" : 1,
013dc89f
DM
4539 "type" : "string",
4540 "typetext" : "<string>"
44660702 4541 },
56122987 4542 "node" : {
7aacca6f 4543 "description" : "The cluster node name.",
44660702 4544 "format" : "pve-node",
013dc89f
DM
4545 "type" : "string",
4546 "typetext" : "<string>"
7aacca6f 4547 },
56122987 4548 "pos" : {
7aacca6f 4549 "description" : "Update rule at position <pos>.",
44660702 4550 "minimum" : 0,
56122987 4551 "optional" : 1,
4bd7df8b 4552 "type" : "integer",
013dc89f 4553 "typetext" : "<integer> (0 - N)"
44660702
DM
4554 },
4555 "vmid" : {
4556 "description" : "The (unique) ID of the VM.",
4557 "format" : "pve-vmid",
4558 "minimum" : 1,
4bd7df8b 4559 "type" : "integer",
013dc89f 4560 "typetext" : "<integer> (1 - N)"
56122987 4561 }
44660702 4562 }
7aacca6f 4563 },
56122987
DM
4564 "permissions" : {
4565 "check" : [
4566 "perm",
4567 "/vms/{vmid}",
4568 [
4569 "VM.Config.Network"
4570 ]
4571 ]
4572 },
44660702
DM
4573 "protected" : 1,
4574 "proxyto" : null,
56122987
DM
4575 "returns" : {
4576 "type" : "null"
44660702
DM
4577 }
4578 },
4579 "GET" : {
4580 "description" : "Get single rule data.",
4581 "method" : "GET",
4582 "name" : "get_rule",
4583 "parameters" : {
4584 "additionalProperties" : 0,
4585 "properties" : {
4586 "node" : {
4587 "description" : "The cluster node name.",
4588 "format" : "pve-node",
013dc89f
DM
4589 "type" : "string",
4590 "typetext" : "<string>"
44660702
DM
4591 },
4592 "pos" : {
4593 "description" : "Update rule at position <pos>.",
4594 "minimum" : 0,
4595 "optional" : 1,
4bd7df8b 4596 "type" : "integer",
013dc89f 4597 "typetext" : "<integer> (0 - N)"
44660702
DM
4598 },
4599 "vmid" : {
4600 "description" : "The (unique) ID of the VM.",
4601 "format" : "pve-vmid",
4602 "minimum" : 1,
4bd7df8b 4603 "type" : "integer",
013dc89f 4604 "typetext" : "<integer> (1 - N)"
44660702
DM
4605 }
4606 }
56122987 4607 },
56122987
DM
4608 "permissions" : {
4609 "check" : [
4610 "perm",
4611 "/vms/{vmid}",
4612 [
44660702 4613 "VM.Audit"
56122987
DM
4614 ]
4615 ]
4616 },
56122987 4617 "proxyto" : null,
44660702
DM
4618 "returns" : {
4619 "properties" : {
4620 "pos" : {
4621 "type" : "integer"
4622 }
4623 },
4624 "type" : "object"
4625 }
4626 },
4627 "PUT" : {
7aacca6f
DM
4628 "description" : "Modify rule data.",
4629 "method" : "PUT",
44660702 4630 "name" : "update_rule",
56122987 4631 "parameters" : {
44660702 4632 "additionalProperties" : 0,
56122987 4633 "properties" : {
44660702
DM
4634 "action" : {
4635 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4636 "maxLength" : 20,
4637 "minLength" : 2,
56122987 4638 "optional" : 1,
44660702 4639 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4640 "type" : "string"
4641 },
7aacca6f 4642 "comment" : {
e94f0d56 4643 "description" : "Descriptive comment.",
7aacca6f 4644 "optional" : 1,
013dc89f
DM
4645 "type" : "string",
4646 "typetext" : "<string>"
7aacca6f
DM
4647 },
4648 "delete" : {
7aacca6f 4649 "description" : "A list of settings you want to delete.",
44660702
DM
4650 "format" : "pve-configid-list",
4651 "optional" : 1,
013dc89f
DM
4652 "type" : "string",
4653 "typetext" : "<string>"
7aacca6f
DM
4654 },
4655 "dest" : {
44660702 4656 "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 4657 "format" : "pve-fw-addr-spec",
56122987 4658 "optional" : 1,
013dc89f
DM
4659 "type" : "string",
4660 "typetext" : "<string>"
56122987 4661 },
7aacca6f 4662 "digest" : {
44660702 4663 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4664 "maxLength" : 40,
56122987 4665 "optional" : 1,
013dc89f
DM
4666 "type" : "string",
4667 "typetext" : "<string>"
44660702
DM
4668 },
4669 "dport" : {
4670 "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.",
4671 "format" : "pve-fw-dport-spec",
4672 "optional" : 1,
013dc89f
DM
4673 "type" : "string",
4674 "typetext" : "<string>"
56122987 4675 },
7aacca6f 4676 "enable" : {
e94f0d56 4677 "description" : "Flag to enable/disable a rule.",
44660702 4678 "minimum" : 0,
56122987 4679 "optional" : 1,
4bd7df8b 4680 "type" : "integer",
013dc89f 4681 "typetext" : "<integer> (0 - N)"
7aacca6f 4682 },
44660702
DM
4683 "iface" : {
4684 "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.",
4685 "format" : "pve-iface",
4686 "maxLength" : 20,
7aacca6f 4687 "minLength" : 2,
56122987 4688 "optional" : 1,
013dc89f
DM
4689 "type" : "string",
4690 "typetext" : "<string>"
56122987 4691 },
44660702 4692 "macro" : {
e94f0d56 4693 "description" : "Use predefined standard macro.",
44660702 4694 "maxLength" : 128,
56122987 4695 "optional" : 1,
013dc89f
DM
4696 "type" : "string",
4697 "typetext" : "<string>"
56122987 4698 },
44660702
DM
4699 "moveto" : {
4700 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4701 "minimum" : 0,
56122987 4702 "optional" : 1,
4bd7df8b 4703 "type" : "integer",
013dc89f 4704 "typetext" : "<integer> (0 - N)"
56122987 4705 },
44660702
DM
4706 "node" : {
4707 "description" : "The cluster node name.",
4708 "format" : "pve-node",
013dc89f
DM
4709 "type" : "string",
4710 "typetext" : "<string>"
44660702
DM
4711 },
4712 "pos" : {
4713 "description" : "Update rule at position <pos>.",
4714 "minimum" : 0,
4715 "optional" : 1,
4bd7df8b 4716 "type" : "integer",
013dc89f 4717 "typetext" : "<integer> (0 - N)"
56122987 4718 },
44660702
DM
4719 "proto" : {
4720 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4721 "format" : "pve-fw-protocol-spec",
4722 "optional" : 1,
013dc89f
DM
4723 "type" : "string",
4724 "typetext" : "<string>"
7aacca6f 4725 },
44660702
DM
4726 "source" : {
4727 "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.",
4728 "format" : "pve-fw-addr-spec",
56122987 4729 "optional" : 1,
013dc89f
DM
4730 "type" : "string",
4731 "typetext" : "<string>"
56122987
DM
4732 },
4733 "sport" : {
4734 "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
4735 "format" : "pve-fw-sport-spec",
4736 "optional" : 1,
013dc89f
DM
4737 "type" : "string",
4738 "typetext" : "<string>"
44660702
DM
4739 },
4740 "type" : {
e94f0d56 4741 "description" : "Rule type.",
44660702
DM
4742 "enum" : [
4743 "in",
4744 "out",
4745 "group"
4746 ],
56122987 4747 "optional" : 1,
56122987 4748 "type" : "string"
44660702
DM
4749 },
4750 "vmid" : {
4751 "description" : "The (unique) ID of the VM.",
4752 "format" : "pve-vmid",
4753 "minimum" : 1,
4bd7df8b 4754 "type" : "integer",
013dc89f 4755 "typetext" : "<integer> (1 - N)"
56122987 4756 }
44660702 4757 }
56122987 4758 },
56122987
DM
4759 "permissions" : {
4760 "check" : [
4761 "perm",
4762 "/vms/{vmid}",
4763 [
44660702 4764 "VM.Config.Network"
56122987
DM
4765 ]
4766 ]
7aacca6f 4767 },
44660702 4768 "protected" : 1,
7aacca6f 4769 "proxyto" : null,
7aacca6f 4770 "returns" : {
44660702
DM
4771 "type" : "null"
4772 }
56122987 4773 }
7aacca6f 4774 },
44660702 4775 "leaf" : 1,
7aacca6f 4776 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4777 "text" : "{pos}"
56122987
DM
4778 }
4779 ],
56122987 4780 "info" : {
44660702
DM
4781 "GET" : {
4782 "description" : "List rules.",
4783 "method" : "GET",
4784 "name" : "get_rules",
4785 "parameters" : {
4786 "additionalProperties" : 0,
4787 "properties" : {
4788 "node" : {
4789 "description" : "The cluster node name.",
4790 "format" : "pve-node",
013dc89f
DM
4791 "type" : "string",
4792 "typetext" : "<string>"
44660702
DM
4793 },
4794 "vmid" : {
4795 "description" : "The (unique) ID of the VM.",
4796 "format" : "pve-vmid",
4797 "minimum" : 1,
4bd7df8b 4798 "type" : "integer",
013dc89f 4799 "typetext" : "<integer> (1 - N)"
44660702
DM
4800 }
4801 }
56122987 4802 },
56122987
DM
4803 "permissions" : {
4804 "check" : [
4805 "perm",
4806 "/vms/{vmid}",
4807 [
44660702 4808 "VM.Audit"
56122987
DM
4809 ]
4810 ]
7aacca6f 4811 },
44660702
DM
4812 "proxyto" : null,
4813 "returns" : {
4814 "items" : {
4815 "properties" : {
4816 "pos" : {
4817 "type" : "integer"
4818 }
4819 },
4820 "type" : "object"
4821 },
4822 "links" : [
4823 {
4824 "href" : "{pos}",
4825 "rel" : "child"
4826 }
4827 ],
4828 "type" : "array"
4829 }
4830 },
4831 "POST" : {
4832 "description" : "Create new rule.",
7aacca6f 4833 "method" : "POST",
44660702 4834 "name" : "create_rule",
56122987 4835 "parameters" : {
44660702 4836 "additionalProperties" : 0,
56122987 4837 "properties" : {
44660702
DM
4838 "action" : {
4839 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4840 "maxLength" : 20,
4841 "minLength" : 2,
4842 "optional" : 0,
4843 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4844 "type" : "string"
56122987 4845 },
44660702 4846 "comment" : {
e94f0d56 4847 "description" : "Descriptive comment.",
56122987 4848 "optional" : 1,
013dc89f
DM
4849 "type" : "string",
4850 "typetext" : "<string>"
56122987 4851 },
44660702
DM
4852 "dest" : {
4853 "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.",
4854 "format" : "pve-fw-addr-spec",
4855 "optional" : 1,
013dc89f
DM
4856 "type" : "string",
4857 "typetext" : "<string>"
56122987 4858 },
44660702
DM
4859 "digest" : {
4860 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4861 "maxLength" : 40,
56122987 4862 "optional" : 1,
013dc89f
DM
4863 "type" : "string",
4864 "typetext" : "<string>"
56122987 4865 },
7aacca6f
DM
4866 "dport" : {
4867 "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 4868 "format" : "pve-fw-dport-spec",
7aacca6f 4869 "optional" : 1,
013dc89f
DM
4870 "type" : "string",
4871 "typetext" : "<string>"
56122987
DM
4872 },
4873 "enable" : {
e94f0d56 4874 "description" : "Flag to enable/disable a rule.",
56122987 4875 "minimum" : 0,
44660702 4876 "optional" : 1,
4bd7df8b 4877 "type" : "integer",
013dc89f 4878 "typetext" : "<integer> (0 - N)"
56122987 4879 },
44660702
DM
4880 "iface" : {
4881 "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.",
4882 "format" : "pve-iface",
4883 "maxLength" : 20,
7aacca6f 4884 "minLength" : 2,
44660702 4885 "optional" : 1,
013dc89f
DM
4886 "type" : "string",
4887 "typetext" : "<string>"
56122987 4888 },
44660702 4889 "macro" : {
e94f0d56 4890 "description" : "Use predefined standard macro.",
44660702 4891 "maxLength" : 128,
56122987 4892 "optional" : 1,
013dc89f
DM
4893 "type" : "string",
4894 "typetext" : "<string>"
7aacca6f 4895 },
44660702
DM
4896 "node" : {
4897 "description" : "The cluster node name.",
4898 "format" : "pve-node",
013dc89f
DM
4899 "type" : "string",
4900 "typetext" : "<string>"
44660702
DM
4901 },
4902 "pos" : {
4903 "description" : "Update rule at position <pos>.",
4904 "minimum" : 0,
4905 "optional" : 1,
4bd7df8b 4906 "type" : "integer",
013dc89f 4907 "typetext" : "<integer> (0 - N)"
44660702
DM
4908 },
4909 "proto" : {
4910 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4911 "format" : "pve-fw-protocol-spec",
7aacca6f 4912 "optional" : 1,
013dc89f
DM
4913 "type" : "string",
4914 "typetext" : "<string>"
7aacca6f
DM
4915 },
4916 "source" : {
4917 "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 4918 "format" : "pve-fw-addr-spec",
7aacca6f 4919 "optional" : 1,
013dc89f
DM
4920 "type" : "string",
4921 "typetext" : "<string>"
7aacca6f 4922 },
44660702
DM
4923 "sport" : {
4924 "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.",
4925 "format" : "pve-fw-sport-spec",
7aacca6f 4926 "optional" : 1,
013dc89f
DM
4927 "type" : "string",
4928 "typetext" : "<string>"
7aacca6f 4929 },
44660702 4930 "type" : {
e94f0d56 4931 "description" : "Rule type.",
44660702
DM
4932 "enum" : [
4933 "in",
4934 "out",
4935 "group"
4936 ],
4937 "optional" : 0,
4938 "type" : "string"
7aacca6f 4939 },
7aacca6f 4940 "vmid" : {
44660702 4941 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
4942 "format" : "pve-vmid",
4943 "minimum" : 1,
4bd7df8b 4944 "type" : "integer",
013dc89f 4945 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4946 }
4947 }
4948 },
56122987
DM
4949 "permissions" : {
4950 "check" : [
4951 "perm",
4952 "/vms/{vmid}",
4953 [
44660702 4954 "VM.Config.Network"
56122987
DM
4955 ]
4956 ]
4957 },
44660702
DM
4958 "protected" : 1,
4959 "proxyto" : null,
56122987 4960 "returns" : {
44660702
DM
4961 "type" : "null"
4962 }
56122987
DM
4963 }
4964 },
44660702 4965 "leaf" : 0,
7aacca6f 4966 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4967 "text" : "rules"
56122987
DM
4968 },
4969 {
4970 "children" : [
4971 {
56122987 4972 "info" : {
44660702
DM
4973 "DELETE" : {
4974 "description" : "Remove IP or Network alias.",
4975 "method" : "DELETE",
4976 "name" : "remove_alias",
56122987 4977 "parameters" : {
44660702 4978 "additionalProperties" : 0,
56122987 4979 "properties" : {
44660702
DM
4980 "digest" : {
4981 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4982 "maxLength" : 40,
4983 "optional" : 1,
013dc89f
DM
4984 "type" : "string",
4985 "typetext" : "<string>"
56122987
DM
4986 },
4987 "name" : {
56122987 4988 "description" : "Alias name.",
44660702 4989 "maxLength" : 64,
7aacca6f 4990 "minLength" : 2,
44660702 4991 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
4992 "type" : "string"
4993 },
7aacca6f 4994 "node" : {
44660702 4995 "description" : "The cluster node name.",
7aacca6f 4996 "format" : "pve-node",
013dc89f
DM
4997 "type" : "string",
4998 "typetext" : "<string>"
44660702
DM
4999 },
5000 "vmid" : {
5001 "description" : "The (unique) ID of the VM.",
5002 "format" : "pve-vmid",
5003 "minimum" : 1,
4bd7df8b 5004 "type" : "integer",
013dc89f 5005 "typetext" : "<integer> (1 - N)"
56122987 5006 }
44660702 5007 }
56122987 5008 },
7aacca6f
DM
5009 "permissions" : {
5010 "check" : [
5011 "perm",
5012 "/vms/{vmid}",
5013 [
5014 "VM.Config.Network"
5015 ]
5016 ]
56122987 5017 },
44660702
DM
5018 "protected" : 1,
5019 "returns" : {
5020 "type" : "null"
5021 }
5022 },
5023 "GET" : {
5024 "description" : "Read alias.",
5025 "method" : "GET",
5026 "name" : "read_alias",
56122987 5027 "parameters" : {
44660702 5028 "additionalProperties" : 0,
56122987 5029 "properties" : {
56122987 5030 "name" : {
7aacca6f 5031 "description" : "Alias name.",
44660702 5032 "maxLength" : 64,
56122987 5033 "minLength" : 2,
44660702 5034 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 5035 "type" : "string"
7aacca6f
DM
5036 },
5037 "node" : {
5038 "description" : "The cluster node name.",
44660702 5039 "format" : "pve-node",
013dc89f
DM
5040 "type" : "string",
5041 "typetext" : "<string>"
44660702
DM
5042 },
5043 "vmid" : {
5044 "description" : "The (unique) ID of the VM.",
5045 "format" : "pve-vmid",
5046 "minimum" : 1,
4bd7df8b 5047 "type" : "integer",
013dc89f 5048 "typetext" : "<integer> (1 - N)"
56122987 5049 }
44660702 5050 }
56122987 5051 },
44660702
DM
5052 "permissions" : {
5053 "check" : [
5054 "perm",
5055 "/vms/{vmid}",
5056 [
5057 "VM.Audit"
5058 ]
5059 ]
56122987 5060 },
44660702
DM
5061 "returns" : {
5062 "type" : "object"
5063 }
7aacca6f 5064 },
44660702
DM
5065 "PUT" : {
5066 "description" : "Update IP or Network alias.",
5067 "method" : "PUT",
5068 "name" : "update_alias",
56122987
DM
5069 "parameters" : {
5070 "additionalProperties" : 0,
5071 "properties" : {
44660702
DM
5072 "cidr" : {
5073 "description" : "Network/IP specification in CIDR format.",
5074 "format" : "IPorCIDR",
013dc89f
DM
5075 "type" : "string",
5076 "typetext" : "<string>"
44660702
DM
5077 },
5078 "comment" : {
5079 "optional" : 1,
013dc89f
DM
5080 "type" : "string",
5081 "typetext" : "<string>"
56122987
DM
5082 },
5083 "digest" : {
44660702 5084 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
5085 "maxLength" : 40,
5086 "optional" : 1,
013dc89f
DM
5087 "type" : "string",
5088 "typetext" : "<string>"
56122987 5089 },
7aacca6f 5090 "name" : {
44660702 5091 "description" : "Alias name.",
56122987
DM
5092 "maxLength" : 64,
5093 "minLength" : 2,
5094 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5095 "type" : "string"
7aacca6f
DM
5096 },
5097 "node" : {
7aacca6f 5098 "description" : "The cluster node name.",
44660702 5099 "format" : "pve-node",
013dc89f
DM
5100 "type" : "string",
5101 "typetext" : "<string>"
44660702
DM
5102 },
5103 "rename" : {
5104 "description" : "Rename an existing alias.",
5105 "maxLength" : 64,
5106 "minLength" : 2,
5107 "optional" : 1,
5108 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5109 "type" : "string"
5110 },
5111 "vmid" : {
5112 "description" : "The (unique) ID of the VM.",
5113 "format" : "pve-vmid",
5114 "minimum" : 1,
4bd7df8b 5115 "type" : "integer",
013dc89f 5116 "typetext" : "<integer> (1 - N)"
56122987
DM
5117 }
5118 }
5119 },
7aacca6f
DM
5120 "permissions" : {
5121 "check" : [
5122 "perm",
5123 "/vms/{vmid}",
5124 [
5125 "VM.Config.Network"
5126 ]
5127 ]
5128 },
5129 "protected" : 1,
7aacca6f
DM
5130 "returns" : {
5131 "type" : "null"
44660702 5132 }
56122987
DM
5133 }
5134 },
44660702 5135 "leaf" : 1,
7aacca6f 5136 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 5137 "text" : "{name}"
56122987
DM
5138 }
5139 ],
5140 "info" : {
44660702
DM
5141 "GET" : {
5142 "description" : "List aliases",
5143 "method" : "GET",
5144 "name" : "get_aliases",
56122987 5145 "parameters" : {
44660702 5146 "additionalProperties" : 0,
56122987 5147 "properties" : {
7aacca6f 5148 "node" : {
7aacca6f 5149 "description" : "The cluster node name.",
44660702 5150 "format" : "pve-node",
013dc89f
DM
5151 "type" : "string",
5152 "typetext" : "<string>"
56122987 5153 },
44660702
DM
5154 "vmid" : {
5155 "description" : "The (unique) ID of the VM.",
5156 "format" : "pve-vmid",
5157 "minimum" : 1,
4bd7df8b 5158 "type" : "integer",
013dc89f 5159 "typetext" : "<integer> (1 - N)"
56122987 5160 }
44660702 5161 }
56122987 5162 },
56122987
DM
5163 "permissions" : {
5164 "check" : [
5165 "perm",
5166 "/vms/{vmid}",
5167 [
44660702 5168 "VM.Audit"
56122987
DM
5169 ]
5170 ]
5171 },
56122987
DM
5172 "returns" : {
5173 "items" : {
5174 "properties" : {
44660702 5175 "cidr" : {
56122987
DM
5176 "type" : "string"
5177 },
44660702
DM
5178 "comment" : {
5179 "optional" : 1,
7aacca6f 5180 "type" : "string"
56122987
DM
5181 },
5182 "digest" : {
56122987 5183 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5184 "maxLength" : 40,
56122987
DM
5185 "optional" : 0,
5186 "type" : "string"
5187 },
44660702 5188 "name" : {
56122987
DM
5189 "type" : "string"
5190 }
44660702
DM
5191 },
5192 "type" : "object"
56122987 5193 },
56122987
DM
5194 "links" : [
5195 {
5196 "href" : "{name}",
5197 "rel" : "child"
5198 }
44660702
DM
5199 ],
5200 "type" : "array"
5201 }
5202 },
5203 "POST" : {
5204 "description" : "Create IP or Network Alias.",
5205 "method" : "POST",
5206 "name" : "create_alias",
56122987 5207 "parameters" : {
7aacca6f 5208 "additionalProperties" : 0,
56122987 5209 "properties" : {
44660702
DM
5210 "cidr" : {
5211 "description" : "Network/IP specification in CIDR format.",
5212 "format" : "IPorCIDR",
013dc89f
DM
5213 "type" : "string",
5214 "typetext" : "<string>"
44660702
DM
5215 },
5216 "comment" : {
5217 "optional" : 1,
013dc89f
DM
5218 "type" : "string",
5219 "typetext" : "<string>"
44660702
DM
5220 },
5221 "name" : {
5222 "description" : "Alias name.",
5223 "maxLength" : 64,
5224 "minLength" : 2,
5225 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5226 "type" : "string"
56122987
DM
5227 },
5228 "node" : {
7aacca6f 5229 "description" : "The cluster node name.",
44660702 5230 "format" : "pve-node",
013dc89f
DM
5231 "type" : "string",
5232 "typetext" : "<string>"
44660702
DM
5233 },
5234 "vmid" : {
5235 "description" : "The (unique) ID of the VM.",
5236 "format" : "pve-vmid",
5237 "minimum" : 1,
4bd7df8b 5238 "type" : "integer",
013dc89f 5239 "typetext" : "<integer> (1 - N)"
56122987 5240 }
7aacca6f 5241 }
56122987 5242 },
44660702
DM
5243 "permissions" : {
5244 "check" : [
5245 "perm",
5246 "/vms/{vmid}",
5247 [
5248 "VM.Config.Network"
5249 ]
5250 ]
5251 },
5252 "protected" : 1,
5253 "returns" : {
5254 "type" : "null"
5255 }
56122987 5256 }
44660702
DM
5257 },
5258 "leaf" : 0,
5259 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
5260 "text" : "aliases"
56122987
DM
5261 },
5262 {
56122987
DM
5263 "children" : [
5264 {
7aacca6f
DM
5265 "children" : [
5266 {
5267 "info" : {
5268 "DELETE" : {
44660702 5269 "description" : "Remove IP or Network from IPSet.",
7aacca6f 5270 "method" : "DELETE",
44660702 5271 "name" : "remove_ip",
7aacca6f 5272 "parameters" : {
44660702 5273 "additionalProperties" : 0,
7aacca6f 5274 "properties" : {
44660702
DM
5275 "cidr" : {
5276 "description" : "Network/IP specification in CIDR format.",
5277 "format" : "IPorCIDRorAlias",
013dc89f
DM
5278 "type" : "string",
5279 "typetext" : "<string>"
44660702
DM
5280 },
5281 "digest" : {
5282 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5283 "maxLength" : 40,
5284 "optional" : 1,
013dc89f
DM
5285 "type" : "string",
5286 "typetext" : "<string>"
44660702 5287 },
7aacca6f 5288 "name" : {
7aacca6f 5289 "description" : "IP set name.",
44660702
DM
5290 "maxLength" : 64,
5291 "minLength" : 2,
7aacca6f 5292 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 5293 "type" : "string"
7aacca6f
DM
5294 },
5295 "node" : {
5296 "description" : "The cluster node name.",
44660702 5297 "format" : "pve-node",
013dc89f
DM
5298 "type" : "string",
5299 "typetext" : "<string>"
7aacca6f
DM
5300 },
5301 "vmid" : {
44660702 5302 "description" : "The (unique) ID of the VM.",
7aacca6f 5303 "format" : "pve-vmid",
44660702 5304 "minimum" : 1,
4bd7df8b 5305 "type" : "integer",
013dc89f 5306 "typetext" : "<integer> (1 - N)"
7aacca6f 5307 }
44660702 5308 }
7aacca6f 5309 },
7aacca6f
DM
5310 "permissions" : {
5311 "check" : [
5312 "perm",
5313 "/vms/{vmid}",
5314 [
5315 "VM.Config.Network"
5316 ]
5317 ]
5318 },
5319 "protected" : 1,
44660702
DM
5320 "returns" : {
5321 "type" : "null"
5322 }
56122987 5323 },
44660702
DM
5324 "GET" : {
5325 "description" : "Read IP or Network settings from IPSet.",
5326 "method" : "GET",
5327 "name" : "read_ip",
7aacca6f 5328 "parameters" : {
44660702 5329 "additionalProperties" : 0,
7aacca6f 5330 "properties" : {
7aacca6f 5331 "cidr" : {
44660702 5332 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5333 "format" : "IPorCIDRorAlias",
013dc89f
DM
5334 "type" : "string",
5335 "typetext" : "<string>"
7aacca6f
DM
5336 },
5337 "name" : {
7aacca6f 5338 "description" : "IP set name.",
44660702 5339 "maxLength" : 64,
7aacca6f 5340 "minLength" : 2,
44660702
DM
5341 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5342 "type" : "string"
7aacca6f 5343 },
44660702
DM
5344 "node" : {
5345 "description" : "The cluster node name.",
5346 "format" : "pve-node",
013dc89f
DM
5347 "type" : "string",
5348 "typetext" : "<string>"
7aacca6f 5349 },
44660702
DM
5350 "vmid" : {
5351 "description" : "The (unique) ID of the VM.",
5352 "format" : "pve-vmid",
5353 "minimum" : 1,
4bd7df8b 5354 "type" : "integer",
013dc89f 5355 "typetext" : "<integer> (1 - N)"
7aacca6f 5356 }
44660702 5357 }
7aacca6f 5358 },
44660702
DM
5359 "permissions" : {
5360 "check" : [
5361 "perm",
5362 "/vms/{vmid}",
5363 [
5364 "VM.Audit"
5365 ]
5366 ]
5367 },
5368 "protected" : 1,
7aacca6f 5369 "returns" : {
44660702 5370 "type" : "object"
7aacca6f 5371 }
56122987 5372 },
44660702
DM
5373 "PUT" : {
5374 "description" : "Update IP or Network settings",
5375 "method" : "PUT",
5376 "name" : "update_ip",
7aacca6f
DM
5377 "parameters" : {
5378 "additionalProperties" : 0,
5379 "properties" : {
44660702
DM
5380 "cidr" : {
5381 "description" : "Network/IP specification in CIDR format.",
5382 "format" : "IPorCIDRorAlias",
013dc89f
DM
5383 "type" : "string",
5384 "typetext" : "<string>"
44660702
DM
5385 },
5386 "comment" : {
5387 "optional" : 1,
013dc89f
DM
5388 "type" : "string",
5389 "typetext" : "<string>"
44660702
DM
5390 },
5391 "digest" : {
5392 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5393 "maxLength" : 40,
5394 "optional" : 1,
013dc89f
DM
5395 "type" : "string",
5396 "typetext" : "<string>"
44660702 5397 },
7aacca6f 5398 "name" : {
7aacca6f 5399 "description" : "IP set name.",
44660702 5400 "maxLength" : 64,
7aacca6f 5401 "minLength" : 2,
44660702
DM
5402 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5403 "type" : "string"
7aacca6f
DM
5404 },
5405 "node" : {
7aacca6f 5406 "description" : "The cluster node name.",
44660702 5407 "format" : "pve-node",
013dc89f
DM
5408 "type" : "string",
5409 "typetext" : "<string>"
7aacca6f 5410 },
44660702
DM
5411 "nomatch" : {
5412 "optional" : 1,
013dc89f
DM
5413 "type" : "boolean",
5414 "typetext" : "<boolean>"
7aacca6f
DM
5415 },
5416 "vmid" : {
5417 "description" : "The (unique) ID of the VM.",
44660702 5418 "format" : "pve-vmid",
7aacca6f 5419 "minimum" : 1,
4bd7df8b 5420 "type" : "integer",
013dc89f 5421 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5422 }
5423 }
5424 },
5425 "permissions" : {
5426 "check" : [
5427 "perm",
5428 "/vms/{vmid}",
5429 [
44660702 5430 "VM.Config.Network"
7aacca6f
DM
5431 ]
5432 ]
5433 },
7aacca6f 5434 "protected" : 1,
7aacca6f 5435 "returns" : {
44660702 5436 "type" : "null"
7aacca6f 5437 }
56122987 5438 }
7aacca6f 5439 },
7aacca6f 5440 "leaf" : 1,
44660702
DM
5441 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5442 "text" : "{cidr}"
7aacca6f 5443 }
44660702
DM
5444 ],
5445 "info" : {
5446 "DELETE" : {
5447 "description" : "Delete IPSet",
5448 "method" : "DELETE",
5449 "name" : "delete_ipset",
5450 "parameters" : {
5451 "additionalProperties" : 0,
5452 "properties" : {
5453 "name" : {
5454 "description" : "IP set name.",
5455 "maxLength" : 64,
5456 "minLength" : 2,
5457 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5458 "type" : "string"
5459 },
5460 "node" : {
5461 "description" : "The cluster node name.",
5462 "format" : "pve-node",
013dc89f
DM
5463 "type" : "string",
5464 "typetext" : "<string>"
44660702
DM
5465 },
5466 "vmid" : {
5467 "description" : "The (unique) ID of the VM.",
5468 "format" : "pve-vmid",
5469 "minimum" : 1,
4bd7df8b 5470 "type" : "integer",
013dc89f 5471 "typetext" : "<integer> (1 - N)"
44660702
DM
5472 }
5473 }
7aacca6f 5474 },
44660702
DM
5475 "permissions" : {
5476 "check" : [
5477 "perm",
5478 "/vms/{vmid}",
5479 [
5480 "VM.Config.Network"
5481 ]
5482 ]
7aacca6f 5483 },
44660702
DM
5484 "protected" : 1,
5485 "returns" : {
5486 "type" : "null"
5487 }
5488 },
5489 "GET" : {
5490 "description" : "List IPSet content",
5491 "method" : "GET",
5492 "name" : "get_ipset",
5493 "parameters" : {
5494 "additionalProperties" : 0,
5495 "properties" : {
5496 "name" : {
5497 "description" : "IP set name.",
5498 "maxLength" : 64,
5499 "minLength" : 2,
5500 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5501 "type" : "string"
5502 },
5503 "node" : {
5504 "description" : "The cluster node name.",
5505 "format" : "pve-node",
013dc89f
DM
5506 "type" : "string",
5507 "typetext" : "<string>"
44660702
DM
5508 },
5509 "vmid" : {
5510 "description" : "The (unique) ID of the VM.",
5511 "format" : "pve-vmid",
5512 "minimum" : 1,
4bd7df8b 5513 "type" : "integer",
013dc89f 5514 "typetext" : "<integer> (1 - N)"
44660702
DM
5515 }
5516 }
7aacca6f 5517 },
44660702
DM
5518 "permissions" : {
5519 "check" : [
5520 "perm",
5521 "/vms/{vmid}",
5522 [
5523 "VM.Audit"
5524 ]
5525 ]
7aacca6f 5526 },
44660702
DM
5527 "returns" : {
5528 "items" : {
5529 "properties" : {
5530 "cidr" : {
5531 "type" : "string"
5532 },
5533 "comment" : {
5534 "optional" : 1,
5535 "type" : "string"
5536 },
5537 "digest" : {
5538 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5539 "maxLength" : 40,
5540 "optional" : 0,
5541 "type" : "string"
5542 },
5543 "nomatch" : {
5544 "optional" : 1,
5545 "type" : "boolean"
5546 }
5547 },
5548 "type" : "object"
5549 },
5550 "links" : [
5551 {
5552 "href" : "{cidr}",
5553 "rel" : "child"
5554 }
5555 ],
5556 "type" : "array"
56122987
DM
5557 }
5558 },
44660702
DM
5559 "POST" : {
5560 "description" : "Add IP or Network to IPSet.",
5561 "method" : "POST",
5562 "name" : "create_ip",
5563 "parameters" : {
5564 "additionalProperties" : 0,
5565 "properties" : {
5566 "cidr" : {
5567 "description" : "Network/IP specification in CIDR format.",
5568 "format" : "IPorCIDRorAlias",
013dc89f
DM
5569 "type" : "string",
5570 "typetext" : "<string>"
44660702
DM
5571 },
5572 "comment" : {
5573 "optional" : 1,
013dc89f
DM
5574 "type" : "string",
5575 "typetext" : "<string>"
44660702
DM
5576 },
5577 "name" : {
5578 "description" : "IP set name.",
5579 "maxLength" : 64,
5580 "minLength" : 2,
5581 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5582 "type" : "string"
5583 },
5584 "node" : {
5585 "description" : "The cluster node name.",
5586 "format" : "pve-node",
013dc89f
DM
5587 "type" : "string",
5588 "typetext" : "<string>"
44660702
DM
5589 },
5590 "nomatch" : {
5591 "optional" : 1,
013dc89f
DM
5592 "type" : "boolean",
5593 "typetext" : "<boolean>"
44660702
DM
5594 },
5595 "vmid" : {
5596 "description" : "The (unique) ID of the VM.",
5597 "format" : "pve-vmid",
5598 "minimum" : 1,
4bd7df8b 5599 "type" : "integer",
013dc89f 5600 "typetext" : "<integer> (1 - N)"
44660702
DM
5601 }
5602 }
5603 },
5604 "permissions" : {
5605 "check" : [
5606 "perm",
5607 "/vms/{vmid}",
5608 [
5609 "VM.Config.Network"
5610 ]
5611 ]
5612 },
5613 "protected" : 1,
5614 "returns" : {
5615 "type" : "null"
5616 }
5617 }
5618 },
5619 "leaf" : 0,
5620 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5621 "text" : "{name}"
5622 }
5623 ],
5624 "info" : {
5625 "GET" : {
5626 "description" : "List IPSets",
5627 "method" : "GET",
5628 "name" : "ipset_index",
5629 "parameters" : {
5630 "additionalProperties" : 0,
5631 "properties" : {
5632 "node" : {
5633 "description" : "The cluster node name.",
5634 "format" : "pve-node",
013dc89f
DM
5635 "type" : "string",
5636 "typetext" : "<string>"
44660702
DM
5637 },
5638 "vmid" : {
5639 "description" : "The (unique) ID of the VM.",
5640 "format" : "pve-vmid",
5641 "minimum" : 1,
4bd7df8b 5642 "type" : "integer",
013dc89f 5643 "typetext" : "<integer> (1 - N)"
44660702
DM
5644 }
5645 }
56122987
DM
5646 },
5647 "permissions" : {
5648 "check" : [
5649 "perm",
5650 "/vms/{vmid}",
5651 [
44660702 5652 "VM.Audit"
56122987
DM
5653 ]
5654 ]
5655 },
7aacca6f 5656 "returns" : {
7aacca6f
DM
5657 "items" : {
5658 "properties" : {
7aacca6f
DM
5659 "comment" : {
5660 "optional" : 1,
5661 "type" : "string"
5662 },
5663 "digest" : {
7aacca6f 5664 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5665 "maxLength" : 40,
5666 "optional" : 0,
5667 "type" : "string"
5668 },
5669 "name" : {
5670 "description" : "IP set name.",
5671 "maxLength" : 64,
5672 "minLength" : 2,
5673 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5674 "type" : "string"
7aacca6f
DM
5675 }
5676 },
5677 "type" : "object"
5678 },
5679 "links" : [
5680 {
44660702
DM
5681 "href" : "{name}",
5682 "rel" : "child"
7aacca6f 5683 }
44660702
DM
5684 ],
5685 "type" : "array"
5686 }
5687 },
5688 "POST" : {
5689 "description" : "Create new IPSet",
5690 "method" : "POST",
5691 "name" : "create_ipset",
56122987
DM
5692 "parameters" : {
5693 "additionalProperties" : 0,
5694 "properties" : {
44660702
DM
5695 "comment" : {
5696 "optional" : 1,
013dc89f
DM
5697 "type" : "string",
5698 "typetext" : "<string>"
56122987 5699 },
44660702
DM
5700 "digest" : {
5701 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5702 "maxLength" : 40,
5703 "optional" : 1,
013dc89f
DM
5704 "type" : "string",
5705 "typetext" : "<string>"
44660702
DM
5706 },
5707 "name" : {
5708 "description" : "IP set name.",
5709 "maxLength" : 64,
5710 "minLength" : 2,
5711 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5712 "type" : "string"
5713 },
5714 "node" : {
5715 "description" : "The cluster node name.",
5716 "format" : "pve-node",
013dc89f
DM
5717 "type" : "string",
5718 "typetext" : "<string>"
44660702
DM
5719 },
5720 "rename" : {
5721 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5722 "maxLength" : 64,
5723 "minLength" : 2,
5724 "optional" : 1,
5725 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5726 "type" : "string"
5727 },
5728 "vmid" : {
5729 "description" : "The (unique) ID of the VM.",
5730 "format" : "pve-vmid",
5731 "minimum" : 1,
4bd7df8b 5732 "type" : "integer",
013dc89f 5733 "typetext" : "<integer> (1 - N)"
44660702
DM
5734 }
5735 }
5736 },
7aacca6f
DM
5737 "permissions" : {
5738 "check" : [
5739 "perm",
5740 "/vms/{vmid}",
5741 [
5742 "VM.Config.Network"
5743 ]
5744 ]
5745 },
44660702 5746 "protected" : 1,
56122987 5747 "returns" : {
7aacca6f 5748 "type" : "null"
44660702
DM
5749 }
5750 }
5751 },
5752 "leaf" : 0,
5753 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5754 "text" : "ipset"
5755 },
5756 {
5757 "info" : {
5758 "GET" : {
5759 "description" : "Get VM firewall options.",
5760 "method" : "GET",
5761 "name" : "get_options",
7aacca6f
DM
5762 "parameters" : {
5763 "additionalProperties" : 0,
56122987 5764 "properties" : {
7aacca6f
DM
5765 "node" : {
5766 "description" : "The cluster node name.",
44660702 5767 "format" : "pve-node",
013dc89f
DM
5768 "type" : "string",
5769 "typetext" : "<string>"
7aacca6f 5770 },
44660702
DM
5771 "vmid" : {
5772 "description" : "The (unique) ID of the VM.",
5773 "format" : "pve-vmid",
5774 "minimum" : 1,
4bd7df8b 5775 "type" : "integer",
013dc89f 5776 "typetext" : "<integer> (1 - N)"
44660702
DM
5777 }
5778 }
5779 },
5780 "permissions" : {
5781 "check" : [
5782 "perm",
5783 "/vms/{vmid}",
5784 [
5785 "VM.Audit"
5786 ]
5787 ]
5788 },
5789 "proxyto" : "node",
5790 "returns" : {
5791 "properties" : {
5792 "dhcp" : {
5793 "description" : "Enable DHCP.",
56122987 5794 "optional" : 1,
44660702 5795 "type" : "boolean"
56122987 5796 },
44660702
DM
5797 "enable" : {
5798 "description" : "Enable/disable firewall rules.",
7aacca6f 5799 "optional" : 1,
44660702 5800 "type" : "boolean"
56122987 5801 },
44660702
DM
5802 "ipfilter" : {
5803 "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 5804 "optional" : 1,
44660702 5805 "type" : "boolean"
7aacca6f 5806 },
56122987 5807 "log_level_in" : {
7aacca6f 5808 "description" : "Log level for incoming traffic.",
56122987
DM
5809 "enum" : [
5810 "emerg",
5811 "alert",
5812 "crit",
5813 "err",
5814 "warning",
5815 "notice",
5816 "info",
5817 "debug",
5818 "nolog"
5819 ],
56122987
DM
5820 "optional" : 1,
5821 "type" : "string"
5822 },
44660702
DM
5823 "log_level_out" : {
5824 "description" : "Log level for outgoing traffic.",
5825 "enum" : [
5826 "emerg",
5827 "alert",
5828 "crit",
5829 "err",
5830 "warning",
5831 "notice",
5832 "info",
5833 "debug",
5834 "nolog"
5835 ],
5836 "optional" : 1,
5837 "type" : "string"
5838 },
5839 "macfilter" : {
5840 "description" : "Enable/disable MAC address filter.",
56122987 5841 "optional" : 1,
7aacca6f 5842 "type" : "boolean"
56122987
DM
5843 },
5844 "ndp" : {
44660702 5845 "description" : "Enable NDP.",
56122987 5846 "optional" : 1,
44660702 5847 "type" : "boolean"
56122987
DM
5848 },
5849 "policy_in" : {
56122987
DM
5850 "description" : "Input policy.",
5851 "enum" : [
5852 "ACCEPT",
5853 "REJECT",
5854 "DROP"
44660702
DM
5855 ],
5856 "optional" : 1,
5857 "type" : "string"
56122987 5858 },
44660702
DM
5859 "policy_out" : {
5860 "description" : "Output policy.",
5861 "enum" : [
5862 "ACCEPT",
5863 "REJECT",
5864 "DROP"
5865 ],
5866 "optional" : 1,
5867 "type" : "string"
5868 },
5869 "radv" : {
5870 "description" : "Allow sending Router Advertisement.",
5871 "optional" : 1,
5872 "type" : "boolean"
5873 }
5874 },
5875 "type" : "object"
5876 }
5877 },
5878 "PUT" : {
5879 "description" : "Set Firewall options.",
5880 "method" : "PUT",
5881 "name" : "set_options",
5882 "parameters" : {
5883 "additionalProperties" : 0,
5884 "properties" : {
5885 "delete" : {
5886 "description" : "A list of settings you want to delete.",
5887 "format" : "pve-configid-list",
5888 "optional" : 1,
013dc89f
DM
5889 "type" : "string",
5890 "typetext" : "<string>"
44660702
DM
5891 },
5892 "dhcp" : {
5893 "description" : "Enable DHCP.",
7aacca6f 5894 "optional" : 1,
013dc89f
DM
5895 "type" : "boolean",
5896 "typetext" : "<boolean>"
7aacca6f
DM
5897 },
5898 "digest" : {
5899 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5900 "maxLength" : 40,
7aacca6f 5901 "optional" : 1,
013dc89f
DM
5902 "type" : "string",
5903 "typetext" : "<string>"
7aacca6f
DM
5904 },
5905 "enable" : {
5906 "description" : "Enable/disable firewall rules.",
56122987 5907 "optional" : 1,
013dc89f
DM
5908 "type" : "boolean",
5909 "typetext" : "<boolean>"
7aacca6f 5910 },
44660702
DM
5911 "ipfilter" : {
5912 "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.",
5913 "optional" : 1,
013dc89f
DM
5914 "type" : "boolean",
5915 "typetext" : "<boolean>"
44660702
DM
5916 },
5917 "log_level_in" : {
5918 "description" : "Log level for incoming traffic.",
56122987
DM
5919 "enum" : [
5920 "emerg",
5921 "alert",
5922 "crit",
5923 "err",
5924 "warning",
5925 "notice",
5926 "info",
5927 "debug",
5928 "nolog"
7aacca6f 5929 ],
7aacca6f 5930 "optional" : 1,
44660702 5931 "type" : "string"
7aacca6f 5932 },
44660702
DM
5933 "log_level_out" : {
5934 "description" : "Log level for outgoing traffic.",
56122987
DM
5935 "enum" : [
5936 "emerg",
5937 "alert",
5938 "crit",
5939 "err",
5940 "warning",
5941 "notice",
5942 "info",
5943 "debug",
5944 "nolog"
5945 ],
56122987 5946 "optional" : 1,
44660702 5947 "type" : "string"
56122987
DM
5948 },
5949 "macfilter" : {
56122987 5950 "description" : "Enable/disable MAC address filter.",
7aacca6f 5951 "optional" : 1,
013dc89f
DM
5952 "type" : "boolean",
5953 "typetext" : "<boolean>"
56122987 5954 },
44660702
DM
5955 "ndp" : {
5956 "description" : "Enable NDP.",
5957 "optional" : 1,
013dc89f
DM
5958 "type" : "boolean",
5959 "typetext" : "<boolean>"
44660702
DM
5960 },
5961 "node" : {
5962 "description" : "The cluster node name.",
5963 "format" : "pve-node",
013dc89f
DM
5964 "type" : "string",
5965 "typetext" : "<string>"
44660702 5966 },
56122987 5967 "policy_in" : {
44660702 5968 "description" : "Input policy.",
56122987
DM
5969 "enum" : [
5970 "ACCEPT",
5971 "REJECT",
5972 "DROP"
7aacca6f 5973 ],
56122987 5974 "optional" : 1,
7aacca6f 5975 "type" : "string"
56122987 5976 },
44660702
DM
5977 "policy_out" : {
5978 "description" : "Output policy.",
5979 "enum" : [
5980 "ACCEPT",
5981 "REJECT",
5982 "DROP"
5983 ],
56122987 5984 "optional" : 1,
44660702 5985 "type" : "string"
56122987 5986 },
44660702
DM
5987 "radv" : {
5988 "description" : "Allow sending Router Advertisement.",
56122987 5989 "optional" : 1,
013dc89f
DM
5990 "type" : "boolean",
5991 "typetext" : "<boolean>"
7aacca6f
DM
5992 },
5993 "vmid" : {
5994 "description" : "The (unique) ID of the VM.",
44660702 5995 "format" : "pve-vmid",
7aacca6f 5996 "minimum" : 1,
4bd7df8b 5997 "type" : "integer",
013dc89f 5998 "typetext" : "<integer> (1 - N)"
56122987
DM
5999 }
6000 }
6001 },
56122987
DM
6002 "permissions" : {
6003 "check" : [
6004 "perm",
6005 "/vms/{vmid}",
6006 [
44660702 6007 "VM.Config.Network"
56122987
DM
6008 ]
6009 ]
7aacca6f 6010 },
44660702 6011 "protected" : 1,
7aacca6f 6012 "proxyto" : "node",
44660702
DM
6013 "returns" : {
6014 "type" : "null"
6015 }
56122987
DM
6016 }
6017 },
44660702 6018 "leaf" : 1,
7aacca6f 6019 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 6020 "text" : "options"
56122987
DM
6021 },
6022 {
56122987
DM
6023 "info" : {
6024 "GET" : {
44660702
DM
6025 "description" : "Read firewall log",
6026 "method" : "GET",
6027 "name" : "log",
6028 "parameters" : {
6029 "additionalProperties" : 0,
6030 "properties" : {
6031 "limit" : {
6032 "minimum" : 0,
6033 "optional" : 1,
4bd7df8b 6034 "type" : "integer",
013dc89f 6035 "typetext" : "<integer> (0 - N)"
56122987 6036 },
44660702
DM
6037 "node" : {
6038 "description" : "The cluster node name.",
6039 "format" : "pve-node",
013dc89f
DM
6040 "type" : "string",
6041 "typetext" : "<string>"
44660702
DM
6042 },
6043 "start" : {
6044 "minimum" : 0,
6045 "optional" : 1,
4bd7df8b 6046 "type" : "integer",
013dc89f 6047 "typetext" : "<integer> (0 - N)"
44660702
DM
6048 },
6049 "vmid" : {
6050 "description" : "The (unique) ID of the VM.",
6051 "format" : "pve-vmid",
6052 "minimum" : 1,
4bd7df8b 6053 "type" : "integer",
013dc89f 6054 "typetext" : "<integer> (1 - N)"
44660702
DM
6055 }
6056 }
7aacca6f 6057 },
7aacca6f
DM
6058 "permissions" : {
6059 "check" : [
6060 "perm",
6061 "/vms/{vmid}",
6062 [
6063 "VM.Console"
6064 ]
6065 ]
56122987 6066 },
7aacca6f 6067 "protected" : 1,
44660702
DM
6068 "proxyto" : "node",
6069 "returns" : {
6070 "items" : {
6071 "properties" : {
6072 "n" : {
6073 "description" : "Line number",
6074 "type" : "integer"
6075 },
6076 "t" : {
6077 "description" : "Line text",
6078 "type" : "string"
6079 }
56122987 6080 },
44660702 6081 "type" : "object"
7aacca6f 6082 },
44660702 6083 "type" : "array"
7aacca6f
DM
6084 }
6085 }
6086 },
44660702 6087 "leaf" : 1,
7aacca6f 6088 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 6089 "text" : "log"
7aacca6f
DM
6090 },
6091 {
7aacca6f
DM
6092 "info" : {
6093 "GET" : {
6094 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
6095 "method" : "GET",
6096 "name" : "refs",
56122987 6097 "parameters" : {
44660702 6098 "additionalProperties" : 0,
56122987
DM
6099 "properties" : {
6100 "node" : {
7aacca6f 6101 "description" : "The cluster node name.",
44660702 6102 "format" : "pve-node",
013dc89f
DM
6103 "type" : "string",
6104 "typetext" : "<string>"
56122987
DM
6105 },
6106 "type" : {
56122987
DM
6107 "description" : "Only list references of specified type.",
6108 "enum" : [
6109 "alias",
6110 "ipset"
7aacca6f 6111 ],
44660702
DM
6112 "optional" : 1,
6113 "type" : "string"
6114 },
6115 "vmid" : {
6116 "description" : "The (unique) ID of the VM.",
6117 "format" : "pve-vmid",
6118 "minimum" : 1,
4bd7df8b 6119 "type" : "integer",
013dc89f 6120 "typetext" : "<integer> (1 - N)"
56122987 6121 }
44660702
DM
6122 }
6123 },
6124 "permissions" : {
6125 "check" : [
6126 "perm",
6127 "/vms/{vmid}",
6128 [
6129 "VM.Audit"
6130 ]
6131 ]
56122987
DM
6132 },
6133 "returns" : {
56122987
DM
6134 "items" : {
6135 "properties" : {
44660702
DM
6136 "comment" : {
6137 "optional" : 1,
56122987
DM
6138 "type" : "string"
6139 },
6140 "name" : {
6141 "type" : "string"
6142 },
44660702
DM
6143 "type" : {
6144 "enum" : [
6145 "alias",
6146 "ipset"
6147 ],
7aacca6f 6148 "type" : "string"
56122987
DM
6149 }
6150 },
6151 "type" : "object"
7aacca6f
DM
6152 },
6153 "type" : "array"
6154 }
56122987 6155 }
44660702
DM
6156 },
6157 "leaf" : 1,
6158 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
6159 "text" : "refs"
56122987
DM
6160 }
6161 ],
56122987
DM
6162 "info" : {
6163 "GET" : {
44660702 6164 "description" : "Directory index.",
56122987 6165 "method" : "GET",
44660702 6166 "name" : "index",
56122987 6167 "parameters" : {
44660702 6168 "additionalProperties" : 0,
56122987
DM
6169 "properties" : {
6170 "node" : {
6171 "description" : "The cluster node name.",
44660702 6172 "format" : "pve-node",
013dc89f
DM
6173 "type" : "string",
6174 "typetext" : "<string>"
56122987
DM
6175 },
6176 "vmid" : {
44660702 6177 "description" : "The (unique) ID of the VM.",
56122987
DM
6178 "format" : "pve-vmid",
6179 "minimum" : 1,
4bd7df8b 6180 "type" : "integer",
013dc89f 6181 "typetext" : "<integer> (1 - N)"
56122987 6182 }
44660702 6183 }
56122987 6184 },
56122987 6185 "permissions" : {
27a7acb2
DM
6186 "user" : "all"
6187 },
6188 "returns" : {
6189 "items" : {
6190 "properties" : {},
6191 "type" : "object"
6192 },
6193 "links" : [
6194 {
6195 "href" : "{name}",
6196 "rel" : "child"
6197 }
6198 ],
6199 "type" : "array"
6200 }
6201 }
6202 },
6203 "leaf" : 0,
6204 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
6205 "text" : "firewall"
6206 },
6207 {
6208 "children" : [
6209 {
6210 "info" : {
6211 "POST" : {
6212 "description" : "Execute fsfreeze-freeze.",
6213 "method" : "POST",
6214 "name" : "fsfreeze-freeze",
6215 "parameters" : {
6216 "additionalProperties" : 0,
6217 "properties" : {
6218 "node" : {
6219 "description" : "The cluster node name.",
6220 "format" : "pve-node",
6221 "type" : "string",
6222 "typetext" : "<string>"
6223 },
6224 "vmid" : {
6225 "description" : "The (unique) ID of the VM.",
6226 "format" : "pve-vmid",
6227 "minimum" : 1,
6228 "type" : "integer",
6229 "typetext" : "<integer> (1 - N)"
6230 }
6231 }
6232 },
6233 "permissions" : {
6234 "check" : [
6235 "perm",
6236 "/vms/{vmid}",
6237 [
6238 "VM.Monitor"
6239 ]
6240 ]
6241 },
6242 "protected" : 1,
6243 "proxyto" : "node",
6244 "returns" : {
6245 "description" : "Returns an object with a single `result` property.",
6246 "type" : "object"
6247 }
6248 }
6249 },
6250 "leaf" : 1,
6251 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
6252 "text" : "fsfreeze-freeze"
6253 },
6254 {
6255 "info" : {
6256 "POST" : {
6257 "description" : "Execute fsfreeze-status.",
6258 "method" : "POST",
6259 "name" : "fsfreeze-status",
6260 "parameters" : {
6261 "additionalProperties" : 0,
6262 "properties" : {
6263 "node" : {
6264 "description" : "The cluster node name.",
6265 "format" : "pve-node",
6266 "type" : "string",
6267 "typetext" : "<string>"
6268 },
6269 "vmid" : {
6270 "description" : "The (unique) ID of the VM.",
6271 "format" : "pve-vmid",
6272 "minimum" : 1,
6273 "type" : "integer",
6274 "typetext" : "<integer> (1 - N)"
6275 }
6276 }
6277 },
6278 "permissions" : {
6279 "check" : [
6280 "perm",
6281 "/vms/{vmid}",
6282 [
6283 "VM.Monitor"
6284 ]
6285 ]
6286 },
6287 "protected" : 1,
6288 "proxyto" : "node",
6289 "returns" : {
6290 "description" : "Returns an object with a single `result` property.",
6291 "type" : "object"
6292 }
6293 }
6294 },
6295 "leaf" : 1,
6296 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6297 "text" : "fsfreeze-status"
6298 },
6299 {
6300 "info" : {
6301 "POST" : {
6302 "description" : "Execute fsfreeze-thaw.",
6303 "method" : "POST",
6304 "name" : "fsfreeze-thaw",
6305 "parameters" : {
6306 "additionalProperties" : 0,
6307 "properties" : {
6308 "node" : {
6309 "description" : "The cluster node name.",
6310 "format" : "pve-node",
6311 "type" : "string",
6312 "typetext" : "<string>"
6313 },
6314 "vmid" : {
6315 "description" : "The (unique) ID of the VM.",
6316 "format" : "pve-vmid",
6317 "minimum" : 1,
6318 "type" : "integer",
6319 "typetext" : "<integer> (1 - N)"
6320 }
6321 }
6322 },
6323 "permissions" : {
6324 "check" : [
6325 "perm",
6326 "/vms/{vmid}",
6327 [
6328 "VM.Monitor"
6329 ]
6330 ]
6331 },
6332 "protected" : 1,
6333 "proxyto" : "node",
6334 "returns" : {
6335 "description" : "Returns an object with a single `result` property.",
6336 "type" : "object"
6337 }
6338 }
6339 },
6340 "leaf" : 1,
6341 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6342 "text" : "fsfreeze-thaw"
6343 },
6344 {
6345 "info" : {
6346 "POST" : {
6347 "description" : "Execute fstrim.",
6348 "method" : "POST",
6349 "name" : "fstrim",
6350 "parameters" : {
6351 "additionalProperties" : 0,
6352 "properties" : {
6353 "node" : {
6354 "description" : "The cluster node name.",
6355 "format" : "pve-node",
6356 "type" : "string",
6357 "typetext" : "<string>"
6358 },
6359 "vmid" : {
6360 "description" : "The (unique) ID of the VM.",
6361 "format" : "pve-vmid",
6362 "minimum" : 1,
6363 "type" : "integer",
6364 "typetext" : "<integer> (1 - N)"
6365 }
6366 }
6367 },
6368 "permissions" : {
6369 "check" : [
6370 "perm",
6371 "/vms/{vmid}",
6372 [
6373 "VM.Monitor"
6374 ]
6375 ]
6376 },
6377 "protected" : 1,
6378 "proxyto" : "node",
6379 "returns" : {
6380 "description" : "Returns an object with a single `result` property.",
6381 "type" : "object"
6382 }
6383 }
6384 },
6385 "leaf" : 1,
6386 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6387 "text" : "fstrim"
6388 },
6389 {
6390 "info" : {
6391 "GET" : {
6392 "description" : "Execute get-fsinfo.",
6393 "method" : "GET",
6394 "name" : "get-fsinfo",
6395 "parameters" : {
6396 "additionalProperties" : 0,
6397 "properties" : {
6398 "node" : {
6399 "description" : "The cluster node name.",
6400 "format" : "pve-node",
6401 "type" : "string",
6402 "typetext" : "<string>"
6403 },
6404 "vmid" : {
6405 "description" : "The (unique) ID of the VM.",
6406 "format" : "pve-vmid",
6407 "minimum" : 1,
6408 "type" : "integer",
6409 "typetext" : "<integer> (1 - N)"
6410 }
6411 }
6412 },
6413 "permissions" : {
6414 "check" : [
6415 "perm",
6416 "/vms/{vmid}",
6417 [
6418 "VM.Monitor"
6419 ]
6420 ]
6421 },
6422 "protected" : 1,
6423 "proxyto" : "node",
6424 "returns" : {
6425 "description" : "Returns an object with a single `result` property.",
6426 "type" : "object"
6427 }
6428 }
6429 },
6430 "leaf" : 1,
6431 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6432 "text" : "get-fsinfo"
6433 },
6434 {
6435 "info" : {
6436 "GET" : {
6437 "description" : "Execute get-host-name.",
6438 "method" : "GET",
6439 "name" : "get-host-name",
6440 "parameters" : {
6441 "additionalProperties" : 0,
6442 "properties" : {
6443 "node" : {
6444 "description" : "The cluster node name.",
6445 "format" : "pve-node",
6446 "type" : "string",
6447 "typetext" : "<string>"
6448 },
6449 "vmid" : {
6450 "description" : "The (unique) ID of the VM.",
6451 "format" : "pve-vmid",
6452 "minimum" : 1,
6453 "type" : "integer",
6454 "typetext" : "<integer> (1 - N)"
6455 }
6456 }
6457 },
6458 "permissions" : {
6459 "check" : [
6460 "perm",
6461 "/vms/{vmid}",
6462 [
6463 "VM.Monitor"
6464 ]
6465 ]
6466 },
6467 "protected" : 1,
6468 "proxyto" : "node",
6469 "returns" : {
6470 "description" : "Returns an object with a single `result` property.",
6471 "type" : "object"
6472 }
6473 }
6474 },
6475 "leaf" : 1,
6476 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6477 "text" : "get-host-name"
6478 },
6479 {
6480 "info" : {
6481 "GET" : {
6482 "description" : "Execute get-memory-block-info.",
6483 "method" : "GET",
6484 "name" : "get-memory-block-info",
6485 "parameters" : {
6486 "additionalProperties" : 0,
6487 "properties" : {
6488 "node" : {
6489 "description" : "The cluster node name.",
6490 "format" : "pve-node",
6491 "type" : "string",
6492 "typetext" : "<string>"
6493 },
6494 "vmid" : {
6495 "description" : "The (unique) ID of the VM.",
6496 "format" : "pve-vmid",
6497 "minimum" : 1,
6498 "type" : "integer",
6499 "typetext" : "<integer> (1 - N)"
6500 }
6501 }
6502 },
6503 "permissions" : {
6504 "check" : [
6505 "perm",
6506 "/vms/{vmid}",
6507 [
6508 "VM.Monitor"
6509 ]
6510 ]
6511 },
6512 "protected" : 1,
6513 "proxyto" : "node",
6514 "returns" : {
6515 "description" : "Returns an object with a single `result` property.",
6516 "type" : "object"
6517 }
6518 }
6519 },
6520 "leaf" : 1,
6521 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6522 "text" : "get-memory-block-info"
6523 },
6524 {
6525 "info" : {
6526 "GET" : {
6527 "description" : "Execute get-memory-blocks.",
6528 "method" : "GET",
6529 "name" : "get-memory-blocks",
6530 "parameters" : {
6531 "additionalProperties" : 0,
6532 "properties" : {
6533 "node" : {
6534 "description" : "The cluster node name.",
6535 "format" : "pve-node",
6536 "type" : "string",
6537 "typetext" : "<string>"
6538 },
6539 "vmid" : {
6540 "description" : "The (unique) ID of the VM.",
6541 "format" : "pve-vmid",
6542 "minimum" : 1,
6543 "type" : "integer",
6544 "typetext" : "<integer> (1 - N)"
6545 }
6546 }
6547 },
6548 "permissions" : {
6549 "check" : [
6550 "perm",
6551 "/vms/{vmid}",
6552 [
6553 "VM.Monitor"
6554 ]
6555 ]
6556 },
6557 "protected" : 1,
6558 "proxyto" : "node",
6559 "returns" : {
6560 "description" : "Returns an object with a single `result` property.",
6561 "type" : "object"
6562 }
6563 }
6564 },
6565 "leaf" : 1,
6566 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6567 "text" : "get-memory-blocks"
6568 },
6569 {
6570 "info" : {
6571 "GET" : {
6572 "description" : "Execute get-osinfo.",
6573 "method" : "GET",
6574 "name" : "get-osinfo",
6575 "parameters" : {
6576 "additionalProperties" : 0,
6577 "properties" : {
6578 "node" : {
6579 "description" : "The cluster node name.",
6580 "format" : "pve-node",
6581 "type" : "string",
6582 "typetext" : "<string>"
6583 },
6584 "vmid" : {
6585 "description" : "The (unique) ID of the VM.",
6586 "format" : "pve-vmid",
6587 "minimum" : 1,
6588 "type" : "integer",
6589 "typetext" : "<integer> (1 - N)"
6590 }
6591 }
6592 },
6593 "permissions" : {
6594 "check" : [
6595 "perm",
6596 "/vms/{vmid}",
6597 [
6598 "VM.Monitor"
6599 ]
6600 ]
6601 },
6602 "protected" : 1,
6603 "proxyto" : "node",
6604 "returns" : {
6605 "description" : "Returns an object with a single `result` property.",
6606 "type" : "object"
6607 }
6608 }
6609 },
6610 "leaf" : 1,
6611 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6612 "text" : "get-osinfo"
6613 },
6614 {
6615 "info" : {
6616 "GET" : {
6617 "description" : "Execute get-time.",
6618 "method" : "GET",
6619 "name" : "get-time",
6620 "parameters" : {
6621 "additionalProperties" : 0,
6622 "properties" : {
6623 "node" : {
6624 "description" : "The cluster node name.",
6625 "format" : "pve-node",
6626 "type" : "string",
6627 "typetext" : "<string>"
6628 },
6629 "vmid" : {
6630 "description" : "The (unique) ID of the VM.",
6631 "format" : "pve-vmid",
6632 "minimum" : 1,
6633 "type" : "integer",
6634 "typetext" : "<integer> (1 - N)"
6635 }
6636 }
6637 },
6638 "permissions" : {
6639 "check" : [
6640 "perm",
6641 "/vms/{vmid}",
6642 [
6643 "VM.Monitor"
6644 ]
6645 ]
6646 },
6647 "protected" : 1,
6648 "proxyto" : "node",
6649 "returns" : {
6650 "description" : "Returns an object with a single `result` property.",
6651 "type" : "object"
6652 }
6653 }
6654 },
6655 "leaf" : 1,
6656 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6657 "text" : "get-time"
6658 },
6659 {
6660 "info" : {
6661 "GET" : {
6662 "description" : "Execute get-timezone.",
6663 "method" : "GET",
6664 "name" : "get-timezone",
6665 "parameters" : {
6666 "additionalProperties" : 0,
6667 "properties" : {
6668 "node" : {
6669 "description" : "The cluster node name.",
6670 "format" : "pve-node",
6671 "type" : "string",
6672 "typetext" : "<string>"
6673 },
6674 "vmid" : {
6675 "description" : "The (unique) ID of the VM.",
6676 "format" : "pve-vmid",
6677 "minimum" : 1,
6678 "type" : "integer",
6679 "typetext" : "<integer> (1 - N)"
6680 }
6681 }
6682 },
6683 "permissions" : {
6684 "check" : [
6685 "perm",
6686 "/vms/{vmid}",
6687 [
6688 "VM.Monitor"
6689 ]
6690 ]
6691 },
6692 "protected" : 1,
6693 "proxyto" : "node",
6694 "returns" : {
6695 "description" : "Returns an object with a single `result` property.",
6696 "type" : "object"
6697 }
6698 }
6699 },
6700 "leaf" : 1,
6701 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6702 "text" : "get-timezone"
6703 },
6704 {
6705 "info" : {
6706 "GET" : {
6707 "description" : "Execute get-users.",
6708 "method" : "GET",
6709 "name" : "get-users",
6710 "parameters" : {
6711 "additionalProperties" : 0,
6712 "properties" : {
6713 "node" : {
6714 "description" : "The cluster node name.",
6715 "format" : "pve-node",
6716 "type" : "string",
6717 "typetext" : "<string>"
6718 },
6719 "vmid" : {
6720 "description" : "The (unique) ID of the VM.",
6721 "format" : "pve-vmid",
6722 "minimum" : 1,
6723 "type" : "integer",
6724 "typetext" : "<integer> (1 - N)"
6725 }
6726 }
6727 },
6728 "permissions" : {
6729 "check" : [
6730 "perm",
6731 "/vms/{vmid}",
6732 [
6733 "VM.Monitor"
6734 ]
6735 ]
6736 },
6737 "protected" : 1,
6738 "proxyto" : "node",
6739 "returns" : {
6740 "description" : "Returns an object with a single `result` property.",
6741 "type" : "object"
6742 }
6743 }
6744 },
6745 "leaf" : 1,
6746 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
6747 "text" : "get-users"
6748 },
6749 {
6750 "info" : {
6751 "GET" : {
6752 "description" : "Execute get-vcpus.",
6753 "method" : "GET",
6754 "name" : "get-vcpus",
6755 "parameters" : {
6756 "additionalProperties" : 0,
6757 "properties" : {
6758 "node" : {
6759 "description" : "The cluster node name.",
6760 "format" : "pve-node",
6761 "type" : "string",
6762 "typetext" : "<string>"
6763 },
6764 "vmid" : {
6765 "description" : "The (unique) ID of the VM.",
6766 "format" : "pve-vmid",
6767 "minimum" : 1,
6768 "type" : "integer",
6769 "typetext" : "<integer> (1 - N)"
6770 }
6771 }
6772 },
6773 "permissions" : {
6774 "check" : [
6775 "perm",
6776 "/vms/{vmid}",
6777 [
6778 "VM.Monitor"
6779 ]
6780 ]
6781 },
6782 "protected" : 1,
6783 "proxyto" : "node",
6784 "returns" : {
6785 "description" : "Returns an object with a single `result` property.",
6786 "type" : "object"
6787 }
6788 }
6789 },
6790 "leaf" : 1,
6791 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
6792 "text" : "get-vcpus"
6793 },
6794 {
6795 "info" : {
6796 "GET" : {
6797 "description" : "Execute info.",
6798 "method" : "GET",
6799 "name" : "info",
6800 "parameters" : {
6801 "additionalProperties" : 0,
6802 "properties" : {
6803 "node" : {
6804 "description" : "The cluster node name.",
6805 "format" : "pve-node",
6806 "type" : "string",
6807 "typetext" : "<string>"
6808 },
6809 "vmid" : {
6810 "description" : "The (unique) ID of the VM.",
6811 "format" : "pve-vmid",
6812 "minimum" : 1,
6813 "type" : "integer",
6814 "typetext" : "<integer> (1 - N)"
6815 }
6816 }
6817 },
6818 "permissions" : {
6819 "check" : [
6820 "perm",
6821 "/vms/{vmid}",
6822 [
6823 "VM.Monitor"
6824 ]
6825 ]
6826 },
6827 "protected" : 1,
6828 "proxyto" : "node",
6829 "returns" : {
6830 "description" : "Returns an object with a single `result` property.",
6831 "type" : "object"
6832 }
6833 }
6834 },
6835 "leaf" : 1,
6836 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
6837 "text" : "info"
6838 },
6839 {
6840 "info" : {
6841 "GET" : {
6842 "description" : "Execute network-get-interfaces.",
6843 "method" : "GET",
6844 "name" : "network-get-interfaces",
6845 "parameters" : {
6846 "additionalProperties" : 0,
6847 "properties" : {
6848 "node" : {
6849 "description" : "The cluster node name.",
6850 "format" : "pve-node",
6851 "type" : "string",
6852 "typetext" : "<string>"
6853 },
6854 "vmid" : {
6855 "description" : "The (unique) ID of the VM.",
6856 "format" : "pve-vmid",
6857 "minimum" : 1,
6858 "type" : "integer",
6859 "typetext" : "<integer> (1 - N)"
6860 }
6861 }
6862 },
6863 "permissions" : {
6864 "check" : [
6865 "perm",
6866 "/vms/{vmid}",
6867 [
6868 "VM.Monitor"
6869 ]
6870 ]
6871 },
6872 "protected" : 1,
6873 "proxyto" : "node",
6874 "returns" : {
6875 "description" : "Returns an object with a single `result` property.",
6876 "type" : "object"
6877 }
6878 }
6879 },
6880 "leaf" : 1,
6881 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
6882 "text" : "network-get-interfaces"
6883 },
6884 {
6885 "info" : {
6886 "POST" : {
6887 "description" : "Execute ping.",
6888 "method" : "POST",
6889 "name" : "ping",
6890 "parameters" : {
6891 "additionalProperties" : 0,
6892 "properties" : {
6893 "node" : {
6894 "description" : "The cluster node name.",
6895 "format" : "pve-node",
6896 "type" : "string",
6897 "typetext" : "<string>"
6898 },
6899 "vmid" : {
6900 "description" : "The (unique) ID of the VM.",
6901 "format" : "pve-vmid",
6902 "minimum" : 1,
6903 "type" : "integer",
6904 "typetext" : "<integer> (1 - N)"
6905 }
6906 }
6907 },
6908 "permissions" : {
6909 "check" : [
6910 "perm",
6911 "/vms/{vmid}",
6912 [
6913 "VM.Monitor"
6914 ]
6915 ]
6916 },
6917 "protected" : 1,
6918 "proxyto" : "node",
6919 "returns" : {
6920 "description" : "Returns an object with a single `result` property.",
6921 "type" : "object"
6922 }
6923 }
6924 },
6925 "leaf" : 1,
6926 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
6927 "text" : "ping"
6928 },
6929 {
6930 "info" : {
6931 "POST" : {
6932 "description" : "Execute shutdown.",
6933 "method" : "POST",
6934 "name" : "shutdown",
6935 "parameters" : {
6936 "additionalProperties" : 0,
6937 "properties" : {
6938 "node" : {
6939 "description" : "The cluster node name.",
6940 "format" : "pve-node",
6941 "type" : "string",
6942 "typetext" : "<string>"
6943 },
6944 "vmid" : {
6945 "description" : "The (unique) ID of the VM.",
6946 "format" : "pve-vmid",
6947 "minimum" : 1,
6948 "type" : "integer",
6949 "typetext" : "<integer> (1 - N)"
6950 }
6951 }
6952 },
6953 "permissions" : {
6954 "check" : [
6955 "perm",
6956 "/vms/{vmid}",
6957 [
6958 "VM.Monitor"
6959 ]
6960 ]
6961 },
6962 "protected" : 1,
6963 "proxyto" : "node",
6964 "returns" : {
6965 "description" : "Returns an object with a single `result` property.",
6966 "type" : "object"
6967 }
6968 }
6969 },
6970 "leaf" : 1,
6971 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
6972 "text" : "shutdown"
6973 },
6974 {
6975 "info" : {
6976 "POST" : {
6977 "description" : "Execute suspend-disk.",
6978 "method" : "POST",
6979 "name" : "suspend-disk",
6980 "parameters" : {
6981 "additionalProperties" : 0,
6982 "properties" : {
6983 "node" : {
6984 "description" : "The cluster node name.",
6985 "format" : "pve-node",
6986 "type" : "string",
6987 "typetext" : "<string>"
6988 },
6989 "vmid" : {
6990 "description" : "The (unique) ID of the VM.",
6991 "format" : "pve-vmid",
6992 "minimum" : 1,
6993 "type" : "integer",
6994 "typetext" : "<integer> (1 - N)"
6995 }
6996 }
6997 },
6998 "permissions" : {
6999 "check" : [
7000 "perm",
7001 "/vms/{vmid}",
7002 [
7003 "VM.Monitor"
7004 ]
7005 ]
7006 },
7007 "protected" : 1,
7008 "proxyto" : "node",
7009 "returns" : {
7010 "description" : "Returns an object with a single `result` property.",
7011 "type" : "object"
7012 }
7013 }
7014 },
7015 "leaf" : 1,
7016 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
7017 "text" : "suspend-disk"
7018 },
7019 {
7020 "info" : {
7021 "POST" : {
7022 "description" : "Execute suspend-hybrid.",
7023 "method" : "POST",
7024 "name" : "suspend-hybrid",
7025 "parameters" : {
7026 "additionalProperties" : 0,
7027 "properties" : {
7028 "node" : {
7029 "description" : "The cluster node name.",
7030 "format" : "pve-node",
7031 "type" : "string",
7032 "typetext" : "<string>"
7033 },
7034 "vmid" : {
7035 "description" : "The (unique) ID of the VM.",
7036 "format" : "pve-vmid",
7037 "minimum" : 1,
7038 "type" : "integer",
7039 "typetext" : "<integer> (1 - N)"
7040 }
7041 }
7042 },
7043 "permissions" : {
7044 "check" : [
7045 "perm",
7046 "/vms/{vmid}",
7047 [
7048 "VM.Monitor"
7049 ]
7050 ]
7051 },
7052 "protected" : 1,
7053 "proxyto" : "node",
7054 "returns" : {
7055 "description" : "Returns an object with a single `result` property.",
7056 "type" : "object"
7057 }
7058 }
7059 },
7060 "leaf" : 1,
7061 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
7062 "text" : "suspend-hybrid"
7063 },
7064 {
7065 "info" : {
7066 "POST" : {
7067 "description" : "Execute suspend-ram.",
7068 "method" : "POST",
7069 "name" : "suspend-ram",
7070 "parameters" : {
7071 "additionalProperties" : 0,
7072 "properties" : {
7073 "node" : {
7074 "description" : "The cluster node name.",
7075 "format" : "pve-node",
7076 "type" : "string",
7077 "typetext" : "<string>"
7078 },
7079 "vmid" : {
7080 "description" : "The (unique) ID of the VM.",
7081 "format" : "pve-vmid",
7082 "minimum" : 1,
7083 "type" : "integer",
7084 "typetext" : "<integer> (1 - N)"
7085 }
7086 }
7087 },
7088 "permissions" : {
7089 "check" : [
7090 "perm",
7091 "/vms/{vmid}",
7092 [
7093 "VM.Monitor"
7094 ]
7095 ]
7096 },
7097 "protected" : 1,
7098 "proxyto" : "node",
7099 "returns" : {
7100 "description" : "Returns an object with a single `result` property.",
7101 "type" : "object"
7102 }
7103 }
7104 },
7105 "leaf" : 1,
7106 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
7107 "text" : "suspend-ram"
7108 }
7109 ],
7110 "info" : {
7111 "GET" : {
7112 "description" : "Qemu Agent command index.",
7113 "method" : "GET",
7114 "name" : "index",
7115 "parameters" : {
7116 "additionalProperties" : 1,
7117 "properties" : {
7118 "node" : {
7119 "description" : "The cluster node name.",
7120 "format" : "pve-node",
7121 "type" : "string",
7122 "typetext" : "<string>"
7123 },
7124 "vmid" : {
7125 "description" : "The (unique) ID of the VM.",
7126 "format" : "pve-vmid",
7127 "minimum" : 1,
7128 "type" : "integer",
7129 "typetext" : "<integer> (1 - N)"
7130 }
7131 }
7132 },
7133 "permissions" : {
7134 "user" : "all"
7135 },
7136 "proxyto" : "node",
7137 "returns" : {
7138 "description" : "Returns the list of Qemu Agent commands",
7139 "items" : {
7140 "properties" : {},
7141 "type" : "object"
7142 },
7143 "links" : [
7144 {
7145 "href" : "{name}",
7146 "rel" : "child"
7147 }
7148 ],
7149 "type" : "array"
7150 }
7151 },
7152 "POST" : {
7153 "description" : "Execute Qemu Guest Agent commands.",
7154 "method" : "POST",
7155 "name" : "agent",
7156 "parameters" : {
7157 "additionalProperties" : 0,
7158 "properties" : {
7159 "command" : {
7160 "description" : "The QGA command.",
7161 "enum" : [
7162 "fsfreeze-freeze",
7163 "fsfreeze-status",
7164 "fsfreeze-thaw",
7165 "fstrim",
7166 "get-fsinfo",
7167 "get-host-name",
7168 "get-memory-block-info",
7169 "get-memory-blocks",
7170 "get-osinfo",
7171 "get-time",
7172 "get-timezone",
7173 "get-users",
7174 "get-vcpus",
7175 "info",
7176 "network-get-interfaces",
7177 "ping",
7178 "shutdown",
7179 "suspend-disk",
7180 "suspend-hybrid",
7181 "suspend-ram"
7182 ],
7183 "type" : "string"
7184 },
7185 "node" : {
7186 "description" : "The cluster node name.",
7187 "format" : "pve-node",
7188 "type" : "string",
7189 "typetext" : "<string>"
7190 },
7191 "vmid" : {
7192 "description" : "The (unique) ID of the VM.",
7193 "format" : "pve-vmid",
7194 "minimum" : 1,
7195 "type" : "integer",
7196 "typetext" : "<integer> (1 - N)"
7197 }
7198 }
7199 },
7200 "permissions" : {
7201 "check" : [
7202 "perm",
7203 "/vms/{vmid}",
7204 [
7205 "VM.Monitor"
7206 ]
7207 ]
7aacca6f 7208 },
27a7acb2
DM
7209 "protected" : 1,
7210 "proxyto" : "node",
44660702 7211 "returns" : {
27a7acb2
DM
7212 "description" : "Returns an object with a single `result` property.",
7213 "type" : "object"
44660702 7214 }
56122987 7215 }
44660702
DM
7216 },
7217 "leaf" : 0,
27a7acb2
DM
7218 "path" : "/nodes/{node}/qemu/{vmid}/agent",
7219 "text" : "agent"
56122987
DM
7220 },
7221 {
56122987
DM
7222 "info" : {
7223 "GET" : {
44660702
DM
7224 "description" : "Read VM RRD statistics (returns PNG)",
7225 "method" : "GET",
7aacca6f 7226 "name" : "rrd",
56122987
DM
7227 "parameters" : {
7228 "additionalProperties" : 0,
7229 "properties" : {
7aacca6f 7230 "cf" : {
44660702 7231 "description" : "The RRD consolidation function",
7aacca6f
DM
7232 "enum" : [
7233 "AVERAGE",
7234 "MAX"
7235 ],
7aacca6f
DM
7236 "optional" : 1,
7237 "type" : "string"
7238 },
44660702
DM
7239 "ds" : {
7240 "description" : "The list of datasources you want to display.",
7241 "format" : "pve-configid-list",
013dc89f
DM
7242 "type" : "string",
7243 "typetext" : "<string>"
56122987
DM
7244 },
7245 "node" : {
44660702 7246 "description" : "The cluster node name.",
56122987 7247 "format" : "pve-node",
013dc89f
DM
7248 "type" : "string",
7249 "typetext" : "<string>"
56122987
DM
7250 },
7251 "timeframe" : {
44660702 7252 "description" : "Specify the time frame you are interested in.",
56122987
DM
7253 "enum" : [
7254 "hour",
7255 "day",
7256 "week",
7257 "month",
7258 "year"
7259 ],
56122987
DM
7260 "type" : "string"
7261 },
44660702
DM
7262 "vmid" : {
7263 "description" : "The (unique) ID of the VM.",
7264 "format" : "pve-vmid",
7265 "minimum" : 1,
4bd7df8b 7266 "type" : "integer",
013dc89f 7267 "typetext" : "<integer> (1 - N)"
56122987
DM
7268 }
7269 }
7270 },
56122987
DM
7271 "permissions" : {
7272 "check" : [
7273 "perm",
7274 "/vms/{vmid}",
7275 [
7276 "VM.Audit"
7277 ]
7278 ]
7279 },
7aacca6f
DM
7280 "protected" : 1,
7281 "returns" : {
7282 "properties" : {
7283 "filename" : {
7284 "type" : "string"
7285 }
7286 },
7287 "type" : "object"
44660702 7288 }
56122987 7289 }
44660702
DM
7290 },
7291 "leaf" : 1,
7292 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
7293 "text" : "rrd"
56122987
DM
7294 },
7295 {
7aacca6f 7296 "info" : {
56122987 7297 "GET" : {
7aacca6f 7298 "description" : "Read VM RRD statistics",
44660702 7299 "method" : "GET",
56122987 7300 "name" : "rrddata",
56122987 7301 "parameters" : {
44660702 7302 "additionalProperties" : 0,
56122987 7303 "properties" : {
44660702
DM
7304 "cf" : {
7305 "description" : "The RRD consolidation function",
7306 "enum" : [
7307 "AVERAGE",
7308 "MAX"
7309 ],
7310 "optional" : 1,
7311 "type" : "string"
7312 },
56122987 7313 "node" : {
44660702 7314 "description" : "The cluster node name.",
56122987 7315 "format" : "pve-node",
013dc89f
DM
7316 "type" : "string",
7317 "typetext" : "<string>"
56122987
DM
7318 },
7319 "timeframe" : {
44660702 7320 "description" : "Specify the time frame you are interested in.",
56122987
DM
7321 "enum" : [
7322 "hour",
7323 "day",
7324 "week",
7325 "month",
7326 "year"
7aacca6f 7327 ],
44660702 7328 "type" : "string"
7aacca6f
DM
7329 },
7330 "vmid" : {
7aacca6f
DM
7331 "description" : "The (unique) ID of the VM.",
7332 "format" : "pve-vmid",
44660702 7333 "minimum" : 1,
4bd7df8b 7334 "type" : "integer",
013dc89f 7335 "typetext" : "<integer> (1 - N)"
56122987 7336 }
44660702 7337 }
56122987 7338 },
56122987
DM
7339 "permissions" : {
7340 "check" : [
7341 "perm",
7342 "/vms/{vmid}",
7343 [
7344 "VM.Audit"
7345 ]
7346 ]
7347 },
44660702 7348 "protected" : 1,
7aacca6f 7349 "returns" : {
7aacca6f 7350 "items" : {
44660702
DM
7351 "properties" : {},
7352 "type" : "object"
7353 },
7354 "type" : "array"
7aacca6f 7355 }
56122987
DM
7356 }
7357 },
44660702
DM
7358 "leaf" : 1,
7359 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
7360 "text" : "rrddata"
7361 },
7362 {
56122987 7363 "info" : {
44660702
DM
7364 "GET" : {
7365 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7366 "method" : "GET",
7367 "name" : "vm_config",
7368 "parameters" : {
7369 "additionalProperties" : 0,
7370 "properties" : {
7371 "current" : {
7372 "default" : 0,
7373 "description" : "Get current values (instead of pending values).",
7374 "optional" : 1,
013dc89f
DM
7375 "type" : "boolean",
7376 "typetext" : "<boolean>"
44660702
DM
7377 },
7378 "node" : {
7379 "description" : "The cluster node name.",
7380 "format" : "pve-node",
013dc89f
DM
7381 "type" : "string",
7382 "typetext" : "<string>"
44660702
DM
7383 },
7384 "vmid" : {
7385 "description" : "The (unique) ID of the VM.",
7386 "format" : "pve-vmid",
7387 "minimum" : 1,
4bd7df8b 7388 "type" : "integer",
013dc89f 7389 "typetext" : "<integer> (1 - N)"
44660702
DM
7390 }
7391 }
7aacca6f 7392 },
56122987
DM
7393 "permissions" : {
7394 "check" : [
7395 "perm",
7396 "/vms/{vmid}",
7397 [
44660702
DM
7398 "VM.Audit"
7399 ]
56122987
DM
7400 ]
7401 },
56122987 7402 "proxyto" : "node",
44660702
DM
7403 "returns" : {
7404 "properties" : {
7405 "digest" : {
7406 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
7407 "type" : "string"
7408 }
7409 },
7410 "type" : "object"
7411 }
7412 },
7413 "POST" : {
7aacca6f
DM
7414 "description" : "Set virtual machine options (asynchrounous API).",
7415 "method" : "POST",
44660702 7416 "name" : "update_vm_async",
56122987 7417 "parameters" : {
44660702 7418 "additionalProperties" : 0,
56122987 7419 "properties" : {
44660702
DM
7420 "acpi" : {
7421 "default" : 1,
7422 "description" : "Enable/disable ACPI.",
7423 "optional" : 1,
013dc89f
DM
7424 "type" : "boolean",
7425 "typetext" : "<boolean>"
44660702
DM
7426 },
7427 "agent" : {
7aacca6f 7428 "default" : 0,
44660702 7429 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7430 "optional" : 1,
013dc89f
DM
7431 "type" : "boolean",
7432 "typetext" : "<boolean>"
7aacca6f 7433 },
44660702 7434 "args" : {
c2993fe5 7435 "description" : "Arbitrary arguments passed to kvm.",
44660702 7436 "optional" : 1,
c2993fe5 7437 "type" : "string",
013dc89f 7438 "typetext" : "<string>",
c2993fe5 7439 "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 7440 },
44660702
DM
7441 "autostart" : {
7442 "default" : 0,
7443 "description" : "Automatic restart after crash (currently ignored).",
56122987 7444 "optional" : 1,
013dc89f
DM
7445 "type" : "boolean",
7446 "typetext" : "<boolean>"
56122987 7447 },
44660702
DM
7448 "background_delay" : {
7449 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
7450 "maximum" : 30,
7451 "minimum" : 1,
7aacca6f 7452 "optional" : 1,
4bd7df8b 7453 "type" : "integer",
013dc89f 7454 "typetext" : "<integer> (1 - 30)"
56122987 7455 },
44660702
DM
7456 "balloon" : {
7457 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7458 "minimum" : 0,
7aacca6f 7459 "optional" : 1,
4bd7df8b 7460 "type" : "integer",
013dc89f 7461 "typetext" : "<integer> (0 - N)"
7aacca6f 7462 },
44660702
DM
7463 "bios" : {
7464 "default" : "seabios",
7465 "description" : "Select BIOS implementation.",
7466 "enum" : [
7467 "seabios",
7468 "ovmf"
7469 ],
56122987 7470 "optional" : 1,
44660702 7471 "type" : "string"
7aacca6f 7472 },
44660702
DM
7473 "boot" : {
7474 "default" : "cdn",
7475 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7476 "optional" : 1,
7477 "pattern" : "[acdn]{1,4}",
7478 "type" : "string"
7479 },
7480 "bootdisk" : {
7481 "description" : "Enable booting from specified disk.",
7482 "format" : "pve-qm-bootdisk",
7483 "optional" : 1,
7484 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7485 "type" : "string"
7486 },
7487 "cdrom" : {
7488 "description" : "This is an alias for option -ide2",
de0983cb 7489 "format" : "pve-qm-ide",
44660702 7490 "optional" : 1,
7aacca6f 7491 "type" : "string",
013dc89f 7492 "typetext" : "<volume>"
44660702 7493 },
27a7acb2
DM
7494 "cipassword" : {
7495 "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.",
7496 "optional" : 1,
7497 "type" : "string",
7498 "typetext" : "<string>"
7499 },
7500 "citype" : {
7501 "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.",
7502 "enum" : [
7503 "configdrive2",
7504 "nocloud"
7505 ],
7506 "optional" : 1,
7507 "type" : "string"
7508 },
7509 "ciuser" : {
7510 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
7511 "optional" : 1,
7512 "type" : "string",
7513 "typetext" : "<string>"
7514 },
44660702
DM
7515 "cores" : {
7516 "default" : 1,
7517 "description" : "The number of cores per socket.",
7518 "minimum" : 1,
7aacca6f 7519 "optional" : 1,
4bd7df8b 7520 "type" : "integer",
013dc89f 7521 "typetext" : "<integer> (1 - N)"
7aacca6f 7522 },
44660702
DM
7523 "cpu" : {
7524 "description" : "Emulated CPU type.",
56122987 7525 "format" : {
44660702
DM
7526 "cputype" : {
7527 "default" : "kvm64",
7aacca6f 7528 "default_key" : 1,
44660702 7529 "description" : "Emulated CPU type.",
56122987 7530 "enum" : [
44660702
DM
7531 "486",
7532 "athlon",
f004f5b9 7533 "Broadwell",
35a75dd3 7534 "Broadwell-IBRS",
f004f5b9 7535 "Broadwell-noTSX",
35a75dd3 7536 "Broadwell-noTSX-IBRS",
f004f5b9 7537 "Conroe",
44660702 7538 "core2duo",
f004f5b9 7539 "coreduo",
27a7acb2
DM
7540 "EPYC",
7541 "EPYC-IBPB",
f004f5b9 7542 "Haswell",
35a75dd3 7543 "Haswell-IBRS",
f004f5b9 7544 "Haswell-noTSX",
35a75dd3 7545 "Haswell-noTSX-IBRS",
f004f5b9
DM
7546 "host",
7547 "IvyBridge",
35a75dd3 7548 "IvyBridge-IBRS",
44660702
DM
7549 "kvm32",
7550 "kvm64",
35a75dd3 7551 "max",
44660702 7552 "Nehalem",
35a75dd3 7553 "Nehalem-IBRS",
44660702
DM
7554 "Opteron_G1",
7555 "Opteron_G2",
7556 "Opteron_G3",
7557 "Opteron_G4",
7558 "Opteron_G5",
f004f5b9
DM
7559 "Penryn",
7560 "pentium",
7561 "pentium2",
7562 "pentium3",
7563 "phenom",
7564 "qemu32",
7565 "qemu64",
7566 "SandyBridge",
35a75dd3 7567 "SandyBridge-IBRS",
5d9c884c 7568 "Skylake-Client",
35a75dd3
DM
7569 "Skylake-Client-IBRS",
7570 "Skylake-Server",
7571 "Skylake-Server-IBRS",
7572 "Westmere",
7573 "Westmere-IBRS"
56122987 7574 ],
56122987
DM
7575 "type" : "string"
7576 },
35a75dd3
DM
7577 "flags" : {
7578 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
7579 "format_description" : "+FLAG[;-FLAG...]",
7580 "optional" : 1,
7581 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
7582 "type" : "string"
7583 },
44660702
DM
7584 "hidden" : {
7585 "default" : 0,
7586 "description" : "Do not identify as a KVM virtual machine.",
56122987 7587 "optional" : 1,
44660702
DM
7588 "type" : "boolean"
7589 }
7590 },
7591 "optional" : 1,
4bd7df8b 7592 "type" : "string",
35a75dd3 7593 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
7594 },
7595 "cpulimit" : {
7596 "default" : 0,
c2993fe5 7597 "description" : "Limit of CPU usage.",
44660702
DM
7598 "maximum" : 128,
7599 "minimum" : 0,
7600 "optional" : 1,
c2993fe5 7601 "type" : "number",
013dc89f 7602 "typetext" : "<number> (0 - 128)",
c2993fe5 7603 "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
7604 },
7605 "cpuunits" : {
de0983cb 7606 "default" : 1024,
c2993fe5 7607 "description" : "CPU weight for a VM.",
2489d6df
WB
7608 "maximum" : 262144,
7609 "minimum" : 2,
44660702 7610 "optional" : 1,
c2993fe5 7611 "type" : "integer",
2489d6df
WB
7612 "typetext" : "<integer> (2 - 262144)",
7613 "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
7614 },
7615 "delete" : {
7616 "description" : "A list of settings you want to delete.",
7617 "format" : "pve-configid-list",
7618 "optional" : 1,
013dc89f
DM
7619 "type" : "string",
7620 "typetext" : "<string>"
44660702
DM
7621 },
7622 "description" : {
7623 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7624 "optional" : 1,
013dc89f
DM
7625 "type" : "string",
7626 "typetext" : "<string>"
44660702
DM
7627 },
7628 "digest" : {
7629 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7630 "maxLength" : 40,
7631 "optional" : 1,
013dc89f
DM
7632 "type" : "string",
7633 "typetext" : "<string>"
44660702
DM
7634 },
7635 "force" : {
7636 "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.",
7637 "optional" : 1,
7638 "requires" : "delete",
013dc89f
DM
7639 "type" : "boolean",
7640 "typetext" : "<boolean>"
44660702
DM
7641 },
7642 "freeze" : {
7643 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7644 "optional" : 1,
013dc89f
DM
7645 "type" : "boolean",
7646 "typetext" : "<boolean>"
44660702
DM
7647 },
7648 "hostpci[n]" : {
c2993fe5 7649 "description" : "Map host PCI devices into guest.",
44660702
DM
7650 "format" : "pve-qm-hostpci",
7651 "optional" : 1,
57b78691 7652 "type" : "string",
52e44c50 7653 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 7654 "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
7655 },
7656 "hotplug" : {
7657 "default" : "network,disk,usb",
7658 "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'.",
7659 "format" : "pve-hotplug-features",
7660 "optional" : 1,
013dc89f
DM
7661 "type" : "string",
7662 "typetext" : "<string>"
44660702 7663 },
4bd7df8b
DM
7664 "hugepages" : {
7665 "description" : "Enable/disable hugepages memory.",
7666 "enum" : [
7667 "any",
7668 "2",
7669 "1024"
7670 ],
7671 "optional" : 1,
7672 "type" : "string"
7673 },
44660702
DM
7674 "ide[n]" : {
7675 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
7676 "format" : {
7677 "aio" : {
7678 "description" : "AIO type to use.",
7679 "enum" : [
7680 "native",
7681 "threads"
56122987 7682 ],
56122987 7683 "optional" : 1,
44660702 7684 "type" : "string"
56122987 7685 },
44660702
DM
7686 "backup" : {
7687 "description" : "Whether the drive should be included when making backups.",
56122987 7688 "optional" : 1,
44660702 7689 "type" : "boolean"
56122987 7690 },
7aacca6f 7691 "bps" : {
de0983cb 7692 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7693 "format_description" : "bps",
7694 "optional" : 1,
7695 "type" : "integer"
7696 },
de0983cb
DM
7697 "bps_max_length" : {
7698 "description" : "Maximum length of I/O bursts in seconds.",
7699 "format_description" : "seconds",
7700 "minimum" : 1,
7701 "optional" : 1,
7702 "type" : "integer"
7703 },
44660702 7704 "bps_rd" : {
de0983cb 7705 "description" : "Maximum read speed in bytes per second.",
44660702 7706 "format_description" : "bps",
56122987 7707 "optional" : 1,
44660702 7708 "type" : "integer"
56122987 7709 },
de0983cb 7710 "bps_rd_length" : {
5d9c884c
DM
7711 "alias" : "bps_rd_max_length"
7712 },
7713 "bps_rd_max_length" : {
de0983cb
DM
7714 "description" : "Maximum length of read I/O bursts in seconds.",
7715 "format_description" : "seconds",
7716 "minimum" : 1,
7717 "optional" : 1,
7718 "type" : "integer"
7719 },
44660702 7720 "bps_wr" : {
de0983cb 7721 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7722 "format_description" : "bps",
7723 "optional" : 1,
7724 "type" : "integer"
7725 },
de0983cb 7726 "bps_wr_length" : {
5d9c884c
DM
7727 "alias" : "bps_wr_max_length"
7728 },
7729 "bps_wr_max_length" : {
de0983cb
DM
7730 "description" : "Maximum length of write I/O bursts in seconds.",
7731 "format_description" : "seconds",
7732 "minimum" : 1,
7733 "optional" : 1,
7734 "type" : "integer"
7735 },
44660702
DM
7736 "cache" : {
7737 "description" : "The drive's cache mode",
7738 "enum" : [
7739 "none",
7740 "writethrough",
7741 "writeback",
7742 "unsafe",
7743 "directsync"
7744 ],
44660702
DM
7745 "optional" : 1,
7746 "type" : "string"
7747 },
7748 "cyls" : {
7749 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7750 "optional" : 1,
7751 "type" : "integer"
7752 },
7753 "detect_zeroes" : {
7754 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7755 "optional" : 1,
7756 "type" : "boolean"
7757 },
7758 "discard" : {
7759 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7760 "enum" : [
7761 "ignore",
7762 "on"
7763 ],
56122987 7764 "optional" : 1,
44660702
DM
7765 "type" : "string"
7766 },
7767 "file" : {
7768 "default_key" : 1,
7769 "description" : "The drive's backing volume.",
7770 "format" : "pve-volume-id-or-qm-path",
7771 "format_description" : "volume",
7772 "type" : "string"
56122987 7773 },
7aacca6f 7774 "format" : {
7aacca6f 7775 "description" : "The drive's backing file's data format.",
56122987 7776 "enum" : [
7aacca6f
DM
7777 "raw",
7778 "cow",
7779 "qcow",
7780 "qed",
7781 "qcow2",
7782 "vmdk",
7783 "cloop"
56122987
DM
7784 ],
7785 "optional" : 1,
56122987
DM
7786 "type" : "string"
7787 },
44660702
DM
7788 "heads" : {
7789 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
7790 "optional" : 1,
7791 "type" : "integer"
7aacca6f 7792 },
44660702 7793 "iops" : {
de0983cb 7794 "description" : "Maximum r/w I/O in operations per second.",
44660702 7795 "format_description" : "iops",
56122987 7796 "optional" : 1,
44660702 7797 "type" : "integer"
56122987 7798 },
44660702 7799 "iops_max" : {
de0983cb 7800 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7801 "format_description" : "iops",
56122987 7802 "optional" : 1,
44660702 7803 "type" : "integer"
56122987 7804 },
de0983cb
DM
7805 "iops_max_length" : {
7806 "description" : "Maximum length of I/O bursts in seconds.",
7807 "format_description" : "seconds",
7808 "minimum" : 1,
7809 "optional" : 1,
7810 "type" : "integer"
7811 },
44660702 7812 "iops_rd" : {
de0983cb 7813 "description" : "Maximum read I/O in operations per second.",
44660702
DM
7814 "format_description" : "iops",
7815 "optional" : 1,
7816 "type" : "integer"
7817 },
de0983cb 7818 "iops_rd_length" : {
5d9c884c 7819 "alias" : "iops_rd_max_length"
de0983cb 7820 },
44660702 7821 "iops_rd_max" : {
de0983cb 7822 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 7823 "format_description" : "iops",
44660702
DM
7824 "optional" : 1,
7825 "type" : "integer"
7826 },
5d9c884c
DM
7827 "iops_rd_max_length" : {
7828 "description" : "Maximum length of read I/O bursts in seconds.",
7829 "format_description" : "seconds",
7830 "minimum" : 1,
7831 "optional" : 1,
7832 "type" : "integer"
7833 },
44660702 7834 "iops_wr" : {
de0983cb 7835 "description" : "Maximum write I/O in operations per second.",
44660702 7836 "format_description" : "iops",
56122987 7837 "optional" : 1,
7aacca6f 7838 "type" : "integer"
56122987 7839 },
de0983cb 7840 "iops_wr_length" : {
5d9c884c 7841 "alias" : "iops_wr_max_length"
de0983cb 7842 },
44660702 7843 "iops_wr_max" : {
de0983cb 7844 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7845 "format_description" : "iops",
7aacca6f 7846 "optional" : 1,
44660702 7847 "type" : "integer"
56122987 7848 },
5d9c884c
DM
7849 "iops_wr_max_length" : {
7850 "description" : "Maximum length of write I/O bursts in seconds.",
7851 "format_description" : "seconds",
7852 "minimum" : 1,
7853 "optional" : 1,
7854 "type" : "integer"
7855 },
44660702 7856 "mbps" : {
de0983cb 7857 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7858 "format_description" : "mbps",
7859 "optional" : 1,
7860 "type" : "number"
7861 },
7862 "mbps_max" : {
de0983cb 7863 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7864 "format_description" : "mbps",
7865 "optional" : 1,
7866 "type" : "number"
7867 },
7868 "mbps_rd" : {
de0983cb 7869 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
7870 "format_description" : "mbps",
7871 "optional" : 1,
7872 "type" : "number"
7873 },
7874 "mbps_rd_max" : {
de0983cb 7875 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7876 "format_description" : "mbps",
7877 "optional" : 1,
7878 "type" : "number"
7879 },
7880 "mbps_wr" : {
de0983cb 7881 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
7882 "format_description" : "mbps",
7883 "optional" : 1,
7884 "type" : "number"
7885 },
7886 "mbps_wr_max" : {
de0983cb 7887 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7888 "format_description" : "mbps",
56122987 7889 "optional" : 1,
44660702 7890 "type" : "number"
56122987 7891 },
7aacca6f 7892 "media" : {
7aacca6f 7893 "default" : "disk",
7aacca6f
DM
7894 "description" : "The drive's media type.",
7895 "enum" : [
7896 "cdrom",
7897 "disk"
44660702 7898 ],
44660702
DM
7899 "optional" : 1,
7900 "type" : "string"
56122987 7901 },
44660702
DM
7902 "model" : {
7903 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
7904 "format" : "urlencoded",
7905 "format_description" : "model",
7906 "maxLength" : 120,
56122987 7907 "optional" : 1,
44660702 7908 "type" : "string"
56122987 7909 },
5d9c884c
DM
7910 "replicate" : {
7911 "default" : 1,
7912 "description" : "Whether the drive should considered for replication jobs.",
7913 "optional" : 1,
7914 "type" : "boolean"
7915 },
44660702
DM
7916 "rerror" : {
7917 "description" : "Read error action.",
7918 "enum" : [
7919 "ignore",
7920 "report",
7921 "stop"
7922 ],
56122987 7923 "optional" : 1,
44660702
DM
7924 "type" : "string"
7925 },
7926 "secs" : {
7927 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7928 "optional" : 1,
7929 "type" : "integer"
7930 },
7931 "serial" : {
7932 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7933 "format" : "urlencoded",
7934 "format_description" : "serial",
7935 "maxLength" : 60,
7936 "optional" : 1,
7937 "type" : "string"
7938 },
27a7acb2
DM
7939 "shared" : {
7940 "default" : 0,
7941 "description" : "Mark this locally-managed volume as available on all nodes",
7942 "optional" : 1,
7943 "type" : "boolean",
7944 "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!"
7945 },
44660702
DM
7946 "size" : {
7947 "description" : "Disk size. This is purely informational and has no effect.",
7948 "format" : "disk-size",
f004f5b9 7949 "format_description" : "DiskSize",
44660702
DM
7950 "optional" : 1,
7951 "type" : "string"
7952 },
7953 "snapshot" : {
27a7acb2 7954 "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
7955 "optional" : 1,
7956 "type" : "boolean"
7957 },
7958 "trans" : {
7959 "description" : "Force disk geometry bios translation mode.",
7960 "enum" : [
7961 "none",
7962 "lba",
7963 "auto"
7964 ],
44660702
DM
7965 "optional" : 1,
7966 "type" : "string"
7967 },
7968 "volume" : {
7969 "alias" : "file"
7970 },
7971 "werror" : {
7972 "description" : "Write error action.",
7973 "enum" : [
7974 "enospc",
7975 "ignore",
7976 "report",
7977 "stop"
7978 ],
44660702
DM
7979 "optional" : 1,
7980 "type" : "string"
56122987
DM
7981 }
7982 },
44660702 7983 "optional" : 1,
4bd7df8b 7984 "type" : "string",
27a7acb2
DM
7985 "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>]"
7986 },
7987 "ipconfig[n]" : {
7988 "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",
7989 "format" : "pve-qm-ipconfig",
7990 "optional" : 1,
7991 "type" : "string",
7992 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 7993 },
44660702 7994 "keyboard" : {
35a75dd3
DM
7995 "default" : null,
7996 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
44660702
DM
7997 "enum" : [
7998 "de",
7999 "de-ch",
8000 "da",
8001 "en-gb",
8002 "en-us",
8003 "es",
8004 "fi",
8005 "fr",
8006 "fr-be",
8007 "fr-ca",
8008 "fr-ch",
8009 "hu",
8010 "is",
8011 "it",
8012 "ja",
8013 "lt",
8014 "mk",
8015 "nl",
8016 "no",
8017 "pl",
8018 "pt",
8019 "pt-br",
8020 "sv",
8021 "sl",
8022 "tr"
8023 ],
56122987 8024 "optional" : 1,
44660702
DM
8025 "type" : "string"
8026 },
8027 "kvm" : {
7aacca6f 8028 "default" : 1,
44660702
DM
8029 "description" : "Enable/disable KVM hardware virtualization.",
8030 "optional" : 1,
013dc89f
DM
8031 "type" : "boolean",
8032 "typetext" : "<boolean>"
56122987 8033 },
44660702
DM
8034 "localtime" : {
8035 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 8036 "optional" : 1,
013dc89f
DM
8037 "type" : "boolean",
8038 "typetext" : "<boolean>"
56122987 8039 },
44660702
DM
8040 "lock" : {
8041 "description" : "Lock/unlock the VM.",
8042 "enum" : [
8043 "migrate",
8044 "backup",
8045 "snapshot",
8046 "rollback"
8047 ],
7aacca6f 8048 "optional" : 1,
44660702
DM
8049 "type" : "string"
8050 },
8051 "machine" : {
8052 "description" : "Specific the Qemu machine type.",
8053 "maxLength" : 40,
8054 "optional" : 1,
8055 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8056 "type" : "string"
8057 },
8058 "memory" : {
8059 "default" : 512,
8060 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8061 "minimum" : 16,
8062 "optional" : 1,
4bd7df8b 8063 "type" : "integer",
013dc89f 8064 "typetext" : "<integer> (16 - N)"
44660702
DM
8065 },
8066 "migrate_downtime" : {
8067 "default" : 0.1,
8068 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8069 "minimum" : 0,
8070 "optional" : 1,
4bd7df8b 8071 "type" : "number",
013dc89f 8072 "typetext" : "<number> (0 - N)"
44660702
DM
8073 },
8074 "migrate_speed" : {
8075 "default" : 0,
8076 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8077 "minimum" : 0,
8078 "optional" : 1,
4bd7df8b 8079 "type" : "integer",
013dc89f 8080 "typetext" : "<integer> (0 - N)"
44660702
DM
8081 },
8082 "name" : {
8083 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8084 "format" : "dns-name",
8085 "optional" : 1,
013dc89f
DM
8086 "type" : "string",
8087 "typetext" : "<string>"
44660702 8088 },
27a7acb2
DM
8089 "nameserver" : {
8090 "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.",
8091 "format" : "address-list",
8092 "optional" : 1,
8093 "type" : "string",
8094 "typetext" : "<string>"
8095 },
44660702 8096 "net[n]" : {
c2993fe5 8097 "description" : "Specify network devices.",
f004f5b9
DM
8098 "format" : {
8099 "bridge" : {
c2993fe5 8100 "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
8101 "format_description" : "bridge",
8102 "optional" : 1,
8103 "type" : "string"
8104 },
8105 "e1000" : {
8106 "alias" : "macaddr",
8107 "keyAlias" : "model"
8108 },
8109 "e1000-82540em" : {
8110 "alias" : "macaddr",
8111 "keyAlias" : "model"
8112 },
8113 "e1000-82544gc" : {
8114 "alias" : "macaddr",
8115 "keyAlias" : "model"
8116 },
8117 "e1000-82545em" : {
8118 "alias" : "macaddr",
8119 "keyAlias" : "model"
8120 },
8121 "firewall" : {
8122 "description" : "Whether this interface should be protected by the firewall.",
8123 "optional" : 1,
8124 "type" : "boolean"
8125 },
8126 "i82551" : {
8127 "alias" : "macaddr",
8128 "keyAlias" : "model"
8129 },
8130 "i82557b" : {
8131 "alias" : "macaddr",
8132 "keyAlias" : "model"
8133 },
8134 "i82559er" : {
8135 "alias" : "macaddr",
8136 "keyAlias" : "model"
8137 },
8138 "link_down" : {
c2993fe5 8139 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8140 "optional" : 1,
8141 "type" : "boolean"
8142 },
8143 "macaddr" : {
c2993fe5 8144 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8145 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8146 "optional" : 1,
8147 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8148 "type" : "string"
8149 },
8150 "model" : {
8151 "default_key" : 1,
c2993fe5 8152 "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
8153 "enum" : [
8154 "rtl8139",
8155 "ne2k_pci",
8156 "e1000",
8157 "pcnet",
8158 "virtio",
8159 "ne2k_isa",
8160 "i82551",
8161 "i82557b",
8162 "i82559er",
8163 "vmxnet3",
8164 "e1000-82540em",
8165 "e1000-82544gc",
8166 "e1000-82545em"
8167 ],
f004f5b9
DM
8168 "type" : "string"
8169 },
8170 "ne2k_isa" : {
8171 "alias" : "macaddr",
8172 "keyAlias" : "model"
8173 },
8174 "ne2k_pci" : {
8175 "alias" : "macaddr",
8176 "keyAlias" : "model"
8177 },
8178 "pcnet" : {
8179 "alias" : "macaddr",
8180 "keyAlias" : "model"
8181 },
8182 "queues" : {
8183 "description" : "Number of packet queues to be used on the device.",
8184 "maximum" : 16,
8185 "minimum" : 0,
8186 "optional" : 1,
8187 "type" : "integer"
8188 },
8189 "rate" : {
c2993fe5 8190 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8191 "minimum" : 0,
8192 "optional" : 1,
8193 "type" : "number"
8194 },
8195 "rtl8139" : {
8196 "alias" : "macaddr",
8197 "keyAlias" : "model"
8198 },
8199 "tag" : {
8200 "description" : "VLAN tag to apply to packets on this interface.",
8201 "maximum" : 4094,
c2993fe5 8202 "minimum" : 1,
f004f5b9
DM
8203 "optional" : 1,
8204 "type" : "integer"
8205 },
8206 "trunks" : {
8207 "description" : "VLAN trunks to pass through this interface.",
8208 "format_description" : "vlanid[;vlanid...]",
8209 "optional" : 1,
8210 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8211 "type" : "string"
8212 },
8213 "virtio" : {
8214 "alias" : "macaddr",
8215 "keyAlias" : "model"
8216 },
8217 "vmxnet3" : {
8218 "alias" : "macaddr",
8219 "keyAlias" : "model"
8220 }
8221 },
44660702 8222 "optional" : 1,
4bd7df8b 8223 "type" : "string",
013dc89f 8224 "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
8225 },
8226 "node" : {
8227 "description" : "The cluster node name.",
8228 "format" : "pve-node",
013dc89f
DM
8229 "type" : "string",
8230 "typetext" : "<string>"
44660702
DM
8231 },
8232 "numa" : {
8233 "default" : 0,
8234 "description" : "Enable/disable NUMA.",
8235 "optional" : 1,
013dc89f
DM
8236 "type" : "boolean",
8237 "typetext" : "<boolean>"
44660702
DM
8238 },
8239 "numa[n]" : {
c2993fe5 8240 "description" : "NUMA topology.",
56122987 8241 "format" : {
7aacca6f 8242 "cpus" : {
c2993fe5 8243 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8244 "format_description" : "id[-id];...",
8245 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8246 "type" : "string"
7aacca6f
DM
8247 },
8248 "hostnodes" : {
c2993fe5 8249 "description" : "Host NUMA nodes to use.",
44660702 8250 "format_description" : "id[-id];...",
7aacca6f 8251 "optional" : 1,
7aacca6f 8252 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 8253 "type" : "string"
7aacca6f 8254 },
44660702 8255 "memory" : {
c2993fe5 8256 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 8257 "optional" : 1,
44660702
DM
8258 "type" : "number"
8259 },
8260 "policy" : {
c2993fe5 8261 "description" : "NUMA allocation policy.",
7aacca6f
DM
8262 "enum" : [
8263 "preferred",
8264 "bind",
8265 "interleave"
8266 ],
44660702
DM
8267 "optional" : 1,
8268 "type" : "string"
56122987 8269 }
44660702 8270 },
56122987 8271 "optional" : 1,
4bd7df8b
DM
8272 "type" : "string",
8273 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 8274 },
44660702 8275 "onboot" : {
7aacca6f 8276 "default" : 0,
44660702
DM
8277 "description" : "Specifies whether a VM will be started during system bootup.",
8278 "optional" : 1,
013dc89f
DM
8279 "type" : "boolean",
8280 "typetext" : "<boolean>"
7aacca6f
DM
8281 },
8282 "ostype" : {
c2993fe5 8283 "description" : "Specify guest operating system.",
7aacca6f
DM
8284 "enum" : [
8285 "other",
8286 "wxp",
8287 "w2k",
8288 "w2k3",
8289 "w2k8",
8290 "wvista",
8291 "win7",
8292 "win8",
32d876b5 8293 "win10",
7aacca6f
DM
8294 "l24",
8295 "l26",
8296 "solaris"
8297 ],
7aacca6f 8298 "optional" : 1,
c2993fe5 8299 "type" : "string",
35a75dd3 8300 "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 8301 },
44660702 8302 "parallel[n]" : {
c2993fe5 8303 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8304 "optional" : 1,
44660702 8305 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8306 "type" : "string",
8307 "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
8308 },
8309 "protection" : {
8310 "default" : 0,
c2993fe5 8311 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8312 "optional" : 1,
013dc89f
DM
8313 "type" : "boolean",
8314 "typetext" : "<boolean>"
7aacca6f 8315 },
44660702
DM
8316 "reboot" : {
8317 "default" : 1,
8318 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8319 "optional" : 1,
013dc89f
DM
8320 "type" : "boolean",
8321 "typetext" : "<boolean>"
7aacca6f 8322 },
44660702
DM
8323 "revert" : {
8324 "description" : "Revert a pending change.",
8325 "format" : "pve-configid-list",
7aacca6f 8326 "optional" : 1,
013dc89f
DM
8327 "type" : "string",
8328 "typetext" : "<string>"
44660702
DM
8329 },
8330 "sata[n]" : {
8331 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8332 "format" : {
44660702
DM
8333 "aio" : {
8334 "description" : "AIO type to use.",
7aacca6f 8335 "enum" : [
44660702
DM
8336 "native",
8337 "threads"
7aacca6f 8338 ],
44660702
DM
8339 "optional" : 1,
8340 "type" : "string"
7aacca6f 8341 },
44660702
DM
8342 "backup" : {
8343 "description" : "Whether the drive should be included when making backups.",
56122987 8344 "optional" : 1,
7aacca6f 8345 "type" : "boolean"
44660702
DM
8346 },
8347 "bps" : {
de0983cb 8348 "description" : "Maximum r/w speed in bytes per second.",
44660702 8349 "format_description" : "bps",
7aacca6f 8350 "optional" : 1,
44660702 8351 "type" : "integer"
56122987 8352 },
de0983cb
DM
8353 "bps_max_length" : {
8354 "description" : "Maximum length of I/O bursts in seconds.",
8355 "format_description" : "seconds",
8356 "minimum" : 1,
8357 "optional" : 1,
8358 "type" : "integer"
8359 },
44660702 8360 "bps_rd" : {
de0983cb 8361 "description" : "Maximum read speed in bytes per second.",
44660702 8362 "format_description" : "bps",
56122987 8363 "optional" : 1,
44660702 8364 "type" : "integer"
56122987 8365 },
de0983cb 8366 "bps_rd_length" : {
5d9c884c
DM
8367 "alias" : "bps_rd_max_length"
8368 },
8369 "bps_rd_max_length" : {
de0983cb
DM
8370 "description" : "Maximum length of read I/O bursts in seconds.",
8371 "format_description" : "seconds",
8372 "minimum" : 1,
8373 "optional" : 1,
8374 "type" : "integer"
8375 },
44660702 8376 "bps_wr" : {
de0983cb 8377 "description" : "Maximum write speed in bytes per second.",
44660702 8378 "format_description" : "bps",
56122987 8379 "optional" : 1,
44660702 8380 "type" : "integer"
56122987 8381 },
de0983cb 8382 "bps_wr_length" : {
5d9c884c
DM
8383 "alias" : "bps_wr_max_length"
8384 },
8385 "bps_wr_max_length" : {
de0983cb
DM
8386 "description" : "Maximum length of write I/O bursts in seconds.",
8387 "format_description" : "seconds",
8388 "minimum" : 1,
8389 "optional" : 1,
8390 "type" : "integer"
8391 },
56122987 8392 "cache" : {
44660702 8393 "description" : "The drive's cache mode",
56122987
DM
8394 "enum" : [
8395 "none",
8396 "writethrough",
8397 "writeback",
8398 "unsafe",
8399 "directsync"
8400 ],
56122987 8401 "optional" : 1,
44660702 8402 "type" : "string"
56122987 8403 },
44660702
DM
8404 "cyls" : {
8405 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8406 "optional" : 1,
44660702 8407 "type" : "integer"
7aacca6f
DM
8408 },
8409 "detect_zeroes" : {
8410 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8411 "optional" : 1,
44660702 8412 "type" : "boolean"
56122987 8413 },
44660702
DM
8414 "discard" : {
8415 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8416 "enum" : [
8417 "ignore",
8418 "on"
8419 ],
56122987 8420 "optional" : 1,
44660702 8421 "type" : "string"
7aacca6f 8422 },
44660702
DM
8423 "file" : {
8424 "default_key" : 1,
8425 "description" : "The drive's backing volume.",
8426 "format" : "pve-volume-id-or-qm-path",
8427 "format_description" : "volume",
8428 "type" : "string"
56122987 8429 },
7aacca6f 8430 "format" : {
44660702 8431 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8432 "enum" : [
8433 "raw",
8434 "cow",
8435 "qcow",
8436 "qed",
8437 "qcow2",
8438 "vmdk",
8439 "cloop"
8440 ],
7aacca6f 8441 "optional" : 1,
44660702 8442 "type" : "string"
56122987 8443 },
7aacca6f 8444 "heads" : {
7aacca6f 8445 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8446 "optional" : 1,
7aacca6f 8447 "type" : "integer"
56122987 8448 },
44660702 8449 "iops" : {
de0983cb 8450 "description" : "Maximum r/w I/O in operations per second.",
44660702 8451 "format_description" : "iops",
56122987 8452 "optional" : 1,
44660702 8453 "type" : "integer"
56122987 8454 },
44660702 8455 "iops_max" : {
de0983cb 8456 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8457 "format_description" : "iops",
56122987 8458 "optional" : 1,
44660702 8459 "type" : "integer"
56122987 8460 },
de0983cb
DM
8461 "iops_max_length" : {
8462 "description" : "Maximum length of I/O bursts in seconds.",
8463 "format_description" : "seconds",
8464 "minimum" : 1,
8465 "optional" : 1,
8466 "type" : "integer"
8467 },
44660702 8468 "iops_rd" : {
de0983cb 8469 "description" : "Maximum read I/O in operations per second.",
44660702 8470 "format_description" : "iops",
7aacca6f 8471 "optional" : 1,
44660702 8472 "type" : "integer"
56122987 8473 },
de0983cb 8474 "iops_rd_length" : {
5d9c884c 8475 "alias" : "iops_rd_max_length"
de0983cb 8476 },
44660702 8477 "iops_rd_max" : {
de0983cb 8478 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8479 "format_description" : "iops",
56122987 8480 "optional" : 1,
44660702 8481 "type" : "integer"
7aacca6f 8482 },
5d9c884c
DM
8483 "iops_rd_max_length" : {
8484 "description" : "Maximum length of read I/O bursts in seconds.",
8485 "format_description" : "seconds",
8486 "minimum" : 1,
8487 "optional" : 1,
8488 "type" : "integer"
8489 },
44660702 8490 "iops_wr" : {
de0983cb 8491 "description" : "Maximum write I/O in operations per second.",
44660702 8492 "format_description" : "iops",
56122987 8493 "optional" : 1,
44660702 8494 "type" : "integer"
56122987 8495 },
de0983cb 8496 "iops_wr_length" : {
5d9c884c 8497 "alias" : "iops_wr_max_length"
de0983cb 8498 },
56122987 8499 "iops_wr_max" : {
de0983cb 8500 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8501 "format_description" : "iops",
56122987 8502 "optional" : 1,
44660702 8503 "type" : "integer"
56122987 8504 },
5d9c884c
DM
8505 "iops_wr_max_length" : {
8506 "description" : "Maximum length of write I/O bursts in seconds.",
8507 "format_description" : "seconds",
8508 "minimum" : 1,
8509 "optional" : 1,
8510 "type" : "integer"
8511 },
44660702 8512 "mbps" : {
de0983cb 8513 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8514 "format_description" : "mbps",
56122987 8515 "optional" : 1,
44660702 8516 "type" : "number"
56122987 8517 },
44660702 8518 "mbps_max" : {
de0983cb 8519 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8520 "format_description" : "mbps",
8521 "optional" : 1,
8522 "type" : "number"
56122987 8523 },
44660702 8524 "mbps_rd" : {
de0983cb 8525 "description" : "Maximum read speed in megabytes per second.",
44660702 8526 "format_description" : "mbps",
56122987 8527 "optional" : 1,
44660702 8528 "type" : "number"
56122987 8529 },
44660702 8530 "mbps_rd_max" : {
de0983cb 8531 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8532 "format_description" : "mbps",
56122987 8533 "optional" : 1,
44660702 8534 "type" : "number"
56122987 8535 },
44660702 8536 "mbps_wr" : {
de0983cb 8537 "description" : "Maximum write speed in megabytes per second.",
56122987 8538 "format_description" : "mbps",
44660702
DM
8539 "optional" : 1,
8540 "type" : "number"
56122987 8541 },
44660702 8542 "mbps_wr_max" : {
de0983cb 8543 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8544 "format_description" : "mbps",
8545 "optional" : 1,
8546 "type" : "number"
7aacca6f 8547 },
44660702
DM
8548 "media" : {
8549 "default" : "disk",
8550 "description" : "The drive's media type.",
8551 "enum" : [
8552 "cdrom",
8553 "disk"
8554 ],
56122987 8555 "optional" : 1,
44660702
DM
8556 "type" : "string"
8557 },
5d9c884c
DM
8558 "replicate" : {
8559 "default" : 1,
8560 "description" : "Whether the drive should considered for replication jobs.",
8561 "optional" : 1,
8562 "type" : "boolean"
8563 },
44660702
DM
8564 "rerror" : {
8565 "description" : "Read error action.",
7aacca6f 8566 "enum" : [
44660702
DM
8567 "ignore",
8568 "report",
8569 "stop"
8570 ],
7aacca6f 8571 "optional" : 1,
44660702 8572 "type" : "string"
56122987 8573 },
44660702
DM
8574 "secs" : {
8575 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8576 "optional" : 1,
44660702 8577 "type" : "integer"
56122987 8578 },
44660702
DM
8579 "serial" : {
8580 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8581 "format" : "urlencoded",
8582 "format_description" : "serial",
8583 "maxLength" : 60,
56122987 8584 "optional" : 1,
44660702 8585 "type" : "string"
56122987 8586 },
27a7acb2
DM
8587 "shared" : {
8588 "default" : 0,
8589 "description" : "Mark this locally-managed volume as available on all nodes",
8590 "optional" : 1,
8591 "type" : "boolean",
8592 "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!"
8593 },
44660702
DM
8594 "size" : {
8595 "description" : "Disk size. This is purely informational and has no effect.",
8596 "format" : "disk-size",
f004f5b9 8597 "format_description" : "DiskSize",
44660702
DM
8598 "optional" : 1,
8599 "type" : "string"
8600 },
8601 "snapshot" : {
27a7acb2 8602 "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 8603 "optional" : 1,
44660702
DM
8604 "type" : "boolean"
8605 },
8606 "trans" : {
8607 "description" : "Force disk geometry bios translation mode.",
56122987 8608 "enum" : [
7aacca6f
DM
8609 "none",
8610 "lba",
8611 "auto"
56122987 8612 ],
44660702
DM
8613 "optional" : 1,
8614 "type" : "string"
56122987 8615 },
7aacca6f
DM
8616 "volume" : {
8617 "alias" : "file"
56122987 8618 },
44660702
DM
8619 "werror" : {
8620 "description" : "Write error action.",
8621 "enum" : [
8622 "enospc",
8623 "ignore",
8624 "report",
8625 "stop"
8626 ],
7aacca6f 8627 "optional" : 1,
44660702
DM
8628 "type" : "string"
8629 }
8630 },
8631 "optional" : 1,
4bd7df8b 8632 "type" : "string",
27a7acb2 8633 "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
8634 },
8635 "scsi[n]" : {
8636 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8637 "format" : {
56122987 8638 "aio" : {
56122987
DM
8639 "description" : "AIO type to use.",
8640 "enum" : [
8641 "native",
8642 "threads"
8643 ],
7aacca6f 8644 "optional" : 1,
44660702 8645 "type" : "string"
56122987 8646 },
44660702
DM
8647 "backup" : {
8648 "description" : "Whether the drive should be included when making backups.",
56122987 8649 "optional" : 1,
44660702 8650 "type" : "boolean"
56122987 8651 },
44660702 8652 "bps" : {
de0983cb 8653 "description" : "Maximum r/w speed in bytes per second.",
44660702 8654 "format_description" : "bps",
56122987 8655 "optional" : 1,
44660702 8656 "type" : "integer"
56122987 8657 },
de0983cb
DM
8658 "bps_max_length" : {
8659 "description" : "Maximum length of I/O bursts in seconds.",
8660 "format_description" : "seconds",
8661 "minimum" : 1,
8662 "optional" : 1,
8663 "type" : "integer"
8664 },
44660702 8665 "bps_rd" : {
de0983cb 8666 "description" : "Maximum read speed in bytes per second.",
44660702 8667 "format_description" : "bps",
56122987 8668 "optional" : 1,
44660702 8669 "type" : "integer"
56122987 8670 },
de0983cb 8671 "bps_rd_length" : {
5d9c884c
DM
8672 "alias" : "bps_rd_max_length"
8673 },
8674 "bps_rd_max_length" : {
de0983cb
DM
8675 "description" : "Maximum length of read I/O bursts in seconds.",
8676 "format_description" : "seconds",
8677 "minimum" : 1,
8678 "optional" : 1,
8679 "type" : "integer"
8680 },
7aacca6f 8681 "bps_wr" : {
de0983cb 8682 "description" : "Maximum write speed in bytes per second.",
7aacca6f 8683 "format_description" : "bps",
56122987 8684 "optional" : 1,
44660702 8685 "type" : "integer"
56122987 8686 },
de0983cb 8687 "bps_wr_length" : {
5d9c884c
DM
8688 "alias" : "bps_wr_max_length"
8689 },
8690 "bps_wr_max_length" : {
de0983cb
DM
8691 "description" : "Maximum length of write I/O bursts in seconds.",
8692 "format_description" : "seconds",
8693 "minimum" : 1,
8694 "optional" : 1,
8695 "type" : "integer"
8696 },
44660702
DM
8697 "cache" : {
8698 "description" : "The drive's cache mode",
7aacca6f 8699 "enum" : [
44660702
DM
8700 "none",
8701 "writethrough",
8702 "writeback",
8703 "unsafe",
8704 "directsync"
7aacca6f 8705 ],
56122987 8706 "optional" : 1,
44660702 8707 "type" : "string"
56122987 8708 },
44660702
DM
8709 "cyls" : {
8710 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8711 "optional" : 1,
44660702 8712 "type" : "integer"
56122987 8713 },
44660702
DM
8714 "detect_zeroes" : {
8715 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8716 "optional" : 1,
44660702 8717 "type" : "boolean"
56122987 8718 },
44660702
DM
8719 "discard" : {
8720 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8721 "enum" : [
8722 "ignore",
8723 "on"
8724 ],
7aacca6f 8725 "optional" : 1,
44660702 8726 "type" : "string"
56122987 8727 },
44660702
DM
8728 "file" : {
8729 "default_key" : 1,
8730 "description" : "The drive's backing volume.",
8731 "format" : "pve-volume-id-or-qm-path",
8732 "format_description" : "volume",
8733 "type" : "string"
56122987 8734 },
7aacca6f 8735 "format" : {
44660702 8736 "description" : "The drive's backing file's data format.",
56122987 8737 "enum" : [
7aacca6f
DM
8738 "raw",
8739 "cow",
8740 "qcow",
8741 "qed",
8742 "qcow2",
8743 "vmdk",
8744 "cloop"
8745 ],
44660702
DM
8746 "optional" : 1,
8747 "type" : "string"
56122987 8748 },
44660702
DM
8749 "heads" : {
8750 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8751 "optional" : 1,
7aacca6f 8752 "type" : "integer"
56122987 8753 },
44660702 8754 "iops" : {
de0983cb 8755 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 8756 "format_description" : "iops",
44660702
DM
8757 "optional" : 1,
8758 "type" : "integer"
7aacca6f 8759 },
44660702 8760 "iops_max" : {
de0983cb 8761 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8762 "format_description" : "iops",
56122987 8763 "optional" : 1,
44660702 8764 "type" : "integer"
7aacca6f 8765 },
de0983cb
DM
8766 "iops_max_length" : {
8767 "description" : "Maximum length of I/O bursts in seconds.",
8768 "format_description" : "seconds",
8769 "minimum" : 1,
8770 "optional" : 1,
8771 "type" : "integer"
8772 },
44660702 8773 "iops_rd" : {
de0983cb 8774 "description" : "Maximum read I/O in operations per second.",
44660702 8775 "format_description" : "iops",
7aacca6f 8776 "optional" : 1,
44660702 8777 "type" : "integer"
56122987 8778 },
de0983cb 8779 "iops_rd_length" : {
5d9c884c 8780 "alias" : "iops_rd_max_length"
de0983cb 8781 },
44660702 8782 "iops_rd_max" : {
de0983cb 8783 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8784 "format_description" : "iops",
8785 "optional" : 1,
8786 "type" : "integer"
8787 },
5d9c884c
DM
8788 "iops_rd_max_length" : {
8789 "description" : "Maximum length of read I/O bursts in seconds.",
8790 "format_description" : "seconds",
8791 "minimum" : 1,
8792 "optional" : 1,
8793 "type" : "integer"
8794 },
44660702 8795 "iops_wr" : {
de0983cb 8796 "description" : "Maximum write I/O in operations per second.",
44660702 8797 "format_description" : "iops",
56122987 8798 "optional" : 1,
44660702
DM
8799 "type" : "integer"
8800 },
de0983cb 8801 "iops_wr_length" : {
5d9c884c 8802 "alias" : "iops_wr_max_length"
de0983cb 8803 },
44660702 8804 "iops_wr_max" : {
de0983cb 8805 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8806 "format_description" : "iops",
8807 "optional" : 1,
8808 "type" : "integer"
56122987 8809 },
5d9c884c
DM
8810 "iops_wr_max_length" : {
8811 "description" : "Maximum length of write I/O bursts in seconds.",
8812 "format_description" : "seconds",
8813 "minimum" : 1,
8814 "optional" : 1,
8815 "type" : "integer"
8816 },
7aacca6f 8817 "iothread" : {
7aacca6f 8818 "description" : "Whether to use iothreads for this drive",
56122987 8819 "optional" : 1,
56122987
DM
8820 "type" : "boolean"
8821 },
44660702 8822 "mbps" : {
de0983cb 8823 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8824 "format_description" : "mbps",
8825 "optional" : 1,
8826 "type" : "number"
8827 },
8828 "mbps_max" : {
de0983cb 8829 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8830 "format_description" : "mbps",
8831 "optional" : 1,
8832 "type" : "number"
8833 },
8834 "mbps_rd" : {
de0983cb 8835 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8836 "format_description" : "mbps",
8837 "optional" : 1,
8838 "type" : "number"
8839 },
8840 "mbps_rd_max" : {
de0983cb 8841 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8842 "format_description" : "mbps",
8843 "optional" : 1,
8844 "type" : "number"
8845 },
8846 "mbps_wr" : {
de0983cb 8847 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8848 "format_description" : "mbps",
8849 "optional" : 1,
8850 "type" : "number"
8851 },
8852 "mbps_wr_max" : {
de0983cb 8853 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8854 "format_description" : "mbps",
8855 "optional" : 1,
8856 "type" : "number"
8857 },
7aacca6f 8858 "media" : {
44660702
DM
8859 "default" : "disk",
8860 "description" : "The drive's media type.",
7aacca6f
DM
8861 "enum" : [
8862 "cdrom",
8863 "disk"
8864 ],
56122987 8865 "optional" : 1,
44660702
DM
8866 "type" : "string"
8867 },
8868 "queues" : {
8869 "description" : "Number of queues.",
44660702
DM
8870 "minimum" : 2,
8871 "optional" : 1,
8872 "type" : "integer"
8873 },
5d9c884c
DM
8874 "replicate" : {
8875 "default" : 1,
8876 "description" : "Whether the drive should considered for replication jobs.",
8877 "optional" : 1,
8878 "type" : "boolean"
8879 },
8880 "rerror" : {
8881 "description" : "Read error action.",
8882 "enum" : [
8883 "ignore",
8884 "report",
8885 "stop"
8886 ],
8887 "optional" : 1,
8888 "type" : "string"
8889 },
52e44c50
FG
8890 "scsiblock" : {
8891 "default" : 0,
8892 "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",
8893 "optional" : 1,
8894 "type" : "boolean"
8895 },
44660702
DM
8896 "secs" : {
8897 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8898 "optional" : 1,
8899 "type" : "integer"
8900 },
8901 "serial" : {
8902 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8903 "format" : "urlencoded",
8904 "format_description" : "serial",
8905 "maxLength" : 60,
8906 "optional" : 1,
8907 "type" : "string"
8908 },
27a7acb2
DM
8909 "shared" : {
8910 "default" : 0,
8911 "description" : "Mark this locally-managed volume as available on all nodes",
8912 "optional" : 1,
8913 "type" : "boolean",
8914 "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!"
8915 },
44660702
DM
8916 "size" : {
8917 "description" : "Disk size. This is purely informational and has no effect.",
8918 "format" : "disk-size",
f004f5b9 8919 "format_description" : "DiskSize",
44660702
DM
8920 "optional" : 1,
8921 "type" : "string"
56122987 8922 },
7aacca6f 8923 "snapshot" : {
27a7acb2 8924 "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 8925 "optional" : 1,
44660702 8926 "type" : "boolean"
7aacca6f 8927 },
44660702
DM
8928 "trans" : {
8929 "description" : "Force disk geometry bios translation mode.",
8930 "enum" : [
8931 "none",
8932 "lba",
8933 "auto"
8934 ],
44660702
DM
8935 "optional" : 1,
8936 "type" : "string"
8937 },
8938 "volume" : {
8939 "alias" : "file"
8940 },
8941 "werror" : {
8942 "description" : "Write error action.",
8943 "enum" : [
8944 "enospc",
8945 "ignore",
8946 "report",
8947 "stop"
8948 ],
56122987 8949 "optional" : 1,
44660702 8950 "type" : "string"
56122987 8951 }
44660702 8952 },
7aacca6f 8953 "optional" : 1,
4bd7df8b 8954 "type" : "string",
27a7acb2 8955 "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
8956 },
8957 "scsihw" : {
8958 "default" : "lsi",
c2993fe5 8959 "description" : "SCSI controller model",
7aacca6f 8960 "enum" : [
44660702
DM
8961 "lsi",
8962 "lsi53c810",
8963 "virtio-scsi-pci",
8964 "virtio-scsi-single",
8965 "megasas",
8966 "pvscsi"
7aacca6f 8967 ],
44660702
DM
8968 "optional" : 1,
8969 "type" : "string"
56122987 8970 },
27a7acb2
DM
8971 "searchdomain" : {
8972 "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.",
8973 "optional" : 1,
8974 "type" : "string",
8975 "typetext" : "<string>"
8976 },
44660702 8977 "serial[n]" : {
c2993fe5 8978 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 8979 "optional" : 1,
44660702 8980 "pattern" : "(/dev/.+|socket)",
c2993fe5 8981 "type" : "string",
57b78691 8982 "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 8983 },
44660702
DM
8984 "shares" : {
8985 "default" : 1000,
8986 "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",
8987 "maximum" : 50000,
8988 "minimum" : 0,
56122987 8989 "optional" : 1,
4bd7df8b 8990 "type" : "integer",
013dc89f 8991 "typetext" : "<integer> (0 - 50000)"
56122987 8992 },
44660702
DM
8993 "skiplock" : {
8994 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 8995 "optional" : 1,
013dc89f
DM
8996 "type" : "boolean",
8997 "typetext" : "<boolean>"
56122987 8998 },
44660702
DM
8999 "smbios1" : {
9000 "description" : "Specify SMBIOS type 1 fields.",
9001 "format" : "pve-qm-smbios1",
9002 "maxLength" : 256,
56122987 9003 "optional" : 1,
4bd7df8b
DM
9004 "type" : "string",
9005 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 9006 },
44660702
DM
9007 "smp" : {
9008 "default" : 1,
9009 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 9010 "minimum" : 1,
7aacca6f 9011 "optional" : 1,
4bd7df8b 9012 "type" : "integer",
013dc89f 9013 "typetext" : "<integer> (1 - N)"
7aacca6f 9014 },
44660702
DM
9015 "sockets" : {
9016 "default" : 1,
9017 "description" : "The number of CPU sockets.",
9018 "minimum" : 1,
7aacca6f 9019 "optional" : 1,
4bd7df8b 9020 "type" : "integer",
013dc89f 9021 "typetext" : "<integer> (1 - N)"
56122987 9022 },
27a7acb2
DM
9023 "sshkeys" : {
9024 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
9025 "format" : "urlencoded",
9026 "optional" : 1,
9027 "type" : "string",
9028 "typetext" : "<string>"
9029 },
44660702
DM
9030 "startdate" : {
9031 "default" : "now",
9032 "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 9033 "optional" : 1,
44660702 9034 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9035 "type" : "string",
44660702 9036 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 9037 },
7aacca6f 9038 "startup" : {
7aacca6f 9039 "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 9040 "format" : "pve-startup-order",
56122987 9041 "optional" : 1,
44660702
DM
9042 "type" : "string",
9043 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 9044 },
44660702 9045 "tablet" : {
7aacca6f 9046 "default" : 1,
c2993fe5 9047 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9048 "optional" : 1,
c2993fe5 9049 "type" : "boolean",
013dc89f 9050 "typetext" : "<boolean>",
c2993fe5 9051 "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 9052 },
44660702
DM
9053 "tdf" : {
9054 "default" : 0,
9055 "description" : "Enable/disable time drift fix.",
7aacca6f 9056 "optional" : 1,
013dc89f
DM
9057 "type" : "boolean",
9058 "typetext" : "<boolean>"
7aacca6f 9059 },
44660702
DM
9060 "template" : {
9061 "default" : 0,
9062 "description" : "Enable/disable Template.",
7aacca6f 9063 "optional" : 1,
013dc89f
DM
9064 "type" : "boolean",
9065 "typetext" : "<boolean>"
7aacca6f 9066 },
44660702 9067 "unused[n]" : {
c2993fe5 9068 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9069 "format" : "pve-volume-id",
7aacca6f 9070 "optional" : 1,
013dc89f
DM
9071 "type" : "string",
9072 "typetext" : "<string>"
7aacca6f 9073 },
44660702 9074 "usb[n]" : {
c2993fe5 9075 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
9076 "format" : {
9077 "host" : {
9078 "default_key" : 1,
c2993fe5 9079 "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
9080 "format" : "pve-qm-usb-device",
9081 "format_description" : "HOSTUSBDEVICE|spice",
9082 "type" : "string"
9083 },
9084 "usb3" : {
c2993fe5
DM
9085 "default" : 0,
9086 "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
9087 "optional" : 1,
9088 "type" : "boolean"
9089 }
9090 },
7aacca6f 9091 "optional" : 1,
4bd7df8b
DM
9092 "type" : "string",
9093 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 9094 },
44660702
DM
9095 "vcpus" : {
9096 "default" : 0,
9097 "description" : "Number of hotplugged vcpus.",
9098 "minimum" : 1,
56122987 9099 "optional" : 1,
4bd7df8b 9100 "type" : "integer",
013dc89f 9101 "typetext" : "<integer> (1 - N)"
56122987 9102 },
44660702 9103 "vga" : {
c2993fe5 9104 "description" : "Select the VGA type.",
44660702
DM
9105 "enum" : [
9106 "std",
9107 "cirrus",
9108 "vmware",
9109 "qxl",
9110 "serial0",
9111 "serial1",
9112 "serial2",
9113 "serial3",
9114 "qxl2",
9115 "qxl3",
9116 "qxl4"
9117 ],
56122987 9118 "optional" : 1,
c2993fe5
DM
9119 "type" : "string",
9120 "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 9121 },
44660702
DM
9122 "virtio[n]" : {
9123 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 9124 "format" : {
44660702
DM
9125 "aio" : {
9126 "description" : "AIO type to use.",
56122987 9127 "enum" : [
44660702
DM
9128 "native",
9129 "threads"
56122987 9130 ],
56122987
DM
9131 "optional" : 1,
9132 "type" : "string"
9133 },
44660702
DM
9134 "backup" : {
9135 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9136 "optional" : 1,
9137 "type" : "boolean"
7aacca6f 9138 },
44660702 9139 "bps" : {
de0983cb 9140 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
9141 "format_description" : "bps",
9142 "optional" : 1,
9143 "type" : "integer"
56122987 9144 },
de0983cb
DM
9145 "bps_max_length" : {
9146 "description" : "Maximum length of I/O bursts in seconds.",
9147 "format_description" : "seconds",
9148 "minimum" : 1,
9149 "optional" : 1,
9150 "type" : "integer"
9151 },
44660702 9152 "bps_rd" : {
de0983cb 9153 "description" : "Maximum read speed in bytes per second.",
44660702 9154 "format_description" : "bps",
56122987 9155 "optional" : 1,
44660702 9156 "type" : "integer"
56122987 9157 },
de0983cb 9158 "bps_rd_length" : {
5d9c884c
DM
9159 "alias" : "bps_rd_max_length"
9160 },
9161 "bps_rd_max_length" : {
de0983cb
DM
9162 "description" : "Maximum length of read I/O bursts in seconds.",
9163 "format_description" : "seconds",
9164 "minimum" : 1,
9165 "optional" : 1,
9166 "type" : "integer"
9167 },
44660702 9168 "bps_wr" : {
de0983cb 9169 "description" : "Maximum write speed in bytes per second.",
44660702 9170 "format_description" : "bps",
56122987 9171 "optional" : 1,
44660702
DM
9172 "type" : "integer"
9173 },
de0983cb 9174 "bps_wr_length" : {
5d9c884c
DM
9175 "alias" : "bps_wr_max_length"
9176 },
9177 "bps_wr_max_length" : {
de0983cb
DM
9178 "description" : "Maximum length of write I/O bursts in seconds.",
9179 "format_description" : "seconds",
9180 "minimum" : 1,
9181 "optional" : 1,
9182 "type" : "integer"
9183 },
44660702
DM
9184 "cache" : {
9185 "description" : "The drive's cache mode",
56122987 9186 "enum" : [
44660702
DM
9187 "none",
9188 "writethrough",
9189 "writeback",
9190 "unsafe",
9191 "directsync"
56122987 9192 ],
56122987 9193 "optional" : 1,
44660702 9194 "type" : "string"
56122987 9195 },
44660702
DM
9196 "cyls" : {
9197 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 9198 "optional" : 1,
44660702 9199 "type" : "integer"
7aacca6f 9200 },
44660702
DM
9201 "detect_zeroes" : {
9202 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9203 "optional" : 1,
9204 "type" : "boolean"
7aacca6f 9205 },
44660702
DM
9206 "discard" : {
9207 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
9208 "enum" : [
9209 "ignore",
9210 "on"
9211 ],
56122987 9212 "optional" : 1,
44660702 9213 "type" : "string"
56122987
DM
9214 },
9215 "file" : {
7aacca6f 9216 "default_key" : 1,
44660702 9217 "description" : "The drive's backing volume.",
7aacca6f 9218 "format" : "pve-volume-id-or-qm-path",
44660702
DM
9219 "format_description" : "volume",
9220 "type" : "string"
7aacca6f
DM
9221 },
9222 "format" : {
7aacca6f
DM
9223 "description" : "The drive's backing file's data format.",
9224 "enum" : [
9225 "raw",
9226 "cow",
9227 "qcow",
9228 "qed",
9229 "qcow2",
9230 "vmdk",
9231 "cloop"
56122987
DM
9232 ],
9233 "optional" : 1,
56122987
DM
9234 "type" : "string"
9235 },
44660702
DM
9236 "heads" : {
9237 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9238 "optional" : 1,
44660702 9239 "type" : "integer"
56122987 9240 },
44660702 9241 "iops" : {
de0983cb 9242 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 9243 "format_description" : "iops",
56122987 9244 "optional" : 1,
44660702 9245 "type" : "integer"
56122987 9246 },
44660702 9247 "iops_max" : {
de0983cb 9248 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9249 "format_description" : "iops",
56122987 9250 "optional" : 1,
56122987
DM
9251 "type" : "integer"
9252 },
de0983cb
DM
9253 "iops_max_length" : {
9254 "description" : "Maximum length of I/O bursts in seconds.",
9255 "format_description" : "seconds",
9256 "minimum" : 1,
9257 "optional" : 1,
9258 "type" : "integer"
9259 },
44660702 9260 "iops_rd" : {
de0983cb 9261 "description" : "Maximum read I/O in operations per second.",
44660702 9262 "format_description" : "iops",
56122987 9263 "optional" : 1,
44660702 9264 "type" : "integer"
56122987 9265 },
de0983cb 9266 "iops_rd_length" : {
5d9c884c 9267 "alias" : "iops_rd_max_length"
de0983cb 9268 },
44660702 9269 "iops_rd_max" : {
de0983cb 9270 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9271 "format_description" : "iops",
7aacca6f 9272 "optional" : 1,
44660702 9273 "type" : "integer"
56122987 9274 },
5d9c884c
DM
9275 "iops_rd_max_length" : {
9276 "description" : "Maximum length of read I/O bursts in seconds.",
9277 "format_description" : "seconds",
9278 "minimum" : 1,
9279 "optional" : 1,
9280 "type" : "integer"
9281 },
44660702 9282 "iops_wr" : {
de0983cb 9283 "description" : "Maximum write I/O in operations per second.",
44660702 9284 "format_description" : "iops",
7aacca6f 9285 "optional" : 1,
44660702 9286 "type" : "integer"
56122987 9287 },
de0983cb 9288 "iops_wr_length" : {
5d9c884c 9289 "alias" : "iops_wr_max_length"
de0983cb 9290 },
44660702 9291 "iops_wr_max" : {
de0983cb 9292 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9293 "format_description" : "iops",
56122987
DM
9294 "optional" : 1,
9295 "type" : "integer"
9296 },
5d9c884c
DM
9297 "iops_wr_max_length" : {
9298 "description" : "Maximum length of write I/O bursts in seconds.",
9299 "format_description" : "seconds",
9300 "minimum" : 1,
9301 "optional" : 1,
9302 "type" : "integer"
9303 },
44660702
DM
9304 "iothread" : {
9305 "description" : "Whether to use iothreads for this drive",
44660702
DM
9306 "optional" : 1,
9307 "type" : "boolean"
9308 },
9309 "mbps" : {
de0983cb 9310 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9311 "format_description" : "mbps",
44660702
DM
9312 "optional" : 1,
9313 "type" : "number"
9314 },
9315 "mbps_max" : {
de0983cb 9316 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9317 "format_description" : "mbps",
9318 "optional" : 1,
9319 "type" : "number"
7aacca6f 9320 },
44660702 9321 "mbps_rd" : {
de0983cb 9322 "description" : "Maximum read speed in megabytes per second.",
44660702 9323 "format_description" : "mbps",
56122987 9324 "optional" : 1,
44660702 9325 "type" : "number"
56122987 9326 },
44660702 9327 "mbps_rd_max" : {
de0983cb 9328 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9329 "format_description" : "mbps",
7aacca6f 9330 "optional" : 1,
44660702 9331 "type" : "number"
56122987 9332 },
44660702 9333 "mbps_wr" : {
de0983cb 9334 "description" : "Maximum write speed in megabytes per second.",
44660702 9335 "format_description" : "mbps",
56122987 9336 "optional" : 1,
44660702 9337 "type" : "number"
56122987 9338 },
44660702 9339 "mbps_wr_max" : {
de0983cb 9340 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9341 "format_description" : "mbps",
56122987 9342 "optional" : 1,
44660702 9343 "type" : "number"
56122987
DM
9344 },
9345 "media" : {
7aacca6f 9346 "default" : "disk",
44660702 9347 "description" : "The drive's media type.",
56122987
DM
9348 "enum" : [
9349 "cdrom",
9350 "disk"
9351 ],
44660702
DM
9352 "optional" : 1,
9353 "type" : "string"
56122987 9354 },
5d9c884c
DM
9355 "replicate" : {
9356 "default" : 1,
9357 "description" : "Whether the drive should considered for replication jobs.",
9358 "optional" : 1,
9359 "type" : "boolean"
9360 },
7aacca6f 9361 "rerror" : {
44660702 9362 "description" : "Read error action.",
56122987 9363 "enum" : [
7aacca6f
DM
9364 "ignore",
9365 "report",
9366 "stop"
56122987 9367 ],
56122987 9368 "optional" : 1,
44660702 9369 "type" : "string"
56122987 9370 },
44660702
DM
9371 "secs" : {
9372 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9373 "optional" : 1,
9374 "type" : "integer"
9375 },
9376 "serial" : {
9377 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9378 "format" : "urlencoded",
9379 "format_description" : "serial",
9380 "maxLength" : 60,
56122987 9381 "optional" : 1,
7aacca6f 9382 "type" : "string"
56122987 9383 },
27a7acb2
DM
9384 "shared" : {
9385 "default" : 0,
9386 "description" : "Mark this locally-managed volume as available on all nodes",
9387 "optional" : 1,
9388 "type" : "boolean",
9389 "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!"
9390 },
44660702
DM
9391 "size" : {
9392 "description" : "Disk size. This is purely informational and has no effect.",
9393 "format" : "disk-size",
f004f5b9 9394 "format_description" : "DiskSize",
56122987 9395 "optional" : 1,
44660702 9396 "type" : "string"
56122987 9397 },
44660702 9398 "snapshot" : {
27a7acb2 9399 "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 9400 "optional" : 1,
44660702 9401 "type" : "boolean"
56122987 9402 },
44660702
DM
9403 "trans" : {
9404 "description" : "Force disk geometry bios translation mode.",
9405 "enum" : [
9406 "none",
9407 "lba",
9408 "auto"
9409 ],
44660702
DM
9410 "optional" : 1,
9411 "type" : "string"
9412 },
9413 "volume" : {
9414 "alias" : "file"
9415 },
9416 "werror" : {
9417 "description" : "Write error action.",
9418 "enum" : [
9419 "enospc",
9420 "ignore",
9421 "report",
9422 "stop"
9423 ],
56122987 9424 "optional" : 1,
44660702 9425 "type" : "string"
56122987 9426 }
44660702 9427 },
56122987 9428 "optional" : 1,
4bd7df8b 9429 "type" : "string",
27a7acb2 9430 "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 9431 },
7aacca6f
DM
9432 "vmid" : {
9433 "description" : "The (unique) ID of the VM.",
7aacca6f 9434 "format" : "pve-vmid",
44660702 9435 "minimum" : 1,
4bd7df8b 9436 "type" : "integer",
013dc89f 9437 "typetext" : "<integer> (1 - N)"
56122987 9438 },
2489d6df
WB
9439 "vmstatestorage" : {
9440 "description" : "Default storage for VM state volumes/files.",
9441 "format" : "pve-storage-id",
9442 "optional" : 1,
9443 "type" : "string",
9444 "typetext" : "<string>"
9445 },
44660702 9446 "watchdog" : {
c2993fe5 9447 "description" : "Create a virtual hardware watchdog device.",
44660702 9448 "format" : "pve-qm-watchdog",
56122987 9449 "optional" : 1,
c2993fe5 9450 "type" : "string",
013dc89f 9451 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9452 "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 9453 }
44660702 9454 }
56122987 9455 },
7aacca6f
DM
9456 "permissions" : {
9457 "check" : [
9458 "perm",
9459 "/vms/{vmid}",
9460 [
44660702
DM
9461 "VM.Config.Disk",
9462 "VM.Config.CDROM",
9463 "VM.Config.CPU",
9464 "VM.Config.Memory",
9465 "VM.Config.Network",
9466 "VM.Config.HWType",
9467 "VM.Config.Options"
9468 ],
9469 "any",
9470 1
7aacca6f 9471 ]
56122987 9472 },
44660702 9473 "protected" : 1,
7aacca6f 9474 "proxyto" : "node",
44660702
DM
9475 "returns" : {
9476 "optional" : 1,
9477 "type" : "string"
9478 }
56122987 9479 },
7aacca6f 9480 "PUT" : {
44660702
DM
9481 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
9482 "method" : "PUT",
9483 "name" : "update_vm",
56122987 9484 "parameters" : {
7aacca6f 9485 "additionalProperties" : 0,
56122987 9486 "properties" : {
44660702
DM
9487 "acpi" : {
9488 "default" : 1,
9489 "description" : "Enable/disable ACPI.",
7aacca6f 9490 "optional" : 1,
013dc89f
DM
9491 "type" : "boolean",
9492 "typetext" : "<boolean>"
7aacca6f 9493 },
44660702
DM
9494 "agent" : {
9495 "default" : 0,
9496 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 9497 "optional" : 1,
013dc89f
DM
9498 "type" : "boolean",
9499 "typetext" : "<boolean>"
56122987 9500 },
44660702 9501 "args" : {
c2993fe5 9502 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 9503 "optional" : 1,
c2993fe5 9504 "type" : "string",
013dc89f 9505 "typetext" : "<string>",
c2993fe5 9506 "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 9507 },
44660702
DM
9508 "autostart" : {
9509 "default" : 0,
9510 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 9511 "optional" : 1,
013dc89f
DM
9512 "type" : "boolean",
9513 "typetext" : "<boolean>"
7aacca6f 9514 },
44660702
DM
9515 "balloon" : {
9516 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
9517 "minimum" : 0,
9518 "optional" : 1,
4bd7df8b 9519 "type" : "integer",
013dc89f 9520 "typetext" : "<integer> (0 - N)"
44660702
DM
9521 },
9522 "bios" : {
9523 "default" : "seabios",
9524 "description" : "Select BIOS implementation.",
7aacca6f 9525 "enum" : [
44660702
DM
9526 "seabios",
9527 "ovmf"
7aacca6f 9528 ],
56122987 9529 "optional" : 1,
7aacca6f
DM
9530 "type" : "string"
9531 },
44660702
DM
9532 "boot" : {
9533 "default" : "cdn",
9534 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 9535 "optional" : 1,
44660702
DM
9536 "pattern" : "[acdn]{1,4}",
9537 "type" : "string"
56122987 9538 },
44660702
DM
9539 "bootdisk" : {
9540 "description" : "Enable booting from specified disk.",
9541 "format" : "pve-qm-bootdisk",
9542 "optional" : 1,
9543 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9544 "type" : "string"
9545 },
9546 "cdrom" : {
9547 "description" : "This is an alias for option -ide2",
de0983cb 9548 "format" : "pve-qm-ide",
56122987 9549 "optional" : 1,
7aacca6f 9550 "type" : "string",
013dc89f 9551 "typetext" : "<volume>"
44660702 9552 },
27a7acb2
DM
9553 "cipassword" : {
9554 "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.",
9555 "optional" : 1,
9556 "type" : "string",
9557 "typetext" : "<string>"
9558 },
9559 "citype" : {
9560 "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.",
9561 "enum" : [
9562 "configdrive2",
9563 "nocloud"
9564 ],
9565 "optional" : 1,
9566 "type" : "string"
9567 },
9568 "ciuser" : {
9569 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9570 "optional" : 1,
9571 "type" : "string",
9572 "typetext" : "<string>"
9573 },
44660702
DM
9574 "cores" : {
9575 "default" : 1,
9576 "description" : "The number of cores per socket.",
9577 "minimum" : 1,
9578 "optional" : 1,
4bd7df8b 9579 "type" : "integer",
013dc89f 9580 "typetext" : "<integer> (1 - N)"
44660702
DM
9581 },
9582 "cpu" : {
9583 "description" : "Emulated CPU type.",
9584 "format" : {
9585 "cputype" : {
9586 "default" : "kvm64",
9587 "default_key" : 1,
9588 "description" : "Emulated CPU type.",
9589 "enum" : [
9590 "486",
9591 "athlon",
f004f5b9 9592 "Broadwell",
35a75dd3 9593 "Broadwell-IBRS",
f004f5b9 9594 "Broadwell-noTSX",
35a75dd3 9595 "Broadwell-noTSX-IBRS",
f004f5b9 9596 "Conroe",
44660702 9597 "core2duo",
f004f5b9 9598 "coreduo",
27a7acb2
DM
9599 "EPYC",
9600 "EPYC-IBPB",
f004f5b9 9601 "Haswell",
35a75dd3 9602 "Haswell-IBRS",
f004f5b9 9603 "Haswell-noTSX",
35a75dd3 9604 "Haswell-noTSX-IBRS",
f004f5b9
DM
9605 "host",
9606 "IvyBridge",
35a75dd3 9607 "IvyBridge-IBRS",
44660702
DM
9608 "kvm32",
9609 "kvm64",
35a75dd3 9610 "max",
44660702 9611 "Nehalem",
35a75dd3 9612 "Nehalem-IBRS",
44660702
DM
9613 "Opteron_G1",
9614 "Opteron_G2",
9615 "Opteron_G3",
9616 "Opteron_G4",
9617 "Opteron_G5",
f004f5b9
DM
9618 "Penryn",
9619 "pentium",
9620 "pentium2",
9621 "pentium3",
9622 "phenom",
9623 "qemu32",
9624 "qemu64",
9625 "SandyBridge",
35a75dd3 9626 "SandyBridge-IBRS",
5d9c884c 9627 "Skylake-Client",
35a75dd3
DM
9628 "Skylake-Client-IBRS",
9629 "Skylake-Server",
9630 "Skylake-Server-IBRS",
9631 "Westmere",
9632 "Westmere-IBRS"
44660702 9633 ],
44660702
DM
9634 "type" : "string"
9635 },
35a75dd3
DM
9636 "flags" : {
9637 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
9638 "format_description" : "+FLAG[;-FLAG...]",
9639 "optional" : 1,
9640 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
9641 "type" : "string"
9642 },
44660702
DM
9643 "hidden" : {
9644 "default" : 0,
9645 "description" : "Do not identify as a KVM virtual machine.",
9646 "optional" : 1,
9647 "type" : "boolean"
9648 }
9649 },
9650 "optional" : 1,
4bd7df8b 9651 "type" : "string",
35a75dd3 9652 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
9653 },
9654 "cpulimit" : {
9655 "default" : 0,
c2993fe5 9656 "description" : "Limit of CPU usage.",
44660702
DM
9657 "maximum" : 128,
9658 "minimum" : 0,
9659 "optional" : 1,
c2993fe5 9660 "type" : "number",
013dc89f 9661 "typetext" : "<number> (0 - 128)",
c2993fe5 9662 "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
9663 },
9664 "cpuunits" : {
de0983cb 9665 "default" : 1024,
c2993fe5 9666 "description" : "CPU weight for a VM.",
2489d6df
WB
9667 "maximum" : 262144,
9668 "minimum" : 2,
44660702 9669 "optional" : 1,
c2993fe5 9670 "type" : "integer",
2489d6df
WB
9671 "typetext" : "<integer> (2 - 262144)",
9672 "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
9673 },
9674 "delete" : {
9675 "description" : "A list of settings you want to delete.",
9676 "format" : "pve-configid-list",
9677 "optional" : 1,
013dc89f
DM
9678 "type" : "string",
9679 "typetext" : "<string>"
44660702
DM
9680 },
9681 "description" : {
9682 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
9683 "optional" : 1,
013dc89f
DM
9684 "type" : "string",
9685 "typetext" : "<string>"
44660702
DM
9686 },
9687 "digest" : {
9688 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9689 "maxLength" : 40,
9690 "optional" : 1,
013dc89f
DM
9691 "type" : "string",
9692 "typetext" : "<string>"
44660702
DM
9693 },
9694 "force" : {
9695 "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.",
9696 "optional" : 1,
9697 "requires" : "delete",
013dc89f
DM
9698 "type" : "boolean",
9699 "typetext" : "<boolean>"
44660702
DM
9700 },
9701 "freeze" : {
9702 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
9703 "optional" : 1,
013dc89f
DM
9704 "type" : "boolean",
9705 "typetext" : "<boolean>"
44660702
DM
9706 },
9707 "hostpci[n]" : {
c2993fe5 9708 "description" : "Map host PCI devices into guest.",
44660702
DM
9709 "format" : "pve-qm-hostpci",
9710 "optional" : 1,
57b78691 9711 "type" : "string",
52e44c50 9712 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 9713 "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 9714 },
7aacca6f 9715 "hotplug" : {
7aacca6f 9716 "default" : "network,disk,usb",
44660702
DM
9717 "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'.",
9718 "format" : "pve-hotplug-features",
56122987 9719 "optional" : 1,
013dc89f
DM
9720 "type" : "string",
9721 "typetext" : "<string>"
56122987 9722 },
4bd7df8b
DM
9723 "hugepages" : {
9724 "description" : "Enable/disable hugepages memory.",
9725 "enum" : [
9726 "any",
9727 "2",
9728 "1024"
9729 ],
9730 "optional" : 1,
9731 "type" : "string"
9732 },
56122987 9733 "ide[n]" : {
7aacca6f 9734 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 9735 "format" : {
44660702
DM
9736 "aio" : {
9737 "description" : "AIO type to use.",
9738 "enum" : [
9739 "native",
9740 "threads"
9741 ],
56122987 9742 "optional" : 1,
44660702 9743 "type" : "string"
56122987 9744 },
44660702
DM
9745 "backup" : {
9746 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9747 "optional" : 1,
9748 "type" : "boolean"
9749 },
9750 "bps" : {
de0983cb 9751 "description" : "Maximum r/w speed in bytes per second.",
44660702 9752 "format_description" : "bps",
56122987 9753 "optional" : 1,
44660702 9754 "type" : "integer"
56122987 9755 },
de0983cb
DM
9756 "bps_max_length" : {
9757 "description" : "Maximum length of I/O bursts in seconds.",
9758 "format_description" : "seconds",
9759 "minimum" : 1,
9760 "optional" : 1,
9761 "type" : "integer"
9762 },
44660702 9763 "bps_rd" : {
de0983cb 9764 "description" : "Maximum read speed in bytes per second.",
44660702 9765 "format_description" : "bps",
56122987 9766 "optional" : 1,
44660702 9767 "type" : "integer"
56122987 9768 },
de0983cb 9769 "bps_rd_length" : {
5d9c884c
DM
9770 "alias" : "bps_rd_max_length"
9771 },
9772 "bps_rd_max_length" : {
de0983cb
DM
9773 "description" : "Maximum length of read I/O bursts in seconds.",
9774 "format_description" : "seconds",
9775 "minimum" : 1,
9776 "optional" : 1,
9777 "type" : "integer"
9778 },
7aacca6f 9779 "bps_wr" : {
de0983cb 9780 "description" : "Maximum write speed in bytes per second.",
44660702
DM
9781 "format_description" : "bps",
9782 "optional" : 1,
9783 "type" : "integer"
7aacca6f 9784 },
de0983cb 9785 "bps_wr_length" : {
5d9c884c
DM
9786 "alias" : "bps_wr_max_length"
9787 },
9788 "bps_wr_max_length" : {
de0983cb
DM
9789 "description" : "Maximum length of write I/O bursts in seconds.",
9790 "format_description" : "seconds",
9791 "minimum" : 1,
9792 "optional" : 1,
9793 "type" : "integer"
9794 },
44660702
DM
9795 "cache" : {
9796 "description" : "The drive's cache mode",
9797 "enum" : [
9798 "none",
9799 "writethrough",
9800 "writeback",
9801 "unsafe",
9802 "directsync"
9803 ],
56122987 9804 "optional" : 1,
44660702
DM
9805 "type" : "string"
9806 },
9807 "cyls" : {
9808 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9809 "optional" : 1,
9810 "type" : "integer"
9811 },
9812 "detect_zeroes" : {
9813 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9814 "optional" : 1,
9815 "type" : "boolean"
56122987 9816 },
7aacca6f 9817 "discard" : {
7aacca6f 9818 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 9819 "enum" : [
7aacca6f
DM
9820 "ignore",
9821 "on"
56122987
DM
9822 ],
9823 "optional" : 1,
44660702 9824 "type" : "string"
7aacca6f 9825 },
44660702
DM
9826 "file" : {
9827 "default_key" : 1,
9828 "description" : "The drive's backing volume.",
9829 "format" : "pve-volume-id-or-qm-path",
9830 "format_description" : "volume",
9831 "type" : "string"
7aacca6f
DM
9832 },
9833 "format" : {
44660702 9834 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9835 "enum" : [
9836 "raw",
9837 "cow",
9838 "qcow",
9839 "qed",
9840 "qcow2",
9841 "vmdk",
9842 "cloop"
9843 ],
7aacca6f 9844 "optional" : 1,
44660702 9845 "type" : "string"
56122987 9846 },
7aacca6f 9847 "heads" : {
44660702 9848 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9849 "optional" : 1,
44660702 9850 "type" : "integer"
7aacca6f 9851 },
44660702 9852 "iops" : {
de0983cb 9853 "description" : "Maximum r/w I/O in operations per second.",
44660702 9854 "format_description" : "iops",
7aacca6f 9855 "optional" : 1,
44660702 9856 "type" : "integer"
56122987 9857 },
44660702 9858 "iops_max" : {
de0983cb 9859 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9860 "format_description" : "iops",
56122987 9861 "optional" : 1,
44660702 9862 "type" : "integer"
56122987 9863 },
de0983cb
DM
9864 "iops_max_length" : {
9865 "description" : "Maximum length of I/O bursts in seconds.",
9866 "format_description" : "seconds",
9867 "minimum" : 1,
9868 "optional" : 1,
9869 "type" : "integer"
9870 },
44660702 9871 "iops_rd" : {
de0983cb 9872 "description" : "Maximum read I/O in operations per second.",
44660702 9873 "format_description" : "iops",
56122987 9874 "optional" : 1,
44660702 9875 "type" : "integer"
7aacca6f 9876 },
de0983cb 9877 "iops_rd_length" : {
5d9c884c 9878 "alias" : "iops_rd_max_length"
de0983cb 9879 },
44660702 9880 "iops_rd_max" : {
de0983cb 9881 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9882 "format_description" : "iops",
7aacca6f 9883 "optional" : 1,
44660702 9884 "type" : "integer"
7aacca6f 9885 },
5d9c884c
DM
9886 "iops_rd_max_length" : {
9887 "description" : "Maximum length of read I/O bursts in seconds.",
9888 "format_description" : "seconds",
9889 "minimum" : 1,
9890 "optional" : 1,
9891 "type" : "integer"
9892 },
44660702 9893 "iops_wr" : {
de0983cb 9894 "description" : "Maximum write I/O in operations per second.",
44660702 9895 "format_description" : "iops",
7aacca6f 9896 "optional" : 1,
44660702 9897 "type" : "integer"
56122987 9898 },
de0983cb 9899 "iops_wr_length" : {
5d9c884c 9900 "alias" : "iops_wr_max_length"
de0983cb 9901 },
44660702 9902 "iops_wr_max" : {
de0983cb 9903 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9904 "format_description" : "iops",
7aacca6f 9905 "optional" : 1,
44660702 9906 "type" : "integer"
7aacca6f 9907 },
5d9c884c
DM
9908 "iops_wr_max_length" : {
9909 "description" : "Maximum length of write I/O bursts in seconds.",
9910 "format_description" : "seconds",
9911 "minimum" : 1,
9912 "optional" : 1,
9913 "type" : "integer"
9914 },
7aacca6f 9915 "mbps" : {
de0983cb 9916 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9917 "format_description" : "mbps",
7aacca6f 9918 "optional" : 1,
44660702 9919 "type" : "number"
7aacca6f 9920 },
44660702 9921 "mbps_max" : {
de0983cb 9922 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9923 "format_description" : "mbps",
7aacca6f 9924 "optional" : 1,
44660702 9925 "type" : "number"
7aacca6f 9926 },
44660702 9927 "mbps_rd" : {
de0983cb 9928 "description" : "Maximum read speed in megabytes per second.",
44660702 9929 "format_description" : "mbps",
7aacca6f 9930 "optional" : 1,
44660702 9931 "type" : "number"
7aacca6f 9932 },
44660702 9933 "mbps_rd_max" : {
de0983cb 9934 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9935 "format_description" : "mbps",
9936 "optional" : 1,
9937 "type" : "number"
7aacca6f 9938 },
44660702 9939 "mbps_wr" : {
de0983cb 9940 "description" : "Maximum write speed in megabytes per second.",
44660702 9941 "format_description" : "mbps",
7aacca6f 9942 "optional" : 1,
44660702
DM
9943 "type" : "number"
9944 },
9945 "mbps_wr_max" : {
de0983cb 9946 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9947 "format_description" : "mbps",
9948 "optional" : 1,
9949 "type" : "number"
9950 },
9951 "media" : {
9952 "default" : "disk",
9953 "description" : "The drive's media type.",
56122987 9954 "enum" : [
44660702
DM
9955 "cdrom",
9956 "disk"
56122987 9957 ],
44660702
DM
9958 "optional" : 1,
9959 "type" : "string"
56122987 9960 },
7aacca6f 9961 "model" : {
44660702 9962 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 9963 "format" : "urlencoded",
7aacca6f 9964 "format_description" : "model",
44660702 9965 "maxLength" : 120,
56122987 9966 "optional" : 1,
44660702 9967 "type" : "string"
56122987 9968 },
5d9c884c
DM
9969 "replicate" : {
9970 "default" : 1,
9971 "description" : "Whether the drive should considered for replication jobs.",
9972 "optional" : 1,
9973 "type" : "boolean"
9974 },
44660702
DM
9975 "rerror" : {
9976 "description" : "Read error action.",
9977 "enum" : [
9978 "ignore",
9979 "report",
9980 "stop"
9981 ],
56122987 9982 "optional" : 1,
44660702 9983 "type" : "string"
56122987 9984 },
44660702
DM
9985 "secs" : {
9986 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9987 "optional" : 1,
9988 "type" : "integer"
56122987 9989 },
44660702
DM
9990 "serial" : {
9991 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9992 "format" : "urlencoded",
9993 "format_description" : "serial",
9994 "maxLength" : 60,
56122987 9995 "optional" : 1,
44660702 9996 "type" : "string"
56122987 9997 },
27a7acb2
DM
9998 "shared" : {
9999 "default" : 0,
10000 "description" : "Mark this locally-managed volume as available on all nodes",
10001 "optional" : 1,
10002 "type" : "boolean",
10003 "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!"
10004 },
44660702
DM
10005 "size" : {
10006 "description" : "Disk size. This is purely informational and has no effect.",
10007 "format" : "disk-size",
f004f5b9 10008 "format_description" : "DiskSize",
56122987 10009 "optional" : 1,
44660702 10010 "type" : "string"
56122987 10011 },
44660702 10012 "snapshot" : {
27a7acb2 10013 "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 10014 "optional" : 1,
44660702 10015 "type" : "boolean"
56122987 10016 },
44660702
DM
10017 "trans" : {
10018 "description" : "Force disk geometry bios translation mode.",
10019 "enum" : [
10020 "none",
10021 "lba",
10022 "auto"
10023 ],
56122987 10024 "optional" : 1,
44660702
DM
10025 "type" : "string"
10026 },
10027 "volume" : {
10028 "alias" : "file"
56122987 10029 },
7aacca6f 10030 "werror" : {
44660702 10031 "description" : "Write error action.",
7aacca6f
DM
10032 "enum" : [
10033 "enospc",
10034 "ignore",
10035 "report",
10036 "stop"
10037 ],
56122987 10038 "optional" : 1,
44660702 10039 "type" : "string"
7aacca6f 10040 }
44660702
DM
10041 },
10042 "optional" : 1,
4bd7df8b 10043 "type" : "string",
27a7acb2
DM
10044 "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>]"
10045 },
10046 "ipconfig[n]" : {
10047 "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",
10048 "format" : "pve-qm-ipconfig",
10049 "optional" : 1,
10050 "type" : "string",
10051 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 10052 },
44660702 10053 "keyboard" : {
35a75dd3
DM
10054 "default" : null,
10055 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
44660702
DM
10056 "enum" : [
10057 "de",
10058 "de-ch",
10059 "da",
10060 "en-gb",
10061 "en-us",
10062 "es",
10063 "fi",
10064 "fr",
10065 "fr-be",
10066 "fr-ca",
10067 "fr-ch",
10068 "hu",
10069 "is",
10070 "it",
10071 "ja",
10072 "lt",
10073 "mk",
10074 "nl",
10075 "no",
10076 "pl",
10077 "pt",
10078 "pt-br",
10079 "sv",
10080 "sl",
10081 "tr"
10082 ],
7aacca6f 10083 "optional" : 1,
44660702 10084 "type" : "string"
7aacca6f 10085 },
44660702 10086 "kvm" : {
7aacca6f 10087 "default" : 1,
44660702 10088 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 10089 "optional" : 1,
013dc89f
DM
10090 "type" : "boolean",
10091 "typetext" : "<boolean>"
7aacca6f 10092 },
44660702
DM
10093 "localtime" : {
10094 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 10095 "optional" : 1,
013dc89f
DM
10096 "type" : "boolean",
10097 "typetext" : "<boolean>"
7aacca6f 10098 },
44660702
DM
10099 "lock" : {
10100 "description" : "Lock/unlock the VM.",
10101 "enum" : [
10102 "migrate",
10103 "backup",
10104 "snapshot",
10105 "rollback"
10106 ],
7aacca6f 10107 "optional" : 1,
44660702 10108 "type" : "string"
7aacca6f 10109 },
44660702
DM
10110 "machine" : {
10111 "description" : "Specific the Qemu machine type.",
10112 "maxLength" : 40,
7aacca6f 10113 "optional" : 1,
44660702
DM
10114 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10115 "type" : "string"
7aacca6f 10116 },
44660702
DM
10117 "memory" : {
10118 "default" : 512,
10119 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
10120 "minimum" : 16,
7aacca6f 10121 "optional" : 1,
4bd7df8b 10122 "type" : "integer",
013dc89f 10123 "typetext" : "<integer> (16 - N)"
7aacca6f 10124 },
44660702
DM
10125 "migrate_downtime" : {
10126 "default" : 0.1,
10127 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
10128 "minimum" : 0,
7aacca6f 10129 "optional" : 1,
4bd7df8b 10130 "type" : "number",
013dc89f 10131 "typetext" : "<number> (0 - N)"
7aacca6f 10132 },
44660702 10133 "migrate_speed" : {
7aacca6f 10134 "default" : 0,
44660702
DM
10135 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
10136 "minimum" : 0,
10137 "optional" : 1,
4bd7df8b 10138 "type" : "integer",
013dc89f 10139 "typetext" : "<integer> (0 - N)"
7aacca6f 10140 },
44660702
DM
10141 "name" : {
10142 "description" : "Set a name for the VM. Only used on the configuration web interface.",
10143 "format" : "dns-name",
7aacca6f 10144 "optional" : 1,
013dc89f
DM
10145 "type" : "string",
10146 "typetext" : "<string>"
7aacca6f 10147 },
27a7acb2
DM
10148 "nameserver" : {
10149 "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.",
10150 "format" : "address-list",
10151 "optional" : 1,
10152 "type" : "string",
10153 "typetext" : "<string>"
10154 },
44660702 10155 "net[n]" : {
c2993fe5 10156 "description" : "Specify network devices.",
f004f5b9
DM
10157 "format" : {
10158 "bridge" : {
c2993fe5 10159 "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
10160 "format_description" : "bridge",
10161 "optional" : 1,
10162 "type" : "string"
10163 },
10164 "e1000" : {
10165 "alias" : "macaddr",
10166 "keyAlias" : "model"
10167 },
10168 "e1000-82540em" : {
10169 "alias" : "macaddr",
10170 "keyAlias" : "model"
10171 },
10172 "e1000-82544gc" : {
10173 "alias" : "macaddr",
10174 "keyAlias" : "model"
10175 },
10176 "e1000-82545em" : {
10177 "alias" : "macaddr",
10178 "keyAlias" : "model"
10179 },
10180 "firewall" : {
10181 "description" : "Whether this interface should be protected by the firewall.",
10182 "optional" : 1,
10183 "type" : "boolean"
10184 },
10185 "i82551" : {
10186 "alias" : "macaddr",
10187 "keyAlias" : "model"
10188 },
10189 "i82557b" : {
10190 "alias" : "macaddr",
10191 "keyAlias" : "model"
10192 },
10193 "i82559er" : {
10194 "alias" : "macaddr",
10195 "keyAlias" : "model"
10196 },
10197 "link_down" : {
c2993fe5 10198 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
10199 "optional" : 1,
10200 "type" : "boolean"
10201 },
10202 "macaddr" : {
c2993fe5 10203 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 10204 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
10205 "optional" : 1,
10206 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
10207 "type" : "string"
10208 },
10209 "model" : {
10210 "default_key" : 1,
c2993fe5 10211 "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
10212 "enum" : [
10213 "rtl8139",
10214 "ne2k_pci",
10215 "e1000",
10216 "pcnet",
10217 "virtio",
10218 "ne2k_isa",
10219 "i82551",
10220 "i82557b",
10221 "i82559er",
10222 "vmxnet3",
10223 "e1000-82540em",
10224 "e1000-82544gc",
10225 "e1000-82545em"
10226 ],
f004f5b9
DM
10227 "type" : "string"
10228 },
10229 "ne2k_isa" : {
10230 "alias" : "macaddr",
10231 "keyAlias" : "model"
10232 },
10233 "ne2k_pci" : {
10234 "alias" : "macaddr",
10235 "keyAlias" : "model"
10236 },
10237 "pcnet" : {
10238 "alias" : "macaddr",
10239 "keyAlias" : "model"
10240 },
10241 "queues" : {
10242 "description" : "Number of packet queues to be used on the device.",
10243 "maximum" : 16,
10244 "minimum" : 0,
10245 "optional" : 1,
10246 "type" : "integer"
10247 },
10248 "rate" : {
c2993fe5 10249 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
10250 "minimum" : 0,
10251 "optional" : 1,
10252 "type" : "number"
10253 },
10254 "rtl8139" : {
10255 "alias" : "macaddr",
10256 "keyAlias" : "model"
10257 },
10258 "tag" : {
10259 "description" : "VLAN tag to apply to packets on this interface.",
10260 "maximum" : 4094,
c2993fe5 10261 "minimum" : 1,
f004f5b9
DM
10262 "optional" : 1,
10263 "type" : "integer"
10264 },
10265 "trunks" : {
10266 "description" : "VLAN trunks to pass through this interface.",
10267 "format_description" : "vlanid[;vlanid...]",
10268 "optional" : 1,
10269 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10270 "type" : "string"
10271 },
10272 "virtio" : {
10273 "alias" : "macaddr",
10274 "keyAlias" : "model"
10275 },
10276 "vmxnet3" : {
10277 "alias" : "macaddr",
10278 "keyAlias" : "model"
10279 }
10280 },
7aacca6f 10281 "optional" : 1,
4bd7df8b 10282 "type" : "string",
013dc89f 10283 "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 10284 },
44660702
DM
10285 "node" : {
10286 "description" : "The cluster node name.",
10287 "format" : "pve-node",
013dc89f
DM
10288 "type" : "string",
10289 "typetext" : "<string>"
44660702
DM
10290 },
10291 "numa" : {
10292 "default" : 0,
10293 "description" : "Enable/disable NUMA.",
7aacca6f 10294 "optional" : 1,
013dc89f
DM
10295 "type" : "boolean",
10296 "typetext" : "<boolean>"
7aacca6f 10297 },
44660702 10298 "numa[n]" : {
c2993fe5 10299 "description" : "NUMA topology.",
44660702
DM
10300 "format" : {
10301 "cpus" : {
c2993fe5 10302 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10303 "format_description" : "id[-id];...",
10304 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10305 "type" : "string"
10306 },
10307 "hostnodes" : {
c2993fe5 10308 "description" : "Host NUMA nodes to use.",
44660702
DM
10309 "format_description" : "id[-id];...",
10310 "optional" : 1,
10311 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10312 "type" : "string"
10313 },
10314 "memory" : {
c2993fe5 10315 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10316 "optional" : 1,
10317 "type" : "number"
10318 },
10319 "policy" : {
c2993fe5 10320 "description" : "NUMA allocation policy.",
44660702
DM
10321 "enum" : [
10322 "preferred",
10323 "bind",
10324 "interleave"
10325 ],
44660702
DM
10326 "optional" : 1,
10327 "type" : "string"
10328 }
10329 },
7aacca6f 10330 "optional" : 1,
4bd7df8b
DM
10331 "type" : "string",
10332 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10333 },
44660702
DM
10334 "onboot" : {
10335 "default" : 0,
10336 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10337 "optional" : 1,
013dc89f
DM
10338 "type" : "boolean",
10339 "typetext" : "<boolean>"
7aacca6f 10340 },
44660702 10341 "ostype" : {
c2993fe5 10342 "description" : "Specify guest operating system.",
44660702
DM
10343 "enum" : [
10344 "other",
10345 "wxp",
10346 "w2k",
10347 "w2k3",
10348 "w2k8",
10349 "wvista",
10350 "win7",
10351 "win8",
32d876b5 10352 "win10",
44660702
DM
10353 "l24",
10354 "l26",
10355 "solaris"
10356 ],
7aacca6f 10357 "optional" : 1,
c2993fe5 10358 "type" : "string",
35a75dd3 10359 "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 10360 },
44660702 10361 "parallel[n]" : {
c2993fe5 10362 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10363 "optional" : 1,
44660702 10364 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10365 "type" : "string",
10366 "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 10367 },
44660702
DM
10368 "protection" : {
10369 "default" : 0,
c2993fe5 10370 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10371 "optional" : 1,
013dc89f
DM
10372 "type" : "boolean",
10373 "typetext" : "<boolean>"
7aacca6f 10374 },
44660702
DM
10375 "reboot" : {
10376 "default" : 1,
10377 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 10378 "optional" : 1,
013dc89f
DM
10379 "type" : "boolean",
10380 "typetext" : "<boolean>"
7aacca6f 10381 },
44660702
DM
10382 "revert" : {
10383 "description" : "Revert a pending change.",
10384 "format" : "pve-configid-list",
7aacca6f 10385 "optional" : 1,
013dc89f
DM
10386 "type" : "string",
10387 "typetext" : "<string>"
7aacca6f 10388 },
44660702
DM
10389 "sata[n]" : {
10390 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 10391 "format" : {
44660702
DM
10392 "aio" : {
10393 "description" : "AIO type to use.",
10394 "enum" : [
10395 "native",
10396 "threads"
10397 ],
44660702
DM
10398 "optional" : 1,
10399 "type" : "string"
10400 },
10401 "backup" : {
10402 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10403 "optional" : 1,
10404 "type" : "boolean"
10405 },
10406 "bps" : {
de0983cb 10407 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 10408 "format_description" : "bps",
7aacca6f
DM
10409 "optional" : 1,
10410 "type" : "integer"
56122987 10411 },
de0983cb
DM
10412 "bps_max_length" : {
10413 "description" : "Maximum length of I/O bursts in seconds.",
10414 "format_description" : "seconds",
10415 "minimum" : 1,
10416 "optional" : 1,
10417 "type" : "integer"
10418 },
44660702 10419 "bps_rd" : {
de0983cb 10420 "description" : "Maximum read speed in bytes per second.",
44660702 10421 "format_description" : "bps",
7aacca6f 10422 "optional" : 1,
44660702 10423 "type" : "integer"
7aacca6f 10424 },
de0983cb 10425 "bps_rd_length" : {
5d9c884c
DM
10426 "alias" : "bps_rd_max_length"
10427 },
10428 "bps_rd_max_length" : {
de0983cb
DM
10429 "description" : "Maximum length of read I/O bursts in seconds.",
10430 "format_description" : "seconds",
10431 "minimum" : 1,
10432 "optional" : 1,
10433 "type" : "integer"
10434 },
44660702 10435 "bps_wr" : {
de0983cb 10436 "description" : "Maximum write speed in bytes per second.",
44660702 10437 "format_description" : "bps",
7aacca6f 10438 "optional" : 1,
44660702 10439 "type" : "integer"
7aacca6f 10440 },
de0983cb 10441 "bps_wr_length" : {
5d9c884c
DM
10442 "alias" : "bps_wr_max_length"
10443 },
10444 "bps_wr_max_length" : {
de0983cb
DM
10445 "description" : "Maximum length of write I/O bursts in seconds.",
10446 "format_description" : "seconds",
10447 "minimum" : 1,
10448 "optional" : 1,
10449 "type" : "integer"
10450 },
44660702
DM
10451 "cache" : {
10452 "description" : "The drive's cache mode",
10453 "enum" : [
10454 "none",
10455 "writethrough",
10456 "writeback",
10457 "unsafe",
10458 "directsync"
10459 ],
7aacca6f 10460 "optional" : 1,
44660702 10461 "type" : "string"
7aacca6f 10462 },
44660702
DM
10463 "cyls" : {
10464 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10465 "optional" : 1,
44660702 10466 "type" : "integer"
7aacca6f 10467 },
44660702
DM
10468 "detect_zeroes" : {
10469 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 10470 "optional" : 1,
44660702 10471 "type" : "boolean"
7aacca6f 10472 },
44660702
DM
10473 "discard" : {
10474 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10475 "enum" : [
10476 "ignore",
10477 "on"
10478 ],
7aacca6f 10479 "optional" : 1,
44660702
DM
10480 "type" : "string"
10481 },
10482 "file" : {
10483 "default_key" : 1,
10484 "description" : "The drive's backing volume.",
10485 "format" : "pve-volume-id-or-qm-path",
10486 "format_description" : "volume",
10487 "type" : "string"
7aacca6f
DM
10488 },
10489 "format" : {
7aacca6f 10490 "description" : "The drive's backing file's data format.",
56122987
DM
10491 "enum" : [
10492 "raw",
10493 "cow",
10494 "qcow",
10495 "qed",
10496 "qcow2",
10497 "vmdk",
10498 "cloop"
10499 ],
10500 "optional" : 1,
7aacca6f 10501 "type" : "string"
56122987 10502 },
7aacca6f 10503 "heads" : {
7aacca6f 10504 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10505 "optional" : 1,
10506 "type" : "integer"
56122987 10507 },
44660702 10508 "iops" : {
de0983cb 10509 "description" : "Maximum r/w I/O in operations per second.",
44660702 10510 "format_description" : "iops",
56122987 10511 "optional" : 1,
44660702 10512 "type" : "integer"
7aacca6f 10513 },
44660702 10514 "iops_max" : {
de0983cb 10515 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10516 "format_description" : "iops",
7aacca6f 10517 "optional" : 1,
44660702 10518 "type" : "integer"
56122987 10519 },
de0983cb
DM
10520 "iops_max_length" : {
10521 "description" : "Maximum length of I/O bursts in seconds.",
10522 "format_description" : "seconds",
10523 "minimum" : 1,
10524 "optional" : 1,
10525 "type" : "integer"
10526 },
44660702 10527 "iops_rd" : {
de0983cb 10528 "description" : "Maximum read I/O in operations per second.",
44660702 10529 "format_description" : "iops",
56122987 10530 "optional" : 1,
44660702 10531 "type" : "integer"
7aacca6f 10532 },
de0983cb 10533 "iops_rd_length" : {
5d9c884c 10534 "alias" : "iops_rd_max_length"
de0983cb 10535 },
44660702 10536 "iops_rd_max" : {
de0983cb 10537 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10538 "format_description" : "iops",
56122987 10539 "optional" : 1,
44660702 10540 "type" : "integer"
56122987 10541 },
5d9c884c
DM
10542 "iops_rd_max_length" : {
10543 "description" : "Maximum length of read I/O bursts in seconds.",
10544 "format_description" : "seconds",
10545 "minimum" : 1,
10546 "optional" : 1,
10547 "type" : "integer"
10548 },
44660702 10549 "iops_wr" : {
de0983cb 10550 "description" : "Maximum write I/O in operations per second.",
44660702
DM
10551 "format_description" : "iops",
10552 "optional" : 1,
10553 "type" : "integer"
56122987 10554 },
de0983cb 10555 "iops_wr_length" : {
5d9c884c 10556 "alias" : "iops_wr_max_length"
de0983cb 10557 },
44660702 10558 "iops_wr_max" : {
de0983cb 10559 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10560 "format_description" : "iops",
10561 "optional" : 1,
10562 "type" : "integer"
10563 },
5d9c884c
DM
10564 "iops_wr_max_length" : {
10565 "description" : "Maximum length of write I/O bursts in seconds.",
10566 "format_description" : "seconds",
10567 "minimum" : 1,
10568 "optional" : 1,
10569 "type" : "integer"
10570 },
44660702 10571 "mbps" : {
de0983cb 10572 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10573 "format_description" : "mbps",
10574 "optional" : 1,
10575 "type" : "number"
10576 },
10577 "mbps_max" : {
de0983cb 10578 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10579 "format_description" : "mbps",
10580 "optional" : 1,
10581 "type" : "number"
10582 },
10583 "mbps_rd" : {
de0983cb 10584 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10585 "format_description" : "mbps",
10586 "optional" : 1,
10587 "type" : "number"
10588 },
10589 "mbps_rd_max" : {
de0983cb 10590 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10591 "format_description" : "mbps",
10592 "optional" : 1,
10593 "type" : "number"
10594 },
10595 "mbps_wr" : {
de0983cb 10596 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10597 "format_description" : "mbps",
10598 "optional" : 1,
10599 "type" : "number"
10600 },
10601 "mbps_wr_max" : {
de0983cb 10602 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10603 "format_description" : "mbps",
10604 "optional" : 1,
10605 "type" : "number"
10606 },
10607 "media" : {
10608 "default" : "disk",
10609 "description" : "The drive's media type.",
10610 "enum" : [
10611 "cdrom",
10612 "disk"
10613 ],
56122987 10614 "optional" : 1,
44660702
DM
10615 "type" : "string"
10616 },
5d9c884c
DM
10617 "replicate" : {
10618 "default" : 1,
10619 "description" : "Whether the drive should considered for replication jobs.",
10620 "optional" : 1,
10621 "type" : "boolean"
10622 },
44660702 10623 "rerror" : {
7aacca6f
DM
10624 "description" : "Read error action.",
10625 "enum" : [
10626 "ignore",
10627 "report",
10628 "stop"
44660702 10629 ],
56122987 10630 "optional" : 1,
44660702 10631 "type" : "string"
56122987 10632 },
7aacca6f 10633 "secs" : {
44660702 10634 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10635 "optional" : 1,
44660702 10636 "type" : "integer"
56122987 10637 },
44660702
DM
10638 "serial" : {
10639 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10640 "format" : "urlencoded",
10641 "format_description" : "serial",
10642 "maxLength" : 60,
56122987 10643 "optional" : 1,
44660702 10644 "type" : "string"
56122987 10645 },
27a7acb2
DM
10646 "shared" : {
10647 "default" : 0,
10648 "description" : "Mark this locally-managed volume as available on all nodes",
10649 "optional" : 1,
10650 "type" : "boolean",
10651 "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!"
10652 },
44660702
DM
10653 "size" : {
10654 "description" : "Disk size. This is purely informational and has no effect.",
10655 "format" : "disk-size",
f004f5b9 10656 "format_description" : "DiskSize",
56122987 10657 "optional" : 1,
44660702 10658 "type" : "string"
56122987
DM
10659 },
10660 "snapshot" : {
27a7acb2 10661 "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 10662 "optional" : 1,
44660702 10663 "type" : "boolean"
56122987 10664 },
56122987 10665 "trans" : {
7aacca6f 10666 "description" : "Force disk geometry bios translation mode.",
56122987
DM
10667 "enum" : [
10668 "none",
10669 "lba",
10670 "auto"
10671 ],
10672 "optional" : 1,
44660702 10673 "type" : "string"
56122987 10674 },
44660702
DM
10675 "volume" : {
10676 "alias" : "file"
56122987 10677 },
7aacca6f 10678 "werror" : {
44660702 10679 "description" : "Write error action.",
56122987 10680 "enum" : [
7aacca6f 10681 "enospc",
56122987 10682 "ignore",
7aacca6f
DM
10683 "report",
10684 "stop"
10685 ],
7aacca6f 10686 "optional" : 1,
44660702
DM
10687 "type" : "string"
10688 }
10689 },
10690 "optional" : 1,
4bd7df8b 10691 "type" : "string",
27a7acb2 10692 "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
10693 },
10694 "scsi[n]" : {
10695 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
10696 "format" : {
10697 "aio" : {
7aacca6f 10698 "description" : "AIO type to use.",
56122987
DM
10699 "enum" : [
10700 "native",
10701 "threads"
44660702 10702 ],
56122987 10703 "optional" : 1,
44660702 10704 "type" : "string"
56122987 10705 },
7aacca6f 10706 "backup" : {
7aacca6f 10707 "description" : "Whether the drive should be included when making backups.",
7aacca6f 10708 "optional" : 1,
44660702 10709 "type" : "boolean"
56122987 10710 },
44660702 10711 "bps" : {
de0983cb 10712 "description" : "Maximum r/w speed in bytes per second.",
44660702 10713 "format_description" : "bps",
7aacca6f 10714 "optional" : 1,
44660702 10715 "type" : "integer"
7aacca6f 10716 },
de0983cb
DM
10717 "bps_max_length" : {
10718 "description" : "Maximum length of I/O bursts in seconds.",
10719 "format_description" : "seconds",
10720 "minimum" : 1,
10721 "optional" : 1,
10722 "type" : "integer"
10723 },
44660702 10724 "bps_rd" : {
de0983cb 10725 "description" : "Maximum read speed in bytes per second.",
44660702 10726 "format_description" : "bps",
56122987 10727 "optional" : 1,
44660702 10728 "type" : "integer"
56122987 10729 },
de0983cb 10730 "bps_rd_length" : {
5d9c884c
DM
10731 "alias" : "bps_rd_max_length"
10732 },
10733 "bps_rd_max_length" : {
de0983cb
DM
10734 "description" : "Maximum length of read I/O bursts in seconds.",
10735 "format_description" : "seconds",
10736 "minimum" : 1,
10737 "optional" : 1,
10738 "type" : "integer"
10739 },
44660702 10740 "bps_wr" : {
de0983cb 10741 "description" : "Maximum write speed in bytes per second.",
44660702 10742 "format_description" : "bps",
56122987 10743 "optional" : 1,
44660702 10744 "type" : "integer"
56122987 10745 },
de0983cb 10746 "bps_wr_length" : {
5d9c884c
DM
10747 "alias" : "bps_wr_max_length"
10748 },
10749 "bps_wr_max_length" : {
de0983cb
DM
10750 "description" : "Maximum length of write I/O bursts in seconds.",
10751 "format_description" : "seconds",
10752 "minimum" : 1,
10753 "optional" : 1,
10754 "type" : "integer"
10755 },
44660702
DM
10756 "cache" : {
10757 "description" : "The drive's cache mode",
10758 "enum" : [
10759 "none",
10760 "writethrough",
10761 "writeback",
10762 "unsafe",
10763 "directsync"
10764 ],
56122987 10765 "optional" : 1,
44660702
DM
10766 "type" : "string"
10767 },
10768 "cyls" : {
10769 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10770 "optional" : 1,
10771 "type" : "integer"
10772 },
10773 "detect_zeroes" : {
10774 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10775 "optional" : 1,
10776 "type" : "boolean"
10777 },
10778 "discard" : {
10779 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10780 "enum" : [
10781 "ignore",
10782 "on"
10783 ],
44660702
DM
10784 "optional" : 1,
10785 "type" : "string"
10786 },
10787 "file" : {
10788 "default_key" : 1,
10789 "description" : "The drive's backing volume.",
10790 "format" : "pve-volume-id-or-qm-path",
10791 "format_description" : "volume",
10792 "type" : "string"
56122987 10793 },
7aacca6f 10794 "format" : {
44660702 10795 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10796 "enum" : [
10797 "raw",
10798 "cow",
10799 "qcow",
10800 "qed",
10801 "qcow2",
10802 "vmdk",
10803 "cloop"
10804 ],
56122987 10805 "optional" : 1,
44660702 10806 "type" : "string"
56122987 10807 },
44660702
DM
10808 "heads" : {
10809 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10810 "optional" : 1,
44660702 10811 "type" : "integer"
56122987 10812 },
44660702 10813 "iops" : {
de0983cb 10814 "description" : "Maximum r/w I/O in operations per second.",
44660702 10815 "format_description" : "iops",
7aacca6f 10816 "optional" : 1,
44660702 10817 "type" : "integer"
56122987 10818 },
44660702 10819 "iops_max" : {
de0983cb 10820 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 10821 "format_description" : "iops",
7aacca6f 10822 "optional" : 1,
44660702 10823 "type" : "integer"
56122987 10824 },
de0983cb
DM
10825 "iops_max_length" : {
10826 "description" : "Maximum length of I/O bursts in seconds.",
10827 "format_description" : "seconds",
10828 "minimum" : 1,
10829 "optional" : 1,
10830 "type" : "integer"
10831 },
44660702 10832 "iops_rd" : {
de0983cb 10833 "description" : "Maximum read I/O in operations per second.",
44660702 10834 "format_description" : "iops",
56122987 10835 "optional" : 1,
44660702 10836 "type" : "integer"
56122987 10837 },
de0983cb 10838 "iops_rd_length" : {
5d9c884c 10839 "alias" : "iops_rd_max_length"
de0983cb 10840 },
44660702 10841 "iops_rd_max" : {
de0983cb 10842 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10843 "format_description" : "iops",
56122987 10844 "optional" : 1,
44660702 10845 "type" : "integer"
56122987 10846 },
5d9c884c
DM
10847 "iops_rd_max_length" : {
10848 "description" : "Maximum length of read I/O bursts in seconds.",
10849 "format_description" : "seconds",
10850 "minimum" : 1,
10851 "optional" : 1,
10852 "type" : "integer"
10853 },
44660702 10854 "iops_wr" : {
de0983cb 10855 "description" : "Maximum write I/O in operations per second.",
44660702 10856 "format_description" : "iops",
56122987 10857 "optional" : 1,
44660702 10858 "type" : "integer"
56122987 10859 },
de0983cb 10860 "iops_wr_length" : {
5d9c884c 10861 "alias" : "iops_wr_max_length"
de0983cb 10862 },
44660702 10863 "iops_wr_max" : {
de0983cb 10864 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 10865 "format_description" : "iops",
44660702
DM
10866 "optional" : 1,
10867 "type" : "integer"
7aacca6f 10868 },
5d9c884c
DM
10869 "iops_wr_max_length" : {
10870 "description" : "Maximum length of write I/O bursts in seconds.",
10871 "format_description" : "seconds",
10872 "minimum" : 1,
10873 "optional" : 1,
10874 "type" : "integer"
10875 },
7aacca6f 10876 "iothread" : {
44660702 10877 "description" : "Whether to use iothreads for this drive",
56122987 10878 "optional" : 1,
44660702 10879 "type" : "boolean"
56122987 10880 },
44660702 10881 "mbps" : {
de0983cb 10882 "description" : "Maximum r/w speed in megabytes per second.",
44660702 10883 "format_description" : "mbps",
56122987 10884 "optional" : 1,
44660702 10885 "type" : "number"
56122987 10886 },
44660702 10887 "mbps_max" : {
de0983cb 10888 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10889 "format_description" : "mbps",
56122987 10890 "optional" : 1,
44660702 10891 "type" : "number"
56122987 10892 },
44660702 10893 "mbps_rd" : {
de0983cb 10894 "description" : "Maximum read speed in megabytes per second.",
44660702 10895 "format_description" : "mbps",
7aacca6f 10896 "optional" : 1,
44660702 10897 "type" : "number"
56122987 10898 },
44660702 10899 "mbps_rd_max" : {
de0983cb 10900 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10901 "format_description" : "mbps",
7aacca6f 10902 "optional" : 1,
44660702 10903 "type" : "number"
7aacca6f 10904 },
44660702 10905 "mbps_wr" : {
de0983cb 10906 "description" : "Maximum write speed in megabytes per second.",
44660702 10907 "format_description" : "mbps",
56122987 10908 "optional" : 1,
44660702 10909 "type" : "number"
56122987 10910 },
44660702 10911 "mbps_wr_max" : {
de0983cb 10912 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10913 "format_description" : "mbps",
56122987 10914 "optional" : 1,
44660702
DM
10915 "type" : "number"
10916 },
10917 "media" : {
10918 "default" : "disk",
10919 "description" : "The drive's media type.",
7aacca6f 10920 "enum" : [
44660702
DM
10921 "cdrom",
10922 "disk"
7aacca6f 10923 ],
56122987 10924 "optional" : 1,
44660702 10925 "type" : "string"
56122987 10926 },
7aacca6f 10927 "queues" : {
44660702 10928 "description" : "Number of queues.",
7aacca6f 10929 "minimum" : 2,
7aacca6f
DM
10930 "optional" : 1,
10931 "type" : "integer"
56122987 10932 },
5d9c884c
DM
10933 "replicate" : {
10934 "default" : 1,
10935 "description" : "Whether the drive should considered for replication jobs.",
10936 "optional" : 1,
10937 "type" : "boolean"
10938 },
10939 "rerror" : {
10940 "description" : "Read error action.",
10941 "enum" : [
10942 "ignore",
10943 "report",
10944 "stop"
10945 ],
10946 "optional" : 1,
10947 "type" : "string"
10948 },
52e44c50
FG
10949 "scsiblock" : {
10950 "default" : 0,
10951 "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",
10952 "optional" : 1,
10953 "type" : "boolean"
10954 },
44660702
DM
10955 "secs" : {
10956 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10957 "optional" : 1,
44660702 10958 "type" : "integer"
56122987 10959 },
44660702
DM
10960 "serial" : {
10961 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10962 "format" : "urlencoded",
10963 "format_description" : "serial",
10964 "maxLength" : 60,
56122987 10965 "optional" : 1,
44660702 10966 "type" : "string"
56122987 10967 },
27a7acb2
DM
10968 "shared" : {
10969 "default" : 0,
10970 "description" : "Mark this locally-managed volume as available on all nodes",
10971 "optional" : 1,
10972 "type" : "boolean",
10973 "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!"
10974 },
44660702
DM
10975 "size" : {
10976 "description" : "Disk size. This is purely informational and has no effect.",
10977 "format" : "disk-size",
f004f5b9 10978 "format_description" : "DiskSize",
44660702
DM
10979 "optional" : 1,
10980 "type" : "string"
10981 },
10982 "snapshot" : {
27a7acb2 10983 "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 10984 "optional" : 1,
44660702
DM
10985 "type" : "boolean"
10986 },
10987 "trans" : {
10988 "description" : "Force disk geometry bios translation mode.",
56122987 10989 "enum" : [
44660702
DM
10990 "none",
10991 "lba",
10992 "auto"
56122987 10993 ],
44660702
DM
10994 "optional" : 1,
10995 "type" : "string"
10996 },
10997 "volume" : {
10998 "alias" : "file"
56122987 10999 },
7aacca6f 11000 "werror" : {
7aacca6f
DM
11001 "description" : "Write error action.",
11002 "enum" : [
11003 "enospc",
11004 "ignore",
11005 "report",
11006 "stop"
44660702 11007 ],
56122987 11008 "optional" : 1,
7aacca6f 11009 "type" : "string"
56122987 11010 }
44660702 11011 },
56122987 11012 "optional" : 1,
4bd7df8b 11013 "type" : "string",
27a7acb2 11014 "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
11015 },
11016 "scsihw" : {
44660702 11017 "default" : "lsi",
c2993fe5 11018 "description" : "SCSI controller model",
56122987
DM
11019 "enum" : [
11020 "lsi",
11021 "lsi53c810",
11022 "virtio-scsi-pci",
11023 "virtio-scsi-single",
11024 "megasas",
11025 "pvscsi"
11026 ],
11027 "optional" : 1,
56122987
DM
11028 "type" : "string"
11029 },
27a7acb2
DM
11030 "searchdomain" : {
11031 "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.",
11032 "optional" : 1,
11033 "type" : "string",
11034 "typetext" : "<string>"
11035 },
44660702 11036 "serial[n]" : {
c2993fe5 11037 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 11038 "optional" : 1,
44660702 11039 "pattern" : "(/dev/.+|socket)",
c2993fe5 11040 "type" : "string",
57b78691 11041 "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 11042 },
44660702
DM
11043 "shares" : {
11044 "default" : 1000,
11045 "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",
11046 "maximum" : 50000,
11047 "minimum" : 0,
7aacca6f 11048 "optional" : 1,
4bd7df8b 11049 "type" : "integer",
013dc89f 11050 "typetext" : "<integer> (0 - 50000)"
56122987 11051 },
7aacca6f
DM
11052 "skiplock" : {
11053 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11054 "optional" : 1,
013dc89f
DM
11055 "type" : "boolean",
11056 "typetext" : "<boolean>"
56122987 11057 },
44660702
DM
11058 "smbios1" : {
11059 "description" : "Specify SMBIOS type 1 fields.",
11060 "format" : "pve-qm-smbios1",
11061 "maxLength" : 256,
56122987 11062 "optional" : 1,
4bd7df8b
DM
11063 "type" : "string",
11064 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 11065 },
44660702
DM
11066 "smp" : {
11067 "default" : 1,
11068 "description" : "The number of CPUs. Please use option -sockets instead.",
11069 "minimum" : 1,
56122987 11070 "optional" : 1,
4bd7df8b 11071 "type" : "integer",
013dc89f 11072 "typetext" : "<integer> (1 - N)"
56122987 11073 },
44660702
DM
11074 "sockets" : {
11075 "default" : 1,
11076 "description" : "The number of CPU sockets.",
11077 "minimum" : 1,
56122987 11078 "optional" : 1,
4bd7df8b 11079 "type" : "integer",
013dc89f 11080 "typetext" : "<integer> (1 - N)"
56122987 11081 },
27a7acb2
DM
11082 "sshkeys" : {
11083 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
11084 "format" : "urlencoded",
11085 "optional" : 1,
11086 "type" : "string",
11087 "typetext" : "<string>"
11088 },
44660702
DM
11089 "startdate" : {
11090 "default" : "now",
11091 "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'.",
11092 "optional" : 1,
11093 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 11094 "type" : "string",
44660702
DM
11095 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
11096 },
11097 "startup" : {
11098 "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.",
11099 "format" : "pve-startup-order",
7aacca6f 11100 "optional" : 1,
44660702
DM
11101 "type" : "string",
11102 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 11103 },
44660702
DM
11104 "tablet" : {
11105 "default" : 1,
c2993fe5 11106 "description" : "Enable/disable the USB tablet device.",
7aacca6f 11107 "optional" : 1,
c2993fe5 11108 "type" : "boolean",
013dc89f 11109 "typetext" : "<boolean>",
c2993fe5 11110 "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 11111 },
44660702
DM
11112 "tdf" : {
11113 "default" : 0,
11114 "description" : "Enable/disable time drift fix.",
7aacca6f 11115 "optional" : 1,
013dc89f
DM
11116 "type" : "boolean",
11117 "typetext" : "<boolean>"
7aacca6f 11118 },
44660702
DM
11119 "template" : {
11120 "default" : 0,
11121 "description" : "Enable/disable Template.",
7aacca6f 11122 "optional" : 1,
013dc89f
DM
11123 "type" : "boolean",
11124 "typetext" : "<boolean>"
7aacca6f 11125 },
44660702 11126 "unused[n]" : {
c2993fe5 11127 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 11128 "format" : "pve-volume-id",
7aacca6f 11129 "optional" : 1,
013dc89f
DM
11130 "type" : "string",
11131 "typetext" : "<string>"
7aacca6f 11132 },
44660702 11133 "usb[n]" : {
c2993fe5 11134 "description" : "Configure an USB device (n is 0 to 4).",
56122987 11135 "format" : {
44660702
DM
11136 "host" : {
11137 "default_key" : 1,
c2993fe5 11138 "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
11139 "format" : "pve-qm-usb-device",
11140 "format_description" : "HOSTUSBDEVICE|spice",
11141 "type" : "string"
7aacca6f 11142 },
44660702 11143 "usb3" : {
c2993fe5
DM
11144 "default" : 0,
11145 "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 11146 "optional" : 1,
44660702 11147 "type" : "boolean"
7aacca6f 11148 }
44660702 11149 },
7aacca6f 11150 "optional" : 1,
4bd7df8b
DM
11151 "type" : "string",
11152 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 11153 },
44660702 11154 "vcpus" : {
7aacca6f 11155 "default" : 0,
44660702
DM
11156 "description" : "Number of hotplugged vcpus.",
11157 "minimum" : 1,
7aacca6f 11158 "optional" : 1,
4bd7df8b 11159 "type" : "integer",
013dc89f 11160 "typetext" : "<integer> (1 - N)"
7aacca6f 11161 },
44660702 11162 "vga" : {
c2993fe5 11163 "description" : "Select the VGA type.",
44660702
DM
11164 "enum" : [
11165 "std",
11166 "cirrus",
11167 "vmware",
11168 "qxl",
11169 "serial0",
11170 "serial1",
11171 "serial2",
11172 "serial3",
11173 "qxl2",
11174 "qxl3",
11175 "qxl4"
11176 ],
7aacca6f 11177 "optional" : 1,
c2993fe5
DM
11178 "type" : "string",
11179 "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 11180 },
44660702
DM
11181 "virtio[n]" : {
11182 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 11183 "format" : {
7aacca6f 11184 "aio" : {
7aacca6f 11185 "description" : "AIO type to use.",
56122987 11186 "enum" : [
7aacca6f
DM
11187 "native",
11188 "threads"
7aacca6f 11189 ],
44660702
DM
11190 "optional" : 1,
11191 "type" : "string"
56122987 11192 },
44660702
DM
11193 "backup" : {
11194 "description" : "Whether the drive should be included when making backups.",
56122987 11195 "optional" : 1,
44660702 11196 "type" : "boolean"
7aacca6f 11197 },
44660702 11198 "bps" : {
de0983cb 11199 "description" : "Maximum r/w speed in bytes per second.",
44660702 11200 "format_description" : "bps",
7aacca6f 11201 "optional" : 1,
44660702 11202 "type" : "integer"
56122987 11203 },
de0983cb
DM
11204 "bps_max_length" : {
11205 "description" : "Maximum length of I/O bursts in seconds.",
11206 "format_description" : "seconds",
11207 "minimum" : 1,
11208 "optional" : 1,
11209 "type" : "integer"
11210 },
56122987 11211 "bps_rd" : {
de0983cb 11212 "description" : "Maximum read speed in bytes per second.",
44660702 11213 "format_description" : "bps",
56122987 11214 "optional" : 1,
7aacca6f 11215 "type" : "integer"
56122987 11216 },
de0983cb 11217 "bps_rd_length" : {
5d9c884c
DM
11218 "alias" : "bps_rd_max_length"
11219 },
11220 "bps_rd_max_length" : {
de0983cb
DM
11221 "description" : "Maximum length of read I/O bursts in seconds.",
11222 "format_description" : "seconds",
11223 "minimum" : 1,
11224 "optional" : 1,
11225 "type" : "integer"
11226 },
44660702 11227 "bps_wr" : {
de0983cb 11228 "description" : "Maximum write speed in bytes per second.",
44660702 11229 "format_description" : "bps",
56122987 11230 "optional" : 1,
7aacca6f 11231 "type" : "integer"
56122987 11232 },
de0983cb 11233 "bps_wr_length" : {
5d9c884c
DM
11234 "alias" : "bps_wr_max_length"
11235 },
11236 "bps_wr_max_length" : {
de0983cb
DM
11237 "description" : "Maximum length of write I/O bursts in seconds.",
11238 "format_description" : "seconds",
11239 "minimum" : 1,
11240 "optional" : 1,
11241 "type" : "integer"
11242 },
7aacca6f 11243 "cache" : {
44660702 11244 "description" : "The drive's cache mode",
7aacca6f
DM
11245 "enum" : [
11246 "none",
11247 "writethrough",
11248 "writeback",
11249 "unsafe",
11250 "directsync"
11251 ],
56122987 11252 "optional" : 1,
44660702 11253 "type" : "string"
7aacca6f 11254 },
44660702
DM
11255 "cyls" : {
11256 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11257 "optional" : 1,
11258 "type" : "integer"
11259 },
11260 "detect_zeroes" : {
11261 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
11262 "optional" : 1,
11263 "type" : "boolean"
11264 },
11265 "discard" : {
11266 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 11267 "enum" : [
44660702
DM
11268 "ignore",
11269 "on"
56122987
DM
11270 ],
11271 "optional" : 1,
44660702 11272 "type" : "string"
56122987 11273 },
44660702
DM
11274 "file" : {
11275 "default_key" : 1,
11276 "description" : "The drive's backing volume.",
11277 "format" : "pve-volume-id-or-qm-path",
11278 "format_description" : "volume",
11279 "type" : "string"
11280 },
11281 "format" : {
11282 "description" : "The drive's backing file's data format.",
11283 "enum" : [
11284 "raw",
11285 "cow",
11286 "qcow",
11287 "qed",
11288 "qcow2",
11289 "vmdk",
11290 "cloop"
11291 ],
56122987 11292 "optional" : 1,
44660702 11293 "type" : "string"
56122987 11294 },
44660702
DM
11295 "heads" : {
11296 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11297 "optional" : 1,
11298 "type" : "integer"
11299 },
11300 "iops" : {
de0983cb 11301 "description" : "Maximum r/w I/O in operations per second.",
44660702 11302 "format_description" : "iops",
56122987 11303 "optional" : 1,
44660702
DM
11304 "type" : "integer"
11305 },
11306 "iops_max" : {
de0983cb 11307 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11308 "format_description" : "iops",
11309 "optional" : 1,
11310 "type" : "integer"
56122987 11311 },
de0983cb
DM
11312 "iops_max_length" : {
11313 "description" : "Maximum length of I/O bursts in seconds.",
11314 "format_description" : "seconds",
11315 "minimum" : 1,
11316 "optional" : 1,
11317 "type" : "integer"
11318 },
7aacca6f 11319 "iops_rd" : {
de0983cb 11320 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11321 "format_description" : "iops",
7aacca6f 11322 "optional" : 1,
44660702 11323 "type" : "integer"
56122987 11324 },
de0983cb 11325 "iops_rd_length" : {
5d9c884c 11326 "alias" : "iops_rd_max_length"
de0983cb 11327 },
44660702 11328 "iops_rd_max" : {
de0983cb 11329 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11330 "format_description" : "iops",
11331 "optional" : 1,
11332 "type" : "integer"
11333 },
5d9c884c
DM
11334 "iops_rd_max_length" : {
11335 "description" : "Maximum length of read I/O bursts in seconds.",
11336 "format_description" : "seconds",
11337 "minimum" : 1,
11338 "optional" : 1,
11339 "type" : "integer"
11340 },
44660702 11341 "iops_wr" : {
de0983cb 11342 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11343 "format_description" : "iops",
11344 "optional" : 1,
11345 "type" : "integer"
11346 },
de0983cb 11347 "iops_wr_length" : {
5d9c884c 11348 "alias" : "iops_wr_max_length"
de0983cb 11349 },
44660702 11350 "iops_wr_max" : {
de0983cb 11351 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11352 "format_description" : "iops",
11353 "optional" : 1,
11354 "type" : "integer"
11355 },
5d9c884c
DM
11356 "iops_wr_max_length" : {
11357 "description" : "Maximum length of write I/O bursts in seconds.",
11358 "format_description" : "seconds",
11359 "minimum" : 1,
11360 "optional" : 1,
11361 "type" : "integer"
11362 },
44660702
DM
11363 "iothread" : {
11364 "description" : "Whether to use iothreads for this drive",
44660702
DM
11365 "optional" : 1,
11366 "type" : "boolean"
11367 },
11368 "mbps" : {
de0983cb 11369 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11370 "format_description" : "mbps",
7aacca6f 11371 "optional" : 1,
44660702 11372 "type" : "number"
7aacca6f
DM
11373 },
11374 "mbps_max" : {
de0983cb 11375 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11376 "format_description" : "mbps",
56122987 11377 "optional" : 1,
44660702 11378 "type" : "number"
56122987 11379 },
44660702 11380 "mbps_rd" : {
de0983cb 11381 "description" : "Maximum read speed in megabytes per second.",
44660702 11382 "format_description" : "mbps",
56122987 11383 "optional" : 1,
44660702 11384 "type" : "number"
56122987 11385 },
44660702 11386 "mbps_rd_max" : {
de0983cb 11387 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11388 "format_description" : "mbps",
11389 "optional" : 1,
11390 "type" : "number"
11391 },
11392 "mbps_wr" : {
de0983cb 11393 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11394 "format_description" : "mbps",
11395 "optional" : 1,
11396 "type" : "number"
11397 },
11398 "mbps_wr_max" : {
de0983cb 11399 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11400 "format_description" : "mbps",
11401 "optional" : 1,
11402 "type" : "number"
11403 },
11404 "media" : {
11405 "default" : "disk",
11406 "description" : "The drive's media type.",
56122987 11407 "enum" : [
44660702
DM
11408 "cdrom",
11409 "disk"
56122987
DM
11410 ],
11411 "optional" : 1,
44660702 11412 "type" : "string"
56122987 11413 },
5d9c884c
DM
11414 "replicate" : {
11415 "default" : 1,
11416 "description" : "Whether the drive should considered for replication jobs.",
11417 "optional" : 1,
11418 "type" : "boolean"
11419 },
44660702
DM
11420 "rerror" : {
11421 "description" : "Read error action.",
11422 "enum" : [
11423 "ignore",
11424 "report",
11425 "stop"
11426 ],
56122987 11427 "optional" : 1,
44660702 11428 "type" : "string"
56122987 11429 },
44660702
DM
11430 "secs" : {
11431 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11432 "optional" : 1,
44660702 11433 "type" : "integer"
56122987 11434 },
7aacca6f
DM
11435 "serial" : {
11436 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 11437 "format" : "urlencoded",
44660702 11438 "format_description" : "serial",
7aacca6f 11439 "maxLength" : 60,
44660702
DM
11440 "optional" : 1,
11441 "type" : "string"
56122987 11442 },
27a7acb2
DM
11443 "shared" : {
11444 "default" : 0,
11445 "description" : "Mark this locally-managed volume as available on all nodes",
11446 "optional" : 1,
11447 "type" : "boolean",
11448 "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!"
11449 },
44660702
DM
11450 "size" : {
11451 "description" : "Disk size. This is purely informational and has no effect.",
11452 "format" : "disk-size",
f004f5b9 11453 "format_description" : "DiskSize",
44660702
DM
11454 "optional" : 1,
11455 "type" : "string"
56122987 11456 },
44660702 11457 "snapshot" : {
27a7acb2 11458 "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 11459 "optional" : 1,
44660702 11460 "type" : "boolean"
56122987 11461 },
44660702
DM
11462 "trans" : {
11463 "description" : "Force disk geometry bios translation mode.",
11464 "enum" : [
11465 "none",
11466 "lba",
11467 "auto"
11468 ],
7aacca6f 11469 "optional" : 1,
44660702 11470 "type" : "string"
7aacca6f 11471 },
44660702
DM
11472 "volume" : {
11473 "alias" : "file"
11474 },
11475 "werror" : {
11476 "description" : "Write error action.",
11477 "enum" : [
11478 "enospc",
11479 "ignore",
11480 "report",
11481 "stop"
11482 ],
7aacca6f 11483 "optional" : 1,
44660702 11484 "type" : "string"
56122987
DM
11485 }
11486 },
7aacca6f 11487 "optional" : 1,
4bd7df8b 11488 "type" : "string",
27a7acb2 11489 "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 11490 },
44660702
DM
11491 "vmid" : {
11492 "description" : "The (unique) ID of the VM.",
11493 "format" : "pve-vmid",
11494 "minimum" : 1,
4bd7df8b 11495 "type" : "integer",
013dc89f 11496 "typetext" : "<integer> (1 - N)"
56122987 11497 },
2489d6df
WB
11498 "vmstatestorage" : {
11499 "description" : "Default storage for VM state volumes/files.",
11500 "format" : "pve-storage-id",
11501 "optional" : 1,
11502 "type" : "string",
11503 "typetext" : "<string>"
11504 },
44660702 11505 "watchdog" : {
c2993fe5 11506 "description" : "Create a virtual hardware watchdog device.",
44660702 11507 "format" : "pve-qm-watchdog",
56122987 11508 "optional" : 1,
c2993fe5 11509 "type" : "string",
013dc89f 11510 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 11511 "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 11512 }
7aacca6f 11513 }
56122987 11514 },
56122987
DM
11515 "permissions" : {
11516 "check" : [
11517 "perm",
11518 "/vms/{vmid}",
11519 [
11520 "VM.Config.Disk",
11521 "VM.Config.CDROM",
11522 "VM.Config.CPU",
11523 "VM.Config.Memory",
11524 "VM.Config.Network",
11525 "VM.Config.HWType",
11526 "VM.Config.Options"
11527 ],
11528 "any",
11529 1
11530 ]
11531 },
44660702 11532 "protected" : 1,
7aacca6f 11533 "proxyto" : "node",
56122987 11534 "returns" : {
7aacca6f
DM
11535 "type" : "null"
11536 }
11537 }
11538 },
44660702
DM
11539 "leaf" : 1,
11540 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
11541 "text" : "config"
11542 },
11543 {
11544 "info" : {
56122987 11545 "GET" : {
44660702 11546 "description" : "Get virtual machine configuration, including pending changes.",
56122987 11547 "method" : "GET",
44660702 11548 "name" : "vm_pending",
7aacca6f 11549 "parameters" : {
44660702 11550 "additionalProperties" : 0,
7aacca6f
DM
11551 "properties" : {
11552 "node" : {
7aacca6f 11553 "description" : "The cluster node name.",
44660702 11554 "format" : "pve-node",
013dc89f
DM
11555 "type" : "string",
11556 "typetext" : "<string>"
7aacca6f
DM
11557 },
11558 "vmid" : {
44660702 11559 "description" : "The (unique) ID of the VM.",
7aacca6f 11560 "format" : "pve-vmid",
44660702 11561 "minimum" : 1,
4bd7df8b 11562 "type" : "integer",
013dc89f 11563 "typetext" : "<integer> (1 - N)"
7aacca6f 11564 }
44660702 11565 }
7aacca6f 11566 },
56122987
DM
11567 "permissions" : {
11568 "check" : [
11569 "perm",
11570 "/vms/{vmid}",
11571 [
11572 "VM.Audit"
11573 ]
11574 ]
11575 },
7aacca6f 11576 "proxyto" : "node",
44660702
DM
11577 "returns" : {
11578 "items" : {
11579 "properties" : {
11580 "delete" : {
11581 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
11582 "maximum" : 2,
11583 "minimum" : 0,
11584 "optional" : 1,
11585 "type" : "integer"
11586 },
11587 "key" : {
11588 "description" : "Configuration option name.",
11589 "type" : "string"
11590 },
11591 "pending" : {
11592 "description" : "Pending value.",
11593 "optional" : 1,
11594 "type" : "string"
11595 },
11596 "value" : {
11597 "description" : "Current value.",
11598 "optional" : 1,
11599 "type" : "string"
11600 }
11601 },
11602 "type" : "object"
11603 },
11604 "type" : "array"
11605 }
56122987
DM
11606 }
11607 },
7aacca6f 11608 "leaf" : 1,
44660702
DM
11609 "path" : "/nodes/{node}/qemu/{vmid}/pending",
11610 "text" : "pending"
56122987
DM
11611 },
11612 {
56122987
DM
11613 "info" : {
11614 "PUT" : {
7aacca6f 11615 "description" : "Unlink/delete disk images.",
7aacca6f 11616 "method" : "PUT",
7aacca6f 11617 "name" : "unlink",
56122987 11618 "parameters" : {
44660702 11619 "additionalProperties" : 0,
56122987 11620 "properties" : {
7aacca6f 11621 "force" : {
44660702 11622 "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 11623 "optional" : 1,
013dc89f
DM
11624 "type" : "boolean",
11625 "typetext" : "<boolean>"
7aacca6f 11626 },
56122987
DM
11627 "idlist" : {
11628 "description" : "A list of disk IDs you want to delete.",
44660702 11629 "format" : "pve-configid-list",
013dc89f
DM
11630 "type" : "string",
11631 "typetext" : "<string>"
44660702
DM
11632 },
11633 "node" : {
11634 "description" : "The cluster node name.",
11635 "format" : "pve-node",
013dc89f
DM
11636 "type" : "string",
11637 "typetext" : "<string>"
56122987
DM
11638 },
11639 "vmid" : {
7aacca6f 11640 "description" : "The (unique) ID of the VM.",
44660702 11641 "format" : "pve-vmid",
7aacca6f 11642 "minimum" : 1,
4bd7df8b 11643 "type" : "integer",
013dc89f 11644 "typetext" : "<integer> (1 - N)"
56122987 11645 }
44660702
DM
11646 }
11647 },
11648 "permissions" : {
11649 "check" : [
11650 "perm",
11651 "/vms/{vmid}",
11652 [
11653 "VM.Config.Disk"
11654 ]
11655 ]
11656 },
11657 "protected" : 1,
11658 "proxyto" : "node",
11659 "returns" : {
11660 "type" : "null"
7aacca6f 11661 }
56122987 11662 }
7aacca6f 11663 },
44660702 11664 "leaf" : 1,
7aacca6f 11665 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 11666 "text" : "unlink"
56122987
DM
11667 },
11668 {
56122987
DM
11669 "info" : {
11670 "POST" : {
7aacca6f 11671 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
11672 "method" : "POST",
11673 "name" : "vncproxy",
56122987 11674 "parameters" : {
44660702 11675 "additionalProperties" : 0,
56122987 11676 "properties" : {
44660702
DM
11677 "node" : {
11678 "description" : "The cluster node name.",
11679 "format" : "pve-node",
013dc89f
DM
11680 "type" : "string",
11681 "typetext" : "<string>"
44660702 11682 },
56122987 11683 "vmid" : {
7aacca6f 11684 "description" : "The (unique) ID of the VM.",
44660702 11685 "format" : "pve-vmid",
56122987 11686 "minimum" : 1,
4bd7df8b 11687 "type" : "integer",
013dc89f 11688 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
11689 },
11690 "websocket" : {
11691 "description" : "starts websockify instead of vncproxy",
44660702 11692 "optional" : 1,
013dc89f
DM
11693 "type" : "boolean",
11694 "typetext" : "<boolean>"
56122987 11695 }
44660702 11696 }
56122987 11697 },
44660702
DM
11698 "permissions" : {
11699 "check" : [
11700 "perm",
11701 "/vms/{vmid}",
11702 [
11703 "VM.Console"
11704 ]
11705 ]
11706 },
11707 "protected" : 1,
56122987 11708 "returns" : {
7aacca6f 11709 "additionalProperties" : 0,
56122987 11710 "properties" : {
7aacca6f 11711 "cert" : {
56122987
DM
11712 "type" : "string"
11713 },
56122987
DM
11714 "port" : {
11715 "type" : "integer"
11716 },
7aacca6f
DM
11717 "ticket" : {
11718 "type" : "string"
11719 },
44660702
DM
11720 "upid" : {
11721 "type" : "string"
11722 },
7aacca6f 11723 "user" : {
56122987
DM
11724 "type" : "string"
11725 }
7aacca6f 11726 }
56122987
DM
11727 }
11728 }
11729 },
44660702
DM
11730 "leaf" : 1,
11731 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 11732 "text" : "vncproxy"
56122987 11733 },
35a75dd3
DM
11734 {
11735 "info" : {
11736 "POST" : {
11737 "description" : "Creates a TCP proxy connections.",
11738 "method" : "POST",
11739 "name" : "termproxy",
11740 "parameters" : {
11741 "additionalProperties" : 0,
11742 "properties" : {
11743 "node" : {
11744 "description" : "The cluster node name.",
11745 "format" : "pve-node",
11746 "type" : "string",
11747 "typetext" : "<string>"
11748 },
11749 "serial" : {
11750 "description" : "opens a serial terminal (defaults to display)",
11751 "enum" : [
11752 "serial0",
11753 "serial1",
11754 "serial2",
11755 "serial3"
11756 ],
11757 "optional" : 1,
11758 "type" : "string"
11759 },
11760 "vmid" : {
11761 "description" : "The (unique) ID of the VM.",
11762 "format" : "pve-vmid",
11763 "minimum" : 1,
11764 "type" : "integer",
11765 "typetext" : "<integer> (1 - N)"
11766 }
11767 }
11768 },
11769 "permissions" : {
11770 "check" : [
11771 "perm",
11772 "/vms/{vmid}",
11773 [
11774 "VM.Console"
11775 ]
11776 ]
11777 },
11778 "protected" : 1,
11779 "returns" : {
11780 "additionalProperties" : 0,
11781 "properties" : {
11782 "port" : {
11783 "type" : "integer"
11784 },
11785 "ticket" : {
11786 "type" : "string"
11787 },
11788 "upid" : {
11789 "type" : "string"
11790 },
11791 "user" : {
11792 "type" : "string"
11793 }
11794 }
11795 }
11796 }
11797 },
11798 "leaf" : 1,
11799 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
11800 "text" : "termproxy"
11801 },
56122987 11802 {
56122987
DM
11803 "info" : {
11804 "GET" : {
44660702
DM
11805 "description" : "Opens a weksocket for VNC traffic.",
11806 "method" : "GET",
11807 "name" : "vncwebsocket",
56122987 11808 "parameters" : {
44660702 11809 "additionalProperties" : 0,
56122987 11810 "properties" : {
7aacca6f 11811 "node" : {
7aacca6f 11812 "description" : "The cluster node name.",
44660702 11813 "format" : "pve-node",
013dc89f
DM
11814 "type" : "string",
11815 "typetext" : "<string>"
7aacca6f 11816 },
44660702
DM
11817 "port" : {
11818 "description" : "Port number returned by previous vncproxy call.",
11819 "maximum" : 5999,
11820 "minimum" : 5900,
4bd7df8b 11821 "type" : "integer",
013dc89f 11822 "typetext" : "<integer> (5900 - 5999)"
56122987 11823 },
7aacca6f 11824 "vmid" : {
44660702 11825 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11826 "format" : "pve-vmid",
11827 "minimum" : 1,
4bd7df8b 11828 "type" : "integer",
013dc89f 11829 "typetext" : "<integer> (1 - N)"
44660702
DM
11830 },
11831 "vncticket" : {
11832 "description" : "Ticket from previous call to vncproxy.",
11833 "maxLength" : 512,
013dc89f
DM
11834 "type" : "string",
11835 "typetext" : "<string>"
56122987 11836 }
44660702
DM
11837 }
11838 },
11839 "permissions" : {
11840 "check" : [
11841 "perm",
11842 "/vms/{vmid}",
11843 [
11844 "VM.Console"
11845 ]
11846 ],
11847 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 11848 },
7aacca6f
DM
11849 "returns" : {
11850 "properties" : {
11851 "port" : {
11852 "type" : "string"
11853 }
11854 },
11855 "type" : "object"
11856 }
56122987
DM
11857 }
11858 },
7aacca6f 11859 "leaf" : 1,
44660702
DM
11860 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
11861 "text" : "vncwebsocket"
56122987
DM
11862 },
11863 {
11864 "info" : {
11865 "POST" : {
44660702
DM
11866 "description" : "Returns a SPICE configuration to connect to the VM.",
11867 "method" : "POST",
7aacca6f
DM
11868 "name" : "spiceproxy",
11869 "parameters" : {
44660702 11870 "additionalProperties" : 0,
56122987 11871 "properties" : {
44660702
DM
11872 "node" : {
11873 "description" : "The cluster node name.",
11874 "format" : "pve-node",
013dc89f
DM
11875 "type" : "string",
11876 "typetext" : "<string>"
44660702 11877 },
7aacca6f 11878 "proxy" : {
44660702 11879 "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 11880 "format" : "address",
7aacca6f 11881 "optional" : 1,
013dc89f
DM
11882 "type" : "string",
11883 "typetext" : "<string>"
56122987 11884 },
7aacca6f 11885 "vmid" : {
44660702 11886 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11887 "format" : "pve-vmid",
11888 "minimum" : 1,
4bd7df8b 11889 "type" : "integer",
013dc89f 11890 "typetext" : "<integer> (1 - N)"
56122987 11891 }
44660702 11892 }
56122987 11893 },
56122987
DM
11894 "permissions" : {
11895 "check" : [
11896 "perm",
11897 "/vms/{vmid}",
11898 [
11899 "VM.Console"
11900 ]
11901 ]
11902 },
44660702
DM
11903 "protected" : 1,
11904 "proxyto" : "node",
7aacca6f 11905 "returns" : {
44660702
DM
11906 "additionalProperties" : 1,
11907 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 11908 "properties" : {
44660702 11909 "host" : {
7aacca6f
DM
11910 "type" : "string"
11911 },
7aacca6f
DM
11912 "password" : {
11913 "type" : "string"
11914 },
44660702 11915 "proxy" : {
7aacca6f
DM
11916 "type" : "string"
11917 },
44660702
DM
11918 "tls-port" : {
11919 "type" : "integer"
11920 },
11921 "type" : {
7aacca6f
DM
11922 "type" : "string"
11923 }
44660702 11924 }
7aacca6f
DM
11925 }
11926 }
11927 },
44660702
DM
11928 "leaf" : 1,
11929 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
11930 "text" : "spiceproxy"
11931 },
11932 {
56122987
DM
11933 "children" : [
11934 {
56122987
DM
11935 "info" : {
11936 "GET" : {
44660702
DM
11937 "description" : "Get virtual machine status.",
11938 "method" : "GET",
11939 "name" : "vm_status",
56122987 11940 "parameters" : {
44660702 11941 "additionalProperties" : 0,
56122987 11942 "properties" : {
44660702
DM
11943 "node" : {
11944 "description" : "The cluster node name.",
11945 "format" : "pve-node",
013dc89f
DM
11946 "type" : "string",
11947 "typetext" : "<string>"
44660702 11948 },
56122987 11949 "vmid" : {
44660702 11950 "description" : "The (unique) ID of the VM.",
7aacca6f 11951 "format" : "pve-vmid",
56122987 11952 "minimum" : 1,
4bd7df8b 11953 "type" : "integer",
013dc89f 11954 "typetext" : "<integer> (1 - N)"
56122987 11955 }
44660702 11956 }
56122987
DM
11957 },
11958 "permissions" : {
11959 "check" : [
11960 "perm",
11961 "/vms/{vmid}",
11962 [
11963 "VM.Audit"
11964 ]
11965 ]
11966 },
44660702 11967 "protected" : 1,
7aacca6f 11968 "proxyto" : "node",
56122987
DM
11969 "returns" : {
11970 "type" : "object"
7aacca6f 11971 }
56122987 11972 }
7aacca6f 11973 },
7aacca6f 11974 "leaf" : 1,
44660702
DM
11975 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
11976 "text" : "current"
56122987
DM
11977 },
11978 {
56122987
DM
11979 "info" : {
11980 "POST" : {
44660702 11981 "description" : "Start virtual machine.",
56122987 11982 "method" : "POST",
44660702 11983 "name" : "vm_start",
56122987 11984 "parameters" : {
44660702 11985 "additionalProperties" : 0,
56122987 11986 "properties" : {
44660702
DM
11987 "machine" : {
11988 "description" : "Specific the Qemu machine type.",
11989 "maxLength" : 40,
11990 "optional" : 1,
11991 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11992 "type" : "string"
11993 },
11994 "migratedfrom" : {
11995 "description" : "The cluster node name.",
11996 "format" : "pve-node",
56122987 11997 "optional" : 1,
013dc89f
DM
11998 "type" : "string",
11999 "typetext" : "<string>"
56122987 12000 },
de0983cb
DM
12001 "migration_network" : {
12002 "description" : "CIDR of the (sub) network that is used for migration.",
12003 "format" : "CIDR",
12004 "optional" : 1,
013dc89f
DM
12005 "type" : "string",
12006 "typetext" : "<string>"
de0983cb
DM
12007 },
12008 "migration_type" : {
12009 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
12010 "enum" : [
12011 "secure",
12012 "insecure"
12013 ],
12014 "optional" : 1,
12015 "type" : "string"
12016 },
7aacca6f 12017 "node" : {
7aacca6f 12018 "description" : "The cluster node name.",
44660702 12019 "format" : "pve-node",
013dc89f
DM
12020 "type" : "string",
12021 "typetext" : "<string>"
7aacca6f 12022 },
44660702
DM
12023 "skiplock" : {
12024 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 12025 "optional" : 1,
013dc89f
DM
12026 "type" : "boolean",
12027 "typetext" : "<boolean>"
56122987 12028 },
44660702
DM
12029 "stateuri" : {
12030 "description" : "Some command save/restore state from this location.",
12031 "maxLength" : 128,
56122987 12032 "optional" : 1,
013dc89f
DM
12033 "type" : "string",
12034 "typetext" : "<string>"
56122987 12035 },
52e44c50
FG
12036 "targetstorage" : {
12037 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
12038 "optional" : 1,
12039 "type" : "string",
12040 "typetext" : "<string>"
12041 },
56122987 12042 "vmid" : {
7aacca6f 12043 "description" : "The (unique) ID of the VM.",
44660702
DM
12044 "format" : "pve-vmid",
12045 "minimum" : 1,
4bd7df8b 12046 "type" : "integer",
013dc89f 12047 "typetext" : "<integer> (1 - N)"
56122987 12048 }
44660702 12049 }
7aacca6f 12050 },
56122987
DM
12051 "permissions" : {
12052 "check" : [
12053 "perm",
12054 "/vms/{vmid}",
12055 [
12056 "VM.PowerMgmt"
12057 ]
12058 ]
44660702
DM
12059 },
12060 "protected" : 1,
12061 "proxyto" : "node",
12062 "returns" : {
12063 "type" : "string"
56122987
DM
12064 }
12065 }
44660702
DM
12066 },
12067 "leaf" : 1,
12068 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
12069 "text" : "start"
56122987
DM
12070 },
12071 {
56122987
DM
12072 "info" : {
12073 "POST" : {
7aacca6f 12074 "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
12075 "method" : "POST",
12076 "name" : "vm_stop",
56122987 12077 "parameters" : {
44660702 12078 "additionalProperties" : 0,
56122987 12079 "properties" : {
44660702
DM
12080 "keepActive" : {
12081 "default" : 0,
de0983cb 12082 "description" : "Do not deactivate storage volumes.",
56122987 12083 "optional" : 1,
013dc89f
DM
12084 "type" : "boolean",
12085 "typetext" : "<boolean>"
56122987
DM
12086 },
12087 "migratedfrom" : {
56122987 12088 "description" : "The cluster node name.",
44660702 12089 "format" : "pve-node",
7aacca6f 12090 "optional" : 1,
013dc89f
DM
12091 "type" : "string",
12092 "typetext" : "<string>"
7aacca6f 12093 },
44660702
DM
12094 "node" : {
12095 "description" : "The cluster node name.",
12096 "format" : "pve-node",
013dc89f
DM
12097 "type" : "string",
12098 "typetext" : "<string>"
56122987
DM
12099 },
12100 "skiplock" : {
12101 "description" : "Ignore locks - only root is allowed to use this option.",
12102 "optional" : 1,
013dc89f
DM
12103 "type" : "boolean",
12104 "typetext" : "<boolean>"
56122987 12105 },
44660702
DM
12106 "timeout" : {
12107 "description" : "Wait maximal timeout seconds.",
12108 "minimum" : 0,
56122987 12109 "optional" : 1,
4bd7df8b 12110 "type" : "integer",
013dc89f 12111 "typetext" : "<integer> (0 - N)"
7aacca6f 12112 },
44660702
DM
12113 "vmid" : {
12114 "description" : "The (unique) ID of the VM.",
12115 "format" : "pve-vmid",
12116 "minimum" : 1,
4bd7df8b 12117 "type" : "integer",
013dc89f 12118 "typetext" : "<integer> (1 - N)"
56122987 12119 }
44660702 12120 }
56122987 12121 },
56122987
DM
12122 "permissions" : {
12123 "check" : [
12124 "perm",
12125 "/vms/{vmid}",
12126 [
12127 "VM.PowerMgmt"
12128 ]
12129 ]
12130 },
44660702
DM
12131 "protected" : 1,
12132 "proxyto" : "node",
7aacca6f
DM
12133 "returns" : {
12134 "type" : "string"
44660702
DM
12135 }
12136 }
12137 },
12138 "leaf" : 1,
12139 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
12140 "text" : "stop"
12141 },
12142 {
12143 "info" : {
12144 "POST" : {
12145 "description" : "Reset virtual machine.",
12146 "method" : "POST",
12147 "name" : "vm_reset",
56122987 12148 "parameters" : {
7aacca6f 12149 "additionalProperties" : 0,
56122987 12150 "properties" : {
56122987
DM
12151 "node" : {
12152 "description" : "The cluster node name.",
44660702 12153 "format" : "pve-node",
013dc89f
DM
12154 "type" : "string",
12155 "typetext" : "<string>"
56122987
DM
12156 },
12157 "skiplock" : {
44660702 12158 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 12159 "optional" : 1,
013dc89f
DM
12160 "type" : "boolean",
12161 "typetext" : "<boolean>"
7aacca6f
DM
12162 },
12163 "vmid" : {
44660702 12164 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
12165 "format" : "pve-vmid",
12166 "minimum" : 1,
4bd7df8b 12167 "type" : "integer",
013dc89f 12168 "typetext" : "<integer> (1 - N)"
56122987 12169 }
7aacca6f 12170 }
56122987 12171 },
7aacca6f
DM
12172 "permissions" : {
12173 "check" : [
12174 "perm",
12175 "/vms/{vmid}",
12176 [
12177 "VM.PowerMgmt"
12178 ]
12179 ]
12180 },
44660702 12181 "protected" : 1,
7aacca6f 12182 "proxyto" : "node",
56122987
DM
12183 "returns" : {
12184 "type" : "string"
44660702
DM
12185 }
12186 }
12187 },
12188 "leaf" : 1,
12189 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
12190 "text" : "reset"
12191 },
12192 {
12193 "info" : {
12194 "POST" : {
12195 "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.",
12196 "method" : "POST",
56122987 12197 "name" : "vm_shutdown",
56122987 12198 "parameters" : {
7aacca6f 12199 "additionalProperties" : 0,
56122987 12200 "properties" : {
56122987 12201 "forceStop" : {
56122987 12202 "default" : 0,
44660702 12203 "description" : "Make sure the VM stops.",
7aacca6f 12204 "optional" : 1,
013dc89f
DM
12205 "type" : "boolean",
12206 "typetext" : "<boolean>"
56122987
DM
12207 },
12208 "keepActive" : {
7aacca6f 12209 "default" : 0,
de0983cb 12210 "description" : "Do not deactivate storage volumes.",
44660702 12211 "optional" : 1,
013dc89f
DM
12212 "type" : "boolean",
12213 "typetext" : "<boolean>"
44660702
DM
12214 },
12215 "node" : {
12216 "description" : "The cluster node name.",
12217 "format" : "pve-node",
013dc89f
DM
12218 "type" : "string",
12219 "typetext" : "<string>"
44660702
DM
12220 },
12221 "skiplock" : {
12222 "description" : "Ignore locks - only root is allowed to use this option.",
12223 "optional" : 1,
013dc89f
DM
12224 "type" : "boolean",
12225 "typetext" : "<boolean>"
56122987 12226 },
7aacca6f 12227 "timeout" : {
7aacca6f 12228 "description" : "Wait maximal timeout seconds.",
44660702 12229 "minimum" : 0,
7aacca6f 12230 "optional" : 1,
4bd7df8b 12231 "type" : "integer",
013dc89f 12232 "typetext" : "<integer> (0 - N)"
7aacca6f 12233 },
56122987 12234 "vmid" : {
7aacca6f 12235 "description" : "The (unique) ID of the VM.",
44660702
DM
12236 "format" : "pve-vmid",
12237 "minimum" : 1,
4bd7df8b 12238 "type" : "integer",
013dc89f 12239 "typetext" : "<integer> (1 - N)"
56122987 12240 }
7aacca6f 12241 }
56122987 12242 },
44660702
DM
12243 "permissions" : {
12244 "check" : [
12245 "perm",
12246 "/vms/{vmid}",
12247 [
12248 "VM.PowerMgmt"
12249 ]
12250 ]
12251 },
7aacca6f 12252 "protected" : 1,
44660702
DM
12253 "proxyto" : "node",
12254 "returns" : {
12255 "type" : "string"
12256 }
56122987
DM
12257 }
12258 },
44660702 12259 "leaf" : 1,
7aacca6f 12260 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 12261 "text" : "shutdown"
56122987
DM
12262 },
12263 {
56122987
DM
12264 "info" : {
12265 "POST" : {
44660702 12266 "description" : "Suspend virtual machine.",
56122987 12267 "method" : "POST",
44660702 12268 "name" : "vm_suspend",
7aacca6f 12269 "parameters" : {
44660702 12270 "additionalProperties" : 0,
7aacca6f
DM
12271 "properties" : {
12272 "node" : {
7aacca6f 12273 "description" : "The cluster node name.",
44660702 12274 "format" : "pve-node",
013dc89f
DM
12275 "type" : "string",
12276 "typetext" : "<string>"
7aacca6f
DM
12277 },
12278 "skiplock" : {
12279 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12280 "optional" : 1,
013dc89f
DM
12281 "type" : "boolean",
12282 "typetext" : "<boolean>"
44660702
DM
12283 },
12284 "vmid" : {
12285 "description" : "The (unique) ID of the VM.",
12286 "format" : "pve-vmid",
12287 "minimum" : 1,
4bd7df8b 12288 "type" : "integer",
013dc89f 12289 "typetext" : "<integer> (1 - N)"
44660702
DM
12290 }
12291 }
56122987
DM
12292 },
12293 "permissions" : {
12294 "check" : [
12295 "perm",
12296 "/vms/{vmid}",
12297 [
12298 "VM.PowerMgmt"
12299 ]
12300 ]
12301 },
44660702
DM
12302 "protected" : 1,
12303 "proxyto" : "node",
12304 "returns" : {
12305 "type" : "string"
12306 }
56122987
DM
12307 }
12308 },
44660702 12309 "leaf" : 1,
7aacca6f 12310 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 12311 "text" : "suspend"
56122987
DM
12312 },
12313 {
56122987
DM
12314 "info" : {
12315 "POST" : {
44660702
DM
12316 "description" : "Resume virtual machine.",
12317 "method" : "POST",
7aacca6f 12318 "name" : "vm_resume",
56122987
DM
12319 "parameters" : {
12320 "additionalProperties" : 0,
12321 "properties" : {
44660702
DM
12322 "nocheck" : {
12323 "optional" : 1,
013dc89f
DM
12324 "type" : "boolean",
12325 "typetext" : "<boolean>"
44660702 12326 },
7aacca6f 12327 "node" : {
44660702 12328 "description" : "The cluster node name.",
7aacca6f 12329 "format" : "pve-node",
013dc89f
DM
12330 "type" : "string",
12331 "typetext" : "<string>"
56122987
DM
12332 },
12333 "skiplock" : {
56122987 12334 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12335 "optional" : 1,
013dc89f
DM
12336 "type" : "boolean",
12337 "typetext" : "<boolean>"
56122987 12338 },
7aacca6f 12339 "vmid" : {
7aacca6f
DM
12340 "description" : "The (unique) ID of the VM.",
12341 "format" : "pve-vmid",
44660702 12342 "minimum" : 1,
4bd7df8b 12343 "type" : "integer",
013dc89f 12344 "typetext" : "<integer> (1 - N)"
56122987
DM
12345 }
12346 }
12347 },
12348 "permissions" : {
12349 "check" : [
12350 "perm",
12351 "/vms/{vmid}",
12352 [
12353 "VM.PowerMgmt"
12354 ]
12355 ]
12356 },
44660702
DM
12357 "protected" : 1,
12358 "proxyto" : "node",
56122987
DM
12359 "returns" : {
12360 "type" : "string"
7aacca6f 12361 }
56122987
DM
12362 }
12363 },
44660702
DM
12364 "leaf" : 1,
12365 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 12366 "text" : "resume"
56122987
DM
12367 }
12368 ],
12369 "info" : {
44660702
DM
12370 "GET" : {
12371 "description" : "Directory index",
12372 "method" : "GET",
12373 "name" : "vmcmdidx",
56122987 12374 "parameters" : {
44660702 12375 "additionalProperties" : 0,
56122987 12376 "properties" : {
44660702
DM
12377 "node" : {
12378 "description" : "The cluster node name.",
12379 "format" : "pve-node",
013dc89f
DM
12380 "type" : "string",
12381 "typetext" : "<string>"
7aacca6f 12382 },
56122987 12383 "vmid" : {
7aacca6f 12384 "description" : "The (unique) ID of the VM.",
44660702
DM
12385 "format" : "pve-vmid",
12386 "minimum" : 1,
4bd7df8b 12387 "type" : "integer",
013dc89f 12388 "typetext" : "<integer> (1 - N)"
56122987 12389 }
44660702 12390 }
56122987 12391 },
44660702
DM
12392 "permissions" : {
12393 "user" : "all"
12394 },
12395 "proxyto" : "node",
12396 "returns" : {
12397 "items" : {
12398 "properties" : {
12399 "subdir" : {
12400 "type" : "string"
12401 }
12402 },
12403 "type" : "object"
12404 },
12405 "links" : [
12406 {
12407 "href" : "{subdir}",
12408 "rel" : "child"
12409 }
12410 ],
12411 "type" : "array"
12412 }
56122987 12413 }
7aacca6f 12414 },
44660702
DM
12415 "leaf" : 0,
12416 "path" : "/nodes/{node}/qemu/{vmid}/status",
12417 "text" : "status"
56122987
DM
12418 },
12419 {
56122987 12420 "info" : {
44660702
DM
12421 "PUT" : {
12422 "description" : "Send key event to virtual machine.",
12423 "method" : "PUT",
12424 "name" : "vm_sendkey",
12425 "parameters" : {
12426 "additionalProperties" : 0,
56122987 12427 "properties" : {
44660702
DM
12428 "key" : {
12429 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
12430 "type" : "string",
12431 "typetext" : "<string>"
44660702
DM
12432 },
12433 "node" : {
12434 "description" : "The cluster node name.",
12435 "format" : "pve-node",
013dc89f
DM
12436 "type" : "string",
12437 "typetext" : "<string>"
44660702
DM
12438 },
12439 "skiplock" : {
12440 "description" : "Ignore locks - only root is allowed to use this option.",
12441 "optional" : 1,
013dc89f
DM
12442 "type" : "boolean",
12443 "typetext" : "<boolean>"
7aacca6f 12444 },
44660702
DM
12445 "vmid" : {
12446 "description" : "The (unique) ID of the VM.",
12447 "format" : "pve-vmid",
12448 "minimum" : 1,
4bd7df8b 12449 "type" : "integer",
013dc89f 12450 "typetext" : "<integer> (1 - N)"
56122987 12451 }
7aacca6f 12452 }
56122987 12453 },
56122987
DM
12454 "permissions" : {
12455 "check" : [
12456 "perm",
12457 "/vms/{vmid}",
12458 [
44660702 12459 "VM.Console"
56122987
DM
12460 ]
12461 ]
12462 },
7aacca6f 12463 "protected" : 1,
44660702
DM
12464 "proxyto" : "node",
12465 "returns" : {
12466 "type" : "null"
12467 }
12468 }
12469 },
12470 "leaf" : 1,
12471 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
12472 "text" : "sendkey"
12473 },
12474 {
12475 "info" : {
12476 "GET" : {
12477 "description" : "Check if feature for virtual machine is available.",
12478 "method" : "GET",
7aacca6f 12479 "name" : "vm_feature",
56122987 12480 "parameters" : {
44660702 12481 "additionalProperties" : 0,
56122987 12482 "properties" : {
56122987 12483 "feature" : {
44660702 12484 "description" : "Feature to check.",
56122987
DM
12485 "enum" : [
12486 "snapshot",
12487 "clone",
12488 "copy"
12489 ],
44660702
DM
12490 "type" : "string"
12491 },
12492 "node" : {
12493 "description" : "The cluster node name.",
12494 "format" : "pve-node",
013dc89f
DM
12495 "type" : "string",
12496 "typetext" : "<string>"
56122987
DM
12497 },
12498 "snapname" : {
56122987 12499 "description" : "The name of the snapshot.",
44660702
DM
12500 "format" : "pve-configid",
12501 "maxLength" : 40,
7aacca6f 12502 "optional" : 1,
013dc89f
DM
12503 "type" : "string",
12504 "typetext" : "<string>"
7aacca6f 12505 },
44660702
DM
12506 "vmid" : {
12507 "description" : "The (unique) ID of the VM.",
12508 "format" : "pve-vmid",
12509 "minimum" : 1,
4bd7df8b 12510 "type" : "integer",
013dc89f 12511 "typetext" : "<integer> (1 - N)"
44660702
DM
12512 }
12513 }
12514 },
12515 "permissions" : {
12516 "check" : [
12517 "perm",
12518 "/vms/{vmid}",
12519 [
12520 "VM.Audit"
12521 ]
12522 ]
12523 },
12524 "protected" : 1,
12525 "proxyto" : "node",
12526 "returns" : {
12527 "properties" : {
12528 "hasFeature" : {
12529 "type" : "boolean"
12530 },
12531 "nodes" : {
12532 "items" : {
12533 "type" : "string"
12534 },
12535 "type" : "array"
56122987
DM
12536 }
12537 },
44660702 12538 "type" : "object"
56122987
DM
12539 }
12540 }
12541 },
7aacca6f 12542 "leaf" : 1,
44660702
DM
12543 "path" : "/nodes/{node}/qemu/{vmid}/feature",
12544 "text" : "feature"
56122987
DM
12545 },
12546 {
56122987
DM
12547 "info" : {
12548 "POST" : {
44660702 12549 "description" : "Create a copy of virtual machine/template.",
56122987 12550 "method" : "POST",
7aacca6f 12551 "name" : "clone_vm",
56122987
DM
12552 "parameters" : {
12553 "additionalProperties" : 0,
12554 "properties" : {
44660702
DM
12555 "description" : {
12556 "description" : "Description for the new VM.",
56122987 12557 "optional" : 1,
013dc89f
DM
12558 "type" : "string",
12559 "typetext" : "<string>"
56122987 12560 },
44660702 12561 "format" : {
27a7acb2 12562 "description" : "Target format for file storage. Only valid for full clone.",
44660702
DM
12563 "enum" : [
12564 "raw",
12565 "qcow2",
12566 "vmdk"
12567 ],
12568 "optional" : 1,
56122987
DM
12569 "type" : "string"
12570 },
44660702 12571 "full" : {
27a7acb2 12572 "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 12573 "optional" : 1,
013dc89f
DM
12574 "type" : "boolean",
12575 "typetext" : "<boolean>"
44660702
DM
12576 },
12577 "name" : {
56122987 12578 "description" : "Set a name for the new VM.",
44660702
DM
12579 "format" : "dns-name",
12580 "optional" : 1,
013dc89f
DM
12581 "type" : "string",
12582 "typetext" : "<string>"
44660702
DM
12583 },
12584 "newid" : {
12585 "description" : "VMID for the clone.",
12586 "format" : "pve-vmid",
12587 "minimum" : 1,
4bd7df8b 12588 "type" : "integer",
013dc89f 12589 "typetext" : "<integer> (1 - N)"
44660702
DM
12590 },
12591 "node" : {
12592 "description" : "The cluster node name.",
12593 "format" : "pve-node",
013dc89f
DM
12594 "type" : "string",
12595 "typetext" : "<string>"
7aacca6f
DM
12596 },
12597 "pool" : {
12598 "description" : "Add the new VM to the specified pool.",
44660702 12599 "format" : "pve-poolid",
56122987 12600 "optional" : 1,
013dc89f
DM
12601 "type" : "string",
12602 "typetext" : "<string>"
56122987 12603 },
44660702
DM
12604 "snapname" : {
12605 "description" : "The name of the snapshot.",
12606 "format" : "pve-configid",
12607 "maxLength" : 40,
7aacca6f 12608 "optional" : 1,
013dc89f
DM
12609 "type" : "string",
12610 "typetext" : "<string>"
56122987 12611 },
44660702
DM
12612 "storage" : {
12613 "description" : "Target storage for full clone.",
12614 "format" : "pve-storage-id",
7aacca6f 12615 "optional" : 1,
013dc89f
DM
12616 "type" : "string",
12617 "typetext" : "<string>"
56122987 12618 },
44660702
DM
12619 "target" : {
12620 "description" : "Target node. Only allowed if the original VM is on shared storage.",
12621 "format" : "pve-node",
56122987 12622 "optional" : 1,
013dc89f
DM
12623 "type" : "string",
12624 "typetext" : "<string>"
44660702
DM
12625 },
12626 "vmid" : {
12627 "description" : "The (unique) ID of the VM.",
12628 "format" : "pve-vmid",
12629 "minimum" : 1,
4bd7df8b 12630 "type" : "integer",
013dc89f 12631 "typetext" : "<integer> (1 - N)"
56122987
DM
12632 }
12633 }
12634 },
56122987
DM
12635 "permissions" : {
12636 "check" : [
12637 "and",
12638 [
12639 "perm",
12640 "/vms/{vmid}",
12641 [
12642 "VM.Clone"
12643 ]
12644 ],
12645 [
12646 "or",
12647 [
12648 "perm",
12649 "/vms/{newid}",
12650 [
12651 "VM.Allocate"
12652 ]
12653 ],
12654 [
12655 "perm",
12656 "/pool/{pool}",
12657 [
12658 "VM.Allocate"
12659 ],
12660 "require_param",
12661 "pool"
12662 ]
12663 ]
44660702
DM
12664 ],
12665 "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."
12666 },
12667 "protected" : 1,
12668 "proxyto" : "node",
12669 "returns" : {
12670 "type" : "string"
56122987
DM
12671 }
12672 }
12673 },
44660702
DM
12674 "leaf" : 1,
12675 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
12676 "text" : "clone"
12677 },
12678 {
56122987
DM
12679 "info" : {
12680 "POST" : {
7aacca6f 12681 "description" : "Move volume to different storage.",
44660702
DM
12682 "method" : "POST",
12683 "name" : "move_vm_disk",
56122987
DM
12684 "parameters" : {
12685 "additionalProperties" : 0,
12686 "properties" : {
12687 "delete" : {
44660702 12688 "default" : 0,
56122987 12689 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 12690 "optional" : 1,
013dc89f
DM
12691 "type" : "boolean",
12692 "typetext" : "<boolean>"
56122987 12693 },
44660702
DM
12694 "digest" : {
12695 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12696 "maxLength" : 40,
12697 "optional" : 1,
013dc89f
DM
12698 "type" : "string",
12699 "typetext" : "<string>"
56122987 12700 },
56122987 12701 "disk" : {
56122987
DM
12702 "description" : "The disk you want to move.",
12703 "enum" : [
12704 "ide0",
12705 "ide1",
12706 "ide2",
12707 "ide3",
12708 "scsi0",
12709 "scsi1",
12710 "scsi2",
12711 "scsi3",
12712 "scsi4",
12713 "scsi5",
12714 "scsi6",
12715 "scsi7",
12716 "scsi8",
12717 "scsi9",
12718 "scsi10",
12719 "scsi11",
12720 "scsi12",
12721 "scsi13",
12722 "virtio0",
12723 "virtio1",
12724 "virtio2",
12725 "virtio3",
12726 "virtio4",
12727 "virtio5",
12728 "virtio6",
12729 "virtio7",
12730 "virtio8",
12731 "virtio9",
12732 "virtio10",
12733 "virtio11",
12734 "virtio12",
12735 "virtio13",
12736 "virtio14",
12737 "virtio15",
12738 "sata0",
12739 "sata1",
12740 "sata2",
12741 "sata3",
12742 "sata4",
2c0dde61
DM
12743 "sata5",
12744 "efidisk0"
44660702
DM
12745 ],
12746 "type" : "string"
7aacca6f
DM
12747 },
12748 "format" : {
12749 "description" : "Target Format.",
12750 "enum" : [
12751 "raw",
12752 "qcow2",
12753 "vmdk"
12754 ],
12755 "optional" : 1,
12756 "type" : "string"
44660702
DM
12757 },
12758 "node" : {
12759 "description" : "The cluster node name.",
12760 "format" : "pve-node",
013dc89f
DM
12761 "type" : "string",
12762 "typetext" : "<string>"
44660702
DM
12763 },
12764 "storage" : {
12765 "description" : "Target storage.",
12766 "format" : "pve-storage-id",
013dc89f
DM
12767 "type" : "string",
12768 "typetext" : "<string>"
44660702
DM
12769 },
12770 "vmid" : {
12771 "description" : "The (unique) ID of the VM.",
12772 "format" : "pve-vmid",
12773 "minimum" : 1,
4bd7df8b 12774 "type" : "integer",
013dc89f 12775 "typetext" : "<integer> (1 - N)"
56122987
DM
12776 }
12777 }
12778 },
44660702
DM
12779 "permissions" : {
12780 "check" : [
12781 "and",
12782 [
12783 "perm",
12784 "/vms/{vmid}",
12785 [
12786 "VM.Config.Disk"
12787 ]
12788 ],
12789 [
12790 "perm",
12791 "/storage/{storage}",
12792 [
12793 "Datastore.AllocateSpace"
12794 ]
12795 ]
12796 ],
12797 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
12798 },
12799 "protected" : 1,
12800 "proxyto" : "node",
12801 "returns" : {
12802 "description" : "the task ID.",
12803 "type" : "string"
12804 }
56122987 12805 }
7aacca6f 12806 },
44660702 12807 "leaf" : 1,
7aacca6f 12808 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 12809 "text" : "move_disk"
56122987
DM
12810 },
12811 {
56122987
DM
12812 "info" : {
12813 "POST" : {
7aacca6f 12814 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 12815 "method" : "POST",
7aacca6f 12816 "name" : "migrate_vm",
56122987 12817 "parameters" : {
44660702 12818 "additionalProperties" : 0,
56122987 12819 "properties" : {
44660702
DM
12820 "force" : {
12821 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
12822 "optional" : 1,
013dc89f
DM
12823 "type" : "boolean",
12824 "typetext" : "<boolean>"
44660702 12825 },
de0983cb
DM
12826 "migration_network" : {
12827 "description" : "CIDR of the (sub) network that is used for migration.",
12828 "format" : "CIDR",
12829 "optional" : 1,
013dc89f
DM
12830 "type" : "string",
12831 "typetext" : "<string>"
de0983cb
DM
12832 },
12833 "migration_type" : {
12834 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
12835 "enum" : [
12836 "secure",
12837 "insecure"
12838 ],
12839 "optional" : 1,
12840 "type" : "string"
12841 },
7aacca6f 12842 "node" : {
44660702 12843 "description" : "The cluster node name.",
7aacca6f 12844 "format" : "pve-node",
013dc89f
DM
12845 "type" : "string",
12846 "typetext" : "<string>"
56122987
DM
12847 },
12848 "online" : {
44660702 12849 "description" : "Use online/live migration.",
56122987 12850 "optional" : 1,
013dc89f
DM
12851 "type" : "boolean",
12852 "typetext" : "<boolean>"
56122987 12853 },
44660702
DM
12854 "target" : {
12855 "description" : "Target node.",
12856 "format" : "pve-node",
013dc89f
DM
12857 "type" : "string",
12858 "typetext" : "<string>"
56122987 12859 },
52e44c50
FG
12860 "targetstorage" : {
12861 "description" : "Default target storage.",
12862 "format" : "pve-storage-id",
12863 "optional" : 1,
12864 "type" : "string",
12865 "typetext" : "<string>"
12866 },
7aacca6f 12867 "vmid" : {
7aacca6f 12868 "description" : "The (unique) ID of the VM.",
44660702 12869 "format" : "pve-vmid",
7aacca6f 12870 "minimum" : 1,
4bd7df8b 12871 "type" : "integer",
013dc89f 12872 "typetext" : "<integer> (1 - N)"
52e44c50
FG
12873 },
12874 "with-local-disks" : {
12875 "description" : "Enable live storage migration for local disk",
12876 "optional" : 1,
12877 "type" : "boolean",
12878 "typetext" : "<boolean>"
56122987 12879 }
44660702
DM
12880 }
12881 },
12882 "permissions" : {
12883 "check" : [
12884 "perm",
12885 "/vms/{vmid}",
12886 [
12887 "VM.Migrate"
12888 ]
12889 ]
56122987
DM
12890 },
12891 "protected" : 1,
44660702
DM
12892 "proxyto" : "node",
12893 "returns" : {
12894 "description" : "the task ID.",
12895 "type" : "string"
12896 }
56122987 12897 }
7aacca6f 12898 },
44660702
DM
12899 "leaf" : 1,
12900 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 12901 "text" : "migrate"
56122987
DM
12902 },
12903 {
12904 "info" : {
12905 "POST" : {
44660702 12906 "description" : "Execute Qemu monitor commands.",
56122987 12907 "method" : "POST",
44660702 12908 "name" : "monitor",
56122987 12909 "parameters" : {
7aacca6f 12910 "additionalProperties" : 0,
56122987 12911 "properties" : {
44660702
DM
12912 "command" : {
12913 "description" : "The monitor command.",
013dc89f
DM
12914 "type" : "string",
12915 "typetext" : "<string>"
44660702 12916 },
56122987 12917 "node" : {
44660702 12918 "description" : "The cluster node name.",
7aacca6f 12919 "format" : "pve-node",
013dc89f
DM
12920 "type" : "string",
12921 "typetext" : "<string>"
56122987
DM
12922 },
12923 "vmid" : {
44660702 12924 "description" : "The (unique) ID of the VM.",
56122987 12925 "format" : "pve-vmid",
7aacca6f 12926 "minimum" : 1,
4bd7df8b 12927 "type" : "integer",
013dc89f 12928 "typetext" : "<integer> (1 - N)"
56122987 12929 }
7aacca6f 12930 }
56122987 12931 },
56122987
DM
12932 "permissions" : {
12933 "check" : [
12934 "perm",
12935 "/vms/{vmid}",
12936 [
12937 "VM.Monitor"
12938 ]
32d876b5
DM
12939 ],
12940 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 12941 },
44660702
DM
12942 "protected" : 1,
12943 "proxyto" : "node",
12944 "returns" : {
12945 "type" : "string"
12946 }
56122987 12947 }
44660702
DM
12948 },
12949 "leaf" : 1,
12950 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
12951 "text" : "monitor"
56122987
DM
12952 },
12953 {
56122987
DM
12954 "info" : {
12955 "PUT" : {
44660702
DM
12956 "description" : "Extend volume size.",
12957 "method" : "PUT",
12958 "name" : "resize_vm",
56122987 12959 "parameters" : {
44660702 12960 "additionalProperties" : 0,
56122987 12961 "properties" : {
44660702
DM
12962 "digest" : {
12963 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12964 "maxLength" : 40,
12965 "optional" : 1,
013dc89f
DM
12966 "type" : "string",
12967 "typetext" : "<string>"
56122987 12968 },
56122987
DM
12969 "disk" : {
12970 "description" : "The disk you want to resize.",
12971 "enum" : [
12972 "ide0",
12973 "ide1",
12974 "ide2",
12975 "ide3",
12976 "scsi0",
12977 "scsi1",
12978 "scsi2",
12979 "scsi3",
12980 "scsi4",
12981 "scsi5",
12982 "scsi6",
12983 "scsi7",
12984 "scsi8",
12985 "scsi9",
12986 "scsi10",
12987 "scsi11",
12988 "scsi12",
12989 "scsi13",
12990 "virtio0",
12991 "virtio1",
12992 "virtio2",
12993 "virtio3",
12994 "virtio4",
12995 "virtio5",
12996 "virtio6",
12997 "virtio7",
12998 "virtio8",
12999 "virtio9",
13000 "virtio10",
13001 "virtio11",
13002 "virtio12",
13003 "virtio13",
13004 "virtio14",
13005 "virtio15",
13006 "sata0",
13007 "sata1",
13008 "sata2",
13009 "sata3",
13010 "sata4",
2c0dde61
DM
13011 "sata5",
13012 "efidisk0"
44660702
DM
13013 ],
13014 "type" : "string"
56122987 13015 },
44660702
DM
13016 "node" : {
13017 "description" : "The cluster node name.",
13018 "format" : "pve-node",
013dc89f
DM
13019 "type" : "string",
13020 "typetext" : "<string>"
7aacca6f 13021 },
44660702 13022 "size" : {
5d9c884c 13023 "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
13024 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
13025 "type" : "string"
56122987
DM
13026 },
13027 "skiplock" : {
13028 "description" : "Ignore locks - only root is allowed to use this option.",
13029 "optional" : 1,
013dc89f
DM
13030 "type" : "boolean",
13031 "typetext" : "<boolean>"
56122987
DM
13032 },
13033 "vmid" : {
7aacca6f 13034 "description" : "The (unique) ID of the VM.",
56122987 13035 "format" : "pve-vmid",
44660702 13036 "minimum" : 1,
4bd7df8b 13037 "type" : "integer",
013dc89f 13038 "typetext" : "<integer> (1 - N)"
56122987
DM
13039 }
13040 }
13041 },
13042 "permissions" : {
13043 "check" : [
13044 "perm",
13045 "/vms/{vmid}",
13046 [
44660702 13047 "VM.Config.Disk"
56122987
DM
13048 ]
13049 ]
13050 },
7aacca6f 13051 "protected" : 1,
7aacca6f 13052 "proxyto" : "node",
44660702
DM
13053 "returns" : {
13054 "type" : "null"
13055 }
7aacca6f
DM
13056 }
13057 },
44660702
DM
13058 "leaf" : 1,
13059 "path" : "/nodes/{node}/qemu/{vmid}/resize",
13060 "text" : "resize"
13061 },
13062 {
56122987
DM
13063 "children" : [
13064 {
13065 "children" : [
13066 {
56122987 13067 "info" : {
44660702
DM
13068 "GET" : {
13069 "description" : "Get snapshot configuration",
13070 "method" : "GET",
13071 "name" : "get_snapshot_config",
56122987 13072 "parameters" : {
44660702 13073 "additionalProperties" : 0,
56122987 13074 "properties" : {
56122987 13075 "node" : {
44660702 13076 "description" : "The cluster node name.",
56122987 13077 "format" : "pve-node",
013dc89f
DM
13078 "type" : "string",
13079 "typetext" : "<string>"
7aacca6f
DM
13080 },
13081 "snapname" : {
44660702 13082 "description" : "The name of the snapshot.",
7aacca6f 13083 "format" : "pve-configid",
44660702 13084 "maxLength" : 40,
013dc89f
DM
13085 "type" : "string",
13086 "typetext" : "<string>"
7aacca6f
DM
13087 },
13088 "vmid" : {
44660702 13089 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13090 "format" : "pve-vmid",
13091 "minimum" : 1,
4bd7df8b 13092 "type" : "integer",
013dc89f 13093 "typetext" : "<integer> (1 - N)"
56122987 13094 }
44660702 13095 }
56122987
DM
13096 },
13097 "permissions" : {
13098 "check" : [
13099 "perm",
13100 "/vms/{vmid}",
13101 [
2489d6df
WB
13102 "VM.Snapshot",
13103 "VM.Snapshot.Rollback"
13104 ],
13105 "any",
13106 1
56122987
DM
13107 ]
13108 },
44660702 13109 "proxyto" : "node",
56122987 13110 "returns" : {
44660702 13111 "type" : "object"
7aacca6f
DM
13112 }
13113 },
44660702
DM
13114 "PUT" : {
13115 "description" : "Update snapshot metadata.",
13116 "method" : "PUT",
13117 "name" : "update_snapshot_config",
56122987 13118 "parameters" : {
44660702 13119 "additionalProperties" : 0,
56122987 13120 "properties" : {
44660702
DM
13121 "description" : {
13122 "description" : "A textual description or comment.",
13123 "optional" : 1,
013dc89f
DM
13124 "type" : "string",
13125 "typetext" : "<string>"
44660702 13126 },
56122987 13127 "node" : {
7aacca6f 13128 "description" : "The cluster node name.",
44660702 13129 "format" : "pve-node",
013dc89f
DM
13130 "type" : "string",
13131 "typetext" : "<string>"
56122987 13132 },
56122987
DM
13133 "snapname" : {
13134 "description" : "The name of the snapshot.",
44660702 13135 "format" : "pve-configid",
7aacca6f 13136 "maxLength" : 40,
013dc89f
DM
13137 "type" : "string",
13138 "typetext" : "<string>"
7aacca6f
DM
13139 },
13140 "vmid" : {
13141 "description" : "The (unique) ID of the VM.",
44660702 13142 "format" : "pve-vmid",
7aacca6f 13143 "minimum" : 1,
4bd7df8b 13144 "type" : "integer",
013dc89f 13145 "typetext" : "<integer> (1 - N)"
56122987 13146 }
44660702 13147 }
56122987 13148 },
7aacca6f
DM
13149 "permissions" : {
13150 "check" : [
13151 "perm",
13152 "/vms/{vmid}",
13153 [
13154 "VM.Snapshot"
13155 ]
13156 ]
44660702
DM
13157 },
13158 "protected" : 1,
13159 "proxyto" : "node",
13160 "returns" : {
13161 "type" : "null"
7aacca6f 13162 }
56122987
DM
13163 }
13164 },
44660702 13165 "leaf" : 1,
7aacca6f 13166 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 13167 "text" : "config"
56122987
DM
13168 },
13169 {
56122987
DM
13170 "info" : {
13171 "POST" : {
44660702 13172 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 13173 "method" : "POST",
44660702 13174 "name" : "rollback",
56122987
DM
13175 "parameters" : {
13176 "additionalProperties" : 0,
13177 "properties" : {
44660702
DM
13178 "node" : {
13179 "description" : "The cluster node name.",
13180 "format" : "pve-node",
013dc89f
DM
13181 "type" : "string",
13182 "typetext" : "<string>"
44660702 13183 },
56122987 13184 "snapname" : {
44660702 13185 "description" : "The name of the snapshot.",
56122987
DM
13186 "format" : "pve-configid",
13187 "maxLength" : 40,
013dc89f
DM
13188 "type" : "string",
13189 "typetext" : "<string>"
7aacca6f 13190 },
56122987 13191 "vmid" : {
7aacca6f 13192 "description" : "The (unique) ID of the VM.",
44660702 13193 "format" : "pve-vmid",
56122987 13194 "minimum" : 1,
4bd7df8b 13195 "type" : "integer",
013dc89f 13196 "typetext" : "<integer> (1 - N)"
56122987
DM
13197 }
13198 }
13199 },
7aacca6f 13200 "permissions" : {
56122987
DM
13201 "check" : [
13202 "perm",
13203 "/vms/{vmid}",
13204 [
2489d6df
WB
13205 "VM.Snapshot",
13206 "VM.Snapshot.Rollback"
13207 ],
13208 "any",
13209 1
56122987
DM
13210 ]
13211 },
44660702 13212 "protected" : 1,
7aacca6f 13213 "proxyto" : "node",
44660702
DM
13214 "returns" : {
13215 "description" : "the task ID.",
13216 "type" : "string"
13217 }
56122987
DM
13218 }
13219 },
44660702
DM
13220 "leaf" : 1,
13221 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 13222 "text" : "rollback"
56122987 13223 }
44660702
DM
13224 ],
13225 "info" : {
13226 "DELETE" : {
13227 "description" : "Delete a VM snapshot.",
13228 "method" : "DELETE",
13229 "name" : "delsnapshot",
13230 "parameters" : {
13231 "additionalProperties" : 0,
13232 "properties" : {
13233 "force" : {
13234 "description" : "For removal from config file, even if removing disk snapshots fails.",
13235 "optional" : 1,
013dc89f
DM
13236 "type" : "boolean",
13237 "typetext" : "<boolean>"
44660702
DM
13238 },
13239 "node" : {
13240 "description" : "The cluster node name.",
13241 "format" : "pve-node",
013dc89f
DM
13242 "type" : "string",
13243 "typetext" : "<string>"
44660702
DM
13244 },
13245 "snapname" : {
13246 "description" : "The name of the snapshot.",
13247 "format" : "pve-configid",
13248 "maxLength" : 40,
013dc89f
DM
13249 "type" : "string",
13250 "typetext" : "<string>"
44660702
DM
13251 },
13252 "vmid" : {
13253 "description" : "The (unique) ID of the VM.",
13254 "format" : "pve-vmid",
13255 "minimum" : 1,
4bd7df8b 13256 "type" : "integer",
013dc89f 13257 "typetext" : "<integer> (1 - N)"
44660702
DM
13258 }
13259 }
13260 },
13261 "permissions" : {
13262 "check" : [
13263 "perm",
13264 "/vms/{vmid}",
13265 [
13266 "VM.Snapshot"
13267 ]
13268 ]
13269 },
13270 "protected" : 1,
13271 "proxyto" : "node",
13272 "returns" : {
13273 "description" : "the task ID.",
13274 "type" : "string"
13275 }
13276 },
13277 "GET" : {
13278 "description" : "",
13279 "method" : "GET",
13280 "name" : "snapshot_cmd_idx",
13281 "parameters" : {
13282 "additionalProperties" : 0,
13283 "properties" : {
13284 "node" : {
13285 "description" : "The cluster node name.",
13286 "format" : "pve-node",
013dc89f
DM
13287 "type" : "string",
13288 "typetext" : "<string>"
44660702
DM
13289 },
13290 "snapname" : {
13291 "description" : "The name of the snapshot.",
13292 "format" : "pve-configid",
13293 "maxLength" : 40,
013dc89f
DM
13294 "type" : "string",
13295 "typetext" : "<string>"
44660702
DM
13296 },
13297 "vmid" : {
13298 "description" : "The (unique) ID of the VM.",
13299 "format" : "pve-vmid",
13300 "minimum" : 1,
4bd7df8b 13301 "type" : "integer",
013dc89f 13302 "typetext" : "<integer> (1 - N)"
44660702
DM
13303 }
13304 }
13305 },
13306 "permissions" : {
13307 "user" : "all"
13308 },
13309 "returns" : {
13310 "items" : {
13311 "properties" : {},
13312 "type" : "object"
13313 },
13314 "links" : [
13315 {
13316 "href" : "{cmd}",
13317 "rel" : "child"
13318 }
13319 ],
13320 "type" : "array"
13321 }
13322 }
13323 },
13324 "leaf" : 0,
13325 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
13326 "text" : "{snapname}"
56122987
DM
13327 }
13328 ],
44660702
DM
13329 "info" : {
13330 "GET" : {
13331 "description" : "List all snapshots.",
13332 "method" : "GET",
13333 "name" : "snapshot_list",
13334 "parameters" : {
13335 "additionalProperties" : 0,
13336 "properties" : {
13337 "node" : {
13338 "description" : "The cluster node name.",
13339 "format" : "pve-node",
013dc89f
DM
13340 "type" : "string",
13341 "typetext" : "<string>"
44660702
DM
13342 },
13343 "vmid" : {
13344 "description" : "The (unique) ID of the VM.",
13345 "format" : "pve-vmid",
13346 "minimum" : 1,
4bd7df8b 13347 "type" : "integer",
013dc89f 13348 "typetext" : "<integer> (1 - N)"
44660702
DM
13349 }
13350 }
13351 },
13352 "permissions" : {
13353 "check" : [
13354 "perm",
13355 "/vms/{vmid}",
13356 [
13357 "VM.Audit"
13358 ]
13359 ]
13360 },
13361 "protected" : 1,
13362 "proxyto" : "node",
13363 "returns" : {
13364 "items" : {
13365 "properties" : {},
13366 "type" : "object"
13367 },
13368 "links" : [
13369 {
13370 "href" : "{name}",
13371 "rel" : "child"
13372 }
13373 ],
13374 "type" : "array"
13375 }
13376 },
13377 "POST" : {
13378 "description" : "Snapshot a VM.",
13379 "method" : "POST",
13380 "name" : "snapshot",
13381 "parameters" : {
13382 "additionalProperties" : 0,
13383 "properties" : {
13384 "description" : {
13385 "description" : "A textual description or comment.",
13386 "optional" : 1,
013dc89f
DM
13387 "type" : "string",
13388 "typetext" : "<string>"
44660702
DM
13389 },
13390 "node" : {
13391 "description" : "The cluster node name.",
13392 "format" : "pve-node",
013dc89f
DM
13393 "type" : "string",
13394 "typetext" : "<string>"
44660702
DM
13395 },
13396 "snapname" : {
13397 "description" : "The name of the snapshot.",
13398 "format" : "pve-configid",
13399 "maxLength" : 40,
013dc89f
DM
13400 "type" : "string",
13401 "typetext" : "<string>"
44660702
DM
13402 },
13403 "vmid" : {
13404 "description" : "The (unique) ID of the VM.",
13405 "format" : "pve-vmid",
13406 "minimum" : 1,
4bd7df8b 13407 "type" : "integer",
013dc89f 13408 "typetext" : "<integer> (1 - N)"
44660702
DM
13409 },
13410 "vmstate" : {
13411 "description" : "Save the vmstate",
13412 "optional" : 1,
013dc89f
DM
13413 "type" : "boolean",
13414 "typetext" : "<boolean>"
44660702
DM
13415 }
13416 }
13417 },
13418 "permissions" : {
13419 "check" : [
13420 "perm",
13421 "/vms/{vmid}",
13422 [
13423 "VM.Snapshot"
13424 ]
13425 ]
13426 },
13427 "protected" : 1,
13428 "proxyto" : "node",
13429 "returns" : {
13430 "description" : "the task ID.",
13431 "type" : "string"
13432 }
13433 }
13434 },
13435 "leaf" : 0,
13436 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 13437 "text" : "snapshot"
56122987
DM
13438 },
13439 {
56122987
DM
13440 "info" : {
13441 "POST" : {
44660702
DM
13442 "description" : "Create a Template.",
13443 "method" : "POST",
56122987 13444 "name" : "template",
56122987 13445 "parameters" : {
7aacca6f 13446 "additionalProperties" : 0,
56122987 13447 "properties" : {
56122987 13448 "disk" : {
56122987
DM
13449 "description" : "If you want to convert only 1 disk to base image.",
13450 "enum" : [
13451 "ide0",
13452 "ide1",
13453 "ide2",
13454 "ide3",
13455 "scsi0",
13456 "scsi1",
13457 "scsi2",
13458 "scsi3",
13459 "scsi4",
13460 "scsi5",
13461 "scsi6",
13462 "scsi7",
13463 "scsi8",
13464 "scsi9",
13465 "scsi10",
13466 "scsi11",
13467 "scsi12",
13468 "scsi13",
13469 "virtio0",
13470 "virtio1",
13471 "virtio2",
13472 "virtio3",
13473 "virtio4",
13474 "virtio5",
13475 "virtio6",
13476 "virtio7",
13477 "virtio8",
13478 "virtio9",
13479 "virtio10",
13480 "virtio11",
13481 "virtio12",
13482 "virtio13",
13483 "virtio14",
13484 "virtio15",
13485 "sata0",
13486 "sata1",
13487 "sata2",
13488 "sata3",
13489 "sata4",
2c0dde61
DM
13490 "sata5",
13491 "efidisk0"
56122987 13492 ],
7aacca6f 13493 "optional" : 1,
56122987
DM
13494 "type" : "string"
13495 },
44660702
DM
13496 "node" : {
13497 "description" : "The cluster node name.",
13498 "format" : "pve-node",
013dc89f
DM
13499 "type" : "string",
13500 "typetext" : "<string>"
44660702
DM
13501 },
13502 "vmid" : {
13503 "description" : "The (unique) ID of the VM.",
7aacca6f 13504 "format" : "pve-vmid",
44660702 13505 "minimum" : 1,
4bd7df8b 13506 "type" : "integer",
013dc89f 13507 "typetext" : "<integer> (1 - N)"
56122987 13508 }
7aacca6f 13509 }
56122987 13510 },
7aacca6f
DM
13511 "permissions" : {
13512 "check" : [
13513 "perm",
13514 "/vms/{vmid}",
13515 [
13516 "VM.Allocate"
13517 ]
13518 ],
13519 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
13520 },
44660702 13521 "protected" : 1,
7aacca6f 13522 "proxyto" : "node",
7aacca6f
DM
13523 "returns" : {
13524 "type" : "null"
13525 }
56122987
DM
13526 }
13527 },
44660702 13528 "leaf" : 1,
7aacca6f 13529 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 13530 "text" : "template"
56122987
DM
13531 }
13532 ],
7aacca6f 13533 "info" : {
44660702
DM
13534 "DELETE" : {
13535 "description" : "Destroy the vm (also delete all used/owned volumes).",
13536 "method" : "DELETE",
13537 "name" : "destroy_vm",
7aacca6f 13538 "parameters" : {
44660702 13539 "additionalProperties" : 0,
7aacca6f
DM
13540 "properties" : {
13541 "node" : {
44660702 13542 "description" : "The cluster node name.",
7aacca6f 13543 "format" : "pve-node",
013dc89f
DM
13544 "type" : "string",
13545 "typetext" : "<string>"
44660702
DM
13546 },
13547 "skiplock" : {
13548 "description" : "Ignore locks - only root is allowed to use this option.",
13549 "optional" : 1,
013dc89f
DM
13550 "type" : "boolean",
13551 "typetext" : "<boolean>"
7aacca6f
DM
13552 },
13553 "vmid" : {
44660702 13554 "description" : "The (unique) ID of the VM.",
7aacca6f 13555 "format" : "pve-vmid",
44660702 13556 "minimum" : 1,
4bd7df8b 13557 "type" : "integer",
013dc89f 13558 "typetext" : "<integer> (1 - N)"
7aacca6f 13559 }
44660702 13560 }
7aacca6f 13561 },
7aacca6f
DM
13562 "permissions" : {
13563 "check" : [
13564 "perm",
13565 "/vms/{vmid}",
13566 [
13567 "VM.Allocate"
13568 ]
13569 ]
13570 },
44660702
DM
13571 "protected" : 1,
13572 "proxyto" : "node",
7aacca6f
DM
13573 "returns" : {
13574 "type" : "string"
44660702
DM
13575 }
13576 },
13577 "GET" : {
13578 "description" : "Directory index",
13579 "method" : "GET",
13580 "name" : "vmdiridx",
7aacca6f 13581 "parameters" : {
44660702 13582 "additionalProperties" : 0,
7aacca6f 13583 "properties" : {
7aacca6f 13584 "node" : {
7aacca6f 13585 "description" : "The cluster node name.",
44660702 13586 "format" : "pve-node",
013dc89f
DM
13587 "type" : "string",
13588 "typetext" : "<string>"
44660702
DM
13589 },
13590 "vmid" : {
13591 "description" : "The (unique) ID of the VM.",
13592 "format" : "pve-vmid",
13593 "minimum" : 1,
4bd7df8b 13594 "type" : "integer",
013dc89f 13595 "typetext" : "<integer> (1 - N)"
7aacca6f 13596 }
44660702 13597 }
7aacca6f 13598 },
44660702
DM
13599 "permissions" : {
13600 "user" : "all"
13601 },
13602 "proxyto" : "node",
13603 "returns" : {
13604 "items" : {
13605 "properties" : {
13606 "subdir" : {
13607 "type" : "string"
13608 }
13609 },
13610 "type" : "object"
13611 },
13612 "links" : [
13613 {
13614 "href" : "{subdir}",
13615 "rel" : "child"
13616 }
13617 ],
13618 "type" : "array"
13619 }
7aacca6f 13620 }
44660702
DM
13621 },
13622 "leaf" : 0,
13623 "path" : "/nodes/{node}/qemu/{vmid}",
13624 "text" : "{vmid}"
56122987
DM
13625 }
13626 ],
13627 "info" : {
44660702
DM
13628 "GET" : {
13629 "description" : "Virtual machine index (per node).",
13630 "method" : "GET",
13631 "name" : "vmlist",
56122987 13632 "parameters" : {
44660702 13633 "additionalProperties" : 0,
56122987 13634 "properties" : {
44660702
DM
13635 "full" : {
13636 "description" : "Determine the full status of active VMs.",
56122987 13637 "optional" : 1,
013dc89f
DM
13638 "type" : "boolean",
13639 "typetext" : "<boolean>"
56122987 13640 },
44660702
DM
13641 "node" : {
13642 "description" : "The cluster node name.",
13643 "format" : "pve-node",
013dc89f
DM
13644 "type" : "string",
13645 "typetext" : "<string>"
44660702
DM
13646 }
13647 }
13648 },
13649 "permissions" : {
13650 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
13651 "user" : "all"
13652 },
13653 "protected" : 1,
13654 "proxyto" : "node",
13655 "returns" : {
13656 "items" : {
13657 "properties" : {},
13658 "type" : "object"
13659 },
13660 "links" : [
13661 {
13662 "href" : "{vmid}",
13663 "rel" : "child"
13664 }
13665 ],
13666 "type" : "array"
13667 }
13668 },
13669 "POST" : {
13670 "description" : "Create or restore a virtual machine.",
13671 "method" : "POST",
13672 "name" : "create_vm",
13673 "parameters" : {
13674 "additionalProperties" : 0,
13675 "properties" : {
7aacca6f 13676 "acpi" : {
7aacca6f 13677 "default" : 1,
44660702 13678 "description" : "Enable/disable ACPI.",
56122987 13679 "optional" : 1,
013dc89f
DM
13680 "type" : "boolean",
13681 "typetext" : "<boolean>"
56122987 13682 },
44660702
DM
13683 "agent" : {
13684 "default" : 0,
13685 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 13686 "optional" : 1,
013dc89f
DM
13687 "type" : "boolean",
13688 "typetext" : "<boolean>"
56122987 13689 },
44660702
DM
13690 "archive" : {
13691 "description" : "The backup file.",
13692 "maxLength" : 255,
56122987 13693 "optional" : 1,
013dc89f
DM
13694 "type" : "string",
13695 "typetext" : "<string>"
56122987 13696 },
44660702 13697 "args" : {
c2993fe5 13698 "description" : "Arbitrary arguments passed to kvm.",
56122987 13699 "optional" : 1,
c2993fe5 13700 "type" : "string",
013dc89f 13701 "typetext" : "<string>",
c2993fe5 13702 "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 13703 },
44660702 13704 "autostart" : {
7aacca6f 13705 "default" : 0,
44660702
DM
13706 "description" : "Automatic restart after crash (currently ignored).",
13707 "optional" : 1,
013dc89f
DM
13708 "type" : "boolean",
13709 "typetext" : "<boolean>"
7aacca6f 13710 },
44660702
DM
13711 "balloon" : {
13712 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13713 "minimum" : 0,
56122987 13714 "optional" : 1,
4bd7df8b 13715 "type" : "integer",
013dc89f 13716 "typetext" : "<integer> (0 - N)"
56122987 13717 },
44660702
DM
13718 "bios" : {
13719 "default" : "seabios",
13720 "description" : "Select BIOS implementation.",
13721 "enum" : [
13722 "seabios",
13723 "ovmf"
13724 ],
56122987 13725 "optional" : 1,
44660702 13726 "type" : "string"
56122987 13727 },
44660702
DM
13728 "boot" : {
13729 "default" : "cdn",
13730 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 13731 "optional" : 1,
44660702
DM
13732 "pattern" : "[acdn]{1,4}",
13733 "type" : "string"
56122987 13734 },
7aacca6f
DM
13735 "bootdisk" : {
13736 "description" : "Enable booting from specified disk.",
44660702
DM
13737 "format" : "pve-qm-bootdisk",
13738 "optional" : 1,
7aacca6f 13739 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
13740 "type" : "string"
13741 },
27a7acb2
DM
13742 "bwlimit" : {
13743 "description" : "Override i/o bandwidth limit (in KiB/s).",
13744 "minimum" : "0",
13745 "optional" : 1,
13746 "type" : "integer",
13747 "typetext" : "<integer> (0 - N)"
13748 },
44660702
DM
13749 "cdrom" : {
13750 "description" : "This is an alias for option -ide2",
de0983cb 13751 "format" : "pve-qm-ide",
56122987 13752 "optional" : 1,
44660702 13753 "type" : "string",
013dc89f 13754 "typetext" : "<volume>"
56122987 13755 },
27a7acb2
DM
13756 "cipassword" : {
13757 "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.",
13758 "optional" : 1,
13759 "type" : "string",
13760 "typetext" : "<string>"
13761 },
13762 "citype" : {
13763 "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.",
13764 "enum" : [
13765 "configdrive2",
13766 "nocloud"
13767 ],
13768 "optional" : 1,
13769 "type" : "string"
13770 },
13771 "ciuser" : {
13772 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13773 "optional" : 1,
13774 "type" : "string",
13775 "typetext" : "<string>"
13776 },
44660702
DM
13777 "cores" : {
13778 "default" : 1,
13779 "description" : "The number of cores per socket.",
7aacca6f 13780 "minimum" : 1,
44660702 13781 "optional" : 1,
4bd7df8b 13782 "type" : "integer",
013dc89f 13783 "typetext" : "<integer> (1 - N)"
7aacca6f 13784 },
44660702
DM
13785 "cpu" : {
13786 "description" : "Emulated CPU type.",
13787 "format" : {
13788 "cputype" : {
13789 "default" : "kvm64",
13790 "default_key" : 1,
13791 "description" : "Emulated CPU type.",
13792 "enum" : [
13793 "486",
13794 "athlon",
f004f5b9 13795 "Broadwell",
35a75dd3 13796 "Broadwell-IBRS",
f004f5b9 13797 "Broadwell-noTSX",
35a75dd3 13798 "Broadwell-noTSX-IBRS",
f004f5b9 13799 "Conroe",
44660702 13800 "core2duo",
f004f5b9 13801 "coreduo",
27a7acb2
DM
13802 "EPYC",
13803 "EPYC-IBPB",
f004f5b9 13804 "Haswell",
35a75dd3 13805 "Haswell-IBRS",
f004f5b9 13806 "Haswell-noTSX",
35a75dd3 13807 "Haswell-noTSX-IBRS",
f004f5b9
DM
13808 "host",
13809 "IvyBridge",
35a75dd3 13810 "IvyBridge-IBRS",
44660702
DM
13811 "kvm32",
13812 "kvm64",
35a75dd3 13813 "max",
44660702 13814 "Nehalem",
35a75dd3 13815 "Nehalem-IBRS",
44660702
DM
13816 "Opteron_G1",
13817 "Opteron_G2",
13818 "Opteron_G3",
13819 "Opteron_G4",
13820 "Opteron_G5",
f004f5b9
DM
13821 "Penryn",
13822 "pentium",
13823 "pentium2",
13824 "pentium3",
13825 "phenom",
13826 "qemu32",
13827 "qemu64",
13828 "SandyBridge",
35a75dd3 13829 "SandyBridge-IBRS",
5d9c884c 13830 "Skylake-Client",
35a75dd3
DM
13831 "Skylake-Client-IBRS",
13832 "Skylake-Server",
13833 "Skylake-Server-IBRS",
13834 "Westmere",
13835 "Westmere-IBRS"
44660702 13836 ],
44660702
DM
13837 "type" : "string"
13838 },
35a75dd3
DM
13839 "flags" : {
13840 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
13841 "format_description" : "+FLAG[;-FLAG...]",
13842 "optional" : 1,
13843 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
13844 "type" : "string"
13845 },
44660702
DM
13846 "hidden" : {
13847 "default" : 0,
13848 "description" : "Do not identify as a KVM virtual machine.",
13849 "optional" : 1,
13850 "type" : "boolean"
13851 }
13852 },
56122987 13853 "optional" : 1,
4bd7df8b 13854 "type" : "string",
35a75dd3 13855 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 13856 },
44660702 13857 "cpulimit" : {
7aacca6f 13858 "default" : 0,
c2993fe5 13859 "description" : "Limit of CPU usage.",
44660702
DM
13860 "maximum" : 128,
13861 "minimum" : 0,
7aacca6f 13862 "optional" : 1,
c2993fe5 13863 "type" : "number",
013dc89f 13864 "typetext" : "<number> (0 - 128)",
c2993fe5 13865 "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
13866 },
13867 "cpuunits" : {
de0983cb 13868 "default" : 1024,
c2993fe5 13869 "description" : "CPU weight for a VM.",
2489d6df
WB
13870 "maximum" : 262144,
13871 "minimum" : 2,
44660702 13872 "optional" : 1,
c2993fe5 13873 "type" : "integer",
2489d6df
WB
13874 "typetext" : "<integer> (2 - 262144)",
13875 "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
13876 },
13877 "description" : {
13878 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 13879 "optional" : 1,
013dc89f
DM
13880 "type" : "string",
13881 "typetext" : "<string>"
44660702
DM
13882 },
13883 "force" : {
13884 "description" : "Allow to overwrite existing VM.",
13885 "optional" : 1,
13886 "requires" : "archive",
013dc89f
DM
13887 "type" : "boolean",
13888 "typetext" : "<boolean>"
44660702
DM
13889 },
13890 "freeze" : {
13891 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13892 "optional" : 1,
013dc89f
DM
13893 "type" : "boolean",
13894 "typetext" : "<boolean>"
44660702
DM
13895 },
13896 "hostpci[n]" : {
c2993fe5 13897 "description" : "Map host PCI devices into guest.",
44660702
DM
13898 "format" : "pve-qm-hostpci",
13899 "optional" : 1,
57b78691 13900 "type" : "string",
52e44c50 13901 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 13902 "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
13903 },
13904 "hotplug" : {
13905 "default" : "network,disk,usb",
13906 "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'.",
13907 "format" : "pve-hotplug-features",
13908 "optional" : 1,
013dc89f
DM
13909 "type" : "string",
13910 "typetext" : "<string>"
7aacca6f 13911 },
4bd7df8b
DM
13912 "hugepages" : {
13913 "description" : "Enable/disable hugepages memory.",
13914 "enum" : [
13915 "any",
13916 "2",
13917 "1024"
13918 ],
13919 "optional" : 1,
13920 "type" : "string"
13921 },
7aacca6f 13922 "ide[n]" : {
44660702 13923 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 13924 "format" : {
44660702
DM
13925 "aio" : {
13926 "description" : "AIO type to use.",
13927 "enum" : [
13928 "native",
13929 "threads"
13930 ],
44660702
DM
13931 "optional" : 1,
13932 "type" : "string"
13933 },
13934 "backup" : {
13935 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13936 "optional" : 1,
13937 "type" : "boolean"
13938 },
13939 "bps" : {
de0983cb 13940 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 13941 "format_description" : "bps",
56122987 13942 "optional" : 1,
44660702 13943 "type" : "integer"
56122987 13944 },
de0983cb
DM
13945 "bps_max_length" : {
13946 "description" : "Maximum length of I/O bursts in seconds.",
13947 "format_description" : "seconds",
13948 "minimum" : 1,
13949 "optional" : 1,
13950 "type" : "integer"
13951 },
44660702 13952 "bps_rd" : {
de0983cb 13953 "description" : "Maximum read speed in bytes per second.",
44660702 13954 "format_description" : "bps",
56122987 13955 "optional" : 1,
44660702 13956 "type" : "integer"
56122987 13957 },
de0983cb 13958 "bps_rd_length" : {
5d9c884c
DM
13959 "alias" : "bps_rd_max_length"
13960 },
13961 "bps_rd_max_length" : {
de0983cb
DM
13962 "description" : "Maximum length of read I/O bursts in seconds.",
13963 "format_description" : "seconds",
13964 "minimum" : 1,
13965 "optional" : 1,
13966 "type" : "integer"
13967 },
44660702 13968 "bps_wr" : {
de0983cb 13969 "description" : "Maximum write speed in bytes per second.",
44660702 13970 "format_description" : "bps",
56122987 13971 "optional" : 1,
44660702 13972 "type" : "integer"
56122987 13973 },
de0983cb 13974 "bps_wr_length" : {
5d9c884c
DM
13975 "alias" : "bps_wr_max_length"
13976 },
13977 "bps_wr_max_length" : {
de0983cb
DM
13978 "description" : "Maximum length of write I/O bursts in seconds.",
13979 "format_description" : "seconds",
13980 "minimum" : 1,
13981 "optional" : 1,
13982 "type" : "integer"
13983 },
44660702
DM
13984 "cache" : {
13985 "description" : "The drive's cache mode",
56122987 13986 "enum" : [
7aacca6f 13987 "none",
44660702
DM
13988 "writethrough",
13989 "writeback",
13990 "unsafe",
13991 "directsync"
56122987 13992 ],
56122987 13993 "optional" : 1,
44660702 13994 "type" : "string"
56122987 13995 },
44660702
DM
13996 "cyls" : {
13997 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13998 "optional" : 1,
13999 "type" : "integer"
7aacca6f 14000 },
44660702
DM
14001 "detect_zeroes" : {
14002 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14003 "optional" : 1,
44660702 14004 "type" : "boolean"
56122987 14005 },
44660702
DM
14006 "discard" : {
14007 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14008 "enum" : [
14009 "ignore",
14010 "on"
14011 ],
56122987 14012 "optional" : 1,
44660702 14013 "type" : "string"
56122987 14014 },
7aacca6f 14015 "file" : {
44660702 14016 "default_key" : 1,
7aacca6f 14017 "description" : "The drive's backing volume.",
7aacca6f
DM
14018 "format" : "pve-volume-id-or-qm-path",
14019 "format_description" : "volume",
7aacca6f 14020 "type" : "string"
56122987 14021 },
44660702
DM
14022 "format" : {
14023 "description" : "The drive's backing file's data format.",
56122987 14024 "enum" : [
44660702
DM
14025 "raw",
14026 "cow",
14027 "qcow",
14028 "qed",
14029 "qcow2",
14030 "vmdk",
14031 "cloop"
7aacca6f 14032 ],
7aacca6f
DM
14033 "optional" : 1,
14034 "type" : "string"
56122987 14035 },
44660702
DM
14036 "heads" : {
14037 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14038 "optional" : 1,
44660702 14039 "type" : "integer"
56122987 14040 },
44660702 14041 "iops" : {
de0983cb 14042 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 14043 "format_description" : "iops",
56122987 14044 "optional" : 1,
44660702 14045 "type" : "integer"
56122987 14046 },
44660702 14047 "iops_max" : {
de0983cb 14048 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14049 "format_description" : "iops",
56122987 14050 "optional" : 1,
44660702 14051 "type" : "integer"
56122987 14052 },
de0983cb
DM
14053 "iops_max_length" : {
14054 "description" : "Maximum length of I/O bursts in seconds.",
14055 "format_description" : "seconds",
14056 "minimum" : 1,
14057 "optional" : 1,
14058 "type" : "integer"
14059 },
7aacca6f 14060 "iops_rd" : {
de0983cb 14061 "description" : "Maximum read I/O in operations per second.",
44660702
DM
14062 "format_description" : "iops",
14063 "optional" : 1,
14064 "type" : "integer"
7aacca6f 14065 },
de0983cb 14066 "iops_rd_length" : {
5d9c884c 14067 "alias" : "iops_rd_max_length"
de0983cb 14068 },
44660702 14069 "iops_rd_max" : {
de0983cb 14070 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14071 "format_description" : "iops",
56122987 14072 "optional" : 1,
44660702 14073 "type" : "integer"
56122987 14074 },
5d9c884c
DM
14075 "iops_rd_max_length" : {
14076 "description" : "Maximum length of read I/O bursts in seconds.",
14077 "format_description" : "seconds",
14078 "minimum" : 1,
14079 "optional" : 1,
14080 "type" : "integer"
14081 },
44660702 14082 "iops_wr" : {
de0983cb 14083 "description" : "Maximum write I/O in operations per second.",
44660702 14084 "format_description" : "iops",
56122987 14085 "optional" : 1,
44660702 14086 "type" : "integer"
7aacca6f 14087 },
de0983cb 14088 "iops_wr_length" : {
5d9c884c 14089 "alias" : "iops_wr_max_length"
de0983cb 14090 },
44660702 14091 "iops_wr_max" : {
de0983cb 14092 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14093 "format_description" : "iops",
7aacca6f 14094 "optional" : 1,
44660702 14095 "type" : "integer"
56122987 14096 },
5d9c884c
DM
14097 "iops_wr_max_length" : {
14098 "description" : "Maximum length of write I/O bursts in seconds.",
14099 "format_description" : "seconds",
14100 "minimum" : 1,
14101 "optional" : 1,
14102 "type" : "integer"
14103 },
44660702 14104 "mbps" : {
de0983cb 14105 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14106 "format_description" : "mbps",
7aacca6f 14107 "optional" : 1,
44660702 14108 "type" : "number"
56122987 14109 },
44660702 14110 "mbps_max" : {
de0983cb 14111 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 14112 "format_description" : "mbps",
56122987 14113 "optional" : 1,
44660702 14114 "type" : "number"
56122987 14115 },
44660702 14116 "mbps_rd" : {
de0983cb 14117 "description" : "Maximum read speed in megabytes per second.",
44660702 14118 "format_description" : "mbps",
7aacca6f 14119 "optional" : 1,
44660702 14120 "type" : "number"
7aacca6f 14121 },
44660702 14122 "mbps_rd_max" : {
de0983cb 14123 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14124 "format_description" : "mbps",
56122987 14125 "optional" : 1,
44660702 14126 "type" : "number"
56122987 14127 },
44660702 14128 "mbps_wr" : {
de0983cb 14129 "description" : "Maximum write speed in megabytes per second.",
44660702 14130 "format_description" : "mbps",
7aacca6f 14131 "optional" : 1,
44660702 14132 "type" : "number"
56122987 14133 },
44660702 14134 "mbps_wr_max" : {
de0983cb 14135 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14136 "format_description" : "mbps",
56122987 14137 "optional" : 1,
44660702 14138 "type" : "number"
7aacca6f
DM
14139 },
14140 "media" : {
44660702
DM
14141 "default" : "disk",
14142 "description" : "The drive's media type.",
56122987 14143 "enum" : [
7aacca6f
DM
14144 "cdrom",
14145 "disk"
56122987 14146 ],
56122987 14147 "optional" : 1,
44660702 14148 "type" : "string"
56122987 14149 },
44660702
DM
14150 "model" : {
14151 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
14152 "format" : "urlencoded",
14153 "format_description" : "model",
14154 "maxLength" : 120,
56122987 14155 "optional" : 1,
44660702 14156 "type" : "string"
56122987 14157 },
5d9c884c
DM
14158 "replicate" : {
14159 "default" : 1,
14160 "description" : "Whether the drive should considered for replication jobs.",
14161 "optional" : 1,
14162 "type" : "boolean"
14163 },
7aacca6f 14164 "rerror" : {
7aacca6f
DM
14165 "description" : "Read error action.",
14166 "enum" : [
14167 "ignore",
14168 "report",
14169 "stop"
44660702 14170 ],
44660702
DM
14171 "optional" : 1,
14172 "type" : "string"
56122987 14173 },
44660702
DM
14174 "secs" : {
14175 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14176 "optional" : 1,
44660702
DM
14177 "type" : "integer"
14178 },
14179 "serial" : {
14180 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14181 "format" : "urlencoded",
14182 "format_description" : "serial",
14183 "maxLength" : 60,
14184 "optional" : 1,
14185 "type" : "string"
14186 },
27a7acb2
DM
14187 "shared" : {
14188 "default" : 0,
14189 "description" : "Mark this locally-managed volume as available on all nodes",
14190 "optional" : 1,
14191 "type" : "boolean",
14192 "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!"
14193 },
44660702
DM
14194 "size" : {
14195 "description" : "Disk size. This is purely informational and has no effect.",
14196 "format" : "disk-size",
f004f5b9 14197 "format_description" : "DiskSize",
44660702
DM
14198 "optional" : 1,
14199 "type" : "string"
7aacca6f
DM
14200 },
14201 "snapshot" : {
27a7acb2 14202 "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 14203 "optional" : 1,
44660702 14204 "type" : "boolean"
7aacca6f 14205 },
44660702
DM
14206 "trans" : {
14207 "description" : "Force disk geometry bios translation mode.",
14208 "enum" : [
14209 "none",
14210 "lba",
14211 "auto"
14212 ],
7aacca6f 14213 "optional" : 1,
44660702
DM
14214 "type" : "string"
14215 },
14216 "volume" : {
14217 "alias" : "file"
14218 },
14219 "werror" : {
14220 "description" : "Write error action.",
14221 "enum" : [
14222 "enospc",
14223 "ignore",
14224 "report",
14225 "stop"
14226 ],
44660702
DM
14227 "optional" : 1,
14228 "type" : "string"
56122987
DM
14229 }
14230 },
56122987 14231 "optional" : 1,
4bd7df8b 14232 "type" : "string",
27a7acb2
DM
14233 "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>]"
14234 },
14235 "ipconfig[n]" : {
14236 "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",
14237 "format" : "pve-qm-ipconfig",
14238 "optional" : 1,
14239 "type" : "string",
14240 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 14241 },
56122987 14242 "keyboard" : {
35a75dd3
DM
14243 "default" : null,
14244 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
56122987 14245 "enum" : [
44660702
DM
14246 "de",
14247 "de-ch",
7aacca6f 14248 "da",
56122987 14249 "en-gb",
44660702
DM
14250 "en-us",
14251 "es",
14252 "fi",
14253 "fr",
14254 "fr-be",
14255 "fr-ca",
14256 "fr-ch",
14257 "hu",
7aacca6f 14258 "is",
44660702
DM
14259 "it",
14260 "ja",
14261 "lt",
56122987 14262 "mk",
7aacca6f 14263 "nl",
56122987 14264 "no",
44660702 14265 "pl",
7aacca6f 14266 "pt",
44660702
DM
14267 "pt-br",
14268 "sv",
14269 "sl",
14270 "tr"
56122987 14271 ],
44660702
DM
14272 "optional" : 1,
14273 "type" : "string"
56122987 14274 },
44660702
DM
14275 "kvm" : {
14276 "default" : 1,
14277 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 14278 "optional" : 1,
013dc89f
DM
14279 "type" : "boolean",
14280 "typetext" : "<boolean>"
7aacca6f 14281 },
44660702
DM
14282 "localtime" : {
14283 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 14284 "optional" : 1,
013dc89f
DM
14285 "type" : "boolean",
14286 "typetext" : "<boolean>"
44660702
DM
14287 },
14288 "lock" : {
14289 "description" : "Lock/unlock the VM.",
7aacca6f
DM
14290 "enum" : [
14291 "migrate",
14292 "backup",
14293 "snapshot",
14294 "rollback"
14295 ],
44660702
DM
14296 "optional" : 1,
14297 "type" : "string"
56122987 14298 },
44660702
DM
14299 "machine" : {
14300 "description" : "Specific the Qemu machine type.",
14301 "maxLength" : 40,
14302 "optional" : 1,
14303 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
14304 "type" : "string"
14305 },
14306 "memory" : {
14307 "default" : 512,
14308 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14309 "minimum" : 16,
14310 "optional" : 1,
4bd7df8b 14311 "type" : "integer",
013dc89f 14312 "typetext" : "<integer> (16 - N)"
44660702
DM
14313 },
14314 "migrate_downtime" : {
14315 "default" : 0.1,
14316 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
14317 "minimum" : 0,
14318 "optional" : 1,
4bd7df8b 14319 "type" : "number",
013dc89f 14320 "typetext" : "<number> (0 - N)"
44660702
DM
14321 },
14322 "migrate_speed" : {
56122987 14323 "default" : 0,
44660702
DM
14324 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
14325 "minimum" : 0,
56122987 14326 "optional" : 1,
4bd7df8b 14327 "type" : "integer",
013dc89f 14328 "typetext" : "<integer> (0 - N)"
56122987 14329 },
27a7acb2
DM
14330 "name" : {
14331 "description" : "Set a name for the VM. Only used on the configuration web interface.",
14332 "format" : "dns-name",
14333 "optional" : 1,
14334 "type" : "string",
14335 "typetext" : "<string>"
14336 },
14337 "nameserver" : {
14338 "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.",
14339 "format" : "address-list",
44660702 14340 "optional" : 1,
013dc89f
DM
14341 "type" : "string",
14342 "typetext" : "<string>"
44660702
DM
14343 },
14344 "net[n]" : {
c2993fe5 14345 "description" : "Specify network devices.",
f004f5b9
DM
14346 "format" : {
14347 "bridge" : {
c2993fe5 14348 "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
14349 "format_description" : "bridge",
14350 "optional" : 1,
14351 "type" : "string"
14352 },
14353 "e1000" : {
14354 "alias" : "macaddr",
14355 "keyAlias" : "model"
14356 },
14357 "e1000-82540em" : {
14358 "alias" : "macaddr",
14359 "keyAlias" : "model"
14360 },
14361 "e1000-82544gc" : {
14362 "alias" : "macaddr",
14363 "keyAlias" : "model"
14364 },
14365 "e1000-82545em" : {
14366 "alias" : "macaddr",
14367 "keyAlias" : "model"
14368 },
14369 "firewall" : {
14370 "description" : "Whether this interface should be protected by the firewall.",
14371 "optional" : 1,
14372 "type" : "boolean"
14373 },
14374 "i82551" : {
14375 "alias" : "macaddr",
14376 "keyAlias" : "model"
14377 },
14378 "i82557b" : {
14379 "alias" : "macaddr",
14380 "keyAlias" : "model"
14381 },
14382 "i82559er" : {
14383 "alias" : "macaddr",
14384 "keyAlias" : "model"
14385 },
14386 "link_down" : {
c2993fe5 14387 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
14388 "optional" : 1,
14389 "type" : "boolean"
14390 },
14391 "macaddr" : {
c2993fe5 14392 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 14393 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
14394 "optional" : 1,
14395 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
14396 "type" : "string"
14397 },
14398 "model" : {
14399 "default_key" : 1,
c2993fe5 14400 "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
14401 "enum" : [
14402 "rtl8139",
14403 "ne2k_pci",
14404 "e1000",
14405 "pcnet",
14406 "virtio",
14407 "ne2k_isa",
14408 "i82551",
14409 "i82557b",
14410 "i82559er",
14411 "vmxnet3",
14412 "e1000-82540em",
14413 "e1000-82544gc",
14414 "e1000-82545em"
14415 ],
f004f5b9
DM
14416 "type" : "string"
14417 },
14418 "ne2k_isa" : {
14419 "alias" : "macaddr",
14420 "keyAlias" : "model"
14421 },
14422 "ne2k_pci" : {
14423 "alias" : "macaddr",
14424 "keyAlias" : "model"
14425 },
14426 "pcnet" : {
14427 "alias" : "macaddr",
14428 "keyAlias" : "model"
14429 },
14430 "queues" : {
14431 "description" : "Number of packet queues to be used on the device.",
14432 "maximum" : 16,
14433 "minimum" : 0,
14434 "optional" : 1,
14435 "type" : "integer"
14436 },
14437 "rate" : {
c2993fe5 14438 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
14439 "minimum" : 0,
14440 "optional" : 1,
14441 "type" : "number"
14442 },
14443 "rtl8139" : {
14444 "alias" : "macaddr",
14445 "keyAlias" : "model"
14446 },
14447 "tag" : {
14448 "description" : "VLAN tag to apply to packets on this interface.",
14449 "maximum" : 4094,
c2993fe5 14450 "minimum" : 1,
f004f5b9
DM
14451 "optional" : 1,
14452 "type" : "integer"
14453 },
14454 "trunks" : {
14455 "description" : "VLAN trunks to pass through this interface.",
14456 "format_description" : "vlanid[;vlanid...]",
14457 "optional" : 1,
14458 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14459 "type" : "string"
14460 },
14461 "virtio" : {
14462 "alias" : "macaddr",
14463 "keyAlias" : "model"
14464 },
14465 "vmxnet3" : {
14466 "alias" : "macaddr",
14467 "keyAlias" : "model"
14468 }
14469 },
44660702 14470 "optional" : 1,
4bd7df8b 14471 "type" : "string",
013dc89f 14472 "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
14473 },
14474 "node" : {
14475 "description" : "The cluster node name.",
14476 "format" : "pve-node",
013dc89f
DM
14477 "type" : "string",
14478 "typetext" : "<string>"
44660702
DM
14479 },
14480 "numa" : {
7aacca6f 14481 "default" : 0,
44660702
DM
14482 "description" : "Enable/disable NUMA.",
14483 "optional" : 1,
013dc89f
DM
14484 "type" : "boolean",
14485 "typetext" : "<boolean>"
56122987 14486 },
7aacca6f 14487 "numa[n]" : {
c2993fe5 14488 "description" : "NUMA topology.",
7aacca6f 14489 "format" : {
44660702 14490 "cpus" : {
c2993fe5 14491 "description" : "CPUs accessing this NUMA node.",
44660702
DM
14492 "format_description" : "id[-id];...",
14493 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14494 "type" : "string"
14495 },
7aacca6f 14496 "hostnodes" : {
c2993fe5 14497 "description" : "Host NUMA nodes to use.",
44660702 14498 "format_description" : "id[-id];...",
7aacca6f 14499 "optional" : 1,
44660702
DM
14500 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14501 "type" : "string"
7aacca6f 14502 },
44660702 14503 "memory" : {
c2993fe5 14504 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
14505 "optional" : 1,
14506 "type" : "number"
7aacca6f
DM
14507 },
14508 "policy" : {
c2993fe5 14509 "description" : "NUMA allocation policy.",
7aacca6f
DM
14510 "enum" : [
14511 "preferred",
14512 "bind",
14513 "interleave"
14514 ],
7aacca6f 14515 "optional" : 1,
44660702 14516 "type" : "string"
7aacca6f
DM
14517 }
14518 },
56122987 14519 "optional" : 1,
4bd7df8b
DM
14520 "type" : "string",
14521 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 14522 },
44660702
DM
14523 "onboot" : {
14524 "default" : 0,
14525 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 14526 "optional" : 1,
013dc89f
DM
14527 "type" : "boolean",
14528 "typetext" : "<boolean>"
56122987
DM
14529 },
14530 "ostype" : {
c2993fe5 14531 "description" : "Specify guest operating system.",
56122987
DM
14532 "enum" : [
14533 "other",
14534 "wxp",
14535 "w2k",
14536 "w2k3",
14537 "w2k8",
14538 "wvista",
14539 "win7",
14540 "win8",
32d876b5 14541 "win10",
56122987
DM
14542 "l24",
14543 "l26",
14544 "solaris"
44660702 14545 ],
56122987 14546 "optional" : 1,
c2993fe5 14547 "type" : "string",
35a75dd3 14548 "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 14549 },
44660702 14550 "parallel[n]" : {
c2993fe5 14551 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 14552 "optional" : 1,
44660702 14553 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
14554 "type" : "string",
14555 "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 14556 },
44660702
DM
14557 "pool" : {
14558 "description" : "Add the VM to the specified pool.",
14559 "format" : "pve-poolid",
56122987 14560 "optional" : 1,
013dc89f
DM
14561 "type" : "string",
14562 "typetext" : "<string>"
56122987 14563 },
44660702
DM
14564 "protection" : {
14565 "default" : 0,
c2993fe5 14566 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 14567 "optional" : 1,
013dc89f
DM
14568 "type" : "boolean",
14569 "typetext" : "<boolean>"
56122987 14570 },
44660702 14571 "reboot" : {
7aacca6f 14572 "default" : 1,
44660702
DM
14573 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
14574 "optional" : 1,
013dc89f
DM
14575 "type" : "boolean",
14576 "typetext" : "<boolean>"
56122987 14577 },
56122987 14578 "sata[n]" : {
44660702 14579 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 14580 "format" : {
7aacca6f 14581 "aio" : {
44660702 14582 "description" : "AIO type to use.",
56122987 14583 "enum" : [
7aacca6f
DM
14584 "native",
14585 "threads"
56122987 14586 ],
7aacca6f 14587 "optional" : 1,
44660702 14588 "type" : "string"
7aacca6f
DM
14589 },
14590 "backup" : {
7aacca6f 14591 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14592 "optional" : 1,
44660702 14593 "type" : "boolean"
56122987 14594 },
44660702 14595 "bps" : {
de0983cb 14596 "description" : "Maximum r/w speed in bytes per second.",
44660702 14597 "format_description" : "bps",
7aacca6f 14598 "optional" : 1,
44660702 14599 "type" : "integer"
56122987 14600 },
de0983cb
DM
14601 "bps_max_length" : {
14602 "description" : "Maximum length of I/O bursts in seconds.",
14603 "format_description" : "seconds",
14604 "minimum" : 1,
14605 "optional" : 1,
14606 "type" : "integer"
14607 },
44660702 14608 "bps_rd" : {
de0983cb 14609 "description" : "Maximum read speed in bytes per second.",
44660702 14610 "format_description" : "bps",
56122987 14611 "optional" : 1,
44660702 14612 "type" : "integer"
7aacca6f 14613 },
de0983cb 14614 "bps_rd_length" : {
5d9c884c
DM
14615 "alias" : "bps_rd_max_length"
14616 },
14617 "bps_rd_max_length" : {
de0983cb
DM
14618 "description" : "Maximum length of read I/O bursts in seconds.",
14619 "format_description" : "seconds",
14620 "minimum" : 1,
14621 "optional" : 1,
14622 "type" : "integer"
14623 },
44660702 14624 "bps_wr" : {
de0983cb 14625 "description" : "Maximum write speed in bytes per second.",
44660702 14626 "format_description" : "bps",
56122987 14627 "optional" : 1,
44660702 14628 "type" : "integer"
56122987 14629 },
de0983cb 14630 "bps_wr_length" : {
5d9c884c
DM
14631 "alias" : "bps_wr_max_length"
14632 },
14633 "bps_wr_max_length" : {
de0983cb
DM
14634 "description" : "Maximum length of write I/O bursts in seconds.",
14635 "format_description" : "seconds",
14636 "minimum" : 1,
14637 "optional" : 1,
14638 "type" : "integer"
14639 },
7aacca6f 14640 "cache" : {
7aacca6f
DM
14641 "description" : "The drive's cache mode",
14642 "enum" : [
14643 "none",
14644 "writethrough",
14645 "writeback",
14646 "unsafe",
14647 "directsync"
14648 ],
44660702
DM
14649 "optional" : 1,
14650 "type" : "string"
56122987 14651 },
44660702
DM
14652 "cyls" : {
14653 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 14654 "optional" : 1,
7aacca6f 14655 "type" : "integer"
56122987 14656 },
7aacca6f
DM
14657 "detect_zeroes" : {
14658 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14659 "optional" : 1,
7aacca6f 14660 "type" : "boolean"
56122987 14661 },
44660702
DM
14662 "discard" : {
14663 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14664 "enum" : [
14665 "ignore",
14666 "on"
14667 ],
56122987 14668 "optional" : 1,
44660702 14669 "type" : "string"
56122987 14670 },
44660702
DM
14671 "file" : {
14672 "default_key" : 1,
14673 "description" : "The drive's backing volume.",
14674 "format" : "pve-volume-id-or-qm-path",
14675 "format_description" : "volume",
14676 "type" : "string"
56122987
DM
14677 },
14678 "format" : {
44660702 14679 "description" : "The drive's backing file's data format.",
56122987
DM
14680 "enum" : [
14681 "raw",
14682 "cow",
14683 "qcow",
14684 "qed",
14685 "qcow2",
14686 "vmdk",
14687 "cloop"
14688 ],
56122987 14689 "optional" : 1,
44660702 14690 "type" : "string"
56122987 14691 },
7aacca6f 14692 "heads" : {
7aacca6f 14693 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14694 "optional" : 1,
14695 "type" : "integer"
56122987 14696 },
44660702 14697 "iops" : {
de0983cb 14698 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
14699 "format_description" : "iops",
14700 "optional" : 1,
14701 "type" : "integer"
56122987 14702 },
44660702 14703 "iops_max" : {
de0983cb 14704 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14705 "format_description" : "iops",
56122987 14706 "optional" : 1,
44660702 14707 "type" : "integer"
56122987 14708 },
de0983cb
DM
14709 "iops_max_length" : {
14710 "description" : "Maximum length of I/O bursts in seconds.",
14711 "format_description" : "seconds",
14712 "minimum" : 1,
14713 "optional" : 1,
14714 "type" : "integer"
14715 },
44660702 14716 "iops_rd" : {
de0983cb 14717 "description" : "Maximum read I/O in operations per second.",
44660702 14718 "format_description" : "iops",
56122987 14719 "optional" : 1,
44660702 14720 "type" : "integer"
56122987 14721 },
de0983cb 14722 "iops_rd_length" : {
5d9c884c 14723 "alias" : "iops_rd_max_length"
de0983cb 14724 },
44660702 14725 "iops_rd_max" : {
de0983cb 14726 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 14727 "format_description" : "iops",
56122987 14728 "optional" : 1,
44660702 14729 "type" : "integer"
56122987 14730 },
5d9c884c
DM
14731 "iops_rd_max_length" : {
14732 "description" : "Maximum length of read I/O bursts in seconds.",
14733 "format_description" : "seconds",
14734 "minimum" : 1,
14735 "optional" : 1,
14736 "type" : "integer"
14737 },
44660702 14738 "iops_wr" : {
de0983cb 14739 "description" : "Maximum write I/O in operations per second.",
44660702 14740 "format_description" : "iops",
7aacca6f 14741 "optional" : 1,
44660702 14742 "type" : "integer"
7aacca6f 14743 },
de0983cb 14744 "iops_wr_length" : {
5d9c884c 14745 "alias" : "iops_wr_max_length"
de0983cb 14746 },
44660702 14747 "iops_wr_max" : {
de0983cb 14748 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14749 "format_description" : "iops",
56122987 14750 "optional" : 1,
7aacca6f 14751 "type" : "integer"
56122987 14752 },
5d9c884c
DM
14753 "iops_wr_max_length" : {
14754 "description" : "Maximum length of write I/O bursts in seconds.",
14755 "format_description" : "seconds",
14756 "minimum" : 1,
14757 "optional" : 1,
14758 "type" : "integer"
14759 },
44660702 14760 "mbps" : {
de0983cb 14761 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14762 "format_description" : "mbps",
56122987 14763 "optional" : 1,
44660702 14764 "type" : "number"
56122987 14765 },
44660702 14766 "mbps_max" : {
de0983cb 14767 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14768 "format_description" : "mbps",
7aacca6f 14769 "optional" : 1,
44660702 14770 "type" : "number"
7aacca6f 14771 },
44660702 14772 "mbps_rd" : {
de0983cb 14773 "description" : "Maximum read speed in megabytes per second.",
44660702 14774 "format_description" : "mbps",
7aacca6f 14775 "optional" : 1,
44660702 14776 "type" : "number"
7aacca6f 14777 },
44660702 14778 "mbps_rd_max" : {
de0983cb 14779 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14780 "format_description" : "mbps",
7aacca6f 14781 "optional" : 1,
44660702 14782 "type" : "number"
7aacca6f 14783 },
44660702 14784 "mbps_wr" : {
de0983cb 14785 "description" : "Maximum write speed in megabytes per second.",
44660702 14786 "format_description" : "mbps",
7aacca6f 14787 "optional" : 1,
44660702 14788 "type" : "number"
7aacca6f
DM
14789 },
14790 "mbps_wr_max" : {
de0983cb 14791 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14792 "format_description" : "mbps",
7aacca6f 14793 "optional" : 1,
44660702 14794 "type" : "number"
7aacca6f 14795 },
44660702
DM
14796 "media" : {
14797 "default" : "disk",
14798 "description" : "The drive's media type.",
56122987 14799 "enum" : [
44660702
DM
14800 "cdrom",
14801 "disk"
56122987 14802 ],
56122987 14803 "optional" : 1,
44660702 14804 "type" : "string"
56122987 14805 },
5d9c884c
DM
14806 "replicate" : {
14807 "default" : 1,
14808 "description" : "Whether the drive should considered for replication jobs.",
14809 "optional" : 1,
14810 "type" : "boolean"
14811 },
44660702
DM
14812 "rerror" : {
14813 "description" : "Read error action.",
7aacca6f
DM
14814 "enum" : [
14815 "ignore",
44660702
DM
14816 "report",
14817 "stop"
7aacca6f 14818 ],
56122987 14819 "optional" : 1,
44660702 14820 "type" : "string"
56122987 14821 },
44660702
DM
14822 "secs" : {
14823 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14824 "optional" : 1,
44660702 14825 "type" : "integer"
56122987 14826 },
44660702
DM
14827 "serial" : {
14828 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14829 "format" : "urlencoded",
14830 "format_description" : "serial",
14831 "maxLength" : 60,
14832 "optional" : 1,
14833 "type" : "string"
7aacca6f 14834 },
27a7acb2
DM
14835 "shared" : {
14836 "default" : 0,
14837 "description" : "Mark this locally-managed volume as available on all nodes",
14838 "optional" : 1,
14839 "type" : "boolean",
14840 "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!"
14841 },
7aacca6f
DM
14842 "size" : {
14843 "description" : "Disk size. This is purely informational and has no effect.",
44660702 14844 "format" : "disk-size",
f004f5b9 14845 "format_description" : "DiskSize",
56122987 14846 "optional" : 1,
44660702 14847 "type" : "string"
56122987 14848 },
44660702 14849 "snapshot" : {
27a7acb2 14850 "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 14851 "optional" : 1,
44660702 14852 "type" : "boolean"
56122987 14853 },
44660702
DM
14854 "trans" : {
14855 "description" : "Force disk geometry bios translation mode.",
56122987 14856 "enum" : [
44660702
DM
14857 "none",
14858 "lba",
14859 "auto"
7aacca6f 14860 ],
44660702
DM
14861 "optional" : 1,
14862 "type" : "string"
14863 },
14864 "volume" : {
14865 "alias" : "file"
56122987
DM
14866 },
14867 "werror" : {
56122987
DM
14868 "description" : "Write error action.",
14869 "enum" : [
14870 "enospc",
14871 "ignore",
14872 "report",
14873 "stop"
14874 ],
56122987 14875 "optional" : 1,
44660702
DM
14876 "type" : "string"
14877 }
14878 },
14879 "optional" : 1,
4bd7df8b 14880 "type" : "string",
27a7acb2 14881 "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
14882 },
14883 "scsi[n]" : {
14884 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
14885 "format" : {
14886 "aio" : {
14887 "description" : "AIO type to use.",
14888 "enum" : [
14889 "native",
14890 "threads"
14891 ],
44660702
DM
14892 "optional" : 1,
14893 "type" : "string"
56122987 14894 },
7aacca6f 14895 "backup" : {
44660702 14896 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14897 "optional" : 1,
44660702 14898 "type" : "boolean"
7aacca6f 14899 },
44660702 14900 "bps" : {
de0983cb 14901 "description" : "Maximum r/w speed in bytes per second.",
44660702 14902 "format_description" : "bps",
7aacca6f 14903 "optional" : 1,
44660702 14904 "type" : "integer"
7aacca6f 14905 },
de0983cb
DM
14906 "bps_max_length" : {
14907 "description" : "Maximum length of I/O bursts in seconds.",
14908 "format_description" : "seconds",
14909 "minimum" : 1,
14910 "optional" : 1,
14911 "type" : "integer"
14912 },
44660702 14913 "bps_rd" : {
de0983cb 14914 "description" : "Maximum read speed in bytes per second.",
44660702 14915 "format_description" : "bps",
56122987 14916 "optional" : 1,
44660702 14917 "type" : "integer"
56122987 14918 },
de0983cb 14919 "bps_rd_length" : {
5d9c884c
DM
14920 "alias" : "bps_rd_max_length"
14921 },
14922 "bps_rd_max_length" : {
de0983cb
DM
14923 "description" : "Maximum length of read I/O bursts in seconds.",
14924 "format_description" : "seconds",
14925 "minimum" : 1,
14926 "optional" : 1,
14927 "type" : "integer"
14928 },
44660702 14929 "bps_wr" : {
de0983cb 14930 "description" : "Maximum write speed in bytes per second.",
44660702 14931 "format_description" : "bps",
7aacca6f 14932 "optional" : 1,
44660702 14933 "type" : "integer"
56122987 14934 },
de0983cb 14935 "bps_wr_length" : {
5d9c884c
DM
14936 "alias" : "bps_wr_max_length"
14937 },
14938 "bps_wr_max_length" : {
de0983cb
DM
14939 "description" : "Maximum length of write I/O bursts in seconds.",
14940 "format_description" : "seconds",
14941 "minimum" : 1,
14942 "optional" : 1,
14943 "type" : "integer"
14944 },
44660702
DM
14945 "cache" : {
14946 "description" : "The drive's cache mode",
7aacca6f
DM
14947 "enum" : [
14948 "none",
44660702
DM
14949 "writethrough",
14950 "writeback",
14951 "unsafe",
14952 "directsync"
7aacca6f 14953 ],
56122987 14954 "optional" : 1,
44660702 14955 "type" : "string"
56122987 14956 },
7aacca6f
DM
14957 "cyls" : {
14958 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14959 "optional" : 1,
44660702 14960 "type" : "integer"
7aacca6f 14961 },
44660702
DM
14962 "detect_zeroes" : {
14963 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14964 "optional" : 1,
44660702 14965 "type" : "boolean"
56122987 14966 },
44660702
DM
14967 "discard" : {
14968 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 14969 "enum" : [
44660702
DM
14970 "ignore",
14971 "on"
7aacca6f 14972 ],
7aacca6f 14973 "optional" : 1,
44660702 14974 "type" : "string"
56122987
DM
14975 },
14976 "file" : {
7aacca6f
DM
14977 "default_key" : 1,
14978 "description" : "The drive's backing volume.",
44660702
DM
14979 "format" : "pve-volume-id-or-qm-path",
14980 "format_description" : "volume",
7aacca6f 14981 "type" : "string"
56122987 14982 },
7aacca6f 14983 "format" : {
44660702 14984 "description" : "The drive's backing file's data format.",
56122987 14985 "enum" : [
7aacca6f
DM
14986 "raw",
14987 "cow",
14988 "qcow",
14989 "qed",
14990 "qcow2",
14991 "vmdk",
14992 "cloop"
56122987 14993 ],
44660702
DM
14994 "optional" : 1,
14995 "type" : "string"
56122987 14996 },
44660702
DM
14997 "heads" : {
14998 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14999 "optional" : 1,
15000 "type" : "integer"
15001 },
15002 "iops" : {
de0983cb 15003 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 15004 "format_description" : "iops",
56122987 15005 "optional" : 1,
44660702 15006 "type" : "integer"
56122987 15007 },
44660702 15008 "iops_max" : {
de0983cb 15009 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 15010 "format_description" : "iops",
7aacca6f 15011 "optional" : 1,
44660702 15012 "type" : "integer"
56122987 15013 },
de0983cb
DM
15014 "iops_max_length" : {
15015 "description" : "Maximum length of I/O bursts in seconds.",
15016 "format_description" : "seconds",
15017 "minimum" : 1,
15018 "optional" : 1,
15019 "type" : "integer"
15020 },
44660702 15021 "iops_rd" : {
de0983cb 15022 "description" : "Maximum read I/O in operations per second.",
44660702 15023 "format_description" : "iops",
56122987 15024 "optional" : 1,
44660702 15025 "type" : "integer"
56122987 15026 },
de0983cb 15027 "iops_rd_length" : {
5d9c884c 15028 "alias" : "iops_rd_max_length"
de0983cb 15029 },
44660702 15030 "iops_rd_max" : {
de0983cb 15031 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15032 "format_description" : "iops",
15033 "optional" : 1,
15034 "type" : "integer"
56122987 15035 },
5d9c884c
DM
15036 "iops_rd_max_length" : {
15037 "description" : "Maximum length of read I/O bursts in seconds.",
15038 "format_description" : "seconds",
15039 "minimum" : 1,
15040 "optional" : 1,
15041 "type" : "integer"
15042 },
44660702 15043 "iops_wr" : {
de0983cb 15044 "description" : "Maximum write I/O in operations per second.",
44660702 15045 "format_description" : "iops",
56122987 15046 "optional" : 1,
44660702 15047 "type" : "integer"
56122987 15048 },
de0983cb 15049 "iops_wr_length" : {
5d9c884c 15050 "alias" : "iops_wr_max_length"
de0983cb 15051 },
44660702 15052 "iops_wr_max" : {
de0983cb 15053 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 15054 "format_description" : "iops",
56122987 15055 "optional" : 1,
56122987
DM
15056 "type" : "integer"
15057 },
5d9c884c
DM
15058 "iops_wr_max_length" : {
15059 "description" : "Maximum length of write I/O bursts in seconds.",
15060 "format_description" : "seconds",
15061 "minimum" : 1,
15062 "optional" : 1,
15063 "type" : "integer"
15064 },
44660702
DM
15065 "iothread" : {
15066 "description" : "Whether to use iothreads for this drive",
44660702
DM
15067 "optional" : 1,
15068 "type" : "boolean"
15069 },
15070 "mbps" : {
de0983cb 15071 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15072 "format_description" : "mbps",
15073 "optional" : 1,
15074 "type" : "number"
15075 },
7aacca6f 15076 "mbps_max" : {
de0983cb 15077 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 15078 "format_description" : "mbps",
56122987 15079 "optional" : 1,
44660702 15080 "type" : "number"
56122987 15081 },
44660702 15082 "mbps_rd" : {
de0983cb 15083 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15084 "format_description" : "mbps",
15085 "optional" : 1,
15086 "type" : "number"
56122987 15087 },
44660702 15088 "mbps_rd_max" : {
de0983cb 15089 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 15090 "format_description" : "mbps",
56122987 15091 "optional" : 1,
44660702 15092 "type" : "number"
56122987 15093 },
44660702 15094 "mbps_wr" : {
de0983cb 15095 "description" : "Maximum write speed in megabytes per second.",
44660702 15096 "format_description" : "mbps",
56122987 15097 "optional" : 1,
44660702 15098 "type" : "number"
56122987 15099 },
44660702 15100 "mbps_wr_max" : {
de0983cb 15101 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 15102 "format_description" : "mbps",
7aacca6f 15103 "optional" : 1,
44660702 15104 "type" : "number"
56122987 15105 },
7aacca6f 15106 "media" : {
44660702 15107 "default" : "disk",
7aacca6f
DM
15108 "description" : "The drive's media type.",
15109 "enum" : [
15110 "cdrom",
15111 "disk"
15112 ],
56122987 15113 "optional" : 1,
44660702 15114 "type" : "string"
56122987 15115 },
44660702
DM
15116 "queues" : {
15117 "description" : "Number of queues.",
44660702
DM
15118 "minimum" : 2,
15119 "optional" : 1,
15120 "type" : "integer"
56122987 15121 },
5d9c884c
DM
15122 "replicate" : {
15123 "default" : 1,
15124 "description" : "Whether the drive should considered for replication jobs.",
15125 "optional" : 1,
15126 "type" : "boolean"
15127 },
15128 "rerror" : {
15129 "description" : "Read error action.",
15130 "enum" : [
15131 "ignore",
15132 "report",
15133 "stop"
15134 ],
15135 "optional" : 1,
15136 "type" : "string"
15137 },
52e44c50
FG
15138 "scsiblock" : {
15139 "default" : 0,
15140 "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",
15141 "optional" : 1,
15142 "type" : "boolean"
15143 },
7aacca6f 15144 "secs" : {
7aacca6f 15145 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
15146 "optional" : 1,
15147 "type" : "integer"
15148 },
15149 "serial" : {
15150 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15151 "format" : "urlencoded",
15152 "format_description" : "serial",
15153 "maxLength" : 60,
15154 "optional" : 1,
15155 "type" : "string"
15156 },
27a7acb2
DM
15157 "shared" : {
15158 "default" : 0,
15159 "description" : "Mark this locally-managed volume as available on all nodes",
15160 "optional" : 1,
15161 "type" : "boolean",
15162 "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!"
15163 },
44660702
DM
15164 "size" : {
15165 "description" : "Disk size. This is purely informational and has no effect.",
15166 "format" : "disk-size",
f004f5b9 15167 "format_description" : "DiskSize",
44660702
DM
15168 "optional" : 1,
15169 "type" : "string"
15170 },
15171 "snapshot" : {
27a7acb2 15172 "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
15173 "optional" : 1,
15174 "type" : "boolean"
15175 },
15176 "trans" : {
15177 "description" : "Force disk geometry bios translation mode.",
15178 "enum" : [
15179 "none",
15180 "lba",
15181 "auto"
15182 ],
44660702
DM
15183 "optional" : 1,
15184 "type" : "string"
15185 },
15186 "volume" : {
15187 "alias" : "file"
15188 },
15189 "werror" : {
15190 "description" : "Write error action.",
15191 "enum" : [
15192 "enospc",
15193 "ignore",
15194 "report",
15195 "stop"
15196 ],
44660702
DM
15197 "optional" : 1,
15198 "type" : "string"
56122987
DM
15199 }
15200 },
7aacca6f 15201 "optional" : 1,
4bd7df8b 15202 "type" : "string",
27a7acb2 15203 "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 15204 },
44660702
DM
15205 "scsihw" : {
15206 "default" : "lsi",
c2993fe5 15207 "description" : "SCSI controller model",
44660702
DM
15208 "enum" : [
15209 "lsi",
15210 "lsi53c810",
15211 "virtio-scsi-pci",
15212 "virtio-scsi-single",
15213 "megasas",
15214 "pvscsi"
15215 ],
7aacca6f 15216 "optional" : 1,
44660702 15217 "type" : "string"
7aacca6f 15218 },
27a7acb2
DM
15219 "searchdomain" : {
15220 "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.",
15221 "optional" : 1,
15222 "type" : "string",
15223 "typetext" : "<string>"
15224 },
44660702 15225 "serial[n]" : {
c2993fe5 15226 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
15227 "optional" : 1,
15228 "pattern" : "(/dev/.+|socket)",
c2993fe5 15229 "type" : "string",
57b78691 15230 "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
15231 },
15232 "shares" : {
15233 "default" : 1000,
15234 "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",
15235 "maximum" : 50000,
15236 "minimum" : 0,
15237 "optional" : 1,
4bd7df8b 15238 "type" : "integer",
013dc89f 15239 "typetext" : "<integer> (0 - 50000)"
44660702
DM
15240 },
15241 "smbios1" : {
15242 "description" : "Specify SMBIOS type 1 fields.",
15243 "format" : "pve-qm-smbios1",
15244 "maxLength" : 256,
7aacca6f 15245 "optional" : 1,
4bd7df8b
DM
15246 "type" : "string",
15247 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
15248 },
15249 "smp" : {
44660702 15250 "default" : 1,
7aacca6f 15251 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 15252 "minimum" : 1,
56122987 15253 "optional" : 1,
4bd7df8b 15254 "type" : "integer",
013dc89f 15255 "typetext" : "<integer> (1 - N)"
44660702
DM
15256 },
15257 "sockets" : {
7aacca6f 15258 "default" : 1,
44660702
DM
15259 "description" : "The number of CPU sockets.",
15260 "minimum" : 1,
15261 "optional" : 1,
4bd7df8b 15262 "type" : "integer",
013dc89f 15263 "typetext" : "<integer> (1 - N)"
7aacca6f 15264 },
27a7acb2
DM
15265 "sshkeys" : {
15266 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
15267 "format" : "urlencoded",
15268 "optional" : 1,
15269 "type" : "string",
15270 "typetext" : "<string>"
15271 },
44660702
DM
15272 "startdate" : {
15273 "default" : "now",
15274 "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'.",
15275 "optional" : 1,
15276 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
15277 "type" : "string",
15278 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
15279 },
15280 "startup" : {
15281 "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.",
15282 "format" : "pve-startup-order",
15283 "optional" : 1,
15284 "type" : "string",
15285 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15286 },
15287 "storage" : {
15288 "description" : "Default storage.",
15289 "format" : "pve-storage-id",
7aacca6f 15290 "optional" : 1,
013dc89f
DM
15291 "type" : "string",
15292 "typetext" : "<string>"
56122987 15293 },
44660702
DM
15294 "tablet" : {
15295 "default" : 1,
c2993fe5 15296 "description" : "Enable/disable the USB tablet device.",
56122987 15297 "optional" : 1,
c2993fe5 15298 "type" : "boolean",
013dc89f 15299 "typetext" : "<boolean>",
c2993fe5 15300 "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
15301 },
15302 "tdf" : {
15303 "default" : 0,
15304 "description" : "Enable/disable time drift fix.",
15305 "optional" : 1,
013dc89f
DM
15306 "type" : "boolean",
15307 "typetext" : "<boolean>"
7aacca6f
DM
15308 },
15309 "template" : {
7aacca6f 15310 "default" : 0,
44660702 15311 "description" : "Enable/disable Template.",
7aacca6f 15312 "optional" : 1,
013dc89f
DM
15313 "type" : "boolean",
15314 "typetext" : "<boolean>"
7aacca6f 15315 },
44660702
DM
15316 "unique" : {
15317 "description" : "Assign a unique random ethernet address.",
7aacca6f 15318 "optional" : 1,
44660702 15319 "requires" : "archive",
013dc89f
DM
15320 "type" : "boolean",
15321 "typetext" : "<boolean>"
56122987 15322 },
44660702 15323 "unused[n]" : {
c2993fe5 15324 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 15325 "format" : "pve-volume-id",
7aacca6f 15326 "optional" : 1,
013dc89f
DM
15327 "type" : "string",
15328 "typetext" : "<string>"
44660702
DM
15329 },
15330 "usb[n]" : {
c2993fe5 15331 "description" : "Configure an USB device (n is 0 to 4).",
56122987 15332 "format" : {
7aacca6f
DM
15333 "host" : {
15334 "default_key" : 1,
c2993fe5 15335 "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 15336 "format" : "pve-qm-usb-device",
44660702
DM
15337 "format_description" : "HOSTUSBDEVICE|spice",
15338 "type" : "string"
7aacca6f 15339 },
56122987 15340 "usb3" : {
c2993fe5
DM
15341 "default" : 0,
15342 "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 15343 "optional" : 1,
56122987 15344 "type" : "boolean"
7aacca6f 15345 }
56122987 15346 },
56122987 15347 "optional" : 1,
4bd7df8b
DM
15348 "type" : "string",
15349 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 15350 },
44660702
DM
15351 "vcpus" : {
15352 "default" : 0,
15353 "description" : "Number of hotplugged vcpus.",
15354 "minimum" : 1,
56122987 15355 "optional" : 1,
4bd7df8b 15356 "type" : "integer",
013dc89f 15357 "typetext" : "<integer> (1 - N)"
7aacca6f 15358 },
44660702 15359 "vga" : {
c2993fe5 15360 "description" : "Select the VGA type.",
44660702
DM
15361 "enum" : [
15362 "std",
15363 "cirrus",
15364 "vmware",
15365 "qxl",
15366 "serial0",
15367 "serial1",
15368 "serial2",
15369 "serial3",
15370 "qxl2",
15371 "qxl3",
15372 "qxl4"
15373 ],
15374 "optional" : 1,
c2993fe5
DM
15375 "type" : "string",
15376 "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 15377 },
44660702
DM
15378 "virtio[n]" : {
15379 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
15380 "format" : {
15381 "aio" : {
15382 "description" : "AIO type to use.",
15383 "enum" : [
15384 "native",
15385 "threads"
15386 ],
44660702
DM
15387 "optional" : 1,
15388 "type" : "string"
15389 },
15390 "backup" : {
15391 "description" : "Whether the drive should be included when making backups.",
44660702
DM
15392 "optional" : 1,
15393 "type" : "boolean"
15394 },
15395 "bps" : {
de0983cb 15396 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
15397 "format_description" : "bps",
15398 "optional" : 1,
15399 "type" : "integer"
15400 },
de0983cb
DM
15401 "bps_max_length" : {
15402 "description" : "Maximum length of I/O bursts in seconds.",
15403 "format_description" : "seconds",
15404 "minimum" : 1,
15405 "optional" : 1,
15406 "type" : "integer"
15407 },
44660702 15408 "bps_rd" : {
de0983cb 15409 "description" : "Maximum read speed in bytes per second.",
44660702
DM
15410 "format_description" : "bps",
15411 "optional" : 1,
15412 "type" : "integer"
15413 },
de0983cb 15414 "bps_rd_length" : {
5d9c884c
DM
15415 "alias" : "bps_rd_max_length"
15416 },
15417 "bps_rd_max_length" : {
de0983cb
DM
15418 "description" : "Maximum length of read I/O bursts in seconds.",
15419 "format_description" : "seconds",
15420 "minimum" : 1,
15421 "optional" : 1,
15422 "type" : "integer"
15423 },
44660702 15424 "bps_wr" : {
de0983cb 15425 "description" : "Maximum write speed in bytes per second.",
44660702
DM
15426 "format_description" : "bps",
15427 "optional" : 1,
15428 "type" : "integer"
15429 },
de0983cb 15430 "bps_wr_length" : {
5d9c884c
DM
15431 "alias" : "bps_wr_max_length"
15432 },
15433 "bps_wr_max_length" : {
de0983cb
DM
15434 "description" : "Maximum length of write I/O bursts in seconds.",
15435 "format_description" : "seconds",
15436 "minimum" : 1,
15437 "optional" : 1,
15438 "type" : "integer"
15439 },
44660702
DM
15440 "cache" : {
15441 "description" : "The drive's cache mode",
15442 "enum" : [
15443 "none",
15444 "writethrough",
15445 "writeback",
15446 "unsafe",
15447 "directsync"
15448 ],
44660702
DM
15449 "optional" : 1,
15450 "type" : "string"
15451 },
15452 "cyls" : {
15453 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15454 "optional" : 1,
15455 "type" : "integer"
15456 },
15457 "detect_zeroes" : {
15458 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15459 "optional" : 1,
15460 "type" : "boolean"
15461 },
15462 "discard" : {
15463 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15464 "enum" : [
15465 "ignore",
15466 "on"
15467 ],
44660702
DM
15468 "optional" : 1,
15469 "type" : "string"
15470 },
15471 "file" : {
15472 "default_key" : 1,
15473 "description" : "The drive's backing volume.",
15474 "format" : "pve-volume-id-or-qm-path",
15475 "format_description" : "volume",
15476 "type" : "string"
15477 },
15478 "format" : {
15479 "description" : "The drive's backing file's data format.",
15480 "enum" : [
15481 "raw",
15482 "cow",
15483 "qcow",
15484 "qed",
15485 "qcow2",
15486 "vmdk",
15487 "cloop"
15488 ],
44660702
DM
15489 "optional" : 1,
15490 "type" : "string"
15491 },
15492 "heads" : {
15493 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15494 "optional" : 1,
15495 "type" : "integer"
15496 },
15497 "iops" : {
de0983cb 15498 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
15499 "format_description" : "iops",
15500 "optional" : 1,
15501 "type" : "integer"
15502 },
15503 "iops_max" : {
de0983cb 15504 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
15505 "format_description" : "iops",
15506 "optional" : 1,
15507 "type" : "integer"
15508 },
de0983cb
DM
15509 "iops_max_length" : {
15510 "description" : "Maximum length of I/O bursts in seconds.",
15511 "format_description" : "seconds",
15512 "minimum" : 1,
15513 "optional" : 1,
15514 "type" : "integer"
15515 },
44660702 15516 "iops_rd" : {
de0983cb 15517 "description" : "Maximum read I/O in operations per second.",
44660702
DM
15518 "format_description" : "iops",
15519 "optional" : 1,
15520 "type" : "integer"
15521 },
de0983cb 15522 "iops_rd_length" : {
5d9c884c 15523 "alias" : "iops_rd_max_length"
de0983cb 15524 },
44660702 15525 "iops_rd_max" : {
de0983cb 15526 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15527 "format_description" : "iops",
15528 "optional" : 1,
15529 "type" : "integer"
15530 },
5d9c884c
DM
15531 "iops_rd_max_length" : {
15532 "description" : "Maximum length of read I/O bursts in seconds.",
15533 "format_description" : "seconds",
15534 "minimum" : 1,
15535 "optional" : 1,
15536 "type" : "integer"
15537 },
44660702 15538 "iops_wr" : {
de0983cb 15539 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15540 "format_description" : "iops",
15541 "optional" : 1,
15542 "type" : "integer"
15543 },
de0983cb 15544 "iops_wr_length" : {
5d9c884c 15545 "alias" : "iops_wr_max_length"
de0983cb 15546 },
44660702 15547 "iops_wr_max" : {
de0983cb 15548 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15549 "format_description" : "iops",
15550 "optional" : 1,
15551 "type" : "integer"
15552 },
5d9c884c
DM
15553 "iops_wr_max_length" : {
15554 "description" : "Maximum length of write I/O bursts in seconds.",
15555 "format_description" : "seconds",
15556 "minimum" : 1,
15557 "optional" : 1,
15558 "type" : "integer"
15559 },
44660702
DM
15560 "iothread" : {
15561 "description" : "Whether to use iothreads for this drive",
44660702
DM
15562 "optional" : 1,
15563 "type" : "boolean"
15564 },
15565 "mbps" : {
de0983cb 15566 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15567 "format_description" : "mbps",
15568 "optional" : 1,
15569 "type" : "number"
15570 },
15571 "mbps_max" : {
de0983cb 15572 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
15573 "format_description" : "mbps",
15574 "optional" : 1,
15575 "type" : "number"
15576 },
15577 "mbps_rd" : {
de0983cb 15578 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15579 "format_description" : "mbps",
15580 "optional" : 1,
15581 "type" : "number"
15582 },
15583 "mbps_rd_max" : {
de0983cb 15584 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15585 "format_description" : "mbps",
15586 "optional" : 1,
15587 "type" : "number"
15588 },
15589 "mbps_wr" : {
de0983cb 15590 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15591 "format_description" : "mbps",
15592 "optional" : 1,
15593 "type" : "number"
15594 },
15595 "mbps_wr_max" : {
de0983cb 15596 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15597 "format_description" : "mbps",
15598 "optional" : 1,
15599 "type" : "number"
15600 },
15601 "media" : {
15602 "default" : "disk",
15603 "description" : "The drive's media type.",
15604 "enum" : [
15605 "cdrom",
15606 "disk"
15607 ],
44660702
DM
15608 "optional" : 1,
15609 "type" : "string"
15610 },
5d9c884c
DM
15611 "replicate" : {
15612 "default" : 1,
15613 "description" : "Whether the drive should considered for replication jobs.",
15614 "optional" : 1,
15615 "type" : "boolean"
15616 },
44660702
DM
15617 "rerror" : {
15618 "description" : "Read error action.",
15619 "enum" : [
15620 "ignore",
15621 "report",
15622 "stop"
15623 ],
44660702
DM
15624 "optional" : 1,
15625 "type" : "string"
15626 },
15627 "secs" : {
15628 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
15629 "optional" : 1,
15630 "type" : "integer"
15631 },
15632 "serial" : {
15633 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15634 "format" : "urlencoded",
15635 "format_description" : "serial",
15636 "maxLength" : 60,
15637 "optional" : 1,
15638 "type" : "string"
15639 },
27a7acb2
DM
15640 "shared" : {
15641 "default" : 0,
15642 "description" : "Mark this locally-managed volume as available on all nodes",
15643 "optional" : 1,
15644 "type" : "boolean",
15645 "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!"
15646 },
44660702
DM
15647 "size" : {
15648 "description" : "Disk size. This is purely informational and has no effect.",
15649 "format" : "disk-size",
f004f5b9 15650 "format_description" : "DiskSize",
44660702
DM
15651 "optional" : 1,
15652 "type" : "string"
15653 },
15654 "snapshot" : {
27a7acb2 15655 "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
15656 "optional" : 1,
15657 "type" : "boolean"
15658 },
15659 "trans" : {
15660 "description" : "Force disk geometry bios translation mode.",
15661 "enum" : [
15662 "none",
15663 "lba",
15664 "auto"
15665 ],
44660702
DM
15666 "optional" : 1,
15667 "type" : "string"
15668 },
15669 "volume" : {
15670 "alias" : "file"
15671 },
15672 "werror" : {
15673 "description" : "Write error action.",
15674 "enum" : [
15675 "enospc",
15676 "ignore",
15677 "report",
15678 "stop"
15679 ],
44660702
DM
15680 "optional" : 1,
15681 "type" : "string"
15682 }
15683 },
15684 "optional" : 1,
4bd7df8b 15685 "type" : "string",
27a7acb2 15686 "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 15687 },
44660702
DM
15688 "vmid" : {
15689 "description" : "The (unique) ID of the VM.",
15690 "format" : "pve-vmid",
15691 "minimum" : 1,
4bd7df8b 15692 "type" : "integer",
013dc89f 15693 "typetext" : "<integer> (1 - N)"
44660702 15694 },
2489d6df
WB
15695 "vmstatestorage" : {
15696 "description" : "Default storage for VM state volumes/files.",
15697 "format" : "pve-storage-id",
15698 "optional" : 1,
15699 "type" : "string",
15700 "typetext" : "<string>"
15701 },
44660702 15702 "watchdog" : {
c2993fe5 15703 "description" : "Create a virtual hardware watchdog device.",
44660702 15704 "format" : "pve-qm-watchdog",
7aacca6f 15705 "optional" : 1,
c2993fe5 15706 "type" : "string",
013dc89f 15707 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 15708 "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 15709 }
44660702 15710 }
56122987 15711 },
56122987 15712 "permissions" : {
44660702
DM
15713 "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.",
15714 "user" : "all"
56122987 15715 },
44660702
DM
15716 "protected" : 1,
15717 "proxyto" : "node",
56122987 15718 "returns" : {
44660702 15719 "type" : "string"
7aacca6f 15720 }
56122987 15721 }
7aacca6f 15722 },
44660702 15723 "leaf" : 0,
7aacca6f 15724 "path" : "/nodes/{node}/qemu",
44660702 15725 "text" : "qemu"
56122987
DM
15726 },
15727 {
15728 "children" : [
15729 {
56122987
DM
15730 "children" : [
15731 {
56122987 15732 "info" : {
44660702
DM
15733 "GET" : {
15734 "description" : "Get container configuration.",
15735 "method" : "GET",
15736 "name" : "vm_config",
15737 "parameters" : {
15738 "additionalProperties" : 0,
15739 "properties" : {
15740 "node" : {
15741 "description" : "The cluster node name.",
15742 "format" : "pve-node",
013dc89f
DM
15743 "type" : "string",
15744 "typetext" : "<string>"
44660702
DM
15745 },
15746 "vmid" : {
15747 "description" : "The (unique) ID of the VM.",
15748 "format" : "pve-vmid",
15749 "minimum" : 1,
4bd7df8b 15750 "type" : "integer",
013dc89f 15751 "typetext" : "<integer> (1 - N)"
44660702
DM
15752 }
15753 }
15754 },
15755 "permissions" : {
15756 "check" : [
15757 "perm",
15758 "/vms/{vmid}",
15759 [
15760 "VM.Audit"
15761 ]
15762 ]
15763 },
15764 "proxyto" : "node",
15765 "returns" : {
15766 "properties" : {
15767 "digest" : {
15768 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
15769 "type" : "string"
15770 }
15771 },
15772 "type" : "object"
15773 }
15774 },
56122987 15775 "PUT" : {
44660702
DM
15776 "description" : "Set container options.",
15777 "method" : "PUT",
15778 "name" : "update_vm",
56122987 15779 "parameters" : {
44660702 15780 "additionalProperties" : 0,
56122987 15781 "properties" : {
44660702
DM
15782 "arch" : {
15783 "default" : "amd64",
15784 "description" : "OS architecture type.",
15785 "enum" : [
15786 "amd64",
15787 "i386"
15788 ],
7aacca6f 15789 "optional" : 1,
44660702
DM
15790 "type" : "string"
15791 },
15792 "cmode" : {
7aacca6f 15793 "default" : "tty",
44660702 15794 "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
15795 "enum" : [
15796 "shell",
15797 "console",
15798 "tty"
15799 ],
44660702
DM
15800 "optional" : 1,
15801 "type" : "string"
7aacca6f 15802 },
44660702
DM
15803 "console" : {
15804 "default" : 1,
15805 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 15806 "optional" : 1,
013dc89f
DM
15807 "type" : "boolean",
15808 "typetext" : "<boolean>"
7aacca6f 15809 },
de0983cb
DM
15810 "cores" : {
15811 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
15812 "maximum" : 128,
15813 "minimum" : 1,
15814 "optional" : 1,
15815 "type" : "integer",
013dc89f 15816 "typetext" : "<integer> (1 - 128)"
de0983cb 15817 },
44660702
DM
15818 "cpulimit" : {
15819 "default" : 0,
15820 "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.",
15821 "maximum" : 128,
7aacca6f 15822 "minimum" : 0,
7aacca6f 15823 "optional" : 1,
4bd7df8b 15824 "type" : "number",
013dc89f 15825 "typetext" : "<number> (0 - 128)"
7aacca6f 15826 },
44660702
DM
15827 "cpuunits" : {
15828 "default" : 1024,
15829 "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.",
15830 "maximum" : 500000,
15831 "minimum" : 0,
15832 "optional" : 1,
4bd7df8b 15833 "type" : "integer",
013dc89f 15834 "typetext" : "<integer> (0 - 500000)"
7aacca6f 15835 },
44660702
DM
15836 "delete" : {
15837 "description" : "A list of settings you want to delete.",
15838 "format" : "pve-configid-list",
7aacca6f 15839 "optional" : 1,
013dc89f
DM
15840 "type" : "string",
15841 "typetext" : "<string>"
7aacca6f 15842 },
44660702
DM
15843 "description" : {
15844 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 15845 "optional" : 1,
013dc89f
DM
15846 "type" : "string",
15847 "typetext" : "<string>"
7aacca6f 15848 },
44660702
DM
15849 "digest" : {
15850 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15851 "maxLength" : 40,
7aacca6f 15852 "optional" : 1,
013dc89f
DM
15853 "type" : "string",
15854 "typetext" : "<string>"
7aacca6f 15855 },
44660702
DM
15856 "hostname" : {
15857 "description" : "Set a host name for the container.",
15858 "format" : "dns-name",
15859 "maxLength" : 255,
56122987 15860 "optional" : 1,
013dc89f
DM
15861 "type" : "string",
15862 "typetext" : "<string>"
44660702
DM
15863 },
15864 "lock" : {
15865 "description" : "Lock/unlock the VM.",
15866 "enum" : [
15867 "migrate",
15868 "backup",
15869 "snapshot",
15870 "rollback"
15871 ],
15872 "optional" : 1,
15873 "type" : "string"
15874 },
15875 "memory" : {
15876 "default" : 512,
15877 "description" : "Amount of RAM for the VM in MB.",
15878 "minimum" : 16,
15879 "optional" : 1,
4bd7df8b 15880 "type" : "integer",
013dc89f 15881 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
15882 },
15883 "mp[n]" : {
c2993fe5 15884 "description" : "Use volume as container mount point.",
7aacca6f 15885 "format" : {
7aacca6f
DM
15886 "acl" : {
15887 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 15888 "optional" : 1,
44660702 15889 "type" : "boolean"
7aacca6f
DM
15890 },
15891 "backup" : {
de0983cb 15892 "description" : "Whether to include the mount point in backups.",
7aacca6f 15893 "optional" : 1,
4bd7df8b 15894 "type" : "boolean",
de0983cb 15895 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
15896 },
15897 "mp" : {
de0983cb 15898 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 15899 "format" : "pve-lxc-mp-string",
44660702 15900 "format_description" : "Path",
4bd7df8b 15901 "type" : "string",
de0983cb 15902 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 15903 },
5d9c884c
DM
15904 "quota" : {
15905 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
15906 "optional" : 1,
15907 "type" : "boolean"
15908 },
15909 "replicate" : {
15910 "default" : 1,
15911 "description" : "Will include this volume to a storage replica job.",
44660702
DM
15912 "optional" : 1,
15913 "type" : "boolean"
15914 },
15915 "ro" : {
de0983cb 15916 "description" : "Read-only mount point",
44660702
DM
15917 "optional" : 1,
15918 "type" : "boolean"
15919 },
de0983cb
DM
15920 "shared" : {
15921 "default" : 0,
15922 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
15923 "optional" : 1,
15924 "type" : "boolean",
15925 "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!"
15926 },
44660702
DM
15927 "size" : {
15928 "description" : "Volume size (read only value).",
15929 "format" : "disk-size",
15930 "format_description" : "DiskSize",
15931 "optional" : 1,
15932 "type" : "string"
15933 },
15934 "volume" : {
15935 "default_key" : 1,
15936 "description" : "Volume, device or directory to mount into the container.",
15937 "format" : "pve-lxc-mp-string",
15938 "format_description" : "volume",
15939 "type" : "string"
15940 }
15941 },
7aacca6f 15942 "optional" : 1,
4bd7df8b 15943 "type" : "string",
5d9c884c 15944 "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 15945 },
44660702
DM
15946 "nameserver" : {
15947 "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.",
15948 "format" : "address-list",
56122987 15949 "optional" : 1,
013dc89f
DM
15950 "type" : "string",
15951 "typetext" : "<string>"
56122987
DM
15952 },
15953 "net[n]" : {
44660702 15954 "description" : "Specifies network interfaces for the container.",
56122987 15955 "format" : {
44660702
DM
15956 "bridge" : {
15957 "description" : "Bridge to attach the network device to.",
f004f5b9 15958 "format_description" : "bridge",
56122987 15959 "optional" : 1,
44660702
DM
15960 "pattern" : "[-_.\\w\\d]+",
15961 "type" : "string"
56122987 15962 },
44660702
DM
15963 "firewall" : {
15964 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 15965 "optional" : 1,
44660702 15966 "type" : "boolean"
56122987 15967 },
44660702
DM
15968 "gw" : {
15969 "description" : "Default gateway for IPv4 traffic.",
15970 "format" : "ipv4",
15971 "format_description" : "GatewayIPv4",
56122987 15972 "optional" : 1,
44660702 15973 "type" : "string"
56122987
DM
15974 },
15975 "gw6" : {
7aacca6f 15976 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
15977 "format" : "ipv6",
15978 "format_description" : "GatewayIPv6",
7aacca6f 15979 "optional" : 1,
56122987
DM
15980 "type" : "string"
15981 },
44660702 15982 "hwaddr" : {
f004f5b9
DM
15983 "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)",
15984 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
15985 "optional" : 1,
15986 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
15987 "type" : "string"
15988 },
15989 "ip" : {
15990 "description" : "IPv4 address in CIDR format.",
15991 "format" : "pve-ipv4-config",
2489d6df 15992 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 15993 "optional" : 1,
44660702 15994 "type" : "string"
56122987 15995 },
7aacca6f 15996 "ip6" : {
7aacca6f
DM
15997 "description" : "IPv6 address in CIDR format.",
15998 "format" : "pve-ipv6-config",
2489d6df 15999 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 16000 "optional" : 1,
44660702 16001 "type" : "string"
56122987 16002 },
44660702
DM
16003 "mtu" : {
16004 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 16005 "minimum" : 64,
56122987 16006 "optional" : 1,
44660702 16007 "type" : "integer"
56122987
DM
16008 },
16009 "name" : {
44660702 16010 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 16011 "format_description" : "string",
56122987 16012 "pattern" : "[-_.\\w\\d]+",
44660702 16013 "type" : "string"
56122987 16014 },
44660702
DM
16015 "rate" : {
16016 "description" : "Apply rate limiting to the interface",
16017 "format_description" : "mbps",
56122987 16018 "optional" : 1,
44660702 16019 "type" : "number"
7aacca6f 16020 },
44660702
DM
16021 "tag" : {
16022 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
16023 "maximum" : 4094,
16024 "minimum" : 1,
56122987 16025 "optional" : 1,
7aacca6f 16026 "type" : "integer"
56122987 16027 },
44660702
DM
16028 "trunks" : {
16029 "description" : "VLAN ids to pass through the interface",
16030 "format_description" : "vlanid[;vlanid...]",
16031 "optional" : 1,
16032 "pattern" : "(?^:\\d+(?:;\\d+)*)",
16033 "type" : "string"
16034 },
16035 "type" : {
16036 "description" : "Network interface type.",
16037 "enum" : [
16038 "veth"
16039 ],
56122987 16040 "optional" : 1,
44660702 16041 "type" : "string"
56122987
DM
16042 }
16043 },
7aacca6f 16044 "optional" : 1,
4bd7df8b 16045 "type" : "string",
2489d6df 16046 "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 16047 },
44660702
DM
16048 "node" : {
16049 "description" : "The cluster node name.",
16050 "format" : "pve-node",
013dc89f
DM
16051 "type" : "string",
16052 "typetext" : "<string>"
56122987 16053 },
44660702
DM
16054 "onboot" : {
16055 "default" : 0,
16056 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 16057 "optional" : 1,
013dc89f
DM
16058 "type" : "boolean",
16059 "typetext" : "<boolean>"
56122987 16060 },
44660702
DM
16061 "ostype" : {
16062 "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.",
16063 "enum" : [
16064 "debian",
16065 "ubuntu",
16066 "centos",
16067 "fedora",
16068 "opensuse",
16069 "archlinux",
16070 "alpine",
57b78691 16071 "gentoo",
44660702
DM
16072 "unmanaged"
16073 ],
56122987 16074 "optional" : 1,
44660702 16075 "type" : "string"
56122987 16076 },
44660702
DM
16077 "protection" : {
16078 "default" : 0,
16079 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 16080 "optional" : 1,
013dc89f
DM
16081 "type" : "boolean",
16082 "typetext" : "<boolean>"
56122987 16083 },
7aacca6f
DM
16084 "rootfs" : {
16085 "description" : "Use volume as container root.",
56122987
DM
16086 "format" : {
16087 "acl" : {
44660702 16088 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
16089 "optional" : 1,
16090 "type" : "boolean"
56122987 16091 },
44660702
DM
16092 "quota" : {
16093 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
16094 "optional" : 1,
16095 "type" : "boolean"
16096 },
5d9c884c
DM
16097 "replicate" : {
16098 "default" : 1,
16099 "description" : "Will include this volume to a storage replica job.",
16100 "optional" : 1,
16101 "type" : "boolean"
16102 },
44660702 16103 "ro" : {
de0983cb 16104 "description" : "Read-only mount point",
56122987 16105 "optional" : 1,
44660702
DM
16106 "type" : "boolean"
16107 },
de0983cb
DM
16108 "shared" : {
16109 "default" : 0,
16110 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16111 "optional" : 1,
16112 "type" : "boolean",
16113 "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!"
16114 },
44660702 16115 "size" : {
7aacca6f 16116 "description" : "Volume size (read only value).",
44660702 16117 "format" : "disk-size",
56122987 16118 "format_description" : "DiskSize",
56122987 16119 "optional" : 1,
44660702 16120 "type" : "string"
7aacca6f
DM
16121 },
16122 "volume" : {
7aacca6f
DM
16123 "default_key" : 1,
16124 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
16125 "format" : "pve-lxc-mp-string",
16126 "format_description" : "volume",
7aacca6f 16127 "type" : "string"
56122987 16128 }
44660702
DM
16129 },
16130 "optional" : 1,
4bd7df8b 16131 "type" : "string",
5d9c884c 16132 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
16133 },
16134 "searchdomain" : {
16135 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
16136 "format" : "dns-name-list",
16137 "optional" : 1,
013dc89f
DM
16138 "type" : "string",
16139 "typetext" : "<string>"
44660702
DM
16140 },
16141 "startup" : {
16142 "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.",
16143 "format" : "pve-startup-order",
16144 "optional" : 1,
16145 "type" : "string",
16146 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
16147 },
16148 "swap" : {
16149 "default" : 512,
16150 "description" : "Amount of SWAP for the VM in MB.",
16151 "minimum" : 0,
16152 "optional" : 1,
4bd7df8b 16153 "type" : "integer",
013dc89f 16154 "typetext" : "<integer> (0 - N)"
56122987 16155 },
56122987 16156 "template" : {
44660702 16157 "default" : 0,
7aacca6f 16158 "description" : "Enable/disable Template.",
56122987 16159 "optional" : 1,
013dc89f
DM
16160 "type" : "boolean",
16161 "typetext" : "<boolean>"
56122987 16162 },
44660702
DM
16163 "tty" : {
16164 "default" : 2,
16165 "description" : "Specify the number of tty available to the container",
16166 "maximum" : 6,
16167 "minimum" : 0,
16168 "optional" : 1,
4bd7df8b 16169 "type" : "integer",
013dc89f 16170 "typetext" : "<integer> (0 - 6)"
56122987 16171 },
44660702
DM
16172 "unprivileged" : {
16173 "default" : 0,
16174 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 16175 "optional" : 1,
013dc89f
DM
16176 "type" : "boolean",
16177 "typetext" : "<boolean>"
56122987 16178 },
44660702 16179 "unused[n]" : {
c2993fe5 16180 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 16181 "format" : "pve-volume-id",
56122987 16182 "optional" : 1,
013dc89f
DM
16183 "type" : "string",
16184 "typetext" : "<string>"
44660702
DM
16185 },
16186 "vmid" : {
16187 "description" : "The (unique) ID of the VM.",
16188 "format" : "pve-vmid",
16189 "minimum" : 1,
4bd7df8b 16190 "type" : "integer",
013dc89f 16191 "typetext" : "<integer> (1 - N)"
56122987 16192 }
44660702 16193 }
56122987 16194 },
56122987
DM
16195 "permissions" : {
16196 "check" : [
16197 "perm",
16198 "/vms/{vmid}",
16199 [
16200 "VM.Config.Disk",
16201 "VM.Config.CPU",
16202 "VM.Config.Memory",
16203 "VM.Config.Network",
16204 "VM.Config.Options"
16205 ],
16206 "any",
16207 1
52e44c50
FG
16208 ],
16209 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 16210 },
44660702
DM
16211 "protected" : 1,
16212 "proxyto" : "node",
56122987
DM
16213 "returns" : {
16214 "type" : "null"
7aacca6f 16215 }
56122987 16216 }
7aacca6f 16217 },
44660702 16218 "leaf" : 1,
7aacca6f 16219 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 16220 "text" : "config"
56122987
DM
16221 },
16222 {
56122987
DM
16223 "children" : [
16224 {
16225 "info" : {
16226 "GET" : {
44660702 16227 "description" : "Get virtual machine status.",
7aacca6f 16228 "method" : "GET",
44660702 16229 "name" : "vm_status",
56122987 16230 "parameters" : {
44660702 16231 "additionalProperties" : 0,
56122987 16232 "properties" : {
56122987 16233 "node" : {
44660702 16234 "description" : "The cluster node name.",
56122987 16235 "format" : "pve-node",
013dc89f
DM
16236 "type" : "string",
16237 "typetext" : "<string>"
7aacca6f
DM
16238 },
16239 "vmid" : {
16240 "description" : "The (unique) ID of the VM.",
44660702 16241 "format" : "pve-vmid",
7aacca6f 16242 "minimum" : 1,
4bd7df8b 16243 "type" : "integer",
013dc89f 16244 "typetext" : "<integer> (1 - N)"
56122987 16245 }
44660702 16246 }
7aacca6f
DM
16247 },
16248 "permissions" : {
16249 "check" : [
16250 "perm",
16251 "/vms/{vmid}",
16252 [
16253 "VM.Audit"
16254 ]
16255 ]
16256 },
44660702 16257 "protected" : 1,
7aacca6f 16258 "proxyto" : "node",
44660702
DM
16259 "returns" : {
16260 "type" : "object"
16261 }
56122987
DM
16262 }
16263 },
44660702
DM
16264 "leaf" : 1,
16265 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
16266 "text" : "current"
16267 },
16268 {
56122987
DM
16269 "info" : {
16270 "POST" : {
7aacca6f 16271 "description" : "Start the container.",
44660702 16272 "method" : "POST",
7aacca6f 16273 "name" : "vm_start",
56122987
DM
16274 "parameters" : {
16275 "additionalProperties" : 0,
16276 "properties" : {
56122987 16277 "node" : {
7aacca6f 16278 "description" : "The cluster node name.",
44660702 16279 "format" : "pve-node",
013dc89f
DM
16280 "type" : "string",
16281 "typetext" : "<string>"
56122987 16282 },
7aacca6f 16283 "skiplock" : {
44660702 16284 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 16285 "optional" : 1,
013dc89f
DM
16286 "type" : "boolean",
16287 "typetext" : "<boolean>"
7aacca6f 16288 },
56122987 16289 "vmid" : {
7aacca6f 16290 "description" : "The (unique) ID of the VM.",
44660702 16291 "format" : "pve-vmid",
56122987 16292 "minimum" : 1,
4bd7df8b 16293 "type" : "integer",
013dc89f 16294 "typetext" : "<integer> (1 - N)"
56122987
DM
16295 }
16296 }
16297 },
16298 "permissions" : {
16299 "check" : [
16300 "perm",
16301 "/vms/{vmid}",
16302 [
16303 "VM.PowerMgmt"
16304 ]
16305 ]
16306 },
44660702 16307 "protected" : 1,
7aacca6f 16308 "proxyto" : "node",
44660702
DM
16309 "returns" : {
16310 "type" : "string"
16311 }
16312 }
16313 },
16314 "leaf" : 1,
16315 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
16316 "text" : "start"
16317 },
16318 {
16319 "info" : {
16320 "POST" : {
16321 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
16322 "method" : "POST",
16323 "name" : "vm_stop",
16324 "parameters" : {
44660702 16325 "additionalProperties" : 0,
7aacca6f 16326 "properties" : {
44660702
DM
16327 "node" : {
16328 "description" : "The cluster node name.",
16329 "format" : "pve-node",
013dc89f
DM
16330 "type" : "string",
16331 "typetext" : "<string>"
44660702 16332 },
7aacca6f
DM
16333 "skiplock" : {
16334 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 16335 "optional" : 1,
013dc89f
DM
16336 "type" : "boolean",
16337 "typetext" : "<boolean>"
7aacca6f
DM
16338 },
16339 "vmid" : {
44660702 16340 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16341 "format" : "pve-vmid",
16342 "minimum" : 1,
4bd7df8b 16343 "type" : "integer",
013dc89f 16344 "typetext" : "<integer> (1 - N)"
7aacca6f 16345 }
44660702
DM
16346 }
16347 },
16348 "permissions" : {
16349 "check" : [
16350 "perm",
16351 "/vms/{vmid}",
16352 [
16353 "VM.PowerMgmt"
16354 ]
16355 ]
7aacca6f 16356 },
44660702
DM
16357 "protected" : 1,
16358 "proxyto" : "node",
16359 "returns" : {
16360 "type" : "string"
16361 }
56122987 16362 }
7aacca6f 16363 },
7aacca6f 16364 "leaf" : 1,
44660702
DM
16365 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
16366 "text" : "stop"
56122987
DM
16367 },
16368 {
56122987
DM
16369 "info" : {
16370 "POST" : {
44660702
DM
16371 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
16372 "method" : "POST",
7aacca6f 16373 "name" : "vm_shutdown",
56122987 16374 "parameters" : {
44660702 16375 "additionalProperties" : 0,
56122987 16376 "properties" : {
7aacca6f 16377 "forceStop" : {
44660702 16378 "default" : 0,
7aacca6f
DM
16379 "description" : "Make sure the Container stops.",
16380 "optional" : 1,
013dc89f
DM
16381 "type" : "boolean",
16382 "typetext" : "<boolean>"
44660702
DM
16383 },
16384 "node" : {
16385 "description" : "The cluster node name.",
16386 "format" : "pve-node",
013dc89f
DM
16387 "type" : "string",
16388 "typetext" : "<string>"
7aacca6f
DM
16389 },
16390 "timeout" : {
7aacca6f 16391 "default" : 60,
44660702
DM
16392 "description" : "Wait maximal timeout seconds.",
16393 "minimum" : 0,
56122987 16394 "optional" : 1,
4bd7df8b 16395 "type" : "integer",
013dc89f 16396 "typetext" : "<integer> (0 - N)"
56122987
DM
16397 },
16398 "vmid" : {
7aacca6f 16399 "description" : "The (unique) ID of the VM.",
44660702
DM
16400 "format" : "pve-vmid",
16401 "minimum" : 1,
4bd7df8b 16402 "type" : "integer",
013dc89f 16403 "typetext" : "<integer> (1 - N)"
56122987 16404 }
44660702 16405 }
56122987
DM
16406 },
16407 "permissions" : {
16408 "check" : [
16409 "perm",
16410 "/vms/{vmid}",
16411 [
16412 "VM.PowerMgmt"
16413 ]
16414 ]
16415 },
44660702
DM
16416 "protected" : 1,
16417 "proxyto" : "node",
7aacca6f
DM
16418 "returns" : {
16419 "type" : "string"
16420 }
56122987
DM
16421 }
16422 },
44660702
DM
16423 "leaf" : 1,
16424 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 16425 "text" : "shutdown"
56122987
DM
16426 },
16427 {
56122987
DM
16428 "info" : {
16429 "POST" : {
7aacca6f 16430 "description" : "Suspend the container.",
7aacca6f 16431 "method" : "POST",
7aacca6f 16432 "name" : "vm_suspend",
56122987
DM
16433 "parameters" : {
16434 "additionalProperties" : 0,
16435 "properties" : {
44660702
DM
16436 "node" : {
16437 "description" : "The cluster node name.",
16438 "format" : "pve-node",
013dc89f
DM
16439 "type" : "string",
16440 "typetext" : "<string>"
44660702 16441 },
7aacca6f 16442 "vmid" : {
7aacca6f
DM
16443 "description" : "The (unique) ID of the VM.",
16444 "format" : "pve-vmid",
44660702 16445 "minimum" : 1,
4bd7df8b 16446 "type" : "integer",
013dc89f 16447 "typetext" : "<integer> (1 - N)"
56122987
DM
16448 }
16449 }
7aacca6f 16450 },
56122987
DM
16451 "permissions" : {
16452 "check" : [
16453 "perm",
16454 "/vms/{vmid}",
16455 [
16456 "VM.PowerMgmt"
16457 ]
16458 ]
16459 },
7aacca6f 16460 "protected" : 1,
44660702
DM
16461 "proxyto" : "node",
16462 "returns" : {
16463 "type" : "string"
16464 }
16465 }
16466 },
16467 "leaf" : 1,
16468 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
16469 "text" : "suspend"
16470 },
16471 {
16472 "info" : {
16473 "POST" : {
16474 "description" : "Resume the container.",
16475 "method" : "POST",
16476 "name" : "vm_resume",
56122987 16477 "parameters" : {
44660702 16478 "additionalProperties" : 0,
56122987
DM
16479 "properties" : {
16480 "node" : {
7aacca6f 16481 "description" : "The cluster node name.",
44660702 16482 "format" : "pve-node",
013dc89f
DM
16483 "type" : "string",
16484 "typetext" : "<string>"
56122987
DM
16485 },
16486 "vmid" : {
7aacca6f 16487 "description" : "The (unique) ID of the VM.",
56122987 16488 "format" : "pve-vmid",
44660702 16489 "minimum" : 1,
4bd7df8b 16490 "type" : "integer",
013dc89f 16491 "typetext" : "<integer> (1 - N)"
56122987 16492 }
44660702
DM
16493 }
16494 },
16495 "permissions" : {
16496 "check" : [
16497 "perm",
16498 "/vms/{vmid}",
16499 [
16500 "VM.PowerMgmt"
16501 ]
16502 ]
56122987 16503 },
44660702
DM
16504 "protected" : 1,
16505 "proxyto" : "node",
16506 "returns" : {
16507 "type" : "string"
16508 }
7aacca6f
DM
16509 }
16510 },
44660702
DM
16511 "leaf" : 1,
16512 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
16513 "text" : "resume"
16514 }
16515 ],
16516 "info" : {
16517 "GET" : {
7aacca6f 16518 "description" : "Directory index",
44660702 16519 "method" : "GET",
7aacca6f 16520 "name" : "vmcmdidx",
7aacca6f
DM
16521 "parameters" : {
16522 "additionalProperties" : 0,
16523 "properties" : {
16524 "node" : {
16525 "description" : "The cluster node name.",
44660702 16526 "format" : "pve-node",
013dc89f
DM
16527 "type" : "string",
16528 "typetext" : "<string>"
56122987 16529 },
7aacca6f 16530 "vmid" : {
44660702 16531 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16532 "format" : "pve-vmid",
16533 "minimum" : 1,
4bd7df8b 16534 "type" : "integer",
013dc89f 16535 "typetext" : "<integer> (1 - N)"
7aacca6f 16536 }
56122987
DM
16537 }
16538 },
44660702
DM
16539 "permissions" : {
16540 "user" : "all"
16541 },
16542 "proxyto" : "node",
7aacca6f 16543 "returns" : {
7aacca6f
DM
16544 "items" : {
16545 "properties" : {
16546 "subdir" : {
16547 "type" : "string"
16548 }
16549 },
16550 "type" : "object"
16551 },
16552 "links" : [
16553 {
44660702
DM
16554 "href" : "{subdir}",
16555 "rel" : "child"
7aacca6f 16556 }
44660702
DM
16557 ],
16558 "type" : "array"
7aacca6f
DM
16559 }
16560 }
44660702
DM
16561 },
16562 "leaf" : 0,
16563 "path" : "/nodes/{node}/lxc/{vmid}/status",
16564 "text" : "status"
7aacca6f
DM
16565 },
16566 {
7aacca6f 16567 "children" : [
56122987 16568 {
7aacca6f
DM
16569 "children" : [
16570 {
16571 "info" : {
16572 "POST" : {
7aacca6f 16573 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 16574 "method" : "POST",
44660702 16575 "name" : "rollback",
7aacca6f 16576 "parameters" : {
44660702 16577 "additionalProperties" : 0,
7aacca6f 16578 "properties" : {
44660702
DM
16579 "node" : {
16580 "description" : "The cluster node name.",
16581 "format" : "pve-node",
013dc89f
DM
16582 "type" : "string",
16583 "typetext" : "<string>"
44660702 16584 },
7aacca6f 16585 "snapname" : {
44660702 16586 "description" : "The name of the snapshot.",
7aacca6f
DM
16587 "format" : "pve-configid",
16588 "maxLength" : 40,
013dc89f
DM
16589 "type" : "string",
16590 "typetext" : "<string>"
7aacca6f 16591 },
7aacca6f 16592 "vmid" : {
44660702 16593 "description" : "The (unique) ID of the VM.",
7aacca6f 16594 "format" : "pve-vmid",
44660702 16595 "minimum" : 1,
4bd7df8b 16596 "type" : "integer",
013dc89f 16597 "typetext" : "<integer> (1 - N)"
7aacca6f 16598 }
44660702
DM
16599 }
16600 },
16601 "permissions" : {
16602 "check" : [
16603 "perm",
16604 "/vms/{vmid}",
16605 [
2489d6df
WB
16606 "VM.Snapshot",
16607 "VM.Snapshot.Rollback"
16608 ],
16609 "any",
16610 1
44660702 16611 ]
7aacca6f 16612 },
44660702
DM
16613 "protected" : 1,
16614 "proxyto" : "node",
16615 "returns" : {
16616 "description" : "the task ID.",
16617 "type" : "string"
16618 }
7aacca6f
DM
16619 }
16620 },
7aacca6f 16621 "leaf" : 1,
44660702
DM
16622 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
16623 "text" : "rollback"
7aacca6f
DM
16624 },
16625 {
7aacca6f
DM
16626 "info" : {
16627 "GET" : {
7aacca6f 16628 "description" : "Get snapshot configuration",
44660702
DM
16629 "method" : "GET",
16630 "name" : "get_snapshot_config",
7aacca6f
DM
16631 "parameters" : {
16632 "additionalProperties" : 0,
16633 "properties" : {
7aacca6f 16634 "node" : {
7aacca6f 16635 "description" : "The cluster node name.",
44660702 16636 "format" : "pve-node",
013dc89f
DM
16637 "type" : "string",
16638 "typetext" : "<string>"
7aacca6f
DM
16639 },
16640 "snapname" : {
44660702 16641 "description" : "The name of the snapshot.",
7aacca6f
DM
16642 "format" : "pve-configid",
16643 "maxLength" : 40,
013dc89f
DM
16644 "type" : "string",
16645 "typetext" : "<string>"
44660702
DM
16646 },
16647 "vmid" : {
16648 "description" : "The (unique) ID of the VM.",
16649 "format" : "pve-vmid",
16650 "minimum" : 1,
4bd7df8b 16651 "type" : "integer",
013dc89f 16652 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16653 }
16654 }
16655 },
16656 "permissions" : {
16657 "check" : [
16658 "perm",
16659 "/vms/{vmid}",
16660 [
2489d6df
WB
16661 "VM.Snapshot",
16662 "VM.Snapshot.Rollback"
16663 ],
16664 "any",
16665 1
7aacca6f
DM
16666 ]
16667 },
44660702
DM
16668 "proxyto" : "node",
16669 "returns" : {
16670 "type" : "object"
16671 }
7aacca6f
DM
16672 },
16673 "PUT" : {
44660702
DM
16674 "description" : "Update snapshot metadata.",
16675 "method" : "PUT",
7aacca6f
DM
16676 "name" : "update_snapshot_config",
16677 "parameters" : {
16678 "additionalProperties" : 0,
16679 "properties" : {
44660702
DM
16680 "description" : {
16681 "description" : "A textual description or comment.",
16682 "optional" : 1,
013dc89f
DM
16683 "type" : "string",
16684 "typetext" : "<string>"
44660702 16685 },
7aacca6f 16686 "node" : {
7aacca6f 16687 "description" : "The cluster node name.",
44660702 16688 "format" : "pve-node",
013dc89f
DM
16689 "type" : "string",
16690 "typetext" : "<string>"
7aacca6f
DM
16691 },
16692 "snapname" : {
16693 "description" : "The name of the snapshot.",
7aacca6f 16694 "format" : "pve-configid",
44660702 16695 "maxLength" : 40,
013dc89f
DM
16696 "type" : "string",
16697 "typetext" : "<string>"
7aacca6f
DM
16698 },
16699 "vmid" : {
44660702 16700 "description" : "The (unique) ID of the VM.",
7aacca6f 16701 "format" : "pve-vmid",
44660702 16702 "minimum" : 1,
4bd7df8b 16703 "type" : "integer",
013dc89f 16704 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16705 }
16706 }
16707 },
7aacca6f
DM
16708 "permissions" : {
16709 "check" : [
16710 "perm",
16711 "/vms/{vmid}",
16712 [
16713 "VM.Snapshot"
16714 ]
16715 ]
16716 },
44660702
DM
16717 "protected" : 1,
16718 "proxyto" : "node",
7aacca6f
DM
16719 "returns" : {
16720 "type" : "null"
16721 }
16722 }
16723 },
44660702 16724 "leaf" : 1,
7aacca6f 16725 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 16726 "text" : "config"
7aacca6f
DM
16727 }
16728 ],
56122987 16729 "info" : {
44660702
DM
16730 "DELETE" : {
16731 "description" : "Delete a LXC snapshot.",
16732 "method" : "DELETE",
16733 "name" : "delsnapshot",
56122987 16734 "parameters" : {
44660702 16735 "additionalProperties" : 0,
56122987 16736 "properties" : {
44660702
DM
16737 "force" : {
16738 "description" : "For removal from config file, even if removing disk snapshots fails.",
16739 "optional" : 1,
013dc89f
DM
16740 "type" : "boolean",
16741 "typetext" : "<boolean>"
44660702
DM
16742 },
16743 "node" : {
16744 "description" : "The cluster node name.",
16745 "format" : "pve-node",
013dc89f
DM
16746 "type" : "string",
16747 "typetext" : "<string>"
7aacca6f
DM
16748 },
16749 "snapname" : {
7aacca6f
DM
16750 "description" : "The name of the snapshot.",
16751 "format" : "pve-configid",
44660702 16752 "maxLength" : 40,
013dc89f
DM
16753 "type" : "string",
16754 "typetext" : "<string>"
44660702
DM
16755 },
16756 "vmid" : {
16757 "description" : "The (unique) ID of the VM.",
16758 "format" : "pve-vmid",
16759 "minimum" : 1,
4bd7df8b 16760 "type" : "integer",
013dc89f 16761 "typetext" : "<integer> (1 - N)"
56122987 16762 }
44660702 16763 }
7aacca6f 16764 },
56122987
DM
16765 "permissions" : {
16766 "check" : [
16767 "perm",
16768 "/vms/{vmid}",
16769 [
7aacca6f 16770 "VM.Snapshot"
56122987
DM
16771 ]
16772 ]
16773 },
44660702 16774 "protected" : 1,
7aacca6f 16775 "proxyto" : "node",
56122987 16776 "returns" : {
7aacca6f 16777 "description" : "the task ID.",
56122987 16778 "type" : "string"
44660702
DM
16779 }
16780 },
16781 "GET" : {
16782 "description" : "",
16783 "method" : "GET",
16784 "name" : "snapshot_cmd_idx",
7aacca6f
DM
16785 "parameters" : {
16786 "additionalProperties" : 0,
16787 "properties" : {
7aacca6f 16788 "node" : {
44660702 16789 "description" : "The cluster node name.",
7aacca6f 16790 "format" : "pve-node",
013dc89f
DM
16791 "type" : "string",
16792 "typetext" : "<string>"
7aacca6f
DM
16793 },
16794 "snapname" : {
44660702 16795 "description" : "The name of the snapshot.",
7aacca6f 16796 "format" : "pve-configid",
44660702 16797 "maxLength" : 40,
013dc89f
DM
16798 "type" : "string",
16799 "typetext" : "<string>"
44660702
DM
16800 },
16801 "vmid" : {
16802 "description" : "The (unique) ID of the VM.",
16803 "format" : "pve-vmid",
16804 "minimum" : 1,
4bd7df8b 16805 "type" : "integer",
013dc89f 16806 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16807 }
16808 }
16809 },
44660702
DM
16810 "permissions" : {
16811 "user" : "all"
16812 },
16813 "returns" : {
16814 "items" : {
16815 "properties" : {},
16816 "type" : "object"
16817 },
16818 "links" : [
16819 {
16820 "href" : "{cmd}",
16821 "rel" : "child"
16822 }
16823 ],
16824 "type" : "array"
16825 }
16826 }
16827 },
16828 "leaf" : 0,
16829 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
16830 "text" : "{snapname}"
16831 }
16832 ],
16833 "info" : {
16834 "GET" : {
16835 "description" : "List all snapshots.",
16836 "method" : "GET",
16837 "name" : "list",
16838 "parameters" : {
16839 "additionalProperties" : 0,
16840 "properties" : {
16841 "node" : {
16842 "description" : "The cluster node name.",
16843 "format" : "pve-node",
013dc89f
DM
16844 "type" : "string",
16845 "typetext" : "<string>"
44660702
DM
16846 },
16847 "vmid" : {
16848 "description" : "The (unique) ID of the VM.",
16849 "format" : "pve-vmid",
16850 "minimum" : 1,
4bd7df8b 16851 "type" : "integer",
013dc89f 16852 "typetext" : "<integer> (1 - N)"
44660702 16853 }
56122987
DM
16854 }
16855 },
56122987 16856 "permissions" : {
7aacca6f
DM
16857 "check" : [
16858 "perm",
16859 "/vms/{vmid}",
16860 [
16861 "VM.Audit"
16862 ]
16863 ]
16864 },
44660702 16865 "protected" : 1,
56122987 16866 "proxyto" : "node",
7aacca6f 16867 "returns" : {
44660702
DM
16868 "items" : {
16869 "properties" : {},
16870 "type" : "object"
16871 },
7aacca6f
DM
16872 "links" : [
16873 {
16874 "href" : "{name}",
16875 "rel" : "child"
16876 }
16877 ],
7aacca6f 16878 "type" : "array"
44660702 16879 }
7aacca6f
DM
16880 },
16881 "POST" : {
44660702
DM
16882 "description" : "Snapshot a container.",
16883 "method" : "POST",
16884 "name" : "snapshot",
56122987
DM
16885 "parameters" : {
16886 "additionalProperties" : 0,
16887 "properties" : {
7aacca6f 16888 "description" : {
44660702 16889 "description" : "A textual description or comment.",
7aacca6f 16890 "optional" : 1,
013dc89f
DM
16891 "type" : "string",
16892 "typetext" : "<string>"
44660702
DM
16893 },
16894 "node" : {
16895 "description" : "The cluster node name.",
16896 "format" : "pve-node",
013dc89f
DM
16897 "type" : "string",
16898 "typetext" : "<string>"
56122987
DM
16899 },
16900 "snapname" : {
56122987 16901 "description" : "The name of the snapshot.",
44660702 16902 "format" : "pve-configid",
7aacca6f 16903 "maxLength" : 40,
013dc89f
DM
16904 "type" : "string",
16905 "typetext" : "<string>"
56122987 16906 },
44660702
DM
16907 "vmid" : {
16908 "description" : "The (unique) ID of the VM.",
16909 "format" : "pve-vmid",
16910 "minimum" : 1,
4bd7df8b 16911 "type" : "integer",
013dc89f 16912 "typetext" : "<integer> (1 - N)"
56122987 16913 }
7aacca6f 16914 }
56122987 16915 },
56122987
DM
16916 "permissions" : {
16917 "check" : [
16918 "perm",
16919 "/vms/{vmid}",
16920 [
7aacca6f 16921 "VM.Snapshot"
56122987
DM
16922 ]
16923 ]
7aacca6f 16924 },
44660702 16925 "protected" : 1,
7aacca6f
DM
16926 "proxyto" : "node",
16927 "returns" : {
16928 "description" : "the task ID.",
16929 "type" : "string"
56122987
DM
16930 }
16931 }
44660702
DM
16932 },
16933 "leaf" : 0,
16934 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
16935 "text" : "snapshot"
7aacca6f
DM
16936 },
16937 {
56122987
DM
16938 "children" : [
16939 {
56122987
DM
16940 "children" : [
16941 {
56122987 16942 "info" : {
44660702
DM
16943 "DELETE" : {
16944 "description" : "Delete rule.",
16945 "method" : "DELETE",
16946 "name" : "delete_rule",
56122987 16947 "parameters" : {
44660702 16948 "additionalProperties" : 0,
56122987 16949 "properties" : {
44660702
DM
16950 "digest" : {
16951 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16952 "maxLength" : 40,
7aacca6f 16953 "optional" : 1,
013dc89f
DM
16954 "type" : "string",
16955 "typetext" : "<string>"
7aacca6f
DM
16956 },
16957 "node" : {
44660702 16958 "description" : "The cluster node name.",
7aacca6f 16959 "format" : "pve-node",
013dc89f
DM
16960 "type" : "string",
16961 "typetext" : "<string>"
44660702
DM
16962 },
16963 "pos" : {
16964 "description" : "Update rule at position <pos>.",
16965 "minimum" : 0,
16966 "optional" : 1,
4bd7df8b 16967 "type" : "integer",
013dc89f 16968 "typetext" : "<integer> (0 - N)"
44660702
DM
16969 },
16970 "vmid" : {
16971 "description" : "The (unique) ID of the VM.",
16972 "format" : "pve-vmid",
16973 "minimum" : 1,
4bd7df8b 16974 "type" : "integer",
013dc89f 16975 "typetext" : "<integer> (1 - N)"
56122987 16976 }
44660702 16977 }
56122987 16978 },
56122987
DM
16979 "permissions" : {
16980 "check" : [
16981 "perm",
16982 "/vms/{vmid}",
16983 [
44660702 16984 "VM.Config.Network"
56122987
DM
16985 ]
16986 ]
16987 },
44660702 16988 "protected" : 1,
7aacca6f 16989 "proxyto" : null,
44660702
DM
16990 "returns" : {
16991 "type" : "null"
16992 }
7aacca6f 16993 },
44660702
DM
16994 "GET" : {
16995 "description" : "Get single rule data.",
16996 "method" : "GET",
16997 "name" : "get_rule",
56122987 16998 "parameters" : {
44660702 16999 "additionalProperties" : 0,
56122987 17000 "properties" : {
7aacca6f 17001 "node" : {
7aacca6f 17002 "description" : "The cluster node name.",
44660702 17003 "format" : "pve-node",
013dc89f
DM
17004 "type" : "string",
17005 "typetext" : "<string>"
56122987 17006 },
7aacca6f 17007 "pos" : {
7aacca6f 17008 "description" : "Update rule at position <pos>.",
44660702 17009 "minimum" : 0,
7aacca6f 17010 "optional" : 1,
4bd7df8b 17011 "type" : "integer",
013dc89f 17012 "typetext" : "<integer> (0 - N)"
56122987 17013 },
7aacca6f 17014 "vmid" : {
44660702 17015 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
17016 "format" : "pve-vmid",
17017 "minimum" : 1,
4bd7df8b 17018 "type" : "integer",
013dc89f 17019 "typetext" : "<integer> (1 - N)"
56122987 17020 }
44660702 17021 }
56122987 17022 },
7aacca6f
DM
17023 "permissions" : {
17024 "check" : [
17025 "perm",
17026 "/vms/{vmid}",
17027 [
44660702 17028 "VM.Audit"
7aacca6f
DM
17029 ]
17030 ]
17031 },
7aacca6f
DM
17032 "proxyto" : null,
17033 "returns" : {
44660702
DM
17034 "properties" : {
17035 "pos" : {
17036 "type" : "integer"
17037 }
17038 },
17039 "type" : "object"
7aacca6f 17040 }
56122987 17041 },
44660702
DM
17042 "PUT" : {
17043 "description" : "Modify rule data.",
17044 "method" : "PUT",
17045 "name" : "update_rule",
56122987
DM
17046 "parameters" : {
17047 "additionalProperties" : 0,
17048 "properties" : {
44660702
DM
17049 "action" : {
17050 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
17051 "maxLength" : 20,
17052 "minLength" : 2,
17053 "optional" : 1,
17054 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17055 "type" : "string"
17056 },
17057 "comment" : {
e94f0d56 17058 "description" : "Descriptive comment.",
44660702 17059 "optional" : 1,
013dc89f
DM
17060 "type" : "string",
17061 "typetext" : "<string>"
44660702
DM
17062 },
17063 "delete" : {
17064 "description" : "A list of settings you want to delete.",
17065 "format" : "pve-configid-list",
17066 "optional" : 1,
013dc89f
DM
17067 "type" : "string",
17068 "typetext" : "<string>"
44660702
DM
17069 },
17070 "dest" : {
17071 "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.",
17072 "format" : "pve-fw-addr-spec",
17073 "optional" : 1,
013dc89f
DM
17074 "type" : "string",
17075 "typetext" : "<string>"
44660702
DM
17076 },
17077 "digest" : {
17078 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17079 "maxLength" : 40,
17080 "optional" : 1,
013dc89f
DM
17081 "type" : "string",
17082 "typetext" : "<string>"
44660702
DM
17083 },
17084 "dport" : {
17085 "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.",
17086 "format" : "pve-fw-dport-spec",
17087 "optional" : 1,
013dc89f
DM
17088 "type" : "string",
17089 "typetext" : "<string>"
44660702
DM
17090 },
17091 "enable" : {
e94f0d56 17092 "description" : "Flag to enable/disable a rule.",
44660702
DM
17093 "minimum" : 0,
17094 "optional" : 1,
4bd7df8b 17095 "type" : "integer",
013dc89f 17096 "typetext" : "<integer> (0 - N)"
44660702
DM
17097 },
17098 "iface" : {
17099 "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.",
17100 "format" : "pve-iface",
17101 "maxLength" : 20,
17102 "minLength" : 2,
17103 "optional" : 1,
013dc89f
DM
17104 "type" : "string",
17105 "typetext" : "<string>"
44660702
DM
17106 },
17107 "macro" : {
e94f0d56 17108 "description" : "Use predefined standard macro.",
44660702
DM
17109 "maxLength" : 128,
17110 "optional" : 1,
013dc89f
DM
17111 "type" : "string",
17112 "typetext" : "<string>"
44660702
DM
17113 },
17114 "moveto" : {
17115 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
17116 "minimum" : 0,
17117 "optional" : 1,
4bd7df8b 17118 "type" : "integer",
013dc89f 17119 "typetext" : "<integer> (0 - N)"
44660702 17120 },
7aacca6f
DM
17121 "node" : {
17122 "description" : "The cluster node name.",
44660702 17123 "format" : "pve-node",
013dc89f
DM
17124 "type" : "string",
17125 "typetext" : "<string>"
56122987
DM
17126 },
17127 "pos" : {
44660702 17128 "description" : "Update rule at position <pos>.",
56122987 17129 "minimum" : 0,
7aacca6f 17130 "optional" : 1,
4bd7df8b 17131 "type" : "integer",
013dc89f 17132 "typetext" : "<integer> (0 - N)"
56122987 17133 },
44660702
DM
17134 "proto" : {
17135 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
17136 "format" : "pve-fw-protocol-spec",
17137 "optional" : 1,
013dc89f
DM
17138 "type" : "string",
17139 "typetext" : "<string>"
7aacca6f 17140 },
44660702
DM
17141 "source" : {
17142 "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.",
17143 "format" : "pve-fw-addr-spec",
17144 "optional" : 1,
013dc89f
DM
17145 "type" : "string",
17146 "typetext" : "<string>"
44660702
DM
17147 },
17148 "sport" : {
17149 "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.",
17150 "format" : "pve-fw-sport-spec",
17151 "optional" : 1,
013dc89f
DM
17152 "type" : "string",
17153 "typetext" : "<string>"
44660702
DM
17154 },
17155 "type" : {
e94f0d56 17156 "description" : "Rule type.",
44660702
DM
17157 "enum" : [
17158 "in",
17159 "out",
17160 "group"
17161 ],
7aacca6f 17162 "optional" : 1,
44660702
DM
17163 "type" : "string"
17164 },
17165 "vmid" : {
17166 "description" : "The (unique) ID of the VM.",
17167 "format" : "pve-vmid",
17168 "minimum" : 1,
4bd7df8b 17169 "type" : "integer",
013dc89f 17170 "typetext" : "<integer> (1 - N)"
56122987
DM
17171 }
17172 }
17173 },
56122987
DM
17174 "permissions" : {
17175 "check" : [
17176 "perm",
17177 "/vms/{vmid}",
17178 [
7aacca6f 17179 "VM.Config.Network"
56122987
DM
17180 ]
17181 ]
17182 },
44660702 17183 "protected" : 1,
56122987 17184 "proxyto" : null,
56122987 17185 "returns" : {
7aacca6f
DM
17186 "type" : "null"
17187 }
56122987 17188 }
44660702
DM
17189 },
17190 "leaf" : 1,
17191 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
17192 "text" : "{pos}"
56122987
DM
17193 }
17194 ],
17195 "info" : {
7aacca6f 17196 "GET" : {
44660702
DM
17197 "description" : "List rules.",
17198 "method" : "GET",
17199 "name" : "get_rules",
7aacca6f 17200 "parameters" : {
44660702 17201 "additionalProperties" : 0,
7aacca6f
DM
17202 "properties" : {
17203 "node" : {
7aacca6f 17204 "description" : "The cluster node name.",
44660702 17205 "format" : "pve-node",
013dc89f
DM
17206 "type" : "string",
17207 "typetext" : "<string>"
7aacca6f
DM
17208 },
17209 "vmid" : {
17210 "description" : "The (unique) ID of the VM.",
44660702 17211 "format" : "pve-vmid",
7aacca6f 17212 "minimum" : 1,
4bd7df8b 17213 "type" : "integer",
013dc89f 17214 "typetext" : "<integer> (1 - N)"
7aacca6f 17215 }
44660702 17216 }
56122987 17217 },
56122987
DM
17218 "permissions" : {
17219 "check" : [
17220 "perm",
17221 "/vms/{vmid}",
17222 [
7aacca6f 17223 "VM.Audit"
56122987
DM
17224 ]
17225 ]
17226 },
17227 "proxyto" : null,
7aacca6f 17228 "returns" : {
7aacca6f
DM
17229 "items" : {
17230 "properties" : {
17231 "pos" : {
17232 "type" : "integer"
17233 }
17234 },
17235 "type" : "object"
17236 },
17237 "links" : [
17238 {
44660702
DM
17239 "href" : "{pos}",
17240 "rel" : "child"
7aacca6f 17241 }
44660702
DM
17242 ],
17243 "type" : "array"
17244 }
7aacca6f
DM
17245 },
17246 "POST" : {
44660702
DM
17247 "description" : "Create new rule.",
17248 "method" : "POST",
7aacca6f 17249 "name" : "create_rule",
56122987 17250 "parameters" : {
44660702 17251 "additionalProperties" : 0,
56122987 17252 "properties" : {
7aacca6f 17253 "action" : {
44660702 17254 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 17255 "maxLength" : 20,
44660702 17256 "minLength" : 2,
7aacca6f
DM
17257 "optional" : 0,
17258 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
17259 "type" : "string"
17260 },
44660702 17261 "comment" : {
e94f0d56 17262 "description" : "Descriptive comment.",
7aacca6f 17263 "optional" : 1,
013dc89f
DM
17264 "type" : "string",
17265 "typetext" : "<string>"
56122987 17266 },
44660702
DM
17267 "dest" : {
17268 "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.",
17269 "format" : "pve-fw-addr-spec",
56122987 17270 "optional" : 1,
013dc89f
DM
17271 "type" : "string",
17272 "typetext" : "<string>"
56122987 17273 },
44660702
DM
17274 "digest" : {
17275 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17276 "maxLength" : 40,
56122987 17277 "optional" : 1,
013dc89f
DM
17278 "type" : "string",
17279 "typetext" : "<string>"
56122987 17280 },
44660702
DM
17281 "dport" : {
17282 "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.",
17283 "format" : "pve-fw-dport-spec",
56122987 17284 "optional" : 1,
013dc89f
DM
17285 "type" : "string",
17286 "typetext" : "<string>"
56122987 17287 },
44660702 17288 "enable" : {
e94f0d56 17289 "description" : "Flag to enable/disable a rule.",
44660702 17290 "minimum" : 0,
56122987 17291 "optional" : 1,
4bd7df8b 17292 "type" : "integer",
013dc89f 17293 "typetext" : "<integer> (0 - N)"
56122987 17294 },
44660702
DM
17295 "iface" : {
17296 "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.",
17297 "format" : "pve-iface",
17298 "maxLength" : 20,
17299 "minLength" : 2,
7aacca6f 17300 "optional" : 1,
013dc89f
DM
17301 "type" : "string",
17302 "typetext" : "<string>"
56122987 17303 },
44660702 17304 "macro" : {
e94f0d56 17305 "description" : "Use predefined standard macro.",
44660702 17306 "maxLength" : 128,
56122987 17307 "optional" : 1,
013dc89f
DM
17308 "type" : "string",
17309 "typetext" : "<string>"
56122987
DM
17310 },
17311 "node" : {
7aacca6f 17312 "description" : "The cluster node name.",
44660702 17313 "format" : "pve-node",
013dc89f
DM
17314 "type" : "string",
17315 "typetext" : "<string>"
7aacca6f 17316 },
44660702
DM
17317 "pos" : {
17318 "description" : "Update rule at position <pos>.",
17319 "minimum" : 0,
17320 "optional" : 1,
4bd7df8b 17321 "type" : "integer",
013dc89f 17322 "typetext" : "<integer> (0 - N)"
44660702
DM
17323 },
17324 "proto" : {
17325 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
17326 "format" : "pve-fw-protocol-spec",
7aacca6f 17327 "optional" : 1,
013dc89f
DM
17328 "type" : "string",
17329 "typetext" : "<string>"
7aacca6f 17330 },
44660702
DM
17331 "source" : {
17332 "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.",
17333 "format" : "pve-fw-addr-spec",
17334 "optional" : 1,
013dc89f
DM
17335 "type" : "string",
17336 "typetext" : "<string>"
56122987 17337 },
44660702
DM
17338 "sport" : {
17339 "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.",
17340 "format" : "pve-fw-sport-spec",
17341 "optional" : 1,
013dc89f
DM
17342 "type" : "string",
17343 "typetext" : "<string>"
7aacca6f 17344 },
44660702 17345 "type" : {
e94f0d56 17346 "description" : "Rule type.",
44660702
DM
17347 "enum" : [
17348 "in",
17349 "out",
17350 "group"
17351 ],
17352 "optional" : 0,
17353 "type" : "string"
17354 },
17355 "vmid" : {
17356 "description" : "The (unique) ID of the VM.",
17357 "format" : "pve-vmid",
17358 "minimum" : 1,
4bd7df8b 17359 "type" : "integer",
013dc89f 17360 "typetext" : "<integer> (1 - N)"
44660702
DM
17361 }
17362 }
17363 },
17364 "permissions" : {
17365 "check" : [
17366 "perm",
17367 "/vms/{vmid}",
17368 [
17369 "VM.Config.Network"
17370 ]
17371 ]
17372 },
17373 "protected" : 1,
17374 "proxyto" : null,
17375 "returns" : {
17376 "type" : "null"
17377 }
17378 }
17379 },
17380 "leaf" : 0,
17381 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
17382 "text" : "rules"
17383 },
17384 {
17385 "children" : [
17386 {
17387 "info" : {
17388 "DELETE" : {
17389 "description" : "Remove IP or Network alias.",
17390 "method" : "DELETE",
17391 "name" : "remove_alias",
56122987 17392 "parameters" : {
44660702 17393 "additionalProperties" : 0,
56122987 17394 "properties" : {
44660702
DM
17395 "digest" : {
17396 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17397 "maxLength" : 40,
56122987 17398 "optional" : 1,
013dc89f
DM
17399 "type" : "string",
17400 "typetext" : "<string>"
56122987 17401 },
7aacca6f 17402 "name" : {
44660702 17403 "description" : "Alias name.",
7aacca6f 17404 "maxLength" : 64,
7aacca6f
DM
17405 "minLength" : 2,
17406 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17407 "type" : "string"
7aacca6f
DM
17408 },
17409 "node" : {
44660702 17410 "description" : "The cluster node name.",
56122987 17411 "format" : "pve-node",
013dc89f
DM
17412 "type" : "string",
17413 "typetext" : "<string>"
7aacca6f 17414 },
56122987 17415 "vmid" : {
44660702 17416 "description" : "The (unique) ID of the VM.",
56122987 17417 "format" : "pve-vmid",
44660702 17418 "minimum" : 1,
4bd7df8b 17419 "type" : "integer",
013dc89f 17420 "typetext" : "<integer> (1 - N)"
56122987 17421 }
44660702 17422 }
56122987 17423 },
56122987
DM
17424 "permissions" : {
17425 "check" : [
17426 "perm",
17427 "/vms/{vmid}",
17428 [
7aacca6f 17429 "VM.Config.Network"
56122987
DM
17430 ]
17431 ]
17432 },
44660702 17433 "protected" : 1,
56122987 17434 "returns" : {
7aacca6f 17435 "type" : "null"
44660702 17436 }
56122987 17437 },
44660702
DM
17438 "GET" : {
17439 "description" : "Read alias.",
17440 "method" : "GET",
17441 "name" : "read_alias",
17442 "parameters" : {
17443 "additionalProperties" : 0,
17444 "properties" : {
17445 "name" : {
17446 "description" : "Alias name.",
17447 "maxLength" : 64,
17448 "minLength" : 2,
17449 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17450 "type" : "string"
17451 },
17452 "node" : {
17453 "description" : "The cluster node name.",
17454 "format" : "pve-node",
013dc89f
DM
17455 "type" : "string",
17456 "typetext" : "<string>"
44660702
DM
17457 },
17458 "vmid" : {
17459 "description" : "The (unique) ID of the VM.",
17460 "format" : "pve-vmid",
17461 "minimum" : 1,
4bd7df8b 17462 "type" : "integer",
013dc89f 17463 "typetext" : "<integer> (1 - N)"
44660702
DM
17464 }
17465 }
56122987 17466 },
7aacca6f
DM
17467 "permissions" : {
17468 "check" : [
17469 "perm",
17470 "/vms/{vmid}",
17471 [
44660702 17472 "VM.Audit"
7aacca6f
DM
17473 ]
17474 ]
17475 },
44660702
DM
17476 "returns" : {
17477 "type" : "object"
17478 }
17479 },
17480 "PUT" : {
17481 "description" : "Update IP or Network alias.",
17482 "method" : "PUT",
17483 "name" : "update_alias",
56122987
DM
17484 "parameters" : {
17485 "additionalProperties" : 0,
17486 "properties" : {
44660702
DM
17487 "cidr" : {
17488 "description" : "Network/IP specification in CIDR format.",
17489 "format" : "IPorCIDR",
013dc89f
DM
17490 "type" : "string",
17491 "typetext" : "<string>"
44660702
DM
17492 },
17493 "comment" : {
17494 "optional" : 1,
013dc89f
DM
17495 "type" : "string",
17496 "typetext" : "<string>"
44660702
DM
17497 },
17498 "digest" : {
17499 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17500 "maxLength" : 40,
17501 "optional" : 1,
013dc89f
DM
17502 "type" : "string",
17503 "typetext" : "<string>"
44660702 17504 },
56122987 17505 "name" : {
7aacca6f 17506 "description" : "Alias name.",
44660702
DM
17507 "maxLength" : 64,
17508 "minLength" : 2,
7aacca6f 17509 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17510 "type" : "string"
56122987
DM
17511 },
17512 "node" : {
17513 "description" : "The cluster node name.",
44660702 17514 "format" : "pve-node",
013dc89f
DM
17515 "type" : "string",
17516 "typetext" : "<string>"
44660702
DM
17517 },
17518 "rename" : {
17519 "description" : "Rename an existing alias.",
17520 "maxLength" : 64,
17521 "minLength" : 2,
17522 "optional" : 1,
17523 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17524 "type" : "string"
56122987 17525 },
7aacca6f 17526 "vmid" : {
7aacca6f 17527 "description" : "The (unique) ID of the VM.",
44660702 17528 "format" : "pve-vmid",
7aacca6f 17529 "minimum" : 1,
4bd7df8b 17530 "type" : "integer",
013dc89f 17531 "typetext" : "<integer> (1 - N)"
56122987
DM
17532 }
17533 }
17534 },
44660702
DM
17535 "permissions" : {
17536 "check" : [
17537 "perm",
17538 "/vms/{vmid}",
17539 [
17540 "VM.Config.Network"
17541 ]
17542 ]
7aacca6f 17543 },
44660702
DM
17544 "protected" : 1,
17545 "returns" : {
17546 "type" : "null"
7aacca6f
DM
17547 }
17548 }
17549 },
44660702
DM
17550 "leaf" : 1,
17551 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
17552 "text" : "{name}"
17553 }
17554 ],
17555 "info" : {
17556 "GET" : {
17557 "description" : "List aliases",
17558 "method" : "GET",
17559 "name" : "get_aliases",
56122987
DM
17560 "parameters" : {
17561 "additionalProperties" : 0,
17562 "properties" : {
17563 "node" : {
44660702 17564 "description" : "The cluster node name.",
56122987 17565 "format" : "pve-node",
013dc89f
DM
17566 "type" : "string",
17567 "typetext" : "<string>"
56122987
DM
17568 },
17569 "vmid" : {
7aacca6f 17570 "description" : "The (unique) ID of the VM.",
44660702 17571 "format" : "pve-vmid",
7aacca6f 17572 "minimum" : 1,
4bd7df8b 17573 "type" : "integer",
013dc89f 17574 "typetext" : "<integer> (1 - N)"
56122987
DM
17575 }
17576 }
17577 },
44660702
DM
17578 "permissions" : {
17579 "check" : [
17580 "perm",
17581 "/vms/{vmid}",
17582 [
17583 "VM.Audit"
17584 ]
17585 ]
17586 },
56122987
DM
17587 "returns" : {
17588 "items" : {
56122987 17589 "properties" : {
44660702
DM
17590 "cidr" : {
17591 "type" : "string"
7aacca6f 17592 },
44660702
DM
17593 "comment" : {
17594 "optional" : 1,
56122987
DM
17595 "type" : "string"
17596 },
56122987 17597 "digest" : {
56122987 17598 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
17599 "maxLength" : 40,
17600 "optional" : 0,
17601 "type" : "string"
17602 },
17603 "name" : {
17604 "type" : "string"
56122987 17605 }
44660702
DM
17606 },
17607 "type" : "object"
17608 },
17609 "links" : [
17610 {
17611 "href" : "{name}",
17612 "rel" : "child"
56122987 17613 }
44660702
DM
17614 ],
17615 "type" : "array"
7aacca6f
DM
17616 }
17617 },
17618 "POST" : {
44660702 17619 "description" : "Create IP or Network Alias.",
7aacca6f 17620 "method" : "POST",
44660702 17621 "name" : "create_alias",
7aacca6f
DM
17622 "parameters" : {
17623 "additionalProperties" : 0,
17624 "properties" : {
44660702
DM
17625 "cidr" : {
17626 "description" : "Network/IP specification in CIDR format.",
17627 "format" : "IPorCIDR",
013dc89f
DM
17628 "type" : "string",
17629 "typetext" : "<string>"
7aacca6f
DM
17630 },
17631 "comment" : {
17632 "optional" : 1,
013dc89f
DM
17633 "type" : "string",
17634 "typetext" : "<string>"
7aacca6f 17635 },
44660702
DM
17636 "name" : {
17637 "description" : "Alias name.",
17638 "maxLength" : 64,
7aacca6f
DM
17639 "minLength" : 2,
17640 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17641 "type" : "string"
7aacca6f
DM
17642 },
17643 "node" : {
44660702 17644 "description" : "The cluster node name.",
7aacca6f 17645 "format" : "pve-node",
013dc89f
DM
17646 "type" : "string",
17647 "typetext" : "<string>"
7aacca6f 17648 },
44660702
DM
17649 "vmid" : {
17650 "description" : "The (unique) ID of the VM.",
17651 "format" : "pve-vmid",
17652 "minimum" : 1,
4bd7df8b 17653 "type" : "integer",
013dc89f 17654 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17655 }
17656 }
17657 },
44660702
DM
17658 "permissions" : {
17659 "check" : [
17660 "perm",
17661 "/vms/{vmid}",
17662 [
17663 "VM.Config.Network"
17664 ]
17665 ]
17666 },
17667 "protected" : 1,
17668 "returns" : {
17669 "type" : "null"
17670 }
56122987
DM
17671 }
17672 },
44660702
DM
17673 "leaf" : 0,
17674 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
17675 "text" : "aliases"
17676 },
17677 {
56122987
DM
17678 "children" : [
17679 {
56122987
DM
17680 "children" : [
17681 {
17682 "info" : {
17683 "DELETE" : {
44660702 17684 "description" : "Remove IP or Network from IPSet.",
7aacca6f 17685 "method" : "DELETE",
44660702 17686 "name" : "remove_ip",
56122987
DM
17687 "parameters" : {
17688 "additionalProperties" : 0,
17689 "properties" : {
44660702
DM
17690 "cidr" : {
17691 "description" : "Network/IP specification in CIDR format.",
17692 "format" : "IPorCIDRorAlias",
013dc89f
DM
17693 "type" : "string",
17694 "typetext" : "<string>"
56122987
DM
17695 },
17696 "digest" : {
44660702 17697 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 17698 "maxLength" : 40,
7aacca6f 17699 "optional" : 1,
013dc89f
DM
17700 "type" : "string",
17701 "typetext" : "<string>"
56122987 17702 },
56122987 17703 "name" : {
44660702 17704 "description" : "IP set name.",
56122987 17705 "maxLength" : 64,
7aacca6f 17706 "minLength" : 2,
56122987 17707 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 17708 "type" : "string"
7aacca6f
DM
17709 },
17710 "node" : {
7aacca6f 17711 "description" : "The cluster node name.",
44660702 17712 "format" : "pve-node",
013dc89f
DM
17713 "type" : "string",
17714 "typetext" : "<string>"
44660702
DM
17715 },
17716 "vmid" : {
17717 "description" : "The (unique) ID of the VM.",
17718 "format" : "pve-vmid",
17719 "minimum" : 1,
4bd7df8b 17720 "type" : "integer",
013dc89f 17721 "typetext" : "<integer> (1 - N)"
56122987
DM
17722 }
17723 }
17724 },
44660702
DM
17725 "permissions" : {
17726 "check" : [
17727 "perm",
17728 "/vms/{vmid}",
17729 [
17730 "VM.Config.Network"
17731 ]
17732 ]
17733 },
7aacca6f 17734 "protected" : 1,
56122987
DM
17735 "returns" : {
17736 "type" : "null"
44660702
DM
17737 }
17738 },
17739 "GET" : {
17740 "description" : "Read IP or Network settings from IPSet.",
17741 "method" : "GET",
17742 "name" : "read_ip",
56122987
DM
17743 "parameters" : {
17744 "additionalProperties" : 0,
17745 "properties" : {
7aacca6f 17746 "cidr" : {
7aacca6f 17747 "description" : "Network/IP specification in CIDR format.",
44660702 17748 "format" : "IPorCIDRorAlias",
013dc89f
DM
17749 "type" : "string",
17750 "typetext" : "<string>"
56122987 17751 },
7aacca6f 17752 "name" : {
44660702 17753 "description" : "IP set name.",
7aacca6f
DM
17754 "maxLength" : 64,
17755 "minLength" : 2,
7aacca6f
DM
17756 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17757 "type" : "string"
56122987 17758 },
44660702
DM
17759 "node" : {
17760 "description" : "The cluster node name.",
17761 "format" : "pve-node",
013dc89f
DM
17762 "type" : "string",
17763 "typetext" : "<string>"
44660702
DM
17764 },
17765 "vmid" : {
17766 "description" : "The (unique) ID of the VM.",
17767 "format" : "pve-vmid",
17768 "minimum" : 1,
4bd7df8b 17769 "type" : "integer",
013dc89f 17770 "typetext" : "<integer> (1 - N)"
56122987
DM
17771 }
17772 }
17773 },
56122987
DM
17774 "permissions" : {
17775 "check" : [
17776 "perm",
17777 "/vms/{vmid}",
17778 [
44660702 17779 "VM.Audit"
56122987
DM
17780 ]
17781 ]
7aacca6f 17782 },
44660702 17783 "protected" : 1,
7aacca6f
DM
17784 "returns" : {
17785 "type" : "object"
44660702
DM
17786 }
17787 },
17788 "PUT" : {
17789 "description" : "Update IP or Network settings",
17790 "method" : "PUT",
17791 "name" : "update_ip",
7aacca6f 17792 "parameters" : {
44660702 17793 "additionalProperties" : 0,
7aacca6f
DM
17794 "properties" : {
17795 "cidr" : {
44660702 17796 "description" : "Network/IP specification in CIDR format.",
7aacca6f 17797 "format" : "IPorCIDRorAlias",
013dc89f
DM
17798 "type" : "string",
17799 "typetext" : "<string>"
7aacca6f 17800 },
44660702
DM
17801 "comment" : {
17802 "optional" : 1,
013dc89f
DM
17803 "type" : "string",
17804 "typetext" : "<string>"
44660702
DM
17805 },
17806 "digest" : {
17807 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17808 "maxLength" : 40,
17809 "optional" : 1,
013dc89f
DM
17810 "type" : "string",
17811 "typetext" : "<string>"
44660702
DM
17812 },
17813 "name" : {
17814 "description" : "IP set name.",
17815 "maxLength" : 64,
17816 "minLength" : 2,
17817 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17818 "type" : "string"
7aacca6f
DM
17819 },
17820 "node" : {
7aacca6f 17821 "description" : "The cluster node name.",
44660702 17822 "format" : "pve-node",
013dc89f
DM
17823 "type" : "string",
17824 "typetext" : "<string>"
7aacca6f 17825 },
44660702
DM
17826 "nomatch" : {
17827 "optional" : 1,
013dc89f
DM
17828 "type" : "boolean",
17829 "typetext" : "<boolean>"
44660702
DM
17830 },
17831 "vmid" : {
17832 "description" : "The (unique) ID of the VM.",
17833 "format" : "pve-vmid",
17834 "minimum" : 1,
4bd7df8b 17835 "type" : "integer",
013dc89f 17836 "typetext" : "<integer> (1 - N)"
7aacca6f 17837 }
44660702
DM
17838 }
17839 },
17840 "permissions" : {
17841 "check" : [
17842 "perm",
17843 "/vms/{vmid}",
17844 [
17845 "VM.Config.Network"
17846 ]
17847 ]
7aacca6f
DM
17848 },
17849 "protected" : 1,
44660702
DM
17850 "returns" : {
17851 "type" : "null"
17852 }
56122987
DM
17853 }
17854 },
56122987 17855 "leaf" : 1,
44660702
DM
17856 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
17857 "text" : "{cidr}"
56122987
DM
17858 }
17859 ],
17860 "info" : {
44660702
DM
17861 "DELETE" : {
17862 "description" : "Delete IPSet",
17863 "method" : "DELETE",
17864 "name" : "delete_ipset",
17865 "parameters" : {
17866 "additionalProperties" : 0,
17867 "properties" : {
17868 "name" : {
17869 "description" : "IP set name.",
17870 "maxLength" : 64,
17871 "minLength" : 2,
17872 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17873 "type" : "string"
17874 },
17875 "node" : {
17876 "description" : "The cluster node name.",
17877 "format" : "pve-node",
013dc89f
DM
17878 "type" : "string",
17879 "typetext" : "<string>"
44660702
DM
17880 },
17881 "vmid" : {
17882 "description" : "The (unique) ID of the VM.",
17883 "format" : "pve-vmid",
17884 "minimum" : 1,
4bd7df8b 17885 "type" : "integer",
013dc89f 17886 "typetext" : "<integer> (1 - N)"
44660702
DM
17887 }
17888 }
17889 },
17890 "permissions" : {
17891 "check" : [
17892 "perm",
17893 "/vms/{vmid}",
17894 [
17895 "VM.Config.Network"
17896 ]
17897 ]
17898 },
17899 "protected" : 1,
17900 "returns" : {
17901 "type" : "null"
17902 }
17903 },
56122987 17904 "GET" : {
7aacca6f 17905 "description" : "List IPSet content",
44660702
DM
17906 "method" : "GET",
17907 "name" : "get_ipset",
7aacca6f
DM
17908 "parameters" : {
17909 "additionalProperties" : 0,
17910 "properties" : {
17911 "name" : {
17912 "description" : "IP set name.",
44660702 17913 "maxLength" : 64,
7aacca6f 17914 "minLength" : 2,
44660702
DM
17915 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17916 "type" : "string"
7aacca6f
DM
17917 },
17918 "node" : {
7aacca6f 17919 "description" : "The cluster node name.",
44660702 17920 "format" : "pve-node",
013dc89f
DM
17921 "type" : "string",
17922 "typetext" : "<string>"
7aacca6f
DM
17923 },
17924 "vmid" : {
17925 "description" : "The (unique) ID of the VM.",
44660702 17926 "format" : "pve-vmid",
7aacca6f 17927 "minimum" : 1,
4bd7df8b 17928 "type" : "integer",
013dc89f 17929 "typetext" : "<integer> (1 - N)"
56122987 17930 }
7aacca6f
DM
17931 }
17932 },
7aacca6f
DM
17933 "permissions" : {
17934 "check" : [
17935 "perm",
17936 "/vms/{vmid}",
17937 [
17938 "VM.Audit"
17939 ]
17940 ]
17941 },
17942 "returns" : {
56122987
DM
17943 "items" : {
17944 "properties" : {
17945 "cidr" : {
17946 "type" : "string"
17947 },
44660702
DM
17948 "comment" : {
17949 "optional" : 1,
17950 "type" : "string"
17951 },
56122987 17952 "digest" : {
56122987 17953 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 17954 "maxLength" : 40,
7aacca6f 17955 "optional" : 0,
56122987 17956 "type" : "string"
7aacca6f
DM
17957 },
17958 "nomatch" : {
44660702
DM
17959 "optional" : 1,
17960 "type" : "boolean"
56122987 17961 }
44660702
DM
17962 },
17963 "type" : "object"
56122987 17964 },
7aacca6f
DM
17965 "links" : [
17966 {
44660702
DM
17967 "href" : "{cidr}",
17968 "rel" : "child"
56122987 17969 }
44660702
DM
17970 ],
17971 "type" : "array"
17972 }
56122987 17973 },
7aacca6f
DM
17974 "POST" : {
17975 "description" : "Add IP or Network to IPSet.",
44660702 17976 "method" : "POST",
7aacca6f 17977 "name" : "create_ip",
56122987 17978 "parameters" : {
44660702 17979 "additionalProperties" : 0,
56122987 17980 "properties" : {
44660702
DM
17981 "cidr" : {
17982 "description" : "Network/IP specification in CIDR format.",
17983 "format" : "IPorCIDRorAlias",
013dc89f
DM
17984 "type" : "string",
17985 "typetext" : "<string>"
44660702
DM
17986 },
17987 "comment" : {
17988 "optional" : 1,
013dc89f
DM
17989 "type" : "string",
17990 "typetext" : "<string>"
56122987
DM
17991 },
17992 "name" : {
56122987 17993 "description" : "IP set name.",
44660702 17994 "maxLength" : 64,
7aacca6f 17995 "minLength" : 2,
44660702 17996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 17997 "type" : "string"
56122987 17998 },
7aacca6f 17999 "node" : {
7aacca6f 18000 "description" : "The cluster node name.",
44660702 18001 "format" : "pve-node",
013dc89f
DM
18002 "type" : "string",
18003 "typetext" : "<string>"
56122987 18004 },
44660702
DM
18005 "nomatch" : {
18006 "optional" : 1,
013dc89f
DM
18007 "type" : "boolean",
18008 "typetext" : "<boolean>"
7aacca6f
DM
18009 },
18010 "vmid" : {
44660702 18011 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18012 "format" : "pve-vmid",
18013 "minimum" : 1,
4bd7df8b 18014 "type" : "integer",
013dc89f 18015 "typetext" : "<integer> (1 - N)"
56122987 18016 }
44660702
DM
18017 }
18018 },
18019 "permissions" : {
18020 "check" : [
18021 "perm",
18022 "/vms/{vmid}",
18023 [
18024 "VM.Config.Network"
18025 ]
18026 ]
18027 },
18028 "protected" : 1,
18029 "returns" : {
18030 "type" : "null"
18031 }
18032 }
18033 },
18034 "leaf" : 0,
18035 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
18036 "text" : "{name}"
18037 }
18038 ],
18039 "info" : {
18040 "GET" : {
18041 "description" : "List IPSets",
18042 "method" : "GET",
18043 "name" : "ipset_index",
18044 "parameters" : {
18045 "additionalProperties" : 0,
18046 "properties" : {
18047 "node" : {
18048 "description" : "The cluster node name.",
18049 "format" : "pve-node",
013dc89f
DM
18050 "type" : "string",
18051 "typetext" : "<string>"
44660702
DM
18052 },
18053 "vmid" : {
18054 "description" : "The (unique) ID of the VM.",
18055 "format" : "pve-vmid",
18056 "minimum" : 1,
4bd7df8b 18057 "type" : "integer",
013dc89f 18058 "typetext" : "<integer> (1 - N)"
44660702
DM
18059 }
18060 }
18061 },
18062 "permissions" : {
18063 "check" : [
18064 "perm",
18065 "/vms/{vmid}",
18066 [
18067 "VM.Audit"
18068 ]
18069 ]
18070 },
18071 "returns" : {
18072 "items" : {
18073 "properties" : {
18074 "comment" : {
18075 "optional" : 1,
18076 "type" : "string"
18077 },
18078 "digest" : {
18079 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18080 "maxLength" : 40,
18081 "optional" : 0,
18082 "type" : "string"
7aacca6f 18083 },
44660702
DM
18084 "name" : {
18085 "description" : "IP set name.",
18086 "maxLength" : 64,
18087 "minLength" : 2,
18088 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18089 "type" : "string"
18090 }
18091 },
18092 "type" : "object"
18093 },
18094 "links" : [
18095 {
18096 "href" : "{name}",
18097 "rel" : "child"
18098 }
18099 ],
18100 "type" : "array"
18101 }
18102 },
18103 "POST" : {
18104 "description" : "Create new IPSet",
18105 "method" : "POST",
18106 "name" : "create_ipset",
18107 "parameters" : {
18108 "additionalProperties" : 0,
18109 "properties" : {
18110 "comment" : {
18111 "optional" : 1,
013dc89f
DM
18112 "type" : "string",
18113 "typetext" : "<string>"
44660702
DM
18114 },
18115 "digest" : {
18116 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18117 "maxLength" : 40,
18118 "optional" : 1,
013dc89f
DM
18119 "type" : "string",
18120 "typetext" : "<string>"
56122987 18121 },
44660702
DM
18122 "name" : {
18123 "description" : "IP set name.",
18124 "maxLength" : 64,
18125 "minLength" : 2,
18126 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18127 "type" : "string"
18128 },
18129 "node" : {
18130 "description" : "The cluster node name.",
18131 "format" : "pve-node",
013dc89f
DM
18132 "type" : "string",
18133 "typetext" : "<string>"
7aacca6f 18134 },
44660702
DM
18135 "rename" : {
18136 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
18137 "maxLength" : 64,
18138 "minLength" : 2,
18139 "optional" : 1,
18140 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
18141 "type" : "string"
18142 },
18143 "vmid" : {
18144 "description" : "The (unique) ID of the VM.",
18145 "format" : "pve-vmid",
18146 "minimum" : 1,
4bd7df8b 18147 "type" : "integer",
013dc89f 18148 "typetext" : "<integer> (1 - N)"
44660702 18149 }
56122987 18150 }
44660702
DM
18151 },
18152 "permissions" : {
18153 "check" : [
18154 "perm",
18155 "/vms/{vmid}",
18156 [
18157 "VM.Config.Network"
18158 ]
18159 ]
18160 },
18161 "protected" : 1,
18162 "returns" : {
18163 "type" : "null"
56122987
DM
18164 }
18165 }
44660702
DM
18166 },
18167 "leaf" : 0,
18168 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
18169 "text" : "ipset"
56122987
DM
18170 },
18171 {
56122987 18172 "info" : {
7aacca6f 18173 "GET" : {
44660702 18174 "description" : "Get VM firewall options.",
7aacca6f 18175 "method" : "GET",
44660702
DM
18176 "name" : "get_options",
18177 "parameters" : {
18178 "additionalProperties" : 0,
18179 "properties" : {
18180 "node" : {
18181 "description" : "The cluster node name.",
18182 "format" : "pve-node",
013dc89f
DM
18183 "type" : "string",
18184 "typetext" : "<string>"
44660702
DM
18185 },
18186 "vmid" : {
18187 "description" : "The (unique) ID of the VM.",
18188 "format" : "pve-vmid",
18189 "minimum" : 1,
4bd7df8b 18190 "type" : "integer",
013dc89f 18191 "typetext" : "<integer> (1 - N)"
44660702
DM
18192 }
18193 }
18194 },
18195 "permissions" : {
18196 "check" : [
18197 "perm",
18198 "/vms/{vmid}",
18199 [
18200 "VM.Audit"
18201 ]
18202 ]
18203 },
18204 "proxyto" : "node",
56122987 18205 "returns" : {
56122987 18206 "properties" : {
44660702
DM
18207 "dhcp" : {
18208 "description" : "Enable DHCP.",
18209 "optional" : 1,
18210 "type" : "boolean"
18211 },
18212 "enable" : {
18213 "description" : "Enable/disable firewall rules.",
18214 "optional" : 1,
18215 "type" : "boolean"
18216 },
18217 "ipfilter" : {
18218 "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 18219 "optional" : 1,
44660702
DM
18220 "type" : "boolean"
18221 },
18222 "log_level_in" : {
7aacca6f
DM
18223 "description" : "Log level for incoming traffic.",
18224 "enum" : [
18225 "emerg",
18226 "alert",
18227 "crit",
18228 "err",
18229 "warning",
18230 "notice",
18231 "info",
18232 "debug",
18233 "nolog"
44660702
DM
18234 ],
18235 "optional" : 1,
18236 "type" : "string"
56122987 18237 },
44660702
DM
18238 "log_level_out" : {
18239 "description" : "Log level for outgoing traffic.",
56122987 18240 "enum" : [
44660702
DM
18241 "emerg",
18242 "alert",
18243 "crit",
18244 "err",
18245 "warning",
18246 "notice",
18247 "info",
18248 "debug",
18249 "nolog"
7aacca6f 18250 ],
7aacca6f
DM
18251 "optional" : 1,
18252 "type" : "string"
56122987 18253 },
44660702
DM
18254 "macfilter" : {
18255 "description" : "Enable/disable MAC address filter.",
18256 "optional" : 1,
18257 "type" : "boolean"
7aacca6f 18258 },
44660702
DM
18259 "ndp" : {
18260 "description" : "Enable NDP.",
56122987 18261 "optional" : 1,
44660702 18262 "type" : "boolean"
56122987
DM
18263 },
18264 "policy_in" : {
7aacca6f 18265 "description" : "Input policy.",
56122987
DM
18266 "enum" : [
18267 "ACCEPT",
18268 "REJECT",
18269 "DROP"
18270 ],
7aacca6f 18271 "optional" : 1,
44660702 18272 "type" : "string"
56122987 18273 },
44660702
DM
18274 "policy_out" : {
18275 "description" : "Output policy.",
56122987 18276 "enum" : [
44660702
DM
18277 "ACCEPT",
18278 "REJECT",
18279 "DROP"
56122987 18280 ],
7aacca6f 18281 "optional" : 1,
56122987
DM
18282 "type" : "string"
18283 },
44660702
DM
18284 "radv" : {
18285 "description" : "Allow sending Router Advertisement.",
56122987 18286 "optional" : 1,
7aacca6f
DM
18287 "type" : "boolean"
18288 }
7aacca6f 18289 },
44660702
DM
18290 "type" : "object"
18291 }
7aacca6f
DM
18292 },
18293 "PUT" : {
44660702
DM
18294 "description" : "Set Firewall options.",
18295 "method" : "PUT",
7aacca6f
DM
18296 "name" : "set_options",
18297 "parameters" : {
44660702 18298 "additionalProperties" : 0,
7aacca6f 18299 "properties" : {
44660702
DM
18300 "delete" : {
18301 "description" : "A list of settings you want to delete.",
18302 "format" : "pve-configid-list",
18303 "optional" : 1,
013dc89f
DM
18304 "type" : "string",
18305 "typetext" : "<string>"
44660702
DM
18306 },
18307 "dhcp" : {
18308 "description" : "Enable DHCP.",
18309 "optional" : 1,
013dc89f
DM
18310 "type" : "boolean",
18311 "typetext" : "<boolean>"
44660702
DM
18312 },
18313 "digest" : {
18314 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18315 "maxLength" : 40,
18316 "optional" : 1,
013dc89f
DM
18317 "type" : "string",
18318 "typetext" : "<string>"
44660702 18319 },
7aacca6f
DM
18320 "enable" : {
18321 "description" : "Enable/disable firewall rules.",
56122987 18322 "optional" : 1,
013dc89f
DM
18323 "type" : "boolean",
18324 "typetext" : "<boolean>"
56122987 18325 },
44660702
DM
18326 "ipfilter" : {
18327 "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.",
18328 "optional" : 1,
013dc89f
DM
18329 "type" : "boolean",
18330 "typetext" : "<boolean>"
44660702
DM
18331 },
18332 "log_level_in" : {
18333 "description" : "Log level for incoming traffic.",
56122987
DM
18334 "enum" : [
18335 "emerg",
18336 "alert",
18337 "crit",
18338 "err",
18339 "warning",
18340 "notice",
18341 "info",
18342 "debug",
18343 "nolog"
18344 ],
56122987 18345 "optional" : 1,
44660702 18346 "type" : "string"
56122987 18347 },
44660702
DM
18348 "log_level_out" : {
18349 "description" : "Log level for outgoing traffic.",
56122987
DM
18350 "enum" : [
18351 "emerg",
18352 "alert",
18353 "crit",
18354 "err",
18355 "warning",
18356 "notice",
18357 "info",
18358 "debug",
18359 "nolog"
18360 ],
44660702
DM
18361 "optional" : 1,
18362 "type" : "string"
56122987 18363 },
44660702
DM
18364 "macfilter" : {
18365 "description" : "Enable/disable MAC address filter.",
18366 "optional" : 1,
013dc89f
DM
18367 "type" : "boolean",
18368 "typetext" : "<boolean>"
44660702
DM
18369 },
18370 "ndp" : {
18371 "description" : "Enable NDP.",
56122987 18372 "optional" : 1,
013dc89f
DM
18373 "type" : "boolean",
18374 "typetext" : "<boolean>"
56122987 18375 },
7aacca6f
DM
18376 "node" : {
18377 "description" : "The cluster node name.",
44660702 18378 "format" : "pve-node",
013dc89f
DM
18379 "type" : "string",
18380 "typetext" : "<string>"
7aacca6f 18381 },
44660702
DM
18382 "policy_in" : {
18383 "description" : "Input policy.",
18384 "enum" : [
18385 "ACCEPT",
18386 "REJECT",
18387 "DROP"
18388 ],
7aacca6f 18389 "optional" : 1,
44660702 18390 "type" : "string"
7aacca6f 18391 },
44660702
DM
18392 "policy_out" : {
18393 "description" : "Output policy.",
56122987 18394 "enum" : [
7aacca6f
DM
18395 "ACCEPT",
18396 "REJECT",
18397 "DROP"
56122987
DM
18398 ],
18399 "optional" : 1,
56122987 18400 "type" : "string"
7aacca6f 18401 },
44660702
DM
18402 "radv" : {
18403 "description" : "Allow sending Router Advertisement.",
7aacca6f 18404 "optional" : 1,
013dc89f
DM
18405 "type" : "boolean",
18406 "typetext" : "<boolean>"
44660702
DM
18407 },
18408 "vmid" : {
18409 "description" : "The (unique) ID of the VM.",
18410 "format" : "pve-vmid",
18411 "minimum" : 1,
4bd7df8b 18412 "type" : "integer",
013dc89f 18413 "typetext" : "<integer> (1 - N)"
56122987 18414 }
44660702 18415 }
56122987 18416 },
7aacca6f
DM
18417 "permissions" : {
18418 "check" : [
18419 "perm",
18420 "/vms/{vmid}",
18421 [
18422 "VM.Config.Network"
18423 ]
18424 ]
18425 },
44660702
DM
18426 "protected" : 1,
18427 "proxyto" : "node",
7aacca6f
DM
18428 "returns" : {
18429 "type" : "null"
56122987
DM
18430 }
18431 }
18432 },
44660702 18433 "leaf" : 1,
7aacca6f 18434 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 18435 "text" : "options"
56122987
DM
18436 },
18437 {
56122987
DM
18438 "info" : {
18439 "GET" : {
44660702 18440 "description" : "Read firewall log",
56122987 18441 "method" : "GET",
7aacca6f 18442 "name" : "log",
56122987
DM
18443 "parameters" : {
18444 "additionalProperties" : 0,
18445 "properties" : {
44660702
DM
18446 "limit" : {
18447 "minimum" : 0,
18448 "optional" : 1,
4bd7df8b 18449 "type" : "integer",
013dc89f 18450 "typetext" : "<integer> (0 - N)"
44660702 18451 },
56122987
DM
18452 "node" : {
18453 "description" : "The cluster node name.",
44660702 18454 "format" : "pve-node",
013dc89f
DM
18455 "type" : "string",
18456 "typetext" : "<string>"
56122987 18457 },
44660702
DM
18458 "start" : {
18459 "minimum" : 0,
7aacca6f 18460 "optional" : 1,
4bd7df8b 18461 "type" : "integer",
013dc89f 18462 "typetext" : "<integer> (0 - N)"
56122987
DM
18463 },
18464 "vmid" : {
44660702 18465 "description" : "The (unique) ID of the VM.",
7aacca6f 18466 "format" : "pve-vmid",
56122987 18467 "minimum" : 1,
4bd7df8b 18468 "type" : "integer",
013dc89f 18469 "typetext" : "<integer> (1 - N)"
56122987
DM
18470 }
18471 }
18472 },
44660702
DM
18473 "permissions" : {
18474 "check" : [
18475 "perm",
18476 "/vms/{vmid}",
18477 [
18478 "VM.Console"
18479 ]
18480 ]
18481 },
56122987 18482 "protected" : 1,
44660702 18483 "proxyto" : "node",
7aacca6f
DM
18484 "returns" : {
18485 "items" : {
18486 "properties" : {
7aacca6f
DM
18487 "n" : {
18488 "description" : "Line number",
18489 "type" : "integer"
44660702
DM
18490 },
18491 "t" : {
18492 "description" : "Line text",
18493 "type" : "string"
7aacca6f
DM
18494 }
18495 },
18496 "type" : "object"
18497 },
18498 "type" : "array"
44660702 18499 }
56122987
DM
18500 }
18501 },
7aacca6f 18502 "leaf" : 1,
44660702
DM
18503 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
18504 "text" : "log"
56122987
DM
18505 },
18506 {
56122987
DM
18507 "info" : {
18508 "GET" : {
7aacca6f 18509 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
18510 "method" : "GET",
18511 "name" : "refs",
56122987 18512 "parameters" : {
7aacca6f 18513 "additionalProperties" : 0,
56122987 18514 "properties" : {
44660702
DM
18515 "node" : {
18516 "description" : "The cluster node name.",
18517 "format" : "pve-node",
013dc89f
DM
18518 "type" : "string",
18519 "typetext" : "<string>"
7aacca6f 18520 },
56122987 18521 "type" : {
44660702 18522 "description" : "Only list references of specified type.",
56122987
DM
18523 "enum" : [
18524 "alias",
18525 "ipset"
18526 ],
44660702
DM
18527 "optional" : 1,
18528 "type" : "string"
56122987 18529 },
44660702
DM
18530 "vmid" : {
18531 "description" : "The (unique) ID of the VM.",
18532 "format" : "pve-vmid",
18533 "minimum" : 1,
4bd7df8b 18534 "type" : "integer",
013dc89f 18535 "typetext" : "<integer> (1 - N)"
56122987 18536 }
7aacca6f 18537 }
56122987 18538 },
44660702
DM
18539 "permissions" : {
18540 "check" : [
18541 "perm",
18542 "/vms/{vmid}",
18543 [
18544 "VM.Audit"
18545 ]
18546 ]
18547 },
56122987 18548 "returns" : {
56122987 18549 "items" : {
56122987 18550 "properties" : {
44660702
DM
18551 "comment" : {
18552 "optional" : 1,
18553 "type" : "string"
18554 },
18555 "name" : {
18556 "type" : "string"
18557 },
56122987 18558 "type" : {
56122987
DM
18559 "enum" : [
18560 "alias",
18561 "ipset"
44660702 18562 ],
7aacca6f 18563 "type" : "string"
56122987 18564 }
44660702
DM
18565 },
18566 "type" : "object"
18567 },
18568 "type" : "array"
56122987
DM
18569 }
18570 }
18571 },
44660702 18572 "leaf" : 1,
7aacca6f 18573 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 18574 "text" : "refs"
56122987
DM
18575 }
18576 ],
56122987
DM
18577 "info" : {
18578 "GET" : {
7aacca6f 18579 "description" : "Directory index.",
44660702
DM
18580 "method" : "GET",
18581 "name" : "index",
56122987 18582 "parameters" : {
44660702 18583 "additionalProperties" : 0,
56122987 18584 "properties" : {
56122987 18585 "node" : {
44660702 18586 "description" : "The cluster node name.",
56122987 18587 "format" : "pve-node",
013dc89f
DM
18588 "type" : "string",
18589 "typetext" : "<string>"
44660702
DM
18590 },
18591 "vmid" : {
18592 "description" : "The (unique) ID of the VM.",
18593 "format" : "pve-vmid",
18594 "minimum" : 1,
4bd7df8b 18595 "type" : "integer",
013dc89f 18596 "typetext" : "<integer> (1 - N)"
56122987 18597 }
44660702
DM
18598 }
18599 },
18600 "permissions" : {
18601 "user" : "all"
56122987
DM
18602 },
18603 "returns" : {
7aacca6f 18604 "items" : {
44660702
DM
18605 "properties" : {},
18606 "type" : "object"
7aacca6f 18607 },
56122987
DM
18608 "links" : [
18609 {
44660702
DM
18610 "href" : "{name}",
18611 "rel" : "child"
56122987 18612 }
44660702
DM
18613 ],
18614 "type" : "array"
56122987
DM
18615 }
18616 }
18617 },
44660702 18618 "leaf" : 0,
7aacca6f 18619 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 18620 "text" : "firewall"
56122987
DM
18621 },
18622 {
56122987
DM
18623 "info" : {
18624 "GET" : {
56122987 18625 "description" : "Read VM RRD statistics (returns PNG)",
44660702 18626 "method" : "GET",
7aacca6f 18627 "name" : "rrd",
56122987 18628 "parameters" : {
7aacca6f 18629 "additionalProperties" : 0,
56122987 18630 "properties" : {
44660702
DM
18631 "cf" : {
18632 "description" : "The RRD consolidation function",
18633 "enum" : [
18634 "AVERAGE",
18635 "MAX"
18636 ],
18637 "optional" : 1,
18638 "type" : "string"
18639 },
18640 "ds" : {
18641 "description" : "The list of datasources you want to display.",
18642 "format" : "pve-configid-list",
013dc89f
DM
18643 "type" : "string",
18644 "typetext" : "<string>"
44660702 18645 },
7aacca6f
DM
18646 "node" : {
18647 "description" : "The cluster node name.",
44660702 18648 "format" : "pve-node",
013dc89f
DM
18649 "type" : "string",
18650 "typetext" : "<string>"
56122987
DM
18651 },
18652 "timeframe" : {
18653 "description" : "Specify the time frame you are interested in.",
18654 "enum" : [
18655 "hour",
18656 "day",
18657 "week",
18658 "month",
18659 "year"
7aacca6f 18660 ],
44660702 18661 "type" : "string"
7aacca6f
DM
18662 },
18663 "vmid" : {
44660702 18664 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18665 "format" : "pve-vmid",
18666 "minimum" : 1,
4bd7df8b 18667 "type" : "integer",
013dc89f 18668 "typetext" : "<integer> (1 - N)"
56122987 18669 }
7aacca6f
DM
18670 }
18671 },
18672 "permissions" : {
18673 "check" : [
18674 "perm",
18675 "/vms/{vmid}",
18676 [
18677 "VM.Audit"
18678 ]
18679 ]
56122987 18680 },
44660702 18681 "protected" : 1,
7aacca6f
DM
18682 "returns" : {
18683 "properties" : {
18684 "filename" : {
18685 "type" : "string"
18686 }
18687 },
18688 "type" : "object"
18689 }
56122987 18690 }
7aacca6f 18691 },
44660702 18692 "leaf" : 1,
7aacca6f 18693 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 18694 "text" : "rrd"
56122987
DM
18695 },
18696 {
56122987
DM
18697 "info" : {
18698 "GET" : {
44660702
DM
18699 "description" : "Read VM RRD statistics",
18700 "method" : "GET",
18701 "name" : "rrddata",
56122987 18702 "parameters" : {
7aacca6f 18703 "additionalProperties" : 0,
56122987 18704 "properties" : {
44660702
DM
18705 "cf" : {
18706 "description" : "The RRD consolidation function",
18707 "enum" : [
18708 "AVERAGE",
18709 "MAX"
18710 ],
18711 "optional" : 1,
18712 "type" : "string"
18713 },
7aacca6f 18714 "node" : {
44660702 18715 "description" : "The cluster node name.",
7aacca6f 18716 "format" : "pve-node",
013dc89f
DM
18717 "type" : "string",
18718 "typetext" : "<string>"
7aacca6f 18719 },
56122987
DM
18720 "timeframe" : {
18721 "description" : "Specify the time frame you are interested in.",
18722 "enum" : [
18723 "hour",
18724 "day",
18725 "week",
18726 "month",
18727 "year"
44660702
DM
18728 ],
18729 "type" : "string"
7aacca6f
DM
18730 },
18731 "vmid" : {
18732 "description" : "The (unique) ID of the VM.",
44660702 18733 "format" : "pve-vmid",
7aacca6f 18734 "minimum" : 1,
4bd7df8b 18735 "type" : "integer",
013dc89f 18736 "typetext" : "<integer> (1 - N)"
56122987 18737 }
56122987
DM
18738 }
18739 },
56122987
DM
18740 "permissions" : {
18741 "check" : [
18742 "perm",
18743 "/vms/{vmid}",
18744 [
18745 "VM.Audit"
18746 ]
18747 ]
18748 },
7aacca6f
DM
18749 "protected" : 1,
18750 "returns" : {
7aacca6f
DM
18751 "items" : {
18752 "properties" : {},
18753 "type" : "object"
44660702
DM
18754 },
18755 "type" : "array"
18756 }
56122987
DM
18757 }
18758 },
44660702 18759 "leaf" : 1,
7aacca6f 18760 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 18761 "text" : "rrddata"
56122987
DM
18762 },
18763 {
18764 "info" : {
18765 "POST" : {
18766 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
18767 "method" : "POST",
18768 "name" : "vncproxy",
7aacca6f 18769 "parameters" : {
44660702 18770 "additionalProperties" : 0,
7aacca6f 18771 "properties" : {
5d9c884c
DM
18772 "height" : {
18773 "description" : "sets the height of the console in pixels.",
18774 "maximum" : 2160,
18775 "minimum" : 16,
18776 "optional" : 1,
18777 "type" : "integer",
18778 "typetext" : "<integer> (16 - 2160)"
18779 },
44660702
DM
18780 "node" : {
18781 "description" : "The cluster node name.",
18782 "format" : "pve-node",
013dc89f
DM
18783 "type" : "string",
18784 "typetext" : "<string>"
44660702 18785 },
7aacca6f 18786 "vmid" : {
44660702 18787 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18788 "format" : "pve-vmid",
18789 "minimum" : 1,
4bd7df8b 18790 "type" : "integer",
013dc89f 18791 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
18792 },
18793 "websocket" : {
44660702 18794 "description" : "use websocket instead of standard VNC.",
7aacca6f 18795 "optional" : 1,
013dc89f
DM
18796 "type" : "boolean",
18797 "typetext" : "<boolean>"
5d9c884c
DM
18798 },
18799 "width" : {
18800 "description" : "sets the width of the console in pixels.",
18801 "maximum" : 4096,
18802 "minimum" : 16,
18803 "optional" : 1,
18804 "type" : "integer",
18805 "typetext" : "<integer> (16 - 4096)"
7aacca6f 18806 }
44660702 18807 }
7aacca6f 18808 },
56122987
DM
18809 "permissions" : {
18810 "check" : [
18811 "perm",
18812 "/vms/{vmid}",
18813 [
18814 "VM.Console"
18815 ]
18816 ]
18817 },
44660702 18818 "protected" : 1,
56122987 18819 "returns" : {
7aacca6f 18820 "additionalProperties" : 0,
56122987 18821 "properties" : {
7aacca6f 18822 "cert" : {
56122987
DM
18823 "type" : "string"
18824 },
44660702
DM
18825 "port" : {
18826 "type" : "integer"
56122987 18827 },
44660702 18828 "ticket" : {
56122987
DM
18829 "type" : "string"
18830 },
44660702 18831 "upid" : {
56122987
DM
18832 "type" : "string"
18833 },
44660702
DM
18834 "user" : {
18835 "type" : "string"
56122987 18836 }
7aacca6f 18837 }
56122987
DM
18838 }
18839 }
18840 },
44660702 18841 "leaf" : 1,
56122987 18842 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 18843 "text" : "vncproxy"
56122987 18844 },
35a75dd3
DM
18845 {
18846 "info" : {
18847 "POST" : {
18848 "description" : "Creates a TCP proxy connection.",
18849 "method" : "POST",
18850 "name" : "termproxy",
18851 "parameters" : {
18852 "additionalProperties" : 0,
18853 "properties" : {
18854 "node" : {
18855 "description" : "The cluster node name.",
18856 "format" : "pve-node",
18857 "type" : "string",
18858 "typetext" : "<string>"
18859 },
18860 "vmid" : {
18861 "description" : "The (unique) ID of the VM.",
18862 "format" : "pve-vmid",
18863 "minimum" : 1,
18864 "type" : "integer",
18865 "typetext" : "<integer> (1 - N)"
18866 }
18867 }
18868 },
18869 "permissions" : {
18870 "check" : [
18871 "perm",
18872 "/vms/{vmid}",
18873 [
18874 "VM.Console"
18875 ]
18876 ]
18877 },
18878 "protected" : 1,
18879 "returns" : {
18880 "additionalProperties" : 0,
18881 "properties" : {
18882 "port" : {
18883 "type" : "integer"
18884 },
18885 "ticket" : {
18886 "type" : "string"
18887 },
18888 "upid" : {
18889 "type" : "string"
18890 },
18891 "user" : {
18892 "type" : "string"
18893 }
18894 }
18895 }
18896 }
18897 },
18898 "leaf" : 1,
18899 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
18900 "text" : "termproxy"
18901 },
56122987 18902 {
56122987
DM
18903 "info" : {
18904 "GET" : {
44660702
DM
18905 "description" : "Opens a weksocket for VNC traffic.",
18906 "method" : "GET",
18907 "name" : "vncwebsocket",
56122987 18908 "parameters" : {
44660702 18909 "additionalProperties" : 0,
56122987 18910 "properties" : {
56122987
DM
18911 "node" : {
18912 "description" : "The cluster node name.",
44660702 18913 "format" : "pve-node",
013dc89f
DM
18914 "type" : "string",
18915 "typetext" : "<string>"
7aacca6f 18916 },
44660702
DM
18917 "port" : {
18918 "description" : "Port number returned by previous vncproxy call.",
18919 "maximum" : 5999,
18920 "minimum" : 5900,
4bd7df8b 18921 "type" : "integer",
013dc89f 18922 "typetext" : "<integer> (5900 - 5999)"
44660702 18923 },
7aacca6f
DM
18924 "vmid" : {
18925 "description" : "The (unique) ID of the VM.",
7aacca6f 18926 "format" : "pve-vmid",
44660702 18927 "minimum" : 1,
4bd7df8b 18928 "type" : "integer",
013dc89f 18929 "typetext" : "<integer> (1 - N)"
44660702
DM
18930 },
18931 "vncticket" : {
18932 "description" : "Ticket from previous call to vncproxy.",
18933 "maxLength" : 512,
013dc89f
DM
18934 "type" : "string",
18935 "typetext" : "<string>"
56122987 18936 }
44660702 18937 }
7aacca6f 18938 },
7aacca6f
DM
18939 "permissions" : {
18940 "check" : [
18941 "perm",
18942 "/vms/{vmid}",
18943 [
18944 "VM.Console"
18945 ]
18946 ],
18947 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
18948 },
18949 "returns" : {
56122987
DM
18950 "properties" : {
18951 "port" : {
18952 "type" : "string"
18953 }
44660702
DM
18954 },
18955 "type" : "object"
18956 }
56122987
DM
18957 }
18958 },
44660702 18959 "leaf" : 1,
7aacca6f 18960 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 18961 "text" : "vncwebsocket"
56122987
DM
18962 },
18963 {
56122987
DM
18964 "info" : {
18965 "POST" : {
44660702
DM
18966 "description" : "Returns a SPICE configuration to connect to the CT.",
18967 "method" : "POST",
18968 "name" : "spiceproxy",
56122987
DM
18969 "parameters" : {
18970 "additionalProperties" : 0,
18971 "properties" : {
44660702
DM
18972 "node" : {
18973 "description" : "The cluster node name.",
18974 "format" : "pve-node",
013dc89f
DM
18975 "type" : "string",
18976 "typetext" : "<string>"
56122987
DM
18977 },
18978 "proxy" : {
7aacca6f 18979 "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
18980 "format" : "address",
18981 "optional" : 1,
013dc89f
DM
18982 "type" : "string",
18983 "typetext" : "<string>"
44660702
DM
18984 },
18985 "vmid" : {
18986 "description" : "The (unique) ID of the VM.",
18987 "format" : "pve-vmid",
18988 "minimum" : 1,
4bd7df8b 18989 "type" : "integer",
013dc89f 18990 "typetext" : "<integer> (1 - N)"
56122987
DM
18991 }
18992 }
18993 },
56122987
DM
18994 "permissions" : {
18995 "check" : [
18996 "perm",
18997 "/vms/{vmid}",
18998 [
18999 "VM.Console"
19000 ]
19001 ]
19002 },
44660702
DM
19003 "protected" : 1,
19004 "proxyto" : "node",
56122987 19005 "returns" : {
7aacca6f 19006 "additionalProperties" : 1,
44660702 19007 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 19008 "properties" : {
44660702 19009 "host" : {
56122987
DM
19010 "type" : "string"
19011 },
44660702 19012 "password" : {
56122987
DM
19013 "type" : "string"
19014 },
19015 "proxy" : {
19016 "type" : "string"
19017 },
56122987
DM
19018 "tls-port" : {
19019 "type" : "integer"
7aacca6f 19020 },
44660702 19021 "type" : {
7aacca6f 19022 "type" : "string"
56122987 19023 }
7aacca6f
DM
19024 }
19025 }
56122987 19026 }
44660702
DM
19027 },
19028 "leaf" : 1,
19029 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
19030 "text" : "spiceproxy"
56122987
DM
19031 },
19032 {
56122987
DM
19033 "info" : {
19034 "POST" : {
44660702 19035 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 19036 "method" : "POST",
44660702 19037 "name" : "migrate_vm",
56122987 19038 "parameters" : {
44660702 19039 "additionalProperties" : 0,
56122987 19040 "properties" : {
44660702 19041 "force" : {
de0983cb 19042 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 19043 "optional" : 1,
013dc89f
DM
19044 "type" : "boolean",
19045 "typetext" : "<boolean>"
44660702
DM
19046 },
19047 "node" : {
19048 "description" : "The cluster node name.",
7aacca6f 19049 "format" : "pve-node",
013dc89f
DM
19050 "type" : "string",
19051 "typetext" : "<string>"
7aacca6f 19052 },
56122987 19053 "online" : {
56122987 19054 "description" : "Use online/live migration.",
44660702 19055 "optional" : 1,
013dc89f
DM
19056 "type" : "boolean",
19057 "typetext" : "<boolean>"
56122987 19058 },
6875b729
DM
19059 "restart" : {
19060 "description" : "Use restart migration",
19061 "optional" : 1,
19062 "type" : "boolean",
19063 "typetext" : "<boolean>"
19064 },
44660702
DM
19065 "target" : {
19066 "description" : "Target node.",
56122987 19067 "format" : "pve-node",
013dc89f
DM
19068 "type" : "string",
19069 "typetext" : "<string>"
56122987 19070 },
6875b729
DM
19071 "timeout" : {
19072 "default" : 180,
19073 "description" : "Timeout in seconds for shutdown for restart migration",
19074 "optional" : 1,
19075 "type" : "integer",
19076 "typetext" : "<integer>"
19077 },
44660702
DM
19078 "vmid" : {
19079 "description" : "The (unique) ID of the VM.",
19080 "format" : "pve-vmid",
19081 "minimum" : 1,
4bd7df8b 19082 "type" : "integer",
013dc89f 19083 "typetext" : "<integer> (1 - N)"
56122987 19084 }
44660702 19085 }
7aacca6f 19086 },
56122987
DM
19087 "permissions" : {
19088 "check" : [
19089 "perm",
19090 "/vms/{vmid}",
19091 [
19092 "VM.Migrate"
19093 ]
19094 ]
19095 },
44660702 19096 "protected" : 1,
7aacca6f 19097 "proxyto" : "node",
44660702
DM
19098 "returns" : {
19099 "description" : "the task ID.",
19100 "type" : "string"
19101 }
56122987
DM
19102 }
19103 },
44660702
DM
19104 "leaf" : 1,
19105 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 19106 "text" : "migrate"
56122987
DM
19107 },
19108 {
56122987
DM
19109 "info" : {
19110 "GET" : {
44660702
DM
19111 "description" : "Check if feature for virtual machine is available.",
19112 "method" : "GET",
56122987 19113 "name" : "vm_feature",
56122987 19114 "parameters" : {
7aacca6f 19115 "additionalProperties" : 0,
56122987 19116 "properties" : {
44660702
DM
19117 "feature" : {
19118 "description" : "Feature to check.",
19119 "enum" : [
27a7acb2
DM
19120 "snapshot",
19121 "clone",
19122 "copy"
44660702
DM
19123 ],
19124 "type" : "string"
19125 },
7aacca6f 19126 "node" : {
44660702 19127 "description" : "The cluster node name.",
7aacca6f 19128 "format" : "pve-node",
013dc89f
DM
19129 "type" : "string",
19130 "typetext" : "<string>"
7aacca6f 19131 },
56122987 19132 "snapname" : {
7aacca6f
DM
19133 "description" : "The name of the snapshot.",
19134 "format" : "pve-configid",
44660702
DM
19135 "maxLength" : 40,
19136 "optional" : 1,
013dc89f
DM
19137 "type" : "string",
19138 "typetext" : "<string>"
56122987
DM
19139 },
19140 "vmid" : {
7aacca6f 19141 "description" : "The (unique) ID of the VM.",
44660702 19142 "format" : "pve-vmid",
7aacca6f 19143 "minimum" : 1,
4bd7df8b 19144 "type" : "integer",
013dc89f 19145 "typetext" : "<integer> (1 - N)"
56122987 19146 }
7aacca6f 19147 }
56122987
DM
19148 },
19149 "permissions" : {
19150 "check" : [
19151 "perm",
19152 "/vms/{vmid}",
19153 [
19154 "VM.Audit"
19155 ]
19156 ]
19157 },
44660702 19158 "protected" : 1,
7aacca6f 19159 "proxyto" : "node",
7aacca6f
DM
19160 "returns" : {
19161 "properties" : {
19162 "hasFeature" : {
19163 "type" : "boolean"
19164 }
19165 },
19166 "type" : "object"
19167 }
56122987
DM
19168 }
19169 },
7aacca6f 19170 "leaf" : 1,
44660702
DM
19171 "path" : "/nodes/{node}/lxc/{vmid}/feature",
19172 "text" : "feature"
56122987
DM
19173 },
19174 {
56122987
DM
19175 "info" : {
19176 "POST" : {
44660702
DM
19177 "description" : "Create a Template.",
19178 "method" : "POST",
56122987 19179 "name" : "template",
56122987
DM
19180 "parameters" : {
19181 "additionalProperties" : 0,
19182 "properties" : {
7aacca6f 19183 "node" : {
7aacca6f 19184 "description" : "The cluster node name.",
44660702 19185 "format" : "pve-node",
013dc89f
DM
19186 "type" : "string",
19187 "typetext" : "<string>"
56122987 19188 },
44660702
DM
19189 "vmid" : {
19190 "description" : "The (unique) ID of the VM.",
19191 "format" : "pve-vmid",
19192 "minimum" : 1,
4bd7df8b 19193 "type" : "integer",
013dc89f 19194 "typetext" : "<integer> (1 - N)"
56122987
DM
19195 }
19196 }
19197 },
56122987 19198 "permissions" : {
56122987
DM
19199 "check" : [
19200 "perm",
19201 "/vms/{vmid}",
19202 [
19203 "VM.Allocate"
19204 ]
44660702
DM
19205 ],
19206 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 19207 },
44660702 19208 "protected" : 1,
7aacca6f
DM
19209 "proxyto" : "node",
19210 "returns" : {
19211 "type" : "null"
56122987
DM
19212 }
19213 }
19214 },
44660702 19215 "leaf" : 1,
7aacca6f 19216 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 19217 "text" : "template"
56122987
DM
19218 },
19219 {
56122987
DM
19220 "info" : {
19221 "POST" : {
44660702
DM
19222 "description" : "Create a container clone/copy",
19223 "method" : "POST",
56122987 19224 "name" : "clone_vm",
7aacca6f
DM
19225 "parameters" : {
19226 "additionalProperties" : 0,
19227 "properties" : {
44660702
DM
19228 "description" : {
19229 "description" : "Description for the new CT.",
7aacca6f 19230 "optional" : 1,
013dc89f
DM
19231 "type" : "string",
19232 "typetext" : "<string>"
7aacca6f 19233 },
44660702 19234 "full" : {
27a7acb2 19235 "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 19236 "optional" : 1,
013dc89f
DM
19237 "type" : "boolean",
19238 "typetext" : "<boolean>"
7aacca6f
DM
19239 },
19240 "hostname" : {
44660702 19241 "description" : "Set a hostname for the new CT.",
7aacca6f 19242 "format" : "dns-name",
7aacca6f 19243 "optional" : 1,
013dc89f
DM
19244 "type" : "string",
19245 "typetext" : "<string>"
7aacca6f 19246 },
44660702
DM
19247 "newid" : {
19248 "description" : "VMID for the clone.",
7aacca6f 19249 "format" : "pve-vmid",
44660702 19250 "minimum" : 1,
4bd7df8b 19251 "type" : "integer",
013dc89f 19252 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
19253 },
19254 "node" : {
19255 "description" : "The cluster node name.",
44660702 19256 "format" : "pve-node",
013dc89f
DM
19257 "type" : "string",
19258 "typetext" : "<string>"
44660702
DM
19259 },
19260 "pool" : {
19261 "description" : "Add the new CT to the specified pool.",
19262 "format" : "pve-poolid",
19263 "optional" : 1,
013dc89f
DM
19264 "type" : "string",
19265 "typetext" : "<string>"
7aacca6f
DM
19266 },
19267 "snapname" : {
44660702 19268 "description" : "The name of the snapshot.",
7aacca6f
DM
19269 "format" : "pve-configid",
19270 "maxLength" : 40,
7aacca6f 19271 "optional" : 1,
013dc89f
DM
19272 "type" : "string",
19273 "typetext" : "<string>"
7aacca6f
DM
19274 },
19275 "storage" : {
44660702 19276 "description" : "Target storage for full clone.",
7aacca6f
DM
19277 "format" : "pve-storage-id",
19278 "optional" : 1,
27a7acb2
DM
19279 "type" : "string",
19280 "typetext" : "<string>"
19281 },
19282 "target" : {
19283 "description" : "Target node. Only allowed if the original VM is on shared storage.",
19284 "format" : "pve-node",
19285 "optional" : 1,
013dc89f
DM
19286 "type" : "string",
19287 "typetext" : "<string>"
44660702
DM
19288 },
19289 "vmid" : {
19290 "description" : "The (unique) ID of the VM.",
19291 "format" : "pve-vmid",
19292 "minimum" : 1,
4bd7df8b 19293 "type" : "integer",
013dc89f 19294 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
19295 }
19296 }
56122987
DM
19297 },
19298 "permissions" : {
56122987
DM
19299 "check" : [
19300 "and",
19301 [
19302 "perm",
19303 "/vms/{vmid}",
19304 [
19305 "VM.Clone"
19306 ]
19307 ],
19308 [
19309 "or",
19310 [
19311 "perm",
19312 "/vms/{newid}",
19313 [
19314 "VM.Allocate"
19315 ]
19316 ],
19317 [
19318 "perm",
19319 "/pool/{pool}",
19320 [
19321 "VM.Allocate"
19322 ],
19323 "require_param",
19324 "pool"
19325 ]
19326 ]
7aacca6f
DM
19327 ],
19328 "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 19329 },
44660702 19330 "protected" : 1,
56122987 19331 "proxyto" : "node",
7aacca6f
DM
19332 "returns" : {
19333 "type" : "string"
56122987
DM
19334 }
19335 }
44660702
DM
19336 },
19337 "leaf" : 1,
19338 "path" : "/nodes/{node}/lxc/{vmid}/clone",
19339 "text" : "clone"
56122987
DM
19340 },
19341 {
56122987
DM
19342 "info" : {
19343 "PUT" : {
de0983cb 19344 "description" : "Resize a container mount point.",
44660702
DM
19345 "method" : "PUT",
19346 "name" : "resize_vm",
56122987 19347 "parameters" : {
44660702 19348 "additionalProperties" : 0,
56122987 19349 "properties" : {
44660702
DM
19350 "digest" : {
19351 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19352 "maxLength" : 40,
19353 "optional" : 1,
013dc89f
DM
19354 "type" : "string",
19355 "typetext" : "<string>"
56122987
DM
19356 },
19357 "disk" : {
7aacca6f 19358 "description" : "The disk you want to resize.",
56122987
DM
19359 "enum" : [
19360 "rootfs",
19361 "mp0",
19362 "mp1",
19363 "mp2",
19364 "mp3",
19365 "mp4",
19366 "mp5",
19367 "mp6",
19368 "mp7",
19369 "mp8",
19370 "mp9"
19371 ],
7aacca6f
DM
19372 "type" : "string"
19373 },
44660702
DM
19374 "node" : {
19375 "description" : "The cluster node name.",
19376 "format" : "pve-node",
013dc89f
DM
19377 "type" : "string",
19378 "typetext" : "<string>"
44660702
DM
19379 },
19380 "size" : {
19381 "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.",
19382 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
19383 "type" : "string"
19384 },
19385 "vmid" : {
19386 "description" : "The (unique) ID of the VM.",
19387 "format" : "pve-vmid",
19388 "minimum" : 1,
4bd7df8b 19389 "type" : "integer",
013dc89f 19390 "typetext" : "<integer> (1 - N)"
56122987 19391 }
44660702 19392 }
56122987 19393 },
7aacca6f
DM
19394 "permissions" : {
19395 "check" : [
19396 "perm",
19397 "/vms/{vmid}",
19398 [
19399 "VM.Config.Disk"
19400 ],
19401 "any",
19402 1
19403 ]
19404 },
44660702 19405 "protected" : 1,
7aacca6f
DM
19406 "proxyto" : "node",
19407 "returns" : {
19408 "description" : "the task ID.",
19409 "type" : "string"
19410 }
56122987
DM
19411 }
19412 },
44660702 19413 "leaf" : 1,
7aacca6f 19414 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 19415 "text" : "resize"
27a7acb2
DM
19416 },
19417 {
19418 "info" : {
19419 "POST" : {
19420 "description" : "Move a rootfs-/mp-volume to a different storage",
19421 "method" : "POST",
19422 "name" : "move_volume",
19423 "parameters" : {
19424 "additionalProperties" : 0,
19425 "properties" : {
19426 "delete" : {
19427 "default" : 0,
19428 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
19429 "optional" : 1,
19430 "type" : "boolean",
19431 "typetext" : "<boolean>"
19432 },
19433 "digest" : {
19434 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19435 "maxLength" : 40,
19436 "optional" : 1,
19437 "type" : "string",
19438 "typetext" : "<string>"
19439 },
19440 "node" : {
19441 "description" : "The cluster node name.",
19442 "format" : "pve-node",
19443 "type" : "string",
19444 "typetext" : "<string>"
19445 },
19446 "storage" : {
19447 "description" : "Target Storage.",
19448 "format" : "pve-storage-id",
19449 "type" : "string",
19450 "typetext" : "<string>"
19451 },
19452 "vmid" : {
19453 "description" : "The (unique) ID of the VM.",
19454 "format" : "pve-vmid",
19455 "minimum" : 1,
19456 "type" : "integer",
19457 "typetext" : "<integer> (1 - N)"
19458 },
19459 "volume" : {
19460 "description" : "Volume which will be moved.",
19461 "enum" : [
19462 "rootfs",
19463 "mp0",
19464 "mp1",
19465 "mp2",
19466 "mp3",
19467 "mp4",
19468 "mp5",
19469 "mp6",
19470 "mp7",
19471 "mp8",
19472 "mp9"
19473 ],
19474 "type" : "string"
19475 }
19476 }
19477 },
19478 "permissions" : {
19479 "check" : [
19480 "and",
19481 [
19482 "perm",
19483 "/vms/{vmid}",
19484 [
19485 "VM.Config.Disk"
19486 ]
19487 ],
19488 [
19489 "perm",
19490 "/storage/{storage}",
19491 [
19492 "Datastore.AllocateSpace"
19493 ]
19494 ]
19495 ],
19496 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
19497 },
19498 "protected" : 1,
19499 "proxyto" : "node",
19500 "returns" : {
19501 "type" : "string"
19502 }
19503 }
19504 },
19505 "leaf" : 1,
19506 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
19507 "text" : "move_volume"
56122987
DM
19508 }
19509 ],
19510 "info" : {
19511 "DELETE" : {
7aacca6f 19512 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
19513 "method" : "DELETE",
19514 "name" : "destroy_vm",
19515 "parameters" : {
19516 "additionalProperties" : 0,
19517 "properties" : {
19518 "node" : {
19519 "description" : "The cluster node name.",
19520 "format" : "pve-node",
013dc89f
DM
19521 "type" : "string",
19522 "typetext" : "<string>"
44660702
DM
19523 },
19524 "vmid" : {
19525 "description" : "The (unique) ID of the VM.",
19526 "format" : "pve-vmid",
19527 "minimum" : 1,
4bd7df8b 19528 "type" : "integer",
013dc89f 19529 "typetext" : "<integer> (1 - N)"
44660702
DM
19530 }
19531 }
19532 },
7aacca6f
DM
19533 "permissions" : {
19534 "check" : [
19535 "perm",
19536 "/vms/{vmid}",
19537 [
19538 "VM.Allocate"
19539 ]
19540 ]
19541 },
44660702
DM
19542 "protected" : 1,
19543 "proxyto" : "node",
56122987
DM
19544 "returns" : {
19545 "type" : "string"
44660702 19546 }
56122987
DM
19547 },
19548 "GET" : {
7aacca6f 19549 "description" : "Directory index",
44660702 19550 "method" : "GET",
7aacca6f 19551 "name" : "vmdiridx",
56122987 19552 "parameters" : {
7aacca6f 19553 "additionalProperties" : 0,
56122987
DM
19554 "properties" : {
19555 "node" : {
7aacca6f 19556 "description" : "The cluster node name.",
44660702 19557 "format" : "pve-node",
013dc89f
DM
19558 "type" : "string",
19559 "typetext" : "<string>"
56122987
DM
19560 },
19561 "vmid" : {
19562 "description" : "The (unique) ID of the VM.",
56122987 19563 "format" : "pve-vmid",
44660702 19564 "minimum" : 1,
4bd7df8b 19565 "type" : "integer",
013dc89f 19566 "typetext" : "<integer> (1 - N)"
56122987 19567 }
7aacca6f 19568 }
56122987 19569 },
56122987
DM
19570 "permissions" : {
19571 "user" : "all"
44660702
DM
19572 },
19573 "proxyto" : "node",
19574 "returns" : {
19575 "items" : {
19576 "properties" : {
19577 "subdir" : {
19578 "type" : "string"
19579 }
19580 },
19581 "type" : "object"
19582 },
19583 "links" : [
19584 {
19585 "href" : "{subdir}",
19586 "rel" : "child"
19587 }
19588 ],
19589 "type" : "array"
56122987
DM
19590 }
19591 }
44660702
DM
19592 },
19593 "leaf" : 0,
19594 "path" : "/nodes/{node}/lxc/{vmid}",
19595 "text" : "{vmid}"
56122987
DM
19596 }
19597 ],
56122987 19598 "info" : {
44660702
DM
19599 "GET" : {
19600 "description" : "LXC container index (per node).",
19601 "method" : "GET",
19602 "name" : "vmlist",
19603 "parameters" : {
19604 "additionalProperties" : 0,
19605 "properties" : {
19606 "node" : {
19607 "description" : "The cluster node name.",
19608 "format" : "pve-node",
013dc89f
DM
19609 "type" : "string",
19610 "typetext" : "<string>"
44660702
DM
19611 }
19612 }
19613 },
19614 "permissions" : {
19615 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
19616 "user" : "all"
19617 },
19618 "protected" : 1,
19619 "proxyto" : "node",
19620 "returns" : {
19621 "items" : {
19622 "properties" : {},
19623 "type" : "object"
19624 },
19625 "links" : [
19626 {
19627 "href" : "{vmid}",
19628 "rel" : "child"
19629 }
19630 ],
19631 "type" : "array"
19632 }
19633 },
56122987 19634 "POST" : {
44660702 19635 "description" : "Create or restore a container.",
7aacca6f
DM
19636 "method" : "POST",
19637 "name" : "create_vm",
56122987 19638 "parameters" : {
7aacca6f 19639 "additionalProperties" : 0,
56122987 19640 "properties" : {
44660702
DM
19641 "arch" : {
19642 "default" : "amd64",
19643 "description" : "OS architecture type.",
19644 "enum" : [
19645 "amd64",
19646 "i386"
19647 ],
7aacca6f 19648 "optional" : 1,
44660702 19649 "type" : "string"
7aacca6f 19650 },
27a7acb2
DM
19651 "bwlimit" : {
19652 "description" : "Override i/o bandwidth limit (in KiB/s).",
19653 "minimum" : "0",
19654 "optional" : 1,
19655 "type" : "number",
19656 "typetext" : "<number> (0 - N)"
19657 },
44660702
DM
19658 "cmode" : {
19659 "default" : "tty",
19660 "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).",
19661 "enum" : [
19662 "shell",
19663 "console",
19664 "tty"
19665 ],
7aacca6f 19666 "optional" : 1,
44660702 19667 "type" : "string"
7aacca6f
DM
19668 },
19669 "console" : {
7aacca6f 19670 "default" : 1,
44660702 19671 "description" : "Attach a console device (/dev/console) to the container.",
56122987 19672 "optional" : 1,
013dc89f
DM
19673 "type" : "boolean",
19674 "typetext" : "<boolean>"
56122987 19675 },
de0983cb
DM
19676 "cores" : {
19677 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19678 "maximum" : 128,
19679 "minimum" : 1,
19680 "optional" : 1,
19681 "type" : "integer",
013dc89f 19682 "typetext" : "<integer> (1 - 128)"
de0983cb 19683 },
44660702
DM
19684 "cpulimit" : {
19685 "default" : 0,
19686 "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.",
19687 "maximum" : 128,
19688 "minimum" : 0,
56122987 19689 "optional" : 1,
4bd7df8b 19690 "type" : "number",
013dc89f 19691 "typetext" : "<number> (0 - 128)"
56122987 19692 },
44660702
DM
19693 "cpuunits" : {
19694 "default" : 1024,
19695 "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.",
19696 "maximum" : 500000,
19697 "minimum" : 0,
56122987 19698 "optional" : 1,
4bd7df8b 19699 "type" : "integer",
013dc89f 19700 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
19701 },
19702 "description" : {
44660702 19703 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19704 "optional" : 1,
013dc89f
DM
19705 "type" : "string",
19706 "typetext" : "<string>"
7aacca6f 19707 },
44660702
DM
19708 "force" : {
19709 "description" : "Allow to overwrite existing container.",
7aacca6f 19710 "optional" : 1,
013dc89f
DM
19711 "type" : "boolean",
19712 "typetext" : "<boolean>"
44660702
DM
19713 },
19714 "hostname" : {
19715 "description" : "Set a host name for the container.",
19716 "format" : "dns-name",
19717 "maxLength" : 255,
19718 "optional" : 1,
013dc89f
DM
19719 "type" : "string",
19720 "typetext" : "<string>"
44660702
DM
19721 },
19722 "ignore-unpack-errors" : {
19723 "description" : "Ignore errors when extracting the template.",
19724 "optional" : 1,
013dc89f
DM
19725 "type" : "boolean",
19726 "typetext" : "<boolean>"
44660702
DM
19727 },
19728 "lock" : {
19729 "description" : "Lock/unlock the VM.",
7aacca6f
DM
19730 "enum" : [
19731 "migrate",
19732 "backup",
19733 "snapshot",
19734 "rollback"
19735 ],
44660702
DM
19736 "optional" : 1,
19737 "type" : "string"
7aacca6f 19738 },
44660702
DM
19739 "memory" : {
19740 "default" : 512,
19741 "description" : "Amount of RAM for the VM in MB.",
19742 "minimum" : 16,
7aacca6f 19743 "optional" : 1,
4bd7df8b 19744 "type" : "integer",
013dc89f 19745 "typetext" : "<integer> (16 - N)"
44660702
DM
19746 },
19747 "mp[n]" : {
c2993fe5 19748 "description" : "Use volume as container mount point.",
56122987 19749 "format" : {
7aacca6f
DM
19750 "acl" : {
19751 "description" : "Explicitly enable or disable ACL support.",
19752 "optional" : 1,
44660702 19753 "type" : "boolean"
56122987
DM
19754 },
19755 "backup" : {
de0983cb 19756 "description" : "Whether to include the mount point in backups.",
44660702 19757 "optional" : 1,
4bd7df8b 19758 "type" : "boolean",
de0983cb 19759 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
19760 },
19761 "mp" : {
de0983cb 19762 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
19763 "format" : "pve-lxc-mp-string",
19764 "format_description" : "Path",
4bd7df8b 19765 "type" : "string",
de0983cb 19766 "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
19767 },
19768 "quota" : {
19769 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 19770 "optional" : 1,
44660702
DM
19771 "type" : "boolean"
19772 },
5d9c884c
DM
19773 "replicate" : {
19774 "default" : 1,
19775 "description" : "Will include this volume to a storage replica job.",
19776 "optional" : 1,
19777 "type" : "boolean"
19778 },
44660702 19779 "ro" : {
de0983cb 19780 "description" : "Read-only mount point",
44660702
DM
19781 "optional" : 1,
19782 "type" : "boolean"
7aacca6f 19783 },
de0983cb
DM
19784 "shared" : {
19785 "default" : 0,
19786 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19787 "optional" : 1,
19788 "type" : "boolean",
19789 "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!"
19790 },
7aacca6f 19791 "size" : {
44660702 19792 "description" : "Volume size (read only value).",
7aacca6f
DM
19793 "format" : "disk-size",
19794 "format_description" : "DiskSize",
7aacca6f
DM
19795 "optional" : 1,
19796 "type" : "string"
56122987
DM
19797 },
19798 "volume" : {
7aacca6f 19799 "default_key" : 1,
44660702 19800 "description" : "Volume, device or directory to mount into the container.",
56122987 19801 "format" : "pve-lxc-mp-string",
56122987 19802 "format_description" : "volume",
44660702 19803 "type" : "string"
56122987 19804 }
44660702 19805 },
56122987 19806 "optional" : 1,
4bd7df8b 19807 "type" : "string",
5d9c884c 19808 "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 19809 },
44660702
DM
19810 "nameserver" : {
19811 "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.",
19812 "format" : "address-list",
56122987 19813 "optional" : 1,
013dc89f
DM
19814 "type" : "string",
19815 "typetext" : "<string>"
56122987 19816 },
44660702
DM
19817 "net[n]" : {
19818 "description" : "Specifies network interfaces for the container.",
7aacca6f 19819 "format" : {
44660702
DM
19820 "bridge" : {
19821 "description" : "Bridge to attach the network device to.",
f004f5b9 19822 "format_description" : "bridge",
7aacca6f 19823 "optional" : 1,
44660702
DM
19824 "pattern" : "[-_.\\w\\d]+",
19825 "type" : "string"
7aacca6f 19826 },
44660702
DM
19827 "firewall" : {
19828 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 19829 "optional" : 1,
44660702 19830 "type" : "boolean"
7aacca6f 19831 },
44660702
DM
19832 "gw" : {
19833 "description" : "Default gateway for IPv4 traffic.",
19834 "format" : "ipv4",
19835 "format_description" : "GatewayIPv4",
7aacca6f 19836 "optional" : 1,
44660702 19837 "type" : "string"
7aacca6f 19838 },
44660702
DM
19839 "gw6" : {
19840 "description" : "Default gateway for IPv6 traffic.",
19841 "format" : "ipv6",
19842 "format_description" : "GatewayIPv6",
19843 "optional" : 1,
19844 "type" : "string"
7aacca6f 19845 },
44660702 19846 "hwaddr" : {
f004f5b9
DM
19847 "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)",
19848 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19849 "optional" : 1,
19850 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
19851 "type" : "string"
19852 },
44660702
DM
19853 "ip" : {
19854 "description" : "IPv4 address in CIDR format.",
19855 "format" : "pve-ipv4-config",
2489d6df 19856 "format_description" : "(IPv4/CIDR|dhcp|manual)",
7aacca6f 19857 "optional" : 1,
44660702 19858 "type" : "string"
7aacca6f 19859 },
44660702
DM
19860 "ip6" : {
19861 "description" : "IPv6 address in CIDR format.",
19862 "format" : "pve-ipv6-config",
2489d6df 19863 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
44660702
DM
19864 "optional" : 1,
19865 "type" : "string"
19866 },
19867 "mtu" : {
19868 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
19869 "minimum" : 64,
19870 "optional" : 1,
19871 "type" : "integer"
19872 },
19873 "name" : {
19874 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19875 "format_description" : "string",
44660702
DM
19876 "pattern" : "[-_.\\w\\d]+",
19877 "type" : "string"
19878 },
19879 "rate" : {
19880 "description" : "Apply rate limiting to the interface",
19881 "format_description" : "mbps",
19882 "optional" : 1,
19883 "type" : "number"
19884 },
19885 "tag" : {
19886 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19887 "maximum" : 4094,
19888 "minimum" : 1,
44660702
DM
19889 "optional" : 1,
19890 "type" : "integer"
19891 },
19892 "trunks" : {
19893 "description" : "VLAN ids to pass through the interface",
19894 "format_description" : "vlanid[;vlanid...]",
19895 "optional" : 1,
19896 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19897 "type" : "string"
19898 },
19899 "type" : {
19900 "description" : "Network interface type.",
19901 "enum" : [
19902 "veth"
19903 ],
19904 "optional" : 1,
19905 "type" : "string"
7aacca6f
DM
19906 }
19907 },
56122987 19908 "optional" : 1,
4bd7df8b 19909 "type" : "string",
2489d6df 19910 "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 19911 },
44660702
DM
19912 "node" : {
19913 "description" : "The cluster node name.",
19914 "format" : "pve-node",
013dc89f
DM
19915 "type" : "string",
19916 "typetext" : "<string>"
56122987 19917 },
44660702
DM
19918 "onboot" : {
19919 "default" : 0,
19920 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19921 "optional" : 1,
013dc89f
DM
19922 "type" : "boolean",
19923 "typetext" : "<boolean>"
44660702
DM
19924 },
19925 "ostemplate" : {
19926 "description" : "The OS template or backup file.",
19927 "maxLength" : 255,
013dc89f
DM
19928 "type" : "string",
19929 "typetext" : "<string>"
56122987
DM
19930 },
19931 "ostype" : {
7aacca6f 19932 "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
19933 "enum" : [
19934 "debian",
19935 "ubuntu",
19936 "centos",
19937 "fedora",
19938 "opensuse",
19939 "archlinux",
19940 "alpine",
57b78691 19941 "gentoo",
56122987 19942 "unmanaged"
44660702 19943 ],
56122987 19944 "optional" : 1,
7aacca6f 19945 "type" : "string"
56122987 19946 },
44660702
DM
19947 "password" : {
19948 "description" : "Sets root password inside container.",
19949 "minLength" : 5,
7aacca6f 19950 "optional" : 1,
013dc89f
DM
19951 "type" : "string",
19952 "typetext" : "<string>"
7aacca6f 19953 },
44660702
DM
19954 "pool" : {
19955 "description" : "Add the VM to the specified pool.",
19956 "format" : "pve-poolid",
7aacca6f 19957 "optional" : 1,
013dc89f
DM
19958 "type" : "string",
19959 "typetext" : "<string>"
7aacca6f 19960 },
44660702
DM
19961 "protection" : {
19962 "default" : 0,
19963 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 19964 "optional" : 1,
013dc89f
DM
19965 "type" : "boolean",
19966 "typetext" : "<boolean>"
7aacca6f 19967 },
44660702
DM
19968 "restore" : {
19969 "description" : "Mark this as restore task.",
19970 "optional" : 1,
013dc89f
DM
19971 "type" : "boolean",
19972 "typetext" : "<boolean>"
7aacca6f 19973 },
44660702
DM
19974 "rootfs" : {
19975 "description" : "Use volume as container root.",
56122987 19976 "format" : {
44660702
DM
19977 "acl" : {
19978 "description" : "Explicitly enable or disable ACL support.",
56122987 19979 "optional" : 1,
44660702 19980 "type" : "boolean"
56122987 19981 },
44660702
DM
19982 "quota" : {
19983 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 19984 "optional" : 1,
44660702 19985 "type" : "boolean"
7aacca6f 19986 },
5d9c884c
DM
19987 "replicate" : {
19988 "default" : 1,
19989 "description" : "Will include this volume to a storage replica job.",
19990 "optional" : 1,
19991 "type" : "boolean"
19992 },
44660702 19993 "ro" : {
de0983cb 19994 "description" : "Read-only mount point",
7aacca6f 19995 "optional" : 1,
44660702 19996 "type" : "boolean"
7aacca6f 19997 },
de0983cb
DM
19998 "shared" : {
19999 "default" : 0,
20000 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
20001 "optional" : 1,
20002 "type" : "boolean",
20003 "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!"
20004 },
44660702
DM
20005 "size" : {
20006 "description" : "Volume size (read only value).",
20007 "format" : "disk-size",
20008 "format_description" : "DiskSize",
7aacca6f
DM
20009 "optional" : 1,
20010 "type" : "string"
20011 },
44660702
DM
20012 "volume" : {
20013 "default_key" : 1,
20014 "description" : "Volume, device or directory to mount into the container.",
20015 "format" : "pve-lxc-mp-string",
20016 "format_description" : "volume",
20017 "type" : "string"
56122987 20018 }
7aacca6f 20019 },
7aacca6f 20020 "optional" : 1,
4bd7df8b 20021 "type" : "string",
5d9c884c 20022 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
20023 },
20024 "searchdomain" : {
20025 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
20026 "format" : "dns-name-list",
20027 "optional" : 1,
013dc89f
DM
20028 "type" : "string",
20029 "typetext" : "<string>"
44660702
DM
20030 },
20031 "ssh-public-keys" : {
20032 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
20033 "optional" : 1,
013dc89f
DM
20034 "type" : "string",
20035 "typetext" : "<string>"
44660702
DM
20036 },
20037 "startup" : {
20038 "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.",
20039 "format" : "pve-startup-order",
20040 "optional" : 1,
7aacca6f 20041 "type" : "string",
44660702 20042 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 20043 },
44660702
DM
20044 "storage" : {
20045 "default" : "local",
20046 "description" : "Default Storage.",
20047 "format" : "pve-storage-id",
20048 "optional" : 1,
013dc89f
DM
20049 "type" : "string",
20050 "typetext" : "<string>"
7aacca6f 20051 },
44660702
DM
20052 "swap" : {
20053 "default" : 512,
20054 "description" : "Amount of SWAP for the VM in MB.",
20055 "minimum" : 0,
20056 "optional" : 1,
4bd7df8b 20057 "type" : "integer",
013dc89f 20058 "typetext" : "<integer> (0 - N)"
44660702
DM
20059 },
20060 "template" : {
20061 "default" : 0,
20062 "description" : "Enable/disable Template.",
20063 "optional" : 1,
013dc89f
DM
20064 "type" : "boolean",
20065 "typetext" : "<boolean>"
7aacca6f 20066 },
44660702
DM
20067 "tty" : {
20068 "default" : 2,
20069 "description" : "Specify the number of tty available to the container",
20070 "maximum" : 6,
20071 "minimum" : 0,
20072 "optional" : 1,
4bd7df8b 20073 "type" : "integer",
013dc89f 20074 "typetext" : "<integer> (0 - 6)"
7aacca6f 20075 },
44660702
DM
20076 "unprivileged" : {
20077 "default" : 0,
20078 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
20079 "optional" : 1,
013dc89f
DM
20080 "type" : "boolean",
20081 "typetext" : "<boolean>"
44660702
DM
20082 },
20083 "unused[n]" : {
c2993fe5 20084 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
20085 "format" : "pve-volume-id",
20086 "optional" : 1,
013dc89f
DM
20087 "type" : "string",
20088 "typetext" : "<string>"
44660702
DM
20089 },
20090 "vmid" : {
20091 "description" : "The (unique) ID of the VM.",
20092 "format" : "pve-vmid",
20093 "minimum" : 1,
4bd7df8b 20094 "type" : "integer",
013dc89f 20095 "typetext" : "<integer> (1 - N)"
44660702 20096 }
7aacca6f
DM
20097 }
20098 },
44660702
DM
20099 "permissions" : {
20100 "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.",
20101 "user" : "all"
20102 },
20103 "protected" : 1,
20104 "proxyto" : "node",
20105 "returns" : {
20106 "type" : "string"
20107 }
20108 }
20109 },
20110 "leaf" : 0,
20111 "path" : "/nodes/{node}/lxc",
20112 "text" : "lxc"
20113 },
20114 {
20115 "children" : [
20116 {
56122987
DM
20117 "children" : [
20118 {
7aacca6f
DM
20119 "children" : [
20120 {
7aacca6f
DM
20121 "info" : {
20122 "POST" : {
44660702
DM
20123 "description" : "ceph osd in",
20124 "method" : "POST",
20125 "name" : "in",
20126 "parameters" : {
20127 "additionalProperties" : 0,
20128 "properties" : {
20129 "node" : {
20130 "description" : "The cluster node name.",
20131 "format" : "pve-node",
013dc89f
DM
20132 "type" : "string",
20133 "typetext" : "<string>"
44660702
DM
20134 },
20135 "osdid" : {
20136 "description" : "OSD ID",
013dc89f
DM
20137 "type" : "integer",
20138 "typetext" : "<integer>"
44660702
DM
20139 }
20140 }
20141 },
56122987
DM
20142 "permissions" : {
20143 "check" : [
20144 "perm",
20145 "/",
20146 [
20147 "Sys.Modify"
20148 ]
20149 ]
7aacca6f 20150 },
44660702 20151 "protected" : 1,
7aacca6f
DM
20152 "proxyto" : "node",
20153 "returns" : {
20154 "type" : "null"
44660702 20155 }
56122987
DM
20156 }
20157 },
44660702 20158 "leaf" : 1,
7aacca6f 20159 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 20160 "text" : "in"
56122987
DM
20161 },
20162 {
56122987
DM
20163 "info" : {
20164 "POST" : {
44660702
DM
20165 "description" : "ceph osd out",
20166 "method" : "POST",
20167 "name" : "out",
20168 "parameters" : {
20169 "additionalProperties" : 0,
20170 "properties" : {
20171 "node" : {
20172 "description" : "The cluster node name.",
20173 "format" : "pve-node",
013dc89f
DM
20174 "type" : "string",
20175 "typetext" : "<string>"
44660702
DM
20176 },
20177 "osdid" : {
20178 "description" : "OSD ID",
013dc89f
DM
20179 "type" : "integer",
20180 "typetext" : "<integer>"
44660702
DM
20181 }
20182 }
20183 },
56122987
DM
20184 "permissions" : {
20185 "check" : [
20186 "perm",
20187 "/",
20188 [
20189 "Sys.Modify"
20190 ]
20191 ]
20192 },
44660702 20193 "protected" : 1,
56122987 20194 "proxyto" : "node",
7aacca6f
DM
20195 "returns" : {
20196 "type" : "null"
44660702
DM
20197 }
20198 }
20199 },
20200 "leaf" : 1,
20201 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
20202 "text" : "out"
20203 }
20204 ],
20205 "info" : {
20206 "DELETE" : {
20207 "description" : "Destroy OSD",
20208 "method" : "DELETE",
20209 "name" : "destroyosd",
20210 "parameters" : {
20211 "additionalProperties" : 0,
20212 "properties" : {
20213 "cleanup" : {
20214 "default" : 0,
20215 "description" : "If set, we remove partition table entries.",
20216 "optional" : 1,
013dc89f
DM
20217 "type" : "boolean",
20218 "typetext" : "<boolean>"
7aacca6f 20219 },
44660702
DM
20220 "node" : {
20221 "description" : "The cluster node name.",
20222 "format" : "pve-node",
013dc89f
DM
20223 "type" : "string",
20224 "typetext" : "<string>"
56122987 20225 },
44660702
DM
20226 "osdid" : {
20227 "description" : "OSD ID",
013dc89f
DM
20228 "type" : "integer",
20229 "typetext" : "<integer>"
44660702 20230 }
56122987
DM
20231 }
20232 },
44660702
DM
20233 "protected" : 1,
20234 "proxyto" : "node",
20235 "returns" : {
20236 "type" : "string"
20237 }
20238 }
20239 },
20240 "leaf" : 0,
20241 "path" : "/nodes/{node}/ceph/osd/{osdid}",
20242 "text" : "{osdid}"
20243 }
20244 ],
20245 "info" : {
20246 "GET" : {
20247 "description" : "Get Ceph osd list/tree.",
20248 "method" : "GET",
20249 "name" : "index",
20250 "parameters" : {
20251 "additionalProperties" : 0,
20252 "properties" : {
20253 "node" : {
20254 "description" : "The cluster node name.",
20255 "format" : "pve-node",
013dc89f
DM
20256 "type" : "string",
20257 "typetext" : "<string>"
44660702
DM
20258 }
20259 }
20260 },
20261 "permissions" : {
20262 "check" : [
20263 "perm",
20264 "/",
20265 [
20266 "Sys.Audit",
20267 "Datastore.Audit"
20268 ],
20269 "any",
20270 1
20271 ]
20272 },
20273 "protected" : 1,
20274 "proxyto" : "node",
20275 "returns" : {
20276 "type" : "object"
20277 }
20278 },
20279 "POST" : {
20280 "description" : "Create OSD",
20281 "method" : "POST",
20282 "name" : "createosd",
20283 "parameters" : {
20284 "additionalProperties" : 0,
20285 "properties" : {
5d9c884c 20286 "bluestore" : {
35a75dd3
DM
20287 "default" : 1,
20288 "description" : "Use bluestore instead of filestore. This is the default.",
5d9c884c
DM
20289 "optional" : 1,
20290 "type" : "boolean",
20291 "typetext" : "<boolean>"
20292 },
44660702
DM
20293 "dev" : {
20294 "description" : "Block device name.",
013dc89f
DM
20295 "type" : "string",
20296 "typetext" : "<string>"
44660702
DM
20297 },
20298 "fstype" : {
20299 "default" : "xfs",
5d9c884c 20300 "description" : "File system type (filestore only).",
44660702
DM
20301 "enum" : [
20302 "xfs",
20303 "ext4",
20304 "btrfs"
20305 ],
20306 "optional" : 1,
20307 "type" : "string"
20308 },
20309 "journal_dev" : {
2489d6df 20310 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
44660702 20311 "optional" : 1,
013dc89f
DM
20312 "type" : "string",
20313 "typetext" : "<string>"
44660702
DM
20314 },
20315 "node" : {
20316 "description" : "The cluster node name.",
20317 "format" : "pve-node",
013dc89f
DM
20318 "type" : "string",
20319 "typetext" : "<string>"
2489d6df
WB
20320 },
20321 "wal_dev" : {
20322 "description" : "Block device name for block.wal (bluestore only).",
20323 "optional" : 1,
20324 "type" : "string",
20325 "typetext" : "<string>"
44660702 20326 }
56122987 20327 }
44660702
DM
20328 },
20329 "protected" : 1,
20330 "proxyto" : "node",
20331 "returns" : {
20332 "type" : "string"
20333 }
56122987 20334 }
44660702 20335 },
7aacca6f 20336 "leaf" : 0,
44660702
DM
20337 "path" : "/nodes/{node}/ceph/osd",
20338 "text" : "osd"
7aacca6f
DM
20339 },
20340 {
56122987
DM
20341 "info" : {
20342 "GET" : {
7aacca6f 20343 "description" : "List local disks.",
44660702
DM
20344 "method" : "GET",
20345 "name" : "disks",
20346 "parameters" : {
20347 "additionalProperties" : 0,
20348 "properties" : {
20349 "node" : {
20350 "description" : "The cluster node name.",
20351 "format" : "pve-node",
013dc89f
DM
20352 "type" : "string",
20353 "typetext" : "<string>"
44660702
DM
20354 },
20355 "type" : {
20356 "description" : "Only list specific types of disks.",
20357 "enum" : [
20358 "unused",
20359 "journal_disks"
20360 ],
20361 "optional" : 1,
20362 "type" : "string"
20363 }
20364 }
20365 },
56122987
DM
20366 "permissions" : {
20367 "check" : [
20368 "perm",
20369 "/",
20370 [
20371 "Sys.Audit",
20372 "Datastore.Audit"
20373 ],
20374 "any",
20375 1
20376 ]
7aacca6f 20377 },
44660702
DM
20378 "protected" : 1,
20379 "proxyto" : "node",
56122987 20380 "returns" : {
7aacca6f
DM
20381 "items" : {
20382 "properties" : {
44660702
DM
20383 "dev" : {
20384 "type" : "string"
20385 },
20386 "gpt" : {
20387 "type" : "boolean"
20388 },
20389 "model" : {
20390 "optional" : 1,
20391 "type" : "string"
7aacca6f
DM
20392 },
20393 "osdid" : {
20394 "type" : "integer"
20395 },
20396 "serial" : {
7aacca6f
DM
20397 "optional" : 1,
20398 "type" : "string"
20399 },
20400 "size" : {
20401 "type" : "integer"
20402 },
44660702
DM
20403 "used" : {
20404 "optional" : 1,
7aacca6f
DM
20405 "type" : "string"
20406 },
44660702
DM
20407 "vendor" : {
20408 "optional" : 1,
20409 "type" : "string"
7aacca6f
DM
20410 }
20411 },
20412 "type" : "object"
44660702
DM
20413 },
20414 "type" : "array"
20415 }
56122987 20416 }
44660702
DM
20417 },
20418 "leaf" : 1,
20419 "path" : "/nodes/{node}/ceph/disks",
20420 "text" : "disks"
56122987
DM
20421 },
20422 {
56122987
DM
20423 "info" : {
20424 "GET" : {
7aacca6f 20425 "description" : "Get Ceph configuration.",
44660702
DM
20426 "method" : "GET",
20427 "name" : "config",
56122987 20428 "parameters" : {
7aacca6f 20429 "additionalProperties" : 0,
56122987 20430 "properties" : {
56122987 20431 "node" : {
7aacca6f 20432 "description" : "The cluster node name.",
44660702 20433 "format" : "pve-node",
013dc89f
DM
20434 "type" : "string",
20435 "typetext" : "<string>"
56122987 20436 }
7aacca6f 20437 }
56122987 20438 },
56122987
DM
20439 "permissions" : {
20440 "check" : [
20441 "perm",
20442 "/",
20443 [
20444 "Sys.Audit",
20445 "Datastore.Audit"
20446 ],
20447 "any",
20448 1
20449 ]
44660702
DM
20450 },
20451 "returns" : {
20452 "type" : "string"
7aacca6f
DM
20453 }
20454 }
44660702
DM
20455 },
20456 "leaf" : 1,
20457 "path" : "/nodes/{node}/ceph/config",
20458 "text" : "config"
7aacca6f
DM
20459 },
20460 {
7aacca6f
DM
20461 "children" : [
20462 {
7aacca6f
DM
20463 "info" : {
20464 "DELETE" : {
2489d6df 20465 "description" : "Destroy Ceph Monitor and Manager.",
44660702
DM
20466 "method" : "DELETE",
20467 "name" : "destroymon",
20468 "parameters" : {
20469 "additionalProperties" : 0,
20470 "properties" : {
2489d6df
WB
20471 "exclude-manager" : {
20472 "default" : 0,
20473 "description" : "When set, removes only the monitor, not the manager",
20474 "optional" : 1,
20475 "type" : "boolean",
20476 "typetext" : "<boolean>"
20477 },
44660702
DM
20478 "monid" : {
20479 "description" : "Monitor ID",
2489d6df
WB
20480 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20481 "type" : "string"
44660702
DM
20482 },
20483 "node" : {
20484 "description" : "The cluster node name.",
20485 "format" : "pve-node",
013dc89f
DM
20486 "type" : "string",
20487 "typetext" : "<string>"
44660702
DM
20488 }
20489 }
20490 },
7aacca6f
DM
20491 "permissions" : {
20492 "check" : [
20493 "perm",
20494 "/",
20495 [
20496 "Sys.Modify"
20497 ]
20498 ]
20499 },
44660702
DM
20500 "protected" : 1,
20501 "proxyto" : "node",
7aacca6f
DM
20502 "returns" : {
20503 "type" : "string"
44660702 20504 }
7aacca6f 20505 }
44660702
DM
20506 },
20507 "leaf" : 1,
20508 "path" : "/nodes/{node}/ceph/mon/{monid}",
20509 "text" : "{monid}"
7aacca6f
DM
20510 }
20511 ],
20512 "info" : {
20513 "GET" : {
44660702 20514 "description" : "Get Ceph monitor list.",
7aacca6f 20515 "method" : "GET",
44660702 20516 "name" : "listmon",
7aacca6f
DM
20517 "parameters" : {
20518 "additionalProperties" : 0,
20519 "properties" : {
20520 "node" : {
7aacca6f 20521 "description" : "The cluster node name.",
44660702 20522 "format" : "pve-node",
013dc89f
DM
20523 "type" : "string",
20524 "typetext" : "<string>"
7aacca6f
DM
20525 }
20526 }
20527 },
44660702
DM
20528 "permissions" : {
20529 "check" : [
20530 "perm",
20531 "/",
20532 [
20533 "Sys.Audit",
20534 "Datastore.Audit"
20535 ],
20536 "any",
20537 1
20538 ]
20539 },
7aacca6f 20540 "protected" : 1,
44660702 20541 "proxyto" : "node",
7aacca6f
DM
20542 "returns" : {
20543 "items" : {
20544 "properties" : {
44660702 20545 "addr" : {
7aacca6f 20546 "type" : "string"
56122987 20547 },
44660702 20548 "name" : {
56122987
DM
20549 "type" : "string"
20550 }
7aacca6f
DM
20551 },
20552 "type" : "object"
56122987 20553 },
7aacca6f
DM
20554 "links" : [
20555 {
20556 "href" : "{name}",
20557 "rel" : "child"
20558 }
20559 ],
56122987 20560 "type" : "array"
44660702 20561 }
7aacca6f
DM
20562 },
20563 "POST" : {
2489d6df 20564 "description" : "Create Ceph Monitor and Manager",
44660702
DM
20565 "method" : "POST",
20566 "name" : "createmon",
20567 "parameters" : {
20568 "additionalProperties" : 0,
20569 "properties" : {
2489d6df
WB
20570 "exclude-manager" : {
20571 "default" : 0,
20572 "description" : "When set, only a monitor will be created.",
20573 "optional" : 1,
20574 "type" : "boolean",
20575 "typetext" : "<boolean>"
20576 },
20577 "id" : {
20578 "description" : "The ID for the monitor, when omitted the same as the nodename",
20579 "optional" : 1,
20580 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20581 "type" : "string"
20582 },
35a75dd3
DM
20583 "mon-address" : {
20584 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
20585 "format" : "ip",
20586 "optional" : 1,
20587 "type" : "string",
20588 "typetext" : "<string>"
20589 },
44660702
DM
20590 "node" : {
20591 "description" : "The cluster node name.",
20592 "format" : "pve-node",
013dc89f
DM
20593 "type" : "string",
20594 "typetext" : "<string>"
44660702
DM
20595 }
20596 }
20597 },
7aacca6f
DM
20598 "permissions" : {
20599 "check" : [
20600 "perm",
20601 "/",
20602 [
20603 "Sys.Modify"
20604 ]
20605 ]
20606 },
44660702 20607 "protected" : 1,
7aacca6f 20608 "proxyto" : "node",
56122987
DM
20609 "returns" : {
20610 "type" : "string"
44660702 20611 }
56122987 20612 }
44660702
DM
20613 },
20614 "leaf" : 0,
20615 "path" : "/nodes/{node}/ceph/mon",
20616 "text" : "mon"
56122987
DM
20617 },
20618 {
20619 "info" : {
20620 "POST" : {
44660702
DM
20621 "description" : "Create initial ceph default configuration and setup symlinks.",
20622 "method" : "POST",
20623 "name" : "init",
20624 "parameters" : {
20625 "additionalProperties" : 0,
20626 "properties" : {
5d9c884c
DM
20627 "disable_cephx" : {
20628 "default" : 0,
20629 "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!",
20630 "optional" : 1,
20631 "type" : "boolean",
20632 "typetext" : "<boolean>"
20633 },
20634 "min_size" : {
20635 "default" : 2,
20636 "description" : "Minimum number of available replicas per object to allow I/O",
20637 "maximum" : 7,
20638 "minimum" : 1,
20639 "optional" : 1,
20640 "type" : "integer",
20641 "typetext" : "<integer> (1 - 7)"
20642 },
44660702
DM
20643 "network" : {
20644 "description" : "Use specific network for all ceph related traffic",
20645 "format" : "CIDR",
20646 "maxLength" : 128,
20647 "optional" : 1,
013dc89f
DM
20648 "type" : "string",
20649 "typetext" : "<string>"
44660702
DM
20650 },
20651 "node" : {
20652 "description" : "The cluster node name.",
20653 "format" : "pve-node",
013dc89f
DM
20654 "type" : "string",
20655 "typetext" : "<string>"
44660702
DM
20656 },
20657 "pg_bits" : {
20658 "default" : 6,
20659 "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.",
20660 "maximum" : 14,
20661 "minimum" : 6,
20662 "optional" : 1,
4bd7df8b 20663 "type" : "integer",
013dc89f 20664 "typetext" : "<integer> (6 - 14)"
44660702
DM
20665 },
20666 "size" : {
5d9c884c
DM
20667 "default" : 3,
20668 "description" : "Targeted number of replicas per object",
20669 "maximum" : 7,
44660702
DM
20670 "minimum" : 1,
20671 "optional" : 1,
4bd7df8b 20672 "type" : "integer",
5d9c884c 20673 "typetext" : "<integer> (1 - 7)"
44660702
DM
20674 }
20675 }
7aacca6f 20676 },
56122987
DM
20677 "permissions" : {
20678 "check" : [
20679 "perm",
20680 "/",
20681 [
20682 "Sys.Modify"
20683 ]
20684 ]
20685 },
7aacca6f 20686 "protected" : 1,
44660702
DM
20687 "proxyto" : "node",
20688 "returns" : {
20689 "type" : "null"
7aacca6f
DM
20690 }
20691 }
20692 },
7aacca6f 20693 "leaf" : 1,
44660702
DM
20694 "path" : "/nodes/{node}/ceph/init",
20695 "text" : "init"
7aacca6f 20696 },
2489d6df
WB
20697 {
20698 "children" : [
20699 {
20700 "info" : {
20701 "DELETE" : {
20702 "description" : "Destroy Ceph Manager.",
20703 "method" : "DELETE",
20704 "name" : "destroymgr",
20705 "parameters" : {
20706 "additionalProperties" : 0,
20707 "properties" : {
20708 "id" : {
20709 "description" : "The ID of the manager",
20710 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20711 "type" : "string"
20712 },
20713 "node" : {
20714 "description" : "The cluster node name.",
20715 "format" : "pve-node",
20716 "type" : "string",
20717 "typetext" : "<string>"
20718 }
20719 }
20720 },
20721 "permissions" : {
20722 "check" : [
20723 "perm",
20724 "/",
20725 [
20726 "Sys.Modify"
20727 ]
20728 ]
20729 },
20730 "protected" : 1,
20731 "proxyto" : "node",
20732 "returns" : {
20733 "type" : "string"
20734 }
20735 }
20736 },
20737 "leaf" : 1,
20738 "path" : "/nodes/{node}/ceph/mgr/{id}",
20739 "text" : "{id}"
20740 }
20741 ],
20742 "info" : {
20743 "POST" : {
20744 "description" : "Create Ceph Manager",
20745 "method" : "POST",
20746 "name" : "createmgr",
20747 "parameters" : {
20748 "additionalProperties" : 0,
20749 "properties" : {
20750 "id" : {
20751 "description" : "The ID for the manager, when omitted the same as the nodename",
20752 "optional" : 1,
20753 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20754 "type" : "string"
20755 },
20756 "node" : {
20757 "description" : "The cluster node name.",
20758 "format" : "pve-node",
20759 "type" : "string",
20760 "typetext" : "<string>"
20761 }
20762 }
20763 },
20764 "permissions" : {
20765 "check" : [
20766 "perm",
20767 "/",
20768 [
20769 "Sys.Modify"
20770 ]
20771 ]
20772 },
20773 "protected" : 1,
20774 "proxyto" : "node",
20775 "returns" : {
20776 "type" : "string"
20777 }
20778 }
20779 },
20780 "leaf" : 0,
20781 "path" : "/nodes/{node}/ceph/mgr",
20782 "text" : "mgr"
20783 },
7aacca6f 20784 {
7aacca6f
DM
20785 "info" : {
20786 "POST" : {
44660702 20787 "description" : "Stop ceph services.",
7aacca6f
DM
20788 "method" : "POST",
20789 "name" : "stop",
20790 "parameters" : {
44660702 20791 "additionalProperties" : 0,
7aacca6f
DM
20792 "properties" : {
20793 "node" : {
7aacca6f 20794 "description" : "The cluster node name.",
44660702 20795 "format" : "pve-node",
013dc89f
DM
20796 "type" : "string",
20797 "typetext" : "<string>"
7aacca6f
DM
20798 },
20799 "service" : {
7aacca6f 20800 "description" : "Ceph service name.",
44660702 20801 "optional" : 1,
2489d6df 20802 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20803 "type" : "string"
56122987 20804 }
44660702 20805 }
7aacca6f
DM
20806 },
20807 "permissions" : {
20808 "check" : [
20809 "perm",
20810 "/",
20811 [
20812 "Sys.Modify"
20813 ]
20814 ]
20815 },
44660702
DM
20816 "protected" : 1,
20817 "proxyto" : "node",
20818 "returns" : {
20819 "type" : "string"
20820 }
7aacca6f 20821 }
44660702
DM
20822 },
20823 "leaf" : 1,
20824 "path" : "/nodes/{node}/ceph/stop",
20825 "text" : "stop"
7aacca6f
DM
20826 },
20827 {
7aacca6f
DM
20828 "info" : {
20829 "POST" : {
7aacca6f 20830 "description" : "Start ceph services.",
44660702 20831 "method" : "POST",
7aacca6f 20832 "name" : "start",
56122987
DM
20833 "parameters" : {
20834 "additionalProperties" : 0,
20835 "properties" : {
20836 "node" : {
7aacca6f 20837 "description" : "The cluster node name.",
44660702 20838 "format" : "pve-node",
013dc89f
DM
20839 "type" : "string",
20840 "typetext" : "<string>"
7aacca6f
DM
20841 },
20842 "service" : {
20843 "description" : "Ceph service name.",
44660702 20844 "optional" : 1,
2489d6df 20845 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20846 "type" : "string"
7aacca6f
DM
20847 }
20848 }
20849 },
44660702
DM
20850 "permissions" : {
20851 "check" : [
20852 "perm",
20853 "/",
20854 [
20855 "Sys.Modify"
20856 ]
20857 ]
20858 },
7aacca6f 20859 "protected" : 1,
44660702
DM
20860 "proxyto" : "node",
20861 "returns" : {
20862 "type" : "string"
20863 }
7aacca6f 20864 }
44660702
DM
20865 },
20866 "leaf" : 1,
20867 "path" : "/nodes/{node}/ceph/start",
20868 "text" : "start"
7aacca6f
DM
20869 },
20870 {
7aacca6f
DM
20871 "info" : {
20872 "GET" : {
44660702
DM
20873 "description" : "Get ceph status.",
20874 "method" : "GET",
20875 "name" : "status",
7aacca6f
DM
20876 "parameters" : {
20877 "additionalProperties" : 0,
20878 "properties" : {
20879 "node" : {
7aacca6f 20880 "description" : "The cluster node name.",
44660702 20881 "format" : "pve-node",
013dc89f
DM
20882 "type" : "string",
20883 "typetext" : "<string>"
56122987
DM
20884 }
20885 }
20886 },
20887 "permissions" : {
20888 "check" : [
20889 "perm",
20890 "/",
20891 [
20892 "Sys.Audit",
20893 "Datastore.Audit"
20894 ],
20895 "any",
20896 1
20897 ]
20898 },
44660702
DM
20899 "protected" : 1,
20900 "proxyto" : "node",
56122987 20901 "returns" : {
7aacca6f
DM
20902 "type" : "object"
20903 }
20904 }
20905 },
44660702 20906 "leaf" : 1,
7aacca6f 20907 "path" : "/nodes/{node}/ceph/status",
44660702 20908 "text" : "status"
7aacca6f
DM
20909 },
20910 {
44660702
DM
20911 "children" : [
20912 {
20913 "info" : {
20914 "DELETE" : {
20915 "description" : "Destroy pool",
20916 "method" : "DELETE",
20917 "name" : "destroypool",
20918 "parameters" : {
20919 "additionalProperties" : 0,
20920 "properties" : {
4bd7df8b
DM
20921 "force" : {
20922 "default" : 0,
20923 "description" : "If true, destroys pool even if in use",
20924 "optional" : 1,
013dc89f
DM
20925 "type" : "boolean",
20926 "typetext" : "<boolean>"
4bd7df8b 20927 },
44660702
DM
20928 "name" : {
20929 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
20930 "type" : "string",
20931 "typetext" : "<string>"
44660702
DM
20932 },
20933 "node" : {
20934 "description" : "The cluster node name.",
20935 "format" : "pve-node",
013dc89f
DM
20936 "type" : "string",
20937 "typetext" : "<string>"
2489d6df
WB
20938 },
20939 "remove_storages" : {
20940 "default" : 0,
20941 "description" : "Remove all pveceph-managed storages configured for this pool",
20942 "optional" : 1,
20943 "type" : "boolean",
20944 "typetext" : "<boolean>"
44660702
DM
20945 }
20946 }
20947 },
20948 "permissions" : {
20949 "check" : [
20950 "perm",
20951 "/",
20952 [
20953 "Sys.Modify"
20954 ]
20955 ]
20956 },
20957 "protected" : 1,
20958 "proxyto" : "node",
20959 "returns" : {
2489d6df 20960 "type" : "string"
44660702
DM
20961 }
20962 }
20963 },
20964 "leaf" : 1,
20965 "path" : "/nodes/{node}/ceph/pools/{name}",
20966 "text" : "{name}"
20967 }
20968 ],
7aacca6f
DM
20969 "info" : {
20970 "GET" : {
44660702
DM
20971 "description" : "List all pools.",
20972 "method" : "GET",
20973 "name" : "lspools",
7aacca6f
DM
20974 "parameters" : {
20975 "additionalProperties" : 0,
20976 "properties" : {
20977 "node" : {
7aacca6f 20978 "description" : "The cluster node name.",
44660702 20979 "format" : "pve-node",
013dc89f
DM
20980 "type" : "string",
20981 "typetext" : "<string>"
7aacca6f
DM
20982 }
20983 }
20984 },
7aacca6f
DM
20985 "permissions" : {
20986 "check" : [
20987 "perm",
20988 "/",
20989 [
20990 "Sys.Audit",
20991 "Datastore.Audit"
20992 ],
20993 "any",
20994 1
20995 ]
20996 },
44660702
DM
20997 "protected" : 1,
20998 "proxyto" : "node",
7aacca6f 20999 "returns" : {
56122987 21000 "items" : {
56122987 21001 "properties" : {
7aacca6f
DM
21002 "pool" : {
21003 "type" : "integer"
21004 },
44660702
DM
21005 "pool_name" : {
21006 "type" : "string"
21007 },
7aacca6f
DM
21008 "size" : {
21009 "type" : "integer"
56122987 21010 }
44660702
DM
21011 },
21012 "type" : "object"
7aacca6f 21013 },
44660702
DM
21014 "links" : [
21015 {
21016 "href" : "{pool_name}",
21017 "rel" : "child"
21018 }
21019 ],
7aacca6f
DM
21020 "type" : "array"
21021 }
21022 },
21023 "POST" : {
7aacca6f 21024 "description" : "Create POOL",
7aacca6f 21025 "method" : "POST",
7aacca6f
DM
21026 "name" : "createpool",
21027 "parameters" : {
21028 "additionalProperties" : 0,
21029 "properties" : {
2489d6df
WB
21030 "add_storages" : {
21031 "description" : "Configure VM and CT storages using the new pool.",
7aacca6f 21032 "optional" : 1,
2489d6df
WB
21033 "type" : "boolean",
21034 "typetext" : "<boolean>"
21035 },
21036 "application" : {
21037 "description" : "The application of the pool, 'rbd' by default.",
21038 "enum" : [
21039 "rbd",
21040 "cephfs",
21041 "rgw"
21042 ],
21043 "optional" : 1,
21044 "type" : "string"
21045 },
21046 "crush_rule" : {
21047 "description" : "The rule to use for mapping object placement in the cluster.",
21048 "optional" : 1,
21049 "type" : "string",
21050 "typetext" : "<string>"
56122987 21051 },
44660702 21052 "min_size" : {
2489d6df 21053 "default" : 2,
44660702 21054 "description" : "Minimum number of replicas per object",
5d9c884c 21055 "maximum" : 7,
44660702
DM
21056 "minimum" : 1,
21057 "optional" : 1,
4bd7df8b 21058 "type" : "integer",
5d9c884c 21059 "typetext" : "<integer> (1 - 7)"
7aacca6f 21060 },
44660702
DM
21061 "name" : {
21062 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
21063 "type" : "string",
21064 "typetext" : "<string>"
44660702
DM
21065 },
21066 "node" : {
21067 "description" : "The cluster node name.",
21068 "format" : "pve-node",
013dc89f
DM
21069 "type" : "string",
21070 "typetext" : "<string>"
44660702
DM
21071 },
21072 "pg_num" : {
21073 "default" : 64,
21074 "description" : "Number of placement groups.",
21075 "maximum" : 32768,
21076 "minimum" : 8,
21077 "optional" : 1,
4bd7df8b 21078 "type" : "integer",
013dc89f 21079 "typetext" : "<integer> (8 - 32768)"
44660702
DM
21080 },
21081 "size" : {
2489d6df 21082 "default" : 3,
44660702 21083 "description" : "Number of replicas per object",
5d9c884c 21084 "maximum" : 7,
44660702
DM
21085 "minimum" : 1,
21086 "optional" : 1,
4bd7df8b 21087 "type" : "integer",
5d9c884c 21088 "typetext" : "<integer> (1 - 7)"
56122987
DM
21089 }
21090 }
44660702
DM
21091 },
21092 "permissions" : {
21093 "check" : [
21094 "perm",
21095 "/",
21096 [
21097 "Sys.Modify"
21098 ]
21099 ]
21100 },
21101 "protected" : 1,
21102 "proxyto" : "node",
21103 "returns" : {
2489d6df 21104 "type" : "string"
7aacca6f 21105 }
56122987 21106 }
44660702 21107 },
56122987 21108 "leaf" : 0,
44660702
DM
21109 "path" : "/nodes/{node}/ceph/pools",
21110 "text" : "pools"
56122987 21111 },
32d876b5
DM
21112 {
21113 "children" : [
21114 {
21115 "info" : {
21116 "DELETE" : {
21117 "description" : "Unset a ceph flag",
21118 "method" : "DELETE",
21119 "name" : "unset_flag",
21120 "parameters" : {
21121 "additionalProperties" : 0,
21122 "properties" : {
21123 "flag" : {
21124 "description" : "The ceph flag to set/unset",
21125 "enum" : [
21126 "full",
21127 "pause",
21128 "noup",
21129 "nodown",
21130 "noout",
21131 "noin",
21132 "nobackfill",
21133 "norebalance",
21134 "norecover",
21135 "noscrub",
21136 "nodeep-scrub",
21137 "notieragent"
21138 ],
21139 "type" : "string"
21140 },
21141 "node" : {
21142 "description" : "The cluster node name.",
21143 "format" : "pve-node",
21144 "type" : "string",
21145 "typetext" : "<string>"
21146 }
21147 }
21148 },
21149 "permissions" : {
21150 "check" : [
21151 "perm",
21152 "/",
21153 [
21154 "Sys.Modify"
21155 ]
21156 ]
21157 },
21158 "protected" : 1,
21159 "proxyto" : "node",
21160 "returns" : {
21161 "type" : "null"
21162 }
21163 },
21164 "POST" : {
21165 "description" : "Set a ceph flag",
21166 "method" : "POST",
21167 "name" : "set_flag",
21168 "parameters" : {
21169 "additionalProperties" : 0,
21170 "properties" : {
21171 "flag" : {
21172 "description" : "The ceph flag to set/unset",
21173 "enum" : [
21174 "full",
21175 "pause",
21176 "noup",
21177 "nodown",
21178 "noout",
21179 "noin",
21180 "nobackfill",
21181 "norebalance",
21182 "norecover",
21183 "noscrub",
21184 "nodeep-scrub",
21185 "notieragent"
21186 ],
21187 "type" : "string"
21188 },
21189 "node" : {
21190 "description" : "The cluster node name.",
21191 "format" : "pve-node",
21192 "type" : "string",
21193 "typetext" : "<string>"
21194 }
21195 }
21196 },
21197 "permissions" : {
21198 "check" : [
21199 "perm",
21200 "/",
21201 [
21202 "Sys.Modify"
21203 ]
21204 ]
21205 },
21206 "protected" : 1,
21207 "proxyto" : "node",
21208 "returns" : {
21209 "type" : "null"
21210 }
21211 }
21212 },
21213 "leaf" : 1,
21214 "path" : "/nodes/{node}/ceph/flags/{flag}",
21215 "text" : "{flag}"
21216 }
21217 ],
21218 "info" : {
21219 "GET" : {
21220 "description" : "get all set ceph flags",
21221 "method" : "GET",
21222 "name" : "get_flags",
21223 "parameters" : {
21224 "additionalProperties" : 0,
21225 "properties" : {
21226 "node" : {
21227 "description" : "The cluster node name.",
21228 "format" : "pve-node",
21229 "type" : "string",
21230 "typetext" : "<string>"
21231 }
21232 }
21233 },
21234 "permissions" : {
21235 "check" : [
21236 "perm",
21237 "/",
21238 [
21239 "Sys.Audit"
21240 ]
21241 ]
21242 },
21243 "protected" : 1,
21244 "proxyto" : "node",
21245 "returns" : {
21246 "type" : "string"
21247 }
21248 }
21249 },
21250 "leaf" : 0,
21251 "path" : "/nodes/{node}/ceph/flags",
21252 "text" : "flags"
21253 },
56122987 21254 {
56122987 21255 "info" : {
7aacca6f 21256 "GET" : {
44660702
DM
21257 "description" : "Get OSD crush map",
21258 "method" : "GET",
21259 "name" : "crush",
21260 "parameters" : {
21261 "additionalProperties" : 0,
21262 "properties" : {
21263 "node" : {
21264 "description" : "The cluster node name.",
21265 "format" : "pve-node",
013dc89f
DM
21266 "type" : "string",
21267 "typetext" : "<string>"
44660702
DM
21268 }
21269 }
21270 },
7aacca6f
DM
21271 "permissions" : {
21272 "check" : [
21273 "perm",
21274 "/",
21275 [
21276 "Sys.Audit",
21277 "Datastore.Audit"
21278 ],
21279 "any",
21280 1
21281 ]
21282 },
44660702 21283 "protected" : 1,
7aacca6f 21284 "proxyto" : "node",
56122987 21285 "returns" : {
7aacca6f 21286 "type" : "string"
44660702 21287 }
56122987
DM
21288 }
21289 },
44660702
DM
21290 "leaf" : 1,
21291 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 21292 "text" : "crush"
56122987
DM
21293 },
21294 {
56122987 21295 "info" : {
7aacca6f 21296 "GET" : {
44660702
DM
21297 "description" : "Read ceph log",
21298 "method" : "GET",
21299 "name" : "log",
21300 "parameters" : {
21301 "additionalProperties" : 0,
21302 "properties" : {
21303 "limit" : {
21304 "minimum" : 0,
21305 "optional" : 1,
4bd7df8b 21306 "type" : "integer",
013dc89f 21307 "typetext" : "<integer> (0 - N)"
7aacca6f 21308 },
44660702
DM
21309 "node" : {
21310 "description" : "The cluster node name.",
21311 "format" : "pve-node",
013dc89f
DM
21312 "type" : "string",
21313 "typetext" : "<string>"
44660702
DM
21314 },
21315 "start" : {
21316 "minimum" : 0,
21317 "optional" : 1,
4bd7df8b 21318 "type" : "integer",
013dc89f 21319 "typetext" : "<integer> (0 - N)"
44660702 21320 }
7aacca6f 21321 }
56122987 21322 },
56122987
DM
21323 "permissions" : {
21324 "check" : [
21325 "perm",
7aacca6f 21326 "/nodes/{node}",
56122987 21327 [
7aacca6f 21328 "Sys.Syslog"
56122987
DM
21329 ]
21330 ]
21331 },
7aacca6f 21332 "protected" : 1,
44660702
DM
21333 "proxyto" : "node",
21334 "returns" : {
21335 "items" : {
21336 "properties" : {
21337 "n" : {
21338 "description" : "Line number",
21339 "type" : "integer"
21340 },
21341 "t" : {
21342 "description" : "Line text",
21343 "type" : "string"
21344 }
56122987 21345 },
44660702 21346 "type" : "object"
56122987 21347 },
44660702 21348 "type" : "array"
7aacca6f 21349 }
56122987
DM
21350 }
21351 },
21352 "leaf" : 1,
44660702
DM
21353 "path" : "/nodes/{node}/ceph/log",
21354 "text" : "log"
2489d6df
WB
21355 },
21356 {
21357 "info" : {
21358 "GET" : {
21359 "description" : "List ceph rules.",
21360 "method" : "GET",
21361 "name" : "rules",
21362 "parameters" : {
21363 "additionalProperties" : 0,
21364 "properties" : {
21365 "node" : {
21366 "description" : "The cluster node name.",
21367 "format" : "pve-node",
21368 "type" : "string",
21369 "typetext" : "<string>"
21370 }
21371 }
21372 },
21373 "permissions" : {
21374 "check" : [
21375 "perm",
21376 "/",
21377 [
21378 "Sys.Audit",
21379 "Datastore.Audit"
21380 ],
21381 "any",
21382 1
21383 ]
21384 },
21385 "protected" : 1,
21386 "proxyto" : "node",
21387 "returns" : {
21388 "items" : {
21389 "properties" : {},
21390 "type" : "object"
21391 },
21392 "links" : [
21393 {
21394 "href" : "{name}",
21395 "rel" : "child"
21396 }
21397 ],
21398 "type" : "array"
21399 }
21400 }
21401 },
21402 "leaf" : 1,
21403 "path" : "/nodes/{node}/ceph/rules",
21404 "text" : "rules"
7aacca6f
DM
21405 }
21406 ],
44660702
DM
21407 "info" : {
21408 "GET" : {
21409 "description" : "Directory index.",
21410 "method" : "GET",
21411 "name" : "index",
21412 "parameters" : {
21413 "additionalProperties" : 0,
21414 "properties" : {
21415 "node" : {
21416 "description" : "The cluster node name.",
21417 "format" : "pve-node",
013dc89f
DM
21418 "type" : "string",
21419 "typetext" : "<string>"
44660702
DM
21420 }
21421 }
21422 },
21423 "permissions" : {
21424 "check" : [
21425 "perm",
21426 "/",
21427 [
21428 "Sys.Audit",
21429 "Datastore.Audit"
21430 ],
21431 "any",
21432 1
21433 ]
21434 },
21435 "returns" : {
21436 "items" : {
21437 "properties" : {},
21438 "type" : "object"
21439 },
21440 "links" : [
21441 {
21442 "href" : "{name}",
21443 "rel" : "child"
21444 }
21445 ],
21446 "type" : "array"
21447 }
21448 }
21449 },
7aacca6f 21450 "leaf" : 0,
44660702
DM
21451 "path" : "/nodes/{node}/ceph",
21452 "text" : "ceph"
7aacca6f
DM
21453 },
21454 {
4bd7df8b
DM
21455 "children" : [
21456 {
21457 "info" : {
21458 "GET" : {
21459 "description" : "Extract configuration from vzdump backup archive.",
21460 "method" : "GET",
21461 "name" : "extractconfig",
21462 "parameters" : {
21463 "additionalProperties" : 0,
21464 "properties" : {
21465 "node" : {
21466 "description" : "The cluster node name.",
21467 "format" : "pve-node",
013dc89f
DM
21468 "type" : "string",
21469 "typetext" : "<string>"
4bd7df8b
DM
21470 },
21471 "volume" : {
21472 "description" : "Volume identifier",
013dc89f
DM
21473 "type" : "string",
21474 "typetext" : "<string>"
4bd7df8b
DM
21475 }
21476 }
21477 },
21478 "permissions" : {
21479 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
21480 "user" : "all"
21481 },
21482 "protected" : 1,
21483 "proxyto" : "node",
21484 "returns" : {
21485 "type" : "string"
21486 }
21487 }
21488 },
21489 "leaf" : 1,
21490 "path" : "/nodes/{node}/vzdump/extractconfig",
21491 "text" : "extractconfig"
21492 }
21493 ],
7aacca6f
DM
21494 "info" : {
21495 "POST" : {
7aacca6f 21496 "description" : "Create backup.",
44660702 21497 "method" : "POST",
7aacca6f
DM
21498 "name" : "vzdump",
21499 "parameters" : {
44660702 21500 "additionalProperties" : 0,
7aacca6f 21501 "properties" : {
44660702
DM
21502 "all" : {
21503 "default" : 0,
21504 "description" : "Backup all known guest systems on this host.",
7aacca6f 21505 "optional" : 1,
013dc89f
DM
21506 "type" : "boolean",
21507 "typetext" : "<boolean>"
56122987 21508 },
44660702 21509 "bwlimit" : {
7aacca6f 21510 "default" : 0,
44660702
DM
21511 "description" : "Limit I/O bandwidth (KBytes per second).",
21512 "minimum" : 0,
7aacca6f 21513 "optional" : 1,
4bd7df8b 21514 "type" : "integer",
013dc89f 21515 "typetext" : "<integer> (0 - N)"
56122987 21516 },
44660702
DM
21517 "compress" : {
21518 "default" : "0",
21519 "description" : "Compress dump file.",
21520 "enum" : [
21521 "0",
21522 "1",
21523 "gzip",
21524 "lzo"
21525 ],
7aacca6f 21526 "optional" : 1,
44660702 21527 "type" : "string"
56122987 21528 },
44660702
DM
21529 "dumpdir" : {
21530 "description" : "Store resulting files to specified directory.",
7aacca6f 21531 "optional" : 1,
013dc89f
DM
21532 "type" : "string",
21533 "typetext" : "<string>"
7aacca6f 21534 },
44660702
DM
21535 "exclude" : {
21536 "description" : "Exclude specified guest systems (assumes --all)",
21537 "format" : "pve-vmid-list",
7aacca6f 21538 "optional" : 1,
013dc89f
DM
21539 "type" : "string",
21540 "typetext" : "<string>"
7aacca6f 21541 },
44660702
DM
21542 "exclude-path" : {
21543 "description" : "Exclude certain files/directories (shell globs).",
21544 "format" : "string-alist",
7aacca6f 21545 "optional" : 1,
013dc89f
DM
21546 "type" : "string",
21547 "typetext" : "<string>"
7aacca6f 21548 },
44660702
DM
21549 "ionice" : {
21550 "default" : 7,
21551 "description" : "Set CFQ ionice priority.",
21552 "maximum" : 8,
21553 "minimum" : 0,
21554 "optional" : 1,
4bd7df8b 21555 "type" : "integer",
013dc89f 21556 "typetext" : "<integer> (0 - 8)"
7aacca6f 21557 },
44660702
DM
21558 "lockwait" : {
21559 "default" : 180,
21560 "description" : "Maximal time to wait for the global lock (minutes).",
21561 "minimum" : 0,
7aacca6f 21562 "optional" : 1,
4bd7df8b 21563 "type" : "integer",
013dc89f 21564 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
21565 },
21566 "mailnotification" : {
44660702 21567 "default" : "always",
7aacca6f
DM
21568 "description" : "Specify when to send an email",
21569 "enum" : [
21570 "always",
21571 "failure"
21572 ],
7aacca6f 21573 "optional" : 1,
44660702 21574 "type" : "string"
7aacca6f
DM
21575 },
21576 "mailto" : {
7aacca6f 21577 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 21578 "format" : "string-list",
7aacca6f 21579 "optional" : 1,
013dc89f
DM
21580 "type" : "string",
21581 "typetext" : "<string>"
56122987 21582 },
44660702
DM
21583 "maxfiles" : {
21584 "default" : 1,
21585 "description" : "Maximal number of backup files per guest system.",
21586 "minimum" : 1,
7aacca6f 21587 "optional" : 1,
4bd7df8b 21588 "type" : "integer",
013dc89f 21589 "typetext" : "<integer> (1 - N)"
56122987 21590 },
7aacca6f 21591 "mode" : {
44660702 21592 "default" : "snapshot",
7aacca6f
DM
21593 "description" : "Backup mode.",
21594 "enum" : [
21595 "snapshot",
21596 "suspend",
21597 "stop"
21598 ],
44660702
DM
21599 "optional" : 1,
21600 "type" : "string"
7aacca6f 21601 },
44660702
DM
21602 "node" : {
21603 "description" : "Only run if executed on this node.",
21604 "format" : "pve-node",
21605 "optional" : 1,
013dc89f
DM
21606 "type" : "string",
21607 "typetext" : "<string>"
44660702
DM
21608 },
21609 "pigz" : {
21610 "default" : 0,
21611 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
21612 "optional" : 1,
013dc89f
DM
21613 "type" : "integer",
21614 "typetext" : "<integer>"
44660702
DM
21615 },
21616 "quiet" : {
21617 "default" : 0,
21618 "description" : "Be quiet.",
21619 "optional" : 1,
013dc89f
DM
21620 "type" : "boolean",
21621 "typetext" : "<boolean>"
44660702
DM
21622 },
21623 "remove" : {
7aacca6f 21624 "default" : 1,
44660702 21625 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 21626 "optional" : 1,
013dc89f
DM
21627 "type" : "boolean",
21628 "typetext" : "<boolean>"
7aacca6f 21629 },
44660702
DM
21630 "script" : {
21631 "description" : "Use specified hook script.",
21632 "optional" : 1,
013dc89f
DM
21633 "type" : "string",
21634 "typetext" : "<string>"
44660702
DM
21635 },
21636 "size" : {
21637 "default" : 1024,
21638 "description" : "Unused, will be removed in a future release.",
21639 "minimum" : 500,
21640 "optional" : 1,
4bd7df8b 21641 "type" : "integer",
013dc89f 21642 "typetext" : "<integer> (500 - N)"
44660702
DM
21643 },
21644 "stdexcludes" : {
21645 "default" : 1,
21646 "description" : "Exclude temporary files and logs.",
21647 "optional" : 1,
013dc89f
DM
21648 "type" : "boolean",
21649 "typetext" : "<boolean>"
44660702
DM
21650 },
21651 "stdout" : {
21652 "description" : "Write tar to stdout, not to a file.",
7aacca6f 21653 "optional" : 1,
013dc89f
DM
21654 "type" : "boolean",
21655 "typetext" : "<boolean>"
44660702
DM
21656 },
21657 "stop" : {
7aacca6f 21658 "default" : 0,
44660702
DM
21659 "description" : "Stop runnig backup jobs on this host.",
21660 "optional" : 1,
013dc89f
DM
21661 "type" : "boolean",
21662 "typetext" : "<boolean>"
7aacca6f 21663 },
44660702
DM
21664 "stopwait" : {
21665 "default" : 10,
21666 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
21667 "minimum" : 0,
21668 "optional" : 1,
4bd7df8b 21669 "type" : "integer",
013dc89f 21670 "typetext" : "<integer> (0 - N)"
7aacca6f 21671 },
44660702
DM
21672 "storage" : {
21673 "description" : "Store resulting file to this storage.",
21674 "format" : "pve-storage-id",
7aacca6f 21675 "optional" : 1,
013dc89f
DM
21676 "type" : "string",
21677 "typetext" : "<string>"
44660702
DM
21678 },
21679 "tmpdir" : {
21680 "description" : "Store temporary files to specified directory.",
21681 "optional" : 1,
013dc89f
DM
21682 "type" : "string",
21683 "typetext" : "<string>"
7aacca6f
DM
21684 },
21685 "vmid" : {
7aacca6f 21686 "description" : "The ID of the guest system you want to backup.",
44660702 21687 "format" : "pve-vmid-list",
7aacca6f 21688 "optional" : 1,
013dc89f
DM
21689 "type" : "string",
21690 "typetext" : "<string>"
7aacca6f 21691 }
7aacca6f
DM
21692 }
21693 },
7aacca6f 21694 "permissions" : {
de0983cb 21695 "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 21696 "user" : "all"
7aacca6f 21697 },
44660702 21698 "protected" : 1,
7aacca6f 21699 "proxyto" : "node",
7aacca6f 21700 "returns" : {
44660702 21701 "type" : "string"
7aacca6f
DM
21702 }
21703 }
21704 },
4bd7df8b 21705 "leaf" : 0,
44660702
DM
21706 "path" : "/nodes/{node}/vzdump",
21707 "text" : "vzdump"
21708 },
21709 {
7aacca6f
DM
21710 "children" : [
21711 {
7aacca6f
DM
21712 "children" : [
21713 {
7aacca6f
DM
21714 "info" : {
21715 "GET" : {
7aacca6f
DM
21716 "description" : "Read service properties",
21717 "method" : "GET",
21718 "name" : "service_state",
21719 "parameters" : {
44660702 21720 "additionalProperties" : 0,
7aacca6f
DM
21721 "properties" : {
21722 "node" : {
7aacca6f 21723 "description" : "The cluster node name.",
44660702 21724 "format" : "pve-node",
013dc89f
DM
21725 "type" : "string",
21726 "typetext" : "<string>"
7aacca6f
DM
21727 },
21728 "service" : {
44660702 21729 "description" : "Service ID",
7aacca6f
DM
21730 "enum" : [
21731 "pveproxy",
21732 "pvedaemon",
21733 "spiceproxy",
21734 "pvestatd",
21735 "pve-cluster",
21736 "corosync",
21737 "pve-firewall",
21738 "pvefw-logger",
21739 "pve-ha-crm",
21740 "pve-ha-lrm",
21741 "sshd",
21742 "syslog",
21743 "cron",
21744 "postfix",
21745 "ksmtuned",
21746 "systemd-timesyncd"
21747 ],
7aacca6f
DM
21748 "type" : "string"
21749 }
44660702 21750 }
56122987 21751 },
7aacca6f
DM
21752 "permissions" : {
21753 "check" : [
21754 "perm",
21755 "/nodes/{node}",
21756 [
44660702 21757 "Sys.Audit"
7aacca6f
DM
21758 ]
21759 ]
56122987 21760 },
44660702 21761 "protected" : 1,
7aacca6f 21762 "proxyto" : "node",
44660702
DM
21763 "returns" : {
21764 "properties" : {},
21765 "type" : "object"
21766 }
21767 }
21768 },
21769 "leaf" : 1,
21770 "path" : "/nodes/{node}/services/{service}/state",
21771 "text" : "state"
21772 },
21773 {
21774 "info" : {
21775 "POST" : {
21776 "description" : "Start service.",
7aacca6f
DM
21777 "method" : "POST",
21778 "name" : "service_start",
21779 "parameters" : {
44660702 21780 "additionalProperties" : 0,
7aacca6f 21781 "properties" : {
44660702
DM
21782 "node" : {
21783 "description" : "The cluster node name.",
21784 "format" : "pve-node",
013dc89f
DM
21785 "type" : "string",
21786 "typetext" : "<string>"
44660702 21787 },
7aacca6f 21788 "service" : {
44660702 21789 "description" : "Service ID",
7aacca6f
DM
21790 "enum" : [
21791 "pveproxy",
21792 "pvedaemon",
21793 "spiceproxy",
21794 "pvestatd",
21795 "pve-cluster",
21796 "corosync",
21797 "pve-firewall",
21798 "pvefw-logger",
21799 "pve-ha-crm",
21800 "pve-ha-lrm",
21801 "sshd",
21802 "syslog",
21803 "cron",
21804 "postfix",
21805 "ksmtuned",
21806 "systemd-timesyncd"
21807 ],
7aacca6f
DM
21808 "type" : "string"
21809 }
44660702 21810 }
56122987 21811 },
56122987
DM
21812 "permissions" : {
21813 "check" : [
21814 "perm",
21815 "/nodes/{node}",
21816 [
7aacca6f 21817 "Sys.Modify"
56122987
DM
21818 ]
21819 ]
7aacca6f 21820 },
7aacca6f 21821 "protected" : 1,
44660702
DM
21822 "proxyto" : "node",
21823 "returns" : {
21824 "type" : "string"
21825 }
21826 }
21827 },
21828 "leaf" : 1,
21829 "path" : "/nodes/{node}/services/{service}/start",
21830 "text" : "start"
21831 },
21832 {
21833 "info" : {
21834 "POST" : {
21835 "description" : "Stop service.",
21836 "method" : "POST",
7aacca6f 21837 "name" : "service_stop",
56122987 21838 "parameters" : {
7aacca6f 21839 "additionalProperties" : 0,
56122987
DM
21840 "properties" : {
21841 "node" : {
44660702 21842 "description" : "The cluster node name.",
56122987 21843 "format" : "pve-node",
013dc89f
DM
21844 "type" : "string",
21845 "typetext" : "<string>"
56122987
DM
21846 },
21847 "service" : {
44660702 21848 "description" : "Service ID",
56122987
DM
21849 "enum" : [
21850 "pveproxy",
21851 "pvedaemon",
21852 "spiceproxy",
21853 "pvestatd",
21854 "pve-cluster",
21855 "corosync",
21856 "pve-firewall",
21857 "pvefw-logger",
21858 "pve-ha-crm",
21859 "pve-ha-lrm",
21860 "sshd",
21861 "syslog",
21862 "cron",
21863 "postfix",
21864 "ksmtuned",
21865 "systemd-timesyncd"
21866 ],
56122987
DM
21867 "type" : "string"
21868 }
7aacca6f 21869 }
44660702 21870 },
56122987
DM
21871 "permissions" : {
21872 "check" : [
21873 "perm",
21874 "/nodes/{node}",
21875 [
21876 "Sys.Modify"
21877 ]
21878 ]
21879 },
44660702
DM
21880 "protected" : 1,
21881 "proxyto" : "node",
7aacca6f
DM
21882 "returns" : {
21883 "type" : "string"
44660702
DM
21884 }
21885 }
21886 },
21887 "leaf" : 1,
21888 "path" : "/nodes/{node}/services/{service}/stop",
21889 "text" : "stop"
21890 },
21891 {
21892 "info" : {
21893 "POST" : {
21894 "description" : "Restart service.",
21895 "method" : "POST",
21896 "name" : "service_restart",
56122987
DM
21897 "parameters" : {
21898 "additionalProperties" : 0,
21899 "properties" : {
7aacca6f
DM
21900 "node" : {
21901 "description" : "The cluster node name.",
44660702 21902 "format" : "pve-node",
013dc89f
DM
21903 "type" : "string",
21904 "typetext" : "<string>"
7aacca6f
DM
21905 },
21906 "service" : {
44660702 21907 "description" : "Service ID",
56122987
DM
21908 "enum" : [
21909 "pveproxy",
21910 "pvedaemon",
21911 "spiceproxy",
21912 "pvestatd",
21913 "pve-cluster",
21914 "corosync",
21915 "pve-firewall",
21916 "pvefw-logger",
21917 "pve-ha-crm",
21918 "pve-ha-lrm",
21919 "sshd",
21920 "syslog",
21921 "cron",
21922 "postfix",
21923 "ksmtuned",
21924 "systemd-timesyncd"
7aacca6f 21925 ],
7aacca6f 21926 "type" : "string"
56122987
DM
21927 }
21928 }
21929 },
44660702
DM
21930 "permissions" : {
21931 "check" : [
21932 "perm",
21933 "/nodes/{node}",
21934 [
21935 "Sys.Modify"
21936 ]
21937 ]
21938 },
21939 "protected" : 1,
21940 "proxyto" : "node",
21941 "returns" : {
21942 "type" : "string"
21943 }
56122987 21944 }
44660702
DM
21945 },
21946 "leaf" : 1,
21947 "path" : "/nodes/{node}/services/{service}/restart",
21948 "text" : "restart"
56122987
DM
21949 },
21950 {
56122987
DM
21951 "info" : {
21952 "POST" : {
44660702
DM
21953 "description" : "Reload service.",
21954 "method" : "POST",
7aacca6f 21955 "name" : "service_reload",
56122987
DM
21956 "parameters" : {
21957 "additionalProperties" : 0,
21958 "properties" : {
44660702
DM
21959 "node" : {
21960 "description" : "The cluster node name.",
21961 "format" : "pve-node",
013dc89f
DM
21962 "type" : "string",
21963 "typetext" : "<string>"
44660702 21964 },
56122987 21965 "service" : {
56122987
DM
21966 "description" : "Service ID",
21967 "enum" : [
21968 "pveproxy",
21969 "pvedaemon",
21970 "spiceproxy",
21971 "pvestatd",
21972 "pve-cluster",
21973 "corosync",
21974 "pve-firewall",
21975 "pvefw-logger",
21976 "pve-ha-crm",
21977 "pve-ha-lrm",
21978 "sshd",
21979 "syslog",
21980 "cron",
21981 "postfix",
21982 "ksmtuned",
21983 "systemd-timesyncd"
44660702
DM
21984 ],
21985 "type" : "string"
56122987
DM
21986 }
21987 }
21988 },
56122987
DM
21989 "permissions" : {
21990 "check" : [
21991 "perm",
21992 "/nodes/{node}",
21993 [
21994 "Sys.Modify"
21995 ]
21996 ]
21997 },
44660702 21998 "protected" : 1,
56122987 21999 "proxyto" : "node",
7aacca6f
DM
22000 "returns" : {
22001 "type" : "string"
56122987
DM
22002 }
22003 }
44660702
DM
22004 },
22005 "leaf" : 1,
22006 "path" : "/nodes/{node}/services/{service}/reload",
22007 "text" : "reload"
22008 }
22009 ],
22010 "info" : {
22011 "GET" : {
22012 "description" : "Directory index",
22013 "method" : "GET",
22014 "name" : "srvcmdidx",
22015 "parameters" : {
22016 "additionalProperties" : 0,
22017 "properties" : {
22018 "node" : {
22019 "description" : "The cluster node name.",
22020 "format" : "pve-node",
013dc89f
DM
22021 "type" : "string",
22022 "typetext" : "<string>"
44660702
DM
22023 },
22024 "service" : {
22025 "description" : "Service ID",
22026 "enum" : [
22027 "pveproxy",
22028 "pvedaemon",
22029 "spiceproxy",
22030 "pvestatd",
22031 "pve-cluster",
22032 "corosync",
22033 "pve-firewall",
22034 "pvefw-logger",
22035 "pve-ha-crm",
22036 "pve-ha-lrm",
22037 "sshd",
22038 "syslog",
22039 "cron",
22040 "postfix",
22041 "ksmtuned",
22042 "systemd-timesyncd"
22043 ],
22044 "type" : "string"
22045 }
22046 }
22047 },
22048 "permissions" : {
22049 "check" : [
22050 "perm",
22051 "/nodes/{node}",
22052 [
22053 "Sys.Audit"
22054 ]
22055 ]
22056 },
22057 "returns" : {
22058 "items" : {
22059 "properties" : {
22060 "subdir" : {
22061 "type" : "string"
22062 }
22063 },
22064 "type" : "object"
22065 },
22066 "links" : [
22067 {
22068 "href" : "{subdir}",
22069 "rel" : "child"
22070 }
22071 ],
22072 "type" : "array"
22073 }
22074 }
22075 },
22076 "leaf" : 0,
22077 "path" : "/nodes/{node}/services/{service}",
22078 "text" : "{service}"
22079 }
22080 ],
22081 "info" : {
22082 "GET" : {
22083 "description" : "Service list.",
22084 "method" : "GET",
22085 "name" : "index",
22086 "parameters" : {
22087 "additionalProperties" : 0,
22088 "properties" : {
22089 "node" : {
22090 "description" : "The cluster node name.",
22091 "format" : "pve-node",
013dc89f
DM
22092 "type" : "string",
22093 "typetext" : "<string>"
44660702
DM
22094 }
22095 }
22096 },
22097 "permissions" : {
22098 "check" : [
22099 "perm",
22100 "/nodes/{node}",
22101 [
22102 "Sys.Audit"
22103 ]
22104 ]
22105 },
22106 "protected" : 1,
22107 "proxyto" : "node",
22108 "returns" : {
22109 "items" : {
22110 "properties" : {},
22111 "type" : "object"
22112 },
22113 "links" : [
22114 {
22115 "href" : "{service}",
22116 "rel" : "child"
56122987 22117 }
44660702
DM
22118 ],
22119 "type" : "array"
22120 }
7aacca6f 22121 }
44660702 22122 },
7aacca6f 22123 "leaf" : 0,
44660702
DM
22124 "path" : "/nodes/{node}/services",
22125 "text" : "services"
7aacca6f
DM
22126 },
22127 {
7aacca6f
DM
22128 "info" : {
22129 "GET" : {
44660702
DM
22130 "description" : "Read subscription info.",
22131 "method" : "GET",
22132 "name" : "get",
7aacca6f 22133 "parameters" : {
44660702 22134 "additionalProperties" : 0,
7aacca6f
DM
22135 "properties" : {
22136 "node" : {
22137 "description" : "The cluster node name.",
44660702 22138 "format" : "pve-node",
013dc89f
DM
22139 "type" : "string",
22140 "typetext" : "<string>"
7aacca6f 22141 }
44660702
DM
22142 }
22143 },
22144 "permissions" : {
22145 "user" : "all"
7aacca6f 22146 },
7aacca6f
DM
22147 "proxyto" : "node",
22148 "returns" : {
22149 "type" : "object"
44660702 22150 }
7aacca6f 22151 },
44660702
DM
22152 "POST" : {
22153 "description" : "Update subscription info.",
22154 "method" : "POST",
22155 "name" : "update",
7aacca6f
DM
22156 "parameters" : {
22157 "additionalProperties" : 0,
22158 "properties" : {
44660702
DM
22159 "force" : {
22160 "default" : 0,
22161 "description" : "Always connect to server, even if we have up to date info inside local cache.",
22162 "optional" : 1,
013dc89f
DM
22163 "type" : "boolean",
22164 "typetext" : "<boolean>"
44660702 22165 },
7aacca6f 22166 "node" : {
7aacca6f 22167 "description" : "The cluster node name.",
44660702 22168 "format" : "pve-node",
013dc89f
DM
22169 "type" : "string",
22170 "typetext" : "<string>"
7aacca6f
DM
22171 }
22172 }
22173 },
35a75dd3
DM
22174 "permissions" : {
22175 "check" : [
22176 "perm",
22177 "/nodes/{node}",
22178 [
22179 "Sys.Modify"
22180 ]
22181 ]
22182 },
7aacca6f 22183 "protected" : 1,
7aacca6f 22184 "proxyto" : "node",
44660702
DM
22185 "returns" : {
22186 "type" : "null"
22187 }
22188 },
22189 "PUT" : {
22190 "description" : "Set subscription key.",
22191 "method" : "PUT",
22192 "name" : "set",
7aacca6f
DM
22193 "parameters" : {
22194 "additionalProperties" : 0,
22195 "properties" : {
44660702
DM
22196 "key" : {
22197 "description" : "Proxmox VE subscription key",
2489d6df
WB
22198 "maxLength" : 32,
22199 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
22200 "type" : "string"
7aacca6f
DM
22201 },
22202 "node" : {
7aacca6f 22203 "description" : "The cluster node name.",
44660702 22204 "format" : "pve-node",
013dc89f
DM
22205 "type" : "string",
22206 "typetext" : "<string>"
7aacca6f
DM
22207 }
22208 }
22209 },
35a75dd3
DM
22210 "permissions" : {
22211 "check" : [
22212 "perm",
22213 "/nodes/{node}",
22214 [
22215 "Sys.Modify"
22216 ]
22217 ]
22218 },
44660702
DM
22219 "protected" : 1,
22220 "proxyto" : "node",
7aacca6f
DM
22221 "returns" : {
22222 "type" : "null"
44660702 22223 }
7aacca6f
DM
22224 }
22225 },
44660702 22226 "leaf" : 1,
7aacca6f 22227 "path" : "/nodes/{node}/subscription",
44660702 22228 "text" : "subscription"
7aacca6f
DM
22229 },
22230 {
7aacca6f
DM
22231 "children" : [
22232 {
56122987 22233 "info" : {
7aacca6f 22234 "DELETE" : {
44660702
DM
22235 "description" : "Delete network device configuration",
22236 "method" : "DELETE",
22237 "name" : "delete_network",
22238 "parameters" : {
22239 "additionalProperties" : 0,
22240 "properties" : {
22241 "iface" : {
22242 "description" : "Network interface name.",
22243 "format" : "pve-iface",
22244 "maxLength" : 20,
22245 "minLength" : 2,
013dc89f
DM
22246 "type" : "string",
22247 "typetext" : "<string>"
44660702
DM
22248 },
22249 "node" : {
22250 "description" : "The cluster node name.",
22251 "format" : "pve-node",
013dc89f
DM
22252 "type" : "string",
22253 "typetext" : "<string>"
44660702
DM
22254 }
22255 }
7aacca6f
DM
22256 },
22257 "permissions" : {
22258 "check" : [
22259 "perm",
22260 "/nodes/{node}",
22261 [
22262 "Sys.Modify"
22263 ]
22264 ]
22265 },
44660702 22266 "protected" : 1,
7aacca6f 22267 "proxyto" : "node",
44660702
DM
22268 "returns" : {
22269 "type" : "null"
22270 }
22271 },
22272 "GET" : {
22273 "description" : "Read network device configuration",
22274 "method" : "GET",
22275 "name" : "network_config",
56122987 22276 "parameters" : {
44660702 22277 "additionalProperties" : 0,
56122987 22278 "properties" : {
7aacca6f 22279 "iface" : {
7aacca6f 22280 "description" : "Network interface name.",
44660702
DM
22281 "format" : "pve-iface",
22282 "maxLength" : 20,
7aacca6f 22283 "minLength" : 2,
013dc89f
DM
22284 "type" : "string",
22285 "typetext" : "<string>"
44660702
DM
22286 },
22287 "node" : {
22288 "description" : "The cluster node name.",
22289 "format" : "pve-node",
013dc89f
DM
22290 "type" : "string",
22291 "typetext" : "<string>"
56122987 22292 }
44660702 22293 }
7aacca6f
DM
22294 },
22295 "permissions" : {
22296 "check" : [
22297 "perm",
22298 "/nodes/{node}",
22299 [
44660702 22300 "Sys.Audit"
7aacca6f
DM
22301 ]
22302 ]
22303 },
22304 "proxyto" : "node",
44660702
DM
22305 "returns" : {
22306 "properties" : {
22307 "method" : {
22308 "type" : "string"
22309 },
22310 "type" : {
22311 "type" : "string"
22312 }
22313 },
22314 "type" : "object"
22315 }
22316 },
22317 "PUT" : {
7aacca6f
DM
22318 "description" : "Update network device configuration",
22319 "method" : "PUT",
22320 "name" : "update_network",
22321 "parameters" : {
22322 "additionalProperties" : 0,
22323 "properties" : {
7aacca6f 22324 "address" : {
44660702 22325 "description" : "IP address.",
7aacca6f 22326 "format" : "ipv4",
44660702 22327 "optional" : 1,
7aacca6f 22328 "requires" : "netmask",
013dc89f
DM
22329 "type" : "string",
22330 "typetext" : "<string>"
7aacca6f 22331 },
44660702
DM
22332 "address6" : {
22333 "description" : "IP address.",
22334 "format" : "ipv6",
22335 "optional" : 1,
22336 "requires" : "netmask6",
013dc89f
DM
22337 "type" : "string",
22338 "typetext" : "<string>"
7aacca6f
DM
22339 },
22340 "autostart" : {
44660702 22341 "description" : "Automatically start interface on boot.",
7aacca6f 22342 "optional" : 1,
013dc89f
DM
22343 "type" : "boolean",
22344 "typetext" : "<boolean>"
7aacca6f 22345 },
44660702
DM
22346 "bond_mode" : {
22347 "description" : "Bonding mode.",
7aacca6f 22348 "enum" : [
44660702
DM
22349 "balance-rr",
22350 "active-backup",
22351 "balance-xor",
22352 "broadcast",
22353 "802.3ad",
22354 "balance-tlb",
22355 "balance-alb",
22356 "balance-slb",
22357 "lacp-balance-slb",
22358 "lacp-balance-tcp"
22359 ],
7aacca6f 22360 "optional" : 1,
44660702 22361 "type" : "string"
7aacca6f 22362 },
44660702
DM
22363 "bond_xmit_hash_policy" : {
22364 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22365 "enum" : [
22366 "layer2",
22367 "layer2+3",
22368 "layer3+4"
22369 ],
7aacca6f 22370 "optional" : 1,
44660702 22371 "type" : "string"
7aacca6f 22372 },
44660702
DM
22373 "bridge_ports" : {
22374 "description" : "Specify the iterfaces you want to add to your bridge.",
22375 "format" : "pve-iface-list",
7aacca6f 22376 "optional" : 1,
013dc89f
DM
22377 "type" : "string",
22378 "typetext" : "<string>"
7aacca6f 22379 },
44660702
DM
22380 "bridge_vlan_aware" : {
22381 "description" : "Enable bridge vlan support.",
7aacca6f 22382 "optional" : 1,
013dc89f
DM
22383 "type" : "boolean",
22384 "typetext" : "<boolean>"
7aacca6f
DM
22385 },
22386 "comments" : {
44660702 22387 "description" : "Comments",
7aacca6f 22388 "optional" : 1,
013dc89f
DM
22389 "type" : "string",
22390 "typetext" : "<string>"
7aacca6f 22391 },
44660702
DM
22392 "comments6" : {
22393 "description" : "Comments",
7aacca6f 22394 "optional" : 1,
013dc89f
DM
22395 "type" : "string",
22396 "typetext" : "<string>"
7aacca6f 22397 },
44660702
DM
22398 "delete" : {
22399 "description" : "A list of settings you want to delete.",
22400 "format" : "pve-configid-list",
7aacca6f 22401 "optional" : 1,
013dc89f
DM
22402 "type" : "string",
22403 "typetext" : "<string>"
7aacca6f 22404 },
44660702
DM
22405 "gateway" : {
22406 "description" : "Default gateway address.",
22407 "format" : "ipv4",
7aacca6f 22408 "optional" : 1,
013dc89f
DM
22409 "type" : "string",
22410 "typetext" : "<string>"
7aacca6f 22411 },
44660702
DM
22412 "gateway6" : {
22413 "description" : "Default ipv6 gateway address.",
22414 "format" : "ipv6",
7aacca6f 22415 "optional" : 1,
013dc89f
DM
22416 "type" : "string",
22417 "typetext" : "<string>"
7aacca6f
DM
22418 },
22419 "iface" : {
44660702 22420 "description" : "Network interface name.",
7aacca6f
DM
22421 "format" : "pve-iface",
22422 "maxLength" : 20,
22423 "minLength" : 2,
013dc89f
DM
22424 "type" : "string",
22425 "typetext" : "<string>"
7aacca6f 22426 },
44660702
DM
22427 "netmask" : {
22428 "description" : "Network mask.",
22429 "format" : "ipv4mask",
7aacca6f 22430 "optional" : 1,
44660702 22431 "requires" : "address",
013dc89f
DM
22432 "type" : "string",
22433 "typetext" : "<string>"
7aacca6f
DM
22434 },
22435 "netmask6" : {
44660702 22436 "description" : "Network mask.",
7aacca6f 22437 "maximum" : 128,
44660702 22438 "minimum" : 0,
7aacca6f
DM
22439 "optional" : 1,
22440 "requires" : "address6",
4bd7df8b 22441 "type" : "integer",
013dc89f 22442 "typetext" : "<integer> (0 - 128)"
44660702 22443 },
7aacca6f 22444 "node" : {
44660702 22445 "description" : "The cluster node name.",
7aacca6f 22446 "format" : "pve-node",
013dc89f
DM
22447 "type" : "string",
22448 "typetext" : "<string>"
7aacca6f 22449 },
44660702
DM
22450 "ovs_bonds" : {
22451 "description" : "Specify the interfaces used by the bonding device.",
22452 "format" : "pve-iface-list",
22453 "optional" : 1,
013dc89f
DM
22454 "type" : "string",
22455 "typetext" : "<string>"
44660702
DM
22456 },
22457 "ovs_bridge" : {
22458 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22459 "format" : "pve-iface",
22460 "optional" : 1,
013dc89f
DM
22461 "type" : "string",
22462 "typetext" : "<string>"
44660702
DM
22463 },
22464 "ovs_options" : {
22465 "description" : "OVS interface options.",
22466 "maxLength" : 1024,
22467 "optional" : 1,
013dc89f
DM
22468 "type" : "string",
22469 "typetext" : "<string>"
44660702
DM
22470 },
22471 "ovs_ports" : {
22472 "description" : "Specify the iterfaces you want to add to your bridge.",
22473 "format" : "pve-iface-list",
22474 "optional" : 1,
013dc89f
DM
22475 "type" : "string",
22476 "typetext" : "<string>"
44660702
DM
22477 },
22478 "ovs_tag" : {
22479 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22480 "maximum" : 4094,
22481 "minimum" : 1,
22482 "optional" : 1,
4bd7df8b 22483 "type" : "integer",
013dc89f 22484 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22485 },
22486 "slaves" : {
22487 "description" : "Specify the interfaces used by the bonding device.",
22488 "format" : "pve-iface-list",
22489 "optional" : 1,
013dc89f
DM
22490 "type" : "string",
22491 "typetext" : "<string>"
44660702
DM
22492 },
22493 "type" : {
22494 "description" : "Network interface type",
22495 "enum" : [
22496 "bridge",
22497 "bond",
22498 "eth",
22499 "alias",
22500 "vlan",
22501 "OVSBridge",
22502 "OVSBond",
22503 "OVSPort",
22504 "OVSIntPort",
22505 "unknown"
22506 ],
22507 "type" : "string"
7aacca6f
DM
22508 }
22509 }
22510 },
7aacca6f
DM
22511 "permissions" : {
22512 "check" : [
22513 "perm",
22514 "/nodes/{node}",
22515 [
44660702 22516 "Sys.Modify"
7aacca6f
DM
22517 ]
22518 ]
22519 },
44660702
DM
22520 "protected" : 1,
22521 "proxyto" : "node",
7aacca6f 22522 "returns" : {
44660702
DM
22523 "type" : "null"
22524 }
7aacca6f
DM
22525 }
22526 },
7aacca6f 22527 "leaf" : 1,
44660702
DM
22528 "path" : "/nodes/{node}/network/{iface}",
22529 "text" : "{iface}"
7aacca6f
DM
22530 }
22531 ],
7aacca6f 22532 "info" : {
44660702
DM
22533 "DELETE" : {
22534 "description" : "Revert network configuration changes.",
22535 "method" : "DELETE",
22536 "name" : "revert_network_changes",
7aacca6f
DM
22537 "parameters" : {
22538 "additionalProperties" : 0,
22539 "properties" : {
7aacca6f 22540 "node" : {
7aacca6f 22541 "description" : "The cluster node name.",
44660702 22542 "format" : "pve-node",
013dc89f
DM
22543 "type" : "string",
22544 "typetext" : "<string>"
7aacca6f
DM
22545 }
22546 }
44660702 22547 },
7aacca6f
DM
22548 "permissions" : {
22549 "check" : [
22550 "perm",
22551 "/nodes/{node}",
22552 [
22553 "Sys.Modify"
22554 ]
22555 ]
22556 },
44660702
DM
22557 "protected" : 1,
22558 "proxyto" : "node",
7aacca6f
DM
22559 "returns" : {
22560 "type" : "null"
44660702 22561 }
7aacca6f 22562 },
44660702
DM
22563 "GET" : {
22564 "description" : "List available networks",
22565 "method" : "GET",
22566 "name" : "index",
7aacca6f 22567 "parameters" : {
44660702 22568 "additionalProperties" : 0,
7aacca6f 22569 "properties" : {
7aacca6f 22570 "node" : {
44660702
DM
22571 "description" : "The cluster node name.",
22572 "format" : "pve-node",
013dc89f
DM
22573 "type" : "string",
22574 "typetext" : "<string>"
7aacca6f
DM
22575 },
22576 "type" : {
44660702 22577 "description" : "Only list specific interface types.",
7aacca6f
DM
22578 "enum" : [
22579 "bridge",
22580 "bond",
22581 "eth",
22582 "alias",
22583 "vlan",
22584 "OVSBridge",
22585 "OVSBond",
22586 "OVSPort",
22587 "OVSIntPort",
44660702 22588 "any_bridge"
7aacca6f 22589 ],
7aacca6f 22590 "optional" : 1,
44660702
DM
22591 "type" : "string"
22592 }
22593 }
22594 },
22595 "permissions" : {
22596 "user" : "all"
22597 },
22598 "proxyto" : "node",
22599 "returns" : {
22600 "items" : {
22601 "properties" : {},
22602 "type" : "object"
22603 },
22604 "links" : [
22605 {
22606 "href" : "{iface}",
22607 "rel" : "child"
22608 }
22609 ],
22610 "type" : "array"
22611 }
22612 },
22613 "POST" : {
22614 "description" : "Create network device configuration",
22615 "method" : "POST",
22616 "name" : "create_network",
22617 "parameters" : {
22618 "additionalProperties" : 0,
22619 "properties" : {
7aacca6f 22620 "address" : {
44660702
DM
22621 "description" : "IP address.",
22622 "format" : "ipv4",
22623 "optional" : 1,
7aacca6f 22624 "requires" : "netmask",
013dc89f
DM
22625 "type" : "string",
22626 "typetext" : "<string>"
44660702
DM
22627 },
22628 "address6" : {
7aacca6f 22629 "description" : "IP address.",
44660702
DM
22630 "format" : "ipv6",
22631 "optional" : 1,
22632 "requires" : "netmask6",
013dc89f
DM
22633 "type" : "string",
22634 "typetext" : "<string>"
44660702
DM
22635 },
22636 "autostart" : {
22637 "description" : "Automatically start interface on boot.",
7aacca6f 22638 "optional" : 1,
013dc89f
DM
22639 "type" : "boolean",
22640 "typetext" : "<boolean>"
7aacca6f
DM
22641 },
22642 "bond_mode" : {
22643 "description" : "Bonding mode.",
22644 "enum" : [
22645 "balance-rr",
22646 "active-backup",
22647 "balance-xor",
22648 "broadcast",
22649 "802.3ad",
22650 "balance-tlb",
22651 "balance-alb",
22652 "balance-slb",
22653 "lacp-balance-slb",
22654 "lacp-balance-tcp"
22655 ],
22656 "optional" : 1,
22657 "type" : "string"
22658 },
44660702
DM
22659 "bond_xmit_hash_policy" : {
22660 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22661 "enum" : [
22662 "layer2",
22663 "layer2+3",
22664 "layer3+4"
22665 ],
22666 "optional" : 1,
22667 "type" : "string"
22668 },
22669 "bridge_ports" : {
22670 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 22671 "format" : "pve-iface-list",
7aacca6f 22672 "optional" : 1,
013dc89f
DM
22673 "type" : "string",
22674 "typetext" : "<string>"
7aacca6f 22675 },
44660702
DM
22676 "bridge_vlan_aware" : {
22677 "description" : "Enable bridge vlan support.",
7aacca6f 22678 "optional" : 1,
013dc89f
DM
22679 "type" : "boolean",
22680 "typetext" : "<boolean>"
7aacca6f 22681 },
44660702
DM
22682 "comments" : {
22683 "description" : "Comments",
7aacca6f 22684 "optional" : 1,
013dc89f
DM
22685 "type" : "string",
22686 "typetext" : "<string>"
44660702
DM
22687 },
22688 "comments6" : {
22689 "description" : "Comments",
22690 "optional" : 1,
013dc89f
DM
22691 "type" : "string",
22692 "typetext" : "<string>"
44660702
DM
22693 },
22694 "gateway" : {
22695 "description" : "Default gateway address.",
22696 "format" : "ipv4",
22697 "optional" : 1,
013dc89f
DM
22698 "type" : "string",
22699 "typetext" : "<string>"
44660702
DM
22700 },
22701 "gateway6" : {
22702 "description" : "Default ipv6 gateway address.",
22703 "format" : "ipv6",
22704 "optional" : 1,
013dc89f
DM
22705 "type" : "string",
22706 "typetext" : "<string>"
56122987 22707 },
7aacca6f 22708 "iface" : {
44660702 22709 "description" : "Network interface name.",
7aacca6f
DM
22710 "format" : "pve-iface",
22711 "maxLength" : 20,
44660702 22712 "minLength" : 2,
013dc89f
DM
22713 "type" : "string",
22714 "typetext" : "<string>"
56122987 22715 },
44660702
DM
22716 "netmask" : {
22717 "description" : "Network mask.",
22718 "format" : "ipv4mask",
7aacca6f 22719 "optional" : 1,
44660702 22720 "requires" : "address",
013dc89f
DM
22721 "type" : "string",
22722 "typetext" : "<string>"
7aacca6f 22723 },
44660702
DM
22724 "netmask6" : {
22725 "description" : "Network mask.",
22726 "maximum" : 128,
22727 "minimum" : 0,
7aacca6f 22728 "optional" : 1,
44660702 22729 "requires" : "address6",
4bd7df8b 22730 "type" : "integer",
013dc89f 22731 "typetext" : "<integer> (0 - 128)"
7aacca6f 22732 },
44660702
DM
22733 "node" : {
22734 "description" : "The cluster node name.",
22735 "format" : "pve-node",
013dc89f
DM
22736 "type" : "string",
22737 "typetext" : "<string>"
44660702
DM
22738 },
22739 "ovs_bonds" : {
22740 "description" : "Specify the interfaces used by the bonding device.",
22741 "format" : "pve-iface-list",
7aacca6f 22742 "optional" : 1,
013dc89f
DM
22743 "type" : "string",
22744 "typetext" : "<string>"
7aacca6f 22745 },
44660702
DM
22746 "ovs_bridge" : {
22747 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22748 "format" : "pve-iface",
22749 "optional" : 1,
013dc89f
DM
22750 "type" : "string",
22751 "typetext" : "<string>"
44660702
DM
22752 },
22753 "ovs_options" : {
22754 "description" : "OVS interface options.",
22755 "maxLength" : 1024,
22756 "optional" : 1,
013dc89f
DM
22757 "type" : "string",
22758 "typetext" : "<string>"
44660702
DM
22759 },
22760 "ovs_ports" : {
22761 "description" : "Specify the iterfaces you want to add to your bridge.",
22762 "format" : "pve-iface-list",
22763 "optional" : 1,
013dc89f
DM
22764 "type" : "string",
22765 "typetext" : "<string>"
44660702
DM
22766 },
22767 "ovs_tag" : {
22768 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22769 "maximum" : 4094,
22770 "minimum" : 1,
22771 "optional" : 1,
4bd7df8b 22772 "type" : "integer",
013dc89f 22773 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22774 },
22775 "slaves" : {
22776 "description" : "Specify the interfaces used by the bonding device.",
22777 "format" : "pve-iface-list",
7aacca6f 22778 "optional" : 1,
013dc89f
DM
22779 "type" : "string",
22780 "typetext" : "<string>"
44660702
DM
22781 },
22782 "type" : {
22783 "description" : "Network interface type",
7aacca6f 22784 "enum" : [
44660702
DM
22785 "bridge",
22786 "bond",
22787 "eth",
22788 "alias",
22789 "vlan",
22790 "OVSBridge",
22791 "OVSBond",
22792 "OVSPort",
22793 "OVSIntPort",
22794 "unknown"
7aacca6f 22795 ],
44660702 22796 "type" : "string"
56122987 22797 }
44660702 22798 }
56122987 22799 },
56122987
DM
22800 "permissions" : {
22801 "check" : [
22802 "perm",
22803 "/nodes/{node}",
22804 [
7aacca6f 22805 "Sys.Modify"
44660702
DM
22806 ]
22807 ]
7aacca6f 22808 },
44660702
DM
22809 "protected" : 1,
22810 "proxyto" : "node",
22811 "returns" : {
22812 "type" : "null"
22813 }
22814 }
22815 },
22816 "leaf" : 0,
22817 "path" : "/nodes/{node}/network",
22818 "text" : "network"
22819 },
22820 {
22821 "children" : [
22822 {
7aacca6f
DM
22823 "children" : [
22824 {
22825 "info" : {
22826 "GET" : {
44660702 22827 "description" : "Read task log.",
7aacca6f
DM
22828 "method" : "GET",
22829 "name" : "read_task_log",
22830 "parameters" : {
44660702 22831 "additionalProperties" : 0,
7aacca6f 22832 "properties" : {
44660702
DM
22833 "limit" : {
22834 "minimum" : 0,
7aacca6f 22835 "optional" : 1,
4bd7df8b 22836 "type" : "integer",
013dc89f 22837 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22838 },
22839 "node" : {
22840 "description" : "The cluster node name.",
44660702 22841 "format" : "pve-node",
013dc89f
DM
22842 "type" : "string",
22843 "typetext" : "<string>"
7aacca6f 22844 },
44660702
DM
22845 "start" : {
22846 "minimum" : 0,
7aacca6f 22847 "optional" : 1,
4bd7df8b 22848 "type" : "integer",
013dc89f 22849 "typetext" : "<integer> (0 - N)"
44660702
DM
22850 },
22851 "upid" : {
013dc89f
DM
22852 "type" : "string",
22853 "typetext" : "<string>"
7aacca6f 22854 }
44660702
DM
22855 }
22856 },
22857 "permissions" : {
22858 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22859 "user" : "all"
7aacca6f
DM
22860 },
22861 "protected" : 1,
44660702 22862 "proxyto" : "node",
7aacca6f 22863 "returns" : {
7aacca6f 22864 "items" : {
7aacca6f
DM
22865 "properties" : {
22866 "n" : {
44660702
DM
22867 "description" : "Line number",
22868 "type" : "integer"
7aacca6f
DM
22869 },
22870 "t" : {
44660702
DM
22871 "description" : "Line text",
22872 "type" : "string"
7aacca6f 22873 }
44660702
DM
22874 },
22875 "type" : "object"
22876 },
22877 "type" : "array"
22878 }
7aacca6f 22879 }
56122987 22880 },
7aacca6f 22881 "leaf" : 1,
44660702
DM
22882 "path" : "/nodes/{node}/tasks/{upid}/log",
22883 "text" : "log"
7aacca6f
DM
22884 },
22885 {
7aacca6f
DM
22886 "info" : {
22887 "GET" : {
44660702
DM
22888 "description" : "Read task status.",
22889 "method" : "GET",
7aacca6f
DM
22890 "name" : "read_task_status",
22891 "parameters" : {
22892 "additionalProperties" : 0,
22893 "properties" : {
22894 "node" : {
7aacca6f 22895 "description" : "The cluster node name.",
44660702 22896 "format" : "pve-node",
013dc89f
DM
22897 "type" : "string",
22898 "typetext" : "<string>"
7aacca6f
DM
22899 },
22900 "upid" : {
013dc89f
DM
22901 "type" : "string",
22902 "typetext" : "<string>"
7aacca6f
DM
22903 }
22904 }
22905 },
7aacca6f
DM
22906 "permissions" : {
22907 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22908 "user" : "all"
56122987 22909 },
44660702 22910 "protected" : 1,
7aacca6f 22911 "proxyto" : "node",
7aacca6f
DM
22912 "returns" : {
22913 "properties" : {
22914 "pid" : {
22915 "type" : "integer"
22916 },
22917 "status" : {
7aacca6f
DM
22918 "enum" : [
22919 "running",
22920 "stopped"
44660702
DM
22921 ],
22922 "type" : "string"
7aacca6f
DM
22923 }
22924 },
22925 "type" : "object"
56122987 22926 }
7aacca6f 22927 }
44660702
DM
22928 },
22929 "leaf" : 1,
22930 "path" : "/nodes/{node}/tasks/{upid}/status",
22931 "text" : "status"
56122987 22932 }
7aacca6f 22933 ],
44660702
DM
22934 "info" : {
22935 "DELETE" : {
22936 "description" : "Stop a task.",
22937 "method" : "DELETE",
22938 "name" : "stop_task",
22939 "parameters" : {
22940 "additionalProperties" : 0,
22941 "properties" : {
22942 "node" : {
22943 "description" : "The cluster node name.",
22944 "format" : "pve-node",
013dc89f
DM
22945 "type" : "string",
22946 "typetext" : "<string>"
44660702
DM
22947 },
22948 "upid" : {
013dc89f
DM
22949 "type" : "string",
22950 "typetext" : "<string>"
44660702 22951 }
7aacca6f 22952 }
44660702
DM
22953 },
22954 "permissions" : {
22955 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
22956 "user" : "all"
22957 },
22958 "protected" : 1,
22959 "proxyto" : "node",
22960 "returns" : {
22961 "type" : "null"
7aacca6f 22962 }
56122987 22963 },
44660702
DM
22964 "GET" : {
22965 "description" : "",
22966 "method" : "GET",
22967 "name" : "upid_index",
22968 "parameters" : {
22969 "additionalProperties" : 0,
22970 "properties" : {
22971 "node" : {
22972 "description" : "The cluster node name.",
22973 "format" : "pve-node",
013dc89f
DM
22974 "type" : "string",
22975 "typetext" : "<string>"
44660702
DM
22976 },
22977 "upid" : {
013dc89f
DM
22978 "type" : "string",
22979 "typetext" : "<string>"
44660702
DM
22980 }
22981 }
22982 },
22983 "permissions" : {
22984 "user" : "all"
22985 },
22986 "returns" : {
22987 "items" : {
22988 "properties" : {},
22989 "type" : "object"
22990 },
22991 "links" : [
22992 {
22993 "href" : "{name}",
22994 "rel" : "child"
22995 }
22996 ],
22997 "type" : "array"
56122987 22998 }
44660702 22999 }
56122987 23000 },
44660702
DM
23001 "leaf" : 0,
23002 "path" : "/nodes/{node}/tasks/{upid}",
23003 "text" : "{upid}"
23004 }
23005 ],
23006 "info" : {
23007 "GET" : {
7aacca6f 23008 "description" : "Read task list for one node (finished tasks).",
44660702
DM
23009 "method" : "GET",
23010 "name" : "node_tasks",
56122987 23011 "parameters" : {
7aacca6f 23012 "additionalProperties" : 0,
56122987 23013 "properties" : {
44660702 23014 "errors" : {
56122987 23015 "optional" : 1,
013dc89f
DM
23016 "type" : "boolean",
23017 "typetext" : "<boolean>"
56122987 23018 },
44660702 23019 "limit" : {
56122987 23020 "minimum" : 0,
56122987 23021 "optional" : 1,
4bd7df8b 23022 "type" : "integer",
013dc89f 23023 "typetext" : "<integer> (0 - N)"
56122987 23024 },
56122987
DM
23025 "node" : {
23026 "description" : "The cluster node name.",
44660702 23027 "format" : "pve-node",
013dc89f
DM
23028 "type" : "string",
23029 "typetext" : "<string>"
56122987 23030 },
44660702 23031 "start" : {
7aacca6f 23032 "minimum" : 0,
44660702 23033 "optional" : 1,
4bd7df8b 23034 "type" : "integer",
013dc89f 23035 "typetext" : "<integer> (0 - N)"
56122987 23036 },
7aacca6f 23037 "userfilter" : {
44660702 23038 "optional" : 1,
013dc89f
DM
23039 "type" : "string",
23040 "typetext" : "<string>"
44660702
DM
23041 },
23042 "vmid" : {
23043 "description" : "Only list tasks for this VM.",
23044 "format" : "pve-vmid",
23045 "minimum" : 1,
23046 "optional" : 1,
4bd7df8b 23047 "type" : "integer",
013dc89f 23048 "typetext" : "<integer> (1 - N)"
56122987
DM
23049 }
23050 }
23051 },
7aacca6f 23052 "permissions" : {
44660702 23053 "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
23054 "user" : "all"
23055 },
44660702 23056 "proxyto" : "node",
56122987
DM
23057 "returns" : {
23058 "items" : {
23059 "properties" : {
44660702 23060 "upid" : {
56122987
DM
23061 "type" : "string"
23062 }
23063 },
23064 "type" : "object"
23065 },
56122987
DM
23066 "links" : [
23067 {
44660702
DM
23068 "href" : "{upid}",
23069 "rel" : "child"
56122987 23070 }
44660702
DM
23071 ],
23072 "type" : "array"
56122987
DM
23073 }
23074 }
23075 },
44660702
DM
23076 "leaf" : 0,
23077 "path" : "/nodes/{node}/tasks",
23078 "text" : "tasks"
23079 },
23080 {
56122987
DM
23081 "children" : [
23082 {
56122987
DM
23083 "info" : {
23084 "GET" : {
7aacca6f 23085 "description" : "Scan zfs pool list on local node.",
44660702
DM
23086 "method" : "GET",
23087 "name" : "zfsscan",
56122987 23088 "parameters" : {
44660702 23089 "additionalProperties" : 0,
56122987 23090 "properties" : {
56122987
DM
23091 "node" : {
23092 "description" : "The cluster node name.",
44660702 23093 "format" : "pve-node",
013dc89f
DM
23094 "type" : "string",
23095 "typetext" : "<string>"
56122987 23096 }
44660702
DM
23097 }
23098 },
7aacca6f
DM
23099 "permissions" : {
23100 "check" : [
23101 "perm",
23102 "/storage",
23103 [
23104 "Datastore.Allocate"
23105 ]
23106 ]
23107 },
44660702
DM
23108 "protected" : 1,
23109 "proxyto" : "node",
56122987 23110 "returns" : {
56122987
DM
23111 "items" : {
23112 "properties" : {
44660702 23113 "pool" : {
56122987
DM
23114 "type" : "string"
23115 }
44660702
DM
23116 },
23117 "type" : "object"
23118 },
23119 "type" : "array"
23120 }
23121 }
23122 },
23123 "leaf" : 1,
23124 "path" : "/nodes/{node}/scan/zfs",
23125 "text" : "zfs"
23126 },
23127 {
23128 "info" : {
23129 "GET" : {
23130 "description" : "Scan remote NFS server.",
23131 "method" : "GET",
7aacca6f 23132 "name" : "nfsscan",
56122987 23133 "parameters" : {
44660702 23134 "additionalProperties" : 0,
56122987
DM
23135 "properties" : {
23136 "node" : {
7aacca6f 23137 "description" : "The cluster node name.",
44660702 23138 "format" : "pve-node",
013dc89f
DM
23139 "type" : "string",
23140 "typetext" : "<string>"
7aacca6f
DM
23141 },
23142 "server" : {
23143 "format" : "pve-storage-server",
013dc89f
DM
23144 "type" : "string",
23145 "typetext" : "<string>"
56122987 23146 }
44660702 23147 }
56122987 23148 },
56122987
DM
23149 "permissions" : {
23150 "check" : [
23151 "perm",
23152 "/storage",
23153 [
23154 "Datastore.Allocate"
23155 ]
23156 ]
23157 },
44660702 23158 "protected" : 1,
56122987 23159 "proxyto" : "node",
44660702
DM
23160 "returns" : {
23161 "items" : {
23162 "properties" : {
23163 "options" : {
23164 "type" : "string"
23165 },
23166 "path" : {
23167 "type" : "string"
23168 }
23169 },
23170 "type" : "object"
23171 },
23172 "type" : "array"
23173 }
23174 }
23175 },
23176 "leaf" : 1,
23177 "path" : "/nodes/{node}/scan/nfs",
23178 "text" : "nfs"
23179 },
27a7acb2
DM
23180 {
23181 "info" : {
23182 "GET" : {
23183 "description" : "Scan remote CIFS server.",
23184 "method" : "GET",
23185 "name" : "cifsscan",
23186 "parameters" : {
23187 "additionalProperties" : 0,
23188 "properties" : {
23189 "domain" : {
23190 "optional" : 1,
23191 "type" : "string",
23192 "typetext" : "<string>"
23193 },
23194 "node" : {
23195 "description" : "The cluster node name.",
23196 "format" : "pve-node",
23197 "type" : "string",
23198 "typetext" : "<string>"
23199 },
23200 "password" : {
23201 "optional" : 1,
23202 "type" : "string",
23203 "typetext" : "<string>"
23204 },
23205 "server" : {
23206 "format" : "pve-storage-server",
23207 "type" : "string",
23208 "typetext" : "<string>"
23209 },
23210 "username" : {
23211 "optional" : 1,
23212 "type" : "string",
23213 "typetext" : "<string>"
23214 }
23215 }
23216 },
23217 "permissions" : {
23218 "check" : [
23219 "perm",
23220 "/storage",
23221 [
23222 "Datastore.Allocate"
23223 ]
23224 ]
23225 },
23226 "protected" : 1,
23227 "proxyto" : "node",
23228 "returns" : {
23229 "items" : {
23230 "properties" : {
23231 "description" : {
23232 "type" : "string"
23233 },
23234 "share" : {
23235 "type" : "string"
23236 }
23237 },
23238 "type" : "object"
23239 },
23240 "type" : "array"
23241 }
23242 }
23243 },
23244 "leaf" : 1,
23245 "path" : "/nodes/{node}/scan/cifs",
23246 "text" : "cifs"
23247 },
44660702
DM
23248 {
23249 "info" : {
23250 "GET" : {
23251 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
23252 "method" : "GET",
23253 "name" : "glusterfsscan",
56122987 23254 "parameters" : {
44660702 23255 "additionalProperties" : 0,
56122987 23256 "properties" : {
56122987 23257 "node" : {
44660702 23258 "description" : "The cluster node name.",
56122987 23259 "format" : "pve-node",
013dc89f
DM
23260 "type" : "string",
23261 "typetext" : "<string>"
7aacca6f
DM
23262 },
23263 "server" : {
23264 "format" : "pve-storage-server",
013dc89f
DM
23265 "type" : "string",
23266 "typetext" : "<string>"
56122987 23267 }
44660702
DM
23268 }
23269 },
23270 "permissions" : {
23271 "check" : [
23272 "perm",
23273 "/storage",
23274 [
23275 "Datastore.Allocate"
23276 ]
23277 ]
7aacca6f 23278 },
44660702
DM
23279 "protected" : 1,
23280 "proxyto" : "node",
23281 "returns" : {
23282 "items" : {
23283 "properties" : {
23284 "volname" : {
23285 "type" : "string"
23286 }
23287 },
23288 "type" : "object"
23289 },
23290 "type" : "array"
23291 }
56122987
DM
23292 }
23293 },
44660702
DM
23294 "leaf" : 1,
23295 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 23296 "text" : "glusterfs"
56122987
DM
23297 },
23298 {
56122987
DM
23299 "info" : {
23300 "GET" : {
7aacca6f 23301 "description" : "Scan remote iSCSI server.",
44660702
DM
23302 "method" : "GET",
23303 "name" : "iscsiscan",
23304 "parameters" : {
23305 "additionalProperties" : 0,
23306 "properties" : {
23307 "node" : {
23308 "description" : "The cluster node name.",
23309 "format" : "pve-node",
013dc89f
DM
23310 "type" : "string",
23311 "typetext" : "<string>"
44660702
DM
23312 },
23313 "portal" : {
23314 "format" : "pve-storage-portal-dns",
013dc89f
DM
23315 "type" : "string",
23316 "typetext" : "<string>"
44660702
DM
23317 }
23318 }
23319 },
56122987
DM
23320 "permissions" : {
23321 "check" : [
23322 "perm",
23323 "/storage",
23324 [
23325 "Datastore.Allocate"
23326 ]
23327 ]
23328 },
44660702
DM
23329 "protected" : 1,
23330 "proxyto" : "node",
56122987 23331 "returns" : {
56122987
DM
23332 "items" : {
23333 "properties" : {
44660702 23334 "portal" : {
56122987
DM
23335 "type" : "string"
23336 },
44660702 23337 "target" : {
56122987
DM
23338 "type" : "string"
23339 }
23340 },
23341 "type" : "object"
56122987 23342 },
44660702
DM
23343 "type" : "array"
23344 }
56122987
DM
23345 }
23346 },
44660702 23347 "leaf" : 1,
7aacca6f 23348 "path" : "/nodes/{node}/scan/iscsi",
44660702 23349 "text" : "iscsi"
56122987
DM
23350 },
23351 {
56122987
DM
23352 "info" : {
23353 "GET" : {
44660702
DM
23354 "description" : "List local LVM volume groups.",
23355 "method" : "GET",
23356 "name" : "lvmscan",
23357 "parameters" : {
23358 "additionalProperties" : 0,
23359 "properties" : {
23360 "node" : {
23361 "description" : "The cluster node name.",
23362 "format" : "pve-node",
013dc89f
DM
23363 "type" : "string",
23364 "typetext" : "<string>"
56122987 23365 }
7aacca6f 23366 }
56122987 23367 },
56122987
DM
23368 "permissions" : {
23369 "check" : [
23370 "perm",
23371 "/storage",
23372 [
23373 "Datastore.Allocate"
23374 ]
23375 ]
23376 },
7aacca6f 23377 "protected" : 1,
44660702
DM
23378 "proxyto" : "node",
23379 "returns" : {
23380 "items" : {
23381 "properties" : {
23382 "vg" : {
23383 "type" : "string"
23384 }
23385 },
23386 "type" : "object"
23387 },
23388 "type" : "array"
7aacca6f 23389 }
56122987
DM
23390 }
23391 },
23392 "leaf" : 1,
44660702
DM
23393 "path" : "/nodes/{node}/scan/lvm",
23394 "text" : "lvm"
56122987
DM
23395 },
23396 {
56122987
DM
23397 "info" : {
23398 "GET" : {
44660702
DM
23399 "description" : "List local LVM Thin Pools.",
23400 "method" : "GET",
23401 "name" : "lvmthinscan",
56122987 23402 "parameters" : {
44660702 23403 "additionalProperties" : 0,
56122987
DM
23404 "properties" : {
23405 "node" : {
44660702 23406 "description" : "The cluster node name.",
56122987 23407 "format" : "pve-node",
013dc89f
DM
23408 "type" : "string",
23409 "typetext" : "<string>"
56122987
DM
23410 },
23411 "vg" : {
44660702 23412 "maxLength" : 100,
56122987 23413 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 23414 "type" : "string"
56122987 23415 }
44660702 23416 }
56122987 23417 },
7aacca6f
DM
23418 "permissions" : {
23419 "check" : [
23420 "perm",
23421 "/storage",
23422 [
23423 "Datastore.Allocate"
23424 ]
23425 ]
23426 },
44660702 23427 "protected" : 1,
7aacca6f 23428 "proxyto" : "node",
56122987 23429 "returns" : {
56122987
DM
23430 "items" : {
23431 "properties" : {
23432 "lv" : {
23433 "type" : "string"
23434 }
23435 },
23436 "type" : "object"
44660702
DM
23437 },
23438 "type" : "array"
7aacca6f 23439 }
56122987
DM
23440 }
23441 },
7aacca6f 23442 "leaf" : 1,
44660702
DM
23443 "path" : "/nodes/{node}/scan/lvmthin",
23444 "text" : "lvmthin"
56122987
DM
23445 },
23446 {
56122987
DM
23447 "info" : {
23448 "GET" : {
44660702
DM
23449 "description" : "List local USB devices.",
23450 "method" : "GET",
23451 "name" : "usbscan",
23452 "parameters" : {
23453 "additionalProperties" : 0,
23454 "properties" : {
23455 "node" : {
23456 "description" : "The cluster node name.",
23457 "format" : "pve-node",
013dc89f
DM
23458 "type" : "string",
23459 "typetext" : "<string>"
44660702
DM
23460 }
23461 }
23462 },
7aacca6f
DM
23463 "permissions" : {
23464 "check" : [
23465 "perm",
23466 "/",
23467 [
23468 "Sys.Modify"
23469 ]
23470 ]
23471 },
44660702 23472 "protected" : 1,
7aacca6f 23473 "proxyto" : "node",
56122987
DM
23474 "returns" : {
23475 "items" : {
23476 "properties" : {
44660702
DM
23477 "busnum" : {
23478 "type" : "integer"
56122987 23479 },
44660702
DM
23480 "class" : {
23481 "type" : "integer"
56122987 23482 },
7aacca6f 23483 "devnum" : {
56122987
DM
23484 "type" : "integer"
23485 },
44660702
DM
23486 "level" : {
23487 "type" : "integer"
23488 },
23489 "manufacturer" : {
23490 "optional" : 1,
7aacca6f
DM
23491 "type" : "string"
23492 },
44660702 23493 "port" : {
56122987
DM
23494 "type" : "integer"
23495 },
44660702
DM
23496 "prodid" : {
23497 "type" : "string"
56122987 23498 },
44660702
DM
23499 "product" : {
23500 "optional" : 1,
23501 "type" : "string"
23502 },
23503 "serial" : {
7aacca6f 23504 "optional" : 1,
56122987
DM
23505 "type" : "string"
23506 },
44660702 23507 "speed" : {
7aacca6f 23508 "type" : "string"
56122987 23509 },
44660702 23510 "usbpath" : {
56122987
DM
23511 "optional" : 1,
23512 "type" : "string"
23513 },
44660702
DM
23514 "vendid" : {
23515 "type" : "string"
56122987
DM
23516 }
23517 },
23518 "type" : "object"
7aacca6f
DM
23519 },
23520 "type" : "array"
44660702
DM
23521 }
23522 }
23523 },
23524 "leaf" : 1,
23525 "path" : "/nodes/{node}/scan/usb",
23526 "text" : "usb"
23527 }
23528 ],
23529 "info" : {
23530 "GET" : {
23531 "description" : "Index of available scan methods",
23532 "method" : "GET",
23533 "name" : "index",
23534 "parameters" : {
23535 "additionalProperties" : 0,
23536 "properties" : {
23537 "node" : {
23538 "description" : "The cluster node name.",
23539 "format" : "pve-node",
013dc89f
DM
23540 "type" : "string",
23541 "typetext" : "<string>"
44660702
DM
23542 }
23543 }
23544 },
23545 "permissions" : {
23546 "user" : "all"
23547 },
23548 "returns" : {
23549 "items" : {
23550 "properties" : {
23551 "method" : {
23552 "type" : "string"
56122987
DM
23553 }
23554 },
44660702
DM
23555 "type" : "object"
23556 },
23557 "links" : [
23558 {
23559 "href" : "{method}",
23560 "rel" : "child"
23561 }
23562 ],
23563 "type" : "array"
56122987
DM
23564 }
23565 }
44660702
DM
23566 },
23567 "leaf" : 0,
23568 "path" : "/nodes/{node}/scan",
7aacca6f 23569 "text" : "scan"
56122987
DM
23570 },
23571 {
56122987
DM
23572 "children" : [
23573 {
56122987
DM
23574 "children" : [
23575 {
7aacca6f
DM
23576 "children" : [
23577 {
23578 "info" : {
44660702
DM
23579 "DELETE" : {
23580 "description" : "Delete volume",
23581 "method" : "DELETE",
23582 "name" : "delete",
7aacca6f
DM
23583 "parameters" : {
23584 "additionalProperties" : 0,
23585 "properties" : {
7aacca6f
DM
23586 "node" : {
23587 "description" : "The cluster node name.",
44660702 23588 "format" : "pve-node",
013dc89f
DM
23589 "type" : "string",
23590 "typetext" : "<string>"
44660702
DM
23591 },
23592 "storage" : {
23593 "description" : "The storage identifier.",
23594 "format" : "pve-storage-id",
23595 "optional" : 1,
013dc89f
DM
23596 "type" : "string",
23597 "typetext" : "<string>"
7aacca6f
DM
23598 },
23599 "volume" : {
23600 "description" : "Volume identifier",
013dc89f
DM
23601 "type" : "string",
23602 "typetext" : "<string>"
7aacca6f
DM
23603 }
23604 }
23605 },
44660702
DM
23606 "permissions" : {
23607 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
23608 "user" : "all"
23609 },
23610 "protected" : 1,
23611 "proxyto" : "node",
23612 "returns" : {
23613 "type" : "null"
23614 }
7aacca6f 23615 },
44660702
DM
23616 "GET" : {
23617 "description" : "Get volume attributes",
23618 "method" : "GET",
23619 "name" : "info",
7aacca6f
DM
23620 "parameters" : {
23621 "additionalProperties" : 0,
23622 "properties" : {
7aacca6f
DM
23623 "node" : {
23624 "description" : "The cluster node name.",
44660702 23625 "format" : "pve-node",
013dc89f
DM
23626 "type" : "string",
23627 "typetext" : "<string>"
7aacca6f
DM
23628 },
23629 "storage" : {
7aacca6f 23630 "description" : "The storage identifier.",
44660702 23631 "format" : "pve-storage-id",
7aacca6f 23632 "optional" : 1,
013dc89f
DM
23633 "type" : "string",
23634 "typetext" : "<string>"
44660702
DM
23635 },
23636 "volume" : {
23637 "description" : "Volume identifier",
013dc89f
DM
23638 "type" : "string",
23639 "typetext" : "<string>"
7aacca6f
DM
23640 }
23641 }
23642 },
7aacca6f 23643 "permissions" : {
44660702 23644 "description" : "You need read access for the volume.",
7aacca6f
DM
23645 "user" : "all"
23646 },
44660702 23647 "protected" : 1,
7aacca6f 23648 "proxyto" : "node",
7aacca6f 23649 "returns" : {
44660702 23650 "type" : "object"
7aacca6f
DM
23651 }
23652 },
23653 "POST" : {
44660702
DM
23654 "description" : "Copy a volume. This is experimental code - do not use.",
23655 "method" : "POST",
23656 "name" : "copy",
7aacca6f
DM
23657 "parameters" : {
23658 "additionalProperties" : 0,
23659 "properties" : {
44660702
DM
23660 "node" : {
23661 "description" : "The cluster node name.",
23662 "format" : "pve-node",
013dc89f
DM
23663 "type" : "string",
23664 "typetext" : "<string>"
44660702
DM
23665 },
23666 "storage" : {
23667 "description" : "The storage identifier.",
23668 "format" : "pve-storage-id",
23669 "optional" : 1,
013dc89f
DM
23670 "type" : "string",
23671 "typetext" : "<string>"
44660702 23672 },
7aacca6f 23673 "target" : {
44660702 23674 "description" : "Target volume identifier",
013dc89f
DM
23675 "type" : "string",
23676 "typetext" : "<string>"
7aacca6f
DM
23677 },
23678 "target_node" : {
7aacca6f 23679 "description" : "Target node. Default is local node.",
44660702
DM
23680 "format" : "pve-node",
23681 "optional" : 1,
013dc89f
DM
23682 "type" : "string",
23683 "typetext" : "<string>"
7aacca6f
DM
23684 },
23685 "volume" : {
44660702 23686 "description" : "Source volume identifier",
013dc89f
DM
23687 "type" : "string",
23688 "typetext" : "<string>"
7aacca6f
DM
23689 }
23690 }
23691 },
7aacca6f
DM
23692 "protected" : 1,
23693 "proxyto" : "node",
23694 "returns" : {
23695 "type" : "string"
44660702 23696 }
7aacca6f
DM
23697 }
23698 },
7aacca6f 23699 "leaf" : 1,
44660702
DM
23700 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
23701 "text" : "{volume}"
7aacca6f
DM
23702 }
23703 ],
56122987
DM
23704 "info" : {
23705 "GET" : {
44660702
DM
23706 "description" : "List storage content.",
23707 "method" : "GET",
23708 "name" : "index",
23709 "parameters" : {
23710 "additionalProperties" : 0,
23711 "properties" : {
23712 "content" : {
23713 "description" : "Only list content of this type.",
23714 "format" : "pve-storage-content",
23715 "optional" : 1,
013dc89f
DM
23716 "type" : "string",
23717 "typetext" : "<string>"
44660702
DM
23718 },
23719 "node" : {
23720 "description" : "The cluster node name.",
23721 "format" : "pve-node",
013dc89f
DM
23722 "type" : "string",
23723 "typetext" : "<string>"
44660702
DM
23724 },
23725 "storage" : {
23726 "description" : "The storage identifier.",
23727 "format" : "pve-storage-id",
013dc89f
DM
23728 "type" : "string",
23729 "typetext" : "<string>"
44660702
DM
23730 },
23731 "vmid" : {
23732 "description" : "Only list images for this VM",
23733 "format" : "pve-vmid",
23734 "minimum" : 1,
23735 "optional" : 1,
4bd7df8b 23736 "type" : "integer",
013dc89f 23737 "typetext" : "<integer> (1 - N)"
44660702
DM
23738 }
23739 }
23740 },
7aacca6f
DM
23741 "permissions" : {
23742 "check" : [
23743 "perm",
23744 "/storage/{storage}",
23745 [
23746 "Datastore.Audit",
23747 "Datastore.AllocateSpace"
23748 ],
23749 "any",
23750 1
23751 ]
23752 },
44660702 23753 "protected" : 1,
7aacca6f 23754 "proxyto" : "node",
56122987 23755 "returns" : {
44660702
DM
23756 "items" : {
23757 "properties" : {
23758 "volid" : {
23759 "type" : "string"
23760 }
23761 },
23762 "type" : "object"
23763 },
23764 "links" : [
23765 {
23766 "href" : "{volid}",
23767 "rel" : "child"
23768 }
23769 ],
23770 "type" : "array"
23771 }
23772 },
23773 "POST" : {
23774 "description" : "Allocate disk images.",
23775 "method" : "POST",
23776 "name" : "create",
56122987 23777 "parameters" : {
44660702 23778 "additionalProperties" : 0,
56122987 23779 "properties" : {
44660702
DM
23780 "filename" : {
23781 "description" : "The name of the file to create.",
013dc89f
DM
23782 "type" : "string",
23783 "typetext" : "<string>"
44660702
DM
23784 },
23785 "format" : {
23786 "enum" : [
23787 "raw",
23788 "qcow2",
23789 "subvol"
23790 ],
23791 "optional" : 1,
23792 "requires" : "size",
23793 "type" : "string"
23794 },
23795 "node" : {
23796 "description" : "The cluster node name.",
23797 "format" : "pve-node",
013dc89f
DM
23798 "type" : "string",
23799 "typetext" : "<string>"
44660702
DM
23800 },
23801 "size" : {
23802 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
23803 "pattern" : "\\d+[MG]?",
23804 "type" : "string"
23805 },
56122987
DM
23806 "storage" : {
23807 "description" : "The storage identifier.",
44660702 23808 "format" : "pve-storage-id",
013dc89f
DM
23809 "type" : "string",
23810 "typetext" : "<string>"
56122987 23811 },
44660702
DM
23812 "vmid" : {
23813 "description" : "Specify owner VM",
23814 "format" : "pve-vmid",
23815 "minimum" : 1,
4bd7df8b 23816 "type" : "integer",
013dc89f 23817 "typetext" : "<integer> (1 - N)"
44660702
DM
23818 }
23819 }
23820 },
23821 "permissions" : {
23822 "check" : [
23823 "perm",
23824 "/storage/{storage}",
23825 [
23826 "Datastore.AllocateSpace"
23827 ]
23828 ]
23829 },
23830 "protected" : 1,
23831 "proxyto" : "node",
23832 "returns" : {
23833 "description" : "Volume identifier",
23834 "type" : "string"
23835 }
23836 }
23837 },
23838 "leaf" : 0,
23839 "path" : "/nodes/{node}/storage/{storage}/content",
23840 "text" : "content"
23841 },
23842 {
23843 "info" : {
23844 "GET" : {
23845 "description" : "Read storage status.",
23846 "method" : "GET",
23847 "name" : "read_status",
23848 "parameters" : {
23849 "additionalProperties" : 0,
23850 "properties" : {
56122987
DM
23851 "node" : {
23852 "description" : "The cluster node name.",
44660702 23853 "format" : "pve-node",
013dc89f
DM
23854 "type" : "string",
23855 "typetext" : "<string>"
44660702
DM
23856 },
23857 "storage" : {
23858 "description" : "The storage identifier.",
23859 "format" : "pve-storage-id",
013dc89f
DM
23860 "type" : "string",
23861 "typetext" : "<string>"
56122987 23862 }
44660702
DM
23863 }
23864 },
23865 "permissions" : {
23866 "check" : [
23867 "perm",
23868 "/storage/{storage}",
23869 [
23870 "Datastore.Audit",
23871 "Datastore.AllocateSpace"
23872 ],
23873 "any",
23874 1
23875 ]
56122987
DM
23876 },
23877 "protected" : 1,
44660702
DM
23878 "proxyto" : "node",
23879 "returns" : {
23880 "properties" : {},
23881 "type" : "object"
23882 }
56122987
DM
23883 }
23884 },
44660702
DM
23885 "leaf" : 1,
23886 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 23887 "text" : "status"
56122987
DM
23888 },
23889 {
56122987
DM
23890 "info" : {
23891 "GET" : {
44660702
DM
23892 "description" : "Read storage RRD statistics (returns PNG).",
23893 "method" : "GET",
23894 "name" : "rrd",
56122987 23895 "parameters" : {
44660702 23896 "additionalProperties" : 0,
56122987 23897 "properties" : {
44660702
DM
23898 "cf" : {
23899 "description" : "The RRD consolidation function",
23900 "enum" : [
23901 "AVERAGE",
23902 "MAX"
23903 ],
23904 "optional" : 1,
23905 "type" : "string"
23906 },
7aacca6f 23907 "ds" : {
7aacca6f 23908 "description" : "The list of datasources you want to display.",
44660702 23909 "format" : "pve-configid-list",
013dc89f
DM
23910 "type" : "string",
23911 "typetext" : "<string>"
56122987 23912 },
7aacca6f
DM
23913 "node" : {
23914 "description" : "The cluster node name.",
44660702 23915 "format" : "pve-node",
013dc89f
DM
23916 "type" : "string",
23917 "typetext" : "<string>"
56122987 23918 },
7aacca6f 23919 "storage" : {
7aacca6f 23920 "description" : "The storage identifier.",
44660702 23921 "format" : "pve-storage-id",
013dc89f
DM
23922 "type" : "string",
23923 "typetext" : "<string>"
44660702
DM
23924 },
23925 "timeframe" : {
23926 "description" : "Specify the time frame you are interested in.",
7aacca6f 23927 "enum" : [
44660702
DM
23928 "hour",
23929 "day",
23930 "week",
23931 "month",
23932 "year"
7aacca6f 23933 ],
44660702 23934 "type" : "string"
56122987 23935 }
44660702 23936 }
56122987
DM
23937 },
23938 "permissions" : {
23939 "check" : [
23940 "perm",
23941 "/storage/{storage}",
23942 [
23943 "Datastore.Audit",
23944 "Datastore.AllocateSpace"
23945 ],
23946 "any",
23947 1
23948 ]
23949 },
44660702
DM
23950 "protected" : 1,
23951 "proxyto" : "node",
7aacca6f
DM
23952 "returns" : {
23953 "properties" : {
23954 "filename" : {
23955 "type" : "string"
23956 }
23957 },
23958 "type" : "object"
23959 }
56122987
DM
23960 }
23961 },
23962 "leaf" : 1,
44660702
DM
23963 "path" : "/nodes/{node}/storage/{storage}/rrd",
23964 "text" : "rrd"
56122987
DM
23965 },
23966 {
56122987
DM
23967 "info" : {
23968 "GET" : {
44660702
DM
23969 "description" : "Read storage RRD statistics.",
23970 "method" : "GET",
23971 "name" : "rrddata",
56122987 23972 "parameters" : {
44660702 23973 "additionalProperties" : 0,
56122987 23974 "properties" : {
44660702
DM
23975 "cf" : {
23976 "description" : "The RRD consolidation function",
23977 "enum" : [
23978 "AVERAGE",
23979 "MAX"
23980 ],
23981 "optional" : 1,
23982 "type" : "string"
23983 },
7aacca6f 23984 "node" : {
7aacca6f 23985 "description" : "The cluster node name.",
44660702 23986 "format" : "pve-node",
013dc89f
DM
23987 "type" : "string",
23988 "typetext" : "<string>"
44660702
DM
23989 },
23990 "storage" : {
23991 "description" : "The storage identifier.",
23992 "format" : "pve-storage-id",
013dc89f
DM
23993 "type" : "string",
23994 "typetext" : "<string>"
7aacca6f 23995 },
56122987 23996 "timeframe" : {
7aacca6f 23997 "description" : "Specify the time frame you are interested in.",
56122987
DM
23998 "enum" : [
23999 "hour",
24000 "day",
24001 "week",
24002 "month",
24003 "year"
56122987 24004 ],
44660702 24005 "type" : "string"
56122987 24006 }
44660702 24007 }
7aacca6f 24008 },
7aacca6f
DM
24009 "permissions" : {
24010 "check" : [
24011 "perm",
24012 "/storage/{storage}",
24013 [
24014 "Datastore.Audit",
24015 "Datastore.AllocateSpace"
24016 ],
24017 "any",
24018 1
24019 ]
24020 },
44660702
DM
24021 "protected" : 1,
24022 "proxyto" : "node",
7aacca6f
DM
24023 "returns" : {
24024 "items" : {
44660702
DM
24025 "properties" : {},
24026 "type" : "object"
7aacca6f
DM
24027 },
24028 "type" : "array"
56122987
DM
24029 }
24030 }
7aacca6f 24031 },
7aacca6f 24032 "leaf" : 1,
44660702
DM
24033 "path" : "/nodes/{node}/storage/{storage}/rrddata",
24034 "text" : "rrddata"
56122987
DM
24035 },
24036 {
56122987
DM
24037 "info" : {
24038 "POST" : {
7aacca6f 24039 "description" : "Upload templates and ISO images.",
44660702
DM
24040 "method" : "POST",
24041 "name" : "upload",
56122987 24042 "parameters" : {
7aacca6f 24043 "additionalProperties" : 0,
56122987 24044 "properties" : {
56122987 24045 "content" : {
7aacca6f 24046 "description" : "Content type.",
44660702 24047 "format" : "pve-storage-content",
013dc89f
DM
24048 "type" : "string",
24049 "typetext" : "<string>"
56122987
DM
24050 },
24051 "filename" : {
44660702 24052 "description" : "The name of the file to create.",
013dc89f
DM
24053 "type" : "string",
24054 "typetext" : "<string>"
56122987
DM
24055 },
24056 "node" : {
24057 "description" : "The cluster node name.",
44660702 24058 "format" : "pve-node",
013dc89f
DM
24059 "type" : "string",
24060 "typetext" : "<string>"
44660702
DM
24061 },
24062 "storage" : {
24063 "description" : "The storage identifier.",
24064 "format" : "pve-storage-id",
013dc89f
DM
24065 "type" : "string",
24066 "typetext" : "<string>"
44660702
DM
24067 },
24068 "tmpfilename" : {
24069 "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.",
24070 "optional" : 1,
013dc89f
DM
24071 "type" : "string",
24072 "typetext" : "<string>"
56122987 24073 }
7aacca6f 24074 }
56122987 24075 },
56122987
DM
24076 "permissions" : {
24077 "check" : [
24078 "perm",
24079 "/storage/{storage}",
24080 [
24081 "Datastore.AllocateTemplate"
24082 ]
24083 ]
44660702
DM
24084 },
24085 "protected" : 1,
24086 "returns" : {
24087 "type" : "string"
24088 }
24089 }
24090 },
24091 "leaf" : 1,
24092 "path" : "/nodes/{node}/storage/{storage}/upload",
24093 "text" : "upload"
24094 }
24095 ],
24096 "info" : {
24097 "GET" : {
24098 "description" : "",
24099 "method" : "GET",
24100 "name" : "diridx",
24101 "parameters" : {
24102 "additionalProperties" : 0,
24103 "properties" : {
24104 "node" : {
24105 "description" : "The cluster node name.",
24106 "format" : "pve-node",
013dc89f
DM
24107 "type" : "string",
24108 "typetext" : "<string>"
44660702
DM
24109 },
24110 "storage" : {
24111 "description" : "The storage identifier.",
24112 "format" : "pve-storage-id",
013dc89f
DM
24113 "type" : "string",
24114 "typetext" : "<string>"
56122987
DM
24115 }
24116 }
44660702
DM
24117 },
24118 "permissions" : {
24119 "check" : [
24120 "perm",
24121 "/storage/{storage}",
24122 [
24123 "Datastore.Audit",
24124 "Datastore.AllocateSpace"
24125 ],
24126 "any",
24127 1
24128 ]
24129 },
24130 "returns" : {
24131 "items" : {
24132 "properties" : {
24133 "subdir" : {
24134 "type" : "string"
24135 }
24136 },
24137 "type" : "object"
24138 },
24139 "links" : [
24140 {
24141 "href" : "{subdir}",
24142 "rel" : "child"
24143 }
24144 ],
24145 "type" : "array"
56122987
DM
24146 }
24147 }
44660702
DM
24148 },
24149 "leaf" : 0,
24150 "path" : "/nodes/{node}/storage/{storage}",
24151 "text" : "{storage}"
56122987
DM
24152 }
24153 ],
56122987
DM
24154 "info" : {
24155 "GET" : {
44660702
DM
24156 "description" : "Get status for all datastores.",
24157 "method" : "GET",
24158 "name" : "index",
24159 "parameters" : {
24160 "additionalProperties" : 0,
24161 "properties" : {
24162 "content" : {
24163 "description" : "Only list stores which support this content type.",
24164 "format" : "pve-storage-content-list",
24165 "optional" : 1,
013dc89f
DM
24166 "type" : "string",
24167 "typetext" : "<string>"
44660702
DM
24168 },
24169 "enabled" : {
24170 "default" : 0,
24171 "description" : "Only list stores which are enabled (not disabled in config).",
24172 "optional" : 1,
013dc89f
DM
24173 "type" : "boolean",
24174 "typetext" : "<boolean>"
44660702 24175 },
35a75dd3
DM
24176 "format" : {
24177 "default" : 0,
24178 "description" : "Include information about formats",
24179 "optional" : 1,
24180 "type" : "boolean",
24181 "typetext" : "<boolean>"
24182 },
44660702
DM
24183 "node" : {
24184 "description" : "The cluster node name.",
24185 "format" : "pve-node",
013dc89f
DM
24186 "type" : "string",
24187 "typetext" : "<string>"
44660702
DM
24188 },
24189 "storage" : {
24190 "description" : "Only list status for specified storage",
24191 "format" : "pve-storage-id",
24192 "optional" : 1,
013dc89f
DM
24193 "type" : "string",
24194 "typetext" : "<string>"
44660702
DM
24195 },
24196 "target" : {
24197 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
24198 "format" : "pve-node",
24199 "optional" : 1,
013dc89f
DM
24200 "type" : "string",
24201 "typetext" : "<string>"
44660702
DM
24202 }
24203 }
24204 },
7aacca6f
DM
24205 "permissions" : {
24206 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
24207 "user" : "all"
24208 },
44660702 24209 "protected" : 1,
7aacca6f 24210 "proxyto" : "node",
56122987
DM
24211 "returns" : {
24212 "items" : {
56122987
DM
24213 "properties" : {
24214 "storage" : {
24215 "type" : "string"
24216 }
44660702
DM
24217 },
24218 "type" : "object"
56122987 24219 },
56122987
DM
24220 "links" : [
24221 {
7aacca6f
DM
24222 "href" : "{storage}",
24223 "rel" : "child"
56122987 24224 }
44660702
DM
24225 ],
24226 "type" : "array"
24227 }
56122987 24228 }
44660702
DM
24229 },
24230 "leaf" : 0,
24231 "path" : "/nodes/{node}/storage",
24232 "text" : "storage"
56122987 24233 },
2c0dde61
DM
24234 {
24235 "children" : [
24236 {
24237 "info" : {
24238 "GET" : {
24239 "description" : "List local disks.",
24240 "method" : "GET",
24241 "name" : "list",
24242 "parameters" : {
24243 "additionalProperties" : 0,
24244 "properties" : {
24245 "node" : {
24246 "description" : "The cluster node name.",
24247 "format" : "pve-node",
013dc89f
DM
24248 "type" : "string",
24249 "typetext" : "<string>"
2c0dde61
DM
24250 }
24251 }
24252 },
24253 "permissions" : {
24254 "check" : [
24255 "perm",
24256 "/",
24257 [
24258 "Sys.Audit",
24259 "Datastore.Audit"
24260 ],
24261 "any",
24262 1
24263 ]
24264 },
24265 "protected" : 1,
24266 "proxyto" : "node",
24267 "returns" : {
24268 "items" : {
24269 "properties" : {
24270 "devpath" : {
24271 "description" : "The device path",
24272 "type" : "string"
24273 },
24274 "gpt" : {
24275 "type" : "boolean"
24276 },
24277 "health" : {
24278 "optional" : 1,
24279 "type" : "string"
24280 },
24281 "model" : {
24282 "optional" : 1,
24283 "type" : "string"
24284 },
24285 "osdid" : {
24286 "type" : "integer"
24287 },
24288 "serial" : {
24289 "optional" : 1,
24290 "type" : "string"
24291 },
24292 "size" : {
24293 "type" : "integer"
24294 },
24295 "used" : {
24296 "optional" : 1,
24297 "type" : "string"
24298 },
24299 "vendor" : {
24300 "optional" : 1,
24301 "type" : "string"
24302 },
24303 "wwn" : {
24304 "optional" : 1,
24305 "type" : "string"
24306 }
24307 },
24308 "type" : "object"
24309 },
24310 "type" : "array"
24311 }
24312 }
24313 },
24314 "leaf" : 1,
24315 "path" : "/nodes/{node}/disks/list",
24316 "text" : "list"
24317 },
24318 {
24319 "info" : {
24320 "GET" : {
24321 "description" : "Get SMART Health of a disk.",
24322 "method" : "GET",
24323 "name" : "smart",
24324 "parameters" : {
24325 "additionalProperties" : 0,
24326 "properties" : {
24327 "disk" : {
24328 "description" : "Block device name",
24329 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24330 "type" : "string"
24331 },
24332 "healthonly" : {
24333 "description" : "If true returns only the health status",
24334 "optional" : 1,
013dc89f
DM
24335 "type" : "boolean",
24336 "typetext" : "<boolean>"
2c0dde61
DM
24337 },
24338 "node" : {
24339 "description" : "The cluster node name.",
24340 "format" : "pve-node",
013dc89f
DM
24341 "type" : "string",
24342 "typetext" : "<string>"
2c0dde61
DM
24343 }
24344 }
24345 },
24346 "permissions" : {
24347 "check" : [
24348 "perm",
24349 "/",
24350 [
24351 "Sys.Audit",
24352 "Datastore.Audit"
24353 ],
24354 "any",
24355 1
24356 ]
24357 },
24358 "protected" : 1,
24359 "proxyto" : "node",
24360 "returns" : {
de0983cb
DM
24361 "properties" : {
24362 "attributes" : {
24363 "optional" : 1,
24364 "type" : "array"
24365 },
24366 "health" : {
24367 "type" : "string"
24368 },
24369 "text" : {
24370 "optional" : 1,
24371 "type" : "string"
24372 },
24373 "type" : {
24374 "optional" : 1,
24375 "type" : "string"
24376 }
24377 },
2c0dde61
DM
24378 "type" : "object"
24379 }
24380 }
24381 },
24382 "leaf" : 1,
24383 "path" : "/nodes/{node}/disks/smart",
24384 "text" : "smart"
24385 },
24386 {
24387 "info" : {
24388 "POST" : {
24389 "description" : "Initialize Disk with GPT",
24390 "method" : "POST",
24391 "name" : "initgpt",
24392 "parameters" : {
24393 "additionalProperties" : 0,
24394 "properties" : {
24395 "disk" : {
24396 "description" : "Block device name",
24397 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24398 "type" : "string"
24399 },
24400 "node" : {
24401 "description" : "The cluster node name.",
24402 "format" : "pve-node",
013dc89f
DM
24403 "type" : "string",
24404 "typetext" : "<string>"
2c0dde61
DM
24405 },
24406 "uuid" : {
24407 "description" : "UUID for the GPT table",
24408 "maxLength" : 36,
24409 "optional" : 1,
24410 "pattern" : "[a-fA-F0-9\\-]+",
24411 "type" : "string"
24412 }
24413 }
24414 },
24415 "permissions" : {
24416 "check" : [
24417 "perm",
24418 "/",
24419 [
24420 "Sys.Modify"
24421 ]
24422 ]
24423 },
24424 "protected" : 1,
24425 "proxyto" : "node",
24426 "returns" : {
24427 "type" : "string"
24428 }
24429 }
24430 },
24431 "leaf" : 1,
24432 "path" : "/nodes/{node}/disks/initgpt",
24433 "text" : "initgpt"
24434 }
24435 ],
24436 "info" : {
24437 "GET" : {
24438 "description" : "Node index.",
24439 "method" : "GET",
24440 "name" : "index",
24441 "parameters" : {
24442 "additionalProperties" : 0,
24443 "properties" : {
24444 "node" : {
24445 "description" : "The cluster node name.",
24446 "format" : "pve-node",
013dc89f
DM
24447 "type" : "string",
24448 "typetext" : "<string>"
2c0dde61
DM
24449 }
24450 }
24451 },
24452 "permissions" : {
24453 "user" : "all"
24454 },
24455 "proxyto" : "node",
24456 "returns" : {
24457 "items" : {
24458 "properties" : {},
24459 "type" : "object"
24460 },
24461 "links" : [
24462 {
24463 "href" : "{name}",
24464 "rel" : "child"
24465 }
24466 ],
24467 "type" : "array"
24468 }
24469 }
24470 },
24471 "leaf" : 0,
24472 "path" : "/nodes/{node}/disks",
24473 "text" : "disks"
24474 },
56122987 24475 {
56122987
DM
24476 "children" : [
24477 {
24478 "info" : {
44660702
DM
24479 "GET" : {
24480 "description" : "List available updates.",
24481 "method" : "GET",
24482 "name" : "list_updates",
24483 "parameters" : {
24484 "additionalProperties" : 0,
24485 "properties" : {
24486 "node" : {
24487 "description" : "The cluster node name.",
24488 "format" : "pve-node",
013dc89f
DM
24489 "type" : "string",
24490 "typetext" : "<string>"
44660702
DM
24491 }
24492 }
7aacca6f
DM
24493 },
24494 "permissions" : {
24495 "check" : [
24496 "perm",
24497 "/nodes/{node}",
24498 [
24499 "Sys.Modify"
24500 ]
24501 ]
24502 },
44660702 24503 "protected" : 1,
56122987 24504 "proxyto" : "node",
44660702
DM
24505 "returns" : {
24506 "items" : {
24507 "properties" : {},
24508 "type" : "object"
24509 },
24510 "type" : "array"
24511 }
24512 },
24513 "POST" : {
24514 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
24515 "method" : "POST",
24516 "name" : "update_database",
56122987
DM
24517 "parameters" : {
24518 "additionalProperties" : 0,
24519 "properties" : {
44660702
DM
24520 "node" : {
24521 "description" : "The cluster node name.",
24522 "format" : "pve-node",
013dc89f
DM
24523 "type" : "string",
24524 "typetext" : "<string>"
44660702 24525 },
56122987 24526 "notify" : {
56122987 24527 "default" : 0,
44660702
DM
24528 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
24529 "optional" : 1,
013dc89f
DM
24530 "type" : "boolean",
24531 "typetext" : "<boolean>"
56122987
DM
24532 },
24533 "quiet" : {
56122987 24534 "default" : 0,
44660702 24535 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 24536 "optional" : 1,
013dc89f
DM
24537 "type" : "boolean",
24538 "typetext" : "<boolean>"
56122987 24539 }
7aacca6f
DM
24540 }
24541 },
24542 "permissions" : {
24543 "check" : [
24544 "perm",
24545 "/nodes/{node}",
24546 [
24547 "Sys.Modify"
24548 ]
24549 ]
24550 },
44660702
DM
24551 "protected" : 1,
24552 "proxyto" : "node",
24553 "returns" : {
24554 "type" : "string"
24555 }
56122987
DM
24556 }
24557 },
7aacca6f 24558 "leaf" : 1,
44660702
DM
24559 "path" : "/nodes/{node}/apt/update",
24560 "text" : "update"
56122987
DM
24561 },
24562 {
56122987
DM
24563 "info" : {
24564 "GET" : {
44660702 24565 "description" : "Get package changelogs.",
56122987 24566 "method" : "GET",
7aacca6f 24567 "name" : "changelog",
56122987 24568 "parameters" : {
44660702 24569 "additionalProperties" : 0,
56122987
DM
24570 "properties" : {
24571 "name" : {
24572 "description" : "Package name.",
013dc89f
DM
24573 "type" : "string",
24574 "typetext" : "<string>"
56122987 24575 },
44660702
DM
24576 "node" : {
24577 "description" : "The cluster node name.",
24578 "format" : "pve-node",
013dc89f
DM
24579 "type" : "string",
24580 "typetext" : "<string>"
44660702 24581 },
56122987 24582 "version" : {
7aacca6f 24583 "description" : "Package version.",
44660702 24584 "optional" : 1,
013dc89f
DM
24585 "type" : "string",
24586 "typetext" : "<string>"
56122987 24587 }
44660702 24588 }
56122987 24589 },
44660702
DM
24590 "permissions" : {
24591 "check" : [
24592 "perm",
24593 "/nodes/{node}",
24594 [
24595 "Sys.Modify"
24596 ]
24597 ]
24598 },
24599 "proxyto" : "node",
24600 "returns" : {
24601 "type" : "string"
24602 }
56122987
DM
24603 }
24604 },
44660702
DM
24605 "leaf" : 1,
24606 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 24607 "text" : "changelog"
56122987
DM
24608 },
24609 {
56122987
DM
24610 "info" : {
24611 "GET" : {
44660702
DM
24612 "description" : "Get package information for important Proxmox packages.",
24613 "method" : "GET",
7aacca6f
DM
24614 "name" : "versions",
24615 "parameters" : {
44660702 24616 "additionalProperties" : 0,
7aacca6f
DM
24617 "properties" : {
24618 "node" : {
44660702 24619 "description" : "The cluster node name.",
7aacca6f 24620 "format" : "pve-node",
013dc89f
DM
24621 "type" : "string",
24622 "typetext" : "<string>"
7aacca6f 24623 }
44660702 24624 }
7aacca6f 24625 },
56122987
DM
24626 "permissions" : {
24627 "check" : [
24628 "perm",
24629 "/nodes/{node}",
24630 [
24631 "Sys.Audit"
24632 ]
24633 ]
24634 },
7aacca6f 24635 "proxyto" : "node",
56122987
DM
24636 "returns" : {
24637 "items" : {
7aacca6f
DM
24638 "properties" : {},
24639 "type" : "object"
44660702
DM
24640 },
24641 "type" : "array"
56122987
DM
24642 }
24643 }
24644 },
44660702 24645 "leaf" : 1,
7aacca6f 24646 "path" : "/nodes/{node}/apt/versions",
44660702 24647 "text" : "versions"
56122987
DM
24648 }
24649 ],
56122987
DM
24650 "info" : {
24651 "GET" : {
44660702 24652 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 24653 "method" : "GET",
44660702 24654 "name" : "index",
7aacca6f
DM
24655 "parameters" : {
24656 "additionalProperties" : 0,
24657 "properties" : {
24658 "node" : {
44660702 24659 "description" : "The cluster node name.",
7aacca6f 24660 "format" : "pve-node",
013dc89f
DM
24661 "type" : "string",
24662 "typetext" : "<string>"
7aacca6f
DM
24663 }
24664 }
24665 },
7aacca6f
DM
24666 "permissions" : {
24667 "user" : "all"
24668 },
44660702
DM
24669 "returns" : {
24670 "items" : {
24671 "properties" : {
24672 "id" : {
24673 "type" : "string"
24674 }
24675 },
24676 "type" : "object"
24677 },
24678 "links" : [
24679 {
24680 "href" : "{id}",
24681 "rel" : "child"
24682 }
24683 ],
24684 "type" : "array"
24685 }
56122987 24686 }
7aacca6f 24687 },
44660702 24688 "leaf" : 0,
7aacca6f 24689 "path" : "/nodes/{node}/apt",
44660702 24690 "text" : "apt"
56122987
DM
24691 },
24692 {
56122987
DM
24693 "children" : [
24694 {
24695 "children" : [
24696 {
56122987
DM
24697 "info" : {
24698 "DELETE" : {
44660702 24699 "description" : "Delete rule.",
7aacca6f 24700 "method" : "DELETE",
44660702 24701 "name" : "delete_rule",
56122987
DM
24702 "parameters" : {
24703 "additionalProperties" : 0,
24704 "properties" : {
56122987
DM
24705 "digest" : {
24706 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 24707 "maxLength" : 40,
56122987 24708 "optional" : 1,
013dc89f
DM
24709 "type" : "string",
24710 "typetext" : "<string>"
56122987 24711 },
44660702
DM
24712 "node" : {
24713 "description" : "The cluster node name.",
24714 "format" : "pve-node",
013dc89f
DM
24715 "type" : "string",
24716 "typetext" : "<string>"
44660702 24717 },
7aacca6f 24718 "pos" : {
7aacca6f 24719 "description" : "Update rule at position <pos>.",
44660702
DM
24720 "minimum" : 0,
24721 "optional" : 1,
4bd7df8b 24722 "type" : "integer",
013dc89f 24723 "typetext" : "<integer> (0 - N)"
56122987
DM
24724 }
24725 }
24726 },
44660702
DM
24727 "permissions" : {
24728 "check" : [
24729 "perm",
24730 "/nodes/{node}",
24731 [
24732 "Sys.Modify"
24733 ]
24734 ]
24735 },
24736 "protected" : 1,
24737 "proxyto" : "node",
56122987
DM
24738 "returns" : {
24739 "type" : "null"
44660702
DM
24740 }
24741 },
24742 "GET" : {
24743 "description" : "Get single rule data.",
24744 "method" : "GET",
24745 "name" : "get_rule",
24746 "parameters" : {
24747 "additionalProperties" : 0,
24748 "properties" : {
24749 "node" : {
24750 "description" : "The cluster node name.",
24751 "format" : "pve-node",
013dc89f
DM
24752 "type" : "string",
24753 "typetext" : "<string>"
44660702
DM
24754 },
24755 "pos" : {
24756 "description" : "Update rule at position <pos>.",
24757 "minimum" : 0,
24758 "optional" : 1,
4bd7df8b 24759 "type" : "integer",
013dc89f 24760 "typetext" : "<integer> (0 - N)"
44660702
DM
24761 }
24762 }
56122987 24763 },
56122987
DM
24764 "permissions" : {
24765 "check" : [
24766 "perm",
24767 "/nodes/{node}",
24768 [
44660702 24769 "Sys.Audit"
56122987
DM
24770 ]
24771 ]
44660702
DM
24772 },
24773 "proxyto" : "node",
24774 "returns" : {
24775 "properties" : {
24776 "pos" : {
24777 "type" : "integer"
24778 }
24779 },
24780 "type" : "object"
7aacca6f 24781 }
56122987
DM
24782 },
24783 "PUT" : {
44660702
DM
24784 "description" : "Modify rule data.",
24785 "method" : "PUT",
56122987 24786 "name" : "update_rule",
56122987 24787 "parameters" : {
44660702 24788 "additionalProperties" : 0,
56122987 24789 "properties" : {
44660702
DM
24790 "action" : {
24791 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24792 "maxLength" : 20,
24793 "minLength" : 2,
56122987 24794 "optional" : 1,
44660702
DM
24795 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24796 "type" : "string"
56122987 24797 },
7aacca6f 24798 "comment" : {
e94f0d56 24799 "description" : "Descriptive comment.",
56122987 24800 "optional" : 1,
013dc89f
DM
24801 "type" : "string",
24802 "typetext" : "<string>"
56122987 24803 },
44660702
DM
24804 "delete" : {
24805 "description" : "A list of settings you want to delete.",
24806 "format" : "pve-configid-list",
56122987 24807 "optional" : 1,
013dc89f
DM
24808 "type" : "string",
24809 "typetext" : "<string>"
56122987 24810 },
44660702
DM
24811 "dest" : {
24812 "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.",
24813 "format" : "pve-fw-addr-spec",
56122987 24814 "optional" : 1,
013dc89f
DM
24815 "type" : "string",
24816 "typetext" : "<string>"
56122987 24817 },
44660702
DM
24818 "digest" : {
24819 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24820 "maxLength" : 40,
56122987 24821 "optional" : 1,
013dc89f
DM
24822 "type" : "string",
24823 "typetext" : "<string>"
56122987 24824 },
7aacca6f 24825 "dport" : {
7aacca6f 24826 "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
24827 "format" : "pve-fw-dport-spec",
24828 "optional" : 1,
013dc89f
DM
24829 "type" : "string",
24830 "typetext" : "<string>"
7aacca6f 24831 },
44660702 24832 "enable" : {
e94f0d56 24833 "description" : "Flag to enable/disable a rule.",
44660702 24834 "minimum" : 0,
56122987 24835 "optional" : 1,
4bd7df8b 24836 "type" : "integer",
013dc89f 24837 "typetext" : "<integer> (0 - N)"
56122987 24838 },
7aacca6f 24839 "iface" : {
44660702 24840 "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 24841 "format" : "pve-iface",
44660702 24842 "maxLength" : 20,
56122987 24843 "minLength" : 2,
44660702 24844 "optional" : 1,
013dc89f
DM
24845 "type" : "string",
24846 "typetext" : "<string>"
56122987 24847 },
44660702 24848 "macro" : {
e94f0d56 24849 "description" : "Use predefined standard macro.",
44660702
DM
24850 "maxLength" : 128,
24851 "optional" : 1,
013dc89f
DM
24852 "type" : "string",
24853 "typetext" : "<string>"
44660702
DM
24854 },
24855 "moveto" : {
24856 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24857 "minimum" : 0,
7aacca6f 24858 "optional" : 1,
4bd7df8b 24859 "type" : "integer",
013dc89f 24860 "typetext" : "<integer> (0 - N)"
44660702
DM
24861 },
24862 "node" : {
24863 "description" : "The cluster node name.",
24864 "format" : "pve-node",
013dc89f
DM
24865 "type" : "string",
24866 "typetext" : "<string>"
56122987
DM
24867 },
24868 "pos" : {
44660702 24869 "description" : "Update rule at position <pos>.",
7aacca6f 24870 "minimum" : 0,
7aacca6f 24871 "optional" : 1,
4bd7df8b 24872 "type" : "integer",
013dc89f 24873 "typetext" : "<integer> (0 - N)"
7aacca6f 24874 },
44660702
DM
24875 "proto" : {
24876 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24877 "format" : "pve-fw-protocol-spec",
7aacca6f 24878 "optional" : 1,
013dc89f
DM
24879 "type" : "string",
24880 "typetext" : "<string>"
7aacca6f 24881 },
44660702
DM
24882 "source" : {
24883 "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.",
24884 "format" : "pve-fw-addr-spec",
56122987 24885 "optional" : 1,
013dc89f
DM
24886 "type" : "string",
24887 "typetext" : "<string>"
7aacca6f 24888 },
44660702
DM
24889 "sport" : {
24890 "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.",
24891 "format" : "pve-fw-sport-spec",
24892 "optional" : 1,
013dc89f
DM
24893 "type" : "string",
24894 "typetext" : "<string>"
44660702
DM
24895 },
24896 "type" : {
e94f0d56 24897 "description" : "Rule type.",
44660702
DM
24898 "enum" : [
24899 "in",
24900 "out",
24901 "group"
24902 ],
24903 "optional" : 1,
24904 "type" : "string"
56122987 24905 }
44660702 24906 }
56122987 24907 },
56122987
DM
24908 "permissions" : {
24909 "check" : [
24910 "perm",
24911 "/nodes/{node}",
24912 [
24913 "Sys.Modify"
24914 ]
24915 ]
7aacca6f 24916 },
44660702 24917 "protected" : 1,
7aacca6f 24918 "proxyto" : "node",
7aacca6f
DM
24919 "returns" : {
24920 "type" : "null"
56122987
DM
24921 }
24922 }
7aacca6f 24923 },
44660702 24924 "leaf" : 1,
7aacca6f 24925 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 24926 "text" : "{pos}"
56122987
DM
24927 }
24928 ],
56122987
DM
24929 "info" : {
24930 "GET" : {
44660702
DM
24931 "description" : "List rules.",
24932 "method" : "GET",
24933 "name" : "get_rules",
24934 "parameters" : {
24935 "additionalProperties" : 0,
24936 "properties" : {
24937 "node" : {
24938 "description" : "The cluster node name.",
24939 "format" : "pve-node",
013dc89f
DM
24940 "type" : "string",
24941 "typetext" : "<string>"
44660702
DM
24942 }
24943 }
24944 },
24945 "permissions" : {
24946 "check" : [
24947 "perm",
24948 "/nodes/{node}",
24949 [
24950 "Sys.Audit"
24951 ]
24952 ]
24953 },
24954 "proxyto" : "node",
56122987 24955 "returns" : {
56122987
DM
24956 "items" : {
24957 "properties" : {
24958 "pos" : {
24959 "type" : "integer"
24960 }
44660702
DM
24961 },
24962 "type" : "object"
56122987 24963 },
7aacca6f
DM
24964 "links" : [
24965 {
24966 "href" : "{pos}",
24967 "rel" : "child"
24968 }
24969 ],
24970 "type" : "array"
44660702 24971 }
56122987
DM
24972 },
24973 "POST" : {
44660702 24974 "description" : "Create new rule.",
7aacca6f
DM
24975 "method" : "POST",
24976 "name" : "create_rule",
56122987 24977 "parameters" : {
44660702 24978 "additionalProperties" : 0,
56122987 24979 "properties" : {
7aacca6f 24980 "action" : {
7aacca6f 24981 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 24982 "maxLength" : 20,
7aacca6f
DM
24983 "minLength" : 2,
24984 "optional" : 0,
44660702
DM
24985 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24986 "type" : "string"
56122987 24987 },
44660702 24988 "comment" : {
e94f0d56 24989 "description" : "Descriptive comment.",
56122987 24990 "optional" : 1,
013dc89f
DM
24991 "type" : "string",
24992 "typetext" : "<string>"
56122987 24993 },
44660702
DM
24994 "dest" : {
24995 "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.",
24996 "format" : "pve-fw-addr-spec",
7aacca6f 24997 "optional" : 1,
013dc89f
DM
24998 "type" : "string",
24999 "typetext" : "<string>"
56122987 25000 },
44660702
DM
25001 "digest" : {
25002 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25003 "maxLength" : 40,
25004 "optional" : 1,
013dc89f
DM
25005 "type" : "string",
25006 "typetext" : "<string>"
56122987 25007 },
44660702
DM
25008 "dport" : {
25009 "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.",
25010 "format" : "pve-fw-dport-spec",
7aacca6f 25011 "optional" : 1,
013dc89f
DM
25012 "type" : "string",
25013 "typetext" : "<string>"
56122987 25014 },
44660702 25015 "enable" : {
e94f0d56 25016 "description" : "Flag to enable/disable a rule.",
44660702
DM
25017 "minimum" : 0,
25018 "optional" : 1,
4bd7df8b 25019 "type" : "integer",
013dc89f 25020 "typetext" : "<integer> (0 - N)"
44660702 25021 },
7aacca6f 25022 "iface" : {
44660702 25023 "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 25024 "format" : "pve-iface",
56122987 25025 "maxLength" : 20,
7aacca6f 25026 "minLength" : 2,
7aacca6f 25027 "optional" : 1,
013dc89f
DM
25028 "type" : "string",
25029 "typetext" : "<string>"
56122987 25030 },
44660702 25031 "macro" : {
e94f0d56 25032 "description" : "Use predefined standard macro.",
44660702 25033 "maxLength" : 128,
7aacca6f 25034 "optional" : 1,
013dc89f
DM
25035 "type" : "string",
25036 "typetext" : "<string>"
56122987 25037 },
44660702
DM
25038 "node" : {
25039 "description" : "The cluster node name.",
25040 "format" : "pve-node",
013dc89f
DM
25041 "type" : "string",
25042 "typetext" : "<string>"
44660702
DM
25043 },
25044 "pos" : {
25045 "description" : "Update rule at position <pos>.",
25046 "minimum" : 0,
25047 "optional" : 1,
4bd7df8b 25048 "type" : "integer",
013dc89f 25049 "typetext" : "<integer> (0 - N)"
44660702
DM
25050 },
25051 "proto" : {
25052 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
25053 "format" : "pve-fw-protocol-spec",
56122987 25054 "optional" : 1,
013dc89f
DM
25055 "type" : "string",
25056 "typetext" : "<string>"
56122987 25057 },
7aacca6f 25058 "source" : {
7aacca6f 25059 "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
25060 "format" : "pve-fw-addr-spec",
25061 "optional" : 1,
013dc89f
DM
25062 "type" : "string",
25063 "typetext" : "<string>"
7aacca6f 25064 },
44660702
DM
25065 "sport" : {
25066 "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.",
25067 "format" : "pve-fw-sport-spec",
7aacca6f 25068 "optional" : 1,
013dc89f
DM
25069 "type" : "string",
25070 "typetext" : "<string>"
44660702
DM
25071 },
25072 "type" : {
e94f0d56 25073 "description" : "Rule type.",
44660702
DM
25074 "enum" : [
25075 "in",
25076 "out",
25077 "group"
25078 ],
25079 "optional" : 0,
25080 "type" : "string"
56122987 25081 }
44660702 25082 }
7aacca6f 25083 },
56122987
DM
25084 "permissions" : {
25085 "check" : [
25086 "perm",
25087 "/nodes/{node}",
25088 [
25089 "Sys.Modify"
25090 ]
25091 ]
25092 },
44660702
DM
25093 "protected" : 1,
25094 "proxyto" : "node",
25095 "returns" : {
25096 "type" : "null"
25097 }
56122987
DM
25098 }
25099 },
44660702 25100 "leaf" : 0,
7aacca6f 25101 "path" : "/nodes/{node}/firewall/rules",
44660702 25102 "text" : "rules"
56122987
DM
25103 },
25104 {
56122987 25105 "info" : {
44660702
DM
25106 "GET" : {
25107 "description" : "Get host firewall options.",
25108 "method" : "GET",
25109 "name" : "get_options",
56122987 25110 "parameters" : {
7aacca6f 25111 "additionalProperties" : 0,
56122987 25112 "properties" : {
44660702
DM
25113 "node" : {
25114 "description" : "The cluster node name.",
25115 "format" : "pve-node",
013dc89f
DM
25116 "type" : "string",
25117 "typetext" : "<string>"
44660702
DM
25118 }
25119 }
25120 },
25121 "permissions" : {
25122 "check" : [
25123 "perm",
25124 "/nodes/{node}",
25125 [
25126 "Sys.Audit"
25127 ]
25128 ]
25129 },
25130 "proxyto" : "node",
25131 "returns" : {
25132 "properties" : {
25133 "enable" : {
25134 "description" : "Enable host firewall rules.",
7aacca6f 25135 "optional" : 1,
44660702 25136 "type" : "boolean"
7aacca6f 25137 },
44660702
DM
25138 "log_level_in" : {
25139 "description" : "Log level for incoming traffic.",
56122987
DM
25140 "enum" : [
25141 "emerg",
25142 "alert",
25143 "crit",
25144 "err",
25145 "warning",
25146 "notice",
25147 "info",
25148 "debug",
25149 "nolog"
25150 ],
56122987 25151 "optional" : 1,
44660702
DM
25152 "type" : "string"
25153 },
25154 "log_level_out" : {
25155 "description" : "Log level for outgoing traffic.",
56122987
DM
25156 "enum" : [
25157 "emerg",
25158 "alert",
25159 "crit",
25160 "err",
25161 "warning",
25162 "notice",
25163 "info",
25164 "debug",
25165 "nolog"
25166 ],
44660702
DM
25167 "optional" : 1,
25168 "type" : "string"
25169 },
25170 "ndp" : {
25171 "description" : "Enable NDP.",
25172 "optional" : 1,
25173 "type" : "boolean"
25174 },
25175 "nf_conntrack_max" : {
25176 "description" : "Maximum number of tracked connections.",
25177 "minimum" : 32768,
25178 "optional" : 1,
25179 "type" : "integer"
25180 },
25181 "nf_conntrack_tcp_timeout_established" : {
25182 "description" : "Conntrack established timeout.",
25183 "minimum" : 7875,
25184 "optional" : 1,
25185 "type" : "integer"
25186 },
25187 "nosmurfs" : {
25188 "description" : "Enable SMURFS filter.",
25189 "optional" : 1,
25190 "type" : "boolean"
56122987 25191 },
7aacca6f 25192 "smurf_log_level" : {
44660702 25193 "description" : "Log level for SMURFS filter.",
56122987
DM
25194 "enum" : [
25195 "emerg",
25196 "alert",
25197 "crit",
25198 "err",
25199 "warning",
25200 "notice",
25201 "info",
25202 "debug",
25203 "nolog"
7aacca6f 25204 ],
7aacca6f
DM
25205 "optional" : 1,
25206 "type" : "string"
56122987 25207 },
44660702
DM
25208 "tcp_flags_log_level" : {
25209 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
25210 "enum" : [
25211 "emerg",
25212 "alert",
25213 "crit",
25214 "err",
25215 "warning",
25216 "notice",
25217 "info",
25218 "debug",
25219 "nolog"
25220 ],
44660702
DM
25221 "optional" : 1,
25222 "type" : "string"
7aacca6f 25223 },
44660702
DM
25224 "tcpflags" : {
25225 "description" : "Filter illegal combinations of TCP flags.",
56122987 25226 "optional" : 1,
44660702 25227 "type" : "boolean"
56122987 25228 }
44660702
DM
25229 },
25230 "type" : "object"
7aacca6f 25231 }
56122987 25232 },
44660702
DM
25233 "PUT" : {
25234 "description" : "Set Firewall options.",
25235 "method" : "PUT",
25236 "name" : "set_options",
7aacca6f 25237 "parameters" : {
44660702 25238 "additionalProperties" : 0,
7aacca6f 25239 "properties" : {
44660702
DM
25240 "delete" : {
25241 "description" : "A list of settings you want to delete.",
25242 "format" : "pve-configid-list",
7aacca6f 25243 "optional" : 1,
013dc89f
DM
25244 "type" : "string",
25245 "typetext" : "<string>"
56122987 25246 },
44660702
DM
25247 "digest" : {
25248 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25249 "maxLength" : 40,
25250 "optional" : 1,
013dc89f
DM
25251 "type" : "string",
25252 "typetext" : "<string>"
56122987 25253 },
44660702
DM
25254 "enable" : {
25255 "description" : "Enable host firewall rules.",
7aacca6f 25256 "optional" : 1,
013dc89f
DM
25257 "type" : "boolean",
25258 "typetext" : "<boolean>"
44660702
DM
25259 },
25260 "log_level_in" : {
25261 "description" : "Log level for incoming traffic.",
56122987
DM
25262 "enum" : [
25263 "emerg",
25264 "alert",
25265 "crit",
25266 "err",
25267 "warning",
25268 "notice",
25269 "info",
25270 "debug",
25271 "nolog"
44660702 25272 ],
7aacca6f 25273 "optional" : 1,
44660702 25274 "type" : "string"
7aacca6f 25275 },
44660702
DM
25276 "log_level_out" : {
25277 "description" : "Log level for outgoing traffic.",
56122987
DM
25278 "enum" : [
25279 "emerg",
25280 "alert",
25281 "crit",
25282 "err",
25283 "warning",
25284 "notice",
25285 "info",
25286 "debug",
25287 "nolog"
25288 ],
25289 "optional" : 1,
7aacca6f 25290 "type" : "string"
56122987 25291 },
44660702
DM
25292 "ndp" : {
25293 "description" : "Enable NDP.",
7aacca6f 25294 "optional" : 1,
013dc89f
DM
25295 "type" : "boolean",
25296 "typetext" : "<boolean>"
44660702
DM
25297 },
25298 "nf_conntrack_max" : {
25299 "description" : "Maximum number of tracked connections.",
25300 "minimum" : 32768,
25301 "optional" : 1,
4bd7df8b 25302 "type" : "integer",
013dc89f 25303 "typetext" : "<integer> (32768 - N)"
44660702
DM
25304 },
25305 "nf_conntrack_tcp_timeout_established" : {
25306 "description" : "Conntrack established timeout.",
25307 "minimum" : 7875,
25308 "optional" : 1,
4bd7df8b 25309 "type" : "integer",
013dc89f 25310 "typetext" : "<integer> (7875 - N)"
44660702
DM
25311 },
25312 "node" : {
25313 "description" : "The cluster node name.",
25314 "format" : "pve-node",
013dc89f
DM
25315 "type" : "string",
25316 "typetext" : "<string>"
44660702
DM
25317 },
25318 "nosmurfs" : {
25319 "description" : "Enable SMURFS filter.",
25320 "optional" : 1,
013dc89f
DM
25321 "type" : "boolean",
25322 "typetext" : "<boolean>"
44660702
DM
25323 },
25324 "smurf_log_level" : {
25325 "description" : "Log level for SMURFS filter.",
56122987
DM
25326 "enum" : [
25327 "emerg",
25328 "alert",
25329 "crit",
25330 "err",
25331 "warning",
25332 "notice",
25333 "info",
25334 "debug",
25335 "nolog"
44660702
DM
25336 ],
25337 "optional" : 1,
25338 "type" : "string"
56122987 25339 },
44660702
DM
25340 "tcp_flags_log_level" : {
25341 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
25342 "enum" : [
25343 "emerg",
25344 "alert",
25345 "crit",
25346 "err",
25347 "warning",
25348 "notice",
25349 "info",
25350 "debug",
25351 "nolog"
25352 ],
44660702
DM
25353 "optional" : 1,
25354 "type" : "string"
7aacca6f 25355 },
44660702
DM
25356 "tcpflags" : {
25357 "description" : "Filter illegal combinations of TCP flags.",
56122987 25358 "optional" : 1,
013dc89f
DM
25359 "type" : "boolean",
25360 "typetext" : "<boolean>"
56122987 25361 }
7aacca6f 25362 }
56122987 25363 },
44660702
DM
25364 "permissions" : {
25365 "check" : [
25366 "perm",
25367 "/nodes/{node}",
25368 [
25369 "Sys.Modify"
25370 ]
25371 ]
25372 },
25373 "protected" : 1,
25374 "proxyto" : "node",
25375 "returns" : {
25376 "type" : "null"
25377 }
7aacca6f
DM
25378 }
25379 },
44660702
DM
25380 "leaf" : 1,
25381 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
25382 "text" : "options"
25383 },
25384 {
7aacca6f
DM
25385 "info" : {
25386 "GET" : {
44660702
DM
25387 "description" : "Read firewall log",
25388 "method" : "GET",
7aacca6f 25389 "name" : "log",
56122987 25390 "parameters" : {
44660702 25391 "additionalProperties" : 0,
56122987 25392 "properties" : {
7aacca6f 25393 "limit" : {
44660702 25394 "minimum" : 0,
7aacca6f 25395 "optional" : 1,
4bd7df8b 25396 "type" : "integer",
013dc89f 25397 "typetext" : "<integer> (0 - N)"
7aacca6f 25398 },
56122987 25399 "node" : {
7aacca6f 25400 "description" : "The cluster node name.",
44660702 25401 "format" : "pve-node",
013dc89f
DM
25402 "type" : "string",
25403 "typetext" : "<string>"
44660702
DM
25404 },
25405 "start" : {
25406 "minimum" : 0,
25407 "optional" : 1,
4bd7df8b 25408 "type" : "integer",
013dc89f 25409 "typetext" : "<integer> (0 - N)"
56122987 25410 }
44660702 25411 }
7aacca6f 25412 },
56122987
DM
25413 "permissions" : {
25414 "check" : [
25415 "perm",
25416 "/nodes/{node}",
25417 [
25418 "Sys.Syslog"
25419 ]
25420 ]
25421 },
44660702
DM
25422 "protected" : 1,
25423 "proxyto" : "node",
56122987
DM
25424 "returns" : {
25425 "items" : {
56122987 25426 "properties" : {
56122987 25427 "n" : {
44660702
DM
25428 "description" : "Line number",
25429 "type" : "integer"
7aacca6f
DM
25430 },
25431 "t" : {
44660702
DM
25432 "description" : "Line text",
25433 "type" : "string"
56122987 25434 }
44660702
DM
25435 },
25436 "type" : "object"
56122987
DM
25437 },
25438 "type" : "array"
7aacca6f 25439 }
56122987
DM
25440 }
25441 },
44660702
DM
25442 "leaf" : 1,
25443 "path" : "/nodes/{node}/firewall/log",
7aacca6f 25444 "text" : "log"
56122987
DM
25445 }
25446 ],
25447 "info" : {
25448 "GET" : {
44660702
DM
25449 "description" : "Directory index.",
25450 "method" : "GET",
25451 "name" : "index",
56122987 25452 "parameters" : {
44660702 25453 "additionalProperties" : 0,
56122987
DM
25454 "properties" : {
25455 "node" : {
25456 "description" : "The cluster node name.",
44660702 25457 "format" : "pve-node",
013dc89f
DM
25458 "type" : "string",
25459 "typetext" : "<string>"
56122987 25460 }
44660702 25461 }
56122987 25462 },
7aacca6f
DM
25463 "permissions" : {
25464 "user" : "all"
25465 },
56122987
DM
25466 "returns" : {
25467 "items" : {
25468 "properties" : {},
25469 "type" : "object"
25470 },
56122987
DM
25471 "links" : [
25472 {
44660702
DM
25473 "href" : "{name}",
25474 "rel" : "child"
56122987 25475 }
44660702
DM
25476 ],
25477 "type" : "array"
25478 }
56122987 25479 }
7aacca6f 25480 },
44660702 25481 "leaf" : 0,
7aacca6f 25482 "path" : "/nodes/{node}/firewall",
44660702 25483 "text" : "firewall"
56122987 25484 },
5d9c884c
DM
25485 {
25486 "children" : [
25487 {
25488 "children" : [
25489 {
25490 "info" : {
25491 "GET" : {
25492 "description" : "Get replication job status.",
25493 "method" : "GET",
25494 "name" : "job_status",
25495 "parameters" : {
25496 "additionalProperties" : 0,
25497 "properties" : {
25498 "id" : {
25499 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25500 "format" : "pve-replication-job-id",
25501 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25502 "type" : "string"
25503 },
25504 "node" : {
25505 "description" : "The cluster node name.",
25506 "format" : "pve-node",
25507 "type" : "string",
25508 "typetext" : "<string>"
25509 }
25510 }
25511 },
25512 "permissions" : {
25513 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25514 "user" : "all"
25515 },
25516 "protected" : 1,
25517 "proxyto" : "node",
25518 "returns" : {
25519 "properties" : {},
25520 "type" : "object"
25521 }
25522 }
25523 },
25524 "leaf" : 1,
25525 "path" : "/nodes/{node}/replication/{id}/status",
25526 "text" : "status"
25527 },
25528 {
25529 "info" : {
25530 "GET" : {
25531 "description" : "Read replication job log.",
25532 "method" : "GET",
25533 "name" : "read_job_log",
25534 "parameters" : {
25535 "additionalProperties" : 0,
25536 "properties" : {
25537 "id" : {
25538 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25539 "format" : "pve-replication-job-id",
25540 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25541 "type" : "string"
25542 },
25543 "limit" : {
25544 "minimum" : 0,
25545 "optional" : 1,
25546 "type" : "integer",
25547 "typetext" : "<integer> (0 - N)"
25548 },
25549 "node" : {
25550 "description" : "The cluster node name.",
25551 "format" : "pve-node",
25552 "type" : "string",
25553 "typetext" : "<string>"
25554 },
25555 "start" : {
25556 "minimum" : 0,
25557 "optional" : 1,
25558 "type" : "integer",
25559 "typetext" : "<integer> (0 - N)"
25560 }
25561 }
25562 },
25563 "permissions" : {
25564 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
25565 "user" : "all"
25566 },
25567 "protected" : 1,
25568 "proxyto" : "node",
25569 "returns" : {
25570 "items" : {
25571 "properties" : {
25572 "n" : {
25573 "description" : "Line number",
25574 "type" : "integer"
25575 },
25576 "t" : {
25577 "description" : "Line text",
25578 "type" : "string"
25579 }
25580 },
25581 "type" : "object"
25582 },
25583 "type" : "array"
25584 }
25585 }
25586 },
25587 "leaf" : 1,
25588 "path" : "/nodes/{node}/replication/{id}/log",
25589 "text" : "log"
25590 },
25591 {
25592 "info" : {
25593 "POST" : {
25594 "description" : "Schedule replication job to start as soon as possible.",
25595 "method" : "POST",
25596 "name" : "schedule_now",
25597 "parameters" : {
25598 "additionalProperties" : 0,
25599 "properties" : {
25600 "id" : {
25601 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25602 "format" : "pve-replication-job-id",
25603 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25604 "type" : "string"
25605 },
25606 "node" : {
25607 "description" : "The cluster node name.",
25608 "format" : "pve-node",
25609 "type" : "string",
25610 "typetext" : "<string>"
25611 }
25612 }
25613 },
25614 "permissions" : {
25615 "check" : [
25616 "perm",
25617 "/storage",
25618 [
25619 "Datastore.Allocate"
25620 ]
25621 ]
25622 },
25623 "protected" : 1,
25624 "proxyto" : "node",
25625 "returns" : {
25626 "type" : "string"
25627 }
25628 }
25629 },
25630 "leaf" : 1,
25631 "path" : "/nodes/{node}/replication/{id}/schedule_now",
25632 "text" : "schedule_now"
25633 }
25634 ],
25635 "info" : {
25636 "GET" : {
25637 "description" : "Directory index.",
25638 "method" : "GET",
25639 "name" : "index",
25640 "parameters" : {
25641 "additionalProperties" : 0,
25642 "properties" : {
25643 "id" : {
25644 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25645 "format" : "pve-replication-job-id",
25646 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25647 "type" : "string"
25648 },
25649 "node" : {
25650 "description" : "The cluster node name.",
25651 "format" : "pve-node",
25652 "type" : "string",
25653 "typetext" : "<string>"
25654 }
25655 }
25656 },
25657 "permissions" : {
25658 "user" : "all"
25659 },
25660 "returns" : {
25661 "items" : {
25662 "properties" : {},
25663 "type" : "object"
25664 },
25665 "links" : [
25666 {
25667 "href" : "{name}",
25668 "rel" : "child"
25669 }
25670 ],
25671 "type" : "array"
25672 }
25673 }
25674 },
25675 "leaf" : 0,
25676 "path" : "/nodes/{node}/replication/{id}",
25677 "text" : "{id}"
25678 }
25679 ],
25680 "info" : {
25681 "GET" : {
25682 "description" : "List status of all replication jobs on this node.",
25683 "method" : "GET",
25684 "name" : "status",
25685 "parameters" : {
25686 "additionalProperties" : 0,
25687 "properties" : {
25688 "guest" : {
25689 "description" : "Only list replication jobs for this guest.",
25690 "format" : "pve-vmid",
25691 "minimum" : 1,
25692 "optional" : 1,
25693 "type" : "integer",
25694 "typetext" : "<integer> (1 - N)"
25695 },
25696 "node" : {
25697 "description" : "The cluster node name.",
25698 "format" : "pve-node",
25699 "type" : "string",
25700 "typetext" : "<string>"
25701 }
25702 }
25703 },
25704 "permissions" : {
25705 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25706 "user" : "all"
25707 },
25708 "protected" : 1,
25709 "proxyto" : "node",
25710 "returns" : {
25711 "items" : {
25712 "properties" : {
25713 "id" : {
25714 "type" : "string"
25715 }
25716 },
25717 "type" : "object"
25718 },
25719 "links" : [
25720 {
25721 "href" : "{id}",
25722 "rel" : "child"
25723 }
25724 ],
25725 "type" : "array"
25726 }
25727 }
25728 },
25729 "leaf" : 0,
25730 "path" : "/nodes/{node}/replication",
25731 "text" : "replication"
25732 },
a9a8e3d1
DM
25733 {
25734 "children" : [
25735 {
25736 "children" : [
25737 {
25738 "info" : {
25739 "DELETE" : {
25740 "description" : "Revoke existing certificate from CA.",
25741 "method" : "DELETE",
25742 "name" : "revoke_certificate",
25743 "parameters" : {
25744 "additionalProperties" : 0,
25745 "properties" : {
25746 "node" : {
25747 "description" : "The cluster node name.",
25748 "format" : "pve-node",
25749 "type" : "string",
25750 "typetext" : "<string>"
25751 }
25752 }
25753 },
25754 "protected" : 1,
25755 "proxyto" : "node",
25756 "returns" : {
25757 "type" : "string"
25758 }
25759 },
25760 "POST" : {
25761 "description" : "Order a new certificate from ACME-compatible CA.",
25762 "method" : "POST",
25763 "name" : "new_certificate",
25764 "parameters" : {
25765 "additionalProperties" : 0,
25766 "properties" : {
25767 "force" : {
25768 "default" : 0,
25769 "description" : "Overwrite existing custom certificate.",
25770 "optional" : 1,
25771 "type" : "boolean",
25772 "typetext" : "<boolean>"
25773 },
25774 "node" : {
25775 "description" : "The cluster node name.",
25776 "format" : "pve-node",
25777 "type" : "string",
25778 "typetext" : "<string>"
25779 }
25780 }
25781 },
25782 "protected" : 1,
25783 "proxyto" : "node",
25784 "returns" : {
25785 "type" : "string"
25786 }
25787 },
25788 "PUT" : {
25789 "description" : "Renew existing certificate from CA.",
25790 "method" : "PUT",
25791 "name" : "renew_certificate",
25792 "parameters" : {
25793 "additionalProperties" : 0,
25794 "properties" : {
25795 "force" : {
25796 "default" : 0,
25797 "description" : "Force renewal even if expiry is more than 30 days away.",
25798 "optional" : 1,
25799 "type" : "boolean",
25800 "typetext" : "<boolean>"
25801 },
25802 "node" : {
25803 "description" : "The cluster node name.",
25804 "format" : "pve-node",
25805 "type" : "string",
25806 "typetext" : "<string>"
25807 }
25808 }
25809 },
25810 "protected" : 1,
25811 "proxyto" : "node",
25812 "returns" : {
25813 "type" : "string"
25814 }
25815 }
25816 },
25817 "leaf" : 1,
25818 "path" : "/nodes/{node}/certificates/acme/certificate",
25819 "text" : "certificate"
25820 }
25821 ],
25822 "info" : {
25823 "GET" : {
25824 "description" : "ACME index.",
25825 "method" : "GET",
25826 "name" : "index",
25827 "parameters" : {
25828 "additionalProperties" : 0,
25829 "properties" : {
25830 "node" : {
25831 "description" : "The cluster node name.",
25832 "format" : "pve-node",
25833 "type" : "string",
25834 "typetext" : "<string>"
25835 }
25836 }
25837 },
25838 "permissions" : {
25839 "user" : "all"
25840 },
25841 "returns" : {
25842 "items" : {
25843 "properties" : {},
25844 "type" : "object"
25845 },
25846 "links" : [
25847 {
25848 "href" : "{name}",
25849 "rel" : "child"
25850 }
25851 ],
25852 "type" : "array"
25853 }
25854 }
25855 },
25856 "leaf" : 0,
25857 "path" : "/nodes/{node}/certificates/acme",
25858 "text" : "acme"
25859 },
25860 {
25861 "info" : {
25862 "GET" : {
25863 "description" : "Get information about node's certificates.",
25864 "method" : "GET",
25865 "name" : "info",
25866 "parameters" : {
25867 "additionalProperties" : 0,
25868 "properties" : {
25869 "node" : {
25870 "description" : "The cluster node name.",
25871 "format" : "pve-node",
25872 "type" : "string",
25873 "typetext" : "<string>"
25874 }
25875 }
25876 },
25877 "permissions" : {
25878 "user" : "all"
25879 },
25880 "proxyto" : "node",
25881 "returns" : {
25882 "items" : {
25883 "properties" : {
25884 "filename" : {
25885 "optional" : 1,
25886 "type" : "string"
25887 },
25888 "fingerprint" : {
25889 "description" : "Certificate SHA 256 fingerprint.",
25890 "optional" : 1,
25891 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
25892 "type" : "string"
25893 },
25894 "issuer" : {
25895 "description" : "Certificate issuer name.",
25896 "optional" : 1,
25897 "type" : "string"
25898 },
25899 "notafter" : {
25900 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
25901 "optional" : 1,
25902 "type" : "integer"
25903 },
25904 "notbefore" : {
25905 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
25906 "optional" : 1,
25907 "type" : "integer"
25908 },
25909 "pem" : {
25910 "description" : "Certificate in PEM format",
25911 "format" : "pem-certificate",
25912 "optional" : 1,
25913 "type" : "string"
25914 },
25915 "san" : {
25916 "description" : "List of Certificate's SubjectAlternativeName entries.",
25917 "items" : {
25918 "type" : "string"
25919 },
25920 "optional" : 1,
25921 "type" : "array"
25922 },
25923 "subject" : {
25924 "description" : "Certificate subject name.",
25925 "optional" : 1,
25926 "type" : "string"
25927 }
25928 },
25929 "type" : "object"
25930 },
25931 "type" : "array"
25932 }
25933 }
25934 },
25935 "leaf" : 1,
25936 "path" : "/nodes/{node}/certificates/info",
25937 "text" : "info"
25938 },
25939 {
25940 "info" : {
25941 "DELETE" : {
25942 "description" : "DELETE custom certificate chain and key.",
25943 "method" : "DELETE",
25944 "name" : "remove_custom_cert",
25945 "parameters" : {
25946 "additionalProperties" : 0,
25947 "properties" : {
25948 "node" : {
25949 "description" : "The cluster node name.",
25950 "format" : "pve-node",
25951 "type" : "string",
25952 "typetext" : "<string>"
25953 },
25954 "restart" : {
25955 "default" : 0,
25956 "description" : "Restart pveproxy.",
25957 "optional" : 1,
25958 "type" : "boolean",
25959 "typetext" : "<boolean>"
25960 }
25961 }
25962 },
25963 "protected" : 1,
25964 "proxyto" : "node",
25965 "returns" : {
25966 "type" : "null"
25967 }
25968 },
25969 "POST" : {
25970 "description" : "Upload or update custom certificate chain and key.",
25971 "method" : "POST",
25972 "name" : "upload_custom_cert",
25973 "parameters" : {
25974 "additionalProperties" : 0,
25975 "properties" : {
25976 "certificates" : {
25977 "description" : "PEM encoded certificate (chain).",
25978 "format" : "pem-certificate-chain",
25979 "type" : "string",
25980 "typetext" : "<string>"
25981 },
25982 "force" : {
25983 "default" : 0,
25984 "description" : "Overwrite existing custom or ACME certificate files.",
25985 "optional" : 1,
25986 "type" : "boolean",
25987 "typetext" : "<boolean>"
25988 },
25989 "key" : {
25990 "description" : "PEM encoded private key.",
25991 "format" : "pem-string",
25992 "optional" : 1,
25993 "type" : "string",
25994 "typetext" : "<string>"
25995 },
25996 "node" : {
25997 "description" : "The cluster node name.",
25998 "format" : "pve-node",
25999 "type" : "string",
26000 "typetext" : "<string>"
26001 },
26002 "restart" : {
26003 "default" : 0,
26004 "description" : "Restart pveproxy.",
26005 "optional" : 1,
26006 "type" : "boolean",
26007 "typetext" : "<boolean>"
26008 }
26009 }
26010 },
26011 "protected" : 1,
26012 "proxyto" : "node",
26013 "returns" : {
26014 "properties" : {
26015 "filename" : {
26016 "optional" : 1,
26017 "type" : "string"
26018 },
26019 "fingerprint" : {
26020 "description" : "Certificate SHA 256 fingerprint.",
26021 "optional" : 1,
26022 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
26023 "type" : "string"
26024 },
26025 "issuer" : {
26026 "description" : "Certificate issuer name.",
26027 "optional" : 1,
26028 "type" : "string"
26029 },
26030 "notafter" : {
26031 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
26032 "optional" : 1,
26033 "type" : "integer"
26034 },
26035 "notbefore" : {
26036 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
26037 "optional" : 1,
26038 "type" : "integer"
26039 },
26040 "pem" : {
26041 "description" : "Certificate in PEM format",
26042 "format" : "pem-certificate",
26043 "optional" : 1,
26044 "type" : "string"
26045 },
26046 "san" : {
26047 "description" : "List of Certificate's SubjectAlternativeName entries.",
26048 "items" : {
26049 "type" : "string"
26050 },
26051 "optional" : 1,
26052 "type" : "array"
26053 },
26054 "subject" : {
26055 "description" : "Certificate subject name.",
26056 "optional" : 1,
26057 "type" : "string"
26058 }
26059 },
26060 "type" : "object"
26061 }
26062 }
26063 },
26064 "leaf" : 1,
26065 "path" : "/nodes/{node}/certificates/custom",
26066 "text" : "custom"
26067 }
26068 ],
26069 "info" : {
26070 "GET" : {
26071 "description" : "Node index.",
26072 "method" : "GET",
26073 "name" : "index",
26074 "parameters" : {
26075 "additionalProperties" : 0,
26076 "properties" : {
26077 "node" : {
26078 "description" : "The cluster node name.",
26079 "format" : "pve-node",
26080 "type" : "string",
26081 "typetext" : "<string>"
26082 }
26083 }
26084 },
26085 "permissions" : {
26086 "user" : "all"
26087 },
26088 "returns" : {
26089 "items" : {
26090 "properties" : {},
26091 "type" : "object"
26092 },
26093 "links" : [
26094 {
26095 "href" : "{name}",
26096 "rel" : "child"
26097 }
26098 ],
26099 "type" : "array"
26100 }
26101 }
26102 },
26103 "leaf" : 0,
26104 "path" : "/nodes/{node}/certificates",
26105 "text" : "certificates"
26106 },
26107 {
26108 "info" : {
26109 "GET" : {
26110 "description" : "Get node configuration options.",
26111 "method" : "GET",
26112 "name" : "get_config",
26113 "parameters" : {
26114 "additionalProperties" : 0,
26115 "properties" : {
26116 "node" : {
26117 "description" : "The cluster node name.",
26118 "format" : "pve-node",
26119 "type" : "string",
26120 "typetext" : "<string>"
26121 }
26122 }
26123 },
26124 "permissions" : {
26125 "check" : [
26126 "perm",
26127 "/",
26128 [
26129 "Sys.Audit"
26130 ]
26131 ]
26132 },
26133 "proxyto" : "node",
26134 "returns" : {
26135 "properties" : {},
26136 "type" : "object"
26137 }
26138 },
26139 "PUT" : {
26140 "description" : "Set node configuration options.",
26141 "method" : "PUT",
26142 "name" : "set_options",
26143 "parameters" : {
26144 "additionalProperties" : 0,
26145 "properties" : {
26146 "acme" : {
26147 "description" : "Node specific ACME settings.",
26148 "format" : {
26149 "account" : {
26150 "default" : "default",
26151 "description" : "ACME account config file name.",
26152 "format" : "pve-configid",
26153 "format_description" : "name",
26154 "optional" : 1,
26155 "type" : "string"
26156 },
26157 "domains" : {
26158 "description" : "List of domains for this node's ACME certificate",
26159 "format" : "pve-acme-domain-list",
26160 "format_description" : "domain[;domain;...]",
26161 "type" : "string"
26162 }
26163 },
26164 "optional" : 1,
26165 "type" : "string",
26166 "typetext" : "domains=<domain[;domain;...]> [,account=<name>]"
26167 },
26168 "delete" : {
26169 "description" : "A list of settings you want to delete.",
26170 "format" : "pve-configid-list",
26171 "optional" : 1,
26172 "type" : "string",
26173 "typetext" : "<string>"
26174 },
26175 "description" : {
26176 "description" : "Node description/comment.",
26177 "optional" : 1,
26178 "type" : "string",
26179 "typetext" : "<string>"
26180 },
26181 "digest" : {
26182 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26183 "maxLength" : 40,
26184 "optional" : 1,
26185 "type" : "string",
26186 "typetext" : "<string>"
26187 },
26188 "node" : {
26189 "description" : "The cluster node name.",
26190 "format" : "pve-node",
26191 "type" : "string",
26192 "typetext" : "<string>"
26193 }
26194 }
26195 },
26196 "permissions" : {
26197 "check" : [
26198 "perm",
26199 "/",
26200 [
26201 "Sys.Modify"
26202 ]
26203 ]
26204 },
26205 "protected" : 1,
26206 "proxyto" : "node",
26207 "returns" : {
26208 "type" : "null"
26209 }
26210 }
26211 },
26212 "leaf" : 1,
26213 "path" : "/nodes/{node}/config",
26214 "text" : "config"
26215 },
56122987 26216 {
56122987
DM
26217 "info" : {
26218 "GET" : {
44660702
DM
26219 "description" : "API version details",
26220 "method" : "GET",
26221 "name" : "version",
56122987 26222 "parameters" : {
44660702 26223 "additionalProperties" : 0,
56122987
DM
26224 "properties" : {
26225 "node" : {
56122987 26226 "description" : "The cluster node name.",
44660702 26227 "format" : "pve-node",
013dc89f
DM
26228 "type" : "string",
26229 "typetext" : "<string>"
56122987 26230 }
44660702 26231 }
56122987 26232 },
56122987 26233 "permissions" : {
7aacca6f 26234 "user" : "all"
56122987 26235 },
56122987 26236 "proxyto" : "node",
56122987 26237 "returns" : {
56122987 26238 "properties" : {
44660702 26239 "release" : {
56122987
DM
26240 "type" : "string"
26241 },
44660702 26242 "repoid" : {
7aacca6f
DM
26243 "type" : "string"
26244 },
26245 "version" : {
26246 "type" : "string"
26247 }
44660702
DM
26248 },
26249 "type" : "object"
7aacca6f 26250 }
56122987
DM
26251 }
26252 },
56122987 26253 "leaf" : 1,
44660702
DM
26254 "path" : "/nodes/{node}/version",
26255 "text" : "version"
56122987
DM
26256 },
26257 {
56122987
DM
26258 "info" : {
26259 "GET" : {
7aacca6f 26260 "description" : "Read node status",
44660702 26261 "method" : "GET",
7aacca6f 26262 "name" : "status",
56122987 26263 "parameters" : {
44660702 26264 "additionalProperties" : 0,
56122987
DM
26265 "properties" : {
26266 "node" : {
7aacca6f 26267 "description" : "The cluster node name.",
44660702 26268 "format" : "pve-node",
013dc89f
DM
26269 "type" : "string",
26270 "typetext" : "<string>"
56122987 26271 }
44660702 26272 }
56122987 26273 },
56122987
DM
26274 "permissions" : {
26275 "check" : [
26276 "perm",
26277 "/nodes/{node}",
26278 [
26279 "Sys.Audit"
26280 ]
26281 ]
44660702
DM
26282 },
26283 "proxyto" : "node",
26284 "returns" : {
26285 "properties" : {},
26286 "type" : "object"
7aacca6f
DM
26287 }
26288 },
26289 "POST" : {
44660702
DM
26290 "description" : "Reboot or shutdown a node.",
26291 "method" : "POST",
7aacca6f 26292 "name" : "node_cmd",
56122987 26293 "parameters" : {
44660702 26294 "additionalProperties" : 0,
56122987 26295 "properties" : {
7aacca6f
DM
26296 "command" : {
26297 "description" : "Specify the command.",
56122987 26298 "enum" : [
7aacca6f
DM
26299 "reboot",
26300 "shutdown"
56122987
DM
26301 ],
26302 "type" : "string"
44660702
DM
26303 },
26304 "node" : {
26305 "description" : "The cluster node name.",
26306 "format" : "pve-node",
013dc89f
DM
26307 "type" : "string",
26308 "typetext" : "<string>"
56122987 26309 }
44660702 26310 }
7aacca6f 26311 },
7aacca6f
DM
26312 "permissions" : {
26313 "check" : [
26314 "perm",
26315 "/nodes/{node}",
26316 [
26317 "Sys.PowerMgmt"
26318 ]
26319 ]
26320 },
44660702 26321 "protected" : 1,
7aacca6f 26322 "proxyto" : "node",
7aacca6f
DM
26323 "returns" : {
26324 "type" : "null"
56122987
DM
26325 }
26326 }
26327 },
7aacca6f 26328 "leaf" : 1,
44660702
DM
26329 "path" : "/nodes/{node}/status",
26330 "text" : "status"
56122987
DM
26331 },
26332 {
56122987
DM
26333 "info" : {
26334 "GET" : {
44660702
DM
26335 "description" : "Read tap/vm network device interface counters",
26336 "method" : "GET",
26337 "name" : "netstat",
26338 "parameters" : {
26339 "additionalProperties" : 0,
26340 "properties" : {
26341 "node" : {
26342 "description" : "The cluster node name.",
26343 "format" : "pve-node",
013dc89f
DM
26344 "type" : "string",
26345 "typetext" : "<string>"
44660702 26346 }
56122987
DM
26347 }
26348 },
26349 "permissions" : {
26350 "check" : [
26351 "perm",
26352 "/nodes/{node}",
26353 [
7aacca6f 26354 "Sys.Audit"
56122987
DM
26355 ]
26356 ]
26357 },
7aacca6f 26358 "proxyto" : "node",
44660702
DM
26359 "returns" : {
26360 "items" : {
26361 "properties" : {},
26362 "type" : "object"
26363 },
26364 "type" : "array"
26365 }
7aacca6f
DM
26366 }
26367 },
44660702
DM
26368 "leaf" : 1,
26369 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
26370 "text" : "netstat"
26371 },
26372 {
26373 "info" : {
26374 "POST" : {
7aacca6f 26375 "description" : "Execute multiple commands in order.",
7aacca6f 26376 "method" : "POST",
7aacca6f 26377 "name" : "execute",
56122987
DM
26378 "parameters" : {
26379 "additionalProperties" : 0,
26380 "properties" : {
7aacca6f
DM
26381 "commands" : {
26382 "description" : "JSON encoded array of commands.",
013dc89f
DM
26383 "type" : "string",
26384 "typetext" : "<string>"
56122987
DM
26385 },
26386 "node" : {
44660702 26387 "description" : "The cluster node name.",
56122987 26388 "format" : "pve-node",
013dc89f
DM
26389 "type" : "string",
26390 "typetext" : "<string>"
56122987
DM
26391 }
26392 }
44660702
DM
26393 },
26394 "permissions" : {
26395 "check" : [
26396 "perm",
26397 "/nodes/{node}",
26398 [
26399 "Sys.Audit"
26400 ]
26401 ]
26402 },
26403 "protected" : 1,
26404 "proxyto" : "node",
26405 "returns" : {
26406 "properties" : {},
26407 "type" : "array"
56122987
DM
26408 }
26409 }
26410 },
56122987 26411 "leaf" : 1,
44660702
DM
26412 "path" : "/nodes/{node}/execute",
26413 "text" : "execute"
56122987
DM
26414 },
26415 {
26416 "info" : {
7aacca6f 26417 "GET" : {
44660702
DM
26418 "description" : "Read node RRD statistics (returns PNG)",
26419 "method" : "GET",
7aacca6f 26420 "name" : "rrd",
56122987 26421 "parameters" : {
7aacca6f 26422 "additionalProperties" : 0,
56122987 26423 "properties" : {
44660702
DM
26424 "cf" : {
26425 "description" : "The RRD consolidation function",
26426 "enum" : [
26427 "AVERAGE",
26428 "MAX"
26429 ],
26430 "optional" : 1,
26431 "type" : "string"
26432 },
7aacca6f 26433 "ds" : {
7aacca6f 26434 "description" : "The list of datasources you want to display.",
44660702 26435 "format" : "pve-configid-list",
013dc89f
DM
26436 "type" : "string",
26437 "typetext" : "<string>"
44660702
DM
26438 },
26439 "node" : {
26440 "description" : "The cluster node name.",
26441 "format" : "pve-node",
013dc89f
DM
26442 "type" : "string",
26443 "typetext" : "<string>"
7aacca6f
DM
26444 },
26445 "timeframe" : {
26446 "description" : "Specify the time frame you are interested in.",
26447 "enum" : [
26448 "hour",
26449 "day",
26450 "week",
26451 "month",
26452 "year"
26453 ],
26454 "type" : "string"
56122987 26455 }
7aacca6f 26456 }
56122987 26457 },
56122987 26458 "permissions" : {
56122987
DM
26459 "check" : [
26460 "perm",
26461 "/nodes/{node}",
26462 [
7aacca6f 26463 "Sys.Audit"
56122987
DM
26464 ]
26465 ]
26466 },
7aacca6f 26467 "protected" : 1,
56122987 26468 "returns" : {
56122987 26469 "properties" : {
7aacca6f 26470 "filename" : {
56122987
DM
26471 "type" : "string"
26472 }
44660702
DM
26473 },
26474 "type" : "object"
26475 }
56122987
DM
26476 }
26477 },
44660702 26478 "leaf" : 1,
7aacca6f 26479 "path" : "/nodes/{node}/rrd",
44660702 26480 "text" : "rrd"
56122987
DM
26481 },
26482 {
26483 "info" : {
7aacca6f 26484 "GET" : {
44660702
DM
26485 "description" : "Read node RRD statistics",
26486 "method" : "GET",
7aacca6f 26487 "name" : "rrddata",
56122987 26488 "parameters" : {
44660702 26489 "additionalProperties" : 0,
56122987 26490 "properties" : {
7aacca6f 26491 "cf" : {
7aacca6f
DM
26492 "description" : "The RRD consolidation function",
26493 "enum" : [
26494 "AVERAGE",
26495 "MAX"
44660702
DM
26496 ],
26497 "optional" : 1,
26498 "type" : "string"
56122987
DM
26499 },
26500 "node" : {
44660702 26501 "description" : "The cluster node name.",
56122987 26502 "format" : "pve-node",
013dc89f
DM
26503 "type" : "string",
26504 "typetext" : "<string>"
56122987 26505 },
7aacca6f 26506 "timeframe" : {
7aacca6f
DM
26507 "description" : "Specify the time frame you are interested in.",
26508 "enum" : [
26509 "hour",
26510 "day",
26511 "week",
26512 "month",
26513 "year"
44660702
DM
26514 ],
26515 "type" : "string"
56122987 26516 }
56122987
DM
26517 }
26518 },
56122987
DM
26519 "permissions" : {
26520 "check" : [
26521 "perm",
26522 "/nodes/{node}",
26523 [
44660702 26524 "Sys.Audit"
56122987
DM
26525 ]
26526 ]
7aacca6f 26527 },
44660702 26528 "protected" : 1,
56122987 26529 "returns" : {
7aacca6f 26530 "items" : {
44660702 26531 "properties" : {},
7aacca6f
DM
26532 "type" : "object"
26533 },
26534 "type" : "array"
44660702
DM
26535 }
26536 }
26537 },
26538 "leaf" : 1,
26539 "path" : "/nodes/{node}/rrddata",
26540 "text" : "rrddata"
26541 },
26542 {
26543 "info" : {
26544 "GET" : {
26545 "description" : "Read system log",
26546 "method" : "GET",
26547 "name" : "syslog",
56122987 26548 "parameters" : {
44660702 26549 "additionalProperties" : 0,
56122987 26550 "properties" : {
44660702
DM
26551 "limit" : {
26552 "minimum" : 0,
7aacca6f 26553 "optional" : 1,
4bd7df8b 26554 "type" : "integer",
013dc89f 26555 "typetext" : "<integer> (0 - N)"
7aacca6f 26556 },
56122987 26557 "node" : {
7aacca6f 26558 "description" : "The cluster node name.",
44660702 26559 "format" : "pve-node",
013dc89f
DM
26560 "type" : "string",
26561 "typetext" : "<string>"
56122987 26562 },
35a75dd3
DM
26563 "service" : {
26564 "description" : "Service ID",
26565 "maxLength" : 128,
26566 "optional" : 1,
26567 "type" : "string",
26568 "typetext" : "<string>"
26569 },
44660702
DM
26570 "since" : {
26571 "description" : "Display all log since this date-time string.",
26572 "optional" : 1,
26573 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
26574 "type" : "string"
26575 },
26576 "start" : {
7aacca6f
DM
26577 "minimum" : 0,
26578 "optional" : 1,
4bd7df8b 26579 "type" : "integer",
013dc89f 26580 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
26581 },
26582 "until" : {
26583 "description" : "Display all log until this date-time string.",
7aacca6f 26584 "optional" : 1,
44660702 26585 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
26586 "type" : "string"
26587 }
44660702 26588 }
56122987 26589 },
44660702
DM
26590 "permissions" : {
26591 "check" : [
26592 "perm",
26593 "/nodes/{node}",
26594 [
26595 "Sys.Syslog"
26596 ]
26597 ]
26598 },
26599 "protected" : 1,
26600 "proxyto" : "node",
26601 "returns" : {
26602 "items" : {
26603 "properties" : {
26604 "n" : {
26605 "description" : "Line number",
26606 "type" : "integer"
26607 },
26608 "t" : {
26609 "description" : "Line text",
26610 "type" : "string"
26611 }
26612 },
26613 "type" : "object"
26614 },
26615 "type" : "array"
26616 }
56122987
DM
26617 }
26618 },
44660702
DM
26619 "leaf" : 1,
26620 "path" : "/nodes/{node}/syslog",
7aacca6f 26621 "text" : "syslog"
56122987
DM
26622 },
26623 {
56122987
DM
26624 "info" : {
26625 "POST" : {
44660702
DM
26626 "description" : "Creates a VNC Shell proxy.",
26627 "method" : "POST",
26628 "name" : "vncshell",
26629 "parameters" : {
26630 "additionalProperties" : 0,
56122987 26631 "properties" : {
5d9c884c
DM
26632 "height" : {
26633 "description" : "sets the height of the console in pixels.",
26634 "maximum" : 2160,
26635 "minimum" : 16,
26636 "optional" : 1,
26637 "type" : "integer",
26638 "typetext" : "<integer> (16 - 2160)"
26639 },
44660702
DM
26640 "node" : {
26641 "description" : "The cluster node name.",
26642 "format" : "pve-node",
013dc89f
DM
26643 "type" : "string",
26644 "typetext" : "<string>"
7aacca6f 26645 },
44660702
DM
26646 "upgrade" : {
26647 "default" : 0,
26648 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26649 "optional" : 1,
013dc89f
DM
26650 "type" : "boolean",
26651 "typetext" : "<boolean>"
7aacca6f 26652 },
44660702
DM
26653 "websocket" : {
26654 "description" : "use websocket instead of standard vnc.",
26655 "optional" : 1,
013dc89f
DM
26656 "type" : "boolean",
26657 "typetext" : "<boolean>"
5d9c884c
DM
26658 },
26659 "width" : {
26660 "description" : "sets the width of the console in pixels.",
26661 "maximum" : 4096,
26662 "minimum" : 16,
26663 "optional" : 1,
26664 "type" : "integer",
26665 "typetext" : "<integer> (16 - 4096)"
56122987 26666 }
44660702 26667 }
56122987 26668 },
56122987
DM
26669 "permissions" : {
26670 "check" : [
26671 "perm",
7aacca6f 26672 "/nodes/{node}",
56122987 26673 [
7aacca6f 26674 "Sys.Console"
56122987 26675 ]
44660702
DM
26676 ],
26677 "description" : "Restricted to users on realm 'pam'"
56122987 26678 },
44660702
DM
26679 "protected" : 1,
26680 "returns" : {
26681 "additionalProperties" : 0,
56122987 26682 "properties" : {
44660702
DM
26683 "cert" : {
26684 "type" : "string"
7aacca6f 26685 },
44660702
DM
26686 "port" : {
26687 "type" : "integer"
7aacca6f 26688 },
44660702
DM
26689 "ticket" : {
26690 "type" : "string"
26691 },
26692 "upid" : {
26693 "type" : "string"
26694 },
26695 "user" : {
26696 "type" : "string"
56122987 26697 }
44660702
DM
26698 }
26699 }
56122987
DM
26700 }
26701 },
7aacca6f 26702 "leaf" : 1,
44660702
DM
26703 "path" : "/nodes/{node}/vncshell",
26704 "text" : "vncshell"
56122987 26705 },
35a75dd3
DM
26706 {
26707 "info" : {
26708 "POST" : {
26709 "description" : "Creates a VNC Shell proxy.",
26710 "method" : "POST",
26711 "name" : "termproxy",
26712 "parameters" : {
26713 "additionalProperties" : 0,
26714 "properties" : {
26715 "node" : {
26716 "description" : "The cluster node name.",
26717 "format" : "pve-node",
26718 "type" : "string",
26719 "typetext" : "<string>"
26720 },
26721 "upgrade" : {
26722 "default" : 0,
26723 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26724 "optional" : 1,
26725 "type" : "boolean",
26726 "typetext" : "<boolean>"
26727 }
26728 }
26729 },
26730 "permissions" : {
26731 "check" : [
26732 "perm",
26733 "/nodes/{node}",
26734 [
26735 "Sys.Console"
26736 ]
26737 ],
26738 "description" : "Restricted to users on realm 'pam'"
26739 },
26740 "protected" : 1,
26741 "returns" : {
26742 "additionalProperties" : 0,
26743 "properties" : {
26744 "port" : {
26745 "type" : "integer"
26746 },
26747 "ticket" : {
26748 "type" : "string"
26749 },
26750 "upid" : {
26751 "type" : "string"
26752 },
26753 "user" : {
26754 "type" : "string"
26755 }
26756 }
26757 }
26758 }
26759 },
26760 "leaf" : 1,
26761 "path" : "/nodes/{node}/termproxy",
26762 "text" : "termproxy"
26763 },
56122987
DM
26764 {
26765 "info" : {
26766 "GET" : {
7aacca6f 26767 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
26768 "method" : "GET",
26769 "name" : "vncwebsocket",
56122987 26770 "parameters" : {
44660702 26771 "additionalProperties" : 0,
56122987
DM
26772 "properties" : {
26773 "node" : {
26774 "description" : "The cluster node name.",
44660702 26775 "format" : "pve-node",
013dc89f
DM
26776 "type" : "string",
26777 "typetext" : "<string>"
7aacca6f
DM
26778 },
26779 "port" : {
7aacca6f
DM
26780 "description" : "Port number returned by previous vncproxy call.",
26781 "maximum" : 5999,
44660702 26782 "minimum" : 5900,
4bd7df8b 26783 "type" : "integer",
013dc89f 26784 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
26785 },
26786 "vncticket" : {
26787 "description" : "Ticket from previous call to vncproxy.",
26788 "maxLength" : 512,
013dc89f
DM
26789 "type" : "string",
26790 "typetext" : "<string>"
56122987 26791 }
44660702 26792 }
56122987 26793 },
56122987
DM
26794 "permissions" : {
26795 "check" : [
26796 "perm",
26797 "/nodes/{node}",
26798 [
7aacca6f 26799 "Sys.Console"
56122987 26800 ]
44660702
DM
26801 ],
26802 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
26803 },
26804 "returns" : {
26805 "properties" : {
26806 "port" : {
26807 "type" : "string"
26808 }
26809 },
26810 "type" : "object"
7aacca6f 26811 }
56122987
DM
26812 }
26813 },
44660702 26814 "leaf" : 1,
7aacca6f 26815 "path" : "/nodes/{node}/vncwebsocket",
44660702 26816 "text" : "vncwebsocket"
56122987
DM
26817 },
26818 {
26819 "info" : {
26820 "POST" : {
44660702 26821 "description" : "Creates a SPICE shell.",
7aacca6f 26822 "method" : "POST",
44660702 26823 "name" : "spiceshell",
56122987 26824 "parameters" : {
7aacca6f 26825 "additionalProperties" : 0,
56122987 26826 "properties" : {
7aacca6f 26827 "node" : {
44660702 26828 "description" : "The cluster node name.",
56122987 26829 "format" : "pve-node",
013dc89f
DM
26830 "type" : "string",
26831 "typetext" : "<string>"
7aacca6f 26832 },
44660702
DM
26833 "proxy" : {
26834 "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).",
26835 "format" : "address",
26836 "optional" : 1,
013dc89f
DM
26837 "type" : "string",
26838 "typetext" : "<string>"
7aacca6f 26839 },
44660702
DM
26840 "upgrade" : {
26841 "default" : 0,
26842 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26843 "optional" : 1,
013dc89f
DM
26844 "type" : "boolean",
26845 "typetext" : "<boolean>"
56122987 26846 }
7aacca6f 26847 }
56122987 26848 },
56122987
DM
26849 "permissions" : {
26850 "check" : [
26851 "perm",
7aacca6f 26852 "/nodes/{node}",
56122987 26853 [
7aacca6f 26854 "Sys.Console"
56122987 26855 ]
7aacca6f
DM
26856 ],
26857 "description" : "Restricted to users on realm 'pam'"
44660702
DM
26858 },
26859 "protected" : 1,
26860 "proxyto" : "node",
26861 "returns" : {
26862 "additionalProperties" : 1,
26863 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
26864 "properties" : {
26865 "host" : {
26866 "type" : "string"
26867 },
26868 "password" : {
26869 "type" : "string"
26870 },
26871 "proxy" : {
26872 "type" : "string"
26873 },
26874 "tls-port" : {
26875 "type" : "integer"
26876 },
26877 "type" : {
26878 "type" : "string"
26879 }
26880 }
7aacca6f 26881 }
56122987
DM
26882 }
26883 },
56122987 26884 "leaf" : 1,
44660702
DM
26885 "path" : "/nodes/{node}/spiceshell",
26886 "text" : "spiceshell"
56122987
DM
26887 },
26888 {
56122987 26889 "info" : {
7aacca6f 26890 "GET" : {
44660702 26891 "description" : "Read DNS settings.",
7aacca6f 26892 "method" : "GET",
44660702
DM
26893 "name" : "dns",
26894 "parameters" : {
7aacca6f
DM
26895 "additionalProperties" : 0,
26896 "properties" : {
44660702
DM
26897 "node" : {
26898 "description" : "The cluster node name.",
26899 "format" : "pve-node",
013dc89f
DM
26900 "type" : "string",
26901 "typetext" : "<string>"
7aacca6f
DM
26902 }
26903 }
26904 },
7aacca6f
DM
26905 "permissions" : {
26906 "check" : [
26907 "perm",
26908 "/nodes/{node}",
26909 [
26910 "Sys.Audit"
26911 ]
26912 ]
26913 },
44660702
DM
26914 "proxyto" : "node",
26915 "returns" : {
56122987
DM
26916 "additionalProperties" : 0,
26917 "properties" : {
44660702
DM
26918 "dns1" : {
26919 "description" : "First name server IP address.",
26920 "optional" : 1,
26921 "type" : "string"
26922 },
26923 "dns2" : {
26924 "description" : "Second name server IP address.",
26925 "optional" : 1,
26926 "type" : "string"
26927 },
26928 "dns3" : {
26929 "description" : "Third name server IP address.",
26930 "optional" : 1,
26931 "type" : "string"
26932 },
26933 "search" : {
26934 "description" : "Search domain for host-name lookup.",
26935 "optional" : 1,
26936 "type" : "string"
7aacca6f 26937 }
44660702
DM
26938 },
26939 "type" : "object"
26940 }
7aacca6f
DM
26941 },
26942 "PUT" : {
44660702
DM
26943 "description" : "Write DNS settings.",
26944 "method" : "PUT",
7aacca6f
DM
26945 "name" : "update_dns",
26946 "parameters" : {
26947 "additionalProperties" : 0,
26948 "properties" : {
44660702
DM
26949 "dns1" : {
26950 "description" : "First name server IP address.",
26951 "format" : "ip",
26952 "optional" : 1,
013dc89f
DM
26953 "type" : "string",
26954 "typetext" : "<string>"
7aacca6f 26955 },
44660702
DM
26956 "dns2" : {
26957 "description" : "Second name server IP address.",
26958 "format" : "ip",
7aacca6f 26959 "optional" : 1,
013dc89f
DM
26960 "type" : "string",
26961 "typetext" : "<string>"
7aacca6f 26962 },
44660702
DM
26963 "dns3" : {
26964 "description" : "Third name server IP address.",
26965 "format" : "ip",
7aacca6f 26966 "optional" : 1,
013dc89f
DM
26967 "type" : "string",
26968 "typetext" : "<string>"
7aacca6f
DM
26969 },
26970 "node" : {
44660702 26971 "description" : "The cluster node name.",
56122987 26972 "format" : "pve-node",
013dc89f
DM
26973 "type" : "string",
26974 "typetext" : "<string>"
7aacca6f 26975 },
44660702
DM
26976 "search" : {
26977 "description" : "Search domain for host-name lookup.",
013dc89f
DM
26978 "type" : "string",
26979 "typetext" : "<string>"
56122987
DM
26980 }
26981 }
26982 },
26983 "permissions" : {
26984 "check" : [
26985 "perm",
7aacca6f 26986 "/nodes/{node}",
56122987 26987 [
7aacca6f 26988 "Sys.Modify"
56122987
DM
26989 ]
26990 ]
26991 },
44660702 26992 "protected" : 1,
7aacca6f 26993 "proxyto" : "node",
56122987 26994 "returns" : {
7aacca6f
DM
26995 "type" : "null"
26996 }
56122987 26997 }
44660702
DM
26998 },
26999 "leaf" : 1,
27000 "path" : "/nodes/{node}/dns",
27001 "text" : "dns"
56122987
DM
27002 },
27003 {
27004 "info" : {
7aacca6f 27005 "GET" : {
7aacca6f 27006 "description" : "Read server time and time zone settings.",
44660702
DM
27007 "method" : "GET",
27008 "name" : "time",
56122987 27009 "parameters" : {
44660702 27010 "additionalProperties" : 0,
56122987
DM
27011 "properties" : {
27012 "node" : {
44660702 27013 "description" : "The cluster node name.",
56122987 27014 "format" : "pve-node",
013dc89f
DM
27015 "type" : "string",
27016 "typetext" : "<string>"
56122987 27017 }
44660702 27018 }
56122987
DM
27019 },
27020 "permissions" : {
27021 "check" : [
27022 "perm",
7aacca6f 27023 "/nodes/{node}",
56122987 27024 [
7aacca6f 27025 "Sys.Audit"
56122987
DM
27026 ]
27027 ]
44660702
DM
27028 },
27029 "proxyto" : "node",
27030 "returns" : {
27031 "additionalProperties" : 0,
27032 "properties" : {
27033 "localtime" : {
27034 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
27035 "minimum" : 1297163644,
27036 "type" : "integer"
27037 },
27038 "time" : {
27039 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
27040 "minimum" : 1297163644,
27041 "type" : "integer"
27042 },
27043 "timezone" : {
27044 "description" : "Time zone",
27045 "type" : "string"
27046 }
27047 },
27048 "type" : "object"
7aacca6f
DM
27049 }
27050 },
27051 "PUT" : {
7aacca6f 27052 "description" : "Set time zone.",
44660702
DM
27053 "method" : "PUT",
27054 "name" : "set_timezone",
27055 "parameters" : {
27056 "additionalProperties" : 0,
27057 "properties" : {
27058 "node" : {
27059 "description" : "The cluster node name.",
27060 "format" : "pve-node",
013dc89f
DM
27061 "type" : "string",
27062 "typetext" : "<string>"
44660702
DM
27063 },
27064 "timezone" : {
27065 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
27066 "type" : "string",
27067 "typetext" : "<string>"
44660702
DM
27068 }
27069 }
27070 },
7aacca6f
DM
27071 "permissions" : {
27072 "check" : [
27073 "perm",
27074 "/nodes/{node}",
27075 [
27076 "Sys.Modify"
27077 ]
27078 ]
56122987 27079 },
7aacca6f 27080 "protected" : 1,
44660702
DM
27081 "proxyto" : "node",
27082 "returns" : {
27083 "type" : "null"
27084 }
7aacca6f
DM
27085 }
27086 },
7aacca6f 27087 "leaf" : 1,
44660702
DM
27088 "path" : "/nodes/{node}/time",
27089 "text" : "time"
7aacca6f
DM
27090 },
27091 {
27092 "info" : {
44660702
DM
27093 "GET" : {
27094 "description" : "Get list of appliances.",
27095 "method" : "GET",
27096 "name" : "aplinfo",
7aacca6f
DM
27097 "parameters" : {
27098 "additionalProperties" : 0,
27099 "properties" : {
7aacca6f 27100 "node" : {
44660702 27101 "description" : "The cluster node name.",
7aacca6f 27102 "format" : "pve-node",
013dc89f
DM
27103 "type" : "string",
27104 "typetext" : "<string>"
7aacca6f
DM
27105 }
27106 }
56122987 27107 },
7aacca6f 27108 "permissions" : {
44660702 27109 "user" : "all"
56122987 27110 },
44660702 27111 "proxyto" : "node",
7aacca6f
DM
27112 "returns" : {
27113 "items" : {
44660702
DM
27114 "properties" : {},
27115 "type" : "object"
7aacca6f
DM
27116 },
27117 "type" : "array"
44660702
DM
27118 }
27119 },
27120 "POST" : {
27121 "description" : "Download appliance templates.",
27122 "method" : "POST",
27123 "name" : "apl_download",
7aacca6f
DM
27124 "parameters" : {
27125 "additionalProperties" : 0,
27126 "properties" : {
27127 "node" : {
7aacca6f 27128 "description" : "The cluster node name.",
44660702 27129 "format" : "pve-node",
013dc89f
DM
27130 "type" : "string",
27131 "typetext" : "<string>"
44660702
DM
27132 },
27133 "storage" : {
4bd7df8b 27134 "description" : "The storage where the template will be stored",
44660702 27135 "format" : "pve-storage-id",
013dc89f
DM
27136 "type" : "string",
27137 "typetext" : "<string>"
44660702
DM
27138 },
27139 "template" : {
27140 "description" : "The template wich will downloaded",
27141 "maxLength" : 255,
013dc89f
DM
27142 "type" : "string",
27143 "typetext" : "<string>"
7aacca6f
DM
27144 }
27145 }
56122987 27146 },
7aacca6f 27147 "permissions" : {
44660702
DM
27148 "check" : [
27149 "perm",
27150 "/storage/{storage}",
27151 [
27152 "Datastore.AllocateTemplate"
27153 ]
27154 ]
27155 },
27156 "protected" : 1,
27157 "proxyto" : "node",
27158 "returns" : {
27159 "type" : "string"
7aacca6f
DM
27160 }
27161 }
27162 },
7aacca6f 27163 "leaf" : 1,
44660702
DM
27164 "path" : "/nodes/{node}/aplinfo",
27165 "text" : "aplinfo"
7aacca6f
DM
27166 },
27167 {
27168 "info" : {
27169 "GET" : {
44660702
DM
27170 "description" : "Gather various systems information about a node",
27171 "method" : "GET",
27172 "name" : "report",
7aacca6f 27173 "parameters" : {
44660702 27174 "additionalProperties" : 0,
7aacca6f
DM
27175 "properties" : {
27176 "node" : {
7aacca6f 27177 "description" : "The cluster node name.",
44660702 27178 "format" : "pve-node",
013dc89f
DM
27179 "type" : "string",
27180 "typetext" : "<string>"
7aacca6f 27181 }
44660702 27182 }
56122987 27183 },
7aacca6f
DM
27184 "permissions" : {
27185 "check" : [
27186 "perm",
27187 "/nodes/{node}",
27188 [
27189 "Sys.Audit"
27190 ]
27191 ]
56122987 27192 },
44660702 27193 "protected" : 1,
7aacca6f
DM
27194 "proxyto" : "node",
27195 "returns" : {
56122987 27196 "type" : "string"
7aacca6f
DM
27197 }
27198 }
27199 },
7aacca6f 27200 "leaf" : 1,
44660702
DM
27201 "path" : "/nodes/{node}/report",
27202 "text" : "report"
7aacca6f
DM
27203 },
27204 {
7aacca6f
DM
27205 "info" : {
27206 "POST" : {
44660702 27207 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 27208 "method" : "POST",
44660702 27209 "name" : "startall",
7aacca6f 27210 "parameters" : {
44660702 27211 "additionalProperties" : 0,
7aacca6f
DM
27212 "properties" : {
27213 "force" : {
44660702 27214 "description" : "force if onboot=0.",
7aacca6f 27215 "optional" : 1,
013dc89f
DM
27216 "type" : "boolean",
27217 "typetext" : "<boolean>"
7aacca6f
DM
27218 },
27219 "node" : {
7aacca6f 27220 "description" : "The cluster node name.",
44660702 27221 "format" : "pve-node",
013dc89f
DM
27222 "type" : "string",
27223 "typetext" : "<string>"
52e44c50
FG
27224 },
27225 "vms" : {
27226 "description" : "Only consider Guests with these IDs.",
27227 "format" : "pve-vmid-list",
27228 "optional" : 1,
27229 "type" : "string",
27230 "typetext" : "<string>"
7aacca6f 27231 }
44660702 27232 }
56122987 27233 },
7aacca6f
DM
27234 "permissions" : {
27235 "check" : [
27236 "perm",
27237 "/",
27238 [
27239 "VM.PowerMgmt"
27240 ]
27241 ]
44660702
DM
27242 },
27243 "protected" : 1,
27244 "proxyto" : "node",
27245 "returns" : {
27246 "type" : "string"
7aacca6f
DM
27247 }
27248 }
27249 },
44660702 27250 "leaf" : 1,
7aacca6f 27251 "path" : "/nodes/{node}/startall",
44660702 27252 "text" : "startall"
7aacca6f
DM
27253 },
27254 {
7aacca6f
DM
27255 "info" : {
27256 "POST" : {
27257 "description" : "Stop all VMs and Containers.",
44660702
DM
27258 "method" : "POST",
27259 "name" : "stopall",
7aacca6f 27260 "parameters" : {
44660702 27261 "additionalProperties" : 0,
7aacca6f
DM
27262 "properties" : {
27263 "node" : {
44660702 27264 "description" : "The cluster node name.",
7aacca6f 27265 "format" : "pve-node",
013dc89f
DM
27266 "type" : "string",
27267 "typetext" : "<string>"
52e44c50
FG
27268 },
27269 "vms" : {
27270 "description" : "Only consider Guests with these IDs.",
27271 "format" : "pve-vmid-list",
27272 "optional" : 1,
27273 "type" : "string",
27274 "typetext" : "<string>"
7aacca6f 27275 }
44660702 27276 }
56122987 27277 },
7aacca6f
DM
27278 "permissions" : {
27279 "check" : [
27280 "perm",
27281 "/",
27282 [
44660702 27283 "VM.PowerMgmt"
7aacca6f
DM
27284 ]
27285 ]
56122987 27286 },
44660702 27287 "protected" : 1,
7aacca6f 27288 "proxyto" : "node",
44660702
DM
27289 "returns" : {
27290 "type" : "string"
27291 }
27292 }
56122987 27293 },
44660702
DM
27294 "leaf" : 1,
27295 "path" : "/nodes/{node}/stopall",
27296 "text" : "stopall"
27297 },
27298 {
27299 "info" : {
27300 "POST" : {
27301 "description" : "Migrate all VMs and Containers.",
27302 "method" : "POST",
27303 "name" : "migrateall",
27304 "parameters" : {
27305 "additionalProperties" : 0,
27306 "properties" : {
27307 "maxworkers" : {
27308 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
27309 "minimum" : 1,
27310 "optional" : 1,
4bd7df8b 27311 "type" : "integer",
013dc89f 27312 "typetext" : "<integer> (1 - N)"
44660702
DM
27313 },
27314 "node" : {
27315 "description" : "The cluster node name.",
27316 "format" : "pve-node",
013dc89f
DM
27317 "type" : "string",
27318 "typetext" : "<string>"
44660702
DM
27319 },
27320 "target" : {
27321 "description" : "Target node.",
27322 "format" : "pve-node",
013dc89f
DM
27323 "type" : "string",
27324 "typetext" : "<string>"
52e44c50
FG
27325 },
27326 "vms" : {
27327 "description" : "Only consider Guests with these IDs.",
27328 "format" : "pve-vmid-list",
27329 "optional" : 1,
27330 "type" : "string",
27331 "typetext" : "<string>"
44660702
DM
27332 }
27333 }
27334 },
27335 "permissions" : {
27336 "check" : [
27337 "perm",
27338 "/",
27339 [
27340 "VM.Migrate"
27341 ]
27342 ]
27343 },
27344 "protected" : 1,
27345 "proxyto" : "node",
27346 "returns" : {
27347 "type" : "string"
27348 }
27349 }
56122987 27350 },
44660702
DM
27351 "leaf" : 1,
27352 "path" : "/nodes/{node}/migrateall",
27353 "text" : "migrateall"
27354 }
27355 ],
27356 "info" : {
27357 "GET" : {
27358 "description" : "Node index.",
27359 "method" : "GET",
27360 "name" : "index",
27361 "parameters" : {
27362 "additionalProperties" : 0,
27363 "properties" : {
27364 "node" : {
27365 "description" : "The cluster node name.",
27366 "format" : "pve-node",
013dc89f
DM
27367 "type" : "string",
27368 "typetext" : "<string>"
44660702
DM
27369 }
27370 }
56122987 27371 },
44660702
DM
27372 "permissions" : {
27373 "user" : "all"
56122987 27374 },
44660702
DM
27375 "returns" : {
27376 "items" : {
27377 "properties" : {},
27378 "type" : "object"
27379 },
27380 "links" : [
27381 {
27382 "href" : "{name}",
27383 "rel" : "child"
27384 }
56122987 27385 ],
44660702 27386 "type" : "array"
7aacca6f
DM
27387 }
27388 }
27389 },
44660702
DM
27390 "leaf" : 0,
27391 "path" : "/nodes/{node}",
27392 "text" : "{node}"
27393 }
27394 ],
27395 "info" : {
7aacca6f 27396 "GET" : {
44660702 27397 "description" : "Cluster node index.",
7aacca6f 27398 "method" : "GET",
44660702 27399 "name" : "index",
7aacca6f 27400 "parameters" : {
7aacca6f
DM
27401 "additionalProperties" : 0
27402 },
27403 "permissions" : {
7aacca6f
DM
27404 "user" : "all"
27405 },
44660702
DM
27406 "returns" : {
27407 "items" : {
27408 "properties" : {},
27409 "type" : "object"
27410 },
27411 "links" : [
27412 {
27413 "href" : "{node}",
27414 "rel" : "child"
27415 }
27416 ],
27417 "type" : "array"
27418 }
7aacca6f
DM
27419 }
27420 },
44660702
DM
27421 "leaf" : 0,
27422 "path" : "/nodes",
27423 "text" : "nodes"
27424 },
27425 {
7aacca6f
DM
27426 "children" : [
27427 {
7aacca6f 27428 "info" : {
44660702
DM
27429 "DELETE" : {
27430 "description" : "Delete storage configuration.",
27431 "method" : "DELETE",
27432 "name" : "delete",
7aacca6f
DM
27433 "parameters" : {
27434 "additionalProperties" : 0,
27435 "properties" : {
27436 "storage" : {
7aacca6f 27437 "description" : "The storage identifier.",
44660702 27438 "format" : "pve-storage-id",
013dc89f
DM
27439 "type" : "string",
27440 "typetext" : "<string>"
7aacca6f
DM
27441 }
27442 }
56122987 27443 },
7aacca6f
DM
27444 "permissions" : {
27445 "check" : [
27446 "perm",
27447 "/storage",
27448 [
27449 "Datastore.Allocate"
27450 ]
27451 ]
56122987 27452 },
44660702
DM
27453 "protected" : 1,
27454 "returns" : {
27455 "type" : "null"
27456 }
27457 },
27458 "GET" : {
27459 "description" : "Read storage configuration.",
27460 "method" : "GET",
27461 "name" : "read",
7aacca6f
DM
27462 "parameters" : {
27463 "additionalProperties" : 0,
27464 "properties" : {
27465 "storage" : {
44660702 27466 "description" : "The storage identifier.",
7aacca6f 27467 "format" : "pve-storage-id",
013dc89f
DM
27468 "type" : "string",
27469 "typetext" : "<string>"
7aacca6f
DM
27470 }
27471 }
27472 },
44660702
DM
27473 "permissions" : {
27474 "check" : [
27475 "perm",
27476 "/storage/{storage}",
27477 [
27478 "Datastore.Allocate"
27479 ]
27480 ]
27481 },
27482 "returns" : {}
7aacca6f
DM
27483 },
27484 "PUT" : {
44660702
DM
27485 "description" : "Update storage configuration.",
27486 "method" : "PUT",
27487 "name" : "update",
27488 "parameters" : {
27489 "additionalProperties" : 0,
27490 "properties" : {
27491 "blocksize" : {
27492 "description" : "block size",
7aacca6f 27493 "optional" : 1,
013dc89f
DM
27494 "type" : "string",
27495 "typetext" : "<string>"
7aacca6f 27496 },
27a7acb2
DM
27497 "bwlimit" : {
27498 "description" : "Set bandwidth/io limits various operations.",
27499 "format" : {
27500 "clone" : {
27501 "description" : "bandwidth limit in MiB/s for cloning disks",
27502 "format_description" : "LIMIT",
27503 "minimum" : "0",
27504 "optional" : 1,
27505 "type" : "number"
27506 },
27507 "default" : {
27508 "description" : "default bandwidth limit in MiB/s",
27509 "format_description" : "LIMIT",
27510 "minimum" : "0",
27511 "optional" : 1,
27512 "type" : "number"
27513 },
27514 "migration" : {
27515 "description" : "bandwidth limit in MiB/s for migrating guests",
27516 "format_description" : "LIMIT",
27517 "minimum" : "0",
27518 "optional" : 1,
27519 "type" : "number"
27520 },
27521 "move" : {
27522 "description" : "bandwidth limit in MiB/s for moving disks",
27523 "format_description" : "LIMIT",
27524 "minimum" : "0",
27525 "optional" : 1,
27526 "type" : "number"
27527 },
27528 "restore" : {
27529 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
27530 "format_description" : "LIMIT",
27531 "minimum" : "0",
27532 "optional" : 1,
27533 "type" : "number"
27534 }
27535 },
27536 "optional" : 1,
27537 "type" : "string",
27538 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
27539 },
44660702
DM
27540 "comstar_hg" : {
27541 "description" : "host group for comstar views",
27542 "optional" : 1,
013dc89f
DM
27543 "type" : "string",
27544 "typetext" : "<string>"
7aacca6f 27545 },
44660702
DM
27546 "comstar_tg" : {
27547 "description" : "target group for comstar views",
7aacca6f 27548 "optional" : 1,
013dc89f
DM
27549 "type" : "string",
27550 "typetext" : "<string>"
7aacca6f 27551 },
44660702
DM
27552 "content" : {
27553 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
27554 "format" : "pve-storage-content-list",
7aacca6f 27555 "optional" : 1,
013dc89f
DM
27556 "type" : "string",
27557 "typetext" : "<string>"
7aacca6f 27558 },
44660702
DM
27559 "delete" : {
27560 "description" : "A list of settings you want to delete.",
27561 "format" : "pve-configid-list",
27562 "maxLength" : 4096,
7aacca6f 27563 "optional" : 1,
013dc89f
DM
27564 "type" : "string",
27565 "typetext" : "<string>"
7aacca6f
DM
27566 },
27567 "digest" : {
44660702 27568 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 27569 "maxLength" : 40,
7aacca6f 27570 "optional" : 1,
013dc89f
DM
27571 "type" : "string",
27572 "typetext" : "<string>"
7aacca6f 27573 },
44660702
DM
27574 "disable" : {
27575 "description" : "Flag to disable the storage.",
27576 "optional" : 1,
013dc89f
DM
27577 "type" : "boolean",
27578 "typetext" : "<boolean>"
7aacca6f 27579 },
27a7acb2
DM
27580 "domain" : {
27581 "description" : "CIFS domain.",
27582 "maxLength" : 256,
27583 "optional" : 1,
27584 "type" : "string",
27585 "typetext" : "<string>"
27586 },
7aacca6f
DM
27587 "format" : {
27588 "description" : "Default image format.",
44660702 27589 "format" : "pve-storage-format",
7aacca6f 27590 "optional" : 1,
013dc89f
DM
27591 "type" : "string",
27592 "typetext" : "<string>"
7aacca6f 27593 },
2c0dde61
DM
27594 "is_mountpoint" : {
27595 "default" : "no",
2489d6df 27596 "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 27597 "optional" : 1,
2489d6df
WB
27598 "type" : "string",
27599 "typetext" : "<string>"
2c0dde61 27600 },
44660702
DM
27601 "krbd" : {
27602 "description" : "Access rbd through krbd kernel module.",
7aacca6f 27603 "optional" : 1,
013dc89f
DM
27604 "type" : "boolean",
27605 "typetext" : "<boolean>"
7aacca6f 27606 },
44660702
DM
27607 "maxfiles" : {
27608 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
27609 "minimum" : 0,
27610 "optional" : 1,
4bd7df8b 27611 "type" : "integer",
013dc89f 27612 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
27613 },
27614 "mkdir" : {
27615 "default" : "yes",
27616 "description" : "Create the directory if it doesn't exist.",
27617 "optional" : 1,
013dc89f
DM
27618 "type" : "boolean",
27619 "typetext" : "<boolean>"
7aacca6f 27620 },
2489d6df
WB
27621 "monhost" : {
27622 "description" : "IP addresses of monitors (for external clusters).",
27623 "format" : "pve-storage-portal-dns-list",
27624 "optional" : 1,
27625 "type" : "string",
27626 "typetext" : "<string>"
27627 },
7aacca6f 27628 "nodes" : {
44660702 27629 "description" : "List of cluster node names.",
7aacca6f
DM
27630 "format" : "pve-node-list",
27631 "optional" : 1,
013dc89f
DM
27632 "type" : "string",
27633 "typetext" : "<string>"
7aacca6f 27634 },
44660702
DM
27635 "nowritecache" : {
27636 "description" : "disable write caching on the target",
7aacca6f 27637 "optional" : 1,
013dc89f
DM
27638 "type" : "boolean",
27639 "typetext" : "<boolean>"
7aacca6f
DM
27640 },
27641 "options" : {
7aacca6f 27642 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
27643 "format" : "pve-storage-options",
27644 "optional" : 1,
013dc89f
DM
27645 "type" : "string",
27646 "typetext" : "<string>"
44660702 27647 },
27a7acb2
DM
27648 "password" : {
27649 "description" : "Password for CIFS share.",
27650 "maxLength" : 256,
27651 "optional" : 1,
27652 "type" : "string",
27653 "typetext" : "<string>"
27654 },
44660702
DM
27655 "pool" : {
27656 "description" : "Pool.",
27657 "optional" : 1,
013dc89f
DM
27658 "type" : "string",
27659 "typetext" : "<string>"
44660702
DM
27660 },
27661 "redundancy" : {
27662 "default" : 2,
27663 "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.",
27664 "maximum" : 16,
27665 "minimum" : 1,
27666 "optional" : 1,
4bd7df8b 27667 "type" : "integer",
013dc89f 27668 "typetext" : "<integer> (1 - 16)"
44660702
DM
27669 },
27670 "saferemove" : {
27671 "description" : "Zero-out data when removing LVs.",
27672 "optional" : 1,
013dc89f
DM
27673 "type" : "boolean",
27674 "typetext" : "<boolean>"
7aacca6f
DM
27675 },
27676 "saferemove_throughput" : {
44660702 27677 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 27678 "optional" : 1,
013dc89f
DM
27679 "type" : "string",
27680 "typetext" : "<string>"
7aacca6f 27681 },
44660702
DM
27682 "server" : {
27683 "description" : "Server IP or DNS name.",
27684 "format" : "pve-storage-server",
7aacca6f 27685 "optional" : 1,
013dc89f
DM
27686 "type" : "string",
27687 "typetext" : "<string>"
7aacca6f 27688 },
44660702
DM
27689 "server2" : {
27690 "description" : "Backup volfile server IP or DNS name.",
27691 "format" : "pve-storage-server",
7aacca6f 27692 "optional" : 1,
44660702 27693 "requires" : "server",
013dc89f
DM
27694 "type" : "string",
27695 "typetext" : "<string>"
44660702
DM
27696 },
27697 "shared" : {
27698 "description" : "Mark storage as shared.",
27699 "optional" : 1,
013dc89f
DM
27700 "type" : "boolean",
27701 "typetext" : "<boolean>"
44660702 27702 },
27a7acb2
DM
27703 "smbversion" : {
27704 "description" : "",
27705 "optional" : 1,
27706 "type" : "string",
27707 "typetext" : "<string>"
27708 },
44660702
DM
27709 "sparse" : {
27710 "description" : "use sparse volumes",
27711 "optional" : 1,
013dc89f
DM
27712 "type" : "boolean",
27713 "typetext" : "<boolean>"
44660702
DM
27714 },
27715 "storage" : {
27716 "description" : "The storage identifier.",
27717 "format" : "pve-storage-id",
013dc89f
DM
27718 "type" : "string",
27719 "typetext" : "<string>"
44660702 27720 },
4bd7df8b
DM
27721 "tagged_only" : {
27722 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
27723 "optional" : 1,
013dc89f
DM
27724 "type" : "boolean",
27725 "typetext" : "<boolean>"
4bd7df8b 27726 },
44660702
DM
27727 "transport" : {
27728 "description" : "Gluster transport: tcp or rdma",
27729 "enum" : [
27730 "tcp",
27731 "rdma",
27732 "unix"
27733 ],
27734 "optional" : 1,
27735 "type" : "string"
7aacca6f
DM
27736 },
27737 "username" : {
27738 "description" : "RBD Id.",
44660702 27739 "optional" : 1,
013dc89f
DM
27740 "type" : "string",
27741 "typetext" : "<string>"
7aacca6f 27742 }
44660702
DM
27743 },
27744 "type" : "object"
27745 },
27746 "permissions" : {
27747 "check" : [
27748 "perm",
27749 "/storage",
27750 [
27751 "Datastore.Allocate"
27752 ]
27753 ]
27754 },
27755 "protected" : 1,
27756 "returns" : {
27757 "type" : "null"
27758 }
27759 }
27760 },
27761 "leaf" : 1,
27762 "path" : "/storage/{storage}",
27763 "text" : "{storage}"
27764 }
27765 ],
27766 "info" : {
27767 "GET" : {
27768 "description" : "Storage index.",
27769 "method" : "GET",
27770 "name" : "index",
27771 "parameters" : {
27772 "additionalProperties" : 0,
27773 "properties" : {
27774 "type" : {
27775 "description" : "Only list storage of specific type",
27776 "enum" : [
27a7acb2 27777 "cifs",
44660702
DM
27778 "dir",
27779 "drbd",
27780 "glusterfs",
27781 "iscsi",
27782 "iscsidirect",
27783 "lvm",
27784 "lvmthin",
27785 "nfs",
27786 "rbd",
27787 "sheepdog",
27788 "zfs",
27789 "zfspool"
27790 ],
27791 "optional" : 1,
27792 "type" : "string"
27793 }
27794 }
27795 },
27796 "permissions" : {
27797 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
27798 "user" : "all"
27799 },
27800 "returns" : {
27801 "items" : {
27802 "properties" : {
27803 "storage" : {
27804 "type" : "string"
7aacca6f 27805 }
56122987 27806 },
44660702
DM
27807 "type" : "object"
27808 },
27809 "links" : [
27810 {
27811 "href" : "{storage}",
27812 "rel" : "child"
27813 }
27814 ],
27815 "type" : "array"
27816 }
27817 },
27818 "POST" : {
27819 "description" : "Create a new storage.",
27820 "method" : "POST",
27821 "name" : "create",
27822 "parameters" : {
27823 "additionalProperties" : 0,
27824 "properties" : {
27825 "authsupported" : {
27826 "description" : "Authsupported.",
27827 "optional" : 1,
013dc89f
DM
27828 "type" : "string",
27829 "typetext" : "<string>"
44660702
DM
27830 },
27831 "base" : {
27832 "description" : "Base volume. This volume is automatically activated.",
27833 "format" : "pve-volume-id",
27834 "optional" : 1,
013dc89f
DM
27835 "type" : "string",
27836 "typetext" : "<string>"
44660702
DM
27837 },
27838 "blocksize" : {
27839 "description" : "block size",
27840 "optional" : 1,
013dc89f
DM
27841 "type" : "string",
27842 "typetext" : "<string>"
44660702 27843 },
27a7acb2
DM
27844 "bwlimit" : {
27845 "description" : "Set bandwidth/io limits various operations.",
27846 "format" : {
27847 "clone" : {
27848 "description" : "bandwidth limit in MiB/s for cloning disks",
27849 "format_description" : "LIMIT",
27850 "minimum" : "0",
27851 "optional" : 1,
27852 "type" : "number"
27853 },
27854 "default" : {
27855 "description" : "default bandwidth limit in MiB/s",
27856 "format_description" : "LIMIT",
27857 "minimum" : "0",
27858 "optional" : 1,
27859 "type" : "number"
27860 },
27861 "migration" : {
27862 "description" : "bandwidth limit in MiB/s for migrating guests",
27863 "format_description" : "LIMIT",
27864 "minimum" : "0",
27865 "optional" : 1,
27866 "type" : "number"
27867 },
27868 "move" : {
27869 "description" : "bandwidth limit in MiB/s for moving disks",
27870 "format_description" : "LIMIT",
27871 "minimum" : "0",
27872 "optional" : 1,
27873 "type" : "number"
27874 },
27875 "restore" : {
27876 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
27877 "format_description" : "LIMIT",
27878 "minimum" : "0",
27879 "optional" : 1,
27880 "type" : "number"
27881 }
27882 },
27883 "optional" : 1,
27884 "type" : "string",
27885 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
27886 },
44660702
DM
27887 "comstar_hg" : {
27888 "description" : "host group for comstar views",
27889 "optional" : 1,
013dc89f
DM
27890 "type" : "string",
27891 "typetext" : "<string>"
44660702
DM
27892 },
27893 "comstar_tg" : {
27894 "description" : "target group for comstar views",
27895 "optional" : 1,
013dc89f
DM
27896 "type" : "string",
27897 "typetext" : "<string>"
44660702
DM
27898 },
27899 "content" : {
27900 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
27901 "format" : "pve-storage-content-list",
27902 "optional" : 1,
013dc89f
DM
27903 "type" : "string",
27904 "typetext" : "<string>"
44660702
DM
27905 },
27906 "disable" : {
27907 "description" : "Flag to disable the storage.",
27908 "optional" : 1,
013dc89f
DM
27909 "type" : "boolean",
27910 "typetext" : "<boolean>"
44660702 27911 },
27a7acb2
DM
27912 "domain" : {
27913 "description" : "CIFS domain.",
27914 "maxLength" : 256,
27915 "optional" : 1,
27916 "type" : "string",
27917 "typetext" : "<string>"
27918 },
44660702
DM
27919 "export" : {
27920 "description" : "NFS export path.",
27921 "format" : "pve-storage-path",
27922 "optional" : 1,
013dc89f
DM
27923 "type" : "string",
27924 "typetext" : "<string>"
44660702
DM
27925 },
27926 "format" : {
27927 "description" : "Default image format.",
27928 "format" : "pve-storage-format",
27929 "optional" : 1,
013dc89f
DM
27930 "type" : "string",
27931 "typetext" : "<string>"
44660702 27932 },
2c0dde61
DM
27933 "is_mountpoint" : {
27934 "default" : "no",
2489d6df 27935 "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 27936 "optional" : 1,
2489d6df
WB
27937 "type" : "string",
27938 "typetext" : "<string>"
2c0dde61 27939 },
44660702
DM
27940 "iscsiprovider" : {
27941 "description" : "iscsi provider",
27942 "optional" : 1,
013dc89f
DM
27943 "type" : "string",
27944 "typetext" : "<string>"
44660702
DM
27945 },
27946 "krbd" : {
27947 "description" : "Access rbd through krbd kernel module.",
27948 "optional" : 1,
013dc89f
DM
27949 "type" : "boolean",
27950 "typetext" : "<boolean>"
56122987 27951 },
44660702
DM
27952 "maxfiles" : {
27953 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
27954 "minimum" : 0,
27955 "optional" : 1,
4bd7df8b 27956 "type" : "integer",
013dc89f 27957 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
27958 },
27959 "mkdir" : {
27960 "default" : "yes",
27961 "description" : "Create the directory if it doesn't exist.",
27962 "optional" : 1,
013dc89f
DM
27963 "type" : "boolean",
27964 "typetext" : "<boolean>"
7aacca6f 27965 },
44660702 27966 "monhost" : {
2489d6df 27967 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 27968 "format" : "pve-storage-portal-dns-list",
44660702 27969 "optional" : 1,
013dc89f
DM
27970 "type" : "string",
27971 "typetext" : "<string>"
7aacca6f 27972 },
44660702
DM
27973 "nodes" : {
27974 "description" : "List of cluster node names.",
27975 "format" : "pve-node-list",
27976 "optional" : 1,
013dc89f
DM
27977 "type" : "string",
27978 "typetext" : "<string>"
7aacca6f 27979 },
44660702
DM
27980 "nowritecache" : {
27981 "description" : "disable write caching on the target",
27982 "optional" : 1,
013dc89f
DM
27983 "type" : "boolean",
27984 "typetext" : "<boolean>"
44660702
DM
27985 },
27986 "options" : {
27987 "description" : "NFS mount options (see 'man nfs')",
27988 "format" : "pve-storage-options",
27989 "optional" : 1,
013dc89f
DM
27990 "type" : "string",
27991 "typetext" : "<string>"
44660702 27992 },
27a7acb2
DM
27993 "password" : {
27994 "description" : "Password for CIFS share.",
27995 "maxLength" : 256,
27996 "optional" : 1,
27997 "type" : "string",
27998 "typetext" : "<string>"
27999 },
44660702
DM
28000 "path" : {
28001 "description" : "File system path.",
28002 "format" : "pve-storage-path",
28003 "optional" : 1,
013dc89f
DM
28004 "type" : "string",
28005 "typetext" : "<string>"
44660702
DM
28006 },
28007 "pool" : {
28008 "description" : "Pool.",
28009 "optional" : 1,
013dc89f
DM
28010 "type" : "string",
28011 "typetext" : "<string>"
44660702
DM
28012 },
28013 "portal" : {
28014 "description" : "iSCSI portal (IP or DNS name with optional port).",
28015 "format" : "pve-storage-portal-dns",
28016 "optional" : 1,
013dc89f
DM
28017 "type" : "string",
28018 "typetext" : "<string>"
44660702
DM
28019 },
28020 "redundancy" : {
28021 "default" : 2,
28022 "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.",
28023 "maximum" : 16,
28024 "minimum" : 1,
28025 "optional" : 1,
4bd7df8b 28026 "type" : "integer",
013dc89f 28027 "typetext" : "<integer> (1 - 16)"
44660702
DM
28028 },
28029 "saferemove" : {
28030 "description" : "Zero-out data when removing LVs.",
28031 "optional" : 1,
013dc89f
DM
28032 "type" : "boolean",
28033 "typetext" : "<boolean>"
44660702
DM
28034 },
28035 "saferemove_throughput" : {
28036 "description" : "Wipe throughput (cstream -t parameter value).",
28037 "optional" : 1,
013dc89f
DM
28038 "type" : "string",
28039 "typetext" : "<string>"
44660702
DM
28040 },
28041 "server" : {
28042 "description" : "Server IP or DNS name.",
28043 "format" : "pve-storage-server",
28044 "optional" : 1,
013dc89f
DM
28045 "type" : "string",
28046 "typetext" : "<string>"
44660702
DM
28047 },
28048 "server2" : {
28049 "description" : "Backup volfile server IP or DNS name.",
28050 "format" : "pve-storage-server",
28051 "optional" : 1,
28052 "requires" : "server",
013dc89f
DM
28053 "type" : "string",
28054 "typetext" : "<string>"
44660702 28055 },
27a7acb2
DM
28056 "share" : {
28057 "description" : "CIFS share.",
28058 "optional" : 1,
28059 "type" : "string",
28060 "typetext" : "<string>"
28061 },
44660702
DM
28062 "shared" : {
28063 "description" : "Mark storage as shared.",
28064 "optional" : 1,
013dc89f
DM
28065 "type" : "boolean",
28066 "typetext" : "<boolean>"
44660702 28067 },
27a7acb2
DM
28068 "smbversion" : {
28069 "description" : "",
28070 "optional" : 1,
28071 "type" : "string",
28072 "typetext" : "<string>"
28073 },
44660702
DM
28074 "sparse" : {
28075 "description" : "use sparse volumes",
28076 "optional" : 1,
013dc89f
DM
28077 "type" : "boolean",
28078 "typetext" : "<boolean>"
44660702
DM
28079 },
28080 "storage" : {
28081 "description" : "The storage identifier.",
28082 "format" : "pve-storage-id",
013dc89f
DM
28083 "type" : "string",
28084 "typetext" : "<string>"
44660702 28085 },
4bd7df8b
DM
28086 "tagged_only" : {
28087 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
28088 "optional" : 1,
013dc89f
DM
28089 "type" : "boolean",
28090 "typetext" : "<boolean>"
4bd7df8b 28091 },
44660702
DM
28092 "target" : {
28093 "description" : "iSCSI target.",
28094 "optional" : 1,
013dc89f
DM
28095 "type" : "string",
28096 "typetext" : "<string>"
44660702
DM
28097 },
28098 "thinpool" : {
28099 "description" : "LVM thin pool LV name.",
28100 "format" : "pve-storage-vgname",
28101 "optional" : 1,
013dc89f
DM
28102 "type" : "string",
28103 "typetext" : "<string>"
44660702
DM
28104 },
28105 "transport" : {
28106 "description" : "Gluster transport: tcp or rdma",
28107 "enum" : [
28108 "tcp",
28109 "rdma",
28110 "unix"
7aacca6f 28111 ],
44660702
DM
28112 "optional" : 1,
28113 "type" : "string"
56122987 28114 },
44660702
DM
28115 "type" : {
28116 "description" : "Storage type.",
28117 "enum" : [
27a7acb2 28118 "cifs",
44660702
DM
28119 "dir",
28120 "drbd",
28121 "glusterfs",
28122 "iscsi",
28123 "iscsidirect",
28124 "lvm",
28125 "lvmthin",
28126 "nfs",
28127 "rbd",
28128 "sheepdog",
28129 "zfs",
28130 "zfspool"
28131 ],
28132 "type" : "string"
56122987 28133 },
44660702
DM
28134 "username" : {
28135 "description" : "RBD Id.",
28136 "optional" : 1,
013dc89f
DM
28137 "type" : "string",
28138 "typetext" : "<string>"
7aacca6f 28139 },
44660702
DM
28140 "vgname" : {
28141 "description" : "Volume group name.",
28142 "format" : "pve-storage-vgname",
28143 "optional" : 1,
013dc89f
DM
28144 "type" : "string",
28145 "typetext" : "<string>"
44660702
DM
28146 },
28147 "volume" : {
28148 "description" : "Glusterfs Volume.",
28149 "optional" : 1,
013dc89f
DM
28150 "type" : "string",
28151 "typetext" : "<string>"
44660702
DM
28152 }
28153 },
28154 "type" : "object"
28155 },
28156 "permissions" : {
28157 "check" : [
28158 "perm",
28159 "/storage",
28160 [
28161 "Datastore.Allocate"
28162 ]
28163 ]
56122987 28164 },
44660702
DM
28165 "protected" : 1,
28166 "returns" : {
28167 "type" : "null"
28168 }
28169 }
28170 },
28171 "leaf" : 0,
28172 "path" : "/storage",
28173 "text" : "storage"
28174 },
28175 {
28176 "children" : [
28177 {
56122987
DM
28178 "children" : [
28179 {
56122987 28180 "info" : {
44660702
DM
28181 "DELETE" : {
28182 "description" : "Delete user.",
28183 "method" : "DELETE",
28184 "name" : "delete_user",
56122987 28185 "parameters" : {
7aacca6f 28186 "additionalProperties" : 0,
56122987 28187 "properties" : {
56122987 28188 "userid" : {
56122987
DM
28189 "description" : "User ID",
28190 "format" : "pve-userid",
44660702 28191 "maxLength" : 64,
013dc89f
DM
28192 "type" : "string",
28193 "typetext" : "<string>"
56122987 28194 }
7aacca6f 28195 }
56122987 28196 },
56122987
DM
28197 "permissions" : {
28198 "check" : [
44660702 28199 "and",
56122987 28200 [
44660702
DM
28201 "userid-param",
28202 "Realm.AllocateUser"
56122987 28203 ],
44660702
DM
28204 [
28205 "userid-group",
28206 [
28207 "User.Modify"
28208 ]
28209 ]
56122987 28210 ]
7aacca6f 28211 },
44660702 28212 "protected" : 1,
56122987
DM
28213 "returns" : {
28214 "type" : "null"
44660702 28215 }
7aacca6f 28216 },
44660702
DM
28217 "GET" : {
28218 "description" : "Get user configuration.",
28219 "method" : "GET",
28220 "name" : "read_user",
56122987
DM
28221 "parameters" : {
28222 "additionalProperties" : 0,
28223 "properties" : {
28224 "userid" : {
44660702 28225 "description" : "User ID",
56122987 28226 "format" : "pve-userid",
44660702 28227 "maxLength" : 64,
013dc89f
DM
28228 "type" : "string",
28229 "typetext" : "<string>"
56122987
DM
28230 }
28231 }
28232 },
56122987
DM
28233 "permissions" : {
28234 "check" : [
44660702 28235 "userid-group",
56122987 28236 [
44660702
DM
28237 "User.Modify",
28238 "Sys.Audit"
56122987
DM
28239 ]
28240 ]
28241 },
56122987 28242 "returns" : {
7aacca6f 28243 "additionalProperties" : 0,
56122987 28244 "properties" : {
44660702
DM
28245 "comment" : {
28246 "optional" : 1,
28247 "type" : "string"
56122987 28248 },
44660702
DM
28249 "email" : {
28250 "optional" : 1,
28251 "type" : "string"
7aacca6f
DM
28252 },
28253 "enable" : {
28254 "type" : "boolean"
28255 },
44660702
DM
28256 "expire" : {
28257 "optional" : 1,
28258 "type" : "integer"
28259 },
28260 "firstname" : {
56122987
DM
28261 "optional" : 1,
28262 "type" : "string"
28263 },
44660702
DM
28264 "groups" : {
28265 "type" : "array"
56122987 28266 },
44660702
DM
28267 "keys" : {
28268 "optional" : 1,
28269 "type" : "string"
7aacca6f 28270 },
44660702
DM
28271 "lastname" : {
28272 "optional" : 1,
28273 "type" : "string"
56122987 28274 }
7aacca6f 28275 }
44660702
DM
28276 }
28277 },
28278 "PUT" : {
28279 "description" : "Update user configuration.",
28280 "method" : "PUT",
28281 "name" : "update_user",
56122987 28282 "parameters" : {
44660702 28283 "additionalProperties" : 0,
56122987 28284 "properties" : {
44660702
DM
28285 "append" : {
28286 "optional" : 1,
28287 "requires" : "groups",
013dc89f
DM
28288 "type" : "boolean",
28289 "typetext" : "<boolean>"
44660702
DM
28290 },
28291 "comment" : {
28292 "optional" : 1,
013dc89f
DM
28293 "type" : "string",
28294 "typetext" : "<string>"
44660702
DM
28295 },
28296 "email" : {
28297 "format" : "email-opt",
28298 "optional" : 1,
013dc89f
DM
28299 "type" : "string",
28300 "typetext" : "<string>"
44660702
DM
28301 },
28302 "enable" : {
28303 "description" : "Enable/disable the account.",
28304 "optional" : 1,
013dc89f
DM
28305 "type" : "boolean",
28306 "typetext" : "<boolean>"
44660702
DM
28307 },
28308 "expire" : {
28309 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
28310 "minimum" : 0,
28311 "optional" : 1,
4bd7df8b 28312 "type" : "integer",
013dc89f 28313 "typetext" : "<integer> (0 - N)"
44660702
DM
28314 },
28315 "firstname" : {
28316 "optional" : 1,
013dc89f
DM
28317 "type" : "string",
28318 "typetext" : "<string>"
44660702
DM
28319 },
28320 "groups" : {
28321 "format" : "pve-groupid-list",
28322 "optional" : 1,
013dc89f
DM
28323 "type" : "string",
28324 "typetext" : "<string>"
44660702
DM
28325 },
28326 "keys" : {
28327 "description" : "Keys for two factor auth (yubico).",
28328 "optional" : 1,
013dc89f
DM
28329 "type" : "string",
28330 "typetext" : "<string>"
44660702
DM
28331 },
28332 "lastname" : {
28333 "optional" : 1,
013dc89f
DM
28334 "type" : "string",
28335 "typetext" : "<string>"
44660702 28336 },
56122987 28337 "userid" : {
56122987
DM
28338 "description" : "User ID",
28339 "format" : "pve-userid",
44660702 28340 "maxLength" : 64,
013dc89f
DM
28341 "type" : "string",
28342 "typetext" : "<string>"
56122987 28343 }
44660702 28344 }
56122987 28345 },
56122987
DM
28346 "permissions" : {
28347 "check" : [
28348 "userid-group",
28349 [
44660702
DM
28350 "User.Modify"
28351 ],
28352 "groups_param",
28353 1
56122987
DM
28354 ]
28355 },
44660702
DM
28356 "protected" : 1,
28357 "returns" : {
28358 "type" : "null"
28359 }
56122987
DM
28360 }
28361 },
44660702
DM
28362 "leaf" : 1,
28363 "path" : "/access/users/{userid}",
7aacca6f 28364 "text" : "{userid}"
56122987 28365 }
7aacca6f 28366 ],
56122987 28367 "info" : {
7aacca6f 28368 "GET" : {
44660702
DM
28369 "description" : "User index.",
28370 "method" : "GET",
7aacca6f 28371 "name" : "index",
56122987 28372 "parameters" : {
44660702
DM
28373 "additionalProperties" : 0,
28374 "properties" : {
28375 "enabled" : {
28376 "description" : "Optional filter for enable property.",
28377 "optional" : 1,
013dc89f
DM
28378 "type" : "boolean",
28379 "typetext" : "<boolean>"
44660702
DM
28380 }
28381 }
28382 },
28383 "permissions" : {
28384 "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.",
28385 "user" : "all"
56122987 28386 },
7aacca6f 28387 "returns" : {
7aacca6f
DM
28388 "items" : {
28389 "properties" : {
44660702 28390 "userid" : {
7aacca6f
DM
28391 "type" : "string"
28392 }
28393 },
28394 "type" : "object"
28395 },
44660702
DM
28396 "links" : [
28397 {
28398 "href" : "{userid}",
28399 "rel" : "child"
28400 }
28401 ],
7aacca6f
DM
28402 "type" : "array"
28403 }
28404 },
28405 "POST" : {
44660702 28406 "description" : "Create new user.",
7aacca6f 28407 "method" : "POST",
44660702 28408 "name" : "create_user",
56122987 28409 "parameters" : {
7aacca6f
DM
28410 "additionalProperties" : 0,
28411 "properties" : {
44660702
DM
28412 "comment" : {
28413 "optional" : 1,
013dc89f
DM
28414 "type" : "string",
28415 "typetext" : "<string>"
7aacca6f 28416 },
44660702
DM
28417 "email" : {
28418 "format" : "email-opt",
28419 "optional" : 1,
013dc89f
DM
28420 "type" : "string",
28421 "typetext" : "<string>"
44660702
DM
28422 },
28423 "enable" : {
28424 "default" : 1,
28425 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
28426 "optional" : 1,
013dc89f
DM
28427 "type" : "boolean",
28428 "typetext" : "<boolean>"
44660702
DM
28429 },
28430 "expire" : {
28431 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
28432 "minimum" : 0,
28433 "optional" : 1,
4bd7df8b 28434 "type" : "integer",
013dc89f 28435 "typetext" : "<integer> (0 - N)"
44660702
DM
28436 },
28437 "firstname" : {
28438 "optional" : 1,
013dc89f
DM
28439 "type" : "string",
28440 "typetext" : "<string>"
44660702
DM
28441 },
28442 "groups" : {
28443 "format" : "pve-groupid-list",
28444 "optional" : 1,
013dc89f
DM
28445 "type" : "string",
28446 "typetext" : "<string>"
44660702
DM
28447 },
28448 "keys" : {
28449 "description" : "Keys for two factor auth (yubico).",
28450 "optional" : 1,
013dc89f
DM
28451 "type" : "string",
28452 "typetext" : "<string>"
44660702
DM
28453 },
28454 "lastname" : {
7aacca6f 28455 "optional" : 1,
013dc89f
DM
28456 "type" : "string",
28457 "typetext" : "<string>"
44660702
DM
28458 },
28459 "password" : {
28460 "description" : "Initial password.",
28461 "maxLength" : 64,
28462 "minLength" : 5,
28463 "optional" : 1,
013dc89f
DM
28464 "type" : "string",
28465 "typetext" : "<string>"
44660702
DM
28466 },
28467 "userid" : {
28468 "description" : "User ID",
28469 "format" : "pve-userid",
28470 "maxLength" : 64,
013dc89f
DM
28471 "type" : "string",
28472 "typetext" : "<string>"
56122987 28473 }
7aacca6f 28474 }
56122987 28475 },
44660702
DM
28476 "permissions" : {
28477 "check" : [
28478 "and",
28479 [
28480 "userid-param",
28481 "Realm.AllocateUser"
28482 ],
28483 [
28484 "userid-group",
28485 [
28486 "User.Modify"
28487 ],
28488 "groups_param",
28489 1
28490 ]
28491 ],
28492 "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."
28493 },
28494 "protected" : 1,
28495 "returns" : {
28496 "type" : "null"
28497 }
56122987
DM
28498 }
28499 },
44660702
DM
28500 "leaf" : 0,
28501 "path" : "/access/users",
28502 "text" : "users"
28503 },
28504 {
56122987
DM
28505 "children" : [
28506 {
56122987
DM
28507 "info" : {
28508 "DELETE" : {
44660702
DM
28509 "description" : "Delete group.",
28510 "method" : "DELETE",
28511 "name" : "delete_group",
28512 "parameters" : {
28513 "additionalProperties" : 0,
28514 "properties" : {
28515 "groupid" : {
28516 "format" : "pve-groupid",
013dc89f
DM
28517 "type" : "string",
28518 "typetext" : "<string>"
44660702
DM
28519 }
28520 }
28521 },
7aacca6f
DM
28522 "permissions" : {
28523 "check" : [
28524 "perm",
28525 "/access/groups",
28526 [
28527 "Group.Allocate"
28528 ]
28529 ]
28530 },
7aacca6f 28531 "protected" : 1,
7aacca6f
DM
28532 "returns" : {
28533 "type" : "null"
44660702 28534 }
7aacca6f 28535 },
44660702
DM
28536 "GET" : {
28537 "description" : "Get group configuration.",
28538 "method" : "GET",
28539 "name" : "read_group",
28540 "parameters" : {
28541 "additionalProperties" : 0,
28542 "properties" : {
28543 "groupid" : {
28544 "format" : "pve-groupid",
013dc89f
DM
28545 "type" : "string",
28546 "typetext" : "<string>"
44660702
DM
28547 }
28548 }
56122987 28549 },
7aacca6f
DM
28550 "permissions" : {
28551 "check" : [
28552 "perm",
28553 "/access/groups",
28554 [
44660702 28555 "Sys.Audit",
7aacca6f 28556 "Group.Allocate"
44660702
DM
28557 ],
28558 "any",
28559 1
7aacca6f
DM
28560 ]
28561 },
7aacca6f 28562 "returns" : {
44660702 28563 "additionalProperties" : 0,
7aacca6f
DM
28564 "properties" : {
28565 "comment" : {
44660702
DM
28566 "optional" : 1,
28567 "type" : "string"
7aacca6f
DM
28568 },
28569 "members" : {
28570 "items" : {
28571 "type" : "string"
28572 },
28573 "type" : "array"
28574 }
28575 },
44660702
DM
28576 "type" : "object"
28577 }
28578 },
28579 "PUT" : {
28580 "description" : "Update group data.",
28581 "method" : "PUT",
28582 "name" : "update_group",
56122987 28583 "parameters" : {
44660702 28584 "additionalProperties" : 0,
56122987 28585 "properties" : {
44660702
DM
28586 "comment" : {
28587 "optional" : 1,
013dc89f
DM
28588 "type" : "string",
28589 "typetext" : "<string>"
44660702 28590 },
56122987
DM
28591 "groupid" : {
28592 "format" : "pve-groupid",
013dc89f
DM
28593 "type" : "string",
28594 "typetext" : "<string>"
56122987 28595 }
44660702 28596 }
56122987 28597 },
56122987
DM
28598 "permissions" : {
28599 "check" : [
28600 "perm",
28601 "/access/groups",
28602 [
28603 "Group.Allocate"
44660702 28604 ]
56122987
DM
28605 ]
28606 },
44660702
DM
28607 "protected" : 1,
28608 "returns" : {
28609 "type" : "null"
28610 }
7aacca6f
DM
28611 }
28612 },
7aacca6f 28613 "leaf" : 1,
44660702
DM
28614 "path" : "/access/groups/{groupid}",
28615 "text" : "{groupid}"
28616 }
28617 ],
28618 "info" : {
28619 "GET" : {
28620 "description" : "Group index.",
28621 "method" : "GET",
28622 "name" : "index",
28623 "parameters" : {
28624 "additionalProperties" : 0
28625 },
28626 "permissions" : {
28627 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
28628 "user" : "all"
28629 },
28630 "returns" : {
28631 "items" : {
28632 "properties" : {
28633 "groupid" : {
28634 "type" : "string"
28635 }
28636 },
28637 "type" : "object"
28638 },
28639 "links" : [
28640 {
28641 "href" : "{groupid}",
28642 "rel" : "child"
28643 }
28644 ],
28645 "type" : "array"
28646 }
28647 },
28648 "POST" : {
28649 "description" : "Create new group.",
28650 "method" : "POST",
28651 "name" : "create_group",
28652 "parameters" : {
28653 "additionalProperties" : 0,
28654 "properties" : {
28655 "comment" : {
28656 "optional" : 1,
013dc89f
DM
28657 "type" : "string",
28658 "typetext" : "<string>"
44660702
DM
28659 },
28660 "groupid" : {
28661 "format" : "pve-groupid",
013dc89f
DM
28662 "type" : "string",
28663 "typetext" : "<string>"
44660702
DM
28664 }
28665 }
28666 },
28667 "permissions" : {
28668 "check" : [
28669 "perm",
28670 "/access/groups",
28671 [
28672 "Group.Allocate"
28673 ]
28674 ]
28675 },
28676 "protected" : 1,
28677 "returns" : {
28678 "type" : "null"
28679 }
7aacca6f 28680 }
44660702 28681 },
7aacca6f 28682 "leaf" : 0,
44660702
DM
28683 "path" : "/access/groups",
28684 "text" : "groups"
7aacca6f
DM
28685 },
28686 {
28687 "children" : [
28688 {
7aacca6f 28689 "info" : {
7aacca6f 28690 "DELETE" : {
7aacca6f 28691 "description" : "Delete role.",
44660702 28692 "method" : "DELETE",
7aacca6f 28693 "name" : "delete_role",
56122987
DM
28694 "parameters" : {
28695 "additionalProperties" : 0,
28696 "properties" : {
7aacca6f
DM
28697 "roleid" : {
28698 "format" : "pve-roleid",
013dc89f
DM
28699 "type" : "string",
28700 "typetext" : "<string>"
56122987
DM
28701 }
28702 }
28703 },
56122987
DM
28704 "permissions" : {
28705 "check" : [
28706 "perm",
7aacca6f 28707 "/access",
56122987 28708 [
7aacca6f
DM
28709 "Sys.Modify"
28710 ]
56122987 28711 ]
44660702
DM
28712 },
28713 "protected" : 1,
28714 "returns" : {
28715 "type" : "null"
56122987
DM
28716 }
28717 },
44660702
DM
28718 "GET" : {
28719 "description" : "Get role configuration.",
28720 "method" : "GET",
28721 "name" : "read_role",
28722 "parameters" : {
28723 "additionalProperties" : 0,
28724 "properties" : {
28725 "roleid" : {
28726 "format" : "pve-roleid",
013dc89f
DM
28727 "type" : "string",
28728 "typetext" : "<string>"
44660702
DM
28729 }
28730 }
28731 },
7aacca6f 28732 "permissions" : {
44660702 28733 "user" : "all"
56122987 28734 },
44660702
DM
28735 "returns" : {}
28736 },
28737 "PUT" : {
28738 "description" : "Create new role.",
28739 "method" : "PUT",
28740 "name" : "update_role",
56122987
DM
28741 "parameters" : {
28742 "additionalProperties" : 0,
28743 "properties" : {
7aacca6f 28744 "append" : {
44660702 28745 "optional" : 1,
7aacca6f 28746 "requires" : "privs",
013dc89f
DM
28747 "type" : "boolean",
28748 "typetext" : "<boolean>"
7aacca6f
DM
28749 },
28750 "privs" : {
28751 "format" : "pve-priv-list",
013dc89f
DM
28752 "type" : "string",
28753 "typetext" : "<string>"
44660702
DM
28754 },
28755 "roleid" : {
28756 "format" : "pve-roleid",
013dc89f
DM
28757 "type" : "string",
28758 "typetext" : "<string>"
56122987
DM
28759 }
28760 }
28761 },
44660702
DM
28762 "permissions" : {
28763 "check" : [
28764 "perm",
28765 "/access",
28766 [
28767 "Sys.Modify"
28768 ]
28769 ]
28770 },
56122987 28771 "protected" : 1,
7aacca6f
DM
28772 "returns" : {
28773 "type" : "null"
56122987
DM
28774 }
28775 }
28776 },
44660702 28777 "leaf" : 1,
7aacca6f 28778 "path" : "/access/roles/{roleid}",
44660702 28779 "text" : "{roleid}"
56122987
DM
28780 }
28781 ],
56122987 28782 "info" : {
7aacca6f
DM
28783 "GET" : {
28784 "description" : "Role index.",
44660702 28785 "method" : "GET",
7aacca6f 28786 "name" : "index",
56122987 28787 "parameters" : {
56122987
DM
28788 "additionalProperties" : 0
28789 },
7aacca6f
DM
28790 "permissions" : {
28791 "user" : "all"
28792 },
56122987 28793 "returns" : {
7aacca6f 28794 "items" : {
7aacca6f
DM
28795 "properties" : {
28796 "roleid" : {
28797 "type" : "string"
28798 }
44660702
DM
28799 },
28800 "type" : "object"
28801 },
28802 "links" : [
28803 {
28804 "href" : "{roleid}",
28805 "rel" : "child"
7aacca6f 28806 }
44660702
DM
28807 ],
28808 "type" : "array"
28809 }
7aacca6f
DM
28810 },
28811 "POST" : {
28812 "description" : "Create new role.",
44660702
DM
28813 "method" : "POST",
28814 "name" : "create_role",
7aacca6f
DM
28815 "parameters" : {
28816 "additionalProperties" : 0,
28817 "properties" : {
7aacca6f
DM
28818 "privs" : {
28819 "format" : "pve-priv-list",
28820 "optional" : 1,
013dc89f
DM
28821 "type" : "string",
28822 "typetext" : "<string>"
44660702
DM
28823 },
28824 "roleid" : {
28825 "format" : "pve-roleid",
013dc89f
DM
28826 "type" : "string",
28827 "typetext" : "<string>"
7aacca6f
DM
28828 }
28829 }
28830 },
44660702
DM
28831 "permissions" : {
28832 "check" : [
28833 "perm",
28834 "/access",
28835 [
28836 "Sys.Modify"
28837 ]
28838 ]
28839 },
28840 "protected" : 1,
7aacca6f
DM
28841 "returns" : {
28842 "type" : "null"
28843 }
28844 }
28845 },
44660702 28846 "leaf" : 0,
7aacca6f 28847 "path" : "/access/roles",
44660702 28848 "text" : "roles"
7aacca6f
DM
28849 },
28850 {
28851 "info" : {
56122987 28852 "GET" : {
44660702
DM
28853 "description" : "Get Access Control List (ACLs).",
28854 "method" : "GET",
28855 "name" : "read_acl",
7aacca6f
DM
28856 "parameters" : {
28857 "additionalProperties" : 0
28858 },
44660702
DM
28859 "permissions" : {
28860 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
28861 "user" : "all"
28862 },
56122987 28863 "returns" : {
56122987 28864 "items" : {
44660702 28865 "additionalProperties" : 0,
56122987 28866 "properties" : {
7aacca6f
DM
28867 "path" : {
28868 "type" : "string"
28869 },
44660702
DM
28870 "propagate" : {
28871 "type" : "boolean"
28872 },
28873 "roleid" : {
28874 "type" : "string"
28875 },
7aacca6f
DM
28876 "type" : {
28877 "enum" : [
28878 "user",
28879 "group"
28880 ],
28881 "type" : "string"
28882 },
7aacca6f
DM
28883 "ugid" : {
28884 "type" : "string"
56122987 28885 }
7aacca6f 28886 },
44660702 28887 "type" : "object"
7aacca6f
DM
28888 },
28889 "type" : "array"
44660702 28890 }
7aacca6f
DM
28891 },
28892 "PUT" : {
44660702
DM
28893 "description" : "Update Access Control List (add or remove permissions).",
28894 "method" : "PUT",
7aacca6f
DM
28895 "name" : "update_acl",
28896 "parameters" : {
28897 "additionalProperties" : 0,
28898 "properties" : {
28899 "delete" : {
44660702 28900 "description" : "Remove permissions (instead of adding it).",
7aacca6f 28901 "optional" : 1,
013dc89f
DM
28902 "type" : "boolean",
28903 "typetext" : "<boolean>"
7aacca6f 28904 },
44660702
DM
28905 "groups" : {
28906 "description" : "List of groups.",
28907 "format" : "pve-groupid-list",
7aacca6f 28908 "optional" : 1,
013dc89f
DM
28909 "type" : "string",
28910 "typetext" : "<string>"
7aacca6f
DM
28911 },
28912 "path" : {
28913 "description" : "Access control path",
013dc89f
DM
28914 "type" : "string",
28915 "typetext" : "<string>"
7aacca6f 28916 },
7aacca6f 28917 "propagate" : {
44660702 28918 "default" : 1,
7aacca6f 28919 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 28920 "optional" : 1,
013dc89f
DM
28921 "type" : "boolean",
28922 "typetext" : "<boolean>"
7aacca6f 28923 },
44660702
DM
28924 "roles" : {
28925 "description" : "List of roles.",
28926 "format" : "pve-roleid-list",
013dc89f
DM
28927 "type" : "string",
28928 "typetext" : "<string>"
44660702
DM
28929 },
28930 "users" : {
28931 "description" : "List of users.",
28932 "format" : "pve-userid-list",
7aacca6f 28933 "optional" : 1,
013dc89f
DM
28934 "type" : "string",
28935 "typetext" : "<string>"
56122987
DM
28936 }
28937 }
28938 },
56122987 28939 "permissions" : {
7aacca6f
DM
28940 "check" : [
28941 "perm-modify",
28942 "{path}"
28943 ]
28944 },
7aacca6f
DM
28945 "protected" : 1,
28946 "returns" : {
28947 "type" : "null"
44660702 28948 }
56122987
DM
28949 }
28950 },
7aacca6f 28951 "leaf" : 1,
44660702
DM
28952 "path" : "/access/acl",
28953 "text" : "acl"
7aacca6f
DM
28954 },
28955 {
56122987
DM
28956 "children" : [
28957 {
56122987 28958 "info" : {
44660702
DM
28959 "DELETE" : {
28960 "description" : "Delete an authentication server.",
28961 "method" : "DELETE",
28962 "name" : "delete",
28963 "parameters" : {
28964 "additionalProperties" : 0,
28965 "properties" : {
28966 "realm" : {
28967 "description" : "Authentication domain ID",
28968 "format" : "pve-realm",
28969 "maxLength" : 32,
013dc89f
DM
28970 "type" : "string",
28971 "typetext" : "<string>"
56122987 28972 }
44660702 28973 }
56122987 28974 },
56122987
DM
28975 "permissions" : {
28976 "check" : [
28977 "perm",
7aacca6f 28978 "/access/realm",
56122987 28979 [
7aacca6f 28980 "Realm.Allocate"
56122987
DM
28981 ]
28982 ]
28983 },
7aacca6f 28984 "protected" : 1,
7aacca6f
DM
28985 "returns" : {
28986 "type" : "null"
44660702 28987 }
7aacca6f 28988 },
44660702
DM
28989 "GET" : {
28990 "description" : "Get auth server configuration.",
28991 "method" : "GET",
28992 "name" : "read",
56122987 28993 "parameters" : {
44660702 28994 "additionalProperties" : 0,
56122987 28995 "properties" : {
7aacca6f 28996 "realm" : {
44660702 28997 "description" : "Authentication domain ID",
7aacca6f
DM
28998 "format" : "pve-realm",
28999 "maxLength" : 32,
013dc89f
DM
29000 "type" : "string",
29001 "typetext" : "<string>"
56122987 29002 }
44660702 29003 }
7aacca6f 29004 },
7aacca6f
DM
29005 "permissions" : {
29006 "check" : [
29007 "perm",
29008 "/access/realm",
29009 [
44660702
DM
29010 "Realm.Allocate",
29011 "Sys.Audit"
29012 ],
29013 "any",
29014 1
7aacca6f 29015 ]
44660702
DM
29016 },
29017 "returns" : {}
7aacca6f 29018 },
44660702
DM
29019 "PUT" : {
29020 "description" : "Update authentication server settings.",
29021 "method" : "PUT",
29022 "name" : "update",
7aacca6f 29023 "parameters" : {
44660702 29024 "additionalProperties" : 0,
7aacca6f 29025 "properties" : {
44660702
DM
29026 "base_dn" : {
29027 "description" : "LDAP base domain name",
29028 "maxLength" : 256,
29029 "optional" : 1,
29030 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29031 "type" : "string"
29032 },
4bd7df8b
DM
29033 "bind_dn" : {
29034 "description" : "LDAP bind domain name",
29035 "maxLength" : 256,
29036 "optional" : 1,
29037 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29038 "type" : "string"
29039 },
2489d6df
WB
29040 "capath" : {
29041 "default" : "/etc/ssl/certs",
29042 "description" : "Path to the CA certificate store",
29043 "optional" : 1,
29044 "type" : "string",
29045 "typetext" : "<string>"
29046 },
29047 "cert" : {
29048 "description" : "Path to the client certificate",
29049 "optional" : 1,
29050 "type" : "string",
29051 "typetext" : "<string>"
29052 },
29053 "certkey" : {
29054 "description" : "Path to the client certificate key",
29055 "optional" : 1,
29056 "type" : "string",
29057 "typetext" : "<string>"
29058 },
44660702
DM
29059 "comment" : {
29060 "description" : "Description.",
29061 "maxLength" : 4096,
29062 "optional" : 1,
013dc89f
DM
29063 "type" : "string",
29064 "typetext" : "<string>"
44660702
DM
29065 },
29066 "default" : {
29067 "description" : "Use this as default realm",
29068 "optional" : 1,
013dc89f
DM
29069 "type" : "boolean",
29070 "typetext" : "<boolean>"
44660702
DM
29071 },
29072 "delete" : {
29073 "description" : "A list of settings you want to delete.",
29074 "format" : "pve-configid-list",
29075 "maxLength" : 4096,
29076 "optional" : 1,
013dc89f
DM
29077 "type" : "string",
29078 "typetext" : "<string>"
44660702
DM
29079 },
29080 "digest" : {
29081 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
29082 "maxLength" : 40,
29083 "optional" : 1,
013dc89f
DM
29084 "type" : "string",
29085 "typetext" : "<string>"
44660702
DM
29086 },
29087 "domain" : {
29088 "description" : "AD domain name",
29089 "maxLength" : 256,
29090 "optional" : 1,
29091 "pattern" : "\\S+",
29092 "type" : "string"
29093 },
29094 "port" : {
29095 "description" : "Server port.",
29096 "maximum" : 65535,
29097 "minimum" : 1,
29098 "optional" : 1,
4bd7df8b 29099 "type" : "integer",
013dc89f 29100 "typetext" : "<integer> (1 - 65535)"
44660702 29101 },
7aacca6f 29102 "realm" : {
7aacca6f
DM
29103 "description" : "Authentication domain ID",
29104 "format" : "pve-realm",
44660702 29105 "maxLength" : 32,
013dc89f
DM
29106 "type" : "string",
29107 "typetext" : "<string>"
44660702
DM
29108 },
29109 "secure" : {
29110 "description" : "Use secure LDAPS protocol.",
29111 "optional" : 1,
013dc89f
DM
29112 "type" : "boolean",
29113 "typetext" : "<boolean>"
44660702
DM
29114 },
29115 "server1" : {
29116 "description" : "Server IP address (or DNS name)",
29117 "format" : "address",
29118 "maxLength" : 256,
29119 "optional" : 1,
013dc89f
DM
29120 "type" : "string",
29121 "typetext" : "<string>"
44660702
DM
29122 },
29123 "server2" : {
29124 "description" : "Fallback Server IP address (or DNS name)",
29125 "format" : "address",
29126 "maxLength" : 256,
29127 "optional" : 1,
013dc89f
DM
29128 "type" : "string",
29129 "typetext" : "<string>"
44660702
DM
29130 },
29131 "tfa" : {
29132 "description" : "Use Two-factor authentication.",
29133 "format" : "pve-tfa-config",
29134 "maxLength" : 128,
29135 "optional" : 1,
013dc89f
DM
29136 "type" : "string",
29137 "typetext" : "<string>"
44660702
DM
29138 },
29139 "user_attr" : {
29140 "description" : "LDAP user attribute name",
29141 "maxLength" : 256,
29142 "optional" : 1,
29143 "pattern" : "\\S{2,}",
29144 "type" : "string"
2489d6df
WB
29145 },
29146 "verify" : {
29147 "default" : 0,
29148 "description" : "Verify the server's SSL certificate",
29149 "optional" : 1,
29150 "type" : "boolean",
29151 "typetext" : "<boolean>"
7aacca6f 29152 }
56122987 29153 },
44660702 29154 "type" : "object"
56122987 29155 },
7aacca6f
DM
29156 "permissions" : {
29157 "check" : [
29158 "perm",
29159 "/access/realm",
29160 [
44660702
DM
29161 "Realm.Allocate"
29162 ]
7aacca6f
DM
29163 ]
29164 },
44660702
DM
29165 "protected" : 1,
29166 "returns" : {
29167 "type" : "null"
29168 }
56122987 29169 }
44660702
DM
29170 },
29171 "leaf" : 1,
29172 "path" : "/access/domains/{realm}",
29173 "text" : "{realm}"
56122987 29174 }
7aacca6f 29175 ],
56122987
DM
29176 "info" : {
29177 "GET" : {
44660702
DM
29178 "description" : "Authentication domain index.",
29179 "method" : "GET",
29180 "name" : "index",
29181 "parameters" : {
29182 "additionalProperties" : 0
29183 },
29184 "permissions" : {
29185 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
29186 "user" : "world"
29187 },
56122987 29188 "returns" : {
56122987
DM
29189 "items" : {
29190 "properties" : {
7aacca6f 29191 "comment" : {
52e44c50 29192 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
29193 "optional" : 1,
29194 "type" : "string"
29195 },
56122987
DM
29196 "realm" : {
29197 "type" : "string"
29198 },
29199 "tfa" : {
7aacca6f 29200 "description" : "Two-factor authentication provider.",
56122987
DM
29201 "enum" : [
29202 "yubico",
29203 "oath"
29204 ],
44660702
DM
29205 "optional" : 1,
29206 "type" : "string"
56122987
DM
29207 }
29208 },
29209 "type" : "object"
44660702
DM
29210 },
29211 "links" : [
29212 {
29213 "href" : "{realm}",
29214 "rel" : "child"
29215 }
29216 ],
29217 "type" : "array"
29218 }
56122987
DM
29219 },
29220 "POST" : {
7aacca6f 29221 "description" : "Add an authentication server.",
44660702 29222 "method" : "POST",
7aacca6f 29223 "name" : "create",
56122987 29224 "parameters" : {
44660702 29225 "additionalProperties" : 0,
56122987 29226 "properties" : {
44660702
DM
29227 "base_dn" : {
29228 "description" : "LDAP base domain name",
56122987 29229 "maxLength" : 256,
44660702
DM
29230 "optional" : 1,
29231 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 29232 "type" : "string"
56122987 29233 },
4bd7df8b
DM
29234 "bind_dn" : {
29235 "description" : "LDAP bind domain name",
29236 "maxLength" : 256,
29237 "optional" : 1,
29238 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
29239 "type" : "string"
29240 },
2489d6df
WB
29241 "capath" : {
29242 "default" : "/etc/ssl/certs",
29243 "description" : "Path to the CA certificate store",
29244 "optional" : 1,
29245 "type" : "string",
29246 "typetext" : "<string>"
29247 },
29248 "cert" : {
29249 "description" : "Path to the client certificate",
29250 "optional" : 1,
29251 "type" : "string",
29252 "typetext" : "<string>"
29253 },
29254 "certkey" : {
29255 "description" : "Path to the client certificate key",
29256 "optional" : 1,
29257 "type" : "string",
29258 "typetext" : "<string>"
29259 },
44660702
DM
29260 "comment" : {
29261 "description" : "Description.",
29262 "maxLength" : 4096,
56122987 29263 "optional" : 1,
013dc89f
DM
29264 "type" : "string",
29265 "typetext" : "<string>"
56122987 29266 },
44660702
DM
29267 "default" : {
29268 "description" : "Use this as default realm",
7aacca6f 29269 "optional" : 1,
013dc89f
DM
29270 "type" : "boolean",
29271 "typetext" : "<boolean>"
56122987 29272 },
44660702
DM
29273 "domain" : {
29274 "description" : "AD domain name",
29275 "maxLength" : 256,
7aacca6f 29276 "optional" : 1,
44660702
DM
29277 "pattern" : "\\S+",
29278 "type" : "string"
56122987 29279 },
7aacca6f 29280 "port" : {
44660702 29281 "description" : "Server port.",
7aacca6f 29282 "maximum" : 65535,
44660702 29283 "minimum" : 1,
7aacca6f 29284 "optional" : 1,
4bd7df8b 29285 "type" : "integer",
013dc89f 29286 "typetext" : "<integer> (1 - 65535)"
56122987 29287 },
44660702
DM
29288 "realm" : {
29289 "description" : "Authentication domain ID",
29290 "format" : "pve-realm",
29291 "maxLength" : 32,
013dc89f
DM
29292 "type" : "string",
29293 "typetext" : "<string>"
44660702
DM
29294 },
29295 "secure" : {
29296 "description" : "Use secure LDAPS protocol.",
7aacca6f 29297 "optional" : 1,
013dc89f
DM
29298 "type" : "boolean",
29299 "typetext" : "<boolean>"
56122987 29300 },
44660702
DM
29301 "server1" : {
29302 "description" : "Server IP address (or DNS name)",
29303 "format" : "address",
29304 "maxLength" : 256,
29305 "optional" : 1,
013dc89f
DM
29306 "type" : "string",
29307 "typetext" : "<string>"
56122987 29308 },
44660702
DM
29309 "server2" : {
29310 "description" : "Fallback Server IP address (or DNS name)",
29311 "format" : "address",
7aacca6f 29312 "maxLength" : 256,
7aacca6f 29313 "optional" : 1,
013dc89f
DM
29314 "type" : "string",
29315 "typetext" : "<string>"
7aacca6f 29316 },
44660702
DM
29317 "tfa" : {
29318 "description" : "Use Two-factor authentication.",
29319 "format" : "pve-tfa-config",
29320 "maxLength" : 128,
29321 "optional" : 1,
013dc89f
DM
29322 "type" : "string",
29323 "typetext" : "<string>"
44660702
DM
29324 },
29325 "type" : {
29326 "description" : "Realm type.",
29327 "enum" : [
29328 "ad",
29329 "ldap",
29330 "pam",
29331 "pve"
29332 ],
29333 "type" : "string"
29334 },
29335 "user_attr" : {
29336 "description" : "LDAP user attribute name",
7aacca6f 29337 "maxLength" : 256,
7aacca6f 29338 "optional" : 1,
44660702
DM
29339 "pattern" : "\\S{2,}",
29340 "type" : "string"
2489d6df
WB
29341 },
29342 "verify" : {
29343 "default" : 0,
29344 "description" : "Verify the server's SSL certificate",
29345 "optional" : 1,
29346 "type" : "boolean",
29347 "typetext" : "<boolean>"
7aacca6f
DM
29348 }
29349 },
7aacca6f 29350 "type" : "object"
56122987 29351 },
7aacca6f
DM
29352 "permissions" : {
29353 "check" : [
29354 "perm",
29355 "/access/realm",
29356 [
29357 "Realm.Allocate"
29358 ]
29359 ]
44660702
DM
29360 },
29361 "protected" : 1,
29362 "returns" : {
29363 "type" : "null"
7aacca6f 29364 }
56122987 29365 }
7aacca6f 29366 },
44660702 29367 "leaf" : 0,
56122987 29368 "path" : "/access/domains",
44660702 29369 "text" : "domains"
56122987
DM
29370 },
29371 {
56122987 29372 "info" : {
44660702 29373 "GET" : {
2489d6df 29374 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
29375 "method" : "GET",
29376 "name" : "get_ticket",
29377 "parameters" : {
29378 "additionalProperties" : 0
29379 },
29380 "permissions" : {
29381 "user" : "world"
29382 },
29383 "returns" : {
29384 "type" : "null"
29385 }
29386 },
56122987 29387 "POST" : {
44660702 29388 "description" : "Create or verify authentication ticket.",
56122987 29389 "method" : "POST",
44660702
DM
29390 "name" : "create_ticket",
29391 "parameters" : {
29392 "additionalProperties" : 0,
56122987 29393 "properties" : {
44660702
DM
29394 "otp" : {
29395 "description" : "One-time password for Two-factor authentication.",
7aacca6f 29396 "optional" : 1,
013dc89f
DM
29397 "type" : "string",
29398 "typetext" : "<string>"
56122987 29399 },
7aacca6f
DM
29400 "password" : {
29401 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
29402 "type" : "string",
29403 "typetext" : "<string>"
7aacca6f 29404 },
44660702
DM
29405 "path" : {
29406 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 29407 "maxLength" : 64,
56122987 29408 "optional" : 1,
56122987 29409 "requires" : "privs",
013dc89f
DM
29410 "type" : "string",
29411 "typetext" : "<string>"
44660702
DM
29412 },
29413 "privs" : {
7aacca6f 29414 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
29415 "format" : "pve-priv-list",
29416 "maxLength" : 64,
56122987 29417 "optional" : 1,
44660702 29418 "requires" : "path",
013dc89f
DM
29419 "type" : "string",
29420 "typetext" : "<string>"
56122987
DM
29421 },
29422 "realm" : {
56122987 29423 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 29424 "format" : "pve-realm",
7aacca6f 29425 "maxLength" : 32,
44660702 29426 "optional" : 1,
013dc89f
DM
29427 "type" : "string",
29428 "typetext" : "<string>"
56122987
DM
29429 },
29430 "username" : {
29431 "description" : "User name",
44660702 29432 "maxLength" : 64,
013dc89f
DM
29433 "type" : "string",
29434 "typetext" : "<string>"
56122987 29435 }
44660702 29436 }
7aacca6f 29437 },
56122987 29438 "permissions" : {
44660702 29439 "description" : "You need to pass valid credientials.",
56122987
DM
29440 "user" : "world"
29441 },
44660702 29442 "protected" : 1,
7aacca6f 29443 "returns" : {
56122987 29444 "properties" : {
44660702
DM
29445 "CSRFPreventionToken" : {
29446 "optional" : 1,
29447 "type" : "string"
56122987 29448 },
44660702
DM
29449 "ticket" : {
29450 "optional" : 1,
29451 "type" : "string"
29452 },
29453 "username" : {
56122987
DM
29454 "type" : "string"
29455 }
29456 },
44660702 29457 "type" : "object"
7aacca6f 29458 }
7aacca6f
DM
29459 }
29460 },
44660702
DM
29461 "leaf" : 1,
29462 "path" : "/access/ticket",
29463 "text" : "ticket"
7aacca6f 29464 },
56122987 29465 {
56122987 29466 "info" : {
7aacca6f 29467 "PUT" : {
44660702 29468 "description" : "Change user password.",
7aacca6f 29469 "method" : "PUT",
44660702 29470 "name" : "change_passsword",
56122987
DM
29471 "parameters" : {
29472 "additionalProperties" : 0,
29473 "properties" : {
44660702
DM
29474 "password" : {
29475 "description" : "The new password.",
29476 "maxLength" : 64,
29477 "minLength" : 5,
013dc89f
DM
29478 "type" : "string",
29479 "typetext" : "<string>"
7aacca6f 29480 },
44660702
DM
29481 "userid" : {
29482 "description" : "User ID",
29483 "format" : "pve-userid",
29484 "maxLength" : 64,
013dc89f
DM
29485 "type" : "string",
29486 "typetext" : "<string>"
56122987 29487 }
7aacca6f 29488 }
56122987
DM
29489 },
29490 "permissions" : {
29491 "check" : [
44660702 29492 "or",
56122987 29493 [
44660702
DM
29494 "userid-param",
29495 "self"
29496 ],
29497 [
29498 "and",
29499 [
29500 "userid-param",
29501 "Realm.AllocateUser"
29502 ],
29503 [
29504 "userid-group",
29505 [
29506 "User.Modify"
29507 ]
29508 ]
56122987 29509 ]
7aacca6f 29510 ],
44660702 29511 "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 29512 },
44660702 29513 "protected" : 1,
7aacca6f
DM
29514 "returns" : {
29515 "type" : "null"
44660702
DM
29516 }
29517 }
29518 },
29519 "leaf" : 1,
29520 "path" : "/access/password",
29521 "text" : "password"
29522 }
29523 ],
29524 "info" : {
29525 "GET" : {
29526 "description" : "Directory index.",
29527 "method" : "GET",
29528 "name" : "index",
29529 "parameters" : {
29530 "additionalProperties" : 0
29531 },
29532 "permissions" : {
29533 "user" : "all"
29534 },
29535 "returns" : {
29536 "items" : {
29537 "properties" : {
29538 "subdir" : {
29539 "type" : "string"
29540 }
7aacca6f 29541 },
44660702
DM
29542 "type" : "object"
29543 },
29544 "links" : [
29545 {
29546 "href" : "{subdir}",
29547 "rel" : "child"
29548 }
29549 ],
29550 "type" : "array"
29551 }
29552 }
29553 },
29554 "leaf" : 0,
29555 "path" : "/access",
29556 "text" : "access"
29557 },
29558 {
29559 "children" : [
29560 {
29561 "info" : {
29562 "DELETE" : {
7aacca6f 29563 "description" : "Delete pool.",
44660702
DM
29564 "method" : "DELETE",
29565 "name" : "delete_pool",
7aacca6f
DM
29566 "parameters" : {
29567 "additionalProperties" : 0,
29568 "properties" : {
29569 "poolid" : {
29570 "format" : "pve-poolid",
013dc89f
DM
29571 "type" : "string",
29572 "typetext" : "<string>"
7aacca6f
DM
29573 }
29574 }
29575 },
56122987
DM
29576 "permissions" : {
29577 "check" : [
29578 "perm",
29579 "/pool/{poolid}",
29580 [
29581 "Pool.Allocate"
29582 ]
44660702
DM
29583 ],
29584 "description" : "You can only delete empty pools (no members)."
29585 },
29586 "protected" : 1,
29587 "returns" : {
29588 "type" : "null"
7aacca6f
DM
29589 }
29590 },
29591 "GET" : {
29592 "description" : "Get pool configuration.",
44660702 29593 "method" : "GET",
7aacca6f 29594 "name" : "read_pool",
56122987 29595 "parameters" : {
44660702 29596 "additionalProperties" : 0,
56122987
DM
29597 "properties" : {
29598 "poolid" : {
44660702 29599 "format" : "pve-poolid",
013dc89f
DM
29600 "type" : "string",
29601 "typetext" : "<string>"
56122987 29602 }
44660702 29603 }
56122987 29604 },
56122987 29605 "permissions" : {
56122987
DM
29606 "check" : [
29607 "perm",
29608 "/pool/{poolid}",
29609 [
29610 "Pool.Allocate"
29611 ]
29612 ]
29613 },
7aacca6f 29614 "returns" : {
44660702 29615 "additionalProperties" : 0,
56122987 29616 "properties" : {
44660702
DM
29617 "comment" : {
29618 "optional" : 1,
29619 "type" : "string"
29620 },
7aacca6f 29621 "members" : {
7aacca6f
DM
29622 "items" : {
29623 "additionalProperties" : 1,
7aacca6f 29624 "properties" : {
7aacca6f
DM
29625 "id" : {
29626 "type" : "string"
29627 },
29628 "node" : {
29629 "type" : "string"
29630 },
44660702
DM
29631 "storage" : {
29632 "optional" : 1,
29633 "type" : "string"
29634 },
7aacca6f 29635 "type" : {
7aacca6f
DM
29636 "enum" : [
29637 "qemu",
29638 "lxc",
29639 "openvz",
29640 "storage"
44660702
DM
29641 ],
29642 "type" : "string"
29643 },
29644 "vmid" : {
29645 "optional" : 1,
29646 "type" : "integer"
7aacca6f 29647 }
44660702
DM
29648 },
29649 "type" : "object"
29650 },
29651 "type" : "array"
29652 }
29653 },
29654 "type" : "object"
29655 }
29656 },
29657 "PUT" : {
29658 "description" : "Update pool data.",
29659 "method" : "PUT",
29660 "name" : "update_pool",
29661 "parameters" : {
29662 "additionalProperties" : 0,
29663 "properties" : {
56122987
DM
29664 "comment" : {
29665 "optional" : 1,
013dc89f
DM
29666 "type" : "string",
29667 "typetext" : "<string>"
44660702
DM
29668 },
29669 "delete" : {
29670 "description" : "Remove vms/storage (instead of adding it).",
29671 "optional" : 1,
013dc89f
DM
29672 "type" : "boolean",
29673 "typetext" : "<boolean>"
44660702
DM
29674 },
29675 "poolid" : {
29676 "format" : "pve-poolid",
013dc89f
DM
29677 "type" : "string",
29678 "typetext" : "<string>"
44660702
DM
29679 },
29680 "storage" : {
29681 "description" : "List of storage IDs.",
29682 "format" : "pve-storage-id-list",
29683 "optional" : 1,
013dc89f
DM
29684 "type" : "string",
29685 "typetext" : "<string>"
44660702
DM
29686 },
29687 "vms" : {
29688 "description" : "List of virtual machines.",
29689 "format" : "pve-vmid-list",
29690 "optional" : 1,
013dc89f
DM
29691 "type" : "string",
29692 "typetext" : "<string>"
56122987 29693 }
44660702
DM
29694 }
29695 },
29696 "permissions" : {
29697 "check" : [
29698 "perm",
29699 "/pool/{poolid}",
29700 [
29701 "Pool.Allocate"
29702 ]
29703 ],
29704 "description" : "You also need the right to modify permissions on any object you add/delete."
29705 },
29706 "protected" : 1,
29707 "returns" : {
29708 "type" : "null"
56122987
DM
29709 }
29710 }
29711 },
44660702
DM
29712 "leaf" : 1,
29713 "path" : "/pools/{poolid}",
7aacca6f 29714 "text" : "{poolid}"
56122987 29715 }
7aacca6f 29716 ],
56122987
DM
29717 "info" : {
29718 "GET" : {
44660702
DM
29719 "description" : "Pool index.",
29720 "method" : "GET",
29721 "name" : "index",
29722 "parameters" : {
29723 "additionalProperties" : 0
29724 },
29725 "permissions" : {
29726 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
29727 "user" : "all"
29728 },
56122987 29729 "returns" : {
44660702
DM
29730 "items" : {
29731 "properties" : {
29732 "poolid" : {
29733 "type" : "string"
29734 }
56122987 29735 },
44660702
DM
29736 "type" : "object"
29737 },
29738 "links" : [
29739 {
29740 "href" : "{poolid}",
29741 "rel" : "child"
29742 }
29743 ],
29744 "type" : "array"
29745 }
29746 },
29747 "POST" : {
29748 "description" : "Create new pool.",
29749 "method" : "POST",
29750 "name" : "create_pool",
29751 "parameters" : {
29752 "additionalProperties" : 0,
29753 "properties" : {
29754 "comment" : {
29755 "optional" : 1,
013dc89f
DM
29756 "type" : "string",
29757 "typetext" : "<string>"
7aacca6f 29758 },
44660702
DM
29759 "poolid" : {
29760 "format" : "pve-poolid",
013dc89f
DM
29761 "type" : "string",
29762 "typetext" : "<string>"
56122987
DM
29763 }
29764 }
29765 },
56122987 29766 "permissions" : {
44660702
DM
29767 "check" : [
29768 "perm",
29769 "/pool/{poolid}",
29770 [
29771 "Pool.Allocate"
29772 ]
29773 ]
56122987 29774 },
44660702
DM
29775 "protected" : 1,
29776 "returns" : {
29777 "type" : "null"
29778 }
29779 }
29780 },
29781 "leaf" : 0,
29782 "path" : "/pools",
29783 "text" : "pools"
29784 },
29785 {
29786 "info" : {
29787 "GET" : {
29788 "description" : "API version details. The result also includes the global datacenter confguration.",
29789 "method" : "GET",
29790 "name" : "version",
7aacca6f
DM
29791 "parameters" : {
29792 "additionalProperties" : 0
29793 },
44660702
DM
29794 "permissions" : {
29795 "user" : "all"
29796 },
29797 "returns" : {
29798 "properties" : {
29799 "release" : {
29800 "type" : "string"
29801 },
29802 "repoid" : {
29803 "type" : "string"
29804 },
29805 "version" : {
29806 "type" : "string"
29807 }
29808 },
29809 "type" : "object"
29810 }
56122987
DM
29811 }
29812 },
44660702
DM
29813 "leaf" : 1,
29814 "path" : "/version",
56122987
DM
29815 "text" : "version"
29816 }
29817]
29818;
29819