]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update generated docs
[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>"
139 }
140 },
141 "type" : "object"
142 },
143 "permissions" : {
144 "check" : [
145 "perm",
146 "/storage",
147 [
148 "Datastore.Allocate"
149 ]
150 ]
151 },
152 "protected" : 1,
153 "returns" : {
154 "type" : "null"
155 }
156 }
157 },
158 "leaf" : 1,
159 "path" : "/cluster/replication/{id}",
160 "text" : "{id}"
161 }
162 ],
163 "info" : {
164 "GET" : {
165 "description" : "List replication jobs.",
166 "method" : "GET",
167 "name" : "index",
168 "parameters" : {
169 "additionalProperties" : 0
170 },
171 "permissions" : {
172 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
173 "user" : "all"
174 },
175 "returns" : {
176 "items" : {
177 "properties" : {},
178 "type" : "object"
179 },
180 "links" : [
181 {
182 "href" : "{id}",
183 "rel" : "child"
184 }
185 ],
186 "type" : "array"
187 }
188 },
189 "POST" : {
190 "description" : "Create a new replication job",
191 "method" : "POST",
192 "name" : "create",
193 "parameters" : {
194 "additionalProperties" : 0,
195 "properties" : {
196 "comment" : {
197 "description" : "Description.",
198 "maxLength" : 4096,
199 "optional" : 1,
200 "type" : "string",
201 "typetext" : "<string>"
202 },
203 "disable" : {
204 "description" : "Flag to disable/deactivate the entry.",
205 "optional" : 1,
206 "type" : "boolean",
207 "typetext" : "<boolean>"
208 },
209 "id" : {
210 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
211 "format" : "pve-replication-job-id",
212 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
213 "type" : "string"
214 },
215 "rate" : {
216 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
217 "minimum" : 1,
218 "optional" : 1,
219 "type" : "number",
220 "typetext" : "<number> (1 - N)"
221 },
222 "remove_job" : {
223 "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.",
224 "enum" : [
225 "local",
226 "full"
227 ],
228 "optional" : 1,
229 "type" : "string"
230 },
231 "schedule" : {
232 "default" : "*/15",
233 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
234 "format" : "pve-calendar-event",
235 "maxLength" : 128,
236 "optional" : 1,
237 "type" : "string",
238 "typetext" : "<string>"
239 },
240 "target" : {
241 "description" : "Target node.",
242 "format" : "pve-node",
243 "optional" : 0,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
247 "type" : {
248 "description" : "Section type.",
249 "enum" : [
250 "local"
251 ],
252 "type" : "string"
253 }
254 },
255 "type" : "object"
256 },
257 "permissions" : {
258 "check" : [
259 "perm",
260 "/storage",
261 [
262 "Datastore.Allocate"
263 ]
264 ]
265 },
266 "protected" : 1,
267 "returns" : {
268 "type" : "null"
269 }
270 }
271 },
272 "leaf" : 0,
273 "path" : "/cluster/replication",
274 "text" : "replication"
275 },
32d876b5
DM
276 {
277 "children" : [
278 {
27a7acb2
DM
279 "children" : [
280 {
281 "info" : {
282 "DELETE" : {
283 "description" : "Removes a node from the cluster configuration.",
284 "method" : "DELETE",
285 "name" : "delnode",
286 "parameters" : {
287 "additionalProperties" : 0,
288 "properties" : {
289 "node" : {
290 "description" : "The cluster node name.",
291 "format" : "pve-node",
292 "type" : "string",
293 "typetext" : "<string>"
294 }
295 }
296 },
297 "protected" : 1,
298 "returns" : {
299 "type" : "null"
300 }
301 },
302 "POST" : {
303 "description" : "Adds a node to the cluster configuration.",
304 "method" : "POST",
305 "name" : "addnode",
306 "parameters" : {
307 "additionalProperties" : 0,
308 "properties" : {
309 "force" : {
310 "description" : "Do not throw error if node already exists.",
311 "optional" : 1,
312 "type" : "boolean",
313 "typetext" : "<boolean>"
314 },
315 "node" : {
316 "description" : "The cluster node name.",
317 "format" : "pve-node",
318 "type" : "string",
319 "typetext" : "<string>"
320 },
321 "nodeid" : {
322 "description" : "Node id for this node.",
323 "minimum" : 1,
324 "optional" : 1,
325 "type" : "integer",
326 "typetext" : "<integer> (1 - N)"
327 },
328 "ring0_addr" : {
329 "default" : "Hostname of the node",
330 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
331 "format" : "address",
332 "optional" : 1,
333 "type" : "string",
334 "typetext" : "<string>"
335 },
336 "ring1_addr" : {
337 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
338 "format" : "address",
339 "optional" : 1,
340 "type" : "string",
341 "typetext" : "<string>"
342 },
343 "votes" : {
344 "description" : "Number of votes for this node",
345 "minimum" : 0,
346 "optional" : 1,
347 "type" : "integer",
348 "typetext" : "<integer> (0 - N)"
349 }
350 }
351 },
352 "protected" : 1,
353 "returns" : {
354 "properties" : {
355 "corosync_authkey" : {
356 "type" : "string"
357 },
358 "corosync_conf" : {
359 "type" : "string"
360 }
361 },
362 "type" : "object"
363 }
364 }
365 },
366 "leaf" : 1,
367 "path" : "/cluster/config/nodes/{node}",
368 "text" : "{node}"
369 }
370 ],
32d876b5
DM
371 "info" : {
372 "GET" : {
373 "description" : "Corosync node list.",
374 "method" : "GET",
375 "name" : "nodes",
376 "parameters" : {
377 "additionalProperties" : 0
378 },
5d9c884c
DM
379 "permissions" : {
380 "check" : [
381 "perm",
382 "/",
383 [
384 "Sys.Audit"
385 ]
386 ]
387 },
32d876b5
DM
388 "returns" : {
389 "items" : {
390 "properties" : {
391 "node" : {
392 "type" : "string"
393 }
394 },
395 "type" : "object"
396 },
397 "links" : [
398 {
399 "href" : "{node}",
400 "rel" : "child"
401 }
402 ],
403 "type" : "array"
404 }
405 }
406 },
27a7acb2 407 "leaf" : 0,
32d876b5
DM
408 "path" : "/cluster/config/nodes",
409 "text" : "nodes"
410 },
27a7acb2
DM
411 {
412 "info" : {
413 "GET" : {
414 "description" : "Get information needed to join this cluster over the connected node.",
415 "method" : "GET",
416 "name" : "join_info",
417 "parameters" : {
418 "additionalProperties" : 0,
419 "properties" : {
420 "node" : {
421 "default" : "current connected node",
422 "description" : "The node for which the joinee gets the nodeinfo. ",
423 "format" : "pve-node",
424 "optional" : 1,
425 "type" : "string",
426 "typetext" : "<string>"
427 }
428 }
429 },
430 "returns" : {
431 "additionalProperties" : 0,
432 "properties" : {
433 "config_digest" : {
434 "type" : "string"
435 },
436 "nodelist" : {
437 "items" : {
438 "additionalProperties" : 1,
439 "properties" : {
440 "name" : {
441 "description" : "The cluster node name.",
442 "format" : "pve-node",
443 "type" : "string"
444 },
445 "nodeid" : {
446 "description" : "Node id for this node.",
447 "minimum" : 1,
448 "optional" : 1,
449 "type" : "integer"
450 },
451 "pve_addr" : {
452 "format" : "ip",
453 "type" : "string"
454 },
455 "pve_fp" : {
456 "description" : "Certificate SHA 256 fingerprint.",
457 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
458 "type" : "string"
459 },
460 "quorum_votes" : {
461 "minimum" : 0,
462 "type" : "integer"
463 },
464 "ring0_addr" : {
465 "default" : "Hostname of the node",
466 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
467 "format" : "address",
468 "optional" : 1,
469 "type" : "string"
470 }
471 },
472 "type" : "object"
473 },
474 "type" : "array"
475 },
476 "preferred_node" : {
477 "description" : "The cluster node name.",
478 "format" : "pve-node",
479 "type" : "string"
480 },
481 "totem" : {
482 "type" : "object"
483 }
484 },
485 "type" : "object"
486 }
487 },
488 "POST" : {
489 "description" : "Joins this node into an existing cluster.",
490 "method" : "POST",
491 "name" : "join",
492 "parameters" : {
493 "additionalProperties" : 0,
494 "properties" : {
495 "fingerprint" : {
496 "description" : "Certificate SHA 256 fingerprint.",
497 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
498 "type" : "string"
499 },
500 "force" : {
501 "description" : "Do not throw error if node already exists.",
502 "optional" : 1,
503 "type" : "boolean",
504 "typetext" : "<boolean>"
505 },
506 "hostname" : {
507 "description" : "Hostname (or IP) of an existing cluster member.",
508 "type" : "string",
509 "typetext" : "<string>"
510 },
511 "nodeid" : {
512 "description" : "Node id for this node.",
513 "minimum" : 1,
514 "optional" : 1,
515 "type" : "integer",
516 "typetext" : "<integer> (1 - N)"
517 },
518 "password" : {
519 "description" : "Superuser (root) password of peer node.",
520 "maxLength" : 128,
521 "type" : "string",
522 "typetext" : "<string>"
523 },
524 "ring0_addr" : {
525 "default" : "IP resolved by node's hostname",
526 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
527 "format" : "address",
528 "optional" : 1,
529 "type" : "string",
530 "typetext" : "<string>"
531 },
532 "ring1_addr" : {
533 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
534 "format" : "address",
535 "optional" : 1,
536 "type" : "string",
537 "typetext" : "<string>"
538 },
539 "votes" : {
540 "description" : "Number of votes for this node",
541 "minimum" : 0,
542 "optional" : 1,
543 "type" : "integer",
544 "typetext" : "<integer> (0 - N)"
545 }
546 }
547 },
548 "protected" : 1,
549 "returns" : {
550 "type" : "string"
551 }
552 }
553 },
554 "leaf" : 1,
555 "path" : "/cluster/config/join",
556 "text" : "join"
557 },
32d876b5
DM
558 {
559 "info" : {
560 "GET" : {
561 "description" : "Get corosync totem protocol settings.",
562 "method" : "GET",
563 "name" : "totem",
564 "parameters" : {
565 "additionalProperties" : 0
566 },
5d9c884c
DM
567 "permissions" : {
568 "check" : [
569 "perm",
570 "/",
571 [
572 "Sys.Audit"
573 ]
574 ]
575 },
32d876b5
DM
576 "returns" : {
577 "properties" : {},
578 "type" : "object"
579 }
580 }
581 },
582 "leaf" : 1,
583 "path" : "/cluster/config/totem",
584 "text" : "totem"
585 }
586 ],
587 "info" : {
588 "GET" : {
589 "description" : "Directory index.",
590 "method" : "GET",
591 "name" : "index",
592 "parameters" : {
593 "additionalProperties" : 0
594 },
5d9c884c
DM
595 "permissions" : {
596 "check" : [
597 "perm",
598 "/",
599 [
600 "Sys.Audit"
601 ]
602 ]
603 },
32d876b5
DM
604 "returns" : {
605 "items" : {
606 "properties" : {},
607 "type" : "object"
608 },
609 "links" : [
610 {
611 "href" : "{name}",
612 "rel" : "child"
613 }
614 ],
615 "type" : "array"
616 }
27a7acb2
DM
617 },
618 "POST" : {
619 "description" : "Generate new cluster configuration.",
620 "method" : "POST",
621 "name" : "create",
622 "parameters" : {
623 "additionalProperties" : 0,
624 "properties" : {
625 "bindnet0_addr" : {
626 "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
627 "format" : "ip",
628 "optional" : 1,
629 "type" : "string",
630 "typetext" : "<string>"
631 },
632 "bindnet1_addr" : {
633 "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
634 "format" : "ip",
635 "optional" : 1,
636 "type" : "string",
637 "typetext" : "<string>"
638 },
639 "clustername" : {
640 "description" : "The name of the cluster.",
641 "format" : "pve-node",
642 "maxLength" : 15,
643 "type" : "string",
644 "typetext" : "<string>"
645 },
646 "nodeid" : {
647 "description" : "Node id for this node.",
648 "minimum" : 1,
649 "optional" : 1,
650 "type" : "integer",
651 "typetext" : "<integer> (1 - N)"
652 },
653 "ring0_addr" : {
654 "default" : "Hostname of the node",
655 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
656 "format" : "address",
657 "optional" : 1,
658 "type" : "string",
659 "typetext" : "<string>"
660 },
661 "ring1_addr" : {
662 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
663 "format" : "address",
664 "optional" : 1,
665 "type" : "string",
666 "typetext" : "<string>"
667 },
668 "votes" : {
669 "description" : "Number of votes for this node.",
670 "minimum" : 1,
671 "optional" : 1,
672 "type" : "integer",
673 "typetext" : "<integer> (1 - N)"
674 }
675 }
676 },
677 "protected" : 1,
678 "returns" : {
679 "type" : "string"
680 }
32d876b5
DM
681 }
682 },
683 "leaf" : 0,
684 "path" : "/cluster/config",
685 "text" : "config"
686 },
56122987 687 {
56122987
DM
688 "children" : [
689 {
56122987
DM
690 "children" : [
691 {
44660702
DM
692 "children" : [
693 {
694 "info" : {
695 "DELETE" : {
696 "description" : "Delete rule.",
697 "method" : "DELETE",
698 "name" : "delete_rule",
699 "parameters" : {
700 "additionalProperties" : 0,
701 "properties" : {
702 "digest" : {
703 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
704 "maxLength" : 40,
705 "optional" : 1,
013dc89f
DM
706 "type" : "string",
707 "typetext" : "<string>"
44660702
DM
708 },
709 "group" : {
710 "description" : "Security Group name.",
4bd7df8b 711 "maxLength" : 18,
44660702
DM
712 "minLength" : 2,
713 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
714 "type" : "string"
715 },
716 "pos" : {
717 "description" : "Update rule at position <pos>.",
718 "minimum" : 0,
719 "optional" : 1,
4bd7df8b 720 "type" : "integer",
013dc89f 721 "typetext" : "<integer> (0 - N)"
44660702
DM
722 }
723 }
724 },
725 "permissions" : {
726 "check" : [
727 "perm",
728 "/",
729 [
730 "Sys.Modify"
731 ]
732 ]
733 },
734 "protected" : 1,
735 "proxyto" : null,
736 "returns" : {
737 "type" : "null"
7aacca6f
DM
738 }
739 },
44660702
DM
740 "GET" : {
741 "description" : "Get single rule data.",
742 "method" : "GET",
743 "name" : "get_rule",
744 "parameters" : {
745 "additionalProperties" : 0,
746 "properties" : {
747 "group" : {
748 "description" : "Security Group name.",
4bd7df8b 749 "maxLength" : 18,
44660702
DM
750 "minLength" : 2,
751 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
752 "type" : "string"
753 },
754 "pos" : {
755 "description" : "Update rule at position <pos>.",
756 "minimum" : 0,
757 "optional" : 1,
4bd7df8b 758 "type" : "integer",
013dc89f 759 "typetext" : "<integer> (0 - N)"
44660702 760 }
7aacca6f 761 }
56122987 762 },
44660702
DM
763 "permissions" : {
764 "check" : [
765 "perm",
766 "/",
767 [
768 "Sys.Audit"
769 ]
770 ]
771 },
772 "proxyto" : null,
773 "returns" : {
774 "properties" : {
775 "pos" : {
776 "type" : "integer"
777 }
778 },
779 "type" : "object"
56122987 780 }
44660702 781 },
7aacca6f 782 "PUT" : {
44660702
DM
783 "description" : "Modify rule data.",
784 "method" : "PUT",
785 "name" : "update_rule",
7aacca6f
DM
786 "parameters" : {
787 "additionalProperties" : 0,
788 "properties" : {
44660702
DM
789 "action" : {
790 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 791 "maxLength" : 20,
44660702 792 "minLength" : 2,
7aacca6f 793 "optional" : 1,
44660702 794 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
795 "type" : "string"
796 },
44660702 797 "comment" : {
e94f0d56 798 "description" : "Descriptive comment.",
7aacca6f 799 "optional" : 1,
013dc89f
DM
800 "type" : "string",
801 "typetext" : "<string>"
7aacca6f 802 },
44660702
DM
803 "delete" : {
804 "description" : "A list of settings you want to delete.",
805 "format" : "pve-configid-list",
7aacca6f 806 "optional" : 1,
013dc89f
DM
807 "type" : "string",
808 "typetext" : "<string>"
7aacca6f 809 },
44660702
DM
810 "dest" : {
811 "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.",
812 "format" : "pve-fw-addr-spec",
7aacca6f 813 "optional" : 1,
013dc89f
DM
814 "type" : "string",
815 "typetext" : "<string>"
7aacca6f
DM
816 },
817 "digest" : {
818 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 819 "maxLength" : 40,
7aacca6f 820 "optional" : 1,
013dc89f
DM
821 "type" : "string",
822 "typetext" : "<string>"
7aacca6f 823 },
44660702
DM
824 "dport" : {
825 "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.",
826 "format" : "pve-fw-dport-spec",
7aacca6f 827 "optional" : 1,
013dc89f
DM
828 "type" : "string",
829 "typetext" : "<string>"
7aacca6f 830 },
44660702 831 "enable" : {
e94f0d56 832 "description" : "Flag to enable/disable a rule.",
44660702 833 "minimum" : 0,
7aacca6f 834 "optional" : 1,
4bd7df8b 835 "type" : "integer",
013dc89f 836 "typetext" : "<integer> (0 - N)"
7aacca6f 837 },
44660702
DM
838 "group" : {
839 "description" : "Security Group name.",
4bd7df8b 840 "maxLength" : 18,
44660702
DM
841 "minLength" : 2,
842 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
843 "type" : "string"
844 },
845 "iface" : {
846 "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.",
847 "format" : "pve-iface",
848 "maxLength" : 20,
849 "minLength" : 2,
7aacca6f 850 "optional" : 1,
013dc89f
DM
851 "type" : "string",
852 "typetext" : "<string>"
7aacca6f 853 },
44660702 854 "macro" : {
e94f0d56 855 "description" : "Use predefined standard macro.",
44660702
DM
856 "maxLength" : 128,
857 "optional" : 1,
013dc89f
DM
858 "type" : "string",
859 "typetext" : "<string>"
7aacca6f
DM
860 },
861 "moveto" : {
862 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 863 "minimum" : 0,
7aacca6f 864 "optional" : 1,
4bd7df8b 865 "type" : "integer",
013dc89f 866 "typetext" : "<integer> (0 - N)"
7aacca6f 867 },
44660702
DM
868 "pos" : {
869 "description" : "Update rule at position <pos>.",
870 "minimum" : 0,
871 "optional" : 1,
4bd7df8b 872 "type" : "integer",
013dc89f 873 "typetext" : "<integer> (0 - N)"
7aacca6f 874 },
44660702
DM
875 "proto" : {
876 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
877 "format" : "pve-fw-protocol-spec",
7aacca6f 878 "optional" : 1,
013dc89f
DM
879 "type" : "string",
880 "typetext" : "<string>"
44660702
DM
881 },
882 "source" : {
883 "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.",
884 "format" : "pve-fw-addr-spec",
885 "optional" : 1,
013dc89f
DM
886 "type" : "string",
887 "typetext" : "<string>"
44660702
DM
888 },
889 "sport" : {
890 "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.",
891 "format" : "pve-fw-sport-spec",
892 "optional" : 1,
013dc89f
DM
893 "type" : "string",
894 "typetext" : "<string>"
7aacca6f
DM
895 },
896 "type" : {
e94f0d56 897 "description" : "Rule type.",
7aacca6f
DM
898 "enum" : [
899 "in",
900 "out",
901 "group"
902 ],
903 "optional" : 1,
904 "type" : "string"
905 }
906 }
907 },
7aacca6f
DM
908 "permissions" : {
909 "check" : [
910 "perm",
911 "/",
912 [
913 "Sys.Modify"
914 ]
915 ]
916 },
44660702 917 "protected" : 1,
7aacca6f
DM
918 "proxyto" : null,
919 "returns" : {
920 "type" : "null"
921 }
7aacca6f
DM
922 }
923 },
44660702 924 "leaf" : 1,
7aacca6f 925 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 926 "text" : "{pos}"
7aacca6f
DM
927 }
928 ],
44660702
DM
929 "info" : {
930 "DELETE" : {
931 "description" : "Delete security group.",
932 "method" : "DELETE",
933 "name" : "delete_security_group",
934 "parameters" : {
935 "additionalProperties" : 0,
936 "properties" : {
937 "group" : {
938 "description" : "Security Group name.",
4bd7df8b 939 "maxLength" : 18,
44660702
DM
940 "minLength" : 2,
941 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
942 "type" : "string"
943 }
56122987 944 }
7aacca6f 945 },
44660702
DM
946 "permissions" : {
947 "check" : [
948 "perm",
949 "/",
950 [
951 "Sys.Modify"
952 ]
7aacca6f 953 ]
56122987 954 },
44660702
DM
955 "protected" : 1,
956 "returns" : {
957 "type" : "null"
56122987 958 }
7aacca6f 959 },
7aacca6f 960 "GET" : {
44660702 961 "description" : "List rules.",
7aacca6f 962 "method" : "GET",
44660702
DM
963 "name" : "get_rules",
964 "parameters" : {
965 "additionalProperties" : 0,
7aacca6f 966 "properties" : {
44660702
DM
967 "group" : {
968 "description" : "Security Group name.",
4bd7df8b 969 "maxLength" : 18,
44660702
DM
970 "minLength" : 2,
971 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
972 "type" : "string"
7aacca6f 973 }
44660702 974 }
7aacca6f
DM
975 },
976 "permissions" : {
977 "check" : [
978 "perm",
979 "/",
980 [
981 "Sys.Audit"
982 ]
983 ]
984 },
44660702
DM
985 "proxyto" : null,
986 "returns" : {
987 "items" : {
988 "properties" : {
989 "pos" : {
990 "type" : "integer"
991 }
992 },
993 "type" : "object"
994 },
995 "links" : [
996 {
997 "href" : "{pos}",
998 "rel" : "child"
999 }
1000 ],
1001 "type" : "array"
1002 }
1003 },
1004 "POST" : {
1005 "description" : "Create new rule.",
1006 "method" : "POST",
1007 "name" : "create_rule",
7aacca6f
DM
1008 "parameters" : {
1009 "additionalProperties" : 0,
1010 "properties" : {
44660702
DM
1011 "action" : {
1012 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1013 "maxLength" : 20,
56122987 1014 "minLength" : 2,
44660702
DM
1015 "optional" : 0,
1016 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1017 "type" : "string"
56122987 1018 },
44660702 1019 "comment" : {
e94f0d56 1020 "description" : "Descriptive comment.",
56122987 1021 "optional" : 1,
013dc89f
DM
1022 "type" : "string",
1023 "typetext" : "<string>"
56122987 1024 },
44660702
DM
1025 "dest" : {
1026 "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
1027 "format" : "pve-fw-addr-spec",
1028 "optional" : 1,
013dc89f
DM
1029 "type" : "string",
1030 "typetext" : "<string>"
56122987 1031 },
44660702
DM
1032 "digest" : {
1033 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1034 "maxLength" : 40,
7aacca6f 1035 "optional" : 1,
013dc89f
DM
1036 "type" : "string",
1037 "typetext" : "<string>"
56122987 1038 },
44660702
DM
1039 "dport" : {
1040 "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.",
1041 "format" : "pve-fw-dport-spec",
56122987 1042 "optional" : 1,
013dc89f
DM
1043 "type" : "string",
1044 "typetext" : "<string>"
56122987 1045 },
7aacca6f 1046 "enable" : {
e94f0d56 1047 "description" : "Flag to enable/disable a rule.",
44660702 1048 "minimum" : 0,
7aacca6f 1049 "optional" : 1,
4bd7df8b 1050 "type" : "integer",
013dc89f 1051 "typetext" : "<integer> (0 - N)"
56122987 1052 },
44660702
DM
1053 "group" : {
1054 "description" : "Security Group name.",
4bd7df8b 1055 "maxLength" : 18,
44660702 1056 "minLength" : 2,
7aacca6f 1057 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1058 "type" : "string"
1059 },
1060 "iface" : {
1061 "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.",
1062 "format" : "pve-iface",
1063 "maxLength" : 20,
7aacca6f 1064 "minLength" : 2,
44660702 1065 "optional" : 1,
013dc89f
DM
1066 "type" : "string",
1067 "typetext" : "<string>"
56122987 1068 },
7aacca6f 1069 "macro" : {
e94f0d56 1070 "description" : "Use predefined standard macro.",
44660702 1071 "maxLength" : 128,
7aacca6f 1072 "optional" : 1,
013dc89f
DM
1073 "type" : "string",
1074 "typetext" : "<string>"
7aacca6f
DM
1075 },
1076 "pos" : {
1077 "description" : "Update rule at position <pos>.",
44660702 1078 "minimum" : 0,
56122987 1079 "optional" : 1,
4bd7df8b 1080 "type" : "integer",
013dc89f 1081 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1082 },
1083 "proto" : {
1084 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1085 "format" : "pve-fw-protocol-spec",
7aacca6f 1086 "optional" : 1,
013dc89f
DM
1087 "type" : "string",
1088 "typetext" : "<string>"
44660702
DM
1089 },
1090 "source" : {
1091 "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.",
1092 "format" : "pve-fw-addr-spec",
1093 "optional" : 1,
013dc89f
DM
1094 "type" : "string",
1095 "typetext" : "<string>"
44660702
DM
1096 },
1097 "sport" : {
1098 "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.",
1099 "format" : "pve-fw-sport-spec",
1100 "optional" : 1,
013dc89f
DM
1101 "type" : "string",
1102 "typetext" : "<string>"
44660702
DM
1103 },
1104 "type" : {
e94f0d56 1105 "description" : "Rule type.",
44660702
DM
1106 "enum" : [
1107 "in",
1108 "out",
1109 "group"
1110 ],
1111 "optional" : 0,
1112 "type" : "string"
56122987 1113 }
44660702 1114 }
56122987 1115 },
56122987
DM
1116 "permissions" : {
1117 "check" : [
1118 "perm",
1119 "/",
1120 [
1121 "Sys.Modify"
1122 ]
1123 ]
1124 },
44660702
DM
1125 "protected" : 1,
1126 "proxyto" : null,
56122987
DM
1127 "returns" : {
1128 "type" : "null"
7aacca6f 1129 }
44660702
DM
1130 }
1131 },
1132 "leaf" : 0,
1133 "path" : "/cluster/firewall/groups/{group}",
1134 "text" : "{group}"
1135 }
1136 ],
1137 "info" : {
1138 "GET" : {
1139 "description" : "List security groups.",
1140 "method" : "GET",
1141 "name" : "list_security_groups",
1142 "parameters" : {
1143 "additionalProperties" : 0
1144 },
1145 "permissions" : {
1146 "user" : "all"
1147 },
1148 "returns" : {
1149 "items" : {
1150 "properties" : {
1151 "comment" : {
1152 "optional" : 1,
1153 "type" : "string"
1154 },
1155 "digest" : {
1156 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1157 "maxLength" : 40,
1158 "optional" : 0,
1159 "type" : "string"
1160 },
1161 "group" : {
1162 "description" : "Security Group name.",
4bd7df8b 1163 "maxLength" : 18,
44660702
DM
1164 "minLength" : 2,
1165 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1166 "type" : "string"
1167 }
1168 },
1169 "type" : "object"
56122987 1170 },
44660702
DM
1171 "links" : [
1172 {
1173 "href" : "{group}",
1174 "rel" : "child"
1175 }
1176 ],
1177 "type" : "array"
1178 }
1179 },
1180 "POST" : {
1181 "description" : "Create new security group.",
1182 "method" : "POST",
1183 "name" : "create_security_group",
1184 "parameters" : {
1185 "additionalProperties" : 0,
1186 "properties" : {
1187 "comment" : {
1188 "optional" : 1,
013dc89f
DM
1189 "type" : "string",
1190 "typetext" : "<string>"
44660702
DM
1191 },
1192 "digest" : {
1193 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1194 "maxLength" : 40,
1195 "optional" : 1,
013dc89f
DM
1196 "type" : "string",
1197 "typetext" : "<string>"
44660702
DM
1198 },
1199 "group" : {
1200 "description" : "Security Group name.",
4bd7df8b 1201 "maxLength" : 18,
44660702
DM
1202 "minLength" : 2,
1203 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1204 "type" : "string"
1205 },
1206 "rename" : {
1207 "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 1208 "maxLength" : 18,
44660702
DM
1209 "minLength" : 2,
1210 "optional" : 1,
1211 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1212 "type" : "string"
1213 }
1214 }
1215 },
1216 "permissions" : {
1217 "check" : [
1218 "perm",
1219 "/",
1220 [
1221 "Sys.Modify"
1222 ]
1223 ]
1224 },
1225 "protected" : 1,
1226 "returns" : {
1227 "type" : "null"
1228 }
1229 }
1230 },
1231 "leaf" : 0,
1232 "path" : "/cluster/firewall/groups",
1233 "text" : "groups"
1234 },
1235 {
1236 "children" : [
1237 {
1238 "info" : {
7aacca6f 1239 "DELETE" : {
44660702
DM
1240 "description" : "Delete rule.",
1241 "method" : "DELETE",
1242 "name" : "delete_rule",
1243 "parameters" : {
1244 "additionalProperties" : 0,
1245 "properties" : {
1246 "digest" : {
1247 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1248 "maxLength" : 40,
1249 "optional" : 1,
013dc89f
DM
1250 "type" : "string",
1251 "typetext" : "<string>"
44660702
DM
1252 },
1253 "pos" : {
1254 "description" : "Update rule at position <pos>.",
1255 "minimum" : 0,
1256 "optional" : 1,
4bd7df8b 1257 "type" : "integer",
013dc89f 1258 "typetext" : "<integer> (0 - N)"
44660702
DM
1259 }
1260 }
1261 },
56122987
DM
1262 "permissions" : {
1263 "check" : [
1264 "perm",
1265 "/",
1266 [
7aacca6f 1267 "Sys.Modify"
56122987
DM
1268 ]
1269 ]
1270 },
44660702 1271 "protected" : 1,
56122987
DM
1272 "proxyto" : null,
1273 "returns" : {
7aacca6f 1274 "type" : "null"
44660702
DM
1275 }
1276 },
1277 "GET" : {
1278 "description" : "Get single rule data.",
1279 "method" : "GET",
1280 "name" : "get_rule",
56122987
DM
1281 "parameters" : {
1282 "additionalProperties" : 0,
1283 "properties" : {
1284 "pos" : {
7aacca6f 1285 "description" : "Update rule at position <pos>.",
44660702 1286 "minimum" : 0,
56122987 1287 "optional" : 1,
4bd7df8b 1288 "type" : "integer",
013dc89f 1289 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1290 }
1291 }
1292 },
7aacca6f
DM
1293 "permissions" : {
1294 "check" : [
1295 "perm",
1296 "/",
1297 [
1298 "Sys.Audit"
1299 ]
1300 ]
56122987 1301 },
44660702
DM
1302 "proxyto" : null,
1303 "returns" : {
7aacca6f 1304 "properties" : {
44660702
DM
1305 "pos" : {
1306 "type" : "integer"
7aacca6f 1307 }
44660702
DM
1308 },
1309 "type" : "object"
1310 }
56122987 1311 },
44660702
DM
1312 "PUT" : {
1313 "description" : "Modify rule data.",
1314 "method" : "PUT",
1315 "name" : "update_rule",
7aacca6f
DM
1316 "parameters" : {
1317 "additionalProperties" : 0,
1318 "properties" : {
44660702
DM
1319 "action" : {
1320 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1321 "maxLength" : 20,
1322 "minLength" : 2,
1323 "optional" : 1,
1324 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1325 "type" : "string"
7aacca6f 1326 },
44660702 1327 "comment" : {
e94f0d56 1328 "description" : "Descriptive comment.",
44660702 1329 "optional" : 1,
013dc89f
DM
1330 "type" : "string",
1331 "typetext" : "<string>"
7aacca6f 1332 },
44660702
DM
1333 "delete" : {
1334 "description" : "A list of settings you want to delete.",
1335 "format" : "pve-configid-list",
1336 "optional" : 1,
013dc89f
DM
1337 "type" : "string",
1338 "typetext" : "<string>"
44660702
DM
1339 },
1340 "dest" : {
1341 "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.",
1342 "format" : "pve-fw-addr-spec",
1343 "optional" : 1,
013dc89f
DM
1344 "type" : "string",
1345 "typetext" : "<string>"
44660702
DM
1346 },
1347 "digest" : {
1348 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1349 "maxLength" : 40,
1350 "optional" : 1,
013dc89f
DM
1351 "type" : "string",
1352 "typetext" : "<string>"
44660702
DM
1353 },
1354 "dport" : {
1355 "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.",
1356 "format" : "pve-fw-dport-spec",
1357 "optional" : 1,
013dc89f
DM
1358 "type" : "string",
1359 "typetext" : "<string>"
44660702
DM
1360 },
1361 "enable" : {
e94f0d56 1362 "description" : "Flag to enable/disable a rule.",
44660702
DM
1363 "minimum" : 0,
1364 "optional" : 1,
4bd7df8b 1365 "type" : "integer",
013dc89f 1366 "typetext" : "<integer> (0 - N)"
44660702
DM
1367 },
1368 "iface" : {
1369 "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.",
1370 "format" : "pve-iface",
1371 "maxLength" : 20,
7aacca6f 1372 "minLength" : 2,
44660702 1373 "optional" : 1,
013dc89f
DM
1374 "type" : "string",
1375 "typetext" : "<string>"
7aacca6f 1376 },
44660702 1377 "macro" : {
e94f0d56 1378 "description" : "Use predefined standard macro.",
44660702
DM
1379 "maxLength" : 128,
1380 "optional" : 1,
013dc89f
DM
1381 "type" : "string",
1382 "typetext" : "<string>"
44660702
DM
1383 },
1384 "moveto" : {
1385 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1386 "minimum" : 0,
1387 "optional" : 1,
4bd7df8b 1388 "type" : "integer",
013dc89f 1389 "typetext" : "<integer> (0 - N)"
44660702
DM
1390 },
1391 "pos" : {
1392 "description" : "Update rule at position <pos>.",
1393 "minimum" : 0,
1394 "optional" : 1,
4bd7df8b 1395 "type" : "integer",
013dc89f 1396 "typetext" : "<integer> (0 - N)"
44660702
DM
1397 },
1398 "proto" : {
1399 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1400 "format" : "pve-fw-protocol-spec",
1401 "optional" : 1,
013dc89f
DM
1402 "type" : "string",
1403 "typetext" : "<string>"
44660702
DM
1404 },
1405 "source" : {
1406 "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.",
1407 "format" : "pve-fw-addr-spec",
1408 "optional" : 1,
013dc89f
DM
1409 "type" : "string",
1410 "typetext" : "<string>"
44660702
DM
1411 },
1412 "sport" : {
1413 "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.",
1414 "format" : "pve-fw-sport-spec",
1415 "optional" : 1,
013dc89f
DM
1416 "type" : "string",
1417 "typetext" : "<string>"
44660702
DM
1418 },
1419 "type" : {
e94f0d56 1420 "description" : "Rule type.",
44660702
DM
1421 "enum" : [
1422 "in",
1423 "out",
1424 "group"
1425 ],
1426 "optional" : 1,
1427 "type" : "string"
7aacca6f 1428 }
56122987
DM
1429 }
1430 },
7aacca6f
DM
1431 "permissions" : {
1432 "check" : [
1433 "perm",
1434 "/",
1435 [
1436 "Sys.Modify"
1437 ]
1438 ]
1439 },
44660702
DM
1440 "protected" : 1,
1441 "proxyto" : null,
1442 "returns" : {
1443 "type" : "null"
1444 }
7aacca6f 1445 }
56122987 1446 },
44660702
DM
1447 "leaf" : 1,
1448 "path" : "/cluster/firewall/rules/{pos}",
1449 "text" : "{pos}"
7aacca6f
DM
1450 }
1451 ],
7aacca6f 1452 "info" : {
44660702
DM
1453 "GET" : {
1454 "description" : "List rules.",
1455 "method" : "GET",
1456 "name" : "get_rules",
7aacca6f 1457 "parameters" : {
44660702 1458 "additionalProperties" : 0
7aacca6f
DM
1459 },
1460 "permissions" : {
1461 "check" : [
1462 "perm",
1463 "/",
1464 [
44660702 1465 "Sys.Audit"
7aacca6f
DM
1466 ]
1467 ]
1468 },
44660702 1469 "proxyto" : null,
7aacca6f 1470 "returns" : {
7aacca6f
DM
1471 "items" : {
1472 "properties" : {
44660702
DM
1473 "pos" : {
1474 "type" : "integer"
7aacca6f
DM
1475 }
1476 },
1477 "type" : "object"
56122987 1478 },
7aacca6f
DM
1479 "links" : [
1480 {
44660702 1481 "href" : "{pos}",
7aacca6f
DM
1482 "rel" : "child"
1483 }
44660702
DM
1484 ],
1485 "type" : "array"
7aacca6f 1486 }
44660702 1487 },
7aacca6f 1488 "POST" : {
44660702 1489 "description" : "Create new rule.",
7aacca6f 1490 "method" : "POST",
44660702 1491 "name" : "create_rule",
7aacca6f
DM
1492 "parameters" : {
1493 "additionalProperties" : 0,
1494 "properties" : {
44660702
DM
1495 "action" : {
1496 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1497 "maxLength" : 20,
7aacca6f 1498 "minLength" : 2,
44660702
DM
1499 "optional" : 0,
1500 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1501 "type" : "string"
7aacca6f
DM
1502 },
1503 "comment" : {
e94f0d56 1504 "description" : "Descriptive comment.",
7aacca6f 1505 "optional" : 1,
013dc89f
DM
1506 "type" : "string",
1507 "typetext" : "<string>"
44660702
DM
1508 },
1509 "dest" : {
1510 "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.",
1511 "format" : "pve-fw-addr-spec",
1512 "optional" : 1,
013dc89f
DM
1513 "type" : "string",
1514 "typetext" : "<string>"
44660702
DM
1515 },
1516 "digest" : {
1517 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1518 "maxLength" : 40,
1519 "optional" : 1,
013dc89f
DM
1520 "type" : "string",
1521 "typetext" : "<string>"
44660702
DM
1522 },
1523 "dport" : {
1524 "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.",
1525 "format" : "pve-fw-dport-spec",
1526 "optional" : 1,
013dc89f
DM
1527 "type" : "string",
1528 "typetext" : "<string>"
44660702
DM
1529 },
1530 "enable" : {
e94f0d56 1531 "description" : "Flag to enable/disable a rule.",
44660702
DM
1532 "minimum" : 0,
1533 "optional" : 1,
4bd7df8b 1534 "type" : "integer",
013dc89f 1535 "typetext" : "<integer> (0 - N)"
44660702
DM
1536 },
1537 "iface" : {
1538 "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.",
1539 "format" : "pve-iface",
1540 "maxLength" : 20,
1541 "minLength" : 2,
1542 "optional" : 1,
013dc89f
DM
1543 "type" : "string",
1544 "typetext" : "<string>"
44660702
DM
1545 },
1546 "macro" : {
e94f0d56 1547 "description" : "Use predefined standard macro.",
44660702
DM
1548 "maxLength" : 128,
1549 "optional" : 1,
013dc89f
DM
1550 "type" : "string",
1551 "typetext" : "<string>"
44660702
DM
1552 },
1553 "pos" : {
1554 "description" : "Update rule at position <pos>.",
1555 "minimum" : 0,
1556 "optional" : 1,
4bd7df8b 1557 "type" : "integer",
013dc89f 1558 "typetext" : "<integer> (0 - N)"
44660702
DM
1559 },
1560 "proto" : {
1561 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1562 "format" : "pve-fw-protocol-spec",
1563 "optional" : 1,
013dc89f
DM
1564 "type" : "string",
1565 "typetext" : "<string>"
44660702
DM
1566 },
1567 "source" : {
1568 "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.",
1569 "format" : "pve-fw-addr-spec",
1570 "optional" : 1,
013dc89f
DM
1571 "type" : "string",
1572 "typetext" : "<string>"
44660702
DM
1573 },
1574 "sport" : {
1575 "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.",
1576 "format" : "pve-fw-sport-spec",
1577 "optional" : 1,
013dc89f
DM
1578 "type" : "string",
1579 "typetext" : "<string>"
44660702
DM
1580 },
1581 "type" : {
e94f0d56 1582 "description" : "Rule type.",
44660702
DM
1583 "enum" : [
1584 "in",
1585 "out",
1586 "group"
1587 ],
1588 "optional" : 0,
1589 "type" : "string"
7aacca6f
DM
1590 }
1591 }
1592 },
1593 "permissions" : {
1594 "check" : [
1595 "perm",
1596 "/",
1597 [
1598 "Sys.Modify"
1599 ]
1600 ]
1601 },
44660702
DM
1602 "protected" : 1,
1603 "proxyto" : null,
7aacca6f 1604 "returns" : {
44660702
DM
1605 "type" : "null"
1606 }
1607 }
1608 },
1609 "leaf" : 0,
1610 "path" : "/cluster/firewall/rules",
1611 "text" : "rules"
1612 },
1613 {
1614 "children" : [
1615 {
1616 "children" : [
1617 {
1618 "info" : {
1619 "DELETE" : {
1620 "description" : "Remove IP or Network from IPSet.",
1621 "method" : "DELETE",
1622 "name" : "remove_ip",
1623 "parameters" : {
1624 "additionalProperties" : 0,
1625 "properties" : {
1626 "cidr" : {
1627 "description" : "Network/IP specification in CIDR format.",
1628 "format" : "IPorCIDRorAlias",
013dc89f
DM
1629 "type" : "string",
1630 "typetext" : "<string>"
44660702
DM
1631 },
1632 "digest" : {
1633 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1634 "maxLength" : 40,
1635 "optional" : 1,
013dc89f
DM
1636 "type" : "string",
1637 "typetext" : "<string>"
44660702
DM
1638 },
1639 "name" : {
1640 "description" : "IP set name.",
1641 "maxLength" : 64,
1642 "minLength" : 2,
1643 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1644 "type" : "string"
1645 }
1646 }
1647 },
1648 "permissions" : {
1649 "check" : [
1650 "perm",
1651 "/",
1652 [
1653 "Sys.Modify"
1654 ]
1655 ]
1656 },
1657 "protected" : 1,
1658 "returns" : {
1659 "type" : "null"
1660 }
7aacca6f 1661 },
44660702
DM
1662 "GET" : {
1663 "description" : "Read IP or Network settings from IPSet.",
1664 "method" : "GET",
1665 "name" : "read_ip",
1666 "parameters" : {
1667 "additionalProperties" : 0,
1668 "properties" : {
1669 "cidr" : {
1670 "description" : "Network/IP specification in CIDR format.",
1671 "format" : "IPorCIDRorAlias",
013dc89f
DM
1672 "type" : "string",
1673 "typetext" : "<string>"
44660702
DM
1674 },
1675 "name" : {
1676 "description" : "IP set name.",
1677 "maxLength" : 64,
1678 "minLength" : 2,
1679 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1680 "type" : "string"
1681 }
1682 }
1683 },
1684 "permissions" : {
1685 "check" : [
1686 "perm",
1687 "/",
1688 [
1689 "Sys.Audit"
1690 ]
1691 ]
1692 },
1693 "protected" : 1,
1694 "returns" : {
1695 "type" : "object"
1696 }
7aacca6f 1697 },
44660702
DM
1698 "PUT" : {
1699 "description" : "Update IP or Network settings",
1700 "method" : "PUT",
1701 "name" : "update_ip",
1702 "parameters" : {
1703 "additionalProperties" : 0,
1704 "properties" : {
1705 "cidr" : {
1706 "description" : "Network/IP specification in CIDR format.",
1707 "format" : "IPorCIDRorAlias",
013dc89f
DM
1708 "type" : "string",
1709 "typetext" : "<string>"
44660702
DM
1710 },
1711 "comment" : {
1712 "optional" : 1,
013dc89f
DM
1713 "type" : "string",
1714 "typetext" : "<string>"
44660702
DM
1715 },
1716 "digest" : {
1717 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1718 "maxLength" : 40,
1719 "optional" : 1,
013dc89f
DM
1720 "type" : "string",
1721 "typetext" : "<string>"
44660702
DM
1722 },
1723 "name" : {
1724 "description" : "IP set name.",
1725 "maxLength" : 64,
1726 "minLength" : 2,
1727 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1728 "type" : "string"
1729 },
1730 "nomatch" : {
1731 "optional" : 1,
013dc89f
DM
1732 "type" : "boolean",
1733 "typetext" : "<boolean>"
44660702
DM
1734 }
1735 }
1736 },
1737 "permissions" : {
1738 "check" : [
1739 "perm",
1740 "/",
1741 [
1742 "Sys.Modify"
1743 ]
1744 ]
1745 },
1746 "protected" : 1,
1747 "returns" : {
1748 "type" : "null"
1749 }
7aacca6f
DM
1750 }
1751 },
44660702
DM
1752 "leaf" : 1,
1753 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1754 "text" : "{cidr}"
7aacca6f 1755 }
44660702 1756 ],
7aacca6f
DM
1757 "info" : {
1758 "DELETE" : {
44660702
DM
1759 "description" : "Delete IPSet",
1760 "method" : "DELETE",
1761 "name" : "delete_ipset",
56122987 1762 "parameters" : {
44660702 1763 "additionalProperties" : 0,
56122987
DM
1764 "properties" : {
1765 "name" : {
44660702 1766 "description" : "IP set name.",
56122987 1767 "maxLength" : 64,
44660702 1768 "minLength" : 2,
56122987 1769 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1770 "type" : "string"
56122987 1771 }
44660702 1772 }
7aacca6f 1773 },
56122987
DM
1774 "permissions" : {
1775 "check" : [
1776 "perm",
1777 "/",
1778 [
1779 "Sys.Modify"
1780 ]
1781 ]
1782 },
7aacca6f
DM
1783 "protected" : 1,
1784 "returns" : {
1785 "type" : "null"
44660702 1786 }
7aacca6f 1787 },
44660702
DM
1788 "GET" : {
1789 "description" : "List IPSet content",
1790 "method" : "GET",
1791 "name" : "get_ipset",
56122987
DM
1792 "parameters" : {
1793 "additionalProperties" : 0,
1794 "properties" : {
7aacca6f 1795 "name" : {
44660702 1796 "description" : "IP set name.",
7aacca6f 1797 "maxLength" : 64,
7aacca6f 1798 "minLength" : 2,
44660702 1799 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1800 "type" : "string"
56122987 1801 }
7aacca6f 1802 }
56122987 1803 },
56122987
DM
1804 "permissions" : {
1805 "check" : [
1806 "perm",
1807 "/",
1808 [
44660702 1809 "Sys.Audit"
56122987
DM
1810 ]
1811 ]
44660702
DM
1812 },
1813 "returns" : {
1814 "items" : {
1815 "properties" : {
1816 "cidr" : {
1817 "type" : "string"
1818 },
1819 "comment" : {
1820 "optional" : 1,
1821 "type" : "string"
1822 },
1823 "digest" : {
1824 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1825 "maxLength" : 40,
1826 "optional" : 0,
1827 "type" : "string"
1828 },
1829 "nomatch" : {
1830 "optional" : 1,
1831 "type" : "boolean"
1832 }
1833 },
1834 "type" : "object"
1835 },
1836 "links" : [
1837 {
1838 "href" : "{cidr}",
1839 "rel" : "child"
1840 }
1841 ],
1842 "type" : "array"
7aacca6f
DM
1843 }
1844 },
44660702
DM
1845 "POST" : {
1846 "description" : "Add IP or Network to IPSet.",
1847 "method" : "POST",
1848 "name" : "create_ip",
56122987
DM
1849 "parameters" : {
1850 "additionalProperties" : 0,
1851 "properties" : {
44660702
DM
1852 "cidr" : {
1853 "description" : "Network/IP specification in CIDR format.",
1854 "format" : "IPorCIDRorAlias",
013dc89f
DM
1855 "type" : "string",
1856 "typetext" : "<string>"
44660702
DM
1857 },
1858 "comment" : {
1859 "optional" : 1,
013dc89f
DM
1860 "type" : "string",
1861 "typetext" : "<string>"
44660702
DM
1862 },
1863 "name" : {
1864 "description" : "IP set name.",
1865 "maxLength" : 64,
1866 "minLength" : 2,
1867 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1868 "type" : "string"
1869 },
1870 "nomatch" : {
1871 "optional" : 1,
013dc89f
DM
1872 "type" : "boolean",
1873 "typetext" : "<boolean>"
56122987
DM
1874 }
1875 }
1876 },
56122987
DM
1877 "permissions" : {
1878 "check" : [
1879 "perm",
1880 "/",
1881 [
44660702 1882 "Sys.Modify"
56122987
DM
1883 ]
1884 ]
1885 },
44660702 1886 "protected" : 1,
56122987 1887 "returns" : {
44660702
DM
1888 "type" : "null"
1889 }
56122987
DM
1890 }
1891 },
44660702
DM
1892 "leaf" : 0,
1893 "path" : "/cluster/firewall/ipset/{name}",
1894 "text" : "{name}"
56122987
DM
1895 }
1896 ],
56122987 1897 "info" : {
44660702
DM
1898 "GET" : {
1899 "description" : "List IPSets",
1900 "method" : "GET",
1901 "name" : "ipset_index",
56122987 1902 "parameters" : {
7aacca6f 1903 "additionalProperties" : 0
56122987 1904 },
56122987
DM
1905 "permissions" : {
1906 "check" : [
1907 "perm",
1908 "/",
1909 [
7aacca6f 1910 "Sys.Audit"
56122987
DM
1911 ]
1912 ]
1913 },
56122987
DM
1914 "returns" : {
1915 "items" : {
1916 "properties" : {
44660702
DM
1917 "comment" : {
1918 "optional" : 1,
1919 "type" : "string"
56122987 1920 },
44660702
DM
1921 "digest" : {
1922 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1923 "maxLength" : 40,
1924 "optional" : 0,
1925 "type" : "string"
1926 },
1927 "name" : {
1928 "description" : "IP set name.",
1929 "maxLength" : 64,
1930 "minLength" : 2,
1931 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1932 "type" : "string"
56122987
DM
1933 }
1934 },
1935 "type" : "object"
44660702
DM
1936 },
1937 "links" : [
1938 {
1939 "href" : "{name}",
1940 "rel" : "child"
1941 }
1942 ],
1943 "type" : "array"
56122987 1944 }
44660702
DM
1945 },
1946 "POST" : {
1947 "description" : "Create new IPSet",
1948 "method" : "POST",
1949 "name" : "create_ipset",
7aacca6f
DM
1950 "parameters" : {
1951 "additionalProperties" : 0,
1952 "properties" : {
44660702
DM
1953 "comment" : {
1954 "optional" : 1,
013dc89f
DM
1955 "type" : "string",
1956 "typetext" : "<string>"
44660702
DM
1957 },
1958 "digest" : {
1959 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1960 "maxLength" : 40,
1961 "optional" : 1,
013dc89f
DM
1962 "type" : "string",
1963 "typetext" : "<string>"
44660702
DM
1964 },
1965 "name" : {
1966 "description" : "IP set name.",
1967 "maxLength" : 64,
1968 "minLength" : 2,
1969 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1970 "type" : "string"
1971 },
1972 "rename" : {
1973 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1974 "maxLength" : 64,
1975 "minLength" : 2,
1976 "optional" : 1,
1977 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1978 "type" : "string"
7aacca6f
DM
1979 }
1980 }
1981 },
56122987
DM
1982 "permissions" : {
1983 "check" : [
1984 "perm",
1985 "/",
1986 [
44660702 1987 "Sys.Modify"
56122987
DM
1988 ]
1989 ]
1990 },
44660702 1991 "protected" : 1,
56122987 1992 "returns" : {
44660702
DM
1993 "type" : "null"
1994 }
56122987 1995 }
7aacca6f 1996 },
44660702
DM
1997 "leaf" : 0,
1998 "path" : "/cluster/firewall/ipset",
1999 "text" : "ipset"
2000 },
56122987 2001 {
44660702
DM
2002 "children" : [
2003 {
2004 "info" : {
2005 "DELETE" : {
2006 "description" : "Remove IP or Network alias.",
2007 "method" : "DELETE",
2008 "name" : "remove_alias",
2009 "parameters" : {
2010 "additionalProperties" : 0,
2011 "properties" : {
2012 "digest" : {
2013 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2014 "maxLength" : 40,
2015 "optional" : 1,
013dc89f
DM
2016 "type" : "string",
2017 "typetext" : "<string>"
44660702
DM
2018 },
2019 "name" : {
2020 "description" : "Alias name.",
2021 "maxLength" : 64,
2022 "minLength" : 2,
2023 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2024 "type" : "string"
2025 }
2026 }
2027 },
2028 "permissions" : {
2029 "check" : [
2030 "perm",
2031 "/",
2032 [
2033 "Sys.Modify"
2034 ]
2035 ]
2036 },
2037 "protected" : 1,
2038 "returns" : {
2039 "type" : "null"
2040 }
2041 },
2042 "GET" : {
2043 "description" : "Read alias.",
2044 "method" : "GET",
2045 "name" : "read_alias",
2046 "parameters" : {
2047 "additionalProperties" : 0,
2048 "properties" : {
2049 "name" : {
2050 "description" : "Alias name.",
2051 "maxLength" : 64,
2052 "minLength" : 2,
2053 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2054 "type" : "string"
2055 }
2056 }
2057 },
2058 "permissions" : {
2059 "check" : [
2060 "perm",
2061 "/",
2062 [
2063 "Sys.Audit"
2064 ]
2065 ]
2066 },
2067 "returns" : {
2068 "type" : "object"
2069 }
2070 },
2071 "PUT" : {
2072 "description" : "Update IP or Network alias.",
2073 "method" : "PUT",
2074 "name" : "update_alias",
2075 "parameters" : {
2076 "additionalProperties" : 0,
2077 "properties" : {
2078 "cidr" : {
2079 "description" : "Network/IP specification in CIDR format.",
2080 "format" : "IPorCIDR",
013dc89f
DM
2081 "type" : "string",
2082 "typetext" : "<string>"
44660702
DM
2083 },
2084 "comment" : {
2085 "optional" : 1,
013dc89f
DM
2086 "type" : "string",
2087 "typetext" : "<string>"
44660702
DM
2088 },
2089 "digest" : {
2090 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2091 "maxLength" : 40,
2092 "optional" : 1,
013dc89f
DM
2093 "type" : "string",
2094 "typetext" : "<string>"
44660702
DM
2095 },
2096 "name" : {
2097 "description" : "Alias name.",
2098 "maxLength" : 64,
2099 "minLength" : 2,
2100 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2101 "type" : "string"
2102 },
2103 "rename" : {
2104 "description" : "Rename an existing alias.",
2105 "maxLength" : 64,
2106 "minLength" : 2,
2107 "optional" : 1,
2108 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2109 "type" : "string"
2110 }
2111 }
2112 },
2113 "permissions" : {
2114 "check" : [
2115 "perm",
2116 "/",
2117 [
2118 "Sys.Modify"
2119 ]
2120 ]
2121 },
2122 "protected" : 1,
2123 "returns" : {
2124 "type" : "null"
2125 }
2126 }
2127 },
2128 "leaf" : 1,
2129 "path" : "/cluster/firewall/aliases/{name}",
2130 "text" : "{name}"
2131 }
2132 ],
2133 "info" : {
2134 "GET" : {
2135 "description" : "List aliases",
2136 "method" : "GET",
2137 "name" : "get_aliases",
2138 "parameters" : {
2139 "additionalProperties" : 0
2140 },
2141 "permissions" : {
2142 "check" : [
2143 "perm",
2144 "/",
2145 [
2146 "Sys.Audit"
2147 ]
2148 ]
2149 },
2150 "returns" : {
2151 "items" : {
2152 "properties" : {
2153 "cidr" : {
2154 "type" : "string"
2155 },
2156 "comment" : {
2157 "optional" : 1,
2158 "type" : "string"
2159 },
2160 "digest" : {
2161 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2162 "maxLength" : 40,
2163 "optional" : 0,
2164 "type" : "string"
2165 },
2166 "name" : {
2167 "type" : "string"
2168 }
2169 },
2170 "type" : "object"
2171 },
2172 "links" : [
2173 {
2174 "href" : "{name}",
2175 "rel" : "child"
2176 }
2177 ],
2178 "type" : "array"
2179 }
2180 },
2181 "POST" : {
2182 "description" : "Create IP or Network Alias.",
2183 "method" : "POST",
2184 "name" : "create_alias",
56122987
DM
2185 "parameters" : {
2186 "additionalProperties" : 0,
2187 "properties" : {
44660702
DM
2188 "cidr" : {
2189 "description" : "Network/IP specification in CIDR format.",
2190 "format" : "IPorCIDR",
013dc89f
DM
2191 "type" : "string",
2192 "typetext" : "<string>"
44660702
DM
2193 },
2194 "comment" : {
2195 "optional" : 1,
013dc89f
DM
2196 "type" : "string",
2197 "typetext" : "<string>"
44660702
DM
2198 },
2199 "name" : {
2200 "description" : "Alias name.",
2201 "maxLength" : 64,
2202 "minLength" : 2,
2203 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2204 "type" : "string"
56122987
DM
2205 }
2206 }
2207 },
56122987
DM
2208 "permissions" : {
2209 "check" : [
2210 "perm",
2211 "/",
2212 [
2213 "Sys.Modify"
2214 ]
2215 ]
2216 },
44660702 2217 "protected" : 1,
56122987
DM
2218 "returns" : {
2219 "type" : "null"
2220 }
44660702
DM
2221 }
2222 },
2223 "leaf" : 0,
2224 "path" : "/cluster/firewall/aliases",
2225 "text" : "aliases"
2226 },
2227 {
2228 "info" : {
2229 "GET" : {
2230 "description" : "Get Firewall options.",
2231 "method" : "GET",
2232 "name" : "get_options",
2233 "parameters" : {
2234 "additionalProperties" : 0
7aacca6f 2235 },
56122987
DM
2236 "permissions" : {
2237 "check" : [
2238 "perm",
2239 "/",
2240 [
44660702 2241 "Sys.Audit"
56122987
DM
2242 ]
2243 ]
2244 },
44660702 2245 "returns" : {
56122987 2246 "properties" : {
44660702
DM
2247 "enable" : {
2248 "description" : "Enable or disable the firewall cluster wide.",
2249 "minimum" : 0,
56122987 2250 "optional" : 1,
7aacca6f 2251 "type" : "integer"
56122987 2252 },
44660702
DM
2253 "policy_in" : {
2254 "description" : "Input policy.",
2255 "enum" : [
2256 "ACCEPT",
2257 "REJECT",
2258 "DROP"
2259 ],
56122987 2260 "optional" : 1,
44660702 2261 "type" : "string"
7aacca6f 2262 },
44660702
DM
2263 "policy_out" : {
2264 "description" : "Output policy.",
2265 "enum" : [
2266 "ACCEPT",
2267 "REJECT",
2268 "DROP"
2269 ],
7aacca6f 2270 "optional" : 1,
44660702
DM
2271 "type" : "string"
2272 }
2273 },
2274 "type" : "object"
2275 }
2276 },
2277 "PUT" : {
2278 "description" : "Set Firewall options.",
2279 "method" : "PUT",
2280 "name" : "set_options",
2281 "parameters" : {
2282 "additionalProperties" : 0,
2283 "properties" : {
2284 "delete" : {
2285 "description" : "A list of settings you want to delete.",
2286 "format" : "pve-configid-list",
56122987 2287 "optional" : 1,
013dc89f
DM
2288 "type" : "string",
2289 "typetext" : "<string>"
56122987 2290 },
44660702
DM
2291 "digest" : {
2292 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2293 "maxLength" : 40,
56122987 2294 "optional" : 1,
013dc89f
DM
2295 "type" : "string",
2296 "typetext" : "<string>"
56122987 2297 },
44660702
DM
2298 "enable" : {
2299 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2300 "minimum" : 0,
56122987 2301 "optional" : 1,
4bd7df8b 2302 "type" : "integer",
013dc89f 2303 "typetext" : "<integer> (0 - N)"
56122987 2304 },
44660702
DM
2305 "policy_in" : {
2306 "description" : "Input policy.",
56122987 2307 "enum" : [
44660702
DM
2308 "ACCEPT",
2309 "REJECT",
2310 "DROP"
56122987 2311 ],
56122987 2312 "optional" : 1,
44660702 2313 "type" : "string"
56122987 2314 },
44660702
DM
2315 "policy_out" : {
2316 "description" : "Output policy.",
56122987 2317 "enum" : [
44660702
DM
2318 "ACCEPT",
2319 "REJECT",
2320 "DROP"
56122987 2321 ],
7aacca6f 2322 "optional" : 1,
44660702 2323 "type" : "string"
56122987 2324 }
44660702
DM
2325 }
2326 },
2327 "permissions" : {
2328 "check" : [
2329 "perm",
2330 "/",
2331 [
2332 "Sys.Modify"
2333 ]
2334 ]
7aacca6f
DM
2335 },
2336 "protected" : 1,
44660702
DM
2337 "returns" : {
2338 "type" : "null"
2339 }
2340 }
2341 },
2342 "leaf" : 1,
2343 "path" : "/cluster/firewall/options",
2344 "text" : "options"
2345 },
2346 {
2347 "info" : {
7aacca6f 2348 "GET" : {
44660702 2349 "description" : "List available macros",
7aacca6f 2350 "method" : "GET",
44660702
DM
2351 "name" : "get_macros",
2352 "parameters" : {
2353 "additionalProperties" : 0
7aacca6f 2354 },
44660702
DM
2355 "permissions" : {
2356 "user" : "all"
2357 },
2358 "returns" : {
2359 "items" : {
2360 "properties" : {
2361 "descr" : {
2362 "description" : "More verbose description (if available).",
2363 "type" : "string"
2364 },
2365 "macro" : {
2366 "description" : "Macro name.",
2367 "type" : "string"
2368 }
2369 },
2370 "type" : "object"
2371 },
2372 "type" : "array"
2373 }
2374 }
2375 },
2376 "leaf" : 1,
2377 "path" : "/cluster/firewall/macros",
2378 "text" : "macros"
2379 },
2380 {
2381 "info" : {
2382 "GET" : {
2383 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2384 "method" : "GET",
2385 "name" : "refs",
7aacca6f 2386 "parameters" : {
44660702 2387 "additionalProperties" : 0,
7aacca6f 2388 "properties" : {
44660702
DM
2389 "type" : {
2390 "description" : "Only list references of specified type.",
2391 "enum" : [
2392 "alias",
2393 "ipset"
2394 ],
2395 "optional" : 1,
2396 "type" : "string"
7aacca6f 2397 }
44660702 2398 }
7aacca6f
DM
2399 },
2400 "permissions" : {
2401 "check" : [
2402 "perm",
2403 "/",
2404 [
2405 "Sys.Audit"
2406 ]
2407 ]
2408 },
44660702
DM
2409 "returns" : {
2410 "items" : {
2411 "properties" : {
2412 "comment" : {
2413 "optional" : 1,
2414 "type" : "string"
2415 },
2416 "name" : {
2417 "type" : "string"
2418 },
2419 "ref" : {
2420 "type" : "string"
2421 },
2422 "type" : {
2423 "enum" : [
2424 "alias",
2425 "ipset"
2426 ],
2427 "type" : "string"
2428 }
2429 },
2430 "type" : "object"
2431 },
2432 "type" : "array"
2433 }
56122987
DM
2434 }
2435 },
7aacca6f 2436 "leaf" : 1,
44660702
DM
2437 "path" : "/cluster/firewall/refs",
2438 "text" : "refs"
56122987
DM
2439 }
2440 ],
56122987 2441 "info" : {
44660702
DM
2442 "GET" : {
2443 "description" : "Directory index.",
2444 "method" : "GET",
2445 "name" : "index",
56122987 2446 "parameters" : {
56122987
DM
2447 "additionalProperties" : 0
2448 },
44660702
DM
2449 "permissions" : {
2450 "user" : "all"
2451 },
56122987 2452 "returns" : {
44660702
DM
2453 "items" : {
2454 "properties" : {},
2455 "type" : "object"
2456 },
7aacca6f
DM
2457 "links" : [
2458 {
44660702
DM
2459 "href" : "{name}",
2460 "rel" : "child"
7aacca6f
DM
2461 }
2462 ],
7aacca6f 2463 "type" : "array"
7aacca6f 2464 }
56122987
DM
2465 }
2466 },
44660702
DM
2467 "leaf" : 0,
2468 "path" : "/cluster/firewall",
2469 "text" : "firewall"
7aacca6f
DM
2470 },
2471 {
56122987
DM
2472 "children" : [
2473 {
56122987 2474 "info" : {
44660702
DM
2475 "DELETE" : {
2476 "description" : "Delete vzdump backup job definition.",
2477 "method" : "DELETE",
2478 "name" : "delete_job",
2479 "parameters" : {
2480 "additionalProperties" : 0,
2481 "properties" : {
2482 "id" : {
2483 "description" : "The job ID.",
2484 "maxLength" : 50,
013dc89f
DM
2485 "type" : "string",
2486 "typetext" : "<string>"
44660702
DM
2487 }
2488 }
2489 },
2490 "permissions" : {
2491 "check" : [
2492 "perm",
2493 "/",
2494 [
2495 "Sys.Modify"
2496 ]
2497 ]
2498 },
2499 "protected" : 1,
56122987
DM
2500 "returns" : {
2501 "type" : "null"
44660702
DM
2502 }
2503 },
2504 "GET" : {
2505 "description" : "Read vzdump backup job definition.",
2506 "method" : "GET",
2507 "name" : "read_job",
2508 "parameters" : {
2509 "additionalProperties" : 0,
2510 "properties" : {
2511 "id" : {
2512 "description" : "The job ID.",
2513 "maxLength" : 50,
013dc89f
DM
2514 "type" : "string",
2515 "typetext" : "<string>"
44660702
DM
2516 }
2517 }
56122987 2518 },
7aacca6f
DM
2519 "permissions" : {
2520 "check" : [
2521 "perm",
2522 "/",
2523 [
44660702 2524 "Sys.Audit"
7aacca6f
DM
2525 ]
2526 ]
2527 },
44660702
DM
2528 "returns" : {
2529 "type" : "object"
2530 }
2531 },
2532 "PUT" : {
2533 "description" : "Update vzdump backup job definition.",
2534 "method" : "PUT",
2535 "name" : "update_job",
56122987 2536 "parameters" : {
44660702 2537 "additionalProperties" : 0,
56122987 2538 "properties" : {
44660702
DM
2539 "all" : {
2540 "default" : 0,
2541 "description" : "Backup all known guest systems on this host.",
7aacca6f 2542 "optional" : 1,
013dc89f
DM
2543 "type" : "boolean",
2544 "typetext" : "<boolean>"
7aacca6f 2545 },
44660702
DM
2546 "bwlimit" : {
2547 "default" : 0,
2548 "description" : "Limit I/O bandwidth (KBytes per second).",
2549 "minimum" : 0,
2550 "optional" : 1,
4bd7df8b 2551 "type" : "integer",
013dc89f 2552 "typetext" : "<integer> (0 - N)"
44660702
DM
2553 },
2554 "compress" : {
2555 "default" : "0",
2556 "description" : "Compress dump file.",
7aacca6f 2557 "enum" : [
44660702
DM
2558 "0",
2559 "1",
2560 "gzip",
2561 "lzo"
7aacca6f 2562 ],
44660702
DM
2563 "optional" : 1,
2564 "type" : "string"
7aacca6f 2565 },
44660702
DM
2566 "delete" : {
2567 "description" : "A list of settings you want to delete.",
2568 "format" : "pve-configid-list",
7aacca6f 2569 "optional" : 1,
013dc89f
DM
2570 "type" : "string",
2571 "typetext" : "<string>"
56122987 2572 },
44660702
DM
2573 "dow" : {
2574 "description" : "Day of week selection.",
2575 "format" : "pve-day-of-week-list",
7aacca6f 2576 "optional" : 1,
013dc89f
DM
2577 "type" : "string",
2578 "typetext" : "<string>"
56122987 2579 },
44660702
DM
2580 "dumpdir" : {
2581 "description" : "Store resulting files to specified directory.",
56122987 2582 "optional" : 1,
013dc89f
DM
2583 "type" : "string",
2584 "typetext" : "<string>"
56122987 2585 },
44660702
DM
2586 "enabled" : {
2587 "default" : "1",
2588 "description" : "Enable or disable the job.",
2589 "optional" : 1,
013dc89f
DM
2590 "type" : "boolean",
2591 "typetext" : "<boolean>"
44660702
DM
2592 },
2593 "exclude" : {
2594 "description" : "Exclude specified guest systems (assumes --all)",
2595 "format" : "pve-vmid-list",
2596 "optional" : 1,
013dc89f
DM
2597 "type" : "string",
2598 "typetext" : "<string>"
44660702
DM
2599 },
2600 "exclude-path" : {
2601 "description" : "Exclude certain files/directories (shell globs).",
2602 "format" : "string-alist",
2603 "optional" : 1,
013dc89f
DM
2604 "type" : "string",
2605 "typetext" : "<string>"
44660702
DM
2606 },
2607 "id" : {
2608 "description" : "The job ID.",
2609 "maxLength" : 50,
013dc89f
DM
2610 "type" : "string",
2611 "typetext" : "<string>"
44660702
DM
2612 },
2613 "ionice" : {
2614 "default" : 7,
2615 "description" : "Set CFQ ionice priority.",
2616 "maximum" : 8,
2617 "minimum" : 0,
2618 "optional" : 1,
4bd7df8b 2619 "type" : "integer",
013dc89f 2620 "typetext" : "<integer> (0 - 8)"
44660702
DM
2621 },
2622 "lockwait" : {
2623 "default" : 180,
2624 "description" : "Maximal time to wait for the global lock (minutes).",
2625 "minimum" : 0,
2626 "optional" : 1,
4bd7df8b 2627 "type" : "integer",
013dc89f 2628 "typetext" : "<integer> (0 - N)"
44660702
DM
2629 },
2630 "mailnotification" : {
2631 "default" : "always",
2632 "description" : "Specify when to send an email",
56122987 2633 "enum" : [
44660702
DM
2634 "always",
2635 "failure"
56122987 2636 ],
44660702
DM
2637 "optional" : 1,
2638 "type" : "string"
2639 },
2640 "mailto" : {
2641 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2642 "format" : "string-list",
2643 "optional" : 1,
013dc89f
DM
2644 "type" : "string",
2645 "typetext" : "<string>"
44660702
DM
2646 },
2647 "maxfiles" : {
2648 "default" : 1,
2649 "description" : "Maximal number of backup files per guest system.",
2650 "minimum" : 1,
2651 "optional" : 1,
4bd7df8b 2652 "type" : "integer",
013dc89f 2653 "typetext" : "<integer> (1 - N)"
44660702
DM
2654 },
2655 "mode" : {
2656 "default" : "snapshot",
2657 "description" : "Backup mode.",
2658 "enum" : [
2659 "snapshot",
2660 "suspend",
2661 "stop"
2662 ],
2663 "optional" : 1,
2664 "type" : "string"
2665 },
2666 "node" : {
2667 "description" : "Only run if executed on this node.",
2668 "format" : "pve-node",
2669 "optional" : 1,
013dc89f
DM
2670 "type" : "string",
2671 "typetext" : "<string>"
44660702
DM
2672 },
2673 "pigz" : {
2674 "default" : 0,
2675 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2676 "optional" : 1,
013dc89f
DM
2677 "type" : "integer",
2678 "typetext" : "<integer>"
44660702
DM
2679 },
2680 "quiet" : {
2681 "default" : 0,
2682 "description" : "Be quiet.",
2683 "optional" : 1,
013dc89f
DM
2684 "type" : "boolean",
2685 "typetext" : "<boolean>"
44660702
DM
2686 },
2687 "remove" : {
2688 "default" : 1,
2689 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2690 "optional" : 1,
013dc89f
DM
2691 "type" : "boolean",
2692 "typetext" : "<boolean>"
44660702
DM
2693 },
2694 "script" : {
2695 "description" : "Use specified hook script.",
2696 "optional" : 1,
013dc89f
DM
2697 "type" : "string",
2698 "typetext" : "<string>"
44660702
DM
2699 },
2700 "size" : {
2701 "default" : 1024,
2702 "description" : "Unused, will be removed in a future release.",
2703 "minimum" : 500,
2704 "optional" : 1,
4bd7df8b 2705 "type" : "integer",
013dc89f 2706 "typetext" : "<integer> (500 - N)"
44660702
DM
2707 },
2708 "starttime" : {
2709 "description" : "Job Start time.",
2710 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2711 "type" : "string",
44660702 2712 "typetext" : "HH:MM"
7aacca6f 2713 },
44660702
DM
2714 "stdexcludes" : {
2715 "default" : 1,
2716 "description" : "Exclude temporary files and logs.",
2717 "optional" : 1,
013dc89f
DM
2718 "type" : "boolean",
2719 "typetext" : "<boolean>"
44660702
DM
2720 },
2721 "stop" : {
2722 "default" : 0,
2723 "description" : "Stop runnig backup jobs on this host.",
2724 "optional" : 1,
013dc89f
DM
2725 "type" : "boolean",
2726 "typetext" : "<boolean>"
44660702
DM
2727 },
2728 "stopwait" : {
2729 "default" : 10,
2730 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2731 "minimum" : 0,
2732 "optional" : 1,
4bd7df8b 2733 "type" : "integer",
013dc89f 2734 "typetext" : "<integer> (0 - N)"
44660702
DM
2735 },
2736 "storage" : {
2737 "description" : "Store resulting file to this storage.",
2738 "format" : "pve-storage-id",
2739 "optional" : 1,
013dc89f
DM
2740 "type" : "string",
2741 "typetext" : "<string>"
56122987 2742 },
44660702
DM
2743 "tmpdir" : {
2744 "description" : "Store temporary files to specified directory.",
2745 "optional" : 1,
013dc89f
DM
2746 "type" : "string",
2747 "typetext" : "<string>"
44660702
DM
2748 },
2749 "vmid" : {
2750 "description" : "The ID of the guest system you want to backup.",
2751 "format" : "pve-vmid-list",
2752 "optional" : 1,
013dc89f
DM
2753 "type" : "string",
2754 "typetext" : "<string>"
56122987 2755 }
44660702 2756 }
56122987
DM
2757 },
2758 "permissions" : {
2759 "check" : [
2760 "perm",
2761 "/",
2762 [
44660702 2763 "Sys.Modify"
56122987
DM
2764 ]
2765 ]
2766 },
44660702
DM
2767 "protected" : 1,
2768 "returns" : {
2769 "type" : "null"
7aacca6f 2770 }
56122987
DM
2771 }
2772 },
44660702
DM
2773 "leaf" : 1,
2774 "path" : "/cluster/backup/{id}",
2775 "text" : "{id}"
2776 }
2777 ],
2778 "info" : {
2779 "GET" : {
2780 "description" : "List vzdump backup schedule.",
2781 "method" : "GET",
2782 "name" : "index",
2783 "parameters" : {
2784 "additionalProperties" : 0
2785 },
2786 "permissions" : {
2787 "check" : [
2788 "perm",
2789 "/",
2790 [
2791 "Sys.Audit"
2792 ]
2793 ]
2794 },
2795 "returns" : {
2796 "items" : {
2797 "properties" : {
2798 "id" : {
2799 "type" : "string"
2800 }
2801 },
2802 "type" : "object"
2803 },
2804 "links" : [
2805 {
2806 "href" : "{id}",
2807 "rel" : "child"
2808 }
2809 ],
2810 "type" : "array"
2811 }
2812 },
2813 "POST" : {
2814 "description" : "Create new vzdump backup job.",
2815 "method" : "POST",
2816 "name" : "create_job",
2817 "parameters" : {
2818 "additionalProperties" : 0,
2819 "properties" : {
2820 "all" : {
2821 "default" : 0,
2822 "description" : "Backup all known guest systems on this host.",
2823 "optional" : 1,
013dc89f
DM
2824 "type" : "boolean",
2825 "typetext" : "<boolean>"
44660702
DM
2826 },
2827 "bwlimit" : {
2828 "default" : 0,
2829 "description" : "Limit I/O bandwidth (KBytes per second).",
2830 "minimum" : 0,
2831 "optional" : 1,
4bd7df8b 2832 "type" : "integer",
013dc89f 2833 "typetext" : "<integer> (0 - N)"
44660702
DM
2834 },
2835 "compress" : {
2836 "default" : "0",
2837 "description" : "Compress dump file.",
2838 "enum" : [
2839 "0",
2840 "1",
2841 "gzip",
2842 "lzo"
2843 ],
2844 "optional" : 1,
2845 "type" : "string"
2846 },
2847 "dow" : {
2848 "default" : "mon,tue,wed,thu,fri,sat,sun",
2849 "description" : "Day of week selection.",
2850 "format" : "pve-day-of-week-list",
2851 "optional" : 1,
013dc89f
DM
2852 "type" : "string",
2853 "typetext" : "<string>"
44660702
DM
2854 },
2855 "dumpdir" : {
2856 "description" : "Store resulting files to specified directory.",
2857 "optional" : 1,
013dc89f
DM
2858 "type" : "string",
2859 "typetext" : "<string>"
44660702
DM
2860 },
2861 "enabled" : {
2862 "default" : "1",
2863 "description" : "Enable or disable the job.",
2864 "optional" : 1,
013dc89f
DM
2865 "type" : "boolean",
2866 "typetext" : "<boolean>"
44660702
DM
2867 },
2868 "exclude" : {
2869 "description" : "Exclude specified guest systems (assumes --all)",
2870 "format" : "pve-vmid-list",
2871 "optional" : 1,
013dc89f
DM
2872 "type" : "string",
2873 "typetext" : "<string>"
44660702
DM
2874 },
2875 "exclude-path" : {
2876 "description" : "Exclude certain files/directories (shell globs).",
2877 "format" : "string-alist",
2878 "optional" : 1,
013dc89f
DM
2879 "type" : "string",
2880 "typetext" : "<string>"
44660702
DM
2881 },
2882 "ionice" : {
2883 "default" : 7,
2884 "description" : "Set CFQ ionice priority.",
2885 "maximum" : 8,
2886 "minimum" : 0,
2887 "optional" : 1,
4bd7df8b 2888 "type" : "integer",
013dc89f 2889 "typetext" : "<integer> (0 - 8)"
44660702
DM
2890 },
2891 "lockwait" : {
2892 "default" : 180,
2893 "description" : "Maximal time to wait for the global lock (minutes).",
2894 "minimum" : 0,
2895 "optional" : 1,
4bd7df8b 2896 "type" : "integer",
013dc89f 2897 "typetext" : "<integer> (0 - N)"
44660702
DM
2898 },
2899 "mailnotification" : {
2900 "default" : "always",
2901 "description" : "Specify when to send an email",
2902 "enum" : [
2903 "always",
2904 "failure"
2905 ],
2906 "optional" : 1,
2907 "type" : "string"
2908 },
2909 "mailto" : {
2910 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2911 "format" : "string-list",
2912 "optional" : 1,
013dc89f
DM
2913 "type" : "string",
2914 "typetext" : "<string>"
44660702
DM
2915 },
2916 "maxfiles" : {
2917 "default" : 1,
2918 "description" : "Maximal number of backup files per guest system.",
2919 "minimum" : 1,
2920 "optional" : 1,
4bd7df8b 2921 "type" : "integer",
013dc89f 2922 "typetext" : "<integer> (1 - N)"
44660702
DM
2923 },
2924 "mode" : {
2925 "default" : "snapshot",
2926 "description" : "Backup mode.",
2927 "enum" : [
2928 "snapshot",
2929 "suspend",
2930 "stop"
2931 ],
2932 "optional" : 1,
2933 "type" : "string"
2934 },
2935 "node" : {
2936 "description" : "Only run if executed on this node.",
2937 "format" : "pve-node",
2938 "optional" : 1,
013dc89f
DM
2939 "type" : "string",
2940 "typetext" : "<string>"
44660702
DM
2941 },
2942 "pigz" : {
2943 "default" : 0,
2944 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2945 "optional" : 1,
013dc89f
DM
2946 "type" : "integer",
2947 "typetext" : "<integer>"
44660702
DM
2948 },
2949 "quiet" : {
2950 "default" : 0,
2951 "description" : "Be quiet.",
2952 "optional" : 1,
013dc89f
DM
2953 "type" : "boolean",
2954 "typetext" : "<boolean>"
44660702
DM
2955 },
2956 "remove" : {
2957 "default" : 1,
2958 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2959 "optional" : 1,
013dc89f
DM
2960 "type" : "boolean",
2961 "typetext" : "<boolean>"
44660702
DM
2962 },
2963 "script" : {
2964 "description" : "Use specified hook script.",
2965 "optional" : 1,
013dc89f
DM
2966 "type" : "string",
2967 "typetext" : "<string>"
44660702
DM
2968 },
2969 "size" : {
2970 "default" : 1024,
2971 "description" : "Unused, will be removed in a future release.",
2972 "minimum" : 500,
2973 "optional" : 1,
4bd7df8b 2974 "type" : "integer",
013dc89f 2975 "typetext" : "<integer> (500 - N)"
44660702
DM
2976 },
2977 "starttime" : {
2978 "description" : "Job Start time.",
2979 "pattern" : "\\d{1,2}:\\d{1,2}",
2980 "type" : "string",
2981 "typetext" : "HH:MM"
2982 },
2983 "stdexcludes" : {
2984 "default" : 1,
2985 "description" : "Exclude temporary files and logs.",
2986 "optional" : 1,
013dc89f
DM
2987 "type" : "boolean",
2988 "typetext" : "<boolean>"
44660702
DM
2989 },
2990 "stop" : {
2991 "default" : 0,
2992 "description" : "Stop runnig backup jobs on this host.",
2993 "optional" : 1,
013dc89f
DM
2994 "type" : "boolean",
2995 "typetext" : "<boolean>"
44660702
DM
2996 },
2997 "stopwait" : {
2998 "default" : 10,
2999 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3000 "minimum" : 0,
3001 "optional" : 1,
4bd7df8b 3002 "type" : "integer",
013dc89f 3003 "typetext" : "<integer> (0 - N)"
44660702
DM
3004 },
3005 "storage" : {
3006 "description" : "Store resulting file to this storage.",
3007 "format" : "pve-storage-id",
3008 "optional" : 1,
013dc89f
DM
3009 "type" : "string",
3010 "typetext" : "<string>"
44660702
DM
3011 },
3012 "tmpdir" : {
3013 "description" : "Store temporary files to specified directory.",
3014 "optional" : 1,
013dc89f
DM
3015 "type" : "string",
3016 "typetext" : "<string>"
44660702
DM
3017 },
3018 "vmid" : {
3019 "description" : "The ID of the guest system you want to backup.",
3020 "format" : "pve-vmid-list",
3021 "optional" : 1,
013dc89f
DM
3022 "type" : "string",
3023 "typetext" : "<string>"
44660702
DM
3024 }
3025 }
3026 },
3027 "permissions" : {
3028 "check" : [
3029 "perm",
3030 "/",
3031 [
3032 "Sys.Modify"
3033 ]
de0983cb
DM
3034 ],
3035 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3036 },
3037 "protected" : 1,
3038 "returns" : {
3039 "type" : "null"
3040 }
3041 }
3042 },
3043 "leaf" : 0,
3044 "path" : "/cluster/backup",
3045 "text" : "backup"
3046 },
3047 {
3048 "children" : [
3049 {
3050 "children" : [
3051 {
3052 "children" : [
56122987 3053 {
56122987
DM
3054 "info" : {
3055 "POST" : {
44660702
DM
3056 "description" : "Request resource migration (online) to another node.",
3057 "method" : "POST",
3058 "name" : "migrate",
56122987 3059 "parameters" : {
7aacca6f 3060 "additionalProperties" : 0,
56122987
DM
3061 "properties" : {
3062 "node" : {
7aacca6f 3063 "description" : "The cluster node name.",
44660702 3064 "format" : "pve-node",
013dc89f
DM
3065 "type" : "string",
3066 "typetext" : "<string>"
56122987
DM
3067 },
3068 "sid" : {
44660702 3069 "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 3070 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3071 "type" : "string",
44660702 3072 "typetext" : "<type>:<name>"
56122987 3073 }
7aacca6f 3074 }
56122987 3075 },
56122987
DM
3076 "permissions" : {
3077 "check" : [
3078 "perm",
3079 "/",
3080 [
3081 "Sys.Console"
3082 ]
3083 ]
3084 },
7aacca6f 3085 "protected" : 1,
7aacca6f
DM
3086 "returns" : {
3087 "type" : "null"
44660702 3088 }
56122987 3089 }
44660702
DM
3090 },
3091 "leaf" : 1,
3092 "path" : "/cluster/ha/resources/{sid}/migrate",
3093 "text" : "migrate"
3094 },
3095 {
3096 "info" : {
3097 "POST" : {
3098 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3099 "method" : "POST",
3100 "name" : "relocate",
3101 "parameters" : {
3102 "additionalProperties" : 0,
3103 "properties" : {
3104 "node" : {
3105 "description" : "The cluster node name.",
3106 "format" : "pve-node",
013dc89f
DM
3107 "type" : "string",
3108 "typetext" : "<string>"
44660702
DM
3109 },
3110 "sid" : {
3111 "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).",
3112 "format" : "pve-ha-resource-or-vm-id",
3113 "type" : "string",
3114 "typetext" : "<type>:<name>"
3115 }
3116 }
3117 },
3118 "permissions" : {
3119 "check" : [
3120 "perm",
3121 "/",
3122 [
3123 "Sys.Console"
3124 ]
3125 ]
3126 },
3127 "protected" : 1,
3128 "returns" : {
3129 "type" : "null"
3130 }
3131 }
3132 },
3133 "leaf" : 1,
3134 "path" : "/cluster/ha/resources/{sid}/relocate",
3135 "text" : "relocate"
3136 }
3137 ],
3138 "info" : {
3139 "DELETE" : {
3140 "description" : "Delete resource configuration.",
3141 "method" : "DELETE",
3142 "name" : "delete",
7aacca6f 3143 "parameters" : {
44660702 3144 "additionalProperties" : 0,
7aacca6f
DM
3145 "properties" : {
3146 "sid" : {
3147 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
44660702 3148 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3149 "type" : "string",
44660702
DM
3150 "typetext" : "<type>:<name>"
3151 }
3152 }
3153 },
3154 "permissions" : {
3155 "check" : [
3156 "perm",
3157 "/",
3158 [
3159 "Sys.Console"
3160 ]
3161 ]
3162 },
3163 "protected" : 1,
3164 "returns" : {
3165 "type" : "null"
3166 }
3167 },
3168 "GET" : {
3169 "description" : "Read resource configuration.",
3170 "method" : "GET",
3171 "name" : "read",
3172 "parameters" : {
3173 "additionalProperties" : 0,
3174 "properties" : {
3175 "sid" : {
3176 "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 3177 "format" : "pve-ha-resource-or-vm-id",
44660702 3178 "type" : "string",
7aacca6f
DM
3179 "typetext" : "<type>:<name>"
3180 }
44660702 3181 }
7aacca6f
DM
3182 },
3183 "permissions" : {
3184 "check" : [
3185 "perm",
3186 "/",
3187 [
3188 "Sys.Audit"
3189 ]
3190 ]
3191 },
44660702 3192 "returns" : {}
7aacca6f 3193 },
56122987 3194 "PUT" : {
44660702 3195 "description" : "Update resource configuration.",
7aacca6f 3196 "method" : "PUT",
44660702 3197 "name" : "update",
56122987
DM
3198 "parameters" : {
3199 "additionalProperties" : 0,
3200 "properties" : {
44660702
DM
3201 "comment" : {
3202 "description" : "Description.",
3203 "maxLength" : 4096,
56122987 3204 "optional" : 1,
013dc89f
DM
3205 "type" : "string",
3206 "typetext" : "<string>"
56122987 3207 },
7aacca6f
DM
3208 "delete" : {
3209 "description" : "A list of settings you want to delete.",
7aacca6f 3210 "format" : "pve-configid-list",
44660702
DM
3211 "maxLength" : 4096,
3212 "optional" : 1,
013dc89f
DM
3213 "type" : "string",
3214 "typetext" : "<string>"
56122987 3215 },
44660702
DM
3216 "digest" : {
3217 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3218 "maxLength" : 40,
3219 "optional" : 1,
013dc89f
DM
3220 "type" : "string",
3221 "typetext" : "<string>"
56122987 3222 },
44660702
DM
3223 "group" : {
3224 "description" : "The HA group identifier.",
3225 "format" : "pve-configid",
7aacca6f 3226 "optional" : 1,
013dc89f
DM
3227 "type" : "string",
3228 "typetext" : "<string>"
56122987
DM
3229 },
3230 "max_relocate" : {
7aacca6f 3231 "default" : 1,
56122987 3232 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3233 "minimum" : 0,
3234 "optional" : 1,
4bd7df8b 3235 "type" : "integer",
013dc89f 3236 "typetext" : "<integer> (0 - N)"
7aacca6f 3237 },
44660702
DM
3238 "max_restart" : {
3239 "default" : 1,
3240 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3241 "minimum" : 0,
7aacca6f 3242 "optional" : 1,
4bd7df8b 3243 "type" : "integer",
013dc89f 3244 "typetext" : "<integer> (0 - N)"
44660702
DM
3245 },
3246 "sid" : {
3247 "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).",
3248 "format" : "pve-ha-resource-or-vm-id",
3249 "type" : "string",
3250 "typetext" : "<type>:<name>"
7aacca6f
DM
3251 },
3252 "state" : {
f13c1238
DM
3253 "default" : "started",
3254 "description" : "Requested resource state.",
7aacca6f 3255 "enum" : [
f13c1238
DM
3256 "started",
3257 "stopped",
7aacca6f 3258 "enabled",
2489d6df
WB
3259 "disabled",
3260 "ignored"
7aacca6f 3261 ],
7aacca6f 3262 "optional" : 1,
f13c1238 3263 "type" : "string",
2489d6df 3264 "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 3265 }
44660702
DM
3266 },
3267 "type" : "object"
56122987 3268 },
56122987
DM
3269 "permissions" : {
3270 "check" : [
3271 "perm",
3272 "/",
3273 [
3274 "Sys.Console"
3275 ]
3276 ]
3277 },
7aacca6f 3278 "protected" : 1,
56122987
DM
3279 "returns" : {
3280 "type" : "null"
3281 }
3282 }
3283 },
44660702 3284 "leaf" : 0,
7aacca6f 3285 "path" : "/cluster/ha/resources/{sid}",
44660702 3286 "text" : "{sid}"
56122987
DM
3287 }
3288 ],
7aacca6f
DM
3289 "info" : {
3290 "GET" : {
44660702
DM
3291 "description" : "List HA resources.",
3292 "method" : "GET",
3293 "name" : "index",
7aacca6f 3294 "parameters" : {
44660702
DM
3295 "additionalProperties" : 0,
3296 "properties" : {
3297 "type" : {
3298 "description" : "Only list resources of specific type",
3299 "enum" : [
3300 "ct",
3301 "vm"
3302 ],
3303 "optional" : 1,
3304 "type" : "string"
3305 }
3306 }
7aacca6f 3307 },
7aacca6f
DM
3308 "permissions" : {
3309 "check" : [
3310 "perm",
3311 "/",
3312 [
3313 "Sys.Audit"
3314 ]
3315 ]
3316 },
7aacca6f 3317 "returns" : {
7aacca6f 3318 "items" : {
7aacca6f 3319 "properties" : {
44660702 3320 "sid" : {
7aacca6f
DM
3321 "type" : "string"
3322 }
44660702
DM
3323 },
3324 "type" : "object"
7aacca6f
DM
3325 },
3326 "links" : [
3327 {
44660702 3328 "href" : "{sid}",
7aacca6f
DM
3329 "rel" : "child"
3330 }
44660702
DM
3331 ],
3332 "type" : "array"
7aacca6f
DM
3333 }
3334 },
3335 "POST" : {
44660702 3336 "description" : "Create a new HA resource.",
7aacca6f 3337 "method" : "POST",
44660702 3338 "name" : "create",
7aacca6f 3339 "parameters" : {
44660702 3340 "additionalProperties" : 0,
7aacca6f
DM
3341 "properties" : {
3342 "comment" : {
7aacca6f 3343 "description" : "Description.",
44660702 3344 "maxLength" : 4096,
7aacca6f 3345 "optional" : 1,
013dc89f
DM
3346 "type" : "string",
3347 "typetext" : "<string>"
7aacca6f 3348 },
44660702
DM
3349 "group" : {
3350 "description" : "The HA group identifier.",
3351 "format" : "pve-configid",
7aacca6f 3352 "optional" : 1,
013dc89f
DM
3353 "type" : "string",
3354 "typetext" : "<string>"
7aacca6f 3355 },
44660702
DM
3356 "max_relocate" : {
3357 "default" : 1,
3358 "description" : "Maximal number of service relocate tries when a service failes to start.",
3359 "minimum" : 0,
7aacca6f 3360 "optional" : 1,
4bd7df8b 3361 "type" : "integer",
013dc89f 3362 "typetext" : "<integer> (0 - N)"
7aacca6f 3363 },
44660702
DM
3364 "max_restart" : {
3365 "default" : 1,
3366 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3367 "minimum" : 0,
3368 "optional" : 1,
4bd7df8b 3369 "type" : "integer",
013dc89f 3370 "typetext" : "<integer> (0 - N)"
44660702
DM
3371 },
3372 "sid" : {
3373 "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).",
3374 "format" : "pve-ha-resource-or-vm-id",
3375 "type" : "string",
3376 "typetext" : "<type>:<name>"
3377 },
3378 "state" : {
f13c1238
DM
3379 "default" : "started",
3380 "description" : "Requested resource state.",
7aacca6f 3381 "enum" : [
f13c1238
DM
3382 "started",
3383 "stopped",
44660702 3384 "enabled",
2489d6df
WB
3385 "disabled",
3386 "ignored"
7aacca6f 3387 ],
7aacca6f 3388 "optional" : 1,
f13c1238 3389 "type" : "string",
2489d6df 3390 "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 3391 },
44660702
DM
3392 "type" : {
3393 "description" : "Resource type.",
3394 "enum" : [
3395 "ct",
3396 "vm"
3397 ],
3398 "optional" : 1,
3399 "type" : "string"
3400 }
7aacca6f 3401 },
44660702 3402 "type" : "object"
7aacca6f
DM
3403 },
3404 "permissions" : {
3405 "check" : [
3406 "perm",
3407 "/",
3408 [
3409 "Sys.Console"
3410 ]
3411 ]
3412 },
44660702
DM
3413 "protected" : 1,
3414 "returns" : {
3415 "type" : "null"
3416 }
7aacca6f
DM
3417 }
3418 },
44660702
DM
3419 "leaf" : 0,
3420 "path" : "/cluster/ha/resources",
3421 "text" : "resources"
3422 },
3423 {
56122987
DM
3424 "children" : [
3425 {
56122987 3426 "info" : {
44660702
DM
3427 "DELETE" : {
3428 "description" : "Delete ha group configuration.",
3429 "method" : "DELETE",
3430 "name" : "delete",
56122987 3431 "parameters" : {
7aacca6f 3432 "additionalProperties" : 0,
56122987 3433 "properties" : {
7aacca6f
DM
3434 "group" : {
3435 "description" : "The HA group identifier.",
44660702 3436 "format" : "pve-configid",
013dc89f
DM
3437 "type" : "string",
3438 "typetext" : "<string>"
56122987 3439 }
7aacca6f 3440 }
56122987 3441 },
56122987
DM
3442 "permissions" : {
3443 "check" : [
3444 "perm",
3445 "/",
3446 [
7aacca6f 3447 "Sys.Console"
56122987
DM
3448 ]
3449 ]
3450 },
44660702 3451 "protected" : 1,
7aacca6f
DM
3452 "returns" : {
3453 "type" : "null"
56122987
DM
3454 }
3455 },
44660702
DM
3456 "GET" : {
3457 "description" : "Read ha group configuration.",
3458 "method" : "GET",
3459 "name" : "read",
56122987 3460 "parameters" : {
44660702 3461 "additionalProperties" : 0,
56122987
DM
3462 "properties" : {
3463 "group" : {
3464 "description" : "The HA group identifier.",
44660702 3465 "format" : "pve-configid",
013dc89f
DM
3466 "type" : "string",
3467 "typetext" : "<string>"
56122987 3468 }
44660702 3469 }
56122987 3470 },
56122987
DM
3471 "permissions" : {
3472 "check" : [
3473 "perm",
3474 "/",
3475 [
44660702 3476 "Sys.Audit"
56122987
DM
3477 ]
3478 ]
3479 },
44660702 3480 "returns" : {}
7aacca6f 3481 },
44660702
DM
3482 "PUT" : {
3483 "description" : "Update ha group configuration.",
3484 "method" : "PUT",
3485 "name" : "update",
7aacca6f 3486 "parameters" : {
44660702 3487 "additionalProperties" : 0,
7aacca6f 3488 "properties" : {
44660702
DM
3489 "comment" : {
3490 "description" : "Description.",
3491 "maxLength" : 4096,
3492 "optional" : 1,
013dc89f
DM
3493 "type" : "string",
3494 "typetext" : "<string>"
44660702
DM
3495 },
3496 "delete" : {
3497 "description" : "A list of settings you want to delete.",
3498 "format" : "pve-configid-list",
3499 "maxLength" : 4096,
3500 "optional" : 1,
013dc89f
DM
3501 "type" : "string",
3502 "typetext" : "<string>"
44660702
DM
3503 },
3504 "digest" : {
3505 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3506 "maxLength" : 40,
3507 "optional" : 1,
013dc89f
DM
3508 "type" : "string",
3509 "typetext" : "<string>"
44660702 3510 },
7aacca6f
DM
3511 "group" : {
3512 "description" : "The HA group identifier.",
44660702 3513 "format" : "pve-configid",
013dc89f
DM
3514 "type" : "string",
3515 "typetext" : "<string>"
44660702
DM
3516 },
3517 "nodes" : {
f13c1238 3518 "description" : "List of cluster node names with optional priority.",
44660702
DM
3519 "format" : "pve-ha-group-node-list",
3520 "optional" : 1,
7aacca6f 3521 "type" : "string",
f13c1238
DM
3522 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3523 "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
3524 },
3525 "nofailback" : {
3526 "default" : 0,
3527 "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.",
3528 "optional" : 1,
013dc89f
DM
3529 "type" : "boolean",
3530 "typetext" : "<boolean>"
44660702
DM
3531 },
3532 "restricted" : {
3533 "default" : 0,
c4808e75 3534 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3535 "optional" : 1,
013dc89f 3536 "type" : "boolean",
c4808e75
DM
3537 "typetext" : "<boolean>",
3538 "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
3539 }
3540 },
44660702 3541 "type" : "object"
7aacca6f 3542 },
7aacca6f
DM
3543 "permissions" : {
3544 "check" : [
3545 "perm",
3546 "/",
3547 [
44660702 3548 "Sys.Console"
7aacca6f
DM
3549 ]
3550 ]
3551 },
44660702
DM
3552 "protected" : 1,
3553 "returns" : {
3554 "type" : "null"
3555 }
56122987
DM
3556 }
3557 },
3558 "leaf" : 1,
44660702
DM
3559 "path" : "/cluster/ha/groups/{group}",
3560 "text" : "{group}"
56122987 3561 }
44660702
DM
3562 ],
3563 "info" : {
3564 "GET" : {
3565 "description" : "Get HA groups.",
3566 "method" : "GET",
3567 "name" : "index",
3568 "parameters" : {
3569 "additionalProperties" : 0
3570 },
3571 "permissions" : {
3572 "check" : [
3573 "perm",
3574 "/",
3575 [
3576 "Sys.Audit"
3577 ]
3578 ]
3579 },
3580 "returns" : {
3581 "items" : {
3582 "properties" : {
3583 "group" : {
3584 "type" : "string"
3585 }
3586 },
3587 "type" : "object"
3588 },
3589 "links" : [
3590 {
3591 "href" : "{group}",
3592 "rel" : "child"
3593 }
3594 ],
3595 "type" : "array"
3596 }
3597 },
3598 "POST" : {
3599 "description" : "Create a new HA group.",
3600 "method" : "POST",
3601 "name" : "create",
3602 "parameters" : {
3603 "additionalProperties" : 0,
3604 "properties" : {
3605 "comment" : {
3606 "description" : "Description.",
3607 "maxLength" : 4096,
3608 "optional" : 1,
013dc89f
DM
3609 "type" : "string",
3610 "typetext" : "<string>"
44660702
DM
3611 },
3612 "group" : {
3613 "description" : "The HA group identifier.",
3614 "format" : "pve-configid",
013dc89f
DM
3615 "type" : "string",
3616 "typetext" : "<string>"
44660702
DM
3617 },
3618 "nodes" : {
f13c1238 3619 "description" : "List of cluster node names with optional priority.",
44660702
DM
3620 "format" : "pve-ha-group-node-list",
3621 "optional" : 0,
3622 "type" : "string",
f13c1238
DM
3623 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3624 "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
3625 },
3626 "nofailback" : {
3627 "default" : 0,
3628 "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.",
3629 "optional" : 1,
013dc89f
DM
3630 "type" : "boolean",
3631 "typetext" : "<boolean>"
44660702
DM
3632 },
3633 "restricted" : {
3634 "default" : 0,
c4808e75 3635 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3636 "optional" : 1,
013dc89f 3637 "type" : "boolean",
c4808e75
DM
3638 "typetext" : "<boolean>",
3639 "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
3640 },
3641 "type" : {
3642 "description" : "Group type.",
3643 "enum" : [
3644 "group"
3645 ],
3646 "optional" : 1,
3647 "type" : "string"
3648 }
3649 },
3650 "type" : "object"
3651 },
3652 "permissions" : {
3653 "check" : [
3654 "perm",
3655 "/",
3656 [
3657 "Sys.Console"
3658 ]
3659 ]
3660 },
3661 "protected" : 1,
3662 "returns" : {
3663 "type" : "null"
3664 }
3665 }
3666 },
3667 "leaf" : 0,
3668 "path" : "/cluster/ha/groups",
3669 "text" : "groups"
7aacca6f
DM
3670 },
3671 {
7aacca6f
DM
3672 "children" : [
3673 {
3674 "info" : {
3675 "GET" : {
56122987 3676 "description" : "Get HA manger status.",
44660702 3677 "method" : "GET",
7aacca6f 3678 "name" : "status",
44660702
DM
3679 "parameters" : {
3680 "additionalProperties" : 0
3681 },
56122987
DM
3682 "permissions" : {
3683 "check" : [
3684 "perm",
3685 "/",
3686 [
3687 "Sys.Audit"
3688 ]
3689 ]
7aacca6f 3690 },
44660702
DM
3691 "returns" : {
3692 "type" : "array"
56122987
DM
3693 }
3694 }
7aacca6f 3695 },
7aacca6f 3696 "leaf" : 1,
44660702
DM
3697 "path" : "/cluster/ha/status/current",
3698 "text" : "current"
56122987
DM
3699 },
3700 {
3701 "info" : {
3702 "GET" : {
7aacca6f 3703 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3704 "method" : "GET",
3705 "name" : "manager_status",
7aacca6f
DM
3706 "parameters" : {
3707 "additionalProperties" : 0
3708 },
56122987
DM
3709 "permissions" : {
3710 "check" : [
3711 "perm",
3712 "/",
3713 [
3714 "Sys.Audit"
3715 ]
3716 ]
44660702
DM
3717 },
3718 "returns" : {
3719 "type" : "object"
7aacca6f 3720 }
56122987
DM
3721 }
3722 },
56122987 3723 "leaf" : 1,
44660702
DM
3724 "path" : "/cluster/ha/status/manager_status",
3725 "text" : "manager_status"
56122987
DM
3726 }
3727 ],
56122987
DM
3728 "info" : {
3729 "GET" : {
44660702 3730 "description" : "Directory index.",
7aacca6f 3731 "method" : "GET",
44660702
DM
3732 "name" : "index",
3733 "parameters" : {
3734 "additionalProperties" : 0
3735 },
3736 "permissions" : {
3737 "user" : "all"
3738 },
56122987 3739 "returns" : {
56122987
DM
3740 "items" : {
3741 "properties" : {},
3742 "type" : "object"
3743 },
3744 "links" : [
3745 {
44660702
DM
3746 "href" : "{name}",
3747 "rel" : "child"
56122987 3748 }
7aacca6f
DM
3749 ],
3750 "type" : "array"
44660702 3751 }
56122987 3752 }
7aacca6f 3753 },
44660702 3754 "leaf" : 0,
7aacca6f 3755 "path" : "/cluster/ha/status",
44660702 3756 "text" : "status"
56122987
DM
3757 }
3758 ],
56122987
DM
3759 "info" : {
3760 "GET" : {
7aacca6f 3761 "description" : "Directory index.",
44660702
DM
3762 "method" : "GET",
3763 "name" : "index",
3764 "parameters" : {
3765 "additionalProperties" : 0
3766 },
7aacca6f
DM
3767 "permissions" : {
3768 "check" : [
3769 "perm",
3770 "/",
3771 [
3772 "Sys.Audit"
3773 ]
3774 ]
3775 },
56122987 3776 "returns" : {
56122987 3777 "items" : {
7aacca6f
DM
3778 "properties" : {
3779 "id" : {
3780 "type" : "string"
3781 }
44660702
DM
3782 },
3783 "type" : "object"
7aacca6f
DM
3784 },
3785 "links" : [
3786 {
3787 "href" : "{id}",
3788 "rel" : "child"
3789 }
44660702
DM
3790 ],
3791 "type" : "array"
7aacca6f
DM
3792 }
3793 }
44660702
DM
3794 },
3795 "leaf" : 0,
3796 "path" : "/cluster/ha",
3797 "text" : "ha"
7aacca6f
DM
3798 },
3799 {
7aacca6f
DM
3800 "info" : {
3801 "GET" : {
3802 "description" : "Read cluster log",
44660702
DM
3803 "method" : "GET",
3804 "name" : "log",
56122987 3805 "parameters" : {
7aacca6f 3806 "additionalProperties" : 0,
56122987
DM
3807 "properties" : {
3808 "max" : {
7aacca6f 3809 "description" : "Maximum number of entries.",
44660702
DM
3810 "minimum" : 1,
3811 "optional" : 1,
4bd7df8b 3812 "type" : "integer",
013dc89f 3813 "typetext" : "<integer> (1 - N)"
56122987 3814 }
7aacca6f 3815 }
56122987 3816 },
44660702
DM
3817 "permissions" : {
3818 "user" : "all"
3819 },
7aacca6f 3820 "returns" : {
7aacca6f 3821 "items" : {
44660702
DM
3822 "properties" : {},
3823 "type" : "object"
3824 },
3825 "type" : "array"
7aacca6f 3826 }
56122987 3827 }
44660702
DM
3828 },
3829 "leaf" : 1,
3830 "path" : "/cluster/log",
3831 "text" : "log"
56122987
DM
3832 },
3833 {
56122987
DM
3834 "info" : {
3835 "GET" : {
44660702 3836 "description" : "Resources index (cluster wide).",
7aacca6f 3837 "method" : "GET",
7aacca6f 3838 "name" : "resources",
56122987
DM
3839 "parameters" : {
3840 "additionalProperties" : 0,
3841 "properties" : {
3842 "type" : {
3843 "enum" : [
3844 "vm",
3845 "storage",
3846 "node"
44660702
DM
3847 ],
3848 "optional" : 1,
3849 "type" : "string"
56122987
DM
3850 }
3851 }
3852 },
44660702
DM
3853 "permissions" : {
3854 "user" : "all"
3855 },
3856 "returns" : {
3857 "items" : {
3858 "properties" : {},
3859 "type" : "object"
3860 },
3861 "type" : "array"
3862 }
56122987
DM
3863 }
3864 },
7aacca6f 3865 "leaf" : 1,
44660702
DM
3866 "path" : "/cluster/resources",
3867 "text" : "resources"
56122987
DM
3868 },
3869 {
56122987
DM
3870 "info" : {
3871 "GET" : {
7aacca6f 3872 "description" : "List recent tasks (cluster wide).",
44660702 3873 "method" : "GET",
7aacca6f 3874 "name" : "tasks",
56122987
DM
3875 "parameters" : {
3876 "additionalProperties" : 0
3877 },
44660702
DM
3878 "permissions" : {
3879 "user" : "all"
3880 },
56122987
DM
3881 "returns" : {
3882 "items" : {
3883 "properties" : {
3884 "upid" : {
3885 "type" : "string"
3886 }
44660702
DM
3887 },
3888 "type" : "object"
3889 },
3890 "type" : "array"
7aacca6f 3891 }
56122987
DM
3892 }
3893 },
7aacca6f 3894 "leaf" : 1,
44660702
DM
3895 "path" : "/cluster/tasks",
3896 "text" : "tasks"
56122987
DM
3897 },
3898 {
56122987 3899 "info" : {
7aacca6f 3900 "GET" : {
44660702
DM
3901 "description" : "Get datacenter options.",
3902 "method" : "GET",
3903 "name" : "get_options",
56122987 3904 "parameters" : {
7aacca6f
DM
3905 "additionalProperties" : 0
3906 },
3907 "permissions" : {
3908 "check" : [
3909 "perm",
3910 "/",
3911 [
3912 "Sys.Audit"
3913 ]
3914 ]
3915 },
7aacca6f 3916 "returns" : {
44660702
DM
3917 "properties" : {},
3918 "type" : "object"
7aacca6f
DM
3919 }
3920 },
3921 "PUT" : {
44660702
DM
3922 "description" : "Set datacenter options.",
3923 "method" : "PUT",
7aacca6f
DM
3924 "name" : "set_options",
3925 "parameters" : {
3926 "additionalProperties" : 0,
3927 "properties" : {
27a7acb2
DM
3928 "bwlimit" : {
3929 "description" : "Set bandwidth/io limits various operations.",
3930 "format" : {
3931 "clone" : {
3932 "description" : "bandwidth limit in MiB/s for cloning disks",
3933 "format_description" : "LIMIT",
3934 "minimum" : "0",
3935 "optional" : 1,
3936 "type" : "number"
3937 },
3938 "default" : {
3939 "description" : "default bandwidth limit in MiB/s",
3940 "format_description" : "LIMIT",
3941 "minimum" : "0",
3942 "optional" : 1,
3943 "type" : "number"
3944 },
3945 "migration" : {
3946 "description" : "bandwidth limit in MiB/s for migrating guests",
3947 "format_description" : "LIMIT",
3948 "minimum" : "0",
3949 "optional" : 1,
3950 "type" : "number"
3951 },
3952 "move" : {
3953 "description" : "bandwidth limit in MiB/s for moving disks",
3954 "format_description" : "LIMIT",
3955 "minimum" : "0",
3956 "optional" : 1,
3957 "type" : "number"
3958 },
3959 "restore" : {
3960 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
3961 "format_description" : "LIMIT",
3962 "minimum" : "0",
3963 "optional" : 1,
3964 "type" : "number"
3965 }
3966 },
3967 "optional" : 1,
3968 "type" : "string",
3969 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
3970 },
56122987 3971 "console" : {
35a75dd3 3972 "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), or an HTML5 based viewer (noVNC).",
56122987
DM
3973 "enum" : [
3974 "applet",
3975 "vv",
3976 "html5"
44660702
DM
3977 ],
3978 "optional" : 1,
3979 "type" : "string"
56122987 3980 },
7aacca6f 3981 "delete" : {
7aacca6f 3982 "description" : "A list of settings you want to delete.",
44660702 3983 "format" : "pve-configid-list",
7aacca6f 3984 "optional" : 1,
013dc89f
DM
3985 "type" : "string",
3986 "typetext" : "<string>"
7aacca6f 3987 },
44660702
DM
3988 "email_from" : {
3989 "description" : "Specify email address to send notification from (default is root@$hostname)",
3990 "format" : "email-opt",
7aacca6f 3991 "optional" : 1,
013dc89f
DM
3992 "type" : "string",
3993 "typetext" : "<string>"
44660702
DM
3994 },
3995 "fencing" : {
3996 "default" : "watchdog",
3997 "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 3998 "enum" : [
44660702
DM
3999 "watchdog",
4000 "hardware",
4001 "both"
7aacca6f 4002 ],
44660702
DM
4003 "optional" : 1,
4004 "type" : "string"
4005 },
4006 "http_proxy" : {
4007 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
4008 "optional" : 1,
4009 "pattern" : "http://.*",
4010 "type" : "string"
7aacca6f 4011 },
56122987 4012 "keyboard" : {
44660702 4013 "description" : "Default keybord layout for vnc server.",
56122987 4014 "enum" : [
44660702
DM
4015 "de",
4016 "de-ch",
7aacca6f 4017 "da",
56122987 4018 "en-gb",
44660702
DM
4019 "en-us",
4020 "es",
4021 "fi",
4022 "fr",
4023 "fr-be",
4024 "fr-ca",
4025 "fr-ch",
4026 "hu",
7aacca6f 4027 "is",
44660702
DM
4028 "it",
4029 "ja",
4030 "lt",
56122987 4031 "mk",
7aacca6f 4032 "nl",
56122987 4033 "no",
44660702 4034 "pl",
7aacca6f 4035 "pt",
44660702
DM
4036 "pt-br",
4037 "sv",
4038 "sl",
4039 "tr"
56122987 4040 ],
56122987
DM
4041 "optional" : 1,
4042 "type" : "string"
4043 },
44660702
DM
4044 "language" : {
4045 "description" : "Default GUI language.",
4046 "enum" : [
4047 "en",
4048 "de"
4049 ],
56122987 4050 "optional" : 1,
44660702 4051 "type" : "string"
56122987 4052 },
4bd7df8b
DM
4053 "mac_prefix" : {
4054 "description" : "Prefix for autogenerated MAC addresses.",
4055 "optional" : 1,
4056 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
4057 "type" : "string"
4058 },
44660702
DM
4059 "max_workers" : {
4060 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
4061 "minimum" : 1,
56122987 4062 "optional" : 1,
4bd7df8b 4063 "type" : "integer",
013dc89f 4064 "typetext" : "<integer> (1 - N)"
56122987 4065 },
de0983cb
DM
4066 "migration" : {
4067 "description" : "For cluster wide migration settings.",
4068 "format" : {
4069 "network" : {
4070 "description" : "CIDR of the (sub) network that is used for migration.",
4071 "format" : "CIDR",
4072 "format_description" : "CIDR",
4073 "optional" : 1,
4074 "type" : "string"
4075 },
4076 "type" : {
4077 "default" : "secure",
4078 "default_key" : 1,
4079 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
4080 "enum" : [
4081 "secure",
4082 "insecure"
4083 ],
4084 "type" : "string"
4085 }
4086 },
4087 "optional" : 1,
4088 "type" : "string",
4089 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
4090 },
7aacca6f 4091 "migration_unsecure" : {
de0983cb 4092 "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 4093 "optional" : 1,
013dc89f
DM
4094 "type" : "boolean",
4095 "typetext" : "<boolean>"
56122987
DM
4096 }
4097 }
4098 },
44660702
DM
4099 "permissions" : {
4100 "check" : [
4101 "perm",
4102 "/",
4103 [
4104 "Sys.Modify"
4105 ]
4106 ]
4107 },
56122987 4108 "protected" : 1,
7aacca6f
DM
4109 "returns" : {
4110 "type" : "null"
44660702 4111 }
7aacca6f
DM
4112 }
4113 },
44660702
DM
4114 "leaf" : 1,
4115 "path" : "/cluster/options",
7aacca6f
DM
4116 "text" : "options"
4117 },
4118 {
7aacca6f 4119 "info" : {
56122987 4120 "GET" : {
44660702
DM
4121 "description" : "Get cluster status informations.",
4122 "method" : "GET",
4123 "name" : "get_status",
56122987
DM
4124 "parameters" : {
4125 "additionalProperties" : 0
4126 },
56122987
DM
4127 "permissions" : {
4128 "check" : [
4129 "perm",
4130 "/",
4131 [
4132 "Sys.Audit"
4133 ]
4134 ]
4135 },
7aacca6f 4136 "protected" : 1,
56122987 4137 "returns" : {
56122987 4138 "items" : {
56122987
DM
4139 "properties" : {
4140 "type" : {
4141 "type" : "string"
4142 }
44660702
DM
4143 },
4144 "type" : "object"
7aacca6f
DM
4145 },
4146 "type" : "array"
56122987
DM
4147 }
4148 }
4149 },
44660702 4150 "leaf" : 1,
7aacca6f 4151 "path" : "/cluster/status",
44660702 4152 "text" : "status"
56122987
DM
4153 },
4154 {
56122987
DM
4155 "info" : {
4156 "GET" : {
56122987 4157 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
4158 "method" : "GET",
4159 "name" : "nextid",
56122987 4160 "parameters" : {
44660702 4161 "additionalProperties" : 0,
56122987
DM
4162 "properties" : {
4163 "vmid" : {
44660702 4164 "description" : "The (unique) ID of the VM.",
56122987 4165 "format" : "pve-vmid",
7aacca6f 4166 "minimum" : 1,
7aacca6f 4167 "optional" : 1,
4bd7df8b 4168 "type" : "integer",
013dc89f 4169 "typetext" : "<integer> (1 - N)"
56122987 4170 }
44660702 4171 }
56122987 4172 },
7aacca6f
DM
4173 "permissions" : {
4174 "user" : "all"
44660702
DM
4175 },
4176 "returns" : {
4177 "description" : "The next free VMID.",
4178 "type" : "integer"
7aacca6f 4179 }
56122987
DM
4180 }
4181 },
7aacca6f 4182 "leaf" : 1,
44660702
DM
4183 "path" : "/cluster/nextid",
4184 "text" : "nextid"
56122987
DM
4185 }
4186 ],
44660702
DM
4187 "info" : {
4188 "GET" : {
4189 "description" : "Cluster index.",
4190 "method" : "GET",
4191 "name" : "index",
4192 "parameters" : {
4193 "additionalProperties" : 0
4194 },
4195 "permissions" : {
4196 "user" : "all"
4197 },
4198 "returns" : {
4199 "items" : {
4200 "properties" : {},
4201 "type" : "object"
4202 },
4203 "links" : [
4204 {
4205 "href" : "{name}",
4206 "rel" : "child"
4207 }
4208 ],
4209 "type" : "array"
4210 }
4211 }
4212 },
4213 "leaf" : 0,
4214 "path" : "/cluster",
7aacca6f 4215 "text" : "cluster"
56122987
DM
4216 },
4217 {
56122987
DM
4218 "children" : [
4219 {
7aacca6f
DM
4220 "children" : [
4221 {
4222 "children" : [
4223 {
56122987
DM
4224 "children" : [
4225 {
56122987
DM
4226 "children" : [
4227 {
4228 "children" : [
4229 {
56122987
DM
4230 "info" : {
4231 "DELETE" : {
44660702 4232 "description" : "Delete rule.",
7aacca6f 4233 "method" : "DELETE",
44660702 4234 "name" : "delete_rule",
56122987 4235 "parameters" : {
44660702 4236 "additionalProperties" : 0,
56122987 4237 "properties" : {
44660702
DM
4238 "digest" : {
4239 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4240 "maxLength" : 40,
4241 "optional" : 1,
013dc89f
DM
4242 "type" : "string",
4243 "typetext" : "<string>"
44660702 4244 },
56122987 4245 "node" : {
7aacca6f 4246 "description" : "The cluster node name.",
44660702 4247 "format" : "pve-node",
013dc89f
DM
4248 "type" : "string",
4249 "typetext" : "<string>"
7aacca6f 4250 },
56122987 4251 "pos" : {
7aacca6f 4252 "description" : "Update rule at position <pos>.",
44660702 4253 "minimum" : 0,
56122987 4254 "optional" : 1,
4bd7df8b 4255 "type" : "integer",
013dc89f 4256 "typetext" : "<integer> (0 - N)"
44660702
DM
4257 },
4258 "vmid" : {
4259 "description" : "The (unique) ID of the VM.",
4260 "format" : "pve-vmid",
4261 "minimum" : 1,
4bd7df8b 4262 "type" : "integer",
013dc89f 4263 "typetext" : "<integer> (1 - N)"
56122987 4264 }
44660702 4265 }
7aacca6f 4266 },
56122987
DM
4267 "permissions" : {
4268 "check" : [
4269 "perm",
4270 "/vms/{vmid}",
4271 [
4272 "VM.Config.Network"
4273 ]
4274 ]
4275 },
44660702
DM
4276 "protected" : 1,
4277 "proxyto" : null,
56122987
DM
4278 "returns" : {
4279 "type" : "null"
44660702
DM
4280 }
4281 },
4282 "GET" : {
4283 "description" : "Get single rule data.",
4284 "method" : "GET",
4285 "name" : "get_rule",
4286 "parameters" : {
4287 "additionalProperties" : 0,
4288 "properties" : {
4289 "node" : {
4290 "description" : "The cluster node name.",
4291 "format" : "pve-node",
013dc89f
DM
4292 "type" : "string",
4293 "typetext" : "<string>"
44660702
DM
4294 },
4295 "pos" : {
4296 "description" : "Update rule at position <pos>.",
4297 "minimum" : 0,
4298 "optional" : 1,
4bd7df8b 4299 "type" : "integer",
013dc89f 4300 "typetext" : "<integer> (0 - N)"
44660702
DM
4301 },
4302 "vmid" : {
4303 "description" : "The (unique) ID of the VM.",
4304 "format" : "pve-vmid",
4305 "minimum" : 1,
4bd7df8b 4306 "type" : "integer",
013dc89f 4307 "typetext" : "<integer> (1 - N)"
44660702
DM
4308 }
4309 }
56122987 4310 },
56122987
DM
4311 "permissions" : {
4312 "check" : [
4313 "perm",
4314 "/vms/{vmid}",
4315 [
44660702 4316 "VM.Audit"
56122987
DM
4317 ]
4318 ]
4319 },
56122987 4320 "proxyto" : null,
44660702
DM
4321 "returns" : {
4322 "properties" : {
4323 "pos" : {
4324 "type" : "integer"
4325 }
4326 },
4327 "type" : "object"
4328 }
4329 },
4330 "PUT" : {
7aacca6f
DM
4331 "description" : "Modify rule data.",
4332 "method" : "PUT",
44660702 4333 "name" : "update_rule",
56122987 4334 "parameters" : {
44660702 4335 "additionalProperties" : 0,
56122987 4336 "properties" : {
44660702
DM
4337 "action" : {
4338 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4339 "maxLength" : 20,
4340 "minLength" : 2,
56122987 4341 "optional" : 1,
44660702 4342 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
4343 "type" : "string"
4344 },
7aacca6f 4345 "comment" : {
e94f0d56 4346 "description" : "Descriptive comment.",
7aacca6f 4347 "optional" : 1,
013dc89f
DM
4348 "type" : "string",
4349 "typetext" : "<string>"
7aacca6f
DM
4350 },
4351 "delete" : {
7aacca6f 4352 "description" : "A list of settings you want to delete.",
44660702
DM
4353 "format" : "pve-configid-list",
4354 "optional" : 1,
013dc89f
DM
4355 "type" : "string",
4356 "typetext" : "<string>"
7aacca6f
DM
4357 },
4358 "dest" : {
44660702 4359 "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 4360 "format" : "pve-fw-addr-spec",
56122987 4361 "optional" : 1,
013dc89f
DM
4362 "type" : "string",
4363 "typetext" : "<string>"
56122987 4364 },
7aacca6f 4365 "digest" : {
44660702 4366 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4367 "maxLength" : 40,
56122987 4368 "optional" : 1,
013dc89f
DM
4369 "type" : "string",
4370 "typetext" : "<string>"
44660702
DM
4371 },
4372 "dport" : {
4373 "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.",
4374 "format" : "pve-fw-dport-spec",
4375 "optional" : 1,
013dc89f
DM
4376 "type" : "string",
4377 "typetext" : "<string>"
56122987 4378 },
7aacca6f 4379 "enable" : {
e94f0d56 4380 "description" : "Flag to enable/disable a rule.",
44660702 4381 "minimum" : 0,
56122987 4382 "optional" : 1,
4bd7df8b 4383 "type" : "integer",
013dc89f 4384 "typetext" : "<integer> (0 - N)"
7aacca6f 4385 },
44660702
DM
4386 "iface" : {
4387 "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.",
4388 "format" : "pve-iface",
4389 "maxLength" : 20,
7aacca6f 4390 "minLength" : 2,
56122987 4391 "optional" : 1,
013dc89f
DM
4392 "type" : "string",
4393 "typetext" : "<string>"
56122987 4394 },
44660702 4395 "macro" : {
e94f0d56 4396 "description" : "Use predefined standard macro.",
44660702 4397 "maxLength" : 128,
56122987 4398 "optional" : 1,
013dc89f
DM
4399 "type" : "string",
4400 "typetext" : "<string>"
56122987 4401 },
44660702
DM
4402 "moveto" : {
4403 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4404 "minimum" : 0,
56122987 4405 "optional" : 1,
4bd7df8b 4406 "type" : "integer",
013dc89f 4407 "typetext" : "<integer> (0 - N)"
56122987 4408 },
44660702
DM
4409 "node" : {
4410 "description" : "The cluster node name.",
4411 "format" : "pve-node",
013dc89f
DM
4412 "type" : "string",
4413 "typetext" : "<string>"
44660702
DM
4414 },
4415 "pos" : {
4416 "description" : "Update rule at position <pos>.",
4417 "minimum" : 0,
4418 "optional" : 1,
4bd7df8b 4419 "type" : "integer",
013dc89f 4420 "typetext" : "<integer> (0 - N)"
56122987 4421 },
44660702
DM
4422 "proto" : {
4423 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4424 "format" : "pve-fw-protocol-spec",
4425 "optional" : 1,
013dc89f
DM
4426 "type" : "string",
4427 "typetext" : "<string>"
7aacca6f 4428 },
44660702
DM
4429 "source" : {
4430 "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.",
4431 "format" : "pve-fw-addr-spec",
56122987 4432 "optional" : 1,
013dc89f
DM
4433 "type" : "string",
4434 "typetext" : "<string>"
56122987
DM
4435 },
4436 "sport" : {
4437 "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
4438 "format" : "pve-fw-sport-spec",
4439 "optional" : 1,
013dc89f
DM
4440 "type" : "string",
4441 "typetext" : "<string>"
44660702
DM
4442 },
4443 "type" : {
e94f0d56 4444 "description" : "Rule type.",
44660702
DM
4445 "enum" : [
4446 "in",
4447 "out",
4448 "group"
4449 ],
56122987 4450 "optional" : 1,
56122987 4451 "type" : "string"
44660702
DM
4452 },
4453 "vmid" : {
4454 "description" : "The (unique) ID of the VM.",
4455 "format" : "pve-vmid",
4456 "minimum" : 1,
4bd7df8b 4457 "type" : "integer",
013dc89f 4458 "typetext" : "<integer> (1 - N)"
56122987 4459 }
44660702 4460 }
56122987 4461 },
56122987
DM
4462 "permissions" : {
4463 "check" : [
4464 "perm",
4465 "/vms/{vmid}",
4466 [
44660702 4467 "VM.Config.Network"
56122987
DM
4468 ]
4469 ]
7aacca6f 4470 },
44660702 4471 "protected" : 1,
7aacca6f 4472 "proxyto" : null,
7aacca6f 4473 "returns" : {
44660702
DM
4474 "type" : "null"
4475 }
56122987 4476 }
7aacca6f 4477 },
44660702 4478 "leaf" : 1,
7aacca6f 4479 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4480 "text" : "{pos}"
56122987
DM
4481 }
4482 ],
56122987 4483 "info" : {
44660702
DM
4484 "GET" : {
4485 "description" : "List rules.",
4486 "method" : "GET",
4487 "name" : "get_rules",
4488 "parameters" : {
4489 "additionalProperties" : 0,
4490 "properties" : {
4491 "node" : {
4492 "description" : "The cluster node name.",
4493 "format" : "pve-node",
013dc89f
DM
4494 "type" : "string",
4495 "typetext" : "<string>"
44660702
DM
4496 },
4497 "vmid" : {
4498 "description" : "The (unique) ID of the VM.",
4499 "format" : "pve-vmid",
4500 "minimum" : 1,
4bd7df8b 4501 "type" : "integer",
013dc89f 4502 "typetext" : "<integer> (1 - N)"
44660702
DM
4503 }
4504 }
56122987 4505 },
56122987
DM
4506 "permissions" : {
4507 "check" : [
4508 "perm",
4509 "/vms/{vmid}",
4510 [
44660702 4511 "VM.Audit"
56122987
DM
4512 ]
4513 ]
7aacca6f 4514 },
44660702
DM
4515 "proxyto" : null,
4516 "returns" : {
4517 "items" : {
4518 "properties" : {
4519 "pos" : {
4520 "type" : "integer"
4521 }
4522 },
4523 "type" : "object"
4524 },
4525 "links" : [
4526 {
4527 "href" : "{pos}",
4528 "rel" : "child"
4529 }
4530 ],
4531 "type" : "array"
4532 }
4533 },
4534 "POST" : {
4535 "description" : "Create new rule.",
7aacca6f 4536 "method" : "POST",
44660702 4537 "name" : "create_rule",
56122987 4538 "parameters" : {
44660702 4539 "additionalProperties" : 0,
56122987 4540 "properties" : {
44660702
DM
4541 "action" : {
4542 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4543 "maxLength" : 20,
4544 "minLength" : 2,
4545 "optional" : 0,
4546 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4547 "type" : "string"
56122987 4548 },
44660702 4549 "comment" : {
e94f0d56 4550 "description" : "Descriptive comment.",
56122987 4551 "optional" : 1,
013dc89f
DM
4552 "type" : "string",
4553 "typetext" : "<string>"
56122987 4554 },
44660702
DM
4555 "dest" : {
4556 "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.",
4557 "format" : "pve-fw-addr-spec",
4558 "optional" : 1,
013dc89f
DM
4559 "type" : "string",
4560 "typetext" : "<string>"
56122987 4561 },
44660702
DM
4562 "digest" : {
4563 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4564 "maxLength" : 40,
56122987 4565 "optional" : 1,
013dc89f
DM
4566 "type" : "string",
4567 "typetext" : "<string>"
56122987 4568 },
7aacca6f
DM
4569 "dport" : {
4570 "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 4571 "format" : "pve-fw-dport-spec",
7aacca6f 4572 "optional" : 1,
013dc89f
DM
4573 "type" : "string",
4574 "typetext" : "<string>"
56122987
DM
4575 },
4576 "enable" : {
e94f0d56 4577 "description" : "Flag to enable/disable a rule.",
56122987 4578 "minimum" : 0,
44660702 4579 "optional" : 1,
4bd7df8b 4580 "type" : "integer",
013dc89f 4581 "typetext" : "<integer> (0 - N)"
56122987 4582 },
44660702
DM
4583 "iface" : {
4584 "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.",
4585 "format" : "pve-iface",
4586 "maxLength" : 20,
7aacca6f 4587 "minLength" : 2,
44660702 4588 "optional" : 1,
013dc89f
DM
4589 "type" : "string",
4590 "typetext" : "<string>"
56122987 4591 },
44660702 4592 "macro" : {
e94f0d56 4593 "description" : "Use predefined standard macro.",
44660702 4594 "maxLength" : 128,
56122987 4595 "optional" : 1,
013dc89f
DM
4596 "type" : "string",
4597 "typetext" : "<string>"
7aacca6f 4598 },
44660702
DM
4599 "node" : {
4600 "description" : "The cluster node name.",
4601 "format" : "pve-node",
013dc89f
DM
4602 "type" : "string",
4603 "typetext" : "<string>"
44660702
DM
4604 },
4605 "pos" : {
4606 "description" : "Update rule at position <pos>.",
4607 "minimum" : 0,
4608 "optional" : 1,
4bd7df8b 4609 "type" : "integer",
013dc89f 4610 "typetext" : "<integer> (0 - N)"
44660702
DM
4611 },
4612 "proto" : {
4613 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4614 "format" : "pve-fw-protocol-spec",
7aacca6f 4615 "optional" : 1,
013dc89f
DM
4616 "type" : "string",
4617 "typetext" : "<string>"
7aacca6f
DM
4618 },
4619 "source" : {
4620 "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 4621 "format" : "pve-fw-addr-spec",
7aacca6f 4622 "optional" : 1,
013dc89f
DM
4623 "type" : "string",
4624 "typetext" : "<string>"
7aacca6f 4625 },
44660702
DM
4626 "sport" : {
4627 "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.",
4628 "format" : "pve-fw-sport-spec",
7aacca6f 4629 "optional" : 1,
013dc89f
DM
4630 "type" : "string",
4631 "typetext" : "<string>"
7aacca6f 4632 },
44660702 4633 "type" : {
e94f0d56 4634 "description" : "Rule type.",
44660702
DM
4635 "enum" : [
4636 "in",
4637 "out",
4638 "group"
4639 ],
4640 "optional" : 0,
4641 "type" : "string"
7aacca6f 4642 },
7aacca6f 4643 "vmid" : {
44660702 4644 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
4645 "format" : "pve-vmid",
4646 "minimum" : 1,
4bd7df8b 4647 "type" : "integer",
013dc89f 4648 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4649 }
4650 }
4651 },
56122987
DM
4652 "permissions" : {
4653 "check" : [
4654 "perm",
4655 "/vms/{vmid}",
4656 [
44660702 4657 "VM.Config.Network"
56122987
DM
4658 ]
4659 ]
4660 },
44660702
DM
4661 "protected" : 1,
4662 "proxyto" : null,
56122987 4663 "returns" : {
44660702
DM
4664 "type" : "null"
4665 }
56122987
DM
4666 }
4667 },
44660702 4668 "leaf" : 0,
7aacca6f 4669 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4670 "text" : "rules"
56122987
DM
4671 },
4672 {
4673 "children" : [
4674 {
56122987 4675 "info" : {
44660702
DM
4676 "DELETE" : {
4677 "description" : "Remove IP or Network alias.",
4678 "method" : "DELETE",
4679 "name" : "remove_alias",
56122987 4680 "parameters" : {
44660702 4681 "additionalProperties" : 0,
56122987 4682 "properties" : {
44660702
DM
4683 "digest" : {
4684 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4685 "maxLength" : 40,
4686 "optional" : 1,
013dc89f
DM
4687 "type" : "string",
4688 "typetext" : "<string>"
56122987
DM
4689 },
4690 "name" : {
56122987 4691 "description" : "Alias name.",
44660702 4692 "maxLength" : 64,
7aacca6f 4693 "minLength" : 2,
44660702 4694 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
4695 "type" : "string"
4696 },
7aacca6f 4697 "node" : {
44660702 4698 "description" : "The cluster node name.",
7aacca6f 4699 "format" : "pve-node",
013dc89f
DM
4700 "type" : "string",
4701 "typetext" : "<string>"
44660702
DM
4702 },
4703 "vmid" : {
4704 "description" : "The (unique) ID of the VM.",
4705 "format" : "pve-vmid",
4706 "minimum" : 1,
4bd7df8b 4707 "type" : "integer",
013dc89f 4708 "typetext" : "<integer> (1 - N)"
56122987 4709 }
44660702 4710 }
56122987 4711 },
7aacca6f
DM
4712 "permissions" : {
4713 "check" : [
4714 "perm",
4715 "/vms/{vmid}",
4716 [
4717 "VM.Config.Network"
4718 ]
4719 ]
56122987 4720 },
44660702
DM
4721 "protected" : 1,
4722 "returns" : {
4723 "type" : "null"
4724 }
4725 },
4726 "GET" : {
4727 "description" : "Read alias.",
4728 "method" : "GET",
4729 "name" : "read_alias",
56122987 4730 "parameters" : {
44660702 4731 "additionalProperties" : 0,
56122987 4732 "properties" : {
56122987 4733 "name" : {
7aacca6f 4734 "description" : "Alias name.",
44660702 4735 "maxLength" : 64,
56122987 4736 "minLength" : 2,
44660702 4737 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4738 "type" : "string"
7aacca6f
DM
4739 },
4740 "node" : {
4741 "description" : "The cluster node name.",
44660702 4742 "format" : "pve-node",
013dc89f
DM
4743 "type" : "string",
4744 "typetext" : "<string>"
44660702
DM
4745 },
4746 "vmid" : {
4747 "description" : "The (unique) ID of the VM.",
4748 "format" : "pve-vmid",
4749 "minimum" : 1,
4bd7df8b 4750 "type" : "integer",
013dc89f 4751 "typetext" : "<integer> (1 - N)"
56122987 4752 }
44660702 4753 }
56122987 4754 },
44660702
DM
4755 "permissions" : {
4756 "check" : [
4757 "perm",
4758 "/vms/{vmid}",
4759 [
4760 "VM.Audit"
4761 ]
4762 ]
56122987 4763 },
44660702
DM
4764 "returns" : {
4765 "type" : "object"
4766 }
7aacca6f 4767 },
44660702
DM
4768 "PUT" : {
4769 "description" : "Update IP or Network alias.",
4770 "method" : "PUT",
4771 "name" : "update_alias",
56122987
DM
4772 "parameters" : {
4773 "additionalProperties" : 0,
4774 "properties" : {
44660702
DM
4775 "cidr" : {
4776 "description" : "Network/IP specification in CIDR format.",
4777 "format" : "IPorCIDR",
013dc89f
DM
4778 "type" : "string",
4779 "typetext" : "<string>"
44660702
DM
4780 },
4781 "comment" : {
4782 "optional" : 1,
013dc89f
DM
4783 "type" : "string",
4784 "typetext" : "<string>"
56122987
DM
4785 },
4786 "digest" : {
44660702 4787 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4788 "maxLength" : 40,
4789 "optional" : 1,
013dc89f
DM
4790 "type" : "string",
4791 "typetext" : "<string>"
56122987 4792 },
7aacca6f 4793 "name" : {
44660702 4794 "description" : "Alias name.",
56122987
DM
4795 "maxLength" : 64,
4796 "minLength" : 2,
4797 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4798 "type" : "string"
7aacca6f
DM
4799 },
4800 "node" : {
7aacca6f 4801 "description" : "The cluster node name.",
44660702 4802 "format" : "pve-node",
013dc89f
DM
4803 "type" : "string",
4804 "typetext" : "<string>"
44660702
DM
4805 },
4806 "rename" : {
4807 "description" : "Rename an existing alias.",
4808 "maxLength" : 64,
4809 "minLength" : 2,
4810 "optional" : 1,
4811 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4812 "type" : "string"
4813 },
4814 "vmid" : {
4815 "description" : "The (unique) ID of the VM.",
4816 "format" : "pve-vmid",
4817 "minimum" : 1,
4bd7df8b 4818 "type" : "integer",
013dc89f 4819 "typetext" : "<integer> (1 - N)"
56122987
DM
4820 }
4821 }
4822 },
7aacca6f
DM
4823 "permissions" : {
4824 "check" : [
4825 "perm",
4826 "/vms/{vmid}",
4827 [
4828 "VM.Config.Network"
4829 ]
4830 ]
4831 },
4832 "protected" : 1,
7aacca6f
DM
4833 "returns" : {
4834 "type" : "null"
44660702 4835 }
56122987
DM
4836 }
4837 },
44660702 4838 "leaf" : 1,
7aacca6f 4839 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4840 "text" : "{name}"
56122987
DM
4841 }
4842 ],
4843 "info" : {
44660702
DM
4844 "GET" : {
4845 "description" : "List aliases",
4846 "method" : "GET",
4847 "name" : "get_aliases",
56122987 4848 "parameters" : {
44660702 4849 "additionalProperties" : 0,
56122987 4850 "properties" : {
7aacca6f 4851 "node" : {
7aacca6f 4852 "description" : "The cluster node name.",
44660702 4853 "format" : "pve-node",
013dc89f
DM
4854 "type" : "string",
4855 "typetext" : "<string>"
56122987 4856 },
44660702
DM
4857 "vmid" : {
4858 "description" : "The (unique) ID of the VM.",
4859 "format" : "pve-vmid",
4860 "minimum" : 1,
4bd7df8b 4861 "type" : "integer",
013dc89f 4862 "typetext" : "<integer> (1 - N)"
56122987 4863 }
44660702 4864 }
56122987 4865 },
56122987
DM
4866 "permissions" : {
4867 "check" : [
4868 "perm",
4869 "/vms/{vmid}",
4870 [
44660702 4871 "VM.Audit"
56122987
DM
4872 ]
4873 ]
4874 },
56122987
DM
4875 "returns" : {
4876 "items" : {
4877 "properties" : {
44660702 4878 "cidr" : {
56122987
DM
4879 "type" : "string"
4880 },
44660702
DM
4881 "comment" : {
4882 "optional" : 1,
7aacca6f 4883 "type" : "string"
56122987
DM
4884 },
4885 "digest" : {
56122987 4886 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4887 "maxLength" : 40,
56122987
DM
4888 "optional" : 0,
4889 "type" : "string"
4890 },
44660702 4891 "name" : {
56122987
DM
4892 "type" : "string"
4893 }
44660702
DM
4894 },
4895 "type" : "object"
56122987 4896 },
56122987
DM
4897 "links" : [
4898 {
4899 "href" : "{name}",
4900 "rel" : "child"
4901 }
44660702
DM
4902 ],
4903 "type" : "array"
4904 }
4905 },
4906 "POST" : {
4907 "description" : "Create IP or Network Alias.",
4908 "method" : "POST",
4909 "name" : "create_alias",
56122987 4910 "parameters" : {
7aacca6f 4911 "additionalProperties" : 0,
56122987 4912 "properties" : {
44660702
DM
4913 "cidr" : {
4914 "description" : "Network/IP specification in CIDR format.",
4915 "format" : "IPorCIDR",
013dc89f
DM
4916 "type" : "string",
4917 "typetext" : "<string>"
44660702
DM
4918 },
4919 "comment" : {
4920 "optional" : 1,
013dc89f
DM
4921 "type" : "string",
4922 "typetext" : "<string>"
44660702
DM
4923 },
4924 "name" : {
4925 "description" : "Alias name.",
4926 "maxLength" : 64,
4927 "minLength" : 2,
4928 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4929 "type" : "string"
56122987
DM
4930 },
4931 "node" : {
7aacca6f 4932 "description" : "The cluster node name.",
44660702 4933 "format" : "pve-node",
013dc89f
DM
4934 "type" : "string",
4935 "typetext" : "<string>"
44660702
DM
4936 },
4937 "vmid" : {
4938 "description" : "The (unique) ID of the VM.",
4939 "format" : "pve-vmid",
4940 "minimum" : 1,
4bd7df8b 4941 "type" : "integer",
013dc89f 4942 "typetext" : "<integer> (1 - N)"
56122987 4943 }
7aacca6f 4944 }
56122987 4945 },
44660702
DM
4946 "permissions" : {
4947 "check" : [
4948 "perm",
4949 "/vms/{vmid}",
4950 [
4951 "VM.Config.Network"
4952 ]
4953 ]
4954 },
4955 "protected" : 1,
4956 "returns" : {
4957 "type" : "null"
4958 }
56122987 4959 }
44660702
DM
4960 },
4961 "leaf" : 0,
4962 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4963 "text" : "aliases"
56122987
DM
4964 },
4965 {
56122987
DM
4966 "children" : [
4967 {
7aacca6f
DM
4968 "children" : [
4969 {
4970 "info" : {
4971 "DELETE" : {
44660702 4972 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4973 "method" : "DELETE",
44660702 4974 "name" : "remove_ip",
7aacca6f 4975 "parameters" : {
44660702 4976 "additionalProperties" : 0,
7aacca6f 4977 "properties" : {
44660702
DM
4978 "cidr" : {
4979 "description" : "Network/IP specification in CIDR format.",
4980 "format" : "IPorCIDRorAlias",
013dc89f
DM
4981 "type" : "string",
4982 "typetext" : "<string>"
44660702
DM
4983 },
4984 "digest" : {
4985 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4986 "maxLength" : 40,
4987 "optional" : 1,
013dc89f
DM
4988 "type" : "string",
4989 "typetext" : "<string>"
44660702 4990 },
7aacca6f 4991 "name" : {
7aacca6f 4992 "description" : "IP set name.",
44660702
DM
4993 "maxLength" : 64,
4994 "minLength" : 2,
7aacca6f 4995 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4996 "type" : "string"
7aacca6f
DM
4997 },
4998 "node" : {
4999 "description" : "The cluster node name.",
44660702 5000 "format" : "pve-node",
013dc89f
DM
5001 "type" : "string",
5002 "typetext" : "<string>"
7aacca6f
DM
5003 },
5004 "vmid" : {
44660702 5005 "description" : "The (unique) ID of the VM.",
7aacca6f 5006 "format" : "pve-vmid",
44660702 5007 "minimum" : 1,
4bd7df8b 5008 "type" : "integer",
013dc89f 5009 "typetext" : "<integer> (1 - N)"
7aacca6f 5010 }
44660702 5011 }
7aacca6f 5012 },
7aacca6f
DM
5013 "permissions" : {
5014 "check" : [
5015 "perm",
5016 "/vms/{vmid}",
5017 [
5018 "VM.Config.Network"
5019 ]
5020 ]
5021 },
5022 "protected" : 1,
44660702
DM
5023 "returns" : {
5024 "type" : "null"
5025 }
56122987 5026 },
44660702
DM
5027 "GET" : {
5028 "description" : "Read IP or Network settings from IPSet.",
5029 "method" : "GET",
5030 "name" : "read_ip",
7aacca6f 5031 "parameters" : {
44660702 5032 "additionalProperties" : 0,
7aacca6f 5033 "properties" : {
7aacca6f 5034 "cidr" : {
44660702 5035 "description" : "Network/IP specification in CIDR format.",
7aacca6f 5036 "format" : "IPorCIDRorAlias",
013dc89f
DM
5037 "type" : "string",
5038 "typetext" : "<string>"
7aacca6f
DM
5039 },
5040 "name" : {
7aacca6f 5041 "description" : "IP set name.",
44660702 5042 "maxLength" : 64,
7aacca6f 5043 "minLength" : 2,
44660702
DM
5044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5045 "type" : "string"
7aacca6f 5046 },
44660702
DM
5047 "node" : {
5048 "description" : "The cluster node name.",
5049 "format" : "pve-node",
013dc89f
DM
5050 "type" : "string",
5051 "typetext" : "<string>"
7aacca6f 5052 },
44660702
DM
5053 "vmid" : {
5054 "description" : "The (unique) ID of the VM.",
5055 "format" : "pve-vmid",
5056 "minimum" : 1,
4bd7df8b 5057 "type" : "integer",
013dc89f 5058 "typetext" : "<integer> (1 - N)"
7aacca6f 5059 }
44660702 5060 }
7aacca6f 5061 },
44660702
DM
5062 "permissions" : {
5063 "check" : [
5064 "perm",
5065 "/vms/{vmid}",
5066 [
5067 "VM.Audit"
5068 ]
5069 ]
5070 },
5071 "protected" : 1,
7aacca6f 5072 "returns" : {
44660702 5073 "type" : "object"
7aacca6f 5074 }
56122987 5075 },
44660702
DM
5076 "PUT" : {
5077 "description" : "Update IP or Network settings",
5078 "method" : "PUT",
5079 "name" : "update_ip",
7aacca6f
DM
5080 "parameters" : {
5081 "additionalProperties" : 0,
5082 "properties" : {
44660702
DM
5083 "cidr" : {
5084 "description" : "Network/IP specification in CIDR format.",
5085 "format" : "IPorCIDRorAlias",
013dc89f
DM
5086 "type" : "string",
5087 "typetext" : "<string>"
44660702
DM
5088 },
5089 "comment" : {
5090 "optional" : 1,
013dc89f
DM
5091 "type" : "string",
5092 "typetext" : "<string>"
44660702
DM
5093 },
5094 "digest" : {
5095 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5096 "maxLength" : 40,
5097 "optional" : 1,
013dc89f
DM
5098 "type" : "string",
5099 "typetext" : "<string>"
44660702 5100 },
7aacca6f 5101 "name" : {
7aacca6f 5102 "description" : "IP set name.",
44660702 5103 "maxLength" : 64,
7aacca6f 5104 "minLength" : 2,
44660702
DM
5105 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5106 "type" : "string"
7aacca6f
DM
5107 },
5108 "node" : {
7aacca6f 5109 "description" : "The cluster node name.",
44660702 5110 "format" : "pve-node",
013dc89f
DM
5111 "type" : "string",
5112 "typetext" : "<string>"
7aacca6f 5113 },
44660702
DM
5114 "nomatch" : {
5115 "optional" : 1,
013dc89f
DM
5116 "type" : "boolean",
5117 "typetext" : "<boolean>"
7aacca6f
DM
5118 },
5119 "vmid" : {
5120 "description" : "The (unique) ID of the VM.",
44660702 5121 "format" : "pve-vmid",
7aacca6f 5122 "minimum" : 1,
4bd7df8b 5123 "type" : "integer",
013dc89f 5124 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
5125 }
5126 }
5127 },
5128 "permissions" : {
5129 "check" : [
5130 "perm",
5131 "/vms/{vmid}",
5132 [
44660702 5133 "VM.Config.Network"
7aacca6f
DM
5134 ]
5135 ]
5136 },
7aacca6f 5137 "protected" : 1,
7aacca6f 5138 "returns" : {
44660702 5139 "type" : "null"
7aacca6f 5140 }
56122987 5141 }
7aacca6f 5142 },
7aacca6f 5143 "leaf" : 1,
44660702
DM
5144 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
5145 "text" : "{cidr}"
7aacca6f 5146 }
44660702
DM
5147 ],
5148 "info" : {
5149 "DELETE" : {
5150 "description" : "Delete IPSet",
5151 "method" : "DELETE",
5152 "name" : "delete_ipset",
5153 "parameters" : {
5154 "additionalProperties" : 0,
5155 "properties" : {
5156 "name" : {
5157 "description" : "IP set name.",
5158 "maxLength" : 64,
5159 "minLength" : 2,
5160 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5161 "type" : "string"
5162 },
5163 "node" : {
5164 "description" : "The cluster node name.",
5165 "format" : "pve-node",
013dc89f
DM
5166 "type" : "string",
5167 "typetext" : "<string>"
44660702
DM
5168 },
5169 "vmid" : {
5170 "description" : "The (unique) ID of the VM.",
5171 "format" : "pve-vmid",
5172 "minimum" : 1,
4bd7df8b 5173 "type" : "integer",
013dc89f 5174 "typetext" : "<integer> (1 - N)"
44660702
DM
5175 }
5176 }
7aacca6f 5177 },
44660702
DM
5178 "permissions" : {
5179 "check" : [
5180 "perm",
5181 "/vms/{vmid}",
5182 [
5183 "VM.Config.Network"
5184 ]
5185 ]
7aacca6f 5186 },
44660702
DM
5187 "protected" : 1,
5188 "returns" : {
5189 "type" : "null"
5190 }
5191 },
5192 "GET" : {
5193 "description" : "List IPSet content",
5194 "method" : "GET",
5195 "name" : "get_ipset",
5196 "parameters" : {
5197 "additionalProperties" : 0,
5198 "properties" : {
5199 "name" : {
5200 "description" : "IP set name.",
5201 "maxLength" : 64,
5202 "minLength" : 2,
5203 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5204 "type" : "string"
5205 },
5206 "node" : {
5207 "description" : "The cluster node name.",
5208 "format" : "pve-node",
013dc89f
DM
5209 "type" : "string",
5210 "typetext" : "<string>"
44660702
DM
5211 },
5212 "vmid" : {
5213 "description" : "The (unique) ID of the VM.",
5214 "format" : "pve-vmid",
5215 "minimum" : 1,
4bd7df8b 5216 "type" : "integer",
013dc89f 5217 "typetext" : "<integer> (1 - N)"
44660702
DM
5218 }
5219 }
7aacca6f 5220 },
44660702
DM
5221 "permissions" : {
5222 "check" : [
5223 "perm",
5224 "/vms/{vmid}",
5225 [
5226 "VM.Audit"
5227 ]
5228 ]
7aacca6f 5229 },
44660702
DM
5230 "returns" : {
5231 "items" : {
5232 "properties" : {
5233 "cidr" : {
5234 "type" : "string"
5235 },
5236 "comment" : {
5237 "optional" : 1,
5238 "type" : "string"
5239 },
5240 "digest" : {
5241 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5242 "maxLength" : 40,
5243 "optional" : 0,
5244 "type" : "string"
5245 },
5246 "nomatch" : {
5247 "optional" : 1,
5248 "type" : "boolean"
5249 }
5250 },
5251 "type" : "object"
5252 },
5253 "links" : [
5254 {
5255 "href" : "{cidr}",
5256 "rel" : "child"
5257 }
5258 ],
5259 "type" : "array"
56122987
DM
5260 }
5261 },
44660702
DM
5262 "POST" : {
5263 "description" : "Add IP or Network to IPSet.",
5264 "method" : "POST",
5265 "name" : "create_ip",
5266 "parameters" : {
5267 "additionalProperties" : 0,
5268 "properties" : {
5269 "cidr" : {
5270 "description" : "Network/IP specification in CIDR format.",
5271 "format" : "IPorCIDRorAlias",
013dc89f
DM
5272 "type" : "string",
5273 "typetext" : "<string>"
44660702
DM
5274 },
5275 "comment" : {
5276 "optional" : 1,
013dc89f
DM
5277 "type" : "string",
5278 "typetext" : "<string>"
44660702
DM
5279 },
5280 "name" : {
5281 "description" : "IP set name.",
5282 "maxLength" : 64,
5283 "minLength" : 2,
5284 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5285 "type" : "string"
5286 },
5287 "node" : {
5288 "description" : "The cluster node name.",
5289 "format" : "pve-node",
013dc89f
DM
5290 "type" : "string",
5291 "typetext" : "<string>"
44660702
DM
5292 },
5293 "nomatch" : {
5294 "optional" : 1,
013dc89f
DM
5295 "type" : "boolean",
5296 "typetext" : "<boolean>"
44660702
DM
5297 },
5298 "vmid" : {
5299 "description" : "The (unique) ID of the VM.",
5300 "format" : "pve-vmid",
5301 "minimum" : 1,
4bd7df8b 5302 "type" : "integer",
013dc89f 5303 "typetext" : "<integer> (1 - N)"
44660702
DM
5304 }
5305 }
5306 },
5307 "permissions" : {
5308 "check" : [
5309 "perm",
5310 "/vms/{vmid}",
5311 [
5312 "VM.Config.Network"
5313 ]
5314 ]
5315 },
5316 "protected" : 1,
5317 "returns" : {
5318 "type" : "null"
5319 }
5320 }
5321 },
5322 "leaf" : 0,
5323 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
5324 "text" : "{name}"
5325 }
5326 ],
5327 "info" : {
5328 "GET" : {
5329 "description" : "List IPSets",
5330 "method" : "GET",
5331 "name" : "ipset_index",
5332 "parameters" : {
5333 "additionalProperties" : 0,
5334 "properties" : {
5335 "node" : {
5336 "description" : "The cluster node name.",
5337 "format" : "pve-node",
013dc89f
DM
5338 "type" : "string",
5339 "typetext" : "<string>"
44660702
DM
5340 },
5341 "vmid" : {
5342 "description" : "The (unique) ID of the VM.",
5343 "format" : "pve-vmid",
5344 "minimum" : 1,
4bd7df8b 5345 "type" : "integer",
013dc89f 5346 "typetext" : "<integer> (1 - N)"
44660702
DM
5347 }
5348 }
56122987
DM
5349 },
5350 "permissions" : {
5351 "check" : [
5352 "perm",
5353 "/vms/{vmid}",
5354 [
44660702 5355 "VM.Audit"
56122987
DM
5356 ]
5357 ]
5358 },
7aacca6f 5359 "returns" : {
7aacca6f
DM
5360 "items" : {
5361 "properties" : {
7aacca6f
DM
5362 "comment" : {
5363 "optional" : 1,
5364 "type" : "string"
5365 },
5366 "digest" : {
7aacca6f 5367 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5368 "maxLength" : 40,
5369 "optional" : 0,
5370 "type" : "string"
5371 },
5372 "name" : {
5373 "description" : "IP set name.",
5374 "maxLength" : 64,
5375 "minLength" : 2,
5376 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5377 "type" : "string"
7aacca6f
DM
5378 }
5379 },
5380 "type" : "object"
5381 },
5382 "links" : [
5383 {
44660702
DM
5384 "href" : "{name}",
5385 "rel" : "child"
7aacca6f 5386 }
44660702
DM
5387 ],
5388 "type" : "array"
5389 }
5390 },
5391 "POST" : {
5392 "description" : "Create new IPSet",
5393 "method" : "POST",
5394 "name" : "create_ipset",
56122987
DM
5395 "parameters" : {
5396 "additionalProperties" : 0,
5397 "properties" : {
44660702
DM
5398 "comment" : {
5399 "optional" : 1,
013dc89f
DM
5400 "type" : "string",
5401 "typetext" : "<string>"
56122987 5402 },
44660702
DM
5403 "digest" : {
5404 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5405 "maxLength" : 40,
5406 "optional" : 1,
013dc89f
DM
5407 "type" : "string",
5408 "typetext" : "<string>"
44660702
DM
5409 },
5410 "name" : {
5411 "description" : "IP set name.",
5412 "maxLength" : 64,
5413 "minLength" : 2,
5414 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5415 "type" : "string"
5416 },
5417 "node" : {
5418 "description" : "The cluster node name.",
5419 "format" : "pve-node",
013dc89f
DM
5420 "type" : "string",
5421 "typetext" : "<string>"
44660702
DM
5422 },
5423 "rename" : {
5424 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5425 "maxLength" : 64,
5426 "minLength" : 2,
5427 "optional" : 1,
5428 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5429 "type" : "string"
5430 },
5431 "vmid" : {
5432 "description" : "The (unique) ID of the VM.",
5433 "format" : "pve-vmid",
5434 "minimum" : 1,
4bd7df8b 5435 "type" : "integer",
013dc89f 5436 "typetext" : "<integer> (1 - N)"
44660702
DM
5437 }
5438 }
5439 },
7aacca6f
DM
5440 "permissions" : {
5441 "check" : [
5442 "perm",
5443 "/vms/{vmid}",
5444 [
5445 "VM.Config.Network"
5446 ]
5447 ]
5448 },
44660702 5449 "protected" : 1,
56122987 5450 "returns" : {
7aacca6f 5451 "type" : "null"
44660702
DM
5452 }
5453 }
5454 },
5455 "leaf" : 0,
5456 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5457 "text" : "ipset"
5458 },
5459 {
5460 "info" : {
5461 "GET" : {
5462 "description" : "Get VM firewall options.",
5463 "method" : "GET",
5464 "name" : "get_options",
7aacca6f
DM
5465 "parameters" : {
5466 "additionalProperties" : 0,
56122987 5467 "properties" : {
7aacca6f
DM
5468 "node" : {
5469 "description" : "The cluster node name.",
44660702 5470 "format" : "pve-node",
013dc89f
DM
5471 "type" : "string",
5472 "typetext" : "<string>"
7aacca6f 5473 },
44660702
DM
5474 "vmid" : {
5475 "description" : "The (unique) ID of the VM.",
5476 "format" : "pve-vmid",
5477 "minimum" : 1,
4bd7df8b 5478 "type" : "integer",
013dc89f 5479 "typetext" : "<integer> (1 - N)"
44660702
DM
5480 }
5481 }
5482 },
5483 "permissions" : {
5484 "check" : [
5485 "perm",
5486 "/vms/{vmid}",
5487 [
5488 "VM.Audit"
5489 ]
5490 ]
5491 },
5492 "proxyto" : "node",
5493 "returns" : {
5494 "properties" : {
5495 "dhcp" : {
5496 "description" : "Enable DHCP.",
56122987 5497 "optional" : 1,
44660702 5498 "type" : "boolean"
56122987 5499 },
44660702
DM
5500 "enable" : {
5501 "description" : "Enable/disable firewall rules.",
7aacca6f 5502 "optional" : 1,
44660702 5503 "type" : "boolean"
56122987 5504 },
44660702
DM
5505 "ipfilter" : {
5506 "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 5507 "optional" : 1,
44660702 5508 "type" : "boolean"
7aacca6f 5509 },
56122987 5510 "log_level_in" : {
7aacca6f 5511 "description" : "Log level for incoming traffic.",
56122987
DM
5512 "enum" : [
5513 "emerg",
5514 "alert",
5515 "crit",
5516 "err",
5517 "warning",
5518 "notice",
5519 "info",
5520 "debug",
5521 "nolog"
5522 ],
56122987
DM
5523 "optional" : 1,
5524 "type" : "string"
5525 },
44660702
DM
5526 "log_level_out" : {
5527 "description" : "Log level for outgoing traffic.",
5528 "enum" : [
5529 "emerg",
5530 "alert",
5531 "crit",
5532 "err",
5533 "warning",
5534 "notice",
5535 "info",
5536 "debug",
5537 "nolog"
5538 ],
5539 "optional" : 1,
5540 "type" : "string"
5541 },
5542 "macfilter" : {
5543 "description" : "Enable/disable MAC address filter.",
56122987 5544 "optional" : 1,
7aacca6f 5545 "type" : "boolean"
56122987
DM
5546 },
5547 "ndp" : {
44660702 5548 "description" : "Enable NDP.",
56122987 5549 "optional" : 1,
44660702 5550 "type" : "boolean"
56122987
DM
5551 },
5552 "policy_in" : {
56122987
DM
5553 "description" : "Input policy.",
5554 "enum" : [
5555 "ACCEPT",
5556 "REJECT",
5557 "DROP"
44660702
DM
5558 ],
5559 "optional" : 1,
5560 "type" : "string"
56122987 5561 },
44660702
DM
5562 "policy_out" : {
5563 "description" : "Output policy.",
5564 "enum" : [
5565 "ACCEPT",
5566 "REJECT",
5567 "DROP"
5568 ],
5569 "optional" : 1,
5570 "type" : "string"
5571 },
5572 "radv" : {
5573 "description" : "Allow sending Router Advertisement.",
5574 "optional" : 1,
5575 "type" : "boolean"
5576 }
5577 },
5578 "type" : "object"
5579 }
5580 },
5581 "PUT" : {
5582 "description" : "Set Firewall options.",
5583 "method" : "PUT",
5584 "name" : "set_options",
5585 "parameters" : {
5586 "additionalProperties" : 0,
5587 "properties" : {
5588 "delete" : {
5589 "description" : "A list of settings you want to delete.",
5590 "format" : "pve-configid-list",
5591 "optional" : 1,
013dc89f
DM
5592 "type" : "string",
5593 "typetext" : "<string>"
44660702
DM
5594 },
5595 "dhcp" : {
5596 "description" : "Enable DHCP.",
7aacca6f 5597 "optional" : 1,
013dc89f
DM
5598 "type" : "boolean",
5599 "typetext" : "<boolean>"
7aacca6f
DM
5600 },
5601 "digest" : {
5602 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5603 "maxLength" : 40,
7aacca6f 5604 "optional" : 1,
013dc89f
DM
5605 "type" : "string",
5606 "typetext" : "<string>"
7aacca6f
DM
5607 },
5608 "enable" : {
5609 "description" : "Enable/disable firewall rules.",
56122987 5610 "optional" : 1,
013dc89f
DM
5611 "type" : "boolean",
5612 "typetext" : "<boolean>"
7aacca6f 5613 },
44660702
DM
5614 "ipfilter" : {
5615 "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.",
5616 "optional" : 1,
013dc89f
DM
5617 "type" : "boolean",
5618 "typetext" : "<boolean>"
44660702
DM
5619 },
5620 "log_level_in" : {
5621 "description" : "Log level for incoming traffic.",
56122987
DM
5622 "enum" : [
5623 "emerg",
5624 "alert",
5625 "crit",
5626 "err",
5627 "warning",
5628 "notice",
5629 "info",
5630 "debug",
5631 "nolog"
7aacca6f 5632 ],
7aacca6f 5633 "optional" : 1,
44660702 5634 "type" : "string"
7aacca6f 5635 },
44660702
DM
5636 "log_level_out" : {
5637 "description" : "Log level for outgoing traffic.",
56122987
DM
5638 "enum" : [
5639 "emerg",
5640 "alert",
5641 "crit",
5642 "err",
5643 "warning",
5644 "notice",
5645 "info",
5646 "debug",
5647 "nolog"
5648 ],
56122987 5649 "optional" : 1,
44660702 5650 "type" : "string"
56122987
DM
5651 },
5652 "macfilter" : {
56122987 5653 "description" : "Enable/disable MAC address filter.",
7aacca6f 5654 "optional" : 1,
013dc89f
DM
5655 "type" : "boolean",
5656 "typetext" : "<boolean>"
56122987 5657 },
44660702
DM
5658 "ndp" : {
5659 "description" : "Enable NDP.",
5660 "optional" : 1,
013dc89f
DM
5661 "type" : "boolean",
5662 "typetext" : "<boolean>"
44660702
DM
5663 },
5664 "node" : {
5665 "description" : "The cluster node name.",
5666 "format" : "pve-node",
013dc89f
DM
5667 "type" : "string",
5668 "typetext" : "<string>"
44660702 5669 },
56122987 5670 "policy_in" : {
44660702 5671 "description" : "Input policy.",
56122987
DM
5672 "enum" : [
5673 "ACCEPT",
5674 "REJECT",
5675 "DROP"
7aacca6f 5676 ],
56122987 5677 "optional" : 1,
7aacca6f 5678 "type" : "string"
56122987 5679 },
44660702
DM
5680 "policy_out" : {
5681 "description" : "Output policy.",
5682 "enum" : [
5683 "ACCEPT",
5684 "REJECT",
5685 "DROP"
5686 ],
56122987 5687 "optional" : 1,
44660702 5688 "type" : "string"
56122987 5689 },
44660702
DM
5690 "radv" : {
5691 "description" : "Allow sending Router Advertisement.",
56122987 5692 "optional" : 1,
013dc89f
DM
5693 "type" : "boolean",
5694 "typetext" : "<boolean>"
7aacca6f
DM
5695 },
5696 "vmid" : {
5697 "description" : "The (unique) ID of the VM.",
44660702 5698 "format" : "pve-vmid",
7aacca6f 5699 "minimum" : 1,
4bd7df8b 5700 "type" : "integer",
013dc89f 5701 "typetext" : "<integer> (1 - N)"
56122987
DM
5702 }
5703 }
5704 },
56122987
DM
5705 "permissions" : {
5706 "check" : [
5707 "perm",
5708 "/vms/{vmid}",
5709 [
44660702 5710 "VM.Config.Network"
56122987
DM
5711 ]
5712 ]
7aacca6f 5713 },
44660702 5714 "protected" : 1,
7aacca6f 5715 "proxyto" : "node",
44660702
DM
5716 "returns" : {
5717 "type" : "null"
5718 }
56122987
DM
5719 }
5720 },
44660702 5721 "leaf" : 1,
7aacca6f 5722 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 5723 "text" : "options"
56122987
DM
5724 },
5725 {
56122987
DM
5726 "info" : {
5727 "GET" : {
44660702
DM
5728 "description" : "Read firewall log",
5729 "method" : "GET",
5730 "name" : "log",
5731 "parameters" : {
5732 "additionalProperties" : 0,
5733 "properties" : {
5734 "limit" : {
5735 "minimum" : 0,
5736 "optional" : 1,
4bd7df8b 5737 "type" : "integer",
013dc89f 5738 "typetext" : "<integer> (0 - N)"
56122987 5739 },
44660702
DM
5740 "node" : {
5741 "description" : "The cluster node name.",
5742 "format" : "pve-node",
013dc89f
DM
5743 "type" : "string",
5744 "typetext" : "<string>"
44660702
DM
5745 },
5746 "start" : {
5747 "minimum" : 0,
5748 "optional" : 1,
4bd7df8b 5749 "type" : "integer",
013dc89f 5750 "typetext" : "<integer> (0 - N)"
44660702
DM
5751 },
5752 "vmid" : {
5753 "description" : "The (unique) ID of the VM.",
5754 "format" : "pve-vmid",
5755 "minimum" : 1,
4bd7df8b 5756 "type" : "integer",
013dc89f 5757 "typetext" : "<integer> (1 - N)"
44660702
DM
5758 }
5759 }
7aacca6f 5760 },
7aacca6f
DM
5761 "permissions" : {
5762 "check" : [
5763 "perm",
5764 "/vms/{vmid}",
5765 [
5766 "VM.Console"
5767 ]
5768 ]
56122987 5769 },
7aacca6f 5770 "protected" : 1,
44660702
DM
5771 "proxyto" : "node",
5772 "returns" : {
5773 "items" : {
5774 "properties" : {
5775 "n" : {
5776 "description" : "Line number",
5777 "type" : "integer"
5778 },
5779 "t" : {
5780 "description" : "Line text",
5781 "type" : "string"
5782 }
56122987 5783 },
44660702 5784 "type" : "object"
7aacca6f 5785 },
44660702 5786 "type" : "array"
7aacca6f
DM
5787 }
5788 }
5789 },
44660702 5790 "leaf" : 1,
7aacca6f 5791 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5792 "text" : "log"
7aacca6f
DM
5793 },
5794 {
7aacca6f
DM
5795 "info" : {
5796 "GET" : {
5797 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5798 "method" : "GET",
5799 "name" : "refs",
56122987 5800 "parameters" : {
44660702 5801 "additionalProperties" : 0,
56122987
DM
5802 "properties" : {
5803 "node" : {
7aacca6f 5804 "description" : "The cluster node name.",
44660702 5805 "format" : "pve-node",
013dc89f
DM
5806 "type" : "string",
5807 "typetext" : "<string>"
56122987
DM
5808 },
5809 "type" : {
56122987
DM
5810 "description" : "Only list references of specified type.",
5811 "enum" : [
5812 "alias",
5813 "ipset"
7aacca6f 5814 ],
44660702
DM
5815 "optional" : 1,
5816 "type" : "string"
5817 },
5818 "vmid" : {
5819 "description" : "The (unique) ID of the VM.",
5820 "format" : "pve-vmid",
5821 "minimum" : 1,
4bd7df8b 5822 "type" : "integer",
013dc89f 5823 "typetext" : "<integer> (1 - N)"
56122987 5824 }
44660702
DM
5825 }
5826 },
5827 "permissions" : {
5828 "check" : [
5829 "perm",
5830 "/vms/{vmid}",
5831 [
5832 "VM.Audit"
5833 ]
5834 ]
56122987
DM
5835 },
5836 "returns" : {
56122987
DM
5837 "items" : {
5838 "properties" : {
44660702
DM
5839 "comment" : {
5840 "optional" : 1,
56122987
DM
5841 "type" : "string"
5842 },
5843 "name" : {
5844 "type" : "string"
5845 },
44660702
DM
5846 "type" : {
5847 "enum" : [
5848 "alias",
5849 "ipset"
5850 ],
7aacca6f 5851 "type" : "string"
56122987
DM
5852 }
5853 },
5854 "type" : "object"
7aacca6f
DM
5855 },
5856 "type" : "array"
5857 }
56122987 5858 }
44660702
DM
5859 },
5860 "leaf" : 1,
5861 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5862 "text" : "refs"
56122987
DM
5863 }
5864 ],
56122987
DM
5865 "info" : {
5866 "GET" : {
44660702 5867 "description" : "Directory index.",
56122987 5868 "method" : "GET",
44660702 5869 "name" : "index",
56122987 5870 "parameters" : {
44660702 5871 "additionalProperties" : 0,
56122987
DM
5872 "properties" : {
5873 "node" : {
5874 "description" : "The cluster node name.",
44660702 5875 "format" : "pve-node",
013dc89f
DM
5876 "type" : "string",
5877 "typetext" : "<string>"
56122987
DM
5878 },
5879 "vmid" : {
44660702 5880 "description" : "The (unique) ID of the VM.",
56122987
DM
5881 "format" : "pve-vmid",
5882 "minimum" : 1,
4bd7df8b 5883 "type" : "integer",
013dc89f 5884 "typetext" : "<integer> (1 - N)"
56122987 5885 }
44660702 5886 }
56122987 5887 },
56122987 5888 "permissions" : {
27a7acb2
DM
5889 "user" : "all"
5890 },
5891 "returns" : {
5892 "items" : {
5893 "properties" : {},
5894 "type" : "object"
5895 },
5896 "links" : [
5897 {
5898 "href" : "{name}",
5899 "rel" : "child"
5900 }
5901 ],
5902 "type" : "array"
5903 }
5904 }
5905 },
5906 "leaf" : 0,
5907 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5908 "text" : "firewall"
5909 },
5910 {
5911 "children" : [
5912 {
5913 "info" : {
5914 "POST" : {
5915 "description" : "Execute fsfreeze-freeze.",
5916 "method" : "POST",
5917 "name" : "fsfreeze-freeze",
5918 "parameters" : {
5919 "additionalProperties" : 0,
5920 "properties" : {
5921 "node" : {
5922 "description" : "The cluster node name.",
5923 "format" : "pve-node",
5924 "type" : "string",
5925 "typetext" : "<string>"
5926 },
5927 "vmid" : {
5928 "description" : "The (unique) ID of the VM.",
5929 "format" : "pve-vmid",
5930 "minimum" : 1,
5931 "type" : "integer",
5932 "typetext" : "<integer> (1 - N)"
5933 }
5934 }
5935 },
5936 "permissions" : {
5937 "check" : [
5938 "perm",
5939 "/vms/{vmid}",
5940 [
5941 "VM.Monitor"
5942 ]
5943 ]
5944 },
5945 "protected" : 1,
5946 "proxyto" : "node",
5947 "returns" : {
5948 "description" : "Returns an object with a single `result` property.",
5949 "type" : "object"
5950 }
5951 }
5952 },
5953 "leaf" : 1,
5954 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
5955 "text" : "fsfreeze-freeze"
5956 },
5957 {
5958 "info" : {
5959 "POST" : {
5960 "description" : "Execute fsfreeze-status.",
5961 "method" : "POST",
5962 "name" : "fsfreeze-status",
5963 "parameters" : {
5964 "additionalProperties" : 0,
5965 "properties" : {
5966 "node" : {
5967 "description" : "The cluster node name.",
5968 "format" : "pve-node",
5969 "type" : "string",
5970 "typetext" : "<string>"
5971 },
5972 "vmid" : {
5973 "description" : "The (unique) ID of the VM.",
5974 "format" : "pve-vmid",
5975 "minimum" : 1,
5976 "type" : "integer",
5977 "typetext" : "<integer> (1 - N)"
5978 }
5979 }
5980 },
5981 "permissions" : {
5982 "check" : [
5983 "perm",
5984 "/vms/{vmid}",
5985 [
5986 "VM.Monitor"
5987 ]
5988 ]
5989 },
5990 "protected" : 1,
5991 "proxyto" : "node",
5992 "returns" : {
5993 "description" : "Returns an object with a single `result` property.",
5994 "type" : "object"
5995 }
5996 }
5997 },
5998 "leaf" : 1,
5999 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
6000 "text" : "fsfreeze-status"
6001 },
6002 {
6003 "info" : {
6004 "POST" : {
6005 "description" : "Execute fsfreeze-thaw.",
6006 "method" : "POST",
6007 "name" : "fsfreeze-thaw",
6008 "parameters" : {
6009 "additionalProperties" : 0,
6010 "properties" : {
6011 "node" : {
6012 "description" : "The cluster node name.",
6013 "format" : "pve-node",
6014 "type" : "string",
6015 "typetext" : "<string>"
6016 },
6017 "vmid" : {
6018 "description" : "The (unique) ID of the VM.",
6019 "format" : "pve-vmid",
6020 "minimum" : 1,
6021 "type" : "integer",
6022 "typetext" : "<integer> (1 - N)"
6023 }
6024 }
6025 },
6026 "permissions" : {
6027 "check" : [
6028 "perm",
6029 "/vms/{vmid}",
6030 [
6031 "VM.Monitor"
6032 ]
6033 ]
6034 },
6035 "protected" : 1,
6036 "proxyto" : "node",
6037 "returns" : {
6038 "description" : "Returns an object with a single `result` property.",
6039 "type" : "object"
6040 }
6041 }
6042 },
6043 "leaf" : 1,
6044 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
6045 "text" : "fsfreeze-thaw"
6046 },
6047 {
6048 "info" : {
6049 "POST" : {
6050 "description" : "Execute fstrim.",
6051 "method" : "POST",
6052 "name" : "fstrim",
6053 "parameters" : {
6054 "additionalProperties" : 0,
6055 "properties" : {
6056 "node" : {
6057 "description" : "The cluster node name.",
6058 "format" : "pve-node",
6059 "type" : "string",
6060 "typetext" : "<string>"
6061 },
6062 "vmid" : {
6063 "description" : "The (unique) ID of the VM.",
6064 "format" : "pve-vmid",
6065 "minimum" : 1,
6066 "type" : "integer",
6067 "typetext" : "<integer> (1 - N)"
6068 }
6069 }
6070 },
6071 "permissions" : {
6072 "check" : [
6073 "perm",
6074 "/vms/{vmid}",
6075 [
6076 "VM.Monitor"
6077 ]
6078 ]
6079 },
6080 "protected" : 1,
6081 "proxyto" : "node",
6082 "returns" : {
6083 "description" : "Returns an object with a single `result` property.",
6084 "type" : "object"
6085 }
6086 }
6087 },
6088 "leaf" : 1,
6089 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
6090 "text" : "fstrim"
6091 },
6092 {
6093 "info" : {
6094 "GET" : {
6095 "description" : "Execute get-fsinfo.",
6096 "method" : "GET",
6097 "name" : "get-fsinfo",
6098 "parameters" : {
6099 "additionalProperties" : 0,
6100 "properties" : {
6101 "node" : {
6102 "description" : "The cluster node name.",
6103 "format" : "pve-node",
6104 "type" : "string",
6105 "typetext" : "<string>"
6106 },
6107 "vmid" : {
6108 "description" : "The (unique) ID of the VM.",
6109 "format" : "pve-vmid",
6110 "minimum" : 1,
6111 "type" : "integer",
6112 "typetext" : "<integer> (1 - N)"
6113 }
6114 }
6115 },
6116 "permissions" : {
6117 "check" : [
6118 "perm",
6119 "/vms/{vmid}",
6120 [
6121 "VM.Monitor"
6122 ]
6123 ]
6124 },
6125 "protected" : 1,
6126 "proxyto" : "node",
6127 "returns" : {
6128 "description" : "Returns an object with a single `result` property.",
6129 "type" : "object"
6130 }
6131 }
6132 },
6133 "leaf" : 1,
6134 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
6135 "text" : "get-fsinfo"
6136 },
6137 {
6138 "info" : {
6139 "GET" : {
6140 "description" : "Execute get-host-name.",
6141 "method" : "GET",
6142 "name" : "get-host-name",
6143 "parameters" : {
6144 "additionalProperties" : 0,
6145 "properties" : {
6146 "node" : {
6147 "description" : "The cluster node name.",
6148 "format" : "pve-node",
6149 "type" : "string",
6150 "typetext" : "<string>"
6151 },
6152 "vmid" : {
6153 "description" : "The (unique) ID of the VM.",
6154 "format" : "pve-vmid",
6155 "minimum" : 1,
6156 "type" : "integer",
6157 "typetext" : "<integer> (1 - N)"
6158 }
6159 }
6160 },
6161 "permissions" : {
6162 "check" : [
6163 "perm",
6164 "/vms/{vmid}",
6165 [
6166 "VM.Monitor"
6167 ]
6168 ]
6169 },
6170 "protected" : 1,
6171 "proxyto" : "node",
6172 "returns" : {
6173 "description" : "Returns an object with a single `result` property.",
6174 "type" : "object"
6175 }
6176 }
6177 },
6178 "leaf" : 1,
6179 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
6180 "text" : "get-host-name"
6181 },
6182 {
6183 "info" : {
6184 "GET" : {
6185 "description" : "Execute get-memory-block-info.",
6186 "method" : "GET",
6187 "name" : "get-memory-block-info",
6188 "parameters" : {
6189 "additionalProperties" : 0,
6190 "properties" : {
6191 "node" : {
6192 "description" : "The cluster node name.",
6193 "format" : "pve-node",
6194 "type" : "string",
6195 "typetext" : "<string>"
6196 },
6197 "vmid" : {
6198 "description" : "The (unique) ID of the VM.",
6199 "format" : "pve-vmid",
6200 "minimum" : 1,
6201 "type" : "integer",
6202 "typetext" : "<integer> (1 - N)"
6203 }
6204 }
6205 },
6206 "permissions" : {
6207 "check" : [
6208 "perm",
6209 "/vms/{vmid}",
6210 [
6211 "VM.Monitor"
6212 ]
6213 ]
6214 },
6215 "protected" : 1,
6216 "proxyto" : "node",
6217 "returns" : {
6218 "description" : "Returns an object with a single `result` property.",
6219 "type" : "object"
6220 }
6221 }
6222 },
6223 "leaf" : 1,
6224 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
6225 "text" : "get-memory-block-info"
6226 },
6227 {
6228 "info" : {
6229 "GET" : {
6230 "description" : "Execute get-memory-blocks.",
6231 "method" : "GET",
6232 "name" : "get-memory-blocks",
6233 "parameters" : {
6234 "additionalProperties" : 0,
6235 "properties" : {
6236 "node" : {
6237 "description" : "The cluster node name.",
6238 "format" : "pve-node",
6239 "type" : "string",
6240 "typetext" : "<string>"
6241 },
6242 "vmid" : {
6243 "description" : "The (unique) ID of the VM.",
6244 "format" : "pve-vmid",
6245 "minimum" : 1,
6246 "type" : "integer",
6247 "typetext" : "<integer> (1 - N)"
6248 }
6249 }
6250 },
6251 "permissions" : {
6252 "check" : [
6253 "perm",
6254 "/vms/{vmid}",
6255 [
6256 "VM.Monitor"
6257 ]
6258 ]
6259 },
6260 "protected" : 1,
6261 "proxyto" : "node",
6262 "returns" : {
6263 "description" : "Returns an object with a single `result` property.",
6264 "type" : "object"
6265 }
6266 }
6267 },
6268 "leaf" : 1,
6269 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
6270 "text" : "get-memory-blocks"
6271 },
6272 {
6273 "info" : {
6274 "GET" : {
6275 "description" : "Execute get-osinfo.",
6276 "method" : "GET",
6277 "name" : "get-osinfo",
6278 "parameters" : {
6279 "additionalProperties" : 0,
6280 "properties" : {
6281 "node" : {
6282 "description" : "The cluster node name.",
6283 "format" : "pve-node",
6284 "type" : "string",
6285 "typetext" : "<string>"
6286 },
6287 "vmid" : {
6288 "description" : "The (unique) ID of the VM.",
6289 "format" : "pve-vmid",
6290 "minimum" : 1,
6291 "type" : "integer",
6292 "typetext" : "<integer> (1 - N)"
6293 }
6294 }
6295 },
6296 "permissions" : {
6297 "check" : [
6298 "perm",
6299 "/vms/{vmid}",
6300 [
6301 "VM.Monitor"
6302 ]
6303 ]
6304 },
6305 "protected" : 1,
6306 "proxyto" : "node",
6307 "returns" : {
6308 "description" : "Returns an object with a single `result` property.",
6309 "type" : "object"
6310 }
6311 }
6312 },
6313 "leaf" : 1,
6314 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
6315 "text" : "get-osinfo"
6316 },
6317 {
6318 "info" : {
6319 "GET" : {
6320 "description" : "Execute get-time.",
6321 "method" : "GET",
6322 "name" : "get-time",
6323 "parameters" : {
6324 "additionalProperties" : 0,
6325 "properties" : {
6326 "node" : {
6327 "description" : "The cluster node name.",
6328 "format" : "pve-node",
6329 "type" : "string",
6330 "typetext" : "<string>"
6331 },
6332 "vmid" : {
6333 "description" : "The (unique) ID of the VM.",
6334 "format" : "pve-vmid",
6335 "minimum" : 1,
6336 "type" : "integer",
6337 "typetext" : "<integer> (1 - N)"
6338 }
6339 }
6340 },
6341 "permissions" : {
6342 "check" : [
6343 "perm",
6344 "/vms/{vmid}",
6345 [
6346 "VM.Monitor"
6347 ]
6348 ]
6349 },
6350 "protected" : 1,
6351 "proxyto" : "node",
6352 "returns" : {
6353 "description" : "Returns an object with a single `result` property.",
6354 "type" : "object"
6355 }
6356 }
6357 },
6358 "leaf" : 1,
6359 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
6360 "text" : "get-time"
6361 },
6362 {
6363 "info" : {
6364 "GET" : {
6365 "description" : "Execute get-timezone.",
6366 "method" : "GET",
6367 "name" : "get-timezone",
6368 "parameters" : {
6369 "additionalProperties" : 0,
6370 "properties" : {
6371 "node" : {
6372 "description" : "The cluster node name.",
6373 "format" : "pve-node",
6374 "type" : "string",
6375 "typetext" : "<string>"
6376 },
6377 "vmid" : {
6378 "description" : "The (unique) ID of the VM.",
6379 "format" : "pve-vmid",
6380 "minimum" : 1,
6381 "type" : "integer",
6382 "typetext" : "<integer> (1 - N)"
6383 }
6384 }
6385 },
6386 "permissions" : {
6387 "check" : [
6388 "perm",
6389 "/vms/{vmid}",
6390 [
6391 "VM.Monitor"
6392 ]
6393 ]
6394 },
6395 "protected" : 1,
6396 "proxyto" : "node",
6397 "returns" : {
6398 "description" : "Returns an object with a single `result` property.",
6399 "type" : "object"
6400 }
6401 }
6402 },
6403 "leaf" : 1,
6404 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
6405 "text" : "get-timezone"
6406 },
6407 {
6408 "info" : {
6409 "GET" : {
6410 "description" : "Execute get-users.",
6411 "method" : "GET",
6412 "name" : "get-users",
6413 "parameters" : {
6414 "additionalProperties" : 0,
6415 "properties" : {
6416 "node" : {
6417 "description" : "The cluster node name.",
6418 "format" : "pve-node",
6419 "type" : "string",
6420 "typetext" : "<string>"
6421 },
6422 "vmid" : {
6423 "description" : "The (unique) ID of the VM.",
6424 "format" : "pve-vmid",
6425 "minimum" : 1,
6426 "type" : "integer",
6427 "typetext" : "<integer> (1 - N)"
6428 }
6429 }
6430 },
6431 "permissions" : {
6432 "check" : [
6433 "perm",
6434 "/vms/{vmid}",
6435 [
6436 "VM.Monitor"
6437 ]
6438 ]
6439 },
6440 "protected" : 1,
6441 "proxyto" : "node",
6442 "returns" : {
6443 "description" : "Returns an object with a single `result` property.",
6444 "type" : "object"
6445 }
6446 }
6447 },
6448 "leaf" : 1,
6449 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
6450 "text" : "get-users"
6451 },
6452 {
6453 "info" : {
6454 "GET" : {
6455 "description" : "Execute get-vcpus.",
6456 "method" : "GET",
6457 "name" : "get-vcpus",
6458 "parameters" : {
6459 "additionalProperties" : 0,
6460 "properties" : {
6461 "node" : {
6462 "description" : "The cluster node name.",
6463 "format" : "pve-node",
6464 "type" : "string",
6465 "typetext" : "<string>"
6466 },
6467 "vmid" : {
6468 "description" : "The (unique) ID of the VM.",
6469 "format" : "pve-vmid",
6470 "minimum" : 1,
6471 "type" : "integer",
6472 "typetext" : "<integer> (1 - N)"
6473 }
6474 }
6475 },
6476 "permissions" : {
6477 "check" : [
6478 "perm",
6479 "/vms/{vmid}",
6480 [
6481 "VM.Monitor"
6482 ]
6483 ]
6484 },
6485 "protected" : 1,
6486 "proxyto" : "node",
6487 "returns" : {
6488 "description" : "Returns an object with a single `result` property.",
6489 "type" : "object"
6490 }
6491 }
6492 },
6493 "leaf" : 1,
6494 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
6495 "text" : "get-vcpus"
6496 },
6497 {
6498 "info" : {
6499 "GET" : {
6500 "description" : "Execute info.",
6501 "method" : "GET",
6502 "name" : "info",
6503 "parameters" : {
6504 "additionalProperties" : 0,
6505 "properties" : {
6506 "node" : {
6507 "description" : "The cluster node name.",
6508 "format" : "pve-node",
6509 "type" : "string",
6510 "typetext" : "<string>"
6511 },
6512 "vmid" : {
6513 "description" : "The (unique) ID of the VM.",
6514 "format" : "pve-vmid",
6515 "minimum" : 1,
6516 "type" : "integer",
6517 "typetext" : "<integer> (1 - N)"
6518 }
6519 }
6520 },
6521 "permissions" : {
6522 "check" : [
6523 "perm",
6524 "/vms/{vmid}",
6525 [
6526 "VM.Monitor"
6527 ]
6528 ]
6529 },
6530 "protected" : 1,
6531 "proxyto" : "node",
6532 "returns" : {
6533 "description" : "Returns an object with a single `result` property.",
6534 "type" : "object"
6535 }
6536 }
6537 },
6538 "leaf" : 1,
6539 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
6540 "text" : "info"
6541 },
6542 {
6543 "info" : {
6544 "GET" : {
6545 "description" : "Execute network-get-interfaces.",
6546 "method" : "GET",
6547 "name" : "network-get-interfaces",
6548 "parameters" : {
6549 "additionalProperties" : 0,
6550 "properties" : {
6551 "node" : {
6552 "description" : "The cluster node name.",
6553 "format" : "pve-node",
6554 "type" : "string",
6555 "typetext" : "<string>"
6556 },
6557 "vmid" : {
6558 "description" : "The (unique) ID of the VM.",
6559 "format" : "pve-vmid",
6560 "minimum" : 1,
6561 "type" : "integer",
6562 "typetext" : "<integer> (1 - N)"
6563 }
6564 }
6565 },
6566 "permissions" : {
6567 "check" : [
6568 "perm",
6569 "/vms/{vmid}",
6570 [
6571 "VM.Monitor"
6572 ]
6573 ]
6574 },
6575 "protected" : 1,
6576 "proxyto" : "node",
6577 "returns" : {
6578 "description" : "Returns an object with a single `result` property.",
6579 "type" : "object"
6580 }
6581 }
6582 },
6583 "leaf" : 1,
6584 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
6585 "text" : "network-get-interfaces"
6586 },
6587 {
6588 "info" : {
6589 "POST" : {
6590 "description" : "Execute ping.",
6591 "method" : "POST",
6592 "name" : "ping",
6593 "parameters" : {
6594 "additionalProperties" : 0,
6595 "properties" : {
6596 "node" : {
6597 "description" : "The cluster node name.",
6598 "format" : "pve-node",
6599 "type" : "string",
6600 "typetext" : "<string>"
6601 },
6602 "vmid" : {
6603 "description" : "The (unique) ID of the VM.",
6604 "format" : "pve-vmid",
6605 "minimum" : 1,
6606 "type" : "integer",
6607 "typetext" : "<integer> (1 - N)"
6608 }
6609 }
6610 },
6611 "permissions" : {
6612 "check" : [
6613 "perm",
6614 "/vms/{vmid}",
6615 [
6616 "VM.Monitor"
6617 ]
6618 ]
6619 },
6620 "protected" : 1,
6621 "proxyto" : "node",
6622 "returns" : {
6623 "description" : "Returns an object with a single `result` property.",
6624 "type" : "object"
6625 }
6626 }
6627 },
6628 "leaf" : 1,
6629 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
6630 "text" : "ping"
6631 },
6632 {
6633 "info" : {
6634 "POST" : {
6635 "description" : "Execute shutdown.",
6636 "method" : "POST",
6637 "name" : "shutdown",
6638 "parameters" : {
6639 "additionalProperties" : 0,
6640 "properties" : {
6641 "node" : {
6642 "description" : "The cluster node name.",
6643 "format" : "pve-node",
6644 "type" : "string",
6645 "typetext" : "<string>"
6646 },
6647 "vmid" : {
6648 "description" : "The (unique) ID of the VM.",
6649 "format" : "pve-vmid",
6650 "minimum" : 1,
6651 "type" : "integer",
6652 "typetext" : "<integer> (1 - N)"
6653 }
6654 }
6655 },
6656 "permissions" : {
6657 "check" : [
6658 "perm",
6659 "/vms/{vmid}",
6660 [
6661 "VM.Monitor"
6662 ]
6663 ]
6664 },
6665 "protected" : 1,
6666 "proxyto" : "node",
6667 "returns" : {
6668 "description" : "Returns an object with a single `result` property.",
6669 "type" : "object"
6670 }
6671 }
6672 },
6673 "leaf" : 1,
6674 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
6675 "text" : "shutdown"
6676 },
6677 {
6678 "info" : {
6679 "POST" : {
6680 "description" : "Execute suspend-disk.",
6681 "method" : "POST",
6682 "name" : "suspend-disk",
6683 "parameters" : {
6684 "additionalProperties" : 0,
6685 "properties" : {
6686 "node" : {
6687 "description" : "The cluster node name.",
6688 "format" : "pve-node",
6689 "type" : "string",
6690 "typetext" : "<string>"
6691 },
6692 "vmid" : {
6693 "description" : "The (unique) ID of the VM.",
6694 "format" : "pve-vmid",
6695 "minimum" : 1,
6696 "type" : "integer",
6697 "typetext" : "<integer> (1 - N)"
6698 }
6699 }
6700 },
6701 "permissions" : {
6702 "check" : [
6703 "perm",
6704 "/vms/{vmid}",
6705 [
6706 "VM.Monitor"
6707 ]
6708 ]
6709 },
6710 "protected" : 1,
6711 "proxyto" : "node",
6712 "returns" : {
6713 "description" : "Returns an object with a single `result` property.",
6714 "type" : "object"
6715 }
6716 }
6717 },
6718 "leaf" : 1,
6719 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
6720 "text" : "suspend-disk"
6721 },
6722 {
6723 "info" : {
6724 "POST" : {
6725 "description" : "Execute suspend-hybrid.",
6726 "method" : "POST",
6727 "name" : "suspend-hybrid",
6728 "parameters" : {
6729 "additionalProperties" : 0,
6730 "properties" : {
6731 "node" : {
6732 "description" : "The cluster node name.",
6733 "format" : "pve-node",
6734 "type" : "string",
6735 "typetext" : "<string>"
6736 },
6737 "vmid" : {
6738 "description" : "The (unique) ID of the VM.",
6739 "format" : "pve-vmid",
6740 "minimum" : 1,
6741 "type" : "integer",
6742 "typetext" : "<integer> (1 - N)"
6743 }
6744 }
6745 },
6746 "permissions" : {
6747 "check" : [
6748 "perm",
6749 "/vms/{vmid}",
6750 [
6751 "VM.Monitor"
6752 ]
6753 ]
6754 },
6755 "protected" : 1,
6756 "proxyto" : "node",
6757 "returns" : {
6758 "description" : "Returns an object with a single `result` property.",
6759 "type" : "object"
6760 }
6761 }
6762 },
6763 "leaf" : 1,
6764 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
6765 "text" : "suspend-hybrid"
6766 },
6767 {
6768 "info" : {
6769 "POST" : {
6770 "description" : "Execute suspend-ram.",
6771 "method" : "POST",
6772 "name" : "suspend-ram",
6773 "parameters" : {
6774 "additionalProperties" : 0,
6775 "properties" : {
6776 "node" : {
6777 "description" : "The cluster node name.",
6778 "format" : "pve-node",
6779 "type" : "string",
6780 "typetext" : "<string>"
6781 },
6782 "vmid" : {
6783 "description" : "The (unique) ID of the VM.",
6784 "format" : "pve-vmid",
6785 "minimum" : 1,
6786 "type" : "integer",
6787 "typetext" : "<integer> (1 - N)"
6788 }
6789 }
6790 },
6791 "permissions" : {
6792 "check" : [
6793 "perm",
6794 "/vms/{vmid}",
6795 [
6796 "VM.Monitor"
6797 ]
6798 ]
6799 },
6800 "protected" : 1,
6801 "proxyto" : "node",
6802 "returns" : {
6803 "description" : "Returns an object with a single `result` property.",
6804 "type" : "object"
6805 }
6806 }
6807 },
6808 "leaf" : 1,
6809 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
6810 "text" : "suspend-ram"
6811 }
6812 ],
6813 "info" : {
6814 "GET" : {
6815 "description" : "Qemu Agent command index.",
6816 "method" : "GET",
6817 "name" : "index",
6818 "parameters" : {
6819 "additionalProperties" : 1,
6820 "properties" : {
6821 "node" : {
6822 "description" : "The cluster node name.",
6823 "format" : "pve-node",
6824 "type" : "string",
6825 "typetext" : "<string>"
6826 },
6827 "vmid" : {
6828 "description" : "The (unique) ID of the VM.",
6829 "format" : "pve-vmid",
6830 "minimum" : 1,
6831 "type" : "integer",
6832 "typetext" : "<integer> (1 - N)"
6833 }
6834 }
6835 },
6836 "permissions" : {
6837 "user" : "all"
6838 },
6839 "proxyto" : "node",
6840 "returns" : {
6841 "description" : "Returns the list of Qemu Agent commands",
6842 "items" : {
6843 "properties" : {},
6844 "type" : "object"
6845 },
6846 "links" : [
6847 {
6848 "href" : "{name}",
6849 "rel" : "child"
6850 }
6851 ],
6852 "type" : "array"
6853 }
6854 },
6855 "POST" : {
6856 "description" : "Execute Qemu Guest Agent commands.",
6857 "method" : "POST",
6858 "name" : "agent",
6859 "parameters" : {
6860 "additionalProperties" : 0,
6861 "properties" : {
6862 "command" : {
6863 "description" : "The QGA command.",
6864 "enum" : [
6865 "fsfreeze-freeze",
6866 "fsfreeze-status",
6867 "fsfreeze-thaw",
6868 "fstrim",
6869 "get-fsinfo",
6870 "get-host-name",
6871 "get-memory-block-info",
6872 "get-memory-blocks",
6873 "get-osinfo",
6874 "get-time",
6875 "get-timezone",
6876 "get-users",
6877 "get-vcpus",
6878 "info",
6879 "network-get-interfaces",
6880 "ping",
6881 "shutdown",
6882 "suspend-disk",
6883 "suspend-hybrid",
6884 "suspend-ram"
6885 ],
6886 "type" : "string"
6887 },
6888 "node" : {
6889 "description" : "The cluster node name.",
6890 "format" : "pve-node",
6891 "type" : "string",
6892 "typetext" : "<string>"
6893 },
6894 "vmid" : {
6895 "description" : "The (unique) ID of the VM.",
6896 "format" : "pve-vmid",
6897 "minimum" : 1,
6898 "type" : "integer",
6899 "typetext" : "<integer> (1 - N)"
6900 }
6901 }
6902 },
6903 "permissions" : {
6904 "check" : [
6905 "perm",
6906 "/vms/{vmid}",
6907 [
6908 "VM.Monitor"
6909 ]
6910 ]
7aacca6f 6911 },
27a7acb2
DM
6912 "protected" : 1,
6913 "proxyto" : "node",
44660702 6914 "returns" : {
27a7acb2
DM
6915 "description" : "Returns an object with a single `result` property.",
6916 "type" : "object"
44660702 6917 }
56122987 6918 }
44660702
DM
6919 },
6920 "leaf" : 0,
27a7acb2
DM
6921 "path" : "/nodes/{node}/qemu/{vmid}/agent",
6922 "text" : "agent"
56122987
DM
6923 },
6924 {
56122987
DM
6925 "info" : {
6926 "GET" : {
44660702
DM
6927 "description" : "Read VM RRD statistics (returns PNG)",
6928 "method" : "GET",
7aacca6f 6929 "name" : "rrd",
56122987
DM
6930 "parameters" : {
6931 "additionalProperties" : 0,
6932 "properties" : {
7aacca6f 6933 "cf" : {
44660702 6934 "description" : "The RRD consolidation function",
7aacca6f
DM
6935 "enum" : [
6936 "AVERAGE",
6937 "MAX"
6938 ],
7aacca6f
DM
6939 "optional" : 1,
6940 "type" : "string"
6941 },
44660702
DM
6942 "ds" : {
6943 "description" : "The list of datasources you want to display.",
6944 "format" : "pve-configid-list",
013dc89f
DM
6945 "type" : "string",
6946 "typetext" : "<string>"
56122987
DM
6947 },
6948 "node" : {
44660702 6949 "description" : "The cluster node name.",
56122987 6950 "format" : "pve-node",
013dc89f
DM
6951 "type" : "string",
6952 "typetext" : "<string>"
56122987
DM
6953 },
6954 "timeframe" : {
44660702 6955 "description" : "Specify the time frame you are interested in.",
56122987
DM
6956 "enum" : [
6957 "hour",
6958 "day",
6959 "week",
6960 "month",
6961 "year"
6962 ],
56122987
DM
6963 "type" : "string"
6964 },
44660702
DM
6965 "vmid" : {
6966 "description" : "The (unique) ID of the VM.",
6967 "format" : "pve-vmid",
6968 "minimum" : 1,
4bd7df8b 6969 "type" : "integer",
013dc89f 6970 "typetext" : "<integer> (1 - N)"
56122987
DM
6971 }
6972 }
6973 },
56122987
DM
6974 "permissions" : {
6975 "check" : [
6976 "perm",
6977 "/vms/{vmid}",
6978 [
6979 "VM.Audit"
6980 ]
6981 ]
6982 },
7aacca6f
DM
6983 "protected" : 1,
6984 "returns" : {
6985 "properties" : {
6986 "filename" : {
6987 "type" : "string"
6988 }
6989 },
6990 "type" : "object"
44660702 6991 }
56122987 6992 }
44660702
DM
6993 },
6994 "leaf" : 1,
6995 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
6996 "text" : "rrd"
56122987
DM
6997 },
6998 {
7aacca6f 6999 "info" : {
56122987 7000 "GET" : {
7aacca6f 7001 "description" : "Read VM RRD statistics",
44660702 7002 "method" : "GET",
56122987 7003 "name" : "rrddata",
56122987 7004 "parameters" : {
44660702 7005 "additionalProperties" : 0,
56122987 7006 "properties" : {
44660702
DM
7007 "cf" : {
7008 "description" : "The RRD consolidation function",
7009 "enum" : [
7010 "AVERAGE",
7011 "MAX"
7012 ],
7013 "optional" : 1,
7014 "type" : "string"
7015 },
56122987 7016 "node" : {
44660702 7017 "description" : "The cluster node name.",
56122987 7018 "format" : "pve-node",
013dc89f
DM
7019 "type" : "string",
7020 "typetext" : "<string>"
56122987
DM
7021 },
7022 "timeframe" : {
44660702 7023 "description" : "Specify the time frame you are interested in.",
56122987
DM
7024 "enum" : [
7025 "hour",
7026 "day",
7027 "week",
7028 "month",
7029 "year"
7aacca6f 7030 ],
44660702 7031 "type" : "string"
7aacca6f
DM
7032 },
7033 "vmid" : {
7aacca6f
DM
7034 "description" : "The (unique) ID of the VM.",
7035 "format" : "pve-vmid",
44660702 7036 "minimum" : 1,
4bd7df8b 7037 "type" : "integer",
013dc89f 7038 "typetext" : "<integer> (1 - N)"
56122987 7039 }
44660702 7040 }
56122987 7041 },
56122987
DM
7042 "permissions" : {
7043 "check" : [
7044 "perm",
7045 "/vms/{vmid}",
7046 [
7047 "VM.Audit"
7048 ]
7049 ]
7050 },
44660702 7051 "protected" : 1,
7aacca6f 7052 "returns" : {
7aacca6f 7053 "items" : {
44660702
DM
7054 "properties" : {},
7055 "type" : "object"
7056 },
7057 "type" : "array"
7aacca6f 7058 }
56122987
DM
7059 }
7060 },
44660702
DM
7061 "leaf" : 1,
7062 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
7063 "text" : "rrddata"
7064 },
7065 {
56122987 7066 "info" : {
44660702
DM
7067 "GET" : {
7068 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
7069 "method" : "GET",
7070 "name" : "vm_config",
7071 "parameters" : {
7072 "additionalProperties" : 0,
7073 "properties" : {
7074 "current" : {
7075 "default" : 0,
7076 "description" : "Get current values (instead of pending values).",
7077 "optional" : 1,
013dc89f
DM
7078 "type" : "boolean",
7079 "typetext" : "<boolean>"
44660702
DM
7080 },
7081 "node" : {
7082 "description" : "The cluster node name.",
7083 "format" : "pve-node",
013dc89f
DM
7084 "type" : "string",
7085 "typetext" : "<string>"
44660702
DM
7086 },
7087 "vmid" : {
7088 "description" : "The (unique) ID of the VM.",
7089 "format" : "pve-vmid",
7090 "minimum" : 1,
4bd7df8b 7091 "type" : "integer",
013dc89f 7092 "typetext" : "<integer> (1 - N)"
44660702
DM
7093 }
7094 }
7aacca6f 7095 },
56122987
DM
7096 "permissions" : {
7097 "check" : [
7098 "perm",
7099 "/vms/{vmid}",
7100 [
44660702
DM
7101 "VM.Audit"
7102 ]
56122987
DM
7103 ]
7104 },
56122987 7105 "proxyto" : "node",
44660702
DM
7106 "returns" : {
7107 "properties" : {
7108 "digest" : {
7109 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
7110 "type" : "string"
7111 }
7112 },
7113 "type" : "object"
7114 }
7115 },
7116 "POST" : {
7aacca6f
DM
7117 "description" : "Set virtual machine options (asynchrounous API).",
7118 "method" : "POST",
44660702 7119 "name" : "update_vm_async",
56122987 7120 "parameters" : {
44660702 7121 "additionalProperties" : 0,
56122987 7122 "properties" : {
44660702
DM
7123 "acpi" : {
7124 "default" : 1,
7125 "description" : "Enable/disable ACPI.",
7126 "optional" : 1,
013dc89f
DM
7127 "type" : "boolean",
7128 "typetext" : "<boolean>"
44660702
DM
7129 },
7130 "agent" : {
7aacca6f 7131 "default" : 0,
44660702 7132 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7133 "optional" : 1,
013dc89f
DM
7134 "type" : "boolean",
7135 "typetext" : "<boolean>"
7aacca6f 7136 },
44660702 7137 "args" : {
c2993fe5 7138 "description" : "Arbitrary arguments passed to kvm.",
44660702 7139 "optional" : 1,
c2993fe5 7140 "type" : "string",
013dc89f 7141 "typetext" : "<string>",
c2993fe5 7142 "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 7143 },
44660702
DM
7144 "autostart" : {
7145 "default" : 0,
7146 "description" : "Automatic restart after crash (currently ignored).",
56122987 7147 "optional" : 1,
013dc89f
DM
7148 "type" : "boolean",
7149 "typetext" : "<boolean>"
56122987 7150 },
44660702
DM
7151 "background_delay" : {
7152 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
7153 "maximum" : 30,
7154 "minimum" : 1,
7aacca6f 7155 "optional" : 1,
4bd7df8b 7156 "type" : "integer",
013dc89f 7157 "typetext" : "<integer> (1 - 30)"
56122987 7158 },
44660702
DM
7159 "balloon" : {
7160 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7161 "minimum" : 0,
7aacca6f 7162 "optional" : 1,
4bd7df8b 7163 "type" : "integer",
013dc89f 7164 "typetext" : "<integer> (0 - N)"
7aacca6f 7165 },
44660702
DM
7166 "bios" : {
7167 "default" : "seabios",
7168 "description" : "Select BIOS implementation.",
7169 "enum" : [
7170 "seabios",
7171 "ovmf"
7172 ],
56122987 7173 "optional" : 1,
44660702 7174 "type" : "string"
7aacca6f 7175 },
44660702
DM
7176 "boot" : {
7177 "default" : "cdn",
7178 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7179 "optional" : 1,
7180 "pattern" : "[acdn]{1,4}",
7181 "type" : "string"
7182 },
7183 "bootdisk" : {
7184 "description" : "Enable booting from specified disk.",
7185 "format" : "pve-qm-bootdisk",
7186 "optional" : 1,
7187 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7188 "type" : "string"
7189 },
7190 "cdrom" : {
7191 "description" : "This is an alias for option -ide2",
de0983cb 7192 "format" : "pve-qm-ide",
44660702 7193 "optional" : 1,
7aacca6f 7194 "type" : "string",
013dc89f 7195 "typetext" : "<volume>"
44660702 7196 },
27a7acb2
DM
7197 "cipassword" : {
7198 "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.",
7199 "optional" : 1,
7200 "type" : "string",
7201 "typetext" : "<string>"
7202 },
7203 "citype" : {
7204 "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.",
7205 "enum" : [
7206 "configdrive2",
7207 "nocloud"
7208 ],
7209 "optional" : 1,
7210 "type" : "string"
7211 },
7212 "ciuser" : {
7213 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
7214 "optional" : 1,
7215 "type" : "string",
7216 "typetext" : "<string>"
7217 },
44660702
DM
7218 "cores" : {
7219 "default" : 1,
7220 "description" : "The number of cores per socket.",
7221 "minimum" : 1,
7aacca6f 7222 "optional" : 1,
4bd7df8b 7223 "type" : "integer",
013dc89f 7224 "typetext" : "<integer> (1 - N)"
7aacca6f 7225 },
44660702
DM
7226 "cpu" : {
7227 "description" : "Emulated CPU type.",
56122987 7228 "format" : {
44660702
DM
7229 "cputype" : {
7230 "default" : "kvm64",
7aacca6f 7231 "default_key" : 1,
44660702 7232 "description" : "Emulated CPU type.",
56122987 7233 "enum" : [
44660702
DM
7234 "486",
7235 "athlon",
f004f5b9 7236 "Broadwell",
35a75dd3 7237 "Broadwell-IBRS",
f004f5b9 7238 "Broadwell-noTSX",
35a75dd3 7239 "Broadwell-noTSX-IBRS",
f004f5b9 7240 "Conroe",
44660702 7241 "core2duo",
f004f5b9 7242 "coreduo",
27a7acb2
DM
7243 "EPYC",
7244 "EPYC-IBPB",
f004f5b9 7245 "Haswell",
35a75dd3 7246 "Haswell-IBRS",
f004f5b9 7247 "Haswell-noTSX",
35a75dd3 7248 "Haswell-noTSX-IBRS",
f004f5b9
DM
7249 "host",
7250 "IvyBridge",
35a75dd3 7251 "IvyBridge-IBRS",
44660702
DM
7252 "kvm32",
7253 "kvm64",
35a75dd3 7254 "max",
44660702 7255 "Nehalem",
35a75dd3 7256 "Nehalem-IBRS",
44660702
DM
7257 "Opteron_G1",
7258 "Opteron_G2",
7259 "Opteron_G3",
7260 "Opteron_G4",
7261 "Opteron_G5",
f004f5b9
DM
7262 "Penryn",
7263 "pentium",
7264 "pentium2",
7265 "pentium3",
7266 "phenom",
7267 "qemu32",
7268 "qemu64",
7269 "SandyBridge",
35a75dd3 7270 "SandyBridge-IBRS",
5d9c884c 7271 "Skylake-Client",
35a75dd3
DM
7272 "Skylake-Client-IBRS",
7273 "Skylake-Server",
7274 "Skylake-Server-IBRS",
7275 "Westmere",
7276 "Westmere-IBRS"
56122987 7277 ],
56122987
DM
7278 "type" : "string"
7279 },
35a75dd3
DM
7280 "flags" : {
7281 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
7282 "format_description" : "+FLAG[;-FLAG...]",
7283 "optional" : 1,
7284 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
7285 "type" : "string"
7286 },
44660702
DM
7287 "hidden" : {
7288 "default" : 0,
7289 "description" : "Do not identify as a KVM virtual machine.",
56122987 7290 "optional" : 1,
44660702
DM
7291 "type" : "boolean"
7292 }
7293 },
7294 "optional" : 1,
4bd7df8b 7295 "type" : "string",
35a75dd3 7296 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
7297 },
7298 "cpulimit" : {
7299 "default" : 0,
c2993fe5 7300 "description" : "Limit of CPU usage.",
44660702
DM
7301 "maximum" : 128,
7302 "minimum" : 0,
7303 "optional" : 1,
c2993fe5 7304 "type" : "number",
013dc89f 7305 "typetext" : "<number> (0 - 128)",
c2993fe5 7306 "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
7307 },
7308 "cpuunits" : {
de0983cb 7309 "default" : 1024,
c2993fe5 7310 "description" : "CPU weight for a VM.",
2489d6df
WB
7311 "maximum" : 262144,
7312 "minimum" : 2,
44660702 7313 "optional" : 1,
c2993fe5 7314 "type" : "integer",
2489d6df
WB
7315 "typetext" : "<integer> (2 - 262144)",
7316 "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
7317 },
7318 "delete" : {
7319 "description" : "A list of settings you want to delete.",
7320 "format" : "pve-configid-list",
7321 "optional" : 1,
013dc89f
DM
7322 "type" : "string",
7323 "typetext" : "<string>"
44660702
DM
7324 },
7325 "description" : {
7326 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7327 "optional" : 1,
013dc89f
DM
7328 "type" : "string",
7329 "typetext" : "<string>"
44660702
DM
7330 },
7331 "digest" : {
7332 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7333 "maxLength" : 40,
7334 "optional" : 1,
013dc89f
DM
7335 "type" : "string",
7336 "typetext" : "<string>"
44660702
DM
7337 },
7338 "force" : {
7339 "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.",
7340 "optional" : 1,
7341 "requires" : "delete",
013dc89f
DM
7342 "type" : "boolean",
7343 "typetext" : "<boolean>"
44660702
DM
7344 },
7345 "freeze" : {
7346 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7347 "optional" : 1,
013dc89f
DM
7348 "type" : "boolean",
7349 "typetext" : "<boolean>"
44660702
DM
7350 },
7351 "hostpci[n]" : {
c2993fe5 7352 "description" : "Map host PCI devices into guest.",
44660702
DM
7353 "format" : "pve-qm-hostpci",
7354 "optional" : 1,
57b78691 7355 "type" : "string",
52e44c50 7356 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 7357 "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
7358 },
7359 "hotplug" : {
7360 "default" : "network,disk,usb",
7361 "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'.",
7362 "format" : "pve-hotplug-features",
7363 "optional" : 1,
013dc89f
DM
7364 "type" : "string",
7365 "typetext" : "<string>"
44660702 7366 },
4bd7df8b
DM
7367 "hugepages" : {
7368 "description" : "Enable/disable hugepages memory.",
7369 "enum" : [
7370 "any",
7371 "2",
7372 "1024"
7373 ],
7374 "optional" : 1,
7375 "type" : "string"
7376 },
44660702
DM
7377 "ide[n]" : {
7378 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
7379 "format" : {
7380 "aio" : {
7381 "description" : "AIO type to use.",
7382 "enum" : [
7383 "native",
7384 "threads"
56122987 7385 ],
56122987 7386 "optional" : 1,
44660702 7387 "type" : "string"
56122987 7388 },
44660702
DM
7389 "backup" : {
7390 "description" : "Whether the drive should be included when making backups.",
56122987 7391 "optional" : 1,
44660702 7392 "type" : "boolean"
56122987 7393 },
7aacca6f 7394 "bps" : {
de0983cb 7395 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7396 "format_description" : "bps",
7397 "optional" : 1,
7398 "type" : "integer"
7399 },
de0983cb
DM
7400 "bps_max_length" : {
7401 "description" : "Maximum length of I/O bursts in seconds.",
7402 "format_description" : "seconds",
7403 "minimum" : 1,
7404 "optional" : 1,
7405 "type" : "integer"
7406 },
44660702 7407 "bps_rd" : {
de0983cb 7408 "description" : "Maximum read speed in bytes per second.",
44660702 7409 "format_description" : "bps",
56122987 7410 "optional" : 1,
44660702 7411 "type" : "integer"
56122987 7412 },
de0983cb 7413 "bps_rd_length" : {
5d9c884c
DM
7414 "alias" : "bps_rd_max_length"
7415 },
7416 "bps_rd_max_length" : {
de0983cb
DM
7417 "description" : "Maximum length of read I/O bursts in seconds.",
7418 "format_description" : "seconds",
7419 "minimum" : 1,
7420 "optional" : 1,
7421 "type" : "integer"
7422 },
44660702 7423 "bps_wr" : {
de0983cb 7424 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7425 "format_description" : "bps",
7426 "optional" : 1,
7427 "type" : "integer"
7428 },
de0983cb 7429 "bps_wr_length" : {
5d9c884c
DM
7430 "alias" : "bps_wr_max_length"
7431 },
7432 "bps_wr_max_length" : {
de0983cb
DM
7433 "description" : "Maximum length of write I/O bursts in seconds.",
7434 "format_description" : "seconds",
7435 "minimum" : 1,
7436 "optional" : 1,
7437 "type" : "integer"
7438 },
44660702
DM
7439 "cache" : {
7440 "description" : "The drive's cache mode",
7441 "enum" : [
7442 "none",
7443 "writethrough",
7444 "writeback",
7445 "unsafe",
7446 "directsync"
7447 ],
44660702
DM
7448 "optional" : 1,
7449 "type" : "string"
7450 },
7451 "cyls" : {
7452 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7453 "optional" : 1,
7454 "type" : "integer"
7455 },
7456 "detect_zeroes" : {
7457 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7458 "optional" : 1,
7459 "type" : "boolean"
7460 },
7461 "discard" : {
7462 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7463 "enum" : [
7464 "ignore",
7465 "on"
7466 ],
56122987 7467 "optional" : 1,
44660702
DM
7468 "type" : "string"
7469 },
7470 "file" : {
7471 "default_key" : 1,
7472 "description" : "The drive's backing volume.",
7473 "format" : "pve-volume-id-or-qm-path",
7474 "format_description" : "volume",
7475 "type" : "string"
56122987 7476 },
7aacca6f 7477 "format" : {
7aacca6f 7478 "description" : "The drive's backing file's data format.",
56122987 7479 "enum" : [
7aacca6f
DM
7480 "raw",
7481 "cow",
7482 "qcow",
7483 "qed",
7484 "qcow2",
7485 "vmdk",
7486 "cloop"
56122987
DM
7487 ],
7488 "optional" : 1,
56122987
DM
7489 "type" : "string"
7490 },
44660702
DM
7491 "heads" : {
7492 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
7493 "optional" : 1,
7494 "type" : "integer"
7aacca6f 7495 },
44660702 7496 "iops" : {
de0983cb 7497 "description" : "Maximum r/w I/O in operations per second.",
44660702 7498 "format_description" : "iops",
56122987 7499 "optional" : 1,
44660702 7500 "type" : "integer"
56122987 7501 },
44660702 7502 "iops_max" : {
de0983cb 7503 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7504 "format_description" : "iops",
56122987 7505 "optional" : 1,
44660702 7506 "type" : "integer"
56122987 7507 },
de0983cb
DM
7508 "iops_max_length" : {
7509 "description" : "Maximum length of I/O bursts in seconds.",
7510 "format_description" : "seconds",
7511 "minimum" : 1,
7512 "optional" : 1,
7513 "type" : "integer"
7514 },
44660702 7515 "iops_rd" : {
de0983cb 7516 "description" : "Maximum read I/O in operations per second.",
44660702
DM
7517 "format_description" : "iops",
7518 "optional" : 1,
7519 "type" : "integer"
7520 },
de0983cb 7521 "iops_rd_length" : {
5d9c884c 7522 "alias" : "iops_rd_max_length"
de0983cb 7523 },
44660702 7524 "iops_rd_max" : {
de0983cb 7525 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 7526 "format_description" : "iops",
44660702
DM
7527 "optional" : 1,
7528 "type" : "integer"
7529 },
5d9c884c
DM
7530 "iops_rd_max_length" : {
7531 "description" : "Maximum length of read I/O bursts in seconds.",
7532 "format_description" : "seconds",
7533 "minimum" : 1,
7534 "optional" : 1,
7535 "type" : "integer"
7536 },
44660702 7537 "iops_wr" : {
de0983cb 7538 "description" : "Maximum write I/O in operations per second.",
44660702 7539 "format_description" : "iops",
56122987 7540 "optional" : 1,
7aacca6f 7541 "type" : "integer"
56122987 7542 },
de0983cb 7543 "iops_wr_length" : {
5d9c884c 7544 "alias" : "iops_wr_max_length"
de0983cb 7545 },
44660702 7546 "iops_wr_max" : {
de0983cb 7547 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7548 "format_description" : "iops",
7aacca6f 7549 "optional" : 1,
44660702 7550 "type" : "integer"
56122987 7551 },
5d9c884c
DM
7552 "iops_wr_max_length" : {
7553 "description" : "Maximum length of write I/O bursts in seconds.",
7554 "format_description" : "seconds",
7555 "minimum" : 1,
7556 "optional" : 1,
7557 "type" : "integer"
7558 },
44660702 7559 "mbps" : {
de0983cb 7560 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7561 "format_description" : "mbps",
7562 "optional" : 1,
7563 "type" : "number"
7564 },
7565 "mbps_max" : {
de0983cb 7566 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7567 "format_description" : "mbps",
7568 "optional" : 1,
7569 "type" : "number"
7570 },
7571 "mbps_rd" : {
de0983cb 7572 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
7573 "format_description" : "mbps",
7574 "optional" : 1,
7575 "type" : "number"
7576 },
7577 "mbps_rd_max" : {
de0983cb 7578 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7579 "format_description" : "mbps",
7580 "optional" : 1,
7581 "type" : "number"
7582 },
7583 "mbps_wr" : {
de0983cb 7584 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
7585 "format_description" : "mbps",
7586 "optional" : 1,
7587 "type" : "number"
7588 },
7589 "mbps_wr_max" : {
de0983cb 7590 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7591 "format_description" : "mbps",
56122987 7592 "optional" : 1,
44660702 7593 "type" : "number"
56122987 7594 },
7aacca6f 7595 "media" : {
7aacca6f 7596 "default" : "disk",
7aacca6f
DM
7597 "description" : "The drive's media type.",
7598 "enum" : [
7599 "cdrom",
7600 "disk"
44660702 7601 ],
44660702
DM
7602 "optional" : 1,
7603 "type" : "string"
56122987 7604 },
44660702
DM
7605 "model" : {
7606 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
7607 "format" : "urlencoded",
7608 "format_description" : "model",
7609 "maxLength" : 120,
56122987 7610 "optional" : 1,
44660702 7611 "type" : "string"
56122987 7612 },
5d9c884c
DM
7613 "replicate" : {
7614 "default" : 1,
7615 "description" : "Whether the drive should considered for replication jobs.",
7616 "optional" : 1,
7617 "type" : "boolean"
7618 },
44660702
DM
7619 "rerror" : {
7620 "description" : "Read error action.",
7621 "enum" : [
7622 "ignore",
7623 "report",
7624 "stop"
7625 ],
56122987 7626 "optional" : 1,
44660702
DM
7627 "type" : "string"
7628 },
7629 "secs" : {
7630 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7631 "optional" : 1,
7632 "type" : "integer"
7633 },
7634 "serial" : {
7635 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7636 "format" : "urlencoded",
7637 "format_description" : "serial",
7638 "maxLength" : 60,
7639 "optional" : 1,
7640 "type" : "string"
7641 },
27a7acb2
DM
7642 "shared" : {
7643 "default" : 0,
7644 "description" : "Mark this locally-managed volume as available on all nodes",
7645 "optional" : 1,
7646 "type" : "boolean",
7647 "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!"
7648 },
44660702
DM
7649 "size" : {
7650 "description" : "Disk size. This is purely informational and has no effect.",
7651 "format" : "disk-size",
f004f5b9 7652 "format_description" : "DiskSize",
44660702
DM
7653 "optional" : 1,
7654 "type" : "string"
7655 },
7656 "snapshot" : {
27a7acb2 7657 "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
7658 "optional" : 1,
7659 "type" : "boolean"
7660 },
7661 "trans" : {
7662 "description" : "Force disk geometry bios translation mode.",
7663 "enum" : [
7664 "none",
7665 "lba",
7666 "auto"
7667 ],
44660702
DM
7668 "optional" : 1,
7669 "type" : "string"
7670 },
7671 "volume" : {
7672 "alias" : "file"
7673 },
7674 "werror" : {
7675 "description" : "Write error action.",
7676 "enum" : [
7677 "enospc",
7678 "ignore",
7679 "report",
7680 "stop"
7681 ],
44660702
DM
7682 "optional" : 1,
7683 "type" : "string"
56122987
DM
7684 }
7685 },
44660702 7686 "optional" : 1,
4bd7df8b 7687 "type" : "string",
27a7acb2
DM
7688 "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>]"
7689 },
7690 "ipconfig[n]" : {
7691 "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",
7692 "format" : "pve-qm-ipconfig",
7693 "optional" : 1,
7694 "type" : "string",
7695 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 7696 },
44660702 7697 "keyboard" : {
35a75dd3
DM
7698 "default" : null,
7699 "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
7700 "enum" : [
7701 "de",
7702 "de-ch",
7703 "da",
7704 "en-gb",
7705 "en-us",
7706 "es",
7707 "fi",
7708 "fr",
7709 "fr-be",
7710 "fr-ca",
7711 "fr-ch",
7712 "hu",
7713 "is",
7714 "it",
7715 "ja",
7716 "lt",
7717 "mk",
7718 "nl",
7719 "no",
7720 "pl",
7721 "pt",
7722 "pt-br",
7723 "sv",
7724 "sl",
7725 "tr"
7726 ],
56122987 7727 "optional" : 1,
44660702
DM
7728 "type" : "string"
7729 },
7730 "kvm" : {
7aacca6f 7731 "default" : 1,
44660702
DM
7732 "description" : "Enable/disable KVM hardware virtualization.",
7733 "optional" : 1,
013dc89f
DM
7734 "type" : "boolean",
7735 "typetext" : "<boolean>"
56122987 7736 },
44660702
DM
7737 "localtime" : {
7738 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 7739 "optional" : 1,
013dc89f
DM
7740 "type" : "boolean",
7741 "typetext" : "<boolean>"
56122987 7742 },
44660702
DM
7743 "lock" : {
7744 "description" : "Lock/unlock the VM.",
7745 "enum" : [
7746 "migrate",
7747 "backup",
7748 "snapshot",
7749 "rollback"
7750 ],
7aacca6f 7751 "optional" : 1,
44660702
DM
7752 "type" : "string"
7753 },
7754 "machine" : {
7755 "description" : "Specific the Qemu machine type.",
7756 "maxLength" : 40,
7757 "optional" : 1,
7758 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7759 "type" : "string"
7760 },
7761 "memory" : {
7762 "default" : 512,
7763 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7764 "minimum" : 16,
7765 "optional" : 1,
4bd7df8b 7766 "type" : "integer",
013dc89f 7767 "typetext" : "<integer> (16 - N)"
44660702
DM
7768 },
7769 "migrate_downtime" : {
7770 "default" : 0.1,
7771 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7772 "minimum" : 0,
7773 "optional" : 1,
4bd7df8b 7774 "type" : "number",
013dc89f 7775 "typetext" : "<number> (0 - N)"
44660702
DM
7776 },
7777 "migrate_speed" : {
7778 "default" : 0,
7779 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7780 "minimum" : 0,
7781 "optional" : 1,
4bd7df8b 7782 "type" : "integer",
013dc89f 7783 "typetext" : "<integer> (0 - N)"
44660702
DM
7784 },
7785 "name" : {
7786 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7787 "format" : "dns-name",
7788 "optional" : 1,
013dc89f
DM
7789 "type" : "string",
7790 "typetext" : "<string>"
44660702 7791 },
27a7acb2
DM
7792 "nameserver" : {
7793 "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.",
7794 "format" : "address-list",
7795 "optional" : 1,
7796 "type" : "string",
7797 "typetext" : "<string>"
7798 },
44660702 7799 "net[n]" : {
c2993fe5 7800 "description" : "Specify network devices.",
f004f5b9
DM
7801 "format" : {
7802 "bridge" : {
c2993fe5 7803 "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
7804 "format_description" : "bridge",
7805 "optional" : 1,
7806 "type" : "string"
7807 },
7808 "e1000" : {
7809 "alias" : "macaddr",
7810 "keyAlias" : "model"
7811 },
7812 "e1000-82540em" : {
7813 "alias" : "macaddr",
7814 "keyAlias" : "model"
7815 },
7816 "e1000-82544gc" : {
7817 "alias" : "macaddr",
7818 "keyAlias" : "model"
7819 },
7820 "e1000-82545em" : {
7821 "alias" : "macaddr",
7822 "keyAlias" : "model"
7823 },
7824 "firewall" : {
7825 "description" : "Whether this interface should be protected by the firewall.",
7826 "optional" : 1,
7827 "type" : "boolean"
7828 },
7829 "i82551" : {
7830 "alias" : "macaddr",
7831 "keyAlias" : "model"
7832 },
7833 "i82557b" : {
7834 "alias" : "macaddr",
7835 "keyAlias" : "model"
7836 },
7837 "i82559er" : {
7838 "alias" : "macaddr",
7839 "keyAlias" : "model"
7840 },
7841 "link_down" : {
c2993fe5 7842 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
7843 "optional" : 1,
7844 "type" : "boolean"
7845 },
7846 "macaddr" : {
c2993fe5 7847 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 7848 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
7849 "optional" : 1,
7850 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7851 "type" : "string"
7852 },
7853 "model" : {
7854 "default_key" : 1,
c2993fe5 7855 "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
7856 "enum" : [
7857 "rtl8139",
7858 "ne2k_pci",
7859 "e1000",
7860 "pcnet",
7861 "virtio",
7862 "ne2k_isa",
7863 "i82551",
7864 "i82557b",
7865 "i82559er",
7866 "vmxnet3",
7867 "e1000-82540em",
7868 "e1000-82544gc",
7869 "e1000-82545em"
7870 ],
f004f5b9
DM
7871 "type" : "string"
7872 },
7873 "ne2k_isa" : {
7874 "alias" : "macaddr",
7875 "keyAlias" : "model"
7876 },
7877 "ne2k_pci" : {
7878 "alias" : "macaddr",
7879 "keyAlias" : "model"
7880 },
7881 "pcnet" : {
7882 "alias" : "macaddr",
7883 "keyAlias" : "model"
7884 },
7885 "queues" : {
7886 "description" : "Number of packet queues to be used on the device.",
7887 "maximum" : 16,
7888 "minimum" : 0,
7889 "optional" : 1,
7890 "type" : "integer"
7891 },
7892 "rate" : {
c2993fe5 7893 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
7894 "minimum" : 0,
7895 "optional" : 1,
7896 "type" : "number"
7897 },
7898 "rtl8139" : {
7899 "alias" : "macaddr",
7900 "keyAlias" : "model"
7901 },
7902 "tag" : {
7903 "description" : "VLAN tag to apply to packets on this interface.",
7904 "maximum" : 4094,
c2993fe5 7905 "minimum" : 1,
f004f5b9
DM
7906 "optional" : 1,
7907 "type" : "integer"
7908 },
7909 "trunks" : {
7910 "description" : "VLAN trunks to pass through this interface.",
7911 "format_description" : "vlanid[;vlanid...]",
7912 "optional" : 1,
7913 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7914 "type" : "string"
7915 },
7916 "virtio" : {
7917 "alias" : "macaddr",
7918 "keyAlias" : "model"
7919 },
7920 "vmxnet3" : {
7921 "alias" : "macaddr",
7922 "keyAlias" : "model"
7923 }
7924 },
44660702 7925 "optional" : 1,
4bd7df8b 7926 "type" : "string",
013dc89f 7927 "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
7928 },
7929 "node" : {
7930 "description" : "The cluster node name.",
7931 "format" : "pve-node",
013dc89f
DM
7932 "type" : "string",
7933 "typetext" : "<string>"
44660702
DM
7934 },
7935 "numa" : {
7936 "default" : 0,
7937 "description" : "Enable/disable NUMA.",
7938 "optional" : 1,
013dc89f
DM
7939 "type" : "boolean",
7940 "typetext" : "<boolean>"
44660702
DM
7941 },
7942 "numa[n]" : {
c2993fe5 7943 "description" : "NUMA topology.",
56122987 7944 "format" : {
7aacca6f 7945 "cpus" : {
c2993fe5 7946 "description" : "CPUs accessing this NUMA node.",
44660702
DM
7947 "format_description" : "id[-id];...",
7948 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7949 "type" : "string"
7aacca6f
DM
7950 },
7951 "hostnodes" : {
c2993fe5 7952 "description" : "Host NUMA nodes to use.",
44660702 7953 "format_description" : "id[-id];...",
7aacca6f 7954 "optional" : 1,
7aacca6f 7955 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 7956 "type" : "string"
7aacca6f 7957 },
44660702 7958 "memory" : {
c2993fe5 7959 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 7960 "optional" : 1,
44660702
DM
7961 "type" : "number"
7962 },
7963 "policy" : {
c2993fe5 7964 "description" : "NUMA allocation policy.",
7aacca6f
DM
7965 "enum" : [
7966 "preferred",
7967 "bind",
7968 "interleave"
7969 ],
44660702
DM
7970 "optional" : 1,
7971 "type" : "string"
56122987 7972 }
44660702 7973 },
56122987 7974 "optional" : 1,
4bd7df8b
DM
7975 "type" : "string",
7976 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 7977 },
44660702 7978 "onboot" : {
7aacca6f 7979 "default" : 0,
44660702
DM
7980 "description" : "Specifies whether a VM will be started during system bootup.",
7981 "optional" : 1,
013dc89f
DM
7982 "type" : "boolean",
7983 "typetext" : "<boolean>"
7aacca6f
DM
7984 },
7985 "ostype" : {
c2993fe5 7986 "description" : "Specify guest operating system.",
7aacca6f
DM
7987 "enum" : [
7988 "other",
7989 "wxp",
7990 "w2k",
7991 "w2k3",
7992 "w2k8",
7993 "wvista",
7994 "win7",
7995 "win8",
32d876b5 7996 "win10",
7aacca6f
DM
7997 "l24",
7998 "l26",
7999 "solaris"
8000 ],
7aacca6f 8001 "optional" : 1,
c2993fe5 8002 "type" : "string",
35a75dd3 8003 "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 8004 },
44660702 8005 "parallel[n]" : {
c2993fe5 8006 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8007 "optional" : 1,
44660702 8008 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8009 "type" : "string",
8010 "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
8011 },
8012 "protection" : {
8013 "default" : 0,
c2993fe5 8014 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8015 "optional" : 1,
013dc89f
DM
8016 "type" : "boolean",
8017 "typetext" : "<boolean>"
7aacca6f 8018 },
44660702
DM
8019 "reboot" : {
8020 "default" : 1,
8021 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8022 "optional" : 1,
013dc89f
DM
8023 "type" : "boolean",
8024 "typetext" : "<boolean>"
7aacca6f 8025 },
44660702
DM
8026 "revert" : {
8027 "description" : "Revert a pending change.",
8028 "format" : "pve-configid-list",
7aacca6f 8029 "optional" : 1,
013dc89f
DM
8030 "type" : "string",
8031 "typetext" : "<string>"
44660702
DM
8032 },
8033 "sata[n]" : {
8034 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 8035 "format" : {
44660702
DM
8036 "aio" : {
8037 "description" : "AIO type to use.",
7aacca6f 8038 "enum" : [
44660702
DM
8039 "native",
8040 "threads"
7aacca6f 8041 ],
44660702
DM
8042 "optional" : 1,
8043 "type" : "string"
7aacca6f 8044 },
44660702
DM
8045 "backup" : {
8046 "description" : "Whether the drive should be included when making backups.",
56122987 8047 "optional" : 1,
7aacca6f 8048 "type" : "boolean"
44660702
DM
8049 },
8050 "bps" : {
de0983cb 8051 "description" : "Maximum r/w speed in bytes per second.",
44660702 8052 "format_description" : "bps",
7aacca6f 8053 "optional" : 1,
44660702 8054 "type" : "integer"
56122987 8055 },
de0983cb
DM
8056 "bps_max_length" : {
8057 "description" : "Maximum length of I/O bursts in seconds.",
8058 "format_description" : "seconds",
8059 "minimum" : 1,
8060 "optional" : 1,
8061 "type" : "integer"
8062 },
44660702 8063 "bps_rd" : {
de0983cb 8064 "description" : "Maximum read speed in bytes per second.",
44660702 8065 "format_description" : "bps",
56122987 8066 "optional" : 1,
44660702 8067 "type" : "integer"
56122987 8068 },
de0983cb 8069 "bps_rd_length" : {
5d9c884c
DM
8070 "alias" : "bps_rd_max_length"
8071 },
8072 "bps_rd_max_length" : {
de0983cb
DM
8073 "description" : "Maximum length of read I/O bursts in seconds.",
8074 "format_description" : "seconds",
8075 "minimum" : 1,
8076 "optional" : 1,
8077 "type" : "integer"
8078 },
44660702 8079 "bps_wr" : {
de0983cb 8080 "description" : "Maximum write speed in bytes per second.",
44660702 8081 "format_description" : "bps",
56122987 8082 "optional" : 1,
44660702 8083 "type" : "integer"
56122987 8084 },
de0983cb 8085 "bps_wr_length" : {
5d9c884c
DM
8086 "alias" : "bps_wr_max_length"
8087 },
8088 "bps_wr_max_length" : {
de0983cb
DM
8089 "description" : "Maximum length of write I/O bursts in seconds.",
8090 "format_description" : "seconds",
8091 "minimum" : 1,
8092 "optional" : 1,
8093 "type" : "integer"
8094 },
56122987 8095 "cache" : {
44660702 8096 "description" : "The drive's cache mode",
56122987
DM
8097 "enum" : [
8098 "none",
8099 "writethrough",
8100 "writeback",
8101 "unsafe",
8102 "directsync"
8103 ],
56122987 8104 "optional" : 1,
44660702 8105 "type" : "string"
56122987 8106 },
44660702
DM
8107 "cyls" : {
8108 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8109 "optional" : 1,
44660702 8110 "type" : "integer"
7aacca6f
DM
8111 },
8112 "detect_zeroes" : {
8113 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8114 "optional" : 1,
44660702 8115 "type" : "boolean"
56122987 8116 },
44660702
DM
8117 "discard" : {
8118 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8119 "enum" : [
8120 "ignore",
8121 "on"
8122 ],
56122987 8123 "optional" : 1,
44660702 8124 "type" : "string"
7aacca6f 8125 },
44660702
DM
8126 "file" : {
8127 "default_key" : 1,
8128 "description" : "The drive's backing volume.",
8129 "format" : "pve-volume-id-or-qm-path",
8130 "format_description" : "volume",
8131 "type" : "string"
56122987 8132 },
7aacca6f 8133 "format" : {
44660702 8134 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8135 "enum" : [
8136 "raw",
8137 "cow",
8138 "qcow",
8139 "qed",
8140 "qcow2",
8141 "vmdk",
8142 "cloop"
8143 ],
7aacca6f 8144 "optional" : 1,
44660702 8145 "type" : "string"
56122987 8146 },
7aacca6f 8147 "heads" : {
7aacca6f 8148 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8149 "optional" : 1,
7aacca6f 8150 "type" : "integer"
56122987 8151 },
44660702 8152 "iops" : {
de0983cb 8153 "description" : "Maximum r/w I/O in operations per second.",
44660702 8154 "format_description" : "iops",
56122987 8155 "optional" : 1,
44660702 8156 "type" : "integer"
56122987 8157 },
44660702 8158 "iops_max" : {
de0983cb 8159 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8160 "format_description" : "iops",
56122987 8161 "optional" : 1,
44660702 8162 "type" : "integer"
56122987 8163 },
de0983cb
DM
8164 "iops_max_length" : {
8165 "description" : "Maximum length of I/O bursts in seconds.",
8166 "format_description" : "seconds",
8167 "minimum" : 1,
8168 "optional" : 1,
8169 "type" : "integer"
8170 },
44660702 8171 "iops_rd" : {
de0983cb 8172 "description" : "Maximum read I/O in operations per second.",
44660702 8173 "format_description" : "iops",
7aacca6f 8174 "optional" : 1,
44660702 8175 "type" : "integer"
56122987 8176 },
de0983cb 8177 "iops_rd_length" : {
5d9c884c 8178 "alias" : "iops_rd_max_length"
de0983cb 8179 },
44660702 8180 "iops_rd_max" : {
de0983cb 8181 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8182 "format_description" : "iops",
56122987 8183 "optional" : 1,
44660702 8184 "type" : "integer"
7aacca6f 8185 },
5d9c884c
DM
8186 "iops_rd_max_length" : {
8187 "description" : "Maximum length of read I/O bursts in seconds.",
8188 "format_description" : "seconds",
8189 "minimum" : 1,
8190 "optional" : 1,
8191 "type" : "integer"
8192 },
44660702 8193 "iops_wr" : {
de0983cb 8194 "description" : "Maximum write I/O in operations per second.",
44660702 8195 "format_description" : "iops",
56122987 8196 "optional" : 1,
44660702 8197 "type" : "integer"
56122987 8198 },
de0983cb 8199 "iops_wr_length" : {
5d9c884c 8200 "alias" : "iops_wr_max_length"
de0983cb 8201 },
56122987 8202 "iops_wr_max" : {
de0983cb 8203 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8204 "format_description" : "iops",
56122987 8205 "optional" : 1,
44660702 8206 "type" : "integer"
56122987 8207 },
5d9c884c
DM
8208 "iops_wr_max_length" : {
8209 "description" : "Maximum length of write I/O bursts in seconds.",
8210 "format_description" : "seconds",
8211 "minimum" : 1,
8212 "optional" : 1,
8213 "type" : "integer"
8214 },
44660702 8215 "mbps" : {
de0983cb 8216 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8217 "format_description" : "mbps",
56122987 8218 "optional" : 1,
44660702 8219 "type" : "number"
56122987 8220 },
44660702 8221 "mbps_max" : {
de0983cb 8222 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8223 "format_description" : "mbps",
8224 "optional" : 1,
8225 "type" : "number"
56122987 8226 },
44660702 8227 "mbps_rd" : {
de0983cb 8228 "description" : "Maximum read speed in megabytes per second.",
44660702 8229 "format_description" : "mbps",
56122987 8230 "optional" : 1,
44660702 8231 "type" : "number"
56122987 8232 },
44660702 8233 "mbps_rd_max" : {
de0983cb 8234 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8235 "format_description" : "mbps",
56122987 8236 "optional" : 1,
44660702 8237 "type" : "number"
56122987 8238 },
44660702 8239 "mbps_wr" : {
de0983cb 8240 "description" : "Maximum write speed in megabytes per second.",
56122987 8241 "format_description" : "mbps",
44660702
DM
8242 "optional" : 1,
8243 "type" : "number"
56122987 8244 },
44660702 8245 "mbps_wr_max" : {
de0983cb 8246 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8247 "format_description" : "mbps",
8248 "optional" : 1,
8249 "type" : "number"
7aacca6f 8250 },
44660702
DM
8251 "media" : {
8252 "default" : "disk",
8253 "description" : "The drive's media type.",
8254 "enum" : [
8255 "cdrom",
8256 "disk"
8257 ],
56122987 8258 "optional" : 1,
44660702
DM
8259 "type" : "string"
8260 },
5d9c884c
DM
8261 "replicate" : {
8262 "default" : 1,
8263 "description" : "Whether the drive should considered for replication jobs.",
8264 "optional" : 1,
8265 "type" : "boolean"
8266 },
44660702
DM
8267 "rerror" : {
8268 "description" : "Read error action.",
7aacca6f 8269 "enum" : [
44660702
DM
8270 "ignore",
8271 "report",
8272 "stop"
8273 ],
7aacca6f 8274 "optional" : 1,
44660702 8275 "type" : "string"
56122987 8276 },
44660702
DM
8277 "secs" : {
8278 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8279 "optional" : 1,
44660702 8280 "type" : "integer"
56122987 8281 },
44660702
DM
8282 "serial" : {
8283 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8284 "format" : "urlencoded",
8285 "format_description" : "serial",
8286 "maxLength" : 60,
56122987 8287 "optional" : 1,
44660702 8288 "type" : "string"
56122987 8289 },
27a7acb2
DM
8290 "shared" : {
8291 "default" : 0,
8292 "description" : "Mark this locally-managed volume as available on all nodes",
8293 "optional" : 1,
8294 "type" : "boolean",
8295 "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!"
8296 },
44660702
DM
8297 "size" : {
8298 "description" : "Disk size. This is purely informational and has no effect.",
8299 "format" : "disk-size",
f004f5b9 8300 "format_description" : "DiskSize",
44660702
DM
8301 "optional" : 1,
8302 "type" : "string"
8303 },
8304 "snapshot" : {
27a7acb2 8305 "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 8306 "optional" : 1,
44660702
DM
8307 "type" : "boolean"
8308 },
8309 "trans" : {
8310 "description" : "Force disk geometry bios translation mode.",
56122987 8311 "enum" : [
7aacca6f
DM
8312 "none",
8313 "lba",
8314 "auto"
56122987 8315 ],
44660702
DM
8316 "optional" : 1,
8317 "type" : "string"
56122987 8318 },
7aacca6f
DM
8319 "volume" : {
8320 "alias" : "file"
56122987 8321 },
44660702
DM
8322 "werror" : {
8323 "description" : "Write error action.",
8324 "enum" : [
8325 "enospc",
8326 "ignore",
8327 "report",
8328 "stop"
8329 ],
7aacca6f 8330 "optional" : 1,
44660702
DM
8331 "type" : "string"
8332 }
8333 },
8334 "optional" : 1,
4bd7df8b 8335 "type" : "string",
27a7acb2 8336 "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
8337 },
8338 "scsi[n]" : {
8339 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8340 "format" : {
56122987 8341 "aio" : {
56122987
DM
8342 "description" : "AIO type to use.",
8343 "enum" : [
8344 "native",
8345 "threads"
8346 ],
7aacca6f 8347 "optional" : 1,
44660702 8348 "type" : "string"
56122987 8349 },
44660702
DM
8350 "backup" : {
8351 "description" : "Whether the drive should be included when making backups.",
56122987 8352 "optional" : 1,
44660702 8353 "type" : "boolean"
56122987 8354 },
44660702 8355 "bps" : {
de0983cb 8356 "description" : "Maximum r/w speed in bytes per second.",
44660702 8357 "format_description" : "bps",
56122987 8358 "optional" : 1,
44660702 8359 "type" : "integer"
56122987 8360 },
de0983cb
DM
8361 "bps_max_length" : {
8362 "description" : "Maximum length of I/O bursts in seconds.",
8363 "format_description" : "seconds",
8364 "minimum" : 1,
8365 "optional" : 1,
8366 "type" : "integer"
8367 },
44660702 8368 "bps_rd" : {
de0983cb 8369 "description" : "Maximum read speed in bytes per second.",
44660702 8370 "format_description" : "bps",
56122987 8371 "optional" : 1,
44660702 8372 "type" : "integer"
56122987 8373 },
de0983cb 8374 "bps_rd_length" : {
5d9c884c
DM
8375 "alias" : "bps_rd_max_length"
8376 },
8377 "bps_rd_max_length" : {
de0983cb
DM
8378 "description" : "Maximum length of read I/O bursts in seconds.",
8379 "format_description" : "seconds",
8380 "minimum" : 1,
8381 "optional" : 1,
8382 "type" : "integer"
8383 },
7aacca6f 8384 "bps_wr" : {
de0983cb 8385 "description" : "Maximum write speed in bytes per second.",
7aacca6f 8386 "format_description" : "bps",
56122987 8387 "optional" : 1,
44660702 8388 "type" : "integer"
56122987 8389 },
de0983cb 8390 "bps_wr_length" : {
5d9c884c
DM
8391 "alias" : "bps_wr_max_length"
8392 },
8393 "bps_wr_max_length" : {
de0983cb
DM
8394 "description" : "Maximum length of write I/O bursts in seconds.",
8395 "format_description" : "seconds",
8396 "minimum" : 1,
8397 "optional" : 1,
8398 "type" : "integer"
8399 },
44660702
DM
8400 "cache" : {
8401 "description" : "The drive's cache mode",
7aacca6f 8402 "enum" : [
44660702
DM
8403 "none",
8404 "writethrough",
8405 "writeback",
8406 "unsafe",
8407 "directsync"
7aacca6f 8408 ],
56122987 8409 "optional" : 1,
44660702 8410 "type" : "string"
56122987 8411 },
44660702
DM
8412 "cyls" : {
8413 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8414 "optional" : 1,
44660702 8415 "type" : "integer"
56122987 8416 },
44660702
DM
8417 "detect_zeroes" : {
8418 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 8419 "optional" : 1,
44660702 8420 "type" : "boolean"
56122987 8421 },
44660702
DM
8422 "discard" : {
8423 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8424 "enum" : [
8425 "ignore",
8426 "on"
8427 ],
7aacca6f 8428 "optional" : 1,
44660702 8429 "type" : "string"
56122987 8430 },
44660702
DM
8431 "file" : {
8432 "default_key" : 1,
8433 "description" : "The drive's backing volume.",
8434 "format" : "pve-volume-id-or-qm-path",
8435 "format_description" : "volume",
8436 "type" : "string"
56122987 8437 },
7aacca6f 8438 "format" : {
44660702 8439 "description" : "The drive's backing file's data format.",
56122987 8440 "enum" : [
7aacca6f
DM
8441 "raw",
8442 "cow",
8443 "qcow",
8444 "qed",
8445 "qcow2",
8446 "vmdk",
8447 "cloop"
8448 ],
44660702
DM
8449 "optional" : 1,
8450 "type" : "string"
56122987 8451 },
44660702
DM
8452 "heads" : {
8453 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8454 "optional" : 1,
7aacca6f 8455 "type" : "integer"
56122987 8456 },
44660702 8457 "iops" : {
de0983cb 8458 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 8459 "format_description" : "iops",
44660702
DM
8460 "optional" : 1,
8461 "type" : "integer"
7aacca6f 8462 },
44660702 8463 "iops_max" : {
de0983cb 8464 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8465 "format_description" : "iops",
56122987 8466 "optional" : 1,
44660702 8467 "type" : "integer"
7aacca6f 8468 },
de0983cb
DM
8469 "iops_max_length" : {
8470 "description" : "Maximum length of I/O bursts in seconds.",
8471 "format_description" : "seconds",
8472 "minimum" : 1,
8473 "optional" : 1,
8474 "type" : "integer"
8475 },
44660702 8476 "iops_rd" : {
de0983cb 8477 "description" : "Maximum read I/O in operations per second.",
44660702 8478 "format_description" : "iops",
7aacca6f 8479 "optional" : 1,
44660702 8480 "type" : "integer"
56122987 8481 },
de0983cb 8482 "iops_rd_length" : {
5d9c884c 8483 "alias" : "iops_rd_max_length"
de0983cb 8484 },
44660702 8485 "iops_rd_max" : {
de0983cb 8486 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8487 "format_description" : "iops",
8488 "optional" : 1,
8489 "type" : "integer"
8490 },
5d9c884c
DM
8491 "iops_rd_max_length" : {
8492 "description" : "Maximum length of read I/O bursts in seconds.",
8493 "format_description" : "seconds",
8494 "minimum" : 1,
8495 "optional" : 1,
8496 "type" : "integer"
8497 },
44660702 8498 "iops_wr" : {
de0983cb 8499 "description" : "Maximum write I/O in operations per second.",
44660702 8500 "format_description" : "iops",
56122987 8501 "optional" : 1,
44660702
DM
8502 "type" : "integer"
8503 },
de0983cb 8504 "iops_wr_length" : {
5d9c884c 8505 "alias" : "iops_wr_max_length"
de0983cb 8506 },
44660702 8507 "iops_wr_max" : {
de0983cb 8508 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8509 "format_description" : "iops",
8510 "optional" : 1,
8511 "type" : "integer"
56122987 8512 },
5d9c884c
DM
8513 "iops_wr_max_length" : {
8514 "description" : "Maximum length of write I/O bursts in seconds.",
8515 "format_description" : "seconds",
8516 "minimum" : 1,
8517 "optional" : 1,
8518 "type" : "integer"
8519 },
7aacca6f 8520 "iothread" : {
7aacca6f 8521 "description" : "Whether to use iothreads for this drive",
56122987 8522 "optional" : 1,
56122987
DM
8523 "type" : "boolean"
8524 },
44660702 8525 "mbps" : {
de0983cb 8526 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8527 "format_description" : "mbps",
8528 "optional" : 1,
8529 "type" : "number"
8530 },
8531 "mbps_max" : {
de0983cb 8532 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8533 "format_description" : "mbps",
8534 "optional" : 1,
8535 "type" : "number"
8536 },
8537 "mbps_rd" : {
de0983cb 8538 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8539 "format_description" : "mbps",
8540 "optional" : 1,
8541 "type" : "number"
8542 },
8543 "mbps_rd_max" : {
de0983cb 8544 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8545 "format_description" : "mbps",
8546 "optional" : 1,
8547 "type" : "number"
8548 },
8549 "mbps_wr" : {
de0983cb 8550 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8551 "format_description" : "mbps",
8552 "optional" : 1,
8553 "type" : "number"
8554 },
8555 "mbps_wr_max" : {
de0983cb 8556 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8557 "format_description" : "mbps",
8558 "optional" : 1,
8559 "type" : "number"
8560 },
7aacca6f 8561 "media" : {
44660702
DM
8562 "default" : "disk",
8563 "description" : "The drive's media type.",
7aacca6f
DM
8564 "enum" : [
8565 "cdrom",
8566 "disk"
8567 ],
56122987 8568 "optional" : 1,
44660702
DM
8569 "type" : "string"
8570 },
8571 "queues" : {
8572 "description" : "Number of queues.",
44660702
DM
8573 "minimum" : 2,
8574 "optional" : 1,
8575 "type" : "integer"
8576 },
5d9c884c
DM
8577 "replicate" : {
8578 "default" : 1,
8579 "description" : "Whether the drive should considered for replication jobs.",
8580 "optional" : 1,
8581 "type" : "boolean"
8582 },
8583 "rerror" : {
8584 "description" : "Read error action.",
8585 "enum" : [
8586 "ignore",
8587 "report",
8588 "stop"
8589 ],
8590 "optional" : 1,
8591 "type" : "string"
8592 },
52e44c50
FG
8593 "scsiblock" : {
8594 "default" : 0,
8595 "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",
8596 "optional" : 1,
8597 "type" : "boolean"
8598 },
44660702
DM
8599 "secs" : {
8600 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8601 "optional" : 1,
8602 "type" : "integer"
8603 },
8604 "serial" : {
8605 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8606 "format" : "urlencoded",
8607 "format_description" : "serial",
8608 "maxLength" : 60,
8609 "optional" : 1,
8610 "type" : "string"
8611 },
27a7acb2
DM
8612 "shared" : {
8613 "default" : 0,
8614 "description" : "Mark this locally-managed volume as available on all nodes",
8615 "optional" : 1,
8616 "type" : "boolean",
8617 "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!"
8618 },
44660702
DM
8619 "size" : {
8620 "description" : "Disk size. This is purely informational and has no effect.",
8621 "format" : "disk-size",
f004f5b9 8622 "format_description" : "DiskSize",
44660702
DM
8623 "optional" : 1,
8624 "type" : "string"
56122987 8625 },
7aacca6f 8626 "snapshot" : {
27a7acb2 8627 "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 8628 "optional" : 1,
44660702 8629 "type" : "boolean"
7aacca6f 8630 },
44660702
DM
8631 "trans" : {
8632 "description" : "Force disk geometry bios translation mode.",
8633 "enum" : [
8634 "none",
8635 "lba",
8636 "auto"
8637 ],
44660702
DM
8638 "optional" : 1,
8639 "type" : "string"
8640 },
8641 "volume" : {
8642 "alias" : "file"
8643 },
8644 "werror" : {
8645 "description" : "Write error action.",
8646 "enum" : [
8647 "enospc",
8648 "ignore",
8649 "report",
8650 "stop"
8651 ],
56122987 8652 "optional" : 1,
44660702 8653 "type" : "string"
56122987 8654 }
44660702 8655 },
7aacca6f 8656 "optional" : 1,
4bd7df8b 8657 "type" : "string",
27a7acb2 8658 "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
8659 },
8660 "scsihw" : {
8661 "default" : "lsi",
c2993fe5 8662 "description" : "SCSI controller model",
7aacca6f 8663 "enum" : [
44660702
DM
8664 "lsi",
8665 "lsi53c810",
8666 "virtio-scsi-pci",
8667 "virtio-scsi-single",
8668 "megasas",
8669 "pvscsi"
7aacca6f 8670 ],
44660702
DM
8671 "optional" : 1,
8672 "type" : "string"
56122987 8673 },
27a7acb2
DM
8674 "searchdomain" : {
8675 "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.",
8676 "optional" : 1,
8677 "type" : "string",
8678 "typetext" : "<string>"
8679 },
44660702 8680 "serial[n]" : {
c2993fe5 8681 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 8682 "optional" : 1,
44660702 8683 "pattern" : "(/dev/.+|socket)",
c2993fe5 8684 "type" : "string",
57b78691 8685 "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 8686 },
44660702
DM
8687 "shares" : {
8688 "default" : 1000,
8689 "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",
8690 "maximum" : 50000,
8691 "minimum" : 0,
56122987 8692 "optional" : 1,
4bd7df8b 8693 "type" : "integer",
013dc89f 8694 "typetext" : "<integer> (0 - 50000)"
56122987 8695 },
44660702
DM
8696 "skiplock" : {
8697 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 8698 "optional" : 1,
013dc89f
DM
8699 "type" : "boolean",
8700 "typetext" : "<boolean>"
56122987 8701 },
44660702
DM
8702 "smbios1" : {
8703 "description" : "Specify SMBIOS type 1 fields.",
8704 "format" : "pve-qm-smbios1",
8705 "maxLength" : 256,
56122987 8706 "optional" : 1,
4bd7df8b
DM
8707 "type" : "string",
8708 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 8709 },
44660702
DM
8710 "smp" : {
8711 "default" : 1,
8712 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 8713 "minimum" : 1,
7aacca6f 8714 "optional" : 1,
4bd7df8b 8715 "type" : "integer",
013dc89f 8716 "typetext" : "<integer> (1 - N)"
7aacca6f 8717 },
44660702
DM
8718 "sockets" : {
8719 "default" : 1,
8720 "description" : "The number of CPU sockets.",
8721 "minimum" : 1,
7aacca6f 8722 "optional" : 1,
4bd7df8b 8723 "type" : "integer",
013dc89f 8724 "typetext" : "<integer> (1 - N)"
56122987 8725 },
27a7acb2
DM
8726 "sshkeys" : {
8727 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
8728 "format" : "urlencoded",
8729 "optional" : 1,
8730 "type" : "string",
8731 "typetext" : "<string>"
8732 },
44660702
DM
8733 "startdate" : {
8734 "default" : "now",
8735 "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 8736 "optional" : 1,
44660702 8737 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 8738 "type" : "string",
44660702 8739 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 8740 },
7aacca6f 8741 "startup" : {
7aacca6f 8742 "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 8743 "format" : "pve-startup-order",
56122987 8744 "optional" : 1,
44660702
DM
8745 "type" : "string",
8746 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 8747 },
44660702 8748 "tablet" : {
7aacca6f 8749 "default" : 1,
c2993fe5 8750 "description" : "Enable/disable the USB tablet device.",
7aacca6f 8751 "optional" : 1,
c2993fe5 8752 "type" : "boolean",
013dc89f 8753 "typetext" : "<boolean>",
c2993fe5 8754 "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 8755 },
44660702
DM
8756 "tdf" : {
8757 "default" : 0,
8758 "description" : "Enable/disable time drift fix.",
7aacca6f 8759 "optional" : 1,
013dc89f
DM
8760 "type" : "boolean",
8761 "typetext" : "<boolean>"
7aacca6f 8762 },
44660702
DM
8763 "template" : {
8764 "default" : 0,
8765 "description" : "Enable/disable Template.",
7aacca6f 8766 "optional" : 1,
013dc89f
DM
8767 "type" : "boolean",
8768 "typetext" : "<boolean>"
7aacca6f 8769 },
44660702 8770 "unused[n]" : {
c2993fe5 8771 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 8772 "format" : "pve-volume-id",
7aacca6f 8773 "optional" : 1,
013dc89f
DM
8774 "type" : "string",
8775 "typetext" : "<string>"
7aacca6f 8776 },
44660702 8777 "usb[n]" : {
c2993fe5 8778 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
8779 "format" : {
8780 "host" : {
8781 "default_key" : 1,
c2993fe5 8782 "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
8783 "format" : "pve-qm-usb-device",
8784 "format_description" : "HOSTUSBDEVICE|spice",
8785 "type" : "string"
8786 },
8787 "usb3" : {
c2993fe5
DM
8788 "default" : 0,
8789 "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
8790 "optional" : 1,
8791 "type" : "boolean"
8792 }
8793 },
7aacca6f 8794 "optional" : 1,
4bd7df8b
DM
8795 "type" : "string",
8796 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 8797 },
44660702
DM
8798 "vcpus" : {
8799 "default" : 0,
8800 "description" : "Number of hotplugged vcpus.",
8801 "minimum" : 1,
56122987 8802 "optional" : 1,
4bd7df8b 8803 "type" : "integer",
013dc89f 8804 "typetext" : "<integer> (1 - N)"
56122987 8805 },
44660702 8806 "vga" : {
c2993fe5 8807 "description" : "Select the VGA type.",
44660702
DM
8808 "enum" : [
8809 "std",
8810 "cirrus",
8811 "vmware",
8812 "qxl",
8813 "serial0",
8814 "serial1",
8815 "serial2",
8816 "serial3",
8817 "qxl2",
8818 "qxl3",
8819 "qxl4"
8820 ],
56122987 8821 "optional" : 1,
c2993fe5
DM
8822 "type" : "string",
8823 "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 8824 },
44660702
DM
8825 "virtio[n]" : {
8826 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 8827 "format" : {
44660702
DM
8828 "aio" : {
8829 "description" : "AIO type to use.",
56122987 8830 "enum" : [
44660702
DM
8831 "native",
8832 "threads"
56122987 8833 ],
56122987
DM
8834 "optional" : 1,
8835 "type" : "string"
8836 },
44660702
DM
8837 "backup" : {
8838 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8839 "optional" : 1,
8840 "type" : "boolean"
7aacca6f 8841 },
44660702 8842 "bps" : {
de0983cb 8843 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
8844 "format_description" : "bps",
8845 "optional" : 1,
8846 "type" : "integer"
56122987 8847 },
de0983cb
DM
8848 "bps_max_length" : {
8849 "description" : "Maximum length of I/O bursts in seconds.",
8850 "format_description" : "seconds",
8851 "minimum" : 1,
8852 "optional" : 1,
8853 "type" : "integer"
8854 },
44660702 8855 "bps_rd" : {
de0983cb 8856 "description" : "Maximum read speed in bytes per second.",
44660702 8857 "format_description" : "bps",
56122987 8858 "optional" : 1,
44660702 8859 "type" : "integer"
56122987 8860 },
de0983cb 8861 "bps_rd_length" : {
5d9c884c
DM
8862 "alias" : "bps_rd_max_length"
8863 },
8864 "bps_rd_max_length" : {
de0983cb
DM
8865 "description" : "Maximum length of read I/O bursts in seconds.",
8866 "format_description" : "seconds",
8867 "minimum" : 1,
8868 "optional" : 1,
8869 "type" : "integer"
8870 },
44660702 8871 "bps_wr" : {
de0983cb 8872 "description" : "Maximum write speed in bytes per second.",
44660702 8873 "format_description" : "bps",
56122987 8874 "optional" : 1,
44660702
DM
8875 "type" : "integer"
8876 },
de0983cb 8877 "bps_wr_length" : {
5d9c884c
DM
8878 "alias" : "bps_wr_max_length"
8879 },
8880 "bps_wr_max_length" : {
de0983cb
DM
8881 "description" : "Maximum length of write I/O bursts in seconds.",
8882 "format_description" : "seconds",
8883 "minimum" : 1,
8884 "optional" : 1,
8885 "type" : "integer"
8886 },
44660702
DM
8887 "cache" : {
8888 "description" : "The drive's cache mode",
56122987 8889 "enum" : [
44660702
DM
8890 "none",
8891 "writethrough",
8892 "writeback",
8893 "unsafe",
8894 "directsync"
56122987 8895 ],
56122987 8896 "optional" : 1,
44660702 8897 "type" : "string"
56122987 8898 },
44660702
DM
8899 "cyls" : {
8900 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 8901 "optional" : 1,
44660702 8902 "type" : "integer"
7aacca6f 8903 },
44660702
DM
8904 "detect_zeroes" : {
8905 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8906 "optional" : 1,
8907 "type" : "boolean"
7aacca6f 8908 },
44660702
DM
8909 "discard" : {
8910 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8911 "enum" : [
8912 "ignore",
8913 "on"
8914 ],
56122987 8915 "optional" : 1,
44660702 8916 "type" : "string"
56122987
DM
8917 },
8918 "file" : {
7aacca6f 8919 "default_key" : 1,
44660702 8920 "description" : "The drive's backing volume.",
7aacca6f 8921 "format" : "pve-volume-id-or-qm-path",
44660702
DM
8922 "format_description" : "volume",
8923 "type" : "string"
7aacca6f
DM
8924 },
8925 "format" : {
7aacca6f
DM
8926 "description" : "The drive's backing file's data format.",
8927 "enum" : [
8928 "raw",
8929 "cow",
8930 "qcow",
8931 "qed",
8932 "qcow2",
8933 "vmdk",
8934 "cloop"
56122987
DM
8935 ],
8936 "optional" : 1,
56122987
DM
8937 "type" : "string"
8938 },
44660702
DM
8939 "heads" : {
8940 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8941 "optional" : 1,
44660702 8942 "type" : "integer"
56122987 8943 },
44660702 8944 "iops" : {
de0983cb 8945 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 8946 "format_description" : "iops",
56122987 8947 "optional" : 1,
44660702 8948 "type" : "integer"
56122987 8949 },
44660702 8950 "iops_max" : {
de0983cb 8951 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8952 "format_description" : "iops",
56122987 8953 "optional" : 1,
56122987
DM
8954 "type" : "integer"
8955 },
de0983cb
DM
8956 "iops_max_length" : {
8957 "description" : "Maximum length of I/O bursts in seconds.",
8958 "format_description" : "seconds",
8959 "minimum" : 1,
8960 "optional" : 1,
8961 "type" : "integer"
8962 },
44660702 8963 "iops_rd" : {
de0983cb 8964 "description" : "Maximum read I/O in operations per second.",
44660702 8965 "format_description" : "iops",
56122987 8966 "optional" : 1,
44660702 8967 "type" : "integer"
56122987 8968 },
de0983cb 8969 "iops_rd_length" : {
5d9c884c 8970 "alias" : "iops_rd_max_length"
de0983cb 8971 },
44660702 8972 "iops_rd_max" : {
de0983cb 8973 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8974 "format_description" : "iops",
7aacca6f 8975 "optional" : 1,
44660702 8976 "type" : "integer"
56122987 8977 },
5d9c884c
DM
8978 "iops_rd_max_length" : {
8979 "description" : "Maximum length of read I/O bursts in seconds.",
8980 "format_description" : "seconds",
8981 "minimum" : 1,
8982 "optional" : 1,
8983 "type" : "integer"
8984 },
44660702 8985 "iops_wr" : {
de0983cb 8986 "description" : "Maximum write I/O in operations per second.",
44660702 8987 "format_description" : "iops",
7aacca6f 8988 "optional" : 1,
44660702 8989 "type" : "integer"
56122987 8990 },
de0983cb 8991 "iops_wr_length" : {
5d9c884c 8992 "alias" : "iops_wr_max_length"
de0983cb 8993 },
44660702 8994 "iops_wr_max" : {
de0983cb 8995 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8996 "format_description" : "iops",
56122987
DM
8997 "optional" : 1,
8998 "type" : "integer"
8999 },
5d9c884c
DM
9000 "iops_wr_max_length" : {
9001 "description" : "Maximum length of write I/O bursts in seconds.",
9002 "format_description" : "seconds",
9003 "minimum" : 1,
9004 "optional" : 1,
9005 "type" : "integer"
9006 },
44660702
DM
9007 "iothread" : {
9008 "description" : "Whether to use iothreads for this drive",
44660702
DM
9009 "optional" : 1,
9010 "type" : "boolean"
9011 },
9012 "mbps" : {
de0983cb 9013 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9014 "format_description" : "mbps",
44660702
DM
9015 "optional" : 1,
9016 "type" : "number"
9017 },
9018 "mbps_max" : {
de0983cb 9019 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
9020 "format_description" : "mbps",
9021 "optional" : 1,
9022 "type" : "number"
7aacca6f 9023 },
44660702 9024 "mbps_rd" : {
de0983cb 9025 "description" : "Maximum read speed in megabytes per second.",
44660702 9026 "format_description" : "mbps",
56122987 9027 "optional" : 1,
44660702 9028 "type" : "number"
56122987 9029 },
44660702 9030 "mbps_rd_max" : {
de0983cb 9031 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9032 "format_description" : "mbps",
7aacca6f 9033 "optional" : 1,
44660702 9034 "type" : "number"
56122987 9035 },
44660702 9036 "mbps_wr" : {
de0983cb 9037 "description" : "Maximum write speed in megabytes per second.",
44660702 9038 "format_description" : "mbps",
56122987 9039 "optional" : 1,
44660702 9040 "type" : "number"
56122987 9041 },
44660702 9042 "mbps_wr_max" : {
de0983cb 9043 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9044 "format_description" : "mbps",
56122987 9045 "optional" : 1,
44660702 9046 "type" : "number"
56122987
DM
9047 },
9048 "media" : {
7aacca6f 9049 "default" : "disk",
44660702 9050 "description" : "The drive's media type.",
56122987
DM
9051 "enum" : [
9052 "cdrom",
9053 "disk"
9054 ],
44660702
DM
9055 "optional" : 1,
9056 "type" : "string"
56122987 9057 },
5d9c884c
DM
9058 "replicate" : {
9059 "default" : 1,
9060 "description" : "Whether the drive should considered for replication jobs.",
9061 "optional" : 1,
9062 "type" : "boolean"
9063 },
7aacca6f 9064 "rerror" : {
44660702 9065 "description" : "Read error action.",
56122987 9066 "enum" : [
7aacca6f
DM
9067 "ignore",
9068 "report",
9069 "stop"
56122987 9070 ],
56122987 9071 "optional" : 1,
44660702 9072 "type" : "string"
56122987 9073 },
44660702
DM
9074 "secs" : {
9075 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9076 "optional" : 1,
9077 "type" : "integer"
9078 },
9079 "serial" : {
9080 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9081 "format" : "urlencoded",
9082 "format_description" : "serial",
9083 "maxLength" : 60,
56122987 9084 "optional" : 1,
7aacca6f 9085 "type" : "string"
56122987 9086 },
27a7acb2
DM
9087 "shared" : {
9088 "default" : 0,
9089 "description" : "Mark this locally-managed volume as available on all nodes",
9090 "optional" : 1,
9091 "type" : "boolean",
9092 "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!"
9093 },
44660702
DM
9094 "size" : {
9095 "description" : "Disk size. This is purely informational and has no effect.",
9096 "format" : "disk-size",
f004f5b9 9097 "format_description" : "DiskSize",
56122987 9098 "optional" : 1,
44660702 9099 "type" : "string"
56122987 9100 },
44660702 9101 "snapshot" : {
27a7acb2 9102 "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 9103 "optional" : 1,
44660702 9104 "type" : "boolean"
56122987 9105 },
44660702
DM
9106 "trans" : {
9107 "description" : "Force disk geometry bios translation mode.",
9108 "enum" : [
9109 "none",
9110 "lba",
9111 "auto"
9112 ],
44660702
DM
9113 "optional" : 1,
9114 "type" : "string"
9115 },
9116 "volume" : {
9117 "alias" : "file"
9118 },
9119 "werror" : {
9120 "description" : "Write error action.",
9121 "enum" : [
9122 "enospc",
9123 "ignore",
9124 "report",
9125 "stop"
9126 ],
56122987 9127 "optional" : 1,
44660702 9128 "type" : "string"
56122987 9129 }
44660702 9130 },
56122987 9131 "optional" : 1,
4bd7df8b 9132 "type" : "string",
27a7acb2 9133 "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 9134 },
7aacca6f
DM
9135 "vmid" : {
9136 "description" : "The (unique) ID of the VM.",
7aacca6f 9137 "format" : "pve-vmid",
44660702 9138 "minimum" : 1,
4bd7df8b 9139 "type" : "integer",
013dc89f 9140 "typetext" : "<integer> (1 - N)"
56122987 9141 },
2489d6df
WB
9142 "vmstatestorage" : {
9143 "description" : "Default storage for VM state volumes/files.",
9144 "format" : "pve-storage-id",
9145 "optional" : 1,
9146 "type" : "string",
9147 "typetext" : "<string>"
9148 },
44660702 9149 "watchdog" : {
c2993fe5 9150 "description" : "Create a virtual hardware watchdog device.",
44660702 9151 "format" : "pve-qm-watchdog",
56122987 9152 "optional" : 1,
c2993fe5 9153 "type" : "string",
013dc89f 9154 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9155 "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 9156 }
44660702 9157 }
56122987 9158 },
7aacca6f
DM
9159 "permissions" : {
9160 "check" : [
9161 "perm",
9162 "/vms/{vmid}",
9163 [
44660702
DM
9164 "VM.Config.Disk",
9165 "VM.Config.CDROM",
9166 "VM.Config.CPU",
9167 "VM.Config.Memory",
9168 "VM.Config.Network",
9169 "VM.Config.HWType",
9170 "VM.Config.Options"
9171 ],
9172 "any",
9173 1
7aacca6f 9174 ]
56122987 9175 },
44660702 9176 "protected" : 1,
7aacca6f 9177 "proxyto" : "node",
44660702
DM
9178 "returns" : {
9179 "optional" : 1,
9180 "type" : "string"
9181 }
56122987 9182 },
7aacca6f 9183 "PUT" : {
44660702
DM
9184 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
9185 "method" : "PUT",
9186 "name" : "update_vm",
56122987 9187 "parameters" : {
7aacca6f 9188 "additionalProperties" : 0,
56122987 9189 "properties" : {
44660702
DM
9190 "acpi" : {
9191 "default" : 1,
9192 "description" : "Enable/disable ACPI.",
7aacca6f 9193 "optional" : 1,
013dc89f
DM
9194 "type" : "boolean",
9195 "typetext" : "<boolean>"
7aacca6f 9196 },
44660702
DM
9197 "agent" : {
9198 "default" : 0,
9199 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 9200 "optional" : 1,
013dc89f
DM
9201 "type" : "boolean",
9202 "typetext" : "<boolean>"
56122987 9203 },
44660702 9204 "args" : {
c2993fe5 9205 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 9206 "optional" : 1,
c2993fe5 9207 "type" : "string",
013dc89f 9208 "typetext" : "<string>",
c2993fe5 9209 "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 9210 },
44660702
DM
9211 "autostart" : {
9212 "default" : 0,
9213 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 9214 "optional" : 1,
013dc89f
DM
9215 "type" : "boolean",
9216 "typetext" : "<boolean>"
7aacca6f 9217 },
44660702
DM
9218 "balloon" : {
9219 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
9220 "minimum" : 0,
9221 "optional" : 1,
4bd7df8b 9222 "type" : "integer",
013dc89f 9223 "typetext" : "<integer> (0 - N)"
44660702
DM
9224 },
9225 "bios" : {
9226 "default" : "seabios",
9227 "description" : "Select BIOS implementation.",
7aacca6f 9228 "enum" : [
44660702
DM
9229 "seabios",
9230 "ovmf"
7aacca6f 9231 ],
56122987 9232 "optional" : 1,
7aacca6f
DM
9233 "type" : "string"
9234 },
44660702
DM
9235 "boot" : {
9236 "default" : "cdn",
9237 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 9238 "optional" : 1,
44660702
DM
9239 "pattern" : "[acdn]{1,4}",
9240 "type" : "string"
56122987 9241 },
44660702
DM
9242 "bootdisk" : {
9243 "description" : "Enable booting from specified disk.",
9244 "format" : "pve-qm-bootdisk",
9245 "optional" : 1,
9246 "pattern" : "(ide|sata|scsi|virtio)\\d+",
9247 "type" : "string"
9248 },
9249 "cdrom" : {
9250 "description" : "This is an alias for option -ide2",
de0983cb 9251 "format" : "pve-qm-ide",
56122987 9252 "optional" : 1,
7aacca6f 9253 "type" : "string",
013dc89f 9254 "typetext" : "<volume>"
44660702 9255 },
27a7acb2
DM
9256 "cipassword" : {
9257 "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.",
9258 "optional" : 1,
9259 "type" : "string",
9260 "typetext" : "<string>"
9261 },
9262 "citype" : {
9263 "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.",
9264 "enum" : [
9265 "configdrive2",
9266 "nocloud"
9267 ],
9268 "optional" : 1,
9269 "type" : "string"
9270 },
9271 "ciuser" : {
9272 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
9273 "optional" : 1,
9274 "type" : "string",
9275 "typetext" : "<string>"
9276 },
44660702
DM
9277 "cores" : {
9278 "default" : 1,
9279 "description" : "The number of cores per socket.",
9280 "minimum" : 1,
9281 "optional" : 1,
4bd7df8b 9282 "type" : "integer",
013dc89f 9283 "typetext" : "<integer> (1 - N)"
44660702
DM
9284 },
9285 "cpu" : {
9286 "description" : "Emulated CPU type.",
9287 "format" : {
9288 "cputype" : {
9289 "default" : "kvm64",
9290 "default_key" : 1,
9291 "description" : "Emulated CPU type.",
9292 "enum" : [
9293 "486",
9294 "athlon",
f004f5b9 9295 "Broadwell",
35a75dd3 9296 "Broadwell-IBRS",
f004f5b9 9297 "Broadwell-noTSX",
35a75dd3 9298 "Broadwell-noTSX-IBRS",
f004f5b9 9299 "Conroe",
44660702 9300 "core2duo",
f004f5b9 9301 "coreduo",
27a7acb2
DM
9302 "EPYC",
9303 "EPYC-IBPB",
f004f5b9 9304 "Haswell",
35a75dd3 9305 "Haswell-IBRS",
f004f5b9 9306 "Haswell-noTSX",
35a75dd3 9307 "Haswell-noTSX-IBRS",
f004f5b9
DM
9308 "host",
9309 "IvyBridge",
35a75dd3 9310 "IvyBridge-IBRS",
44660702
DM
9311 "kvm32",
9312 "kvm64",
35a75dd3 9313 "max",
44660702 9314 "Nehalem",
35a75dd3 9315 "Nehalem-IBRS",
44660702
DM
9316 "Opteron_G1",
9317 "Opteron_G2",
9318 "Opteron_G3",
9319 "Opteron_G4",
9320 "Opteron_G5",
f004f5b9
DM
9321 "Penryn",
9322 "pentium",
9323 "pentium2",
9324 "pentium3",
9325 "phenom",
9326 "qemu32",
9327 "qemu64",
9328 "SandyBridge",
35a75dd3 9329 "SandyBridge-IBRS",
5d9c884c 9330 "Skylake-Client",
35a75dd3
DM
9331 "Skylake-Client-IBRS",
9332 "Skylake-Server",
9333 "Skylake-Server-IBRS",
9334 "Westmere",
9335 "Westmere-IBRS"
44660702 9336 ],
44660702
DM
9337 "type" : "string"
9338 },
35a75dd3
DM
9339 "flags" : {
9340 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
9341 "format_description" : "+FLAG[;-FLAG...]",
9342 "optional" : 1,
9343 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
9344 "type" : "string"
9345 },
44660702
DM
9346 "hidden" : {
9347 "default" : 0,
9348 "description" : "Do not identify as a KVM virtual machine.",
9349 "optional" : 1,
9350 "type" : "boolean"
9351 }
9352 },
9353 "optional" : 1,
4bd7df8b 9354 "type" : "string",
35a75dd3 9355 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
9356 },
9357 "cpulimit" : {
9358 "default" : 0,
c2993fe5 9359 "description" : "Limit of CPU usage.",
44660702
DM
9360 "maximum" : 128,
9361 "minimum" : 0,
9362 "optional" : 1,
c2993fe5 9363 "type" : "number",
013dc89f 9364 "typetext" : "<number> (0 - 128)",
c2993fe5 9365 "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
9366 },
9367 "cpuunits" : {
de0983cb 9368 "default" : 1024,
c2993fe5 9369 "description" : "CPU weight for a VM.",
2489d6df
WB
9370 "maximum" : 262144,
9371 "minimum" : 2,
44660702 9372 "optional" : 1,
c2993fe5 9373 "type" : "integer",
2489d6df
WB
9374 "typetext" : "<integer> (2 - 262144)",
9375 "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
9376 },
9377 "delete" : {
9378 "description" : "A list of settings you want to delete.",
9379 "format" : "pve-configid-list",
9380 "optional" : 1,
013dc89f
DM
9381 "type" : "string",
9382 "typetext" : "<string>"
44660702
DM
9383 },
9384 "description" : {
9385 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
9386 "optional" : 1,
013dc89f
DM
9387 "type" : "string",
9388 "typetext" : "<string>"
44660702
DM
9389 },
9390 "digest" : {
9391 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9392 "maxLength" : 40,
9393 "optional" : 1,
013dc89f
DM
9394 "type" : "string",
9395 "typetext" : "<string>"
44660702
DM
9396 },
9397 "force" : {
9398 "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.",
9399 "optional" : 1,
9400 "requires" : "delete",
013dc89f
DM
9401 "type" : "boolean",
9402 "typetext" : "<boolean>"
44660702
DM
9403 },
9404 "freeze" : {
9405 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
9406 "optional" : 1,
013dc89f
DM
9407 "type" : "boolean",
9408 "typetext" : "<boolean>"
44660702
DM
9409 },
9410 "hostpci[n]" : {
c2993fe5 9411 "description" : "Map host PCI devices into guest.",
44660702
DM
9412 "format" : "pve-qm-hostpci",
9413 "optional" : 1,
57b78691 9414 "type" : "string",
52e44c50 9415 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 9416 "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 9417 },
7aacca6f 9418 "hotplug" : {
7aacca6f 9419 "default" : "network,disk,usb",
44660702
DM
9420 "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'.",
9421 "format" : "pve-hotplug-features",
56122987 9422 "optional" : 1,
013dc89f
DM
9423 "type" : "string",
9424 "typetext" : "<string>"
56122987 9425 },
4bd7df8b
DM
9426 "hugepages" : {
9427 "description" : "Enable/disable hugepages memory.",
9428 "enum" : [
9429 "any",
9430 "2",
9431 "1024"
9432 ],
9433 "optional" : 1,
9434 "type" : "string"
9435 },
56122987 9436 "ide[n]" : {
7aacca6f 9437 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 9438 "format" : {
44660702
DM
9439 "aio" : {
9440 "description" : "AIO type to use.",
9441 "enum" : [
9442 "native",
9443 "threads"
9444 ],
56122987 9445 "optional" : 1,
44660702 9446 "type" : "string"
56122987 9447 },
44660702
DM
9448 "backup" : {
9449 "description" : "Whether the drive should be included when making backups.",
44660702
DM
9450 "optional" : 1,
9451 "type" : "boolean"
9452 },
9453 "bps" : {
de0983cb 9454 "description" : "Maximum r/w speed in bytes per second.",
44660702 9455 "format_description" : "bps",
56122987 9456 "optional" : 1,
44660702 9457 "type" : "integer"
56122987 9458 },
de0983cb
DM
9459 "bps_max_length" : {
9460 "description" : "Maximum length of I/O bursts in seconds.",
9461 "format_description" : "seconds",
9462 "minimum" : 1,
9463 "optional" : 1,
9464 "type" : "integer"
9465 },
44660702 9466 "bps_rd" : {
de0983cb 9467 "description" : "Maximum read speed in bytes per second.",
44660702 9468 "format_description" : "bps",
56122987 9469 "optional" : 1,
44660702 9470 "type" : "integer"
56122987 9471 },
de0983cb 9472 "bps_rd_length" : {
5d9c884c
DM
9473 "alias" : "bps_rd_max_length"
9474 },
9475 "bps_rd_max_length" : {
de0983cb
DM
9476 "description" : "Maximum length of read I/O bursts in seconds.",
9477 "format_description" : "seconds",
9478 "minimum" : 1,
9479 "optional" : 1,
9480 "type" : "integer"
9481 },
7aacca6f 9482 "bps_wr" : {
de0983cb 9483 "description" : "Maximum write speed in bytes per second.",
44660702
DM
9484 "format_description" : "bps",
9485 "optional" : 1,
9486 "type" : "integer"
7aacca6f 9487 },
de0983cb 9488 "bps_wr_length" : {
5d9c884c
DM
9489 "alias" : "bps_wr_max_length"
9490 },
9491 "bps_wr_max_length" : {
de0983cb
DM
9492 "description" : "Maximum length of write I/O bursts in seconds.",
9493 "format_description" : "seconds",
9494 "minimum" : 1,
9495 "optional" : 1,
9496 "type" : "integer"
9497 },
44660702
DM
9498 "cache" : {
9499 "description" : "The drive's cache mode",
9500 "enum" : [
9501 "none",
9502 "writethrough",
9503 "writeback",
9504 "unsafe",
9505 "directsync"
9506 ],
56122987 9507 "optional" : 1,
44660702
DM
9508 "type" : "string"
9509 },
9510 "cyls" : {
9511 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9512 "optional" : 1,
9513 "type" : "integer"
9514 },
9515 "detect_zeroes" : {
9516 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9517 "optional" : 1,
9518 "type" : "boolean"
56122987 9519 },
7aacca6f 9520 "discard" : {
7aacca6f 9521 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 9522 "enum" : [
7aacca6f
DM
9523 "ignore",
9524 "on"
56122987
DM
9525 ],
9526 "optional" : 1,
44660702 9527 "type" : "string"
7aacca6f 9528 },
44660702
DM
9529 "file" : {
9530 "default_key" : 1,
9531 "description" : "The drive's backing volume.",
9532 "format" : "pve-volume-id-or-qm-path",
9533 "format_description" : "volume",
9534 "type" : "string"
7aacca6f
DM
9535 },
9536 "format" : {
44660702 9537 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9538 "enum" : [
9539 "raw",
9540 "cow",
9541 "qcow",
9542 "qed",
9543 "qcow2",
9544 "vmdk",
9545 "cloop"
9546 ],
7aacca6f 9547 "optional" : 1,
44660702 9548 "type" : "string"
56122987 9549 },
7aacca6f 9550 "heads" : {
44660702 9551 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9552 "optional" : 1,
44660702 9553 "type" : "integer"
7aacca6f 9554 },
44660702 9555 "iops" : {
de0983cb 9556 "description" : "Maximum r/w I/O in operations per second.",
44660702 9557 "format_description" : "iops",
7aacca6f 9558 "optional" : 1,
44660702 9559 "type" : "integer"
56122987 9560 },
44660702 9561 "iops_max" : {
de0983cb 9562 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 9563 "format_description" : "iops",
56122987 9564 "optional" : 1,
44660702 9565 "type" : "integer"
56122987 9566 },
de0983cb
DM
9567 "iops_max_length" : {
9568 "description" : "Maximum length of I/O bursts in seconds.",
9569 "format_description" : "seconds",
9570 "minimum" : 1,
9571 "optional" : 1,
9572 "type" : "integer"
9573 },
44660702 9574 "iops_rd" : {
de0983cb 9575 "description" : "Maximum read I/O in operations per second.",
44660702 9576 "format_description" : "iops",
56122987 9577 "optional" : 1,
44660702 9578 "type" : "integer"
7aacca6f 9579 },
de0983cb 9580 "iops_rd_length" : {
5d9c884c 9581 "alias" : "iops_rd_max_length"
de0983cb 9582 },
44660702 9583 "iops_rd_max" : {
de0983cb 9584 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9585 "format_description" : "iops",
7aacca6f 9586 "optional" : 1,
44660702 9587 "type" : "integer"
7aacca6f 9588 },
5d9c884c
DM
9589 "iops_rd_max_length" : {
9590 "description" : "Maximum length of read I/O bursts in seconds.",
9591 "format_description" : "seconds",
9592 "minimum" : 1,
9593 "optional" : 1,
9594 "type" : "integer"
9595 },
44660702 9596 "iops_wr" : {
de0983cb 9597 "description" : "Maximum write I/O in operations per second.",
44660702 9598 "format_description" : "iops",
7aacca6f 9599 "optional" : 1,
44660702 9600 "type" : "integer"
56122987 9601 },
de0983cb 9602 "iops_wr_length" : {
5d9c884c 9603 "alias" : "iops_wr_max_length"
de0983cb 9604 },
44660702 9605 "iops_wr_max" : {
de0983cb 9606 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 9607 "format_description" : "iops",
7aacca6f 9608 "optional" : 1,
44660702 9609 "type" : "integer"
7aacca6f 9610 },
5d9c884c
DM
9611 "iops_wr_max_length" : {
9612 "description" : "Maximum length of write I/O bursts in seconds.",
9613 "format_description" : "seconds",
9614 "minimum" : 1,
9615 "optional" : 1,
9616 "type" : "integer"
9617 },
7aacca6f 9618 "mbps" : {
de0983cb 9619 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 9620 "format_description" : "mbps",
7aacca6f 9621 "optional" : 1,
44660702 9622 "type" : "number"
7aacca6f 9623 },
44660702 9624 "mbps_max" : {
de0983cb 9625 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9626 "format_description" : "mbps",
7aacca6f 9627 "optional" : 1,
44660702 9628 "type" : "number"
7aacca6f 9629 },
44660702 9630 "mbps_rd" : {
de0983cb 9631 "description" : "Maximum read speed in megabytes per second.",
44660702 9632 "format_description" : "mbps",
7aacca6f 9633 "optional" : 1,
44660702 9634 "type" : "number"
7aacca6f 9635 },
44660702 9636 "mbps_rd_max" : {
de0983cb 9637 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9638 "format_description" : "mbps",
9639 "optional" : 1,
9640 "type" : "number"
7aacca6f 9641 },
44660702 9642 "mbps_wr" : {
de0983cb 9643 "description" : "Maximum write speed in megabytes per second.",
44660702 9644 "format_description" : "mbps",
7aacca6f 9645 "optional" : 1,
44660702
DM
9646 "type" : "number"
9647 },
9648 "mbps_wr_max" : {
de0983cb 9649 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9650 "format_description" : "mbps",
9651 "optional" : 1,
9652 "type" : "number"
9653 },
9654 "media" : {
9655 "default" : "disk",
9656 "description" : "The drive's media type.",
56122987 9657 "enum" : [
44660702
DM
9658 "cdrom",
9659 "disk"
56122987 9660 ],
44660702
DM
9661 "optional" : 1,
9662 "type" : "string"
56122987 9663 },
7aacca6f 9664 "model" : {
44660702 9665 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 9666 "format" : "urlencoded",
7aacca6f 9667 "format_description" : "model",
44660702 9668 "maxLength" : 120,
56122987 9669 "optional" : 1,
44660702 9670 "type" : "string"
56122987 9671 },
5d9c884c
DM
9672 "replicate" : {
9673 "default" : 1,
9674 "description" : "Whether the drive should considered for replication jobs.",
9675 "optional" : 1,
9676 "type" : "boolean"
9677 },
44660702
DM
9678 "rerror" : {
9679 "description" : "Read error action.",
9680 "enum" : [
9681 "ignore",
9682 "report",
9683 "stop"
9684 ],
56122987 9685 "optional" : 1,
44660702 9686 "type" : "string"
56122987 9687 },
44660702
DM
9688 "secs" : {
9689 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
9690 "optional" : 1,
9691 "type" : "integer"
56122987 9692 },
44660702
DM
9693 "serial" : {
9694 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9695 "format" : "urlencoded",
9696 "format_description" : "serial",
9697 "maxLength" : 60,
56122987 9698 "optional" : 1,
44660702 9699 "type" : "string"
56122987 9700 },
27a7acb2
DM
9701 "shared" : {
9702 "default" : 0,
9703 "description" : "Mark this locally-managed volume as available on all nodes",
9704 "optional" : 1,
9705 "type" : "boolean",
9706 "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!"
9707 },
44660702
DM
9708 "size" : {
9709 "description" : "Disk size. This is purely informational and has no effect.",
9710 "format" : "disk-size",
f004f5b9 9711 "format_description" : "DiskSize",
56122987 9712 "optional" : 1,
44660702 9713 "type" : "string"
56122987 9714 },
44660702 9715 "snapshot" : {
27a7acb2 9716 "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 9717 "optional" : 1,
44660702 9718 "type" : "boolean"
56122987 9719 },
44660702
DM
9720 "trans" : {
9721 "description" : "Force disk geometry bios translation mode.",
9722 "enum" : [
9723 "none",
9724 "lba",
9725 "auto"
9726 ],
56122987 9727 "optional" : 1,
44660702
DM
9728 "type" : "string"
9729 },
9730 "volume" : {
9731 "alias" : "file"
56122987 9732 },
7aacca6f 9733 "werror" : {
44660702 9734 "description" : "Write error action.",
7aacca6f
DM
9735 "enum" : [
9736 "enospc",
9737 "ignore",
9738 "report",
9739 "stop"
9740 ],
56122987 9741 "optional" : 1,
44660702 9742 "type" : "string"
7aacca6f 9743 }
44660702
DM
9744 },
9745 "optional" : 1,
4bd7df8b 9746 "type" : "string",
27a7acb2
DM
9747 "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>]"
9748 },
9749 "ipconfig[n]" : {
9750 "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",
9751 "format" : "pve-qm-ipconfig",
9752 "optional" : 1,
9753 "type" : "string",
9754 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 9755 },
44660702 9756 "keyboard" : {
35a75dd3
DM
9757 "default" : null,
9758 "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
9759 "enum" : [
9760 "de",
9761 "de-ch",
9762 "da",
9763 "en-gb",
9764 "en-us",
9765 "es",
9766 "fi",
9767 "fr",
9768 "fr-be",
9769 "fr-ca",
9770 "fr-ch",
9771 "hu",
9772 "is",
9773 "it",
9774 "ja",
9775 "lt",
9776 "mk",
9777 "nl",
9778 "no",
9779 "pl",
9780 "pt",
9781 "pt-br",
9782 "sv",
9783 "sl",
9784 "tr"
9785 ],
7aacca6f 9786 "optional" : 1,
44660702 9787 "type" : "string"
7aacca6f 9788 },
44660702 9789 "kvm" : {
7aacca6f 9790 "default" : 1,
44660702 9791 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 9792 "optional" : 1,
013dc89f
DM
9793 "type" : "boolean",
9794 "typetext" : "<boolean>"
7aacca6f 9795 },
44660702
DM
9796 "localtime" : {
9797 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 9798 "optional" : 1,
013dc89f
DM
9799 "type" : "boolean",
9800 "typetext" : "<boolean>"
7aacca6f 9801 },
44660702
DM
9802 "lock" : {
9803 "description" : "Lock/unlock the VM.",
9804 "enum" : [
9805 "migrate",
9806 "backup",
9807 "snapshot",
9808 "rollback"
9809 ],
7aacca6f 9810 "optional" : 1,
44660702 9811 "type" : "string"
7aacca6f 9812 },
44660702
DM
9813 "machine" : {
9814 "description" : "Specific the Qemu machine type.",
9815 "maxLength" : 40,
7aacca6f 9816 "optional" : 1,
44660702
DM
9817 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
9818 "type" : "string"
7aacca6f 9819 },
44660702
DM
9820 "memory" : {
9821 "default" : 512,
9822 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
9823 "minimum" : 16,
7aacca6f 9824 "optional" : 1,
4bd7df8b 9825 "type" : "integer",
013dc89f 9826 "typetext" : "<integer> (16 - N)"
7aacca6f 9827 },
44660702
DM
9828 "migrate_downtime" : {
9829 "default" : 0.1,
9830 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
9831 "minimum" : 0,
7aacca6f 9832 "optional" : 1,
4bd7df8b 9833 "type" : "number",
013dc89f 9834 "typetext" : "<number> (0 - N)"
7aacca6f 9835 },
44660702 9836 "migrate_speed" : {
7aacca6f 9837 "default" : 0,
44660702
DM
9838 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
9839 "minimum" : 0,
9840 "optional" : 1,
4bd7df8b 9841 "type" : "integer",
013dc89f 9842 "typetext" : "<integer> (0 - N)"
7aacca6f 9843 },
44660702
DM
9844 "name" : {
9845 "description" : "Set a name for the VM. Only used on the configuration web interface.",
9846 "format" : "dns-name",
7aacca6f 9847 "optional" : 1,
013dc89f
DM
9848 "type" : "string",
9849 "typetext" : "<string>"
7aacca6f 9850 },
27a7acb2
DM
9851 "nameserver" : {
9852 "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.",
9853 "format" : "address-list",
9854 "optional" : 1,
9855 "type" : "string",
9856 "typetext" : "<string>"
9857 },
44660702 9858 "net[n]" : {
c2993fe5 9859 "description" : "Specify network devices.",
f004f5b9
DM
9860 "format" : {
9861 "bridge" : {
c2993fe5 9862 "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
9863 "format_description" : "bridge",
9864 "optional" : 1,
9865 "type" : "string"
9866 },
9867 "e1000" : {
9868 "alias" : "macaddr",
9869 "keyAlias" : "model"
9870 },
9871 "e1000-82540em" : {
9872 "alias" : "macaddr",
9873 "keyAlias" : "model"
9874 },
9875 "e1000-82544gc" : {
9876 "alias" : "macaddr",
9877 "keyAlias" : "model"
9878 },
9879 "e1000-82545em" : {
9880 "alias" : "macaddr",
9881 "keyAlias" : "model"
9882 },
9883 "firewall" : {
9884 "description" : "Whether this interface should be protected by the firewall.",
9885 "optional" : 1,
9886 "type" : "boolean"
9887 },
9888 "i82551" : {
9889 "alias" : "macaddr",
9890 "keyAlias" : "model"
9891 },
9892 "i82557b" : {
9893 "alias" : "macaddr",
9894 "keyAlias" : "model"
9895 },
9896 "i82559er" : {
9897 "alias" : "macaddr",
9898 "keyAlias" : "model"
9899 },
9900 "link_down" : {
c2993fe5 9901 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
9902 "optional" : 1,
9903 "type" : "boolean"
9904 },
9905 "macaddr" : {
c2993fe5 9906 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 9907 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
9908 "optional" : 1,
9909 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
9910 "type" : "string"
9911 },
9912 "model" : {
9913 "default_key" : 1,
c2993fe5 9914 "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
9915 "enum" : [
9916 "rtl8139",
9917 "ne2k_pci",
9918 "e1000",
9919 "pcnet",
9920 "virtio",
9921 "ne2k_isa",
9922 "i82551",
9923 "i82557b",
9924 "i82559er",
9925 "vmxnet3",
9926 "e1000-82540em",
9927 "e1000-82544gc",
9928 "e1000-82545em"
9929 ],
f004f5b9
DM
9930 "type" : "string"
9931 },
9932 "ne2k_isa" : {
9933 "alias" : "macaddr",
9934 "keyAlias" : "model"
9935 },
9936 "ne2k_pci" : {
9937 "alias" : "macaddr",
9938 "keyAlias" : "model"
9939 },
9940 "pcnet" : {
9941 "alias" : "macaddr",
9942 "keyAlias" : "model"
9943 },
9944 "queues" : {
9945 "description" : "Number of packet queues to be used on the device.",
9946 "maximum" : 16,
9947 "minimum" : 0,
9948 "optional" : 1,
9949 "type" : "integer"
9950 },
9951 "rate" : {
c2993fe5 9952 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
9953 "minimum" : 0,
9954 "optional" : 1,
9955 "type" : "number"
9956 },
9957 "rtl8139" : {
9958 "alias" : "macaddr",
9959 "keyAlias" : "model"
9960 },
9961 "tag" : {
9962 "description" : "VLAN tag to apply to packets on this interface.",
9963 "maximum" : 4094,
c2993fe5 9964 "minimum" : 1,
f004f5b9
DM
9965 "optional" : 1,
9966 "type" : "integer"
9967 },
9968 "trunks" : {
9969 "description" : "VLAN trunks to pass through this interface.",
9970 "format_description" : "vlanid[;vlanid...]",
9971 "optional" : 1,
9972 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
9973 "type" : "string"
9974 },
9975 "virtio" : {
9976 "alias" : "macaddr",
9977 "keyAlias" : "model"
9978 },
9979 "vmxnet3" : {
9980 "alias" : "macaddr",
9981 "keyAlias" : "model"
9982 }
9983 },
7aacca6f 9984 "optional" : 1,
4bd7df8b 9985 "type" : "string",
013dc89f 9986 "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 9987 },
44660702
DM
9988 "node" : {
9989 "description" : "The cluster node name.",
9990 "format" : "pve-node",
013dc89f
DM
9991 "type" : "string",
9992 "typetext" : "<string>"
44660702
DM
9993 },
9994 "numa" : {
9995 "default" : 0,
9996 "description" : "Enable/disable NUMA.",
7aacca6f 9997 "optional" : 1,
013dc89f
DM
9998 "type" : "boolean",
9999 "typetext" : "<boolean>"
7aacca6f 10000 },
44660702 10001 "numa[n]" : {
c2993fe5 10002 "description" : "NUMA topology.",
44660702
DM
10003 "format" : {
10004 "cpus" : {
c2993fe5 10005 "description" : "CPUs accessing this NUMA node.",
44660702
DM
10006 "format_description" : "id[-id];...",
10007 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10008 "type" : "string"
10009 },
10010 "hostnodes" : {
c2993fe5 10011 "description" : "Host NUMA nodes to use.",
44660702
DM
10012 "format_description" : "id[-id];...",
10013 "optional" : 1,
10014 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
10015 "type" : "string"
10016 },
10017 "memory" : {
c2993fe5 10018 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
10019 "optional" : 1,
10020 "type" : "number"
10021 },
10022 "policy" : {
c2993fe5 10023 "description" : "NUMA allocation policy.",
44660702
DM
10024 "enum" : [
10025 "preferred",
10026 "bind",
10027 "interleave"
10028 ],
44660702
DM
10029 "optional" : 1,
10030 "type" : "string"
10031 }
10032 },
7aacca6f 10033 "optional" : 1,
4bd7df8b
DM
10034 "type" : "string",
10035 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 10036 },
44660702
DM
10037 "onboot" : {
10038 "default" : 0,
10039 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 10040 "optional" : 1,
013dc89f
DM
10041 "type" : "boolean",
10042 "typetext" : "<boolean>"
7aacca6f 10043 },
44660702 10044 "ostype" : {
c2993fe5 10045 "description" : "Specify guest operating system.",
44660702
DM
10046 "enum" : [
10047 "other",
10048 "wxp",
10049 "w2k",
10050 "w2k3",
10051 "w2k8",
10052 "wvista",
10053 "win7",
10054 "win8",
32d876b5 10055 "win10",
44660702
DM
10056 "l24",
10057 "l26",
10058 "solaris"
10059 ],
7aacca6f 10060 "optional" : 1,
c2993fe5 10061 "type" : "string",
35a75dd3 10062 "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 10063 },
44660702 10064 "parallel[n]" : {
c2993fe5 10065 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 10066 "optional" : 1,
44660702 10067 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
10068 "type" : "string",
10069 "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 10070 },
44660702
DM
10071 "protection" : {
10072 "default" : 0,
c2993fe5 10073 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 10074 "optional" : 1,
013dc89f
DM
10075 "type" : "boolean",
10076 "typetext" : "<boolean>"
7aacca6f 10077 },
44660702
DM
10078 "reboot" : {
10079 "default" : 1,
10080 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 10081 "optional" : 1,
013dc89f
DM
10082 "type" : "boolean",
10083 "typetext" : "<boolean>"
7aacca6f 10084 },
44660702
DM
10085 "revert" : {
10086 "description" : "Revert a pending change.",
10087 "format" : "pve-configid-list",
7aacca6f 10088 "optional" : 1,
013dc89f
DM
10089 "type" : "string",
10090 "typetext" : "<string>"
7aacca6f 10091 },
44660702
DM
10092 "sata[n]" : {
10093 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 10094 "format" : {
44660702
DM
10095 "aio" : {
10096 "description" : "AIO type to use.",
10097 "enum" : [
10098 "native",
10099 "threads"
10100 ],
44660702
DM
10101 "optional" : 1,
10102 "type" : "string"
10103 },
10104 "backup" : {
10105 "description" : "Whether the drive should be included when making backups.",
44660702
DM
10106 "optional" : 1,
10107 "type" : "boolean"
10108 },
10109 "bps" : {
de0983cb 10110 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 10111 "format_description" : "bps",
7aacca6f
DM
10112 "optional" : 1,
10113 "type" : "integer"
56122987 10114 },
de0983cb
DM
10115 "bps_max_length" : {
10116 "description" : "Maximum length of I/O bursts in seconds.",
10117 "format_description" : "seconds",
10118 "minimum" : 1,
10119 "optional" : 1,
10120 "type" : "integer"
10121 },
44660702 10122 "bps_rd" : {
de0983cb 10123 "description" : "Maximum read speed in bytes per second.",
44660702 10124 "format_description" : "bps",
7aacca6f 10125 "optional" : 1,
44660702 10126 "type" : "integer"
7aacca6f 10127 },
de0983cb 10128 "bps_rd_length" : {
5d9c884c
DM
10129 "alias" : "bps_rd_max_length"
10130 },
10131 "bps_rd_max_length" : {
de0983cb
DM
10132 "description" : "Maximum length of read I/O bursts in seconds.",
10133 "format_description" : "seconds",
10134 "minimum" : 1,
10135 "optional" : 1,
10136 "type" : "integer"
10137 },
44660702 10138 "bps_wr" : {
de0983cb 10139 "description" : "Maximum write speed in bytes per second.",
44660702 10140 "format_description" : "bps",
7aacca6f 10141 "optional" : 1,
44660702 10142 "type" : "integer"
7aacca6f 10143 },
de0983cb 10144 "bps_wr_length" : {
5d9c884c
DM
10145 "alias" : "bps_wr_max_length"
10146 },
10147 "bps_wr_max_length" : {
de0983cb
DM
10148 "description" : "Maximum length of write I/O bursts in seconds.",
10149 "format_description" : "seconds",
10150 "minimum" : 1,
10151 "optional" : 1,
10152 "type" : "integer"
10153 },
44660702
DM
10154 "cache" : {
10155 "description" : "The drive's cache mode",
10156 "enum" : [
10157 "none",
10158 "writethrough",
10159 "writeback",
10160 "unsafe",
10161 "directsync"
10162 ],
7aacca6f 10163 "optional" : 1,
44660702 10164 "type" : "string"
7aacca6f 10165 },
44660702
DM
10166 "cyls" : {
10167 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 10168 "optional" : 1,
44660702 10169 "type" : "integer"
7aacca6f 10170 },
44660702
DM
10171 "detect_zeroes" : {
10172 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 10173 "optional" : 1,
44660702 10174 "type" : "boolean"
7aacca6f 10175 },
44660702
DM
10176 "discard" : {
10177 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10178 "enum" : [
10179 "ignore",
10180 "on"
10181 ],
7aacca6f 10182 "optional" : 1,
44660702
DM
10183 "type" : "string"
10184 },
10185 "file" : {
10186 "default_key" : 1,
10187 "description" : "The drive's backing volume.",
10188 "format" : "pve-volume-id-or-qm-path",
10189 "format_description" : "volume",
10190 "type" : "string"
7aacca6f
DM
10191 },
10192 "format" : {
7aacca6f 10193 "description" : "The drive's backing file's data format.",
56122987
DM
10194 "enum" : [
10195 "raw",
10196 "cow",
10197 "qcow",
10198 "qed",
10199 "qcow2",
10200 "vmdk",
10201 "cloop"
10202 ],
10203 "optional" : 1,
7aacca6f 10204 "type" : "string"
56122987 10205 },
7aacca6f 10206 "heads" : {
7aacca6f 10207 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10208 "optional" : 1,
10209 "type" : "integer"
56122987 10210 },
44660702 10211 "iops" : {
de0983cb 10212 "description" : "Maximum r/w I/O in operations per second.",
44660702 10213 "format_description" : "iops",
56122987 10214 "optional" : 1,
44660702 10215 "type" : "integer"
7aacca6f 10216 },
44660702 10217 "iops_max" : {
de0983cb 10218 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10219 "format_description" : "iops",
7aacca6f 10220 "optional" : 1,
44660702 10221 "type" : "integer"
56122987 10222 },
de0983cb
DM
10223 "iops_max_length" : {
10224 "description" : "Maximum length of I/O bursts in seconds.",
10225 "format_description" : "seconds",
10226 "minimum" : 1,
10227 "optional" : 1,
10228 "type" : "integer"
10229 },
44660702 10230 "iops_rd" : {
de0983cb 10231 "description" : "Maximum read I/O in operations per second.",
44660702 10232 "format_description" : "iops",
56122987 10233 "optional" : 1,
44660702 10234 "type" : "integer"
7aacca6f 10235 },
de0983cb 10236 "iops_rd_length" : {
5d9c884c 10237 "alias" : "iops_rd_max_length"
de0983cb 10238 },
44660702 10239 "iops_rd_max" : {
de0983cb 10240 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10241 "format_description" : "iops",
56122987 10242 "optional" : 1,
44660702 10243 "type" : "integer"
56122987 10244 },
5d9c884c
DM
10245 "iops_rd_max_length" : {
10246 "description" : "Maximum length of read I/O bursts in seconds.",
10247 "format_description" : "seconds",
10248 "minimum" : 1,
10249 "optional" : 1,
10250 "type" : "integer"
10251 },
44660702 10252 "iops_wr" : {
de0983cb 10253 "description" : "Maximum write I/O in operations per second.",
44660702
DM
10254 "format_description" : "iops",
10255 "optional" : 1,
10256 "type" : "integer"
56122987 10257 },
de0983cb 10258 "iops_wr_length" : {
5d9c884c 10259 "alias" : "iops_wr_max_length"
de0983cb 10260 },
44660702 10261 "iops_wr_max" : {
de0983cb 10262 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
10263 "format_description" : "iops",
10264 "optional" : 1,
10265 "type" : "integer"
10266 },
5d9c884c
DM
10267 "iops_wr_max_length" : {
10268 "description" : "Maximum length of write I/O bursts in seconds.",
10269 "format_description" : "seconds",
10270 "minimum" : 1,
10271 "optional" : 1,
10272 "type" : "integer"
10273 },
44660702 10274 "mbps" : {
de0983cb 10275 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10276 "format_description" : "mbps",
10277 "optional" : 1,
10278 "type" : "number"
10279 },
10280 "mbps_max" : {
de0983cb 10281 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10282 "format_description" : "mbps",
10283 "optional" : 1,
10284 "type" : "number"
10285 },
10286 "mbps_rd" : {
de0983cb 10287 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10288 "format_description" : "mbps",
10289 "optional" : 1,
10290 "type" : "number"
10291 },
10292 "mbps_rd_max" : {
de0983cb 10293 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10294 "format_description" : "mbps",
10295 "optional" : 1,
10296 "type" : "number"
10297 },
10298 "mbps_wr" : {
de0983cb 10299 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10300 "format_description" : "mbps",
10301 "optional" : 1,
10302 "type" : "number"
10303 },
10304 "mbps_wr_max" : {
de0983cb 10305 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
10306 "format_description" : "mbps",
10307 "optional" : 1,
10308 "type" : "number"
10309 },
10310 "media" : {
10311 "default" : "disk",
10312 "description" : "The drive's media type.",
10313 "enum" : [
10314 "cdrom",
10315 "disk"
10316 ],
56122987 10317 "optional" : 1,
44660702
DM
10318 "type" : "string"
10319 },
5d9c884c
DM
10320 "replicate" : {
10321 "default" : 1,
10322 "description" : "Whether the drive should considered for replication jobs.",
10323 "optional" : 1,
10324 "type" : "boolean"
10325 },
44660702 10326 "rerror" : {
7aacca6f
DM
10327 "description" : "Read error action.",
10328 "enum" : [
10329 "ignore",
10330 "report",
10331 "stop"
44660702 10332 ],
56122987 10333 "optional" : 1,
44660702 10334 "type" : "string"
56122987 10335 },
7aacca6f 10336 "secs" : {
44660702 10337 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10338 "optional" : 1,
44660702 10339 "type" : "integer"
56122987 10340 },
44660702
DM
10341 "serial" : {
10342 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10343 "format" : "urlencoded",
10344 "format_description" : "serial",
10345 "maxLength" : 60,
56122987 10346 "optional" : 1,
44660702 10347 "type" : "string"
56122987 10348 },
27a7acb2
DM
10349 "shared" : {
10350 "default" : 0,
10351 "description" : "Mark this locally-managed volume as available on all nodes",
10352 "optional" : 1,
10353 "type" : "boolean",
10354 "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!"
10355 },
44660702
DM
10356 "size" : {
10357 "description" : "Disk size. This is purely informational and has no effect.",
10358 "format" : "disk-size",
f004f5b9 10359 "format_description" : "DiskSize",
56122987 10360 "optional" : 1,
44660702 10361 "type" : "string"
56122987
DM
10362 },
10363 "snapshot" : {
27a7acb2 10364 "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 10365 "optional" : 1,
44660702 10366 "type" : "boolean"
56122987 10367 },
56122987 10368 "trans" : {
7aacca6f 10369 "description" : "Force disk geometry bios translation mode.",
56122987
DM
10370 "enum" : [
10371 "none",
10372 "lba",
10373 "auto"
10374 ],
10375 "optional" : 1,
44660702 10376 "type" : "string"
56122987 10377 },
44660702
DM
10378 "volume" : {
10379 "alias" : "file"
56122987 10380 },
7aacca6f 10381 "werror" : {
44660702 10382 "description" : "Write error action.",
56122987 10383 "enum" : [
7aacca6f 10384 "enospc",
56122987 10385 "ignore",
7aacca6f
DM
10386 "report",
10387 "stop"
10388 ],
7aacca6f 10389 "optional" : 1,
44660702
DM
10390 "type" : "string"
10391 }
10392 },
10393 "optional" : 1,
4bd7df8b 10394 "type" : "string",
27a7acb2 10395 "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
10396 },
10397 "scsi[n]" : {
10398 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
10399 "format" : {
10400 "aio" : {
7aacca6f 10401 "description" : "AIO type to use.",
56122987
DM
10402 "enum" : [
10403 "native",
10404 "threads"
44660702 10405 ],
56122987 10406 "optional" : 1,
44660702 10407 "type" : "string"
56122987 10408 },
7aacca6f 10409 "backup" : {
7aacca6f 10410 "description" : "Whether the drive should be included when making backups.",
7aacca6f 10411 "optional" : 1,
44660702 10412 "type" : "boolean"
56122987 10413 },
44660702 10414 "bps" : {
de0983cb 10415 "description" : "Maximum r/w speed in bytes per second.",
44660702 10416 "format_description" : "bps",
7aacca6f 10417 "optional" : 1,
44660702 10418 "type" : "integer"
7aacca6f 10419 },
de0983cb
DM
10420 "bps_max_length" : {
10421 "description" : "Maximum length of I/O bursts in seconds.",
10422 "format_description" : "seconds",
10423 "minimum" : 1,
10424 "optional" : 1,
10425 "type" : "integer"
10426 },
44660702 10427 "bps_rd" : {
de0983cb 10428 "description" : "Maximum read speed in bytes per second.",
44660702 10429 "format_description" : "bps",
56122987 10430 "optional" : 1,
44660702 10431 "type" : "integer"
56122987 10432 },
de0983cb 10433 "bps_rd_length" : {
5d9c884c
DM
10434 "alias" : "bps_rd_max_length"
10435 },
10436 "bps_rd_max_length" : {
de0983cb
DM
10437 "description" : "Maximum length of read I/O bursts in seconds.",
10438 "format_description" : "seconds",
10439 "minimum" : 1,
10440 "optional" : 1,
10441 "type" : "integer"
10442 },
44660702 10443 "bps_wr" : {
de0983cb 10444 "description" : "Maximum write speed in bytes per second.",
44660702 10445 "format_description" : "bps",
56122987 10446 "optional" : 1,
44660702 10447 "type" : "integer"
56122987 10448 },
de0983cb 10449 "bps_wr_length" : {
5d9c884c
DM
10450 "alias" : "bps_wr_max_length"
10451 },
10452 "bps_wr_max_length" : {
de0983cb
DM
10453 "description" : "Maximum length of write I/O bursts in seconds.",
10454 "format_description" : "seconds",
10455 "minimum" : 1,
10456 "optional" : 1,
10457 "type" : "integer"
10458 },
44660702
DM
10459 "cache" : {
10460 "description" : "The drive's cache mode",
10461 "enum" : [
10462 "none",
10463 "writethrough",
10464 "writeback",
10465 "unsafe",
10466 "directsync"
10467 ],
56122987 10468 "optional" : 1,
44660702
DM
10469 "type" : "string"
10470 },
10471 "cyls" : {
10472 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10473 "optional" : 1,
10474 "type" : "integer"
10475 },
10476 "detect_zeroes" : {
10477 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10478 "optional" : 1,
10479 "type" : "boolean"
10480 },
10481 "discard" : {
10482 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10483 "enum" : [
10484 "ignore",
10485 "on"
10486 ],
44660702
DM
10487 "optional" : 1,
10488 "type" : "string"
10489 },
10490 "file" : {
10491 "default_key" : 1,
10492 "description" : "The drive's backing volume.",
10493 "format" : "pve-volume-id-or-qm-path",
10494 "format_description" : "volume",
10495 "type" : "string"
56122987 10496 },
7aacca6f 10497 "format" : {
44660702 10498 "description" : "The drive's backing file's data format.",
7aacca6f
DM
10499 "enum" : [
10500 "raw",
10501 "cow",
10502 "qcow",
10503 "qed",
10504 "qcow2",
10505 "vmdk",
10506 "cloop"
10507 ],
56122987 10508 "optional" : 1,
44660702 10509 "type" : "string"
56122987 10510 },
44660702
DM
10511 "heads" : {
10512 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 10513 "optional" : 1,
44660702 10514 "type" : "integer"
56122987 10515 },
44660702 10516 "iops" : {
de0983cb 10517 "description" : "Maximum r/w I/O in operations per second.",
44660702 10518 "format_description" : "iops",
7aacca6f 10519 "optional" : 1,
44660702 10520 "type" : "integer"
56122987 10521 },
44660702 10522 "iops_max" : {
de0983cb 10523 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 10524 "format_description" : "iops",
7aacca6f 10525 "optional" : 1,
44660702 10526 "type" : "integer"
56122987 10527 },
de0983cb
DM
10528 "iops_max_length" : {
10529 "description" : "Maximum length of I/O bursts in seconds.",
10530 "format_description" : "seconds",
10531 "minimum" : 1,
10532 "optional" : 1,
10533 "type" : "integer"
10534 },
44660702 10535 "iops_rd" : {
de0983cb 10536 "description" : "Maximum read I/O in operations per second.",
44660702 10537 "format_description" : "iops",
56122987 10538 "optional" : 1,
44660702 10539 "type" : "integer"
56122987 10540 },
de0983cb 10541 "iops_rd_length" : {
5d9c884c 10542 "alias" : "iops_rd_max_length"
de0983cb 10543 },
44660702 10544 "iops_rd_max" : {
de0983cb 10545 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 10546 "format_description" : "iops",
56122987 10547 "optional" : 1,
44660702 10548 "type" : "integer"
56122987 10549 },
5d9c884c
DM
10550 "iops_rd_max_length" : {
10551 "description" : "Maximum length of read I/O bursts in seconds.",
10552 "format_description" : "seconds",
10553 "minimum" : 1,
10554 "optional" : 1,
10555 "type" : "integer"
10556 },
44660702 10557 "iops_wr" : {
de0983cb 10558 "description" : "Maximum write I/O in operations per second.",
44660702 10559 "format_description" : "iops",
56122987 10560 "optional" : 1,
44660702 10561 "type" : "integer"
56122987 10562 },
de0983cb 10563 "iops_wr_length" : {
5d9c884c 10564 "alias" : "iops_wr_max_length"
de0983cb 10565 },
44660702 10566 "iops_wr_max" : {
de0983cb 10567 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 10568 "format_description" : "iops",
44660702
DM
10569 "optional" : 1,
10570 "type" : "integer"
7aacca6f 10571 },
5d9c884c
DM
10572 "iops_wr_max_length" : {
10573 "description" : "Maximum length of write I/O bursts in seconds.",
10574 "format_description" : "seconds",
10575 "minimum" : 1,
10576 "optional" : 1,
10577 "type" : "integer"
10578 },
7aacca6f 10579 "iothread" : {
44660702 10580 "description" : "Whether to use iothreads for this drive",
56122987 10581 "optional" : 1,
44660702 10582 "type" : "boolean"
56122987 10583 },
44660702 10584 "mbps" : {
de0983cb 10585 "description" : "Maximum r/w speed in megabytes per second.",
44660702 10586 "format_description" : "mbps",
56122987 10587 "optional" : 1,
44660702 10588 "type" : "number"
56122987 10589 },
44660702 10590 "mbps_max" : {
de0983cb 10591 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 10592 "format_description" : "mbps",
56122987 10593 "optional" : 1,
44660702 10594 "type" : "number"
56122987 10595 },
44660702 10596 "mbps_rd" : {
de0983cb 10597 "description" : "Maximum read speed in megabytes per second.",
44660702 10598 "format_description" : "mbps",
7aacca6f 10599 "optional" : 1,
44660702 10600 "type" : "number"
56122987 10601 },
44660702 10602 "mbps_rd_max" : {
de0983cb 10603 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 10604 "format_description" : "mbps",
7aacca6f 10605 "optional" : 1,
44660702 10606 "type" : "number"
7aacca6f 10607 },
44660702 10608 "mbps_wr" : {
de0983cb 10609 "description" : "Maximum write speed in megabytes per second.",
44660702 10610 "format_description" : "mbps",
56122987 10611 "optional" : 1,
44660702 10612 "type" : "number"
56122987 10613 },
44660702 10614 "mbps_wr_max" : {
de0983cb 10615 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10616 "format_description" : "mbps",
56122987 10617 "optional" : 1,
44660702
DM
10618 "type" : "number"
10619 },
10620 "media" : {
10621 "default" : "disk",
10622 "description" : "The drive's media type.",
7aacca6f 10623 "enum" : [
44660702
DM
10624 "cdrom",
10625 "disk"
7aacca6f 10626 ],
56122987 10627 "optional" : 1,
44660702 10628 "type" : "string"
56122987 10629 },
7aacca6f 10630 "queues" : {
44660702 10631 "description" : "Number of queues.",
7aacca6f 10632 "minimum" : 2,
7aacca6f
DM
10633 "optional" : 1,
10634 "type" : "integer"
56122987 10635 },
5d9c884c
DM
10636 "replicate" : {
10637 "default" : 1,
10638 "description" : "Whether the drive should considered for replication jobs.",
10639 "optional" : 1,
10640 "type" : "boolean"
10641 },
10642 "rerror" : {
10643 "description" : "Read error action.",
10644 "enum" : [
10645 "ignore",
10646 "report",
10647 "stop"
10648 ],
10649 "optional" : 1,
10650 "type" : "string"
10651 },
52e44c50
FG
10652 "scsiblock" : {
10653 "default" : 0,
10654 "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",
10655 "optional" : 1,
10656 "type" : "boolean"
10657 },
44660702
DM
10658 "secs" : {
10659 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 10660 "optional" : 1,
44660702 10661 "type" : "integer"
56122987 10662 },
44660702
DM
10663 "serial" : {
10664 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10665 "format" : "urlencoded",
10666 "format_description" : "serial",
10667 "maxLength" : 60,
56122987 10668 "optional" : 1,
44660702 10669 "type" : "string"
56122987 10670 },
27a7acb2
DM
10671 "shared" : {
10672 "default" : 0,
10673 "description" : "Mark this locally-managed volume as available on all nodes",
10674 "optional" : 1,
10675 "type" : "boolean",
10676 "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!"
10677 },
44660702
DM
10678 "size" : {
10679 "description" : "Disk size. This is purely informational and has no effect.",
10680 "format" : "disk-size",
f004f5b9 10681 "format_description" : "DiskSize",
44660702
DM
10682 "optional" : 1,
10683 "type" : "string"
10684 },
10685 "snapshot" : {
27a7acb2 10686 "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 10687 "optional" : 1,
44660702
DM
10688 "type" : "boolean"
10689 },
10690 "trans" : {
10691 "description" : "Force disk geometry bios translation mode.",
56122987 10692 "enum" : [
44660702
DM
10693 "none",
10694 "lba",
10695 "auto"
56122987 10696 ],
44660702
DM
10697 "optional" : 1,
10698 "type" : "string"
10699 },
10700 "volume" : {
10701 "alias" : "file"
56122987 10702 },
7aacca6f 10703 "werror" : {
7aacca6f
DM
10704 "description" : "Write error action.",
10705 "enum" : [
10706 "enospc",
10707 "ignore",
10708 "report",
10709 "stop"
44660702 10710 ],
56122987 10711 "optional" : 1,
7aacca6f 10712 "type" : "string"
56122987 10713 }
44660702 10714 },
56122987 10715 "optional" : 1,
4bd7df8b 10716 "type" : "string",
27a7acb2 10717 "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
10718 },
10719 "scsihw" : {
44660702 10720 "default" : "lsi",
c2993fe5 10721 "description" : "SCSI controller model",
56122987
DM
10722 "enum" : [
10723 "lsi",
10724 "lsi53c810",
10725 "virtio-scsi-pci",
10726 "virtio-scsi-single",
10727 "megasas",
10728 "pvscsi"
10729 ],
10730 "optional" : 1,
56122987
DM
10731 "type" : "string"
10732 },
27a7acb2
DM
10733 "searchdomain" : {
10734 "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.",
10735 "optional" : 1,
10736 "type" : "string",
10737 "typetext" : "<string>"
10738 },
44660702 10739 "serial[n]" : {
c2993fe5 10740 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 10741 "optional" : 1,
44660702 10742 "pattern" : "(/dev/.+|socket)",
c2993fe5 10743 "type" : "string",
57b78691 10744 "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 10745 },
44660702
DM
10746 "shares" : {
10747 "default" : 1000,
10748 "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",
10749 "maximum" : 50000,
10750 "minimum" : 0,
7aacca6f 10751 "optional" : 1,
4bd7df8b 10752 "type" : "integer",
013dc89f 10753 "typetext" : "<integer> (0 - 50000)"
56122987 10754 },
7aacca6f
DM
10755 "skiplock" : {
10756 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 10757 "optional" : 1,
013dc89f
DM
10758 "type" : "boolean",
10759 "typetext" : "<boolean>"
56122987 10760 },
44660702
DM
10761 "smbios1" : {
10762 "description" : "Specify SMBIOS type 1 fields.",
10763 "format" : "pve-qm-smbios1",
10764 "maxLength" : 256,
56122987 10765 "optional" : 1,
4bd7df8b
DM
10766 "type" : "string",
10767 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 10768 },
44660702
DM
10769 "smp" : {
10770 "default" : 1,
10771 "description" : "The number of CPUs. Please use option -sockets instead.",
10772 "minimum" : 1,
56122987 10773 "optional" : 1,
4bd7df8b 10774 "type" : "integer",
013dc89f 10775 "typetext" : "<integer> (1 - N)"
56122987 10776 },
44660702
DM
10777 "sockets" : {
10778 "default" : 1,
10779 "description" : "The number of CPU sockets.",
10780 "minimum" : 1,
56122987 10781 "optional" : 1,
4bd7df8b 10782 "type" : "integer",
013dc89f 10783 "typetext" : "<integer> (1 - N)"
56122987 10784 },
27a7acb2
DM
10785 "sshkeys" : {
10786 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
10787 "format" : "urlencoded",
10788 "optional" : 1,
10789 "type" : "string",
10790 "typetext" : "<string>"
10791 },
44660702
DM
10792 "startdate" : {
10793 "default" : "now",
10794 "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'.",
10795 "optional" : 1,
10796 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 10797 "type" : "string",
44660702
DM
10798 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
10799 },
10800 "startup" : {
10801 "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.",
10802 "format" : "pve-startup-order",
7aacca6f 10803 "optional" : 1,
44660702
DM
10804 "type" : "string",
10805 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 10806 },
44660702
DM
10807 "tablet" : {
10808 "default" : 1,
c2993fe5 10809 "description" : "Enable/disable the USB tablet device.",
7aacca6f 10810 "optional" : 1,
c2993fe5 10811 "type" : "boolean",
013dc89f 10812 "typetext" : "<boolean>",
c2993fe5 10813 "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 10814 },
44660702
DM
10815 "tdf" : {
10816 "default" : 0,
10817 "description" : "Enable/disable time drift fix.",
7aacca6f 10818 "optional" : 1,
013dc89f
DM
10819 "type" : "boolean",
10820 "typetext" : "<boolean>"
7aacca6f 10821 },
44660702
DM
10822 "template" : {
10823 "default" : 0,
10824 "description" : "Enable/disable Template.",
7aacca6f 10825 "optional" : 1,
013dc89f
DM
10826 "type" : "boolean",
10827 "typetext" : "<boolean>"
7aacca6f 10828 },
44660702 10829 "unused[n]" : {
c2993fe5 10830 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 10831 "format" : "pve-volume-id",
7aacca6f 10832 "optional" : 1,
013dc89f
DM
10833 "type" : "string",
10834 "typetext" : "<string>"
7aacca6f 10835 },
44660702 10836 "usb[n]" : {
c2993fe5 10837 "description" : "Configure an USB device (n is 0 to 4).",
56122987 10838 "format" : {
44660702
DM
10839 "host" : {
10840 "default_key" : 1,
c2993fe5 10841 "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
10842 "format" : "pve-qm-usb-device",
10843 "format_description" : "HOSTUSBDEVICE|spice",
10844 "type" : "string"
7aacca6f 10845 },
44660702 10846 "usb3" : {
c2993fe5
DM
10847 "default" : 0,
10848 "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 10849 "optional" : 1,
44660702 10850 "type" : "boolean"
7aacca6f 10851 }
44660702 10852 },
7aacca6f 10853 "optional" : 1,
4bd7df8b
DM
10854 "type" : "string",
10855 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 10856 },
44660702 10857 "vcpus" : {
7aacca6f 10858 "default" : 0,
44660702
DM
10859 "description" : "Number of hotplugged vcpus.",
10860 "minimum" : 1,
7aacca6f 10861 "optional" : 1,
4bd7df8b 10862 "type" : "integer",
013dc89f 10863 "typetext" : "<integer> (1 - N)"
7aacca6f 10864 },
44660702 10865 "vga" : {
c2993fe5 10866 "description" : "Select the VGA type.",
44660702
DM
10867 "enum" : [
10868 "std",
10869 "cirrus",
10870 "vmware",
10871 "qxl",
10872 "serial0",
10873 "serial1",
10874 "serial2",
10875 "serial3",
10876 "qxl2",
10877 "qxl3",
10878 "qxl4"
10879 ],
7aacca6f 10880 "optional" : 1,
c2993fe5
DM
10881 "type" : "string",
10882 "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 10883 },
44660702
DM
10884 "virtio[n]" : {
10885 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 10886 "format" : {
7aacca6f 10887 "aio" : {
7aacca6f 10888 "description" : "AIO type to use.",
56122987 10889 "enum" : [
7aacca6f
DM
10890 "native",
10891 "threads"
7aacca6f 10892 ],
44660702
DM
10893 "optional" : 1,
10894 "type" : "string"
56122987 10895 },
44660702
DM
10896 "backup" : {
10897 "description" : "Whether the drive should be included when making backups.",
56122987 10898 "optional" : 1,
44660702 10899 "type" : "boolean"
7aacca6f 10900 },
44660702 10901 "bps" : {
de0983cb 10902 "description" : "Maximum r/w speed in bytes per second.",
44660702 10903 "format_description" : "bps",
7aacca6f 10904 "optional" : 1,
44660702 10905 "type" : "integer"
56122987 10906 },
de0983cb
DM
10907 "bps_max_length" : {
10908 "description" : "Maximum length of I/O bursts in seconds.",
10909 "format_description" : "seconds",
10910 "minimum" : 1,
10911 "optional" : 1,
10912 "type" : "integer"
10913 },
56122987 10914 "bps_rd" : {
de0983cb 10915 "description" : "Maximum read speed in bytes per second.",
44660702 10916 "format_description" : "bps",
56122987 10917 "optional" : 1,
7aacca6f 10918 "type" : "integer"
56122987 10919 },
de0983cb 10920 "bps_rd_length" : {
5d9c884c
DM
10921 "alias" : "bps_rd_max_length"
10922 },
10923 "bps_rd_max_length" : {
de0983cb
DM
10924 "description" : "Maximum length of read I/O bursts in seconds.",
10925 "format_description" : "seconds",
10926 "minimum" : 1,
10927 "optional" : 1,
10928 "type" : "integer"
10929 },
44660702 10930 "bps_wr" : {
de0983cb 10931 "description" : "Maximum write speed in bytes per second.",
44660702 10932 "format_description" : "bps",
56122987 10933 "optional" : 1,
7aacca6f 10934 "type" : "integer"
56122987 10935 },
de0983cb 10936 "bps_wr_length" : {
5d9c884c
DM
10937 "alias" : "bps_wr_max_length"
10938 },
10939 "bps_wr_max_length" : {
de0983cb
DM
10940 "description" : "Maximum length of write I/O bursts in seconds.",
10941 "format_description" : "seconds",
10942 "minimum" : 1,
10943 "optional" : 1,
10944 "type" : "integer"
10945 },
7aacca6f 10946 "cache" : {
44660702 10947 "description" : "The drive's cache mode",
7aacca6f
DM
10948 "enum" : [
10949 "none",
10950 "writethrough",
10951 "writeback",
10952 "unsafe",
10953 "directsync"
10954 ],
56122987 10955 "optional" : 1,
44660702 10956 "type" : "string"
7aacca6f 10957 },
44660702
DM
10958 "cyls" : {
10959 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10960 "optional" : 1,
10961 "type" : "integer"
10962 },
10963 "detect_zeroes" : {
10964 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10965 "optional" : 1,
10966 "type" : "boolean"
10967 },
10968 "discard" : {
10969 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 10970 "enum" : [
44660702
DM
10971 "ignore",
10972 "on"
56122987
DM
10973 ],
10974 "optional" : 1,
44660702 10975 "type" : "string"
56122987 10976 },
44660702
DM
10977 "file" : {
10978 "default_key" : 1,
10979 "description" : "The drive's backing volume.",
10980 "format" : "pve-volume-id-or-qm-path",
10981 "format_description" : "volume",
10982 "type" : "string"
10983 },
10984 "format" : {
10985 "description" : "The drive's backing file's data format.",
10986 "enum" : [
10987 "raw",
10988 "cow",
10989 "qcow",
10990 "qed",
10991 "qcow2",
10992 "vmdk",
10993 "cloop"
10994 ],
56122987 10995 "optional" : 1,
44660702 10996 "type" : "string"
56122987 10997 },
44660702
DM
10998 "heads" : {
10999 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11000 "optional" : 1,
11001 "type" : "integer"
11002 },
11003 "iops" : {
de0983cb 11004 "description" : "Maximum r/w I/O in operations per second.",
44660702 11005 "format_description" : "iops",
56122987 11006 "optional" : 1,
44660702
DM
11007 "type" : "integer"
11008 },
11009 "iops_max" : {
de0983cb 11010 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
11011 "format_description" : "iops",
11012 "optional" : 1,
11013 "type" : "integer"
56122987 11014 },
de0983cb
DM
11015 "iops_max_length" : {
11016 "description" : "Maximum length of I/O bursts in seconds.",
11017 "format_description" : "seconds",
11018 "minimum" : 1,
11019 "optional" : 1,
11020 "type" : "integer"
11021 },
7aacca6f 11022 "iops_rd" : {
de0983cb 11023 "description" : "Maximum read I/O in operations per second.",
7aacca6f 11024 "format_description" : "iops",
7aacca6f 11025 "optional" : 1,
44660702 11026 "type" : "integer"
56122987 11027 },
de0983cb 11028 "iops_rd_length" : {
5d9c884c 11029 "alias" : "iops_rd_max_length"
de0983cb 11030 },
44660702 11031 "iops_rd_max" : {
de0983cb 11032 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11033 "format_description" : "iops",
11034 "optional" : 1,
11035 "type" : "integer"
11036 },
5d9c884c
DM
11037 "iops_rd_max_length" : {
11038 "description" : "Maximum length of read I/O bursts in seconds.",
11039 "format_description" : "seconds",
11040 "minimum" : 1,
11041 "optional" : 1,
11042 "type" : "integer"
11043 },
44660702 11044 "iops_wr" : {
de0983cb 11045 "description" : "Maximum write I/O in operations per second.",
44660702
DM
11046 "format_description" : "iops",
11047 "optional" : 1,
11048 "type" : "integer"
11049 },
de0983cb 11050 "iops_wr_length" : {
5d9c884c 11051 "alias" : "iops_wr_max_length"
de0983cb 11052 },
44660702 11053 "iops_wr_max" : {
de0983cb 11054 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11055 "format_description" : "iops",
11056 "optional" : 1,
11057 "type" : "integer"
11058 },
5d9c884c
DM
11059 "iops_wr_max_length" : {
11060 "description" : "Maximum length of write I/O bursts in seconds.",
11061 "format_description" : "seconds",
11062 "minimum" : 1,
11063 "optional" : 1,
11064 "type" : "integer"
11065 },
44660702
DM
11066 "iothread" : {
11067 "description" : "Whether to use iothreads for this drive",
44660702
DM
11068 "optional" : 1,
11069 "type" : "boolean"
11070 },
11071 "mbps" : {
de0983cb 11072 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11073 "format_description" : "mbps",
7aacca6f 11074 "optional" : 1,
44660702 11075 "type" : "number"
7aacca6f
DM
11076 },
11077 "mbps_max" : {
de0983cb 11078 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11079 "format_description" : "mbps",
56122987 11080 "optional" : 1,
44660702 11081 "type" : "number"
56122987 11082 },
44660702 11083 "mbps_rd" : {
de0983cb 11084 "description" : "Maximum read speed in megabytes per second.",
44660702 11085 "format_description" : "mbps",
56122987 11086 "optional" : 1,
44660702 11087 "type" : "number"
56122987 11088 },
44660702 11089 "mbps_rd_max" : {
de0983cb 11090 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11091 "format_description" : "mbps",
11092 "optional" : 1,
11093 "type" : "number"
11094 },
11095 "mbps_wr" : {
de0983cb 11096 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11097 "format_description" : "mbps",
11098 "optional" : 1,
11099 "type" : "number"
11100 },
11101 "mbps_wr_max" : {
de0983cb 11102 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11103 "format_description" : "mbps",
11104 "optional" : 1,
11105 "type" : "number"
11106 },
11107 "media" : {
11108 "default" : "disk",
11109 "description" : "The drive's media type.",
56122987 11110 "enum" : [
44660702
DM
11111 "cdrom",
11112 "disk"
56122987
DM
11113 ],
11114 "optional" : 1,
44660702 11115 "type" : "string"
56122987 11116 },
5d9c884c
DM
11117 "replicate" : {
11118 "default" : 1,
11119 "description" : "Whether the drive should considered for replication jobs.",
11120 "optional" : 1,
11121 "type" : "boolean"
11122 },
44660702
DM
11123 "rerror" : {
11124 "description" : "Read error action.",
11125 "enum" : [
11126 "ignore",
11127 "report",
11128 "stop"
11129 ],
56122987 11130 "optional" : 1,
44660702 11131 "type" : "string"
56122987 11132 },
44660702
DM
11133 "secs" : {
11134 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11135 "optional" : 1,
44660702 11136 "type" : "integer"
56122987 11137 },
7aacca6f
DM
11138 "serial" : {
11139 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 11140 "format" : "urlencoded",
44660702 11141 "format_description" : "serial",
7aacca6f 11142 "maxLength" : 60,
44660702
DM
11143 "optional" : 1,
11144 "type" : "string"
56122987 11145 },
27a7acb2
DM
11146 "shared" : {
11147 "default" : 0,
11148 "description" : "Mark this locally-managed volume as available on all nodes",
11149 "optional" : 1,
11150 "type" : "boolean",
11151 "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!"
11152 },
44660702
DM
11153 "size" : {
11154 "description" : "Disk size. This is purely informational and has no effect.",
11155 "format" : "disk-size",
f004f5b9 11156 "format_description" : "DiskSize",
44660702
DM
11157 "optional" : 1,
11158 "type" : "string"
56122987 11159 },
44660702 11160 "snapshot" : {
27a7acb2 11161 "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 11162 "optional" : 1,
44660702 11163 "type" : "boolean"
56122987 11164 },
44660702
DM
11165 "trans" : {
11166 "description" : "Force disk geometry bios translation mode.",
11167 "enum" : [
11168 "none",
11169 "lba",
11170 "auto"
11171 ],
7aacca6f 11172 "optional" : 1,
44660702 11173 "type" : "string"
7aacca6f 11174 },
44660702
DM
11175 "volume" : {
11176 "alias" : "file"
11177 },
11178 "werror" : {
11179 "description" : "Write error action.",
11180 "enum" : [
11181 "enospc",
11182 "ignore",
11183 "report",
11184 "stop"
11185 ],
7aacca6f 11186 "optional" : 1,
44660702 11187 "type" : "string"
56122987
DM
11188 }
11189 },
7aacca6f 11190 "optional" : 1,
4bd7df8b 11191 "type" : "string",
27a7acb2 11192 "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 11193 },
44660702
DM
11194 "vmid" : {
11195 "description" : "The (unique) ID of the VM.",
11196 "format" : "pve-vmid",
11197 "minimum" : 1,
4bd7df8b 11198 "type" : "integer",
013dc89f 11199 "typetext" : "<integer> (1 - N)"
56122987 11200 },
2489d6df
WB
11201 "vmstatestorage" : {
11202 "description" : "Default storage for VM state volumes/files.",
11203 "format" : "pve-storage-id",
11204 "optional" : 1,
11205 "type" : "string",
11206 "typetext" : "<string>"
11207 },
44660702 11208 "watchdog" : {
c2993fe5 11209 "description" : "Create a virtual hardware watchdog device.",
44660702 11210 "format" : "pve-qm-watchdog",
56122987 11211 "optional" : 1,
c2993fe5 11212 "type" : "string",
013dc89f 11213 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 11214 "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 11215 }
7aacca6f 11216 }
56122987 11217 },
56122987
DM
11218 "permissions" : {
11219 "check" : [
11220 "perm",
11221 "/vms/{vmid}",
11222 [
11223 "VM.Config.Disk",
11224 "VM.Config.CDROM",
11225 "VM.Config.CPU",
11226 "VM.Config.Memory",
11227 "VM.Config.Network",
11228 "VM.Config.HWType",
11229 "VM.Config.Options"
11230 ],
11231 "any",
11232 1
11233 ]
11234 },
44660702 11235 "protected" : 1,
7aacca6f 11236 "proxyto" : "node",
56122987 11237 "returns" : {
7aacca6f
DM
11238 "type" : "null"
11239 }
11240 }
11241 },
44660702
DM
11242 "leaf" : 1,
11243 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
11244 "text" : "config"
11245 },
11246 {
11247 "info" : {
56122987 11248 "GET" : {
44660702 11249 "description" : "Get virtual machine configuration, including pending changes.",
56122987 11250 "method" : "GET",
44660702 11251 "name" : "vm_pending",
7aacca6f 11252 "parameters" : {
44660702 11253 "additionalProperties" : 0,
7aacca6f
DM
11254 "properties" : {
11255 "node" : {
7aacca6f 11256 "description" : "The cluster node name.",
44660702 11257 "format" : "pve-node",
013dc89f
DM
11258 "type" : "string",
11259 "typetext" : "<string>"
7aacca6f
DM
11260 },
11261 "vmid" : {
44660702 11262 "description" : "The (unique) ID of the VM.",
7aacca6f 11263 "format" : "pve-vmid",
44660702 11264 "minimum" : 1,
4bd7df8b 11265 "type" : "integer",
013dc89f 11266 "typetext" : "<integer> (1 - N)"
7aacca6f 11267 }
44660702 11268 }
7aacca6f 11269 },
56122987
DM
11270 "permissions" : {
11271 "check" : [
11272 "perm",
11273 "/vms/{vmid}",
11274 [
11275 "VM.Audit"
11276 ]
11277 ]
11278 },
7aacca6f 11279 "proxyto" : "node",
44660702
DM
11280 "returns" : {
11281 "items" : {
11282 "properties" : {
11283 "delete" : {
11284 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
11285 "maximum" : 2,
11286 "minimum" : 0,
11287 "optional" : 1,
11288 "type" : "integer"
11289 },
11290 "key" : {
11291 "description" : "Configuration option name.",
11292 "type" : "string"
11293 },
11294 "pending" : {
11295 "description" : "Pending value.",
11296 "optional" : 1,
11297 "type" : "string"
11298 },
11299 "value" : {
11300 "description" : "Current value.",
11301 "optional" : 1,
11302 "type" : "string"
11303 }
11304 },
11305 "type" : "object"
11306 },
11307 "type" : "array"
11308 }
56122987
DM
11309 }
11310 },
7aacca6f 11311 "leaf" : 1,
44660702
DM
11312 "path" : "/nodes/{node}/qemu/{vmid}/pending",
11313 "text" : "pending"
56122987
DM
11314 },
11315 {
56122987
DM
11316 "info" : {
11317 "PUT" : {
7aacca6f 11318 "description" : "Unlink/delete disk images.",
7aacca6f 11319 "method" : "PUT",
7aacca6f 11320 "name" : "unlink",
56122987 11321 "parameters" : {
44660702 11322 "additionalProperties" : 0,
56122987 11323 "properties" : {
7aacca6f 11324 "force" : {
44660702 11325 "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 11326 "optional" : 1,
013dc89f
DM
11327 "type" : "boolean",
11328 "typetext" : "<boolean>"
7aacca6f 11329 },
56122987
DM
11330 "idlist" : {
11331 "description" : "A list of disk IDs you want to delete.",
44660702 11332 "format" : "pve-configid-list",
013dc89f
DM
11333 "type" : "string",
11334 "typetext" : "<string>"
44660702
DM
11335 },
11336 "node" : {
11337 "description" : "The cluster node name.",
11338 "format" : "pve-node",
013dc89f
DM
11339 "type" : "string",
11340 "typetext" : "<string>"
56122987
DM
11341 },
11342 "vmid" : {
7aacca6f 11343 "description" : "The (unique) ID of the VM.",
44660702 11344 "format" : "pve-vmid",
7aacca6f 11345 "minimum" : 1,
4bd7df8b 11346 "type" : "integer",
013dc89f 11347 "typetext" : "<integer> (1 - N)"
56122987 11348 }
44660702
DM
11349 }
11350 },
11351 "permissions" : {
11352 "check" : [
11353 "perm",
11354 "/vms/{vmid}",
11355 [
11356 "VM.Config.Disk"
11357 ]
11358 ]
11359 },
11360 "protected" : 1,
11361 "proxyto" : "node",
11362 "returns" : {
11363 "type" : "null"
7aacca6f 11364 }
56122987 11365 }
7aacca6f 11366 },
44660702 11367 "leaf" : 1,
7aacca6f 11368 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 11369 "text" : "unlink"
56122987
DM
11370 },
11371 {
56122987
DM
11372 "info" : {
11373 "POST" : {
7aacca6f 11374 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
11375 "method" : "POST",
11376 "name" : "vncproxy",
56122987 11377 "parameters" : {
44660702 11378 "additionalProperties" : 0,
56122987 11379 "properties" : {
44660702
DM
11380 "node" : {
11381 "description" : "The cluster node name.",
11382 "format" : "pve-node",
013dc89f
DM
11383 "type" : "string",
11384 "typetext" : "<string>"
44660702 11385 },
56122987 11386 "vmid" : {
7aacca6f 11387 "description" : "The (unique) ID of the VM.",
44660702 11388 "format" : "pve-vmid",
56122987 11389 "minimum" : 1,
4bd7df8b 11390 "type" : "integer",
013dc89f 11391 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
11392 },
11393 "websocket" : {
11394 "description" : "starts websockify instead of vncproxy",
44660702 11395 "optional" : 1,
013dc89f
DM
11396 "type" : "boolean",
11397 "typetext" : "<boolean>"
56122987 11398 }
44660702 11399 }
56122987 11400 },
44660702
DM
11401 "permissions" : {
11402 "check" : [
11403 "perm",
11404 "/vms/{vmid}",
11405 [
11406 "VM.Console"
11407 ]
11408 ]
11409 },
11410 "protected" : 1,
56122987 11411 "returns" : {
7aacca6f 11412 "additionalProperties" : 0,
56122987 11413 "properties" : {
7aacca6f 11414 "cert" : {
56122987
DM
11415 "type" : "string"
11416 },
56122987
DM
11417 "port" : {
11418 "type" : "integer"
11419 },
7aacca6f
DM
11420 "ticket" : {
11421 "type" : "string"
11422 },
44660702
DM
11423 "upid" : {
11424 "type" : "string"
11425 },
7aacca6f 11426 "user" : {
56122987
DM
11427 "type" : "string"
11428 }
7aacca6f 11429 }
56122987
DM
11430 }
11431 }
11432 },
44660702
DM
11433 "leaf" : 1,
11434 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 11435 "text" : "vncproxy"
56122987 11436 },
35a75dd3
DM
11437 {
11438 "info" : {
11439 "POST" : {
11440 "description" : "Creates a TCP proxy connections.",
11441 "method" : "POST",
11442 "name" : "termproxy",
11443 "parameters" : {
11444 "additionalProperties" : 0,
11445 "properties" : {
11446 "node" : {
11447 "description" : "The cluster node name.",
11448 "format" : "pve-node",
11449 "type" : "string",
11450 "typetext" : "<string>"
11451 },
11452 "serial" : {
11453 "description" : "opens a serial terminal (defaults to display)",
11454 "enum" : [
11455 "serial0",
11456 "serial1",
11457 "serial2",
11458 "serial3"
11459 ],
11460 "optional" : 1,
11461 "type" : "string"
11462 },
11463 "vmid" : {
11464 "description" : "The (unique) ID of the VM.",
11465 "format" : "pve-vmid",
11466 "minimum" : 1,
11467 "type" : "integer",
11468 "typetext" : "<integer> (1 - N)"
11469 }
11470 }
11471 },
11472 "permissions" : {
11473 "check" : [
11474 "perm",
11475 "/vms/{vmid}",
11476 [
11477 "VM.Console"
11478 ]
11479 ]
11480 },
11481 "protected" : 1,
11482 "returns" : {
11483 "additionalProperties" : 0,
11484 "properties" : {
11485 "port" : {
11486 "type" : "integer"
11487 },
11488 "ticket" : {
11489 "type" : "string"
11490 },
11491 "upid" : {
11492 "type" : "string"
11493 },
11494 "user" : {
11495 "type" : "string"
11496 }
11497 }
11498 }
11499 }
11500 },
11501 "leaf" : 1,
11502 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
11503 "text" : "termproxy"
11504 },
56122987 11505 {
56122987
DM
11506 "info" : {
11507 "GET" : {
44660702
DM
11508 "description" : "Opens a weksocket for VNC traffic.",
11509 "method" : "GET",
11510 "name" : "vncwebsocket",
56122987 11511 "parameters" : {
44660702 11512 "additionalProperties" : 0,
56122987 11513 "properties" : {
7aacca6f 11514 "node" : {
7aacca6f 11515 "description" : "The cluster node name.",
44660702 11516 "format" : "pve-node",
013dc89f
DM
11517 "type" : "string",
11518 "typetext" : "<string>"
7aacca6f 11519 },
44660702
DM
11520 "port" : {
11521 "description" : "Port number returned by previous vncproxy call.",
11522 "maximum" : 5999,
11523 "minimum" : 5900,
4bd7df8b 11524 "type" : "integer",
013dc89f 11525 "typetext" : "<integer> (5900 - 5999)"
56122987 11526 },
7aacca6f 11527 "vmid" : {
44660702 11528 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11529 "format" : "pve-vmid",
11530 "minimum" : 1,
4bd7df8b 11531 "type" : "integer",
013dc89f 11532 "typetext" : "<integer> (1 - N)"
44660702
DM
11533 },
11534 "vncticket" : {
11535 "description" : "Ticket from previous call to vncproxy.",
11536 "maxLength" : 512,
013dc89f
DM
11537 "type" : "string",
11538 "typetext" : "<string>"
56122987 11539 }
44660702
DM
11540 }
11541 },
11542 "permissions" : {
11543 "check" : [
11544 "perm",
11545 "/vms/{vmid}",
11546 [
11547 "VM.Console"
11548 ]
11549 ],
11550 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 11551 },
7aacca6f
DM
11552 "returns" : {
11553 "properties" : {
11554 "port" : {
11555 "type" : "string"
11556 }
11557 },
11558 "type" : "object"
11559 }
56122987
DM
11560 }
11561 },
7aacca6f 11562 "leaf" : 1,
44660702
DM
11563 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
11564 "text" : "vncwebsocket"
56122987
DM
11565 },
11566 {
11567 "info" : {
11568 "POST" : {
44660702
DM
11569 "description" : "Returns a SPICE configuration to connect to the VM.",
11570 "method" : "POST",
7aacca6f
DM
11571 "name" : "spiceproxy",
11572 "parameters" : {
44660702 11573 "additionalProperties" : 0,
56122987 11574 "properties" : {
44660702
DM
11575 "node" : {
11576 "description" : "The cluster node name.",
11577 "format" : "pve-node",
013dc89f
DM
11578 "type" : "string",
11579 "typetext" : "<string>"
44660702 11580 },
7aacca6f 11581 "proxy" : {
44660702 11582 "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 11583 "format" : "address",
7aacca6f 11584 "optional" : 1,
013dc89f
DM
11585 "type" : "string",
11586 "typetext" : "<string>"
56122987 11587 },
7aacca6f 11588 "vmid" : {
44660702 11589 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11590 "format" : "pve-vmid",
11591 "minimum" : 1,
4bd7df8b 11592 "type" : "integer",
013dc89f 11593 "typetext" : "<integer> (1 - N)"
56122987 11594 }
44660702 11595 }
56122987 11596 },
56122987
DM
11597 "permissions" : {
11598 "check" : [
11599 "perm",
11600 "/vms/{vmid}",
11601 [
11602 "VM.Console"
11603 ]
11604 ]
11605 },
44660702
DM
11606 "protected" : 1,
11607 "proxyto" : "node",
7aacca6f 11608 "returns" : {
44660702
DM
11609 "additionalProperties" : 1,
11610 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 11611 "properties" : {
44660702 11612 "host" : {
7aacca6f
DM
11613 "type" : "string"
11614 },
7aacca6f
DM
11615 "password" : {
11616 "type" : "string"
11617 },
44660702 11618 "proxy" : {
7aacca6f
DM
11619 "type" : "string"
11620 },
44660702
DM
11621 "tls-port" : {
11622 "type" : "integer"
11623 },
11624 "type" : {
7aacca6f
DM
11625 "type" : "string"
11626 }
44660702 11627 }
7aacca6f
DM
11628 }
11629 }
11630 },
44660702
DM
11631 "leaf" : 1,
11632 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
11633 "text" : "spiceproxy"
11634 },
11635 {
56122987
DM
11636 "children" : [
11637 {
56122987
DM
11638 "info" : {
11639 "GET" : {
44660702
DM
11640 "description" : "Get virtual machine status.",
11641 "method" : "GET",
11642 "name" : "vm_status",
56122987 11643 "parameters" : {
44660702 11644 "additionalProperties" : 0,
56122987 11645 "properties" : {
44660702
DM
11646 "node" : {
11647 "description" : "The cluster node name.",
11648 "format" : "pve-node",
013dc89f
DM
11649 "type" : "string",
11650 "typetext" : "<string>"
44660702 11651 },
56122987 11652 "vmid" : {
44660702 11653 "description" : "The (unique) ID of the VM.",
7aacca6f 11654 "format" : "pve-vmid",
56122987 11655 "minimum" : 1,
4bd7df8b 11656 "type" : "integer",
013dc89f 11657 "typetext" : "<integer> (1 - N)"
56122987 11658 }
44660702 11659 }
56122987
DM
11660 },
11661 "permissions" : {
11662 "check" : [
11663 "perm",
11664 "/vms/{vmid}",
11665 [
11666 "VM.Audit"
11667 ]
11668 ]
11669 },
44660702 11670 "protected" : 1,
7aacca6f 11671 "proxyto" : "node",
56122987
DM
11672 "returns" : {
11673 "type" : "object"
7aacca6f 11674 }
56122987 11675 }
7aacca6f 11676 },
7aacca6f 11677 "leaf" : 1,
44660702
DM
11678 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
11679 "text" : "current"
56122987
DM
11680 },
11681 {
56122987
DM
11682 "info" : {
11683 "POST" : {
44660702 11684 "description" : "Start virtual machine.",
56122987 11685 "method" : "POST",
44660702 11686 "name" : "vm_start",
56122987 11687 "parameters" : {
44660702 11688 "additionalProperties" : 0,
56122987 11689 "properties" : {
44660702
DM
11690 "machine" : {
11691 "description" : "Specific the Qemu machine type.",
11692 "maxLength" : 40,
11693 "optional" : 1,
11694 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11695 "type" : "string"
11696 },
11697 "migratedfrom" : {
11698 "description" : "The cluster node name.",
11699 "format" : "pve-node",
56122987 11700 "optional" : 1,
013dc89f
DM
11701 "type" : "string",
11702 "typetext" : "<string>"
56122987 11703 },
de0983cb
DM
11704 "migration_network" : {
11705 "description" : "CIDR of the (sub) network that is used for migration.",
11706 "format" : "CIDR",
11707 "optional" : 1,
013dc89f
DM
11708 "type" : "string",
11709 "typetext" : "<string>"
de0983cb
DM
11710 },
11711 "migration_type" : {
11712 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
11713 "enum" : [
11714 "secure",
11715 "insecure"
11716 ],
11717 "optional" : 1,
11718 "type" : "string"
11719 },
7aacca6f 11720 "node" : {
7aacca6f 11721 "description" : "The cluster node name.",
44660702 11722 "format" : "pve-node",
013dc89f
DM
11723 "type" : "string",
11724 "typetext" : "<string>"
7aacca6f 11725 },
44660702
DM
11726 "skiplock" : {
11727 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 11728 "optional" : 1,
013dc89f
DM
11729 "type" : "boolean",
11730 "typetext" : "<boolean>"
56122987 11731 },
44660702
DM
11732 "stateuri" : {
11733 "description" : "Some command save/restore state from this location.",
11734 "maxLength" : 128,
56122987 11735 "optional" : 1,
013dc89f
DM
11736 "type" : "string",
11737 "typetext" : "<string>"
56122987 11738 },
52e44c50
FG
11739 "targetstorage" : {
11740 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
11741 "optional" : 1,
11742 "type" : "string",
11743 "typetext" : "<string>"
11744 },
56122987 11745 "vmid" : {
7aacca6f 11746 "description" : "The (unique) ID of the VM.",
44660702
DM
11747 "format" : "pve-vmid",
11748 "minimum" : 1,
4bd7df8b 11749 "type" : "integer",
013dc89f 11750 "typetext" : "<integer> (1 - N)"
56122987 11751 }
44660702 11752 }
7aacca6f 11753 },
56122987
DM
11754 "permissions" : {
11755 "check" : [
11756 "perm",
11757 "/vms/{vmid}",
11758 [
11759 "VM.PowerMgmt"
11760 ]
11761 ]
44660702
DM
11762 },
11763 "protected" : 1,
11764 "proxyto" : "node",
11765 "returns" : {
11766 "type" : "string"
56122987
DM
11767 }
11768 }
44660702
DM
11769 },
11770 "leaf" : 1,
11771 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
11772 "text" : "start"
56122987
DM
11773 },
11774 {
56122987
DM
11775 "info" : {
11776 "POST" : {
7aacca6f 11777 "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
11778 "method" : "POST",
11779 "name" : "vm_stop",
56122987 11780 "parameters" : {
44660702 11781 "additionalProperties" : 0,
56122987 11782 "properties" : {
44660702
DM
11783 "keepActive" : {
11784 "default" : 0,
de0983cb 11785 "description" : "Do not deactivate storage volumes.",
56122987 11786 "optional" : 1,
013dc89f
DM
11787 "type" : "boolean",
11788 "typetext" : "<boolean>"
56122987
DM
11789 },
11790 "migratedfrom" : {
56122987 11791 "description" : "The cluster node name.",
44660702 11792 "format" : "pve-node",
7aacca6f 11793 "optional" : 1,
013dc89f
DM
11794 "type" : "string",
11795 "typetext" : "<string>"
7aacca6f 11796 },
44660702
DM
11797 "node" : {
11798 "description" : "The cluster node name.",
11799 "format" : "pve-node",
013dc89f
DM
11800 "type" : "string",
11801 "typetext" : "<string>"
56122987
DM
11802 },
11803 "skiplock" : {
11804 "description" : "Ignore locks - only root is allowed to use this option.",
11805 "optional" : 1,
013dc89f
DM
11806 "type" : "boolean",
11807 "typetext" : "<boolean>"
56122987 11808 },
44660702
DM
11809 "timeout" : {
11810 "description" : "Wait maximal timeout seconds.",
11811 "minimum" : 0,
56122987 11812 "optional" : 1,
4bd7df8b 11813 "type" : "integer",
013dc89f 11814 "typetext" : "<integer> (0 - N)"
7aacca6f 11815 },
44660702
DM
11816 "vmid" : {
11817 "description" : "The (unique) ID of the VM.",
11818 "format" : "pve-vmid",
11819 "minimum" : 1,
4bd7df8b 11820 "type" : "integer",
013dc89f 11821 "typetext" : "<integer> (1 - N)"
56122987 11822 }
44660702 11823 }
56122987 11824 },
56122987
DM
11825 "permissions" : {
11826 "check" : [
11827 "perm",
11828 "/vms/{vmid}",
11829 [
11830 "VM.PowerMgmt"
11831 ]
11832 ]
11833 },
44660702
DM
11834 "protected" : 1,
11835 "proxyto" : "node",
7aacca6f
DM
11836 "returns" : {
11837 "type" : "string"
44660702
DM
11838 }
11839 }
11840 },
11841 "leaf" : 1,
11842 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
11843 "text" : "stop"
11844 },
11845 {
11846 "info" : {
11847 "POST" : {
11848 "description" : "Reset virtual machine.",
11849 "method" : "POST",
11850 "name" : "vm_reset",
56122987 11851 "parameters" : {
7aacca6f 11852 "additionalProperties" : 0,
56122987 11853 "properties" : {
56122987
DM
11854 "node" : {
11855 "description" : "The cluster node name.",
44660702 11856 "format" : "pve-node",
013dc89f
DM
11857 "type" : "string",
11858 "typetext" : "<string>"
56122987
DM
11859 },
11860 "skiplock" : {
44660702 11861 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 11862 "optional" : 1,
013dc89f
DM
11863 "type" : "boolean",
11864 "typetext" : "<boolean>"
7aacca6f
DM
11865 },
11866 "vmid" : {
44660702 11867 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11868 "format" : "pve-vmid",
11869 "minimum" : 1,
4bd7df8b 11870 "type" : "integer",
013dc89f 11871 "typetext" : "<integer> (1 - N)"
56122987 11872 }
7aacca6f 11873 }
56122987 11874 },
7aacca6f
DM
11875 "permissions" : {
11876 "check" : [
11877 "perm",
11878 "/vms/{vmid}",
11879 [
11880 "VM.PowerMgmt"
11881 ]
11882 ]
11883 },
44660702 11884 "protected" : 1,
7aacca6f 11885 "proxyto" : "node",
56122987
DM
11886 "returns" : {
11887 "type" : "string"
44660702
DM
11888 }
11889 }
11890 },
11891 "leaf" : 1,
11892 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
11893 "text" : "reset"
11894 },
11895 {
11896 "info" : {
11897 "POST" : {
11898 "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.",
11899 "method" : "POST",
56122987 11900 "name" : "vm_shutdown",
56122987 11901 "parameters" : {
7aacca6f 11902 "additionalProperties" : 0,
56122987 11903 "properties" : {
56122987 11904 "forceStop" : {
56122987 11905 "default" : 0,
44660702 11906 "description" : "Make sure the VM stops.",
7aacca6f 11907 "optional" : 1,
013dc89f
DM
11908 "type" : "boolean",
11909 "typetext" : "<boolean>"
56122987
DM
11910 },
11911 "keepActive" : {
7aacca6f 11912 "default" : 0,
de0983cb 11913 "description" : "Do not deactivate storage volumes.",
44660702 11914 "optional" : 1,
013dc89f
DM
11915 "type" : "boolean",
11916 "typetext" : "<boolean>"
44660702
DM
11917 },
11918 "node" : {
11919 "description" : "The cluster node name.",
11920 "format" : "pve-node",
013dc89f
DM
11921 "type" : "string",
11922 "typetext" : "<string>"
44660702
DM
11923 },
11924 "skiplock" : {
11925 "description" : "Ignore locks - only root is allowed to use this option.",
11926 "optional" : 1,
013dc89f
DM
11927 "type" : "boolean",
11928 "typetext" : "<boolean>"
56122987 11929 },
7aacca6f 11930 "timeout" : {
7aacca6f 11931 "description" : "Wait maximal timeout seconds.",
44660702 11932 "minimum" : 0,
7aacca6f 11933 "optional" : 1,
4bd7df8b 11934 "type" : "integer",
013dc89f 11935 "typetext" : "<integer> (0 - N)"
7aacca6f 11936 },
56122987 11937 "vmid" : {
7aacca6f 11938 "description" : "The (unique) ID of the VM.",
44660702
DM
11939 "format" : "pve-vmid",
11940 "minimum" : 1,
4bd7df8b 11941 "type" : "integer",
013dc89f 11942 "typetext" : "<integer> (1 - N)"
56122987 11943 }
7aacca6f 11944 }
56122987 11945 },
44660702
DM
11946 "permissions" : {
11947 "check" : [
11948 "perm",
11949 "/vms/{vmid}",
11950 [
11951 "VM.PowerMgmt"
11952 ]
11953 ]
11954 },
7aacca6f 11955 "protected" : 1,
44660702
DM
11956 "proxyto" : "node",
11957 "returns" : {
11958 "type" : "string"
11959 }
56122987
DM
11960 }
11961 },
44660702 11962 "leaf" : 1,
7aacca6f 11963 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 11964 "text" : "shutdown"
56122987
DM
11965 },
11966 {
56122987
DM
11967 "info" : {
11968 "POST" : {
44660702 11969 "description" : "Suspend virtual machine.",
56122987 11970 "method" : "POST",
44660702 11971 "name" : "vm_suspend",
7aacca6f 11972 "parameters" : {
44660702 11973 "additionalProperties" : 0,
7aacca6f
DM
11974 "properties" : {
11975 "node" : {
7aacca6f 11976 "description" : "The cluster node name.",
44660702 11977 "format" : "pve-node",
013dc89f
DM
11978 "type" : "string",
11979 "typetext" : "<string>"
7aacca6f
DM
11980 },
11981 "skiplock" : {
11982 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 11983 "optional" : 1,
013dc89f
DM
11984 "type" : "boolean",
11985 "typetext" : "<boolean>"
44660702
DM
11986 },
11987 "vmid" : {
11988 "description" : "The (unique) ID of the VM.",
11989 "format" : "pve-vmid",
11990 "minimum" : 1,
4bd7df8b 11991 "type" : "integer",
013dc89f 11992 "typetext" : "<integer> (1 - N)"
44660702
DM
11993 }
11994 }
56122987
DM
11995 },
11996 "permissions" : {
11997 "check" : [
11998 "perm",
11999 "/vms/{vmid}",
12000 [
12001 "VM.PowerMgmt"
12002 ]
12003 ]
12004 },
44660702
DM
12005 "protected" : 1,
12006 "proxyto" : "node",
12007 "returns" : {
12008 "type" : "string"
12009 }
56122987
DM
12010 }
12011 },
44660702 12012 "leaf" : 1,
7aacca6f 12013 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 12014 "text" : "suspend"
56122987
DM
12015 },
12016 {
56122987
DM
12017 "info" : {
12018 "POST" : {
44660702
DM
12019 "description" : "Resume virtual machine.",
12020 "method" : "POST",
7aacca6f 12021 "name" : "vm_resume",
56122987
DM
12022 "parameters" : {
12023 "additionalProperties" : 0,
12024 "properties" : {
44660702
DM
12025 "nocheck" : {
12026 "optional" : 1,
013dc89f
DM
12027 "type" : "boolean",
12028 "typetext" : "<boolean>"
44660702 12029 },
7aacca6f 12030 "node" : {
44660702 12031 "description" : "The cluster node name.",
7aacca6f 12032 "format" : "pve-node",
013dc89f
DM
12033 "type" : "string",
12034 "typetext" : "<string>"
56122987
DM
12035 },
12036 "skiplock" : {
56122987 12037 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 12038 "optional" : 1,
013dc89f
DM
12039 "type" : "boolean",
12040 "typetext" : "<boolean>"
56122987 12041 },
7aacca6f 12042 "vmid" : {
7aacca6f
DM
12043 "description" : "The (unique) ID of the VM.",
12044 "format" : "pve-vmid",
44660702 12045 "minimum" : 1,
4bd7df8b 12046 "type" : "integer",
013dc89f 12047 "typetext" : "<integer> (1 - N)"
56122987
DM
12048 }
12049 }
12050 },
12051 "permissions" : {
12052 "check" : [
12053 "perm",
12054 "/vms/{vmid}",
12055 [
12056 "VM.PowerMgmt"
12057 ]
12058 ]
12059 },
44660702
DM
12060 "protected" : 1,
12061 "proxyto" : "node",
56122987
DM
12062 "returns" : {
12063 "type" : "string"
7aacca6f 12064 }
56122987
DM
12065 }
12066 },
44660702
DM
12067 "leaf" : 1,
12068 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 12069 "text" : "resume"
56122987
DM
12070 }
12071 ],
12072 "info" : {
44660702
DM
12073 "GET" : {
12074 "description" : "Directory index",
12075 "method" : "GET",
12076 "name" : "vmcmdidx",
56122987 12077 "parameters" : {
44660702 12078 "additionalProperties" : 0,
56122987 12079 "properties" : {
44660702
DM
12080 "node" : {
12081 "description" : "The cluster node name.",
12082 "format" : "pve-node",
013dc89f
DM
12083 "type" : "string",
12084 "typetext" : "<string>"
7aacca6f 12085 },
56122987 12086 "vmid" : {
7aacca6f 12087 "description" : "The (unique) ID of the VM.",
44660702
DM
12088 "format" : "pve-vmid",
12089 "minimum" : 1,
4bd7df8b 12090 "type" : "integer",
013dc89f 12091 "typetext" : "<integer> (1 - N)"
56122987 12092 }
44660702 12093 }
56122987 12094 },
44660702
DM
12095 "permissions" : {
12096 "user" : "all"
12097 },
12098 "proxyto" : "node",
12099 "returns" : {
12100 "items" : {
12101 "properties" : {
12102 "subdir" : {
12103 "type" : "string"
12104 }
12105 },
12106 "type" : "object"
12107 },
12108 "links" : [
12109 {
12110 "href" : "{subdir}",
12111 "rel" : "child"
12112 }
12113 ],
12114 "type" : "array"
12115 }
56122987 12116 }
7aacca6f 12117 },
44660702
DM
12118 "leaf" : 0,
12119 "path" : "/nodes/{node}/qemu/{vmid}/status",
12120 "text" : "status"
56122987
DM
12121 },
12122 {
56122987 12123 "info" : {
44660702
DM
12124 "PUT" : {
12125 "description" : "Send key event to virtual machine.",
12126 "method" : "PUT",
12127 "name" : "vm_sendkey",
12128 "parameters" : {
12129 "additionalProperties" : 0,
56122987 12130 "properties" : {
44660702
DM
12131 "key" : {
12132 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
12133 "type" : "string",
12134 "typetext" : "<string>"
44660702
DM
12135 },
12136 "node" : {
12137 "description" : "The cluster node name.",
12138 "format" : "pve-node",
013dc89f
DM
12139 "type" : "string",
12140 "typetext" : "<string>"
44660702
DM
12141 },
12142 "skiplock" : {
12143 "description" : "Ignore locks - only root is allowed to use this option.",
12144 "optional" : 1,
013dc89f
DM
12145 "type" : "boolean",
12146 "typetext" : "<boolean>"
7aacca6f 12147 },
44660702
DM
12148 "vmid" : {
12149 "description" : "The (unique) ID of the VM.",
12150 "format" : "pve-vmid",
12151 "minimum" : 1,
4bd7df8b 12152 "type" : "integer",
013dc89f 12153 "typetext" : "<integer> (1 - N)"
56122987 12154 }
7aacca6f 12155 }
56122987 12156 },
56122987
DM
12157 "permissions" : {
12158 "check" : [
12159 "perm",
12160 "/vms/{vmid}",
12161 [
44660702 12162 "VM.Console"
56122987
DM
12163 ]
12164 ]
12165 },
7aacca6f 12166 "protected" : 1,
44660702
DM
12167 "proxyto" : "node",
12168 "returns" : {
12169 "type" : "null"
12170 }
12171 }
12172 },
12173 "leaf" : 1,
12174 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
12175 "text" : "sendkey"
12176 },
12177 {
12178 "info" : {
12179 "GET" : {
12180 "description" : "Check if feature for virtual machine is available.",
12181 "method" : "GET",
7aacca6f 12182 "name" : "vm_feature",
56122987 12183 "parameters" : {
44660702 12184 "additionalProperties" : 0,
56122987 12185 "properties" : {
56122987 12186 "feature" : {
44660702 12187 "description" : "Feature to check.",
56122987
DM
12188 "enum" : [
12189 "snapshot",
12190 "clone",
12191 "copy"
12192 ],
44660702
DM
12193 "type" : "string"
12194 },
12195 "node" : {
12196 "description" : "The cluster node name.",
12197 "format" : "pve-node",
013dc89f
DM
12198 "type" : "string",
12199 "typetext" : "<string>"
56122987
DM
12200 },
12201 "snapname" : {
56122987 12202 "description" : "The name of the snapshot.",
44660702
DM
12203 "format" : "pve-configid",
12204 "maxLength" : 40,
7aacca6f 12205 "optional" : 1,
013dc89f
DM
12206 "type" : "string",
12207 "typetext" : "<string>"
7aacca6f 12208 },
44660702
DM
12209 "vmid" : {
12210 "description" : "The (unique) ID of the VM.",
12211 "format" : "pve-vmid",
12212 "minimum" : 1,
4bd7df8b 12213 "type" : "integer",
013dc89f 12214 "typetext" : "<integer> (1 - N)"
44660702
DM
12215 }
12216 }
12217 },
12218 "permissions" : {
12219 "check" : [
12220 "perm",
12221 "/vms/{vmid}",
12222 [
12223 "VM.Audit"
12224 ]
12225 ]
12226 },
12227 "protected" : 1,
12228 "proxyto" : "node",
12229 "returns" : {
12230 "properties" : {
12231 "hasFeature" : {
12232 "type" : "boolean"
12233 },
12234 "nodes" : {
12235 "items" : {
12236 "type" : "string"
12237 },
12238 "type" : "array"
56122987
DM
12239 }
12240 },
44660702 12241 "type" : "object"
56122987
DM
12242 }
12243 }
12244 },
7aacca6f 12245 "leaf" : 1,
44660702
DM
12246 "path" : "/nodes/{node}/qemu/{vmid}/feature",
12247 "text" : "feature"
56122987
DM
12248 },
12249 {
56122987
DM
12250 "info" : {
12251 "POST" : {
44660702 12252 "description" : "Create a copy of virtual machine/template.",
56122987 12253 "method" : "POST",
7aacca6f 12254 "name" : "clone_vm",
56122987
DM
12255 "parameters" : {
12256 "additionalProperties" : 0,
12257 "properties" : {
44660702
DM
12258 "description" : {
12259 "description" : "Description for the new VM.",
56122987 12260 "optional" : 1,
013dc89f
DM
12261 "type" : "string",
12262 "typetext" : "<string>"
56122987 12263 },
44660702 12264 "format" : {
27a7acb2 12265 "description" : "Target format for file storage. Only valid for full clone.",
44660702
DM
12266 "enum" : [
12267 "raw",
12268 "qcow2",
12269 "vmdk"
12270 ],
12271 "optional" : 1,
56122987
DM
12272 "type" : "string"
12273 },
44660702 12274 "full" : {
27a7acb2 12275 "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 12276 "optional" : 1,
013dc89f
DM
12277 "type" : "boolean",
12278 "typetext" : "<boolean>"
44660702
DM
12279 },
12280 "name" : {
56122987 12281 "description" : "Set a name for the new VM.",
44660702
DM
12282 "format" : "dns-name",
12283 "optional" : 1,
013dc89f
DM
12284 "type" : "string",
12285 "typetext" : "<string>"
44660702
DM
12286 },
12287 "newid" : {
12288 "description" : "VMID for the clone.",
12289 "format" : "pve-vmid",
12290 "minimum" : 1,
4bd7df8b 12291 "type" : "integer",
013dc89f 12292 "typetext" : "<integer> (1 - N)"
44660702
DM
12293 },
12294 "node" : {
12295 "description" : "The cluster node name.",
12296 "format" : "pve-node",
013dc89f
DM
12297 "type" : "string",
12298 "typetext" : "<string>"
7aacca6f
DM
12299 },
12300 "pool" : {
12301 "description" : "Add the new VM to the specified pool.",
44660702 12302 "format" : "pve-poolid",
56122987 12303 "optional" : 1,
013dc89f
DM
12304 "type" : "string",
12305 "typetext" : "<string>"
56122987 12306 },
44660702
DM
12307 "snapname" : {
12308 "description" : "The name of the snapshot.",
12309 "format" : "pve-configid",
12310 "maxLength" : 40,
7aacca6f 12311 "optional" : 1,
013dc89f
DM
12312 "type" : "string",
12313 "typetext" : "<string>"
56122987 12314 },
44660702
DM
12315 "storage" : {
12316 "description" : "Target storage for full clone.",
12317 "format" : "pve-storage-id",
7aacca6f 12318 "optional" : 1,
013dc89f
DM
12319 "type" : "string",
12320 "typetext" : "<string>"
56122987 12321 },
44660702
DM
12322 "target" : {
12323 "description" : "Target node. Only allowed if the original VM is on shared storage.",
12324 "format" : "pve-node",
56122987 12325 "optional" : 1,
013dc89f
DM
12326 "type" : "string",
12327 "typetext" : "<string>"
44660702
DM
12328 },
12329 "vmid" : {
12330 "description" : "The (unique) ID of the VM.",
12331 "format" : "pve-vmid",
12332 "minimum" : 1,
4bd7df8b 12333 "type" : "integer",
013dc89f 12334 "typetext" : "<integer> (1 - N)"
56122987
DM
12335 }
12336 }
12337 },
56122987
DM
12338 "permissions" : {
12339 "check" : [
12340 "and",
12341 [
12342 "perm",
12343 "/vms/{vmid}",
12344 [
12345 "VM.Clone"
12346 ]
12347 ],
12348 [
12349 "or",
12350 [
12351 "perm",
12352 "/vms/{newid}",
12353 [
12354 "VM.Allocate"
12355 ]
12356 ],
12357 [
12358 "perm",
12359 "/pool/{pool}",
12360 [
12361 "VM.Allocate"
12362 ],
12363 "require_param",
12364 "pool"
12365 ]
12366 ]
44660702
DM
12367 ],
12368 "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."
12369 },
12370 "protected" : 1,
12371 "proxyto" : "node",
12372 "returns" : {
12373 "type" : "string"
56122987
DM
12374 }
12375 }
12376 },
44660702
DM
12377 "leaf" : 1,
12378 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
12379 "text" : "clone"
12380 },
12381 {
56122987
DM
12382 "info" : {
12383 "POST" : {
7aacca6f 12384 "description" : "Move volume to different storage.",
44660702
DM
12385 "method" : "POST",
12386 "name" : "move_vm_disk",
56122987
DM
12387 "parameters" : {
12388 "additionalProperties" : 0,
12389 "properties" : {
12390 "delete" : {
44660702 12391 "default" : 0,
56122987 12392 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 12393 "optional" : 1,
013dc89f
DM
12394 "type" : "boolean",
12395 "typetext" : "<boolean>"
56122987 12396 },
44660702
DM
12397 "digest" : {
12398 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12399 "maxLength" : 40,
12400 "optional" : 1,
013dc89f
DM
12401 "type" : "string",
12402 "typetext" : "<string>"
56122987 12403 },
56122987 12404 "disk" : {
56122987
DM
12405 "description" : "The disk you want to move.",
12406 "enum" : [
12407 "ide0",
12408 "ide1",
12409 "ide2",
12410 "ide3",
12411 "scsi0",
12412 "scsi1",
12413 "scsi2",
12414 "scsi3",
12415 "scsi4",
12416 "scsi5",
12417 "scsi6",
12418 "scsi7",
12419 "scsi8",
12420 "scsi9",
12421 "scsi10",
12422 "scsi11",
12423 "scsi12",
12424 "scsi13",
12425 "virtio0",
12426 "virtio1",
12427 "virtio2",
12428 "virtio3",
12429 "virtio4",
12430 "virtio5",
12431 "virtio6",
12432 "virtio7",
12433 "virtio8",
12434 "virtio9",
12435 "virtio10",
12436 "virtio11",
12437 "virtio12",
12438 "virtio13",
12439 "virtio14",
12440 "virtio15",
12441 "sata0",
12442 "sata1",
12443 "sata2",
12444 "sata3",
12445 "sata4",
2c0dde61
DM
12446 "sata5",
12447 "efidisk0"
44660702
DM
12448 ],
12449 "type" : "string"
7aacca6f
DM
12450 },
12451 "format" : {
12452 "description" : "Target Format.",
12453 "enum" : [
12454 "raw",
12455 "qcow2",
12456 "vmdk"
12457 ],
12458 "optional" : 1,
12459 "type" : "string"
44660702
DM
12460 },
12461 "node" : {
12462 "description" : "The cluster node name.",
12463 "format" : "pve-node",
013dc89f
DM
12464 "type" : "string",
12465 "typetext" : "<string>"
44660702
DM
12466 },
12467 "storage" : {
12468 "description" : "Target storage.",
12469 "format" : "pve-storage-id",
013dc89f
DM
12470 "type" : "string",
12471 "typetext" : "<string>"
44660702
DM
12472 },
12473 "vmid" : {
12474 "description" : "The (unique) ID of the VM.",
12475 "format" : "pve-vmid",
12476 "minimum" : 1,
4bd7df8b 12477 "type" : "integer",
013dc89f 12478 "typetext" : "<integer> (1 - N)"
56122987
DM
12479 }
12480 }
12481 },
44660702
DM
12482 "permissions" : {
12483 "check" : [
12484 "and",
12485 [
12486 "perm",
12487 "/vms/{vmid}",
12488 [
12489 "VM.Config.Disk"
12490 ]
12491 ],
12492 [
12493 "perm",
12494 "/storage/{storage}",
12495 [
12496 "Datastore.AllocateSpace"
12497 ]
12498 ]
12499 ],
12500 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
12501 },
12502 "protected" : 1,
12503 "proxyto" : "node",
12504 "returns" : {
12505 "description" : "the task ID.",
12506 "type" : "string"
12507 }
56122987 12508 }
7aacca6f 12509 },
44660702 12510 "leaf" : 1,
7aacca6f 12511 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 12512 "text" : "move_disk"
56122987
DM
12513 },
12514 {
56122987
DM
12515 "info" : {
12516 "POST" : {
7aacca6f 12517 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 12518 "method" : "POST",
7aacca6f 12519 "name" : "migrate_vm",
56122987 12520 "parameters" : {
44660702 12521 "additionalProperties" : 0,
56122987 12522 "properties" : {
44660702
DM
12523 "force" : {
12524 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
12525 "optional" : 1,
013dc89f
DM
12526 "type" : "boolean",
12527 "typetext" : "<boolean>"
44660702 12528 },
de0983cb
DM
12529 "migration_network" : {
12530 "description" : "CIDR of the (sub) network that is used for migration.",
12531 "format" : "CIDR",
12532 "optional" : 1,
013dc89f
DM
12533 "type" : "string",
12534 "typetext" : "<string>"
de0983cb
DM
12535 },
12536 "migration_type" : {
12537 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
12538 "enum" : [
12539 "secure",
12540 "insecure"
12541 ],
12542 "optional" : 1,
12543 "type" : "string"
12544 },
7aacca6f 12545 "node" : {
44660702 12546 "description" : "The cluster node name.",
7aacca6f 12547 "format" : "pve-node",
013dc89f
DM
12548 "type" : "string",
12549 "typetext" : "<string>"
56122987
DM
12550 },
12551 "online" : {
44660702 12552 "description" : "Use online/live migration.",
56122987 12553 "optional" : 1,
013dc89f
DM
12554 "type" : "boolean",
12555 "typetext" : "<boolean>"
56122987 12556 },
44660702
DM
12557 "target" : {
12558 "description" : "Target node.",
12559 "format" : "pve-node",
013dc89f
DM
12560 "type" : "string",
12561 "typetext" : "<string>"
56122987 12562 },
52e44c50
FG
12563 "targetstorage" : {
12564 "description" : "Default target storage.",
12565 "format" : "pve-storage-id",
12566 "optional" : 1,
12567 "type" : "string",
12568 "typetext" : "<string>"
12569 },
7aacca6f 12570 "vmid" : {
7aacca6f 12571 "description" : "The (unique) ID of the VM.",
44660702 12572 "format" : "pve-vmid",
7aacca6f 12573 "minimum" : 1,
4bd7df8b 12574 "type" : "integer",
013dc89f 12575 "typetext" : "<integer> (1 - N)"
52e44c50
FG
12576 },
12577 "with-local-disks" : {
12578 "description" : "Enable live storage migration for local disk",
12579 "optional" : 1,
12580 "type" : "boolean",
12581 "typetext" : "<boolean>"
56122987 12582 }
44660702
DM
12583 }
12584 },
12585 "permissions" : {
12586 "check" : [
12587 "perm",
12588 "/vms/{vmid}",
12589 [
12590 "VM.Migrate"
12591 ]
12592 ]
56122987
DM
12593 },
12594 "protected" : 1,
44660702
DM
12595 "proxyto" : "node",
12596 "returns" : {
12597 "description" : "the task ID.",
12598 "type" : "string"
12599 }
56122987 12600 }
7aacca6f 12601 },
44660702
DM
12602 "leaf" : 1,
12603 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 12604 "text" : "migrate"
56122987
DM
12605 },
12606 {
12607 "info" : {
12608 "POST" : {
44660702 12609 "description" : "Execute Qemu monitor commands.",
56122987 12610 "method" : "POST",
44660702 12611 "name" : "monitor",
56122987 12612 "parameters" : {
7aacca6f 12613 "additionalProperties" : 0,
56122987 12614 "properties" : {
44660702
DM
12615 "command" : {
12616 "description" : "The monitor command.",
013dc89f
DM
12617 "type" : "string",
12618 "typetext" : "<string>"
44660702 12619 },
56122987 12620 "node" : {
44660702 12621 "description" : "The cluster node name.",
7aacca6f 12622 "format" : "pve-node",
013dc89f
DM
12623 "type" : "string",
12624 "typetext" : "<string>"
56122987
DM
12625 },
12626 "vmid" : {
44660702 12627 "description" : "The (unique) ID of the VM.",
56122987 12628 "format" : "pve-vmid",
7aacca6f 12629 "minimum" : 1,
4bd7df8b 12630 "type" : "integer",
013dc89f 12631 "typetext" : "<integer> (1 - N)"
56122987 12632 }
7aacca6f 12633 }
56122987 12634 },
56122987
DM
12635 "permissions" : {
12636 "check" : [
12637 "perm",
12638 "/vms/{vmid}",
12639 [
12640 "VM.Monitor"
12641 ]
32d876b5
DM
12642 ],
12643 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 12644 },
44660702
DM
12645 "protected" : 1,
12646 "proxyto" : "node",
12647 "returns" : {
12648 "type" : "string"
12649 }
56122987 12650 }
44660702
DM
12651 },
12652 "leaf" : 1,
12653 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
12654 "text" : "monitor"
56122987
DM
12655 },
12656 {
56122987
DM
12657 "info" : {
12658 "PUT" : {
44660702
DM
12659 "description" : "Extend volume size.",
12660 "method" : "PUT",
12661 "name" : "resize_vm",
56122987 12662 "parameters" : {
44660702 12663 "additionalProperties" : 0,
56122987 12664 "properties" : {
44660702
DM
12665 "digest" : {
12666 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12667 "maxLength" : 40,
12668 "optional" : 1,
013dc89f
DM
12669 "type" : "string",
12670 "typetext" : "<string>"
56122987 12671 },
56122987
DM
12672 "disk" : {
12673 "description" : "The disk you want to resize.",
12674 "enum" : [
12675 "ide0",
12676 "ide1",
12677 "ide2",
12678 "ide3",
12679 "scsi0",
12680 "scsi1",
12681 "scsi2",
12682 "scsi3",
12683 "scsi4",
12684 "scsi5",
12685 "scsi6",
12686 "scsi7",
12687 "scsi8",
12688 "scsi9",
12689 "scsi10",
12690 "scsi11",
12691 "scsi12",
12692 "scsi13",
12693 "virtio0",
12694 "virtio1",
12695 "virtio2",
12696 "virtio3",
12697 "virtio4",
12698 "virtio5",
12699 "virtio6",
12700 "virtio7",
12701 "virtio8",
12702 "virtio9",
12703 "virtio10",
12704 "virtio11",
12705 "virtio12",
12706 "virtio13",
12707 "virtio14",
12708 "virtio15",
12709 "sata0",
12710 "sata1",
12711 "sata2",
12712 "sata3",
12713 "sata4",
2c0dde61
DM
12714 "sata5",
12715 "efidisk0"
44660702
DM
12716 ],
12717 "type" : "string"
56122987 12718 },
44660702
DM
12719 "node" : {
12720 "description" : "The cluster node name.",
12721 "format" : "pve-node",
013dc89f
DM
12722 "type" : "string",
12723 "typetext" : "<string>"
7aacca6f 12724 },
44660702 12725 "size" : {
5d9c884c 12726 "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
12727 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
12728 "type" : "string"
56122987
DM
12729 },
12730 "skiplock" : {
12731 "description" : "Ignore locks - only root is allowed to use this option.",
12732 "optional" : 1,
013dc89f
DM
12733 "type" : "boolean",
12734 "typetext" : "<boolean>"
56122987
DM
12735 },
12736 "vmid" : {
7aacca6f 12737 "description" : "The (unique) ID of the VM.",
56122987 12738 "format" : "pve-vmid",
44660702 12739 "minimum" : 1,
4bd7df8b 12740 "type" : "integer",
013dc89f 12741 "typetext" : "<integer> (1 - N)"
56122987
DM
12742 }
12743 }
12744 },
12745 "permissions" : {
12746 "check" : [
12747 "perm",
12748 "/vms/{vmid}",
12749 [
44660702 12750 "VM.Config.Disk"
56122987
DM
12751 ]
12752 ]
12753 },
7aacca6f 12754 "protected" : 1,
7aacca6f 12755 "proxyto" : "node",
44660702
DM
12756 "returns" : {
12757 "type" : "null"
12758 }
7aacca6f
DM
12759 }
12760 },
44660702
DM
12761 "leaf" : 1,
12762 "path" : "/nodes/{node}/qemu/{vmid}/resize",
12763 "text" : "resize"
12764 },
12765 {
56122987
DM
12766 "children" : [
12767 {
12768 "children" : [
12769 {
56122987 12770 "info" : {
44660702
DM
12771 "GET" : {
12772 "description" : "Get snapshot configuration",
12773 "method" : "GET",
12774 "name" : "get_snapshot_config",
56122987 12775 "parameters" : {
44660702 12776 "additionalProperties" : 0,
56122987 12777 "properties" : {
56122987 12778 "node" : {
44660702 12779 "description" : "The cluster node name.",
56122987 12780 "format" : "pve-node",
013dc89f
DM
12781 "type" : "string",
12782 "typetext" : "<string>"
7aacca6f
DM
12783 },
12784 "snapname" : {
44660702 12785 "description" : "The name of the snapshot.",
7aacca6f 12786 "format" : "pve-configid",
44660702 12787 "maxLength" : 40,
013dc89f
DM
12788 "type" : "string",
12789 "typetext" : "<string>"
7aacca6f
DM
12790 },
12791 "vmid" : {
44660702 12792 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
12793 "format" : "pve-vmid",
12794 "minimum" : 1,
4bd7df8b 12795 "type" : "integer",
013dc89f 12796 "typetext" : "<integer> (1 - N)"
56122987 12797 }
44660702 12798 }
56122987
DM
12799 },
12800 "permissions" : {
12801 "check" : [
12802 "perm",
12803 "/vms/{vmid}",
12804 [
2489d6df
WB
12805 "VM.Snapshot",
12806 "VM.Snapshot.Rollback"
12807 ],
12808 "any",
12809 1
56122987
DM
12810 ]
12811 },
44660702 12812 "proxyto" : "node",
56122987 12813 "returns" : {
44660702 12814 "type" : "object"
7aacca6f
DM
12815 }
12816 },
44660702
DM
12817 "PUT" : {
12818 "description" : "Update snapshot metadata.",
12819 "method" : "PUT",
12820 "name" : "update_snapshot_config",
56122987 12821 "parameters" : {
44660702 12822 "additionalProperties" : 0,
56122987 12823 "properties" : {
44660702
DM
12824 "description" : {
12825 "description" : "A textual description or comment.",
12826 "optional" : 1,
013dc89f
DM
12827 "type" : "string",
12828 "typetext" : "<string>"
44660702 12829 },
56122987 12830 "node" : {
7aacca6f 12831 "description" : "The cluster node name.",
44660702 12832 "format" : "pve-node",
013dc89f
DM
12833 "type" : "string",
12834 "typetext" : "<string>"
56122987 12835 },
56122987
DM
12836 "snapname" : {
12837 "description" : "The name of the snapshot.",
44660702 12838 "format" : "pve-configid",
7aacca6f 12839 "maxLength" : 40,
013dc89f
DM
12840 "type" : "string",
12841 "typetext" : "<string>"
7aacca6f
DM
12842 },
12843 "vmid" : {
12844 "description" : "The (unique) ID of the VM.",
44660702 12845 "format" : "pve-vmid",
7aacca6f 12846 "minimum" : 1,
4bd7df8b 12847 "type" : "integer",
013dc89f 12848 "typetext" : "<integer> (1 - N)"
56122987 12849 }
44660702 12850 }
56122987 12851 },
7aacca6f
DM
12852 "permissions" : {
12853 "check" : [
12854 "perm",
12855 "/vms/{vmid}",
12856 [
12857 "VM.Snapshot"
12858 ]
12859 ]
44660702
DM
12860 },
12861 "protected" : 1,
12862 "proxyto" : "node",
12863 "returns" : {
12864 "type" : "null"
7aacca6f 12865 }
56122987
DM
12866 }
12867 },
44660702 12868 "leaf" : 1,
7aacca6f 12869 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 12870 "text" : "config"
56122987
DM
12871 },
12872 {
56122987
DM
12873 "info" : {
12874 "POST" : {
44660702 12875 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 12876 "method" : "POST",
44660702 12877 "name" : "rollback",
56122987
DM
12878 "parameters" : {
12879 "additionalProperties" : 0,
12880 "properties" : {
44660702
DM
12881 "node" : {
12882 "description" : "The cluster node name.",
12883 "format" : "pve-node",
013dc89f
DM
12884 "type" : "string",
12885 "typetext" : "<string>"
44660702 12886 },
56122987 12887 "snapname" : {
44660702 12888 "description" : "The name of the snapshot.",
56122987
DM
12889 "format" : "pve-configid",
12890 "maxLength" : 40,
013dc89f
DM
12891 "type" : "string",
12892 "typetext" : "<string>"
7aacca6f 12893 },
56122987 12894 "vmid" : {
7aacca6f 12895 "description" : "The (unique) ID of the VM.",
44660702 12896 "format" : "pve-vmid",
56122987 12897 "minimum" : 1,
4bd7df8b 12898 "type" : "integer",
013dc89f 12899 "typetext" : "<integer> (1 - N)"
56122987
DM
12900 }
12901 }
12902 },
7aacca6f 12903 "permissions" : {
56122987
DM
12904 "check" : [
12905 "perm",
12906 "/vms/{vmid}",
12907 [
2489d6df
WB
12908 "VM.Snapshot",
12909 "VM.Snapshot.Rollback"
12910 ],
12911 "any",
12912 1
56122987
DM
12913 ]
12914 },
44660702 12915 "protected" : 1,
7aacca6f 12916 "proxyto" : "node",
44660702
DM
12917 "returns" : {
12918 "description" : "the task ID.",
12919 "type" : "string"
12920 }
56122987
DM
12921 }
12922 },
44660702
DM
12923 "leaf" : 1,
12924 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 12925 "text" : "rollback"
56122987 12926 }
44660702
DM
12927 ],
12928 "info" : {
12929 "DELETE" : {
12930 "description" : "Delete a VM snapshot.",
12931 "method" : "DELETE",
12932 "name" : "delsnapshot",
12933 "parameters" : {
12934 "additionalProperties" : 0,
12935 "properties" : {
12936 "force" : {
12937 "description" : "For removal from config file, even if removing disk snapshots fails.",
12938 "optional" : 1,
013dc89f
DM
12939 "type" : "boolean",
12940 "typetext" : "<boolean>"
44660702
DM
12941 },
12942 "node" : {
12943 "description" : "The cluster node name.",
12944 "format" : "pve-node",
013dc89f
DM
12945 "type" : "string",
12946 "typetext" : "<string>"
44660702
DM
12947 },
12948 "snapname" : {
12949 "description" : "The name of the snapshot.",
12950 "format" : "pve-configid",
12951 "maxLength" : 40,
013dc89f
DM
12952 "type" : "string",
12953 "typetext" : "<string>"
44660702
DM
12954 },
12955 "vmid" : {
12956 "description" : "The (unique) ID of the VM.",
12957 "format" : "pve-vmid",
12958 "minimum" : 1,
4bd7df8b 12959 "type" : "integer",
013dc89f 12960 "typetext" : "<integer> (1 - N)"
44660702
DM
12961 }
12962 }
12963 },
12964 "permissions" : {
12965 "check" : [
12966 "perm",
12967 "/vms/{vmid}",
12968 [
12969 "VM.Snapshot"
12970 ]
12971 ]
12972 },
12973 "protected" : 1,
12974 "proxyto" : "node",
12975 "returns" : {
12976 "description" : "the task ID.",
12977 "type" : "string"
12978 }
12979 },
12980 "GET" : {
12981 "description" : "",
12982 "method" : "GET",
12983 "name" : "snapshot_cmd_idx",
12984 "parameters" : {
12985 "additionalProperties" : 0,
12986 "properties" : {
12987 "node" : {
12988 "description" : "The cluster node name.",
12989 "format" : "pve-node",
013dc89f
DM
12990 "type" : "string",
12991 "typetext" : "<string>"
44660702
DM
12992 },
12993 "snapname" : {
12994 "description" : "The name of the snapshot.",
12995 "format" : "pve-configid",
12996 "maxLength" : 40,
013dc89f
DM
12997 "type" : "string",
12998 "typetext" : "<string>"
44660702
DM
12999 },
13000 "vmid" : {
13001 "description" : "The (unique) ID of the VM.",
13002 "format" : "pve-vmid",
13003 "minimum" : 1,
4bd7df8b 13004 "type" : "integer",
013dc89f 13005 "typetext" : "<integer> (1 - N)"
44660702
DM
13006 }
13007 }
13008 },
13009 "permissions" : {
13010 "user" : "all"
13011 },
13012 "returns" : {
13013 "items" : {
13014 "properties" : {},
13015 "type" : "object"
13016 },
13017 "links" : [
13018 {
13019 "href" : "{cmd}",
13020 "rel" : "child"
13021 }
13022 ],
13023 "type" : "array"
13024 }
13025 }
13026 },
13027 "leaf" : 0,
13028 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
13029 "text" : "{snapname}"
56122987
DM
13030 }
13031 ],
44660702
DM
13032 "info" : {
13033 "GET" : {
13034 "description" : "List all snapshots.",
13035 "method" : "GET",
13036 "name" : "snapshot_list",
13037 "parameters" : {
13038 "additionalProperties" : 0,
13039 "properties" : {
13040 "node" : {
13041 "description" : "The cluster node name.",
13042 "format" : "pve-node",
013dc89f
DM
13043 "type" : "string",
13044 "typetext" : "<string>"
44660702
DM
13045 },
13046 "vmid" : {
13047 "description" : "The (unique) ID of the VM.",
13048 "format" : "pve-vmid",
13049 "minimum" : 1,
4bd7df8b 13050 "type" : "integer",
013dc89f 13051 "typetext" : "<integer> (1 - N)"
44660702
DM
13052 }
13053 }
13054 },
13055 "permissions" : {
13056 "check" : [
13057 "perm",
13058 "/vms/{vmid}",
13059 [
13060 "VM.Audit"
13061 ]
13062 ]
13063 },
13064 "protected" : 1,
13065 "proxyto" : "node",
13066 "returns" : {
13067 "items" : {
13068 "properties" : {},
13069 "type" : "object"
13070 },
13071 "links" : [
13072 {
13073 "href" : "{name}",
13074 "rel" : "child"
13075 }
13076 ],
13077 "type" : "array"
13078 }
13079 },
13080 "POST" : {
13081 "description" : "Snapshot a VM.",
13082 "method" : "POST",
13083 "name" : "snapshot",
13084 "parameters" : {
13085 "additionalProperties" : 0,
13086 "properties" : {
13087 "description" : {
13088 "description" : "A textual description or comment.",
13089 "optional" : 1,
013dc89f
DM
13090 "type" : "string",
13091 "typetext" : "<string>"
44660702
DM
13092 },
13093 "node" : {
13094 "description" : "The cluster node name.",
13095 "format" : "pve-node",
013dc89f
DM
13096 "type" : "string",
13097 "typetext" : "<string>"
44660702
DM
13098 },
13099 "snapname" : {
13100 "description" : "The name of the snapshot.",
13101 "format" : "pve-configid",
13102 "maxLength" : 40,
013dc89f
DM
13103 "type" : "string",
13104 "typetext" : "<string>"
44660702
DM
13105 },
13106 "vmid" : {
13107 "description" : "The (unique) ID of the VM.",
13108 "format" : "pve-vmid",
13109 "minimum" : 1,
4bd7df8b 13110 "type" : "integer",
013dc89f 13111 "typetext" : "<integer> (1 - N)"
44660702
DM
13112 },
13113 "vmstate" : {
13114 "description" : "Save the vmstate",
13115 "optional" : 1,
013dc89f
DM
13116 "type" : "boolean",
13117 "typetext" : "<boolean>"
44660702
DM
13118 }
13119 }
13120 },
13121 "permissions" : {
13122 "check" : [
13123 "perm",
13124 "/vms/{vmid}",
13125 [
13126 "VM.Snapshot"
13127 ]
13128 ]
13129 },
13130 "protected" : 1,
13131 "proxyto" : "node",
13132 "returns" : {
13133 "description" : "the task ID.",
13134 "type" : "string"
13135 }
13136 }
13137 },
13138 "leaf" : 0,
13139 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 13140 "text" : "snapshot"
56122987
DM
13141 },
13142 {
56122987
DM
13143 "info" : {
13144 "POST" : {
44660702
DM
13145 "description" : "Create a Template.",
13146 "method" : "POST",
56122987 13147 "name" : "template",
56122987 13148 "parameters" : {
7aacca6f 13149 "additionalProperties" : 0,
56122987 13150 "properties" : {
56122987 13151 "disk" : {
56122987
DM
13152 "description" : "If you want to convert only 1 disk to base image.",
13153 "enum" : [
13154 "ide0",
13155 "ide1",
13156 "ide2",
13157 "ide3",
13158 "scsi0",
13159 "scsi1",
13160 "scsi2",
13161 "scsi3",
13162 "scsi4",
13163 "scsi5",
13164 "scsi6",
13165 "scsi7",
13166 "scsi8",
13167 "scsi9",
13168 "scsi10",
13169 "scsi11",
13170 "scsi12",
13171 "scsi13",
13172 "virtio0",
13173 "virtio1",
13174 "virtio2",
13175 "virtio3",
13176 "virtio4",
13177 "virtio5",
13178 "virtio6",
13179 "virtio7",
13180 "virtio8",
13181 "virtio9",
13182 "virtio10",
13183 "virtio11",
13184 "virtio12",
13185 "virtio13",
13186 "virtio14",
13187 "virtio15",
13188 "sata0",
13189 "sata1",
13190 "sata2",
13191 "sata3",
13192 "sata4",
2c0dde61
DM
13193 "sata5",
13194 "efidisk0"
56122987 13195 ],
7aacca6f 13196 "optional" : 1,
56122987
DM
13197 "type" : "string"
13198 },
44660702
DM
13199 "node" : {
13200 "description" : "The cluster node name.",
13201 "format" : "pve-node",
013dc89f
DM
13202 "type" : "string",
13203 "typetext" : "<string>"
44660702
DM
13204 },
13205 "vmid" : {
13206 "description" : "The (unique) ID of the VM.",
7aacca6f 13207 "format" : "pve-vmid",
44660702 13208 "minimum" : 1,
4bd7df8b 13209 "type" : "integer",
013dc89f 13210 "typetext" : "<integer> (1 - N)"
56122987 13211 }
7aacca6f 13212 }
56122987 13213 },
7aacca6f
DM
13214 "permissions" : {
13215 "check" : [
13216 "perm",
13217 "/vms/{vmid}",
13218 [
13219 "VM.Allocate"
13220 ]
13221 ],
13222 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
13223 },
44660702 13224 "protected" : 1,
7aacca6f 13225 "proxyto" : "node",
7aacca6f
DM
13226 "returns" : {
13227 "type" : "null"
13228 }
56122987
DM
13229 }
13230 },
44660702 13231 "leaf" : 1,
7aacca6f 13232 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 13233 "text" : "template"
56122987
DM
13234 }
13235 ],
7aacca6f 13236 "info" : {
44660702
DM
13237 "DELETE" : {
13238 "description" : "Destroy the vm (also delete all used/owned volumes).",
13239 "method" : "DELETE",
13240 "name" : "destroy_vm",
7aacca6f 13241 "parameters" : {
44660702 13242 "additionalProperties" : 0,
7aacca6f
DM
13243 "properties" : {
13244 "node" : {
44660702 13245 "description" : "The cluster node name.",
7aacca6f 13246 "format" : "pve-node",
013dc89f
DM
13247 "type" : "string",
13248 "typetext" : "<string>"
44660702
DM
13249 },
13250 "skiplock" : {
13251 "description" : "Ignore locks - only root is allowed to use this option.",
13252 "optional" : 1,
013dc89f
DM
13253 "type" : "boolean",
13254 "typetext" : "<boolean>"
7aacca6f
DM
13255 },
13256 "vmid" : {
44660702 13257 "description" : "The (unique) ID of the VM.",
7aacca6f 13258 "format" : "pve-vmid",
44660702 13259 "minimum" : 1,
4bd7df8b 13260 "type" : "integer",
013dc89f 13261 "typetext" : "<integer> (1 - N)"
7aacca6f 13262 }
44660702 13263 }
7aacca6f 13264 },
7aacca6f
DM
13265 "permissions" : {
13266 "check" : [
13267 "perm",
13268 "/vms/{vmid}",
13269 [
13270 "VM.Allocate"
13271 ]
13272 ]
13273 },
44660702
DM
13274 "protected" : 1,
13275 "proxyto" : "node",
7aacca6f
DM
13276 "returns" : {
13277 "type" : "string"
44660702
DM
13278 }
13279 },
13280 "GET" : {
13281 "description" : "Directory index",
13282 "method" : "GET",
13283 "name" : "vmdiridx",
7aacca6f 13284 "parameters" : {
44660702 13285 "additionalProperties" : 0,
7aacca6f 13286 "properties" : {
7aacca6f 13287 "node" : {
7aacca6f 13288 "description" : "The cluster node name.",
44660702 13289 "format" : "pve-node",
013dc89f
DM
13290 "type" : "string",
13291 "typetext" : "<string>"
44660702
DM
13292 },
13293 "vmid" : {
13294 "description" : "The (unique) ID of the VM.",
13295 "format" : "pve-vmid",
13296 "minimum" : 1,
4bd7df8b 13297 "type" : "integer",
013dc89f 13298 "typetext" : "<integer> (1 - N)"
7aacca6f 13299 }
44660702 13300 }
7aacca6f 13301 },
44660702
DM
13302 "permissions" : {
13303 "user" : "all"
13304 },
13305 "proxyto" : "node",
13306 "returns" : {
13307 "items" : {
13308 "properties" : {
13309 "subdir" : {
13310 "type" : "string"
13311 }
13312 },
13313 "type" : "object"
13314 },
13315 "links" : [
13316 {
13317 "href" : "{subdir}",
13318 "rel" : "child"
13319 }
13320 ],
13321 "type" : "array"
13322 }
7aacca6f 13323 }
44660702
DM
13324 },
13325 "leaf" : 0,
13326 "path" : "/nodes/{node}/qemu/{vmid}",
13327 "text" : "{vmid}"
56122987
DM
13328 }
13329 ],
13330 "info" : {
44660702
DM
13331 "GET" : {
13332 "description" : "Virtual machine index (per node).",
13333 "method" : "GET",
13334 "name" : "vmlist",
56122987 13335 "parameters" : {
44660702 13336 "additionalProperties" : 0,
56122987 13337 "properties" : {
44660702
DM
13338 "full" : {
13339 "description" : "Determine the full status of active VMs.",
56122987 13340 "optional" : 1,
013dc89f
DM
13341 "type" : "boolean",
13342 "typetext" : "<boolean>"
56122987 13343 },
44660702
DM
13344 "node" : {
13345 "description" : "The cluster node name.",
13346 "format" : "pve-node",
013dc89f
DM
13347 "type" : "string",
13348 "typetext" : "<string>"
44660702
DM
13349 }
13350 }
13351 },
13352 "permissions" : {
13353 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
13354 "user" : "all"
13355 },
13356 "protected" : 1,
13357 "proxyto" : "node",
13358 "returns" : {
13359 "items" : {
13360 "properties" : {},
13361 "type" : "object"
13362 },
13363 "links" : [
13364 {
13365 "href" : "{vmid}",
13366 "rel" : "child"
13367 }
13368 ],
13369 "type" : "array"
13370 }
13371 },
13372 "POST" : {
13373 "description" : "Create or restore a virtual machine.",
13374 "method" : "POST",
13375 "name" : "create_vm",
13376 "parameters" : {
13377 "additionalProperties" : 0,
13378 "properties" : {
7aacca6f 13379 "acpi" : {
7aacca6f 13380 "default" : 1,
44660702 13381 "description" : "Enable/disable ACPI.",
56122987 13382 "optional" : 1,
013dc89f
DM
13383 "type" : "boolean",
13384 "typetext" : "<boolean>"
56122987 13385 },
44660702
DM
13386 "agent" : {
13387 "default" : 0,
13388 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 13389 "optional" : 1,
013dc89f
DM
13390 "type" : "boolean",
13391 "typetext" : "<boolean>"
56122987 13392 },
44660702
DM
13393 "archive" : {
13394 "description" : "The backup file.",
13395 "maxLength" : 255,
56122987 13396 "optional" : 1,
013dc89f
DM
13397 "type" : "string",
13398 "typetext" : "<string>"
56122987 13399 },
44660702 13400 "args" : {
c2993fe5 13401 "description" : "Arbitrary arguments passed to kvm.",
56122987 13402 "optional" : 1,
c2993fe5 13403 "type" : "string",
013dc89f 13404 "typetext" : "<string>",
c2993fe5 13405 "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 13406 },
44660702 13407 "autostart" : {
7aacca6f 13408 "default" : 0,
44660702
DM
13409 "description" : "Automatic restart after crash (currently ignored).",
13410 "optional" : 1,
013dc89f
DM
13411 "type" : "boolean",
13412 "typetext" : "<boolean>"
7aacca6f 13413 },
44660702
DM
13414 "balloon" : {
13415 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
13416 "minimum" : 0,
56122987 13417 "optional" : 1,
4bd7df8b 13418 "type" : "integer",
013dc89f 13419 "typetext" : "<integer> (0 - N)"
56122987 13420 },
44660702
DM
13421 "bios" : {
13422 "default" : "seabios",
13423 "description" : "Select BIOS implementation.",
13424 "enum" : [
13425 "seabios",
13426 "ovmf"
13427 ],
56122987 13428 "optional" : 1,
44660702 13429 "type" : "string"
56122987 13430 },
44660702
DM
13431 "boot" : {
13432 "default" : "cdn",
13433 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 13434 "optional" : 1,
44660702
DM
13435 "pattern" : "[acdn]{1,4}",
13436 "type" : "string"
56122987 13437 },
7aacca6f
DM
13438 "bootdisk" : {
13439 "description" : "Enable booting from specified disk.",
44660702
DM
13440 "format" : "pve-qm-bootdisk",
13441 "optional" : 1,
7aacca6f 13442 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
13443 "type" : "string"
13444 },
27a7acb2
DM
13445 "bwlimit" : {
13446 "description" : "Override i/o bandwidth limit (in KiB/s).",
13447 "minimum" : "0",
13448 "optional" : 1,
13449 "type" : "integer",
13450 "typetext" : "<integer> (0 - N)"
13451 },
44660702
DM
13452 "cdrom" : {
13453 "description" : "This is an alias for option -ide2",
de0983cb 13454 "format" : "pve-qm-ide",
56122987 13455 "optional" : 1,
44660702 13456 "type" : "string",
013dc89f 13457 "typetext" : "<volume>"
56122987 13458 },
27a7acb2
DM
13459 "cipassword" : {
13460 "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.",
13461 "optional" : 1,
13462 "type" : "string",
13463 "typetext" : "<string>"
13464 },
13465 "citype" : {
13466 "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.",
13467 "enum" : [
13468 "configdrive2",
13469 "nocloud"
13470 ],
13471 "optional" : 1,
13472 "type" : "string"
13473 },
13474 "ciuser" : {
13475 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
13476 "optional" : 1,
13477 "type" : "string",
13478 "typetext" : "<string>"
13479 },
44660702
DM
13480 "cores" : {
13481 "default" : 1,
13482 "description" : "The number of cores per socket.",
7aacca6f 13483 "minimum" : 1,
44660702 13484 "optional" : 1,
4bd7df8b 13485 "type" : "integer",
013dc89f 13486 "typetext" : "<integer> (1 - N)"
7aacca6f 13487 },
44660702
DM
13488 "cpu" : {
13489 "description" : "Emulated CPU type.",
13490 "format" : {
13491 "cputype" : {
13492 "default" : "kvm64",
13493 "default_key" : 1,
13494 "description" : "Emulated CPU type.",
13495 "enum" : [
13496 "486",
13497 "athlon",
f004f5b9 13498 "Broadwell",
35a75dd3 13499 "Broadwell-IBRS",
f004f5b9 13500 "Broadwell-noTSX",
35a75dd3 13501 "Broadwell-noTSX-IBRS",
f004f5b9 13502 "Conroe",
44660702 13503 "core2duo",
f004f5b9 13504 "coreduo",
27a7acb2
DM
13505 "EPYC",
13506 "EPYC-IBPB",
f004f5b9 13507 "Haswell",
35a75dd3 13508 "Haswell-IBRS",
f004f5b9 13509 "Haswell-noTSX",
35a75dd3 13510 "Haswell-noTSX-IBRS",
f004f5b9
DM
13511 "host",
13512 "IvyBridge",
35a75dd3 13513 "IvyBridge-IBRS",
44660702
DM
13514 "kvm32",
13515 "kvm64",
35a75dd3 13516 "max",
44660702 13517 "Nehalem",
35a75dd3 13518 "Nehalem-IBRS",
44660702
DM
13519 "Opteron_G1",
13520 "Opteron_G2",
13521 "Opteron_G3",
13522 "Opteron_G4",
13523 "Opteron_G5",
f004f5b9
DM
13524 "Penryn",
13525 "pentium",
13526 "pentium2",
13527 "pentium3",
13528 "phenom",
13529 "qemu32",
13530 "qemu64",
13531 "SandyBridge",
35a75dd3 13532 "SandyBridge-IBRS",
5d9c884c 13533 "Skylake-Client",
35a75dd3
DM
13534 "Skylake-Client-IBRS",
13535 "Skylake-Server",
13536 "Skylake-Server-IBRS",
13537 "Westmere",
13538 "Westmere-IBRS"
44660702 13539 ],
44660702
DM
13540 "type" : "string"
13541 },
35a75dd3
DM
13542 "flags" : {
13543 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
13544 "format_description" : "+FLAG[;-FLAG...]",
13545 "optional" : 1,
13546 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
13547 "type" : "string"
13548 },
44660702
DM
13549 "hidden" : {
13550 "default" : 0,
13551 "description" : "Do not identify as a KVM virtual machine.",
13552 "optional" : 1,
13553 "type" : "boolean"
13554 }
13555 },
56122987 13556 "optional" : 1,
4bd7df8b 13557 "type" : "string",
35a75dd3 13558 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 13559 },
44660702 13560 "cpulimit" : {
7aacca6f 13561 "default" : 0,
c2993fe5 13562 "description" : "Limit of CPU usage.",
44660702
DM
13563 "maximum" : 128,
13564 "minimum" : 0,
7aacca6f 13565 "optional" : 1,
c2993fe5 13566 "type" : "number",
013dc89f 13567 "typetext" : "<number> (0 - 128)",
c2993fe5 13568 "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
13569 },
13570 "cpuunits" : {
de0983cb 13571 "default" : 1024,
c2993fe5 13572 "description" : "CPU weight for a VM.",
2489d6df
WB
13573 "maximum" : 262144,
13574 "minimum" : 2,
44660702 13575 "optional" : 1,
c2993fe5 13576 "type" : "integer",
2489d6df
WB
13577 "typetext" : "<integer> (2 - 262144)",
13578 "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
13579 },
13580 "description" : {
13581 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 13582 "optional" : 1,
013dc89f
DM
13583 "type" : "string",
13584 "typetext" : "<string>"
44660702
DM
13585 },
13586 "force" : {
13587 "description" : "Allow to overwrite existing VM.",
13588 "optional" : 1,
13589 "requires" : "archive",
013dc89f
DM
13590 "type" : "boolean",
13591 "typetext" : "<boolean>"
44660702
DM
13592 },
13593 "freeze" : {
13594 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
13595 "optional" : 1,
013dc89f
DM
13596 "type" : "boolean",
13597 "typetext" : "<boolean>"
44660702
DM
13598 },
13599 "hostpci[n]" : {
c2993fe5 13600 "description" : "Map host PCI devices into guest.",
44660702
DM
13601 "format" : "pve-qm-hostpci",
13602 "optional" : 1,
57b78691 13603 "type" : "string",
52e44c50 13604 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 13605 "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
13606 },
13607 "hotplug" : {
13608 "default" : "network,disk,usb",
13609 "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'.",
13610 "format" : "pve-hotplug-features",
13611 "optional" : 1,
013dc89f
DM
13612 "type" : "string",
13613 "typetext" : "<string>"
7aacca6f 13614 },
4bd7df8b
DM
13615 "hugepages" : {
13616 "description" : "Enable/disable hugepages memory.",
13617 "enum" : [
13618 "any",
13619 "2",
13620 "1024"
13621 ],
13622 "optional" : 1,
13623 "type" : "string"
13624 },
7aacca6f 13625 "ide[n]" : {
44660702 13626 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 13627 "format" : {
44660702
DM
13628 "aio" : {
13629 "description" : "AIO type to use.",
13630 "enum" : [
13631 "native",
13632 "threads"
13633 ],
44660702
DM
13634 "optional" : 1,
13635 "type" : "string"
13636 },
13637 "backup" : {
13638 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13639 "optional" : 1,
13640 "type" : "boolean"
13641 },
13642 "bps" : {
de0983cb 13643 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 13644 "format_description" : "bps",
56122987 13645 "optional" : 1,
44660702 13646 "type" : "integer"
56122987 13647 },
de0983cb
DM
13648 "bps_max_length" : {
13649 "description" : "Maximum length of I/O bursts in seconds.",
13650 "format_description" : "seconds",
13651 "minimum" : 1,
13652 "optional" : 1,
13653 "type" : "integer"
13654 },
44660702 13655 "bps_rd" : {
de0983cb 13656 "description" : "Maximum read speed in bytes per second.",
44660702 13657 "format_description" : "bps",
56122987 13658 "optional" : 1,
44660702 13659 "type" : "integer"
56122987 13660 },
de0983cb 13661 "bps_rd_length" : {
5d9c884c
DM
13662 "alias" : "bps_rd_max_length"
13663 },
13664 "bps_rd_max_length" : {
de0983cb
DM
13665 "description" : "Maximum length of read I/O bursts in seconds.",
13666 "format_description" : "seconds",
13667 "minimum" : 1,
13668 "optional" : 1,
13669 "type" : "integer"
13670 },
44660702 13671 "bps_wr" : {
de0983cb 13672 "description" : "Maximum write speed in bytes per second.",
44660702 13673 "format_description" : "bps",
56122987 13674 "optional" : 1,
44660702 13675 "type" : "integer"
56122987 13676 },
de0983cb 13677 "bps_wr_length" : {
5d9c884c
DM
13678 "alias" : "bps_wr_max_length"
13679 },
13680 "bps_wr_max_length" : {
de0983cb
DM
13681 "description" : "Maximum length of write I/O bursts in seconds.",
13682 "format_description" : "seconds",
13683 "minimum" : 1,
13684 "optional" : 1,
13685 "type" : "integer"
13686 },
44660702
DM
13687 "cache" : {
13688 "description" : "The drive's cache mode",
56122987 13689 "enum" : [
7aacca6f 13690 "none",
44660702
DM
13691 "writethrough",
13692 "writeback",
13693 "unsafe",
13694 "directsync"
56122987 13695 ],
56122987 13696 "optional" : 1,
44660702 13697 "type" : "string"
56122987 13698 },
44660702
DM
13699 "cyls" : {
13700 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13701 "optional" : 1,
13702 "type" : "integer"
7aacca6f 13703 },
44660702
DM
13704 "detect_zeroes" : {
13705 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13706 "optional" : 1,
44660702 13707 "type" : "boolean"
56122987 13708 },
44660702
DM
13709 "discard" : {
13710 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13711 "enum" : [
13712 "ignore",
13713 "on"
13714 ],
56122987 13715 "optional" : 1,
44660702 13716 "type" : "string"
56122987 13717 },
7aacca6f 13718 "file" : {
44660702 13719 "default_key" : 1,
7aacca6f 13720 "description" : "The drive's backing volume.",
7aacca6f
DM
13721 "format" : "pve-volume-id-or-qm-path",
13722 "format_description" : "volume",
7aacca6f 13723 "type" : "string"
56122987 13724 },
44660702
DM
13725 "format" : {
13726 "description" : "The drive's backing file's data format.",
56122987 13727 "enum" : [
44660702
DM
13728 "raw",
13729 "cow",
13730 "qcow",
13731 "qed",
13732 "qcow2",
13733 "vmdk",
13734 "cloop"
7aacca6f 13735 ],
7aacca6f
DM
13736 "optional" : 1,
13737 "type" : "string"
56122987 13738 },
44660702
DM
13739 "heads" : {
13740 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13741 "optional" : 1,
44660702 13742 "type" : "integer"
56122987 13743 },
44660702 13744 "iops" : {
de0983cb 13745 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 13746 "format_description" : "iops",
56122987 13747 "optional" : 1,
44660702 13748 "type" : "integer"
56122987 13749 },
44660702 13750 "iops_max" : {
de0983cb 13751 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13752 "format_description" : "iops",
56122987 13753 "optional" : 1,
44660702 13754 "type" : "integer"
56122987 13755 },
de0983cb
DM
13756 "iops_max_length" : {
13757 "description" : "Maximum length of I/O bursts in seconds.",
13758 "format_description" : "seconds",
13759 "minimum" : 1,
13760 "optional" : 1,
13761 "type" : "integer"
13762 },
7aacca6f 13763 "iops_rd" : {
de0983cb 13764 "description" : "Maximum read I/O in operations per second.",
44660702
DM
13765 "format_description" : "iops",
13766 "optional" : 1,
13767 "type" : "integer"
7aacca6f 13768 },
de0983cb 13769 "iops_rd_length" : {
5d9c884c 13770 "alias" : "iops_rd_max_length"
de0983cb 13771 },
44660702 13772 "iops_rd_max" : {
de0983cb 13773 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13774 "format_description" : "iops",
56122987 13775 "optional" : 1,
44660702 13776 "type" : "integer"
56122987 13777 },
5d9c884c
DM
13778 "iops_rd_max_length" : {
13779 "description" : "Maximum length of read I/O bursts in seconds.",
13780 "format_description" : "seconds",
13781 "minimum" : 1,
13782 "optional" : 1,
13783 "type" : "integer"
13784 },
44660702 13785 "iops_wr" : {
de0983cb 13786 "description" : "Maximum write I/O in operations per second.",
44660702 13787 "format_description" : "iops",
56122987 13788 "optional" : 1,
44660702 13789 "type" : "integer"
7aacca6f 13790 },
de0983cb 13791 "iops_wr_length" : {
5d9c884c 13792 "alias" : "iops_wr_max_length"
de0983cb 13793 },
44660702 13794 "iops_wr_max" : {
de0983cb 13795 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13796 "format_description" : "iops",
7aacca6f 13797 "optional" : 1,
44660702 13798 "type" : "integer"
56122987 13799 },
5d9c884c
DM
13800 "iops_wr_max_length" : {
13801 "description" : "Maximum length of write I/O bursts in seconds.",
13802 "format_description" : "seconds",
13803 "minimum" : 1,
13804 "optional" : 1,
13805 "type" : "integer"
13806 },
44660702 13807 "mbps" : {
de0983cb 13808 "description" : "Maximum r/w speed in megabytes per second.",
44660702 13809 "format_description" : "mbps",
7aacca6f 13810 "optional" : 1,
44660702 13811 "type" : "number"
56122987 13812 },
44660702 13813 "mbps_max" : {
de0983cb 13814 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 13815 "format_description" : "mbps",
56122987 13816 "optional" : 1,
44660702 13817 "type" : "number"
56122987 13818 },
44660702 13819 "mbps_rd" : {
de0983cb 13820 "description" : "Maximum read speed in megabytes per second.",
44660702 13821 "format_description" : "mbps",
7aacca6f 13822 "optional" : 1,
44660702 13823 "type" : "number"
7aacca6f 13824 },
44660702 13825 "mbps_rd_max" : {
de0983cb 13826 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13827 "format_description" : "mbps",
56122987 13828 "optional" : 1,
44660702 13829 "type" : "number"
56122987 13830 },
44660702 13831 "mbps_wr" : {
de0983cb 13832 "description" : "Maximum write speed in megabytes per second.",
44660702 13833 "format_description" : "mbps",
7aacca6f 13834 "optional" : 1,
44660702 13835 "type" : "number"
56122987 13836 },
44660702 13837 "mbps_wr_max" : {
de0983cb 13838 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 13839 "format_description" : "mbps",
56122987 13840 "optional" : 1,
44660702 13841 "type" : "number"
7aacca6f
DM
13842 },
13843 "media" : {
44660702
DM
13844 "default" : "disk",
13845 "description" : "The drive's media type.",
56122987 13846 "enum" : [
7aacca6f
DM
13847 "cdrom",
13848 "disk"
56122987 13849 ],
56122987 13850 "optional" : 1,
44660702 13851 "type" : "string"
56122987 13852 },
44660702
DM
13853 "model" : {
13854 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
13855 "format" : "urlencoded",
13856 "format_description" : "model",
13857 "maxLength" : 120,
56122987 13858 "optional" : 1,
44660702 13859 "type" : "string"
56122987 13860 },
5d9c884c
DM
13861 "replicate" : {
13862 "default" : 1,
13863 "description" : "Whether the drive should considered for replication jobs.",
13864 "optional" : 1,
13865 "type" : "boolean"
13866 },
7aacca6f 13867 "rerror" : {
7aacca6f
DM
13868 "description" : "Read error action.",
13869 "enum" : [
13870 "ignore",
13871 "report",
13872 "stop"
44660702 13873 ],
44660702
DM
13874 "optional" : 1,
13875 "type" : "string"
56122987 13876 },
44660702
DM
13877 "secs" : {
13878 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13879 "optional" : 1,
44660702
DM
13880 "type" : "integer"
13881 },
13882 "serial" : {
13883 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13884 "format" : "urlencoded",
13885 "format_description" : "serial",
13886 "maxLength" : 60,
13887 "optional" : 1,
13888 "type" : "string"
13889 },
27a7acb2
DM
13890 "shared" : {
13891 "default" : 0,
13892 "description" : "Mark this locally-managed volume as available on all nodes",
13893 "optional" : 1,
13894 "type" : "boolean",
13895 "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!"
13896 },
44660702
DM
13897 "size" : {
13898 "description" : "Disk size. This is purely informational and has no effect.",
13899 "format" : "disk-size",
f004f5b9 13900 "format_description" : "DiskSize",
44660702
DM
13901 "optional" : 1,
13902 "type" : "string"
7aacca6f
DM
13903 },
13904 "snapshot" : {
27a7acb2 13905 "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 13906 "optional" : 1,
44660702 13907 "type" : "boolean"
7aacca6f 13908 },
44660702
DM
13909 "trans" : {
13910 "description" : "Force disk geometry bios translation mode.",
13911 "enum" : [
13912 "none",
13913 "lba",
13914 "auto"
13915 ],
7aacca6f 13916 "optional" : 1,
44660702
DM
13917 "type" : "string"
13918 },
13919 "volume" : {
13920 "alias" : "file"
13921 },
13922 "werror" : {
13923 "description" : "Write error action.",
13924 "enum" : [
13925 "enospc",
13926 "ignore",
13927 "report",
13928 "stop"
13929 ],
44660702
DM
13930 "optional" : 1,
13931 "type" : "string"
56122987
DM
13932 }
13933 },
56122987 13934 "optional" : 1,
4bd7df8b 13935 "type" : "string",
27a7acb2
DM
13936 "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>]"
13937 },
13938 "ipconfig[n]" : {
13939 "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",
13940 "format" : "pve-qm-ipconfig",
13941 "optional" : 1,
13942 "type" : "string",
13943 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 13944 },
56122987 13945 "keyboard" : {
35a75dd3
DM
13946 "default" : null,
13947 "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 13948 "enum" : [
44660702
DM
13949 "de",
13950 "de-ch",
7aacca6f 13951 "da",
56122987 13952 "en-gb",
44660702
DM
13953 "en-us",
13954 "es",
13955 "fi",
13956 "fr",
13957 "fr-be",
13958 "fr-ca",
13959 "fr-ch",
13960 "hu",
7aacca6f 13961 "is",
44660702
DM
13962 "it",
13963 "ja",
13964 "lt",
56122987 13965 "mk",
7aacca6f 13966 "nl",
56122987 13967 "no",
44660702 13968 "pl",
7aacca6f 13969 "pt",
44660702
DM
13970 "pt-br",
13971 "sv",
13972 "sl",
13973 "tr"
56122987 13974 ],
44660702
DM
13975 "optional" : 1,
13976 "type" : "string"
56122987 13977 },
44660702
DM
13978 "kvm" : {
13979 "default" : 1,
13980 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 13981 "optional" : 1,
013dc89f
DM
13982 "type" : "boolean",
13983 "typetext" : "<boolean>"
7aacca6f 13984 },
44660702
DM
13985 "localtime" : {
13986 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 13987 "optional" : 1,
013dc89f
DM
13988 "type" : "boolean",
13989 "typetext" : "<boolean>"
44660702
DM
13990 },
13991 "lock" : {
13992 "description" : "Lock/unlock the VM.",
7aacca6f
DM
13993 "enum" : [
13994 "migrate",
13995 "backup",
13996 "snapshot",
13997 "rollback"
13998 ],
44660702
DM
13999 "optional" : 1,
14000 "type" : "string"
56122987 14001 },
44660702
DM
14002 "machine" : {
14003 "description" : "Specific the Qemu machine type.",
14004 "maxLength" : 40,
14005 "optional" : 1,
14006 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
14007 "type" : "string"
14008 },
14009 "memory" : {
14010 "default" : 512,
14011 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14012 "minimum" : 16,
14013 "optional" : 1,
4bd7df8b 14014 "type" : "integer",
013dc89f 14015 "typetext" : "<integer> (16 - N)"
44660702
DM
14016 },
14017 "migrate_downtime" : {
14018 "default" : 0.1,
14019 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
14020 "minimum" : 0,
14021 "optional" : 1,
4bd7df8b 14022 "type" : "number",
013dc89f 14023 "typetext" : "<number> (0 - N)"
44660702
DM
14024 },
14025 "migrate_speed" : {
56122987 14026 "default" : 0,
44660702
DM
14027 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
14028 "minimum" : 0,
56122987 14029 "optional" : 1,
4bd7df8b 14030 "type" : "integer",
013dc89f 14031 "typetext" : "<integer> (0 - N)"
56122987 14032 },
27a7acb2
DM
14033 "name" : {
14034 "description" : "Set a name for the VM. Only used on the configuration web interface.",
14035 "format" : "dns-name",
14036 "optional" : 1,
14037 "type" : "string",
14038 "typetext" : "<string>"
14039 },
14040 "nameserver" : {
14041 "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.",
14042 "format" : "address-list",
44660702 14043 "optional" : 1,
013dc89f
DM
14044 "type" : "string",
14045 "typetext" : "<string>"
44660702
DM
14046 },
14047 "net[n]" : {
c2993fe5 14048 "description" : "Specify network devices.",
f004f5b9
DM
14049 "format" : {
14050 "bridge" : {
c2993fe5 14051 "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
14052 "format_description" : "bridge",
14053 "optional" : 1,
14054 "type" : "string"
14055 },
14056 "e1000" : {
14057 "alias" : "macaddr",
14058 "keyAlias" : "model"
14059 },
14060 "e1000-82540em" : {
14061 "alias" : "macaddr",
14062 "keyAlias" : "model"
14063 },
14064 "e1000-82544gc" : {
14065 "alias" : "macaddr",
14066 "keyAlias" : "model"
14067 },
14068 "e1000-82545em" : {
14069 "alias" : "macaddr",
14070 "keyAlias" : "model"
14071 },
14072 "firewall" : {
14073 "description" : "Whether this interface should be protected by the firewall.",
14074 "optional" : 1,
14075 "type" : "boolean"
14076 },
14077 "i82551" : {
14078 "alias" : "macaddr",
14079 "keyAlias" : "model"
14080 },
14081 "i82557b" : {
14082 "alias" : "macaddr",
14083 "keyAlias" : "model"
14084 },
14085 "i82559er" : {
14086 "alias" : "macaddr",
14087 "keyAlias" : "model"
14088 },
14089 "link_down" : {
c2993fe5 14090 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
14091 "optional" : 1,
14092 "type" : "boolean"
14093 },
14094 "macaddr" : {
c2993fe5 14095 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 14096 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
14097 "optional" : 1,
14098 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
14099 "type" : "string"
14100 },
14101 "model" : {
14102 "default_key" : 1,
c2993fe5 14103 "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
14104 "enum" : [
14105 "rtl8139",
14106 "ne2k_pci",
14107 "e1000",
14108 "pcnet",
14109 "virtio",
14110 "ne2k_isa",
14111 "i82551",
14112 "i82557b",
14113 "i82559er",
14114 "vmxnet3",
14115 "e1000-82540em",
14116 "e1000-82544gc",
14117 "e1000-82545em"
14118 ],
f004f5b9
DM
14119 "type" : "string"
14120 },
14121 "ne2k_isa" : {
14122 "alias" : "macaddr",
14123 "keyAlias" : "model"
14124 },
14125 "ne2k_pci" : {
14126 "alias" : "macaddr",
14127 "keyAlias" : "model"
14128 },
14129 "pcnet" : {
14130 "alias" : "macaddr",
14131 "keyAlias" : "model"
14132 },
14133 "queues" : {
14134 "description" : "Number of packet queues to be used on the device.",
14135 "maximum" : 16,
14136 "minimum" : 0,
14137 "optional" : 1,
14138 "type" : "integer"
14139 },
14140 "rate" : {
c2993fe5 14141 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
14142 "minimum" : 0,
14143 "optional" : 1,
14144 "type" : "number"
14145 },
14146 "rtl8139" : {
14147 "alias" : "macaddr",
14148 "keyAlias" : "model"
14149 },
14150 "tag" : {
14151 "description" : "VLAN tag to apply to packets on this interface.",
14152 "maximum" : 4094,
c2993fe5 14153 "minimum" : 1,
f004f5b9
DM
14154 "optional" : 1,
14155 "type" : "integer"
14156 },
14157 "trunks" : {
14158 "description" : "VLAN trunks to pass through this interface.",
14159 "format_description" : "vlanid[;vlanid...]",
14160 "optional" : 1,
14161 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14162 "type" : "string"
14163 },
14164 "virtio" : {
14165 "alias" : "macaddr",
14166 "keyAlias" : "model"
14167 },
14168 "vmxnet3" : {
14169 "alias" : "macaddr",
14170 "keyAlias" : "model"
14171 }
14172 },
44660702 14173 "optional" : 1,
4bd7df8b 14174 "type" : "string",
013dc89f 14175 "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
14176 },
14177 "node" : {
14178 "description" : "The cluster node name.",
14179 "format" : "pve-node",
013dc89f
DM
14180 "type" : "string",
14181 "typetext" : "<string>"
44660702
DM
14182 },
14183 "numa" : {
7aacca6f 14184 "default" : 0,
44660702
DM
14185 "description" : "Enable/disable NUMA.",
14186 "optional" : 1,
013dc89f
DM
14187 "type" : "boolean",
14188 "typetext" : "<boolean>"
56122987 14189 },
7aacca6f 14190 "numa[n]" : {
c2993fe5 14191 "description" : "NUMA topology.",
7aacca6f 14192 "format" : {
44660702 14193 "cpus" : {
c2993fe5 14194 "description" : "CPUs accessing this NUMA node.",
44660702
DM
14195 "format_description" : "id[-id];...",
14196 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14197 "type" : "string"
14198 },
7aacca6f 14199 "hostnodes" : {
c2993fe5 14200 "description" : "Host NUMA nodes to use.",
44660702 14201 "format_description" : "id[-id];...",
7aacca6f 14202 "optional" : 1,
44660702
DM
14203 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
14204 "type" : "string"
7aacca6f 14205 },
44660702 14206 "memory" : {
c2993fe5 14207 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
14208 "optional" : 1,
14209 "type" : "number"
7aacca6f
DM
14210 },
14211 "policy" : {
c2993fe5 14212 "description" : "NUMA allocation policy.",
7aacca6f
DM
14213 "enum" : [
14214 "preferred",
14215 "bind",
14216 "interleave"
14217 ],
7aacca6f 14218 "optional" : 1,
44660702 14219 "type" : "string"
7aacca6f
DM
14220 }
14221 },
56122987 14222 "optional" : 1,
4bd7df8b
DM
14223 "type" : "string",
14224 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 14225 },
44660702
DM
14226 "onboot" : {
14227 "default" : 0,
14228 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 14229 "optional" : 1,
013dc89f
DM
14230 "type" : "boolean",
14231 "typetext" : "<boolean>"
56122987
DM
14232 },
14233 "ostype" : {
c2993fe5 14234 "description" : "Specify guest operating system.",
56122987
DM
14235 "enum" : [
14236 "other",
14237 "wxp",
14238 "w2k",
14239 "w2k3",
14240 "w2k8",
14241 "wvista",
14242 "win7",
14243 "win8",
32d876b5 14244 "win10",
56122987
DM
14245 "l24",
14246 "l26",
14247 "solaris"
44660702 14248 ],
56122987 14249 "optional" : 1,
c2993fe5 14250 "type" : "string",
35a75dd3 14251 "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 14252 },
44660702 14253 "parallel[n]" : {
c2993fe5 14254 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 14255 "optional" : 1,
44660702 14256 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
14257 "type" : "string",
14258 "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 14259 },
44660702
DM
14260 "pool" : {
14261 "description" : "Add the VM to the specified pool.",
14262 "format" : "pve-poolid",
56122987 14263 "optional" : 1,
013dc89f
DM
14264 "type" : "string",
14265 "typetext" : "<string>"
56122987 14266 },
44660702
DM
14267 "protection" : {
14268 "default" : 0,
c2993fe5 14269 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 14270 "optional" : 1,
013dc89f
DM
14271 "type" : "boolean",
14272 "typetext" : "<boolean>"
56122987 14273 },
44660702 14274 "reboot" : {
7aacca6f 14275 "default" : 1,
44660702
DM
14276 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
14277 "optional" : 1,
013dc89f
DM
14278 "type" : "boolean",
14279 "typetext" : "<boolean>"
56122987 14280 },
56122987 14281 "sata[n]" : {
44660702 14282 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 14283 "format" : {
7aacca6f 14284 "aio" : {
44660702 14285 "description" : "AIO type to use.",
56122987 14286 "enum" : [
7aacca6f
DM
14287 "native",
14288 "threads"
56122987 14289 ],
7aacca6f 14290 "optional" : 1,
44660702 14291 "type" : "string"
7aacca6f
DM
14292 },
14293 "backup" : {
7aacca6f 14294 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14295 "optional" : 1,
44660702 14296 "type" : "boolean"
56122987 14297 },
44660702 14298 "bps" : {
de0983cb 14299 "description" : "Maximum r/w speed in bytes per second.",
44660702 14300 "format_description" : "bps",
7aacca6f 14301 "optional" : 1,
44660702 14302 "type" : "integer"
56122987 14303 },
de0983cb
DM
14304 "bps_max_length" : {
14305 "description" : "Maximum length of I/O bursts in seconds.",
14306 "format_description" : "seconds",
14307 "minimum" : 1,
14308 "optional" : 1,
14309 "type" : "integer"
14310 },
44660702 14311 "bps_rd" : {
de0983cb 14312 "description" : "Maximum read speed in bytes per second.",
44660702 14313 "format_description" : "bps",
56122987 14314 "optional" : 1,
44660702 14315 "type" : "integer"
7aacca6f 14316 },
de0983cb 14317 "bps_rd_length" : {
5d9c884c
DM
14318 "alias" : "bps_rd_max_length"
14319 },
14320 "bps_rd_max_length" : {
de0983cb
DM
14321 "description" : "Maximum length of read I/O bursts in seconds.",
14322 "format_description" : "seconds",
14323 "minimum" : 1,
14324 "optional" : 1,
14325 "type" : "integer"
14326 },
44660702 14327 "bps_wr" : {
de0983cb 14328 "description" : "Maximum write speed in bytes per second.",
44660702 14329 "format_description" : "bps",
56122987 14330 "optional" : 1,
44660702 14331 "type" : "integer"
56122987 14332 },
de0983cb 14333 "bps_wr_length" : {
5d9c884c
DM
14334 "alias" : "bps_wr_max_length"
14335 },
14336 "bps_wr_max_length" : {
de0983cb
DM
14337 "description" : "Maximum length of write I/O bursts in seconds.",
14338 "format_description" : "seconds",
14339 "minimum" : 1,
14340 "optional" : 1,
14341 "type" : "integer"
14342 },
7aacca6f 14343 "cache" : {
7aacca6f
DM
14344 "description" : "The drive's cache mode",
14345 "enum" : [
14346 "none",
14347 "writethrough",
14348 "writeback",
14349 "unsafe",
14350 "directsync"
14351 ],
44660702
DM
14352 "optional" : 1,
14353 "type" : "string"
56122987 14354 },
44660702
DM
14355 "cyls" : {
14356 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 14357 "optional" : 1,
7aacca6f 14358 "type" : "integer"
56122987 14359 },
7aacca6f
DM
14360 "detect_zeroes" : {
14361 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14362 "optional" : 1,
7aacca6f 14363 "type" : "boolean"
56122987 14364 },
44660702
DM
14365 "discard" : {
14366 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14367 "enum" : [
14368 "ignore",
14369 "on"
14370 ],
56122987 14371 "optional" : 1,
44660702 14372 "type" : "string"
56122987 14373 },
44660702
DM
14374 "file" : {
14375 "default_key" : 1,
14376 "description" : "The drive's backing volume.",
14377 "format" : "pve-volume-id-or-qm-path",
14378 "format_description" : "volume",
14379 "type" : "string"
56122987
DM
14380 },
14381 "format" : {
44660702 14382 "description" : "The drive's backing file's data format.",
56122987
DM
14383 "enum" : [
14384 "raw",
14385 "cow",
14386 "qcow",
14387 "qed",
14388 "qcow2",
14389 "vmdk",
14390 "cloop"
14391 ],
56122987 14392 "optional" : 1,
44660702 14393 "type" : "string"
56122987 14394 },
7aacca6f 14395 "heads" : {
7aacca6f 14396 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14397 "optional" : 1,
14398 "type" : "integer"
56122987 14399 },
44660702 14400 "iops" : {
de0983cb 14401 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
14402 "format_description" : "iops",
14403 "optional" : 1,
14404 "type" : "integer"
56122987 14405 },
44660702 14406 "iops_max" : {
de0983cb 14407 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14408 "format_description" : "iops",
56122987 14409 "optional" : 1,
44660702 14410 "type" : "integer"
56122987 14411 },
de0983cb
DM
14412 "iops_max_length" : {
14413 "description" : "Maximum length of I/O bursts in seconds.",
14414 "format_description" : "seconds",
14415 "minimum" : 1,
14416 "optional" : 1,
14417 "type" : "integer"
14418 },
44660702 14419 "iops_rd" : {
de0983cb 14420 "description" : "Maximum read I/O in operations per second.",
44660702 14421 "format_description" : "iops",
56122987 14422 "optional" : 1,
44660702 14423 "type" : "integer"
56122987 14424 },
de0983cb 14425 "iops_rd_length" : {
5d9c884c 14426 "alias" : "iops_rd_max_length"
de0983cb 14427 },
44660702 14428 "iops_rd_max" : {
de0983cb 14429 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 14430 "format_description" : "iops",
56122987 14431 "optional" : 1,
44660702 14432 "type" : "integer"
56122987 14433 },
5d9c884c
DM
14434 "iops_rd_max_length" : {
14435 "description" : "Maximum length of read I/O bursts in seconds.",
14436 "format_description" : "seconds",
14437 "minimum" : 1,
14438 "optional" : 1,
14439 "type" : "integer"
14440 },
44660702 14441 "iops_wr" : {
de0983cb 14442 "description" : "Maximum write I/O in operations per second.",
44660702 14443 "format_description" : "iops",
7aacca6f 14444 "optional" : 1,
44660702 14445 "type" : "integer"
7aacca6f 14446 },
de0983cb 14447 "iops_wr_length" : {
5d9c884c 14448 "alias" : "iops_wr_max_length"
de0983cb 14449 },
44660702 14450 "iops_wr_max" : {
de0983cb 14451 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14452 "format_description" : "iops",
56122987 14453 "optional" : 1,
7aacca6f 14454 "type" : "integer"
56122987 14455 },
5d9c884c
DM
14456 "iops_wr_max_length" : {
14457 "description" : "Maximum length of write I/O bursts in seconds.",
14458 "format_description" : "seconds",
14459 "minimum" : 1,
14460 "optional" : 1,
14461 "type" : "integer"
14462 },
44660702 14463 "mbps" : {
de0983cb 14464 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14465 "format_description" : "mbps",
56122987 14466 "optional" : 1,
44660702 14467 "type" : "number"
56122987 14468 },
44660702 14469 "mbps_max" : {
de0983cb 14470 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14471 "format_description" : "mbps",
7aacca6f 14472 "optional" : 1,
44660702 14473 "type" : "number"
7aacca6f 14474 },
44660702 14475 "mbps_rd" : {
de0983cb 14476 "description" : "Maximum read speed in megabytes per second.",
44660702 14477 "format_description" : "mbps",
7aacca6f 14478 "optional" : 1,
44660702 14479 "type" : "number"
7aacca6f 14480 },
44660702 14481 "mbps_rd_max" : {
de0983cb 14482 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14483 "format_description" : "mbps",
7aacca6f 14484 "optional" : 1,
44660702 14485 "type" : "number"
7aacca6f 14486 },
44660702 14487 "mbps_wr" : {
de0983cb 14488 "description" : "Maximum write speed in megabytes per second.",
44660702 14489 "format_description" : "mbps",
7aacca6f 14490 "optional" : 1,
44660702 14491 "type" : "number"
7aacca6f
DM
14492 },
14493 "mbps_wr_max" : {
de0983cb 14494 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14495 "format_description" : "mbps",
7aacca6f 14496 "optional" : 1,
44660702 14497 "type" : "number"
7aacca6f 14498 },
44660702
DM
14499 "media" : {
14500 "default" : "disk",
14501 "description" : "The drive's media type.",
56122987 14502 "enum" : [
44660702
DM
14503 "cdrom",
14504 "disk"
56122987 14505 ],
56122987 14506 "optional" : 1,
44660702 14507 "type" : "string"
56122987 14508 },
5d9c884c
DM
14509 "replicate" : {
14510 "default" : 1,
14511 "description" : "Whether the drive should considered for replication jobs.",
14512 "optional" : 1,
14513 "type" : "boolean"
14514 },
44660702
DM
14515 "rerror" : {
14516 "description" : "Read error action.",
7aacca6f
DM
14517 "enum" : [
14518 "ignore",
44660702
DM
14519 "report",
14520 "stop"
7aacca6f 14521 ],
56122987 14522 "optional" : 1,
44660702 14523 "type" : "string"
56122987 14524 },
44660702
DM
14525 "secs" : {
14526 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14527 "optional" : 1,
44660702 14528 "type" : "integer"
56122987 14529 },
44660702
DM
14530 "serial" : {
14531 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14532 "format" : "urlencoded",
14533 "format_description" : "serial",
14534 "maxLength" : 60,
14535 "optional" : 1,
14536 "type" : "string"
7aacca6f 14537 },
27a7acb2
DM
14538 "shared" : {
14539 "default" : 0,
14540 "description" : "Mark this locally-managed volume as available on all nodes",
14541 "optional" : 1,
14542 "type" : "boolean",
14543 "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!"
14544 },
7aacca6f
DM
14545 "size" : {
14546 "description" : "Disk size. This is purely informational and has no effect.",
44660702 14547 "format" : "disk-size",
f004f5b9 14548 "format_description" : "DiskSize",
56122987 14549 "optional" : 1,
44660702 14550 "type" : "string"
56122987 14551 },
44660702 14552 "snapshot" : {
27a7acb2 14553 "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 14554 "optional" : 1,
44660702 14555 "type" : "boolean"
56122987 14556 },
44660702
DM
14557 "trans" : {
14558 "description" : "Force disk geometry bios translation mode.",
56122987 14559 "enum" : [
44660702
DM
14560 "none",
14561 "lba",
14562 "auto"
7aacca6f 14563 ],
44660702
DM
14564 "optional" : 1,
14565 "type" : "string"
14566 },
14567 "volume" : {
14568 "alias" : "file"
56122987
DM
14569 },
14570 "werror" : {
56122987
DM
14571 "description" : "Write error action.",
14572 "enum" : [
14573 "enospc",
14574 "ignore",
14575 "report",
14576 "stop"
14577 ],
56122987 14578 "optional" : 1,
44660702
DM
14579 "type" : "string"
14580 }
14581 },
14582 "optional" : 1,
4bd7df8b 14583 "type" : "string",
27a7acb2 14584 "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
14585 },
14586 "scsi[n]" : {
14587 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
14588 "format" : {
14589 "aio" : {
14590 "description" : "AIO type to use.",
14591 "enum" : [
14592 "native",
14593 "threads"
14594 ],
44660702
DM
14595 "optional" : 1,
14596 "type" : "string"
56122987 14597 },
7aacca6f 14598 "backup" : {
44660702 14599 "description" : "Whether the drive should be included when making backups.",
7aacca6f 14600 "optional" : 1,
44660702 14601 "type" : "boolean"
7aacca6f 14602 },
44660702 14603 "bps" : {
de0983cb 14604 "description" : "Maximum r/w speed in bytes per second.",
44660702 14605 "format_description" : "bps",
7aacca6f 14606 "optional" : 1,
44660702 14607 "type" : "integer"
7aacca6f 14608 },
de0983cb
DM
14609 "bps_max_length" : {
14610 "description" : "Maximum length of I/O bursts in seconds.",
14611 "format_description" : "seconds",
14612 "minimum" : 1,
14613 "optional" : 1,
14614 "type" : "integer"
14615 },
44660702 14616 "bps_rd" : {
de0983cb 14617 "description" : "Maximum read speed in bytes per second.",
44660702 14618 "format_description" : "bps",
56122987 14619 "optional" : 1,
44660702 14620 "type" : "integer"
56122987 14621 },
de0983cb 14622 "bps_rd_length" : {
5d9c884c
DM
14623 "alias" : "bps_rd_max_length"
14624 },
14625 "bps_rd_max_length" : {
de0983cb
DM
14626 "description" : "Maximum length of read I/O bursts in seconds.",
14627 "format_description" : "seconds",
14628 "minimum" : 1,
14629 "optional" : 1,
14630 "type" : "integer"
14631 },
44660702 14632 "bps_wr" : {
de0983cb 14633 "description" : "Maximum write speed in bytes per second.",
44660702 14634 "format_description" : "bps",
7aacca6f 14635 "optional" : 1,
44660702 14636 "type" : "integer"
56122987 14637 },
de0983cb 14638 "bps_wr_length" : {
5d9c884c
DM
14639 "alias" : "bps_wr_max_length"
14640 },
14641 "bps_wr_max_length" : {
de0983cb
DM
14642 "description" : "Maximum length of write I/O bursts in seconds.",
14643 "format_description" : "seconds",
14644 "minimum" : 1,
14645 "optional" : 1,
14646 "type" : "integer"
14647 },
44660702
DM
14648 "cache" : {
14649 "description" : "The drive's cache mode",
7aacca6f
DM
14650 "enum" : [
14651 "none",
44660702
DM
14652 "writethrough",
14653 "writeback",
14654 "unsafe",
14655 "directsync"
7aacca6f 14656 ],
56122987 14657 "optional" : 1,
44660702 14658 "type" : "string"
56122987 14659 },
7aacca6f
DM
14660 "cyls" : {
14661 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
14662 "optional" : 1,
44660702 14663 "type" : "integer"
7aacca6f 14664 },
44660702
DM
14665 "detect_zeroes" : {
14666 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 14667 "optional" : 1,
44660702 14668 "type" : "boolean"
56122987 14669 },
44660702
DM
14670 "discard" : {
14671 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 14672 "enum" : [
44660702
DM
14673 "ignore",
14674 "on"
7aacca6f 14675 ],
7aacca6f 14676 "optional" : 1,
44660702 14677 "type" : "string"
56122987
DM
14678 },
14679 "file" : {
7aacca6f
DM
14680 "default_key" : 1,
14681 "description" : "The drive's backing volume.",
44660702
DM
14682 "format" : "pve-volume-id-or-qm-path",
14683 "format_description" : "volume",
7aacca6f 14684 "type" : "string"
56122987 14685 },
7aacca6f 14686 "format" : {
44660702 14687 "description" : "The drive's backing file's data format.",
56122987 14688 "enum" : [
7aacca6f
DM
14689 "raw",
14690 "cow",
14691 "qcow",
14692 "qed",
14693 "qcow2",
14694 "vmdk",
14695 "cloop"
56122987 14696 ],
44660702
DM
14697 "optional" : 1,
14698 "type" : "string"
56122987 14699 },
44660702
DM
14700 "heads" : {
14701 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14702 "optional" : 1,
14703 "type" : "integer"
14704 },
14705 "iops" : {
de0983cb 14706 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 14707 "format_description" : "iops",
56122987 14708 "optional" : 1,
44660702 14709 "type" : "integer"
56122987 14710 },
44660702 14711 "iops_max" : {
de0983cb 14712 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14713 "format_description" : "iops",
7aacca6f 14714 "optional" : 1,
44660702 14715 "type" : "integer"
56122987 14716 },
de0983cb
DM
14717 "iops_max_length" : {
14718 "description" : "Maximum length of I/O bursts in seconds.",
14719 "format_description" : "seconds",
14720 "minimum" : 1,
14721 "optional" : 1,
14722 "type" : "integer"
14723 },
44660702 14724 "iops_rd" : {
de0983cb 14725 "description" : "Maximum read I/O in operations per second.",
44660702 14726 "format_description" : "iops",
56122987 14727 "optional" : 1,
44660702 14728 "type" : "integer"
56122987 14729 },
de0983cb 14730 "iops_rd_length" : {
5d9c884c 14731 "alias" : "iops_rd_max_length"
de0983cb 14732 },
44660702 14733 "iops_rd_max" : {
de0983cb 14734 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
14735 "format_description" : "iops",
14736 "optional" : 1,
14737 "type" : "integer"
56122987 14738 },
5d9c884c
DM
14739 "iops_rd_max_length" : {
14740 "description" : "Maximum length of read I/O bursts in seconds.",
14741 "format_description" : "seconds",
14742 "minimum" : 1,
14743 "optional" : 1,
14744 "type" : "integer"
14745 },
44660702 14746 "iops_wr" : {
de0983cb 14747 "description" : "Maximum write I/O in operations per second.",
44660702 14748 "format_description" : "iops",
56122987 14749 "optional" : 1,
44660702 14750 "type" : "integer"
56122987 14751 },
de0983cb 14752 "iops_wr_length" : {
5d9c884c 14753 "alias" : "iops_wr_max_length"
de0983cb 14754 },
44660702 14755 "iops_wr_max" : {
de0983cb 14756 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14757 "format_description" : "iops",
56122987 14758 "optional" : 1,
56122987
DM
14759 "type" : "integer"
14760 },
5d9c884c
DM
14761 "iops_wr_max_length" : {
14762 "description" : "Maximum length of write I/O bursts in seconds.",
14763 "format_description" : "seconds",
14764 "minimum" : 1,
14765 "optional" : 1,
14766 "type" : "integer"
14767 },
44660702
DM
14768 "iothread" : {
14769 "description" : "Whether to use iothreads for this drive",
44660702
DM
14770 "optional" : 1,
14771 "type" : "boolean"
14772 },
14773 "mbps" : {
de0983cb 14774 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
14775 "format_description" : "mbps",
14776 "optional" : 1,
14777 "type" : "number"
14778 },
7aacca6f 14779 "mbps_max" : {
de0983cb 14780 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14781 "format_description" : "mbps",
56122987 14782 "optional" : 1,
44660702 14783 "type" : "number"
56122987 14784 },
44660702 14785 "mbps_rd" : {
de0983cb 14786 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
14787 "format_description" : "mbps",
14788 "optional" : 1,
14789 "type" : "number"
56122987 14790 },
44660702 14791 "mbps_rd_max" : {
de0983cb 14792 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14793 "format_description" : "mbps",
56122987 14794 "optional" : 1,
44660702 14795 "type" : "number"
56122987 14796 },
44660702 14797 "mbps_wr" : {
de0983cb 14798 "description" : "Maximum write speed in megabytes per second.",
44660702 14799 "format_description" : "mbps",
56122987 14800 "optional" : 1,
44660702 14801 "type" : "number"
56122987 14802 },
44660702 14803 "mbps_wr_max" : {
de0983cb 14804 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14805 "format_description" : "mbps",
7aacca6f 14806 "optional" : 1,
44660702 14807 "type" : "number"
56122987 14808 },
7aacca6f 14809 "media" : {
44660702 14810 "default" : "disk",
7aacca6f
DM
14811 "description" : "The drive's media type.",
14812 "enum" : [
14813 "cdrom",
14814 "disk"
14815 ],
56122987 14816 "optional" : 1,
44660702 14817 "type" : "string"
56122987 14818 },
44660702
DM
14819 "queues" : {
14820 "description" : "Number of queues.",
44660702
DM
14821 "minimum" : 2,
14822 "optional" : 1,
14823 "type" : "integer"
56122987 14824 },
5d9c884c
DM
14825 "replicate" : {
14826 "default" : 1,
14827 "description" : "Whether the drive should considered for replication jobs.",
14828 "optional" : 1,
14829 "type" : "boolean"
14830 },
14831 "rerror" : {
14832 "description" : "Read error action.",
14833 "enum" : [
14834 "ignore",
14835 "report",
14836 "stop"
14837 ],
14838 "optional" : 1,
14839 "type" : "string"
14840 },
52e44c50
FG
14841 "scsiblock" : {
14842 "default" : 0,
14843 "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",
14844 "optional" : 1,
14845 "type" : "boolean"
14846 },
7aacca6f 14847 "secs" : {
7aacca6f 14848 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
14849 "optional" : 1,
14850 "type" : "integer"
14851 },
14852 "serial" : {
14853 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14854 "format" : "urlencoded",
14855 "format_description" : "serial",
14856 "maxLength" : 60,
14857 "optional" : 1,
14858 "type" : "string"
14859 },
27a7acb2
DM
14860 "shared" : {
14861 "default" : 0,
14862 "description" : "Mark this locally-managed volume as available on all nodes",
14863 "optional" : 1,
14864 "type" : "boolean",
14865 "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!"
14866 },
44660702
DM
14867 "size" : {
14868 "description" : "Disk size. This is purely informational and has no effect.",
14869 "format" : "disk-size",
f004f5b9 14870 "format_description" : "DiskSize",
44660702
DM
14871 "optional" : 1,
14872 "type" : "string"
14873 },
14874 "snapshot" : {
27a7acb2 14875 "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
14876 "optional" : 1,
14877 "type" : "boolean"
14878 },
14879 "trans" : {
14880 "description" : "Force disk geometry bios translation mode.",
14881 "enum" : [
14882 "none",
14883 "lba",
14884 "auto"
14885 ],
44660702
DM
14886 "optional" : 1,
14887 "type" : "string"
14888 },
14889 "volume" : {
14890 "alias" : "file"
14891 },
14892 "werror" : {
14893 "description" : "Write error action.",
14894 "enum" : [
14895 "enospc",
14896 "ignore",
14897 "report",
14898 "stop"
14899 ],
44660702
DM
14900 "optional" : 1,
14901 "type" : "string"
56122987
DM
14902 }
14903 },
7aacca6f 14904 "optional" : 1,
4bd7df8b 14905 "type" : "string",
27a7acb2 14906 "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 14907 },
44660702
DM
14908 "scsihw" : {
14909 "default" : "lsi",
c2993fe5 14910 "description" : "SCSI controller model",
44660702
DM
14911 "enum" : [
14912 "lsi",
14913 "lsi53c810",
14914 "virtio-scsi-pci",
14915 "virtio-scsi-single",
14916 "megasas",
14917 "pvscsi"
14918 ],
7aacca6f 14919 "optional" : 1,
44660702 14920 "type" : "string"
7aacca6f 14921 },
27a7acb2
DM
14922 "searchdomain" : {
14923 "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.",
14924 "optional" : 1,
14925 "type" : "string",
14926 "typetext" : "<string>"
14927 },
44660702 14928 "serial[n]" : {
c2993fe5 14929 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
14930 "optional" : 1,
14931 "pattern" : "(/dev/.+|socket)",
c2993fe5 14932 "type" : "string",
57b78691 14933 "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
14934 },
14935 "shares" : {
14936 "default" : 1000,
14937 "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",
14938 "maximum" : 50000,
14939 "minimum" : 0,
14940 "optional" : 1,
4bd7df8b 14941 "type" : "integer",
013dc89f 14942 "typetext" : "<integer> (0 - 50000)"
44660702
DM
14943 },
14944 "smbios1" : {
14945 "description" : "Specify SMBIOS type 1 fields.",
14946 "format" : "pve-qm-smbios1",
14947 "maxLength" : 256,
7aacca6f 14948 "optional" : 1,
4bd7df8b
DM
14949 "type" : "string",
14950 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
14951 },
14952 "smp" : {
44660702 14953 "default" : 1,
7aacca6f 14954 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 14955 "minimum" : 1,
56122987 14956 "optional" : 1,
4bd7df8b 14957 "type" : "integer",
013dc89f 14958 "typetext" : "<integer> (1 - N)"
44660702
DM
14959 },
14960 "sockets" : {
7aacca6f 14961 "default" : 1,
44660702
DM
14962 "description" : "The number of CPU sockets.",
14963 "minimum" : 1,
14964 "optional" : 1,
4bd7df8b 14965 "type" : "integer",
013dc89f 14966 "typetext" : "<integer> (1 - N)"
7aacca6f 14967 },
27a7acb2
DM
14968 "sshkeys" : {
14969 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14970 "format" : "urlencoded",
14971 "optional" : 1,
14972 "type" : "string",
14973 "typetext" : "<string>"
14974 },
44660702
DM
14975 "startdate" : {
14976 "default" : "now",
14977 "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'.",
14978 "optional" : 1,
14979 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
14980 "type" : "string",
14981 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14982 },
14983 "startup" : {
14984 "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.",
14985 "format" : "pve-startup-order",
14986 "optional" : 1,
14987 "type" : "string",
14988 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14989 },
14990 "storage" : {
14991 "description" : "Default storage.",
14992 "format" : "pve-storage-id",
7aacca6f 14993 "optional" : 1,
013dc89f
DM
14994 "type" : "string",
14995 "typetext" : "<string>"
56122987 14996 },
44660702
DM
14997 "tablet" : {
14998 "default" : 1,
c2993fe5 14999 "description" : "Enable/disable the USB tablet device.",
56122987 15000 "optional" : 1,
c2993fe5 15001 "type" : "boolean",
013dc89f 15002 "typetext" : "<boolean>",
c2993fe5 15003 "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
15004 },
15005 "tdf" : {
15006 "default" : 0,
15007 "description" : "Enable/disable time drift fix.",
15008 "optional" : 1,
013dc89f
DM
15009 "type" : "boolean",
15010 "typetext" : "<boolean>"
7aacca6f
DM
15011 },
15012 "template" : {
7aacca6f 15013 "default" : 0,
44660702 15014 "description" : "Enable/disable Template.",
7aacca6f 15015 "optional" : 1,
013dc89f
DM
15016 "type" : "boolean",
15017 "typetext" : "<boolean>"
7aacca6f 15018 },
44660702
DM
15019 "unique" : {
15020 "description" : "Assign a unique random ethernet address.",
7aacca6f 15021 "optional" : 1,
44660702 15022 "requires" : "archive",
013dc89f
DM
15023 "type" : "boolean",
15024 "typetext" : "<boolean>"
56122987 15025 },
44660702 15026 "unused[n]" : {
c2993fe5 15027 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 15028 "format" : "pve-volume-id",
7aacca6f 15029 "optional" : 1,
013dc89f
DM
15030 "type" : "string",
15031 "typetext" : "<string>"
44660702
DM
15032 },
15033 "usb[n]" : {
c2993fe5 15034 "description" : "Configure an USB device (n is 0 to 4).",
56122987 15035 "format" : {
7aacca6f
DM
15036 "host" : {
15037 "default_key" : 1,
c2993fe5 15038 "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 15039 "format" : "pve-qm-usb-device",
44660702
DM
15040 "format_description" : "HOSTUSBDEVICE|spice",
15041 "type" : "string"
7aacca6f 15042 },
56122987 15043 "usb3" : {
c2993fe5
DM
15044 "default" : 0,
15045 "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 15046 "optional" : 1,
56122987 15047 "type" : "boolean"
7aacca6f 15048 }
56122987 15049 },
56122987 15050 "optional" : 1,
4bd7df8b
DM
15051 "type" : "string",
15052 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 15053 },
44660702
DM
15054 "vcpus" : {
15055 "default" : 0,
15056 "description" : "Number of hotplugged vcpus.",
15057 "minimum" : 1,
56122987 15058 "optional" : 1,
4bd7df8b 15059 "type" : "integer",
013dc89f 15060 "typetext" : "<integer> (1 - N)"
7aacca6f 15061 },
44660702 15062 "vga" : {
c2993fe5 15063 "description" : "Select the VGA type.",
44660702
DM
15064 "enum" : [
15065 "std",
15066 "cirrus",
15067 "vmware",
15068 "qxl",
15069 "serial0",
15070 "serial1",
15071 "serial2",
15072 "serial3",
15073 "qxl2",
15074 "qxl3",
15075 "qxl4"
15076 ],
15077 "optional" : 1,
c2993fe5
DM
15078 "type" : "string",
15079 "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 15080 },
44660702
DM
15081 "virtio[n]" : {
15082 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
15083 "format" : {
15084 "aio" : {
15085 "description" : "AIO type to use.",
15086 "enum" : [
15087 "native",
15088 "threads"
15089 ],
44660702
DM
15090 "optional" : 1,
15091 "type" : "string"
15092 },
15093 "backup" : {
15094 "description" : "Whether the drive should be included when making backups.",
44660702
DM
15095 "optional" : 1,
15096 "type" : "boolean"
15097 },
15098 "bps" : {
de0983cb 15099 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
15100 "format_description" : "bps",
15101 "optional" : 1,
15102 "type" : "integer"
15103 },
de0983cb
DM
15104 "bps_max_length" : {
15105 "description" : "Maximum length of I/O bursts in seconds.",
15106 "format_description" : "seconds",
15107 "minimum" : 1,
15108 "optional" : 1,
15109 "type" : "integer"
15110 },
44660702 15111 "bps_rd" : {
de0983cb 15112 "description" : "Maximum read speed in bytes per second.",
44660702
DM
15113 "format_description" : "bps",
15114 "optional" : 1,
15115 "type" : "integer"
15116 },
de0983cb 15117 "bps_rd_length" : {
5d9c884c
DM
15118 "alias" : "bps_rd_max_length"
15119 },
15120 "bps_rd_max_length" : {
de0983cb
DM
15121 "description" : "Maximum length of read I/O bursts in seconds.",
15122 "format_description" : "seconds",
15123 "minimum" : 1,
15124 "optional" : 1,
15125 "type" : "integer"
15126 },
44660702 15127 "bps_wr" : {
de0983cb 15128 "description" : "Maximum write speed in bytes per second.",
44660702
DM
15129 "format_description" : "bps",
15130 "optional" : 1,
15131 "type" : "integer"
15132 },
de0983cb 15133 "bps_wr_length" : {
5d9c884c
DM
15134 "alias" : "bps_wr_max_length"
15135 },
15136 "bps_wr_max_length" : {
de0983cb
DM
15137 "description" : "Maximum length of write I/O bursts in seconds.",
15138 "format_description" : "seconds",
15139 "minimum" : 1,
15140 "optional" : 1,
15141 "type" : "integer"
15142 },
44660702
DM
15143 "cache" : {
15144 "description" : "The drive's cache mode",
15145 "enum" : [
15146 "none",
15147 "writethrough",
15148 "writeback",
15149 "unsafe",
15150 "directsync"
15151 ],
44660702
DM
15152 "optional" : 1,
15153 "type" : "string"
15154 },
15155 "cyls" : {
15156 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15157 "optional" : 1,
15158 "type" : "integer"
15159 },
15160 "detect_zeroes" : {
15161 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15162 "optional" : 1,
15163 "type" : "boolean"
15164 },
15165 "discard" : {
15166 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15167 "enum" : [
15168 "ignore",
15169 "on"
15170 ],
44660702
DM
15171 "optional" : 1,
15172 "type" : "string"
15173 },
15174 "file" : {
15175 "default_key" : 1,
15176 "description" : "The drive's backing volume.",
15177 "format" : "pve-volume-id-or-qm-path",
15178 "format_description" : "volume",
15179 "type" : "string"
15180 },
15181 "format" : {
15182 "description" : "The drive's backing file's data format.",
15183 "enum" : [
15184 "raw",
15185 "cow",
15186 "qcow",
15187 "qed",
15188 "qcow2",
15189 "vmdk",
15190 "cloop"
15191 ],
44660702
DM
15192 "optional" : 1,
15193 "type" : "string"
15194 },
15195 "heads" : {
15196 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15197 "optional" : 1,
15198 "type" : "integer"
15199 },
15200 "iops" : {
de0983cb 15201 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
15202 "format_description" : "iops",
15203 "optional" : 1,
15204 "type" : "integer"
15205 },
15206 "iops_max" : {
de0983cb 15207 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
15208 "format_description" : "iops",
15209 "optional" : 1,
15210 "type" : "integer"
15211 },
de0983cb
DM
15212 "iops_max_length" : {
15213 "description" : "Maximum length of I/O bursts in seconds.",
15214 "format_description" : "seconds",
15215 "minimum" : 1,
15216 "optional" : 1,
15217 "type" : "integer"
15218 },
44660702 15219 "iops_rd" : {
de0983cb 15220 "description" : "Maximum read I/O in operations per second.",
44660702
DM
15221 "format_description" : "iops",
15222 "optional" : 1,
15223 "type" : "integer"
15224 },
de0983cb 15225 "iops_rd_length" : {
5d9c884c 15226 "alias" : "iops_rd_max_length"
de0983cb 15227 },
44660702 15228 "iops_rd_max" : {
de0983cb 15229 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
15230 "format_description" : "iops",
15231 "optional" : 1,
15232 "type" : "integer"
15233 },
5d9c884c
DM
15234 "iops_rd_max_length" : {
15235 "description" : "Maximum length of read I/O bursts in seconds.",
15236 "format_description" : "seconds",
15237 "minimum" : 1,
15238 "optional" : 1,
15239 "type" : "integer"
15240 },
44660702 15241 "iops_wr" : {
de0983cb 15242 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15243 "format_description" : "iops",
15244 "optional" : 1,
15245 "type" : "integer"
15246 },
de0983cb 15247 "iops_wr_length" : {
5d9c884c 15248 "alias" : "iops_wr_max_length"
de0983cb 15249 },
44660702 15250 "iops_wr_max" : {
de0983cb 15251 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15252 "format_description" : "iops",
15253 "optional" : 1,
15254 "type" : "integer"
15255 },
5d9c884c
DM
15256 "iops_wr_max_length" : {
15257 "description" : "Maximum length of write I/O bursts in seconds.",
15258 "format_description" : "seconds",
15259 "minimum" : 1,
15260 "optional" : 1,
15261 "type" : "integer"
15262 },
44660702
DM
15263 "iothread" : {
15264 "description" : "Whether to use iothreads for this drive",
44660702
DM
15265 "optional" : 1,
15266 "type" : "boolean"
15267 },
15268 "mbps" : {
de0983cb 15269 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15270 "format_description" : "mbps",
15271 "optional" : 1,
15272 "type" : "number"
15273 },
15274 "mbps_max" : {
de0983cb 15275 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
15276 "format_description" : "mbps",
15277 "optional" : 1,
15278 "type" : "number"
15279 },
15280 "mbps_rd" : {
de0983cb 15281 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15282 "format_description" : "mbps",
15283 "optional" : 1,
15284 "type" : "number"
15285 },
15286 "mbps_rd_max" : {
de0983cb 15287 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15288 "format_description" : "mbps",
15289 "optional" : 1,
15290 "type" : "number"
15291 },
15292 "mbps_wr" : {
de0983cb 15293 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15294 "format_description" : "mbps",
15295 "optional" : 1,
15296 "type" : "number"
15297 },
15298 "mbps_wr_max" : {
de0983cb 15299 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15300 "format_description" : "mbps",
15301 "optional" : 1,
15302 "type" : "number"
15303 },
15304 "media" : {
15305 "default" : "disk",
15306 "description" : "The drive's media type.",
15307 "enum" : [
15308 "cdrom",
15309 "disk"
15310 ],
44660702
DM
15311 "optional" : 1,
15312 "type" : "string"
15313 },
5d9c884c
DM
15314 "replicate" : {
15315 "default" : 1,
15316 "description" : "Whether the drive should considered for replication jobs.",
15317 "optional" : 1,
15318 "type" : "boolean"
15319 },
44660702
DM
15320 "rerror" : {
15321 "description" : "Read error action.",
15322 "enum" : [
15323 "ignore",
15324 "report",
15325 "stop"
15326 ],
44660702
DM
15327 "optional" : 1,
15328 "type" : "string"
15329 },
15330 "secs" : {
15331 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
15332 "optional" : 1,
15333 "type" : "integer"
15334 },
15335 "serial" : {
15336 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15337 "format" : "urlencoded",
15338 "format_description" : "serial",
15339 "maxLength" : 60,
15340 "optional" : 1,
15341 "type" : "string"
15342 },
27a7acb2
DM
15343 "shared" : {
15344 "default" : 0,
15345 "description" : "Mark this locally-managed volume as available on all nodes",
15346 "optional" : 1,
15347 "type" : "boolean",
15348 "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!"
15349 },
44660702
DM
15350 "size" : {
15351 "description" : "Disk size. This is purely informational and has no effect.",
15352 "format" : "disk-size",
f004f5b9 15353 "format_description" : "DiskSize",
44660702
DM
15354 "optional" : 1,
15355 "type" : "string"
15356 },
15357 "snapshot" : {
27a7acb2 15358 "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
15359 "optional" : 1,
15360 "type" : "boolean"
15361 },
15362 "trans" : {
15363 "description" : "Force disk geometry bios translation mode.",
15364 "enum" : [
15365 "none",
15366 "lba",
15367 "auto"
15368 ],
44660702
DM
15369 "optional" : 1,
15370 "type" : "string"
15371 },
15372 "volume" : {
15373 "alias" : "file"
15374 },
15375 "werror" : {
15376 "description" : "Write error action.",
15377 "enum" : [
15378 "enospc",
15379 "ignore",
15380 "report",
15381 "stop"
15382 ],
44660702
DM
15383 "optional" : 1,
15384 "type" : "string"
15385 }
15386 },
15387 "optional" : 1,
4bd7df8b 15388 "type" : "string",
27a7acb2 15389 "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 15390 },
44660702
DM
15391 "vmid" : {
15392 "description" : "The (unique) ID of the VM.",
15393 "format" : "pve-vmid",
15394 "minimum" : 1,
4bd7df8b 15395 "type" : "integer",
013dc89f 15396 "typetext" : "<integer> (1 - N)"
44660702 15397 },
2489d6df
WB
15398 "vmstatestorage" : {
15399 "description" : "Default storage for VM state volumes/files.",
15400 "format" : "pve-storage-id",
15401 "optional" : 1,
15402 "type" : "string",
15403 "typetext" : "<string>"
15404 },
44660702 15405 "watchdog" : {
c2993fe5 15406 "description" : "Create a virtual hardware watchdog device.",
44660702 15407 "format" : "pve-qm-watchdog",
7aacca6f 15408 "optional" : 1,
c2993fe5 15409 "type" : "string",
013dc89f 15410 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 15411 "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 15412 }
44660702 15413 }
56122987 15414 },
56122987 15415 "permissions" : {
44660702
DM
15416 "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.",
15417 "user" : "all"
56122987 15418 },
44660702
DM
15419 "protected" : 1,
15420 "proxyto" : "node",
56122987 15421 "returns" : {
44660702 15422 "type" : "string"
7aacca6f 15423 }
56122987 15424 }
7aacca6f 15425 },
44660702 15426 "leaf" : 0,
7aacca6f 15427 "path" : "/nodes/{node}/qemu",
44660702 15428 "text" : "qemu"
56122987
DM
15429 },
15430 {
15431 "children" : [
15432 {
56122987
DM
15433 "children" : [
15434 {
56122987 15435 "info" : {
44660702
DM
15436 "GET" : {
15437 "description" : "Get container configuration.",
15438 "method" : "GET",
15439 "name" : "vm_config",
15440 "parameters" : {
15441 "additionalProperties" : 0,
15442 "properties" : {
15443 "node" : {
15444 "description" : "The cluster node name.",
15445 "format" : "pve-node",
013dc89f
DM
15446 "type" : "string",
15447 "typetext" : "<string>"
44660702
DM
15448 },
15449 "vmid" : {
15450 "description" : "The (unique) ID of the VM.",
15451 "format" : "pve-vmid",
15452 "minimum" : 1,
4bd7df8b 15453 "type" : "integer",
013dc89f 15454 "typetext" : "<integer> (1 - N)"
44660702
DM
15455 }
15456 }
15457 },
15458 "permissions" : {
15459 "check" : [
15460 "perm",
15461 "/vms/{vmid}",
15462 [
15463 "VM.Audit"
15464 ]
15465 ]
15466 },
15467 "proxyto" : "node",
15468 "returns" : {
15469 "properties" : {
15470 "digest" : {
15471 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
15472 "type" : "string"
15473 }
15474 },
15475 "type" : "object"
15476 }
15477 },
56122987 15478 "PUT" : {
44660702
DM
15479 "description" : "Set container options.",
15480 "method" : "PUT",
15481 "name" : "update_vm",
56122987 15482 "parameters" : {
44660702 15483 "additionalProperties" : 0,
56122987 15484 "properties" : {
44660702
DM
15485 "arch" : {
15486 "default" : "amd64",
15487 "description" : "OS architecture type.",
15488 "enum" : [
15489 "amd64",
15490 "i386"
15491 ],
7aacca6f 15492 "optional" : 1,
44660702
DM
15493 "type" : "string"
15494 },
15495 "cmode" : {
7aacca6f 15496 "default" : "tty",
44660702 15497 "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
15498 "enum" : [
15499 "shell",
15500 "console",
15501 "tty"
15502 ],
44660702
DM
15503 "optional" : 1,
15504 "type" : "string"
7aacca6f 15505 },
44660702
DM
15506 "console" : {
15507 "default" : 1,
15508 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 15509 "optional" : 1,
013dc89f
DM
15510 "type" : "boolean",
15511 "typetext" : "<boolean>"
7aacca6f 15512 },
de0983cb
DM
15513 "cores" : {
15514 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
15515 "maximum" : 128,
15516 "minimum" : 1,
15517 "optional" : 1,
15518 "type" : "integer",
013dc89f 15519 "typetext" : "<integer> (1 - 128)"
de0983cb 15520 },
44660702
DM
15521 "cpulimit" : {
15522 "default" : 0,
15523 "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.",
15524 "maximum" : 128,
7aacca6f 15525 "minimum" : 0,
7aacca6f 15526 "optional" : 1,
4bd7df8b 15527 "type" : "number",
013dc89f 15528 "typetext" : "<number> (0 - 128)"
7aacca6f 15529 },
44660702
DM
15530 "cpuunits" : {
15531 "default" : 1024,
15532 "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.",
15533 "maximum" : 500000,
15534 "minimum" : 0,
15535 "optional" : 1,
4bd7df8b 15536 "type" : "integer",
013dc89f 15537 "typetext" : "<integer> (0 - 500000)"
7aacca6f 15538 },
44660702
DM
15539 "delete" : {
15540 "description" : "A list of settings you want to delete.",
15541 "format" : "pve-configid-list",
7aacca6f 15542 "optional" : 1,
013dc89f
DM
15543 "type" : "string",
15544 "typetext" : "<string>"
7aacca6f 15545 },
44660702
DM
15546 "description" : {
15547 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 15548 "optional" : 1,
013dc89f
DM
15549 "type" : "string",
15550 "typetext" : "<string>"
7aacca6f 15551 },
44660702
DM
15552 "digest" : {
15553 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15554 "maxLength" : 40,
7aacca6f 15555 "optional" : 1,
013dc89f
DM
15556 "type" : "string",
15557 "typetext" : "<string>"
7aacca6f 15558 },
44660702
DM
15559 "hostname" : {
15560 "description" : "Set a host name for the container.",
15561 "format" : "dns-name",
15562 "maxLength" : 255,
56122987 15563 "optional" : 1,
013dc89f
DM
15564 "type" : "string",
15565 "typetext" : "<string>"
44660702
DM
15566 },
15567 "lock" : {
15568 "description" : "Lock/unlock the VM.",
15569 "enum" : [
15570 "migrate",
15571 "backup",
15572 "snapshot",
15573 "rollback"
15574 ],
15575 "optional" : 1,
15576 "type" : "string"
15577 },
15578 "memory" : {
15579 "default" : 512,
15580 "description" : "Amount of RAM for the VM in MB.",
15581 "minimum" : 16,
15582 "optional" : 1,
4bd7df8b 15583 "type" : "integer",
013dc89f 15584 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
15585 },
15586 "mp[n]" : {
c2993fe5 15587 "description" : "Use volume as container mount point.",
7aacca6f 15588 "format" : {
7aacca6f
DM
15589 "acl" : {
15590 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 15591 "optional" : 1,
44660702 15592 "type" : "boolean"
7aacca6f
DM
15593 },
15594 "backup" : {
de0983cb 15595 "description" : "Whether to include the mount point in backups.",
7aacca6f 15596 "optional" : 1,
4bd7df8b 15597 "type" : "boolean",
de0983cb 15598 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
15599 },
15600 "mp" : {
de0983cb 15601 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 15602 "format" : "pve-lxc-mp-string",
44660702 15603 "format_description" : "Path",
4bd7df8b 15604 "type" : "string",
de0983cb 15605 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 15606 },
5d9c884c
DM
15607 "quota" : {
15608 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
15609 "optional" : 1,
15610 "type" : "boolean"
15611 },
15612 "replicate" : {
15613 "default" : 1,
15614 "description" : "Will include this volume to a storage replica job.",
44660702
DM
15615 "optional" : 1,
15616 "type" : "boolean"
15617 },
15618 "ro" : {
de0983cb 15619 "description" : "Read-only mount point",
44660702
DM
15620 "optional" : 1,
15621 "type" : "boolean"
15622 },
de0983cb
DM
15623 "shared" : {
15624 "default" : 0,
15625 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
15626 "optional" : 1,
15627 "type" : "boolean",
15628 "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!"
15629 },
44660702
DM
15630 "size" : {
15631 "description" : "Volume size (read only value).",
15632 "format" : "disk-size",
15633 "format_description" : "DiskSize",
15634 "optional" : 1,
15635 "type" : "string"
15636 },
15637 "volume" : {
15638 "default_key" : 1,
15639 "description" : "Volume, device or directory to mount into the container.",
15640 "format" : "pve-lxc-mp-string",
15641 "format_description" : "volume",
15642 "type" : "string"
15643 }
15644 },
7aacca6f 15645 "optional" : 1,
4bd7df8b 15646 "type" : "string",
5d9c884c 15647 "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 15648 },
44660702
DM
15649 "nameserver" : {
15650 "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.",
15651 "format" : "address-list",
56122987 15652 "optional" : 1,
013dc89f
DM
15653 "type" : "string",
15654 "typetext" : "<string>"
56122987
DM
15655 },
15656 "net[n]" : {
44660702 15657 "description" : "Specifies network interfaces for the container.",
56122987 15658 "format" : {
44660702
DM
15659 "bridge" : {
15660 "description" : "Bridge to attach the network device to.",
f004f5b9 15661 "format_description" : "bridge",
56122987 15662 "optional" : 1,
44660702
DM
15663 "pattern" : "[-_.\\w\\d]+",
15664 "type" : "string"
56122987 15665 },
44660702
DM
15666 "firewall" : {
15667 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 15668 "optional" : 1,
44660702 15669 "type" : "boolean"
56122987 15670 },
44660702
DM
15671 "gw" : {
15672 "description" : "Default gateway for IPv4 traffic.",
15673 "format" : "ipv4",
15674 "format_description" : "GatewayIPv4",
56122987 15675 "optional" : 1,
44660702 15676 "type" : "string"
56122987
DM
15677 },
15678 "gw6" : {
7aacca6f 15679 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
15680 "format" : "ipv6",
15681 "format_description" : "GatewayIPv6",
7aacca6f 15682 "optional" : 1,
56122987
DM
15683 "type" : "string"
15684 },
44660702 15685 "hwaddr" : {
f004f5b9
DM
15686 "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)",
15687 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
15688 "optional" : 1,
15689 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
15690 "type" : "string"
15691 },
15692 "ip" : {
15693 "description" : "IPv4 address in CIDR format.",
15694 "format" : "pve-ipv4-config",
2489d6df 15695 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 15696 "optional" : 1,
44660702 15697 "type" : "string"
56122987 15698 },
7aacca6f 15699 "ip6" : {
7aacca6f
DM
15700 "description" : "IPv6 address in CIDR format.",
15701 "format" : "pve-ipv6-config",
2489d6df 15702 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 15703 "optional" : 1,
44660702 15704 "type" : "string"
56122987 15705 },
44660702
DM
15706 "mtu" : {
15707 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 15708 "minimum" : 64,
56122987 15709 "optional" : 1,
44660702 15710 "type" : "integer"
56122987
DM
15711 },
15712 "name" : {
44660702 15713 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 15714 "format_description" : "string",
56122987 15715 "pattern" : "[-_.\\w\\d]+",
44660702 15716 "type" : "string"
56122987 15717 },
44660702
DM
15718 "rate" : {
15719 "description" : "Apply rate limiting to the interface",
15720 "format_description" : "mbps",
56122987 15721 "optional" : 1,
44660702 15722 "type" : "number"
7aacca6f 15723 },
44660702
DM
15724 "tag" : {
15725 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
15726 "maximum" : 4094,
15727 "minimum" : 1,
56122987 15728 "optional" : 1,
7aacca6f 15729 "type" : "integer"
56122987 15730 },
44660702
DM
15731 "trunks" : {
15732 "description" : "VLAN ids to pass through the interface",
15733 "format_description" : "vlanid[;vlanid...]",
15734 "optional" : 1,
15735 "pattern" : "(?^:\\d+(?:;\\d+)*)",
15736 "type" : "string"
15737 },
15738 "type" : {
15739 "description" : "Network interface type.",
15740 "enum" : [
15741 "veth"
15742 ],
56122987 15743 "optional" : 1,
44660702 15744 "type" : "string"
56122987
DM
15745 }
15746 },
7aacca6f 15747 "optional" : 1,
4bd7df8b 15748 "type" : "string",
2489d6df 15749 "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 15750 },
44660702
DM
15751 "node" : {
15752 "description" : "The cluster node name.",
15753 "format" : "pve-node",
013dc89f
DM
15754 "type" : "string",
15755 "typetext" : "<string>"
56122987 15756 },
44660702
DM
15757 "onboot" : {
15758 "default" : 0,
15759 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 15760 "optional" : 1,
013dc89f
DM
15761 "type" : "boolean",
15762 "typetext" : "<boolean>"
56122987 15763 },
44660702
DM
15764 "ostype" : {
15765 "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.",
15766 "enum" : [
15767 "debian",
15768 "ubuntu",
15769 "centos",
15770 "fedora",
15771 "opensuse",
15772 "archlinux",
15773 "alpine",
57b78691 15774 "gentoo",
44660702
DM
15775 "unmanaged"
15776 ],
56122987 15777 "optional" : 1,
44660702 15778 "type" : "string"
56122987 15779 },
44660702
DM
15780 "protection" : {
15781 "default" : 0,
15782 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 15783 "optional" : 1,
013dc89f
DM
15784 "type" : "boolean",
15785 "typetext" : "<boolean>"
56122987 15786 },
7aacca6f
DM
15787 "rootfs" : {
15788 "description" : "Use volume as container root.",
56122987
DM
15789 "format" : {
15790 "acl" : {
44660702 15791 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
15792 "optional" : 1,
15793 "type" : "boolean"
56122987 15794 },
44660702
DM
15795 "quota" : {
15796 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
15797 "optional" : 1,
15798 "type" : "boolean"
15799 },
5d9c884c
DM
15800 "replicate" : {
15801 "default" : 1,
15802 "description" : "Will include this volume to a storage replica job.",
15803 "optional" : 1,
15804 "type" : "boolean"
15805 },
44660702 15806 "ro" : {
de0983cb 15807 "description" : "Read-only mount point",
56122987 15808 "optional" : 1,
44660702
DM
15809 "type" : "boolean"
15810 },
de0983cb
DM
15811 "shared" : {
15812 "default" : 0,
15813 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
15814 "optional" : 1,
15815 "type" : "boolean",
15816 "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!"
15817 },
44660702 15818 "size" : {
7aacca6f 15819 "description" : "Volume size (read only value).",
44660702 15820 "format" : "disk-size",
56122987 15821 "format_description" : "DiskSize",
56122987 15822 "optional" : 1,
44660702 15823 "type" : "string"
7aacca6f
DM
15824 },
15825 "volume" : {
7aacca6f
DM
15826 "default_key" : 1,
15827 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
15828 "format" : "pve-lxc-mp-string",
15829 "format_description" : "volume",
7aacca6f 15830 "type" : "string"
56122987 15831 }
44660702
DM
15832 },
15833 "optional" : 1,
4bd7df8b 15834 "type" : "string",
5d9c884c 15835 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
15836 },
15837 "searchdomain" : {
15838 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
15839 "format" : "dns-name-list",
15840 "optional" : 1,
013dc89f
DM
15841 "type" : "string",
15842 "typetext" : "<string>"
44660702
DM
15843 },
15844 "startup" : {
15845 "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.",
15846 "format" : "pve-startup-order",
15847 "optional" : 1,
15848 "type" : "string",
15849 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
15850 },
15851 "swap" : {
15852 "default" : 512,
15853 "description" : "Amount of SWAP for the VM in MB.",
15854 "minimum" : 0,
15855 "optional" : 1,
4bd7df8b 15856 "type" : "integer",
013dc89f 15857 "typetext" : "<integer> (0 - N)"
56122987 15858 },
56122987 15859 "template" : {
44660702 15860 "default" : 0,
7aacca6f 15861 "description" : "Enable/disable Template.",
56122987 15862 "optional" : 1,
013dc89f
DM
15863 "type" : "boolean",
15864 "typetext" : "<boolean>"
56122987 15865 },
44660702
DM
15866 "tty" : {
15867 "default" : 2,
15868 "description" : "Specify the number of tty available to the container",
15869 "maximum" : 6,
15870 "minimum" : 0,
15871 "optional" : 1,
4bd7df8b 15872 "type" : "integer",
013dc89f 15873 "typetext" : "<integer> (0 - 6)"
56122987 15874 },
44660702
DM
15875 "unprivileged" : {
15876 "default" : 0,
15877 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 15878 "optional" : 1,
013dc89f
DM
15879 "type" : "boolean",
15880 "typetext" : "<boolean>"
56122987 15881 },
44660702 15882 "unused[n]" : {
c2993fe5 15883 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 15884 "format" : "pve-volume-id",
56122987 15885 "optional" : 1,
013dc89f
DM
15886 "type" : "string",
15887 "typetext" : "<string>"
44660702
DM
15888 },
15889 "vmid" : {
15890 "description" : "The (unique) ID of the VM.",
15891 "format" : "pve-vmid",
15892 "minimum" : 1,
4bd7df8b 15893 "type" : "integer",
013dc89f 15894 "typetext" : "<integer> (1 - N)"
56122987 15895 }
44660702 15896 }
56122987 15897 },
56122987
DM
15898 "permissions" : {
15899 "check" : [
15900 "perm",
15901 "/vms/{vmid}",
15902 [
15903 "VM.Config.Disk",
15904 "VM.Config.CPU",
15905 "VM.Config.Memory",
15906 "VM.Config.Network",
15907 "VM.Config.Options"
15908 ],
15909 "any",
15910 1
52e44c50
FG
15911 ],
15912 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 15913 },
44660702
DM
15914 "protected" : 1,
15915 "proxyto" : "node",
56122987
DM
15916 "returns" : {
15917 "type" : "null"
7aacca6f 15918 }
56122987 15919 }
7aacca6f 15920 },
44660702 15921 "leaf" : 1,
7aacca6f 15922 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 15923 "text" : "config"
56122987
DM
15924 },
15925 {
56122987
DM
15926 "children" : [
15927 {
15928 "info" : {
15929 "GET" : {
44660702 15930 "description" : "Get virtual machine status.",
7aacca6f 15931 "method" : "GET",
44660702 15932 "name" : "vm_status",
56122987 15933 "parameters" : {
44660702 15934 "additionalProperties" : 0,
56122987 15935 "properties" : {
56122987 15936 "node" : {
44660702 15937 "description" : "The cluster node name.",
56122987 15938 "format" : "pve-node",
013dc89f
DM
15939 "type" : "string",
15940 "typetext" : "<string>"
7aacca6f
DM
15941 },
15942 "vmid" : {
15943 "description" : "The (unique) ID of the VM.",
44660702 15944 "format" : "pve-vmid",
7aacca6f 15945 "minimum" : 1,
4bd7df8b 15946 "type" : "integer",
013dc89f 15947 "typetext" : "<integer> (1 - N)"
56122987 15948 }
44660702 15949 }
7aacca6f
DM
15950 },
15951 "permissions" : {
15952 "check" : [
15953 "perm",
15954 "/vms/{vmid}",
15955 [
15956 "VM.Audit"
15957 ]
15958 ]
15959 },
44660702 15960 "protected" : 1,
7aacca6f 15961 "proxyto" : "node",
44660702
DM
15962 "returns" : {
15963 "type" : "object"
15964 }
56122987
DM
15965 }
15966 },
44660702
DM
15967 "leaf" : 1,
15968 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
15969 "text" : "current"
15970 },
15971 {
56122987
DM
15972 "info" : {
15973 "POST" : {
7aacca6f 15974 "description" : "Start the container.",
44660702 15975 "method" : "POST",
7aacca6f 15976 "name" : "vm_start",
56122987
DM
15977 "parameters" : {
15978 "additionalProperties" : 0,
15979 "properties" : {
56122987 15980 "node" : {
7aacca6f 15981 "description" : "The cluster node name.",
44660702 15982 "format" : "pve-node",
013dc89f
DM
15983 "type" : "string",
15984 "typetext" : "<string>"
56122987 15985 },
7aacca6f 15986 "skiplock" : {
44660702 15987 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 15988 "optional" : 1,
013dc89f
DM
15989 "type" : "boolean",
15990 "typetext" : "<boolean>"
7aacca6f 15991 },
56122987 15992 "vmid" : {
7aacca6f 15993 "description" : "The (unique) ID of the VM.",
44660702 15994 "format" : "pve-vmid",
56122987 15995 "minimum" : 1,
4bd7df8b 15996 "type" : "integer",
013dc89f 15997 "typetext" : "<integer> (1 - N)"
56122987
DM
15998 }
15999 }
16000 },
16001 "permissions" : {
16002 "check" : [
16003 "perm",
16004 "/vms/{vmid}",
16005 [
16006 "VM.PowerMgmt"
16007 ]
16008 ]
16009 },
44660702 16010 "protected" : 1,
7aacca6f 16011 "proxyto" : "node",
44660702
DM
16012 "returns" : {
16013 "type" : "string"
16014 }
16015 }
16016 },
16017 "leaf" : 1,
16018 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
16019 "text" : "start"
16020 },
16021 {
16022 "info" : {
16023 "POST" : {
16024 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
16025 "method" : "POST",
16026 "name" : "vm_stop",
16027 "parameters" : {
44660702 16028 "additionalProperties" : 0,
7aacca6f 16029 "properties" : {
44660702
DM
16030 "node" : {
16031 "description" : "The cluster node name.",
16032 "format" : "pve-node",
013dc89f
DM
16033 "type" : "string",
16034 "typetext" : "<string>"
44660702 16035 },
7aacca6f
DM
16036 "skiplock" : {
16037 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 16038 "optional" : 1,
013dc89f
DM
16039 "type" : "boolean",
16040 "typetext" : "<boolean>"
7aacca6f
DM
16041 },
16042 "vmid" : {
44660702 16043 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16044 "format" : "pve-vmid",
16045 "minimum" : 1,
4bd7df8b 16046 "type" : "integer",
013dc89f 16047 "typetext" : "<integer> (1 - N)"
7aacca6f 16048 }
44660702
DM
16049 }
16050 },
16051 "permissions" : {
16052 "check" : [
16053 "perm",
16054 "/vms/{vmid}",
16055 [
16056 "VM.PowerMgmt"
16057 ]
16058 ]
7aacca6f 16059 },
44660702
DM
16060 "protected" : 1,
16061 "proxyto" : "node",
16062 "returns" : {
16063 "type" : "string"
16064 }
56122987 16065 }
7aacca6f 16066 },
7aacca6f 16067 "leaf" : 1,
44660702
DM
16068 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
16069 "text" : "stop"
56122987
DM
16070 },
16071 {
56122987
DM
16072 "info" : {
16073 "POST" : {
44660702
DM
16074 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
16075 "method" : "POST",
7aacca6f 16076 "name" : "vm_shutdown",
56122987 16077 "parameters" : {
44660702 16078 "additionalProperties" : 0,
56122987 16079 "properties" : {
7aacca6f 16080 "forceStop" : {
44660702 16081 "default" : 0,
7aacca6f
DM
16082 "description" : "Make sure the Container stops.",
16083 "optional" : 1,
013dc89f
DM
16084 "type" : "boolean",
16085 "typetext" : "<boolean>"
44660702
DM
16086 },
16087 "node" : {
16088 "description" : "The cluster node name.",
16089 "format" : "pve-node",
013dc89f
DM
16090 "type" : "string",
16091 "typetext" : "<string>"
7aacca6f
DM
16092 },
16093 "timeout" : {
7aacca6f 16094 "default" : 60,
44660702
DM
16095 "description" : "Wait maximal timeout seconds.",
16096 "minimum" : 0,
56122987 16097 "optional" : 1,
4bd7df8b 16098 "type" : "integer",
013dc89f 16099 "typetext" : "<integer> (0 - N)"
56122987
DM
16100 },
16101 "vmid" : {
7aacca6f 16102 "description" : "The (unique) ID of the VM.",
44660702
DM
16103 "format" : "pve-vmid",
16104 "minimum" : 1,
4bd7df8b 16105 "type" : "integer",
013dc89f 16106 "typetext" : "<integer> (1 - N)"
56122987 16107 }
44660702 16108 }
56122987
DM
16109 },
16110 "permissions" : {
16111 "check" : [
16112 "perm",
16113 "/vms/{vmid}",
16114 [
16115 "VM.PowerMgmt"
16116 ]
16117 ]
16118 },
44660702
DM
16119 "protected" : 1,
16120 "proxyto" : "node",
7aacca6f
DM
16121 "returns" : {
16122 "type" : "string"
16123 }
56122987
DM
16124 }
16125 },
44660702
DM
16126 "leaf" : 1,
16127 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 16128 "text" : "shutdown"
56122987
DM
16129 },
16130 {
56122987
DM
16131 "info" : {
16132 "POST" : {
7aacca6f 16133 "description" : "Suspend the container.",
7aacca6f 16134 "method" : "POST",
7aacca6f 16135 "name" : "vm_suspend",
56122987
DM
16136 "parameters" : {
16137 "additionalProperties" : 0,
16138 "properties" : {
44660702
DM
16139 "node" : {
16140 "description" : "The cluster node name.",
16141 "format" : "pve-node",
013dc89f
DM
16142 "type" : "string",
16143 "typetext" : "<string>"
44660702 16144 },
7aacca6f 16145 "vmid" : {
7aacca6f
DM
16146 "description" : "The (unique) ID of the VM.",
16147 "format" : "pve-vmid",
44660702 16148 "minimum" : 1,
4bd7df8b 16149 "type" : "integer",
013dc89f 16150 "typetext" : "<integer> (1 - N)"
56122987
DM
16151 }
16152 }
7aacca6f 16153 },
56122987
DM
16154 "permissions" : {
16155 "check" : [
16156 "perm",
16157 "/vms/{vmid}",
16158 [
16159 "VM.PowerMgmt"
16160 ]
16161 ]
16162 },
7aacca6f 16163 "protected" : 1,
44660702
DM
16164 "proxyto" : "node",
16165 "returns" : {
16166 "type" : "string"
16167 }
16168 }
16169 },
16170 "leaf" : 1,
16171 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
16172 "text" : "suspend"
16173 },
16174 {
16175 "info" : {
16176 "POST" : {
16177 "description" : "Resume the container.",
16178 "method" : "POST",
16179 "name" : "vm_resume",
56122987 16180 "parameters" : {
44660702 16181 "additionalProperties" : 0,
56122987
DM
16182 "properties" : {
16183 "node" : {
7aacca6f 16184 "description" : "The cluster node name.",
44660702 16185 "format" : "pve-node",
013dc89f
DM
16186 "type" : "string",
16187 "typetext" : "<string>"
56122987
DM
16188 },
16189 "vmid" : {
7aacca6f 16190 "description" : "The (unique) ID of the VM.",
56122987 16191 "format" : "pve-vmid",
44660702 16192 "minimum" : 1,
4bd7df8b 16193 "type" : "integer",
013dc89f 16194 "typetext" : "<integer> (1 - N)"
56122987 16195 }
44660702
DM
16196 }
16197 },
16198 "permissions" : {
16199 "check" : [
16200 "perm",
16201 "/vms/{vmid}",
16202 [
16203 "VM.PowerMgmt"
16204 ]
16205 ]
56122987 16206 },
44660702
DM
16207 "protected" : 1,
16208 "proxyto" : "node",
16209 "returns" : {
16210 "type" : "string"
16211 }
7aacca6f
DM
16212 }
16213 },
44660702
DM
16214 "leaf" : 1,
16215 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
16216 "text" : "resume"
16217 }
16218 ],
16219 "info" : {
16220 "GET" : {
7aacca6f 16221 "description" : "Directory index",
44660702 16222 "method" : "GET",
7aacca6f 16223 "name" : "vmcmdidx",
7aacca6f
DM
16224 "parameters" : {
16225 "additionalProperties" : 0,
16226 "properties" : {
16227 "node" : {
16228 "description" : "The cluster node name.",
44660702 16229 "format" : "pve-node",
013dc89f
DM
16230 "type" : "string",
16231 "typetext" : "<string>"
56122987 16232 },
7aacca6f 16233 "vmid" : {
44660702 16234 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16235 "format" : "pve-vmid",
16236 "minimum" : 1,
4bd7df8b 16237 "type" : "integer",
013dc89f 16238 "typetext" : "<integer> (1 - N)"
7aacca6f 16239 }
56122987
DM
16240 }
16241 },
44660702
DM
16242 "permissions" : {
16243 "user" : "all"
16244 },
16245 "proxyto" : "node",
7aacca6f 16246 "returns" : {
7aacca6f
DM
16247 "items" : {
16248 "properties" : {
16249 "subdir" : {
16250 "type" : "string"
16251 }
16252 },
16253 "type" : "object"
16254 },
16255 "links" : [
16256 {
44660702
DM
16257 "href" : "{subdir}",
16258 "rel" : "child"
7aacca6f 16259 }
44660702
DM
16260 ],
16261 "type" : "array"
7aacca6f
DM
16262 }
16263 }
44660702
DM
16264 },
16265 "leaf" : 0,
16266 "path" : "/nodes/{node}/lxc/{vmid}/status",
16267 "text" : "status"
7aacca6f
DM
16268 },
16269 {
7aacca6f 16270 "children" : [
56122987 16271 {
7aacca6f
DM
16272 "children" : [
16273 {
16274 "info" : {
16275 "POST" : {
7aacca6f 16276 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 16277 "method" : "POST",
44660702 16278 "name" : "rollback",
7aacca6f 16279 "parameters" : {
44660702 16280 "additionalProperties" : 0,
7aacca6f 16281 "properties" : {
44660702
DM
16282 "node" : {
16283 "description" : "The cluster node name.",
16284 "format" : "pve-node",
013dc89f
DM
16285 "type" : "string",
16286 "typetext" : "<string>"
44660702 16287 },
7aacca6f 16288 "snapname" : {
44660702 16289 "description" : "The name of the snapshot.",
7aacca6f
DM
16290 "format" : "pve-configid",
16291 "maxLength" : 40,
013dc89f
DM
16292 "type" : "string",
16293 "typetext" : "<string>"
7aacca6f 16294 },
7aacca6f 16295 "vmid" : {
44660702 16296 "description" : "The (unique) ID of the VM.",
7aacca6f 16297 "format" : "pve-vmid",
44660702 16298 "minimum" : 1,
4bd7df8b 16299 "type" : "integer",
013dc89f 16300 "typetext" : "<integer> (1 - N)"
7aacca6f 16301 }
44660702
DM
16302 }
16303 },
16304 "permissions" : {
16305 "check" : [
16306 "perm",
16307 "/vms/{vmid}",
16308 [
2489d6df
WB
16309 "VM.Snapshot",
16310 "VM.Snapshot.Rollback"
16311 ],
16312 "any",
16313 1
44660702 16314 ]
7aacca6f 16315 },
44660702
DM
16316 "protected" : 1,
16317 "proxyto" : "node",
16318 "returns" : {
16319 "description" : "the task ID.",
16320 "type" : "string"
16321 }
7aacca6f
DM
16322 }
16323 },
7aacca6f 16324 "leaf" : 1,
44660702
DM
16325 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
16326 "text" : "rollback"
7aacca6f
DM
16327 },
16328 {
7aacca6f
DM
16329 "info" : {
16330 "GET" : {
7aacca6f 16331 "description" : "Get snapshot configuration",
44660702
DM
16332 "method" : "GET",
16333 "name" : "get_snapshot_config",
7aacca6f
DM
16334 "parameters" : {
16335 "additionalProperties" : 0,
16336 "properties" : {
7aacca6f 16337 "node" : {
7aacca6f 16338 "description" : "The cluster node name.",
44660702 16339 "format" : "pve-node",
013dc89f
DM
16340 "type" : "string",
16341 "typetext" : "<string>"
7aacca6f
DM
16342 },
16343 "snapname" : {
44660702 16344 "description" : "The name of the snapshot.",
7aacca6f
DM
16345 "format" : "pve-configid",
16346 "maxLength" : 40,
013dc89f
DM
16347 "type" : "string",
16348 "typetext" : "<string>"
44660702
DM
16349 },
16350 "vmid" : {
16351 "description" : "The (unique) ID of the VM.",
16352 "format" : "pve-vmid",
16353 "minimum" : 1,
4bd7df8b 16354 "type" : "integer",
013dc89f 16355 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16356 }
16357 }
16358 },
16359 "permissions" : {
16360 "check" : [
16361 "perm",
16362 "/vms/{vmid}",
16363 [
2489d6df
WB
16364 "VM.Snapshot",
16365 "VM.Snapshot.Rollback"
16366 ],
16367 "any",
16368 1
7aacca6f
DM
16369 ]
16370 },
44660702
DM
16371 "proxyto" : "node",
16372 "returns" : {
16373 "type" : "object"
16374 }
7aacca6f
DM
16375 },
16376 "PUT" : {
44660702
DM
16377 "description" : "Update snapshot metadata.",
16378 "method" : "PUT",
7aacca6f
DM
16379 "name" : "update_snapshot_config",
16380 "parameters" : {
16381 "additionalProperties" : 0,
16382 "properties" : {
44660702
DM
16383 "description" : {
16384 "description" : "A textual description or comment.",
16385 "optional" : 1,
013dc89f
DM
16386 "type" : "string",
16387 "typetext" : "<string>"
44660702 16388 },
7aacca6f 16389 "node" : {
7aacca6f 16390 "description" : "The cluster node name.",
44660702 16391 "format" : "pve-node",
013dc89f
DM
16392 "type" : "string",
16393 "typetext" : "<string>"
7aacca6f
DM
16394 },
16395 "snapname" : {
16396 "description" : "The name of the snapshot.",
7aacca6f 16397 "format" : "pve-configid",
44660702 16398 "maxLength" : 40,
013dc89f
DM
16399 "type" : "string",
16400 "typetext" : "<string>"
7aacca6f
DM
16401 },
16402 "vmid" : {
44660702 16403 "description" : "The (unique) ID of the VM.",
7aacca6f 16404 "format" : "pve-vmid",
44660702 16405 "minimum" : 1,
4bd7df8b 16406 "type" : "integer",
013dc89f 16407 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16408 }
16409 }
16410 },
7aacca6f
DM
16411 "permissions" : {
16412 "check" : [
16413 "perm",
16414 "/vms/{vmid}",
16415 [
16416 "VM.Snapshot"
16417 ]
16418 ]
16419 },
44660702
DM
16420 "protected" : 1,
16421 "proxyto" : "node",
7aacca6f
DM
16422 "returns" : {
16423 "type" : "null"
16424 }
16425 }
16426 },
44660702 16427 "leaf" : 1,
7aacca6f 16428 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 16429 "text" : "config"
7aacca6f
DM
16430 }
16431 ],
56122987 16432 "info" : {
44660702
DM
16433 "DELETE" : {
16434 "description" : "Delete a LXC snapshot.",
16435 "method" : "DELETE",
16436 "name" : "delsnapshot",
56122987 16437 "parameters" : {
44660702 16438 "additionalProperties" : 0,
56122987 16439 "properties" : {
44660702
DM
16440 "force" : {
16441 "description" : "For removal from config file, even if removing disk snapshots fails.",
16442 "optional" : 1,
013dc89f
DM
16443 "type" : "boolean",
16444 "typetext" : "<boolean>"
44660702
DM
16445 },
16446 "node" : {
16447 "description" : "The cluster node name.",
16448 "format" : "pve-node",
013dc89f
DM
16449 "type" : "string",
16450 "typetext" : "<string>"
7aacca6f
DM
16451 },
16452 "snapname" : {
7aacca6f
DM
16453 "description" : "The name of the snapshot.",
16454 "format" : "pve-configid",
44660702 16455 "maxLength" : 40,
013dc89f
DM
16456 "type" : "string",
16457 "typetext" : "<string>"
44660702
DM
16458 },
16459 "vmid" : {
16460 "description" : "The (unique) ID of the VM.",
16461 "format" : "pve-vmid",
16462 "minimum" : 1,
4bd7df8b 16463 "type" : "integer",
013dc89f 16464 "typetext" : "<integer> (1 - N)"
56122987 16465 }
44660702 16466 }
7aacca6f 16467 },
56122987
DM
16468 "permissions" : {
16469 "check" : [
16470 "perm",
16471 "/vms/{vmid}",
16472 [
7aacca6f 16473 "VM.Snapshot"
56122987
DM
16474 ]
16475 ]
16476 },
44660702 16477 "protected" : 1,
7aacca6f 16478 "proxyto" : "node",
56122987 16479 "returns" : {
7aacca6f 16480 "description" : "the task ID.",
56122987 16481 "type" : "string"
44660702
DM
16482 }
16483 },
16484 "GET" : {
16485 "description" : "",
16486 "method" : "GET",
16487 "name" : "snapshot_cmd_idx",
7aacca6f
DM
16488 "parameters" : {
16489 "additionalProperties" : 0,
16490 "properties" : {
7aacca6f 16491 "node" : {
44660702 16492 "description" : "The cluster node name.",
7aacca6f 16493 "format" : "pve-node",
013dc89f
DM
16494 "type" : "string",
16495 "typetext" : "<string>"
7aacca6f
DM
16496 },
16497 "snapname" : {
44660702 16498 "description" : "The name of the snapshot.",
7aacca6f 16499 "format" : "pve-configid",
44660702 16500 "maxLength" : 40,
013dc89f
DM
16501 "type" : "string",
16502 "typetext" : "<string>"
44660702
DM
16503 },
16504 "vmid" : {
16505 "description" : "The (unique) ID of the VM.",
16506 "format" : "pve-vmid",
16507 "minimum" : 1,
4bd7df8b 16508 "type" : "integer",
013dc89f 16509 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16510 }
16511 }
16512 },
44660702
DM
16513 "permissions" : {
16514 "user" : "all"
16515 },
16516 "returns" : {
16517 "items" : {
16518 "properties" : {},
16519 "type" : "object"
16520 },
16521 "links" : [
16522 {
16523 "href" : "{cmd}",
16524 "rel" : "child"
16525 }
16526 ],
16527 "type" : "array"
16528 }
16529 }
16530 },
16531 "leaf" : 0,
16532 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
16533 "text" : "{snapname}"
16534 }
16535 ],
16536 "info" : {
16537 "GET" : {
16538 "description" : "List all snapshots.",
16539 "method" : "GET",
16540 "name" : "list",
16541 "parameters" : {
16542 "additionalProperties" : 0,
16543 "properties" : {
16544 "node" : {
16545 "description" : "The cluster node name.",
16546 "format" : "pve-node",
013dc89f
DM
16547 "type" : "string",
16548 "typetext" : "<string>"
44660702
DM
16549 },
16550 "vmid" : {
16551 "description" : "The (unique) ID of the VM.",
16552 "format" : "pve-vmid",
16553 "minimum" : 1,
4bd7df8b 16554 "type" : "integer",
013dc89f 16555 "typetext" : "<integer> (1 - N)"
44660702 16556 }
56122987
DM
16557 }
16558 },
56122987 16559 "permissions" : {
7aacca6f
DM
16560 "check" : [
16561 "perm",
16562 "/vms/{vmid}",
16563 [
16564 "VM.Audit"
16565 ]
16566 ]
16567 },
44660702 16568 "protected" : 1,
56122987 16569 "proxyto" : "node",
7aacca6f 16570 "returns" : {
44660702
DM
16571 "items" : {
16572 "properties" : {},
16573 "type" : "object"
16574 },
7aacca6f
DM
16575 "links" : [
16576 {
16577 "href" : "{name}",
16578 "rel" : "child"
16579 }
16580 ],
7aacca6f 16581 "type" : "array"
44660702 16582 }
7aacca6f
DM
16583 },
16584 "POST" : {
44660702
DM
16585 "description" : "Snapshot a container.",
16586 "method" : "POST",
16587 "name" : "snapshot",
56122987
DM
16588 "parameters" : {
16589 "additionalProperties" : 0,
16590 "properties" : {
7aacca6f 16591 "description" : {
44660702 16592 "description" : "A textual description or comment.",
7aacca6f 16593 "optional" : 1,
013dc89f
DM
16594 "type" : "string",
16595 "typetext" : "<string>"
44660702
DM
16596 },
16597 "node" : {
16598 "description" : "The cluster node name.",
16599 "format" : "pve-node",
013dc89f
DM
16600 "type" : "string",
16601 "typetext" : "<string>"
56122987
DM
16602 },
16603 "snapname" : {
56122987 16604 "description" : "The name of the snapshot.",
44660702 16605 "format" : "pve-configid",
7aacca6f 16606 "maxLength" : 40,
013dc89f
DM
16607 "type" : "string",
16608 "typetext" : "<string>"
56122987 16609 },
44660702
DM
16610 "vmid" : {
16611 "description" : "The (unique) ID of the VM.",
16612 "format" : "pve-vmid",
16613 "minimum" : 1,
4bd7df8b 16614 "type" : "integer",
013dc89f 16615 "typetext" : "<integer> (1 - N)"
56122987 16616 }
7aacca6f 16617 }
56122987 16618 },
56122987
DM
16619 "permissions" : {
16620 "check" : [
16621 "perm",
16622 "/vms/{vmid}",
16623 [
7aacca6f 16624 "VM.Snapshot"
56122987
DM
16625 ]
16626 ]
7aacca6f 16627 },
44660702 16628 "protected" : 1,
7aacca6f
DM
16629 "proxyto" : "node",
16630 "returns" : {
16631 "description" : "the task ID.",
16632 "type" : "string"
56122987
DM
16633 }
16634 }
44660702
DM
16635 },
16636 "leaf" : 0,
16637 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
16638 "text" : "snapshot"
7aacca6f
DM
16639 },
16640 {
56122987
DM
16641 "children" : [
16642 {
56122987
DM
16643 "children" : [
16644 {
56122987 16645 "info" : {
44660702
DM
16646 "DELETE" : {
16647 "description" : "Delete rule.",
16648 "method" : "DELETE",
16649 "name" : "delete_rule",
56122987 16650 "parameters" : {
44660702 16651 "additionalProperties" : 0,
56122987 16652 "properties" : {
44660702
DM
16653 "digest" : {
16654 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16655 "maxLength" : 40,
7aacca6f 16656 "optional" : 1,
013dc89f
DM
16657 "type" : "string",
16658 "typetext" : "<string>"
7aacca6f
DM
16659 },
16660 "node" : {
44660702 16661 "description" : "The cluster node name.",
7aacca6f 16662 "format" : "pve-node",
013dc89f
DM
16663 "type" : "string",
16664 "typetext" : "<string>"
44660702
DM
16665 },
16666 "pos" : {
16667 "description" : "Update rule at position <pos>.",
16668 "minimum" : 0,
16669 "optional" : 1,
4bd7df8b 16670 "type" : "integer",
013dc89f 16671 "typetext" : "<integer> (0 - N)"
44660702
DM
16672 },
16673 "vmid" : {
16674 "description" : "The (unique) ID of the VM.",
16675 "format" : "pve-vmid",
16676 "minimum" : 1,
4bd7df8b 16677 "type" : "integer",
013dc89f 16678 "typetext" : "<integer> (1 - N)"
56122987 16679 }
44660702 16680 }
56122987 16681 },
56122987
DM
16682 "permissions" : {
16683 "check" : [
16684 "perm",
16685 "/vms/{vmid}",
16686 [
44660702 16687 "VM.Config.Network"
56122987
DM
16688 ]
16689 ]
16690 },
44660702 16691 "protected" : 1,
7aacca6f 16692 "proxyto" : null,
44660702
DM
16693 "returns" : {
16694 "type" : "null"
16695 }
7aacca6f 16696 },
44660702
DM
16697 "GET" : {
16698 "description" : "Get single rule data.",
16699 "method" : "GET",
16700 "name" : "get_rule",
56122987 16701 "parameters" : {
44660702 16702 "additionalProperties" : 0,
56122987 16703 "properties" : {
7aacca6f 16704 "node" : {
7aacca6f 16705 "description" : "The cluster node name.",
44660702 16706 "format" : "pve-node",
013dc89f
DM
16707 "type" : "string",
16708 "typetext" : "<string>"
56122987 16709 },
7aacca6f 16710 "pos" : {
7aacca6f 16711 "description" : "Update rule at position <pos>.",
44660702 16712 "minimum" : 0,
7aacca6f 16713 "optional" : 1,
4bd7df8b 16714 "type" : "integer",
013dc89f 16715 "typetext" : "<integer> (0 - N)"
56122987 16716 },
7aacca6f 16717 "vmid" : {
44660702 16718 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16719 "format" : "pve-vmid",
16720 "minimum" : 1,
4bd7df8b 16721 "type" : "integer",
013dc89f 16722 "typetext" : "<integer> (1 - N)"
56122987 16723 }
44660702 16724 }
56122987 16725 },
7aacca6f
DM
16726 "permissions" : {
16727 "check" : [
16728 "perm",
16729 "/vms/{vmid}",
16730 [
44660702 16731 "VM.Audit"
7aacca6f
DM
16732 ]
16733 ]
16734 },
7aacca6f
DM
16735 "proxyto" : null,
16736 "returns" : {
44660702
DM
16737 "properties" : {
16738 "pos" : {
16739 "type" : "integer"
16740 }
16741 },
16742 "type" : "object"
7aacca6f 16743 }
56122987 16744 },
44660702
DM
16745 "PUT" : {
16746 "description" : "Modify rule data.",
16747 "method" : "PUT",
16748 "name" : "update_rule",
56122987
DM
16749 "parameters" : {
16750 "additionalProperties" : 0,
16751 "properties" : {
44660702
DM
16752 "action" : {
16753 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
16754 "maxLength" : 20,
16755 "minLength" : 2,
16756 "optional" : 1,
16757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16758 "type" : "string"
16759 },
16760 "comment" : {
e94f0d56 16761 "description" : "Descriptive comment.",
44660702 16762 "optional" : 1,
013dc89f
DM
16763 "type" : "string",
16764 "typetext" : "<string>"
44660702
DM
16765 },
16766 "delete" : {
16767 "description" : "A list of settings you want to delete.",
16768 "format" : "pve-configid-list",
16769 "optional" : 1,
013dc89f
DM
16770 "type" : "string",
16771 "typetext" : "<string>"
44660702
DM
16772 },
16773 "dest" : {
16774 "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.",
16775 "format" : "pve-fw-addr-spec",
16776 "optional" : 1,
013dc89f
DM
16777 "type" : "string",
16778 "typetext" : "<string>"
44660702
DM
16779 },
16780 "digest" : {
16781 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16782 "maxLength" : 40,
16783 "optional" : 1,
013dc89f
DM
16784 "type" : "string",
16785 "typetext" : "<string>"
44660702
DM
16786 },
16787 "dport" : {
16788 "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.",
16789 "format" : "pve-fw-dport-spec",
16790 "optional" : 1,
013dc89f
DM
16791 "type" : "string",
16792 "typetext" : "<string>"
44660702
DM
16793 },
16794 "enable" : {
e94f0d56 16795 "description" : "Flag to enable/disable a rule.",
44660702
DM
16796 "minimum" : 0,
16797 "optional" : 1,
4bd7df8b 16798 "type" : "integer",
013dc89f 16799 "typetext" : "<integer> (0 - N)"
44660702
DM
16800 },
16801 "iface" : {
16802 "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.",
16803 "format" : "pve-iface",
16804 "maxLength" : 20,
16805 "minLength" : 2,
16806 "optional" : 1,
013dc89f
DM
16807 "type" : "string",
16808 "typetext" : "<string>"
44660702
DM
16809 },
16810 "macro" : {
e94f0d56 16811 "description" : "Use predefined standard macro.",
44660702
DM
16812 "maxLength" : 128,
16813 "optional" : 1,
013dc89f
DM
16814 "type" : "string",
16815 "typetext" : "<string>"
44660702
DM
16816 },
16817 "moveto" : {
16818 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
16819 "minimum" : 0,
16820 "optional" : 1,
4bd7df8b 16821 "type" : "integer",
013dc89f 16822 "typetext" : "<integer> (0 - N)"
44660702 16823 },
7aacca6f
DM
16824 "node" : {
16825 "description" : "The cluster node name.",
44660702 16826 "format" : "pve-node",
013dc89f
DM
16827 "type" : "string",
16828 "typetext" : "<string>"
56122987
DM
16829 },
16830 "pos" : {
44660702 16831 "description" : "Update rule at position <pos>.",
56122987 16832 "minimum" : 0,
7aacca6f 16833 "optional" : 1,
4bd7df8b 16834 "type" : "integer",
013dc89f 16835 "typetext" : "<integer> (0 - N)"
56122987 16836 },
44660702
DM
16837 "proto" : {
16838 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
16839 "format" : "pve-fw-protocol-spec",
16840 "optional" : 1,
013dc89f
DM
16841 "type" : "string",
16842 "typetext" : "<string>"
7aacca6f 16843 },
44660702
DM
16844 "source" : {
16845 "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.",
16846 "format" : "pve-fw-addr-spec",
16847 "optional" : 1,
013dc89f
DM
16848 "type" : "string",
16849 "typetext" : "<string>"
44660702
DM
16850 },
16851 "sport" : {
16852 "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.",
16853 "format" : "pve-fw-sport-spec",
16854 "optional" : 1,
013dc89f
DM
16855 "type" : "string",
16856 "typetext" : "<string>"
44660702
DM
16857 },
16858 "type" : {
e94f0d56 16859 "description" : "Rule type.",
44660702
DM
16860 "enum" : [
16861 "in",
16862 "out",
16863 "group"
16864 ],
7aacca6f 16865 "optional" : 1,
44660702
DM
16866 "type" : "string"
16867 },
16868 "vmid" : {
16869 "description" : "The (unique) ID of the VM.",
16870 "format" : "pve-vmid",
16871 "minimum" : 1,
4bd7df8b 16872 "type" : "integer",
013dc89f 16873 "typetext" : "<integer> (1 - N)"
56122987
DM
16874 }
16875 }
16876 },
56122987
DM
16877 "permissions" : {
16878 "check" : [
16879 "perm",
16880 "/vms/{vmid}",
16881 [
7aacca6f 16882 "VM.Config.Network"
56122987
DM
16883 ]
16884 ]
16885 },
44660702 16886 "protected" : 1,
56122987 16887 "proxyto" : null,
56122987 16888 "returns" : {
7aacca6f
DM
16889 "type" : "null"
16890 }
56122987 16891 }
44660702
DM
16892 },
16893 "leaf" : 1,
16894 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
16895 "text" : "{pos}"
56122987
DM
16896 }
16897 ],
16898 "info" : {
7aacca6f 16899 "GET" : {
44660702
DM
16900 "description" : "List rules.",
16901 "method" : "GET",
16902 "name" : "get_rules",
7aacca6f 16903 "parameters" : {
44660702 16904 "additionalProperties" : 0,
7aacca6f
DM
16905 "properties" : {
16906 "node" : {
7aacca6f 16907 "description" : "The cluster node name.",
44660702 16908 "format" : "pve-node",
013dc89f
DM
16909 "type" : "string",
16910 "typetext" : "<string>"
7aacca6f
DM
16911 },
16912 "vmid" : {
16913 "description" : "The (unique) ID of the VM.",
44660702 16914 "format" : "pve-vmid",
7aacca6f 16915 "minimum" : 1,
4bd7df8b 16916 "type" : "integer",
013dc89f 16917 "typetext" : "<integer> (1 - N)"
7aacca6f 16918 }
44660702 16919 }
56122987 16920 },
56122987
DM
16921 "permissions" : {
16922 "check" : [
16923 "perm",
16924 "/vms/{vmid}",
16925 [
7aacca6f 16926 "VM.Audit"
56122987
DM
16927 ]
16928 ]
16929 },
16930 "proxyto" : null,
7aacca6f 16931 "returns" : {
7aacca6f
DM
16932 "items" : {
16933 "properties" : {
16934 "pos" : {
16935 "type" : "integer"
16936 }
16937 },
16938 "type" : "object"
16939 },
16940 "links" : [
16941 {
44660702
DM
16942 "href" : "{pos}",
16943 "rel" : "child"
7aacca6f 16944 }
44660702
DM
16945 ],
16946 "type" : "array"
16947 }
7aacca6f
DM
16948 },
16949 "POST" : {
44660702
DM
16950 "description" : "Create new rule.",
16951 "method" : "POST",
7aacca6f 16952 "name" : "create_rule",
56122987 16953 "parameters" : {
44660702 16954 "additionalProperties" : 0,
56122987 16955 "properties" : {
7aacca6f 16956 "action" : {
44660702 16957 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 16958 "maxLength" : 20,
44660702 16959 "minLength" : 2,
7aacca6f
DM
16960 "optional" : 0,
16961 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
16962 "type" : "string"
16963 },
44660702 16964 "comment" : {
e94f0d56 16965 "description" : "Descriptive comment.",
7aacca6f 16966 "optional" : 1,
013dc89f
DM
16967 "type" : "string",
16968 "typetext" : "<string>"
56122987 16969 },
44660702
DM
16970 "dest" : {
16971 "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.",
16972 "format" : "pve-fw-addr-spec",
56122987 16973 "optional" : 1,
013dc89f
DM
16974 "type" : "string",
16975 "typetext" : "<string>"
56122987 16976 },
44660702
DM
16977 "digest" : {
16978 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16979 "maxLength" : 40,
56122987 16980 "optional" : 1,
013dc89f
DM
16981 "type" : "string",
16982 "typetext" : "<string>"
56122987 16983 },
44660702
DM
16984 "dport" : {
16985 "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.",
16986 "format" : "pve-fw-dport-spec",
56122987 16987 "optional" : 1,
013dc89f
DM
16988 "type" : "string",
16989 "typetext" : "<string>"
56122987 16990 },
44660702 16991 "enable" : {
e94f0d56 16992 "description" : "Flag to enable/disable a rule.",
44660702 16993 "minimum" : 0,
56122987 16994 "optional" : 1,
4bd7df8b 16995 "type" : "integer",
013dc89f 16996 "typetext" : "<integer> (0 - N)"
56122987 16997 },
44660702
DM
16998 "iface" : {
16999 "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.",
17000 "format" : "pve-iface",
17001 "maxLength" : 20,
17002 "minLength" : 2,
7aacca6f 17003 "optional" : 1,
013dc89f
DM
17004 "type" : "string",
17005 "typetext" : "<string>"
56122987 17006 },
44660702 17007 "macro" : {
e94f0d56 17008 "description" : "Use predefined standard macro.",
44660702 17009 "maxLength" : 128,
56122987 17010 "optional" : 1,
013dc89f
DM
17011 "type" : "string",
17012 "typetext" : "<string>"
56122987
DM
17013 },
17014 "node" : {
7aacca6f 17015 "description" : "The cluster node name.",
44660702 17016 "format" : "pve-node",
013dc89f
DM
17017 "type" : "string",
17018 "typetext" : "<string>"
7aacca6f 17019 },
44660702
DM
17020 "pos" : {
17021 "description" : "Update rule at position <pos>.",
17022 "minimum" : 0,
17023 "optional" : 1,
4bd7df8b 17024 "type" : "integer",
013dc89f 17025 "typetext" : "<integer> (0 - N)"
44660702
DM
17026 },
17027 "proto" : {
17028 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
17029 "format" : "pve-fw-protocol-spec",
7aacca6f 17030 "optional" : 1,
013dc89f
DM
17031 "type" : "string",
17032 "typetext" : "<string>"
7aacca6f 17033 },
44660702
DM
17034 "source" : {
17035 "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.",
17036 "format" : "pve-fw-addr-spec",
17037 "optional" : 1,
013dc89f
DM
17038 "type" : "string",
17039 "typetext" : "<string>"
56122987 17040 },
44660702
DM
17041 "sport" : {
17042 "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.",
17043 "format" : "pve-fw-sport-spec",
17044 "optional" : 1,
013dc89f
DM
17045 "type" : "string",
17046 "typetext" : "<string>"
7aacca6f 17047 },
44660702 17048 "type" : {
e94f0d56 17049 "description" : "Rule type.",
44660702
DM
17050 "enum" : [
17051 "in",
17052 "out",
17053 "group"
17054 ],
17055 "optional" : 0,
17056 "type" : "string"
17057 },
17058 "vmid" : {
17059 "description" : "The (unique) ID of the VM.",
17060 "format" : "pve-vmid",
17061 "minimum" : 1,
4bd7df8b 17062 "type" : "integer",
013dc89f 17063 "typetext" : "<integer> (1 - N)"
44660702
DM
17064 }
17065 }
17066 },
17067 "permissions" : {
17068 "check" : [
17069 "perm",
17070 "/vms/{vmid}",
17071 [
17072 "VM.Config.Network"
17073 ]
17074 ]
17075 },
17076 "protected" : 1,
17077 "proxyto" : null,
17078 "returns" : {
17079 "type" : "null"
17080 }
17081 }
17082 },
17083 "leaf" : 0,
17084 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
17085 "text" : "rules"
17086 },
17087 {
17088 "children" : [
17089 {
17090 "info" : {
17091 "DELETE" : {
17092 "description" : "Remove IP or Network alias.",
17093 "method" : "DELETE",
17094 "name" : "remove_alias",
56122987 17095 "parameters" : {
44660702 17096 "additionalProperties" : 0,
56122987 17097 "properties" : {
44660702
DM
17098 "digest" : {
17099 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17100 "maxLength" : 40,
56122987 17101 "optional" : 1,
013dc89f
DM
17102 "type" : "string",
17103 "typetext" : "<string>"
56122987 17104 },
7aacca6f 17105 "name" : {
44660702 17106 "description" : "Alias name.",
7aacca6f 17107 "maxLength" : 64,
7aacca6f
DM
17108 "minLength" : 2,
17109 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17110 "type" : "string"
7aacca6f
DM
17111 },
17112 "node" : {
44660702 17113 "description" : "The cluster node name.",
56122987 17114 "format" : "pve-node",
013dc89f
DM
17115 "type" : "string",
17116 "typetext" : "<string>"
7aacca6f 17117 },
56122987 17118 "vmid" : {
44660702 17119 "description" : "The (unique) ID of the VM.",
56122987 17120 "format" : "pve-vmid",
44660702 17121 "minimum" : 1,
4bd7df8b 17122 "type" : "integer",
013dc89f 17123 "typetext" : "<integer> (1 - N)"
56122987 17124 }
44660702 17125 }
56122987 17126 },
56122987
DM
17127 "permissions" : {
17128 "check" : [
17129 "perm",
17130 "/vms/{vmid}",
17131 [
7aacca6f 17132 "VM.Config.Network"
56122987
DM
17133 ]
17134 ]
17135 },
44660702 17136 "protected" : 1,
56122987 17137 "returns" : {
7aacca6f 17138 "type" : "null"
44660702 17139 }
56122987 17140 },
44660702
DM
17141 "GET" : {
17142 "description" : "Read alias.",
17143 "method" : "GET",
17144 "name" : "read_alias",
17145 "parameters" : {
17146 "additionalProperties" : 0,
17147 "properties" : {
17148 "name" : {
17149 "description" : "Alias name.",
17150 "maxLength" : 64,
17151 "minLength" : 2,
17152 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17153 "type" : "string"
17154 },
17155 "node" : {
17156 "description" : "The cluster node name.",
17157 "format" : "pve-node",
013dc89f
DM
17158 "type" : "string",
17159 "typetext" : "<string>"
44660702
DM
17160 },
17161 "vmid" : {
17162 "description" : "The (unique) ID of the VM.",
17163 "format" : "pve-vmid",
17164 "minimum" : 1,
4bd7df8b 17165 "type" : "integer",
013dc89f 17166 "typetext" : "<integer> (1 - N)"
44660702
DM
17167 }
17168 }
56122987 17169 },
7aacca6f
DM
17170 "permissions" : {
17171 "check" : [
17172 "perm",
17173 "/vms/{vmid}",
17174 [
44660702 17175 "VM.Audit"
7aacca6f
DM
17176 ]
17177 ]
17178 },
44660702
DM
17179 "returns" : {
17180 "type" : "object"
17181 }
17182 },
17183 "PUT" : {
17184 "description" : "Update IP or Network alias.",
17185 "method" : "PUT",
17186 "name" : "update_alias",
56122987
DM
17187 "parameters" : {
17188 "additionalProperties" : 0,
17189 "properties" : {
44660702
DM
17190 "cidr" : {
17191 "description" : "Network/IP specification in CIDR format.",
17192 "format" : "IPorCIDR",
013dc89f
DM
17193 "type" : "string",
17194 "typetext" : "<string>"
44660702
DM
17195 },
17196 "comment" : {
17197 "optional" : 1,
013dc89f
DM
17198 "type" : "string",
17199 "typetext" : "<string>"
44660702
DM
17200 },
17201 "digest" : {
17202 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17203 "maxLength" : 40,
17204 "optional" : 1,
013dc89f
DM
17205 "type" : "string",
17206 "typetext" : "<string>"
44660702 17207 },
56122987 17208 "name" : {
7aacca6f 17209 "description" : "Alias name.",
44660702
DM
17210 "maxLength" : 64,
17211 "minLength" : 2,
7aacca6f 17212 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17213 "type" : "string"
56122987
DM
17214 },
17215 "node" : {
17216 "description" : "The cluster node name.",
44660702 17217 "format" : "pve-node",
013dc89f
DM
17218 "type" : "string",
17219 "typetext" : "<string>"
44660702
DM
17220 },
17221 "rename" : {
17222 "description" : "Rename an existing alias.",
17223 "maxLength" : 64,
17224 "minLength" : 2,
17225 "optional" : 1,
17226 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17227 "type" : "string"
56122987 17228 },
7aacca6f 17229 "vmid" : {
7aacca6f 17230 "description" : "The (unique) ID of the VM.",
44660702 17231 "format" : "pve-vmid",
7aacca6f 17232 "minimum" : 1,
4bd7df8b 17233 "type" : "integer",
013dc89f 17234 "typetext" : "<integer> (1 - N)"
56122987
DM
17235 }
17236 }
17237 },
44660702
DM
17238 "permissions" : {
17239 "check" : [
17240 "perm",
17241 "/vms/{vmid}",
17242 [
17243 "VM.Config.Network"
17244 ]
17245 ]
7aacca6f 17246 },
44660702
DM
17247 "protected" : 1,
17248 "returns" : {
17249 "type" : "null"
7aacca6f
DM
17250 }
17251 }
17252 },
44660702
DM
17253 "leaf" : 1,
17254 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
17255 "text" : "{name}"
17256 }
17257 ],
17258 "info" : {
17259 "GET" : {
17260 "description" : "List aliases",
17261 "method" : "GET",
17262 "name" : "get_aliases",
56122987
DM
17263 "parameters" : {
17264 "additionalProperties" : 0,
17265 "properties" : {
17266 "node" : {
44660702 17267 "description" : "The cluster node name.",
56122987 17268 "format" : "pve-node",
013dc89f
DM
17269 "type" : "string",
17270 "typetext" : "<string>"
56122987
DM
17271 },
17272 "vmid" : {
7aacca6f 17273 "description" : "The (unique) ID of the VM.",
44660702 17274 "format" : "pve-vmid",
7aacca6f 17275 "minimum" : 1,
4bd7df8b 17276 "type" : "integer",
013dc89f 17277 "typetext" : "<integer> (1 - N)"
56122987
DM
17278 }
17279 }
17280 },
44660702
DM
17281 "permissions" : {
17282 "check" : [
17283 "perm",
17284 "/vms/{vmid}",
17285 [
17286 "VM.Audit"
17287 ]
17288 ]
17289 },
56122987
DM
17290 "returns" : {
17291 "items" : {
56122987 17292 "properties" : {
44660702
DM
17293 "cidr" : {
17294 "type" : "string"
7aacca6f 17295 },
44660702
DM
17296 "comment" : {
17297 "optional" : 1,
56122987
DM
17298 "type" : "string"
17299 },
56122987 17300 "digest" : {
56122987 17301 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
17302 "maxLength" : 40,
17303 "optional" : 0,
17304 "type" : "string"
17305 },
17306 "name" : {
17307 "type" : "string"
56122987 17308 }
44660702
DM
17309 },
17310 "type" : "object"
17311 },
17312 "links" : [
17313 {
17314 "href" : "{name}",
17315 "rel" : "child"
56122987 17316 }
44660702
DM
17317 ],
17318 "type" : "array"
7aacca6f
DM
17319 }
17320 },
17321 "POST" : {
44660702 17322 "description" : "Create IP or Network Alias.",
7aacca6f 17323 "method" : "POST",
44660702 17324 "name" : "create_alias",
7aacca6f
DM
17325 "parameters" : {
17326 "additionalProperties" : 0,
17327 "properties" : {
44660702
DM
17328 "cidr" : {
17329 "description" : "Network/IP specification in CIDR format.",
17330 "format" : "IPorCIDR",
013dc89f
DM
17331 "type" : "string",
17332 "typetext" : "<string>"
7aacca6f
DM
17333 },
17334 "comment" : {
17335 "optional" : 1,
013dc89f
DM
17336 "type" : "string",
17337 "typetext" : "<string>"
7aacca6f 17338 },
44660702
DM
17339 "name" : {
17340 "description" : "Alias name.",
17341 "maxLength" : 64,
7aacca6f
DM
17342 "minLength" : 2,
17343 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 17344 "type" : "string"
7aacca6f
DM
17345 },
17346 "node" : {
44660702 17347 "description" : "The cluster node name.",
7aacca6f 17348 "format" : "pve-node",
013dc89f
DM
17349 "type" : "string",
17350 "typetext" : "<string>"
7aacca6f 17351 },
44660702
DM
17352 "vmid" : {
17353 "description" : "The (unique) ID of the VM.",
17354 "format" : "pve-vmid",
17355 "minimum" : 1,
4bd7df8b 17356 "type" : "integer",
013dc89f 17357 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17358 }
17359 }
17360 },
44660702
DM
17361 "permissions" : {
17362 "check" : [
17363 "perm",
17364 "/vms/{vmid}",
17365 [
17366 "VM.Config.Network"
17367 ]
17368 ]
17369 },
17370 "protected" : 1,
17371 "returns" : {
17372 "type" : "null"
17373 }
56122987
DM
17374 }
17375 },
44660702
DM
17376 "leaf" : 0,
17377 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
17378 "text" : "aliases"
17379 },
17380 {
56122987
DM
17381 "children" : [
17382 {
56122987
DM
17383 "children" : [
17384 {
17385 "info" : {
17386 "DELETE" : {
44660702 17387 "description" : "Remove IP or Network from IPSet.",
7aacca6f 17388 "method" : "DELETE",
44660702 17389 "name" : "remove_ip",
56122987
DM
17390 "parameters" : {
17391 "additionalProperties" : 0,
17392 "properties" : {
44660702
DM
17393 "cidr" : {
17394 "description" : "Network/IP specification in CIDR format.",
17395 "format" : "IPorCIDRorAlias",
013dc89f
DM
17396 "type" : "string",
17397 "typetext" : "<string>"
56122987
DM
17398 },
17399 "digest" : {
44660702 17400 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 17401 "maxLength" : 40,
7aacca6f 17402 "optional" : 1,
013dc89f
DM
17403 "type" : "string",
17404 "typetext" : "<string>"
56122987 17405 },
56122987 17406 "name" : {
44660702 17407 "description" : "IP set name.",
56122987 17408 "maxLength" : 64,
7aacca6f 17409 "minLength" : 2,
56122987 17410 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 17411 "type" : "string"
7aacca6f
DM
17412 },
17413 "node" : {
7aacca6f 17414 "description" : "The cluster node name.",
44660702 17415 "format" : "pve-node",
013dc89f
DM
17416 "type" : "string",
17417 "typetext" : "<string>"
44660702
DM
17418 },
17419 "vmid" : {
17420 "description" : "The (unique) ID of the VM.",
17421 "format" : "pve-vmid",
17422 "minimum" : 1,
4bd7df8b 17423 "type" : "integer",
013dc89f 17424 "typetext" : "<integer> (1 - N)"
56122987
DM
17425 }
17426 }
17427 },
44660702
DM
17428 "permissions" : {
17429 "check" : [
17430 "perm",
17431 "/vms/{vmid}",
17432 [
17433 "VM.Config.Network"
17434 ]
17435 ]
17436 },
7aacca6f 17437 "protected" : 1,
56122987
DM
17438 "returns" : {
17439 "type" : "null"
44660702
DM
17440 }
17441 },
17442 "GET" : {
17443 "description" : "Read IP or Network settings from IPSet.",
17444 "method" : "GET",
17445 "name" : "read_ip",
56122987
DM
17446 "parameters" : {
17447 "additionalProperties" : 0,
17448 "properties" : {
7aacca6f 17449 "cidr" : {
7aacca6f 17450 "description" : "Network/IP specification in CIDR format.",
44660702 17451 "format" : "IPorCIDRorAlias",
013dc89f
DM
17452 "type" : "string",
17453 "typetext" : "<string>"
56122987 17454 },
7aacca6f 17455 "name" : {
44660702 17456 "description" : "IP set name.",
7aacca6f
DM
17457 "maxLength" : 64,
17458 "minLength" : 2,
7aacca6f
DM
17459 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17460 "type" : "string"
56122987 17461 },
44660702
DM
17462 "node" : {
17463 "description" : "The cluster node name.",
17464 "format" : "pve-node",
013dc89f
DM
17465 "type" : "string",
17466 "typetext" : "<string>"
44660702
DM
17467 },
17468 "vmid" : {
17469 "description" : "The (unique) ID of the VM.",
17470 "format" : "pve-vmid",
17471 "minimum" : 1,
4bd7df8b 17472 "type" : "integer",
013dc89f 17473 "typetext" : "<integer> (1 - N)"
56122987
DM
17474 }
17475 }
17476 },
56122987
DM
17477 "permissions" : {
17478 "check" : [
17479 "perm",
17480 "/vms/{vmid}",
17481 [
44660702 17482 "VM.Audit"
56122987
DM
17483 ]
17484 ]
7aacca6f 17485 },
44660702 17486 "protected" : 1,
7aacca6f
DM
17487 "returns" : {
17488 "type" : "object"
44660702
DM
17489 }
17490 },
17491 "PUT" : {
17492 "description" : "Update IP or Network settings",
17493 "method" : "PUT",
17494 "name" : "update_ip",
7aacca6f 17495 "parameters" : {
44660702 17496 "additionalProperties" : 0,
7aacca6f
DM
17497 "properties" : {
17498 "cidr" : {
44660702 17499 "description" : "Network/IP specification in CIDR format.",
7aacca6f 17500 "format" : "IPorCIDRorAlias",
013dc89f
DM
17501 "type" : "string",
17502 "typetext" : "<string>"
7aacca6f 17503 },
44660702
DM
17504 "comment" : {
17505 "optional" : 1,
013dc89f
DM
17506 "type" : "string",
17507 "typetext" : "<string>"
44660702
DM
17508 },
17509 "digest" : {
17510 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17511 "maxLength" : 40,
17512 "optional" : 1,
013dc89f
DM
17513 "type" : "string",
17514 "typetext" : "<string>"
44660702
DM
17515 },
17516 "name" : {
17517 "description" : "IP set name.",
17518 "maxLength" : 64,
17519 "minLength" : 2,
17520 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17521 "type" : "string"
7aacca6f
DM
17522 },
17523 "node" : {
7aacca6f 17524 "description" : "The cluster node name.",
44660702 17525 "format" : "pve-node",
013dc89f
DM
17526 "type" : "string",
17527 "typetext" : "<string>"
7aacca6f 17528 },
44660702
DM
17529 "nomatch" : {
17530 "optional" : 1,
013dc89f
DM
17531 "type" : "boolean",
17532 "typetext" : "<boolean>"
44660702
DM
17533 },
17534 "vmid" : {
17535 "description" : "The (unique) ID of the VM.",
17536 "format" : "pve-vmid",
17537 "minimum" : 1,
4bd7df8b 17538 "type" : "integer",
013dc89f 17539 "typetext" : "<integer> (1 - N)"
7aacca6f 17540 }
44660702
DM
17541 }
17542 },
17543 "permissions" : {
17544 "check" : [
17545 "perm",
17546 "/vms/{vmid}",
17547 [
17548 "VM.Config.Network"
17549 ]
17550 ]
7aacca6f
DM
17551 },
17552 "protected" : 1,
44660702
DM
17553 "returns" : {
17554 "type" : "null"
17555 }
56122987
DM
17556 }
17557 },
56122987 17558 "leaf" : 1,
44660702
DM
17559 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
17560 "text" : "{cidr}"
56122987
DM
17561 }
17562 ],
17563 "info" : {
44660702
DM
17564 "DELETE" : {
17565 "description" : "Delete IPSet",
17566 "method" : "DELETE",
17567 "name" : "delete_ipset",
17568 "parameters" : {
17569 "additionalProperties" : 0,
17570 "properties" : {
17571 "name" : {
17572 "description" : "IP set name.",
17573 "maxLength" : 64,
17574 "minLength" : 2,
17575 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17576 "type" : "string"
17577 },
17578 "node" : {
17579 "description" : "The cluster node name.",
17580 "format" : "pve-node",
013dc89f
DM
17581 "type" : "string",
17582 "typetext" : "<string>"
44660702
DM
17583 },
17584 "vmid" : {
17585 "description" : "The (unique) ID of the VM.",
17586 "format" : "pve-vmid",
17587 "minimum" : 1,
4bd7df8b 17588 "type" : "integer",
013dc89f 17589 "typetext" : "<integer> (1 - N)"
44660702
DM
17590 }
17591 }
17592 },
17593 "permissions" : {
17594 "check" : [
17595 "perm",
17596 "/vms/{vmid}",
17597 [
17598 "VM.Config.Network"
17599 ]
17600 ]
17601 },
17602 "protected" : 1,
17603 "returns" : {
17604 "type" : "null"
17605 }
17606 },
56122987 17607 "GET" : {
7aacca6f 17608 "description" : "List IPSet content",
44660702
DM
17609 "method" : "GET",
17610 "name" : "get_ipset",
7aacca6f
DM
17611 "parameters" : {
17612 "additionalProperties" : 0,
17613 "properties" : {
17614 "name" : {
17615 "description" : "IP set name.",
44660702 17616 "maxLength" : 64,
7aacca6f 17617 "minLength" : 2,
44660702
DM
17618 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17619 "type" : "string"
7aacca6f
DM
17620 },
17621 "node" : {
7aacca6f 17622 "description" : "The cluster node name.",
44660702 17623 "format" : "pve-node",
013dc89f
DM
17624 "type" : "string",
17625 "typetext" : "<string>"
7aacca6f
DM
17626 },
17627 "vmid" : {
17628 "description" : "The (unique) ID of the VM.",
44660702 17629 "format" : "pve-vmid",
7aacca6f 17630 "minimum" : 1,
4bd7df8b 17631 "type" : "integer",
013dc89f 17632 "typetext" : "<integer> (1 - N)"
56122987 17633 }
7aacca6f
DM
17634 }
17635 },
7aacca6f
DM
17636 "permissions" : {
17637 "check" : [
17638 "perm",
17639 "/vms/{vmid}",
17640 [
17641 "VM.Audit"
17642 ]
17643 ]
17644 },
17645 "returns" : {
56122987
DM
17646 "items" : {
17647 "properties" : {
17648 "cidr" : {
17649 "type" : "string"
17650 },
44660702
DM
17651 "comment" : {
17652 "optional" : 1,
17653 "type" : "string"
17654 },
56122987 17655 "digest" : {
56122987 17656 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 17657 "maxLength" : 40,
7aacca6f 17658 "optional" : 0,
56122987 17659 "type" : "string"
7aacca6f
DM
17660 },
17661 "nomatch" : {
44660702
DM
17662 "optional" : 1,
17663 "type" : "boolean"
56122987 17664 }
44660702
DM
17665 },
17666 "type" : "object"
56122987 17667 },
7aacca6f
DM
17668 "links" : [
17669 {
44660702
DM
17670 "href" : "{cidr}",
17671 "rel" : "child"
56122987 17672 }
44660702
DM
17673 ],
17674 "type" : "array"
17675 }
56122987 17676 },
7aacca6f
DM
17677 "POST" : {
17678 "description" : "Add IP or Network to IPSet.",
44660702 17679 "method" : "POST",
7aacca6f 17680 "name" : "create_ip",
56122987 17681 "parameters" : {
44660702 17682 "additionalProperties" : 0,
56122987 17683 "properties" : {
44660702
DM
17684 "cidr" : {
17685 "description" : "Network/IP specification in CIDR format.",
17686 "format" : "IPorCIDRorAlias",
013dc89f
DM
17687 "type" : "string",
17688 "typetext" : "<string>"
44660702
DM
17689 },
17690 "comment" : {
17691 "optional" : 1,
013dc89f
DM
17692 "type" : "string",
17693 "typetext" : "<string>"
56122987
DM
17694 },
17695 "name" : {
56122987 17696 "description" : "IP set name.",
44660702 17697 "maxLength" : 64,
7aacca6f 17698 "minLength" : 2,
44660702 17699 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 17700 "type" : "string"
56122987 17701 },
7aacca6f 17702 "node" : {
7aacca6f 17703 "description" : "The cluster node name.",
44660702 17704 "format" : "pve-node",
013dc89f
DM
17705 "type" : "string",
17706 "typetext" : "<string>"
56122987 17707 },
44660702
DM
17708 "nomatch" : {
17709 "optional" : 1,
013dc89f
DM
17710 "type" : "boolean",
17711 "typetext" : "<boolean>"
7aacca6f
DM
17712 },
17713 "vmid" : {
44660702 17714 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
17715 "format" : "pve-vmid",
17716 "minimum" : 1,
4bd7df8b 17717 "type" : "integer",
013dc89f 17718 "typetext" : "<integer> (1 - N)"
56122987 17719 }
44660702
DM
17720 }
17721 },
17722 "permissions" : {
17723 "check" : [
17724 "perm",
17725 "/vms/{vmid}",
17726 [
17727 "VM.Config.Network"
17728 ]
17729 ]
17730 },
17731 "protected" : 1,
17732 "returns" : {
17733 "type" : "null"
17734 }
17735 }
17736 },
17737 "leaf" : 0,
17738 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
17739 "text" : "{name}"
17740 }
17741 ],
17742 "info" : {
17743 "GET" : {
17744 "description" : "List IPSets",
17745 "method" : "GET",
17746 "name" : "ipset_index",
17747 "parameters" : {
17748 "additionalProperties" : 0,
17749 "properties" : {
17750 "node" : {
17751 "description" : "The cluster node name.",
17752 "format" : "pve-node",
013dc89f
DM
17753 "type" : "string",
17754 "typetext" : "<string>"
44660702
DM
17755 },
17756 "vmid" : {
17757 "description" : "The (unique) ID of the VM.",
17758 "format" : "pve-vmid",
17759 "minimum" : 1,
4bd7df8b 17760 "type" : "integer",
013dc89f 17761 "typetext" : "<integer> (1 - N)"
44660702
DM
17762 }
17763 }
17764 },
17765 "permissions" : {
17766 "check" : [
17767 "perm",
17768 "/vms/{vmid}",
17769 [
17770 "VM.Audit"
17771 ]
17772 ]
17773 },
17774 "returns" : {
17775 "items" : {
17776 "properties" : {
17777 "comment" : {
17778 "optional" : 1,
17779 "type" : "string"
17780 },
17781 "digest" : {
17782 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17783 "maxLength" : 40,
17784 "optional" : 0,
17785 "type" : "string"
7aacca6f 17786 },
44660702
DM
17787 "name" : {
17788 "description" : "IP set name.",
17789 "maxLength" : 64,
17790 "minLength" : 2,
17791 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17792 "type" : "string"
17793 }
17794 },
17795 "type" : "object"
17796 },
17797 "links" : [
17798 {
17799 "href" : "{name}",
17800 "rel" : "child"
17801 }
17802 ],
17803 "type" : "array"
17804 }
17805 },
17806 "POST" : {
17807 "description" : "Create new IPSet",
17808 "method" : "POST",
17809 "name" : "create_ipset",
17810 "parameters" : {
17811 "additionalProperties" : 0,
17812 "properties" : {
17813 "comment" : {
17814 "optional" : 1,
013dc89f
DM
17815 "type" : "string",
17816 "typetext" : "<string>"
44660702
DM
17817 },
17818 "digest" : {
17819 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17820 "maxLength" : 40,
17821 "optional" : 1,
013dc89f
DM
17822 "type" : "string",
17823 "typetext" : "<string>"
56122987 17824 },
44660702
DM
17825 "name" : {
17826 "description" : "IP set name.",
17827 "maxLength" : 64,
17828 "minLength" : 2,
17829 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17830 "type" : "string"
17831 },
17832 "node" : {
17833 "description" : "The cluster node name.",
17834 "format" : "pve-node",
013dc89f
DM
17835 "type" : "string",
17836 "typetext" : "<string>"
7aacca6f 17837 },
44660702
DM
17838 "rename" : {
17839 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
17840 "maxLength" : 64,
17841 "minLength" : 2,
17842 "optional" : 1,
17843 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
17844 "type" : "string"
17845 },
17846 "vmid" : {
17847 "description" : "The (unique) ID of the VM.",
17848 "format" : "pve-vmid",
17849 "minimum" : 1,
4bd7df8b 17850 "type" : "integer",
013dc89f 17851 "typetext" : "<integer> (1 - N)"
44660702 17852 }
56122987 17853 }
44660702
DM
17854 },
17855 "permissions" : {
17856 "check" : [
17857 "perm",
17858 "/vms/{vmid}",
17859 [
17860 "VM.Config.Network"
17861 ]
17862 ]
17863 },
17864 "protected" : 1,
17865 "returns" : {
17866 "type" : "null"
56122987
DM
17867 }
17868 }
44660702
DM
17869 },
17870 "leaf" : 0,
17871 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
17872 "text" : "ipset"
56122987
DM
17873 },
17874 {
56122987 17875 "info" : {
7aacca6f 17876 "GET" : {
44660702 17877 "description" : "Get VM firewall options.",
7aacca6f 17878 "method" : "GET",
44660702
DM
17879 "name" : "get_options",
17880 "parameters" : {
17881 "additionalProperties" : 0,
17882 "properties" : {
17883 "node" : {
17884 "description" : "The cluster node name.",
17885 "format" : "pve-node",
013dc89f
DM
17886 "type" : "string",
17887 "typetext" : "<string>"
44660702
DM
17888 },
17889 "vmid" : {
17890 "description" : "The (unique) ID of the VM.",
17891 "format" : "pve-vmid",
17892 "minimum" : 1,
4bd7df8b 17893 "type" : "integer",
013dc89f 17894 "typetext" : "<integer> (1 - N)"
44660702
DM
17895 }
17896 }
17897 },
17898 "permissions" : {
17899 "check" : [
17900 "perm",
17901 "/vms/{vmid}",
17902 [
17903 "VM.Audit"
17904 ]
17905 ]
17906 },
17907 "proxyto" : "node",
56122987 17908 "returns" : {
56122987 17909 "properties" : {
44660702
DM
17910 "dhcp" : {
17911 "description" : "Enable DHCP.",
17912 "optional" : 1,
17913 "type" : "boolean"
17914 },
17915 "enable" : {
17916 "description" : "Enable/disable firewall rules.",
17917 "optional" : 1,
17918 "type" : "boolean"
17919 },
17920 "ipfilter" : {
17921 "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 17922 "optional" : 1,
44660702
DM
17923 "type" : "boolean"
17924 },
17925 "log_level_in" : {
7aacca6f
DM
17926 "description" : "Log level for incoming traffic.",
17927 "enum" : [
17928 "emerg",
17929 "alert",
17930 "crit",
17931 "err",
17932 "warning",
17933 "notice",
17934 "info",
17935 "debug",
17936 "nolog"
44660702
DM
17937 ],
17938 "optional" : 1,
17939 "type" : "string"
56122987 17940 },
44660702
DM
17941 "log_level_out" : {
17942 "description" : "Log level for outgoing traffic.",
56122987 17943 "enum" : [
44660702
DM
17944 "emerg",
17945 "alert",
17946 "crit",
17947 "err",
17948 "warning",
17949 "notice",
17950 "info",
17951 "debug",
17952 "nolog"
7aacca6f 17953 ],
7aacca6f
DM
17954 "optional" : 1,
17955 "type" : "string"
56122987 17956 },
44660702
DM
17957 "macfilter" : {
17958 "description" : "Enable/disable MAC address filter.",
17959 "optional" : 1,
17960 "type" : "boolean"
7aacca6f 17961 },
44660702
DM
17962 "ndp" : {
17963 "description" : "Enable NDP.",
56122987 17964 "optional" : 1,
44660702 17965 "type" : "boolean"
56122987
DM
17966 },
17967 "policy_in" : {
7aacca6f 17968 "description" : "Input policy.",
56122987
DM
17969 "enum" : [
17970 "ACCEPT",
17971 "REJECT",
17972 "DROP"
17973 ],
7aacca6f 17974 "optional" : 1,
44660702 17975 "type" : "string"
56122987 17976 },
44660702
DM
17977 "policy_out" : {
17978 "description" : "Output policy.",
56122987 17979 "enum" : [
44660702
DM
17980 "ACCEPT",
17981 "REJECT",
17982 "DROP"
56122987 17983 ],
7aacca6f 17984 "optional" : 1,
56122987
DM
17985 "type" : "string"
17986 },
44660702
DM
17987 "radv" : {
17988 "description" : "Allow sending Router Advertisement.",
56122987 17989 "optional" : 1,
7aacca6f
DM
17990 "type" : "boolean"
17991 }
7aacca6f 17992 },
44660702
DM
17993 "type" : "object"
17994 }
7aacca6f
DM
17995 },
17996 "PUT" : {
44660702
DM
17997 "description" : "Set Firewall options.",
17998 "method" : "PUT",
7aacca6f
DM
17999 "name" : "set_options",
18000 "parameters" : {
44660702 18001 "additionalProperties" : 0,
7aacca6f 18002 "properties" : {
44660702
DM
18003 "delete" : {
18004 "description" : "A list of settings you want to delete.",
18005 "format" : "pve-configid-list",
18006 "optional" : 1,
013dc89f
DM
18007 "type" : "string",
18008 "typetext" : "<string>"
44660702
DM
18009 },
18010 "dhcp" : {
18011 "description" : "Enable DHCP.",
18012 "optional" : 1,
013dc89f
DM
18013 "type" : "boolean",
18014 "typetext" : "<boolean>"
44660702
DM
18015 },
18016 "digest" : {
18017 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18018 "maxLength" : 40,
18019 "optional" : 1,
013dc89f
DM
18020 "type" : "string",
18021 "typetext" : "<string>"
44660702 18022 },
7aacca6f
DM
18023 "enable" : {
18024 "description" : "Enable/disable firewall rules.",
56122987 18025 "optional" : 1,
013dc89f
DM
18026 "type" : "boolean",
18027 "typetext" : "<boolean>"
56122987 18028 },
44660702
DM
18029 "ipfilter" : {
18030 "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.",
18031 "optional" : 1,
013dc89f
DM
18032 "type" : "boolean",
18033 "typetext" : "<boolean>"
44660702
DM
18034 },
18035 "log_level_in" : {
18036 "description" : "Log level for incoming traffic.",
56122987
DM
18037 "enum" : [
18038 "emerg",
18039 "alert",
18040 "crit",
18041 "err",
18042 "warning",
18043 "notice",
18044 "info",
18045 "debug",
18046 "nolog"
18047 ],
56122987 18048 "optional" : 1,
44660702 18049 "type" : "string"
56122987 18050 },
44660702
DM
18051 "log_level_out" : {
18052 "description" : "Log level for outgoing traffic.",
56122987
DM
18053 "enum" : [
18054 "emerg",
18055 "alert",
18056 "crit",
18057 "err",
18058 "warning",
18059 "notice",
18060 "info",
18061 "debug",
18062 "nolog"
18063 ],
44660702
DM
18064 "optional" : 1,
18065 "type" : "string"
56122987 18066 },
44660702
DM
18067 "macfilter" : {
18068 "description" : "Enable/disable MAC address filter.",
18069 "optional" : 1,
013dc89f
DM
18070 "type" : "boolean",
18071 "typetext" : "<boolean>"
44660702
DM
18072 },
18073 "ndp" : {
18074 "description" : "Enable NDP.",
56122987 18075 "optional" : 1,
013dc89f
DM
18076 "type" : "boolean",
18077 "typetext" : "<boolean>"
56122987 18078 },
7aacca6f
DM
18079 "node" : {
18080 "description" : "The cluster node name.",
44660702 18081 "format" : "pve-node",
013dc89f
DM
18082 "type" : "string",
18083 "typetext" : "<string>"
7aacca6f 18084 },
44660702
DM
18085 "policy_in" : {
18086 "description" : "Input policy.",
18087 "enum" : [
18088 "ACCEPT",
18089 "REJECT",
18090 "DROP"
18091 ],
7aacca6f 18092 "optional" : 1,
44660702 18093 "type" : "string"
7aacca6f 18094 },
44660702
DM
18095 "policy_out" : {
18096 "description" : "Output policy.",
56122987 18097 "enum" : [
7aacca6f
DM
18098 "ACCEPT",
18099 "REJECT",
18100 "DROP"
56122987
DM
18101 ],
18102 "optional" : 1,
56122987 18103 "type" : "string"
7aacca6f 18104 },
44660702
DM
18105 "radv" : {
18106 "description" : "Allow sending Router Advertisement.",
7aacca6f 18107 "optional" : 1,
013dc89f
DM
18108 "type" : "boolean",
18109 "typetext" : "<boolean>"
44660702
DM
18110 },
18111 "vmid" : {
18112 "description" : "The (unique) ID of the VM.",
18113 "format" : "pve-vmid",
18114 "minimum" : 1,
4bd7df8b 18115 "type" : "integer",
013dc89f 18116 "typetext" : "<integer> (1 - N)"
56122987 18117 }
44660702 18118 }
56122987 18119 },
7aacca6f
DM
18120 "permissions" : {
18121 "check" : [
18122 "perm",
18123 "/vms/{vmid}",
18124 [
18125 "VM.Config.Network"
18126 ]
18127 ]
18128 },
44660702
DM
18129 "protected" : 1,
18130 "proxyto" : "node",
7aacca6f
DM
18131 "returns" : {
18132 "type" : "null"
56122987
DM
18133 }
18134 }
18135 },
44660702 18136 "leaf" : 1,
7aacca6f 18137 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 18138 "text" : "options"
56122987
DM
18139 },
18140 {
56122987
DM
18141 "info" : {
18142 "GET" : {
44660702 18143 "description" : "Read firewall log",
56122987 18144 "method" : "GET",
7aacca6f 18145 "name" : "log",
56122987
DM
18146 "parameters" : {
18147 "additionalProperties" : 0,
18148 "properties" : {
44660702
DM
18149 "limit" : {
18150 "minimum" : 0,
18151 "optional" : 1,
4bd7df8b 18152 "type" : "integer",
013dc89f 18153 "typetext" : "<integer> (0 - N)"
44660702 18154 },
56122987
DM
18155 "node" : {
18156 "description" : "The cluster node name.",
44660702 18157 "format" : "pve-node",
013dc89f
DM
18158 "type" : "string",
18159 "typetext" : "<string>"
56122987 18160 },
44660702
DM
18161 "start" : {
18162 "minimum" : 0,
7aacca6f 18163 "optional" : 1,
4bd7df8b 18164 "type" : "integer",
013dc89f 18165 "typetext" : "<integer> (0 - N)"
56122987
DM
18166 },
18167 "vmid" : {
44660702 18168 "description" : "The (unique) ID of the VM.",
7aacca6f 18169 "format" : "pve-vmid",
56122987 18170 "minimum" : 1,
4bd7df8b 18171 "type" : "integer",
013dc89f 18172 "typetext" : "<integer> (1 - N)"
56122987
DM
18173 }
18174 }
18175 },
44660702
DM
18176 "permissions" : {
18177 "check" : [
18178 "perm",
18179 "/vms/{vmid}",
18180 [
18181 "VM.Console"
18182 ]
18183 ]
18184 },
56122987 18185 "protected" : 1,
44660702 18186 "proxyto" : "node",
7aacca6f
DM
18187 "returns" : {
18188 "items" : {
18189 "properties" : {
7aacca6f
DM
18190 "n" : {
18191 "description" : "Line number",
18192 "type" : "integer"
44660702
DM
18193 },
18194 "t" : {
18195 "description" : "Line text",
18196 "type" : "string"
7aacca6f
DM
18197 }
18198 },
18199 "type" : "object"
18200 },
18201 "type" : "array"
44660702 18202 }
56122987
DM
18203 }
18204 },
7aacca6f 18205 "leaf" : 1,
44660702
DM
18206 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
18207 "text" : "log"
56122987
DM
18208 },
18209 {
56122987
DM
18210 "info" : {
18211 "GET" : {
7aacca6f 18212 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
18213 "method" : "GET",
18214 "name" : "refs",
56122987 18215 "parameters" : {
7aacca6f 18216 "additionalProperties" : 0,
56122987 18217 "properties" : {
44660702
DM
18218 "node" : {
18219 "description" : "The cluster node name.",
18220 "format" : "pve-node",
013dc89f
DM
18221 "type" : "string",
18222 "typetext" : "<string>"
7aacca6f 18223 },
56122987 18224 "type" : {
44660702 18225 "description" : "Only list references of specified type.",
56122987
DM
18226 "enum" : [
18227 "alias",
18228 "ipset"
18229 ],
44660702
DM
18230 "optional" : 1,
18231 "type" : "string"
56122987 18232 },
44660702
DM
18233 "vmid" : {
18234 "description" : "The (unique) ID of the VM.",
18235 "format" : "pve-vmid",
18236 "minimum" : 1,
4bd7df8b 18237 "type" : "integer",
013dc89f 18238 "typetext" : "<integer> (1 - N)"
56122987 18239 }
7aacca6f 18240 }
56122987 18241 },
44660702
DM
18242 "permissions" : {
18243 "check" : [
18244 "perm",
18245 "/vms/{vmid}",
18246 [
18247 "VM.Audit"
18248 ]
18249 ]
18250 },
56122987 18251 "returns" : {
56122987 18252 "items" : {
56122987 18253 "properties" : {
44660702
DM
18254 "comment" : {
18255 "optional" : 1,
18256 "type" : "string"
18257 },
18258 "name" : {
18259 "type" : "string"
18260 },
56122987 18261 "type" : {
56122987
DM
18262 "enum" : [
18263 "alias",
18264 "ipset"
44660702 18265 ],
7aacca6f 18266 "type" : "string"
56122987 18267 }
44660702
DM
18268 },
18269 "type" : "object"
18270 },
18271 "type" : "array"
56122987
DM
18272 }
18273 }
18274 },
44660702 18275 "leaf" : 1,
7aacca6f 18276 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 18277 "text" : "refs"
56122987
DM
18278 }
18279 ],
56122987
DM
18280 "info" : {
18281 "GET" : {
7aacca6f 18282 "description" : "Directory index.",
44660702
DM
18283 "method" : "GET",
18284 "name" : "index",
56122987 18285 "parameters" : {
44660702 18286 "additionalProperties" : 0,
56122987 18287 "properties" : {
56122987 18288 "node" : {
44660702 18289 "description" : "The cluster node name.",
56122987 18290 "format" : "pve-node",
013dc89f
DM
18291 "type" : "string",
18292 "typetext" : "<string>"
44660702
DM
18293 },
18294 "vmid" : {
18295 "description" : "The (unique) ID of the VM.",
18296 "format" : "pve-vmid",
18297 "minimum" : 1,
4bd7df8b 18298 "type" : "integer",
013dc89f 18299 "typetext" : "<integer> (1 - N)"
56122987 18300 }
44660702
DM
18301 }
18302 },
18303 "permissions" : {
18304 "user" : "all"
56122987
DM
18305 },
18306 "returns" : {
7aacca6f 18307 "items" : {
44660702
DM
18308 "properties" : {},
18309 "type" : "object"
7aacca6f 18310 },
56122987
DM
18311 "links" : [
18312 {
44660702
DM
18313 "href" : "{name}",
18314 "rel" : "child"
56122987 18315 }
44660702
DM
18316 ],
18317 "type" : "array"
56122987
DM
18318 }
18319 }
18320 },
44660702 18321 "leaf" : 0,
7aacca6f 18322 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 18323 "text" : "firewall"
56122987
DM
18324 },
18325 {
56122987
DM
18326 "info" : {
18327 "GET" : {
56122987 18328 "description" : "Read VM RRD statistics (returns PNG)",
44660702 18329 "method" : "GET",
7aacca6f 18330 "name" : "rrd",
56122987 18331 "parameters" : {
7aacca6f 18332 "additionalProperties" : 0,
56122987 18333 "properties" : {
44660702
DM
18334 "cf" : {
18335 "description" : "The RRD consolidation function",
18336 "enum" : [
18337 "AVERAGE",
18338 "MAX"
18339 ],
18340 "optional" : 1,
18341 "type" : "string"
18342 },
18343 "ds" : {
18344 "description" : "The list of datasources you want to display.",
18345 "format" : "pve-configid-list",
013dc89f
DM
18346 "type" : "string",
18347 "typetext" : "<string>"
44660702 18348 },
7aacca6f
DM
18349 "node" : {
18350 "description" : "The cluster node name.",
44660702 18351 "format" : "pve-node",
013dc89f
DM
18352 "type" : "string",
18353 "typetext" : "<string>"
56122987
DM
18354 },
18355 "timeframe" : {
18356 "description" : "Specify the time frame you are interested in.",
18357 "enum" : [
18358 "hour",
18359 "day",
18360 "week",
18361 "month",
18362 "year"
7aacca6f 18363 ],
44660702 18364 "type" : "string"
7aacca6f
DM
18365 },
18366 "vmid" : {
44660702 18367 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18368 "format" : "pve-vmid",
18369 "minimum" : 1,
4bd7df8b 18370 "type" : "integer",
013dc89f 18371 "typetext" : "<integer> (1 - N)"
56122987 18372 }
7aacca6f
DM
18373 }
18374 },
18375 "permissions" : {
18376 "check" : [
18377 "perm",
18378 "/vms/{vmid}",
18379 [
18380 "VM.Audit"
18381 ]
18382 ]
56122987 18383 },
44660702 18384 "protected" : 1,
7aacca6f
DM
18385 "returns" : {
18386 "properties" : {
18387 "filename" : {
18388 "type" : "string"
18389 }
18390 },
18391 "type" : "object"
18392 }
56122987 18393 }
7aacca6f 18394 },
44660702 18395 "leaf" : 1,
7aacca6f 18396 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 18397 "text" : "rrd"
56122987
DM
18398 },
18399 {
56122987
DM
18400 "info" : {
18401 "GET" : {
44660702
DM
18402 "description" : "Read VM RRD statistics",
18403 "method" : "GET",
18404 "name" : "rrddata",
56122987 18405 "parameters" : {
7aacca6f 18406 "additionalProperties" : 0,
56122987 18407 "properties" : {
44660702
DM
18408 "cf" : {
18409 "description" : "The RRD consolidation function",
18410 "enum" : [
18411 "AVERAGE",
18412 "MAX"
18413 ],
18414 "optional" : 1,
18415 "type" : "string"
18416 },
7aacca6f 18417 "node" : {
44660702 18418 "description" : "The cluster node name.",
7aacca6f 18419 "format" : "pve-node",
013dc89f
DM
18420 "type" : "string",
18421 "typetext" : "<string>"
7aacca6f 18422 },
56122987
DM
18423 "timeframe" : {
18424 "description" : "Specify the time frame you are interested in.",
18425 "enum" : [
18426 "hour",
18427 "day",
18428 "week",
18429 "month",
18430 "year"
44660702
DM
18431 ],
18432 "type" : "string"
7aacca6f
DM
18433 },
18434 "vmid" : {
18435 "description" : "The (unique) ID of the VM.",
44660702 18436 "format" : "pve-vmid",
7aacca6f 18437 "minimum" : 1,
4bd7df8b 18438 "type" : "integer",
013dc89f 18439 "typetext" : "<integer> (1 - N)"
56122987 18440 }
56122987
DM
18441 }
18442 },
56122987
DM
18443 "permissions" : {
18444 "check" : [
18445 "perm",
18446 "/vms/{vmid}",
18447 [
18448 "VM.Audit"
18449 ]
18450 ]
18451 },
7aacca6f
DM
18452 "protected" : 1,
18453 "returns" : {
7aacca6f
DM
18454 "items" : {
18455 "properties" : {},
18456 "type" : "object"
44660702
DM
18457 },
18458 "type" : "array"
18459 }
56122987
DM
18460 }
18461 },
44660702 18462 "leaf" : 1,
7aacca6f 18463 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 18464 "text" : "rrddata"
56122987
DM
18465 },
18466 {
18467 "info" : {
18468 "POST" : {
18469 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
18470 "method" : "POST",
18471 "name" : "vncproxy",
7aacca6f 18472 "parameters" : {
44660702 18473 "additionalProperties" : 0,
7aacca6f 18474 "properties" : {
5d9c884c
DM
18475 "height" : {
18476 "description" : "sets the height of the console in pixels.",
18477 "maximum" : 2160,
18478 "minimum" : 16,
18479 "optional" : 1,
18480 "type" : "integer",
18481 "typetext" : "<integer> (16 - 2160)"
18482 },
44660702
DM
18483 "node" : {
18484 "description" : "The cluster node name.",
18485 "format" : "pve-node",
013dc89f
DM
18486 "type" : "string",
18487 "typetext" : "<string>"
44660702 18488 },
7aacca6f 18489 "vmid" : {
44660702 18490 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18491 "format" : "pve-vmid",
18492 "minimum" : 1,
4bd7df8b 18493 "type" : "integer",
013dc89f 18494 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
18495 },
18496 "websocket" : {
44660702 18497 "description" : "use websocket instead of standard VNC.",
7aacca6f 18498 "optional" : 1,
013dc89f
DM
18499 "type" : "boolean",
18500 "typetext" : "<boolean>"
5d9c884c
DM
18501 },
18502 "width" : {
18503 "description" : "sets the width of the console in pixels.",
18504 "maximum" : 4096,
18505 "minimum" : 16,
18506 "optional" : 1,
18507 "type" : "integer",
18508 "typetext" : "<integer> (16 - 4096)"
7aacca6f 18509 }
44660702 18510 }
7aacca6f 18511 },
56122987
DM
18512 "permissions" : {
18513 "check" : [
18514 "perm",
18515 "/vms/{vmid}",
18516 [
18517 "VM.Console"
18518 ]
18519 ]
18520 },
44660702 18521 "protected" : 1,
56122987 18522 "returns" : {
7aacca6f 18523 "additionalProperties" : 0,
56122987 18524 "properties" : {
7aacca6f 18525 "cert" : {
56122987
DM
18526 "type" : "string"
18527 },
44660702
DM
18528 "port" : {
18529 "type" : "integer"
56122987 18530 },
44660702 18531 "ticket" : {
56122987
DM
18532 "type" : "string"
18533 },
44660702 18534 "upid" : {
56122987
DM
18535 "type" : "string"
18536 },
44660702
DM
18537 "user" : {
18538 "type" : "string"
56122987 18539 }
7aacca6f 18540 }
56122987
DM
18541 }
18542 }
18543 },
44660702 18544 "leaf" : 1,
56122987 18545 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 18546 "text" : "vncproxy"
56122987 18547 },
35a75dd3
DM
18548 {
18549 "info" : {
18550 "POST" : {
18551 "description" : "Creates a TCP proxy connection.",
18552 "method" : "POST",
18553 "name" : "termproxy",
18554 "parameters" : {
18555 "additionalProperties" : 0,
18556 "properties" : {
18557 "node" : {
18558 "description" : "The cluster node name.",
18559 "format" : "pve-node",
18560 "type" : "string",
18561 "typetext" : "<string>"
18562 },
18563 "vmid" : {
18564 "description" : "The (unique) ID of the VM.",
18565 "format" : "pve-vmid",
18566 "minimum" : 1,
18567 "type" : "integer",
18568 "typetext" : "<integer> (1 - N)"
18569 }
18570 }
18571 },
18572 "permissions" : {
18573 "check" : [
18574 "perm",
18575 "/vms/{vmid}",
18576 [
18577 "VM.Console"
18578 ]
18579 ]
18580 },
18581 "protected" : 1,
18582 "returns" : {
18583 "additionalProperties" : 0,
18584 "properties" : {
18585 "port" : {
18586 "type" : "integer"
18587 },
18588 "ticket" : {
18589 "type" : "string"
18590 },
18591 "upid" : {
18592 "type" : "string"
18593 },
18594 "user" : {
18595 "type" : "string"
18596 }
18597 }
18598 }
18599 }
18600 },
18601 "leaf" : 1,
18602 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
18603 "text" : "termproxy"
18604 },
56122987 18605 {
56122987
DM
18606 "info" : {
18607 "GET" : {
44660702
DM
18608 "description" : "Opens a weksocket for VNC traffic.",
18609 "method" : "GET",
18610 "name" : "vncwebsocket",
56122987 18611 "parameters" : {
44660702 18612 "additionalProperties" : 0,
56122987 18613 "properties" : {
56122987
DM
18614 "node" : {
18615 "description" : "The cluster node name.",
44660702 18616 "format" : "pve-node",
013dc89f
DM
18617 "type" : "string",
18618 "typetext" : "<string>"
7aacca6f 18619 },
44660702
DM
18620 "port" : {
18621 "description" : "Port number returned by previous vncproxy call.",
18622 "maximum" : 5999,
18623 "minimum" : 5900,
4bd7df8b 18624 "type" : "integer",
013dc89f 18625 "typetext" : "<integer> (5900 - 5999)"
44660702 18626 },
7aacca6f
DM
18627 "vmid" : {
18628 "description" : "The (unique) ID of the VM.",
7aacca6f 18629 "format" : "pve-vmid",
44660702 18630 "minimum" : 1,
4bd7df8b 18631 "type" : "integer",
013dc89f 18632 "typetext" : "<integer> (1 - N)"
44660702
DM
18633 },
18634 "vncticket" : {
18635 "description" : "Ticket from previous call to vncproxy.",
18636 "maxLength" : 512,
013dc89f
DM
18637 "type" : "string",
18638 "typetext" : "<string>"
56122987 18639 }
44660702 18640 }
7aacca6f 18641 },
7aacca6f
DM
18642 "permissions" : {
18643 "check" : [
18644 "perm",
18645 "/vms/{vmid}",
18646 [
18647 "VM.Console"
18648 ]
18649 ],
18650 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
18651 },
18652 "returns" : {
56122987
DM
18653 "properties" : {
18654 "port" : {
18655 "type" : "string"
18656 }
44660702
DM
18657 },
18658 "type" : "object"
18659 }
56122987
DM
18660 }
18661 },
44660702 18662 "leaf" : 1,
7aacca6f 18663 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 18664 "text" : "vncwebsocket"
56122987
DM
18665 },
18666 {
56122987
DM
18667 "info" : {
18668 "POST" : {
44660702
DM
18669 "description" : "Returns a SPICE configuration to connect to the CT.",
18670 "method" : "POST",
18671 "name" : "spiceproxy",
56122987
DM
18672 "parameters" : {
18673 "additionalProperties" : 0,
18674 "properties" : {
44660702
DM
18675 "node" : {
18676 "description" : "The cluster node name.",
18677 "format" : "pve-node",
013dc89f
DM
18678 "type" : "string",
18679 "typetext" : "<string>"
56122987
DM
18680 },
18681 "proxy" : {
7aacca6f 18682 "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
18683 "format" : "address",
18684 "optional" : 1,
013dc89f
DM
18685 "type" : "string",
18686 "typetext" : "<string>"
44660702
DM
18687 },
18688 "vmid" : {
18689 "description" : "The (unique) ID of the VM.",
18690 "format" : "pve-vmid",
18691 "minimum" : 1,
4bd7df8b 18692 "type" : "integer",
013dc89f 18693 "typetext" : "<integer> (1 - N)"
56122987
DM
18694 }
18695 }
18696 },
56122987
DM
18697 "permissions" : {
18698 "check" : [
18699 "perm",
18700 "/vms/{vmid}",
18701 [
18702 "VM.Console"
18703 ]
18704 ]
18705 },
44660702
DM
18706 "protected" : 1,
18707 "proxyto" : "node",
56122987 18708 "returns" : {
7aacca6f 18709 "additionalProperties" : 1,
44660702 18710 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 18711 "properties" : {
44660702 18712 "host" : {
56122987
DM
18713 "type" : "string"
18714 },
44660702 18715 "password" : {
56122987
DM
18716 "type" : "string"
18717 },
18718 "proxy" : {
18719 "type" : "string"
18720 },
56122987
DM
18721 "tls-port" : {
18722 "type" : "integer"
7aacca6f 18723 },
44660702 18724 "type" : {
7aacca6f 18725 "type" : "string"
56122987 18726 }
7aacca6f
DM
18727 }
18728 }
56122987 18729 }
44660702
DM
18730 },
18731 "leaf" : 1,
18732 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
18733 "text" : "spiceproxy"
56122987
DM
18734 },
18735 {
56122987
DM
18736 "info" : {
18737 "POST" : {
44660702 18738 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 18739 "method" : "POST",
44660702 18740 "name" : "migrate_vm",
56122987 18741 "parameters" : {
44660702 18742 "additionalProperties" : 0,
56122987 18743 "properties" : {
44660702 18744 "force" : {
de0983cb 18745 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 18746 "optional" : 1,
013dc89f
DM
18747 "type" : "boolean",
18748 "typetext" : "<boolean>"
44660702
DM
18749 },
18750 "node" : {
18751 "description" : "The cluster node name.",
7aacca6f 18752 "format" : "pve-node",
013dc89f
DM
18753 "type" : "string",
18754 "typetext" : "<string>"
7aacca6f 18755 },
56122987 18756 "online" : {
56122987 18757 "description" : "Use online/live migration.",
44660702 18758 "optional" : 1,
013dc89f
DM
18759 "type" : "boolean",
18760 "typetext" : "<boolean>"
56122987 18761 },
6875b729
DM
18762 "restart" : {
18763 "description" : "Use restart migration",
18764 "optional" : 1,
18765 "type" : "boolean",
18766 "typetext" : "<boolean>"
18767 },
44660702
DM
18768 "target" : {
18769 "description" : "Target node.",
56122987 18770 "format" : "pve-node",
013dc89f
DM
18771 "type" : "string",
18772 "typetext" : "<string>"
56122987 18773 },
6875b729
DM
18774 "timeout" : {
18775 "default" : 180,
18776 "description" : "Timeout in seconds for shutdown for restart migration",
18777 "optional" : 1,
18778 "type" : "integer",
18779 "typetext" : "<integer>"
18780 },
44660702
DM
18781 "vmid" : {
18782 "description" : "The (unique) ID of the VM.",
18783 "format" : "pve-vmid",
18784 "minimum" : 1,
4bd7df8b 18785 "type" : "integer",
013dc89f 18786 "typetext" : "<integer> (1 - N)"
56122987 18787 }
44660702 18788 }
7aacca6f 18789 },
56122987
DM
18790 "permissions" : {
18791 "check" : [
18792 "perm",
18793 "/vms/{vmid}",
18794 [
18795 "VM.Migrate"
18796 ]
18797 ]
18798 },
44660702 18799 "protected" : 1,
7aacca6f 18800 "proxyto" : "node",
44660702
DM
18801 "returns" : {
18802 "description" : "the task ID.",
18803 "type" : "string"
18804 }
56122987
DM
18805 }
18806 },
44660702
DM
18807 "leaf" : 1,
18808 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 18809 "text" : "migrate"
56122987
DM
18810 },
18811 {
56122987
DM
18812 "info" : {
18813 "GET" : {
44660702
DM
18814 "description" : "Check if feature for virtual machine is available.",
18815 "method" : "GET",
56122987 18816 "name" : "vm_feature",
56122987 18817 "parameters" : {
7aacca6f 18818 "additionalProperties" : 0,
56122987 18819 "properties" : {
44660702
DM
18820 "feature" : {
18821 "description" : "Feature to check.",
18822 "enum" : [
27a7acb2
DM
18823 "snapshot",
18824 "clone",
18825 "copy"
44660702
DM
18826 ],
18827 "type" : "string"
18828 },
7aacca6f 18829 "node" : {
44660702 18830 "description" : "The cluster node name.",
7aacca6f 18831 "format" : "pve-node",
013dc89f
DM
18832 "type" : "string",
18833 "typetext" : "<string>"
7aacca6f 18834 },
56122987 18835 "snapname" : {
7aacca6f
DM
18836 "description" : "The name of the snapshot.",
18837 "format" : "pve-configid",
44660702
DM
18838 "maxLength" : 40,
18839 "optional" : 1,
013dc89f
DM
18840 "type" : "string",
18841 "typetext" : "<string>"
56122987
DM
18842 },
18843 "vmid" : {
7aacca6f 18844 "description" : "The (unique) ID of the VM.",
44660702 18845 "format" : "pve-vmid",
7aacca6f 18846 "minimum" : 1,
4bd7df8b 18847 "type" : "integer",
013dc89f 18848 "typetext" : "<integer> (1 - N)"
56122987 18849 }
7aacca6f 18850 }
56122987
DM
18851 },
18852 "permissions" : {
18853 "check" : [
18854 "perm",
18855 "/vms/{vmid}",
18856 [
18857 "VM.Audit"
18858 ]
18859 ]
18860 },
44660702 18861 "protected" : 1,
7aacca6f 18862 "proxyto" : "node",
7aacca6f
DM
18863 "returns" : {
18864 "properties" : {
18865 "hasFeature" : {
18866 "type" : "boolean"
18867 }
18868 },
18869 "type" : "object"
18870 }
56122987
DM
18871 }
18872 },
7aacca6f 18873 "leaf" : 1,
44660702
DM
18874 "path" : "/nodes/{node}/lxc/{vmid}/feature",
18875 "text" : "feature"
56122987
DM
18876 },
18877 {
56122987
DM
18878 "info" : {
18879 "POST" : {
44660702
DM
18880 "description" : "Create a Template.",
18881 "method" : "POST",
56122987 18882 "name" : "template",
56122987
DM
18883 "parameters" : {
18884 "additionalProperties" : 0,
18885 "properties" : {
7aacca6f 18886 "node" : {
7aacca6f 18887 "description" : "The cluster node name.",
44660702 18888 "format" : "pve-node",
013dc89f
DM
18889 "type" : "string",
18890 "typetext" : "<string>"
56122987 18891 },
44660702
DM
18892 "vmid" : {
18893 "description" : "The (unique) ID of the VM.",
18894 "format" : "pve-vmid",
18895 "minimum" : 1,
4bd7df8b 18896 "type" : "integer",
013dc89f 18897 "typetext" : "<integer> (1 - N)"
56122987
DM
18898 }
18899 }
18900 },
56122987 18901 "permissions" : {
56122987
DM
18902 "check" : [
18903 "perm",
18904 "/vms/{vmid}",
18905 [
18906 "VM.Allocate"
18907 ]
44660702
DM
18908 ],
18909 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 18910 },
44660702 18911 "protected" : 1,
7aacca6f
DM
18912 "proxyto" : "node",
18913 "returns" : {
18914 "type" : "null"
56122987
DM
18915 }
18916 }
18917 },
44660702 18918 "leaf" : 1,
7aacca6f 18919 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 18920 "text" : "template"
56122987
DM
18921 },
18922 {
56122987
DM
18923 "info" : {
18924 "POST" : {
44660702
DM
18925 "description" : "Create a container clone/copy",
18926 "method" : "POST",
56122987 18927 "name" : "clone_vm",
7aacca6f
DM
18928 "parameters" : {
18929 "additionalProperties" : 0,
18930 "properties" : {
44660702
DM
18931 "description" : {
18932 "description" : "Description for the new CT.",
7aacca6f 18933 "optional" : 1,
013dc89f
DM
18934 "type" : "string",
18935 "typetext" : "<string>"
7aacca6f 18936 },
44660702 18937 "full" : {
27a7acb2 18938 "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 18939 "optional" : 1,
013dc89f
DM
18940 "type" : "boolean",
18941 "typetext" : "<boolean>"
7aacca6f
DM
18942 },
18943 "hostname" : {
44660702 18944 "description" : "Set a hostname for the new CT.",
7aacca6f 18945 "format" : "dns-name",
7aacca6f 18946 "optional" : 1,
013dc89f
DM
18947 "type" : "string",
18948 "typetext" : "<string>"
7aacca6f 18949 },
44660702
DM
18950 "newid" : {
18951 "description" : "VMID for the clone.",
7aacca6f 18952 "format" : "pve-vmid",
44660702 18953 "minimum" : 1,
4bd7df8b 18954 "type" : "integer",
013dc89f 18955 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
18956 },
18957 "node" : {
18958 "description" : "The cluster node name.",
44660702 18959 "format" : "pve-node",
013dc89f
DM
18960 "type" : "string",
18961 "typetext" : "<string>"
44660702
DM
18962 },
18963 "pool" : {
18964 "description" : "Add the new CT to the specified pool.",
18965 "format" : "pve-poolid",
18966 "optional" : 1,
013dc89f
DM
18967 "type" : "string",
18968 "typetext" : "<string>"
7aacca6f
DM
18969 },
18970 "snapname" : {
44660702 18971 "description" : "The name of the snapshot.",
7aacca6f
DM
18972 "format" : "pve-configid",
18973 "maxLength" : 40,
7aacca6f 18974 "optional" : 1,
013dc89f
DM
18975 "type" : "string",
18976 "typetext" : "<string>"
7aacca6f
DM
18977 },
18978 "storage" : {
44660702 18979 "description" : "Target storage for full clone.",
7aacca6f
DM
18980 "format" : "pve-storage-id",
18981 "optional" : 1,
27a7acb2
DM
18982 "type" : "string",
18983 "typetext" : "<string>"
18984 },
18985 "target" : {
18986 "description" : "Target node. Only allowed if the original VM is on shared storage.",
18987 "format" : "pve-node",
18988 "optional" : 1,
013dc89f
DM
18989 "type" : "string",
18990 "typetext" : "<string>"
44660702
DM
18991 },
18992 "vmid" : {
18993 "description" : "The (unique) ID of the VM.",
18994 "format" : "pve-vmid",
18995 "minimum" : 1,
4bd7df8b 18996 "type" : "integer",
013dc89f 18997 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
18998 }
18999 }
56122987
DM
19000 },
19001 "permissions" : {
56122987
DM
19002 "check" : [
19003 "and",
19004 [
19005 "perm",
19006 "/vms/{vmid}",
19007 [
19008 "VM.Clone"
19009 ]
19010 ],
19011 [
19012 "or",
19013 [
19014 "perm",
19015 "/vms/{newid}",
19016 [
19017 "VM.Allocate"
19018 ]
19019 ],
19020 [
19021 "perm",
19022 "/pool/{pool}",
19023 [
19024 "VM.Allocate"
19025 ],
19026 "require_param",
19027 "pool"
19028 ]
19029 ]
7aacca6f
DM
19030 ],
19031 "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 19032 },
44660702 19033 "protected" : 1,
56122987 19034 "proxyto" : "node",
7aacca6f
DM
19035 "returns" : {
19036 "type" : "string"
56122987
DM
19037 }
19038 }
44660702
DM
19039 },
19040 "leaf" : 1,
19041 "path" : "/nodes/{node}/lxc/{vmid}/clone",
19042 "text" : "clone"
56122987
DM
19043 },
19044 {
56122987
DM
19045 "info" : {
19046 "PUT" : {
de0983cb 19047 "description" : "Resize a container mount point.",
44660702
DM
19048 "method" : "PUT",
19049 "name" : "resize_vm",
56122987 19050 "parameters" : {
44660702 19051 "additionalProperties" : 0,
56122987 19052 "properties" : {
44660702
DM
19053 "digest" : {
19054 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19055 "maxLength" : 40,
19056 "optional" : 1,
013dc89f
DM
19057 "type" : "string",
19058 "typetext" : "<string>"
56122987
DM
19059 },
19060 "disk" : {
7aacca6f 19061 "description" : "The disk you want to resize.",
56122987
DM
19062 "enum" : [
19063 "rootfs",
19064 "mp0",
19065 "mp1",
19066 "mp2",
19067 "mp3",
19068 "mp4",
19069 "mp5",
19070 "mp6",
19071 "mp7",
19072 "mp8",
19073 "mp9"
19074 ],
7aacca6f
DM
19075 "type" : "string"
19076 },
44660702
DM
19077 "node" : {
19078 "description" : "The cluster node name.",
19079 "format" : "pve-node",
013dc89f
DM
19080 "type" : "string",
19081 "typetext" : "<string>"
44660702
DM
19082 },
19083 "size" : {
19084 "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.",
19085 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
19086 "type" : "string"
19087 },
19088 "vmid" : {
19089 "description" : "The (unique) ID of the VM.",
19090 "format" : "pve-vmid",
19091 "minimum" : 1,
4bd7df8b 19092 "type" : "integer",
013dc89f 19093 "typetext" : "<integer> (1 - N)"
56122987 19094 }
44660702 19095 }
56122987 19096 },
7aacca6f
DM
19097 "permissions" : {
19098 "check" : [
19099 "perm",
19100 "/vms/{vmid}",
19101 [
19102 "VM.Config.Disk"
19103 ],
19104 "any",
19105 1
19106 ]
19107 },
44660702 19108 "protected" : 1,
7aacca6f
DM
19109 "proxyto" : "node",
19110 "returns" : {
19111 "description" : "the task ID.",
19112 "type" : "string"
19113 }
56122987
DM
19114 }
19115 },
44660702 19116 "leaf" : 1,
7aacca6f 19117 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 19118 "text" : "resize"
27a7acb2
DM
19119 },
19120 {
19121 "info" : {
19122 "POST" : {
19123 "description" : "Move a rootfs-/mp-volume to a different storage",
19124 "method" : "POST",
19125 "name" : "move_volume",
19126 "parameters" : {
19127 "additionalProperties" : 0,
19128 "properties" : {
19129 "delete" : {
19130 "default" : 0,
19131 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
19132 "optional" : 1,
19133 "type" : "boolean",
19134 "typetext" : "<boolean>"
19135 },
19136 "digest" : {
19137 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
19138 "maxLength" : 40,
19139 "optional" : 1,
19140 "type" : "string",
19141 "typetext" : "<string>"
19142 },
19143 "node" : {
19144 "description" : "The cluster node name.",
19145 "format" : "pve-node",
19146 "type" : "string",
19147 "typetext" : "<string>"
19148 },
19149 "storage" : {
19150 "description" : "Target Storage.",
19151 "format" : "pve-storage-id",
19152 "type" : "string",
19153 "typetext" : "<string>"
19154 },
19155 "vmid" : {
19156 "description" : "The (unique) ID of the VM.",
19157 "format" : "pve-vmid",
19158 "minimum" : 1,
19159 "type" : "integer",
19160 "typetext" : "<integer> (1 - N)"
19161 },
19162 "volume" : {
19163 "description" : "Volume which will be moved.",
19164 "enum" : [
19165 "rootfs",
19166 "mp0",
19167 "mp1",
19168 "mp2",
19169 "mp3",
19170 "mp4",
19171 "mp5",
19172 "mp6",
19173 "mp7",
19174 "mp8",
19175 "mp9"
19176 ],
19177 "type" : "string"
19178 }
19179 }
19180 },
19181 "permissions" : {
19182 "check" : [
19183 "and",
19184 [
19185 "perm",
19186 "/vms/{vmid}",
19187 [
19188 "VM.Config.Disk"
19189 ]
19190 ],
19191 [
19192 "perm",
19193 "/storage/{storage}",
19194 [
19195 "Datastore.AllocateSpace"
19196 ]
19197 ]
19198 ],
19199 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
19200 },
19201 "protected" : 1,
19202 "proxyto" : "node",
19203 "returns" : {
19204 "type" : "string"
19205 }
19206 }
19207 },
19208 "leaf" : 1,
19209 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
19210 "text" : "move_volume"
56122987
DM
19211 }
19212 ],
19213 "info" : {
19214 "DELETE" : {
7aacca6f 19215 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
19216 "method" : "DELETE",
19217 "name" : "destroy_vm",
19218 "parameters" : {
19219 "additionalProperties" : 0,
19220 "properties" : {
19221 "node" : {
19222 "description" : "The cluster node name.",
19223 "format" : "pve-node",
013dc89f
DM
19224 "type" : "string",
19225 "typetext" : "<string>"
44660702
DM
19226 },
19227 "vmid" : {
19228 "description" : "The (unique) ID of the VM.",
19229 "format" : "pve-vmid",
19230 "minimum" : 1,
4bd7df8b 19231 "type" : "integer",
013dc89f 19232 "typetext" : "<integer> (1 - N)"
44660702
DM
19233 }
19234 }
19235 },
7aacca6f
DM
19236 "permissions" : {
19237 "check" : [
19238 "perm",
19239 "/vms/{vmid}",
19240 [
19241 "VM.Allocate"
19242 ]
19243 ]
19244 },
44660702
DM
19245 "protected" : 1,
19246 "proxyto" : "node",
56122987
DM
19247 "returns" : {
19248 "type" : "string"
44660702 19249 }
56122987
DM
19250 },
19251 "GET" : {
7aacca6f 19252 "description" : "Directory index",
44660702 19253 "method" : "GET",
7aacca6f 19254 "name" : "vmdiridx",
56122987 19255 "parameters" : {
7aacca6f 19256 "additionalProperties" : 0,
56122987
DM
19257 "properties" : {
19258 "node" : {
7aacca6f 19259 "description" : "The cluster node name.",
44660702 19260 "format" : "pve-node",
013dc89f
DM
19261 "type" : "string",
19262 "typetext" : "<string>"
56122987
DM
19263 },
19264 "vmid" : {
19265 "description" : "The (unique) ID of the VM.",
56122987 19266 "format" : "pve-vmid",
44660702 19267 "minimum" : 1,
4bd7df8b 19268 "type" : "integer",
013dc89f 19269 "typetext" : "<integer> (1 - N)"
56122987 19270 }
7aacca6f 19271 }
56122987 19272 },
56122987
DM
19273 "permissions" : {
19274 "user" : "all"
44660702
DM
19275 },
19276 "proxyto" : "node",
19277 "returns" : {
19278 "items" : {
19279 "properties" : {
19280 "subdir" : {
19281 "type" : "string"
19282 }
19283 },
19284 "type" : "object"
19285 },
19286 "links" : [
19287 {
19288 "href" : "{subdir}",
19289 "rel" : "child"
19290 }
19291 ],
19292 "type" : "array"
56122987
DM
19293 }
19294 }
44660702
DM
19295 },
19296 "leaf" : 0,
19297 "path" : "/nodes/{node}/lxc/{vmid}",
19298 "text" : "{vmid}"
56122987
DM
19299 }
19300 ],
56122987 19301 "info" : {
44660702
DM
19302 "GET" : {
19303 "description" : "LXC container index (per node).",
19304 "method" : "GET",
19305 "name" : "vmlist",
19306 "parameters" : {
19307 "additionalProperties" : 0,
19308 "properties" : {
19309 "node" : {
19310 "description" : "The cluster node name.",
19311 "format" : "pve-node",
013dc89f
DM
19312 "type" : "string",
19313 "typetext" : "<string>"
44660702
DM
19314 }
19315 }
19316 },
19317 "permissions" : {
19318 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
19319 "user" : "all"
19320 },
19321 "protected" : 1,
19322 "proxyto" : "node",
19323 "returns" : {
19324 "items" : {
19325 "properties" : {},
19326 "type" : "object"
19327 },
19328 "links" : [
19329 {
19330 "href" : "{vmid}",
19331 "rel" : "child"
19332 }
19333 ],
19334 "type" : "array"
19335 }
19336 },
56122987 19337 "POST" : {
44660702 19338 "description" : "Create or restore a container.",
7aacca6f
DM
19339 "method" : "POST",
19340 "name" : "create_vm",
56122987 19341 "parameters" : {
7aacca6f 19342 "additionalProperties" : 0,
56122987 19343 "properties" : {
44660702
DM
19344 "arch" : {
19345 "default" : "amd64",
19346 "description" : "OS architecture type.",
19347 "enum" : [
19348 "amd64",
19349 "i386"
19350 ],
7aacca6f 19351 "optional" : 1,
44660702 19352 "type" : "string"
7aacca6f 19353 },
27a7acb2
DM
19354 "bwlimit" : {
19355 "description" : "Override i/o bandwidth limit (in KiB/s).",
19356 "minimum" : "0",
19357 "optional" : 1,
19358 "type" : "number",
19359 "typetext" : "<number> (0 - N)"
19360 },
44660702
DM
19361 "cmode" : {
19362 "default" : "tty",
19363 "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).",
19364 "enum" : [
19365 "shell",
19366 "console",
19367 "tty"
19368 ],
7aacca6f 19369 "optional" : 1,
44660702 19370 "type" : "string"
7aacca6f
DM
19371 },
19372 "console" : {
7aacca6f 19373 "default" : 1,
44660702 19374 "description" : "Attach a console device (/dev/console) to the container.",
56122987 19375 "optional" : 1,
013dc89f
DM
19376 "type" : "boolean",
19377 "typetext" : "<boolean>"
56122987 19378 },
de0983cb
DM
19379 "cores" : {
19380 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
19381 "maximum" : 128,
19382 "minimum" : 1,
19383 "optional" : 1,
19384 "type" : "integer",
013dc89f 19385 "typetext" : "<integer> (1 - 128)"
de0983cb 19386 },
44660702
DM
19387 "cpulimit" : {
19388 "default" : 0,
19389 "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.",
19390 "maximum" : 128,
19391 "minimum" : 0,
56122987 19392 "optional" : 1,
4bd7df8b 19393 "type" : "number",
013dc89f 19394 "typetext" : "<number> (0 - 128)"
56122987 19395 },
44660702
DM
19396 "cpuunits" : {
19397 "default" : 1024,
19398 "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.",
19399 "maximum" : 500000,
19400 "minimum" : 0,
56122987 19401 "optional" : 1,
4bd7df8b 19402 "type" : "integer",
013dc89f 19403 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
19404 },
19405 "description" : {
44660702 19406 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 19407 "optional" : 1,
013dc89f
DM
19408 "type" : "string",
19409 "typetext" : "<string>"
7aacca6f 19410 },
44660702
DM
19411 "force" : {
19412 "description" : "Allow to overwrite existing container.",
7aacca6f 19413 "optional" : 1,
013dc89f
DM
19414 "type" : "boolean",
19415 "typetext" : "<boolean>"
44660702
DM
19416 },
19417 "hostname" : {
19418 "description" : "Set a host name for the container.",
19419 "format" : "dns-name",
19420 "maxLength" : 255,
19421 "optional" : 1,
013dc89f
DM
19422 "type" : "string",
19423 "typetext" : "<string>"
44660702
DM
19424 },
19425 "ignore-unpack-errors" : {
19426 "description" : "Ignore errors when extracting the template.",
19427 "optional" : 1,
013dc89f
DM
19428 "type" : "boolean",
19429 "typetext" : "<boolean>"
44660702
DM
19430 },
19431 "lock" : {
19432 "description" : "Lock/unlock the VM.",
7aacca6f
DM
19433 "enum" : [
19434 "migrate",
19435 "backup",
19436 "snapshot",
19437 "rollback"
19438 ],
44660702
DM
19439 "optional" : 1,
19440 "type" : "string"
7aacca6f 19441 },
44660702
DM
19442 "memory" : {
19443 "default" : 512,
19444 "description" : "Amount of RAM for the VM in MB.",
19445 "minimum" : 16,
7aacca6f 19446 "optional" : 1,
4bd7df8b 19447 "type" : "integer",
013dc89f 19448 "typetext" : "<integer> (16 - N)"
44660702
DM
19449 },
19450 "mp[n]" : {
c2993fe5 19451 "description" : "Use volume as container mount point.",
56122987 19452 "format" : {
7aacca6f
DM
19453 "acl" : {
19454 "description" : "Explicitly enable or disable ACL support.",
19455 "optional" : 1,
44660702 19456 "type" : "boolean"
56122987
DM
19457 },
19458 "backup" : {
de0983cb 19459 "description" : "Whether to include the mount point in backups.",
44660702 19460 "optional" : 1,
4bd7df8b 19461 "type" : "boolean",
de0983cb 19462 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
19463 },
19464 "mp" : {
de0983cb 19465 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
19466 "format" : "pve-lxc-mp-string",
19467 "format_description" : "Path",
4bd7df8b 19468 "type" : "string",
de0983cb 19469 "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
19470 },
19471 "quota" : {
19472 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 19473 "optional" : 1,
44660702
DM
19474 "type" : "boolean"
19475 },
5d9c884c
DM
19476 "replicate" : {
19477 "default" : 1,
19478 "description" : "Will include this volume to a storage replica job.",
19479 "optional" : 1,
19480 "type" : "boolean"
19481 },
44660702 19482 "ro" : {
de0983cb 19483 "description" : "Read-only mount point",
44660702
DM
19484 "optional" : 1,
19485 "type" : "boolean"
7aacca6f 19486 },
de0983cb
DM
19487 "shared" : {
19488 "default" : 0,
19489 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19490 "optional" : 1,
19491 "type" : "boolean",
19492 "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!"
19493 },
7aacca6f 19494 "size" : {
44660702 19495 "description" : "Volume size (read only value).",
7aacca6f
DM
19496 "format" : "disk-size",
19497 "format_description" : "DiskSize",
7aacca6f
DM
19498 "optional" : 1,
19499 "type" : "string"
56122987
DM
19500 },
19501 "volume" : {
7aacca6f 19502 "default_key" : 1,
44660702 19503 "description" : "Volume, device or directory to mount into the container.",
56122987 19504 "format" : "pve-lxc-mp-string",
56122987 19505 "format_description" : "volume",
44660702 19506 "type" : "string"
56122987 19507 }
44660702 19508 },
56122987 19509 "optional" : 1,
4bd7df8b 19510 "type" : "string",
5d9c884c 19511 "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 19512 },
44660702
DM
19513 "nameserver" : {
19514 "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.",
19515 "format" : "address-list",
56122987 19516 "optional" : 1,
013dc89f
DM
19517 "type" : "string",
19518 "typetext" : "<string>"
56122987 19519 },
44660702
DM
19520 "net[n]" : {
19521 "description" : "Specifies network interfaces for the container.",
7aacca6f 19522 "format" : {
44660702
DM
19523 "bridge" : {
19524 "description" : "Bridge to attach the network device to.",
f004f5b9 19525 "format_description" : "bridge",
7aacca6f 19526 "optional" : 1,
44660702
DM
19527 "pattern" : "[-_.\\w\\d]+",
19528 "type" : "string"
7aacca6f 19529 },
44660702
DM
19530 "firewall" : {
19531 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 19532 "optional" : 1,
44660702 19533 "type" : "boolean"
7aacca6f 19534 },
44660702
DM
19535 "gw" : {
19536 "description" : "Default gateway for IPv4 traffic.",
19537 "format" : "ipv4",
19538 "format_description" : "GatewayIPv4",
7aacca6f 19539 "optional" : 1,
44660702 19540 "type" : "string"
7aacca6f 19541 },
44660702
DM
19542 "gw6" : {
19543 "description" : "Default gateway for IPv6 traffic.",
19544 "format" : "ipv6",
19545 "format_description" : "GatewayIPv6",
19546 "optional" : 1,
19547 "type" : "string"
7aacca6f 19548 },
44660702 19549 "hwaddr" : {
f004f5b9
DM
19550 "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)",
19551 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
19552 "optional" : 1,
19553 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
19554 "type" : "string"
19555 },
44660702
DM
19556 "ip" : {
19557 "description" : "IPv4 address in CIDR format.",
19558 "format" : "pve-ipv4-config",
2489d6df 19559 "format_description" : "(IPv4/CIDR|dhcp|manual)",
7aacca6f 19560 "optional" : 1,
44660702 19561 "type" : "string"
7aacca6f 19562 },
44660702
DM
19563 "ip6" : {
19564 "description" : "IPv6 address in CIDR format.",
19565 "format" : "pve-ipv6-config",
2489d6df 19566 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
44660702
DM
19567 "optional" : 1,
19568 "type" : "string"
19569 },
19570 "mtu" : {
19571 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
19572 "minimum" : 64,
19573 "optional" : 1,
19574 "type" : "integer"
19575 },
19576 "name" : {
19577 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 19578 "format_description" : "string",
44660702
DM
19579 "pattern" : "[-_.\\w\\d]+",
19580 "type" : "string"
19581 },
19582 "rate" : {
19583 "description" : "Apply rate limiting to the interface",
19584 "format_description" : "mbps",
19585 "optional" : 1,
19586 "type" : "number"
19587 },
19588 "tag" : {
19589 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
19590 "maximum" : 4094,
19591 "minimum" : 1,
44660702
DM
19592 "optional" : 1,
19593 "type" : "integer"
19594 },
19595 "trunks" : {
19596 "description" : "VLAN ids to pass through the interface",
19597 "format_description" : "vlanid[;vlanid...]",
19598 "optional" : 1,
19599 "pattern" : "(?^:\\d+(?:;\\d+)*)",
19600 "type" : "string"
19601 },
19602 "type" : {
19603 "description" : "Network interface type.",
19604 "enum" : [
19605 "veth"
19606 ],
19607 "optional" : 1,
19608 "type" : "string"
7aacca6f
DM
19609 }
19610 },
56122987 19611 "optional" : 1,
4bd7df8b 19612 "type" : "string",
2489d6df 19613 "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 19614 },
44660702
DM
19615 "node" : {
19616 "description" : "The cluster node name.",
19617 "format" : "pve-node",
013dc89f
DM
19618 "type" : "string",
19619 "typetext" : "<string>"
56122987 19620 },
44660702
DM
19621 "onboot" : {
19622 "default" : 0,
19623 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 19624 "optional" : 1,
013dc89f
DM
19625 "type" : "boolean",
19626 "typetext" : "<boolean>"
44660702
DM
19627 },
19628 "ostemplate" : {
19629 "description" : "The OS template or backup file.",
19630 "maxLength" : 255,
013dc89f
DM
19631 "type" : "string",
19632 "typetext" : "<string>"
56122987
DM
19633 },
19634 "ostype" : {
7aacca6f 19635 "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
19636 "enum" : [
19637 "debian",
19638 "ubuntu",
19639 "centos",
19640 "fedora",
19641 "opensuse",
19642 "archlinux",
19643 "alpine",
57b78691 19644 "gentoo",
56122987 19645 "unmanaged"
44660702 19646 ],
56122987 19647 "optional" : 1,
7aacca6f 19648 "type" : "string"
56122987 19649 },
44660702
DM
19650 "password" : {
19651 "description" : "Sets root password inside container.",
19652 "minLength" : 5,
7aacca6f 19653 "optional" : 1,
013dc89f
DM
19654 "type" : "string",
19655 "typetext" : "<string>"
7aacca6f 19656 },
44660702
DM
19657 "pool" : {
19658 "description" : "Add the VM to the specified pool.",
19659 "format" : "pve-poolid",
7aacca6f 19660 "optional" : 1,
013dc89f
DM
19661 "type" : "string",
19662 "typetext" : "<string>"
7aacca6f 19663 },
44660702
DM
19664 "protection" : {
19665 "default" : 0,
19666 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 19667 "optional" : 1,
013dc89f
DM
19668 "type" : "boolean",
19669 "typetext" : "<boolean>"
7aacca6f 19670 },
44660702
DM
19671 "restore" : {
19672 "description" : "Mark this as restore task.",
19673 "optional" : 1,
013dc89f
DM
19674 "type" : "boolean",
19675 "typetext" : "<boolean>"
7aacca6f 19676 },
44660702
DM
19677 "rootfs" : {
19678 "description" : "Use volume as container root.",
56122987 19679 "format" : {
44660702
DM
19680 "acl" : {
19681 "description" : "Explicitly enable or disable ACL support.",
56122987 19682 "optional" : 1,
44660702 19683 "type" : "boolean"
56122987 19684 },
44660702
DM
19685 "quota" : {
19686 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 19687 "optional" : 1,
44660702 19688 "type" : "boolean"
7aacca6f 19689 },
5d9c884c
DM
19690 "replicate" : {
19691 "default" : 1,
19692 "description" : "Will include this volume to a storage replica job.",
19693 "optional" : 1,
19694 "type" : "boolean"
19695 },
44660702 19696 "ro" : {
de0983cb 19697 "description" : "Read-only mount point",
7aacca6f 19698 "optional" : 1,
44660702 19699 "type" : "boolean"
7aacca6f 19700 },
de0983cb
DM
19701 "shared" : {
19702 "default" : 0,
19703 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
19704 "optional" : 1,
19705 "type" : "boolean",
19706 "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!"
19707 },
44660702
DM
19708 "size" : {
19709 "description" : "Volume size (read only value).",
19710 "format" : "disk-size",
19711 "format_description" : "DiskSize",
7aacca6f
DM
19712 "optional" : 1,
19713 "type" : "string"
19714 },
44660702
DM
19715 "volume" : {
19716 "default_key" : 1,
19717 "description" : "Volume, device or directory to mount into the container.",
19718 "format" : "pve-lxc-mp-string",
19719 "format_description" : "volume",
19720 "type" : "string"
56122987 19721 }
7aacca6f 19722 },
7aacca6f 19723 "optional" : 1,
4bd7df8b 19724 "type" : "string",
5d9c884c 19725 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
19726 },
19727 "searchdomain" : {
19728 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
19729 "format" : "dns-name-list",
19730 "optional" : 1,
013dc89f
DM
19731 "type" : "string",
19732 "typetext" : "<string>"
44660702
DM
19733 },
19734 "ssh-public-keys" : {
19735 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
19736 "optional" : 1,
013dc89f
DM
19737 "type" : "string",
19738 "typetext" : "<string>"
44660702
DM
19739 },
19740 "startup" : {
19741 "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.",
19742 "format" : "pve-startup-order",
19743 "optional" : 1,
7aacca6f 19744 "type" : "string",
44660702 19745 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 19746 },
44660702
DM
19747 "storage" : {
19748 "default" : "local",
19749 "description" : "Default Storage.",
19750 "format" : "pve-storage-id",
19751 "optional" : 1,
013dc89f
DM
19752 "type" : "string",
19753 "typetext" : "<string>"
7aacca6f 19754 },
44660702
DM
19755 "swap" : {
19756 "default" : 512,
19757 "description" : "Amount of SWAP for the VM in MB.",
19758 "minimum" : 0,
19759 "optional" : 1,
4bd7df8b 19760 "type" : "integer",
013dc89f 19761 "typetext" : "<integer> (0 - N)"
44660702
DM
19762 },
19763 "template" : {
19764 "default" : 0,
19765 "description" : "Enable/disable Template.",
19766 "optional" : 1,
013dc89f
DM
19767 "type" : "boolean",
19768 "typetext" : "<boolean>"
7aacca6f 19769 },
44660702
DM
19770 "tty" : {
19771 "default" : 2,
19772 "description" : "Specify the number of tty available to the container",
19773 "maximum" : 6,
19774 "minimum" : 0,
19775 "optional" : 1,
4bd7df8b 19776 "type" : "integer",
013dc89f 19777 "typetext" : "<integer> (0 - 6)"
7aacca6f 19778 },
44660702
DM
19779 "unprivileged" : {
19780 "default" : 0,
19781 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
19782 "optional" : 1,
013dc89f
DM
19783 "type" : "boolean",
19784 "typetext" : "<boolean>"
44660702
DM
19785 },
19786 "unused[n]" : {
c2993fe5 19787 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
19788 "format" : "pve-volume-id",
19789 "optional" : 1,
013dc89f
DM
19790 "type" : "string",
19791 "typetext" : "<string>"
44660702
DM
19792 },
19793 "vmid" : {
19794 "description" : "The (unique) ID of the VM.",
19795 "format" : "pve-vmid",
19796 "minimum" : 1,
4bd7df8b 19797 "type" : "integer",
013dc89f 19798 "typetext" : "<integer> (1 - N)"
44660702 19799 }
7aacca6f
DM
19800 }
19801 },
44660702
DM
19802 "permissions" : {
19803 "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.",
19804 "user" : "all"
19805 },
19806 "protected" : 1,
19807 "proxyto" : "node",
19808 "returns" : {
19809 "type" : "string"
19810 }
19811 }
19812 },
19813 "leaf" : 0,
19814 "path" : "/nodes/{node}/lxc",
19815 "text" : "lxc"
19816 },
19817 {
19818 "children" : [
19819 {
56122987
DM
19820 "children" : [
19821 {
7aacca6f
DM
19822 "children" : [
19823 {
7aacca6f
DM
19824 "info" : {
19825 "POST" : {
44660702
DM
19826 "description" : "ceph osd in",
19827 "method" : "POST",
19828 "name" : "in",
19829 "parameters" : {
19830 "additionalProperties" : 0,
19831 "properties" : {
19832 "node" : {
19833 "description" : "The cluster node name.",
19834 "format" : "pve-node",
013dc89f
DM
19835 "type" : "string",
19836 "typetext" : "<string>"
44660702
DM
19837 },
19838 "osdid" : {
19839 "description" : "OSD ID",
013dc89f
DM
19840 "type" : "integer",
19841 "typetext" : "<integer>"
44660702
DM
19842 }
19843 }
19844 },
56122987
DM
19845 "permissions" : {
19846 "check" : [
19847 "perm",
19848 "/",
19849 [
19850 "Sys.Modify"
19851 ]
19852 ]
7aacca6f 19853 },
44660702 19854 "protected" : 1,
7aacca6f
DM
19855 "proxyto" : "node",
19856 "returns" : {
19857 "type" : "null"
44660702 19858 }
56122987
DM
19859 }
19860 },
44660702 19861 "leaf" : 1,
7aacca6f 19862 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 19863 "text" : "in"
56122987
DM
19864 },
19865 {
56122987
DM
19866 "info" : {
19867 "POST" : {
44660702
DM
19868 "description" : "ceph osd out",
19869 "method" : "POST",
19870 "name" : "out",
19871 "parameters" : {
19872 "additionalProperties" : 0,
19873 "properties" : {
19874 "node" : {
19875 "description" : "The cluster node name.",
19876 "format" : "pve-node",
013dc89f
DM
19877 "type" : "string",
19878 "typetext" : "<string>"
44660702
DM
19879 },
19880 "osdid" : {
19881 "description" : "OSD ID",
013dc89f
DM
19882 "type" : "integer",
19883 "typetext" : "<integer>"
44660702
DM
19884 }
19885 }
19886 },
56122987
DM
19887 "permissions" : {
19888 "check" : [
19889 "perm",
19890 "/",
19891 [
19892 "Sys.Modify"
19893 ]
19894 ]
19895 },
44660702 19896 "protected" : 1,
56122987 19897 "proxyto" : "node",
7aacca6f
DM
19898 "returns" : {
19899 "type" : "null"
44660702
DM
19900 }
19901 }
19902 },
19903 "leaf" : 1,
19904 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
19905 "text" : "out"
19906 }
19907 ],
19908 "info" : {
19909 "DELETE" : {
19910 "description" : "Destroy OSD",
19911 "method" : "DELETE",
19912 "name" : "destroyosd",
19913 "parameters" : {
19914 "additionalProperties" : 0,
19915 "properties" : {
19916 "cleanup" : {
19917 "default" : 0,
19918 "description" : "If set, we remove partition table entries.",
19919 "optional" : 1,
013dc89f
DM
19920 "type" : "boolean",
19921 "typetext" : "<boolean>"
7aacca6f 19922 },
44660702
DM
19923 "node" : {
19924 "description" : "The cluster node name.",
19925 "format" : "pve-node",
013dc89f
DM
19926 "type" : "string",
19927 "typetext" : "<string>"
56122987 19928 },
44660702
DM
19929 "osdid" : {
19930 "description" : "OSD ID",
013dc89f
DM
19931 "type" : "integer",
19932 "typetext" : "<integer>"
44660702 19933 }
56122987
DM
19934 }
19935 },
44660702
DM
19936 "protected" : 1,
19937 "proxyto" : "node",
19938 "returns" : {
19939 "type" : "string"
19940 }
19941 }
19942 },
19943 "leaf" : 0,
19944 "path" : "/nodes/{node}/ceph/osd/{osdid}",
19945 "text" : "{osdid}"
19946 }
19947 ],
19948 "info" : {
19949 "GET" : {
19950 "description" : "Get Ceph osd list/tree.",
19951 "method" : "GET",
19952 "name" : "index",
19953 "parameters" : {
19954 "additionalProperties" : 0,
19955 "properties" : {
19956 "node" : {
19957 "description" : "The cluster node name.",
19958 "format" : "pve-node",
013dc89f
DM
19959 "type" : "string",
19960 "typetext" : "<string>"
44660702
DM
19961 }
19962 }
19963 },
19964 "permissions" : {
19965 "check" : [
19966 "perm",
19967 "/",
19968 [
19969 "Sys.Audit",
19970 "Datastore.Audit"
19971 ],
19972 "any",
19973 1
19974 ]
19975 },
19976 "protected" : 1,
19977 "proxyto" : "node",
19978 "returns" : {
19979 "type" : "object"
19980 }
19981 },
19982 "POST" : {
19983 "description" : "Create OSD",
19984 "method" : "POST",
19985 "name" : "createosd",
19986 "parameters" : {
19987 "additionalProperties" : 0,
19988 "properties" : {
5d9c884c 19989 "bluestore" : {
35a75dd3
DM
19990 "default" : 1,
19991 "description" : "Use bluestore instead of filestore. This is the default.",
5d9c884c
DM
19992 "optional" : 1,
19993 "type" : "boolean",
19994 "typetext" : "<boolean>"
19995 },
44660702
DM
19996 "dev" : {
19997 "description" : "Block device name.",
013dc89f
DM
19998 "type" : "string",
19999 "typetext" : "<string>"
44660702
DM
20000 },
20001 "fstype" : {
20002 "default" : "xfs",
5d9c884c 20003 "description" : "File system type (filestore only).",
44660702
DM
20004 "enum" : [
20005 "xfs",
20006 "ext4",
20007 "btrfs"
20008 ],
20009 "optional" : 1,
20010 "type" : "string"
20011 },
20012 "journal_dev" : {
2489d6df 20013 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
44660702 20014 "optional" : 1,
013dc89f
DM
20015 "type" : "string",
20016 "typetext" : "<string>"
44660702
DM
20017 },
20018 "node" : {
20019 "description" : "The cluster node name.",
20020 "format" : "pve-node",
013dc89f
DM
20021 "type" : "string",
20022 "typetext" : "<string>"
2489d6df
WB
20023 },
20024 "wal_dev" : {
20025 "description" : "Block device name for block.wal (bluestore only).",
20026 "optional" : 1,
20027 "type" : "string",
20028 "typetext" : "<string>"
44660702 20029 }
56122987 20030 }
44660702
DM
20031 },
20032 "protected" : 1,
20033 "proxyto" : "node",
20034 "returns" : {
20035 "type" : "string"
20036 }
56122987 20037 }
44660702 20038 },
7aacca6f 20039 "leaf" : 0,
44660702
DM
20040 "path" : "/nodes/{node}/ceph/osd",
20041 "text" : "osd"
7aacca6f
DM
20042 },
20043 {
56122987
DM
20044 "info" : {
20045 "GET" : {
7aacca6f 20046 "description" : "List local disks.",
44660702
DM
20047 "method" : "GET",
20048 "name" : "disks",
20049 "parameters" : {
20050 "additionalProperties" : 0,
20051 "properties" : {
20052 "node" : {
20053 "description" : "The cluster node name.",
20054 "format" : "pve-node",
013dc89f
DM
20055 "type" : "string",
20056 "typetext" : "<string>"
44660702
DM
20057 },
20058 "type" : {
20059 "description" : "Only list specific types of disks.",
20060 "enum" : [
20061 "unused",
20062 "journal_disks"
20063 ],
20064 "optional" : 1,
20065 "type" : "string"
20066 }
20067 }
20068 },
56122987
DM
20069 "permissions" : {
20070 "check" : [
20071 "perm",
20072 "/",
20073 [
20074 "Sys.Audit",
20075 "Datastore.Audit"
20076 ],
20077 "any",
20078 1
20079 ]
7aacca6f 20080 },
44660702
DM
20081 "protected" : 1,
20082 "proxyto" : "node",
56122987 20083 "returns" : {
7aacca6f
DM
20084 "items" : {
20085 "properties" : {
44660702
DM
20086 "dev" : {
20087 "type" : "string"
20088 },
20089 "gpt" : {
20090 "type" : "boolean"
20091 },
20092 "model" : {
20093 "optional" : 1,
20094 "type" : "string"
7aacca6f
DM
20095 },
20096 "osdid" : {
20097 "type" : "integer"
20098 },
20099 "serial" : {
7aacca6f
DM
20100 "optional" : 1,
20101 "type" : "string"
20102 },
20103 "size" : {
20104 "type" : "integer"
20105 },
44660702
DM
20106 "used" : {
20107 "optional" : 1,
7aacca6f
DM
20108 "type" : "string"
20109 },
44660702
DM
20110 "vendor" : {
20111 "optional" : 1,
20112 "type" : "string"
7aacca6f
DM
20113 }
20114 },
20115 "type" : "object"
44660702
DM
20116 },
20117 "type" : "array"
20118 }
56122987 20119 }
44660702
DM
20120 },
20121 "leaf" : 1,
20122 "path" : "/nodes/{node}/ceph/disks",
20123 "text" : "disks"
56122987
DM
20124 },
20125 {
56122987
DM
20126 "info" : {
20127 "GET" : {
7aacca6f 20128 "description" : "Get Ceph configuration.",
44660702
DM
20129 "method" : "GET",
20130 "name" : "config",
56122987 20131 "parameters" : {
7aacca6f 20132 "additionalProperties" : 0,
56122987 20133 "properties" : {
56122987 20134 "node" : {
7aacca6f 20135 "description" : "The cluster node name.",
44660702 20136 "format" : "pve-node",
013dc89f
DM
20137 "type" : "string",
20138 "typetext" : "<string>"
56122987 20139 }
7aacca6f 20140 }
56122987 20141 },
56122987
DM
20142 "permissions" : {
20143 "check" : [
20144 "perm",
20145 "/",
20146 [
20147 "Sys.Audit",
20148 "Datastore.Audit"
20149 ],
20150 "any",
20151 1
20152 ]
44660702
DM
20153 },
20154 "returns" : {
20155 "type" : "string"
7aacca6f
DM
20156 }
20157 }
44660702
DM
20158 },
20159 "leaf" : 1,
20160 "path" : "/nodes/{node}/ceph/config",
20161 "text" : "config"
7aacca6f
DM
20162 },
20163 {
7aacca6f
DM
20164 "children" : [
20165 {
7aacca6f
DM
20166 "info" : {
20167 "DELETE" : {
2489d6df 20168 "description" : "Destroy Ceph Monitor and Manager.",
44660702
DM
20169 "method" : "DELETE",
20170 "name" : "destroymon",
20171 "parameters" : {
20172 "additionalProperties" : 0,
20173 "properties" : {
2489d6df
WB
20174 "exclude-manager" : {
20175 "default" : 0,
20176 "description" : "When set, removes only the monitor, not the manager",
20177 "optional" : 1,
20178 "type" : "boolean",
20179 "typetext" : "<boolean>"
20180 },
44660702
DM
20181 "monid" : {
20182 "description" : "Monitor ID",
2489d6df
WB
20183 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20184 "type" : "string"
44660702
DM
20185 },
20186 "node" : {
20187 "description" : "The cluster node name.",
20188 "format" : "pve-node",
013dc89f
DM
20189 "type" : "string",
20190 "typetext" : "<string>"
44660702
DM
20191 }
20192 }
20193 },
7aacca6f
DM
20194 "permissions" : {
20195 "check" : [
20196 "perm",
20197 "/",
20198 [
20199 "Sys.Modify"
20200 ]
20201 ]
20202 },
44660702
DM
20203 "protected" : 1,
20204 "proxyto" : "node",
7aacca6f
DM
20205 "returns" : {
20206 "type" : "string"
44660702 20207 }
7aacca6f 20208 }
44660702
DM
20209 },
20210 "leaf" : 1,
20211 "path" : "/nodes/{node}/ceph/mon/{monid}",
20212 "text" : "{monid}"
7aacca6f
DM
20213 }
20214 ],
20215 "info" : {
20216 "GET" : {
44660702 20217 "description" : "Get Ceph monitor list.",
7aacca6f 20218 "method" : "GET",
44660702 20219 "name" : "listmon",
7aacca6f
DM
20220 "parameters" : {
20221 "additionalProperties" : 0,
20222 "properties" : {
20223 "node" : {
7aacca6f 20224 "description" : "The cluster node name.",
44660702 20225 "format" : "pve-node",
013dc89f
DM
20226 "type" : "string",
20227 "typetext" : "<string>"
7aacca6f
DM
20228 }
20229 }
20230 },
44660702
DM
20231 "permissions" : {
20232 "check" : [
20233 "perm",
20234 "/",
20235 [
20236 "Sys.Audit",
20237 "Datastore.Audit"
20238 ],
20239 "any",
20240 1
20241 ]
20242 },
7aacca6f 20243 "protected" : 1,
44660702 20244 "proxyto" : "node",
7aacca6f
DM
20245 "returns" : {
20246 "items" : {
20247 "properties" : {
44660702 20248 "addr" : {
7aacca6f 20249 "type" : "string"
56122987 20250 },
44660702 20251 "name" : {
56122987
DM
20252 "type" : "string"
20253 }
7aacca6f
DM
20254 },
20255 "type" : "object"
56122987 20256 },
7aacca6f
DM
20257 "links" : [
20258 {
20259 "href" : "{name}",
20260 "rel" : "child"
20261 }
20262 ],
56122987 20263 "type" : "array"
44660702 20264 }
7aacca6f
DM
20265 },
20266 "POST" : {
2489d6df 20267 "description" : "Create Ceph Monitor and Manager",
44660702
DM
20268 "method" : "POST",
20269 "name" : "createmon",
20270 "parameters" : {
20271 "additionalProperties" : 0,
20272 "properties" : {
2489d6df
WB
20273 "exclude-manager" : {
20274 "default" : 0,
20275 "description" : "When set, only a monitor will be created.",
20276 "optional" : 1,
20277 "type" : "boolean",
20278 "typetext" : "<boolean>"
20279 },
20280 "id" : {
20281 "description" : "The ID for the monitor, when omitted the same as the nodename",
20282 "optional" : 1,
20283 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20284 "type" : "string"
20285 },
35a75dd3
DM
20286 "mon-address" : {
20287 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
20288 "format" : "ip",
20289 "optional" : 1,
20290 "type" : "string",
20291 "typetext" : "<string>"
20292 },
44660702
DM
20293 "node" : {
20294 "description" : "The cluster node name.",
20295 "format" : "pve-node",
013dc89f
DM
20296 "type" : "string",
20297 "typetext" : "<string>"
44660702
DM
20298 }
20299 }
20300 },
7aacca6f
DM
20301 "permissions" : {
20302 "check" : [
20303 "perm",
20304 "/",
20305 [
20306 "Sys.Modify"
20307 ]
20308 ]
20309 },
44660702 20310 "protected" : 1,
7aacca6f 20311 "proxyto" : "node",
56122987
DM
20312 "returns" : {
20313 "type" : "string"
44660702 20314 }
56122987 20315 }
44660702
DM
20316 },
20317 "leaf" : 0,
20318 "path" : "/nodes/{node}/ceph/mon",
20319 "text" : "mon"
56122987
DM
20320 },
20321 {
20322 "info" : {
20323 "POST" : {
44660702
DM
20324 "description" : "Create initial ceph default configuration and setup symlinks.",
20325 "method" : "POST",
20326 "name" : "init",
20327 "parameters" : {
20328 "additionalProperties" : 0,
20329 "properties" : {
5d9c884c
DM
20330 "disable_cephx" : {
20331 "default" : 0,
20332 "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!",
20333 "optional" : 1,
20334 "type" : "boolean",
20335 "typetext" : "<boolean>"
20336 },
20337 "min_size" : {
20338 "default" : 2,
20339 "description" : "Minimum number of available replicas per object to allow I/O",
20340 "maximum" : 7,
20341 "minimum" : 1,
20342 "optional" : 1,
20343 "type" : "integer",
20344 "typetext" : "<integer> (1 - 7)"
20345 },
44660702
DM
20346 "network" : {
20347 "description" : "Use specific network for all ceph related traffic",
20348 "format" : "CIDR",
20349 "maxLength" : 128,
20350 "optional" : 1,
013dc89f
DM
20351 "type" : "string",
20352 "typetext" : "<string>"
44660702
DM
20353 },
20354 "node" : {
20355 "description" : "The cluster node name.",
20356 "format" : "pve-node",
013dc89f
DM
20357 "type" : "string",
20358 "typetext" : "<string>"
44660702
DM
20359 },
20360 "pg_bits" : {
20361 "default" : 6,
20362 "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.",
20363 "maximum" : 14,
20364 "minimum" : 6,
20365 "optional" : 1,
4bd7df8b 20366 "type" : "integer",
013dc89f 20367 "typetext" : "<integer> (6 - 14)"
44660702
DM
20368 },
20369 "size" : {
5d9c884c
DM
20370 "default" : 3,
20371 "description" : "Targeted number of replicas per object",
20372 "maximum" : 7,
44660702
DM
20373 "minimum" : 1,
20374 "optional" : 1,
4bd7df8b 20375 "type" : "integer",
5d9c884c 20376 "typetext" : "<integer> (1 - 7)"
44660702
DM
20377 }
20378 }
7aacca6f 20379 },
56122987
DM
20380 "permissions" : {
20381 "check" : [
20382 "perm",
20383 "/",
20384 [
20385 "Sys.Modify"
20386 ]
20387 ]
20388 },
7aacca6f 20389 "protected" : 1,
44660702
DM
20390 "proxyto" : "node",
20391 "returns" : {
20392 "type" : "null"
7aacca6f
DM
20393 }
20394 }
20395 },
7aacca6f 20396 "leaf" : 1,
44660702
DM
20397 "path" : "/nodes/{node}/ceph/init",
20398 "text" : "init"
7aacca6f 20399 },
2489d6df
WB
20400 {
20401 "children" : [
20402 {
20403 "info" : {
20404 "DELETE" : {
20405 "description" : "Destroy Ceph Manager.",
20406 "method" : "DELETE",
20407 "name" : "destroymgr",
20408 "parameters" : {
20409 "additionalProperties" : 0,
20410 "properties" : {
20411 "id" : {
20412 "description" : "The ID of the manager",
20413 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20414 "type" : "string"
20415 },
20416 "node" : {
20417 "description" : "The cluster node name.",
20418 "format" : "pve-node",
20419 "type" : "string",
20420 "typetext" : "<string>"
20421 }
20422 }
20423 },
20424 "permissions" : {
20425 "check" : [
20426 "perm",
20427 "/",
20428 [
20429 "Sys.Modify"
20430 ]
20431 ]
20432 },
20433 "protected" : 1,
20434 "proxyto" : "node",
20435 "returns" : {
20436 "type" : "string"
20437 }
20438 }
20439 },
20440 "leaf" : 1,
20441 "path" : "/nodes/{node}/ceph/mgr/{id}",
20442 "text" : "{id}"
20443 }
20444 ],
20445 "info" : {
20446 "POST" : {
20447 "description" : "Create Ceph Manager",
20448 "method" : "POST",
20449 "name" : "createmgr",
20450 "parameters" : {
20451 "additionalProperties" : 0,
20452 "properties" : {
20453 "id" : {
20454 "description" : "The ID for the manager, when omitted the same as the nodename",
20455 "optional" : 1,
20456 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
20457 "type" : "string"
20458 },
20459 "node" : {
20460 "description" : "The cluster node name.",
20461 "format" : "pve-node",
20462 "type" : "string",
20463 "typetext" : "<string>"
20464 }
20465 }
20466 },
20467 "permissions" : {
20468 "check" : [
20469 "perm",
20470 "/",
20471 [
20472 "Sys.Modify"
20473 ]
20474 ]
20475 },
20476 "protected" : 1,
20477 "proxyto" : "node",
20478 "returns" : {
20479 "type" : "string"
20480 }
20481 }
20482 },
20483 "leaf" : 0,
20484 "path" : "/nodes/{node}/ceph/mgr",
20485 "text" : "mgr"
20486 },
7aacca6f 20487 {
7aacca6f
DM
20488 "info" : {
20489 "POST" : {
44660702 20490 "description" : "Stop ceph services.",
7aacca6f
DM
20491 "method" : "POST",
20492 "name" : "stop",
20493 "parameters" : {
44660702 20494 "additionalProperties" : 0,
7aacca6f
DM
20495 "properties" : {
20496 "node" : {
7aacca6f 20497 "description" : "The cluster node name.",
44660702 20498 "format" : "pve-node",
013dc89f
DM
20499 "type" : "string",
20500 "typetext" : "<string>"
7aacca6f
DM
20501 },
20502 "service" : {
7aacca6f 20503 "description" : "Ceph service name.",
44660702 20504 "optional" : 1,
2489d6df 20505 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20506 "type" : "string"
56122987 20507 }
44660702 20508 }
7aacca6f
DM
20509 },
20510 "permissions" : {
20511 "check" : [
20512 "perm",
20513 "/",
20514 [
20515 "Sys.Modify"
20516 ]
20517 ]
20518 },
44660702
DM
20519 "protected" : 1,
20520 "proxyto" : "node",
20521 "returns" : {
20522 "type" : "string"
20523 }
7aacca6f 20524 }
44660702
DM
20525 },
20526 "leaf" : 1,
20527 "path" : "/nodes/{node}/ceph/stop",
20528 "text" : "stop"
7aacca6f
DM
20529 },
20530 {
7aacca6f
DM
20531 "info" : {
20532 "POST" : {
7aacca6f 20533 "description" : "Start ceph services.",
44660702 20534 "method" : "POST",
7aacca6f 20535 "name" : "start",
56122987
DM
20536 "parameters" : {
20537 "additionalProperties" : 0,
20538 "properties" : {
20539 "node" : {
7aacca6f 20540 "description" : "The cluster node name.",
44660702 20541 "format" : "pve-node",
013dc89f
DM
20542 "type" : "string",
20543 "typetext" : "<string>"
7aacca6f
DM
20544 },
20545 "service" : {
20546 "description" : "Ceph service name.",
44660702 20547 "optional" : 1,
2489d6df 20548 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 20549 "type" : "string"
7aacca6f
DM
20550 }
20551 }
20552 },
44660702
DM
20553 "permissions" : {
20554 "check" : [
20555 "perm",
20556 "/",
20557 [
20558 "Sys.Modify"
20559 ]
20560 ]
20561 },
7aacca6f 20562 "protected" : 1,
44660702
DM
20563 "proxyto" : "node",
20564 "returns" : {
20565 "type" : "string"
20566 }
7aacca6f 20567 }
44660702
DM
20568 },
20569 "leaf" : 1,
20570 "path" : "/nodes/{node}/ceph/start",
20571 "text" : "start"
7aacca6f
DM
20572 },
20573 {
7aacca6f
DM
20574 "info" : {
20575 "GET" : {
44660702
DM
20576 "description" : "Get ceph status.",
20577 "method" : "GET",
20578 "name" : "status",
7aacca6f
DM
20579 "parameters" : {
20580 "additionalProperties" : 0,
20581 "properties" : {
20582 "node" : {
7aacca6f 20583 "description" : "The cluster node name.",
44660702 20584 "format" : "pve-node",
013dc89f
DM
20585 "type" : "string",
20586 "typetext" : "<string>"
56122987
DM
20587 }
20588 }
20589 },
20590 "permissions" : {
20591 "check" : [
20592 "perm",
20593 "/",
20594 [
20595 "Sys.Audit",
20596 "Datastore.Audit"
20597 ],
20598 "any",
20599 1
20600 ]
20601 },
44660702
DM
20602 "protected" : 1,
20603 "proxyto" : "node",
56122987 20604 "returns" : {
7aacca6f
DM
20605 "type" : "object"
20606 }
20607 }
20608 },
44660702 20609 "leaf" : 1,
7aacca6f 20610 "path" : "/nodes/{node}/ceph/status",
44660702 20611 "text" : "status"
7aacca6f
DM
20612 },
20613 {
44660702
DM
20614 "children" : [
20615 {
20616 "info" : {
20617 "DELETE" : {
20618 "description" : "Destroy pool",
20619 "method" : "DELETE",
20620 "name" : "destroypool",
20621 "parameters" : {
20622 "additionalProperties" : 0,
20623 "properties" : {
4bd7df8b
DM
20624 "force" : {
20625 "default" : 0,
20626 "description" : "If true, destroys pool even if in use",
20627 "optional" : 1,
013dc89f
DM
20628 "type" : "boolean",
20629 "typetext" : "<boolean>"
4bd7df8b 20630 },
44660702
DM
20631 "name" : {
20632 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
20633 "type" : "string",
20634 "typetext" : "<string>"
44660702
DM
20635 },
20636 "node" : {
20637 "description" : "The cluster node name.",
20638 "format" : "pve-node",
013dc89f
DM
20639 "type" : "string",
20640 "typetext" : "<string>"
2489d6df
WB
20641 },
20642 "remove_storages" : {
20643 "default" : 0,
20644 "description" : "Remove all pveceph-managed storages configured for this pool",
20645 "optional" : 1,
20646 "type" : "boolean",
20647 "typetext" : "<boolean>"
44660702
DM
20648 }
20649 }
20650 },
20651 "permissions" : {
20652 "check" : [
20653 "perm",
20654 "/",
20655 [
20656 "Sys.Modify"
20657 ]
20658 ]
20659 },
20660 "protected" : 1,
20661 "proxyto" : "node",
20662 "returns" : {
2489d6df 20663 "type" : "string"
44660702
DM
20664 }
20665 }
20666 },
20667 "leaf" : 1,
20668 "path" : "/nodes/{node}/ceph/pools/{name}",
20669 "text" : "{name}"
20670 }
20671 ],
7aacca6f
DM
20672 "info" : {
20673 "GET" : {
44660702
DM
20674 "description" : "List all pools.",
20675 "method" : "GET",
20676 "name" : "lspools",
7aacca6f
DM
20677 "parameters" : {
20678 "additionalProperties" : 0,
20679 "properties" : {
20680 "node" : {
7aacca6f 20681 "description" : "The cluster node name.",
44660702 20682 "format" : "pve-node",
013dc89f
DM
20683 "type" : "string",
20684 "typetext" : "<string>"
7aacca6f
DM
20685 }
20686 }
20687 },
7aacca6f
DM
20688 "permissions" : {
20689 "check" : [
20690 "perm",
20691 "/",
20692 [
20693 "Sys.Audit",
20694 "Datastore.Audit"
20695 ],
20696 "any",
20697 1
20698 ]
20699 },
44660702
DM
20700 "protected" : 1,
20701 "proxyto" : "node",
7aacca6f 20702 "returns" : {
56122987 20703 "items" : {
56122987 20704 "properties" : {
7aacca6f
DM
20705 "pool" : {
20706 "type" : "integer"
20707 },
44660702
DM
20708 "pool_name" : {
20709 "type" : "string"
20710 },
7aacca6f
DM
20711 "size" : {
20712 "type" : "integer"
56122987 20713 }
44660702
DM
20714 },
20715 "type" : "object"
7aacca6f 20716 },
44660702
DM
20717 "links" : [
20718 {
20719 "href" : "{pool_name}",
20720 "rel" : "child"
20721 }
20722 ],
7aacca6f
DM
20723 "type" : "array"
20724 }
20725 },
20726 "POST" : {
7aacca6f 20727 "description" : "Create POOL",
7aacca6f 20728 "method" : "POST",
7aacca6f
DM
20729 "name" : "createpool",
20730 "parameters" : {
20731 "additionalProperties" : 0,
20732 "properties" : {
2489d6df
WB
20733 "add_storages" : {
20734 "description" : "Configure VM and CT storages using the new pool.",
7aacca6f 20735 "optional" : 1,
2489d6df
WB
20736 "type" : "boolean",
20737 "typetext" : "<boolean>"
20738 },
20739 "application" : {
20740 "description" : "The application of the pool, 'rbd' by default.",
20741 "enum" : [
20742 "rbd",
20743 "cephfs",
20744 "rgw"
20745 ],
20746 "optional" : 1,
20747 "type" : "string"
20748 },
20749 "crush_rule" : {
20750 "description" : "The rule to use for mapping object placement in the cluster.",
20751 "optional" : 1,
20752 "type" : "string",
20753 "typetext" : "<string>"
56122987 20754 },
44660702 20755 "min_size" : {
2489d6df 20756 "default" : 2,
44660702 20757 "description" : "Minimum number of replicas per object",
5d9c884c 20758 "maximum" : 7,
44660702
DM
20759 "minimum" : 1,
20760 "optional" : 1,
4bd7df8b 20761 "type" : "integer",
5d9c884c 20762 "typetext" : "<integer> (1 - 7)"
7aacca6f 20763 },
44660702
DM
20764 "name" : {
20765 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
20766 "type" : "string",
20767 "typetext" : "<string>"
44660702
DM
20768 },
20769 "node" : {
20770 "description" : "The cluster node name.",
20771 "format" : "pve-node",
013dc89f
DM
20772 "type" : "string",
20773 "typetext" : "<string>"
44660702
DM
20774 },
20775 "pg_num" : {
20776 "default" : 64,
20777 "description" : "Number of placement groups.",
20778 "maximum" : 32768,
20779 "minimum" : 8,
20780 "optional" : 1,
4bd7df8b 20781 "type" : "integer",
013dc89f 20782 "typetext" : "<integer> (8 - 32768)"
44660702
DM
20783 },
20784 "size" : {
2489d6df 20785 "default" : 3,
44660702 20786 "description" : "Number of replicas per object",
5d9c884c 20787 "maximum" : 7,
44660702
DM
20788 "minimum" : 1,
20789 "optional" : 1,
4bd7df8b 20790 "type" : "integer",
5d9c884c 20791 "typetext" : "<integer> (1 - 7)"
56122987
DM
20792 }
20793 }
44660702
DM
20794 },
20795 "permissions" : {
20796 "check" : [
20797 "perm",
20798 "/",
20799 [
20800 "Sys.Modify"
20801 ]
20802 ]
20803 },
20804 "protected" : 1,
20805 "proxyto" : "node",
20806 "returns" : {
2489d6df 20807 "type" : "string"
7aacca6f 20808 }
56122987 20809 }
44660702 20810 },
56122987 20811 "leaf" : 0,
44660702
DM
20812 "path" : "/nodes/{node}/ceph/pools",
20813 "text" : "pools"
56122987 20814 },
32d876b5
DM
20815 {
20816 "children" : [
20817 {
20818 "info" : {
20819 "DELETE" : {
20820 "description" : "Unset a ceph flag",
20821 "method" : "DELETE",
20822 "name" : "unset_flag",
20823 "parameters" : {
20824 "additionalProperties" : 0,
20825 "properties" : {
20826 "flag" : {
20827 "description" : "The ceph flag to set/unset",
20828 "enum" : [
20829 "full",
20830 "pause",
20831 "noup",
20832 "nodown",
20833 "noout",
20834 "noin",
20835 "nobackfill",
20836 "norebalance",
20837 "norecover",
20838 "noscrub",
20839 "nodeep-scrub",
20840 "notieragent"
20841 ],
20842 "type" : "string"
20843 },
20844 "node" : {
20845 "description" : "The cluster node name.",
20846 "format" : "pve-node",
20847 "type" : "string",
20848 "typetext" : "<string>"
20849 }
20850 }
20851 },
20852 "permissions" : {
20853 "check" : [
20854 "perm",
20855 "/",
20856 [
20857 "Sys.Modify"
20858 ]
20859 ]
20860 },
20861 "protected" : 1,
20862 "proxyto" : "node",
20863 "returns" : {
20864 "type" : "null"
20865 }
20866 },
20867 "POST" : {
20868 "description" : "Set a ceph flag",
20869 "method" : "POST",
20870 "name" : "set_flag",
20871 "parameters" : {
20872 "additionalProperties" : 0,
20873 "properties" : {
20874 "flag" : {
20875 "description" : "The ceph flag to set/unset",
20876 "enum" : [
20877 "full",
20878 "pause",
20879 "noup",
20880 "nodown",
20881 "noout",
20882 "noin",
20883 "nobackfill",
20884 "norebalance",
20885 "norecover",
20886 "noscrub",
20887 "nodeep-scrub",
20888 "notieragent"
20889 ],
20890 "type" : "string"
20891 },
20892 "node" : {
20893 "description" : "The cluster node name.",
20894 "format" : "pve-node",
20895 "type" : "string",
20896 "typetext" : "<string>"
20897 }
20898 }
20899 },
20900 "permissions" : {
20901 "check" : [
20902 "perm",
20903 "/",
20904 [
20905 "Sys.Modify"
20906 ]
20907 ]
20908 },
20909 "protected" : 1,
20910 "proxyto" : "node",
20911 "returns" : {
20912 "type" : "null"
20913 }
20914 }
20915 },
20916 "leaf" : 1,
20917 "path" : "/nodes/{node}/ceph/flags/{flag}",
20918 "text" : "{flag}"
20919 }
20920 ],
20921 "info" : {
20922 "GET" : {
20923 "description" : "get all set ceph flags",
20924 "method" : "GET",
20925 "name" : "get_flags",
20926 "parameters" : {
20927 "additionalProperties" : 0,
20928 "properties" : {
20929 "node" : {
20930 "description" : "The cluster node name.",
20931 "format" : "pve-node",
20932 "type" : "string",
20933 "typetext" : "<string>"
20934 }
20935 }
20936 },
20937 "permissions" : {
20938 "check" : [
20939 "perm",
20940 "/",
20941 [
20942 "Sys.Audit"
20943 ]
20944 ]
20945 },
20946 "protected" : 1,
20947 "proxyto" : "node",
20948 "returns" : {
20949 "type" : "string"
20950 }
20951 }
20952 },
20953 "leaf" : 0,
20954 "path" : "/nodes/{node}/ceph/flags",
20955 "text" : "flags"
20956 },
56122987 20957 {
56122987 20958 "info" : {
7aacca6f 20959 "GET" : {
44660702
DM
20960 "description" : "Get OSD crush map",
20961 "method" : "GET",
20962 "name" : "crush",
20963 "parameters" : {
20964 "additionalProperties" : 0,
20965 "properties" : {
20966 "node" : {
20967 "description" : "The cluster node name.",
20968 "format" : "pve-node",
013dc89f
DM
20969 "type" : "string",
20970 "typetext" : "<string>"
44660702
DM
20971 }
20972 }
20973 },
7aacca6f
DM
20974 "permissions" : {
20975 "check" : [
20976 "perm",
20977 "/",
20978 [
20979 "Sys.Audit",
20980 "Datastore.Audit"
20981 ],
20982 "any",
20983 1
20984 ]
20985 },
44660702 20986 "protected" : 1,
7aacca6f 20987 "proxyto" : "node",
56122987 20988 "returns" : {
7aacca6f 20989 "type" : "string"
44660702 20990 }
56122987
DM
20991 }
20992 },
44660702
DM
20993 "leaf" : 1,
20994 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 20995 "text" : "crush"
56122987
DM
20996 },
20997 {
56122987 20998 "info" : {
7aacca6f 20999 "GET" : {
44660702
DM
21000 "description" : "Read ceph log",
21001 "method" : "GET",
21002 "name" : "log",
21003 "parameters" : {
21004 "additionalProperties" : 0,
21005 "properties" : {
21006 "limit" : {
21007 "minimum" : 0,
21008 "optional" : 1,
4bd7df8b 21009 "type" : "integer",
013dc89f 21010 "typetext" : "<integer> (0 - N)"
7aacca6f 21011 },
44660702
DM
21012 "node" : {
21013 "description" : "The cluster node name.",
21014 "format" : "pve-node",
013dc89f
DM
21015 "type" : "string",
21016 "typetext" : "<string>"
44660702
DM
21017 },
21018 "start" : {
21019 "minimum" : 0,
21020 "optional" : 1,
4bd7df8b 21021 "type" : "integer",
013dc89f 21022 "typetext" : "<integer> (0 - N)"
44660702 21023 }
7aacca6f 21024 }
56122987 21025 },
56122987
DM
21026 "permissions" : {
21027 "check" : [
21028 "perm",
7aacca6f 21029 "/nodes/{node}",
56122987 21030 [
7aacca6f 21031 "Sys.Syslog"
56122987
DM
21032 ]
21033 ]
21034 },
7aacca6f 21035 "protected" : 1,
44660702
DM
21036 "proxyto" : "node",
21037 "returns" : {
21038 "items" : {
21039 "properties" : {
21040 "n" : {
21041 "description" : "Line number",
21042 "type" : "integer"
21043 },
21044 "t" : {
21045 "description" : "Line text",
21046 "type" : "string"
21047 }
56122987 21048 },
44660702 21049 "type" : "object"
56122987 21050 },
44660702 21051 "type" : "array"
7aacca6f 21052 }
56122987
DM
21053 }
21054 },
21055 "leaf" : 1,
44660702
DM
21056 "path" : "/nodes/{node}/ceph/log",
21057 "text" : "log"
2489d6df
WB
21058 },
21059 {
21060 "info" : {
21061 "GET" : {
21062 "description" : "List ceph rules.",
21063 "method" : "GET",
21064 "name" : "rules",
21065 "parameters" : {
21066 "additionalProperties" : 0,
21067 "properties" : {
21068 "node" : {
21069 "description" : "The cluster node name.",
21070 "format" : "pve-node",
21071 "type" : "string",
21072 "typetext" : "<string>"
21073 }
21074 }
21075 },
21076 "permissions" : {
21077 "check" : [
21078 "perm",
21079 "/",
21080 [
21081 "Sys.Audit",
21082 "Datastore.Audit"
21083 ],
21084 "any",
21085 1
21086 ]
21087 },
21088 "protected" : 1,
21089 "proxyto" : "node",
21090 "returns" : {
21091 "items" : {
21092 "properties" : {},
21093 "type" : "object"
21094 },
21095 "links" : [
21096 {
21097 "href" : "{name}",
21098 "rel" : "child"
21099 }
21100 ],
21101 "type" : "array"
21102 }
21103 }
21104 },
21105 "leaf" : 1,
21106 "path" : "/nodes/{node}/ceph/rules",
21107 "text" : "rules"
7aacca6f
DM
21108 }
21109 ],
44660702
DM
21110 "info" : {
21111 "GET" : {
21112 "description" : "Directory index.",
21113 "method" : "GET",
21114 "name" : "index",
21115 "parameters" : {
21116 "additionalProperties" : 0,
21117 "properties" : {
21118 "node" : {
21119 "description" : "The cluster node name.",
21120 "format" : "pve-node",
013dc89f
DM
21121 "type" : "string",
21122 "typetext" : "<string>"
44660702
DM
21123 }
21124 }
21125 },
21126 "permissions" : {
21127 "check" : [
21128 "perm",
21129 "/",
21130 [
21131 "Sys.Audit",
21132 "Datastore.Audit"
21133 ],
21134 "any",
21135 1
21136 ]
21137 },
21138 "returns" : {
21139 "items" : {
21140 "properties" : {},
21141 "type" : "object"
21142 },
21143 "links" : [
21144 {
21145 "href" : "{name}",
21146 "rel" : "child"
21147 }
21148 ],
21149 "type" : "array"
21150 }
21151 }
21152 },
7aacca6f 21153 "leaf" : 0,
44660702
DM
21154 "path" : "/nodes/{node}/ceph",
21155 "text" : "ceph"
7aacca6f
DM
21156 },
21157 {
4bd7df8b
DM
21158 "children" : [
21159 {
21160 "info" : {
21161 "GET" : {
21162 "description" : "Extract configuration from vzdump backup archive.",
21163 "method" : "GET",
21164 "name" : "extractconfig",
21165 "parameters" : {
21166 "additionalProperties" : 0,
21167 "properties" : {
21168 "node" : {
21169 "description" : "The cluster node name.",
21170 "format" : "pve-node",
013dc89f
DM
21171 "type" : "string",
21172 "typetext" : "<string>"
4bd7df8b
DM
21173 },
21174 "volume" : {
21175 "description" : "Volume identifier",
013dc89f
DM
21176 "type" : "string",
21177 "typetext" : "<string>"
4bd7df8b
DM
21178 }
21179 }
21180 },
21181 "permissions" : {
21182 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
21183 "user" : "all"
21184 },
21185 "protected" : 1,
21186 "proxyto" : "node",
21187 "returns" : {
21188 "type" : "string"
21189 }
21190 }
21191 },
21192 "leaf" : 1,
21193 "path" : "/nodes/{node}/vzdump/extractconfig",
21194 "text" : "extractconfig"
21195 }
21196 ],
7aacca6f
DM
21197 "info" : {
21198 "POST" : {
7aacca6f 21199 "description" : "Create backup.",
44660702 21200 "method" : "POST",
7aacca6f
DM
21201 "name" : "vzdump",
21202 "parameters" : {
44660702 21203 "additionalProperties" : 0,
7aacca6f 21204 "properties" : {
44660702
DM
21205 "all" : {
21206 "default" : 0,
21207 "description" : "Backup all known guest systems on this host.",
7aacca6f 21208 "optional" : 1,
013dc89f
DM
21209 "type" : "boolean",
21210 "typetext" : "<boolean>"
56122987 21211 },
44660702 21212 "bwlimit" : {
7aacca6f 21213 "default" : 0,
44660702
DM
21214 "description" : "Limit I/O bandwidth (KBytes per second).",
21215 "minimum" : 0,
7aacca6f 21216 "optional" : 1,
4bd7df8b 21217 "type" : "integer",
013dc89f 21218 "typetext" : "<integer> (0 - N)"
56122987 21219 },
44660702
DM
21220 "compress" : {
21221 "default" : "0",
21222 "description" : "Compress dump file.",
21223 "enum" : [
21224 "0",
21225 "1",
21226 "gzip",
21227 "lzo"
21228 ],
7aacca6f 21229 "optional" : 1,
44660702 21230 "type" : "string"
56122987 21231 },
44660702
DM
21232 "dumpdir" : {
21233 "description" : "Store resulting files to specified directory.",
7aacca6f 21234 "optional" : 1,
013dc89f
DM
21235 "type" : "string",
21236 "typetext" : "<string>"
7aacca6f 21237 },
44660702
DM
21238 "exclude" : {
21239 "description" : "Exclude specified guest systems (assumes --all)",
21240 "format" : "pve-vmid-list",
7aacca6f 21241 "optional" : 1,
013dc89f
DM
21242 "type" : "string",
21243 "typetext" : "<string>"
7aacca6f 21244 },
44660702
DM
21245 "exclude-path" : {
21246 "description" : "Exclude certain files/directories (shell globs).",
21247 "format" : "string-alist",
7aacca6f 21248 "optional" : 1,
013dc89f
DM
21249 "type" : "string",
21250 "typetext" : "<string>"
7aacca6f 21251 },
44660702
DM
21252 "ionice" : {
21253 "default" : 7,
21254 "description" : "Set CFQ ionice priority.",
21255 "maximum" : 8,
21256 "minimum" : 0,
21257 "optional" : 1,
4bd7df8b 21258 "type" : "integer",
013dc89f 21259 "typetext" : "<integer> (0 - 8)"
7aacca6f 21260 },
44660702
DM
21261 "lockwait" : {
21262 "default" : 180,
21263 "description" : "Maximal time to wait for the global lock (minutes).",
21264 "minimum" : 0,
7aacca6f 21265 "optional" : 1,
4bd7df8b 21266 "type" : "integer",
013dc89f 21267 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
21268 },
21269 "mailnotification" : {
44660702 21270 "default" : "always",
7aacca6f
DM
21271 "description" : "Specify when to send an email",
21272 "enum" : [
21273 "always",
21274 "failure"
21275 ],
7aacca6f 21276 "optional" : 1,
44660702 21277 "type" : "string"
7aacca6f
DM
21278 },
21279 "mailto" : {
7aacca6f 21280 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 21281 "format" : "string-list",
7aacca6f 21282 "optional" : 1,
013dc89f
DM
21283 "type" : "string",
21284 "typetext" : "<string>"
56122987 21285 },
44660702
DM
21286 "maxfiles" : {
21287 "default" : 1,
21288 "description" : "Maximal number of backup files per guest system.",
21289 "minimum" : 1,
7aacca6f 21290 "optional" : 1,
4bd7df8b 21291 "type" : "integer",
013dc89f 21292 "typetext" : "<integer> (1 - N)"
56122987 21293 },
7aacca6f 21294 "mode" : {
44660702 21295 "default" : "snapshot",
7aacca6f
DM
21296 "description" : "Backup mode.",
21297 "enum" : [
21298 "snapshot",
21299 "suspend",
21300 "stop"
21301 ],
44660702
DM
21302 "optional" : 1,
21303 "type" : "string"
7aacca6f 21304 },
44660702
DM
21305 "node" : {
21306 "description" : "Only run if executed on this node.",
21307 "format" : "pve-node",
21308 "optional" : 1,
013dc89f
DM
21309 "type" : "string",
21310 "typetext" : "<string>"
44660702
DM
21311 },
21312 "pigz" : {
21313 "default" : 0,
21314 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
21315 "optional" : 1,
013dc89f
DM
21316 "type" : "integer",
21317 "typetext" : "<integer>"
44660702
DM
21318 },
21319 "quiet" : {
21320 "default" : 0,
21321 "description" : "Be quiet.",
21322 "optional" : 1,
013dc89f
DM
21323 "type" : "boolean",
21324 "typetext" : "<boolean>"
44660702
DM
21325 },
21326 "remove" : {
7aacca6f 21327 "default" : 1,
44660702 21328 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 21329 "optional" : 1,
013dc89f
DM
21330 "type" : "boolean",
21331 "typetext" : "<boolean>"
7aacca6f 21332 },
44660702
DM
21333 "script" : {
21334 "description" : "Use specified hook script.",
21335 "optional" : 1,
013dc89f
DM
21336 "type" : "string",
21337 "typetext" : "<string>"
44660702
DM
21338 },
21339 "size" : {
21340 "default" : 1024,
21341 "description" : "Unused, will be removed in a future release.",
21342 "minimum" : 500,
21343 "optional" : 1,
4bd7df8b 21344 "type" : "integer",
013dc89f 21345 "typetext" : "<integer> (500 - N)"
44660702
DM
21346 },
21347 "stdexcludes" : {
21348 "default" : 1,
21349 "description" : "Exclude temporary files and logs.",
21350 "optional" : 1,
013dc89f
DM
21351 "type" : "boolean",
21352 "typetext" : "<boolean>"
44660702
DM
21353 },
21354 "stdout" : {
21355 "description" : "Write tar to stdout, not to a file.",
7aacca6f 21356 "optional" : 1,
013dc89f
DM
21357 "type" : "boolean",
21358 "typetext" : "<boolean>"
44660702
DM
21359 },
21360 "stop" : {
7aacca6f 21361 "default" : 0,
44660702
DM
21362 "description" : "Stop runnig backup jobs on this host.",
21363 "optional" : 1,
013dc89f
DM
21364 "type" : "boolean",
21365 "typetext" : "<boolean>"
7aacca6f 21366 },
44660702
DM
21367 "stopwait" : {
21368 "default" : 10,
21369 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
21370 "minimum" : 0,
21371 "optional" : 1,
4bd7df8b 21372 "type" : "integer",
013dc89f 21373 "typetext" : "<integer> (0 - N)"
7aacca6f 21374 },
44660702
DM
21375 "storage" : {
21376 "description" : "Store resulting file to this storage.",
21377 "format" : "pve-storage-id",
7aacca6f 21378 "optional" : 1,
013dc89f
DM
21379 "type" : "string",
21380 "typetext" : "<string>"
44660702
DM
21381 },
21382 "tmpdir" : {
21383 "description" : "Store temporary files to specified directory.",
21384 "optional" : 1,
013dc89f
DM
21385 "type" : "string",
21386 "typetext" : "<string>"
7aacca6f
DM
21387 },
21388 "vmid" : {
7aacca6f 21389 "description" : "The ID of the guest system you want to backup.",
44660702 21390 "format" : "pve-vmid-list",
7aacca6f 21391 "optional" : 1,
013dc89f
DM
21392 "type" : "string",
21393 "typetext" : "<string>"
7aacca6f 21394 }
7aacca6f
DM
21395 }
21396 },
7aacca6f 21397 "permissions" : {
de0983cb 21398 "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 21399 "user" : "all"
7aacca6f 21400 },
44660702 21401 "protected" : 1,
7aacca6f 21402 "proxyto" : "node",
7aacca6f 21403 "returns" : {
44660702 21404 "type" : "string"
7aacca6f
DM
21405 }
21406 }
21407 },
4bd7df8b 21408 "leaf" : 0,
44660702
DM
21409 "path" : "/nodes/{node}/vzdump",
21410 "text" : "vzdump"
21411 },
21412 {
7aacca6f
DM
21413 "children" : [
21414 {
7aacca6f
DM
21415 "children" : [
21416 {
7aacca6f
DM
21417 "info" : {
21418 "GET" : {
7aacca6f
DM
21419 "description" : "Read service properties",
21420 "method" : "GET",
21421 "name" : "service_state",
21422 "parameters" : {
44660702 21423 "additionalProperties" : 0,
7aacca6f
DM
21424 "properties" : {
21425 "node" : {
7aacca6f 21426 "description" : "The cluster node name.",
44660702 21427 "format" : "pve-node",
013dc89f
DM
21428 "type" : "string",
21429 "typetext" : "<string>"
7aacca6f
DM
21430 },
21431 "service" : {
44660702 21432 "description" : "Service ID",
7aacca6f
DM
21433 "enum" : [
21434 "pveproxy",
21435 "pvedaemon",
21436 "spiceproxy",
21437 "pvestatd",
21438 "pve-cluster",
21439 "corosync",
21440 "pve-firewall",
21441 "pvefw-logger",
21442 "pve-ha-crm",
21443 "pve-ha-lrm",
21444 "sshd",
21445 "syslog",
21446 "cron",
21447 "postfix",
21448 "ksmtuned",
21449 "systemd-timesyncd"
21450 ],
7aacca6f
DM
21451 "type" : "string"
21452 }
44660702 21453 }
56122987 21454 },
7aacca6f
DM
21455 "permissions" : {
21456 "check" : [
21457 "perm",
21458 "/nodes/{node}",
21459 [
44660702 21460 "Sys.Audit"
7aacca6f
DM
21461 ]
21462 ]
56122987 21463 },
44660702 21464 "protected" : 1,
7aacca6f 21465 "proxyto" : "node",
44660702
DM
21466 "returns" : {
21467 "properties" : {},
21468 "type" : "object"
21469 }
21470 }
21471 },
21472 "leaf" : 1,
21473 "path" : "/nodes/{node}/services/{service}/state",
21474 "text" : "state"
21475 },
21476 {
21477 "info" : {
21478 "POST" : {
21479 "description" : "Start service.",
7aacca6f
DM
21480 "method" : "POST",
21481 "name" : "service_start",
21482 "parameters" : {
44660702 21483 "additionalProperties" : 0,
7aacca6f 21484 "properties" : {
44660702
DM
21485 "node" : {
21486 "description" : "The cluster node name.",
21487 "format" : "pve-node",
013dc89f
DM
21488 "type" : "string",
21489 "typetext" : "<string>"
44660702 21490 },
7aacca6f 21491 "service" : {
44660702 21492 "description" : "Service ID",
7aacca6f
DM
21493 "enum" : [
21494 "pveproxy",
21495 "pvedaemon",
21496 "spiceproxy",
21497 "pvestatd",
21498 "pve-cluster",
21499 "corosync",
21500 "pve-firewall",
21501 "pvefw-logger",
21502 "pve-ha-crm",
21503 "pve-ha-lrm",
21504 "sshd",
21505 "syslog",
21506 "cron",
21507 "postfix",
21508 "ksmtuned",
21509 "systemd-timesyncd"
21510 ],
7aacca6f
DM
21511 "type" : "string"
21512 }
44660702 21513 }
56122987 21514 },
56122987
DM
21515 "permissions" : {
21516 "check" : [
21517 "perm",
21518 "/nodes/{node}",
21519 [
7aacca6f 21520 "Sys.Modify"
56122987
DM
21521 ]
21522 ]
7aacca6f 21523 },
7aacca6f 21524 "protected" : 1,
44660702
DM
21525 "proxyto" : "node",
21526 "returns" : {
21527 "type" : "string"
21528 }
21529 }
21530 },
21531 "leaf" : 1,
21532 "path" : "/nodes/{node}/services/{service}/start",
21533 "text" : "start"
21534 },
21535 {
21536 "info" : {
21537 "POST" : {
21538 "description" : "Stop service.",
21539 "method" : "POST",
7aacca6f 21540 "name" : "service_stop",
56122987 21541 "parameters" : {
7aacca6f 21542 "additionalProperties" : 0,
56122987
DM
21543 "properties" : {
21544 "node" : {
44660702 21545 "description" : "The cluster node name.",
56122987 21546 "format" : "pve-node",
013dc89f
DM
21547 "type" : "string",
21548 "typetext" : "<string>"
56122987
DM
21549 },
21550 "service" : {
44660702 21551 "description" : "Service ID",
56122987
DM
21552 "enum" : [
21553 "pveproxy",
21554 "pvedaemon",
21555 "spiceproxy",
21556 "pvestatd",
21557 "pve-cluster",
21558 "corosync",
21559 "pve-firewall",
21560 "pvefw-logger",
21561 "pve-ha-crm",
21562 "pve-ha-lrm",
21563 "sshd",
21564 "syslog",
21565 "cron",
21566 "postfix",
21567 "ksmtuned",
21568 "systemd-timesyncd"
21569 ],
56122987
DM
21570 "type" : "string"
21571 }
7aacca6f 21572 }
44660702 21573 },
56122987
DM
21574 "permissions" : {
21575 "check" : [
21576 "perm",
21577 "/nodes/{node}",
21578 [
21579 "Sys.Modify"
21580 ]
21581 ]
21582 },
44660702
DM
21583 "protected" : 1,
21584 "proxyto" : "node",
7aacca6f
DM
21585 "returns" : {
21586 "type" : "string"
44660702
DM
21587 }
21588 }
21589 },
21590 "leaf" : 1,
21591 "path" : "/nodes/{node}/services/{service}/stop",
21592 "text" : "stop"
21593 },
21594 {
21595 "info" : {
21596 "POST" : {
21597 "description" : "Restart service.",
21598 "method" : "POST",
21599 "name" : "service_restart",
56122987
DM
21600 "parameters" : {
21601 "additionalProperties" : 0,
21602 "properties" : {
7aacca6f
DM
21603 "node" : {
21604 "description" : "The cluster node name.",
44660702 21605 "format" : "pve-node",
013dc89f
DM
21606 "type" : "string",
21607 "typetext" : "<string>"
7aacca6f
DM
21608 },
21609 "service" : {
44660702 21610 "description" : "Service ID",
56122987
DM
21611 "enum" : [
21612 "pveproxy",
21613 "pvedaemon",
21614 "spiceproxy",
21615 "pvestatd",
21616 "pve-cluster",
21617 "corosync",
21618 "pve-firewall",
21619 "pvefw-logger",
21620 "pve-ha-crm",
21621 "pve-ha-lrm",
21622 "sshd",
21623 "syslog",
21624 "cron",
21625 "postfix",
21626 "ksmtuned",
21627 "systemd-timesyncd"
7aacca6f 21628 ],
7aacca6f 21629 "type" : "string"
56122987
DM
21630 }
21631 }
21632 },
44660702
DM
21633 "permissions" : {
21634 "check" : [
21635 "perm",
21636 "/nodes/{node}",
21637 [
21638 "Sys.Modify"
21639 ]
21640 ]
21641 },
21642 "protected" : 1,
21643 "proxyto" : "node",
21644 "returns" : {
21645 "type" : "string"
21646 }
56122987 21647 }
44660702
DM
21648 },
21649 "leaf" : 1,
21650 "path" : "/nodes/{node}/services/{service}/restart",
21651 "text" : "restart"
56122987
DM
21652 },
21653 {
56122987
DM
21654 "info" : {
21655 "POST" : {
44660702
DM
21656 "description" : "Reload service.",
21657 "method" : "POST",
7aacca6f 21658 "name" : "service_reload",
56122987
DM
21659 "parameters" : {
21660 "additionalProperties" : 0,
21661 "properties" : {
44660702
DM
21662 "node" : {
21663 "description" : "The cluster node name.",
21664 "format" : "pve-node",
013dc89f
DM
21665 "type" : "string",
21666 "typetext" : "<string>"
44660702 21667 },
56122987 21668 "service" : {
56122987
DM
21669 "description" : "Service ID",
21670 "enum" : [
21671 "pveproxy",
21672 "pvedaemon",
21673 "spiceproxy",
21674 "pvestatd",
21675 "pve-cluster",
21676 "corosync",
21677 "pve-firewall",
21678 "pvefw-logger",
21679 "pve-ha-crm",
21680 "pve-ha-lrm",
21681 "sshd",
21682 "syslog",
21683 "cron",
21684 "postfix",
21685 "ksmtuned",
21686 "systemd-timesyncd"
44660702
DM
21687 ],
21688 "type" : "string"
56122987
DM
21689 }
21690 }
21691 },
56122987
DM
21692 "permissions" : {
21693 "check" : [
21694 "perm",
21695 "/nodes/{node}",
21696 [
21697 "Sys.Modify"
21698 ]
21699 ]
21700 },
44660702 21701 "protected" : 1,
56122987 21702 "proxyto" : "node",
7aacca6f
DM
21703 "returns" : {
21704 "type" : "string"
56122987
DM
21705 }
21706 }
44660702
DM
21707 },
21708 "leaf" : 1,
21709 "path" : "/nodes/{node}/services/{service}/reload",
21710 "text" : "reload"
21711 }
21712 ],
21713 "info" : {
21714 "GET" : {
21715 "description" : "Directory index",
21716 "method" : "GET",
21717 "name" : "srvcmdidx",
21718 "parameters" : {
21719 "additionalProperties" : 0,
21720 "properties" : {
21721 "node" : {
21722 "description" : "The cluster node name.",
21723 "format" : "pve-node",
013dc89f
DM
21724 "type" : "string",
21725 "typetext" : "<string>"
44660702
DM
21726 },
21727 "service" : {
21728 "description" : "Service ID",
21729 "enum" : [
21730 "pveproxy",
21731 "pvedaemon",
21732 "spiceproxy",
21733 "pvestatd",
21734 "pve-cluster",
21735 "corosync",
21736 "pve-firewall",
21737 "pvefw-logger",
21738 "pve-ha-crm",
21739 "pve-ha-lrm",
21740 "sshd",
21741 "syslog",
21742 "cron",
21743 "postfix",
21744 "ksmtuned",
21745 "systemd-timesyncd"
21746 ],
21747 "type" : "string"
21748 }
21749 }
21750 },
21751 "permissions" : {
21752 "check" : [
21753 "perm",
21754 "/nodes/{node}",
21755 [
21756 "Sys.Audit"
21757 ]
21758 ]
21759 },
21760 "returns" : {
21761 "items" : {
21762 "properties" : {
21763 "subdir" : {
21764 "type" : "string"
21765 }
21766 },
21767 "type" : "object"
21768 },
21769 "links" : [
21770 {
21771 "href" : "{subdir}",
21772 "rel" : "child"
21773 }
21774 ],
21775 "type" : "array"
21776 }
21777 }
21778 },
21779 "leaf" : 0,
21780 "path" : "/nodes/{node}/services/{service}",
21781 "text" : "{service}"
21782 }
21783 ],
21784 "info" : {
21785 "GET" : {
21786 "description" : "Service list.",
21787 "method" : "GET",
21788 "name" : "index",
21789 "parameters" : {
21790 "additionalProperties" : 0,
21791 "properties" : {
21792 "node" : {
21793 "description" : "The cluster node name.",
21794 "format" : "pve-node",
013dc89f
DM
21795 "type" : "string",
21796 "typetext" : "<string>"
44660702
DM
21797 }
21798 }
21799 },
21800 "permissions" : {
21801 "check" : [
21802 "perm",
21803 "/nodes/{node}",
21804 [
21805 "Sys.Audit"
21806 ]
21807 ]
21808 },
21809 "protected" : 1,
21810 "proxyto" : "node",
21811 "returns" : {
21812 "items" : {
21813 "properties" : {},
21814 "type" : "object"
21815 },
21816 "links" : [
21817 {
21818 "href" : "{service}",
21819 "rel" : "child"
56122987 21820 }
44660702
DM
21821 ],
21822 "type" : "array"
21823 }
7aacca6f 21824 }
44660702 21825 },
7aacca6f 21826 "leaf" : 0,
44660702
DM
21827 "path" : "/nodes/{node}/services",
21828 "text" : "services"
7aacca6f
DM
21829 },
21830 {
7aacca6f
DM
21831 "info" : {
21832 "GET" : {
44660702
DM
21833 "description" : "Read subscription info.",
21834 "method" : "GET",
21835 "name" : "get",
7aacca6f 21836 "parameters" : {
44660702 21837 "additionalProperties" : 0,
7aacca6f
DM
21838 "properties" : {
21839 "node" : {
21840 "description" : "The cluster node name.",
44660702 21841 "format" : "pve-node",
013dc89f
DM
21842 "type" : "string",
21843 "typetext" : "<string>"
7aacca6f 21844 }
44660702
DM
21845 }
21846 },
21847 "permissions" : {
21848 "user" : "all"
7aacca6f 21849 },
7aacca6f
DM
21850 "proxyto" : "node",
21851 "returns" : {
21852 "type" : "object"
44660702 21853 }
7aacca6f 21854 },
44660702
DM
21855 "POST" : {
21856 "description" : "Update subscription info.",
21857 "method" : "POST",
21858 "name" : "update",
7aacca6f
DM
21859 "parameters" : {
21860 "additionalProperties" : 0,
21861 "properties" : {
44660702
DM
21862 "force" : {
21863 "default" : 0,
21864 "description" : "Always connect to server, even if we have up to date info inside local cache.",
21865 "optional" : 1,
013dc89f
DM
21866 "type" : "boolean",
21867 "typetext" : "<boolean>"
44660702 21868 },
7aacca6f 21869 "node" : {
7aacca6f 21870 "description" : "The cluster node name.",
44660702 21871 "format" : "pve-node",
013dc89f
DM
21872 "type" : "string",
21873 "typetext" : "<string>"
7aacca6f
DM
21874 }
21875 }
21876 },
35a75dd3
DM
21877 "permissions" : {
21878 "check" : [
21879 "perm",
21880 "/nodes/{node}",
21881 [
21882 "Sys.Modify"
21883 ]
21884 ]
21885 },
7aacca6f 21886 "protected" : 1,
7aacca6f 21887 "proxyto" : "node",
44660702
DM
21888 "returns" : {
21889 "type" : "null"
21890 }
21891 },
21892 "PUT" : {
21893 "description" : "Set subscription key.",
21894 "method" : "PUT",
21895 "name" : "set",
7aacca6f
DM
21896 "parameters" : {
21897 "additionalProperties" : 0,
21898 "properties" : {
44660702
DM
21899 "key" : {
21900 "description" : "Proxmox VE subscription key",
2489d6df
WB
21901 "maxLength" : 32,
21902 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
21903 "type" : "string"
7aacca6f
DM
21904 },
21905 "node" : {
7aacca6f 21906 "description" : "The cluster node name.",
44660702 21907 "format" : "pve-node",
013dc89f
DM
21908 "type" : "string",
21909 "typetext" : "<string>"
7aacca6f
DM
21910 }
21911 }
21912 },
35a75dd3
DM
21913 "permissions" : {
21914 "check" : [
21915 "perm",
21916 "/nodes/{node}",
21917 [
21918 "Sys.Modify"
21919 ]
21920 ]
21921 },
44660702
DM
21922 "protected" : 1,
21923 "proxyto" : "node",
7aacca6f
DM
21924 "returns" : {
21925 "type" : "null"
44660702 21926 }
7aacca6f
DM
21927 }
21928 },
44660702 21929 "leaf" : 1,
7aacca6f 21930 "path" : "/nodes/{node}/subscription",
44660702 21931 "text" : "subscription"
7aacca6f
DM
21932 },
21933 {
7aacca6f
DM
21934 "children" : [
21935 {
56122987 21936 "info" : {
7aacca6f 21937 "DELETE" : {
44660702
DM
21938 "description" : "Delete network device configuration",
21939 "method" : "DELETE",
21940 "name" : "delete_network",
21941 "parameters" : {
21942 "additionalProperties" : 0,
21943 "properties" : {
21944 "iface" : {
21945 "description" : "Network interface name.",
21946 "format" : "pve-iface",
21947 "maxLength" : 20,
21948 "minLength" : 2,
013dc89f
DM
21949 "type" : "string",
21950 "typetext" : "<string>"
44660702
DM
21951 },
21952 "node" : {
21953 "description" : "The cluster node name.",
21954 "format" : "pve-node",
013dc89f
DM
21955 "type" : "string",
21956 "typetext" : "<string>"
44660702
DM
21957 }
21958 }
7aacca6f
DM
21959 },
21960 "permissions" : {
21961 "check" : [
21962 "perm",
21963 "/nodes/{node}",
21964 [
21965 "Sys.Modify"
21966 ]
21967 ]
21968 },
44660702 21969 "protected" : 1,
7aacca6f 21970 "proxyto" : "node",
44660702
DM
21971 "returns" : {
21972 "type" : "null"
21973 }
21974 },
21975 "GET" : {
21976 "description" : "Read network device configuration",
21977 "method" : "GET",
21978 "name" : "network_config",
56122987 21979 "parameters" : {
44660702 21980 "additionalProperties" : 0,
56122987 21981 "properties" : {
7aacca6f 21982 "iface" : {
7aacca6f 21983 "description" : "Network interface name.",
44660702
DM
21984 "format" : "pve-iface",
21985 "maxLength" : 20,
7aacca6f 21986 "minLength" : 2,
013dc89f
DM
21987 "type" : "string",
21988 "typetext" : "<string>"
44660702
DM
21989 },
21990 "node" : {
21991 "description" : "The cluster node name.",
21992 "format" : "pve-node",
013dc89f
DM
21993 "type" : "string",
21994 "typetext" : "<string>"
56122987 21995 }
44660702 21996 }
7aacca6f
DM
21997 },
21998 "permissions" : {
21999 "check" : [
22000 "perm",
22001 "/nodes/{node}",
22002 [
44660702 22003 "Sys.Audit"
7aacca6f
DM
22004 ]
22005 ]
22006 },
22007 "proxyto" : "node",
44660702
DM
22008 "returns" : {
22009 "properties" : {
22010 "method" : {
22011 "type" : "string"
22012 },
22013 "type" : {
22014 "type" : "string"
22015 }
22016 },
22017 "type" : "object"
22018 }
22019 },
22020 "PUT" : {
7aacca6f
DM
22021 "description" : "Update network device configuration",
22022 "method" : "PUT",
22023 "name" : "update_network",
22024 "parameters" : {
22025 "additionalProperties" : 0,
22026 "properties" : {
7aacca6f 22027 "address" : {
44660702 22028 "description" : "IP address.",
7aacca6f 22029 "format" : "ipv4",
44660702 22030 "optional" : 1,
7aacca6f 22031 "requires" : "netmask",
013dc89f
DM
22032 "type" : "string",
22033 "typetext" : "<string>"
7aacca6f 22034 },
44660702
DM
22035 "address6" : {
22036 "description" : "IP address.",
22037 "format" : "ipv6",
22038 "optional" : 1,
22039 "requires" : "netmask6",
013dc89f
DM
22040 "type" : "string",
22041 "typetext" : "<string>"
7aacca6f
DM
22042 },
22043 "autostart" : {
44660702 22044 "description" : "Automatically start interface on boot.",
7aacca6f 22045 "optional" : 1,
013dc89f
DM
22046 "type" : "boolean",
22047 "typetext" : "<boolean>"
7aacca6f 22048 },
44660702
DM
22049 "bond_mode" : {
22050 "description" : "Bonding mode.",
7aacca6f 22051 "enum" : [
44660702
DM
22052 "balance-rr",
22053 "active-backup",
22054 "balance-xor",
22055 "broadcast",
22056 "802.3ad",
22057 "balance-tlb",
22058 "balance-alb",
22059 "balance-slb",
22060 "lacp-balance-slb",
22061 "lacp-balance-tcp"
22062 ],
7aacca6f 22063 "optional" : 1,
44660702 22064 "type" : "string"
7aacca6f 22065 },
44660702
DM
22066 "bond_xmit_hash_policy" : {
22067 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22068 "enum" : [
22069 "layer2",
22070 "layer2+3",
22071 "layer3+4"
22072 ],
7aacca6f 22073 "optional" : 1,
44660702 22074 "type" : "string"
7aacca6f 22075 },
44660702
DM
22076 "bridge_ports" : {
22077 "description" : "Specify the iterfaces you want to add to your bridge.",
22078 "format" : "pve-iface-list",
7aacca6f 22079 "optional" : 1,
013dc89f
DM
22080 "type" : "string",
22081 "typetext" : "<string>"
7aacca6f 22082 },
44660702
DM
22083 "bridge_vlan_aware" : {
22084 "description" : "Enable bridge vlan support.",
7aacca6f 22085 "optional" : 1,
013dc89f
DM
22086 "type" : "boolean",
22087 "typetext" : "<boolean>"
7aacca6f
DM
22088 },
22089 "comments" : {
44660702 22090 "description" : "Comments",
7aacca6f 22091 "optional" : 1,
013dc89f
DM
22092 "type" : "string",
22093 "typetext" : "<string>"
7aacca6f 22094 },
44660702
DM
22095 "comments6" : {
22096 "description" : "Comments",
7aacca6f 22097 "optional" : 1,
013dc89f
DM
22098 "type" : "string",
22099 "typetext" : "<string>"
7aacca6f 22100 },
44660702
DM
22101 "delete" : {
22102 "description" : "A list of settings you want to delete.",
22103 "format" : "pve-configid-list",
7aacca6f 22104 "optional" : 1,
013dc89f
DM
22105 "type" : "string",
22106 "typetext" : "<string>"
7aacca6f 22107 },
44660702
DM
22108 "gateway" : {
22109 "description" : "Default gateway address.",
22110 "format" : "ipv4",
7aacca6f 22111 "optional" : 1,
013dc89f
DM
22112 "type" : "string",
22113 "typetext" : "<string>"
7aacca6f 22114 },
44660702
DM
22115 "gateway6" : {
22116 "description" : "Default ipv6 gateway address.",
22117 "format" : "ipv6",
7aacca6f 22118 "optional" : 1,
013dc89f
DM
22119 "type" : "string",
22120 "typetext" : "<string>"
7aacca6f
DM
22121 },
22122 "iface" : {
44660702 22123 "description" : "Network interface name.",
7aacca6f
DM
22124 "format" : "pve-iface",
22125 "maxLength" : 20,
22126 "minLength" : 2,
013dc89f
DM
22127 "type" : "string",
22128 "typetext" : "<string>"
7aacca6f 22129 },
44660702
DM
22130 "netmask" : {
22131 "description" : "Network mask.",
22132 "format" : "ipv4mask",
7aacca6f 22133 "optional" : 1,
44660702 22134 "requires" : "address",
013dc89f
DM
22135 "type" : "string",
22136 "typetext" : "<string>"
7aacca6f
DM
22137 },
22138 "netmask6" : {
44660702 22139 "description" : "Network mask.",
7aacca6f 22140 "maximum" : 128,
44660702 22141 "minimum" : 0,
7aacca6f
DM
22142 "optional" : 1,
22143 "requires" : "address6",
4bd7df8b 22144 "type" : "integer",
013dc89f 22145 "typetext" : "<integer> (0 - 128)"
44660702 22146 },
7aacca6f 22147 "node" : {
44660702 22148 "description" : "The cluster node name.",
7aacca6f 22149 "format" : "pve-node",
013dc89f
DM
22150 "type" : "string",
22151 "typetext" : "<string>"
7aacca6f 22152 },
44660702
DM
22153 "ovs_bonds" : {
22154 "description" : "Specify the interfaces used by the bonding device.",
22155 "format" : "pve-iface-list",
22156 "optional" : 1,
013dc89f
DM
22157 "type" : "string",
22158 "typetext" : "<string>"
44660702
DM
22159 },
22160 "ovs_bridge" : {
22161 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22162 "format" : "pve-iface",
22163 "optional" : 1,
013dc89f
DM
22164 "type" : "string",
22165 "typetext" : "<string>"
44660702
DM
22166 },
22167 "ovs_options" : {
22168 "description" : "OVS interface options.",
22169 "maxLength" : 1024,
22170 "optional" : 1,
013dc89f
DM
22171 "type" : "string",
22172 "typetext" : "<string>"
44660702
DM
22173 },
22174 "ovs_ports" : {
22175 "description" : "Specify the iterfaces you want to add to your bridge.",
22176 "format" : "pve-iface-list",
22177 "optional" : 1,
013dc89f
DM
22178 "type" : "string",
22179 "typetext" : "<string>"
44660702
DM
22180 },
22181 "ovs_tag" : {
22182 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22183 "maximum" : 4094,
22184 "minimum" : 1,
22185 "optional" : 1,
4bd7df8b 22186 "type" : "integer",
013dc89f 22187 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22188 },
22189 "slaves" : {
22190 "description" : "Specify the interfaces used by the bonding device.",
22191 "format" : "pve-iface-list",
22192 "optional" : 1,
013dc89f
DM
22193 "type" : "string",
22194 "typetext" : "<string>"
44660702
DM
22195 },
22196 "type" : {
22197 "description" : "Network interface type",
22198 "enum" : [
22199 "bridge",
22200 "bond",
22201 "eth",
22202 "alias",
22203 "vlan",
22204 "OVSBridge",
22205 "OVSBond",
22206 "OVSPort",
22207 "OVSIntPort",
22208 "unknown"
22209 ],
22210 "type" : "string"
7aacca6f
DM
22211 }
22212 }
22213 },
7aacca6f
DM
22214 "permissions" : {
22215 "check" : [
22216 "perm",
22217 "/nodes/{node}",
22218 [
44660702 22219 "Sys.Modify"
7aacca6f
DM
22220 ]
22221 ]
22222 },
44660702
DM
22223 "protected" : 1,
22224 "proxyto" : "node",
7aacca6f 22225 "returns" : {
44660702
DM
22226 "type" : "null"
22227 }
7aacca6f
DM
22228 }
22229 },
7aacca6f 22230 "leaf" : 1,
44660702
DM
22231 "path" : "/nodes/{node}/network/{iface}",
22232 "text" : "{iface}"
7aacca6f
DM
22233 }
22234 ],
7aacca6f 22235 "info" : {
44660702
DM
22236 "DELETE" : {
22237 "description" : "Revert network configuration changes.",
22238 "method" : "DELETE",
22239 "name" : "revert_network_changes",
7aacca6f
DM
22240 "parameters" : {
22241 "additionalProperties" : 0,
22242 "properties" : {
7aacca6f 22243 "node" : {
7aacca6f 22244 "description" : "The cluster node name.",
44660702 22245 "format" : "pve-node",
013dc89f
DM
22246 "type" : "string",
22247 "typetext" : "<string>"
7aacca6f
DM
22248 }
22249 }
44660702 22250 },
7aacca6f
DM
22251 "permissions" : {
22252 "check" : [
22253 "perm",
22254 "/nodes/{node}",
22255 [
22256 "Sys.Modify"
22257 ]
22258 ]
22259 },
44660702
DM
22260 "protected" : 1,
22261 "proxyto" : "node",
7aacca6f
DM
22262 "returns" : {
22263 "type" : "null"
44660702 22264 }
7aacca6f 22265 },
44660702
DM
22266 "GET" : {
22267 "description" : "List available networks",
22268 "method" : "GET",
22269 "name" : "index",
7aacca6f 22270 "parameters" : {
44660702 22271 "additionalProperties" : 0,
7aacca6f 22272 "properties" : {
7aacca6f 22273 "node" : {
44660702
DM
22274 "description" : "The cluster node name.",
22275 "format" : "pve-node",
013dc89f
DM
22276 "type" : "string",
22277 "typetext" : "<string>"
7aacca6f
DM
22278 },
22279 "type" : {
44660702 22280 "description" : "Only list specific interface types.",
7aacca6f
DM
22281 "enum" : [
22282 "bridge",
22283 "bond",
22284 "eth",
22285 "alias",
22286 "vlan",
22287 "OVSBridge",
22288 "OVSBond",
22289 "OVSPort",
22290 "OVSIntPort",
44660702 22291 "any_bridge"
7aacca6f 22292 ],
7aacca6f 22293 "optional" : 1,
44660702
DM
22294 "type" : "string"
22295 }
22296 }
22297 },
22298 "permissions" : {
22299 "user" : "all"
22300 },
22301 "proxyto" : "node",
22302 "returns" : {
22303 "items" : {
22304 "properties" : {},
22305 "type" : "object"
22306 },
22307 "links" : [
22308 {
22309 "href" : "{iface}",
22310 "rel" : "child"
22311 }
22312 ],
22313 "type" : "array"
22314 }
22315 },
22316 "POST" : {
22317 "description" : "Create network device configuration",
22318 "method" : "POST",
22319 "name" : "create_network",
22320 "parameters" : {
22321 "additionalProperties" : 0,
22322 "properties" : {
7aacca6f 22323 "address" : {
44660702
DM
22324 "description" : "IP address.",
22325 "format" : "ipv4",
22326 "optional" : 1,
7aacca6f 22327 "requires" : "netmask",
013dc89f
DM
22328 "type" : "string",
22329 "typetext" : "<string>"
44660702
DM
22330 },
22331 "address6" : {
7aacca6f 22332 "description" : "IP address.",
44660702
DM
22333 "format" : "ipv6",
22334 "optional" : 1,
22335 "requires" : "netmask6",
013dc89f
DM
22336 "type" : "string",
22337 "typetext" : "<string>"
44660702
DM
22338 },
22339 "autostart" : {
22340 "description" : "Automatically start interface on boot.",
7aacca6f 22341 "optional" : 1,
013dc89f
DM
22342 "type" : "boolean",
22343 "typetext" : "<boolean>"
7aacca6f
DM
22344 },
22345 "bond_mode" : {
22346 "description" : "Bonding mode.",
22347 "enum" : [
22348 "balance-rr",
22349 "active-backup",
22350 "balance-xor",
22351 "broadcast",
22352 "802.3ad",
22353 "balance-tlb",
22354 "balance-alb",
22355 "balance-slb",
22356 "lacp-balance-slb",
22357 "lacp-balance-tcp"
22358 ],
22359 "optional" : 1,
22360 "type" : "string"
22361 },
44660702
DM
22362 "bond_xmit_hash_policy" : {
22363 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
22364 "enum" : [
22365 "layer2",
22366 "layer2+3",
22367 "layer3+4"
22368 ],
22369 "optional" : 1,
22370 "type" : "string"
22371 },
22372 "bridge_ports" : {
22373 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 22374 "format" : "pve-iface-list",
7aacca6f 22375 "optional" : 1,
013dc89f
DM
22376 "type" : "string",
22377 "typetext" : "<string>"
7aacca6f 22378 },
44660702
DM
22379 "bridge_vlan_aware" : {
22380 "description" : "Enable bridge vlan support.",
7aacca6f 22381 "optional" : 1,
013dc89f
DM
22382 "type" : "boolean",
22383 "typetext" : "<boolean>"
7aacca6f 22384 },
44660702
DM
22385 "comments" : {
22386 "description" : "Comments",
7aacca6f 22387 "optional" : 1,
013dc89f
DM
22388 "type" : "string",
22389 "typetext" : "<string>"
44660702
DM
22390 },
22391 "comments6" : {
22392 "description" : "Comments",
22393 "optional" : 1,
013dc89f
DM
22394 "type" : "string",
22395 "typetext" : "<string>"
44660702
DM
22396 },
22397 "gateway" : {
22398 "description" : "Default gateway address.",
22399 "format" : "ipv4",
22400 "optional" : 1,
013dc89f
DM
22401 "type" : "string",
22402 "typetext" : "<string>"
44660702
DM
22403 },
22404 "gateway6" : {
22405 "description" : "Default ipv6 gateway address.",
22406 "format" : "ipv6",
22407 "optional" : 1,
013dc89f
DM
22408 "type" : "string",
22409 "typetext" : "<string>"
56122987 22410 },
7aacca6f 22411 "iface" : {
44660702 22412 "description" : "Network interface name.",
7aacca6f
DM
22413 "format" : "pve-iface",
22414 "maxLength" : 20,
44660702 22415 "minLength" : 2,
013dc89f
DM
22416 "type" : "string",
22417 "typetext" : "<string>"
56122987 22418 },
44660702
DM
22419 "netmask" : {
22420 "description" : "Network mask.",
22421 "format" : "ipv4mask",
7aacca6f 22422 "optional" : 1,
44660702 22423 "requires" : "address",
013dc89f
DM
22424 "type" : "string",
22425 "typetext" : "<string>"
7aacca6f 22426 },
44660702
DM
22427 "netmask6" : {
22428 "description" : "Network mask.",
22429 "maximum" : 128,
22430 "minimum" : 0,
7aacca6f 22431 "optional" : 1,
44660702 22432 "requires" : "address6",
4bd7df8b 22433 "type" : "integer",
013dc89f 22434 "typetext" : "<integer> (0 - 128)"
7aacca6f 22435 },
44660702
DM
22436 "node" : {
22437 "description" : "The cluster node name.",
22438 "format" : "pve-node",
013dc89f
DM
22439 "type" : "string",
22440 "typetext" : "<string>"
44660702
DM
22441 },
22442 "ovs_bonds" : {
22443 "description" : "Specify the interfaces used by the bonding device.",
22444 "format" : "pve-iface-list",
7aacca6f 22445 "optional" : 1,
013dc89f
DM
22446 "type" : "string",
22447 "typetext" : "<string>"
7aacca6f 22448 },
44660702
DM
22449 "ovs_bridge" : {
22450 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
22451 "format" : "pve-iface",
22452 "optional" : 1,
013dc89f
DM
22453 "type" : "string",
22454 "typetext" : "<string>"
44660702
DM
22455 },
22456 "ovs_options" : {
22457 "description" : "OVS interface options.",
22458 "maxLength" : 1024,
22459 "optional" : 1,
013dc89f
DM
22460 "type" : "string",
22461 "typetext" : "<string>"
44660702
DM
22462 },
22463 "ovs_ports" : {
22464 "description" : "Specify the iterfaces you want to add to your bridge.",
22465 "format" : "pve-iface-list",
22466 "optional" : 1,
013dc89f
DM
22467 "type" : "string",
22468 "typetext" : "<string>"
44660702
DM
22469 },
22470 "ovs_tag" : {
22471 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
22472 "maximum" : 4094,
22473 "minimum" : 1,
22474 "optional" : 1,
4bd7df8b 22475 "type" : "integer",
013dc89f 22476 "typetext" : "<integer> (1 - 4094)"
44660702
DM
22477 },
22478 "slaves" : {
22479 "description" : "Specify the interfaces used by the bonding device.",
22480 "format" : "pve-iface-list",
7aacca6f 22481 "optional" : 1,
013dc89f
DM
22482 "type" : "string",
22483 "typetext" : "<string>"
44660702
DM
22484 },
22485 "type" : {
22486 "description" : "Network interface type",
7aacca6f 22487 "enum" : [
44660702
DM
22488 "bridge",
22489 "bond",
22490 "eth",
22491 "alias",
22492 "vlan",
22493 "OVSBridge",
22494 "OVSBond",
22495 "OVSPort",
22496 "OVSIntPort",
22497 "unknown"
7aacca6f 22498 ],
44660702 22499 "type" : "string"
56122987 22500 }
44660702 22501 }
56122987 22502 },
56122987
DM
22503 "permissions" : {
22504 "check" : [
22505 "perm",
22506 "/nodes/{node}",
22507 [
7aacca6f 22508 "Sys.Modify"
44660702
DM
22509 ]
22510 ]
7aacca6f 22511 },
44660702
DM
22512 "protected" : 1,
22513 "proxyto" : "node",
22514 "returns" : {
22515 "type" : "null"
22516 }
22517 }
22518 },
22519 "leaf" : 0,
22520 "path" : "/nodes/{node}/network",
22521 "text" : "network"
22522 },
22523 {
22524 "children" : [
22525 {
7aacca6f
DM
22526 "children" : [
22527 {
22528 "info" : {
22529 "GET" : {
44660702 22530 "description" : "Read task log.",
7aacca6f
DM
22531 "method" : "GET",
22532 "name" : "read_task_log",
22533 "parameters" : {
44660702 22534 "additionalProperties" : 0,
7aacca6f 22535 "properties" : {
44660702
DM
22536 "limit" : {
22537 "minimum" : 0,
7aacca6f 22538 "optional" : 1,
4bd7df8b 22539 "type" : "integer",
013dc89f 22540 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22541 },
22542 "node" : {
22543 "description" : "The cluster node name.",
44660702 22544 "format" : "pve-node",
013dc89f
DM
22545 "type" : "string",
22546 "typetext" : "<string>"
7aacca6f 22547 },
44660702
DM
22548 "start" : {
22549 "minimum" : 0,
7aacca6f 22550 "optional" : 1,
4bd7df8b 22551 "type" : "integer",
013dc89f 22552 "typetext" : "<integer> (0 - N)"
44660702
DM
22553 },
22554 "upid" : {
013dc89f
DM
22555 "type" : "string",
22556 "typetext" : "<string>"
7aacca6f 22557 }
44660702
DM
22558 }
22559 },
22560 "permissions" : {
22561 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22562 "user" : "all"
7aacca6f
DM
22563 },
22564 "protected" : 1,
44660702 22565 "proxyto" : "node",
7aacca6f 22566 "returns" : {
7aacca6f 22567 "items" : {
7aacca6f
DM
22568 "properties" : {
22569 "n" : {
44660702
DM
22570 "description" : "Line number",
22571 "type" : "integer"
7aacca6f
DM
22572 },
22573 "t" : {
44660702
DM
22574 "description" : "Line text",
22575 "type" : "string"
7aacca6f 22576 }
44660702
DM
22577 },
22578 "type" : "object"
22579 },
22580 "type" : "array"
22581 }
7aacca6f 22582 }
56122987 22583 },
7aacca6f 22584 "leaf" : 1,
44660702
DM
22585 "path" : "/nodes/{node}/tasks/{upid}/log",
22586 "text" : "log"
7aacca6f
DM
22587 },
22588 {
7aacca6f
DM
22589 "info" : {
22590 "GET" : {
44660702
DM
22591 "description" : "Read task status.",
22592 "method" : "GET",
7aacca6f
DM
22593 "name" : "read_task_status",
22594 "parameters" : {
22595 "additionalProperties" : 0,
22596 "properties" : {
22597 "node" : {
7aacca6f 22598 "description" : "The cluster node name.",
44660702 22599 "format" : "pve-node",
013dc89f
DM
22600 "type" : "string",
22601 "typetext" : "<string>"
7aacca6f
DM
22602 },
22603 "upid" : {
013dc89f
DM
22604 "type" : "string",
22605 "typetext" : "<string>"
7aacca6f
DM
22606 }
22607 }
22608 },
7aacca6f
DM
22609 "permissions" : {
22610 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
22611 "user" : "all"
56122987 22612 },
44660702 22613 "protected" : 1,
7aacca6f 22614 "proxyto" : "node",
7aacca6f
DM
22615 "returns" : {
22616 "properties" : {
22617 "pid" : {
22618 "type" : "integer"
22619 },
22620 "status" : {
7aacca6f
DM
22621 "enum" : [
22622 "running",
22623 "stopped"
44660702
DM
22624 ],
22625 "type" : "string"
7aacca6f
DM
22626 }
22627 },
22628 "type" : "object"
56122987 22629 }
7aacca6f 22630 }
44660702
DM
22631 },
22632 "leaf" : 1,
22633 "path" : "/nodes/{node}/tasks/{upid}/status",
22634 "text" : "status"
56122987 22635 }
7aacca6f 22636 ],
44660702
DM
22637 "info" : {
22638 "DELETE" : {
22639 "description" : "Stop a task.",
22640 "method" : "DELETE",
22641 "name" : "stop_task",
22642 "parameters" : {
22643 "additionalProperties" : 0,
22644 "properties" : {
22645 "node" : {
22646 "description" : "The cluster node name.",
22647 "format" : "pve-node",
013dc89f
DM
22648 "type" : "string",
22649 "typetext" : "<string>"
44660702
DM
22650 },
22651 "upid" : {
013dc89f
DM
22652 "type" : "string",
22653 "typetext" : "<string>"
44660702 22654 }
7aacca6f 22655 }
44660702
DM
22656 },
22657 "permissions" : {
22658 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
22659 "user" : "all"
22660 },
22661 "protected" : 1,
22662 "proxyto" : "node",
22663 "returns" : {
22664 "type" : "null"
7aacca6f 22665 }
56122987 22666 },
44660702
DM
22667 "GET" : {
22668 "description" : "",
22669 "method" : "GET",
22670 "name" : "upid_index",
22671 "parameters" : {
22672 "additionalProperties" : 0,
22673 "properties" : {
22674 "node" : {
22675 "description" : "The cluster node name.",
22676 "format" : "pve-node",
013dc89f
DM
22677 "type" : "string",
22678 "typetext" : "<string>"
44660702
DM
22679 },
22680 "upid" : {
013dc89f
DM
22681 "type" : "string",
22682 "typetext" : "<string>"
44660702
DM
22683 }
22684 }
22685 },
22686 "permissions" : {
22687 "user" : "all"
22688 },
22689 "returns" : {
22690 "items" : {
22691 "properties" : {},
22692 "type" : "object"
22693 },
22694 "links" : [
22695 {
22696 "href" : "{name}",
22697 "rel" : "child"
22698 }
22699 ],
22700 "type" : "array"
56122987 22701 }
44660702 22702 }
56122987 22703 },
44660702
DM
22704 "leaf" : 0,
22705 "path" : "/nodes/{node}/tasks/{upid}",
22706 "text" : "{upid}"
22707 }
22708 ],
22709 "info" : {
22710 "GET" : {
7aacca6f 22711 "description" : "Read task list for one node (finished tasks).",
44660702
DM
22712 "method" : "GET",
22713 "name" : "node_tasks",
56122987 22714 "parameters" : {
7aacca6f 22715 "additionalProperties" : 0,
56122987 22716 "properties" : {
44660702 22717 "errors" : {
56122987 22718 "optional" : 1,
013dc89f
DM
22719 "type" : "boolean",
22720 "typetext" : "<boolean>"
56122987 22721 },
44660702 22722 "limit" : {
56122987 22723 "minimum" : 0,
56122987 22724 "optional" : 1,
4bd7df8b 22725 "type" : "integer",
013dc89f 22726 "typetext" : "<integer> (0 - N)"
56122987 22727 },
56122987
DM
22728 "node" : {
22729 "description" : "The cluster node name.",
44660702 22730 "format" : "pve-node",
013dc89f
DM
22731 "type" : "string",
22732 "typetext" : "<string>"
56122987 22733 },
44660702 22734 "start" : {
7aacca6f 22735 "minimum" : 0,
44660702 22736 "optional" : 1,
4bd7df8b 22737 "type" : "integer",
013dc89f 22738 "typetext" : "<integer> (0 - N)"
56122987 22739 },
7aacca6f 22740 "userfilter" : {
44660702 22741 "optional" : 1,
013dc89f
DM
22742 "type" : "string",
22743 "typetext" : "<string>"
44660702
DM
22744 },
22745 "vmid" : {
22746 "description" : "Only list tasks for this VM.",
22747 "format" : "pve-vmid",
22748 "minimum" : 1,
22749 "optional" : 1,
4bd7df8b 22750 "type" : "integer",
013dc89f 22751 "typetext" : "<integer> (1 - N)"
56122987
DM
22752 }
22753 }
22754 },
7aacca6f 22755 "permissions" : {
44660702 22756 "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
22757 "user" : "all"
22758 },
44660702 22759 "proxyto" : "node",
56122987
DM
22760 "returns" : {
22761 "items" : {
22762 "properties" : {
44660702 22763 "upid" : {
56122987
DM
22764 "type" : "string"
22765 }
22766 },
22767 "type" : "object"
22768 },
56122987
DM
22769 "links" : [
22770 {
44660702
DM
22771 "href" : "{upid}",
22772 "rel" : "child"
56122987 22773 }
44660702
DM
22774 ],
22775 "type" : "array"
56122987
DM
22776 }
22777 }
22778 },
44660702
DM
22779 "leaf" : 0,
22780 "path" : "/nodes/{node}/tasks",
22781 "text" : "tasks"
22782 },
22783 {
56122987
DM
22784 "children" : [
22785 {
56122987
DM
22786 "info" : {
22787 "GET" : {
7aacca6f 22788 "description" : "Scan zfs pool list on local node.",
44660702
DM
22789 "method" : "GET",
22790 "name" : "zfsscan",
56122987 22791 "parameters" : {
44660702 22792 "additionalProperties" : 0,
56122987 22793 "properties" : {
56122987
DM
22794 "node" : {
22795 "description" : "The cluster node name.",
44660702 22796 "format" : "pve-node",
013dc89f
DM
22797 "type" : "string",
22798 "typetext" : "<string>"
56122987 22799 }
44660702
DM
22800 }
22801 },
7aacca6f
DM
22802 "permissions" : {
22803 "check" : [
22804 "perm",
22805 "/storage",
22806 [
22807 "Datastore.Allocate"
22808 ]
22809 ]
22810 },
44660702
DM
22811 "protected" : 1,
22812 "proxyto" : "node",
56122987 22813 "returns" : {
56122987
DM
22814 "items" : {
22815 "properties" : {
44660702 22816 "pool" : {
56122987
DM
22817 "type" : "string"
22818 }
44660702
DM
22819 },
22820 "type" : "object"
22821 },
22822 "type" : "array"
22823 }
22824 }
22825 },
22826 "leaf" : 1,
22827 "path" : "/nodes/{node}/scan/zfs",
22828 "text" : "zfs"
22829 },
22830 {
22831 "info" : {
22832 "GET" : {
22833 "description" : "Scan remote NFS server.",
22834 "method" : "GET",
7aacca6f 22835 "name" : "nfsscan",
56122987 22836 "parameters" : {
44660702 22837 "additionalProperties" : 0,
56122987
DM
22838 "properties" : {
22839 "node" : {
7aacca6f 22840 "description" : "The cluster node name.",
44660702 22841 "format" : "pve-node",
013dc89f
DM
22842 "type" : "string",
22843 "typetext" : "<string>"
7aacca6f
DM
22844 },
22845 "server" : {
22846 "format" : "pve-storage-server",
013dc89f
DM
22847 "type" : "string",
22848 "typetext" : "<string>"
56122987 22849 }
44660702 22850 }
56122987 22851 },
56122987
DM
22852 "permissions" : {
22853 "check" : [
22854 "perm",
22855 "/storage",
22856 [
22857 "Datastore.Allocate"
22858 ]
22859 ]
22860 },
44660702 22861 "protected" : 1,
56122987 22862 "proxyto" : "node",
44660702
DM
22863 "returns" : {
22864 "items" : {
22865 "properties" : {
22866 "options" : {
22867 "type" : "string"
22868 },
22869 "path" : {
22870 "type" : "string"
22871 }
22872 },
22873 "type" : "object"
22874 },
22875 "type" : "array"
22876 }
22877 }
22878 },
22879 "leaf" : 1,
22880 "path" : "/nodes/{node}/scan/nfs",
22881 "text" : "nfs"
22882 },
27a7acb2
DM
22883 {
22884 "info" : {
22885 "GET" : {
22886 "description" : "Scan remote CIFS server.",
22887 "method" : "GET",
22888 "name" : "cifsscan",
22889 "parameters" : {
22890 "additionalProperties" : 0,
22891 "properties" : {
22892 "domain" : {
22893 "optional" : 1,
22894 "type" : "string",
22895 "typetext" : "<string>"
22896 },
22897 "node" : {
22898 "description" : "The cluster node name.",
22899 "format" : "pve-node",
22900 "type" : "string",
22901 "typetext" : "<string>"
22902 },
22903 "password" : {
22904 "optional" : 1,
22905 "type" : "string",
22906 "typetext" : "<string>"
22907 },
22908 "server" : {
22909 "format" : "pve-storage-server",
22910 "type" : "string",
22911 "typetext" : "<string>"
22912 },
22913 "username" : {
22914 "optional" : 1,
22915 "type" : "string",
22916 "typetext" : "<string>"
22917 }
22918 }
22919 },
22920 "permissions" : {
22921 "check" : [
22922 "perm",
22923 "/storage",
22924 [
22925 "Datastore.Allocate"
22926 ]
22927 ]
22928 },
22929 "protected" : 1,
22930 "proxyto" : "node",
22931 "returns" : {
22932 "items" : {
22933 "properties" : {
22934 "description" : {
22935 "type" : "string"
22936 },
22937 "share" : {
22938 "type" : "string"
22939 }
22940 },
22941 "type" : "object"
22942 },
22943 "type" : "array"
22944 }
22945 }
22946 },
22947 "leaf" : 1,
22948 "path" : "/nodes/{node}/scan/cifs",
22949 "text" : "cifs"
22950 },
44660702
DM
22951 {
22952 "info" : {
22953 "GET" : {
22954 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
22955 "method" : "GET",
22956 "name" : "glusterfsscan",
56122987 22957 "parameters" : {
44660702 22958 "additionalProperties" : 0,
56122987 22959 "properties" : {
56122987 22960 "node" : {
44660702 22961 "description" : "The cluster node name.",
56122987 22962 "format" : "pve-node",
013dc89f
DM
22963 "type" : "string",
22964 "typetext" : "<string>"
7aacca6f
DM
22965 },
22966 "server" : {
22967 "format" : "pve-storage-server",
013dc89f
DM
22968 "type" : "string",
22969 "typetext" : "<string>"
56122987 22970 }
44660702
DM
22971 }
22972 },
22973 "permissions" : {
22974 "check" : [
22975 "perm",
22976 "/storage",
22977 [
22978 "Datastore.Allocate"
22979 ]
22980 ]
7aacca6f 22981 },
44660702
DM
22982 "protected" : 1,
22983 "proxyto" : "node",
22984 "returns" : {
22985 "items" : {
22986 "properties" : {
22987 "volname" : {
22988 "type" : "string"
22989 }
22990 },
22991 "type" : "object"
22992 },
22993 "type" : "array"
22994 }
56122987
DM
22995 }
22996 },
44660702
DM
22997 "leaf" : 1,
22998 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 22999 "text" : "glusterfs"
56122987
DM
23000 },
23001 {
56122987
DM
23002 "info" : {
23003 "GET" : {
7aacca6f 23004 "description" : "Scan remote iSCSI server.",
44660702
DM
23005 "method" : "GET",
23006 "name" : "iscsiscan",
23007 "parameters" : {
23008 "additionalProperties" : 0,
23009 "properties" : {
23010 "node" : {
23011 "description" : "The cluster node name.",
23012 "format" : "pve-node",
013dc89f
DM
23013 "type" : "string",
23014 "typetext" : "<string>"
44660702
DM
23015 },
23016 "portal" : {
23017 "format" : "pve-storage-portal-dns",
013dc89f
DM
23018 "type" : "string",
23019 "typetext" : "<string>"
44660702
DM
23020 }
23021 }
23022 },
56122987
DM
23023 "permissions" : {
23024 "check" : [
23025 "perm",
23026 "/storage",
23027 [
23028 "Datastore.Allocate"
23029 ]
23030 ]
23031 },
44660702
DM
23032 "protected" : 1,
23033 "proxyto" : "node",
56122987 23034 "returns" : {
56122987
DM
23035 "items" : {
23036 "properties" : {
44660702 23037 "portal" : {
56122987
DM
23038 "type" : "string"
23039 },
44660702 23040 "target" : {
56122987
DM
23041 "type" : "string"
23042 }
23043 },
23044 "type" : "object"
56122987 23045 },
44660702
DM
23046 "type" : "array"
23047 }
56122987
DM
23048 }
23049 },
44660702 23050 "leaf" : 1,
7aacca6f 23051 "path" : "/nodes/{node}/scan/iscsi",
44660702 23052 "text" : "iscsi"
56122987
DM
23053 },
23054 {
56122987
DM
23055 "info" : {
23056 "GET" : {
44660702
DM
23057 "description" : "List local LVM volume groups.",
23058 "method" : "GET",
23059 "name" : "lvmscan",
23060 "parameters" : {
23061 "additionalProperties" : 0,
23062 "properties" : {
23063 "node" : {
23064 "description" : "The cluster node name.",
23065 "format" : "pve-node",
013dc89f
DM
23066 "type" : "string",
23067 "typetext" : "<string>"
56122987 23068 }
7aacca6f 23069 }
56122987 23070 },
56122987
DM
23071 "permissions" : {
23072 "check" : [
23073 "perm",
23074 "/storage",
23075 [
23076 "Datastore.Allocate"
23077 ]
23078 ]
23079 },
7aacca6f 23080 "protected" : 1,
44660702
DM
23081 "proxyto" : "node",
23082 "returns" : {
23083 "items" : {
23084 "properties" : {
23085 "vg" : {
23086 "type" : "string"
23087 }
23088 },
23089 "type" : "object"
23090 },
23091 "type" : "array"
7aacca6f 23092 }
56122987
DM
23093 }
23094 },
23095 "leaf" : 1,
44660702
DM
23096 "path" : "/nodes/{node}/scan/lvm",
23097 "text" : "lvm"
56122987
DM
23098 },
23099 {
56122987
DM
23100 "info" : {
23101 "GET" : {
44660702
DM
23102 "description" : "List local LVM Thin Pools.",
23103 "method" : "GET",
23104 "name" : "lvmthinscan",
56122987 23105 "parameters" : {
44660702 23106 "additionalProperties" : 0,
56122987
DM
23107 "properties" : {
23108 "node" : {
44660702 23109 "description" : "The cluster node name.",
56122987 23110 "format" : "pve-node",
013dc89f
DM
23111 "type" : "string",
23112 "typetext" : "<string>"
56122987
DM
23113 },
23114 "vg" : {
44660702 23115 "maxLength" : 100,
56122987 23116 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 23117 "type" : "string"
56122987 23118 }
44660702 23119 }
56122987 23120 },
7aacca6f
DM
23121 "permissions" : {
23122 "check" : [
23123 "perm",
23124 "/storage",
23125 [
23126 "Datastore.Allocate"
23127 ]
23128 ]
23129 },
44660702 23130 "protected" : 1,
7aacca6f 23131 "proxyto" : "node",
56122987 23132 "returns" : {
56122987
DM
23133 "items" : {
23134 "properties" : {
23135 "lv" : {
23136 "type" : "string"
23137 }
23138 },
23139 "type" : "object"
44660702
DM
23140 },
23141 "type" : "array"
7aacca6f 23142 }
56122987
DM
23143 }
23144 },
7aacca6f 23145 "leaf" : 1,
44660702
DM
23146 "path" : "/nodes/{node}/scan/lvmthin",
23147 "text" : "lvmthin"
56122987
DM
23148 },
23149 {
56122987
DM
23150 "info" : {
23151 "GET" : {
44660702
DM
23152 "description" : "List local USB devices.",
23153 "method" : "GET",
23154 "name" : "usbscan",
23155 "parameters" : {
23156 "additionalProperties" : 0,
23157 "properties" : {
23158 "node" : {
23159 "description" : "The cluster node name.",
23160 "format" : "pve-node",
013dc89f
DM
23161 "type" : "string",
23162 "typetext" : "<string>"
44660702
DM
23163 }
23164 }
23165 },
7aacca6f
DM
23166 "permissions" : {
23167 "check" : [
23168 "perm",
23169 "/",
23170 [
23171 "Sys.Modify"
23172 ]
23173 ]
23174 },
44660702 23175 "protected" : 1,
7aacca6f 23176 "proxyto" : "node",
56122987
DM
23177 "returns" : {
23178 "items" : {
23179 "properties" : {
44660702
DM
23180 "busnum" : {
23181 "type" : "integer"
56122987 23182 },
44660702
DM
23183 "class" : {
23184 "type" : "integer"
56122987 23185 },
7aacca6f 23186 "devnum" : {
56122987
DM
23187 "type" : "integer"
23188 },
44660702
DM
23189 "level" : {
23190 "type" : "integer"
23191 },
23192 "manufacturer" : {
23193 "optional" : 1,
7aacca6f
DM
23194 "type" : "string"
23195 },
44660702 23196 "port" : {
56122987
DM
23197 "type" : "integer"
23198 },
44660702
DM
23199 "prodid" : {
23200 "type" : "string"
56122987 23201 },
44660702
DM
23202 "product" : {
23203 "optional" : 1,
23204 "type" : "string"
23205 },
23206 "serial" : {
7aacca6f 23207 "optional" : 1,
56122987
DM
23208 "type" : "string"
23209 },
44660702 23210 "speed" : {
7aacca6f 23211 "type" : "string"
56122987 23212 },
44660702 23213 "usbpath" : {
56122987
DM
23214 "optional" : 1,
23215 "type" : "string"
23216 },
44660702
DM
23217 "vendid" : {
23218 "type" : "string"
56122987
DM
23219 }
23220 },
23221 "type" : "object"
7aacca6f
DM
23222 },
23223 "type" : "array"
44660702
DM
23224 }
23225 }
23226 },
23227 "leaf" : 1,
23228 "path" : "/nodes/{node}/scan/usb",
23229 "text" : "usb"
23230 }
23231 ],
23232 "info" : {
23233 "GET" : {
23234 "description" : "Index of available scan methods",
23235 "method" : "GET",
23236 "name" : "index",
23237 "parameters" : {
23238 "additionalProperties" : 0,
23239 "properties" : {
23240 "node" : {
23241 "description" : "The cluster node name.",
23242 "format" : "pve-node",
013dc89f
DM
23243 "type" : "string",
23244 "typetext" : "<string>"
44660702
DM
23245 }
23246 }
23247 },
23248 "permissions" : {
23249 "user" : "all"
23250 },
23251 "returns" : {
23252 "items" : {
23253 "properties" : {
23254 "method" : {
23255 "type" : "string"
56122987
DM
23256 }
23257 },
44660702
DM
23258 "type" : "object"
23259 },
23260 "links" : [
23261 {
23262 "href" : "{method}",
23263 "rel" : "child"
23264 }
23265 ],
23266 "type" : "array"
56122987
DM
23267 }
23268 }
44660702
DM
23269 },
23270 "leaf" : 0,
23271 "path" : "/nodes/{node}/scan",
7aacca6f 23272 "text" : "scan"
56122987
DM
23273 },
23274 {
56122987
DM
23275 "children" : [
23276 {
56122987
DM
23277 "children" : [
23278 {
7aacca6f
DM
23279 "children" : [
23280 {
23281 "info" : {
44660702
DM
23282 "DELETE" : {
23283 "description" : "Delete volume",
23284 "method" : "DELETE",
23285 "name" : "delete",
7aacca6f
DM
23286 "parameters" : {
23287 "additionalProperties" : 0,
23288 "properties" : {
7aacca6f
DM
23289 "node" : {
23290 "description" : "The cluster node name.",
44660702 23291 "format" : "pve-node",
013dc89f
DM
23292 "type" : "string",
23293 "typetext" : "<string>"
44660702
DM
23294 },
23295 "storage" : {
23296 "description" : "The storage identifier.",
23297 "format" : "pve-storage-id",
23298 "optional" : 1,
013dc89f
DM
23299 "type" : "string",
23300 "typetext" : "<string>"
7aacca6f
DM
23301 },
23302 "volume" : {
23303 "description" : "Volume identifier",
013dc89f
DM
23304 "type" : "string",
23305 "typetext" : "<string>"
7aacca6f
DM
23306 }
23307 }
23308 },
44660702
DM
23309 "permissions" : {
23310 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
23311 "user" : "all"
23312 },
23313 "protected" : 1,
23314 "proxyto" : "node",
23315 "returns" : {
23316 "type" : "null"
23317 }
7aacca6f 23318 },
44660702
DM
23319 "GET" : {
23320 "description" : "Get volume attributes",
23321 "method" : "GET",
23322 "name" : "info",
7aacca6f
DM
23323 "parameters" : {
23324 "additionalProperties" : 0,
23325 "properties" : {
7aacca6f
DM
23326 "node" : {
23327 "description" : "The cluster node name.",
44660702 23328 "format" : "pve-node",
013dc89f
DM
23329 "type" : "string",
23330 "typetext" : "<string>"
7aacca6f
DM
23331 },
23332 "storage" : {
7aacca6f 23333 "description" : "The storage identifier.",
44660702 23334 "format" : "pve-storage-id",
7aacca6f 23335 "optional" : 1,
013dc89f
DM
23336 "type" : "string",
23337 "typetext" : "<string>"
44660702
DM
23338 },
23339 "volume" : {
23340 "description" : "Volume identifier",
013dc89f
DM
23341 "type" : "string",
23342 "typetext" : "<string>"
7aacca6f
DM
23343 }
23344 }
23345 },
7aacca6f 23346 "permissions" : {
44660702 23347 "description" : "You need read access for the volume.",
7aacca6f
DM
23348 "user" : "all"
23349 },
44660702 23350 "protected" : 1,
7aacca6f 23351 "proxyto" : "node",
7aacca6f 23352 "returns" : {
44660702 23353 "type" : "object"
7aacca6f
DM
23354 }
23355 },
23356 "POST" : {
44660702
DM
23357 "description" : "Copy a volume. This is experimental code - do not use.",
23358 "method" : "POST",
23359 "name" : "copy",
7aacca6f
DM
23360 "parameters" : {
23361 "additionalProperties" : 0,
23362 "properties" : {
44660702
DM
23363 "node" : {
23364 "description" : "The cluster node name.",
23365 "format" : "pve-node",
013dc89f
DM
23366 "type" : "string",
23367 "typetext" : "<string>"
44660702
DM
23368 },
23369 "storage" : {
23370 "description" : "The storage identifier.",
23371 "format" : "pve-storage-id",
23372 "optional" : 1,
013dc89f
DM
23373 "type" : "string",
23374 "typetext" : "<string>"
44660702 23375 },
7aacca6f 23376 "target" : {
44660702 23377 "description" : "Target volume identifier",
013dc89f
DM
23378 "type" : "string",
23379 "typetext" : "<string>"
7aacca6f
DM
23380 },
23381 "target_node" : {
7aacca6f 23382 "description" : "Target node. Default is local node.",
44660702
DM
23383 "format" : "pve-node",
23384 "optional" : 1,
013dc89f
DM
23385 "type" : "string",
23386 "typetext" : "<string>"
7aacca6f
DM
23387 },
23388 "volume" : {
44660702 23389 "description" : "Source volume identifier",
013dc89f
DM
23390 "type" : "string",
23391 "typetext" : "<string>"
7aacca6f
DM
23392 }
23393 }
23394 },
7aacca6f
DM
23395 "protected" : 1,
23396 "proxyto" : "node",
23397 "returns" : {
23398 "type" : "string"
44660702 23399 }
7aacca6f
DM
23400 }
23401 },
7aacca6f 23402 "leaf" : 1,
44660702
DM
23403 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
23404 "text" : "{volume}"
7aacca6f
DM
23405 }
23406 ],
56122987
DM
23407 "info" : {
23408 "GET" : {
44660702
DM
23409 "description" : "List storage content.",
23410 "method" : "GET",
23411 "name" : "index",
23412 "parameters" : {
23413 "additionalProperties" : 0,
23414 "properties" : {
23415 "content" : {
23416 "description" : "Only list content of this type.",
23417 "format" : "pve-storage-content",
23418 "optional" : 1,
013dc89f
DM
23419 "type" : "string",
23420 "typetext" : "<string>"
44660702
DM
23421 },
23422 "node" : {
23423 "description" : "The cluster node name.",
23424 "format" : "pve-node",
013dc89f
DM
23425 "type" : "string",
23426 "typetext" : "<string>"
44660702
DM
23427 },
23428 "storage" : {
23429 "description" : "The storage identifier.",
23430 "format" : "pve-storage-id",
013dc89f
DM
23431 "type" : "string",
23432 "typetext" : "<string>"
44660702
DM
23433 },
23434 "vmid" : {
23435 "description" : "Only list images for this VM",
23436 "format" : "pve-vmid",
23437 "minimum" : 1,
23438 "optional" : 1,
4bd7df8b 23439 "type" : "integer",
013dc89f 23440 "typetext" : "<integer> (1 - N)"
44660702
DM
23441 }
23442 }
23443 },
7aacca6f
DM
23444 "permissions" : {
23445 "check" : [
23446 "perm",
23447 "/storage/{storage}",
23448 [
23449 "Datastore.Audit",
23450 "Datastore.AllocateSpace"
23451 ],
23452 "any",
23453 1
23454 ]
23455 },
44660702 23456 "protected" : 1,
7aacca6f 23457 "proxyto" : "node",
56122987 23458 "returns" : {
44660702
DM
23459 "items" : {
23460 "properties" : {
23461 "volid" : {
23462 "type" : "string"
23463 }
23464 },
23465 "type" : "object"
23466 },
23467 "links" : [
23468 {
23469 "href" : "{volid}",
23470 "rel" : "child"
23471 }
23472 ],
23473 "type" : "array"
23474 }
23475 },
23476 "POST" : {
23477 "description" : "Allocate disk images.",
23478 "method" : "POST",
23479 "name" : "create",
56122987 23480 "parameters" : {
44660702 23481 "additionalProperties" : 0,
56122987 23482 "properties" : {
44660702
DM
23483 "filename" : {
23484 "description" : "The name of the file to create.",
013dc89f
DM
23485 "type" : "string",
23486 "typetext" : "<string>"
44660702
DM
23487 },
23488 "format" : {
23489 "enum" : [
23490 "raw",
23491 "qcow2",
23492 "subvol"
23493 ],
23494 "optional" : 1,
23495 "requires" : "size",
23496 "type" : "string"
23497 },
23498 "node" : {
23499 "description" : "The cluster node name.",
23500 "format" : "pve-node",
013dc89f
DM
23501 "type" : "string",
23502 "typetext" : "<string>"
44660702
DM
23503 },
23504 "size" : {
23505 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
23506 "pattern" : "\\d+[MG]?",
23507 "type" : "string"
23508 },
56122987
DM
23509 "storage" : {
23510 "description" : "The storage identifier.",
44660702 23511 "format" : "pve-storage-id",
013dc89f
DM
23512 "type" : "string",
23513 "typetext" : "<string>"
56122987 23514 },
44660702
DM
23515 "vmid" : {
23516 "description" : "Specify owner VM",
23517 "format" : "pve-vmid",
23518 "minimum" : 1,
4bd7df8b 23519 "type" : "integer",
013dc89f 23520 "typetext" : "<integer> (1 - N)"
44660702
DM
23521 }
23522 }
23523 },
23524 "permissions" : {
23525 "check" : [
23526 "perm",
23527 "/storage/{storage}",
23528 [
23529 "Datastore.AllocateSpace"
23530 ]
23531 ]
23532 },
23533 "protected" : 1,
23534 "proxyto" : "node",
23535 "returns" : {
23536 "description" : "Volume identifier",
23537 "type" : "string"
23538 }
23539 }
23540 },
23541 "leaf" : 0,
23542 "path" : "/nodes/{node}/storage/{storage}/content",
23543 "text" : "content"
23544 },
23545 {
23546 "info" : {
23547 "GET" : {
23548 "description" : "Read storage status.",
23549 "method" : "GET",
23550 "name" : "read_status",
23551 "parameters" : {
23552 "additionalProperties" : 0,
23553 "properties" : {
56122987
DM
23554 "node" : {
23555 "description" : "The cluster node name.",
44660702 23556 "format" : "pve-node",
013dc89f
DM
23557 "type" : "string",
23558 "typetext" : "<string>"
44660702
DM
23559 },
23560 "storage" : {
23561 "description" : "The storage identifier.",
23562 "format" : "pve-storage-id",
013dc89f
DM
23563 "type" : "string",
23564 "typetext" : "<string>"
56122987 23565 }
44660702
DM
23566 }
23567 },
23568 "permissions" : {
23569 "check" : [
23570 "perm",
23571 "/storage/{storage}",
23572 [
23573 "Datastore.Audit",
23574 "Datastore.AllocateSpace"
23575 ],
23576 "any",
23577 1
23578 ]
56122987
DM
23579 },
23580 "protected" : 1,
44660702
DM
23581 "proxyto" : "node",
23582 "returns" : {
23583 "properties" : {},
23584 "type" : "object"
23585 }
56122987
DM
23586 }
23587 },
44660702
DM
23588 "leaf" : 1,
23589 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 23590 "text" : "status"
56122987
DM
23591 },
23592 {
56122987
DM
23593 "info" : {
23594 "GET" : {
44660702
DM
23595 "description" : "Read storage RRD statistics (returns PNG).",
23596 "method" : "GET",
23597 "name" : "rrd",
56122987 23598 "parameters" : {
44660702 23599 "additionalProperties" : 0,
56122987 23600 "properties" : {
44660702
DM
23601 "cf" : {
23602 "description" : "The RRD consolidation function",
23603 "enum" : [
23604 "AVERAGE",
23605 "MAX"
23606 ],
23607 "optional" : 1,
23608 "type" : "string"
23609 },
7aacca6f 23610 "ds" : {
7aacca6f 23611 "description" : "The list of datasources you want to display.",
44660702 23612 "format" : "pve-configid-list",
013dc89f
DM
23613 "type" : "string",
23614 "typetext" : "<string>"
56122987 23615 },
7aacca6f
DM
23616 "node" : {
23617 "description" : "The cluster node name.",
44660702 23618 "format" : "pve-node",
013dc89f
DM
23619 "type" : "string",
23620 "typetext" : "<string>"
56122987 23621 },
7aacca6f 23622 "storage" : {
7aacca6f 23623 "description" : "The storage identifier.",
44660702 23624 "format" : "pve-storage-id",
013dc89f
DM
23625 "type" : "string",
23626 "typetext" : "<string>"
44660702
DM
23627 },
23628 "timeframe" : {
23629 "description" : "Specify the time frame you are interested in.",
7aacca6f 23630 "enum" : [
44660702
DM
23631 "hour",
23632 "day",
23633 "week",
23634 "month",
23635 "year"
7aacca6f 23636 ],
44660702 23637 "type" : "string"
56122987 23638 }
44660702 23639 }
56122987
DM
23640 },
23641 "permissions" : {
23642 "check" : [
23643 "perm",
23644 "/storage/{storage}",
23645 [
23646 "Datastore.Audit",
23647 "Datastore.AllocateSpace"
23648 ],
23649 "any",
23650 1
23651 ]
23652 },
44660702
DM
23653 "protected" : 1,
23654 "proxyto" : "node",
7aacca6f
DM
23655 "returns" : {
23656 "properties" : {
23657 "filename" : {
23658 "type" : "string"
23659 }
23660 },
23661 "type" : "object"
23662 }
56122987
DM
23663 }
23664 },
23665 "leaf" : 1,
44660702
DM
23666 "path" : "/nodes/{node}/storage/{storage}/rrd",
23667 "text" : "rrd"
56122987
DM
23668 },
23669 {
56122987
DM
23670 "info" : {
23671 "GET" : {
44660702
DM
23672 "description" : "Read storage RRD statistics.",
23673 "method" : "GET",
23674 "name" : "rrddata",
56122987 23675 "parameters" : {
44660702 23676 "additionalProperties" : 0,
56122987 23677 "properties" : {
44660702
DM
23678 "cf" : {
23679 "description" : "The RRD consolidation function",
23680 "enum" : [
23681 "AVERAGE",
23682 "MAX"
23683 ],
23684 "optional" : 1,
23685 "type" : "string"
23686 },
7aacca6f 23687 "node" : {
7aacca6f 23688 "description" : "The cluster node name.",
44660702 23689 "format" : "pve-node",
013dc89f
DM
23690 "type" : "string",
23691 "typetext" : "<string>"
44660702
DM
23692 },
23693 "storage" : {
23694 "description" : "The storage identifier.",
23695 "format" : "pve-storage-id",
013dc89f
DM
23696 "type" : "string",
23697 "typetext" : "<string>"
7aacca6f 23698 },
56122987 23699 "timeframe" : {
7aacca6f 23700 "description" : "Specify the time frame you are interested in.",
56122987
DM
23701 "enum" : [
23702 "hour",
23703 "day",
23704 "week",
23705 "month",
23706 "year"
56122987 23707 ],
44660702 23708 "type" : "string"
56122987 23709 }
44660702 23710 }
7aacca6f 23711 },
7aacca6f
DM
23712 "permissions" : {
23713 "check" : [
23714 "perm",
23715 "/storage/{storage}",
23716 [
23717 "Datastore.Audit",
23718 "Datastore.AllocateSpace"
23719 ],
23720 "any",
23721 1
23722 ]
23723 },
44660702
DM
23724 "protected" : 1,
23725 "proxyto" : "node",
7aacca6f
DM
23726 "returns" : {
23727 "items" : {
44660702
DM
23728 "properties" : {},
23729 "type" : "object"
7aacca6f
DM
23730 },
23731 "type" : "array"
56122987
DM
23732 }
23733 }
7aacca6f 23734 },
7aacca6f 23735 "leaf" : 1,
44660702
DM
23736 "path" : "/nodes/{node}/storage/{storage}/rrddata",
23737 "text" : "rrddata"
56122987
DM
23738 },
23739 {
56122987
DM
23740 "info" : {
23741 "POST" : {
7aacca6f 23742 "description" : "Upload templates and ISO images.",
44660702
DM
23743 "method" : "POST",
23744 "name" : "upload",
56122987 23745 "parameters" : {
7aacca6f 23746 "additionalProperties" : 0,
56122987 23747 "properties" : {
56122987 23748 "content" : {
7aacca6f 23749 "description" : "Content type.",
44660702 23750 "format" : "pve-storage-content",
013dc89f
DM
23751 "type" : "string",
23752 "typetext" : "<string>"
56122987
DM
23753 },
23754 "filename" : {
44660702 23755 "description" : "The name of the file to create.",
013dc89f
DM
23756 "type" : "string",
23757 "typetext" : "<string>"
56122987
DM
23758 },
23759 "node" : {
23760 "description" : "The cluster node name.",
44660702 23761 "format" : "pve-node",
013dc89f
DM
23762 "type" : "string",
23763 "typetext" : "<string>"
44660702
DM
23764 },
23765 "storage" : {
23766 "description" : "The storage identifier.",
23767 "format" : "pve-storage-id",
013dc89f
DM
23768 "type" : "string",
23769 "typetext" : "<string>"
44660702
DM
23770 },
23771 "tmpfilename" : {
23772 "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.",
23773 "optional" : 1,
013dc89f
DM
23774 "type" : "string",
23775 "typetext" : "<string>"
56122987 23776 }
7aacca6f 23777 }
56122987 23778 },
56122987
DM
23779 "permissions" : {
23780 "check" : [
23781 "perm",
23782 "/storage/{storage}",
23783 [
23784 "Datastore.AllocateTemplate"
23785 ]
23786 ]
44660702
DM
23787 },
23788 "protected" : 1,
23789 "returns" : {
23790 "type" : "string"
23791 }
23792 }
23793 },
23794 "leaf" : 1,
23795 "path" : "/nodes/{node}/storage/{storage}/upload",
23796 "text" : "upload"
23797 }
23798 ],
23799 "info" : {
23800 "GET" : {
23801 "description" : "",
23802 "method" : "GET",
23803 "name" : "diridx",
23804 "parameters" : {
23805 "additionalProperties" : 0,
23806 "properties" : {
23807 "node" : {
23808 "description" : "The cluster node name.",
23809 "format" : "pve-node",
013dc89f
DM
23810 "type" : "string",
23811 "typetext" : "<string>"
44660702
DM
23812 },
23813 "storage" : {
23814 "description" : "The storage identifier.",
23815 "format" : "pve-storage-id",
013dc89f
DM
23816 "type" : "string",
23817 "typetext" : "<string>"
56122987
DM
23818 }
23819 }
44660702
DM
23820 },
23821 "permissions" : {
23822 "check" : [
23823 "perm",
23824 "/storage/{storage}",
23825 [
23826 "Datastore.Audit",
23827 "Datastore.AllocateSpace"
23828 ],
23829 "any",
23830 1
23831 ]
23832 },
23833 "returns" : {
23834 "items" : {
23835 "properties" : {
23836 "subdir" : {
23837 "type" : "string"
23838 }
23839 },
23840 "type" : "object"
23841 },
23842 "links" : [
23843 {
23844 "href" : "{subdir}",
23845 "rel" : "child"
23846 }
23847 ],
23848 "type" : "array"
56122987
DM
23849 }
23850 }
44660702
DM
23851 },
23852 "leaf" : 0,
23853 "path" : "/nodes/{node}/storage/{storage}",
23854 "text" : "{storage}"
56122987
DM
23855 }
23856 ],
56122987
DM
23857 "info" : {
23858 "GET" : {
44660702
DM
23859 "description" : "Get status for all datastores.",
23860 "method" : "GET",
23861 "name" : "index",
23862 "parameters" : {
23863 "additionalProperties" : 0,
23864 "properties" : {
23865 "content" : {
23866 "description" : "Only list stores which support this content type.",
23867 "format" : "pve-storage-content-list",
23868 "optional" : 1,
013dc89f
DM
23869 "type" : "string",
23870 "typetext" : "<string>"
44660702
DM
23871 },
23872 "enabled" : {
23873 "default" : 0,
23874 "description" : "Only list stores which are enabled (not disabled in config).",
23875 "optional" : 1,
013dc89f
DM
23876 "type" : "boolean",
23877 "typetext" : "<boolean>"
44660702 23878 },
35a75dd3
DM
23879 "format" : {
23880 "default" : 0,
23881 "description" : "Include information about formats",
23882 "optional" : 1,
23883 "type" : "boolean",
23884 "typetext" : "<boolean>"
23885 },
44660702
DM
23886 "node" : {
23887 "description" : "The cluster node name.",
23888 "format" : "pve-node",
013dc89f
DM
23889 "type" : "string",
23890 "typetext" : "<string>"
44660702
DM
23891 },
23892 "storage" : {
23893 "description" : "Only list status for specified storage",
23894 "format" : "pve-storage-id",
23895 "optional" : 1,
013dc89f
DM
23896 "type" : "string",
23897 "typetext" : "<string>"
44660702
DM
23898 },
23899 "target" : {
23900 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
23901 "format" : "pve-node",
23902 "optional" : 1,
013dc89f
DM
23903 "type" : "string",
23904 "typetext" : "<string>"
44660702
DM
23905 }
23906 }
23907 },
7aacca6f
DM
23908 "permissions" : {
23909 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
23910 "user" : "all"
23911 },
44660702 23912 "protected" : 1,
7aacca6f 23913 "proxyto" : "node",
56122987
DM
23914 "returns" : {
23915 "items" : {
56122987
DM
23916 "properties" : {
23917 "storage" : {
23918 "type" : "string"
23919 }
44660702
DM
23920 },
23921 "type" : "object"
56122987 23922 },
56122987
DM
23923 "links" : [
23924 {
7aacca6f
DM
23925 "href" : "{storage}",
23926 "rel" : "child"
56122987 23927 }
44660702
DM
23928 ],
23929 "type" : "array"
23930 }
56122987 23931 }
44660702
DM
23932 },
23933 "leaf" : 0,
23934 "path" : "/nodes/{node}/storage",
23935 "text" : "storage"
56122987 23936 },
2c0dde61
DM
23937 {
23938 "children" : [
23939 {
23940 "info" : {
23941 "GET" : {
23942 "description" : "List local disks.",
23943 "method" : "GET",
23944 "name" : "list",
23945 "parameters" : {
23946 "additionalProperties" : 0,
23947 "properties" : {
23948 "node" : {
23949 "description" : "The cluster node name.",
23950 "format" : "pve-node",
013dc89f
DM
23951 "type" : "string",
23952 "typetext" : "<string>"
2c0dde61
DM
23953 }
23954 }
23955 },
23956 "permissions" : {
23957 "check" : [
23958 "perm",
23959 "/",
23960 [
23961 "Sys.Audit",
23962 "Datastore.Audit"
23963 ],
23964 "any",
23965 1
23966 ]
23967 },
23968 "protected" : 1,
23969 "proxyto" : "node",
23970 "returns" : {
23971 "items" : {
23972 "properties" : {
23973 "devpath" : {
23974 "description" : "The device path",
23975 "type" : "string"
23976 },
23977 "gpt" : {
23978 "type" : "boolean"
23979 },
23980 "health" : {
23981 "optional" : 1,
23982 "type" : "string"
23983 },
23984 "model" : {
23985 "optional" : 1,
23986 "type" : "string"
23987 },
23988 "osdid" : {
23989 "type" : "integer"
23990 },
23991 "serial" : {
23992 "optional" : 1,
23993 "type" : "string"
23994 },
23995 "size" : {
23996 "type" : "integer"
23997 },
23998 "used" : {
23999 "optional" : 1,
24000 "type" : "string"
24001 },
24002 "vendor" : {
24003 "optional" : 1,
24004 "type" : "string"
24005 },
24006 "wwn" : {
24007 "optional" : 1,
24008 "type" : "string"
24009 }
24010 },
24011 "type" : "object"
24012 },
24013 "type" : "array"
24014 }
24015 }
24016 },
24017 "leaf" : 1,
24018 "path" : "/nodes/{node}/disks/list",
24019 "text" : "list"
24020 },
24021 {
24022 "info" : {
24023 "GET" : {
24024 "description" : "Get SMART Health of a disk.",
24025 "method" : "GET",
24026 "name" : "smart",
24027 "parameters" : {
24028 "additionalProperties" : 0,
24029 "properties" : {
24030 "disk" : {
24031 "description" : "Block device name",
24032 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24033 "type" : "string"
24034 },
24035 "healthonly" : {
24036 "description" : "If true returns only the health status",
24037 "optional" : 1,
013dc89f
DM
24038 "type" : "boolean",
24039 "typetext" : "<boolean>"
2c0dde61
DM
24040 },
24041 "node" : {
24042 "description" : "The cluster node name.",
24043 "format" : "pve-node",
013dc89f
DM
24044 "type" : "string",
24045 "typetext" : "<string>"
2c0dde61
DM
24046 }
24047 }
24048 },
24049 "permissions" : {
24050 "check" : [
24051 "perm",
24052 "/",
24053 [
24054 "Sys.Audit",
24055 "Datastore.Audit"
24056 ],
24057 "any",
24058 1
24059 ]
24060 },
24061 "protected" : 1,
24062 "proxyto" : "node",
24063 "returns" : {
de0983cb
DM
24064 "properties" : {
24065 "attributes" : {
24066 "optional" : 1,
24067 "type" : "array"
24068 },
24069 "health" : {
24070 "type" : "string"
24071 },
24072 "text" : {
24073 "optional" : 1,
24074 "type" : "string"
24075 },
24076 "type" : {
24077 "optional" : 1,
24078 "type" : "string"
24079 }
24080 },
2c0dde61
DM
24081 "type" : "object"
24082 }
24083 }
24084 },
24085 "leaf" : 1,
24086 "path" : "/nodes/{node}/disks/smart",
24087 "text" : "smart"
24088 },
24089 {
24090 "info" : {
24091 "POST" : {
24092 "description" : "Initialize Disk with GPT",
24093 "method" : "POST",
24094 "name" : "initgpt",
24095 "parameters" : {
24096 "additionalProperties" : 0,
24097 "properties" : {
24098 "disk" : {
24099 "description" : "Block device name",
24100 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
24101 "type" : "string"
24102 },
24103 "node" : {
24104 "description" : "The cluster node name.",
24105 "format" : "pve-node",
013dc89f
DM
24106 "type" : "string",
24107 "typetext" : "<string>"
2c0dde61
DM
24108 },
24109 "uuid" : {
24110 "description" : "UUID for the GPT table",
24111 "maxLength" : 36,
24112 "optional" : 1,
24113 "pattern" : "[a-fA-F0-9\\-]+",
24114 "type" : "string"
24115 }
24116 }
24117 },
24118 "permissions" : {
24119 "check" : [
24120 "perm",
24121 "/",
24122 [
24123 "Sys.Modify"
24124 ]
24125 ]
24126 },
24127 "protected" : 1,
24128 "proxyto" : "node",
24129 "returns" : {
24130 "type" : "string"
24131 }
24132 }
24133 },
24134 "leaf" : 1,
24135 "path" : "/nodes/{node}/disks/initgpt",
24136 "text" : "initgpt"
24137 }
24138 ],
24139 "info" : {
24140 "GET" : {
24141 "description" : "Node index.",
24142 "method" : "GET",
24143 "name" : "index",
24144 "parameters" : {
24145 "additionalProperties" : 0,
24146 "properties" : {
24147 "node" : {
24148 "description" : "The cluster node name.",
24149 "format" : "pve-node",
013dc89f
DM
24150 "type" : "string",
24151 "typetext" : "<string>"
2c0dde61
DM
24152 }
24153 }
24154 },
24155 "permissions" : {
24156 "user" : "all"
24157 },
24158 "proxyto" : "node",
24159 "returns" : {
24160 "items" : {
24161 "properties" : {},
24162 "type" : "object"
24163 },
24164 "links" : [
24165 {
24166 "href" : "{name}",
24167 "rel" : "child"
24168 }
24169 ],
24170 "type" : "array"
24171 }
24172 }
24173 },
24174 "leaf" : 0,
24175 "path" : "/nodes/{node}/disks",
24176 "text" : "disks"
24177 },
56122987 24178 {
56122987
DM
24179 "children" : [
24180 {
24181 "info" : {
44660702
DM
24182 "GET" : {
24183 "description" : "List available updates.",
24184 "method" : "GET",
24185 "name" : "list_updates",
24186 "parameters" : {
24187 "additionalProperties" : 0,
24188 "properties" : {
24189 "node" : {
24190 "description" : "The cluster node name.",
24191 "format" : "pve-node",
013dc89f
DM
24192 "type" : "string",
24193 "typetext" : "<string>"
44660702
DM
24194 }
24195 }
7aacca6f
DM
24196 },
24197 "permissions" : {
24198 "check" : [
24199 "perm",
24200 "/nodes/{node}",
24201 [
24202 "Sys.Modify"
24203 ]
24204 ]
24205 },
44660702 24206 "protected" : 1,
56122987 24207 "proxyto" : "node",
44660702
DM
24208 "returns" : {
24209 "items" : {
24210 "properties" : {},
24211 "type" : "object"
24212 },
24213 "type" : "array"
24214 }
24215 },
24216 "POST" : {
24217 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
24218 "method" : "POST",
24219 "name" : "update_database",
56122987
DM
24220 "parameters" : {
24221 "additionalProperties" : 0,
24222 "properties" : {
44660702
DM
24223 "node" : {
24224 "description" : "The cluster node name.",
24225 "format" : "pve-node",
013dc89f
DM
24226 "type" : "string",
24227 "typetext" : "<string>"
44660702 24228 },
56122987 24229 "notify" : {
56122987 24230 "default" : 0,
44660702
DM
24231 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
24232 "optional" : 1,
013dc89f
DM
24233 "type" : "boolean",
24234 "typetext" : "<boolean>"
56122987
DM
24235 },
24236 "quiet" : {
56122987 24237 "default" : 0,
44660702 24238 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 24239 "optional" : 1,
013dc89f
DM
24240 "type" : "boolean",
24241 "typetext" : "<boolean>"
56122987 24242 }
7aacca6f
DM
24243 }
24244 },
24245 "permissions" : {
24246 "check" : [
24247 "perm",
24248 "/nodes/{node}",
24249 [
24250 "Sys.Modify"
24251 ]
24252 ]
24253 },
44660702
DM
24254 "protected" : 1,
24255 "proxyto" : "node",
24256 "returns" : {
24257 "type" : "string"
24258 }
56122987
DM
24259 }
24260 },
7aacca6f 24261 "leaf" : 1,
44660702
DM
24262 "path" : "/nodes/{node}/apt/update",
24263 "text" : "update"
56122987
DM
24264 },
24265 {
56122987
DM
24266 "info" : {
24267 "GET" : {
44660702 24268 "description" : "Get package changelogs.",
56122987 24269 "method" : "GET",
7aacca6f 24270 "name" : "changelog",
56122987 24271 "parameters" : {
44660702 24272 "additionalProperties" : 0,
56122987
DM
24273 "properties" : {
24274 "name" : {
24275 "description" : "Package name.",
013dc89f
DM
24276 "type" : "string",
24277 "typetext" : "<string>"
56122987 24278 },
44660702
DM
24279 "node" : {
24280 "description" : "The cluster node name.",
24281 "format" : "pve-node",
013dc89f
DM
24282 "type" : "string",
24283 "typetext" : "<string>"
44660702 24284 },
56122987 24285 "version" : {
7aacca6f 24286 "description" : "Package version.",
44660702 24287 "optional" : 1,
013dc89f
DM
24288 "type" : "string",
24289 "typetext" : "<string>"
56122987 24290 }
44660702 24291 }
56122987 24292 },
44660702
DM
24293 "permissions" : {
24294 "check" : [
24295 "perm",
24296 "/nodes/{node}",
24297 [
24298 "Sys.Modify"
24299 ]
24300 ]
24301 },
24302 "proxyto" : "node",
24303 "returns" : {
24304 "type" : "string"
24305 }
56122987
DM
24306 }
24307 },
44660702
DM
24308 "leaf" : 1,
24309 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 24310 "text" : "changelog"
56122987
DM
24311 },
24312 {
56122987
DM
24313 "info" : {
24314 "GET" : {
44660702
DM
24315 "description" : "Get package information for important Proxmox packages.",
24316 "method" : "GET",
7aacca6f
DM
24317 "name" : "versions",
24318 "parameters" : {
44660702 24319 "additionalProperties" : 0,
7aacca6f
DM
24320 "properties" : {
24321 "node" : {
44660702 24322 "description" : "The cluster node name.",
7aacca6f 24323 "format" : "pve-node",
013dc89f
DM
24324 "type" : "string",
24325 "typetext" : "<string>"
7aacca6f 24326 }
44660702 24327 }
7aacca6f 24328 },
56122987
DM
24329 "permissions" : {
24330 "check" : [
24331 "perm",
24332 "/nodes/{node}",
24333 [
24334 "Sys.Audit"
24335 ]
24336 ]
24337 },
7aacca6f 24338 "proxyto" : "node",
56122987
DM
24339 "returns" : {
24340 "items" : {
7aacca6f
DM
24341 "properties" : {},
24342 "type" : "object"
44660702
DM
24343 },
24344 "type" : "array"
56122987
DM
24345 }
24346 }
24347 },
44660702 24348 "leaf" : 1,
7aacca6f 24349 "path" : "/nodes/{node}/apt/versions",
44660702 24350 "text" : "versions"
56122987
DM
24351 }
24352 ],
56122987
DM
24353 "info" : {
24354 "GET" : {
44660702 24355 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 24356 "method" : "GET",
44660702 24357 "name" : "index",
7aacca6f
DM
24358 "parameters" : {
24359 "additionalProperties" : 0,
24360 "properties" : {
24361 "node" : {
44660702 24362 "description" : "The cluster node name.",
7aacca6f 24363 "format" : "pve-node",
013dc89f
DM
24364 "type" : "string",
24365 "typetext" : "<string>"
7aacca6f
DM
24366 }
24367 }
24368 },
7aacca6f
DM
24369 "permissions" : {
24370 "user" : "all"
24371 },
44660702
DM
24372 "returns" : {
24373 "items" : {
24374 "properties" : {
24375 "id" : {
24376 "type" : "string"
24377 }
24378 },
24379 "type" : "object"
24380 },
24381 "links" : [
24382 {
24383 "href" : "{id}",
24384 "rel" : "child"
24385 }
24386 ],
24387 "type" : "array"
24388 }
56122987 24389 }
7aacca6f 24390 },
44660702 24391 "leaf" : 0,
7aacca6f 24392 "path" : "/nodes/{node}/apt",
44660702 24393 "text" : "apt"
56122987
DM
24394 },
24395 {
56122987
DM
24396 "children" : [
24397 {
24398 "children" : [
24399 {
56122987
DM
24400 "info" : {
24401 "DELETE" : {
44660702 24402 "description" : "Delete rule.",
7aacca6f 24403 "method" : "DELETE",
44660702 24404 "name" : "delete_rule",
56122987
DM
24405 "parameters" : {
24406 "additionalProperties" : 0,
24407 "properties" : {
56122987
DM
24408 "digest" : {
24409 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 24410 "maxLength" : 40,
56122987 24411 "optional" : 1,
013dc89f
DM
24412 "type" : "string",
24413 "typetext" : "<string>"
56122987 24414 },
44660702
DM
24415 "node" : {
24416 "description" : "The cluster node name.",
24417 "format" : "pve-node",
013dc89f
DM
24418 "type" : "string",
24419 "typetext" : "<string>"
44660702 24420 },
7aacca6f 24421 "pos" : {
7aacca6f 24422 "description" : "Update rule at position <pos>.",
44660702
DM
24423 "minimum" : 0,
24424 "optional" : 1,
4bd7df8b 24425 "type" : "integer",
013dc89f 24426 "typetext" : "<integer> (0 - N)"
56122987
DM
24427 }
24428 }
24429 },
44660702
DM
24430 "permissions" : {
24431 "check" : [
24432 "perm",
24433 "/nodes/{node}",
24434 [
24435 "Sys.Modify"
24436 ]
24437 ]
24438 },
24439 "protected" : 1,
24440 "proxyto" : "node",
56122987
DM
24441 "returns" : {
24442 "type" : "null"
44660702
DM
24443 }
24444 },
24445 "GET" : {
24446 "description" : "Get single rule data.",
24447 "method" : "GET",
24448 "name" : "get_rule",
24449 "parameters" : {
24450 "additionalProperties" : 0,
24451 "properties" : {
24452 "node" : {
24453 "description" : "The cluster node name.",
24454 "format" : "pve-node",
013dc89f
DM
24455 "type" : "string",
24456 "typetext" : "<string>"
44660702
DM
24457 },
24458 "pos" : {
24459 "description" : "Update rule at position <pos>.",
24460 "minimum" : 0,
24461 "optional" : 1,
4bd7df8b 24462 "type" : "integer",
013dc89f 24463 "typetext" : "<integer> (0 - N)"
44660702
DM
24464 }
24465 }
56122987 24466 },
56122987
DM
24467 "permissions" : {
24468 "check" : [
24469 "perm",
24470 "/nodes/{node}",
24471 [
44660702 24472 "Sys.Audit"
56122987
DM
24473 ]
24474 ]
44660702
DM
24475 },
24476 "proxyto" : "node",
24477 "returns" : {
24478 "properties" : {
24479 "pos" : {
24480 "type" : "integer"
24481 }
24482 },
24483 "type" : "object"
7aacca6f 24484 }
56122987
DM
24485 },
24486 "PUT" : {
44660702
DM
24487 "description" : "Modify rule data.",
24488 "method" : "PUT",
56122987 24489 "name" : "update_rule",
56122987 24490 "parameters" : {
44660702 24491 "additionalProperties" : 0,
56122987 24492 "properties" : {
44660702
DM
24493 "action" : {
24494 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24495 "maxLength" : 20,
24496 "minLength" : 2,
56122987 24497 "optional" : 1,
44660702
DM
24498 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24499 "type" : "string"
56122987 24500 },
7aacca6f 24501 "comment" : {
e94f0d56 24502 "description" : "Descriptive comment.",
56122987 24503 "optional" : 1,
013dc89f
DM
24504 "type" : "string",
24505 "typetext" : "<string>"
56122987 24506 },
44660702
DM
24507 "delete" : {
24508 "description" : "A list of settings you want to delete.",
24509 "format" : "pve-configid-list",
56122987 24510 "optional" : 1,
013dc89f
DM
24511 "type" : "string",
24512 "typetext" : "<string>"
56122987 24513 },
44660702
DM
24514 "dest" : {
24515 "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.",
24516 "format" : "pve-fw-addr-spec",
56122987 24517 "optional" : 1,
013dc89f
DM
24518 "type" : "string",
24519 "typetext" : "<string>"
56122987 24520 },
44660702
DM
24521 "digest" : {
24522 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24523 "maxLength" : 40,
56122987 24524 "optional" : 1,
013dc89f
DM
24525 "type" : "string",
24526 "typetext" : "<string>"
56122987 24527 },
7aacca6f 24528 "dport" : {
7aacca6f 24529 "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
24530 "format" : "pve-fw-dport-spec",
24531 "optional" : 1,
013dc89f
DM
24532 "type" : "string",
24533 "typetext" : "<string>"
7aacca6f 24534 },
44660702 24535 "enable" : {
e94f0d56 24536 "description" : "Flag to enable/disable a rule.",
44660702 24537 "minimum" : 0,
56122987 24538 "optional" : 1,
4bd7df8b 24539 "type" : "integer",
013dc89f 24540 "typetext" : "<integer> (0 - N)"
56122987 24541 },
7aacca6f 24542 "iface" : {
44660702 24543 "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 24544 "format" : "pve-iface",
44660702 24545 "maxLength" : 20,
56122987 24546 "minLength" : 2,
44660702 24547 "optional" : 1,
013dc89f
DM
24548 "type" : "string",
24549 "typetext" : "<string>"
56122987 24550 },
44660702 24551 "macro" : {
e94f0d56 24552 "description" : "Use predefined standard macro.",
44660702
DM
24553 "maxLength" : 128,
24554 "optional" : 1,
013dc89f
DM
24555 "type" : "string",
24556 "typetext" : "<string>"
44660702
DM
24557 },
24558 "moveto" : {
24559 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24560 "minimum" : 0,
7aacca6f 24561 "optional" : 1,
4bd7df8b 24562 "type" : "integer",
013dc89f 24563 "typetext" : "<integer> (0 - N)"
44660702
DM
24564 },
24565 "node" : {
24566 "description" : "The cluster node name.",
24567 "format" : "pve-node",
013dc89f
DM
24568 "type" : "string",
24569 "typetext" : "<string>"
56122987
DM
24570 },
24571 "pos" : {
44660702 24572 "description" : "Update rule at position <pos>.",
7aacca6f 24573 "minimum" : 0,
7aacca6f 24574 "optional" : 1,
4bd7df8b 24575 "type" : "integer",
013dc89f 24576 "typetext" : "<integer> (0 - N)"
7aacca6f 24577 },
44660702
DM
24578 "proto" : {
24579 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24580 "format" : "pve-fw-protocol-spec",
7aacca6f 24581 "optional" : 1,
013dc89f
DM
24582 "type" : "string",
24583 "typetext" : "<string>"
7aacca6f 24584 },
44660702
DM
24585 "source" : {
24586 "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.",
24587 "format" : "pve-fw-addr-spec",
56122987 24588 "optional" : 1,
013dc89f
DM
24589 "type" : "string",
24590 "typetext" : "<string>"
7aacca6f 24591 },
44660702
DM
24592 "sport" : {
24593 "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.",
24594 "format" : "pve-fw-sport-spec",
24595 "optional" : 1,
013dc89f
DM
24596 "type" : "string",
24597 "typetext" : "<string>"
44660702
DM
24598 },
24599 "type" : {
e94f0d56 24600 "description" : "Rule type.",
44660702
DM
24601 "enum" : [
24602 "in",
24603 "out",
24604 "group"
24605 ],
24606 "optional" : 1,
24607 "type" : "string"
56122987 24608 }
44660702 24609 }
56122987 24610 },
56122987
DM
24611 "permissions" : {
24612 "check" : [
24613 "perm",
24614 "/nodes/{node}",
24615 [
24616 "Sys.Modify"
24617 ]
24618 ]
7aacca6f 24619 },
44660702 24620 "protected" : 1,
7aacca6f 24621 "proxyto" : "node",
7aacca6f
DM
24622 "returns" : {
24623 "type" : "null"
56122987
DM
24624 }
24625 }
7aacca6f 24626 },
44660702 24627 "leaf" : 1,
7aacca6f 24628 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 24629 "text" : "{pos}"
56122987
DM
24630 }
24631 ],
56122987
DM
24632 "info" : {
24633 "GET" : {
44660702
DM
24634 "description" : "List rules.",
24635 "method" : "GET",
24636 "name" : "get_rules",
24637 "parameters" : {
24638 "additionalProperties" : 0,
24639 "properties" : {
24640 "node" : {
24641 "description" : "The cluster node name.",
24642 "format" : "pve-node",
013dc89f
DM
24643 "type" : "string",
24644 "typetext" : "<string>"
44660702
DM
24645 }
24646 }
24647 },
24648 "permissions" : {
24649 "check" : [
24650 "perm",
24651 "/nodes/{node}",
24652 [
24653 "Sys.Audit"
24654 ]
24655 ]
24656 },
24657 "proxyto" : "node",
56122987 24658 "returns" : {
56122987
DM
24659 "items" : {
24660 "properties" : {
24661 "pos" : {
24662 "type" : "integer"
24663 }
44660702
DM
24664 },
24665 "type" : "object"
56122987 24666 },
7aacca6f
DM
24667 "links" : [
24668 {
24669 "href" : "{pos}",
24670 "rel" : "child"
24671 }
24672 ],
24673 "type" : "array"
44660702 24674 }
56122987
DM
24675 },
24676 "POST" : {
44660702 24677 "description" : "Create new rule.",
7aacca6f
DM
24678 "method" : "POST",
24679 "name" : "create_rule",
56122987 24680 "parameters" : {
44660702 24681 "additionalProperties" : 0,
56122987 24682 "properties" : {
7aacca6f 24683 "action" : {
7aacca6f 24684 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 24685 "maxLength" : 20,
7aacca6f
DM
24686 "minLength" : 2,
24687 "optional" : 0,
44660702
DM
24688 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24689 "type" : "string"
56122987 24690 },
44660702 24691 "comment" : {
e94f0d56 24692 "description" : "Descriptive comment.",
56122987 24693 "optional" : 1,
013dc89f
DM
24694 "type" : "string",
24695 "typetext" : "<string>"
56122987 24696 },
44660702
DM
24697 "dest" : {
24698 "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.",
24699 "format" : "pve-fw-addr-spec",
7aacca6f 24700 "optional" : 1,
013dc89f
DM
24701 "type" : "string",
24702 "typetext" : "<string>"
56122987 24703 },
44660702
DM
24704 "digest" : {
24705 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24706 "maxLength" : 40,
24707 "optional" : 1,
013dc89f
DM
24708 "type" : "string",
24709 "typetext" : "<string>"
56122987 24710 },
44660702
DM
24711 "dport" : {
24712 "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.",
24713 "format" : "pve-fw-dport-spec",
7aacca6f 24714 "optional" : 1,
013dc89f
DM
24715 "type" : "string",
24716 "typetext" : "<string>"
56122987 24717 },
44660702 24718 "enable" : {
e94f0d56 24719 "description" : "Flag to enable/disable a rule.",
44660702
DM
24720 "minimum" : 0,
24721 "optional" : 1,
4bd7df8b 24722 "type" : "integer",
013dc89f 24723 "typetext" : "<integer> (0 - N)"
44660702 24724 },
7aacca6f 24725 "iface" : {
44660702 24726 "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 24727 "format" : "pve-iface",
56122987 24728 "maxLength" : 20,
7aacca6f 24729 "minLength" : 2,
7aacca6f 24730 "optional" : 1,
013dc89f
DM
24731 "type" : "string",
24732 "typetext" : "<string>"
56122987 24733 },
44660702 24734 "macro" : {
e94f0d56 24735 "description" : "Use predefined standard macro.",
44660702 24736 "maxLength" : 128,
7aacca6f 24737 "optional" : 1,
013dc89f
DM
24738 "type" : "string",
24739 "typetext" : "<string>"
56122987 24740 },
44660702
DM
24741 "node" : {
24742 "description" : "The cluster node name.",
24743 "format" : "pve-node",
013dc89f
DM
24744 "type" : "string",
24745 "typetext" : "<string>"
44660702
DM
24746 },
24747 "pos" : {
24748 "description" : "Update rule at position <pos>.",
24749 "minimum" : 0,
24750 "optional" : 1,
4bd7df8b 24751 "type" : "integer",
013dc89f 24752 "typetext" : "<integer> (0 - N)"
44660702
DM
24753 },
24754 "proto" : {
24755 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24756 "format" : "pve-fw-protocol-spec",
56122987 24757 "optional" : 1,
013dc89f
DM
24758 "type" : "string",
24759 "typetext" : "<string>"
56122987 24760 },
7aacca6f 24761 "source" : {
7aacca6f 24762 "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
24763 "format" : "pve-fw-addr-spec",
24764 "optional" : 1,
013dc89f
DM
24765 "type" : "string",
24766 "typetext" : "<string>"
7aacca6f 24767 },
44660702
DM
24768 "sport" : {
24769 "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.",
24770 "format" : "pve-fw-sport-spec",
7aacca6f 24771 "optional" : 1,
013dc89f
DM
24772 "type" : "string",
24773 "typetext" : "<string>"
44660702
DM
24774 },
24775 "type" : {
e94f0d56 24776 "description" : "Rule type.",
44660702
DM
24777 "enum" : [
24778 "in",
24779 "out",
24780 "group"
24781 ],
24782 "optional" : 0,
24783 "type" : "string"
56122987 24784 }
44660702 24785 }
7aacca6f 24786 },
56122987
DM
24787 "permissions" : {
24788 "check" : [
24789 "perm",
24790 "/nodes/{node}",
24791 [
24792 "Sys.Modify"
24793 ]
24794 ]
24795 },
44660702
DM
24796 "protected" : 1,
24797 "proxyto" : "node",
24798 "returns" : {
24799 "type" : "null"
24800 }
56122987
DM
24801 }
24802 },
44660702 24803 "leaf" : 0,
7aacca6f 24804 "path" : "/nodes/{node}/firewall/rules",
44660702 24805 "text" : "rules"
56122987
DM
24806 },
24807 {
56122987 24808 "info" : {
44660702
DM
24809 "GET" : {
24810 "description" : "Get host firewall options.",
24811 "method" : "GET",
24812 "name" : "get_options",
56122987 24813 "parameters" : {
7aacca6f 24814 "additionalProperties" : 0,
56122987 24815 "properties" : {
44660702
DM
24816 "node" : {
24817 "description" : "The cluster node name.",
24818 "format" : "pve-node",
013dc89f
DM
24819 "type" : "string",
24820 "typetext" : "<string>"
44660702
DM
24821 }
24822 }
24823 },
24824 "permissions" : {
24825 "check" : [
24826 "perm",
24827 "/nodes/{node}",
24828 [
24829 "Sys.Audit"
24830 ]
24831 ]
24832 },
24833 "proxyto" : "node",
24834 "returns" : {
24835 "properties" : {
24836 "enable" : {
24837 "description" : "Enable host firewall rules.",
7aacca6f 24838 "optional" : 1,
44660702 24839 "type" : "boolean"
7aacca6f 24840 },
44660702
DM
24841 "log_level_in" : {
24842 "description" : "Log level for incoming traffic.",
56122987
DM
24843 "enum" : [
24844 "emerg",
24845 "alert",
24846 "crit",
24847 "err",
24848 "warning",
24849 "notice",
24850 "info",
24851 "debug",
24852 "nolog"
24853 ],
56122987 24854 "optional" : 1,
44660702
DM
24855 "type" : "string"
24856 },
24857 "log_level_out" : {
24858 "description" : "Log level for outgoing traffic.",
56122987
DM
24859 "enum" : [
24860 "emerg",
24861 "alert",
24862 "crit",
24863 "err",
24864 "warning",
24865 "notice",
24866 "info",
24867 "debug",
24868 "nolog"
24869 ],
44660702
DM
24870 "optional" : 1,
24871 "type" : "string"
24872 },
24873 "ndp" : {
24874 "description" : "Enable NDP.",
24875 "optional" : 1,
24876 "type" : "boolean"
24877 },
24878 "nf_conntrack_max" : {
24879 "description" : "Maximum number of tracked connections.",
24880 "minimum" : 32768,
24881 "optional" : 1,
24882 "type" : "integer"
24883 },
24884 "nf_conntrack_tcp_timeout_established" : {
24885 "description" : "Conntrack established timeout.",
24886 "minimum" : 7875,
24887 "optional" : 1,
24888 "type" : "integer"
24889 },
24890 "nosmurfs" : {
24891 "description" : "Enable SMURFS filter.",
24892 "optional" : 1,
24893 "type" : "boolean"
56122987 24894 },
7aacca6f 24895 "smurf_log_level" : {
44660702 24896 "description" : "Log level for SMURFS filter.",
56122987
DM
24897 "enum" : [
24898 "emerg",
24899 "alert",
24900 "crit",
24901 "err",
24902 "warning",
24903 "notice",
24904 "info",
24905 "debug",
24906 "nolog"
7aacca6f 24907 ],
7aacca6f
DM
24908 "optional" : 1,
24909 "type" : "string"
56122987 24910 },
44660702
DM
24911 "tcp_flags_log_level" : {
24912 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
24913 "enum" : [
24914 "emerg",
24915 "alert",
24916 "crit",
24917 "err",
24918 "warning",
24919 "notice",
24920 "info",
24921 "debug",
24922 "nolog"
24923 ],
44660702
DM
24924 "optional" : 1,
24925 "type" : "string"
7aacca6f 24926 },
44660702
DM
24927 "tcpflags" : {
24928 "description" : "Filter illegal combinations of TCP flags.",
56122987 24929 "optional" : 1,
44660702 24930 "type" : "boolean"
56122987 24931 }
44660702
DM
24932 },
24933 "type" : "object"
7aacca6f 24934 }
56122987 24935 },
44660702
DM
24936 "PUT" : {
24937 "description" : "Set Firewall options.",
24938 "method" : "PUT",
24939 "name" : "set_options",
7aacca6f 24940 "parameters" : {
44660702 24941 "additionalProperties" : 0,
7aacca6f 24942 "properties" : {
44660702
DM
24943 "delete" : {
24944 "description" : "A list of settings you want to delete.",
24945 "format" : "pve-configid-list",
7aacca6f 24946 "optional" : 1,
013dc89f
DM
24947 "type" : "string",
24948 "typetext" : "<string>"
56122987 24949 },
44660702
DM
24950 "digest" : {
24951 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24952 "maxLength" : 40,
24953 "optional" : 1,
013dc89f
DM
24954 "type" : "string",
24955 "typetext" : "<string>"
56122987 24956 },
44660702
DM
24957 "enable" : {
24958 "description" : "Enable host firewall rules.",
7aacca6f 24959 "optional" : 1,
013dc89f
DM
24960 "type" : "boolean",
24961 "typetext" : "<boolean>"
44660702
DM
24962 },
24963 "log_level_in" : {
24964 "description" : "Log level for incoming traffic.",
56122987
DM
24965 "enum" : [
24966 "emerg",
24967 "alert",
24968 "crit",
24969 "err",
24970 "warning",
24971 "notice",
24972 "info",
24973 "debug",
24974 "nolog"
44660702 24975 ],
7aacca6f 24976 "optional" : 1,
44660702 24977 "type" : "string"
7aacca6f 24978 },
44660702
DM
24979 "log_level_out" : {
24980 "description" : "Log level for outgoing traffic.",
56122987
DM
24981 "enum" : [
24982 "emerg",
24983 "alert",
24984 "crit",
24985 "err",
24986 "warning",
24987 "notice",
24988 "info",
24989 "debug",
24990 "nolog"
24991 ],
24992 "optional" : 1,
7aacca6f 24993 "type" : "string"
56122987 24994 },
44660702
DM
24995 "ndp" : {
24996 "description" : "Enable NDP.",
7aacca6f 24997 "optional" : 1,
013dc89f
DM
24998 "type" : "boolean",
24999 "typetext" : "<boolean>"
44660702
DM
25000 },
25001 "nf_conntrack_max" : {
25002 "description" : "Maximum number of tracked connections.",
25003 "minimum" : 32768,
25004 "optional" : 1,
4bd7df8b 25005 "type" : "integer",
013dc89f 25006 "typetext" : "<integer> (32768 - N)"
44660702
DM
25007 },
25008 "nf_conntrack_tcp_timeout_established" : {
25009 "description" : "Conntrack established timeout.",
25010 "minimum" : 7875,
25011 "optional" : 1,
4bd7df8b 25012 "type" : "integer",
013dc89f 25013 "typetext" : "<integer> (7875 - N)"
44660702
DM
25014 },
25015 "node" : {
25016 "description" : "The cluster node name.",
25017 "format" : "pve-node",
013dc89f
DM
25018 "type" : "string",
25019 "typetext" : "<string>"
44660702
DM
25020 },
25021 "nosmurfs" : {
25022 "description" : "Enable SMURFS filter.",
25023 "optional" : 1,
013dc89f
DM
25024 "type" : "boolean",
25025 "typetext" : "<boolean>"
44660702
DM
25026 },
25027 "smurf_log_level" : {
25028 "description" : "Log level for SMURFS filter.",
56122987
DM
25029 "enum" : [
25030 "emerg",
25031 "alert",
25032 "crit",
25033 "err",
25034 "warning",
25035 "notice",
25036 "info",
25037 "debug",
25038 "nolog"
44660702
DM
25039 ],
25040 "optional" : 1,
25041 "type" : "string"
56122987 25042 },
44660702
DM
25043 "tcp_flags_log_level" : {
25044 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
25045 "enum" : [
25046 "emerg",
25047 "alert",
25048 "crit",
25049 "err",
25050 "warning",
25051 "notice",
25052 "info",
25053 "debug",
25054 "nolog"
25055 ],
44660702
DM
25056 "optional" : 1,
25057 "type" : "string"
7aacca6f 25058 },
44660702
DM
25059 "tcpflags" : {
25060 "description" : "Filter illegal combinations of TCP flags.",
56122987 25061 "optional" : 1,
013dc89f
DM
25062 "type" : "boolean",
25063 "typetext" : "<boolean>"
56122987 25064 }
7aacca6f 25065 }
56122987 25066 },
44660702
DM
25067 "permissions" : {
25068 "check" : [
25069 "perm",
25070 "/nodes/{node}",
25071 [
25072 "Sys.Modify"
25073 ]
25074 ]
25075 },
25076 "protected" : 1,
25077 "proxyto" : "node",
25078 "returns" : {
25079 "type" : "null"
25080 }
7aacca6f
DM
25081 }
25082 },
44660702
DM
25083 "leaf" : 1,
25084 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
25085 "text" : "options"
25086 },
25087 {
7aacca6f
DM
25088 "info" : {
25089 "GET" : {
44660702
DM
25090 "description" : "Read firewall log",
25091 "method" : "GET",
7aacca6f 25092 "name" : "log",
56122987 25093 "parameters" : {
44660702 25094 "additionalProperties" : 0,
56122987 25095 "properties" : {
7aacca6f 25096 "limit" : {
44660702 25097 "minimum" : 0,
7aacca6f 25098 "optional" : 1,
4bd7df8b 25099 "type" : "integer",
013dc89f 25100 "typetext" : "<integer> (0 - N)"
7aacca6f 25101 },
56122987 25102 "node" : {
7aacca6f 25103 "description" : "The cluster node name.",
44660702 25104 "format" : "pve-node",
013dc89f
DM
25105 "type" : "string",
25106 "typetext" : "<string>"
44660702
DM
25107 },
25108 "start" : {
25109 "minimum" : 0,
25110 "optional" : 1,
4bd7df8b 25111 "type" : "integer",
013dc89f 25112 "typetext" : "<integer> (0 - N)"
56122987 25113 }
44660702 25114 }
7aacca6f 25115 },
56122987
DM
25116 "permissions" : {
25117 "check" : [
25118 "perm",
25119 "/nodes/{node}",
25120 [
25121 "Sys.Syslog"
25122 ]
25123 ]
25124 },
44660702
DM
25125 "protected" : 1,
25126 "proxyto" : "node",
56122987
DM
25127 "returns" : {
25128 "items" : {
56122987 25129 "properties" : {
56122987 25130 "n" : {
44660702
DM
25131 "description" : "Line number",
25132 "type" : "integer"
7aacca6f
DM
25133 },
25134 "t" : {
44660702
DM
25135 "description" : "Line text",
25136 "type" : "string"
56122987 25137 }
44660702
DM
25138 },
25139 "type" : "object"
56122987
DM
25140 },
25141 "type" : "array"
7aacca6f 25142 }
56122987
DM
25143 }
25144 },
44660702
DM
25145 "leaf" : 1,
25146 "path" : "/nodes/{node}/firewall/log",
7aacca6f 25147 "text" : "log"
56122987
DM
25148 }
25149 ],
25150 "info" : {
25151 "GET" : {
44660702
DM
25152 "description" : "Directory index.",
25153 "method" : "GET",
25154 "name" : "index",
56122987 25155 "parameters" : {
44660702 25156 "additionalProperties" : 0,
56122987
DM
25157 "properties" : {
25158 "node" : {
25159 "description" : "The cluster node name.",
44660702 25160 "format" : "pve-node",
013dc89f
DM
25161 "type" : "string",
25162 "typetext" : "<string>"
56122987 25163 }
44660702 25164 }
56122987 25165 },
7aacca6f
DM
25166 "permissions" : {
25167 "user" : "all"
25168 },
56122987
DM
25169 "returns" : {
25170 "items" : {
25171 "properties" : {},
25172 "type" : "object"
25173 },
56122987
DM
25174 "links" : [
25175 {
44660702
DM
25176 "href" : "{name}",
25177 "rel" : "child"
56122987 25178 }
44660702
DM
25179 ],
25180 "type" : "array"
25181 }
56122987 25182 }
7aacca6f 25183 },
44660702 25184 "leaf" : 0,
7aacca6f 25185 "path" : "/nodes/{node}/firewall",
44660702 25186 "text" : "firewall"
56122987 25187 },
5d9c884c
DM
25188 {
25189 "children" : [
25190 {
25191 "children" : [
25192 {
25193 "info" : {
25194 "GET" : {
25195 "description" : "Get replication job status.",
25196 "method" : "GET",
25197 "name" : "job_status",
25198 "parameters" : {
25199 "additionalProperties" : 0,
25200 "properties" : {
25201 "id" : {
25202 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25203 "format" : "pve-replication-job-id",
25204 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25205 "type" : "string"
25206 },
25207 "node" : {
25208 "description" : "The cluster node name.",
25209 "format" : "pve-node",
25210 "type" : "string",
25211 "typetext" : "<string>"
25212 }
25213 }
25214 },
25215 "permissions" : {
25216 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25217 "user" : "all"
25218 },
25219 "protected" : 1,
25220 "proxyto" : "node",
25221 "returns" : {
25222 "properties" : {},
25223 "type" : "object"
25224 }
25225 }
25226 },
25227 "leaf" : 1,
25228 "path" : "/nodes/{node}/replication/{id}/status",
25229 "text" : "status"
25230 },
25231 {
25232 "info" : {
25233 "GET" : {
25234 "description" : "Read replication job log.",
25235 "method" : "GET",
25236 "name" : "read_job_log",
25237 "parameters" : {
25238 "additionalProperties" : 0,
25239 "properties" : {
25240 "id" : {
25241 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25242 "format" : "pve-replication-job-id",
25243 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25244 "type" : "string"
25245 },
25246 "limit" : {
25247 "minimum" : 0,
25248 "optional" : 1,
25249 "type" : "integer",
25250 "typetext" : "<integer> (0 - N)"
25251 },
25252 "node" : {
25253 "description" : "The cluster node name.",
25254 "format" : "pve-node",
25255 "type" : "string",
25256 "typetext" : "<string>"
25257 },
25258 "start" : {
25259 "minimum" : 0,
25260 "optional" : 1,
25261 "type" : "integer",
25262 "typetext" : "<integer> (0 - N)"
25263 }
25264 }
25265 },
25266 "permissions" : {
25267 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
25268 "user" : "all"
25269 },
25270 "protected" : 1,
25271 "proxyto" : "node",
25272 "returns" : {
25273 "items" : {
25274 "properties" : {
25275 "n" : {
25276 "description" : "Line number",
25277 "type" : "integer"
25278 },
25279 "t" : {
25280 "description" : "Line text",
25281 "type" : "string"
25282 }
25283 },
25284 "type" : "object"
25285 },
25286 "type" : "array"
25287 }
25288 }
25289 },
25290 "leaf" : 1,
25291 "path" : "/nodes/{node}/replication/{id}/log",
25292 "text" : "log"
25293 },
25294 {
25295 "info" : {
25296 "POST" : {
25297 "description" : "Schedule replication job to start as soon as possible.",
25298 "method" : "POST",
25299 "name" : "schedule_now",
25300 "parameters" : {
25301 "additionalProperties" : 0,
25302 "properties" : {
25303 "id" : {
25304 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25305 "format" : "pve-replication-job-id",
25306 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25307 "type" : "string"
25308 },
25309 "node" : {
25310 "description" : "The cluster node name.",
25311 "format" : "pve-node",
25312 "type" : "string",
25313 "typetext" : "<string>"
25314 }
25315 }
25316 },
25317 "permissions" : {
25318 "check" : [
25319 "perm",
25320 "/storage",
25321 [
25322 "Datastore.Allocate"
25323 ]
25324 ]
25325 },
25326 "protected" : 1,
25327 "proxyto" : "node",
25328 "returns" : {
25329 "type" : "string"
25330 }
25331 }
25332 },
25333 "leaf" : 1,
25334 "path" : "/nodes/{node}/replication/{id}/schedule_now",
25335 "text" : "schedule_now"
25336 }
25337 ],
25338 "info" : {
25339 "GET" : {
25340 "description" : "Directory index.",
25341 "method" : "GET",
25342 "name" : "index",
25343 "parameters" : {
25344 "additionalProperties" : 0,
25345 "properties" : {
25346 "id" : {
25347 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25348 "format" : "pve-replication-job-id",
25349 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
25350 "type" : "string"
25351 },
25352 "node" : {
25353 "description" : "The cluster node name.",
25354 "format" : "pve-node",
25355 "type" : "string",
25356 "typetext" : "<string>"
25357 }
25358 }
25359 },
25360 "permissions" : {
25361 "user" : "all"
25362 },
25363 "returns" : {
25364 "items" : {
25365 "properties" : {},
25366 "type" : "object"
25367 },
25368 "links" : [
25369 {
25370 "href" : "{name}",
25371 "rel" : "child"
25372 }
25373 ],
25374 "type" : "array"
25375 }
25376 }
25377 },
25378 "leaf" : 0,
25379 "path" : "/nodes/{node}/replication/{id}",
25380 "text" : "{id}"
25381 }
25382 ],
25383 "info" : {
25384 "GET" : {
25385 "description" : "List status of all replication jobs on this node.",
25386 "method" : "GET",
25387 "name" : "status",
25388 "parameters" : {
25389 "additionalProperties" : 0,
25390 "properties" : {
25391 "guest" : {
25392 "description" : "Only list replication jobs for this guest.",
25393 "format" : "pve-vmid",
25394 "minimum" : 1,
25395 "optional" : 1,
25396 "type" : "integer",
25397 "typetext" : "<integer> (1 - N)"
25398 },
25399 "node" : {
25400 "description" : "The cluster node name.",
25401 "format" : "pve-node",
25402 "type" : "string",
25403 "typetext" : "<string>"
25404 }
25405 }
25406 },
25407 "permissions" : {
25408 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
25409 "user" : "all"
25410 },
25411 "protected" : 1,
25412 "proxyto" : "node",
25413 "returns" : {
25414 "items" : {
25415 "properties" : {
25416 "id" : {
25417 "type" : "string"
25418 }
25419 },
25420 "type" : "object"
25421 },
25422 "links" : [
25423 {
25424 "href" : "{id}",
25425 "rel" : "child"
25426 }
25427 ],
25428 "type" : "array"
25429 }
25430 }
25431 },
25432 "leaf" : 0,
25433 "path" : "/nodes/{node}/replication",
25434 "text" : "replication"
25435 },
56122987 25436 {
56122987
DM
25437 "info" : {
25438 "GET" : {
44660702
DM
25439 "description" : "API version details",
25440 "method" : "GET",
25441 "name" : "version",
56122987 25442 "parameters" : {
44660702 25443 "additionalProperties" : 0,
56122987
DM
25444 "properties" : {
25445 "node" : {
56122987 25446 "description" : "The cluster node name.",
44660702 25447 "format" : "pve-node",
013dc89f
DM
25448 "type" : "string",
25449 "typetext" : "<string>"
56122987 25450 }
44660702 25451 }
56122987 25452 },
56122987 25453 "permissions" : {
7aacca6f 25454 "user" : "all"
56122987 25455 },
56122987 25456 "proxyto" : "node",
56122987 25457 "returns" : {
56122987 25458 "properties" : {
44660702 25459 "release" : {
56122987
DM
25460 "type" : "string"
25461 },
44660702 25462 "repoid" : {
7aacca6f
DM
25463 "type" : "string"
25464 },
25465 "version" : {
25466 "type" : "string"
25467 }
44660702
DM
25468 },
25469 "type" : "object"
7aacca6f 25470 }
56122987
DM
25471 }
25472 },
56122987 25473 "leaf" : 1,
44660702
DM
25474 "path" : "/nodes/{node}/version",
25475 "text" : "version"
56122987
DM
25476 },
25477 {
56122987
DM
25478 "info" : {
25479 "GET" : {
7aacca6f 25480 "description" : "Read node status",
44660702 25481 "method" : "GET",
7aacca6f 25482 "name" : "status",
56122987 25483 "parameters" : {
44660702 25484 "additionalProperties" : 0,
56122987
DM
25485 "properties" : {
25486 "node" : {
7aacca6f 25487 "description" : "The cluster node name.",
44660702 25488 "format" : "pve-node",
013dc89f
DM
25489 "type" : "string",
25490 "typetext" : "<string>"
56122987 25491 }
44660702 25492 }
56122987 25493 },
56122987
DM
25494 "permissions" : {
25495 "check" : [
25496 "perm",
25497 "/nodes/{node}",
25498 [
25499 "Sys.Audit"
25500 ]
25501 ]
44660702
DM
25502 },
25503 "proxyto" : "node",
25504 "returns" : {
25505 "properties" : {},
25506 "type" : "object"
7aacca6f
DM
25507 }
25508 },
25509 "POST" : {
44660702
DM
25510 "description" : "Reboot or shutdown a node.",
25511 "method" : "POST",
7aacca6f 25512 "name" : "node_cmd",
56122987 25513 "parameters" : {
44660702 25514 "additionalProperties" : 0,
56122987 25515 "properties" : {
7aacca6f
DM
25516 "command" : {
25517 "description" : "Specify the command.",
56122987 25518 "enum" : [
7aacca6f
DM
25519 "reboot",
25520 "shutdown"
56122987
DM
25521 ],
25522 "type" : "string"
44660702
DM
25523 },
25524 "node" : {
25525 "description" : "The cluster node name.",
25526 "format" : "pve-node",
013dc89f
DM
25527 "type" : "string",
25528 "typetext" : "<string>"
56122987 25529 }
44660702 25530 }
7aacca6f 25531 },
7aacca6f
DM
25532 "permissions" : {
25533 "check" : [
25534 "perm",
25535 "/nodes/{node}",
25536 [
25537 "Sys.PowerMgmt"
25538 ]
25539 ]
25540 },
44660702 25541 "protected" : 1,
7aacca6f 25542 "proxyto" : "node",
7aacca6f
DM
25543 "returns" : {
25544 "type" : "null"
56122987
DM
25545 }
25546 }
25547 },
7aacca6f 25548 "leaf" : 1,
44660702
DM
25549 "path" : "/nodes/{node}/status",
25550 "text" : "status"
56122987
DM
25551 },
25552 {
56122987
DM
25553 "info" : {
25554 "GET" : {
44660702
DM
25555 "description" : "Read tap/vm network device interface counters",
25556 "method" : "GET",
25557 "name" : "netstat",
25558 "parameters" : {
25559 "additionalProperties" : 0,
25560 "properties" : {
25561 "node" : {
25562 "description" : "The cluster node name.",
25563 "format" : "pve-node",
013dc89f
DM
25564 "type" : "string",
25565 "typetext" : "<string>"
44660702 25566 }
56122987
DM
25567 }
25568 },
25569 "permissions" : {
25570 "check" : [
25571 "perm",
25572 "/nodes/{node}",
25573 [
7aacca6f 25574 "Sys.Audit"
56122987
DM
25575 ]
25576 ]
25577 },
7aacca6f 25578 "proxyto" : "node",
44660702
DM
25579 "returns" : {
25580 "items" : {
25581 "properties" : {},
25582 "type" : "object"
25583 },
25584 "type" : "array"
25585 }
7aacca6f
DM
25586 }
25587 },
44660702
DM
25588 "leaf" : 1,
25589 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
25590 "text" : "netstat"
25591 },
25592 {
25593 "info" : {
25594 "POST" : {
7aacca6f 25595 "description" : "Execute multiple commands in order.",
7aacca6f 25596 "method" : "POST",
7aacca6f 25597 "name" : "execute",
56122987
DM
25598 "parameters" : {
25599 "additionalProperties" : 0,
25600 "properties" : {
7aacca6f
DM
25601 "commands" : {
25602 "description" : "JSON encoded array of commands.",
013dc89f
DM
25603 "type" : "string",
25604 "typetext" : "<string>"
56122987
DM
25605 },
25606 "node" : {
44660702 25607 "description" : "The cluster node name.",
56122987 25608 "format" : "pve-node",
013dc89f
DM
25609 "type" : "string",
25610 "typetext" : "<string>"
56122987
DM
25611 }
25612 }
44660702
DM
25613 },
25614 "permissions" : {
25615 "check" : [
25616 "perm",
25617 "/nodes/{node}",
25618 [
25619 "Sys.Audit"
25620 ]
25621 ]
25622 },
25623 "protected" : 1,
25624 "proxyto" : "node",
25625 "returns" : {
25626 "properties" : {},
25627 "type" : "array"
56122987
DM
25628 }
25629 }
25630 },
56122987 25631 "leaf" : 1,
44660702
DM
25632 "path" : "/nodes/{node}/execute",
25633 "text" : "execute"
56122987
DM
25634 },
25635 {
25636 "info" : {
7aacca6f 25637 "GET" : {
44660702
DM
25638 "description" : "Read node RRD statistics (returns PNG)",
25639 "method" : "GET",
7aacca6f 25640 "name" : "rrd",
56122987 25641 "parameters" : {
7aacca6f 25642 "additionalProperties" : 0,
56122987 25643 "properties" : {
44660702
DM
25644 "cf" : {
25645 "description" : "The RRD consolidation function",
25646 "enum" : [
25647 "AVERAGE",
25648 "MAX"
25649 ],
25650 "optional" : 1,
25651 "type" : "string"
25652 },
7aacca6f 25653 "ds" : {
7aacca6f 25654 "description" : "The list of datasources you want to display.",
44660702 25655 "format" : "pve-configid-list",
013dc89f
DM
25656 "type" : "string",
25657 "typetext" : "<string>"
44660702
DM
25658 },
25659 "node" : {
25660 "description" : "The cluster node name.",
25661 "format" : "pve-node",
013dc89f
DM
25662 "type" : "string",
25663 "typetext" : "<string>"
7aacca6f
DM
25664 },
25665 "timeframe" : {
25666 "description" : "Specify the time frame you are interested in.",
25667 "enum" : [
25668 "hour",
25669 "day",
25670 "week",
25671 "month",
25672 "year"
25673 ],
25674 "type" : "string"
56122987 25675 }
7aacca6f 25676 }
56122987 25677 },
56122987 25678 "permissions" : {
56122987
DM
25679 "check" : [
25680 "perm",
25681 "/nodes/{node}",
25682 [
7aacca6f 25683 "Sys.Audit"
56122987
DM
25684 ]
25685 ]
25686 },
7aacca6f 25687 "protected" : 1,
56122987 25688 "returns" : {
56122987 25689 "properties" : {
7aacca6f 25690 "filename" : {
56122987
DM
25691 "type" : "string"
25692 }
44660702
DM
25693 },
25694 "type" : "object"
25695 }
56122987
DM
25696 }
25697 },
44660702 25698 "leaf" : 1,
7aacca6f 25699 "path" : "/nodes/{node}/rrd",
44660702 25700 "text" : "rrd"
56122987
DM
25701 },
25702 {
25703 "info" : {
7aacca6f 25704 "GET" : {
44660702
DM
25705 "description" : "Read node RRD statistics",
25706 "method" : "GET",
7aacca6f 25707 "name" : "rrddata",
56122987 25708 "parameters" : {
44660702 25709 "additionalProperties" : 0,
56122987 25710 "properties" : {
7aacca6f 25711 "cf" : {
7aacca6f
DM
25712 "description" : "The RRD consolidation function",
25713 "enum" : [
25714 "AVERAGE",
25715 "MAX"
44660702
DM
25716 ],
25717 "optional" : 1,
25718 "type" : "string"
56122987
DM
25719 },
25720 "node" : {
44660702 25721 "description" : "The cluster node name.",
56122987 25722 "format" : "pve-node",
013dc89f
DM
25723 "type" : "string",
25724 "typetext" : "<string>"
56122987 25725 },
7aacca6f 25726 "timeframe" : {
7aacca6f
DM
25727 "description" : "Specify the time frame you are interested in.",
25728 "enum" : [
25729 "hour",
25730 "day",
25731 "week",
25732 "month",
25733 "year"
44660702
DM
25734 ],
25735 "type" : "string"
56122987 25736 }
56122987
DM
25737 }
25738 },
56122987
DM
25739 "permissions" : {
25740 "check" : [
25741 "perm",
25742 "/nodes/{node}",
25743 [
44660702 25744 "Sys.Audit"
56122987
DM
25745 ]
25746 ]
7aacca6f 25747 },
44660702 25748 "protected" : 1,
56122987 25749 "returns" : {
7aacca6f 25750 "items" : {
44660702 25751 "properties" : {},
7aacca6f
DM
25752 "type" : "object"
25753 },
25754 "type" : "array"
44660702
DM
25755 }
25756 }
25757 },
25758 "leaf" : 1,
25759 "path" : "/nodes/{node}/rrddata",
25760 "text" : "rrddata"
25761 },
25762 {
25763 "info" : {
25764 "GET" : {
25765 "description" : "Read system log",
25766 "method" : "GET",
25767 "name" : "syslog",
56122987 25768 "parameters" : {
44660702 25769 "additionalProperties" : 0,
56122987 25770 "properties" : {
44660702
DM
25771 "limit" : {
25772 "minimum" : 0,
7aacca6f 25773 "optional" : 1,
4bd7df8b 25774 "type" : "integer",
013dc89f 25775 "typetext" : "<integer> (0 - N)"
7aacca6f 25776 },
56122987 25777 "node" : {
7aacca6f 25778 "description" : "The cluster node name.",
44660702 25779 "format" : "pve-node",
013dc89f
DM
25780 "type" : "string",
25781 "typetext" : "<string>"
56122987 25782 },
35a75dd3
DM
25783 "service" : {
25784 "description" : "Service ID",
25785 "maxLength" : 128,
25786 "optional" : 1,
25787 "type" : "string",
25788 "typetext" : "<string>"
25789 },
44660702
DM
25790 "since" : {
25791 "description" : "Display all log since this date-time string.",
25792 "optional" : 1,
25793 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
25794 "type" : "string"
25795 },
25796 "start" : {
7aacca6f
DM
25797 "minimum" : 0,
25798 "optional" : 1,
4bd7df8b 25799 "type" : "integer",
013dc89f 25800 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
25801 },
25802 "until" : {
25803 "description" : "Display all log until this date-time string.",
7aacca6f 25804 "optional" : 1,
44660702 25805 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
25806 "type" : "string"
25807 }
44660702 25808 }
56122987 25809 },
44660702
DM
25810 "permissions" : {
25811 "check" : [
25812 "perm",
25813 "/nodes/{node}",
25814 [
25815 "Sys.Syslog"
25816 ]
25817 ]
25818 },
25819 "protected" : 1,
25820 "proxyto" : "node",
25821 "returns" : {
25822 "items" : {
25823 "properties" : {
25824 "n" : {
25825 "description" : "Line number",
25826 "type" : "integer"
25827 },
25828 "t" : {
25829 "description" : "Line text",
25830 "type" : "string"
25831 }
25832 },
25833 "type" : "object"
25834 },
25835 "type" : "array"
25836 }
56122987
DM
25837 }
25838 },
44660702
DM
25839 "leaf" : 1,
25840 "path" : "/nodes/{node}/syslog",
7aacca6f 25841 "text" : "syslog"
56122987
DM
25842 },
25843 {
56122987
DM
25844 "info" : {
25845 "POST" : {
44660702
DM
25846 "description" : "Creates a VNC Shell proxy.",
25847 "method" : "POST",
25848 "name" : "vncshell",
25849 "parameters" : {
25850 "additionalProperties" : 0,
56122987 25851 "properties" : {
5d9c884c
DM
25852 "height" : {
25853 "description" : "sets the height of the console in pixels.",
25854 "maximum" : 2160,
25855 "minimum" : 16,
25856 "optional" : 1,
25857 "type" : "integer",
25858 "typetext" : "<integer> (16 - 2160)"
25859 },
44660702
DM
25860 "node" : {
25861 "description" : "The cluster node name.",
25862 "format" : "pve-node",
013dc89f
DM
25863 "type" : "string",
25864 "typetext" : "<string>"
7aacca6f 25865 },
44660702
DM
25866 "upgrade" : {
25867 "default" : 0,
25868 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
25869 "optional" : 1,
013dc89f
DM
25870 "type" : "boolean",
25871 "typetext" : "<boolean>"
7aacca6f 25872 },
44660702
DM
25873 "websocket" : {
25874 "description" : "use websocket instead of standard vnc.",
25875 "optional" : 1,
013dc89f
DM
25876 "type" : "boolean",
25877 "typetext" : "<boolean>"
5d9c884c
DM
25878 },
25879 "width" : {
25880 "description" : "sets the width of the console in pixels.",
25881 "maximum" : 4096,
25882 "minimum" : 16,
25883 "optional" : 1,
25884 "type" : "integer",
25885 "typetext" : "<integer> (16 - 4096)"
56122987 25886 }
44660702 25887 }
56122987 25888 },
56122987
DM
25889 "permissions" : {
25890 "check" : [
25891 "perm",
7aacca6f 25892 "/nodes/{node}",
56122987 25893 [
7aacca6f 25894 "Sys.Console"
56122987 25895 ]
44660702
DM
25896 ],
25897 "description" : "Restricted to users on realm 'pam'"
56122987 25898 },
44660702
DM
25899 "protected" : 1,
25900 "returns" : {
25901 "additionalProperties" : 0,
56122987 25902 "properties" : {
44660702
DM
25903 "cert" : {
25904 "type" : "string"
7aacca6f 25905 },
44660702
DM
25906 "port" : {
25907 "type" : "integer"
7aacca6f 25908 },
44660702
DM
25909 "ticket" : {
25910 "type" : "string"
25911 },
25912 "upid" : {
25913 "type" : "string"
25914 },
25915 "user" : {
25916 "type" : "string"
56122987 25917 }
44660702
DM
25918 }
25919 }
56122987
DM
25920 }
25921 },
7aacca6f 25922 "leaf" : 1,
44660702
DM
25923 "path" : "/nodes/{node}/vncshell",
25924 "text" : "vncshell"
56122987 25925 },
35a75dd3
DM
25926 {
25927 "info" : {
25928 "POST" : {
25929 "description" : "Creates a VNC Shell proxy.",
25930 "method" : "POST",
25931 "name" : "termproxy",
25932 "parameters" : {
25933 "additionalProperties" : 0,
25934 "properties" : {
25935 "node" : {
25936 "description" : "The cluster node name.",
25937 "format" : "pve-node",
25938 "type" : "string",
25939 "typetext" : "<string>"
25940 },
25941 "upgrade" : {
25942 "default" : 0,
25943 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
25944 "optional" : 1,
25945 "type" : "boolean",
25946 "typetext" : "<boolean>"
25947 }
25948 }
25949 },
25950 "permissions" : {
25951 "check" : [
25952 "perm",
25953 "/nodes/{node}",
25954 [
25955 "Sys.Console"
25956 ]
25957 ],
25958 "description" : "Restricted to users on realm 'pam'"
25959 },
25960 "protected" : 1,
25961 "returns" : {
25962 "additionalProperties" : 0,
25963 "properties" : {
25964 "port" : {
25965 "type" : "integer"
25966 },
25967 "ticket" : {
25968 "type" : "string"
25969 },
25970 "upid" : {
25971 "type" : "string"
25972 },
25973 "user" : {
25974 "type" : "string"
25975 }
25976 }
25977 }
25978 }
25979 },
25980 "leaf" : 1,
25981 "path" : "/nodes/{node}/termproxy",
25982 "text" : "termproxy"
25983 },
56122987
DM
25984 {
25985 "info" : {
25986 "GET" : {
7aacca6f 25987 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
25988 "method" : "GET",
25989 "name" : "vncwebsocket",
56122987 25990 "parameters" : {
44660702 25991 "additionalProperties" : 0,
56122987
DM
25992 "properties" : {
25993 "node" : {
25994 "description" : "The cluster node name.",
44660702 25995 "format" : "pve-node",
013dc89f
DM
25996 "type" : "string",
25997 "typetext" : "<string>"
7aacca6f
DM
25998 },
25999 "port" : {
7aacca6f
DM
26000 "description" : "Port number returned by previous vncproxy call.",
26001 "maximum" : 5999,
44660702 26002 "minimum" : 5900,
4bd7df8b 26003 "type" : "integer",
013dc89f 26004 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
26005 },
26006 "vncticket" : {
26007 "description" : "Ticket from previous call to vncproxy.",
26008 "maxLength" : 512,
013dc89f
DM
26009 "type" : "string",
26010 "typetext" : "<string>"
56122987 26011 }
44660702 26012 }
56122987 26013 },
56122987
DM
26014 "permissions" : {
26015 "check" : [
26016 "perm",
26017 "/nodes/{node}",
26018 [
7aacca6f 26019 "Sys.Console"
56122987 26020 ]
44660702
DM
26021 ],
26022 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
26023 },
26024 "returns" : {
26025 "properties" : {
26026 "port" : {
26027 "type" : "string"
26028 }
26029 },
26030 "type" : "object"
7aacca6f 26031 }
56122987
DM
26032 }
26033 },
44660702 26034 "leaf" : 1,
7aacca6f 26035 "path" : "/nodes/{node}/vncwebsocket",
44660702 26036 "text" : "vncwebsocket"
56122987
DM
26037 },
26038 {
26039 "info" : {
26040 "POST" : {
44660702 26041 "description" : "Creates a SPICE shell.",
7aacca6f 26042 "method" : "POST",
44660702 26043 "name" : "spiceshell",
56122987 26044 "parameters" : {
7aacca6f 26045 "additionalProperties" : 0,
56122987 26046 "properties" : {
7aacca6f 26047 "node" : {
44660702 26048 "description" : "The cluster node name.",
56122987 26049 "format" : "pve-node",
013dc89f
DM
26050 "type" : "string",
26051 "typetext" : "<string>"
7aacca6f 26052 },
44660702
DM
26053 "proxy" : {
26054 "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).",
26055 "format" : "address",
26056 "optional" : 1,
013dc89f
DM
26057 "type" : "string",
26058 "typetext" : "<string>"
7aacca6f 26059 },
44660702
DM
26060 "upgrade" : {
26061 "default" : 0,
26062 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
26063 "optional" : 1,
013dc89f
DM
26064 "type" : "boolean",
26065 "typetext" : "<boolean>"
56122987 26066 }
7aacca6f 26067 }
56122987 26068 },
56122987
DM
26069 "permissions" : {
26070 "check" : [
26071 "perm",
7aacca6f 26072 "/nodes/{node}",
56122987 26073 [
7aacca6f 26074 "Sys.Console"
56122987 26075 ]
7aacca6f
DM
26076 ],
26077 "description" : "Restricted to users on realm 'pam'"
44660702
DM
26078 },
26079 "protected" : 1,
26080 "proxyto" : "node",
26081 "returns" : {
26082 "additionalProperties" : 1,
26083 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
26084 "properties" : {
26085 "host" : {
26086 "type" : "string"
26087 },
26088 "password" : {
26089 "type" : "string"
26090 },
26091 "proxy" : {
26092 "type" : "string"
26093 },
26094 "tls-port" : {
26095 "type" : "integer"
26096 },
26097 "type" : {
26098 "type" : "string"
26099 }
26100 }
7aacca6f 26101 }
56122987
DM
26102 }
26103 },
56122987 26104 "leaf" : 1,
44660702
DM
26105 "path" : "/nodes/{node}/spiceshell",
26106 "text" : "spiceshell"
56122987
DM
26107 },
26108 {
56122987 26109 "info" : {
7aacca6f 26110 "GET" : {
44660702 26111 "description" : "Read DNS settings.",
7aacca6f 26112 "method" : "GET",
44660702
DM
26113 "name" : "dns",
26114 "parameters" : {
7aacca6f
DM
26115 "additionalProperties" : 0,
26116 "properties" : {
44660702
DM
26117 "node" : {
26118 "description" : "The cluster node name.",
26119 "format" : "pve-node",
013dc89f
DM
26120 "type" : "string",
26121 "typetext" : "<string>"
7aacca6f
DM
26122 }
26123 }
26124 },
7aacca6f
DM
26125 "permissions" : {
26126 "check" : [
26127 "perm",
26128 "/nodes/{node}",
26129 [
26130 "Sys.Audit"
26131 ]
26132 ]
26133 },
44660702
DM
26134 "proxyto" : "node",
26135 "returns" : {
56122987
DM
26136 "additionalProperties" : 0,
26137 "properties" : {
44660702
DM
26138 "dns1" : {
26139 "description" : "First name server IP address.",
26140 "optional" : 1,
26141 "type" : "string"
26142 },
26143 "dns2" : {
26144 "description" : "Second name server IP address.",
26145 "optional" : 1,
26146 "type" : "string"
26147 },
26148 "dns3" : {
26149 "description" : "Third name server IP address.",
26150 "optional" : 1,
26151 "type" : "string"
26152 },
26153 "search" : {
26154 "description" : "Search domain for host-name lookup.",
26155 "optional" : 1,
26156 "type" : "string"
7aacca6f 26157 }
44660702
DM
26158 },
26159 "type" : "object"
26160 }
7aacca6f
DM
26161 },
26162 "PUT" : {
44660702
DM
26163 "description" : "Write DNS settings.",
26164 "method" : "PUT",
7aacca6f
DM
26165 "name" : "update_dns",
26166 "parameters" : {
26167 "additionalProperties" : 0,
26168 "properties" : {
44660702
DM
26169 "dns1" : {
26170 "description" : "First name server IP address.",
26171 "format" : "ip",
26172 "optional" : 1,
013dc89f
DM
26173 "type" : "string",
26174 "typetext" : "<string>"
7aacca6f 26175 },
44660702
DM
26176 "dns2" : {
26177 "description" : "Second name server IP address.",
26178 "format" : "ip",
7aacca6f 26179 "optional" : 1,
013dc89f
DM
26180 "type" : "string",
26181 "typetext" : "<string>"
7aacca6f 26182 },
44660702
DM
26183 "dns3" : {
26184 "description" : "Third name server IP address.",
26185 "format" : "ip",
7aacca6f 26186 "optional" : 1,
013dc89f
DM
26187 "type" : "string",
26188 "typetext" : "<string>"
7aacca6f
DM
26189 },
26190 "node" : {
44660702 26191 "description" : "The cluster node name.",
56122987 26192 "format" : "pve-node",
013dc89f
DM
26193 "type" : "string",
26194 "typetext" : "<string>"
7aacca6f 26195 },
44660702
DM
26196 "search" : {
26197 "description" : "Search domain for host-name lookup.",
013dc89f
DM
26198 "type" : "string",
26199 "typetext" : "<string>"
56122987
DM
26200 }
26201 }
26202 },
26203 "permissions" : {
26204 "check" : [
26205 "perm",
7aacca6f 26206 "/nodes/{node}",
56122987 26207 [
7aacca6f 26208 "Sys.Modify"
56122987
DM
26209 ]
26210 ]
26211 },
44660702 26212 "protected" : 1,
7aacca6f 26213 "proxyto" : "node",
56122987 26214 "returns" : {
7aacca6f
DM
26215 "type" : "null"
26216 }
56122987 26217 }
44660702
DM
26218 },
26219 "leaf" : 1,
26220 "path" : "/nodes/{node}/dns",
26221 "text" : "dns"
56122987
DM
26222 },
26223 {
26224 "info" : {
7aacca6f 26225 "GET" : {
7aacca6f 26226 "description" : "Read server time and time zone settings.",
44660702
DM
26227 "method" : "GET",
26228 "name" : "time",
56122987 26229 "parameters" : {
44660702 26230 "additionalProperties" : 0,
56122987
DM
26231 "properties" : {
26232 "node" : {
44660702 26233 "description" : "The cluster node name.",
56122987 26234 "format" : "pve-node",
013dc89f
DM
26235 "type" : "string",
26236 "typetext" : "<string>"
56122987 26237 }
44660702 26238 }
56122987
DM
26239 },
26240 "permissions" : {
26241 "check" : [
26242 "perm",
7aacca6f 26243 "/nodes/{node}",
56122987 26244 [
7aacca6f 26245 "Sys.Audit"
56122987
DM
26246 ]
26247 ]
44660702
DM
26248 },
26249 "proxyto" : "node",
26250 "returns" : {
26251 "additionalProperties" : 0,
26252 "properties" : {
26253 "localtime" : {
26254 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
26255 "minimum" : 1297163644,
26256 "type" : "integer"
26257 },
26258 "time" : {
26259 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
26260 "minimum" : 1297163644,
26261 "type" : "integer"
26262 },
26263 "timezone" : {
26264 "description" : "Time zone",
26265 "type" : "string"
26266 }
26267 },
26268 "type" : "object"
7aacca6f
DM
26269 }
26270 },
26271 "PUT" : {
7aacca6f 26272 "description" : "Set time zone.",
44660702
DM
26273 "method" : "PUT",
26274 "name" : "set_timezone",
26275 "parameters" : {
26276 "additionalProperties" : 0,
26277 "properties" : {
26278 "node" : {
26279 "description" : "The cluster node name.",
26280 "format" : "pve-node",
013dc89f
DM
26281 "type" : "string",
26282 "typetext" : "<string>"
44660702
DM
26283 },
26284 "timezone" : {
26285 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
26286 "type" : "string",
26287 "typetext" : "<string>"
44660702
DM
26288 }
26289 }
26290 },
7aacca6f
DM
26291 "permissions" : {
26292 "check" : [
26293 "perm",
26294 "/nodes/{node}",
26295 [
26296 "Sys.Modify"
26297 ]
26298 ]
56122987 26299 },
7aacca6f 26300 "protected" : 1,
44660702
DM
26301 "proxyto" : "node",
26302 "returns" : {
26303 "type" : "null"
26304 }
7aacca6f
DM
26305 }
26306 },
7aacca6f 26307 "leaf" : 1,
44660702
DM
26308 "path" : "/nodes/{node}/time",
26309 "text" : "time"
7aacca6f
DM
26310 },
26311 {
26312 "info" : {
44660702
DM
26313 "GET" : {
26314 "description" : "Get list of appliances.",
26315 "method" : "GET",
26316 "name" : "aplinfo",
7aacca6f
DM
26317 "parameters" : {
26318 "additionalProperties" : 0,
26319 "properties" : {
7aacca6f 26320 "node" : {
44660702 26321 "description" : "The cluster node name.",
7aacca6f 26322 "format" : "pve-node",
013dc89f
DM
26323 "type" : "string",
26324 "typetext" : "<string>"
7aacca6f
DM
26325 }
26326 }
56122987 26327 },
7aacca6f 26328 "permissions" : {
44660702 26329 "user" : "all"
56122987 26330 },
44660702 26331 "proxyto" : "node",
7aacca6f
DM
26332 "returns" : {
26333 "items" : {
44660702
DM
26334 "properties" : {},
26335 "type" : "object"
7aacca6f
DM
26336 },
26337 "type" : "array"
44660702
DM
26338 }
26339 },
26340 "POST" : {
26341 "description" : "Download appliance templates.",
26342 "method" : "POST",
26343 "name" : "apl_download",
7aacca6f
DM
26344 "parameters" : {
26345 "additionalProperties" : 0,
26346 "properties" : {
26347 "node" : {
7aacca6f 26348 "description" : "The cluster node name.",
44660702 26349 "format" : "pve-node",
013dc89f
DM
26350 "type" : "string",
26351 "typetext" : "<string>"
44660702
DM
26352 },
26353 "storage" : {
4bd7df8b 26354 "description" : "The storage where the template will be stored",
44660702 26355 "format" : "pve-storage-id",
013dc89f
DM
26356 "type" : "string",
26357 "typetext" : "<string>"
44660702
DM
26358 },
26359 "template" : {
26360 "description" : "The template wich will downloaded",
26361 "maxLength" : 255,
013dc89f
DM
26362 "type" : "string",
26363 "typetext" : "<string>"
7aacca6f
DM
26364 }
26365 }
56122987 26366 },
7aacca6f 26367 "permissions" : {
44660702
DM
26368 "check" : [
26369 "perm",
26370 "/storage/{storage}",
26371 [
26372 "Datastore.AllocateTemplate"
26373 ]
26374 ]
26375 },
26376 "protected" : 1,
26377 "proxyto" : "node",
26378 "returns" : {
26379 "type" : "string"
7aacca6f
DM
26380 }
26381 }
26382 },
7aacca6f 26383 "leaf" : 1,
44660702
DM
26384 "path" : "/nodes/{node}/aplinfo",
26385 "text" : "aplinfo"
7aacca6f
DM
26386 },
26387 {
26388 "info" : {
26389 "GET" : {
44660702
DM
26390 "description" : "Gather various systems information about a node",
26391 "method" : "GET",
26392 "name" : "report",
7aacca6f 26393 "parameters" : {
44660702 26394 "additionalProperties" : 0,
7aacca6f
DM
26395 "properties" : {
26396 "node" : {
7aacca6f 26397 "description" : "The cluster node name.",
44660702 26398 "format" : "pve-node",
013dc89f
DM
26399 "type" : "string",
26400 "typetext" : "<string>"
7aacca6f 26401 }
44660702 26402 }
56122987 26403 },
7aacca6f
DM
26404 "permissions" : {
26405 "check" : [
26406 "perm",
26407 "/nodes/{node}",
26408 [
26409 "Sys.Audit"
26410 ]
26411 ]
56122987 26412 },
44660702 26413 "protected" : 1,
7aacca6f
DM
26414 "proxyto" : "node",
26415 "returns" : {
56122987 26416 "type" : "string"
7aacca6f
DM
26417 }
26418 }
26419 },
7aacca6f 26420 "leaf" : 1,
44660702
DM
26421 "path" : "/nodes/{node}/report",
26422 "text" : "report"
7aacca6f
DM
26423 },
26424 {
7aacca6f
DM
26425 "info" : {
26426 "POST" : {
44660702 26427 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 26428 "method" : "POST",
44660702 26429 "name" : "startall",
7aacca6f 26430 "parameters" : {
44660702 26431 "additionalProperties" : 0,
7aacca6f
DM
26432 "properties" : {
26433 "force" : {
44660702 26434 "description" : "force if onboot=0.",
7aacca6f 26435 "optional" : 1,
013dc89f
DM
26436 "type" : "boolean",
26437 "typetext" : "<boolean>"
7aacca6f
DM
26438 },
26439 "node" : {
7aacca6f 26440 "description" : "The cluster node name.",
44660702 26441 "format" : "pve-node",
013dc89f
DM
26442 "type" : "string",
26443 "typetext" : "<string>"
52e44c50
FG
26444 },
26445 "vms" : {
26446 "description" : "Only consider Guests with these IDs.",
26447 "format" : "pve-vmid-list",
26448 "optional" : 1,
26449 "type" : "string",
26450 "typetext" : "<string>"
7aacca6f 26451 }
44660702 26452 }
56122987 26453 },
7aacca6f
DM
26454 "permissions" : {
26455 "check" : [
26456 "perm",
26457 "/",
26458 [
26459 "VM.PowerMgmt"
26460 ]
26461 ]
44660702
DM
26462 },
26463 "protected" : 1,
26464 "proxyto" : "node",
26465 "returns" : {
26466 "type" : "string"
7aacca6f
DM
26467 }
26468 }
26469 },
44660702 26470 "leaf" : 1,
7aacca6f 26471 "path" : "/nodes/{node}/startall",
44660702 26472 "text" : "startall"
7aacca6f
DM
26473 },
26474 {
7aacca6f
DM
26475 "info" : {
26476 "POST" : {
26477 "description" : "Stop all VMs and Containers.",
44660702
DM
26478 "method" : "POST",
26479 "name" : "stopall",
7aacca6f 26480 "parameters" : {
44660702 26481 "additionalProperties" : 0,
7aacca6f
DM
26482 "properties" : {
26483 "node" : {
44660702 26484 "description" : "The cluster node name.",
7aacca6f 26485 "format" : "pve-node",
013dc89f
DM
26486 "type" : "string",
26487 "typetext" : "<string>"
52e44c50
FG
26488 },
26489 "vms" : {
26490 "description" : "Only consider Guests with these IDs.",
26491 "format" : "pve-vmid-list",
26492 "optional" : 1,
26493 "type" : "string",
26494 "typetext" : "<string>"
7aacca6f 26495 }
44660702 26496 }
56122987 26497 },
7aacca6f
DM
26498 "permissions" : {
26499 "check" : [
26500 "perm",
26501 "/",
26502 [
44660702 26503 "VM.PowerMgmt"
7aacca6f
DM
26504 ]
26505 ]
56122987 26506 },
44660702 26507 "protected" : 1,
7aacca6f 26508 "proxyto" : "node",
44660702
DM
26509 "returns" : {
26510 "type" : "string"
26511 }
26512 }
56122987 26513 },
44660702
DM
26514 "leaf" : 1,
26515 "path" : "/nodes/{node}/stopall",
26516 "text" : "stopall"
26517 },
26518 {
26519 "info" : {
26520 "POST" : {
26521 "description" : "Migrate all VMs and Containers.",
26522 "method" : "POST",
26523 "name" : "migrateall",
26524 "parameters" : {
26525 "additionalProperties" : 0,
26526 "properties" : {
26527 "maxworkers" : {
26528 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
26529 "minimum" : 1,
26530 "optional" : 1,
4bd7df8b 26531 "type" : "integer",
013dc89f 26532 "typetext" : "<integer> (1 - N)"
44660702
DM
26533 },
26534 "node" : {
26535 "description" : "The cluster node name.",
26536 "format" : "pve-node",
013dc89f
DM
26537 "type" : "string",
26538 "typetext" : "<string>"
44660702
DM
26539 },
26540 "target" : {
26541 "description" : "Target node.",
26542 "format" : "pve-node",
013dc89f
DM
26543 "type" : "string",
26544 "typetext" : "<string>"
52e44c50
FG
26545 },
26546 "vms" : {
26547 "description" : "Only consider Guests with these IDs.",
26548 "format" : "pve-vmid-list",
26549 "optional" : 1,
26550 "type" : "string",
26551 "typetext" : "<string>"
44660702
DM
26552 }
26553 }
26554 },
26555 "permissions" : {
26556 "check" : [
26557 "perm",
26558 "/",
26559 [
26560 "VM.Migrate"
26561 ]
26562 ]
26563 },
26564 "protected" : 1,
26565 "proxyto" : "node",
26566 "returns" : {
26567 "type" : "string"
26568 }
26569 }
56122987 26570 },
44660702
DM
26571 "leaf" : 1,
26572 "path" : "/nodes/{node}/migrateall",
26573 "text" : "migrateall"
26574 }
26575 ],
26576 "info" : {
26577 "GET" : {
26578 "description" : "Node index.",
26579 "method" : "GET",
26580 "name" : "index",
26581 "parameters" : {
26582 "additionalProperties" : 0,
26583 "properties" : {
26584 "node" : {
26585 "description" : "The cluster node name.",
26586 "format" : "pve-node",
013dc89f
DM
26587 "type" : "string",
26588 "typetext" : "<string>"
44660702
DM
26589 }
26590 }
56122987 26591 },
44660702
DM
26592 "permissions" : {
26593 "user" : "all"
56122987 26594 },
44660702
DM
26595 "returns" : {
26596 "items" : {
26597 "properties" : {},
26598 "type" : "object"
26599 },
26600 "links" : [
26601 {
26602 "href" : "{name}",
26603 "rel" : "child"
26604 }
56122987 26605 ],
44660702 26606 "type" : "array"
7aacca6f
DM
26607 }
26608 }
26609 },
44660702
DM
26610 "leaf" : 0,
26611 "path" : "/nodes/{node}",
26612 "text" : "{node}"
26613 }
26614 ],
26615 "info" : {
7aacca6f 26616 "GET" : {
44660702 26617 "description" : "Cluster node index.",
7aacca6f 26618 "method" : "GET",
44660702 26619 "name" : "index",
7aacca6f 26620 "parameters" : {
7aacca6f
DM
26621 "additionalProperties" : 0
26622 },
26623 "permissions" : {
7aacca6f
DM
26624 "user" : "all"
26625 },
44660702
DM
26626 "returns" : {
26627 "items" : {
26628 "properties" : {},
26629 "type" : "object"
26630 },
26631 "links" : [
26632 {
26633 "href" : "{node}",
26634 "rel" : "child"
26635 }
26636 ],
26637 "type" : "array"
26638 }
7aacca6f
DM
26639 }
26640 },
44660702
DM
26641 "leaf" : 0,
26642 "path" : "/nodes",
26643 "text" : "nodes"
26644 },
26645 {
7aacca6f
DM
26646 "children" : [
26647 {
7aacca6f 26648 "info" : {
44660702
DM
26649 "DELETE" : {
26650 "description" : "Delete storage configuration.",
26651 "method" : "DELETE",
26652 "name" : "delete",
7aacca6f
DM
26653 "parameters" : {
26654 "additionalProperties" : 0,
26655 "properties" : {
26656 "storage" : {
7aacca6f 26657 "description" : "The storage identifier.",
44660702 26658 "format" : "pve-storage-id",
013dc89f
DM
26659 "type" : "string",
26660 "typetext" : "<string>"
7aacca6f
DM
26661 }
26662 }
56122987 26663 },
7aacca6f
DM
26664 "permissions" : {
26665 "check" : [
26666 "perm",
26667 "/storage",
26668 [
26669 "Datastore.Allocate"
26670 ]
26671 ]
56122987 26672 },
44660702
DM
26673 "protected" : 1,
26674 "returns" : {
26675 "type" : "null"
26676 }
26677 },
26678 "GET" : {
26679 "description" : "Read storage configuration.",
26680 "method" : "GET",
26681 "name" : "read",
7aacca6f
DM
26682 "parameters" : {
26683 "additionalProperties" : 0,
26684 "properties" : {
26685 "storage" : {
44660702 26686 "description" : "The storage identifier.",
7aacca6f 26687 "format" : "pve-storage-id",
013dc89f
DM
26688 "type" : "string",
26689 "typetext" : "<string>"
7aacca6f
DM
26690 }
26691 }
26692 },
44660702
DM
26693 "permissions" : {
26694 "check" : [
26695 "perm",
26696 "/storage/{storage}",
26697 [
26698 "Datastore.Allocate"
26699 ]
26700 ]
26701 },
26702 "returns" : {}
7aacca6f
DM
26703 },
26704 "PUT" : {
44660702
DM
26705 "description" : "Update storage configuration.",
26706 "method" : "PUT",
26707 "name" : "update",
26708 "parameters" : {
26709 "additionalProperties" : 0,
26710 "properties" : {
26711 "blocksize" : {
26712 "description" : "block size",
7aacca6f 26713 "optional" : 1,
013dc89f
DM
26714 "type" : "string",
26715 "typetext" : "<string>"
7aacca6f 26716 },
27a7acb2
DM
26717 "bwlimit" : {
26718 "description" : "Set bandwidth/io limits various operations.",
26719 "format" : {
26720 "clone" : {
26721 "description" : "bandwidth limit in MiB/s for cloning disks",
26722 "format_description" : "LIMIT",
26723 "minimum" : "0",
26724 "optional" : 1,
26725 "type" : "number"
26726 },
26727 "default" : {
26728 "description" : "default bandwidth limit in MiB/s",
26729 "format_description" : "LIMIT",
26730 "minimum" : "0",
26731 "optional" : 1,
26732 "type" : "number"
26733 },
26734 "migration" : {
26735 "description" : "bandwidth limit in MiB/s for migrating guests",
26736 "format_description" : "LIMIT",
26737 "minimum" : "0",
26738 "optional" : 1,
26739 "type" : "number"
26740 },
26741 "move" : {
26742 "description" : "bandwidth limit in MiB/s for moving disks",
26743 "format_description" : "LIMIT",
26744 "minimum" : "0",
26745 "optional" : 1,
26746 "type" : "number"
26747 },
26748 "restore" : {
26749 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
26750 "format_description" : "LIMIT",
26751 "minimum" : "0",
26752 "optional" : 1,
26753 "type" : "number"
26754 }
26755 },
26756 "optional" : 1,
26757 "type" : "string",
26758 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
26759 },
44660702
DM
26760 "comstar_hg" : {
26761 "description" : "host group for comstar views",
26762 "optional" : 1,
013dc89f
DM
26763 "type" : "string",
26764 "typetext" : "<string>"
7aacca6f 26765 },
44660702
DM
26766 "comstar_tg" : {
26767 "description" : "target group for comstar views",
7aacca6f 26768 "optional" : 1,
013dc89f
DM
26769 "type" : "string",
26770 "typetext" : "<string>"
7aacca6f 26771 },
44660702
DM
26772 "content" : {
26773 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
26774 "format" : "pve-storage-content-list",
7aacca6f 26775 "optional" : 1,
013dc89f
DM
26776 "type" : "string",
26777 "typetext" : "<string>"
7aacca6f 26778 },
44660702
DM
26779 "delete" : {
26780 "description" : "A list of settings you want to delete.",
26781 "format" : "pve-configid-list",
26782 "maxLength" : 4096,
7aacca6f 26783 "optional" : 1,
013dc89f
DM
26784 "type" : "string",
26785 "typetext" : "<string>"
7aacca6f
DM
26786 },
26787 "digest" : {
44660702 26788 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 26789 "maxLength" : 40,
7aacca6f 26790 "optional" : 1,
013dc89f
DM
26791 "type" : "string",
26792 "typetext" : "<string>"
7aacca6f 26793 },
44660702
DM
26794 "disable" : {
26795 "description" : "Flag to disable the storage.",
26796 "optional" : 1,
013dc89f
DM
26797 "type" : "boolean",
26798 "typetext" : "<boolean>"
7aacca6f 26799 },
27a7acb2
DM
26800 "domain" : {
26801 "description" : "CIFS domain.",
26802 "maxLength" : 256,
26803 "optional" : 1,
26804 "type" : "string",
26805 "typetext" : "<string>"
26806 },
7aacca6f
DM
26807 "format" : {
26808 "description" : "Default image format.",
44660702 26809 "format" : "pve-storage-format",
7aacca6f 26810 "optional" : 1,
013dc89f
DM
26811 "type" : "string",
26812 "typetext" : "<string>"
7aacca6f 26813 },
2c0dde61
DM
26814 "is_mountpoint" : {
26815 "default" : "no",
2489d6df 26816 "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 26817 "optional" : 1,
2489d6df
WB
26818 "type" : "string",
26819 "typetext" : "<string>"
2c0dde61 26820 },
44660702
DM
26821 "krbd" : {
26822 "description" : "Access rbd through krbd kernel module.",
7aacca6f 26823 "optional" : 1,
013dc89f
DM
26824 "type" : "boolean",
26825 "typetext" : "<boolean>"
7aacca6f 26826 },
44660702
DM
26827 "maxfiles" : {
26828 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
26829 "minimum" : 0,
26830 "optional" : 1,
4bd7df8b 26831 "type" : "integer",
013dc89f 26832 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
26833 },
26834 "mkdir" : {
26835 "default" : "yes",
26836 "description" : "Create the directory if it doesn't exist.",
26837 "optional" : 1,
013dc89f
DM
26838 "type" : "boolean",
26839 "typetext" : "<boolean>"
7aacca6f 26840 },
2489d6df
WB
26841 "monhost" : {
26842 "description" : "IP addresses of monitors (for external clusters).",
26843 "format" : "pve-storage-portal-dns-list",
26844 "optional" : 1,
26845 "type" : "string",
26846 "typetext" : "<string>"
26847 },
7aacca6f 26848 "nodes" : {
44660702 26849 "description" : "List of cluster node names.",
7aacca6f
DM
26850 "format" : "pve-node-list",
26851 "optional" : 1,
013dc89f
DM
26852 "type" : "string",
26853 "typetext" : "<string>"
7aacca6f 26854 },
44660702
DM
26855 "nowritecache" : {
26856 "description" : "disable write caching on the target",
7aacca6f 26857 "optional" : 1,
013dc89f
DM
26858 "type" : "boolean",
26859 "typetext" : "<boolean>"
7aacca6f
DM
26860 },
26861 "options" : {
7aacca6f 26862 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
26863 "format" : "pve-storage-options",
26864 "optional" : 1,
013dc89f
DM
26865 "type" : "string",
26866 "typetext" : "<string>"
44660702 26867 },
27a7acb2
DM
26868 "password" : {
26869 "description" : "Password for CIFS share.",
26870 "maxLength" : 256,
26871 "optional" : 1,
26872 "type" : "string",
26873 "typetext" : "<string>"
26874 },
44660702
DM
26875 "pool" : {
26876 "description" : "Pool.",
26877 "optional" : 1,
013dc89f
DM
26878 "type" : "string",
26879 "typetext" : "<string>"
44660702
DM
26880 },
26881 "redundancy" : {
26882 "default" : 2,
26883 "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.",
26884 "maximum" : 16,
26885 "minimum" : 1,
26886 "optional" : 1,
4bd7df8b 26887 "type" : "integer",
013dc89f 26888 "typetext" : "<integer> (1 - 16)"
44660702
DM
26889 },
26890 "saferemove" : {
26891 "description" : "Zero-out data when removing LVs.",
26892 "optional" : 1,
013dc89f
DM
26893 "type" : "boolean",
26894 "typetext" : "<boolean>"
7aacca6f
DM
26895 },
26896 "saferemove_throughput" : {
44660702 26897 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 26898 "optional" : 1,
013dc89f
DM
26899 "type" : "string",
26900 "typetext" : "<string>"
7aacca6f 26901 },
44660702
DM
26902 "server" : {
26903 "description" : "Server IP or DNS name.",
26904 "format" : "pve-storage-server",
7aacca6f 26905 "optional" : 1,
013dc89f
DM
26906 "type" : "string",
26907 "typetext" : "<string>"
7aacca6f 26908 },
44660702
DM
26909 "server2" : {
26910 "description" : "Backup volfile server IP or DNS name.",
26911 "format" : "pve-storage-server",
7aacca6f 26912 "optional" : 1,
44660702 26913 "requires" : "server",
013dc89f
DM
26914 "type" : "string",
26915 "typetext" : "<string>"
44660702
DM
26916 },
26917 "shared" : {
26918 "description" : "Mark storage as shared.",
26919 "optional" : 1,
013dc89f
DM
26920 "type" : "boolean",
26921 "typetext" : "<boolean>"
44660702 26922 },
27a7acb2
DM
26923 "smbversion" : {
26924 "description" : "",
26925 "optional" : 1,
26926 "type" : "string",
26927 "typetext" : "<string>"
26928 },
44660702
DM
26929 "sparse" : {
26930 "description" : "use sparse volumes",
26931 "optional" : 1,
013dc89f
DM
26932 "type" : "boolean",
26933 "typetext" : "<boolean>"
44660702
DM
26934 },
26935 "storage" : {
26936 "description" : "The storage identifier.",
26937 "format" : "pve-storage-id",
013dc89f
DM
26938 "type" : "string",
26939 "typetext" : "<string>"
44660702 26940 },
4bd7df8b
DM
26941 "tagged_only" : {
26942 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
26943 "optional" : 1,
013dc89f
DM
26944 "type" : "boolean",
26945 "typetext" : "<boolean>"
4bd7df8b 26946 },
44660702
DM
26947 "transport" : {
26948 "description" : "Gluster transport: tcp or rdma",
26949 "enum" : [
26950 "tcp",
26951 "rdma",
26952 "unix"
26953 ],
26954 "optional" : 1,
26955 "type" : "string"
7aacca6f
DM
26956 },
26957 "username" : {
26958 "description" : "RBD Id.",
44660702 26959 "optional" : 1,
013dc89f
DM
26960 "type" : "string",
26961 "typetext" : "<string>"
7aacca6f 26962 }
44660702
DM
26963 },
26964 "type" : "object"
26965 },
26966 "permissions" : {
26967 "check" : [
26968 "perm",
26969 "/storage",
26970 [
26971 "Datastore.Allocate"
26972 ]
26973 ]
26974 },
26975 "protected" : 1,
26976 "returns" : {
26977 "type" : "null"
26978 }
26979 }
26980 },
26981 "leaf" : 1,
26982 "path" : "/storage/{storage}",
26983 "text" : "{storage}"
26984 }
26985 ],
26986 "info" : {
26987 "GET" : {
26988 "description" : "Storage index.",
26989 "method" : "GET",
26990 "name" : "index",
26991 "parameters" : {
26992 "additionalProperties" : 0,
26993 "properties" : {
26994 "type" : {
26995 "description" : "Only list storage of specific type",
26996 "enum" : [
27a7acb2 26997 "cifs",
44660702
DM
26998 "dir",
26999 "drbd",
27000 "glusterfs",
27001 "iscsi",
27002 "iscsidirect",
27003 "lvm",
27004 "lvmthin",
27005 "nfs",
27006 "rbd",
27007 "sheepdog",
27008 "zfs",
27009 "zfspool"
27010 ],
27011 "optional" : 1,
27012 "type" : "string"
27013 }
27014 }
27015 },
27016 "permissions" : {
27017 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
27018 "user" : "all"
27019 },
27020 "returns" : {
27021 "items" : {
27022 "properties" : {
27023 "storage" : {
27024 "type" : "string"
7aacca6f 27025 }
56122987 27026 },
44660702
DM
27027 "type" : "object"
27028 },
27029 "links" : [
27030 {
27031 "href" : "{storage}",
27032 "rel" : "child"
27033 }
27034 ],
27035 "type" : "array"
27036 }
27037 },
27038 "POST" : {
27039 "description" : "Create a new storage.",
27040 "method" : "POST",
27041 "name" : "create",
27042 "parameters" : {
27043 "additionalProperties" : 0,
27044 "properties" : {
27045 "authsupported" : {
27046 "description" : "Authsupported.",
27047 "optional" : 1,
013dc89f
DM
27048 "type" : "string",
27049 "typetext" : "<string>"
44660702
DM
27050 },
27051 "base" : {
27052 "description" : "Base volume. This volume is automatically activated.",
27053 "format" : "pve-volume-id",
27054 "optional" : 1,
013dc89f
DM
27055 "type" : "string",
27056 "typetext" : "<string>"
44660702
DM
27057 },
27058 "blocksize" : {
27059 "description" : "block size",
27060 "optional" : 1,
013dc89f
DM
27061 "type" : "string",
27062 "typetext" : "<string>"
44660702 27063 },
27a7acb2
DM
27064 "bwlimit" : {
27065 "description" : "Set bandwidth/io limits various operations.",
27066 "format" : {
27067 "clone" : {
27068 "description" : "bandwidth limit in MiB/s for cloning disks",
27069 "format_description" : "LIMIT",
27070 "minimum" : "0",
27071 "optional" : 1,
27072 "type" : "number"
27073 },
27074 "default" : {
27075 "description" : "default bandwidth limit in MiB/s",
27076 "format_description" : "LIMIT",
27077 "minimum" : "0",
27078 "optional" : 1,
27079 "type" : "number"
27080 },
27081 "migration" : {
27082 "description" : "bandwidth limit in MiB/s for migrating guests",
27083 "format_description" : "LIMIT",
27084 "minimum" : "0",
27085 "optional" : 1,
27086 "type" : "number"
27087 },
27088 "move" : {
27089 "description" : "bandwidth limit in MiB/s for moving disks",
27090 "format_description" : "LIMIT",
27091 "minimum" : "0",
27092 "optional" : 1,
27093 "type" : "number"
27094 },
27095 "restore" : {
27096 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
27097 "format_description" : "LIMIT",
27098 "minimum" : "0",
27099 "optional" : 1,
27100 "type" : "number"
27101 }
27102 },
27103 "optional" : 1,
27104 "type" : "string",
27105 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
27106 },
44660702
DM
27107 "comstar_hg" : {
27108 "description" : "host group for comstar views",
27109 "optional" : 1,
013dc89f
DM
27110 "type" : "string",
27111 "typetext" : "<string>"
44660702
DM
27112 },
27113 "comstar_tg" : {
27114 "description" : "target group for comstar views",
27115 "optional" : 1,
013dc89f
DM
27116 "type" : "string",
27117 "typetext" : "<string>"
44660702
DM
27118 },
27119 "content" : {
27120 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
27121 "format" : "pve-storage-content-list",
27122 "optional" : 1,
013dc89f
DM
27123 "type" : "string",
27124 "typetext" : "<string>"
44660702
DM
27125 },
27126 "disable" : {
27127 "description" : "Flag to disable the storage.",
27128 "optional" : 1,
013dc89f
DM
27129 "type" : "boolean",
27130 "typetext" : "<boolean>"
44660702 27131 },
27a7acb2
DM
27132 "domain" : {
27133 "description" : "CIFS domain.",
27134 "maxLength" : 256,
27135 "optional" : 1,
27136 "type" : "string",
27137 "typetext" : "<string>"
27138 },
44660702
DM
27139 "export" : {
27140 "description" : "NFS export path.",
27141 "format" : "pve-storage-path",
27142 "optional" : 1,
013dc89f
DM
27143 "type" : "string",
27144 "typetext" : "<string>"
44660702
DM
27145 },
27146 "format" : {
27147 "description" : "Default image format.",
27148 "format" : "pve-storage-format",
27149 "optional" : 1,
013dc89f
DM
27150 "type" : "string",
27151 "typetext" : "<string>"
44660702 27152 },
2c0dde61
DM
27153 "is_mountpoint" : {
27154 "default" : "no",
2489d6df 27155 "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 27156 "optional" : 1,
2489d6df
WB
27157 "type" : "string",
27158 "typetext" : "<string>"
2c0dde61 27159 },
44660702
DM
27160 "iscsiprovider" : {
27161 "description" : "iscsi provider",
27162 "optional" : 1,
013dc89f
DM
27163 "type" : "string",
27164 "typetext" : "<string>"
44660702
DM
27165 },
27166 "krbd" : {
27167 "description" : "Access rbd through krbd kernel module.",
27168 "optional" : 1,
013dc89f
DM
27169 "type" : "boolean",
27170 "typetext" : "<boolean>"
56122987 27171 },
44660702
DM
27172 "maxfiles" : {
27173 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
27174 "minimum" : 0,
27175 "optional" : 1,
4bd7df8b 27176 "type" : "integer",
013dc89f 27177 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
27178 },
27179 "mkdir" : {
27180 "default" : "yes",
27181 "description" : "Create the directory if it doesn't exist.",
27182 "optional" : 1,
013dc89f
DM
27183 "type" : "boolean",
27184 "typetext" : "<boolean>"
7aacca6f 27185 },
44660702 27186 "monhost" : {
2489d6df 27187 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 27188 "format" : "pve-storage-portal-dns-list",
44660702 27189 "optional" : 1,
013dc89f
DM
27190 "type" : "string",
27191 "typetext" : "<string>"
7aacca6f 27192 },
44660702
DM
27193 "nodes" : {
27194 "description" : "List of cluster node names.",
27195 "format" : "pve-node-list",
27196 "optional" : 1,
013dc89f
DM
27197 "type" : "string",
27198 "typetext" : "<string>"
7aacca6f 27199 },
44660702
DM
27200 "nowritecache" : {
27201 "description" : "disable write caching on the target",
27202 "optional" : 1,
013dc89f
DM
27203 "type" : "boolean",
27204 "typetext" : "<boolean>"
44660702
DM
27205 },
27206 "options" : {
27207 "description" : "NFS mount options (see 'man nfs')",
27208 "format" : "pve-storage-options",
27209 "optional" : 1,
013dc89f
DM
27210 "type" : "string",
27211 "typetext" : "<string>"
44660702 27212 },
27a7acb2
DM
27213 "password" : {
27214 "description" : "Password for CIFS share.",
27215 "maxLength" : 256,
27216 "optional" : 1,
27217 "type" : "string",
27218 "typetext" : "<string>"
27219 },
44660702
DM
27220 "path" : {
27221 "description" : "File system path.",
27222 "format" : "pve-storage-path",
27223 "optional" : 1,
013dc89f
DM
27224 "type" : "string",
27225 "typetext" : "<string>"
44660702
DM
27226 },
27227 "pool" : {
27228 "description" : "Pool.",
27229 "optional" : 1,
013dc89f
DM
27230 "type" : "string",
27231 "typetext" : "<string>"
44660702
DM
27232 },
27233 "portal" : {
27234 "description" : "iSCSI portal (IP or DNS name with optional port).",
27235 "format" : "pve-storage-portal-dns",
27236 "optional" : 1,
013dc89f
DM
27237 "type" : "string",
27238 "typetext" : "<string>"
44660702
DM
27239 },
27240 "redundancy" : {
27241 "default" : 2,
27242 "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.",
27243 "maximum" : 16,
27244 "minimum" : 1,
27245 "optional" : 1,
4bd7df8b 27246 "type" : "integer",
013dc89f 27247 "typetext" : "<integer> (1 - 16)"
44660702
DM
27248 },
27249 "saferemove" : {
27250 "description" : "Zero-out data when removing LVs.",
27251 "optional" : 1,
013dc89f
DM
27252 "type" : "boolean",
27253 "typetext" : "<boolean>"
44660702
DM
27254 },
27255 "saferemove_throughput" : {
27256 "description" : "Wipe throughput (cstream -t parameter value).",
27257 "optional" : 1,
013dc89f
DM
27258 "type" : "string",
27259 "typetext" : "<string>"
44660702
DM
27260 },
27261 "server" : {
27262 "description" : "Server IP or DNS name.",
27263 "format" : "pve-storage-server",
27264 "optional" : 1,
013dc89f
DM
27265 "type" : "string",
27266 "typetext" : "<string>"
44660702
DM
27267 },
27268 "server2" : {
27269 "description" : "Backup volfile server IP or DNS name.",
27270 "format" : "pve-storage-server",
27271 "optional" : 1,
27272 "requires" : "server",
013dc89f
DM
27273 "type" : "string",
27274 "typetext" : "<string>"
44660702 27275 },
27a7acb2
DM
27276 "share" : {
27277 "description" : "CIFS share.",
27278 "optional" : 1,
27279 "type" : "string",
27280 "typetext" : "<string>"
27281 },
44660702
DM
27282 "shared" : {
27283 "description" : "Mark storage as shared.",
27284 "optional" : 1,
013dc89f
DM
27285 "type" : "boolean",
27286 "typetext" : "<boolean>"
44660702 27287 },
27a7acb2
DM
27288 "smbversion" : {
27289 "description" : "",
27290 "optional" : 1,
27291 "type" : "string",
27292 "typetext" : "<string>"
27293 },
44660702
DM
27294 "sparse" : {
27295 "description" : "use sparse volumes",
27296 "optional" : 1,
013dc89f
DM
27297 "type" : "boolean",
27298 "typetext" : "<boolean>"
44660702
DM
27299 },
27300 "storage" : {
27301 "description" : "The storage identifier.",
27302 "format" : "pve-storage-id",
013dc89f
DM
27303 "type" : "string",
27304 "typetext" : "<string>"
44660702 27305 },
4bd7df8b
DM
27306 "tagged_only" : {
27307 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
27308 "optional" : 1,
013dc89f
DM
27309 "type" : "boolean",
27310 "typetext" : "<boolean>"
4bd7df8b 27311 },
44660702
DM
27312 "target" : {
27313 "description" : "iSCSI target.",
27314 "optional" : 1,
013dc89f
DM
27315 "type" : "string",
27316 "typetext" : "<string>"
44660702
DM
27317 },
27318 "thinpool" : {
27319 "description" : "LVM thin pool LV name.",
27320 "format" : "pve-storage-vgname",
27321 "optional" : 1,
013dc89f
DM
27322 "type" : "string",
27323 "typetext" : "<string>"
44660702
DM
27324 },
27325 "transport" : {
27326 "description" : "Gluster transport: tcp or rdma",
27327 "enum" : [
27328 "tcp",
27329 "rdma",
27330 "unix"
7aacca6f 27331 ],
44660702
DM
27332 "optional" : 1,
27333 "type" : "string"
56122987 27334 },
44660702
DM
27335 "type" : {
27336 "description" : "Storage type.",
27337 "enum" : [
27a7acb2 27338 "cifs",
44660702
DM
27339 "dir",
27340 "drbd",
27341 "glusterfs",
27342 "iscsi",
27343 "iscsidirect",
27344 "lvm",
27345 "lvmthin",
27346 "nfs",
27347 "rbd",
27348 "sheepdog",
27349 "zfs",
27350 "zfspool"
27351 ],
27352 "type" : "string"
56122987 27353 },
44660702
DM
27354 "username" : {
27355 "description" : "RBD Id.",
27356 "optional" : 1,
013dc89f
DM
27357 "type" : "string",
27358 "typetext" : "<string>"
7aacca6f 27359 },
44660702
DM
27360 "vgname" : {
27361 "description" : "Volume group name.",
27362 "format" : "pve-storage-vgname",
27363 "optional" : 1,
013dc89f
DM
27364 "type" : "string",
27365 "typetext" : "<string>"
44660702
DM
27366 },
27367 "volume" : {
27368 "description" : "Glusterfs Volume.",
27369 "optional" : 1,
013dc89f
DM
27370 "type" : "string",
27371 "typetext" : "<string>"
44660702
DM
27372 }
27373 },
27374 "type" : "object"
27375 },
27376 "permissions" : {
27377 "check" : [
27378 "perm",
27379 "/storage",
27380 [
27381 "Datastore.Allocate"
27382 ]
27383 ]
56122987 27384 },
44660702
DM
27385 "protected" : 1,
27386 "returns" : {
27387 "type" : "null"
27388 }
27389 }
27390 },
27391 "leaf" : 0,
27392 "path" : "/storage",
27393 "text" : "storage"
27394 },
27395 {
27396 "children" : [
27397 {
56122987
DM
27398 "children" : [
27399 {
56122987 27400 "info" : {
44660702
DM
27401 "DELETE" : {
27402 "description" : "Delete user.",
27403 "method" : "DELETE",
27404 "name" : "delete_user",
56122987 27405 "parameters" : {
7aacca6f 27406 "additionalProperties" : 0,
56122987 27407 "properties" : {
56122987 27408 "userid" : {
56122987
DM
27409 "description" : "User ID",
27410 "format" : "pve-userid",
44660702 27411 "maxLength" : 64,
013dc89f
DM
27412 "type" : "string",
27413 "typetext" : "<string>"
56122987 27414 }
7aacca6f 27415 }
56122987 27416 },
56122987
DM
27417 "permissions" : {
27418 "check" : [
44660702 27419 "and",
56122987 27420 [
44660702
DM
27421 "userid-param",
27422 "Realm.AllocateUser"
56122987 27423 ],
44660702
DM
27424 [
27425 "userid-group",
27426 [
27427 "User.Modify"
27428 ]
27429 ]
56122987 27430 ]
7aacca6f 27431 },
44660702 27432 "protected" : 1,
56122987
DM
27433 "returns" : {
27434 "type" : "null"
44660702 27435 }
7aacca6f 27436 },
44660702
DM
27437 "GET" : {
27438 "description" : "Get user configuration.",
27439 "method" : "GET",
27440 "name" : "read_user",
56122987
DM
27441 "parameters" : {
27442 "additionalProperties" : 0,
27443 "properties" : {
27444 "userid" : {
44660702 27445 "description" : "User ID",
56122987 27446 "format" : "pve-userid",
44660702 27447 "maxLength" : 64,
013dc89f
DM
27448 "type" : "string",
27449 "typetext" : "<string>"
56122987
DM
27450 }
27451 }
27452 },
56122987
DM
27453 "permissions" : {
27454 "check" : [
44660702 27455 "userid-group",
56122987 27456 [
44660702
DM
27457 "User.Modify",
27458 "Sys.Audit"
56122987
DM
27459 ]
27460 ]
27461 },
56122987 27462 "returns" : {
7aacca6f 27463 "additionalProperties" : 0,
56122987 27464 "properties" : {
44660702
DM
27465 "comment" : {
27466 "optional" : 1,
27467 "type" : "string"
56122987 27468 },
44660702
DM
27469 "email" : {
27470 "optional" : 1,
27471 "type" : "string"
7aacca6f
DM
27472 },
27473 "enable" : {
27474 "type" : "boolean"
27475 },
44660702
DM
27476 "expire" : {
27477 "optional" : 1,
27478 "type" : "integer"
27479 },
27480 "firstname" : {
56122987
DM
27481 "optional" : 1,
27482 "type" : "string"
27483 },
44660702
DM
27484 "groups" : {
27485 "type" : "array"
56122987 27486 },
44660702
DM
27487 "keys" : {
27488 "optional" : 1,
27489 "type" : "string"
7aacca6f 27490 },
44660702
DM
27491 "lastname" : {
27492 "optional" : 1,
27493 "type" : "string"
56122987 27494 }
7aacca6f 27495 }
44660702
DM
27496 }
27497 },
27498 "PUT" : {
27499 "description" : "Update user configuration.",
27500 "method" : "PUT",
27501 "name" : "update_user",
56122987 27502 "parameters" : {
44660702 27503 "additionalProperties" : 0,
56122987 27504 "properties" : {
44660702
DM
27505 "append" : {
27506 "optional" : 1,
27507 "requires" : "groups",
013dc89f
DM
27508 "type" : "boolean",
27509 "typetext" : "<boolean>"
44660702
DM
27510 },
27511 "comment" : {
27512 "optional" : 1,
013dc89f
DM
27513 "type" : "string",
27514 "typetext" : "<string>"
44660702
DM
27515 },
27516 "email" : {
27517 "format" : "email-opt",
27518 "optional" : 1,
013dc89f
DM
27519 "type" : "string",
27520 "typetext" : "<string>"
44660702
DM
27521 },
27522 "enable" : {
27523 "description" : "Enable/disable the account.",
27524 "optional" : 1,
013dc89f
DM
27525 "type" : "boolean",
27526 "typetext" : "<boolean>"
44660702
DM
27527 },
27528 "expire" : {
27529 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
27530 "minimum" : 0,
27531 "optional" : 1,
4bd7df8b 27532 "type" : "integer",
013dc89f 27533 "typetext" : "<integer> (0 - N)"
44660702
DM
27534 },
27535 "firstname" : {
27536 "optional" : 1,
013dc89f
DM
27537 "type" : "string",
27538 "typetext" : "<string>"
44660702
DM
27539 },
27540 "groups" : {
27541 "format" : "pve-groupid-list",
27542 "optional" : 1,
013dc89f
DM
27543 "type" : "string",
27544 "typetext" : "<string>"
44660702
DM
27545 },
27546 "keys" : {
27547 "description" : "Keys for two factor auth (yubico).",
27548 "optional" : 1,
013dc89f
DM
27549 "type" : "string",
27550 "typetext" : "<string>"
44660702
DM
27551 },
27552 "lastname" : {
27553 "optional" : 1,
013dc89f
DM
27554 "type" : "string",
27555 "typetext" : "<string>"
44660702 27556 },
56122987 27557 "userid" : {
56122987
DM
27558 "description" : "User ID",
27559 "format" : "pve-userid",
44660702 27560 "maxLength" : 64,
013dc89f
DM
27561 "type" : "string",
27562 "typetext" : "<string>"
56122987 27563 }
44660702 27564 }
56122987 27565 },
56122987
DM
27566 "permissions" : {
27567 "check" : [
27568 "userid-group",
27569 [
44660702
DM
27570 "User.Modify"
27571 ],
27572 "groups_param",
27573 1
56122987
DM
27574 ]
27575 },
44660702
DM
27576 "protected" : 1,
27577 "returns" : {
27578 "type" : "null"
27579 }
56122987
DM
27580 }
27581 },
44660702
DM
27582 "leaf" : 1,
27583 "path" : "/access/users/{userid}",
7aacca6f 27584 "text" : "{userid}"
56122987 27585 }
7aacca6f 27586 ],
56122987 27587 "info" : {
7aacca6f 27588 "GET" : {
44660702
DM
27589 "description" : "User index.",
27590 "method" : "GET",
7aacca6f 27591 "name" : "index",
56122987 27592 "parameters" : {
44660702
DM
27593 "additionalProperties" : 0,
27594 "properties" : {
27595 "enabled" : {
27596 "description" : "Optional filter for enable property.",
27597 "optional" : 1,
013dc89f
DM
27598 "type" : "boolean",
27599 "typetext" : "<boolean>"
44660702
DM
27600 }
27601 }
27602 },
27603 "permissions" : {
27604 "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.",
27605 "user" : "all"
56122987 27606 },
7aacca6f 27607 "returns" : {
7aacca6f
DM
27608 "items" : {
27609 "properties" : {
44660702 27610 "userid" : {
7aacca6f
DM
27611 "type" : "string"
27612 }
27613 },
27614 "type" : "object"
27615 },
44660702
DM
27616 "links" : [
27617 {
27618 "href" : "{userid}",
27619 "rel" : "child"
27620 }
27621 ],
7aacca6f
DM
27622 "type" : "array"
27623 }
27624 },
27625 "POST" : {
44660702 27626 "description" : "Create new user.",
7aacca6f 27627 "method" : "POST",
44660702 27628 "name" : "create_user",
56122987 27629 "parameters" : {
7aacca6f
DM
27630 "additionalProperties" : 0,
27631 "properties" : {
44660702
DM
27632 "comment" : {
27633 "optional" : 1,
013dc89f
DM
27634 "type" : "string",
27635 "typetext" : "<string>"
7aacca6f 27636 },
44660702
DM
27637 "email" : {
27638 "format" : "email-opt",
27639 "optional" : 1,
013dc89f
DM
27640 "type" : "string",
27641 "typetext" : "<string>"
44660702
DM
27642 },
27643 "enable" : {
27644 "default" : 1,
27645 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
27646 "optional" : 1,
013dc89f
DM
27647 "type" : "boolean",
27648 "typetext" : "<boolean>"
44660702
DM
27649 },
27650 "expire" : {
27651 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
27652 "minimum" : 0,
27653 "optional" : 1,
4bd7df8b 27654 "type" : "integer",
013dc89f 27655 "typetext" : "<integer> (0 - N)"
44660702
DM
27656 },
27657 "firstname" : {
27658 "optional" : 1,
013dc89f
DM
27659 "type" : "string",
27660 "typetext" : "<string>"
44660702
DM
27661 },
27662 "groups" : {
27663 "format" : "pve-groupid-list",
27664 "optional" : 1,
013dc89f
DM
27665 "type" : "string",
27666 "typetext" : "<string>"
44660702
DM
27667 },
27668 "keys" : {
27669 "description" : "Keys for two factor auth (yubico).",
27670 "optional" : 1,
013dc89f
DM
27671 "type" : "string",
27672 "typetext" : "<string>"
44660702
DM
27673 },
27674 "lastname" : {
7aacca6f 27675 "optional" : 1,
013dc89f
DM
27676 "type" : "string",
27677 "typetext" : "<string>"
44660702
DM
27678 },
27679 "password" : {
27680 "description" : "Initial password.",
27681 "maxLength" : 64,
27682 "minLength" : 5,
27683 "optional" : 1,
013dc89f
DM
27684 "type" : "string",
27685 "typetext" : "<string>"
44660702
DM
27686 },
27687 "userid" : {
27688 "description" : "User ID",
27689 "format" : "pve-userid",
27690 "maxLength" : 64,
013dc89f
DM
27691 "type" : "string",
27692 "typetext" : "<string>"
56122987 27693 }
7aacca6f 27694 }
56122987 27695 },
44660702
DM
27696 "permissions" : {
27697 "check" : [
27698 "and",
27699 [
27700 "userid-param",
27701 "Realm.AllocateUser"
27702 ],
27703 [
27704 "userid-group",
27705 [
27706 "User.Modify"
27707 ],
27708 "groups_param",
27709 1
27710 ]
27711 ],
27712 "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."
27713 },
27714 "protected" : 1,
27715 "returns" : {
27716 "type" : "null"
27717 }
56122987
DM
27718 }
27719 },
44660702
DM
27720 "leaf" : 0,
27721 "path" : "/access/users",
27722 "text" : "users"
27723 },
27724 {
56122987
DM
27725 "children" : [
27726 {
56122987
DM
27727 "info" : {
27728 "DELETE" : {
44660702
DM
27729 "description" : "Delete group.",
27730 "method" : "DELETE",
27731 "name" : "delete_group",
27732 "parameters" : {
27733 "additionalProperties" : 0,
27734 "properties" : {
27735 "groupid" : {
27736 "format" : "pve-groupid",
013dc89f
DM
27737 "type" : "string",
27738 "typetext" : "<string>"
44660702
DM
27739 }
27740 }
27741 },
7aacca6f
DM
27742 "permissions" : {
27743 "check" : [
27744 "perm",
27745 "/access/groups",
27746 [
27747 "Group.Allocate"
27748 ]
27749 ]
27750 },
7aacca6f 27751 "protected" : 1,
7aacca6f
DM
27752 "returns" : {
27753 "type" : "null"
44660702 27754 }
7aacca6f 27755 },
44660702
DM
27756 "GET" : {
27757 "description" : "Get group configuration.",
27758 "method" : "GET",
27759 "name" : "read_group",
27760 "parameters" : {
27761 "additionalProperties" : 0,
27762 "properties" : {
27763 "groupid" : {
27764 "format" : "pve-groupid",
013dc89f
DM
27765 "type" : "string",
27766 "typetext" : "<string>"
44660702
DM
27767 }
27768 }
56122987 27769 },
7aacca6f
DM
27770 "permissions" : {
27771 "check" : [
27772 "perm",
27773 "/access/groups",
27774 [
44660702 27775 "Sys.Audit",
7aacca6f 27776 "Group.Allocate"
44660702
DM
27777 ],
27778 "any",
27779 1
7aacca6f
DM
27780 ]
27781 },
7aacca6f 27782 "returns" : {
44660702 27783 "additionalProperties" : 0,
7aacca6f
DM
27784 "properties" : {
27785 "comment" : {
44660702
DM
27786 "optional" : 1,
27787 "type" : "string"
7aacca6f
DM
27788 },
27789 "members" : {
27790 "items" : {
27791 "type" : "string"
27792 },
27793 "type" : "array"
27794 }
27795 },
44660702
DM
27796 "type" : "object"
27797 }
27798 },
27799 "PUT" : {
27800 "description" : "Update group data.",
27801 "method" : "PUT",
27802 "name" : "update_group",
56122987 27803 "parameters" : {
44660702 27804 "additionalProperties" : 0,
56122987 27805 "properties" : {
44660702
DM
27806 "comment" : {
27807 "optional" : 1,
013dc89f
DM
27808 "type" : "string",
27809 "typetext" : "<string>"
44660702 27810 },
56122987
DM
27811 "groupid" : {
27812 "format" : "pve-groupid",
013dc89f
DM
27813 "type" : "string",
27814 "typetext" : "<string>"
56122987 27815 }
44660702 27816 }
56122987 27817 },
56122987
DM
27818 "permissions" : {
27819 "check" : [
27820 "perm",
27821 "/access/groups",
27822 [
27823 "Group.Allocate"
44660702 27824 ]
56122987
DM
27825 ]
27826 },
44660702
DM
27827 "protected" : 1,
27828 "returns" : {
27829 "type" : "null"
27830 }
7aacca6f
DM
27831 }
27832 },
7aacca6f 27833 "leaf" : 1,
44660702
DM
27834 "path" : "/access/groups/{groupid}",
27835 "text" : "{groupid}"
27836 }
27837 ],
27838 "info" : {
27839 "GET" : {
27840 "description" : "Group index.",
27841 "method" : "GET",
27842 "name" : "index",
27843 "parameters" : {
27844 "additionalProperties" : 0
27845 },
27846 "permissions" : {
27847 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
27848 "user" : "all"
27849 },
27850 "returns" : {
27851 "items" : {
27852 "properties" : {
27853 "groupid" : {
27854 "type" : "string"
27855 }
27856 },
27857 "type" : "object"
27858 },
27859 "links" : [
27860 {
27861 "href" : "{groupid}",
27862 "rel" : "child"
27863 }
27864 ],
27865 "type" : "array"
27866 }
27867 },
27868 "POST" : {
27869 "description" : "Create new group.",
27870 "method" : "POST",
27871 "name" : "create_group",
27872 "parameters" : {
27873 "additionalProperties" : 0,
27874 "properties" : {
27875 "comment" : {
27876 "optional" : 1,
013dc89f
DM
27877 "type" : "string",
27878 "typetext" : "<string>"
44660702
DM
27879 },
27880 "groupid" : {
27881 "format" : "pve-groupid",
013dc89f
DM
27882 "type" : "string",
27883 "typetext" : "<string>"
44660702
DM
27884 }
27885 }
27886 },
27887 "permissions" : {
27888 "check" : [
27889 "perm",
27890 "/access/groups",
27891 [
27892 "Group.Allocate"
27893 ]
27894 ]
27895 },
27896 "protected" : 1,
27897 "returns" : {
27898 "type" : "null"
27899 }
7aacca6f 27900 }
44660702 27901 },
7aacca6f 27902 "leaf" : 0,
44660702
DM
27903 "path" : "/access/groups",
27904 "text" : "groups"
7aacca6f
DM
27905 },
27906 {
27907 "children" : [
27908 {
7aacca6f 27909 "info" : {
7aacca6f 27910 "DELETE" : {
7aacca6f 27911 "description" : "Delete role.",
44660702 27912 "method" : "DELETE",
7aacca6f 27913 "name" : "delete_role",
56122987
DM
27914 "parameters" : {
27915 "additionalProperties" : 0,
27916 "properties" : {
7aacca6f
DM
27917 "roleid" : {
27918 "format" : "pve-roleid",
013dc89f
DM
27919 "type" : "string",
27920 "typetext" : "<string>"
56122987
DM
27921 }
27922 }
27923 },
56122987
DM
27924 "permissions" : {
27925 "check" : [
27926 "perm",
7aacca6f 27927 "/access",
56122987 27928 [
7aacca6f
DM
27929 "Sys.Modify"
27930 ]
56122987 27931 ]
44660702
DM
27932 },
27933 "protected" : 1,
27934 "returns" : {
27935 "type" : "null"
56122987
DM
27936 }
27937 },
44660702
DM
27938 "GET" : {
27939 "description" : "Get role configuration.",
27940 "method" : "GET",
27941 "name" : "read_role",
27942 "parameters" : {
27943 "additionalProperties" : 0,
27944 "properties" : {
27945 "roleid" : {
27946 "format" : "pve-roleid",
013dc89f
DM
27947 "type" : "string",
27948 "typetext" : "<string>"
44660702
DM
27949 }
27950 }
27951 },
7aacca6f 27952 "permissions" : {
44660702 27953 "user" : "all"
56122987 27954 },
44660702
DM
27955 "returns" : {}
27956 },
27957 "PUT" : {
27958 "description" : "Create new role.",
27959 "method" : "PUT",
27960 "name" : "update_role",
56122987
DM
27961 "parameters" : {
27962 "additionalProperties" : 0,
27963 "properties" : {
7aacca6f 27964 "append" : {
44660702 27965 "optional" : 1,
7aacca6f 27966 "requires" : "privs",
013dc89f
DM
27967 "type" : "boolean",
27968 "typetext" : "<boolean>"
7aacca6f
DM
27969 },
27970 "privs" : {
27971 "format" : "pve-priv-list",
013dc89f
DM
27972 "type" : "string",
27973 "typetext" : "<string>"
44660702
DM
27974 },
27975 "roleid" : {
27976 "format" : "pve-roleid",
013dc89f
DM
27977 "type" : "string",
27978 "typetext" : "<string>"
56122987
DM
27979 }
27980 }
27981 },
44660702
DM
27982 "permissions" : {
27983 "check" : [
27984 "perm",
27985 "/access",
27986 [
27987 "Sys.Modify"
27988 ]
27989 ]
27990 },
56122987 27991 "protected" : 1,
7aacca6f
DM
27992 "returns" : {
27993 "type" : "null"
56122987
DM
27994 }
27995 }
27996 },
44660702 27997 "leaf" : 1,
7aacca6f 27998 "path" : "/access/roles/{roleid}",
44660702 27999 "text" : "{roleid}"
56122987
DM
28000 }
28001 ],
56122987 28002 "info" : {
7aacca6f
DM
28003 "GET" : {
28004 "description" : "Role index.",
44660702 28005 "method" : "GET",
7aacca6f 28006 "name" : "index",
56122987 28007 "parameters" : {
56122987
DM
28008 "additionalProperties" : 0
28009 },
7aacca6f
DM
28010 "permissions" : {
28011 "user" : "all"
28012 },
56122987 28013 "returns" : {
7aacca6f 28014 "items" : {
7aacca6f
DM
28015 "properties" : {
28016 "roleid" : {
28017 "type" : "string"
28018 }
44660702
DM
28019 },
28020 "type" : "object"
28021 },
28022 "links" : [
28023 {
28024 "href" : "{roleid}",
28025 "rel" : "child"
7aacca6f 28026 }
44660702
DM
28027 ],
28028 "type" : "array"
28029 }
7aacca6f
DM
28030 },
28031 "POST" : {
28032 "description" : "Create new role.",
44660702
DM
28033 "method" : "POST",
28034 "name" : "create_role",
7aacca6f
DM
28035 "parameters" : {
28036 "additionalProperties" : 0,
28037 "properties" : {
7aacca6f
DM
28038 "privs" : {
28039 "format" : "pve-priv-list",
28040 "optional" : 1,
013dc89f
DM
28041 "type" : "string",
28042 "typetext" : "<string>"
44660702
DM
28043 },
28044 "roleid" : {
28045 "format" : "pve-roleid",
013dc89f
DM
28046 "type" : "string",
28047 "typetext" : "<string>"
7aacca6f
DM
28048 }
28049 }
28050 },
44660702
DM
28051 "permissions" : {
28052 "check" : [
28053 "perm",
28054 "/access",
28055 [
28056 "Sys.Modify"
28057 ]
28058 ]
28059 },
28060 "protected" : 1,
7aacca6f
DM
28061 "returns" : {
28062 "type" : "null"
28063 }
28064 }
28065 },
44660702 28066 "leaf" : 0,
7aacca6f 28067 "path" : "/access/roles",
44660702 28068 "text" : "roles"
7aacca6f
DM
28069 },
28070 {
28071 "info" : {
56122987 28072 "GET" : {
44660702
DM
28073 "description" : "Get Access Control List (ACLs).",
28074 "method" : "GET",
28075 "name" : "read_acl",
7aacca6f
DM
28076 "parameters" : {
28077 "additionalProperties" : 0
28078 },
44660702
DM
28079 "permissions" : {
28080 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
28081 "user" : "all"
28082 },
56122987 28083 "returns" : {
56122987 28084 "items" : {
44660702 28085 "additionalProperties" : 0,
56122987 28086 "properties" : {
7aacca6f
DM
28087 "path" : {
28088 "type" : "string"
28089 },
44660702
DM
28090 "propagate" : {
28091 "type" : "boolean"
28092 },
28093 "roleid" : {
28094 "type" : "string"
28095 },
7aacca6f
DM
28096 "type" : {
28097 "enum" : [
28098 "user",
28099 "group"
28100 ],
28101 "type" : "string"
28102 },
7aacca6f
DM
28103 "ugid" : {
28104 "type" : "string"
56122987 28105 }
7aacca6f 28106 },
44660702 28107 "type" : "object"
7aacca6f
DM
28108 },
28109 "type" : "array"
44660702 28110 }
7aacca6f
DM
28111 },
28112 "PUT" : {
44660702
DM
28113 "description" : "Update Access Control List (add or remove permissions).",
28114 "method" : "PUT",
7aacca6f
DM
28115 "name" : "update_acl",
28116 "parameters" : {
28117 "additionalProperties" : 0,
28118 "properties" : {
28119 "delete" : {
44660702 28120 "description" : "Remove permissions (instead of adding it).",
7aacca6f 28121 "optional" : 1,
013dc89f
DM
28122 "type" : "boolean",
28123 "typetext" : "<boolean>"
7aacca6f 28124 },
44660702
DM
28125 "groups" : {
28126 "description" : "List of groups.",
28127 "format" : "pve-groupid-list",
7aacca6f 28128 "optional" : 1,
013dc89f
DM
28129 "type" : "string",
28130 "typetext" : "<string>"
7aacca6f
DM
28131 },
28132 "path" : {
28133 "description" : "Access control path",
013dc89f
DM
28134 "type" : "string",
28135 "typetext" : "<string>"
7aacca6f 28136 },
7aacca6f 28137 "propagate" : {
44660702 28138 "default" : 1,
7aacca6f 28139 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 28140 "optional" : 1,
013dc89f
DM
28141 "type" : "boolean",
28142 "typetext" : "<boolean>"
7aacca6f 28143 },
44660702
DM
28144 "roles" : {
28145 "description" : "List of roles.",
28146 "format" : "pve-roleid-list",
013dc89f
DM
28147 "type" : "string",
28148 "typetext" : "<string>"
44660702
DM
28149 },
28150 "users" : {
28151 "description" : "List of users.",
28152 "format" : "pve-userid-list",
7aacca6f 28153 "optional" : 1,
013dc89f
DM
28154 "type" : "string",
28155 "typetext" : "<string>"
56122987
DM
28156 }
28157 }
28158 },
56122987 28159 "permissions" : {
7aacca6f
DM
28160 "check" : [
28161 "perm-modify",
28162 "{path}"
28163 ]
28164 },
7aacca6f
DM
28165 "protected" : 1,
28166 "returns" : {
28167 "type" : "null"
44660702 28168 }
56122987
DM
28169 }
28170 },
7aacca6f 28171 "leaf" : 1,
44660702
DM
28172 "path" : "/access/acl",
28173 "text" : "acl"
7aacca6f
DM
28174 },
28175 {
56122987
DM
28176 "children" : [
28177 {
56122987 28178 "info" : {
44660702
DM
28179 "DELETE" : {
28180 "description" : "Delete an authentication server.",
28181 "method" : "DELETE",
28182 "name" : "delete",
28183 "parameters" : {
28184 "additionalProperties" : 0,
28185 "properties" : {
28186 "realm" : {
28187 "description" : "Authentication domain ID",
28188 "format" : "pve-realm",
28189 "maxLength" : 32,
013dc89f
DM
28190 "type" : "string",
28191 "typetext" : "<string>"
56122987 28192 }
44660702 28193 }
56122987 28194 },
56122987
DM
28195 "permissions" : {
28196 "check" : [
28197 "perm",
7aacca6f 28198 "/access/realm",
56122987 28199 [
7aacca6f 28200 "Realm.Allocate"
56122987
DM
28201 ]
28202 ]
28203 },
7aacca6f 28204 "protected" : 1,
7aacca6f
DM
28205 "returns" : {
28206 "type" : "null"
44660702 28207 }
7aacca6f 28208 },
44660702
DM
28209 "GET" : {
28210 "description" : "Get auth server configuration.",
28211 "method" : "GET",
28212 "name" : "read",
56122987 28213 "parameters" : {
44660702 28214 "additionalProperties" : 0,
56122987 28215 "properties" : {
7aacca6f 28216 "realm" : {
44660702 28217 "description" : "Authentication domain ID",
7aacca6f
DM
28218 "format" : "pve-realm",
28219 "maxLength" : 32,
013dc89f
DM
28220 "type" : "string",
28221 "typetext" : "<string>"
56122987 28222 }
44660702 28223 }
7aacca6f 28224 },
7aacca6f
DM
28225 "permissions" : {
28226 "check" : [
28227 "perm",
28228 "/access/realm",
28229 [
44660702
DM
28230 "Realm.Allocate",
28231 "Sys.Audit"
28232 ],
28233 "any",
28234 1
7aacca6f 28235 ]
44660702
DM
28236 },
28237 "returns" : {}
7aacca6f 28238 },
44660702
DM
28239 "PUT" : {
28240 "description" : "Update authentication server settings.",
28241 "method" : "PUT",
28242 "name" : "update",
7aacca6f 28243 "parameters" : {
44660702 28244 "additionalProperties" : 0,
7aacca6f 28245 "properties" : {
44660702
DM
28246 "base_dn" : {
28247 "description" : "LDAP base domain name",
28248 "maxLength" : 256,
28249 "optional" : 1,
28250 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
28251 "type" : "string"
28252 },
4bd7df8b
DM
28253 "bind_dn" : {
28254 "description" : "LDAP bind domain name",
28255 "maxLength" : 256,
28256 "optional" : 1,
28257 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
28258 "type" : "string"
28259 },
2489d6df
WB
28260 "capath" : {
28261 "default" : "/etc/ssl/certs",
28262 "description" : "Path to the CA certificate store",
28263 "optional" : 1,
28264 "type" : "string",
28265 "typetext" : "<string>"
28266 },
28267 "cert" : {
28268 "description" : "Path to the client certificate",
28269 "optional" : 1,
28270 "type" : "string",
28271 "typetext" : "<string>"
28272 },
28273 "certkey" : {
28274 "description" : "Path to the client certificate key",
28275 "optional" : 1,
28276 "type" : "string",
28277 "typetext" : "<string>"
28278 },
44660702
DM
28279 "comment" : {
28280 "description" : "Description.",
28281 "maxLength" : 4096,
28282 "optional" : 1,
013dc89f
DM
28283 "type" : "string",
28284 "typetext" : "<string>"
44660702
DM
28285 },
28286 "default" : {
28287 "description" : "Use this as default realm",
28288 "optional" : 1,
013dc89f
DM
28289 "type" : "boolean",
28290 "typetext" : "<boolean>"
44660702
DM
28291 },
28292 "delete" : {
28293 "description" : "A list of settings you want to delete.",
28294 "format" : "pve-configid-list",
28295 "maxLength" : 4096,
28296 "optional" : 1,
013dc89f
DM
28297 "type" : "string",
28298 "typetext" : "<string>"
44660702
DM
28299 },
28300 "digest" : {
28301 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
28302 "maxLength" : 40,
28303 "optional" : 1,
013dc89f
DM
28304 "type" : "string",
28305 "typetext" : "<string>"
44660702
DM
28306 },
28307 "domain" : {
28308 "description" : "AD domain name",
28309 "maxLength" : 256,
28310 "optional" : 1,
28311 "pattern" : "\\S+",
28312 "type" : "string"
28313 },
28314 "port" : {
28315 "description" : "Server port.",
28316 "maximum" : 65535,
28317 "minimum" : 1,
28318 "optional" : 1,
4bd7df8b 28319 "type" : "integer",
013dc89f 28320 "typetext" : "<integer> (1 - 65535)"
44660702 28321 },
7aacca6f 28322 "realm" : {
7aacca6f
DM
28323 "description" : "Authentication domain ID",
28324 "format" : "pve-realm",
44660702 28325 "maxLength" : 32,
013dc89f
DM
28326 "type" : "string",
28327 "typetext" : "<string>"
44660702
DM
28328 },
28329 "secure" : {
28330 "description" : "Use secure LDAPS protocol.",
28331 "optional" : 1,
013dc89f
DM
28332 "type" : "boolean",
28333 "typetext" : "<boolean>"
44660702
DM
28334 },
28335 "server1" : {
28336 "description" : "Server IP address (or DNS name)",
28337 "format" : "address",
28338 "maxLength" : 256,
28339 "optional" : 1,
013dc89f
DM
28340 "type" : "string",
28341 "typetext" : "<string>"
44660702
DM
28342 },
28343 "server2" : {
28344 "description" : "Fallback Server IP address (or DNS name)",
28345 "format" : "address",
28346 "maxLength" : 256,
28347 "optional" : 1,
013dc89f
DM
28348 "type" : "string",
28349 "typetext" : "<string>"
44660702
DM
28350 },
28351 "tfa" : {
28352 "description" : "Use Two-factor authentication.",
28353 "format" : "pve-tfa-config",
28354 "maxLength" : 128,
28355 "optional" : 1,
013dc89f
DM
28356 "type" : "string",
28357 "typetext" : "<string>"
44660702
DM
28358 },
28359 "user_attr" : {
28360 "description" : "LDAP user attribute name",
28361 "maxLength" : 256,
28362 "optional" : 1,
28363 "pattern" : "\\S{2,}",
28364 "type" : "string"
2489d6df
WB
28365 },
28366 "verify" : {
28367 "default" : 0,
28368 "description" : "Verify the server's SSL certificate",
28369 "optional" : 1,
28370 "type" : "boolean",
28371 "typetext" : "<boolean>"
7aacca6f 28372 }
56122987 28373 },
44660702 28374 "type" : "object"
56122987 28375 },
7aacca6f
DM
28376 "permissions" : {
28377 "check" : [
28378 "perm",
28379 "/access/realm",
28380 [
44660702
DM
28381 "Realm.Allocate"
28382 ]
7aacca6f
DM
28383 ]
28384 },
44660702
DM
28385 "protected" : 1,
28386 "returns" : {
28387 "type" : "null"
28388 }
56122987 28389 }
44660702
DM
28390 },
28391 "leaf" : 1,
28392 "path" : "/access/domains/{realm}",
28393 "text" : "{realm}"
56122987 28394 }
7aacca6f 28395 ],
56122987
DM
28396 "info" : {
28397 "GET" : {
44660702
DM
28398 "description" : "Authentication domain index.",
28399 "method" : "GET",
28400 "name" : "index",
28401 "parameters" : {
28402 "additionalProperties" : 0
28403 },
28404 "permissions" : {
28405 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
28406 "user" : "world"
28407 },
56122987 28408 "returns" : {
56122987
DM
28409 "items" : {
28410 "properties" : {
7aacca6f 28411 "comment" : {
52e44c50 28412 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
28413 "optional" : 1,
28414 "type" : "string"
28415 },
56122987
DM
28416 "realm" : {
28417 "type" : "string"
28418 },
28419 "tfa" : {
7aacca6f 28420 "description" : "Two-factor authentication provider.",
56122987
DM
28421 "enum" : [
28422 "yubico",
28423 "oath"
28424 ],
44660702
DM
28425 "optional" : 1,
28426 "type" : "string"
56122987
DM
28427 }
28428 },
28429 "type" : "object"
44660702
DM
28430 },
28431 "links" : [
28432 {
28433 "href" : "{realm}",
28434 "rel" : "child"
28435 }
28436 ],
28437 "type" : "array"
28438 }
56122987
DM
28439 },
28440 "POST" : {
7aacca6f 28441 "description" : "Add an authentication server.",
44660702 28442 "method" : "POST",
7aacca6f 28443 "name" : "create",
56122987 28444 "parameters" : {
44660702 28445 "additionalProperties" : 0,
56122987 28446 "properties" : {
44660702
DM
28447 "base_dn" : {
28448 "description" : "LDAP base domain name",
56122987 28449 "maxLength" : 256,
44660702
DM
28450 "optional" : 1,
28451 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 28452 "type" : "string"
56122987 28453 },
4bd7df8b
DM
28454 "bind_dn" : {
28455 "description" : "LDAP bind domain name",
28456 "maxLength" : 256,
28457 "optional" : 1,
28458 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
28459 "type" : "string"
28460 },
2489d6df
WB
28461 "capath" : {
28462 "default" : "/etc/ssl/certs",
28463 "description" : "Path to the CA certificate store",
28464 "optional" : 1,
28465 "type" : "string",
28466 "typetext" : "<string>"
28467 },
28468 "cert" : {
28469 "description" : "Path to the client certificate",
28470 "optional" : 1,
28471 "type" : "string",
28472 "typetext" : "<string>"
28473 },
28474 "certkey" : {
28475 "description" : "Path to the client certificate key",
28476 "optional" : 1,
28477 "type" : "string",
28478 "typetext" : "<string>"
28479 },
44660702
DM
28480 "comment" : {
28481 "description" : "Description.",
28482 "maxLength" : 4096,
56122987 28483 "optional" : 1,
013dc89f
DM
28484 "type" : "string",
28485 "typetext" : "<string>"
56122987 28486 },
44660702
DM
28487 "default" : {
28488 "description" : "Use this as default realm",
7aacca6f 28489 "optional" : 1,
013dc89f
DM
28490 "type" : "boolean",
28491 "typetext" : "<boolean>"
56122987 28492 },
44660702
DM
28493 "domain" : {
28494 "description" : "AD domain name",
28495 "maxLength" : 256,
7aacca6f 28496 "optional" : 1,
44660702
DM
28497 "pattern" : "\\S+",
28498 "type" : "string"
56122987 28499 },
7aacca6f 28500 "port" : {
44660702 28501 "description" : "Server port.",
7aacca6f 28502 "maximum" : 65535,
44660702 28503 "minimum" : 1,
7aacca6f 28504 "optional" : 1,
4bd7df8b 28505 "type" : "integer",
013dc89f 28506 "typetext" : "<integer> (1 - 65535)"
56122987 28507 },
44660702
DM
28508 "realm" : {
28509 "description" : "Authentication domain ID",
28510 "format" : "pve-realm",
28511 "maxLength" : 32,
013dc89f
DM
28512 "type" : "string",
28513 "typetext" : "<string>"
44660702
DM
28514 },
28515 "secure" : {
28516 "description" : "Use secure LDAPS protocol.",
7aacca6f 28517 "optional" : 1,
013dc89f
DM
28518 "type" : "boolean",
28519 "typetext" : "<boolean>"
56122987 28520 },
44660702
DM
28521 "server1" : {
28522 "description" : "Server IP address (or DNS name)",
28523 "format" : "address",
28524 "maxLength" : 256,
28525 "optional" : 1,
013dc89f
DM
28526 "type" : "string",
28527 "typetext" : "<string>"
56122987 28528 },
44660702
DM
28529 "server2" : {
28530 "description" : "Fallback Server IP address (or DNS name)",
28531 "format" : "address",
7aacca6f 28532 "maxLength" : 256,
7aacca6f 28533 "optional" : 1,
013dc89f
DM
28534 "type" : "string",
28535 "typetext" : "<string>"
7aacca6f 28536 },
44660702
DM
28537 "tfa" : {
28538 "description" : "Use Two-factor authentication.",
28539 "format" : "pve-tfa-config",
28540 "maxLength" : 128,
28541 "optional" : 1,
013dc89f
DM
28542 "type" : "string",
28543 "typetext" : "<string>"
44660702
DM
28544 },
28545 "type" : {
28546 "description" : "Realm type.",
28547 "enum" : [
28548 "ad",
28549 "ldap",
28550 "pam",
28551 "pve"
28552 ],
28553 "type" : "string"
28554 },
28555 "user_attr" : {
28556 "description" : "LDAP user attribute name",
7aacca6f 28557 "maxLength" : 256,
7aacca6f 28558 "optional" : 1,
44660702
DM
28559 "pattern" : "\\S{2,}",
28560 "type" : "string"
2489d6df
WB
28561 },
28562 "verify" : {
28563 "default" : 0,
28564 "description" : "Verify the server's SSL certificate",
28565 "optional" : 1,
28566 "type" : "boolean",
28567 "typetext" : "<boolean>"
7aacca6f
DM
28568 }
28569 },
7aacca6f 28570 "type" : "object"
56122987 28571 },
7aacca6f
DM
28572 "permissions" : {
28573 "check" : [
28574 "perm",
28575 "/access/realm",
28576 [
28577 "Realm.Allocate"
28578 ]
28579 ]
44660702
DM
28580 },
28581 "protected" : 1,
28582 "returns" : {
28583 "type" : "null"
7aacca6f 28584 }
56122987 28585 }
7aacca6f 28586 },
44660702 28587 "leaf" : 0,
56122987 28588 "path" : "/access/domains",
44660702 28589 "text" : "domains"
56122987
DM
28590 },
28591 {
56122987 28592 "info" : {
44660702 28593 "GET" : {
2489d6df 28594 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
28595 "method" : "GET",
28596 "name" : "get_ticket",
28597 "parameters" : {
28598 "additionalProperties" : 0
28599 },
28600 "permissions" : {
28601 "user" : "world"
28602 },
28603 "returns" : {
28604 "type" : "null"
28605 }
28606 },
56122987 28607 "POST" : {
44660702 28608 "description" : "Create or verify authentication ticket.",
56122987 28609 "method" : "POST",
44660702
DM
28610 "name" : "create_ticket",
28611 "parameters" : {
28612 "additionalProperties" : 0,
56122987 28613 "properties" : {
44660702
DM
28614 "otp" : {
28615 "description" : "One-time password for Two-factor authentication.",
7aacca6f 28616 "optional" : 1,
013dc89f
DM
28617 "type" : "string",
28618 "typetext" : "<string>"
56122987 28619 },
7aacca6f
DM
28620 "password" : {
28621 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
28622 "type" : "string",
28623 "typetext" : "<string>"
7aacca6f 28624 },
44660702
DM
28625 "path" : {
28626 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 28627 "maxLength" : 64,
56122987 28628 "optional" : 1,
56122987 28629 "requires" : "privs",
013dc89f
DM
28630 "type" : "string",
28631 "typetext" : "<string>"
44660702
DM
28632 },
28633 "privs" : {
7aacca6f 28634 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
28635 "format" : "pve-priv-list",
28636 "maxLength" : 64,
56122987 28637 "optional" : 1,
44660702 28638 "requires" : "path",
013dc89f
DM
28639 "type" : "string",
28640 "typetext" : "<string>"
56122987
DM
28641 },
28642 "realm" : {
56122987 28643 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 28644 "format" : "pve-realm",
7aacca6f 28645 "maxLength" : 32,
44660702 28646 "optional" : 1,
013dc89f
DM
28647 "type" : "string",
28648 "typetext" : "<string>"
56122987
DM
28649 },
28650 "username" : {
28651 "description" : "User name",
44660702 28652 "maxLength" : 64,
013dc89f
DM
28653 "type" : "string",
28654 "typetext" : "<string>"
56122987 28655 }
44660702 28656 }
7aacca6f 28657 },
56122987 28658 "permissions" : {
44660702 28659 "description" : "You need to pass valid credientials.",
56122987
DM
28660 "user" : "world"
28661 },
44660702 28662 "protected" : 1,
7aacca6f 28663 "returns" : {
56122987 28664 "properties" : {
44660702
DM
28665 "CSRFPreventionToken" : {
28666 "optional" : 1,
28667 "type" : "string"
56122987 28668 },
44660702
DM
28669 "ticket" : {
28670 "optional" : 1,
28671 "type" : "string"
28672 },
28673 "username" : {
56122987
DM
28674 "type" : "string"
28675 }
28676 },
44660702 28677 "type" : "object"
7aacca6f 28678 }
7aacca6f
DM
28679 }
28680 },
44660702
DM
28681 "leaf" : 1,
28682 "path" : "/access/ticket",
28683 "text" : "ticket"
7aacca6f 28684 },
56122987 28685 {
56122987 28686 "info" : {
7aacca6f 28687 "PUT" : {
44660702 28688 "description" : "Change user password.",
7aacca6f 28689 "method" : "PUT",
44660702 28690 "name" : "change_passsword",
56122987
DM
28691 "parameters" : {
28692 "additionalProperties" : 0,
28693 "properties" : {
44660702
DM
28694 "password" : {
28695 "description" : "The new password.",
28696 "maxLength" : 64,
28697 "minLength" : 5,
013dc89f
DM
28698 "type" : "string",
28699 "typetext" : "<string>"
7aacca6f 28700 },
44660702
DM
28701 "userid" : {
28702 "description" : "User ID",
28703 "format" : "pve-userid",
28704 "maxLength" : 64,
013dc89f
DM
28705 "type" : "string",
28706 "typetext" : "<string>"
56122987 28707 }
7aacca6f 28708 }
56122987
DM
28709 },
28710 "permissions" : {
28711 "check" : [
44660702 28712 "or",
56122987 28713 [
44660702
DM
28714 "userid-param",
28715 "self"
28716 ],
28717 [
28718 "and",
28719 [
28720 "userid-param",
28721 "Realm.AllocateUser"
28722 ],
28723 [
28724 "userid-group",
28725 [
28726 "User.Modify"
28727 ]
28728 ]
56122987 28729 ]
7aacca6f 28730 ],
44660702 28731 "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 28732 },
44660702 28733 "protected" : 1,
7aacca6f
DM
28734 "returns" : {
28735 "type" : "null"
44660702
DM
28736 }
28737 }
28738 },
28739 "leaf" : 1,
28740 "path" : "/access/password",
28741 "text" : "password"
28742 }
28743 ],
28744 "info" : {
28745 "GET" : {
28746 "description" : "Directory index.",
28747 "method" : "GET",
28748 "name" : "index",
28749 "parameters" : {
28750 "additionalProperties" : 0
28751 },
28752 "permissions" : {
28753 "user" : "all"
28754 },
28755 "returns" : {
28756 "items" : {
28757 "properties" : {
28758 "subdir" : {
28759 "type" : "string"
28760 }
7aacca6f 28761 },
44660702
DM
28762 "type" : "object"
28763 },
28764 "links" : [
28765 {
28766 "href" : "{subdir}",
28767 "rel" : "child"
28768 }
28769 ],
28770 "type" : "array"
28771 }
28772 }
28773 },
28774 "leaf" : 0,
28775 "path" : "/access",
28776 "text" : "access"
28777 },
28778 {
28779 "children" : [
28780 {
28781 "info" : {
28782 "DELETE" : {
7aacca6f 28783 "description" : "Delete pool.",
44660702
DM
28784 "method" : "DELETE",
28785 "name" : "delete_pool",
7aacca6f
DM
28786 "parameters" : {
28787 "additionalProperties" : 0,
28788 "properties" : {
28789 "poolid" : {
28790 "format" : "pve-poolid",
013dc89f
DM
28791 "type" : "string",
28792 "typetext" : "<string>"
7aacca6f
DM
28793 }
28794 }
28795 },
56122987
DM
28796 "permissions" : {
28797 "check" : [
28798 "perm",
28799 "/pool/{poolid}",
28800 [
28801 "Pool.Allocate"
28802 ]
44660702
DM
28803 ],
28804 "description" : "You can only delete empty pools (no members)."
28805 },
28806 "protected" : 1,
28807 "returns" : {
28808 "type" : "null"
7aacca6f
DM
28809 }
28810 },
28811 "GET" : {
28812 "description" : "Get pool configuration.",
44660702 28813 "method" : "GET",
7aacca6f 28814 "name" : "read_pool",
56122987 28815 "parameters" : {
44660702 28816 "additionalProperties" : 0,
56122987
DM
28817 "properties" : {
28818 "poolid" : {
44660702 28819 "format" : "pve-poolid",
013dc89f
DM
28820 "type" : "string",
28821 "typetext" : "<string>"
56122987 28822 }
44660702 28823 }
56122987 28824 },
56122987 28825 "permissions" : {
56122987
DM
28826 "check" : [
28827 "perm",
28828 "/pool/{poolid}",
28829 [
28830 "Pool.Allocate"
28831 ]
28832 ]
28833 },
7aacca6f 28834 "returns" : {
44660702 28835 "additionalProperties" : 0,
56122987 28836 "properties" : {
44660702
DM
28837 "comment" : {
28838 "optional" : 1,
28839 "type" : "string"
28840 },
7aacca6f 28841 "members" : {
7aacca6f
DM
28842 "items" : {
28843 "additionalProperties" : 1,
7aacca6f 28844 "properties" : {
7aacca6f
DM
28845 "id" : {
28846 "type" : "string"
28847 },
28848 "node" : {
28849 "type" : "string"
28850 },
44660702
DM
28851 "storage" : {
28852 "optional" : 1,
28853 "type" : "string"
28854 },
7aacca6f 28855 "type" : {
7aacca6f
DM
28856 "enum" : [
28857 "qemu",
28858 "lxc",
28859 "openvz",
28860 "storage"
44660702
DM
28861 ],
28862 "type" : "string"
28863 },
28864 "vmid" : {
28865 "optional" : 1,
28866 "type" : "integer"
7aacca6f 28867 }
44660702
DM
28868 },
28869 "type" : "object"
28870 },
28871 "type" : "array"
28872 }
28873 },
28874 "type" : "object"
28875 }
28876 },
28877 "PUT" : {
28878 "description" : "Update pool data.",
28879 "method" : "PUT",
28880 "name" : "update_pool",
28881 "parameters" : {
28882 "additionalProperties" : 0,
28883 "properties" : {
56122987
DM
28884 "comment" : {
28885 "optional" : 1,
013dc89f
DM
28886 "type" : "string",
28887 "typetext" : "<string>"
44660702
DM
28888 },
28889 "delete" : {
28890 "description" : "Remove vms/storage (instead of adding it).",
28891 "optional" : 1,
013dc89f
DM
28892 "type" : "boolean",
28893 "typetext" : "<boolean>"
44660702
DM
28894 },
28895 "poolid" : {
28896 "format" : "pve-poolid",
013dc89f
DM
28897 "type" : "string",
28898 "typetext" : "<string>"
44660702
DM
28899 },
28900 "storage" : {
28901 "description" : "List of storage IDs.",
28902 "format" : "pve-storage-id-list",
28903 "optional" : 1,
013dc89f
DM
28904 "type" : "string",
28905 "typetext" : "<string>"
44660702
DM
28906 },
28907 "vms" : {
28908 "description" : "List of virtual machines.",
28909 "format" : "pve-vmid-list",
28910 "optional" : 1,
013dc89f
DM
28911 "type" : "string",
28912 "typetext" : "<string>"
56122987 28913 }
44660702
DM
28914 }
28915 },
28916 "permissions" : {
28917 "check" : [
28918 "perm",
28919 "/pool/{poolid}",
28920 [
28921 "Pool.Allocate"
28922 ]
28923 ],
28924 "description" : "You also need the right to modify permissions on any object you add/delete."
28925 },
28926 "protected" : 1,
28927 "returns" : {
28928 "type" : "null"
56122987
DM
28929 }
28930 }
28931 },
44660702
DM
28932 "leaf" : 1,
28933 "path" : "/pools/{poolid}",
7aacca6f 28934 "text" : "{poolid}"
56122987 28935 }
7aacca6f 28936 ],
56122987
DM
28937 "info" : {
28938 "GET" : {
44660702
DM
28939 "description" : "Pool index.",
28940 "method" : "GET",
28941 "name" : "index",
28942 "parameters" : {
28943 "additionalProperties" : 0
28944 },
28945 "permissions" : {
28946 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
28947 "user" : "all"
28948 },
56122987 28949 "returns" : {
44660702
DM
28950 "items" : {
28951 "properties" : {
28952 "poolid" : {
28953 "type" : "string"
28954 }
56122987 28955 },
44660702
DM
28956 "type" : "object"
28957 },
28958 "links" : [
28959 {
28960 "href" : "{poolid}",
28961 "rel" : "child"
28962 }
28963 ],
28964 "type" : "array"
28965 }
28966 },
28967 "POST" : {
28968 "description" : "Create new pool.",
28969 "method" : "POST",
28970 "name" : "create_pool",
28971 "parameters" : {
28972 "additionalProperties" : 0,
28973 "properties" : {
28974 "comment" : {
28975 "optional" : 1,
013dc89f
DM
28976 "type" : "string",
28977 "typetext" : "<string>"
7aacca6f 28978 },
44660702
DM
28979 "poolid" : {
28980 "format" : "pve-poolid",
013dc89f
DM
28981 "type" : "string",
28982 "typetext" : "<string>"
56122987
DM
28983 }
28984 }
28985 },
56122987 28986 "permissions" : {
44660702
DM
28987 "check" : [
28988 "perm",
28989 "/pool/{poolid}",
28990 [
28991 "Pool.Allocate"
28992 ]
28993 ]
56122987 28994 },
44660702
DM
28995 "protected" : 1,
28996 "returns" : {
28997 "type" : "null"
28998 }
28999 }
29000 },
29001 "leaf" : 0,
29002 "path" : "/pools",
29003 "text" : "pools"
29004 },
29005 {
29006 "info" : {
29007 "GET" : {
29008 "description" : "API version details. The result also includes the global datacenter confguration.",
29009 "method" : "GET",
29010 "name" : "version",
7aacca6f
DM
29011 "parameters" : {
29012 "additionalProperties" : 0
29013 },
44660702
DM
29014 "permissions" : {
29015 "user" : "all"
29016 },
29017 "returns" : {
29018 "properties" : {
29019 "release" : {
29020 "type" : "string"
29021 },
29022 "repoid" : {
29023 "type" : "string"
29024 },
29025 "version" : {
29026 "type" : "string"
29027 }
29028 },
29029 "type" : "object"
29030 }
56122987
DM
29031 }
29032 },
44660702
DM
29033 "leaf" : 1,
29034 "path" : "/version",
56122987
DM
29035 "text" : "version"
29036 }
29037]
29038;
29039