]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update static data and schema definitions
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
e9cd3bd4 9 "allowtoken" : 1,
5d9c884c
DM
10 "description" : "Mark replication job for removal.",
11 "method" : "DELETE",
12 "name" : "delete",
13 "parameters" : {
14 "additionalProperties" : 0,
15 "properties" : {
16 "force" : {
17 "default" : 0,
18 "description" : "Will remove the jobconfig entry, but will not cleanup.",
19 "optional" : 1,
20 "type" : "boolean",
21 "typetext" : "<boolean>"
22 },
23 "id" : {
24 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25 "format" : "pve-replication-job-id",
26 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
27 "type" : "string"
28 },
29 "keep" : {
30 "default" : 0,
31 "description" : "Keep replicated data at target (do not remove).",
32 "optional" : 1,
33 "type" : "boolean",
34 "typetext" : "<boolean>"
35 }
36 }
37 },
38 "permissions" : {
39 "check" : [
40 "perm",
41 "/storage",
42 [
43 "Datastore.Allocate"
44 ]
45 ]
46 },
47 "protected" : 1,
48 "returns" : {
49 "type" : "null"
50 }
51 },
52 "GET" : {
e9cd3bd4 53 "allowtoken" : 1,
5d9c884c
DM
54 "description" : "Read replication job configuration.",
55 "method" : "GET",
56 "name" : "read",
57 "parameters" : {
58 "additionalProperties" : 0,
59 "properties" : {
60 "id" : {
61 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
62 "format" : "pve-replication-job-id",
63 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
64 "type" : "string"
65 }
66 }
67 },
68 "permissions" : {
69 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
70 "user" : "all"
71 },
72 "returns" : {
73 "type" : "object"
74 }
75 },
76 "PUT" : {
e9cd3bd4 77 "allowtoken" : 1,
5d9c884c
DM
78 "description" : "Update replication job configuration.",
79 "method" : "PUT",
80 "name" : "update",
81 "parameters" : {
82 "additionalProperties" : 0,
83 "properties" : {
84 "comment" : {
85 "description" : "Description.",
86 "maxLength" : 4096,
87 "optional" : 1,
88 "type" : "string",
89 "typetext" : "<string>"
90 },
91 "delete" : {
92 "description" : "A list of settings you want to delete.",
93 "format" : "pve-configid-list",
94 "maxLength" : 4096,
95 "optional" : 1,
96 "type" : "string",
97 "typetext" : "<string>"
98 },
99 "digest" : {
100 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
101 "maxLength" : 40,
102 "optional" : 1,
103 "type" : "string",
104 "typetext" : "<string>"
105 },
106 "disable" : {
107 "description" : "Flag to disable/deactivate the entry.",
108 "optional" : 1,
109 "type" : "boolean",
110 "typetext" : "<boolean>"
111 },
112 "id" : {
113 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
114 "format" : "pve-replication-job-id",
115 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
116 "type" : "string"
117 },
118 "rate" : {
119 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
120 "minimum" : 1,
121 "optional" : 1,
122 "type" : "number",
123 "typetext" : "<number> (1 - N)"
124 },
125 "remove_job" : {
126 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
127 "enum" : [
128 "local",
129 "full"
130 ],
131 "optional" : 1,
132 "type" : "string"
133 },
134 "schedule" : {
135 "default" : "*/15",
c5aa7e14 136 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
137 "format" : "pve-calendar-event",
138 "maxLength" : 128,
139 "optional" : 1,
140 "type" : "string",
141 "typetext" : "<string>"
a9a8e3d1
DM
142 },
143 "source" : {
144 "description" : "Source of the replication.",
145 "format" : "pve-node",
146 "optional" : 1,
147 "type" : "string",
148 "typetext" : "<string>"
5d9c884c
DM
149 }
150 },
151 "type" : "object"
152 },
153 "permissions" : {
154 "check" : [
155 "perm",
156 "/storage",
157 [
158 "Datastore.Allocate"
159 ]
160 ]
161 },
162 "protected" : 1,
163 "returns" : {
164 "type" : "null"
165 }
166 }
167 },
168 "leaf" : 1,
169 "path" : "/cluster/replication/{id}",
170 "text" : "{id}"
171 }
172 ],
173 "info" : {
174 "GET" : {
e9cd3bd4 175 "allowtoken" : 1,
5d9c884c
DM
176 "description" : "List replication jobs.",
177 "method" : "GET",
178 "name" : "index",
179 "parameters" : {
180 "additionalProperties" : 0
181 },
182 "permissions" : {
183 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
184 "user" : "all"
185 },
186 "returns" : {
187 "items" : {
188 "properties" : {},
189 "type" : "object"
190 },
191 "links" : [
192 {
193 "href" : "{id}",
194 "rel" : "child"
195 }
196 ],
197 "type" : "array"
198 }
199 },
200 "POST" : {
e9cd3bd4 201 "allowtoken" : 1,
5d9c884c
DM
202 "description" : "Create a new replication job",
203 "method" : "POST",
204 "name" : "create",
205 "parameters" : {
206 "additionalProperties" : 0,
207 "properties" : {
208 "comment" : {
209 "description" : "Description.",
210 "maxLength" : 4096,
211 "optional" : 1,
212 "type" : "string",
213 "typetext" : "<string>"
214 },
215 "disable" : {
216 "description" : "Flag to disable/deactivate the entry.",
217 "optional" : 1,
218 "type" : "boolean",
219 "typetext" : "<boolean>"
220 },
221 "id" : {
222 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
223 "format" : "pve-replication-job-id",
224 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
225 "type" : "string"
226 },
227 "rate" : {
228 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
229 "minimum" : 1,
230 "optional" : 1,
231 "type" : "number",
232 "typetext" : "<number> (1 - N)"
233 },
234 "remove_job" : {
235 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
236 "enum" : [
237 "local",
238 "full"
239 ],
240 "optional" : 1,
241 "type" : "string"
242 },
243 "schedule" : {
244 "default" : "*/15",
c5aa7e14 245 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
246 "format" : "pve-calendar-event",
247 "maxLength" : 128,
248 "optional" : 1,
249 "type" : "string",
250 "typetext" : "<string>"
251 },
a9a8e3d1
DM
252 "source" : {
253 "description" : "Source of the replication.",
254 "format" : "pve-node",
255 "optional" : 1,
256 "type" : "string",
257 "typetext" : "<string>"
258 },
5d9c884c
DM
259 "target" : {
260 "description" : "Target node.",
261 "format" : "pve-node",
262 "optional" : 0,
263 "type" : "string",
264 "typetext" : "<string>"
265 },
266 "type" : {
267 "description" : "Section type.",
268 "enum" : [
269 "local"
270 ],
271 "type" : "string"
272 }
273 },
274 "type" : "object"
275 },
276 "permissions" : {
277 "check" : [
278 "perm",
279 "/storage",
280 [
281 "Datastore.Allocate"
282 ]
283 ]
284 },
285 "protected" : 1,
286 "returns" : {
287 "type" : "null"
288 }
289 }
290 },
291 "leaf" : 0,
292 "path" : "/cluster/replication",
293 "text" : "replication"
294 },
32d876b5
DM
295 {
296 "children" : [
c5aa7e14
TL
297 {
298 "info" : {
299 "GET" : {
300 "allowtoken" : 1,
301 "description" : "Return the version of the cluster join API available on this node.",
302 "method" : "GET",
303 "name" : "join_api_version",
304 "parameters" : {
305 "additionalProperties" : 0
306 },
307 "permissions" : {
308 "check" : [
309 "perm",
310 "/",
311 [
312 "Sys.Audit"
313 ]
314 ]
315 },
316 "returns" : {
317 "description" : "Cluster Join API version, currently 1",
318 "minimum" : 0,
319 "type" : "integer"
320 }
321 }
322 },
323 "leaf" : 1,
324 "path" : "/cluster/config/apiversion",
325 "text" : "apiversion"
326 },
32d876b5 327 {
27a7acb2
DM
328 "children" : [
329 {
330 "info" : {
331 "DELETE" : {
e9cd3bd4 332 "allowtoken" : 1,
27a7acb2
DM
333 "description" : "Removes a node from the cluster configuration.",
334 "method" : "DELETE",
335 "name" : "delnode",
336 "parameters" : {
337 "additionalProperties" : 0,
338 "properties" : {
339 "node" : {
340 "description" : "The cluster node name.",
341 "format" : "pve-node",
342 "type" : "string",
343 "typetext" : "<string>"
344 }
345 }
346 },
347 "protected" : 1,
348 "returns" : {
349 "type" : "null"
350 }
351 },
352 "POST" : {
e9cd3bd4 353 "allowtoken" : 1,
e2d681b3 354 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
355 "method" : "POST",
356 "name" : "addnode",
357 "parameters" : {
358 "additionalProperties" : 0,
359 "properties" : {
c5aa7e14
TL
360 "apiversion" : {
361 "description" : "The JOIN_API_VERSION of the new node.",
362 "optional" : 1,
363 "type" : "integer",
364 "typetext" : "<integer>"
365 },
27a7acb2
DM
366 "force" : {
367 "description" : "Do not throw error if node already exists.",
368 "optional" : 1,
369 "type" : "boolean",
370 "typetext" : "<boolean>"
371 },
1e3f8156 372 "link[n]" : {
c5aa7e14 373 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
374 "format" : {
375 "address" : {
376 "default_key" : 1,
377 "description" : "Hostname (or IP) of this corosync link address.",
378 "format" : "address",
379 "format_description" : "IP",
380 "type" : "string"
381 },
382 "priority" : {
383 "default" : 0,
c5aa7e14 384 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
385 "maximum" : 255,
386 "minimum" : 0,
387 "optional" : 1,
388 "type" : "integer"
389 }
390 },
391 "optional" : 1,
392 "type" : "string",
393 "typetext" : "[address=]<IP> [,priority=<integer>]"
394 },
c5aa7e14
TL
395 "new_node_ip" : {
396 "description" : "IP Address of node to add. Used as fallback if no links are given.",
397 "format" : "ip",
398 "optional" : 1,
399 "type" : "string",
400 "typetext" : "<string>"
401 },
27a7acb2
DM
402 "node" : {
403 "description" : "The cluster node name.",
404 "format" : "pve-node",
405 "type" : "string",
406 "typetext" : "<string>"
407 },
408 "nodeid" : {
409 "description" : "Node id for this node.",
410 "minimum" : 1,
411 "optional" : 1,
412 "type" : "integer",
413 "typetext" : "<integer> (1 - N)"
414 },
27a7acb2
DM
415 "votes" : {
416 "description" : "Number of votes for this node",
417 "minimum" : 0,
418 "optional" : 1,
419 "type" : "integer",
420 "typetext" : "<integer> (0 - N)"
421 }
422 }
423 },
424 "protected" : 1,
425 "returns" : {
426 "properties" : {
427 "corosync_authkey" : {
428 "type" : "string"
429 },
430 "corosync_conf" : {
431 "type" : "string"
c5aa7e14
TL
432 },
433 "warnings" : {
434 "items" : {
435 "type" : "string"
436 },
437 "type" : "array"
27a7acb2
DM
438 }
439 },
440 "type" : "object"
441 }
442 }
443 },
444 "leaf" : 1,
445 "path" : "/cluster/config/nodes/{node}",
446 "text" : "{node}"
447 }
448 ],
32d876b5
DM
449 "info" : {
450 "GET" : {
e9cd3bd4 451 "allowtoken" : 1,
32d876b5
DM
452 "description" : "Corosync node list.",
453 "method" : "GET",
454 "name" : "nodes",
455 "parameters" : {
456 "additionalProperties" : 0
457 },
5d9c884c
DM
458 "permissions" : {
459 "check" : [
460 "perm",
461 "/",
462 [
463 "Sys.Audit"
464 ]
465 ]
466 },
32d876b5
DM
467 "returns" : {
468 "items" : {
469 "properties" : {
470 "node" : {
471 "type" : "string"
472 }
473 },
474 "type" : "object"
475 },
476 "links" : [
477 {
478 "href" : "{node}",
479 "rel" : "child"
480 }
481 ],
482 "type" : "array"
483 }
484 }
485 },
27a7acb2 486 "leaf" : 0,
32d876b5
DM
487 "path" : "/cluster/config/nodes",
488 "text" : "nodes"
489 },
27a7acb2
DM
490 {
491 "info" : {
492 "GET" : {
e9cd3bd4 493 "allowtoken" : 1,
27a7acb2
DM
494 "description" : "Get information needed to join this cluster over the connected node.",
495 "method" : "GET",
496 "name" : "join_info",
497 "parameters" : {
498 "additionalProperties" : 0,
499 "properties" : {
500 "node" : {
501 "default" : "current connected node",
502 "description" : "The node for which the joinee gets the nodeinfo. ",
503 "format" : "pve-node",
504 "optional" : 1,
505 "type" : "string",
506 "typetext" : "<string>"
507 }
508 }
509 },
a9a8e3d1
DM
510 "permissions" : {
511 "check" : [
512 "perm",
513 "/",
514 [
515 "Sys.Audit"
516 ]
517 ]
518 },
27a7acb2
DM
519 "returns" : {
520 "additionalProperties" : 0,
521 "properties" : {
522 "config_digest" : {
523 "type" : "string"
524 },
525 "nodelist" : {
526 "items" : {
527 "additionalProperties" : 1,
528 "properties" : {
529 "name" : {
530 "description" : "The cluster node name.",
531 "format" : "pve-node",
532 "type" : "string"
533 },
534 "nodeid" : {
535 "description" : "Node id for this node.",
536 "minimum" : 1,
537 "optional" : 1,
538 "type" : "integer"
539 },
540 "pve_addr" : {
541 "format" : "ip",
542 "type" : "string"
543 },
544 "pve_fp" : {
545 "description" : "Certificate SHA 256 fingerprint.",
546 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
547 "type" : "string"
548 },
549 "quorum_votes" : {
550 "minimum" : 0,
551 "type" : "integer"
552 },
553 "ring0_addr" : {
c5aa7e14 554 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
555 "format" : {
556 "address" : {
557 "default_key" : 1,
558 "description" : "Hostname (or IP) of this corosync link address.",
559 "format" : "address",
560 "format_description" : "IP",
561 "type" : "string"
562 },
563 "priority" : {
564 "default" : 0,
c5aa7e14 565 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
566 "maximum" : 255,
567 "minimum" : 0,
568 "optional" : 1,
569 "type" : "integer"
570 }
571 },
27a7acb2
DM
572 "optional" : 1,
573 "type" : "string"
574 }
575 },
576 "type" : "object"
577 },
578 "type" : "array"
579 },
580 "preferred_node" : {
581 "description" : "The cluster node name.",
582 "format" : "pve-node",
583 "type" : "string"
584 },
585 "totem" : {
586 "type" : "object"
587 }
588 },
589 "type" : "object"
590 }
591 },
592 "POST" : {
e9cd3bd4 593 "allowtoken" : 1,
c5aa7e14 594 "description" : "Joins this node into an existing cluster. If no links are given, default to IP resolved by node's hostname on single link (fallback fails for clusters with multiple links).",
27a7acb2
DM
595 "method" : "POST",
596 "name" : "join",
597 "parameters" : {
598 "additionalProperties" : 0,
599 "properties" : {
600 "fingerprint" : {
601 "description" : "Certificate SHA 256 fingerprint.",
602 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
603 "type" : "string"
604 },
605 "force" : {
606 "description" : "Do not throw error if node already exists.",
607 "optional" : 1,
608 "type" : "boolean",
609 "typetext" : "<boolean>"
610 },
611 "hostname" : {
612 "description" : "Hostname (or IP) of an existing cluster member.",
613 "type" : "string",
614 "typetext" : "<string>"
615 },
1e3f8156 616 "link[n]" : {
c5aa7e14 617 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
618 "format" : {
619 "address" : {
620 "default_key" : 1,
621 "description" : "Hostname (or IP) of this corosync link address.",
622 "format" : "address",
623 "format_description" : "IP",
624 "type" : "string"
625 },
626 "priority" : {
627 "default" : 0,
c5aa7e14 628 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
629 "maximum" : 255,
630 "minimum" : 0,
631 "optional" : 1,
632 "type" : "integer"
633 }
634 },
635 "optional" : 1,
636 "type" : "string",
637 "typetext" : "[address=]<IP> [,priority=<integer>]"
638 },
27a7acb2
DM
639 "nodeid" : {
640 "description" : "Node id for this node.",
641 "minimum" : 1,
642 "optional" : 1,
643 "type" : "integer",
644 "typetext" : "<integer> (1 - N)"
645 },
646 "password" : {
647 "description" : "Superuser (root) password of peer node.",
648 "maxLength" : 128,
649 "type" : "string",
650 "typetext" : "<string>"
651 },
27a7acb2
DM
652 "votes" : {
653 "description" : "Number of votes for this node",
654 "minimum" : 0,
655 "optional" : 1,
656 "type" : "integer",
657 "typetext" : "<integer> (0 - N)"
658 }
659 }
660 },
661 "protected" : 1,
662 "returns" : {
663 "type" : "string"
664 }
665 }
666 },
667 "leaf" : 1,
668 "path" : "/cluster/config/join",
669 "text" : "join"
670 },
32d876b5
DM
671 {
672 "info" : {
673 "GET" : {
e9cd3bd4 674 "allowtoken" : 1,
32d876b5
DM
675 "description" : "Get corosync totem protocol settings.",
676 "method" : "GET",
677 "name" : "totem",
678 "parameters" : {
679 "additionalProperties" : 0
680 },
5d9c884c
DM
681 "permissions" : {
682 "check" : [
683 "perm",
684 "/",
685 [
686 "Sys.Audit"
687 ]
688 ]
689 },
32d876b5 690 "returns" : {
32d876b5
DM
691 "type" : "object"
692 }
693 }
694 },
695 "leaf" : 1,
696 "path" : "/cluster/config/totem",
697 "text" : "totem"
9226ccbc
TL
698 },
699 {
700 "info" : {
701 "GET" : {
e9cd3bd4 702 "allowtoken" : 1,
9226ccbc
TL
703 "description" : "Get QDevice status",
704 "method" : "GET",
705 "name" : "status",
706 "parameters" : {
707 "additionalProperties" : 0
708 },
709 "permissions" : {
710 "check" : [
711 "perm",
712 "/",
713 [
714 "Sys.Audit"
715 ]
716 ]
717 },
718 "returns" : {
719 "type" : "object"
720 }
721 }
722 },
723 "leaf" : 1,
724 "path" : "/cluster/config/qdevice",
725 "text" : "qdevice"
32d876b5
DM
726 }
727 ],
728 "info" : {
729 "GET" : {
e9cd3bd4 730 "allowtoken" : 1,
32d876b5
DM
731 "description" : "Directory index.",
732 "method" : "GET",
733 "name" : "index",
734 "parameters" : {
735 "additionalProperties" : 0
736 },
5d9c884c
DM
737 "permissions" : {
738 "check" : [
739 "perm",
740 "/",
741 [
742 "Sys.Audit"
743 ]
744 ]
745 },
32d876b5
DM
746 "returns" : {
747 "items" : {
748 "properties" : {},
749 "type" : "object"
750 },
751 "links" : [
752 {
753 "href" : "{name}",
754 "rel" : "child"
755 }
756 ],
757 "type" : "array"
758 }
27a7acb2
DM
759 },
760 "POST" : {
e9cd3bd4 761 "allowtoken" : 1,
c5aa7e14 762 "description" : "Generate new cluster configuration. If no links given, default to local IP address as link0.",
27a7acb2
DM
763 "method" : "POST",
764 "name" : "create",
765 "parameters" : {
766 "additionalProperties" : 0,
767 "properties" : {
27a7acb2
DM
768 "clustername" : {
769 "description" : "The name of the cluster.",
770 "format" : "pve-node",
771 "maxLength" : 15,
772 "type" : "string",
773 "typetext" : "<string>"
774 },
1e3f8156 775 "link[n]" : {
c5aa7e14 776 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
777 "format" : {
778 "address" : {
779 "default_key" : 1,
780 "description" : "Hostname (or IP) of this corosync link address.",
781 "format" : "address",
782 "format_description" : "IP",
783 "type" : "string"
784 },
785 "priority" : {
786 "default" : 0,
c5aa7e14 787 "description" : "The priority for the link when knet is used in 'passive' mode (default). Lower value means higher priority. Only valid for cluster create, ignored on node add.",
1e3f8156
TL
788 "maximum" : 255,
789 "minimum" : 0,
790 "optional" : 1,
791 "type" : "integer"
792 }
793 },
794 "optional" : 1,
795 "type" : "string",
796 "typetext" : "[address=]<IP> [,priority=<integer>]"
797 },
27a7acb2
DM
798 "nodeid" : {
799 "description" : "Node id for this node.",
800 "minimum" : 1,
801 "optional" : 1,
802 "type" : "integer",
803 "typetext" : "<integer> (1 - N)"
804 },
27a7acb2
DM
805 "votes" : {
806 "description" : "Number of votes for this node.",
807 "minimum" : 1,
808 "optional" : 1,
809 "type" : "integer",
810 "typetext" : "<integer> (1 - N)"
811 }
812 }
813 },
814 "protected" : 1,
815 "returns" : {
816 "type" : "string"
817 }
32d876b5
DM
818 }
819 },
820 "leaf" : 0,
821 "path" : "/cluster/config",
822 "text" : "config"
823 },
56122987 824 {
56122987
DM
825 "children" : [
826 {
56122987
DM
827 "children" : [
828 {
44660702
DM
829 "children" : [
830 {
831 "info" : {
832 "DELETE" : {
e9cd3bd4 833 "allowtoken" : 1,
44660702
DM
834 "description" : "Delete rule.",
835 "method" : "DELETE",
836 "name" : "delete_rule",
837 "parameters" : {
838 "additionalProperties" : 0,
839 "properties" : {
840 "digest" : {
841 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
842 "maxLength" : 40,
843 "optional" : 1,
013dc89f
DM
844 "type" : "string",
845 "typetext" : "<string>"
44660702
DM
846 },
847 "group" : {
848 "description" : "Security Group name.",
4bd7df8b 849 "maxLength" : 18,
44660702
DM
850 "minLength" : 2,
851 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
852 "type" : "string"
853 },
854 "pos" : {
855 "description" : "Update rule at position <pos>.",
856 "minimum" : 0,
857 "optional" : 1,
4bd7df8b 858 "type" : "integer",
013dc89f 859 "typetext" : "<integer> (0 - N)"
44660702
DM
860 }
861 }
862 },
863 "permissions" : {
864 "check" : [
865 "perm",
866 "/",
867 [
868 "Sys.Modify"
869 ]
870 ]
871 },
872 "protected" : 1,
873 "proxyto" : null,
874 "returns" : {
875 "type" : "null"
7aacca6f
DM
876 }
877 },
44660702 878 "GET" : {
e9cd3bd4 879 "allowtoken" : 1,
44660702
DM
880 "description" : "Get single rule data.",
881 "method" : "GET",
882 "name" : "get_rule",
883 "parameters" : {
884 "additionalProperties" : 0,
885 "properties" : {
886 "group" : {
887 "description" : "Security Group name.",
4bd7df8b 888 "maxLength" : 18,
44660702
DM
889 "minLength" : 2,
890 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
891 "type" : "string"
892 },
893 "pos" : {
894 "description" : "Update rule at position <pos>.",
895 "minimum" : 0,
896 "optional" : 1,
4bd7df8b 897 "type" : "integer",
013dc89f 898 "typetext" : "<integer> (0 - N)"
44660702 899 }
7aacca6f 900 }
56122987 901 },
44660702
DM
902 "permissions" : {
903 "check" : [
904 "perm",
905 "/",
906 [
907 "Sys.Audit"
908 ]
909 ]
910 },
911 "proxyto" : null,
912 "returns" : {
913 "properties" : {
e2d681b3
TL
914 "action" : {
915 "type" : "string"
916 },
917 "comment" : {
918 "optional" : 1,
919 "type" : "string"
920 },
921 "dest" : {
922 "optional" : 1,
923 "type" : "string"
924 },
925 "dport" : {
926 "optional" : 1,
927 "type" : "string"
928 },
929 "enable" : {
930 "optional" : 1,
931 "type" : "integer"
932 },
933 "iface" : {
934 "optional" : 1,
935 "type" : "string"
936 },
937 "ipversion" : {
938 "optional" : 1,
939 "type" : "integer"
940 },
95895385
TL
941 "log" : {
942 "description" : "Log level for firewall rule",
943 "enum" : [
944 "emerg",
945 "alert",
946 "crit",
947 "err",
948 "warning",
949 "notice",
950 "info",
951 "debug",
952 "nolog"
953 ],
954 "optional" : 1,
955 "type" : "string"
956 },
e2d681b3
TL
957 "macro" : {
958 "optional" : 1,
5f26e15b 959 "type" : "string"
e2d681b3 960 },
44660702
DM
961 "pos" : {
962 "type" : "integer"
e2d681b3
TL
963 },
964 "proto" : {
965 "optional" : 1,
966 "type" : "string"
967 },
968 "source" : {
969 "optional" : 1,
970 "type" : "string"
971 },
972 "sport" : {
973 "optional" : 1,
974 "type" : "string"
975 },
976 "type" : {
977 "type" : "string"
44660702
DM
978 }
979 },
980 "type" : "object"
56122987 981 }
44660702 982 },
7aacca6f 983 "PUT" : {
e9cd3bd4 984 "allowtoken" : 1,
44660702
DM
985 "description" : "Modify rule data.",
986 "method" : "PUT",
987 "name" : "update_rule",
7aacca6f
DM
988 "parameters" : {
989 "additionalProperties" : 0,
990 "properties" : {
44660702
DM
991 "action" : {
992 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 993 "maxLength" : 20,
44660702 994 "minLength" : 2,
7aacca6f 995 "optional" : 1,
44660702 996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
997 "type" : "string"
998 },
44660702 999 "comment" : {
e94f0d56 1000 "description" : "Descriptive comment.",
7aacca6f 1001 "optional" : 1,
013dc89f
DM
1002 "type" : "string",
1003 "typetext" : "<string>"
7aacca6f 1004 },
44660702
DM
1005 "delete" : {
1006 "description" : "A list of settings you want to delete.",
1007 "format" : "pve-configid-list",
7aacca6f 1008 "optional" : 1,
013dc89f
DM
1009 "type" : "string",
1010 "typetext" : "<string>"
7aacca6f 1011 },
44660702
DM
1012 "dest" : {
1013 "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.",
1014 "format" : "pve-fw-addr-spec",
7aacca6f 1015 "optional" : 1,
013dc89f
DM
1016 "type" : "string",
1017 "typetext" : "<string>"
7aacca6f
DM
1018 },
1019 "digest" : {
1020 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 1021 "maxLength" : 40,
7aacca6f 1022 "optional" : 1,
013dc89f
DM
1023 "type" : "string",
1024 "typetext" : "<string>"
7aacca6f 1025 },
44660702
DM
1026 "dport" : {
1027 "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.",
1028 "format" : "pve-fw-dport-spec",
7aacca6f 1029 "optional" : 1,
013dc89f
DM
1030 "type" : "string",
1031 "typetext" : "<string>"
7aacca6f 1032 },
44660702 1033 "enable" : {
e94f0d56 1034 "description" : "Flag to enable/disable a rule.",
44660702 1035 "minimum" : 0,
7aacca6f 1036 "optional" : 1,
4bd7df8b 1037 "type" : "integer",
013dc89f 1038 "typetext" : "<integer> (0 - N)"
7aacca6f 1039 },
44660702
DM
1040 "group" : {
1041 "description" : "Security Group name.",
4bd7df8b 1042 "maxLength" : 18,
44660702
DM
1043 "minLength" : 2,
1044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1045 "type" : "string"
1046 },
1047 "iface" : {
1048 "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.",
1049 "format" : "pve-iface",
1050 "maxLength" : 20,
1051 "minLength" : 2,
7aacca6f 1052 "optional" : 1,
013dc89f
DM
1053 "type" : "string",
1054 "typetext" : "<string>"
7aacca6f 1055 },
95895385
TL
1056 "log" : {
1057 "description" : "Log level for firewall rule.",
1058 "enum" : [
1059 "emerg",
1060 "alert",
1061 "crit",
1062 "err",
1063 "warning",
1064 "notice",
1065 "info",
1066 "debug",
1067 "nolog"
1068 ],
1069 "optional" : 1,
1070 "type" : "string"
1071 },
44660702 1072 "macro" : {
e94f0d56 1073 "description" : "Use predefined standard macro.",
44660702
DM
1074 "maxLength" : 128,
1075 "optional" : 1,
013dc89f
DM
1076 "type" : "string",
1077 "typetext" : "<string>"
7aacca6f
DM
1078 },
1079 "moveto" : {
1080 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1081 "minimum" : 0,
7aacca6f 1082 "optional" : 1,
4bd7df8b 1083 "type" : "integer",
013dc89f 1084 "typetext" : "<integer> (0 - N)"
7aacca6f 1085 },
44660702
DM
1086 "pos" : {
1087 "description" : "Update rule at position <pos>.",
1088 "minimum" : 0,
1089 "optional" : 1,
4bd7df8b 1090 "type" : "integer",
013dc89f 1091 "typetext" : "<integer> (0 - N)"
7aacca6f 1092 },
44660702
DM
1093 "proto" : {
1094 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1095 "format" : "pve-fw-protocol-spec",
7aacca6f 1096 "optional" : 1,
013dc89f
DM
1097 "type" : "string",
1098 "typetext" : "<string>"
44660702
DM
1099 },
1100 "source" : {
1101 "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.",
1102 "format" : "pve-fw-addr-spec",
1103 "optional" : 1,
013dc89f
DM
1104 "type" : "string",
1105 "typetext" : "<string>"
44660702
DM
1106 },
1107 "sport" : {
1108 "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.",
1109 "format" : "pve-fw-sport-spec",
1110 "optional" : 1,
013dc89f
DM
1111 "type" : "string",
1112 "typetext" : "<string>"
7aacca6f
DM
1113 },
1114 "type" : {
e94f0d56 1115 "description" : "Rule type.",
7aacca6f
DM
1116 "enum" : [
1117 "in",
1118 "out",
1119 "group"
1120 ],
1121 "optional" : 1,
1122 "type" : "string"
1123 }
1124 }
1125 },
7aacca6f
DM
1126 "permissions" : {
1127 "check" : [
1128 "perm",
1129 "/",
1130 [
1131 "Sys.Modify"
1132 ]
1133 ]
1134 },
44660702 1135 "protected" : 1,
7aacca6f
DM
1136 "proxyto" : null,
1137 "returns" : {
1138 "type" : "null"
1139 }
7aacca6f
DM
1140 }
1141 },
44660702 1142 "leaf" : 1,
7aacca6f 1143 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1144 "text" : "{pos}"
7aacca6f
DM
1145 }
1146 ],
44660702
DM
1147 "info" : {
1148 "DELETE" : {
e9cd3bd4 1149 "allowtoken" : 1,
44660702
DM
1150 "description" : "Delete security group.",
1151 "method" : "DELETE",
1152 "name" : "delete_security_group",
1153 "parameters" : {
1154 "additionalProperties" : 0,
1155 "properties" : {
1156 "group" : {
1157 "description" : "Security Group name.",
4bd7df8b 1158 "maxLength" : 18,
44660702
DM
1159 "minLength" : 2,
1160 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1161 "type" : "string"
1162 }
56122987 1163 }
7aacca6f 1164 },
44660702
DM
1165 "permissions" : {
1166 "check" : [
1167 "perm",
1168 "/",
1169 [
1170 "Sys.Modify"
1171 ]
7aacca6f 1172 ]
56122987 1173 },
44660702
DM
1174 "protected" : 1,
1175 "returns" : {
1176 "type" : "null"
56122987 1177 }
7aacca6f 1178 },
7aacca6f 1179 "GET" : {
e9cd3bd4 1180 "allowtoken" : 1,
44660702 1181 "description" : "List rules.",
7aacca6f 1182 "method" : "GET",
44660702
DM
1183 "name" : "get_rules",
1184 "parameters" : {
1185 "additionalProperties" : 0,
7aacca6f 1186 "properties" : {
44660702
DM
1187 "group" : {
1188 "description" : "Security Group name.",
4bd7df8b 1189 "maxLength" : 18,
44660702
DM
1190 "minLength" : 2,
1191 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1192 "type" : "string"
7aacca6f 1193 }
44660702 1194 }
7aacca6f
DM
1195 },
1196 "permissions" : {
1197 "check" : [
1198 "perm",
1199 "/",
1200 [
1201 "Sys.Audit"
1202 ]
1203 ]
1204 },
44660702
DM
1205 "proxyto" : null,
1206 "returns" : {
1207 "items" : {
1208 "properties" : {
1209 "pos" : {
1210 "type" : "integer"
1211 }
1212 },
1213 "type" : "object"
1214 },
1215 "links" : [
1216 {
1217 "href" : "{pos}",
1218 "rel" : "child"
1219 }
1220 ],
1221 "type" : "array"
1222 }
1223 },
1224 "POST" : {
e9cd3bd4 1225 "allowtoken" : 1,
44660702
DM
1226 "description" : "Create new rule.",
1227 "method" : "POST",
1228 "name" : "create_rule",
7aacca6f
DM
1229 "parameters" : {
1230 "additionalProperties" : 0,
1231 "properties" : {
44660702
DM
1232 "action" : {
1233 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1234 "maxLength" : 20,
56122987 1235 "minLength" : 2,
44660702
DM
1236 "optional" : 0,
1237 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1238 "type" : "string"
56122987 1239 },
44660702 1240 "comment" : {
e94f0d56 1241 "description" : "Descriptive comment.",
56122987 1242 "optional" : 1,
013dc89f
DM
1243 "type" : "string",
1244 "typetext" : "<string>"
56122987 1245 },
44660702
DM
1246 "dest" : {
1247 "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
1248 "format" : "pve-fw-addr-spec",
1249 "optional" : 1,
013dc89f
DM
1250 "type" : "string",
1251 "typetext" : "<string>"
56122987 1252 },
44660702
DM
1253 "digest" : {
1254 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1255 "maxLength" : 40,
7aacca6f 1256 "optional" : 1,
013dc89f
DM
1257 "type" : "string",
1258 "typetext" : "<string>"
56122987 1259 },
44660702
DM
1260 "dport" : {
1261 "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.",
1262 "format" : "pve-fw-dport-spec",
56122987 1263 "optional" : 1,
013dc89f
DM
1264 "type" : "string",
1265 "typetext" : "<string>"
56122987 1266 },
7aacca6f 1267 "enable" : {
e94f0d56 1268 "description" : "Flag to enable/disable a rule.",
44660702 1269 "minimum" : 0,
7aacca6f 1270 "optional" : 1,
4bd7df8b 1271 "type" : "integer",
013dc89f 1272 "typetext" : "<integer> (0 - N)"
56122987 1273 },
44660702
DM
1274 "group" : {
1275 "description" : "Security Group name.",
4bd7df8b 1276 "maxLength" : 18,
44660702 1277 "minLength" : 2,
7aacca6f 1278 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1279 "type" : "string"
1280 },
1281 "iface" : {
1282 "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.",
1283 "format" : "pve-iface",
1284 "maxLength" : 20,
7aacca6f 1285 "minLength" : 2,
44660702 1286 "optional" : 1,
013dc89f
DM
1287 "type" : "string",
1288 "typetext" : "<string>"
56122987 1289 },
95895385
TL
1290 "log" : {
1291 "description" : "Log level for firewall rule.",
1292 "enum" : [
1293 "emerg",
1294 "alert",
1295 "crit",
1296 "err",
1297 "warning",
1298 "notice",
1299 "info",
1300 "debug",
1301 "nolog"
1302 ],
1303 "optional" : 1,
1304 "type" : "string"
1305 },
7aacca6f 1306 "macro" : {
e94f0d56 1307 "description" : "Use predefined standard macro.",
44660702 1308 "maxLength" : 128,
7aacca6f 1309 "optional" : 1,
013dc89f
DM
1310 "type" : "string",
1311 "typetext" : "<string>"
7aacca6f
DM
1312 },
1313 "pos" : {
1314 "description" : "Update rule at position <pos>.",
44660702 1315 "minimum" : 0,
56122987 1316 "optional" : 1,
4bd7df8b 1317 "type" : "integer",
013dc89f 1318 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1319 },
1320 "proto" : {
1321 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1322 "format" : "pve-fw-protocol-spec",
7aacca6f 1323 "optional" : 1,
013dc89f
DM
1324 "type" : "string",
1325 "typetext" : "<string>"
44660702
DM
1326 },
1327 "source" : {
1328 "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.",
1329 "format" : "pve-fw-addr-spec",
1330 "optional" : 1,
013dc89f
DM
1331 "type" : "string",
1332 "typetext" : "<string>"
44660702
DM
1333 },
1334 "sport" : {
1335 "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.",
1336 "format" : "pve-fw-sport-spec",
1337 "optional" : 1,
013dc89f
DM
1338 "type" : "string",
1339 "typetext" : "<string>"
44660702
DM
1340 },
1341 "type" : {
e94f0d56 1342 "description" : "Rule type.",
44660702
DM
1343 "enum" : [
1344 "in",
1345 "out",
1346 "group"
1347 ],
1348 "optional" : 0,
1349 "type" : "string"
56122987 1350 }
44660702 1351 }
56122987 1352 },
56122987
DM
1353 "permissions" : {
1354 "check" : [
1355 "perm",
1356 "/",
1357 [
1358 "Sys.Modify"
1359 ]
1360 ]
1361 },
44660702
DM
1362 "protected" : 1,
1363 "proxyto" : null,
56122987
DM
1364 "returns" : {
1365 "type" : "null"
7aacca6f 1366 }
44660702
DM
1367 }
1368 },
1369 "leaf" : 0,
1370 "path" : "/cluster/firewall/groups/{group}",
1371 "text" : "{group}"
1372 }
1373 ],
1374 "info" : {
1375 "GET" : {
e9cd3bd4 1376 "allowtoken" : 1,
44660702
DM
1377 "description" : "List security groups.",
1378 "method" : "GET",
1379 "name" : "list_security_groups",
1380 "parameters" : {
1381 "additionalProperties" : 0
1382 },
1383 "permissions" : {
1384 "user" : "all"
1385 },
1386 "returns" : {
1387 "items" : {
1388 "properties" : {
1389 "comment" : {
1390 "optional" : 1,
1391 "type" : "string"
1392 },
1393 "digest" : {
1394 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1395 "maxLength" : 40,
1396 "optional" : 0,
1397 "type" : "string"
1398 },
1399 "group" : {
1400 "description" : "Security Group name.",
4bd7df8b 1401 "maxLength" : 18,
44660702
DM
1402 "minLength" : 2,
1403 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1404 "type" : "string"
1405 }
1406 },
1407 "type" : "object"
56122987 1408 },
44660702
DM
1409 "links" : [
1410 {
1411 "href" : "{group}",
1412 "rel" : "child"
1413 }
1414 ],
1415 "type" : "array"
1416 }
1417 },
1418 "POST" : {
e9cd3bd4 1419 "allowtoken" : 1,
44660702
DM
1420 "description" : "Create new security group.",
1421 "method" : "POST",
1422 "name" : "create_security_group",
1423 "parameters" : {
1424 "additionalProperties" : 0,
1425 "properties" : {
1426 "comment" : {
1427 "optional" : 1,
013dc89f
DM
1428 "type" : "string",
1429 "typetext" : "<string>"
44660702
DM
1430 },
1431 "digest" : {
1432 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1433 "maxLength" : 40,
1434 "optional" : 1,
013dc89f
DM
1435 "type" : "string",
1436 "typetext" : "<string>"
44660702
DM
1437 },
1438 "group" : {
1439 "description" : "Security Group name.",
4bd7df8b 1440 "maxLength" : 18,
44660702
DM
1441 "minLength" : 2,
1442 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1443 "type" : "string"
1444 },
1445 "rename" : {
1446 "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 1447 "maxLength" : 18,
44660702
DM
1448 "minLength" : 2,
1449 "optional" : 1,
1450 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1451 "type" : "string"
1452 }
1453 }
1454 },
1455 "permissions" : {
1456 "check" : [
1457 "perm",
1458 "/",
1459 [
1460 "Sys.Modify"
1461 ]
1462 ]
1463 },
1464 "protected" : 1,
1465 "returns" : {
1466 "type" : "null"
1467 }
1468 }
1469 },
1470 "leaf" : 0,
1471 "path" : "/cluster/firewall/groups",
1472 "text" : "groups"
1473 },
1474 {
1475 "children" : [
1476 {
1477 "info" : {
7aacca6f 1478 "DELETE" : {
e9cd3bd4 1479 "allowtoken" : 1,
44660702
DM
1480 "description" : "Delete rule.",
1481 "method" : "DELETE",
1482 "name" : "delete_rule",
1483 "parameters" : {
1484 "additionalProperties" : 0,
1485 "properties" : {
1486 "digest" : {
1487 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1488 "maxLength" : 40,
1489 "optional" : 1,
013dc89f
DM
1490 "type" : "string",
1491 "typetext" : "<string>"
44660702
DM
1492 },
1493 "pos" : {
1494 "description" : "Update rule at position <pos>.",
1495 "minimum" : 0,
1496 "optional" : 1,
4bd7df8b 1497 "type" : "integer",
013dc89f 1498 "typetext" : "<integer> (0 - N)"
44660702
DM
1499 }
1500 }
1501 },
56122987
DM
1502 "permissions" : {
1503 "check" : [
1504 "perm",
1505 "/",
1506 [
7aacca6f 1507 "Sys.Modify"
56122987
DM
1508 ]
1509 ]
1510 },
44660702 1511 "protected" : 1,
56122987
DM
1512 "proxyto" : null,
1513 "returns" : {
7aacca6f 1514 "type" : "null"
44660702
DM
1515 }
1516 },
1517 "GET" : {
e9cd3bd4 1518 "allowtoken" : 1,
44660702
DM
1519 "description" : "Get single rule data.",
1520 "method" : "GET",
1521 "name" : "get_rule",
56122987
DM
1522 "parameters" : {
1523 "additionalProperties" : 0,
1524 "properties" : {
1525 "pos" : {
7aacca6f 1526 "description" : "Update rule at position <pos>.",
44660702 1527 "minimum" : 0,
56122987 1528 "optional" : 1,
4bd7df8b 1529 "type" : "integer",
013dc89f 1530 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1531 }
1532 }
1533 },
7aacca6f
DM
1534 "permissions" : {
1535 "check" : [
1536 "perm",
1537 "/",
1538 [
1539 "Sys.Audit"
1540 ]
1541 ]
56122987 1542 },
44660702
DM
1543 "proxyto" : null,
1544 "returns" : {
7aacca6f 1545 "properties" : {
e2d681b3
TL
1546 "action" : {
1547 "type" : "string"
1548 },
1549 "comment" : {
1550 "optional" : 1,
1551 "type" : "string"
1552 },
1553 "dest" : {
1554 "optional" : 1,
1555 "type" : "string"
1556 },
1557 "dport" : {
1558 "optional" : 1,
1559 "type" : "string"
1560 },
1561 "enable" : {
1562 "optional" : 1,
1563 "type" : "integer"
1564 },
1565 "iface" : {
1566 "optional" : 1,
1567 "type" : "string"
1568 },
1569 "ipversion" : {
1570 "optional" : 1,
1571 "type" : "integer"
1572 },
95895385
TL
1573 "log" : {
1574 "description" : "Log level for firewall rule",
1575 "enum" : [
1576 "emerg",
1577 "alert",
1578 "crit",
1579 "err",
1580 "warning",
1581 "notice",
1582 "info",
1583 "debug",
1584 "nolog"
1585 ],
1586 "optional" : 1,
1587 "type" : "string"
1588 },
e2d681b3
TL
1589 "macro" : {
1590 "optional" : 1,
5f26e15b 1591 "type" : "string"
e2d681b3 1592 },
44660702
DM
1593 "pos" : {
1594 "type" : "integer"
e2d681b3
TL
1595 },
1596 "proto" : {
1597 "optional" : 1,
1598 "type" : "string"
1599 },
1600 "source" : {
1601 "optional" : 1,
1602 "type" : "string"
1603 },
1604 "sport" : {
1605 "optional" : 1,
1606 "type" : "string"
1607 },
1608 "type" : {
1609 "type" : "string"
7aacca6f 1610 }
44660702
DM
1611 },
1612 "type" : "object"
1613 }
56122987 1614 },
44660702 1615 "PUT" : {
e9cd3bd4 1616 "allowtoken" : 1,
44660702
DM
1617 "description" : "Modify rule data.",
1618 "method" : "PUT",
1619 "name" : "update_rule",
7aacca6f
DM
1620 "parameters" : {
1621 "additionalProperties" : 0,
1622 "properties" : {
44660702
DM
1623 "action" : {
1624 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1625 "maxLength" : 20,
1626 "minLength" : 2,
1627 "optional" : 1,
1628 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1629 "type" : "string"
7aacca6f 1630 },
44660702 1631 "comment" : {
e94f0d56 1632 "description" : "Descriptive comment.",
44660702 1633 "optional" : 1,
013dc89f
DM
1634 "type" : "string",
1635 "typetext" : "<string>"
7aacca6f 1636 },
44660702
DM
1637 "delete" : {
1638 "description" : "A list of settings you want to delete.",
1639 "format" : "pve-configid-list",
1640 "optional" : 1,
013dc89f
DM
1641 "type" : "string",
1642 "typetext" : "<string>"
44660702
DM
1643 },
1644 "dest" : {
1645 "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.",
1646 "format" : "pve-fw-addr-spec",
1647 "optional" : 1,
013dc89f
DM
1648 "type" : "string",
1649 "typetext" : "<string>"
44660702
DM
1650 },
1651 "digest" : {
1652 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1653 "maxLength" : 40,
1654 "optional" : 1,
013dc89f
DM
1655 "type" : "string",
1656 "typetext" : "<string>"
44660702
DM
1657 },
1658 "dport" : {
1659 "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.",
1660 "format" : "pve-fw-dport-spec",
1661 "optional" : 1,
013dc89f
DM
1662 "type" : "string",
1663 "typetext" : "<string>"
44660702
DM
1664 },
1665 "enable" : {
e94f0d56 1666 "description" : "Flag to enable/disable a rule.",
44660702
DM
1667 "minimum" : 0,
1668 "optional" : 1,
4bd7df8b 1669 "type" : "integer",
013dc89f 1670 "typetext" : "<integer> (0 - N)"
44660702
DM
1671 },
1672 "iface" : {
1673 "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.",
1674 "format" : "pve-iface",
1675 "maxLength" : 20,
7aacca6f 1676 "minLength" : 2,
44660702 1677 "optional" : 1,
013dc89f
DM
1678 "type" : "string",
1679 "typetext" : "<string>"
7aacca6f 1680 },
95895385
TL
1681 "log" : {
1682 "description" : "Log level for firewall rule.",
1683 "enum" : [
1684 "emerg",
1685 "alert",
1686 "crit",
1687 "err",
1688 "warning",
1689 "notice",
1690 "info",
1691 "debug",
1692 "nolog"
1693 ],
1694 "optional" : 1,
1695 "type" : "string"
1696 },
44660702 1697 "macro" : {
e94f0d56 1698 "description" : "Use predefined standard macro.",
44660702
DM
1699 "maxLength" : 128,
1700 "optional" : 1,
013dc89f
DM
1701 "type" : "string",
1702 "typetext" : "<string>"
44660702
DM
1703 },
1704 "moveto" : {
1705 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1706 "minimum" : 0,
1707 "optional" : 1,
4bd7df8b 1708 "type" : "integer",
013dc89f 1709 "typetext" : "<integer> (0 - N)"
44660702
DM
1710 },
1711 "pos" : {
1712 "description" : "Update rule at position <pos>.",
1713 "minimum" : 0,
1714 "optional" : 1,
4bd7df8b 1715 "type" : "integer",
013dc89f 1716 "typetext" : "<integer> (0 - N)"
44660702
DM
1717 },
1718 "proto" : {
1719 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1720 "format" : "pve-fw-protocol-spec",
1721 "optional" : 1,
013dc89f
DM
1722 "type" : "string",
1723 "typetext" : "<string>"
44660702
DM
1724 },
1725 "source" : {
1726 "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.",
1727 "format" : "pve-fw-addr-spec",
1728 "optional" : 1,
013dc89f
DM
1729 "type" : "string",
1730 "typetext" : "<string>"
44660702
DM
1731 },
1732 "sport" : {
1733 "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.",
1734 "format" : "pve-fw-sport-spec",
1735 "optional" : 1,
013dc89f
DM
1736 "type" : "string",
1737 "typetext" : "<string>"
44660702
DM
1738 },
1739 "type" : {
e94f0d56 1740 "description" : "Rule type.",
44660702
DM
1741 "enum" : [
1742 "in",
1743 "out",
1744 "group"
1745 ],
1746 "optional" : 1,
1747 "type" : "string"
7aacca6f 1748 }
56122987
DM
1749 }
1750 },
7aacca6f
DM
1751 "permissions" : {
1752 "check" : [
1753 "perm",
1754 "/",
1755 [
1756 "Sys.Modify"
1757 ]
1758 ]
1759 },
44660702
DM
1760 "protected" : 1,
1761 "proxyto" : null,
1762 "returns" : {
1763 "type" : "null"
1764 }
7aacca6f 1765 }
56122987 1766 },
44660702
DM
1767 "leaf" : 1,
1768 "path" : "/cluster/firewall/rules/{pos}",
1769 "text" : "{pos}"
7aacca6f
DM
1770 }
1771 ],
7aacca6f 1772 "info" : {
44660702 1773 "GET" : {
e9cd3bd4 1774 "allowtoken" : 1,
44660702
DM
1775 "description" : "List rules.",
1776 "method" : "GET",
1777 "name" : "get_rules",
7aacca6f 1778 "parameters" : {
44660702 1779 "additionalProperties" : 0
7aacca6f
DM
1780 },
1781 "permissions" : {
1782 "check" : [
1783 "perm",
1784 "/",
1785 [
44660702 1786 "Sys.Audit"
7aacca6f
DM
1787 ]
1788 ]
1789 },
44660702 1790 "proxyto" : null,
7aacca6f 1791 "returns" : {
7aacca6f
DM
1792 "items" : {
1793 "properties" : {
44660702
DM
1794 "pos" : {
1795 "type" : "integer"
7aacca6f
DM
1796 }
1797 },
1798 "type" : "object"
56122987 1799 },
7aacca6f
DM
1800 "links" : [
1801 {
44660702 1802 "href" : "{pos}",
7aacca6f
DM
1803 "rel" : "child"
1804 }
44660702
DM
1805 ],
1806 "type" : "array"
7aacca6f 1807 }
44660702 1808 },
7aacca6f 1809 "POST" : {
e9cd3bd4 1810 "allowtoken" : 1,
44660702 1811 "description" : "Create new rule.",
7aacca6f 1812 "method" : "POST",
44660702 1813 "name" : "create_rule",
7aacca6f
DM
1814 "parameters" : {
1815 "additionalProperties" : 0,
1816 "properties" : {
44660702
DM
1817 "action" : {
1818 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1819 "maxLength" : 20,
7aacca6f 1820 "minLength" : 2,
44660702
DM
1821 "optional" : 0,
1822 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1823 "type" : "string"
7aacca6f
DM
1824 },
1825 "comment" : {
e94f0d56 1826 "description" : "Descriptive comment.",
7aacca6f 1827 "optional" : 1,
013dc89f
DM
1828 "type" : "string",
1829 "typetext" : "<string>"
44660702
DM
1830 },
1831 "dest" : {
1832 "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.",
1833 "format" : "pve-fw-addr-spec",
1834 "optional" : 1,
013dc89f
DM
1835 "type" : "string",
1836 "typetext" : "<string>"
44660702
DM
1837 },
1838 "digest" : {
1839 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1840 "maxLength" : 40,
1841 "optional" : 1,
013dc89f
DM
1842 "type" : "string",
1843 "typetext" : "<string>"
44660702
DM
1844 },
1845 "dport" : {
1846 "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.",
1847 "format" : "pve-fw-dport-spec",
1848 "optional" : 1,
013dc89f
DM
1849 "type" : "string",
1850 "typetext" : "<string>"
44660702
DM
1851 },
1852 "enable" : {
e94f0d56 1853 "description" : "Flag to enable/disable a rule.",
44660702
DM
1854 "minimum" : 0,
1855 "optional" : 1,
4bd7df8b 1856 "type" : "integer",
013dc89f 1857 "typetext" : "<integer> (0 - N)"
44660702
DM
1858 },
1859 "iface" : {
1860 "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.",
1861 "format" : "pve-iface",
1862 "maxLength" : 20,
1863 "minLength" : 2,
1864 "optional" : 1,
013dc89f
DM
1865 "type" : "string",
1866 "typetext" : "<string>"
44660702 1867 },
95895385
TL
1868 "log" : {
1869 "description" : "Log level for firewall rule.",
1870 "enum" : [
1871 "emerg",
1872 "alert",
1873 "crit",
1874 "err",
1875 "warning",
1876 "notice",
1877 "info",
1878 "debug",
1879 "nolog"
1880 ],
1881 "optional" : 1,
1882 "type" : "string"
1883 },
44660702 1884 "macro" : {
e94f0d56 1885 "description" : "Use predefined standard macro.",
44660702
DM
1886 "maxLength" : 128,
1887 "optional" : 1,
013dc89f
DM
1888 "type" : "string",
1889 "typetext" : "<string>"
44660702
DM
1890 },
1891 "pos" : {
1892 "description" : "Update rule at position <pos>.",
1893 "minimum" : 0,
1894 "optional" : 1,
4bd7df8b 1895 "type" : "integer",
013dc89f 1896 "typetext" : "<integer> (0 - N)"
44660702
DM
1897 },
1898 "proto" : {
1899 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1900 "format" : "pve-fw-protocol-spec",
1901 "optional" : 1,
013dc89f
DM
1902 "type" : "string",
1903 "typetext" : "<string>"
44660702
DM
1904 },
1905 "source" : {
1906 "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.",
1907 "format" : "pve-fw-addr-spec",
1908 "optional" : 1,
013dc89f
DM
1909 "type" : "string",
1910 "typetext" : "<string>"
44660702
DM
1911 },
1912 "sport" : {
1913 "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.",
1914 "format" : "pve-fw-sport-spec",
1915 "optional" : 1,
013dc89f
DM
1916 "type" : "string",
1917 "typetext" : "<string>"
44660702
DM
1918 },
1919 "type" : {
e94f0d56 1920 "description" : "Rule type.",
44660702
DM
1921 "enum" : [
1922 "in",
1923 "out",
1924 "group"
1925 ],
1926 "optional" : 0,
1927 "type" : "string"
7aacca6f
DM
1928 }
1929 }
1930 },
1931 "permissions" : {
1932 "check" : [
1933 "perm",
1934 "/",
1935 [
1936 "Sys.Modify"
1937 ]
1938 ]
1939 },
44660702
DM
1940 "protected" : 1,
1941 "proxyto" : null,
7aacca6f 1942 "returns" : {
44660702
DM
1943 "type" : "null"
1944 }
1945 }
1946 },
1947 "leaf" : 0,
1948 "path" : "/cluster/firewall/rules",
1949 "text" : "rules"
1950 },
1951 {
1952 "children" : [
1953 {
1954 "children" : [
1955 {
1956 "info" : {
1957 "DELETE" : {
e9cd3bd4 1958 "allowtoken" : 1,
44660702
DM
1959 "description" : "Remove IP or Network from IPSet.",
1960 "method" : "DELETE",
1961 "name" : "remove_ip",
1962 "parameters" : {
1963 "additionalProperties" : 0,
1964 "properties" : {
1965 "cidr" : {
1966 "description" : "Network/IP specification in CIDR format.",
1967 "format" : "IPorCIDRorAlias",
013dc89f
DM
1968 "type" : "string",
1969 "typetext" : "<string>"
44660702
DM
1970 },
1971 "digest" : {
1972 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1973 "maxLength" : 40,
1974 "optional" : 1,
013dc89f
DM
1975 "type" : "string",
1976 "typetext" : "<string>"
44660702
DM
1977 },
1978 "name" : {
1979 "description" : "IP set name.",
1980 "maxLength" : 64,
1981 "minLength" : 2,
1982 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1983 "type" : "string"
1984 }
1985 }
1986 },
1987 "permissions" : {
1988 "check" : [
1989 "perm",
1990 "/",
1991 [
1992 "Sys.Modify"
1993 ]
1994 ]
1995 },
1996 "protected" : 1,
1997 "returns" : {
1998 "type" : "null"
1999 }
7aacca6f 2000 },
44660702 2001 "GET" : {
e9cd3bd4 2002 "allowtoken" : 1,
44660702
DM
2003 "description" : "Read IP or Network settings from IPSet.",
2004 "method" : "GET",
2005 "name" : "read_ip",
2006 "parameters" : {
2007 "additionalProperties" : 0,
2008 "properties" : {
2009 "cidr" : {
2010 "description" : "Network/IP specification in CIDR format.",
2011 "format" : "IPorCIDRorAlias",
013dc89f
DM
2012 "type" : "string",
2013 "typetext" : "<string>"
44660702
DM
2014 },
2015 "name" : {
2016 "description" : "IP set name.",
2017 "maxLength" : 64,
2018 "minLength" : 2,
2019 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2020 "type" : "string"
2021 }
2022 }
2023 },
2024 "permissions" : {
2025 "check" : [
2026 "perm",
2027 "/",
2028 [
2029 "Sys.Audit"
2030 ]
2031 ]
2032 },
2033 "protected" : 1,
2034 "returns" : {
2035 "type" : "object"
2036 }
7aacca6f 2037 },
44660702 2038 "PUT" : {
e9cd3bd4 2039 "allowtoken" : 1,
44660702
DM
2040 "description" : "Update IP or Network settings",
2041 "method" : "PUT",
2042 "name" : "update_ip",
2043 "parameters" : {
2044 "additionalProperties" : 0,
2045 "properties" : {
2046 "cidr" : {
2047 "description" : "Network/IP specification in CIDR format.",
2048 "format" : "IPorCIDRorAlias",
013dc89f
DM
2049 "type" : "string",
2050 "typetext" : "<string>"
44660702
DM
2051 },
2052 "comment" : {
2053 "optional" : 1,
013dc89f
DM
2054 "type" : "string",
2055 "typetext" : "<string>"
44660702
DM
2056 },
2057 "digest" : {
2058 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2059 "maxLength" : 40,
2060 "optional" : 1,
013dc89f
DM
2061 "type" : "string",
2062 "typetext" : "<string>"
44660702
DM
2063 },
2064 "name" : {
2065 "description" : "IP set name.",
2066 "maxLength" : 64,
2067 "minLength" : 2,
2068 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2069 "type" : "string"
2070 },
2071 "nomatch" : {
2072 "optional" : 1,
013dc89f
DM
2073 "type" : "boolean",
2074 "typetext" : "<boolean>"
44660702
DM
2075 }
2076 }
2077 },
2078 "permissions" : {
2079 "check" : [
2080 "perm",
2081 "/",
2082 [
2083 "Sys.Modify"
2084 ]
2085 ]
2086 },
2087 "protected" : 1,
2088 "returns" : {
2089 "type" : "null"
2090 }
7aacca6f
DM
2091 }
2092 },
44660702
DM
2093 "leaf" : 1,
2094 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2095 "text" : "{cidr}"
7aacca6f 2096 }
44660702 2097 ],
7aacca6f
DM
2098 "info" : {
2099 "DELETE" : {
e9cd3bd4 2100 "allowtoken" : 1,
44660702
DM
2101 "description" : "Delete IPSet",
2102 "method" : "DELETE",
2103 "name" : "delete_ipset",
56122987 2104 "parameters" : {
44660702 2105 "additionalProperties" : 0,
56122987
DM
2106 "properties" : {
2107 "name" : {
44660702 2108 "description" : "IP set name.",
56122987 2109 "maxLength" : 64,
44660702 2110 "minLength" : 2,
56122987 2111 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2112 "type" : "string"
56122987 2113 }
44660702 2114 }
7aacca6f 2115 },
56122987
DM
2116 "permissions" : {
2117 "check" : [
2118 "perm",
2119 "/",
2120 [
2121 "Sys.Modify"
2122 ]
2123 ]
2124 },
7aacca6f
DM
2125 "protected" : 1,
2126 "returns" : {
2127 "type" : "null"
44660702 2128 }
7aacca6f 2129 },
44660702 2130 "GET" : {
e9cd3bd4 2131 "allowtoken" : 1,
44660702
DM
2132 "description" : "List IPSet content",
2133 "method" : "GET",
2134 "name" : "get_ipset",
56122987
DM
2135 "parameters" : {
2136 "additionalProperties" : 0,
2137 "properties" : {
7aacca6f 2138 "name" : {
44660702 2139 "description" : "IP set name.",
7aacca6f 2140 "maxLength" : 64,
7aacca6f 2141 "minLength" : 2,
44660702 2142 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2143 "type" : "string"
56122987 2144 }
7aacca6f 2145 }
56122987 2146 },
56122987
DM
2147 "permissions" : {
2148 "check" : [
2149 "perm",
2150 "/",
2151 [
44660702 2152 "Sys.Audit"
56122987
DM
2153 ]
2154 ]
44660702
DM
2155 },
2156 "returns" : {
2157 "items" : {
2158 "properties" : {
2159 "cidr" : {
2160 "type" : "string"
2161 },
2162 "comment" : {
2163 "optional" : 1,
2164 "type" : "string"
2165 },
2166 "digest" : {
2167 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2168 "maxLength" : 40,
2169 "optional" : 0,
2170 "type" : "string"
2171 },
2172 "nomatch" : {
2173 "optional" : 1,
2174 "type" : "boolean"
2175 }
2176 },
2177 "type" : "object"
2178 },
2179 "links" : [
2180 {
2181 "href" : "{cidr}",
2182 "rel" : "child"
2183 }
2184 ],
2185 "type" : "array"
7aacca6f
DM
2186 }
2187 },
44660702 2188 "POST" : {
e9cd3bd4 2189 "allowtoken" : 1,
44660702
DM
2190 "description" : "Add IP or Network to IPSet.",
2191 "method" : "POST",
2192 "name" : "create_ip",
56122987
DM
2193 "parameters" : {
2194 "additionalProperties" : 0,
2195 "properties" : {
44660702
DM
2196 "cidr" : {
2197 "description" : "Network/IP specification in CIDR format.",
2198 "format" : "IPorCIDRorAlias",
013dc89f
DM
2199 "type" : "string",
2200 "typetext" : "<string>"
44660702
DM
2201 },
2202 "comment" : {
2203 "optional" : 1,
013dc89f
DM
2204 "type" : "string",
2205 "typetext" : "<string>"
44660702
DM
2206 },
2207 "name" : {
2208 "description" : "IP set name.",
2209 "maxLength" : 64,
2210 "minLength" : 2,
2211 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2212 "type" : "string"
2213 },
2214 "nomatch" : {
2215 "optional" : 1,
013dc89f
DM
2216 "type" : "boolean",
2217 "typetext" : "<boolean>"
56122987
DM
2218 }
2219 }
2220 },
56122987
DM
2221 "permissions" : {
2222 "check" : [
2223 "perm",
2224 "/",
2225 [
44660702 2226 "Sys.Modify"
56122987
DM
2227 ]
2228 ]
2229 },
44660702 2230 "protected" : 1,
56122987 2231 "returns" : {
44660702
DM
2232 "type" : "null"
2233 }
56122987
DM
2234 }
2235 },
44660702
DM
2236 "leaf" : 0,
2237 "path" : "/cluster/firewall/ipset/{name}",
2238 "text" : "{name}"
56122987
DM
2239 }
2240 ],
56122987 2241 "info" : {
44660702 2242 "GET" : {
e9cd3bd4 2243 "allowtoken" : 1,
44660702
DM
2244 "description" : "List IPSets",
2245 "method" : "GET",
2246 "name" : "ipset_index",
56122987 2247 "parameters" : {
7aacca6f 2248 "additionalProperties" : 0
56122987 2249 },
56122987
DM
2250 "permissions" : {
2251 "check" : [
2252 "perm",
2253 "/",
2254 [
7aacca6f 2255 "Sys.Audit"
56122987
DM
2256 ]
2257 ]
2258 },
56122987
DM
2259 "returns" : {
2260 "items" : {
2261 "properties" : {
44660702
DM
2262 "comment" : {
2263 "optional" : 1,
2264 "type" : "string"
56122987 2265 },
44660702
DM
2266 "digest" : {
2267 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2268 "maxLength" : 40,
2269 "optional" : 0,
2270 "type" : "string"
2271 },
2272 "name" : {
2273 "description" : "IP set name.",
2274 "maxLength" : 64,
2275 "minLength" : 2,
2276 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2277 "type" : "string"
56122987
DM
2278 }
2279 },
2280 "type" : "object"
44660702
DM
2281 },
2282 "links" : [
2283 {
2284 "href" : "{name}",
2285 "rel" : "child"
2286 }
2287 ],
2288 "type" : "array"
56122987 2289 }
44660702
DM
2290 },
2291 "POST" : {
e9cd3bd4 2292 "allowtoken" : 1,
44660702
DM
2293 "description" : "Create new IPSet",
2294 "method" : "POST",
2295 "name" : "create_ipset",
7aacca6f
DM
2296 "parameters" : {
2297 "additionalProperties" : 0,
2298 "properties" : {
44660702
DM
2299 "comment" : {
2300 "optional" : 1,
013dc89f
DM
2301 "type" : "string",
2302 "typetext" : "<string>"
44660702
DM
2303 },
2304 "digest" : {
2305 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2306 "maxLength" : 40,
2307 "optional" : 1,
013dc89f
DM
2308 "type" : "string",
2309 "typetext" : "<string>"
44660702
DM
2310 },
2311 "name" : {
2312 "description" : "IP set name.",
2313 "maxLength" : 64,
2314 "minLength" : 2,
2315 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2316 "type" : "string"
2317 },
2318 "rename" : {
2319 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2320 "maxLength" : 64,
2321 "minLength" : 2,
2322 "optional" : 1,
2323 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2324 "type" : "string"
7aacca6f
DM
2325 }
2326 }
2327 },
56122987
DM
2328 "permissions" : {
2329 "check" : [
2330 "perm",
2331 "/",
2332 [
44660702 2333 "Sys.Modify"
56122987
DM
2334 ]
2335 ]
2336 },
44660702 2337 "protected" : 1,
56122987 2338 "returns" : {
44660702
DM
2339 "type" : "null"
2340 }
56122987 2341 }
7aacca6f 2342 },
44660702
DM
2343 "leaf" : 0,
2344 "path" : "/cluster/firewall/ipset",
2345 "text" : "ipset"
2346 },
56122987 2347 {
44660702
DM
2348 "children" : [
2349 {
2350 "info" : {
2351 "DELETE" : {
e9cd3bd4 2352 "allowtoken" : 1,
44660702
DM
2353 "description" : "Remove IP or Network alias.",
2354 "method" : "DELETE",
2355 "name" : "remove_alias",
2356 "parameters" : {
2357 "additionalProperties" : 0,
2358 "properties" : {
2359 "digest" : {
2360 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2361 "maxLength" : 40,
2362 "optional" : 1,
013dc89f
DM
2363 "type" : "string",
2364 "typetext" : "<string>"
44660702
DM
2365 },
2366 "name" : {
2367 "description" : "Alias name.",
2368 "maxLength" : 64,
2369 "minLength" : 2,
2370 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2371 "type" : "string"
2372 }
2373 }
2374 },
2375 "permissions" : {
2376 "check" : [
2377 "perm",
2378 "/",
2379 [
2380 "Sys.Modify"
2381 ]
2382 ]
2383 },
2384 "protected" : 1,
2385 "returns" : {
2386 "type" : "null"
2387 }
2388 },
2389 "GET" : {
e9cd3bd4 2390 "allowtoken" : 1,
44660702
DM
2391 "description" : "Read alias.",
2392 "method" : "GET",
2393 "name" : "read_alias",
2394 "parameters" : {
2395 "additionalProperties" : 0,
2396 "properties" : {
2397 "name" : {
2398 "description" : "Alias name.",
2399 "maxLength" : 64,
2400 "minLength" : 2,
2401 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2402 "type" : "string"
2403 }
2404 }
2405 },
2406 "permissions" : {
2407 "check" : [
2408 "perm",
2409 "/",
2410 [
2411 "Sys.Audit"
2412 ]
2413 ]
2414 },
2415 "returns" : {
2416 "type" : "object"
2417 }
2418 },
2419 "PUT" : {
e9cd3bd4 2420 "allowtoken" : 1,
44660702
DM
2421 "description" : "Update IP or Network alias.",
2422 "method" : "PUT",
2423 "name" : "update_alias",
2424 "parameters" : {
2425 "additionalProperties" : 0,
2426 "properties" : {
2427 "cidr" : {
2428 "description" : "Network/IP specification in CIDR format.",
2429 "format" : "IPorCIDR",
013dc89f
DM
2430 "type" : "string",
2431 "typetext" : "<string>"
44660702
DM
2432 },
2433 "comment" : {
2434 "optional" : 1,
013dc89f
DM
2435 "type" : "string",
2436 "typetext" : "<string>"
44660702
DM
2437 },
2438 "digest" : {
2439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2440 "maxLength" : 40,
2441 "optional" : 1,
013dc89f
DM
2442 "type" : "string",
2443 "typetext" : "<string>"
44660702
DM
2444 },
2445 "name" : {
2446 "description" : "Alias name.",
2447 "maxLength" : 64,
2448 "minLength" : 2,
2449 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2450 "type" : "string"
2451 },
2452 "rename" : {
2453 "description" : "Rename an existing alias.",
2454 "maxLength" : 64,
2455 "minLength" : 2,
2456 "optional" : 1,
2457 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2458 "type" : "string"
2459 }
2460 }
2461 },
2462 "permissions" : {
2463 "check" : [
2464 "perm",
2465 "/",
2466 [
2467 "Sys.Modify"
2468 ]
2469 ]
2470 },
2471 "protected" : 1,
2472 "returns" : {
2473 "type" : "null"
2474 }
2475 }
2476 },
2477 "leaf" : 1,
2478 "path" : "/cluster/firewall/aliases/{name}",
2479 "text" : "{name}"
2480 }
2481 ],
2482 "info" : {
2483 "GET" : {
e9cd3bd4 2484 "allowtoken" : 1,
44660702
DM
2485 "description" : "List aliases",
2486 "method" : "GET",
2487 "name" : "get_aliases",
2488 "parameters" : {
2489 "additionalProperties" : 0
2490 },
2491 "permissions" : {
2492 "check" : [
2493 "perm",
2494 "/",
2495 [
2496 "Sys.Audit"
2497 ]
2498 ]
2499 },
2500 "returns" : {
2501 "items" : {
2502 "properties" : {
2503 "cidr" : {
2504 "type" : "string"
2505 },
2506 "comment" : {
2507 "optional" : 1,
2508 "type" : "string"
2509 },
2510 "digest" : {
2511 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2512 "maxLength" : 40,
2513 "optional" : 0,
2514 "type" : "string"
2515 },
2516 "name" : {
2517 "type" : "string"
2518 }
2519 },
2520 "type" : "object"
2521 },
2522 "links" : [
2523 {
2524 "href" : "{name}",
2525 "rel" : "child"
2526 }
2527 ],
2528 "type" : "array"
2529 }
2530 },
2531 "POST" : {
e9cd3bd4 2532 "allowtoken" : 1,
44660702
DM
2533 "description" : "Create IP or Network Alias.",
2534 "method" : "POST",
2535 "name" : "create_alias",
56122987
DM
2536 "parameters" : {
2537 "additionalProperties" : 0,
2538 "properties" : {
44660702
DM
2539 "cidr" : {
2540 "description" : "Network/IP specification in CIDR format.",
2541 "format" : "IPorCIDR",
013dc89f
DM
2542 "type" : "string",
2543 "typetext" : "<string>"
44660702
DM
2544 },
2545 "comment" : {
2546 "optional" : 1,
013dc89f
DM
2547 "type" : "string",
2548 "typetext" : "<string>"
44660702
DM
2549 },
2550 "name" : {
2551 "description" : "Alias name.",
2552 "maxLength" : 64,
2553 "minLength" : 2,
2554 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2555 "type" : "string"
56122987
DM
2556 }
2557 }
2558 },
56122987
DM
2559 "permissions" : {
2560 "check" : [
2561 "perm",
2562 "/",
2563 [
2564 "Sys.Modify"
2565 ]
2566 ]
2567 },
44660702 2568 "protected" : 1,
56122987
DM
2569 "returns" : {
2570 "type" : "null"
2571 }
44660702
DM
2572 }
2573 },
2574 "leaf" : 0,
2575 "path" : "/cluster/firewall/aliases",
2576 "text" : "aliases"
2577 },
2578 {
2579 "info" : {
2580 "GET" : {
e9cd3bd4 2581 "allowtoken" : 1,
44660702
DM
2582 "description" : "Get Firewall options.",
2583 "method" : "GET",
2584 "name" : "get_options",
2585 "parameters" : {
2586 "additionalProperties" : 0
7aacca6f 2587 },
56122987
DM
2588 "permissions" : {
2589 "check" : [
2590 "perm",
2591 "/",
2592 [
44660702 2593 "Sys.Audit"
56122987
DM
2594 ]
2595 ]
2596 },
44660702 2597 "returns" : {
56122987 2598 "properties" : {
5da3d723
TL
2599 "ebtables" : {
2600 "default" : 1,
2601 "description" : "Enable ebtables rules cluster wide.",
2602 "optional" : 1,
2603 "type" : "boolean"
2604 },
44660702
DM
2605 "enable" : {
2606 "description" : "Enable or disable the firewall cluster wide.",
2607 "minimum" : 0,
56122987 2608 "optional" : 1,
7aacca6f 2609 "type" : "integer"
56122987 2610 },
95895385
TL
2611 "log_ratelimit" : {
2612 "description" : "Log ratelimiting settings",
2613 "format" : {
2614 "burst" : {
2615 "default" : 5,
2616 "description" : "Inital burst of packages which will get logged",
2617 "minimum" : 0,
2618 "optional" : 1,
2619 "type" : "integer"
2620 },
2621 "enable" : {
2622 "default" : "1",
2623 "default_key" : 1,
2624 "description" : "Enable or disable log rate limiting",
2625 "type" : "boolean"
2626 },
2627 "rate" : {
2628 "default" : "1/second",
2629 "description" : "Frequency with which the burst bucket gets refilled",
2630 "format_description" : "rate",
2631 "optional" : 1,
2632 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2633 "type" : "string"
2634 }
2635 },
2636 "optional" : 1,
2637 "type" : "string"
2638 },
44660702
DM
2639 "policy_in" : {
2640 "description" : "Input policy.",
2641 "enum" : [
2642 "ACCEPT",
2643 "REJECT",
2644 "DROP"
2645 ],
56122987 2646 "optional" : 1,
44660702 2647 "type" : "string"
7aacca6f 2648 },
44660702
DM
2649 "policy_out" : {
2650 "description" : "Output policy.",
2651 "enum" : [
2652 "ACCEPT",
2653 "REJECT",
2654 "DROP"
2655 ],
7aacca6f 2656 "optional" : 1,
44660702
DM
2657 "type" : "string"
2658 }
2659 },
2660 "type" : "object"
2661 }
2662 },
2663 "PUT" : {
e9cd3bd4 2664 "allowtoken" : 1,
44660702
DM
2665 "description" : "Set Firewall options.",
2666 "method" : "PUT",
2667 "name" : "set_options",
2668 "parameters" : {
2669 "additionalProperties" : 0,
2670 "properties" : {
2671 "delete" : {
2672 "description" : "A list of settings you want to delete.",
2673 "format" : "pve-configid-list",
56122987 2674 "optional" : 1,
013dc89f
DM
2675 "type" : "string",
2676 "typetext" : "<string>"
56122987 2677 },
44660702
DM
2678 "digest" : {
2679 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2680 "maxLength" : 40,
56122987 2681 "optional" : 1,
013dc89f
DM
2682 "type" : "string",
2683 "typetext" : "<string>"
56122987 2684 },
5da3d723
TL
2685 "ebtables" : {
2686 "default" : 1,
2687 "description" : "Enable ebtables rules cluster wide.",
2688 "optional" : 1,
2689 "type" : "boolean",
2690 "typetext" : "<boolean>"
2691 },
44660702
DM
2692 "enable" : {
2693 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 2694 "minimum" : 0,
56122987 2695 "optional" : 1,
4bd7df8b 2696 "type" : "integer",
013dc89f 2697 "typetext" : "<integer> (0 - N)"
56122987 2698 },
95895385
TL
2699 "log_ratelimit" : {
2700 "description" : "Log ratelimiting settings",
2701 "format" : {
2702 "burst" : {
2703 "default" : 5,
2704 "description" : "Inital burst of packages which will get logged",
2705 "minimum" : 0,
2706 "optional" : 1,
2707 "type" : "integer"
2708 },
2709 "enable" : {
2710 "default" : "1",
2711 "default_key" : 1,
2712 "description" : "Enable or disable log rate limiting",
2713 "type" : "boolean"
2714 },
2715 "rate" : {
2716 "default" : "1/second",
2717 "description" : "Frequency with which the burst bucket gets refilled",
2718 "format_description" : "rate",
2719 "optional" : 1,
2720 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
2721 "type" : "string"
2722 }
2723 },
2724 "optional" : 1,
2725 "type" : "string",
2726 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
2727 },
44660702
DM
2728 "policy_in" : {
2729 "description" : "Input policy.",
56122987 2730 "enum" : [
44660702
DM
2731 "ACCEPT",
2732 "REJECT",
2733 "DROP"
56122987 2734 ],
56122987 2735 "optional" : 1,
44660702 2736 "type" : "string"
56122987 2737 },
44660702
DM
2738 "policy_out" : {
2739 "description" : "Output policy.",
56122987 2740 "enum" : [
44660702
DM
2741 "ACCEPT",
2742 "REJECT",
2743 "DROP"
56122987 2744 ],
7aacca6f 2745 "optional" : 1,
44660702 2746 "type" : "string"
56122987 2747 }
44660702
DM
2748 }
2749 },
2750 "permissions" : {
2751 "check" : [
2752 "perm",
2753 "/",
2754 [
2755 "Sys.Modify"
2756 ]
2757 ]
7aacca6f
DM
2758 },
2759 "protected" : 1,
44660702
DM
2760 "returns" : {
2761 "type" : "null"
2762 }
2763 }
2764 },
2765 "leaf" : 1,
2766 "path" : "/cluster/firewall/options",
2767 "text" : "options"
2768 },
2769 {
2770 "info" : {
7aacca6f 2771 "GET" : {
e9cd3bd4 2772 "allowtoken" : 1,
44660702 2773 "description" : "List available macros",
7aacca6f 2774 "method" : "GET",
44660702
DM
2775 "name" : "get_macros",
2776 "parameters" : {
2777 "additionalProperties" : 0
7aacca6f 2778 },
44660702
DM
2779 "permissions" : {
2780 "user" : "all"
2781 },
2782 "returns" : {
2783 "items" : {
2784 "properties" : {
2785 "descr" : {
2786 "description" : "More verbose description (if available).",
2787 "type" : "string"
2788 },
2789 "macro" : {
2790 "description" : "Macro name.",
2791 "type" : "string"
2792 }
2793 },
2794 "type" : "object"
2795 },
2796 "type" : "array"
2797 }
2798 }
2799 },
2800 "leaf" : 1,
2801 "path" : "/cluster/firewall/macros",
2802 "text" : "macros"
2803 },
2804 {
2805 "info" : {
2806 "GET" : {
e9cd3bd4 2807 "allowtoken" : 1,
44660702
DM
2808 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2809 "method" : "GET",
2810 "name" : "refs",
7aacca6f 2811 "parameters" : {
44660702 2812 "additionalProperties" : 0,
7aacca6f 2813 "properties" : {
44660702
DM
2814 "type" : {
2815 "description" : "Only list references of specified type.",
2816 "enum" : [
2817 "alias",
2818 "ipset"
2819 ],
2820 "optional" : 1,
2821 "type" : "string"
7aacca6f 2822 }
44660702 2823 }
7aacca6f
DM
2824 },
2825 "permissions" : {
2826 "check" : [
2827 "perm",
2828 "/",
2829 [
2830 "Sys.Audit"
2831 ]
2832 ]
2833 },
44660702
DM
2834 "returns" : {
2835 "items" : {
2836 "properties" : {
2837 "comment" : {
2838 "optional" : 1,
2839 "type" : "string"
2840 },
2841 "name" : {
2842 "type" : "string"
2843 },
2844 "ref" : {
2845 "type" : "string"
2846 },
2847 "type" : {
2848 "enum" : [
2849 "alias",
2850 "ipset"
2851 ],
2852 "type" : "string"
2853 }
2854 },
2855 "type" : "object"
2856 },
2857 "type" : "array"
2858 }
56122987
DM
2859 }
2860 },
7aacca6f 2861 "leaf" : 1,
44660702
DM
2862 "path" : "/cluster/firewall/refs",
2863 "text" : "refs"
56122987
DM
2864 }
2865 ],
56122987 2866 "info" : {
44660702 2867 "GET" : {
e9cd3bd4 2868 "allowtoken" : 1,
44660702
DM
2869 "description" : "Directory index.",
2870 "method" : "GET",
2871 "name" : "index",
56122987 2872 "parameters" : {
56122987
DM
2873 "additionalProperties" : 0
2874 },
44660702
DM
2875 "permissions" : {
2876 "user" : "all"
2877 },
56122987 2878 "returns" : {
44660702
DM
2879 "items" : {
2880 "properties" : {},
2881 "type" : "object"
2882 },
7aacca6f
DM
2883 "links" : [
2884 {
44660702
DM
2885 "href" : "{name}",
2886 "rel" : "child"
7aacca6f
DM
2887 }
2888 ],
7aacca6f 2889 "type" : "array"
7aacca6f 2890 }
56122987
DM
2891 }
2892 },
44660702
DM
2893 "leaf" : 0,
2894 "path" : "/cluster/firewall",
2895 "text" : "firewall"
7aacca6f
DM
2896 },
2897 {
56122987
DM
2898 "children" : [
2899 {
56122987 2900 "info" : {
44660702 2901 "DELETE" : {
e9cd3bd4 2902 "allowtoken" : 1,
44660702
DM
2903 "description" : "Delete vzdump backup job definition.",
2904 "method" : "DELETE",
2905 "name" : "delete_job",
2906 "parameters" : {
2907 "additionalProperties" : 0,
2908 "properties" : {
2909 "id" : {
2910 "description" : "The job ID.",
2911 "maxLength" : 50,
013dc89f
DM
2912 "type" : "string",
2913 "typetext" : "<string>"
44660702
DM
2914 }
2915 }
2916 },
2917 "permissions" : {
2918 "check" : [
2919 "perm",
2920 "/",
2921 [
2922 "Sys.Modify"
2923 ]
2924 ]
2925 },
2926 "protected" : 1,
56122987
DM
2927 "returns" : {
2928 "type" : "null"
44660702
DM
2929 }
2930 },
2931 "GET" : {
e9cd3bd4 2932 "allowtoken" : 1,
44660702
DM
2933 "description" : "Read vzdump backup job definition.",
2934 "method" : "GET",
2935 "name" : "read_job",
2936 "parameters" : {
2937 "additionalProperties" : 0,
2938 "properties" : {
2939 "id" : {
2940 "description" : "The job ID.",
2941 "maxLength" : 50,
013dc89f
DM
2942 "type" : "string",
2943 "typetext" : "<string>"
44660702
DM
2944 }
2945 }
56122987 2946 },
7aacca6f
DM
2947 "permissions" : {
2948 "check" : [
2949 "perm",
2950 "/",
2951 [
44660702 2952 "Sys.Audit"
7aacca6f
DM
2953 ]
2954 ]
2955 },
44660702
DM
2956 "returns" : {
2957 "type" : "object"
2958 }
2959 },
2960 "PUT" : {
e9cd3bd4 2961 "allowtoken" : 1,
44660702
DM
2962 "description" : "Update vzdump backup job definition.",
2963 "method" : "PUT",
2964 "name" : "update_job",
56122987 2965 "parameters" : {
44660702 2966 "additionalProperties" : 0,
56122987 2967 "properties" : {
44660702
DM
2968 "all" : {
2969 "default" : 0,
2970 "description" : "Backup all known guest systems on this host.",
7aacca6f 2971 "optional" : 1,
013dc89f
DM
2972 "type" : "boolean",
2973 "typetext" : "<boolean>"
7aacca6f 2974 },
44660702
DM
2975 "bwlimit" : {
2976 "default" : 0,
2977 "description" : "Limit I/O bandwidth (KBytes per second).",
2978 "minimum" : 0,
2979 "optional" : 1,
4bd7df8b 2980 "type" : "integer",
013dc89f 2981 "typetext" : "<integer> (0 - N)"
44660702
DM
2982 },
2983 "compress" : {
2984 "default" : "0",
2985 "description" : "Compress dump file.",
7aacca6f 2986 "enum" : [
44660702
DM
2987 "0",
2988 "1",
2989 "gzip",
c5aa7e14
TL
2990 "lzo",
2991 "zstd"
7aacca6f 2992 ],
44660702
DM
2993 "optional" : 1,
2994 "type" : "string"
7aacca6f 2995 },
44660702
DM
2996 "delete" : {
2997 "description" : "A list of settings you want to delete.",
2998 "format" : "pve-configid-list",
7aacca6f 2999 "optional" : 1,
013dc89f
DM
3000 "type" : "string",
3001 "typetext" : "<string>"
56122987 3002 },
44660702
DM
3003 "dow" : {
3004 "description" : "Day of week selection.",
3005 "format" : "pve-day-of-week-list",
7aacca6f 3006 "optional" : 1,
013dc89f
DM
3007 "type" : "string",
3008 "typetext" : "<string>"
56122987 3009 },
44660702
DM
3010 "dumpdir" : {
3011 "description" : "Store resulting files to specified directory.",
56122987 3012 "optional" : 1,
013dc89f
DM
3013 "type" : "string",
3014 "typetext" : "<string>"
56122987 3015 },
44660702
DM
3016 "enabled" : {
3017 "default" : "1",
3018 "description" : "Enable or disable the job.",
3019 "optional" : 1,
013dc89f
DM
3020 "type" : "boolean",
3021 "typetext" : "<boolean>"
44660702
DM
3022 },
3023 "exclude" : {
3024 "description" : "Exclude specified guest systems (assumes --all)",
3025 "format" : "pve-vmid-list",
3026 "optional" : 1,
013dc89f
DM
3027 "type" : "string",
3028 "typetext" : "<string>"
44660702
DM
3029 },
3030 "exclude-path" : {
3031 "description" : "Exclude certain files/directories (shell globs).",
3032 "format" : "string-alist",
3033 "optional" : 1,
013dc89f
DM
3034 "type" : "string",
3035 "typetext" : "<string>"
44660702
DM
3036 },
3037 "id" : {
3038 "description" : "The job ID.",
3039 "maxLength" : 50,
013dc89f
DM
3040 "type" : "string",
3041 "typetext" : "<string>"
44660702
DM
3042 },
3043 "ionice" : {
3044 "default" : 7,
3045 "description" : "Set CFQ ionice priority.",
3046 "maximum" : 8,
3047 "minimum" : 0,
3048 "optional" : 1,
4bd7df8b 3049 "type" : "integer",
013dc89f 3050 "typetext" : "<integer> (0 - 8)"
44660702
DM
3051 },
3052 "lockwait" : {
3053 "default" : 180,
3054 "description" : "Maximal time to wait for the global lock (minutes).",
3055 "minimum" : 0,
3056 "optional" : 1,
4bd7df8b 3057 "type" : "integer",
013dc89f 3058 "typetext" : "<integer> (0 - N)"
44660702
DM
3059 },
3060 "mailnotification" : {
3061 "default" : "always",
3062 "description" : "Specify when to send an email",
56122987 3063 "enum" : [
44660702
DM
3064 "always",
3065 "failure"
56122987 3066 ],
44660702
DM
3067 "optional" : 1,
3068 "type" : "string"
3069 },
3070 "mailto" : {
3071 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3072 "format" : "string-list",
3073 "optional" : 1,
013dc89f
DM
3074 "type" : "string",
3075 "typetext" : "<string>"
44660702
DM
3076 },
3077 "maxfiles" : {
3078 "default" : 1,
3079 "description" : "Maximal number of backup files per guest system.",
3080 "minimum" : 1,
3081 "optional" : 1,
4bd7df8b 3082 "type" : "integer",
013dc89f 3083 "typetext" : "<integer> (1 - N)"
44660702
DM
3084 },
3085 "mode" : {
3086 "default" : "snapshot",
3087 "description" : "Backup mode.",
3088 "enum" : [
3089 "snapshot",
3090 "suspend",
3091 "stop"
3092 ],
3093 "optional" : 1,
3094 "type" : "string"
3095 },
3096 "node" : {
3097 "description" : "Only run if executed on this node.",
3098 "format" : "pve-node",
3099 "optional" : 1,
013dc89f
DM
3100 "type" : "string",
3101 "typetext" : "<string>"
44660702
DM
3102 },
3103 "pigz" : {
3104 "default" : 0,
3105 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3106 "optional" : 1,
013dc89f
DM
3107 "type" : "integer",
3108 "typetext" : "<integer>"
44660702 3109 },
9226ccbc
TL
3110 "pool" : {
3111 "description" : "Backup all known guest systems included in the specified pool.",
3112 "optional" : 1,
3113 "type" : "string",
3114 "typetext" : "<string>"
3115 },
44660702
DM
3116 "quiet" : {
3117 "default" : 0,
3118 "description" : "Be quiet.",
3119 "optional" : 1,
013dc89f
DM
3120 "type" : "boolean",
3121 "typetext" : "<boolean>"
44660702
DM
3122 },
3123 "remove" : {
3124 "default" : 1,
3125 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3126 "optional" : 1,
013dc89f
DM
3127 "type" : "boolean",
3128 "typetext" : "<boolean>"
44660702
DM
3129 },
3130 "script" : {
3131 "description" : "Use specified hook script.",
3132 "optional" : 1,
013dc89f
DM
3133 "type" : "string",
3134 "typetext" : "<string>"
44660702
DM
3135 },
3136 "size" : {
3137 "default" : 1024,
3138 "description" : "Unused, will be removed in a future release.",
3139 "minimum" : 500,
3140 "optional" : 1,
4bd7df8b 3141 "type" : "integer",
013dc89f 3142 "typetext" : "<integer> (500 - N)"
44660702
DM
3143 },
3144 "starttime" : {
3145 "description" : "Job Start time.",
3146 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3147 "type" : "string",
44660702 3148 "typetext" : "HH:MM"
7aacca6f 3149 },
44660702
DM
3150 "stdexcludes" : {
3151 "default" : 1,
3152 "description" : "Exclude temporary files and logs.",
3153 "optional" : 1,
013dc89f
DM
3154 "type" : "boolean",
3155 "typetext" : "<boolean>"
44660702
DM
3156 },
3157 "stop" : {
3158 "default" : 0,
1e3f8156 3159 "description" : "Stop running backup jobs on this host.",
44660702 3160 "optional" : 1,
013dc89f
DM
3161 "type" : "boolean",
3162 "typetext" : "<boolean>"
44660702
DM
3163 },
3164 "stopwait" : {
3165 "default" : 10,
3166 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3167 "minimum" : 0,
3168 "optional" : 1,
4bd7df8b 3169 "type" : "integer",
013dc89f 3170 "typetext" : "<integer> (0 - N)"
44660702
DM
3171 },
3172 "storage" : {
3173 "description" : "Store resulting file to this storage.",
3174 "format" : "pve-storage-id",
3175 "optional" : 1,
013dc89f
DM
3176 "type" : "string",
3177 "typetext" : "<string>"
56122987 3178 },
44660702
DM
3179 "tmpdir" : {
3180 "description" : "Store temporary files to specified directory.",
3181 "optional" : 1,
013dc89f
DM
3182 "type" : "string",
3183 "typetext" : "<string>"
44660702
DM
3184 },
3185 "vmid" : {
3186 "description" : "The ID of the guest system you want to backup.",
3187 "format" : "pve-vmid-list",
3188 "optional" : 1,
013dc89f
DM
3189 "type" : "string",
3190 "typetext" : "<string>"
c5aa7e14
TL
3191 },
3192 "zstd" : {
3193 "default" : 1,
3194 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3195 "optional" : 1,
3196 "type" : "integer",
3197 "typetext" : "<integer>"
56122987 3198 }
44660702 3199 }
56122987
DM
3200 },
3201 "permissions" : {
3202 "check" : [
3203 "perm",
3204 "/",
3205 [
44660702 3206 "Sys.Modify"
56122987
DM
3207 ]
3208 ]
3209 },
44660702
DM
3210 "protected" : 1,
3211 "returns" : {
3212 "type" : "null"
7aacca6f 3213 }
56122987
DM
3214 }
3215 },
44660702
DM
3216 "leaf" : 1,
3217 "path" : "/cluster/backup/{id}",
3218 "text" : "{id}"
3219 }
3220 ],
3221 "info" : {
3222 "GET" : {
e9cd3bd4 3223 "allowtoken" : 1,
44660702
DM
3224 "description" : "List vzdump backup schedule.",
3225 "method" : "GET",
3226 "name" : "index",
3227 "parameters" : {
3228 "additionalProperties" : 0
3229 },
3230 "permissions" : {
3231 "check" : [
3232 "perm",
3233 "/",
3234 [
3235 "Sys.Audit"
3236 ]
3237 ]
3238 },
3239 "returns" : {
3240 "items" : {
3241 "properties" : {
3242 "id" : {
1c532546
TL
3243 "description" : "The job ID.",
3244 "maxLength" : 50,
44660702
DM
3245 "type" : "string"
3246 }
3247 },
3248 "type" : "object"
3249 },
3250 "links" : [
3251 {
3252 "href" : "{id}",
3253 "rel" : "child"
3254 }
3255 ],
3256 "type" : "array"
3257 }
3258 },
3259 "POST" : {
e9cd3bd4 3260 "allowtoken" : 1,
44660702
DM
3261 "description" : "Create new vzdump backup job.",
3262 "method" : "POST",
3263 "name" : "create_job",
3264 "parameters" : {
3265 "additionalProperties" : 0,
3266 "properties" : {
3267 "all" : {
3268 "default" : 0,
3269 "description" : "Backup all known guest systems on this host.",
3270 "optional" : 1,
013dc89f
DM
3271 "type" : "boolean",
3272 "typetext" : "<boolean>"
44660702
DM
3273 },
3274 "bwlimit" : {
3275 "default" : 0,
3276 "description" : "Limit I/O bandwidth (KBytes per second).",
3277 "minimum" : 0,
3278 "optional" : 1,
4bd7df8b 3279 "type" : "integer",
013dc89f 3280 "typetext" : "<integer> (0 - N)"
44660702
DM
3281 },
3282 "compress" : {
3283 "default" : "0",
3284 "description" : "Compress dump file.",
3285 "enum" : [
3286 "0",
3287 "1",
3288 "gzip",
c5aa7e14
TL
3289 "lzo",
3290 "zstd"
44660702
DM
3291 ],
3292 "optional" : 1,
3293 "type" : "string"
3294 },
3295 "dow" : {
3296 "default" : "mon,tue,wed,thu,fri,sat,sun",
3297 "description" : "Day of week selection.",
3298 "format" : "pve-day-of-week-list",
3299 "optional" : 1,
013dc89f
DM
3300 "type" : "string",
3301 "typetext" : "<string>"
44660702
DM
3302 },
3303 "dumpdir" : {
3304 "description" : "Store resulting files to specified directory.",
3305 "optional" : 1,
013dc89f
DM
3306 "type" : "string",
3307 "typetext" : "<string>"
44660702
DM
3308 },
3309 "enabled" : {
3310 "default" : "1",
3311 "description" : "Enable or disable the job.",
3312 "optional" : 1,
013dc89f
DM
3313 "type" : "boolean",
3314 "typetext" : "<boolean>"
44660702
DM
3315 },
3316 "exclude" : {
3317 "description" : "Exclude specified guest systems (assumes --all)",
3318 "format" : "pve-vmid-list",
3319 "optional" : 1,
013dc89f
DM
3320 "type" : "string",
3321 "typetext" : "<string>"
44660702
DM
3322 },
3323 "exclude-path" : {
3324 "description" : "Exclude certain files/directories (shell globs).",
3325 "format" : "string-alist",
3326 "optional" : 1,
013dc89f
DM
3327 "type" : "string",
3328 "typetext" : "<string>"
44660702
DM
3329 },
3330 "ionice" : {
3331 "default" : 7,
3332 "description" : "Set CFQ ionice priority.",
3333 "maximum" : 8,
3334 "minimum" : 0,
3335 "optional" : 1,
4bd7df8b 3336 "type" : "integer",
013dc89f 3337 "typetext" : "<integer> (0 - 8)"
44660702
DM
3338 },
3339 "lockwait" : {
3340 "default" : 180,
3341 "description" : "Maximal time to wait for the global lock (minutes).",
3342 "minimum" : 0,
3343 "optional" : 1,
4bd7df8b 3344 "type" : "integer",
013dc89f 3345 "typetext" : "<integer> (0 - N)"
44660702
DM
3346 },
3347 "mailnotification" : {
3348 "default" : "always",
3349 "description" : "Specify when to send an email",
3350 "enum" : [
3351 "always",
3352 "failure"
3353 ],
3354 "optional" : 1,
3355 "type" : "string"
3356 },
3357 "mailto" : {
3358 "description" : "Comma-separated list of email addresses that should receive email notifications.",
3359 "format" : "string-list",
3360 "optional" : 1,
013dc89f
DM
3361 "type" : "string",
3362 "typetext" : "<string>"
44660702
DM
3363 },
3364 "maxfiles" : {
3365 "default" : 1,
3366 "description" : "Maximal number of backup files per guest system.",
3367 "minimum" : 1,
3368 "optional" : 1,
4bd7df8b 3369 "type" : "integer",
013dc89f 3370 "typetext" : "<integer> (1 - N)"
44660702
DM
3371 },
3372 "mode" : {
3373 "default" : "snapshot",
3374 "description" : "Backup mode.",
3375 "enum" : [
3376 "snapshot",
3377 "suspend",
3378 "stop"
3379 ],
3380 "optional" : 1,
3381 "type" : "string"
3382 },
3383 "node" : {
3384 "description" : "Only run if executed on this node.",
3385 "format" : "pve-node",
3386 "optional" : 1,
013dc89f
DM
3387 "type" : "string",
3388 "typetext" : "<string>"
44660702
DM
3389 },
3390 "pigz" : {
3391 "default" : 0,
3392 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3393 "optional" : 1,
013dc89f
DM
3394 "type" : "integer",
3395 "typetext" : "<integer>"
44660702 3396 },
9226ccbc
TL
3397 "pool" : {
3398 "description" : "Backup all known guest systems included in the specified pool.",
3399 "optional" : 1,
3400 "type" : "string",
3401 "typetext" : "<string>"
3402 },
44660702
DM
3403 "quiet" : {
3404 "default" : 0,
3405 "description" : "Be quiet.",
3406 "optional" : 1,
013dc89f
DM
3407 "type" : "boolean",
3408 "typetext" : "<boolean>"
44660702
DM
3409 },
3410 "remove" : {
3411 "default" : 1,
3412 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3413 "optional" : 1,
013dc89f
DM
3414 "type" : "boolean",
3415 "typetext" : "<boolean>"
44660702
DM
3416 },
3417 "script" : {
3418 "description" : "Use specified hook script.",
3419 "optional" : 1,
013dc89f
DM
3420 "type" : "string",
3421 "typetext" : "<string>"
44660702
DM
3422 },
3423 "size" : {
3424 "default" : 1024,
3425 "description" : "Unused, will be removed in a future release.",
3426 "minimum" : 500,
3427 "optional" : 1,
4bd7df8b 3428 "type" : "integer",
013dc89f 3429 "typetext" : "<integer> (500 - N)"
44660702
DM
3430 },
3431 "starttime" : {
3432 "description" : "Job Start time.",
3433 "pattern" : "\\d{1,2}:\\d{1,2}",
3434 "type" : "string",
3435 "typetext" : "HH:MM"
3436 },
3437 "stdexcludes" : {
3438 "default" : 1,
3439 "description" : "Exclude temporary files and logs.",
3440 "optional" : 1,
013dc89f
DM
3441 "type" : "boolean",
3442 "typetext" : "<boolean>"
44660702
DM
3443 },
3444 "stop" : {
3445 "default" : 0,
1e3f8156 3446 "description" : "Stop running backup jobs on this host.",
44660702 3447 "optional" : 1,
013dc89f
DM
3448 "type" : "boolean",
3449 "typetext" : "<boolean>"
44660702
DM
3450 },
3451 "stopwait" : {
3452 "default" : 10,
3453 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3454 "minimum" : 0,
3455 "optional" : 1,
4bd7df8b 3456 "type" : "integer",
013dc89f 3457 "typetext" : "<integer> (0 - N)"
44660702
DM
3458 },
3459 "storage" : {
3460 "description" : "Store resulting file to this storage.",
3461 "format" : "pve-storage-id",
3462 "optional" : 1,
013dc89f
DM
3463 "type" : "string",
3464 "typetext" : "<string>"
44660702
DM
3465 },
3466 "tmpdir" : {
3467 "description" : "Store temporary files to specified directory.",
3468 "optional" : 1,
013dc89f
DM
3469 "type" : "string",
3470 "typetext" : "<string>"
44660702
DM
3471 },
3472 "vmid" : {
3473 "description" : "The ID of the guest system you want to backup.",
3474 "format" : "pve-vmid-list",
3475 "optional" : 1,
013dc89f
DM
3476 "type" : "string",
3477 "typetext" : "<string>"
c5aa7e14
TL
3478 },
3479 "zstd" : {
3480 "default" : 1,
3481 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3482 "optional" : 1,
3483 "type" : "integer",
3484 "typetext" : "<integer>"
44660702
DM
3485 }
3486 }
3487 },
3488 "permissions" : {
3489 "check" : [
3490 "perm",
3491 "/",
3492 [
3493 "Sys.Modify"
3494 ]
de0983cb
DM
3495 ],
3496 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
3497 },
3498 "protected" : 1,
3499 "returns" : {
3500 "type" : "null"
3501 }
3502 }
3503 },
3504 "leaf" : 0,
3505 "path" : "/cluster/backup",
3506 "text" : "backup"
3507 },
3508 {
3509 "children" : [
3510 {
3511 "children" : [
3512 {
3513 "children" : [
56122987 3514 {
56122987
DM
3515 "info" : {
3516 "POST" : {
e9cd3bd4 3517 "allowtoken" : 1,
44660702
DM
3518 "description" : "Request resource migration (online) to another node.",
3519 "method" : "POST",
3520 "name" : "migrate",
56122987 3521 "parameters" : {
7aacca6f 3522 "additionalProperties" : 0,
56122987
DM
3523 "properties" : {
3524 "node" : {
95895385 3525 "description" : "Target node.",
44660702 3526 "format" : "pve-node",
013dc89f
DM
3527 "type" : "string",
3528 "typetext" : "<string>"
56122987
DM
3529 },
3530 "sid" : {
44660702 3531 "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 3532 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3533 "type" : "string",
44660702 3534 "typetext" : "<type>:<name>"
56122987 3535 }
7aacca6f 3536 }
56122987 3537 },
56122987
DM
3538 "permissions" : {
3539 "check" : [
3540 "perm",
3541 "/",
3542 [
3543 "Sys.Console"
3544 ]
3545 ]
3546 },
7aacca6f 3547 "protected" : 1,
7aacca6f
DM
3548 "returns" : {
3549 "type" : "null"
44660702 3550 }
56122987 3551 }
44660702
DM
3552 },
3553 "leaf" : 1,
3554 "path" : "/cluster/ha/resources/{sid}/migrate",
3555 "text" : "migrate"
3556 },
3557 {
3558 "info" : {
3559 "POST" : {
e9cd3bd4 3560 "allowtoken" : 1,
44660702
DM
3561 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
3562 "method" : "POST",
3563 "name" : "relocate",
3564 "parameters" : {
3565 "additionalProperties" : 0,
3566 "properties" : {
3567 "node" : {
95895385 3568 "description" : "Target node.",
44660702 3569 "format" : "pve-node",
013dc89f
DM
3570 "type" : "string",
3571 "typetext" : "<string>"
44660702
DM
3572 },
3573 "sid" : {
3574 "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).",
3575 "format" : "pve-ha-resource-or-vm-id",
3576 "type" : "string",
3577 "typetext" : "<type>:<name>"
3578 }
3579 }
3580 },
3581 "permissions" : {
3582 "check" : [
3583 "perm",
3584 "/",
3585 [
3586 "Sys.Console"
3587 ]
3588 ]
3589 },
3590 "protected" : 1,
3591 "returns" : {
3592 "type" : "null"
3593 }
3594 }
3595 },
3596 "leaf" : 1,
3597 "path" : "/cluster/ha/resources/{sid}/relocate",
3598 "text" : "relocate"
3599 }
3600 ],
3601 "info" : {
3602 "DELETE" : {
e9cd3bd4 3603 "allowtoken" : 1,
44660702
DM
3604 "description" : "Delete resource configuration.",
3605 "method" : "DELETE",
3606 "name" : "delete",
7aacca6f 3607 "parameters" : {
44660702 3608 "additionalProperties" : 0,
7aacca6f
DM
3609 "properties" : {
3610 "sid" : {
3611 "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 3612 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 3613 "type" : "string",
44660702
DM
3614 "typetext" : "<type>:<name>"
3615 }
3616 }
3617 },
3618 "permissions" : {
3619 "check" : [
3620 "perm",
3621 "/",
3622 [
3623 "Sys.Console"
3624 ]
3625 ]
3626 },
3627 "protected" : 1,
3628 "returns" : {
3629 "type" : "null"
3630 }
3631 },
3632 "GET" : {
e9cd3bd4 3633 "allowtoken" : 1,
44660702
DM
3634 "description" : "Read resource configuration.",
3635 "method" : "GET",
3636 "name" : "read",
3637 "parameters" : {
3638 "additionalProperties" : 0,
3639 "properties" : {
3640 "sid" : {
3641 "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 3642 "format" : "pve-ha-resource-or-vm-id",
44660702 3643 "type" : "string",
7aacca6f
DM
3644 "typetext" : "<type>:<name>"
3645 }
44660702 3646 }
7aacca6f
DM
3647 },
3648 "permissions" : {
3649 "check" : [
3650 "perm",
3651 "/",
3652 [
3653 "Sys.Audit"
3654 ]
3655 ]
3656 },
5f26e15b
TL
3657 "returns" : {
3658 "properties" : {
3659 "comment" : {
3660 "description" : "Description.",
3661 "optional" : 1,
3662 "type" : "string"
3663 },
3664 "digest" : {
3665 "description" : "Can be used to prevent concurrent modifications.",
3666 "type" : "string"
3667 },
3668 "group" : {
3669 "description" : "The HA group identifier.",
3670 "format" : "pve-configid",
3671 "optional" : 1,
3672 "type" : "string"
3673 },
3674 "max_relocate" : {
3675 "description" : "Maximal number of service relocate tries when a service failes to start.",
3676 "optional" : 1,
3677 "type" : "integer"
3678 },
3679 "max_restart" : {
3680 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3681 "optional" : 1,
3682 "type" : "integer"
3683 },
3684 "sid" : {
3685 "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).",
3686 "format" : "pve-ha-resource-or-vm-id",
3687 "type" : "string",
3688 "typetext" : "<type>:<name>"
3689 },
3690 "state" : {
3691 "description" : "Requested resource state.",
3692 "enum" : [
3693 "started",
3694 "stopped",
3695 "enabled",
3696 "disabled",
3697 "ignored"
3698 ],
3699 "optional" : 1,
3700 "type" : "string"
3701 },
3702 "type" : {
3703 "description" : "The type of the resources.",
3704 "type" : "string"
3705 }
3706 },
3707 "type" : "object"
3708 }
7aacca6f 3709 },
56122987 3710 "PUT" : {
e9cd3bd4 3711 "allowtoken" : 1,
44660702 3712 "description" : "Update resource configuration.",
7aacca6f 3713 "method" : "PUT",
44660702 3714 "name" : "update",
56122987
DM
3715 "parameters" : {
3716 "additionalProperties" : 0,
3717 "properties" : {
44660702
DM
3718 "comment" : {
3719 "description" : "Description.",
3720 "maxLength" : 4096,
56122987 3721 "optional" : 1,
013dc89f
DM
3722 "type" : "string",
3723 "typetext" : "<string>"
56122987 3724 },
7aacca6f
DM
3725 "delete" : {
3726 "description" : "A list of settings you want to delete.",
7aacca6f 3727 "format" : "pve-configid-list",
44660702
DM
3728 "maxLength" : 4096,
3729 "optional" : 1,
013dc89f
DM
3730 "type" : "string",
3731 "typetext" : "<string>"
56122987 3732 },
44660702
DM
3733 "digest" : {
3734 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3735 "maxLength" : 40,
3736 "optional" : 1,
013dc89f
DM
3737 "type" : "string",
3738 "typetext" : "<string>"
56122987 3739 },
44660702
DM
3740 "group" : {
3741 "description" : "The HA group identifier.",
3742 "format" : "pve-configid",
7aacca6f 3743 "optional" : 1,
013dc89f
DM
3744 "type" : "string",
3745 "typetext" : "<string>"
56122987
DM
3746 },
3747 "max_relocate" : {
7aacca6f 3748 "default" : 1,
56122987 3749 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
3750 "minimum" : 0,
3751 "optional" : 1,
4bd7df8b 3752 "type" : "integer",
013dc89f 3753 "typetext" : "<integer> (0 - N)"
7aacca6f 3754 },
44660702
DM
3755 "max_restart" : {
3756 "default" : 1,
3757 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3758 "minimum" : 0,
7aacca6f 3759 "optional" : 1,
4bd7df8b 3760 "type" : "integer",
013dc89f 3761 "typetext" : "<integer> (0 - N)"
44660702
DM
3762 },
3763 "sid" : {
3764 "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).",
3765 "format" : "pve-ha-resource-or-vm-id",
3766 "type" : "string",
3767 "typetext" : "<type>:<name>"
7aacca6f
DM
3768 },
3769 "state" : {
f13c1238
DM
3770 "default" : "started",
3771 "description" : "Requested resource state.",
7aacca6f 3772 "enum" : [
f13c1238
DM
3773 "started",
3774 "stopped",
7aacca6f 3775 "enabled",
2489d6df
WB
3776 "disabled",
3777 "ignored"
7aacca6f 3778 ],
7aacca6f 3779 "optional" : 1,
f13c1238 3780 "type" : "string",
2489d6df 3781 "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 3782 }
44660702
DM
3783 },
3784 "type" : "object"
56122987 3785 },
56122987
DM
3786 "permissions" : {
3787 "check" : [
3788 "perm",
3789 "/",
3790 [
3791 "Sys.Console"
3792 ]
3793 ]
3794 },
7aacca6f 3795 "protected" : 1,
56122987
DM
3796 "returns" : {
3797 "type" : "null"
3798 }
3799 }
3800 },
44660702 3801 "leaf" : 0,
7aacca6f 3802 "path" : "/cluster/ha/resources/{sid}",
44660702 3803 "text" : "{sid}"
56122987
DM
3804 }
3805 ],
7aacca6f
DM
3806 "info" : {
3807 "GET" : {
e9cd3bd4 3808 "allowtoken" : 1,
44660702
DM
3809 "description" : "List HA resources.",
3810 "method" : "GET",
3811 "name" : "index",
7aacca6f 3812 "parameters" : {
44660702
DM
3813 "additionalProperties" : 0,
3814 "properties" : {
3815 "type" : {
3816 "description" : "Only list resources of specific type",
3817 "enum" : [
3818 "ct",
3819 "vm"
3820 ],
3821 "optional" : 1,
3822 "type" : "string"
3823 }
3824 }
7aacca6f 3825 },
7aacca6f
DM
3826 "permissions" : {
3827 "check" : [
3828 "perm",
3829 "/",
3830 [
3831 "Sys.Audit"
3832 ]
3833 ]
3834 },
7aacca6f 3835 "returns" : {
7aacca6f 3836 "items" : {
7aacca6f 3837 "properties" : {
44660702 3838 "sid" : {
7aacca6f
DM
3839 "type" : "string"
3840 }
44660702
DM
3841 },
3842 "type" : "object"
7aacca6f
DM
3843 },
3844 "links" : [
3845 {
44660702 3846 "href" : "{sid}",
7aacca6f
DM
3847 "rel" : "child"
3848 }
44660702
DM
3849 ],
3850 "type" : "array"
7aacca6f
DM
3851 }
3852 },
3853 "POST" : {
e9cd3bd4 3854 "allowtoken" : 1,
44660702 3855 "description" : "Create a new HA resource.",
7aacca6f 3856 "method" : "POST",
44660702 3857 "name" : "create",
7aacca6f 3858 "parameters" : {
44660702 3859 "additionalProperties" : 0,
7aacca6f
DM
3860 "properties" : {
3861 "comment" : {
7aacca6f 3862 "description" : "Description.",
44660702 3863 "maxLength" : 4096,
7aacca6f 3864 "optional" : 1,
013dc89f
DM
3865 "type" : "string",
3866 "typetext" : "<string>"
7aacca6f 3867 },
44660702
DM
3868 "group" : {
3869 "description" : "The HA group identifier.",
3870 "format" : "pve-configid",
7aacca6f 3871 "optional" : 1,
013dc89f
DM
3872 "type" : "string",
3873 "typetext" : "<string>"
7aacca6f 3874 },
44660702
DM
3875 "max_relocate" : {
3876 "default" : 1,
3877 "description" : "Maximal number of service relocate tries when a service failes to start.",
3878 "minimum" : 0,
7aacca6f 3879 "optional" : 1,
4bd7df8b 3880 "type" : "integer",
013dc89f 3881 "typetext" : "<integer> (0 - N)"
7aacca6f 3882 },
44660702
DM
3883 "max_restart" : {
3884 "default" : 1,
3885 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3886 "minimum" : 0,
3887 "optional" : 1,
4bd7df8b 3888 "type" : "integer",
013dc89f 3889 "typetext" : "<integer> (0 - N)"
44660702
DM
3890 },
3891 "sid" : {
3892 "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).",
3893 "format" : "pve-ha-resource-or-vm-id",
3894 "type" : "string",
3895 "typetext" : "<type>:<name>"
3896 },
3897 "state" : {
f13c1238
DM
3898 "default" : "started",
3899 "description" : "Requested resource state.",
7aacca6f 3900 "enum" : [
f13c1238
DM
3901 "started",
3902 "stopped",
44660702 3903 "enabled",
2489d6df
WB
3904 "disabled",
3905 "ignored"
7aacca6f 3906 ],
7aacca6f 3907 "optional" : 1,
f13c1238 3908 "type" : "string",
2489d6df 3909 "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 3910 },
44660702
DM
3911 "type" : {
3912 "description" : "Resource type.",
3913 "enum" : [
3914 "ct",
3915 "vm"
3916 ],
3917 "optional" : 1,
3918 "type" : "string"
3919 }
7aacca6f 3920 },
44660702 3921 "type" : "object"
7aacca6f
DM
3922 },
3923 "permissions" : {
3924 "check" : [
3925 "perm",
3926 "/",
3927 [
3928 "Sys.Console"
3929 ]
3930 ]
3931 },
44660702
DM
3932 "protected" : 1,
3933 "returns" : {
3934 "type" : "null"
3935 }
7aacca6f
DM
3936 }
3937 },
44660702
DM
3938 "leaf" : 0,
3939 "path" : "/cluster/ha/resources",
3940 "text" : "resources"
3941 },
3942 {
56122987
DM
3943 "children" : [
3944 {
56122987 3945 "info" : {
44660702 3946 "DELETE" : {
e9cd3bd4 3947 "allowtoken" : 1,
44660702
DM
3948 "description" : "Delete ha group configuration.",
3949 "method" : "DELETE",
3950 "name" : "delete",
56122987 3951 "parameters" : {
7aacca6f 3952 "additionalProperties" : 0,
56122987 3953 "properties" : {
7aacca6f
DM
3954 "group" : {
3955 "description" : "The HA group identifier.",
44660702 3956 "format" : "pve-configid",
013dc89f
DM
3957 "type" : "string",
3958 "typetext" : "<string>"
56122987 3959 }
7aacca6f 3960 }
56122987 3961 },
56122987
DM
3962 "permissions" : {
3963 "check" : [
3964 "perm",
3965 "/",
3966 [
7aacca6f 3967 "Sys.Console"
56122987
DM
3968 ]
3969 ]
3970 },
44660702 3971 "protected" : 1,
7aacca6f
DM
3972 "returns" : {
3973 "type" : "null"
56122987
DM
3974 }
3975 },
44660702 3976 "GET" : {
e9cd3bd4 3977 "allowtoken" : 1,
44660702
DM
3978 "description" : "Read ha group configuration.",
3979 "method" : "GET",
3980 "name" : "read",
56122987 3981 "parameters" : {
44660702 3982 "additionalProperties" : 0,
56122987
DM
3983 "properties" : {
3984 "group" : {
3985 "description" : "The HA group identifier.",
44660702 3986 "format" : "pve-configid",
013dc89f
DM
3987 "type" : "string",
3988 "typetext" : "<string>"
56122987 3989 }
44660702 3990 }
56122987 3991 },
56122987
DM
3992 "permissions" : {
3993 "check" : [
3994 "perm",
3995 "/",
3996 [
44660702 3997 "Sys.Audit"
56122987
DM
3998 ]
3999 ]
4000 },
44660702 4001 "returns" : {}
7aacca6f 4002 },
44660702 4003 "PUT" : {
e9cd3bd4 4004 "allowtoken" : 1,
44660702
DM
4005 "description" : "Update ha group configuration.",
4006 "method" : "PUT",
4007 "name" : "update",
7aacca6f 4008 "parameters" : {
44660702 4009 "additionalProperties" : 0,
7aacca6f 4010 "properties" : {
44660702
DM
4011 "comment" : {
4012 "description" : "Description.",
4013 "maxLength" : 4096,
4014 "optional" : 1,
013dc89f
DM
4015 "type" : "string",
4016 "typetext" : "<string>"
44660702
DM
4017 },
4018 "delete" : {
4019 "description" : "A list of settings you want to delete.",
4020 "format" : "pve-configid-list",
4021 "maxLength" : 4096,
4022 "optional" : 1,
013dc89f
DM
4023 "type" : "string",
4024 "typetext" : "<string>"
44660702
DM
4025 },
4026 "digest" : {
4027 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4028 "maxLength" : 40,
4029 "optional" : 1,
013dc89f
DM
4030 "type" : "string",
4031 "typetext" : "<string>"
44660702 4032 },
7aacca6f
DM
4033 "group" : {
4034 "description" : "The HA group identifier.",
44660702 4035 "format" : "pve-configid",
013dc89f
DM
4036 "type" : "string",
4037 "typetext" : "<string>"
44660702
DM
4038 },
4039 "nodes" : {
f13c1238 4040 "description" : "List of cluster node names with optional priority.",
44660702
DM
4041 "format" : "pve-ha-group-node-list",
4042 "optional" : 1,
7aacca6f 4043 "type" : "string",
f13c1238
DM
4044 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4045 "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
4046 },
4047 "nofailback" : {
4048 "default" : 0,
4049 "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.",
4050 "optional" : 1,
013dc89f
DM
4051 "type" : "boolean",
4052 "typetext" : "<boolean>"
44660702
DM
4053 },
4054 "restricted" : {
4055 "default" : 0,
c4808e75 4056 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4057 "optional" : 1,
013dc89f 4058 "type" : "boolean",
c4808e75
DM
4059 "typetext" : "<boolean>",
4060 "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
4061 }
4062 },
44660702 4063 "type" : "object"
7aacca6f 4064 },
7aacca6f
DM
4065 "permissions" : {
4066 "check" : [
4067 "perm",
4068 "/",
4069 [
44660702 4070 "Sys.Console"
7aacca6f
DM
4071 ]
4072 ]
4073 },
44660702
DM
4074 "protected" : 1,
4075 "returns" : {
4076 "type" : "null"
4077 }
56122987
DM
4078 }
4079 },
4080 "leaf" : 1,
44660702
DM
4081 "path" : "/cluster/ha/groups/{group}",
4082 "text" : "{group}"
56122987 4083 }
44660702
DM
4084 ],
4085 "info" : {
4086 "GET" : {
e9cd3bd4 4087 "allowtoken" : 1,
44660702
DM
4088 "description" : "Get HA groups.",
4089 "method" : "GET",
4090 "name" : "index",
4091 "parameters" : {
4092 "additionalProperties" : 0
4093 },
4094 "permissions" : {
4095 "check" : [
4096 "perm",
4097 "/",
4098 [
4099 "Sys.Audit"
4100 ]
4101 ]
4102 },
4103 "returns" : {
4104 "items" : {
4105 "properties" : {
4106 "group" : {
4107 "type" : "string"
4108 }
4109 },
4110 "type" : "object"
4111 },
4112 "links" : [
4113 {
4114 "href" : "{group}",
4115 "rel" : "child"
4116 }
4117 ],
4118 "type" : "array"
4119 }
4120 },
4121 "POST" : {
e9cd3bd4 4122 "allowtoken" : 1,
44660702
DM
4123 "description" : "Create a new HA group.",
4124 "method" : "POST",
4125 "name" : "create",
4126 "parameters" : {
4127 "additionalProperties" : 0,
4128 "properties" : {
4129 "comment" : {
4130 "description" : "Description.",
4131 "maxLength" : 4096,
4132 "optional" : 1,
013dc89f
DM
4133 "type" : "string",
4134 "typetext" : "<string>"
44660702
DM
4135 },
4136 "group" : {
4137 "description" : "The HA group identifier.",
4138 "format" : "pve-configid",
013dc89f
DM
4139 "type" : "string",
4140 "typetext" : "<string>"
44660702
DM
4141 },
4142 "nodes" : {
f13c1238 4143 "description" : "List of cluster node names with optional priority.",
44660702
DM
4144 "format" : "pve-ha-group-node-list",
4145 "optional" : 0,
4146 "type" : "string",
f13c1238
DM
4147 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4148 "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
4149 },
4150 "nofailback" : {
4151 "default" : 0,
4152 "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.",
4153 "optional" : 1,
013dc89f
DM
4154 "type" : "boolean",
4155 "typetext" : "<boolean>"
44660702
DM
4156 },
4157 "restricted" : {
4158 "default" : 0,
c4808e75 4159 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4160 "optional" : 1,
013dc89f 4161 "type" : "boolean",
c4808e75
DM
4162 "typetext" : "<boolean>",
4163 "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
4164 },
4165 "type" : {
4166 "description" : "Group type.",
4167 "enum" : [
4168 "group"
4169 ],
4170 "optional" : 1,
4171 "type" : "string"
4172 }
4173 },
4174 "type" : "object"
4175 },
4176 "permissions" : {
4177 "check" : [
4178 "perm",
4179 "/",
4180 [
4181 "Sys.Console"
4182 ]
4183 ]
4184 },
4185 "protected" : 1,
4186 "returns" : {
4187 "type" : "null"
4188 }
4189 }
4190 },
4191 "leaf" : 0,
4192 "path" : "/cluster/ha/groups",
4193 "text" : "groups"
7aacca6f
DM
4194 },
4195 {
7aacca6f
DM
4196 "children" : [
4197 {
4198 "info" : {
4199 "GET" : {
e9cd3bd4 4200 "allowtoken" : 1,
56122987 4201 "description" : "Get HA manger status.",
44660702 4202 "method" : "GET",
7aacca6f 4203 "name" : "status",
44660702
DM
4204 "parameters" : {
4205 "additionalProperties" : 0
4206 },
56122987
DM
4207 "permissions" : {
4208 "check" : [
4209 "perm",
4210 "/",
4211 [
4212 "Sys.Audit"
4213 ]
4214 ]
7aacca6f 4215 },
44660702
DM
4216 "returns" : {
4217 "type" : "array"
56122987
DM
4218 }
4219 }
7aacca6f 4220 },
7aacca6f 4221 "leaf" : 1,
44660702
DM
4222 "path" : "/cluster/ha/status/current",
4223 "text" : "current"
56122987
DM
4224 },
4225 {
4226 "info" : {
4227 "GET" : {
e9cd3bd4 4228 "allowtoken" : 1,
7aacca6f 4229 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4230 "method" : "GET",
4231 "name" : "manager_status",
7aacca6f
DM
4232 "parameters" : {
4233 "additionalProperties" : 0
4234 },
56122987
DM
4235 "permissions" : {
4236 "check" : [
4237 "perm",
4238 "/",
4239 [
4240 "Sys.Audit"
4241 ]
4242 ]
44660702
DM
4243 },
4244 "returns" : {
4245 "type" : "object"
7aacca6f 4246 }
56122987
DM
4247 }
4248 },
56122987 4249 "leaf" : 1,
44660702
DM
4250 "path" : "/cluster/ha/status/manager_status",
4251 "text" : "manager_status"
56122987
DM
4252 }
4253 ],
56122987
DM
4254 "info" : {
4255 "GET" : {
e9cd3bd4 4256 "allowtoken" : 1,
44660702 4257 "description" : "Directory index.",
7aacca6f 4258 "method" : "GET",
44660702
DM
4259 "name" : "index",
4260 "parameters" : {
4261 "additionalProperties" : 0
4262 },
4263 "permissions" : {
4264 "user" : "all"
4265 },
56122987 4266 "returns" : {
56122987
DM
4267 "items" : {
4268 "properties" : {},
4269 "type" : "object"
4270 },
4271 "links" : [
4272 {
44660702
DM
4273 "href" : "{name}",
4274 "rel" : "child"
56122987 4275 }
7aacca6f
DM
4276 ],
4277 "type" : "array"
44660702 4278 }
56122987 4279 }
7aacca6f 4280 },
44660702 4281 "leaf" : 0,
7aacca6f 4282 "path" : "/cluster/ha/status",
44660702 4283 "text" : "status"
56122987
DM
4284 }
4285 ],
56122987
DM
4286 "info" : {
4287 "GET" : {
e9cd3bd4 4288 "allowtoken" : 1,
7aacca6f 4289 "description" : "Directory index.",
44660702
DM
4290 "method" : "GET",
4291 "name" : "index",
4292 "parameters" : {
4293 "additionalProperties" : 0
4294 },
7aacca6f
DM
4295 "permissions" : {
4296 "check" : [
4297 "perm",
4298 "/",
4299 [
4300 "Sys.Audit"
4301 ]
4302 ]
4303 },
56122987 4304 "returns" : {
56122987 4305 "items" : {
7aacca6f
DM
4306 "properties" : {
4307 "id" : {
4308 "type" : "string"
4309 }
44660702
DM
4310 },
4311 "type" : "object"
7aacca6f
DM
4312 },
4313 "links" : [
4314 {
4315 "href" : "{id}",
4316 "rel" : "child"
4317 }
44660702
DM
4318 ],
4319 "type" : "array"
7aacca6f
DM
4320 }
4321 }
44660702
DM
4322 },
4323 "leaf" : 0,
4324 "path" : "/cluster/ha",
4325 "text" : "ha"
7aacca6f 4326 },
a9a8e3d1
DM
4327 {
4328 "children" : [
c5aa7e14
TL
4329 {
4330 "children" : [
4331 {
4332 "info" : {
4333 "DELETE" : {
4334 "allowtoken" : 1,
4335 "description" : "Delete ACME plugin configuration.",
4336 "method" : "DELETE",
4337 "name" : "delete_plugin",
4338 "parameters" : {
4339 "additionalProperties" : 0,
4340 "properties" : {
4341 "id" : {
4342 "description" : "Unique identifier for ACME plugin instance.",
4343 "format" : "pve-configid",
4344 "type" : "string",
4345 "typetext" : "<string>"
4346 }
4347 }
4348 },
4349 "permissions" : {
4350 "check" : [
4351 "perm",
4352 "/",
4353 [
4354 "Sys.Modify"
4355 ]
4356 ]
4357 },
4358 "protected" : 1,
4359 "returns" : {
4360 "type" : "null"
4361 }
4362 },
4363 "GET" : {
4364 "allowtoken" : 1,
4365 "description" : "Get ACME plugin configuration.",
4366 "method" : "GET",
4367 "name" : "get_plugin_config",
4368 "parameters" : {
4369 "additionalProperties" : 0,
4370 "properties" : {
4371 "id" : {
4372 "description" : "Unique identifier for ACME plugin instance.",
4373 "format" : "pve-configid",
4374 "type" : "string",
4375 "typetext" : "<string>"
4376 }
4377 }
4378 },
4379 "permissions" : {
4380 "check" : [
4381 "perm",
4382 "/",
4383 [
4384 "Sys.Modify"
4385 ]
4386 ]
4387 },
4388 "protected" : 1,
4389 "returns" : {
4390 "type" : "object"
4391 }
4392 },
4393 "PUT" : {
4394 "allowtoken" : 1,
4395 "description" : "Update ACME plugin configuration.",
4396 "method" : "PUT",
4397 "name" : "update_plugin",
4398 "parameters" : {
4399 "additionalProperties" : 0,
4400 "properties" : {
4401 "api" : {
4402 "description" : "API plugin name",
4403 "enum" : [
4404 "acmedns",
4405 "acmeproxy",
4406 "active24",
4407 "ad",
4408 "ali",
4409 "autodns",
4410 "aws",
4411 "azure",
4412 "cf",
4413 "clouddns",
4414 "cloudns",
4415 "cn",
4416 "conoha",
4417 "constellix",
4418 "cx",
4419 "cyon",
4420 "da",
4421 "ddnss",
4422 "desec",
4423 "dgon",
4424 "dnsimple",
4425 "do",
4426 "doapi",
4427 "domeneshop",
4428 "dp",
4429 "dpi",
4430 "dreamhost",
4431 "duckdns",
4432 "durabledns",
4433 "dyn",
4434 "dynu",
4435 "dynv6",
4436 "easydns",
4437 "euserv",
4438 "exoscale",
4439 "freedns",
4440 "gandi_livedns",
4441 "gcloud",
4442 "gd",
4443 "gdnsdk",
4444 "he",
4445 "hexonet",
4446 "hostingde",
4447 "infoblox",
4448 "internetbs",
4449 "inwx",
4450 "ispconfig",
4451 "jd",
4452 "kas",
4453 "kinghost",
4454 "knot",
4455 "leaseweb",
4456 "lexicon",
4457 "linode",
4458 "linode_v4",
4459 "loopia",
4460 "lua",
4461 "maradns",
4462 "me",
4463 "miab",
4464 "misaka",
4465 "myapi",
4466 "mydevil",
4467 "mydnsjp",
4468 "namecheap",
4469 "namecom",
4470 "namesilo",
4471 "nederhost",
4472 "neodigit",
4473 "netcup",
4474 "nic",
4475 "nsd",
4476 "nsone",
4477 "nsupdate",
4478 "nw",
4479 "one",
4480 "online",
4481 "openprovider",
4482 "opnsense",
4483 "ovh",
4484 "pdns",
4485 "pleskxml",
4486 "pointhq",
4487 "rackspace",
4488 "rcode0",
4489 "regru",
4490 "schlundtech",
4491 "selectel",
4492 "servercow",
4493 "tele3",
4494 "ultra",
4495 "unoeuro",
4496 "variomedia",
4497 "vscale",
4498 "vultr",
4499 "yandex",
4500 "zilore",
4501 "zone",
4502 "zonomi"
4503 ],
4504 "optional" : 1,
4505 "type" : "string"
4506 },
4507 "data" : {
4508 "description" : "DNS plugin data. (base64 encoded)",
4509 "optional" : 1,
4510 "type" : "string",
4511 "typetext" : "<string>"
4512 },
4513 "delete" : {
4514 "description" : "A list of settings you want to delete.",
4515 "format" : "pve-configid-list",
4516 "maxLength" : 4096,
4517 "optional" : 1,
4518 "type" : "string",
4519 "typetext" : "<string>"
4520 },
4521 "digest" : {
4522 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4523 "maxLength" : 40,
4524 "optional" : 1,
4525 "type" : "string",
4526 "typetext" : "<string>"
4527 },
4528 "disable" : {
4529 "description" : "Flag to disable the config.",
4530 "optional" : 1,
4531 "type" : "boolean",
4532 "typetext" : "<boolean>"
4533 },
4534 "id" : {
4535 "description" : "ACME Plugin ID name",
4536 "format" : "pve-configid",
4537 "type" : "string",
4538 "typetext" : "<string>"
4539 },
4540 "nodes" : {
4541 "description" : "List of cluster node names.",
4542 "format" : "pve-node-list",
4543 "optional" : 1,
4544 "type" : "string",
4545 "typetext" : "<string>"
4546 },
4547 "validation-delay" : {
4548 "default" : 30,
4549 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
4550 "maximum" : 172800,
4551 "minimum" : 0,
4552 "optional" : 1,
4553 "type" : "integer",
4554 "typetext" : "<integer> (0 - 172800)"
4555 }
4556 },
4557 "type" : "object"
4558 },
4559 "permissions" : {
4560 "check" : [
4561 "perm",
4562 "/",
4563 [
4564 "Sys.Modify"
4565 ]
4566 ]
4567 },
4568 "protected" : 1,
4569 "returns" : {
4570 "type" : "null"
4571 }
4572 }
4573 },
4574 "leaf" : 1,
4575 "path" : "/cluster/acme/plugins/{id}",
4576 "text" : "{id}"
4577 }
4578 ],
4579 "info" : {
4580 "GET" : {
4581 "allowtoken" : 1,
4582 "description" : "ACME plugin index.",
4583 "method" : "GET",
4584 "name" : "index",
4585 "parameters" : {
4586 "additionalProperties" : 0,
4587 "properties" : {
4588 "type" : {
4589 "description" : "Only list ACME plugins of a specific type",
4590 "enum" : [
4591 "dns",
4592 "standalone"
4593 ],
4594 "optional" : 1,
4595 "type" : "string"
4596 }
4597 }
4598 },
4599 "permissions" : {
4600 "check" : [
4601 "perm",
4602 "/",
4603 [
4604 "Sys.Modify"
4605 ]
4606 ]
4607 },
4608 "protected" : 1,
4609 "returns" : {
4610 "items" : {
4611 "properties" : {
4612 "plugin" : {
4613 "description" : "Unique identifier for ACME plugin instance.",
4614 "format" : "pve-configid",
4615 "type" : "string"
4616 }
4617 },
4618 "type" : "object"
4619 },
4620 "links" : [
4621 {
4622 "href" : "{plugin}",
4623 "rel" : "child"
4624 }
4625 ],
4626 "type" : "array"
4627 }
4628 },
4629 "POST" : {
4630 "allowtoken" : 1,
4631 "description" : "Add ACME plugin configuration.",
4632 "method" : "POST",
4633 "name" : "add_plugin",
4634 "parameters" : {
4635 "additionalProperties" : 0,
4636 "properties" : {
4637 "api" : {
4638 "description" : "API plugin name",
4639 "enum" : [
4640 "acmedns",
4641 "acmeproxy",
4642 "active24",
4643 "ad",
4644 "ali",
4645 "autodns",
4646 "aws",
4647 "azure",
4648 "cf",
4649 "clouddns",
4650 "cloudns",
4651 "cn",
4652 "conoha",
4653 "constellix",
4654 "cx",
4655 "cyon",
4656 "da",
4657 "ddnss",
4658 "desec",
4659 "dgon",
4660 "dnsimple",
4661 "do",
4662 "doapi",
4663 "domeneshop",
4664 "dp",
4665 "dpi",
4666 "dreamhost",
4667 "duckdns",
4668 "durabledns",
4669 "dyn",
4670 "dynu",
4671 "dynv6",
4672 "easydns",
4673 "euserv",
4674 "exoscale",
4675 "freedns",
4676 "gandi_livedns",
4677 "gcloud",
4678 "gd",
4679 "gdnsdk",
4680 "he",
4681 "hexonet",
4682 "hostingde",
4683 "infoblox",
4684 "internetbs",
4685 "inwx",
4686 "ispconfig",
4687 "jd",
4688 "kas",
4689 "kinghost",
4690 "knot",
4691 "leaseweb",
4692 "lexicon",
4693 "linode",
4694 "linode_v4",
4695 "loopia",
4696 "lua",
4697 "maradns",
4698 "me",
4699 "miab",
4700 "misaka",
4701 "myapi",
4702 "mydevil",
4703 "mydnsjp",
4704 "namecheap",
4705 "namecom",
4706 "namesilo",
4707 "nederhost",
4708 "neodigit",
4709 "netcup",
4710 "nic",
4711 "nsd",
4712 "nsone",
4713 "nsupdate",
4714 "nw",
4715 "one",
4716 "online",
4717 "openprovider",
4718 "opnsense",
4719 "ovh",
4720 "pdns",
4721 "pleskxml",
4722 "pointhq",
4723 "rackspace",
4724 "rcode0",
4725 "regru",
4726 "schlundtech",
4727 "selectel",
4728 "servercow",
4729 "tele3",
4730 "ultra",
4731 "unoeuro",
4732 "variomedia",
4733 "vscale",
4734 "vultr",
4735 "yandex",
4736 "zilore",
4737 "zone",
4738 "zonomi"
4739 ],
4740 "optional" : 1,
4741 "type" : "string"
4742 },
4743 "data" : {
4744 "description" : "DNS plugin data. (base64 encoded)",
4745 "optional" : 1,
4746 "type" : "string",
4747 "typetext" : "<string>"
4748 },
4749 "disable" : {
4750 "description" : "Flag to disable the config.",
4751 "optional" : 1,
4752 "type" : "boolean",
4753 "typetext" : "<boolean>"
4754 },
4755 "id" : {
4756 "description" : "ACME Plugin ID name",
4757 "format" : "pve-configid",
4758 "type" : "string",
4759 "typetext" : "<string>"
4760 },
4761 "nodes" : {
4762 "description" : "List of cluster node names.",
4763 "format" : "pve-node-list",
4764 "optional" : 1,
4765 "type" : "string",
4766 "typetext" : "<string>"
4767 },
4768 "type" : {
4769 "description" : "ACME challenge type.",
4770 "enum" : [
4771 "dns",
4772 "standalone"
4773 ],
4774 "type" : "string"
4775 },
4776 "validation-delay" : {
4777 "default" : 30,
4778 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
4779 "maximum" : 172800,
4780 "minimum" : 0,
4781 "optional" : 1,
4782 "type" : "integer",
4783 "typetext" : "<integer> (0 - 172800)"
4784 }
4785 },
4786 "type" : "object"
4787 },
4788 "permissions" : {
4789 "check" : [
4790 "perm",
4791 "/",
4792 [
4793 "Sys.Modify"
4794 ]
4795 ]
4796 },
4797 "protected" : 1,
4798 "returns" : {
4799 "type" : "null"
4800 }
4801 }
4802 },
4803 "leaf" : 0,
4804 "path" : "/cluster/acme/plugins",
4805 "text" : "plugins"
4806 },
a9a8e3d1
DM
4807 {
4808 "children" : [
4809 {
4810 "info" : {
4811 "DELETE" : {
e9cd3bd4 4812 "allowtoken" : 1,
a9a8e3d1
DM
4813 "description" : "Deactivate existing ACME account at CA.",
4814 "method" : "DELETE",
4815 "name" : "deactivate_account",
4816 "parameters" : {
4817 "additionalProperties" : 0,
4818 "properties" : {
4819 "name" : {
4820 "default" : "default",
4821 "description" : "ACME account config file name.",
4822 "format" : "pve-configid",
4823 "format_description" : "name",
4824 "optional" : 1,
4825 "type" : "string",
4826 "typetext" : "<name>"
4827 }
4828 }
4829 },
4830 "protected" : 1,
4831 "returns" : {
4832 "type" : "string"
4833 }
4834 },
4835 "GET" : {
e9cd3bd4 4836 "allowtoken" : 1,
a9a8e3d1
DM
4837 "description" : "Return existing ACME account information.",
4838 "method" : "GET",
4839 "name" : "get_account",
4840 "parameters" : {
4841 "additionalProperties" : 0,
4842 "properties" : {
4843 "name" : {
4844 "default" : "default",
4845 "description" : "ACME account config file name.",
4846 "format" : "pve-configid",
4847 "format_description" : "name",
4848 "optional" : 1,
4849 "type" : "string",
4850 "typetext" : "<name>"
4851 }
4852 }
4853 },
4854 "protected" : 1,
4855 "returns" : {
4856 "additionalProperties" : 0,
4857 "properties" : {
4858 "account" : {
4859 "optional" : 1,
4d47f125 4860 "renderer" : "yaml",
a9a8e3d1
DM
4861 "type" : "object"
4862 },
4863 "directory" : {
4864 "description" : "URL of ACME CA directory endpoint.",
4865 "optional" : 1,
4866 "pattern" : "^https?://.*",
4867 "type" : "string"
4868 },
4869 "location" : {
4870 "optional" : 1,
4871 "type" : "string"
4872 },
4873 "tos" : {
4874 "optional" : 1,
4875 "type" : "string"
4876 }
4877 },
4878 "type" : "object"
4879 }
4880 },
4881 "PUT" : {
e9cd3bd4 4882 "allowtoken" : 1,
a9a8e3d1
DM
4883 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
4884 "method" : "PUT",
4885 "name" : "update_account",
4886 "parameters" : {
4887 "additionalProperties" : 0,
4888 "properties" : {
4889 "contact" : {
4890 "description" : "Contact email addresses.",
4891 "format" : "email-list",
4892 "optional" : 1,
4893 "type" : "string",
4894 "typetext" : "<string>"
4895 },
4896 "name" : {
4897 "default" : "default",
4898 "description" : "ACME account config file name.",
4899 "format" : "pve-configid",
4900 "format_description" : "name",
4901 "optional" : 1,
4902 "type" : "string",
4903 "typetext" : "<name>"
4904 }
4905 }
4906 },
4907 "protected" : 1,
4908 "returns" : {
4909 "type" : "string"
4910 }
4911 }
4912 },
4913 "leaf" : 1,
4914 "path" : "/cluster/acme/account/{name}",
4915 "text" : "{name}"
4916 }
4917 ],
4918 "info" : {
4919 "GET" : {
e9cd3bd4 4920 "allowtoken" : 1,
a9a8e3d1
DM
4921 "description" : "ACMEAccount index.",
4922 "method" : "GET",
4923 "name" : "account_index",
4924 "parameters" : {
4925 "additionalProperties" : 0
4926 },
4927 "permissions" : {
4928 "user" : "all"
4929 },
4930 "protected" : 1,
4931 "returns" : {
4932 "items" : {
4933 "properties" : {},
4934 "type" : "object"
4935 },
4936 "links" : [
4937 {
4938 "href" : "{name}",
4939 "rel" : "child"
4940 }
4941 ],
4942 "type" : "array"
4943 }
4944 },
4945 "POST" : {
e9cd3bd4 4946 "allowtoken" : 1,
a9a8e3d1
DM
4947 "description" : "Register a new ACME account with CA.",
4948 "method" : "POST",
4949 "name" : "register_account",
4950 "parameters" : {
4951 "additionalProperties" : 0,
4952 "properties" : {
4953 "contact" : {
4954 "description" : "Contact email addresses.",
4955 "format" : "email-list",
4956 "type" : "string",
4957 "typetext" : "<string>"
4958 },
4959 "directory" : {
4960 "default" : "https://acme-v02.api.letsencrypt.org/directory",
4961 "description" : "URL of ACME CA directory endpoint.",
4962 "optional" : 1,
4963 "pattern" : "^https?://.*",
4964 "type" : "string"
4965 },
4966 "name" : {
4967 "default" : "default",
4968 "description" : "ACME account config file name.",
4969 "format" : "pve-configid",
4970 "format_description" : "name",
4971 "optional" : 1,
4972 "type" : "string",
4973 "typetext" : "<name>"
4974 },
4975 "tos_url" : {
4976 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
4977 "optional" : 1,
4978 "type" : "string",
4979 "typetext" : "<string>"
4980 }
4981 }
4982 },
4983 "protected" : 1,
4984 "returns" : {
4985 "type" : "string"
4986 }
4987 }
4988 },
4989 "leaf" : 0,
4990 "path" : "/cluster/acme/account",
4991 "text" : "account"
4992 },
4993 {
4994 "info" : {
4995 "GET" : {
e9cd3bd4 4996 "allowtoken" : 1,
a9a8e3d1
DM
4997 "description" : "Retrieve ACME TermsOfService URL from CA.",
4998 "method" : "GET",
4999 "name" : "get_tos",
5000 "parameters" : {
5001 "additionalProperties" : 0,
5002 "properties" : {
5003 "directory" : {
5004 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5005 "description" : "URL of ACME CA directory endpoint.",
5006 "optional" : 1,
5007 "pattern" : "^https?://.*",
5008 "type" : "string"
5009 }
5010 }
5011 },
5da3d723
TL
5012 "permissions" : {
5013 "user" : "all"
5014 },
a9a8e3d1
DM
5015 "returns" : {
5016 "description" : "ACME TermsOfService URL.",
5c1699e5 5017 "optional" : 1,
a9a8e3d1
DM
5018 "type" : "string"
5019 }
5020 }
5021 },
5022 "leaf" : 1,
5023 "path" : "/cluster/acme/tos",
5024 "text" : "tos"
5025 },
5026 {
5027 "info" : {
5028 "GET" : {
e9cd3bd4 5029 "allowtoken" : 1,
a9a8e3d1
DM
5030 "description" : "Get named known ACME directory endpoints.",
5031 "method" : "GET",
5032 "name" : "get_directories",
5033 "parameters" : {
5034 "additionalProperties" : 0
5035 },
5da3d723
TL
5036 "permissions" : {
5037 "user" : "all"
5038 },
a9a8e3d1
DM
5039 "returns" : {
5040 "items" : {
5041 "additionalProperties" : 0,
5042 "properties" : {
5043 "name" : {
5044 "type" : "string"
5045 },
5046 "url" : {
5047 "description" : "URL of ACME CA directory endpoint.",
5048 "pattern" : "^https?://.*",
5049 "type" : "string"
5050 }
5051 },
5052 "type" : "object"
5053 },
5054 "type" : "array"
5055 }
5056 }
5057 },
5058 "leaf" : 1,
5059 "path" : "/cluster/acme/directories",
5060 "text" : "directories"
5061 }
5062 ],
5063 "info" : {
5064 "GET" : {
e9cd3bd4 5065 "allowtoken" : 1,
a9a8e3d1
DM
5066 "description" : "ACMEAccount index.",
5067 "method" : "GET",
5068 "name" : "index",
5069 "parameters" : {
5070 "additionalProperties" : 0
5071 },
5072 "permissions" : {
5073 "user" : "all"
5074 },
5075 "returns" : {
5076 "items" : {
5077 "properties" : {},
5078 "type" : "object"
5079 },
5080 "links" : [
5081 {
5082 "href" : "{name}",
5083 "rel" : "child"
5084 }
5085 ],
5086 "type" : "array"
5087 }
5088 }
5089 },
5090 "leaf" : 0,
5091 "path" : "/cluster/acme",
5092 "text" : "acme"
5093 },
1c532546
TL
5094 {
5095 "children" : [
5096 {
5097 "info" : {
5098 "GET" : {
e9cd3bd4 5099 "allowtoken" : 1,
1c532546
TL
5100 "description" : "Get ceph metadata.",
5101 "method" : "GET",
5102 "name" : "metadata",
5103 "parameters" : {
c5aa7e14
TL
5104 "additionalProperties" : 0,
5105 "properties" : {
5106 "scope" : {
5107 "default" : "all",
5108 "enum" : [
5109 "all",
5110 "versions"
5111 ],
5112 "optional" : 1,
5113 "type" : "string"
5114 }
5115 }
1c532546
TL
5116 },
5117 "permissions" : {
5118 "check" : [
5119 "perm",
5120 "/",
5121 [
5122 "Sys.Audit",
5123 "Datastore.Audit"
5124 ],
5125 "any",
5126 1
5127 ]
5128 },
5129 "protected" : 1,
5130 "returns" : {
5131 "type" : "object"
5132 }
5133 }
5134 },
5135 "leaf" : 1,
5136 "path" : "/cluster/ceph/metadata",
5137 "text" : "metadata"
5138 },
5139 {
5140 "info" : {
5141 "GET" : {
e9cd3bd4 5142 "allowtoken" : 1,
1c532546
TL
5143 "description" : "Get ceph status.",
5144 "method" : "GET",
5145 "name" : "status",
5146 "parameters" : {
5147 "additionalProperties" : 0
5148 },
5149 "permissions" : {
5150 "check" : [
5151 "perm",
5152 "/",
5153 [
5154 "Sys.Audit",
5155 "Datastore.Audit"
5156 ],
5157 "any",
5158 1
5159 ]
5160 },
5161 "protected" : 1,
5162 "returns" : {
5163 "type" : "object"
5164 }
5165 }
5166 },
5167 "leaf" : 1,
5168 "path" : "/cluster/ceph/status",
5169 "text" : "status"
5170 },
5171 {
5172 "children" : [
5173 {
5174 "info" : {
5175 "GET" : {
e9cd3bd4 5176 "allowtoken" : 1,
1c532546
TL
5177 "description" : "Get the status of a specific ceph flag.",
5178 "method" : "GET",
5179 "name" : "get_flag",
5180 "parameters" : {
5181 "additionalProperties" : 0,
5182 "properties" : {
5183 "flag" : {
5184 "description" : "The name of the flag name to get.",
5185 "enum" : [
5186 "nobackfill",
5187 "nodeep-scrub",
5188 "nodown",
5189 "noin",
5190 "noout",
5191 "norebalance",
5192 "norecover",
5193 "noscrub",
5194 "notieragent",
5195 "noup",
5196 "pause"
5197 ],
5198 "type" : "string"
5199 }
5200 }
5201 },
5202 "permissions" : {
5203 "check" : [
5204 "perm",
5205 "/",
5206 [
5207 "Sys.Audit"
5208 ]
5209 ]
5210 },
5211 "protected" : 1,
5212 "returns" : {
5213 "type" : "boolean"
5214 }
5215 },
5216 "PUT" : {
e9cd3bd4 5217 "allowtoken" : 1,
1c532546
TL
5218 "description" : "Set or clear (unset) a specific ceph flag",
5219 "method" : "PUT",
5220 "name" : "update_flag",
5221 "parameters" : {
5222 "additionalProperties" : 0,
5223 "properties" : {
5224 "flag" : {
5225 "description" : "The ceph flag to update",
5226 "enum" : [
5227 "nobackfill",
5228 "nodeep-scrub",
5229 "nodown",
5230 "noin",
5231 "noout",
5232 "norebalance",
5233 "norecover",
5234 "noscrub",
5235 "notieragent",
5236 "noup",
5237 "pause"
5238 ],
5239 "type" : "string"
5240 },
5241 "value" : {
5242 "description" : "The new value of the flag",
5243 "type" : "boolean",
5244 "typetext" : "<boolean>"
5245 }
5246 }
5247 },
5248 "permissions" : {
5249 "check" : [
5250 "perm",
5251 "/",
5252 [
5253 "Sys.Modify"
5254 ]
5255 ]
5256 },
5257 "protected" : 1,
5258 "returns" : {
5259 "type" : "null"
5260 }
5261 }
5262 },
5263 "leaf" : 1,
5264 "path" : "/cluster/ceph/flags/{flag}",
5265 "text" : "{flag}"
5266 }
5267 ],
5268 "info" : {
5269 "GET" : {
e9cd3bd4 5270 "allowtoken" : 1,
1c532546
TL
5271 "description" : "get the status of all ceph flags",
5272 "method" : "GET",
5273 "name" : "get_all_flags",
5274 "parameters" : {
5275 "additionalProperties" : 0
5276 },
5277 "permissions" : {
5278 "check" : [
5279 "perm",
5280 "/",
5281 [
5282 "Sys.Audit"
5283 ]
5284 ]
5285 },
5286 "protected" : 1,
5287 "returns" : {
5288 "items" : {
5289 "additionalProperties" : 1,
5290 "properties" : {
5291 "name" : {
5292 "description" : "Flag name.",
5293 "enum" : [
5294 "nobackfill",
5295 "nodeep-scrub",
5296 "nodown",
5297 "noin",
5298 "noout",
5299 "norebalance",
5300 "norecover",
5301 "noscrub",
5302 "notieragent",
5303 "noup",
5304 "pause"
5305 ],
5306 "type" : "string"
5307 }
5308 },
5309 "type" : "object"
5310 },
5311 "links" : [
5312 {
5313 "href" : "{name}",
5314 "rel" : "child"
5315 }
5316 ],
5317 "type" : "array"
5318 }
5319 },
5320 "PUT" : {
e9cd3bd4 5321 "allowtoken" : 1,
1c532546
TL
5322 "description" : "Set/Unset multiple ceph flags at once.",
5323 "method" : "PUT",
5324 "name" : "set_flags",
5325 "parameters" : {
5326 "additionalProperties" : 0,
5327 "properties" : {
5328 "nobackfill" : {
5329 "description" : "Backfilling of PGs is suspended.",
5330 "optional" : 1,
5331 "type" : "boolean",
5332 "typetext" : "<boolean>"
5333 },
5334 "nodeep-scrub" : {
5335 "description" : "Deep Scrubbing is disabled.",
5336 "optional" : 1,
5337 "type" : "boolean",
5338 "typetext" : "<boolean>"
5339 },
5340 "nodown" : {
5341 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
5342 "optional" : 1,
5343 "type" : "boolean",
5344 "typetext" : "<boolean>"
5345 },
5346 "noin" : {
5347 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
5348 "optional" : 1,
5349 "type" : "boolean",
5350 "typetext" : "<boolean>"
5351 },
5352 "noout" : {
5353 "description" : "OSDs will not automatically be marked out after the configured interval.",
5354 "optional" : 1,
5355 "type" : "boolean",
5356 "typetext" : "<boolean>"
5357 },
5358 "norebalance" : {
5359 "description" : "Rebalancing of PGs is suspended.",
5360 "optional" : 1,
5361 "type" : "boolean",
5362 "typetext" : "<boolean>"
5363 },
5364 "norecover" : {
5365 "description" : "Recovery of PGs is suspended.",
5366 "optional" : 1,
5367 "type" : "boolean",
5368 "typetext" : "<boolean>"
5369 },
5370 "noscrub" : {
5371 "description" : "Scrubbing is disabled.",
5372 "optional" : 1,
5373 "type" : "boolean",
5374 "typetext" : "<boolean>"
5375 },
5376 "notieragent" : {
5377 "description" : "Cache tiering activity is suspended.",
5378 "optional" : 1,
5379 "type" : "boolean",
5380 "typetext" : "<boolean>"
5381 },
5382 "noup" : {
5383 "description" : "OSDs are not allowed to start.",
5384 "optional" : 1,
5385 "type" : "boolean",
5386 "typetext" : "<boolean>"
5387 },
5388 "pause" : {
5389 "description" : "Pauses read and writes.",
5390 "optional" : 1,
5391 "type" : "boolean",
5392 "typetext" : "<boolean>"
5393 }
5394 }
5395 },
5396 "permissions" : {
5397 "check" : [
5398 "perm",
5399 "/",
5400 [
5401 "Sys.Modify"
5402 ]
5403 ]
5404 },
5405 "protected" : 1,
5406 "returns" : {
5407 "type" : "string"
5408 }
5409 }
5410 },
5411 "leaf" : 0,
5412 "path" : "/cluster/ceph/flags",
5413 "text" : "flags"
5414 }
5415 ],
5416 "info" : {
5417 "GET" : {
e9cd3bd4 5418 "allowtoken" : 1,
1c532546
TL
5419 "description" : "Cluster ceph index.",
5420 "method" : "GET",
5421 "name" : "cephindex",
5422 "parameters" : {
5423 "additionalProperties" : 0
5424 },
5425 "permissions" : {
5426 "user" : "all"
5427 },
5428 "returns" : {
5429 "items" : {
5430 "properties" : {},
5431 "type" : "object"
5432 },
5433 "links" : [
5434 {
5435 "href" : "{name}",
5436 "rel" : "child"
5437 }
5438 ],
5439 "type" : "array"
5440 }
5441 }
5442 },
5443 "leaf" : 0,
5444 "path" : "/cluster/ceph",
5445 "text" : "ceph"
5446 },
c5aa7e14
TL
5447 {
5448 "children" : [
5449 {
5450 "children" : [
5451 {
5452 "info" : {
5453 "DELETE" : {
5454 "allowtoken" : 1,
5455 "description" : "Delete sdn vnet object configuration.",
5456 "method" : "DELETE",
5457 "name" : "delete",
5458 "parameters" : {
5459 "additionalProperties" : 0,
5460 "properties" : {
5461 "vnet" : {
5462 "description" : "The SDN vnet object identifier.",
5463 "format" : "pve-sdn-vnet-id",
5464 "type" : "string",
5465 "typetext" : "<string>"
5466 }
5467 }
5468 },
5469 "permissions" : {
5470 "check" : [
5471 "perm",
5472 "/sdn/vnets",
5473 [
5474 "SDN.Allocate"
5475 ]
5476 ]
5477 },
5478 "protected" : 1,
5479 "returns" : {
5480 "type" : "null"
5481 }
5482 },
5483 "GET" : {
5484 "allowtoken" : 1,
5485 "description" : "Read sdn vnet configuration.",
5486 "method" : "GET",
5487 "name" : "read",
5488 "parameters" : {
5489 "additionalProperties" : 0,
5490 "properties" : {
5491 "vnet" : {
5492 "description" : "The SDN vnet object identifier.",
5493 "format" : "pve-sdn-vnet-id",
5494 "type" : "string",
5495 "typetext" : "<string>"
5496 }
5497 }
5498 },
5499 "permissions" : {
5500 "check" : [
5501 "perm",
5502 "/sdn/vnets/{vnet}",
5503 [
5504 "SDN.Allocate"
5505 ]
5506 ]
5507 },
5508 "returns" : {
5509 "type" : "object"
5510 }
5511 },
5512 "PUT" : {
5513 "allowtoken" : 1,
5514 "description" : "Update sdn vnet object configuration.",
5515 "method" : "PUT",
5516 "name" : "update",
5517 "parameters" : {
5518 "additionalProperties" : 0,
5519 "properties" : {
5520 "alias" : {
5521 "description" : "alias name of the vnet",
5522 "optional" : 1,
5523 "type" : "string",
5524 "typetext" : "<string>"
5525 },
5526 "delete" : {
5527 "description" : "A list of settings you want to delete.",
5528 "format" : "pve-configid-list",
5529 "maxLength" : 4096,
5530 "optional" : 1,
5531 "type" : "string",
5532 "typetext" : "<string>"
5533 },
5534 "digest" : {
5535 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5536 "maxLength" : 40,
5537 "optional" : 1,
5538 "type" : "string",
5539 "typetext" : "<string>"
5540 },
5541 "ipv4" : {
5542 "description" : "Anycast router ipv4 address.",
5543 "format" : "CIDRv4",
5544 "optional" : 1,
5545 "type" : "string",
5546 "typetext" : "<string>"
5547 },
5548 "ipv6" : {
5549 "description" : "Anycast router ipv6 address.",
5550 "format" : "CIDRv6",
5551 "optional" : 1,
5552 "type" : "string",
5553 "typetext" : "<string>"
5554 },
5555 "mac" : {
5556 "description" : "Anycast router mac address",
5557 "format" : "mac-addr",
5558 "optional" : 1,
5559 "type" : "string",
5560 "typetext" : "<string>"
5561 },
5562 "tag" : {
5563 "description" : "vlan or vxlan id",
5564 "optional" : 1,
5565 "type" : "integer",
5566 "typetext" : "<integer>"
5567 },
5568 "vnet" : {
5569 "description" : "The SDN vnet object identifier.",
5570 "format" : "pve-sdn-vnet-id",
5571 "type" : "string",
5572 "typetext" : "<string>"
5573 },
5574 "zone" : {
5575 "description" : "zone id",
5576 "optional" : 1,
5577 "type" : "string",
5578 "typetext" : "<string>"
5579 }
5580 },
5581 "type" : "object"
5582 },
5583 "permissions" : {
5584 "check" : [
5585 "perm",
5586 "/sdn/vnets",
5587 [
5588 "SDN.Allocate"
5589 ]
5590 ]
5591 },
5592 "protected" : 1,
5593 "returns" : {
5594 "type" : "null"
5595 }
5596 }
5597 },
5598 "leaf" : 1,
5599 "path" : "/cluster/sdn/vnets/{vnet}",
5600 "text" : "{vnet}"
5601 }
5602 ],
5603 "info" : {
5604 "GET" : {
5605 "allowtoken" : 1,
5606 "description" : "SDN vnets index.",
5607 "method" : "GET",
5608 "name" : "index",
5609 "parameters" : {
5610 "additionalProperties" : 0
5611 },
5612 "permissions" : {
5613 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
5614 "user" : "all"
5615 },
5616 "returns" : {
5617 "items" : {
5618 "properties" : {},
5619 "type" : "object"
5620 },
5621 "links" : [
5622 {
5623 "href" : "{vnet}",
5624 "rel" : "child"
5625 }
5626 ],
5627 "type" : "array"
5628 }
5629 },
5630 "POST" : {
5631 "allowtoken" : 1,
5632 "description" : "Create a new sdn vnet object.",
5633 "method" : "POST",
5634 "name" : "create",
5635 "parameters" : {
5636 "additionalProperties" : 0,
5637 "properties" : {
5638 "alias" : {
5639 "description" : "alias name of the vnet",
5640 "optional" : 1,
5641 "type" : "string",
5642 "typetext" : "<string>"
5643 },
5644 "ipv4" : {
5645 "description" : "Anycast router ipv4 address.",
5646 "format" : "CIDRv4",
5647 "optional" : 1,
5648 "type" : "string",
5649 "typetext" : "<string>"
5650 },
5651 "ipv6" : {
5652 "description" : "Anycast router ipv6 address.",
5653 "format" : "CIDRv6",
5654 "optional" : 1,
5655 "type" : "string",
5656 "typetext" : "<string>"
5657 },
5658 "mac" : {
5659 "description" : "Anycast router mac address",
5660 "format" : "mac-addr",
5661 "optional" : 1,
5662 "type" : "string",
5663 "typetext" : "<string>"
5664 },
5665 "tag" : {
5666 "description" : "vlan or vxlan id",
5667 "optional" : 0,
5668 "type" : "integer",
5669 "typetext" : "<integer>"
5670 },
5671 "type" : {
5672 "description" : "Type",
5673 "enum" : [
5674 "vnet"
5675 ],
5676 "optional" : 1,
5677 "type" : "string"
5678 },
5679 "vnet" : {
5680 "description" : "The SDN vnet object identifier.",
5681 "format" : "pve-sdn-vnet-id",
5682 "type" : "string",
5683 "typetext" : "<string>"
5684 },
5685 "zone" : {
5686 "description" : "zone id",
5687 "optional" : 0,
5688 "type" : "string",
5689 "typetext" : "<string>"
5690 }
5691 },
5692 "type" : "object"
5693 },
5694 "permissions" : {
5695 "check" : [
5696 "perm",
5697 "/sdn/vnets",
5698 [
5699 "SDN.Allocate"
5700 ]
5701 ]
5702 },
5703 "protected" : 1,
5704 "returns" : {
5705 "type" : "null"
5706 }
5707 }
5708 },
5709 "leaf" : 0,
5710 "path" : "/cluster/sdn/vnets",
5711 "text" : "vnets"
5712 },
5713 {
5714 "children" : [
5715 {
5716 "info" : {
5717 "DELETE" : {
5718 "allowtoken" : 1,
5719 "description" : "Delete sdn zone object configuration.",
5720 "method" : "DELETE",
5721 "name" : "delete",
5722 "parameters" : {
5723 "additionalProperties" : 0,
5724 "properties" : {
5725 "zone" : {
5726 "description" : "The SDN zone object identifier.",
5727 "format" : "pve-sdn-zone-id",
5728 "type" : "string",
5729 "typetext" : "<string>"
5730 }
5731 }
5732 },
5733 "permissions" : {
5734 "check" : [
5735 "perm",
5736 "/sdn/zones",
5737 [
5738 "SDN.Allocate"
5739 ]
5740 ]
5741 },
5742 "protected" : 1,
5743 "returns" : {
5744 "type" : "null"
5745 }
5746 },
5747 "GET" : {
5748 "allowtoken" : 1,
5749 "description" : "Read sdn zone configuration.",
5750 "method" : "GET",
5751 "name" : "read",
5752 "parameters" : {
5753 "additionalProperties" : 0,
5754 "properties" : {
5755 "zone" : {
5756 "description" : "The SDN zone object identifier.",
5757 "format" : "pve-sdn-zone-id",
5758 "type" : "string",
5759 "typetext" : "<string>"
5760 }
5761 }
5762 },
5763 "permissions" : {
5764 "check" : [
5765 "perm",
5766 "/sdn/zones/{zone}",
5767 [
5768 "SDN.Allocate"
5769 ]
5770 ]
5771 },
5772 "returns" : {
5773 "type" : "object"
5774 }
5775 },
5776 "PUT" : {
5777 "allowtoken" : 1,
5778 "description" : "Update sdn zone object configuration.",
5779 "method" : "PUT",
5780 "name" : "update",
5781 "parameters" : {
5782 "additionalProperties" : 0,
5783 "properties" : {
5784 "bridge" : {
5785 "optional" : 1,
5786 "type" : "string",
5787 "typetext" : "<string>"
5788 },
5789 "controller" : {
5790 "description" : "Frr router name",
5791 "optional" : 1,
5792 "type" : "string",
5793 "typetext" : "<string>"
5794 },
5795 "delete" : {
5796 "description" : "A list of settings you want to delete.",
5797 "format" : "pve-configid-list",
5798 "maxLength" : 4096,
5799 "optional" : 1,
5800 "type" : "string",
5801 "typetext" : "<string>"
5802 },
5803 "digest" : {
5804 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5805 "maxLength" : 40,
5806 "optional" : 1,
5807 "type" : "string",
5808 "typetext" : "<string>"
5809 },
5810 "dp-id" : {
5811 "description" : "Faucet dataplane id",
5812 "optional" : 1,
5813 "type" : "integer",
5814 "typetext" : "<integer>"
5815 },
5816 "mtu" : {
5817 "description" : "mtu",
5818 "optional" : 1,
5819 "type" : "integer",
5820 "typetext" : "<integer>"
5821 },
5822 "nodes" : {
5823 "description" : "List of cluster node names.",
5824 "format" : "pve-node-list",
5825 "optional" : 1,
5826 "type" : "string",
5827 "typetext" : "<string>"
5828 },
5829 "peers" : {
5830 "description" : "peers address list.",
5831 "format" : "ip-list",
5832 "optional" : 1,
5833 "type" : "string",
5834 "typetext" : "<string>"
5835 },
5836 "tag" : {
5837 "description" : "vlan tag",
5838 "optional" : 1,
5839 "type" : "integer",
5840 "typetext" : "<integer>"
5841 },
5842 "vrf-vxlan" : {
5843 "description" : "l3vni.",
5844 "optional" : 1,
5845 "type" : "integer",
5846 "typetext" : "<integer>"
5847 },
5848 "zone" : {
5849 "description" : "The SDN zone object identifier.",
5850 "format" : "pve-sdn-zone-id",
5851 "type" : "string",
5852 "typetext" : "<string>"
5853 }
5854 },
5855 "type" : "object"
5856 },
5857 "permissions" : {
5858 "check" : [
5859 "perm",
5860 "/sdn/zones",
5861 [
5862 "SDN.Allocate"
5863 ]
5864 ]
5865 },
5866 "protected" : 1,
5867 "returns" : {
5868 "type" : "null"
5869 }
5870 }
5871 },
5872 "leaf" : 1,
5873 "path" : "/cluster/sdn/zones/{zone}",
5874 "text" : "{zone}"
5875 }
5876 ],
5877 "info" : {
5878 "GET" : {
5879 "allowtoken" : 1,
5880 "description" : "SDN zones index.",
5881 "method" : "GET",
5882 "name" : "index",
5883 "parameters" : {
5884 "additionalProperties" : 0,
5885 "properties" : {
5886 "type" : {
5887 "description" : "Only list sdn zones of specific type",
5888 "enum" : [
5889 "evpn",
5890 "faucet",
5891 "qinq",
5892 "vlan",
5893 "vxlan"
5894 ],
5895 "optional" : 1,
5896 "type" : "string"
5897 }
5898 }
5899 },
5900 "permissions" : {
5901 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'",
5902 "user" : "all"
5903 },
5904 "returns" : {
5905 "items" : {
5906 "properties" : {
5907 "type" : {
5908 "type" : "string"
5909 },
5910 "zone" : {
5911 "type" : "string"
5912 }
5913 },
5914 "type" : "object"
5915 },
5916 "links" : [
5917 {
5918 "href" : "{zone}",
5919 "rel" : "child"
5920 }
5921 ],
5922 "type" : "array"
5923 }
5924 },
5925 "POST" : {
5926 "allowtoken" : 1,
5927 "description" : "Create a new sdn zone object.",
5928 "method" : "POST",
5929 "name" : "create",
5930 "parameters" : {
5931 "additionalProperties" : 0,
5932 "properties" : {
5933 "bridge" : {
5934 "optional" : 1,
5935 "type" : "string",
5936 "typetext" : "<string>"
5937 },
5938 "controller" : {
5939 "description" : "Frr router name",
5940 "optional" : 1,
5941 "type" : "string",
5942 "typetext" : "<string>"
5943 },
5944 "dp-id" : {
5945 "description" : "Faucet dataplane id",
5946 "optional" : 1,
5947 "type" : "integer",
5948 "typetext" : "<integer>"
5949 },
5950 "mtu" : {
5951 "description" : "mtu",
5952 "optional" : 1,
5953 "type" : "integer",
5954 "typetext" : "<integer>"
5955 },
5956 "nodes" : {
5957 "description" : "List of cluster node names.",
5958 "format" : "pve-node-list",
5959 "optional" : 1,
5960 "type" : "string",
5961 "typetext" : "<string>"
5962 },
5963 "peers" : {
5964 "description" : "peers address list.",
5965 "format" : "ip-list",
5966 "optional" : 1,
5967 "type" : "string",
5968 "typetext" : "<string>"
5969 },
5970 "tag" : {
5971 "description" : "vlan tag",
5972 "optional" : 1,
5973 "type" : "integer",
5974 "typetext" : "<integer>"
5975 },
5976 "type" : {
5977 "description" : "Plugin type.",
5978 "enum" : [
5979 "evpn",
5980 "faucet",
5981 "qinq",
5982 "vlan",
5983 "vxlan"
5984 ],
5985 "format" : "pve-configid",
5986 "type" : "string"
5987 },
5988 "vrf-vxlan" : {
5989 "description" : "l3vni.",
5990 "optional" : 1,
5991 "type" : "integer",
5992 "typetext" : "<integer>"
5993 },
5994 "zone" : {
5995 "description" : "The SDN zone object identifier.",
5996 "format" : "pve-sdn-zone-id",
5997 "type" : "string",
5998 "typetext" : "<string>"
5999 }
6000 },
6001 "type" : "object"
6002 },
6003 "permissions" : {
6004 "check" : [
6005 "perm",
6006 "/sdn/zones",
6007 [
6008 "SDN.Allocate"
6009 ]
6010 ]
6011 },
6012 "protected" : 1,
6013 "returns" : {
6014 "type" : "null"
6015 }
6016 }
6017 },
6018 "leaf" : 0,
6019 "path" : "/cluster/sdn/zones",
6020 "text" : "zones"
6021 },
6022 {
6023 "children" : [
6024 {
6025 "info" : {
6026 "DELETE" : {
6027 "allowtoken" : 1,
6028 "description" : "Delete sdn controller object configuration.",
6029 "method" : "DELETE",
6030 "name" : "delete",
6031 "parameters" : {
6032 "additionalProperties" : 0,
6033 "properties" : {
6034 "controller" : {
6035 "description" : "The SDN controller object identifier.",
6036 "format" : "pve-sdn-controller-id",
6037 "type" : "string",
6038 "typetext" : "<string>"
6039 }
6040 }
6041 },
6042 "permissions" : {
6043 "check" : [
6044 "perm",
6045 "/sdn/controllers",
6046 [
6047 "SDN.Allocate"
6048 ]
6049 ]
6050 },
6051 "protected" : 1,
6052 "returns" : {
6053 "type" : "null"
6054 }
6055 },
6056 "GET" : {
6057 "allowtoken" : 1,
6058 "description" : "Read sdn controller configuration.",
6059 "method" : "GET",
6060 "name" : "read",
6061 "parameters" : {
6062 "additionalProperties" : 0,
6063 "properties" : {
6064 "controller" : {
6065 "description" : "The SDN controller object identifier.",
6066 "format" : "pve-sdn-controller-id",
6067 "type" : "string",
6068 "typetext" : "<string>"
6069 }
6070 }
6071 },
6072 "permissions" : {
6073 "check" : [
6074 "perm",
6075 "/sdn/controllers/{controller}",
6076 [
6077 "SDN.Allocate"
6078 ]
6079 ]
6080 },
6081 "returns" : {
6082 "type" : "object"
6083 }
6084 },
6085 "PUT" : {
6086 "allowtoken" : 1,
6087 "description" : "Update sdn controller object configuration.",
6088 "method" : "PUT",
6089 "name" : "update",
6090 "parameters" : {
6091 "additionalProperties" : 0,
6092 "properties" : {
6093 "asn" : {
6094 "description" : "autonomous system number",
6095 "optional" : 1,
6096 "type" : "integer",
6097 "typetext" : "<integer>"
6098 },
6099 "controller" : {
6100 "description" : "The SDN controller object identifier.",
6101 "format" : "pve-sdn-controller-id",
6102 "type" : "string",
6103 "typetext" : "<string>"
6104 },
6105 "delete" : {
6106 "description" : "A list of settings you want to delete.",
6107 "format" : "pve-configid-list",
6108 "maxLength" : 4096,
6109 "optional" : 1,
6110 "type" : "string",
6111 "typetext" : "<string>"
6112 },
6113 "digest" : {
6114 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6115 "maxLength" : 40,
6116 "optional" : 1,
6117 "type" : "string",
6118 "typetext" : "<string>"
6119 },
6120 "gateway-external-peers" : {
6121 "description" : "upstream bgp peers address list.",
6122 "format" : "ip-list",
6123 "optional" : 1,
6124 "type" : "string",
6125 "typetext" : "<string>"
6126 },
6127 "gateway-nodes" : {
6128 "description" : "List of cluster node names.",
6129 "format" : "pve-node-list",
6130 "optional" : 1,
6131 "type" : "string",
6132 "typetext" : "<string>"
6133 },
6134 "peers" : {
6135 "description" : "peers address list.",
6136 "format" : "ip-list",
6137 "optional" : 1,
6138 "type" : "string",
6139 "typetext" : "<string>"
6140 }
6141 },
6142 "type" : "object"
6143 },
6144 "permissions" : {
6145 "check" : [
6146 "perm",
6147 "/sdn/controllers",
6148 [
6149 "SDN.Allocate"
6150 ]
6151 ]
6152 },
6153 "protected" : 1,
6154 "returns" : {
6155 "type" : "null"
6156 }
6157 }
6158 },
6159 "leaf" : 1,
6160 "path" : "/cluster/sdn/controllers/{controller}",
6161 "text" : "{controller}"
6162 }
6163 ],
6164 "info" : {
6165 "GET" : {
6166 "allowtoken" : 1,
6167 "description" : "SDN controllers index.",
6168 "method" : "GET",
6169 "name" : "index",
6170 "parameters" : {
6171 "additionalProperties" : 0,
6172 "properties" : {
6173 "type" : {
6174 "description" : "Only list sdn controllers of specific type",
6175 "enum" : [
6176 "evpn",
6177 "faucet"
6178 ],
6179 "optional" : 1,
6180 "type" : "string"
6181 }
6182 }
6183 },
6184 "permissions" : {
6185 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'",
6186 "user" : "all"
6187 },
6188 "returns" : {
6189 "items" : {
6190 "properties" : {
6191 "controller" : {
6192 "type" : "string"
6193 },
6194 "type" : {
6195 "type" : "string"
6196 }
6197 },
6198 "type" : "object"
6199 },
6200 "links" : [
6201 {
6202 "href" : "{controller}",
6203 "rel" : "child"
6204 }
6205 ],
6206 "type" : "array"
6207 }
6208 },
6209 "POST" : {
6210 "allowtoken" : 1,
6211 "description" : "Create a new sdn controller object.",
6212 "method" : "POST",
6213 "name" : "create",
6214 "parameters" : {
6215 "additionalProperties" : 0,
6216 "properties" : {
6217 "asn" : {
6218 "description" : "autonomous system number",
6219 "optional" : 1,
6220 "type" : "integer",
6221 "typetext" : "<integer>"
6222 },
6223 "controller" : {
6224 "description" : "The SDN controller object identifier.",
6225 "format" : "pve-sdn-controller-id",
6226 "type" : "string",
6227 "typetext" : "<string>"
6228 },
6229 "gateway-external-peers" : {
6230 "description" : "upstream bgp peers address list.",
6231 "format" : "ip-list",
6232 "optional" : 1,
6233 "type" : "string",
6234 "typetext" : "<string>"
6235 },
6236 "gateway-nodes" : {
6237 "description" : "List of cluster node names.",
6238 "format" : "pve-node-list",
6239 "optional" : 1,
6240 "type" : "string",
6241 "typetext" : "<string>"
6242 },
6243 "peers" : {
6244 "description" : "peers address list.",
6245 "format" : "ip-list",
6246 "optional" : 1,
6247 "type" : "string",
6248 "typetext" : "<string>"
6249 },
6250 "type" : {
6251 "description" : "Plugin type.",
6252 "enum" : [
6253 "evpn",
6254 "faucet"
6255 ],
6256 "format" : "pve-configid",
6257 "type" : "string"
6258 }
6259 },
6260 "type" : "object"
6261 },
6262 "permissions" : {
6263 "check" : [
6264 "perm",
6265 "/sdn/controllers",
6266 [
6267 "SDN.Allocate"
6268 ]
6269 ]
6270 },
6271 "protected" : 1,
6272 "returns" : {
6273 "type" : "null"
6274 }
6275 }
6276 },
6277 "leaf" : 0,
6278 "path" : "/cluster/sdn/controllers",
6279 "text" : "controllers"
6280 }
6281 ],
6282 "info" : {
6283 "GET" : {
6284 "allowtoken" : 1,
6285 "description" : "Directory index.",
6286 "method" : "GET",
6287 "name" : "index",
6288 "parameters" : {
6289 "additionalProperties" : 0
6290 },
6291 "permissions" : {
6292 "check" : [
6293 "perm",
6294 "/",
6295 [
6296 "SDN.Audit"
6297 ]
6298 ]
6299 },
6300 "returns" : {
6301 "items" : {
6302 "properties" : {
6303 "id" : {
6304 "type" : "string"
6305 }
6306 },
6307 "type" : "object"
6308 },
6309 "links" : [
6310 {
6311 "href" : "{id}",
6312 "rel" : "child"
6313 }
6314 ],
6315 "type" : "array"
6316 }
6317 },
6318 "PUT" : {
6319 "allowtoken" : 1,
6320 "description" : "Apply sdn controller changes && reload.",
6321 "method" : "PUT",
6322 "name" : "reload",
6323 "parameters" : {
6324 "additionalProperties" : 0
6325 },
6326 "permissions" : {
6327 "check" : [
6328 "perm",
6329 "/sdn",
6330 [
6331 "SDN.Allocate"
6332 ]
6333 ]
6334 },
6335 "protected" : 1,
6336 "returns" : {
6337 "type" : "string"
6338 }
6339 }
6340 },
6341 "leaf" : 0,
6342 "path" : "/cluster/sdn",
6343 "text" : "sdn"
6344 },
7aacca6f 6345 {
7aacca6f
DM
6346 "info" : {
6347 "GET" : {
e9cd3bd4 6348 "allowtoken" : 1,
7aacca6f 6349 "description" : "Read cluster log",
44660702
DM
6350 "method" : "GET",
6351 "name" : "log",
56122987 6352 "parameters" : {
7aacca6f 6353 "additionalProperties" : 0,
56122987
DM
6354 "properties" : {
6355 "max" : {
7aacca6f 6356 "description" : "Maximum number of entries.",
44660702
DM
6357 "minimum" : 1,
6358 "optional" : 1,
4bd7df8b 6359 "type" : "integer",
013dc89f 6360 "typetext" : "<integer> (1 - N)"
56122987 6361 }
7aacca6f 6362 }
56122987 6363 },
44660702
DM
6364 "permissions" : {
6365 "user" : "all"
6366 },
7aacca6f 6367 "returns" : {
7aacca6f 6368 "items" : {
44660702
DM
6369 "properties" : {},
6370 "type" : "object"
6371 },
6372 "type" : "array"
7aacca6f 6373 }
56122987 6374 }
44660702
DM
6375 },
6376 "leaf" : 1,
6377 "path" : "/cluster/log",
6378 "text" : "log"
56122987
DM
6379 },
6380 {
56122987
DM
6381 "info" : {
6382 "GET" : {
e9cd3bd4 6383 "allowtoken" : 1,
44660702 6384 "description" : "Resources index (cluster wide).",
7aacca6f 6385 "method" : "GET",
7aacca6f 6386 "name" : "resources",
56122987
DM
6387 "parameters" : {
6388 "additionalProperties" : 0,
6389 "properties" : {
6390 "type" : {
6391 "enum" : [
6392 "vm",
6393 "storage",
1c532546
TL
6394 "node",
6395 "sdn"
44660702
DM
6396 ],
6397 "optional" : 1,
6398 "type" : "string"
56122987
DM
6399 }
6400 }
6401 },
44660702
DM
6402 "permissions" : {
6403 "user" : "all"
6404 },
6405 "returns" : {
6406 "items" : {
4d47f125
TL
6407 "properties" : {
6408 "cpu" : {
6409 "description" : "CPU utilization (when type in node,qemu,lxc).",
6410 "optional" : 1,
6411 "renderer" : "fraction_as_percentage",
6412 "type" : "number"
6413 },
6414 "disk" : {
6415 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
6416 "optional" : 1,
6417 "renderer" : "bytes",
6418 "type" : "string"
6419 },
6420 "hastate" : {
6421 "description" : "HA service status (for HA managed VMs).",
6422 "optional" : 1,
6423 "type" : "string"
6424 },
6425 "id" : {
6426 "type" : "string"
6427 },
6428 "level" : {
6429 "description" : "Support level (when type == node).",
6430 "optional" : 1,
6431 "type" : "string"
6432 },
6433 "maxcpu" : {
6434 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
6435 "optional" : 1,
6436 "type" : "number"
6437 },
6438 "maxdisk" : {
6439 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
6440 "optional" : 1,
6441 "renderer" : "bytes",
6442 "type" : "integer"
6443 },
6444 "maxmem" : {
6445 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
6446 "optional" : 1,
6447 "renderer" : "bytes",
6448 "type" : "integer"
6449 },
6450 "mem" : {
6451 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
6452 "optional" : 1,
6453 "renderer" : "bytes",
6454 "type" : "string"
6455 },
6456 "node" : {
6457 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
6458 "format" : "pve-node",
6459 "optional" : 1,
6460 "type" : "string"
6461 },
6462 "pool" : {
6463 "description" : "The pool name (when type in pool,qemu,lxc).",
6464 "optional" : 1,
6465 "type" : "string"
6466 },
6467 "status" : {
6468 "description" : "Resource type dependent status.",
6469 "optional" : 1,
6470 "type" : "string"
6471 },
6472 "storage" : {
6473 "description" : "The storage identifier (when type == storage).",
6474 "format" : "pve-storage-id",
6475 "optional" : 1,
6476 "type" : "string"
6477 },
6478 "type" : {
6479 "description" : "Resource type.",
6480 "enum" : [
6481 "node",
6482 "storage",
6483 "pool",
6484 "qemu",
6485 "lxc",
1c532546
TL
6486 "openvz",
6487 "sdn"
4d47f125
TL
6488 ],
6489 "type" : "string"
6490 },
6491 "uptime" : {
6492 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
6493 "optional" : 1,
6494 "renderer" : "duration",
6495 "type" : "integer"
6496 }
6497 },
44660702
DM
6498 "type" : "object"
6499 },
6500 "type" : "array"
6501 }
56122987
DM
6502 }
6503 },
7aacca6f 6504 "leaf" : 1,
44660702
DM
6505 "path" : "/cluster/resources",
6506 "text" : "resources"
56122987
DM
6507 },
6508 {
56122987
DM
6509 "info" : {
6510 "GET" : {
e9cd3bd4 6511 "allowtoken" : 1,
7aacca6f 6512 "description" : "List recent tasks (cluster wide).",
44660702 6513 "method" : "GET",
7aacca6f 6514 "name" : "tasks",
56122987
DM
6515 "parameters" : {
6516 "additionalProperties" : 0
6517 },
44660702
DM
6518 "permissions" : {
6519 "user" : "all"
6520 },
56122987
DM
6521 "returns" : {
6522 "items" : {
6523 "properties" : {
6524 "upid" : {
6525 "type" : "string"
6526 }
44660702
DM
6527 },
6528 "type" : "object"
6529 },
6530 "type" : "array"
7aacca6f 6531 }
56122987
DM
6532 }
6533 },
7aacca6f 6534 "leaf" : 1,
44660702
DM
6535 "path" : "/cluster/tasks",
6536 "text" : "tasks"
56122987
DM
6537 },
6538 {
56122987 6539 "info" : {
7aacca6f 6540 "GET" : {
e9cd3bd4 6541 "allowtoken" : 1,
44660702
DM
6542 "description" : "Get datacenter options.",
6543 "method" : "GET",
6544 "name" : "get_options",
56122987 6545 "parameters" : {
7aacca6f
DM
6546 "additionalProperties" : 0
6547 },
6548 "permissions" : {
6549 "check" : [
6550 "perm",
6551 "/",
6552 [
6553 "Sys.Audit"
6554 ]
6555 ]
6556 },
7aacca6f 6557 "returns" : {
44660702 6558 "type" : "object"
7aacca6f
DM
6559 }
6560 },
6561 "PUT" : {
e9cd3bd4 6562 "allowtoken" : 1,
44660702
DM
6563 "description" : "Set datacenter options.",
6564 "method" : "PUT",
7aacca6f
DM
6565 "name" : "set_options",
6566 "parameters" : {
6567 "additionalProperties" : 0,
6568 "properties" : {
27a7acb2
DM
6569 "bwlimit" : {
6570 "description" : "Set bandwidth/io limits various operations.",
6571 "format" : {
6572 "clone" : {
95895385 6573 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
6574 "format_description" : "LIMIT",
6575 "minimum" : "0",
6576 "optional" : 1,
6577 "type" : "number"
6578 },
6579 "default" : {
95895385 6580 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
6581 "format_description" : "LIMIT",
6582 "minimum" : "0",
6583 "optional" : 1,
6584 "type" : "number"
6585 },
6586 "migration" : {
95895385 6587 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
6588 "format_description" : "LIMIT",
6589 "minimum" : "0",
6590 "optional" : 1,
6591 "type" : "number"
6592 },
6593 "move" : {
95895385 6594 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
6595 "format_description" : "LIMIT",
6596 "minimum" : "0",
6597 "optional" : 1,
6598 "type" : "number"
6599 },
6600 "restore" : {
95895385 6601 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
6602 "format_description" : "LIMIT",
6603 "minimum" : "0",
6604 "optional" : 1,
6605 "type" : "number"
6606 }
6607 },
6608 "optional" : 1,
6609 "type" : "string",
6610 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
6611 },
56122987 6612 "console" : {
a9a8e3d1 6613 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.",
56122987
DM
6614 "enum" : [
6615 "applet",
6616 "vv",
a9a8e3d1
DM
6617 "html5",
6618 "xtermjs"
44660702
DM
6619 ],
6620 "optional" : 1,
6621 "type" : "string"
56122987 6622 },
7aacca6f 6623 "delete" : {
7aacca6f 6624 "description" : "A list of settings you want to delete.",
44660702 6625 "format" : "pve-configid-list",
7aacca6f 6626 "optional" : 1,
013dc89f
DM
6627 "type" : "string",
6628 "typetext" : "<string>"
7aacca6f 6629 },
44660702
DM
6630 "email_from" : {
6631 "description" : "Specify email address to send notification from (default is root@$hostname)",
6632 "format" : "email-opt",
7aacca6f 6633 "optional" : 1,
013dc89f
DM
6634 "type" : "string",
6635 "typetext" : "<string>"
44660702
DM
6636 },
6637 "fencing" : {
6638 "default" : "watchdog",
6639 "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 6640 "enum" : [
44660702
DM
6641 "watchdog",
6642 "hardware",
6643 "both"
7aacca6f 6644 ],
44660702
DM
6645 "optional" : 1,
6646 "type" : "string"
6647 },
5f26e15b
TL
6648 "ha" : {
6649 "description" : "Cluster wide HA settings.",
6650 "format" : {
6651 "shutdown_policy" : {
6652 "default" : "conditional",
5c1699e5 6653 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.",
5f26e15b
TL
6654 "enum" : [
6655 "freeze",
6656 "failover",
5c1699e5
TL
6657 "conditional",
6658 "migrate"
5f26e15b
TL
6659 ],
6660 "type" : "string",
e9cd3bd4 6661 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node when a reboot or shutdown was triggered. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place."
5f26e15b
TL
6662 }
6663 },
6664 "optional" : 1,
6665 "type" : "string",
5c1699e5 6666 "typetext" : "shutdown_policy=<enum>"
5f26e15b 6667 },
44660702
DM
6668 "http_proxy" : {
6669 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
6670 "optional" : 1,
6671 "pattern" : "http://.*",
6672 "type" : "string"
7aacca6f 6673 },
56122987 6674 "keyboard" : {
44660702 6675 "description" : "Default keybord layout for vnc server.",
56122987 6676 "enum" : [
44660702
DM
6677 "de",
6678 "de-ch",
7aacca6f 6679 "da",
56122987 6680 "en-gb",
44660702
DM
6681 "en-us",
6682 "es",
6683 "fi",
6684 "fr",
6685 "fr-be",
6686 "fr-ca",
6687 "fr-ch",
6688 "hu",
7aacca6f 6689 "is",
44660702
DM
6690 "it",
6691 "ja",
6692 "lt",
56122987 6693 "mk",
7aacca6f 6694 "nl",
56122987 6695 "no",
44660702 6696 "pl",
7aacca6f 6697 "pt",
44660702
DM
6698 "pt-br",
6699 "sv",
6700 "sl",
6701 "tr"
56122987 6702 ],
56122987
DM
6703 "optional" : 1,
6704 "type" : "string"
6705 },
44660702
DM
6706 "language" : {
6707 "description" : "Default GUI language.",
6708 "enum" : [
4d47f125 6709 "ca",
1c532546
TL
6710 "da",
6711 "de",
44660702 6712 "en",
1c532546 6713 "es",
4d47f125 6714 "eu",
1c532546 6715 "fa",
4d47f125 6716 "fr",
1c532546 6717 "he",
4d47f125 6718 "it",
4d47f125
TL
6719 "ja",
6720 "nb",
6721 "nn",
4d47f125
TL
6722 "pl",
6723 "pt_BR",
6724 "ru",
6725 "sl",
6726 "sv",
1c532546
TL
6727 "tr",
6728 "zh_CN",
6729 "zh_TW"
44660702 6730 ],
56122987 6731 "optional" : 1,
44660702 6732 "type" : "string"
56122987 6733 },
4bd7df8b
DM
6734 "mac_prefix" : {
6735 "description" : "Prefix for autogenerated MAC addresses.",
95895385 6736 "format" : "mac-prefix",
4bd7df8b 6737 "optional" : 1,
95895385
TL
6738 "type" : "string",
6739 "typetext" : "<string>"
4bd7df8b 6740 },
44660702
DM
6741 "max_workers" : {
6742 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
6743 "minimum" : 1,
56122987 6744 "optional" : 1,
4bd7df8b 6745 "type" : "integer",
013dc89f 6746 "typetext" : "<integer> (1 - N)"
56122987 6747 },
de0983cb
DM
6748 "migration" : {
6749 "description" : "For cluster wide migration settings.",
6750 "format" : {
6751 "network" : {
6752 "description" : "CIDR of the (sub) network that is used for migration.",
6753 "format" : "CIDR",
6754 "format_description" : "CIDR",
6755 "optional" : 1,
6756 "type" : "string"
6757 },
6758 "type" : {
6759 "default" : "secure",
6760 "default_key" : 1,
6761 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
6762 "enum" : [
6763 "secure",
6764 "insecure"
6765 ],
6766 "type" : "string"
6767 }
6768 },
6769 "optional" : 1,
6770 "type" : "string",
6771 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
6772 },
7aacca6f 6773 "migration_unsecure" : {
de0983cb 6774 "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 6775 "optional" : 1,
013dc89f
DM
6776 "type" : "boolean",
6777 "typetext" : "<boolean>"
95895385
TL
6778 },
6779 "u2f" : {
6780 "description" : "u2f",
6781 "format" : {
6782 "appid" : {
6783 "description" : "U2F AppId URL override. Defaults to the origin.",
6784 "format_description" : "APPID",
6785 "optional" : 1,
6786 "type" : "string"
6787 },
6788 "origin" : {
6789 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
6790 "format_description" : "URL",
6791 "optional" : 1,
6792 "type" : "string"
6793 }
6794 },
6795 "optional" : 1,
6796 "type" : "string",
6797 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
6798 }
6799 }
6800 },
44660702
DM
6801 "permissions" : {
6802 "check" : [
6803 "perm",
6804 "/",
6805 [
6806 "Sys.Modify"
6807 ]
6808 ]
6809 },
56122987 6810 "protected" : 1,
7aacca6f
DM
6811 "returns" : {
6812 "type" : "null"
44660702 6813 }
7aacca6f
DM
6814 }
6815 },
44660702
DM
6816 "leaf" : 1,
6817 "path" : "/cluster/options",
7aacca6f
DM
6818 "text" : "options"
6819 },
6820 {
7aacca6f 6821 "info" : {
56122987 6822 "GET" : {
e9cd3bd4 6823 "allowtoken" : 1,
1e3f8156 6824 "description" : "Get cluster status information.",
44660702
DM
6825 "method" : "GET",
6826 "name" : "get_status",
56122987
DM
6827 "parameters" : {
6828 "additionalProperties" : 0
6829 },
56122987
DM
6830 "permissions" : {
6831 "check" : [
6832 "perm",
6833 "/",
6834 [
6835 "Sys.Audit"
6836 ]
6837 ]
6838 },
7aacca6f 6839 "protected" : 1,
56122987 6840 "returns" : {
56122987 6841 "items" : {
56122987 6842 "properties" : {
e9cd3bd4
TL
6843 "id" : {
6844 "type" : "string"
6845 },
6846 "ip" : {
6847 "description" : "[node] IP of the resolved nodename.",
6848 "optional" : 1,
6849 "type" : "string"
6850 },
6851 "level" : {
6852 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
6853 "optional" : 1,
6854 "type" : "string"
6855 },
6856 "local" : {
6857 "description" : "[node] Indicates if this is the responding node.",
6858 "optional" : 1,
6859 "type" : "boolean"
6860 },
6861 "name" : {
6862 "type" : "string"
6863 },
6864 "nodeid" : {
6865 "description" : "[node] ID of the node from the corosync configuration.",
6866 "optional" : 1,
6867 "type" : "integer"
6868 },
6869 "nodes" : {
6870 "description" : "[cluster] Nodes count, including offline nodes.",
6871 "optional" : 1,
6872 "type" : "integer"
6873 },
6874 "online" : {
6875 "description" : "[node] Indicates if the node is online or offline.",
6876 "optional" : 1,
6877 "type" : "boolean"
6878 },
6879 "quorate" : {
6880 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
6881 "optional" : 1,
6882 "type" : "boolean"
6883 },
56122987 6884 "type" : {
e9cd3bd4
TL
6885 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
6886 "enum" : [
6887 "cluster",
6888 "node"
6889 ],
56122987 6890 "type" : "string"
e9cd3bd4
TL
6891 },
6892 "version" : {
6893 "description" : "[cluster] Current version of the corosync configuration file.",
6894 "optional" : 1,
6895 "type" : "integer"
56122987 6896 }
44660702
DM
6897 },
6898 "type" : "object"
7aacca6f
DM
6899 },
6900 "type" : "array"
56122987
DM
6901 }
6902 }
6903 },
44660702 6904 "leaf" : 1,
7aacca6f 6905 "path" : "/cluster/status",
44660702 6906 "text" : "status"
56122987
DM
6907 },
6908 {
56122987
DM
6909 "info" : {
6910 "GET" : {
e9cd3bd4 6911 "allowtoken" : 1,
56122987 6912 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
6913 "method" : "GET",
6914 "name" : "nextid",
56122987 6915 "parameters" : {
44660702 6916 "additionalProperties" : 0,
56122987
DM
6917 "properties" : {
6918 "vmid" : {
44660702 6919 "description" : "The (unique) ID of the VM.",
56122987 6920 "format" : "pve-vmid",
7aacca6f 6921 "minimum" : 1,
7aacca6f 6922 "optional" : 1,
4bd7df8b 6923 "type" : "integer",
013dc89f 6924 "typetext" : "<integer> (1 - N)"
56122987 6925 }
44660702 6926 }
56122987 6927 },
7aacca6f
DM
6928 "permissions" : {
6929 "user" : "all"
44660702
DM
6930 },
6931 "returns" : {
6932 "description" : "The next free VMID.",
6933 "type" : "integer"
7aacca6f 6934 }
56122987
DM
6935 }
6936 },
7aacca6f 6937 "leaf" : 1,
44660702
DM
6938 "path" : "/cluster/nextid",
6939 "text" : "nextid"
56122987
DM
6940 }
6941 ],
44660702
DM
6942 "info" : {
6943 "GET" : {
e9cd3bd4 6944 "allowtoken" : 1,
44660702
DM
6945 "description" : "Cluster index.",
6946 "method" : "GET",
6947 "name" : "index",
6948 "parameters" : {
6949 "additionalProperties" : 0
6950 },
6951 "permissions" : {
6952 "user" : "all"
6953 },
6954 "returns" : {
6955 "items" : {
6956 "properties" : {},
6957 "type" : "object"
6958 },
6959 "links" : [
6960 {
6961 "href" : "{name}",
6962 "rel" : "child"
6963 }
6964 ],
6965 "type" : "array"
6966 }
6967 }
6968 },
6969 "leaf" : 0,
6970 "path" : "/cluster",
7aacca6f 6971 "text" : "cluster"
56122987
DM
6972 },
6973 {
56122987
DM
6974 "children" : [
6975 {
7aacca6f
DM
6976 "children" : [
6977 {
6978 "children" : [
6979 {
56122987
DM
6980 "children" : [
6981 {
56122987
DM
6982 "children" : [
6983 {
6984 "children" : [
6985 {
56122987
DM
6986 "info" : {
6987 "DELETE" : {
e9cd3bd4 6988 "allowtoken" : 1,
44660702 6989 "description" : "Delete rule.",
7aacca6f 6990 "method" : "DELETE",
44660702 6991 "name" : "delete_rule",
56122987 6992 "parameters" : {
44660702 6993 "additionalProperties" : 0,
56122987 6994 "properties" : {
44660702
DM
6995 "digest" : {
6996 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6997 "maxLength" : 40,
6998 "optional" : 1,
013dc89f
DM
6999 "type" : "string",
7000 "typetext" : "<string>"
44660702 7001 },
56122987 7002 "node" : {
7aacca6f 7003 "description" : "The cluster node name.",
44660702 7004 "format" : "pve-node",
013dc89f
DM
7005 "type" : "string",
7006 "typetext" : "<string>"
7aacca6f 7007 },
56122987 7008 "pos" : {
7aacca6f 7009 "description" : "Update rule at position <pos>.",
44660702 7010 "minimum" : 0,
56122987 7011 "optional" : 1,
4bd7df8b 7012 "type" : "integer",
013dc89f 7013 "typetext" : "<integer> (0 - N)"
44660702
DM
7014 },
7015 "vmid" : {
7016 "description" : "The (unique) ID of the VM.",
7017 "format" : "pve-vmid",
7018 "minimum" : 1,
4bd7df8b 7019 "type" : "integer",
013dc89f 7020 "typetext" : "<integer> (1 - N)"
56122987 7021 }
44660702 7022 }
7aacca6f 7023 },
56122987
DM
7024 "permissions" : {
7025 "check" : [
7026 "perm",
7027 "/vms/{vmid}",
7028 [
7029 "VM.Config.Network"
7030 ]
7031 ]
7032 },
44660702
DM
7033 "protected" : 1,
7034 "proxyto" : null,
56122987
DM
7035 "returns" : {
7036 "type" : "null"
44660702
DM
7037 }
7038 },
7039 "GET" : {
e9cd3bd4 7040 "allowtoken" : 1,
44660702
DM
7041 "description" : "Get single rule data.",
7042 "method" : "GET",
7043 "name" : "get_rule",
7044 "parameters" : {
7045 "additionalProperties" : 0,
7046 "properties" : {
7047 "node" : {
7048 "description" : "The cluster node name.",
7049 "format" : "pve-node",
013dc89f
DM
7050 "type" : "string",
7051 "typetext" : "<string>"
44660702
DM
7052 },
7053 "pos" : {
7054 "description" : "Update rule at position <pos>.",
7055 "minimum" : 0,
7056 "optional" : 1,
4bd7df8b 7057 "type" : "integer",
013dc89f 7058 "typetext" : "<integer> (0 - N)"
44660702
DM
7059 },
7060 "vmid" : {
7061 "description" : "The (unique) ID of the VM.",
7062 "format" : "pve-vmid",
7063 "minimum" : 1,
4bd7df8b 7064 "type" : "integer",
013dc89f 7065 "typetext" : "<integer> (1 - N)"
44660702
DM
7066 }
7067 }
56122987 7068 },
56122987
DM
7069 "permissions" : {
7070 "check" : [
7071 "perm",
7072 "/vms/{vmid}",
7073 [
44660702 7074 "VM.Audit"
56122987
DM
7075 ]
7076 ]
7077 },
56122987 7078 "proxyto" : null,
44660702
DM
7079 "returns" : {
7080 "properties" : {
e2d681b3
TL
7081 "action" : {
7082 "type" : "string"
7083 },
7084 "comment" : {
7085 "optional" : 1,
7086 "type" : "string"
7087 },
7088 "dest" : {
7089 "optional" : 1,
7090 "type" : "string"
7091 },
7092 "dport" : {
7093 "optional" : 1,
7094 "type" : "string"
7095 },
7096 "enable" : {
7097 "optional" : 1,
7098 "type" : "integer"
7099 },
7100 "iface" : {
7101 "optional" : 1,
7102 "type" : "string"
7103 },
7104 "ipversion" : {
7105 "optional" : 1,
7106 "type" : "integer"
7107 },
95895385
TL
7108 "log" : {
7109 "description" : "Log level for firewall rule",
7110 "enum" : [
7111 "emerg",
7112 "alert",
7113 "crit",
7114 "err",
7115 "warning",
7116 "notice",
7117 "info",
7118 "debug",
7119 "nolog"
7120 ],
7121 "optional" : 1,
7122 "type" : "string"
7123 },
e2d681b3
TL
7124 "macro" : {
7125 "optional" : 1,
5f26e15b 7126 "type" : "string"
e2d681b3 7127 },
44660702
DM
7128 "pos" : {
7129 "type" : "integer"
e2d681b3
TL
7130 },
7131 "proto" : {
7132 "optional" : 1,
7133 "type" : "string"
7134 },
7135 "source" : {
7136 "optional" : 1,
7137 "type" : "string"
7138 },
7139 "sport" : {
7140 "optional" : 1,
7141 "type" : "string"
7142 },
7143 "type" : {
7144 "type" : "string"
44660702
DM
7145 }
7146 },
7147 "type" : "object"
7148 }
7149 },
7150 "PUT" : {
e9cd3bd4 7151 "allowtoken" : 1,
7aacca6f
DM
7152 "description" : "Modify rule data.",
7153 "method" : "PUT",
44660702 7154 "name" : "update_rule",
56122987 7155 "parameters" : {
44660702 7156 "additionalProperties" : 0,
56122987 7157 "properties" : {
44660702
DM
7158 "action" : {
7159 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7160 "maxLength" : 20,
7161 "minLength" : 2,
56122987 7162 "optional" : 1,
44660702 7163 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
7164 "type" : "string"
7165 },
7aacca6f 7166 "comment" : {
e94f0d56 7167 "description" : "Descriptive comment.",
7aacca6f 7168 "optional" : 1,
013dc89f
DM
7169 "type" : "string",
7170 "typetext" : "<string>"
7aacca6f
DM
7171 },
7172 "delete" : {
7aacca6f 7173 "description" : "A list of settings you want to delete.",
44660702
DM
7174 "format" : "pve-configid-list",
7175 "optional" : 1,
013dc89f
DM
7176 "type" : "string",
7177 "typetext" : "<string>"
7aacca6f
DM
7178 },
7179 "dest" : {
44660702 7180 "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 7181 "format" : "pve-fw-addr-spec",
56122987 7182 "optional" : 1,
013dc89f
DM
7183 "type" : "string",
7184 "typetext" : "<string>"
56122987 7185 },
7aacca6f 7186 "digest" : {
44660702 7187 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 7188 "maxLength" : 40,
56122987 7189 "optional" : 1,
013dc89f
DM
7190 "type" : "string",
7191 "typetext" : "<string>"
44660702
DM
7192 },
7193 "dport" : {
7194 "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.",
7195 "format" : "pve-fw-dport-spec",
7196 "optional" : 1,
013dc89f
DM
7197 "type" : "string",
7198 "typetext" : "<string>"
56122987 7199 },
7aacca6f 7200 "enable" : {
e94f0d56 7201 "description" : "Flag to enable/disable a rule.",
44660702 7202 "minimum" : 0,
56122987 7203 "optional" : 1,
4bd7df8b 7204 "type" : "integer",
013dc89f 7205 "typetext" : "<integer> (0 - N)"
7aacca6f 7206 },
44660702
DM
7207 "iface" : {
7208 "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.",
7209 "format" : "pve-iface",
7210 "maxLength" : 20,
7aacca6f 7211 "minLength" : 2,
56122987 7212 "optional" : 1,
013dc89f
DM
7213 "type" : "string",
7214 "typetext" : "<string>"
56122987 7215 },
95895385
TL
7216 "log" : {
7217 "description" : "Log level for firewall rule.",
7218 "enum" : [
7219 "emerg",
7220 "alert",
7221 "crit",
7222 "err",
7223 "warning",
7224 "notice",
7225 "info",
7226 "debug",
7227 "nolog"
7228 ],
7229 "optional" : 1,
7230 "type" : "string"
7231 },
44660702 7232 "macro" : {
e94f0d56 7233 "description" : "Use predefined standard macro.",
44660702 7234 "maxLength" : 128,
56122987 7235 "optional" : 1,
013dc89f
DM
7236 "type" : "string",
7237 "typetext" : "<string>"
56122987 7238 },
44660702
DM
7239 "moveto" : {
7240 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
7241 "minimum" : 0,
56122987 7242 "optional" : 1,
4bd7df8b 7243 "type" : "integer",
013dc89f 7244 "typetext" : "<integer> (0 - N)"
56122987 7245 },
44660702
DM
7246 "node" : {
7247 "description" : "The cluster node name.",
7248 "format" : "pve-node",
013dc89f
DM
7249 "type" : "string",
7250 "typetext" : "<string>"
44660702
DM
7251 },
7252 "pos" : {
7253 "description" : "Update rule at position <pos>.",
7254 "minimum" : 0,
7255 "optional" : 1,
4bd7df8b 7256 "type" : "integer",
013dc89f 7257 "typetext" : "<integer> (0 - N)"
56122987 7258 },
44660702
DM
7259 "proto" : {
7260 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
7261 "format" : "pve-fw-protocol-spec",
7262 "optional" : 1,
013dc89f
DM
7263 "type" : "string",
7264 "typetext" : "<string>"
7aacca6f 7265 },
44660702
DM
7266 "source" : {
7267 "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.",
7268 "format" : "pve-fw-addr-spec",
56122987 7269 "optional" : 1,
013dc89f
DM
7270 "type" : "string",
7271 "typetext" : "<string>"
56122987
DM
7272 },
7273 "sport" : {
7274 "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
7275 "format" : "pve-fw-sport-spec",
7276 "optional" : 1,
013dc89f
DM
7277 "type" : "string",
7278 "typetext" : "<string>"
44660702
DM
7279 },
7280 "type" : {
e94f0d56 7281 "description" : "Rule type.",
44660702
DM
7282 "enum" : [
7283 "in",
7284 "out",
7285 "group"
7286 ],
56122987 7287 "optional" : 1,
56122987 7288 "type" : "string"
44660702
DM
7289 },
7290 "vmid" : {
7291 "description" : "The (unique) ID of the VM.",
7292 "format" : "pve-vmid",
7293 "minimum" : 1,
4bd7df8b 7294 "type" : "integer",
013dc89f 7295 "typetext" : "<integer> (1 - N)"
56122987 7296 }
44660702 7297 }
56122987 7298 },
56122987
DM
7299 "permissions" : {
7300 "check" : [
7301 "perm",
7302 "/vms/{vmid}",
7303 [
44660702 7304 "VM.Config.Network"
56122987
DM
7305 ]
7306 ]
7aacca6f 7307 },
44660702 7308 "protected" : 1,
7aacca6f 7309 "proxyto" : null,
7aacca6f 7310 "returns" : {
44660702
DM
7311 "type" : "null"
7312 }
56122987 7313 }
7aacca6f 7314 },
44660702 7315 "leaf" : 1,
7aacca6f 7316 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 7317 "text" : "{pos}"
56122987
DM
7318 }
7319 ],
56122987 7320 "info" : {
44660702 7321 "GET" : {
e9cd3bd4 7322 "allowtoken" : 1,
44660702
DM
7323 "description" : "List rules.",
7324 "method" : "GET",
7325 "name" : "get_rules",
7326 "parameters" : {
7327 "additionalProperties" : 0,
7328 "properties" : {
7329 "node" : {
7330 "description" : "The cluster node name.",
7331 "format" : "pve-node",
013dc89f
DM
7332 "type" : "string",
7333 "typetext" : "<string>"
44660702
DM
7334 },
7335 "vmid" : {
7336 "description" : "The (unique) ID of the VM.",
7337 "format" : "pve-vmid",
7338 "minimum" : 1,
4bd7df8b 7339 "type" : "integer",
013dc89f 7340 "typetext" : "<integer> (1 - N)"
44660702
DM
7341 }
7342 }
56122987 7343 },
56122987
DM
7344 "permissions" : {
7345 "check" : [
7346 "perm",
7347 "/vms/{vmid}",
7348 [
44660702 7349 "VM.Audit"
56122987
DM
7350 ]
7351 ]
7aacca6f 7352 },
44660702
DM
7353 "proxyto" : null,
7354 "returns" : {
7355 "items" : {
7356 "properties" : {
7357 "pos" : {
7358 "type" : "integer"
7359 }
7360 },
7361 "type" : "object"
7362 },
7363 "links" : [
7364 {
7365 "href" : "{pos}",
7366 "rel" : "child"
7367 }
7368 ],
7369 "type" : "array"
7370 }
7371 },
7372 "POST" : {
e9cd3bd4 7373 "allowtoken" : 1,
44660702 7374 "description" : "Create new rule.",
7aacca6f 7375 "method" : "POST",
44660702 7376 "name" : "create_rule",
56122987 7377 "parameters" : {
44660702 7378 "additionalProperties" : 0,
56122987 7379 "properties" : {
44660702
DM
7380 "action" : {
7381 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7382 "maxLength" : 20,
7383 "minLength" : 2,
7384 "optional" : 0,
7385 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7386 "type" : "string"
56122987 7387 },
44660702 7388 "comment" : {
e94f0d56 7389 "description" : "Descriptive comment.",
56122987 7390 "optional" : 1,
013dc89f
DM
7391 "type" : "string",
7392 "typetext" : "<string>"
56122987 7393 },
44660702
DM
7394 "dest" : {
7395 "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.",
7396 "format" : "pve-fw-addr-spec",
7397 "optional" : 1,
013dc89f
DM
7398 "type" : "string",
7399 "typetext" : "<string>"
56122987 7400 },
44660702
DM
7401 "digest" : {
7402 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7403 "maxLength" : 40,
56122987 7404 "optional" : 1,
013dc89f
DM
7405 "type" : "string",
7406 "typetext" : "<string>"
56122987 7407 },
7aacca6f
DM
7408 "dport" : {
7409 "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 7410 "format" : "pve-fw-dport-spec",
7aacca6f 7411 "optional" : 1,
013dc89f
DM
7412 "type" : "string",
7413 "typetext" : "<string>"
56122987
DM
7414 },
7415 "enable" : {
e94f0d56 7416 "description" : "Flag to enable/disable a rule.",
56122987 7417 "minimum" : 0,
44660702 7418 "optional" : 1,
4bd7df8b 7419 "type" : "integer",
013dc89f 7420 "typetext" : "<integer> (0 - N)"
56122987 7421 },
44660702
DM
7422 "iface" : {
7423 "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.",
7424 "format" : "pve-iface",
7425 "maxLength" : 20,
7aacca6f 7426 "minLength" : 2,
44660702 7427 "optional" : 1,
013dc89f
DM
7428 "type" : "string",
7429 "typetext" : "<string>"
56122987 7430 },
95895385
TL
7431 "log" : {
7432 "description" : "Log level for firewall rule.",
7433 "enum" : [
7434 "emerg",
7435 "alert",
7436 "crit",
7437 "err",
7438 "warning",
7439 "notice",
7440 "info",
7441 "debug",
7442 "nolog"
7443 ],
7444 "optional" : 1,
7445 "type" : "string"
7446 },
44660702 7447 "macro" : {
e94f0d56 7448 "description" : "Use predefined standard macro.",
44660702 7449 "maxLength" : 128,
56122987 7450 "optional" : 1,
013dc89f
DM
7451 "type" : "string",
7452 "typetext" : "<string>"
7aacca6f 7453 },
44660702
DM
7454 "node" : {
7455 "description" : "The cluster node name.",
7456 "format" : "pve-node",
013dc89f
DM
7457 "type" : "string",
7458 "typetext" : "<string>"
44660702
DM
7459 },
7460 "pos" : {
7461 "description" : "Update rule at position <pos>.",
7462 "minimum" : 0,
7463 "optional" : 1,
4bd7df8b 7464 "type" : "integer",
013dc89f 7465 "typetext" : "<integer> (0 - N)"
44660702
DM
7466 },
7467 "proto" : {
7468 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
7469 "format" : "pve-fw-protocol-spec",
7aacca6f 7470 "optional" : 1,
013dc89f
DM
7471 "type" : "string",
7472 "typetext" : "<string>"
7aacca6f
DM
7473 },
7474 "source" : {
7475 "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 7476 "format" : "pve-fw-addr-spec",
7aacca6f 7477 "optional" : 1,
013dc89f
DM
7478 "type" : "string",
7479 "typetext" : "<string>"
7aacca6f 7480 },
44660702
DM
7481 "sport" : {
7482 "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.",
7483 "format" : "pve-fw-sport-spec",
7aacca6f 7484 "optional" : 1,
013dc89f
DM
7485 "type" : "string",
7486 "typetext" : "<string>"
7aacca6f 7487 },
44660702 7488 "type" : {
e94f0d56 7489 "description" : "Rule type.",
44660702
DM
7490 "enum" : [
7491 "in",
7492 "out",
7493 "group"
7494 ],
7495 "optional" : 0,
7496 "type" : "string"
7aacca6f 7497 },
7aacca6f 7498 "vmid" : {
44660702 7499 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
7500 "format" : "pve-vmid",
7501 "minimum" : 1,
4bd7df8b 7502 "type" : "integer",
013dc89f 7503 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
7504 }
7505 }
7506 },
56122987
DM
7507 "permissions" : {
7508 "check" : [
7509 "perm",
7510 "/vms/{vmid}",
7511 [
44660702 7512 "VM.Config.Network"
56122987
DM
7513 ]
7514 ]
7515 },
44660702
DM
7516 "protected" : 1,
7517 "proxyto" : null,
56122987 7518 "returns" : {
44660702
DM
7519 "type" : "null"
7520 }
56122987
DM
7521 }
7522 },
44660702 7523 "leaf" : 0,
7aacca6f 7524 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 7525 "text" : "rules"
56122987
DM
7526 },
7527 {
7528 "children" : [
7529 {
56122987 7530 "info" : {
44660702 7531 "DELETE" : {
e9cd3bd4 7532 "allowtoken" : 1,
44660702
DM
7533 "description" : "Remove IP or Network alias.",
7534 "method" : "DELETE",
7535 "name" : "remove_alias",
56122987 7536 "parameters" : {
44660702 7537 "additionalProperties" : 0,
56122987 7538 "properties" : {
44660702
DM
7539 "digest" : {
7540 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7541 "maxLength" : 40,
7542 "optional" : 1,
013dc89f
DM
7543 "type" : "string",
7544 "typetext" : "<string>"
56122987
DM
7545 },
7546 "name" : {
56122987 7547 "description" : "Alias name.",
44660702 7548 "maxLength" : 64,
7aacca6f 7549 "minLength" : 2,
44660702 7550 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
7551 "type" : "string"
7552 },
7aacca6f 7553 "node" : {
44660702 7554 "description" : "The cluster node name.",
7aacca6f 7555 "format" : "pve-node",
013dc89f
DM
7556 "type" : "string",
7557 "typetext" : "<string>"
44660702
DM
7558 },
7559 "vmid" : {
7560 "description" : "The (unique) ID of the VM.",
7561 "format" : "pve-vmid",
7562 "minimum" : 1,
4bd7df8b 7563 "type" : "integer",
013dc89f 7564 "typetext" : "<integer> (1 - N)"
56122987 7565 }
44660702 7566 }
56122987 7567 },
7aacca6f
DM
7568 "permissions" : {
7569 "check" : [
7570 "perm",
7571 "/vms/{vmid}",
7572 [
7573 "VM.Config.Network"
7574 ]
7575 ]
56122987 7576 },
44660702
DM
7577 "protected" : 1,
7578 "returns" : {
7579 "type" : "null"
7580 }
7581 },
7582 "GET" : {
e9cd3bd4 7583 "allowtoken" : 1,
44660702
DM
7584 "description" : "Read alias.",
7585 "method" : "GET",
7586 "name" : "read_alias",
56122987 7587 "parameters" : {
44660702 7588 "additionalProperties" : 0,
56122987 7589 "properties" : {
56122987 7590 "name" : {
7aacca6f 7591 "description" : "Alias name.",
44660702 7592 "maxLength" : 64,
56122987 7593 "minLength" : 2,
44660702 7594 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 7595 "type" : "string"
7aacca6f
DM
7596 },
7597 "node" : {
7598 "description" : "The cluster node name.",
44660702 7599 "format" : "pve-node",
013dc89f
DM
7600 "type" : "string",
7601 "typetext" : "<string>"
44660702
DM
7602 },
7603 "vmid" : {
7604 "description" : "The (unique) ID of the VM.",
7605 "format" : "pve-vmid",
7606 "minimum" : 1,
4bd7df8b 7607 "type" : "integer",
013dc89f 7608 "typetext" : "<integer> (1 - N)"
56122987 7609 }
44660702 7610 }
56122987 7611 },
44660702
DM
7612 "permissions" : {
7613 "check" : [
7614 "perm",
7615 "/vms/{vmid}",
7616 [
7617 "VM.Audit"
7618 ]
7619 ]
56122987 7620 },
44660702
DM
7621 "returns" : {
7622 "type" : "object"
7623 }
7aacca6f 7624 },
44660702 7625 "PUT" : {
e9cd3bd4 7626 "allowtoken" : 1,
44660702
DM
7627 "description" : "Update IP or Network alias.",
7628 "method" : "PUT",
7629 "name" : "update_alias",
56122987
DM
7630 "parameters" : {
7631 "additionalProperties" : 0,
7632 "properties" : {
44660702
DM
7633 "cidr" : {
7634 "description" : "Network/IP specification in CIDR format.",
7635 "format" : "IPorCIDR",
013dc89f
DM
7636 "type" : "string",
7637 "typetext" : "<string>"
44660702
DM
7638 },
7639 "comment" : {
7640 "optional" : 1,
013dc89f
DM
7641 "type" : "string",
7642 "typetext" : "<string>"
56122987
DM
7643 },
7644 "digest" : {
44660702 7645 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
7646 "maxLength" : 40,
7647 "optional" : 1,
013dc89f
DM
7648 "type" : "string",
7649 "typetext" : "<string>"
56122987 7650 },
7aacca6f 7651 "name" : {
44660702 7652 "description" : "Alias name.",
56122987
DM
7653 "maxLength" : 64,
7654 "minLength" : 2,
7655 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 7656 "type" : "string"
7aacca6f
DM
7657 },
7658 "node" : {
7aacca6f 7659 "description" : "The cluster node name.",
44660702 7660 "format" : "pve-node",
013dc89f
DM
7661 "type" : "string",
7662 "typetext" : "<string>"
44660702
DM
7663 },
7664 "rename" : {
7665 "description" : "Rename an existing alias.",
7666 "maxLength" : 64,
7667 "minLength" : 2,
7668 "optional" : 1,
7669 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7670 "type" : "string"
7671 },
7672 "vmid" : {
7673 "description" : "The (unique) ID of the VM.",
7674 "format" : "pve-vmid",
7675 "minimum" : 1,
4bd7df8b 7676 "type" : "integer",
013dc89f 7677 "typetext" : "<integer> (1 - N)"
56122987
DM
7678 }
7679 }
7680 },
7aacca6f
DM
7681 "permissions" : {
7682 "check" : [
7683 "perm",
7684 "/vms/{vmid}",
7685 [
7686 "VM.Config.Network"
7687 ]
7688 ]
7689 },
7690 "protected" : 1,
7aacca6f
DM
7691 "returns" : {
7692 "type" : "null"
44660702 7693 }
56122987
DM
7694 }
7695 },
44660702 7696 "leaf" : 1,
7aacca6f 7697 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 7698 "text" : "{name}"
56122987
DM
7699 }
7700 ],
7701 "info" : {
44660702 7702 "GET" : {
e9cd3bd4 7703 "allowtoken" : 1,
44660702
DM
7704 "description" : "List aliases",
7705 "method" : "GET",
7706 "name" : "get_aliases",
56122987 7707 "parameters" : {
44660702 7708 "additionalProperties" : 0,
56122987 7709 "properties" : {
7aacca6f 7710 "node" : {
7aacca6f 7711 "description" : "The cluster node name.",
44660702 7712 "format" : "pve-node",
013dc89f
DM
7713 "type" : "string",
7714 "typetext" : "<string>"
56122987 7715 },
44660702
DM
7716 "vmid" : {
7717 "description" : "The (unique) ID of the VM.",
7718 "format" : "pve-vmid",
7719 "minimum" : 1,
4bd7df8b 7720 "type" : "integer",
013dc89f 7721 "typetext" : "<integer> (1 - N)"
56122987 7722 }
44660702 7723 }
56122987 7724 },
56122987
DM
7725 "permissions" : {
7726 "check" : [
7727 "perm",
7728 "/vms/{vmid}",
7729 [
44660702 7730 "VM.Audit"
56122987
DM
7731 ]
7732 ]
7733 },
56122987
DM
7734 "returns" : {
7735 "items" : {
7736 "properties" : {
44660702 7737 "cidr" : {
56122987
DM
7738 "type" : "string"
7739 },
44660702
DM
7740 "comment" : {
7741 "optional" : 1,
7aacca6f 7742 "type" : "string"
56122987
DM
7743 },
7744 "digest" : {
56122987 7745 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 7746 "maxLength" : 40,
56122987
DM
7747 "optional" : 0,
7748 "type" : "string"
7749 },
44660702 7750 "name" : {
56122987
DM
7751 "type" : "string"
7752 }
44660702
DM
7753 },
7754 "type" : "object"
56122987 7755 },
56122987
DM
7756 "links" : [
7757 {
7758 "href" : "{name}",
7759 "rel" : "child"
7760 }
44660702
DM
7761 ],
7762 "type" : "array"
7763 }
7764 },
7765 "POST" : {
e9cd3bd4 7766 "allowtoken" : 1,
44660702
DM
7767 "description" : "Create IP or Network Alias.",
7768 "method" : "POST",
7769 "name" : "create_alias",
56122987 7770 "parameters" : {
7aacca6f 7771 "additionalProperties" : 0,
56122987 7772 "properties" : {
44660702
DM
7773 "cidr" : {
7774 "description" : "Network/IP specification in CIDR format.",
7775 "format" : "IPorCIDR",
013dc89f
DM
7776 "type" : "string",
7777 "typetext" : "<string>"
44660702
DM
7778 },
7779 "comment" : {
7780 "optional" : 1,
013dc89f
DM
7781 "type" : "string",
7782 "typetext" : "<string>"
44660702
DM
7783 },
7784 "name" : {
7785 "description" : "Alias name.",
7786 "maxLength" : 64,
7787 "minLength" : 2,
7788 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7789 "type" : "string"
56122987
DM
7790 },
7791 "node" : {
7aacca6f 7792 "description" : "The cluster node name.",
44660702 7793 "format" : "pve-node",
013dc89f
DM
7794 "type" : "string",
7795 "typetext" : "<string>"
44660702
DM
7796 },
7797 "vmid" : {
7798 "description" : "The (unique) ID of the VM.",
7799 "format" : "pve-vmid",
7800 "minimum" : 1,
4bd7df8b 7801 "type" : "integer",
013dc89f 7802 "typetext" : "<integer> (1 - N)"
56122987 7803 }
7aacca6f 7804 }
56122987 7805 },
44660702
DM
7806 "permissions" : {
7807 "check" : [
7808 "perm",
7809 "/vms/{vmid}",
7810 [
7811 "VM.Config.Network"
7812 ]
7813 ]
7814 },
7815 "protected" : 1,
7816 "returns" : {
7817 "type" : "null"
7818 }
56122987 7819 }
44660702
DM
7820 },
7821 "leaf" : 0,
7822 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
7823 "text" : "aliases"
56122987
DM
7824 },
7825 {
56122987
DM
7826 "children" : [
7827 {
7aacca6f
DM
7828 "children" : [
7829 {
7830 "info" : {
7831 "DELETE" : {
e9cd3bd4 7832 "allowtoken" : 1,
44660702 7833 "description" : "Remove IP or Network from IPSet.",
7aacca6f 7834 "method" : "DELETE",
44660702 7835 "name" : "remove_ip",
7aacca6f 7836 "parameters" : {
44660702 7837 "additionalProperties" : 0,
7aacca6f 7838 "properties" : {
44660702
DM
7839 "cidr" : {
7840 "description" : "Network/IP specification in CIDR format.",
7841 "format" : "IPorCIDRorAlias",
013dc89f
DM
7842 "type" : "string",
7843 "typetext" : "<string>"
44660702
DM
7844 },
7845 "digest" : {
7846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7847 "maxLength" : 40,
7848 "optional" : 1,
013dc89f
DM
7849 "type" : "string",
7850 "typetext" : "<string>"
44660702 7851 },
7aacca6f 7852 "name" : {
7aacca6f 7853 "description" : "IP set name.",
44660702
DM
7854 "maxLength" : 64,
7855 "minLength" : 2,
7aacca6f 7856 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 7857 "type" : "string"
7aacca6f
DM
7858 },
7859 "node" : {
7860 "description" : "The cluster node name.",
44660702 7861 "format" : "pve-node",
013dc89f
DM
7862 "type" : "string",
7863 "typetext" : "<string>"
7aacca6f
DM
7864 },
7865 "vmid" : {
44660702 7866 "description" : "The (unique) ID of the VM.",
7aacca6f 7867 "format" : "pve-vmid",
44660702 7868 "minimum" : 1,
4bd7df8b 7869 "type" : "integer",
013dc89f 7870 "typetext" : "<integer> (1 - N)"
7aacca6f 7871 }
44660702 7872 }
7aacca6f 7873 },
7aacca6f
DM
7874 "permissions" : {
7875 "check" : [
7876 "perm",
7877 "/vms/{vmid}",
7878 [
7879 "VM.Config.Network"
7880 ]
7881 ]
7882 },
7883 "protected" : 1,
44660702
DM
7884 "returns" : {
7885 "type" : "null"
7886 }
56122987 7887 },
44660702 7888 "GET" : {
e9cd3bd4 7889 "allowtoken" : 1,
44660702
DM
7890 "description" : "Read IP or Network settings from IPSet.",
7891 "method" : "GET",
7892 "name" : "read_ip",
7aacca6f 7893 "parameters" : {
44660702 7894 "additionalProperties" : 0,
7aacca6f 7895 "properties" : {
7aacca6f 7896 "cidr" : {
44660702 7897 "description" : "Network/IP specification in CIDR format.",
7aacca6f 7898 "format" : "IPorCIDRorAlias",
013dc89f
DM
7899 "type" : "string",
7900 "typetext" : "<string>"
7aacca6f
DM
7901 },
7902 "name" : {
7aacca6f 7903 "description" : "IP set name.",
44660702 7904 "maxLength" : 64,
7aacca6f 7905 "minLength" : 2,
44660702
DM
7906 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7907 "type" : "string"
7aacca6f 7908 },
44660702
DM
7909 "node" : {
7910 "description" : "The cluster node name.",
7911 "format" : "pve-node",
013dc89f
DM
7912 "type" : "string",
7913 "typetext" : "<string>"
7aacca6f 7914 },
44660702
DM
7915 "vmid" : {
7916 "description" : "The (unique) ID of the VM.",
7917 "format" : "pve-vmid",
7918 "minimum" : 1,
4bd7df8b 7919 "type" : "integer",
013dc89f 7920 "typetext" : "<integer> (1 - N)"
7aacca6f 7921 }
44660702 7922 }
7aacca6f 7923 },
44660702
DM
7924 "permissions" : {
7925 "check" : [
7926 "perm",
7927 "/vms/{vmid}",
7928 [
7929 "VM.Audit"
7930 ]
7931 ]
7932 },
7933 "protected" : 1,
7aacca6f 7934 "returns" : {
44660702 7935 "type" : "object"
7aacca6f 7936 }
56122987 7937 },
44660702 7938 "PUT" : {
e9cd3bd4 7939 "allowtoken" : 1,
44660702
DM
7940 "description" : "Update IP or Network settings",
7941 "method" : "PUT",
7942 "name" : "update_ip",
7aacca6f
DM
7943 "parameters" : {
7944 "additionalProperties" : 0,
7945 "properties" : {
44660702
DM
7946 "cidr" : {
7947 "description" : "Network/IP specification in CIDR format.",
7948 "format" : "IPorCIDRorAlias",
013dc89f
DM
7949 "type" : "string",
7950 "typetext" : "<string>"
44660702
DM
7951 },
7952 "comment" : {
7953 "optional" : 1,
013dc89f
DM
7954 "type" : "string",
7955 "typetext" : "<string>"
44660702
DM
7956 },
7957 "digest" : {
7958 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7959 "maxLength" : 40,
7960 "optional" : 1,
013dc89f
DM
7961 "type" : "string",
7962 "typetext" : "<string>"
44660702 7963 },
7aacca6f 7964 "name" : {
7aacca6f 7965 "description" : "IP set name.",
44660702 7966 "maxLength" : 64,
7aacca6f 7967 "minLength" : 2,
44660702
DM
7968 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7969 "type" : "string"
7aacca6f
DM
7970 },
7971 "node" : {
7aacca6f 7972 "description" : "The cluster node name.",
44660702 7973 "format" : "pve-node",
013dc89f
DM
7974 "type" : "string",
7975 "typetext" : "<string>"
7aacca6f 7976 },
44660702
DM
7977 "nomatch" : {
7978 "optional" : 1,
013dc89f
DM
7979 "type" : "boolean",
7980 "typetext" : "<boolean>"
7aacca6f
DM
7981 },
7982 "vmid" : {
7983 "description" : "The (unique) ID of the VM.",
44660702 7984 "format" : "pve-vmid",
7aacca6f 7985 "minimum" : 1,
4bd7df8b 7986 "type" : "integer",
013dc89f 7987 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
7988 }
7989 }
7990 },
7991 "permissions" : {
7992 "check" : [
7993 "perm",
7994 "/vms/{vmid}",
7995 [
44660702 7996 "VM.Config.Network"
7aacca6f
DM
7997 ]
7998 ]
7999 },
7aacca6f 8000 "protected" : 1,
7aacca6f 8001 "returns" : {
44660702 8002 "type" : "null"
7aacca6f 8003 }
56122987 8004 }
7aacca6f 8005 },
7aacca6f 8006 "leaf" : 1,
44660702
DM
8007 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
8008 "text" : "{cidr}"
7aacca6f 8009 }
44660702
DM
8010 ],
8011 "info" : {
8012 "DELETE" : {
e9cd3bd4 8013 "allowtoken" : 1,
44660702
DM
8014 "description" : "Delete IPSet",
8015 "method" : "DELETE",
8016 "name" : "delete_ipset",
8017 "parameters" : {
8018 "additionalProperties" : 0,
8019 "properties" : {
8020 "name" : {
8021 "description" : "IP set name.",
8022 "maxLength" : 64,
8023 "minLength" : 2,
8024 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8025 "type" : "string"
8026 },
8027 "node" : {
8028 "description" : "The cluster node name.",
8029 "format" : "pve-node",
013dc89f
DM
8030 "type" : "string",
8031 "typetext" : "<string>"
44660702
DM
8032 },
8033 "vmid" : {
8034 "description" : "The (unique) ID of the VM.",
8035 "format" : "pve-vmid",
8036 "minimum" : 1,
4bd7df8b 8037 "type" : "integer",
013dc89f 8038 "typetext" : "<integer> (1 - N)"
44660702
DM
8039 }
8040 }
7aacca6f 8041 },
44660702
DM
8042 "permissions" : {
8043 "check" : [
8044 "perm",
8045 "/vms/{vmid}",
8046 [
8047 "VM.Config.Network"
8048 ]
8049 ]
7aacca6f 8050 },
44660702
DM
8051 "protected" : 1,
8052 "returns" : {
8053 "type" : "null"
8054 }
8055 },
8056 "GET" : {
e9cd3bd4 8057 "allowtoken" : 1,
44660702
DM
8058 "description" : "List IPSet content",
8059 "method" : "GET",
8060 "name" : "get_ipset",
8061 "parameters" : {
8062 "additionalProperties" : 0,
8063 "properties" : {
8064 "name" : {
8065 "description" : "IP set name.",
8066 "maxLength" : 64,
8067 "minLength" : 2,
8068 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8069 "type" : "string"
8070 },
8071 "node" : {
8072 "description" : "The cluster node name.",
8073 "format" : "pve-node",
013dc89f
DM
8074 "type" : "string",
8075 "typetext" : "<string>"
44660702
DM
8076 },
8077 "vmid" : {
8078 "description" : "The (unique) ID of the VM.",
8079 "format" : "pve-vmid",
8080 "minimum" : 1,
4bd7df8b 8081 "type" : "integer",
013dc89f 8082 "typetext" : "<integer> (1 - N)"
44660702
DM
8083 }
8084 }
7aacca6f 8085 },
44660702
DM
8086 "permissions" : {
8087 "check" : [
8088 "perm",
8089 "/vms/{vmid}",
8090 [
8091 "VM.Audit"
8092 ]
8093 ]
7aacca6f 8094 },
44660702
DM
8095 "returns" : {
8096 "items" : {
8097 "properties" : {
8098 "cidr" : {
8099 "type" : "string"
8100 },
8101 "comment" : {
8102 "optional" : 1,
8103 "type" : "string"
8104 },
8105 "digest" : {
8106 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8107 "maxLength" : 40,
8108 "optional" : 0,
8109 "type" : "string"
8110 },
8111 "nomatch" : {
8112 "optional" : 1,
8113 "type" : "boolean"
8114 }
8115 },
8116 "type" : "object"
8117 },
8118 "links" : [
8119 {
8120 "href" : "{cidr}",
8121 "rel" : "child"
8122 }
8123 ],
8124 "type" : "array"
56122987
DM
8125 }
8126 },
44660702 8127 "POST" : {
e9cd3bd4 8128 "allowtoken" : 1,
44660702
DM
8129 "description" : "Add IP or Network to IPSet.",
8130 "method" : "POST",
8131 "name" : "create_ip",
8132 "parameters" : {
8133 "additionalProperties" : 0,
8134 "properties" : {
8135 "cidr" : {
8136 "description" : "Network/IP specification in CIDR format.",
8137 "format" : "IPorCIDRorAlias",
013dc89f
DM
8138 "type" : "string",
8139 "typetext" : "<string>"
44660702
DM
8140 },
8141 "comment" : {
8142 "optional" : 1,
013dc89f
DM
8143 "type" : "string",
8144 "typetext" : "<string>"
44660702
DM
8145 },
8146 "name" : {
8147 "description" : "IP set name.",
8148 "maxLength" : 64,
8149 "minLength" : 2,
8150 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8151 "type" : "string"
8152 },
8153 "node" : {
8154 "description" : "The cluster node name.",
8155 "format" : "pve-node",
013dc89f
DM
8156 "type" : "string",
8157 "typetext" : "<string>"
44660702
DM
8158 },
8159 "nomatch" : {
8160 "optional" : 1,
013dc89f
DM
8161 "type" : "boolean",
8162 "typetext" : "<boolean>"
44660702
DM
8163 },
8164 "vmid" : {
8165 "description" : "The (unique) ID of the VM.",
8166 "format" : "pve-vmid",
8167 "minimum" : 1,
4bd7df8b 8168 "type" : "integer",
013dc89f 8169 "typetext" : "<integer> (1 - N)"
44660702
DM
8170 }
8171 }
8172 },
8173 "permissions" : {
8174 "check" : [
8175 "perm",
8176 "/vms/{vmid}",
8177 [
8178 "VM.Config.Network"
8179 ]
8180 ]
8181 },
8182 "protected" : 1,
8183 "returns" : {
8184 "type" : "null"
8185 }
8186 }
8187 },
8188 "leaf" : 0,
8189 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
8190 "text" : "{name}"
8191 }
8192 ],
8193 "info" : {
8194 "GET" : {
e9cd3bd4 8195 "allowtoken" : 1,
44660702
DM
8196 "description" : "List IPSets",
8197 "method" : "GET",
8198 "name" : "ipset_index",
8199 "parameters" : {
8200 "additionalProperties" : 0,
8201 "properties" : {
8202 "node" : {
8203 "description" : "The cluster node name.",
8204 "format" : "pve-node",
013dc89f
DM
8205 "type" : "string",
8206 "typetext" : "<string>"
44660702
DM
8207 },
8208 "vmid" : {
8209 "description" : "The (unique) ID of the VM.",
8210 "format" : "pve-vmid",
8211 "minimum" : 1,
4bd7df8b 8212 "type" : "integer",
013dc89f 8213 "typetext" : "<integer> (1 - N)"
44660702
DM
8214 }
8215 }
56122987
DM
8216 },
8217 "permissions" : {
8218 "check" : [
8219 "perm",
8220 "/vms/{vmid}",
8221 [
44660702 8222 "VM.Audit"
56122987
DM
8223 ]
8224 ]
8225 },
7aacca6f 8226 "returns" : {
7aacca6f
DM
8227 "items" : {
8228 "properties" : {
7aacca6f
DM
8229 "comment" : {
8230 "optional" : 1,
8231 "type" : "string"
8232 },
8233 "digest" : {
7aacca6f 8234 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
8235 "maxLength" : 40,
8236 "optional" : 0,
8237 "type" : "string"
8238 },
8239 "name" : {
8240 "description" : "IP set name.",
8241 "maxLength" : 64,
8242 "minLength" : 2,
8243 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8244 "type" : "string"
7aacca6f
DM
8245 }
8246 },
8247 "type" : "object"
8248 },
8249 "links" : [
8250 {
44660702
DM
8251 "href" : "{name}",
8252 "rel" : "child"
7aacca6f 8253 }
44660702
DM
8254 ],
8255 "type" : "array"
8256 }
8257 },
8258 "POST" : {
e9cd3bd4 8259 "allowtoken" : 1,
44660702
DM
8260 "description" : "Create new IPSet",
8261 "method" : "POST",
8262 "name" : "create_ipset",
56122987
DM
8263 "parameters" : {
8264 "additionalProperties" : 0,
8265 "properties" : {
44660702
DM
8266 "comment" : {
8267 "optional" : 1,
013dc89f
DM
8268 "type" : "string",
8269 "typetext" : "<string>"
56122987 8270 },
44660702
DM
8271 "digest" : {
8272 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8273 "maxLength" : 40,
8274 "optional" : 1,
013dc89f
DM
8275 "type" : "string",
8276 "typetext" : "<string>"
44660702
DM
8277 },
8278 "name" : {
8279 "description" : "IP set name.",
8280 "maxLength" : 64,
8281 "minLength" : 2,
8282 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8283 "type" : "string"
8284 },
8285 "node" : {
8286 "description" : "The cluster node name.",
8287 "format" : "pve-node",
013dc89f
DM
8288 "type" : "string",
8289 "typetext" : "<string>"
44660702
DM
8290 },
8291 "rename" : {
8292 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
8293 "maxLength" : 64,
8294 "minLength" : 2,
8295 "optional" : 1,
8296 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
8297 "type" : "string"
8298 },
8299 "vmid" : {
8300 "description" : "The (unique) ID of the VM.",
8301 "format" : "pve-vmid",
8302 "minimum" : 1,
4bd7df8b 8303 "type" : "integer",
013dc89f 8304 "typetext" : "<integer> (1 - N)"
44660702
DM
8305 }
8306 }
8307 },
7aacca6f
DM
8308 "permissions" : {
8309 "check" : [
8310 "perm",
8311 "/vms/{vmid}",
8312 [
8313 "VM.Config.Network"
8314 ]
8315 ]
8316 },
44660702 8317 "protected" : 1,
56122987 8318 "returns" : {
7aacca6f 8319 "type" : "null"
44660702
DM
8320 }
8321 }
8322 },
8323 "leaf" : 0,
8324 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
8325 "text" : "ipset"
8326 },
8327 {
8328 "info" : {
8329 "GET" : {
e9cd3bd4 8330 "allowtoken" : 1,
44660702
DM
8331 "description" : "Get VM firewall options.",
8332 "method" : "GET",
8333 "name" : "get_options",
7aacca6f
DM
8334 "parameters" : {
8335 "additionalProperties" : 0,
56122987 8336 "properties" : {
7aacca6f
DM
8337 "node" : {
8338 "description" : "The cluster node name.",
44660702 8339 "format" : "pve-node",
013dc89f
DM
8340 "type" : "string",
8341 "typetext" : "<string>"
7aacca6f 8342 },
44660702
DM
8343 "vmid" : {
8344 "description" : "The (unique) ID of the VM.",
8345 "format" : "pve-vmid",
8346 "minimum" : 1,
4bd7df8b 8347 "type" : "integer",
013dc89f 8348 "typetext" : "<integer> (1 - N)"
44660702
DM
8349 }
8350 }
8351 },
8352 "permissions" : {
8353 "check" : [
8354 "perm",
8355 "/vms/{vmid}",
8356 [
8357 "VM.Audit"
8358 ]
8359 ]
8360 },
8361 "proxyto" : "node",
8362 "returns" : {
8363 "properties" : {
8364 "dhcp" : {
5c1699e5 8365 "default" : 0,
44660702 8366 "description" : "Enable DHCP.",
56122987 8367 "optional" : 1,
44660702 8368 "type" : "boolean"
56122987 8369 },
44660702 8370 "enable" : {
5c1699e5 8371 "default" : 0,
44660702 8372 "description" : "Enable/disable firewall rules.",
7aacca6f 8373 "optional" : 1,
44660702 8374 "type" : "boolean"
56122987 8375 },
44660702
DM
8376 "ipfilter" : {
8377 "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 8378 "optional" : 1,
44660702 8379 "type" : "boolean"
7aacca6f 8380 },
56122987 8381 "log_level_in" : {
7aacca6f 8382 "description" : "Log level for incoming traffic.",
56122987
DM
8383 "enum" : [
8384 "emerg",
8385 "alert",
8386 "crit",
8387 "err",
8388 "warning",
8389 "notice",
8390 "info",
8391 "debug",
8392 "nolog"
8393 ],
56122987
DM
8394 "optional" : 1,
8395 "type" : "string"
8396 },
44660702
DM
8397 "log_level_out" : {
8398 "description" : "Log level for outgoing traffic.",
8399 "enum" : [
8400 "emerg",
8401 "alert",
8402 "crit",
8403 "err",
8404 "warning",
8405 "notice",
8406 "info",
8407 "debug",
8408 "nolog"
8409 ],
8410 "optional" : 1,
8411 "type" : "string"
8412 },
8413 "macfilter" : {
5c1699e5 8414 "default" : 0,
44660702 8415 "description" : "Enable/disable MAC address filter.",
56122987 8416 "optional" : 1,
7aacca6f 8417 "type" : "boolean"
56122987
DM
8418 },
8419 "ndp" : {
5c1699e5
TL
8420 "default" : 0,
8421 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 8422 "optional" : 1,
44660702 8423 "type" : "boolean"
56122987
DM
8424 },
8425 "policy_in" : {
56122987
DM
8426 "description" : "Input policy.",
8427 "enum" : [
8428 "ACCEPT",
8429 "REJECT",
8430 "DROP"
44660702
DM
8431 ],
8432 "optional" : 1,
8433 "type" : "string"
56122987 8434 },
44660702
DM
8435 "policy_out" : {
8436 "description" : "Output policy.",
8437 "enum" : [
8438 "ACCEPT",
8439 "REJECT",
8440 "DROP"
8441 ],
8442 "optional" : 1,
8443 "type" : "string"
8444 },
8445 "radv" : {
8446 "description" : "Allow sending Router Advertisement.",
8447 "optional" : 1,
8448 "type" : "boolean"
8449 }
8450 },
8451 "type" : "object"
8452 }
8453 },
8454 "PUT" : {
e9cd3bd4 8455 "allowtoken" : 1,
44660702
DM
8456 "description" : "Set Firewall options.",
8457 "method" : "PUT",
8458 "name" : "set_options",
8459 "parameters" : {
8460 "additionalProperties" : 0,
8461 "properties" : {
8462 "delete" : {
8463 "description" : "A list of settings you want to delete.",
8464 "format" : "pve-configid-list",
8465 "optional" : 1,
013dc89f
DM
8466 "type" : "string",
8467 "typetext" : "<string>"
44660702
DM
8468 },
8469 "dhcp" : {
5c1699e5 8470 "default" : 0,
44660702 8471 "description" : "Enable DHCP.",
7aacca6f 8472 "optional" : 1,
013dc89f
DM
8473 "type" : "boolean",
8474 "typetext" : "<boolean>"
7aacca6f
DM
8475 },
8476 "digest" : {
8477 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 8478 "maxLength" : 40,
7aacca6f 8479 "optional" : 1,
013dc89f
DM
8480 "type" : "string",
8481 "typetext" : "<string>"
7aacca6f
DM
8482 },
8483 "enable" : {
5c1699e5 8484 "default" : 0,
7aacca6f 8485 "description" : "Enable/disable firewall rules.",
56122987 8486 "optional" : 1,
013dc89f
DM
8487 "type" : "boolean",
8488 "typetext" : "<boolean>"
7aacca6f 8489 },
44660702
DM
8490 "ipfilter" : {
8491 "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.",
8492 "optional" : 1,
013dc89f
DM
8493 "type" : "boolean",
8494 "typetext" : "<boolean>"
44660702
DM
8495 },
8496 "log_level_in" : {
8497 "description" : "Log level for incoming traffic.",
56122987
DM
8498 "enum" : [
8499 "emerg",
8500 "alert",
8501 "crit",
8502 "err",
8503 "warning",
8504 "notice",
8505 "info",
8506 "debug",
8507 "nolog"
7aacca6f 8508 ],
7aacca6f 8509 "optional" : 1,
44660702 8510 "type" : "string"
7aacca6f 8511 },
44660702
DM
8512 "log_level_out" : {
8513 "description" : "Log level for outgoing traffic.",
56122987
DM
8514 "enum" : [
8515 "emerg",
8516 "alert",
8517 "crit",
8518 "err",
8519 "warning",
8520 "notice",
8521 "info",
8522 "debug",
8523 "nolog"
8524 ],
56122987 8525 "optional" : 1,
44660702 8526 "type" : "string"
56122987
DM
8527 },
8528 "macfilter" : {
5c1699e5 8529 "default" : 0,
56122987 8530 "description" : "Enable/disable MAC address filter.",
7aacca6f 8531 "optional" : 1,
013dc89f
DM
8532 "type" : "boolean",
8533 "typetext" : "<boolean>"
56122987 8534 },
44660702 8535 "ndp" : {
5c1699e5
TL
8536 "default" : 0,
8537 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 8538 "optional" : 1,
013dc89f
DM
8539 "type" : "boolean",
8540 "typetext" : "<boolean>"
44660702
DM
8541 },
8542 "node" : {
8543 "description" : "The cluster node name.",
8544 "format" : "pve-node",
013dc89f
DM
8545 "type" : "string",
8546 "typetext" : "<string>"
44660702 8547 },
56122987 8548 "policy_in" : {
44660702 8549 "description" : "Input policy.",
56122987
DM
8550 "enum" : [
8551 "ACCEPT",
8552 "REJECT",
8553 "DROP"
7aacca6f 8554 ],
56122987 8555 "optional" : 1,
7aacca6f 8556 "type" : "string"
56122987 8557 },
44660702
DM
8558 "policy_out" : {
8559 "description" : "Output policy.",
8560 "enum" : [
8561 "ACCEPT",
8562 "REJECT",
8563 "DROP"
8564 ],
56122987 8565 "optional" : 1,
44660702 8566 "type" : "string"
56122987 8567 },
44660702
DM
8568 "radv" : {
8569 "description" : "Allow sending Router Advertisement.",
56122987 8570 "optional" : 1,
013dc89f
DM
8571 "type" : "boolean",
8572 "typetext" : "<boolean>"
7aacca6f
DM
8573 },
8574 "vmid" : {
8575 "description" : "The (unique) ID of the VM.",
44660702 8576 "format" : "pve-vmid",
7aacca6f 8577 "minimum" : 1,
4bd7df8b 8578 "type" : "integer",
013dc89f 8579 "typetext" : "<integer> (1 - N)"
56122987
DM
8580 }
8581 }
8582 },
56122987
DM
8583 "permissions" : {
8584 "check" : [
8585 "perm",
8586 "/vms/{vmid}",
8587 [
44660702 8588 "VM.Config.Network"
56122987
DM
8589 ]
8590 ]
7aacca6f 8591 },
44660702 8592 "protected" : 1,
7aacca6f 8593 "proxyto" : "node",
44660702
DM
8594 "returns" : {
8595 "type" : "null"
8596 }
56122987
DM
8597 }
8598 },
44660702 8599 "leaf" : 1,
7aacca6f 8600 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 8601 "text" : "options"
56122987
DM
8602 },
8603 {
56122987
DM
8604 "info" : {
8605 "GET" : {
e9cd3bd4 8606 "allowtoken" : 1,
44660702
DM
8607 "description" : "Read firewall log",
8608 "method" : "GET",
8609 "name" : "log",
8610 "parameters" : {
8611 "additionalProperties" : 0,
8612 "properties" : {
8613 "limit" : {
8614 "minimum" : 0,
8615 "optional" : 1,
4bd7df8b 8616 "type" : "integer",
013dc89f 8617 "typetext" : "<integer> (0 - N)"
56122987 8618 },
44660702
DM
8619 "node" : {
8620 "description" : "The cluster node name.",
8621 "format" : "pve-node",
013dc89f
DM
8622 "type" : "string",
8623 "typetext" : "<string>"
44660702
DM
8624 },
8625 "start" : {
8626 "minimum" : 0,
8627 "optional" : 1,
4bd7df8b 8628 "type" : "integer",
013dc89f 8629 "typetext" : "<integer> (0 - N)"
44660702
DM
8630 },
8631 "vmid" : {
8632 "description" : "The (unique) ID of the VM.",
8633 "format" : "pve-vmid",
8634 "minimum" : 1,
4bd7df8b 8635 "type" : "integer",
013dc89f 8636 "typetext" : "<integer> (1 - N)"
44660702
DM
8637 }
8638 }
7aacca6f 8639 },
7aacca6f
DM
8640 "permissions" : {
8641 "check" : [
8642 "perm",
8643 "/vms/{vmid}",
8644 [
8645 "VM.Console"
8646 ]
8647 ]
56122987 8648 },
7aacca6f 8649 "protected" : 1,
44660702
DM
8650 "proxyto" : "node",
8651 "returns" : {
8652 "items" : {
8653 "properties" : {
8654 "n" : {
8655 "description" : "Line number",
8656 "type" : "integer"
8657 },
8658 "t" : {
8659 "description" : "Line text",
8660 "type" : "string"
8661 }
56122987 8662 },
44660702 8663 "type" : "object"
7aacca6f 8664 },
44660702 8665 "type" : "array"
7aacca6f
DM
8666 }
8667 }
8668 },
44660702 8669 "leaf" : 1,
7aacca6f 8670 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 8671 "text" : "log"
7aacca6f
DM
8672 },
8673 {
7aacca6f
DM
8674 "info" : {
8675 "GET" : {
e9cd3bd4 8676 "allowtoken" : 1,
7aacca6f 8677 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
8678 "method" : "GET",
8679 "name" : "refs",
56122987 8680 "parameters" : {
44660702 8681 "additionalProperties" : 0,
56122987
DM
8682 "properties" : {
8683 "node" : {
7aacca6f 8684 "description" : "The cluster node name.",
44660702 8685 "format" : "pve-node",
013dc89f
DM
8686 "type" : "string",
8687 "typetext" : "<string>"
56122987
DM
8688 },
8689 "type" : {
56122987
DM
8690 "description" : "Only list references of specified type.",
8691 "enum" : [
8692 "alias",
8693 "ipset"
7aacca6f 8694 ],
44660702
DM
8695 "optional" : 1,
8696 "type" : "string"
8697 },
8698 "vmid" : {
8699 "description" : "The (unique) ID of the VM.",
8700 "format" : "pve-vmid",
8701 "minimum" : 1,
4bd7df8b 8702 "type" : "integer",
013dc89f 8703 "typetext" : "<integer> (1 - N)"
56122987 8704 }
44660702
DM
8705 }
8706 },
8707 "permissions" : {
8708 "check" : [
8709 "perm",
8710 "/vms/{vmid}",
8711 [
8712 "VM.Audit"
8713 ]
8714 ]
56122987
DM
8715 },
8716 "returns" : {
56122987
DM
8717 "items" : {
8718 "properties" : {
44660702
DM
8719 "comment" : {
8720 "optional" : 1,
56122987
DM
8721 "type" : "string"
8722 },
8723 "name" : {
8724 "type" : "string"
8725 },
44660702
DM
8726 "type" : {
8727 "enum" : [
8728 "alias",
8729 "ipset"
8730 ],
7aacca6f 8731 "type" : "string"
56122987
DM
8732 }
8733 },
8734 "type" : "object"
7aacca6f
DM
8735 },
8736 "type" : "array"
8737 }
56122987 8738 }
44660702
DM
8739 },
8740 "leaf" : 1,
8741 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
8742 "text" : "refs"
56122987
DM
8743 }
8744 ],
56122987
DM
8745 "info" : {
8746 "GET" : {
e9cd3bd4 8747 "allowtoken" : 1,
44660702 8748 "description" : "Directory index.",
56122987 8749 "method" : "GET",
44660702 8750 "name" : "index",
56122987 8751 "parameters" : {
44660702 8752 "additionalProperties" : 0,
56122987
DM
8753 "properties" : {
8754 "node" : {
8755 "description" : "The cluster node name.",
44660702 8756 "format" : "pve-node",
013dc89f
DM
8757 "type" : "string",
8758 "typetext" : "<string>"
56122987
DM
8759 },
8760 "vmid" : {
44660702 8761 "description" : "The (unique) ID of the VM.",
56122987
DM
8762 "format" : "pve-vmid",
8763 "minimum" : 1,
4bd7df8b 8764 "type" : "integer",
013dc89f 8765 "typetext" : "<integer> (1 - N)"
56122987 8766 }
44660702 8767 }
56122987 8768 },
56122987 8769 "permissions" : {
27a7acb2
DM
8770 "user" : "all"
8771 },
8772 "returns" : {
8773 "items" : {
8774 "properties" : {},
8775 "type" : "object"
8776 },
8777 "links" : [
8778 {
8779 "href" : "{name}",
8780 "rel" : "child"
8781 }
8782 ],
8783 "type" : "array"
8784 }
8785 }
8786 },
8787 "leaf" : 0,
8788 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
8789 "text" : "firewall"
8790 },
8791 {
8792 "children" : [
8793 {
8794 "info" : {
8795 "POST" : {
e9cd3bd4 8796 "allowtoken" : 1,
27a7acb2
DM
8797 "description" : "Execute fsfreeze-freeze.",
8798 "method" : "POST",
8799 "name" : "fsfreeze-freeze",
8800 "parameters" : {
8801 "additionalProperties" : 0,
8802 "properties" : {
8803 "node" : {
8804 "description" : "The cluster node name.",
8805 "format" : "pve-node",
8806 "type" : "string",
8807 "typetext" : "<string>"
8808 },
8809 "vmid" : {
8810 "description" : "The (unique) ID of the VM.",
8811 "format" : "pve-vmid",
8812 "minimum" : 1,
8813 "type" : "integer",
8814 "typetext" : "<integer> (1 - N)"
8815 }
8816 }
8817 },
8818 "permissions" : {
8819 "check" : [
8820 "perm",
8821 "/vms/{vmid}",
8822 [
8823 "VM.Monitor"
8824 ]
8825 ]
8826 },
8827 "protected" : 1,
8828 "proxyto" : "node",
8829 "returns" : {
8830 "description" : "Returns an object with a single `result` property.",
8831 "type" : "object"
8832 }
8833 }
8834 },
8835 "leaf" : 1,
8836 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
8837 "text" : "fsfreeze-freeze"
8838 },
8839 {
8840 "info" : {
8841 "POST" : {
e9cd3bd4 8842 "allowtoken" : 1,
27a7acb2
DM
8843 "description" : "Execute fsfreeze-status.",
8844 "method" : "POST",
8845 "name" : "fsfreeze-status",
8846 "parameters" : {
8847 "additionalProperties" : 0,
8848 "properties" : {
8849 "node" : {
8850 "description" : "The cluster node name.",
8851 "format" : "pve-node",
8852 "type" : "string",
8853 "typetext" : "<string>"
8854 },
8855 "vmid" : {
8856 "description" : "The (unique) ID of the VM.",
8857 "format" : "pve-vmid",
8858 "minimum" : 1,
8859 "type" : "integer",
8860 "typetext" : "<integer> (1 - N)"
8861 }
8862 }
8863 },
8864 "permissions" : {
8865 "check" : [
8866 "perm",
8867 "/vms/{vmid}",
8868 [
8869 "VM.Monitor"
8870 ]
8871 ]
8872 },
8873 "protected" : 1,
8874 "proxyto" : "node",
8875 "returns" : {
8876 "description" : "Returns an object with a single `result` property.",
8877 "type" : "object"
8878 }
8879 }
8880 },
8881 "leaf" : 1,
8882 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
8883 "text" : "fsfreeze-status"
8884 },
8885 {
8886 "info" : {
8887 "POST" : {
e9cd3bd4 8888 "allowtoken" : 1,
27a7acb2
DM
8889 "description" : "Execute fsfreeze-thaw.",
8890 "method" : "POST",
8891 "name" : "fsfreeze-thaw",
8892 "parameters" : {
8893 "additionalProperties" : 0,
8894 "properties" : {
8895 "node" : {
8896 "description" : "The cluster node name.",
8897 "format" : "pve-node",
8898 "type" : "string",
8899 "typetext" : "<string>"
8900 },
8901 "vmid" : {
8902 "description" : "The (unique) ID of the VM.",
8903 "format" : "pve-vmid",
8904 "minimum" : 1,
8905 "type" : "integer",
8906 "typetext" : "<integer> (1 - N)"
8907 }
8908 }
8909 },
8910 "permissions" : {
8911 "check" : [
8912 "perm",
8913 "/vms/{vmid}",
8914 [
8915 "VM.Monitor"
8916 ]
8917 ]
8918 },
8919 "protected" : 1,
8920 "proxyto" : "node",
8921 "returns" : {
8922 "description" : "Returns an object with a single `result` property.",
8923 "type" : "object"
8924 }
8925 }
8926 },
8927 "leaf" : 1,
8928 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
8929 "text" : "fsfreeze-thaw"
8930 },
8931 {
8932 "info" : {
8933 "POST" : {
e9cd3bd4 8934 "allowtoken" : 1,
27a7acb2
DM
8935 "description" : "Execute fstrim.",
8936 "method" : "POST",
8937 "name" : "fstrim",
8938 "parameters" : {
8939 "additionalProperties" : 0,
8940 "properties" : {
8941 "node" : {
8942 "description" : "The cluster node name.",
8943 "format" : "pve-node",
8944 "type" : "string",
8945 "typetext" : "<string>"
8946 },
8947 "vmid" : {
8948 "description" : "The (unique) ID of the VM.",
8949 "format" : "pve-vmid",
8950 "minimum" : 1,
8951 "type" : "integer",
8952 "typetext" : "<integer> (1 - N)"
8953 }
8954 }
8955 },
8956 "permissions" : {
8957 "check" : [
8958 "perm",
8959 "/vms/{vmid}",
8960 [
8961 "VM.Monitor"
8962 ]
8963 ]
8964 },
8965 "protected" : 1,
8966 "proxyto" : "node",
8967 "returns" : {
8968 "description" : "Returns an object with a single `result` property.",
8969 "type" : "object"
8970 }
8971 }
8972 },
8973 "leaf" : 1,
8974 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
8975 "text" : "fstrim"
8976 },
8977 {
8978 "info" : {
8979 "GET" : {
e9cd3bd4 8980 "allowtoken" : 1,
27a7acb2
DM
8981 "description" : "Execute get-fsinfo.",
8982 "method" : "GET",
8983 "name" : "get-fsinfo",
8984 "parameters" : {
8985 "additionalProperties" : 0,
8986 "properties" : {
8987 "node" : {
8988 "description" : "The cluster node name.",
8989 "format" : "pve-node",
8990 "type" : "string",
8991 "typetext" : "<string>"
8992 },
8993 "vmid" : {
8994 "description" : "The (unique) ID of the VM.",
8995 "format" : "pve-vmid",
8996 "minimum" : 1,
8997 "type" : "integer",
8998 "typetext" : "<integer> (1 - N)"
8999 }
9000 }
9001 },
9002 "permissions" : {
9003 "check" : [
9004 "perm",
9005 "/vms/{vmid}",
9006 [
9007 "VM.Monitor"
9008 ]
9009 ]
9010 },
9011 "protected" : 1,
9012 "proxyto" : "node",
9013 "returns" : {
9014 "description" : "Returns an object with a single `result` property.",
9015 "type" : "object"
9016 }
9017 }
9018 },
9019 "leaf" : 1,
9020 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
9021 "text" : "get-fsinfo"
9022 },
9023 {
9024 "info" : {
9025 "GET" : {
e9cd3bd4 9026 "allowtoken" : 1,
27a7acb2
DM
9027 "description" : "Execute get-host-name.",
9028 "method" : "GET",
9029 "name" : "get-host-name",
9030 "parameters" : {
9031 "additionalProperties" : 0,
9032 "properties" : {
9033 "node" : {
9034 "description" : "The cluster node name.",
9035 "format" : "pve-node",
9036 "type" : "string",
9037 "typetext" : "<string>"
9038 },
9039 "vmid" : {
9040 "description" : "The (unique) ID of the VM.",
9041 "format" : "pve-vmid",
9042 "minimum" : 1,
9043 "type" : "integer",
9044 "typetext" : "<integer> (1 - N)"
9045 }
9046 }
9047 },
9048 "permissions" : {
9049 "check" : [
9050 "perm",
9051 "/vms/{vmid}",
9052 [
9053 "VM.Monitor"
9054 ]
9055 ]
9056 },
9057 "protected" : 1,
9058 "proxyto" : "node",
9059 "returns" : {
9060 "description" : "Returns an object with a single `result` property.",
9061 "type" : "object"
9062 }
9063 }
9064 },
9065 "leaf" : 1,
9066 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
9067 "text" : "get-host-name"
9068 },
9069 {
9070 "info" : {
9071 "GET" : {
e9cd3bd4 9072 "allowtoken" : 1,
27a7acb2
DM
9073 "description" : "Execute get-memory-block-info.",
9074 "method" : "GET",
9075 "name" : "get-memory-block-info",
9076 "parameters" : {
9077 "additionalProperties" : 0,
9078 "properties" : {
9079 "node" : {
9080 "description" : "The cluster node name.",
9081 "format" : "pve-node",
9082 "type" : "string",
9083 "typetext" : "<string>"
9084 },
9085 "vmid" : {
9086 "description" : "The (unique) ID of the VM.",
9087 "format" : "pve-vmid",
9088 "minimum" : 1,
9089 "type" : "integer",
9090 "typetext" : "<integer> (1 - N)"
9091 }
9092 }
9093 },
9094 "permissions" : {
9095 "check" : [
9096 "perm",
9097 "/vms/{vmid}",
9098 [
9099 "VM.Monitor"
9100 ]
9101 ]
9102 },
9103 "protected" : 1,
9104 "proxyto" : "node",
9105 "returns" : {
9106 "description" : "Returns an object with a single `result` property.",
9107 "type" : "object"
9108 }
9109 }
9110 },
9111 "leaf" : 1,
9112 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
9113 "text" : "get-memory-block-info"
9114 },
9115 {
9116 "info" : {
9117 "GET" : {
e9cd3bd4 9118 "allowtoken" : 1,
27a7acb2
DM
9119 "description" : "Execute get-memory-blocks.",
9120 "method" : "GET",
9121 "name" : "get-memory-blocks",
9122 "parameters" : {
9123 "additionalProperties" : 0,
9124 "properties" : {
9125 "node" : {
9126 "description" : "The cluster node name.",
9127 "format" : "pve-node",
9128 "type" : "string",
9129 "typetext" : "<string>"
9130 },
9131 "vmid" : {
9132 "description" : "The (unique) ID of the VM.",
9133 "format" : "pve-vmid",
9134 "minimum" : 1,
9135 "type" : "integer",
9136 "typetext" : "<integer> (1 - N)"
9137 }
9138 }
9139 },
9140 "permissions" : {
9141 "check" : [
9142 "perm",
9143 "/vms/{vmid}",
9144 [
9145 "VM.Monitor"
9146 ]
9147 ]
9148 },
9149 "protected" : 1,
9150 "proxyto" : "node",
9151 "returns" : {
9152 "description" : "Returns an object with a single `result` property.",
9153 "type" : "object"
9154 }
9155 }
9156 },
9157 "leaf" : 1,
9158 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
9159 "text" : "get-memory-blocks"
9160 },
9161 {
9162 "info" : {
9163 "GET" : {
e9cd3bd4 9164 "allowtoken" : 1,
27a7acb2
DM
9165 "description" : "Execute get-osinfo.",
9166 "method" : "GET",
9167 "name" : "get-osinfo",
9168 "parameters" : {
9169 "additionalProperties" : 0,
9170 "properties" : {
9171 "node" : {
9172 "description" : "The cluster node name.",
9173 "format" : "pve-node",
9174 "type" : "string",
9175 "typetext" : "<string>"
9176 },
9177 "vmid" : {
9178 "description" : "The (unique) ID of the VM.",
9179 "format" : "pve-vmid",
9180 "minimum" : 1,
9181 "type" : "integer",
9182 "typetext" : "<integer> (1 - N)"
9183 }
9184 }
9185 },
9186 "permissions" : {
9187 "check" : [
9188 "perm",
9189 "/vms/{vmid}",
9190 [
9191 "VM.Monitor"
9192 ]
9193 ]
9194 },
9195 "protected" : 1,
9196 "proxyto" : "node",
9197 "returns" : {
9198 "description" : "Returns an object with a single `result` property.",
9199 "type" : "object"
9200 }
9201 }
9202 },
9203 "leaf" : 1,
9204 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
9205 "text" : "get-osinfo"
9206 },
9207 {
9208 "info" : {
9209 "GET" : {
e9cd3bd4 9210 "allowtoken" : 1,
27a7acb2
DM
9211 "description" : "Execute get-time.",
9212 "method" : "GET",
9213 "name" : "get-time",
9214 "parameters" : {
9215 "additionalProperties" : 0,
9216 "properties" : {
9217 "node" : {
9218 "description" : "The cluster node name.",
9219 "format" : "pve-node",
9220 "type" : "string",
9221 "typetext" : "<string>"
9222 },
9223 "vmid" : {
9224 "description" : "The (unique) ID of the VM.",
9225 "format" : "pve-vmid",
9226 "minimum" : 1,
9227 "type" : "integer",
9228 "typetext" : "<integer> (1 - N)"
9229 }
9230 }
9231 },
9232 "permissions" : {
9233 "check" : [
9234 "perm",
9235 "/vms/{vmid}",
9236 [
9237 "VM.Monitor"
9238 ]
9239 ]
9240 },
9241 "protected" : 1,
9242 "proxyto" : "node",
9243 "returns" : {
9244 "description" : "Returns an object with a single `result` property.",
9245 "type" : "object"
9246 }
9247 }
9248 },
9249 "leaf" : 1,
9250 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
9251 "text" : "get-time"
9252 },
9253 {
9254 "info" : {
9255 "GET" : {
e9cd3bd4 9256 "allowtoken" : 1,
27a7acb2
DM
9257 "description" : "Execute get-timezone.",
9258 "method" : "GET",
9259 "name" : "get-timezone",
9260 "parameters" : {
9261 "additionalProperties" : 0,
9262 "properties" : {
9263 "node" : {
9264 "description" : "The cluster node name.",
9265 "format" : "pve-node",
9266 "type" : "string",
9267 "typetext" : "<string>"
9268 },
9269 "vmid" : {
9270 "description" : "The (unique) ID of the VM.",
9271 "format" : "pve-vmid",
9272 "minimum" : 1,
9273 "type" : "integer",
9274 "typetext" : "<integer> (1 - N)"
9275 }
9276 }
9277 },
9278 "permissions" : {
9279 "check" : [
9280 "perm",
9281 "/vms/{vmid}",
9282 [
9283 "VM.Monitor"
9284 ]
9285 ]
9286 },
9287 "protected" : 1,
9288 "proxyto" : "node",
9289 "returns" : {
9290 "description" : "Returns an object with a single `result` property.",
9291 "type" : "object"
9292 }
9293 }
9294 },
9295 "leaf" : 1,
9296 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
9297 "text" : "get-timezone"
9298 },
9299 {
9300 "info" : {
9301 "GET" : {
e9cd3bd4 9302 "allowtoken" : 1,
27a7acb2
DM
9303 "description" : "Execute get-users.",
9304 "method" : "GET",
9305 "name" : "get-users",
9306 "parameters" : {
9307 "additionalProperties" : 0,
9308 "properties" : {
9309 "node" : {
9310 "description" : "The cluster node name.",
9311 "format" : "pve-node",
9312 "type" : "string",
9313 "typetext" : "<string>"
9314 },
9315 "vmid" : {
9316 "description" : "The (unique) ID of the VM.",
9317 "format" : "pve-vmid",
9318 "minimum" : 1,
9319 "type" : "integer",
9320 "typetext" : "<integer> (1 - N)"
9321 }
9322 }
9323 },
9324 "permissions" : {
9325 "check" : [
9326 "perm",
9327 "/vms/{vmid}",
9328 [
9329 "VM.Monitor"
9330 ]
9331 ]
9332 },
9333 "protected" : 1,
9334 "proxyto" : "node",
9335 "returns" : {
9336 "description" : "Returns an object with a single `result` property.",
9337 "type" : "object"
9338 }
9339 }
9340 },
9341 "leaf" : 1,
9342 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
9343 "text" : "get-users"
9344 },
9345 {
9346 "info" : {
9347 "GET" : {
e9cd3bd4 9348 "allowtoken" : 1,
27a7acb2
DM
9349 "description" : "Execute get-vcpus.",
9350 "method" : "GET",
9351 "name" : "get-vcpus",
9352 "parameters" : {
9353 "additionalProperties" : 0,
9354 "properties" : {
9355 "node" : {
9356 "description" : "The cluster node name.",
9357 "format" : "pve-node",
9358 "type" : "string",
9359 "typetext" : "<string>"
9360 },
9361 "vmid" : {
9362 "description" : "The (unique) ID of the VM.",
9363 "format" : "pve-vmid",
9364 "minimum" : 1,
9365 "type" : "integer",
9366 "typetext" : "<integer> (1 - N)"
9367 }
9368 }
9369 },
9370 "permissions" : {
9371 "check" : [
9372 "perm",
9373 "/vms/{vmid}",
9374 [
9375 "VM.Monitor"
9376 ]
9377 ]
9378 },
9379 "protected" : 1,
9380 "proxyto" : "node",
9381 "returns" : {
9382 "description" : "Returns an object with a single `result` property.",
9383 "type" : "object"
9384 }
9385 }
9386 },
9387 "leaf" : 1,
9388 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
9389 "text" : "get-vcpus"
9390 },
9391 {
9392 "info" : {
9393 "GET" : {
e9cd3bd4 9394 "allowtoken" : 1,
27a7acb2
DM
9395 "description" : "Execute info.",
9396 "method" : "GET",
9397 "name" : "info",
9398 "parameters" : {
9399 "additionalProperties" : 0,
9400 "properties" : {
9401 "node" : {
9402 "description" : "The cluster node name.",
9403 "format" : "pve-node",
9404 "type" : "string",
9405 "typetext" : "<string>"
9406 },
9407 "vmid" : {
9408 "description" : "The (unique) ID of the VM.",
9409 "format" : "pve-vmid",
9410 "minimum" : 1,
9411 "type" : "integer",
9412 "typetext" : "<integer> (1 - N)"
9413 }
9414 }
9415 },
9416 "permissions" : {
9417 "check" : [
9418 "perm",
9419 "/vms/{vmid}",
9420 [
9421 "VM.Monitor"
9422 ]
9423 ]
9424 },
9425 "protected" : 1,
9426 "proxyto" : "node",
9427 "returns" : {
9428 "description" : "Returns an object with a single `result` property.",
9429 "type" : "object"
9430 }
9431 }
9432 },
9433 "leaf" : 1,
9434 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
9435 "text" : "info"
9436 },
9437 {
9438 "info" : {
9439 "GET" : {
e9cd3bd4 9440 "allowtoken" : 1,
27a7acb2
DM
9441 "description" : "Execute network-get-interfaces.",
9442 "method" : "GET",
9443 "name" : "network-get-interfaces",
9444 "parameters" : {
9445 "additionalProperties" : 0,
9446 "properties" : {
9447 "node" : {
9448 "description" : "The cluster node name.",
9449 "format" : "pve-node",
9450 "type" : "string",
9451 "typetext" : "<string>"
9452 },
9453 "vmid" : {
9454 "description" : "The (unique) ID of the VM.",
9455 "format" : "pve-vmid",
9456 "minimum" : 1,
9457 "type" : "integer",
9458 "typetext" : "<integer> (1 - N)"
9459 }
9460 }
9461 },
9462 "permissions" : {
9463 "check" : [
9464 "perm",
9465 "/vms/{vmid}",
9466 [
9467 "VM.Monitor"
9468 ]
9469 ]
9470 },
9471 "protected" : 1,
9472 "proxyto" : "node",
9473 "returns" : {
9474 "description" : "Returns an object with a single `result` property.",
9475 "type" : "object"
9476 }
9477 }
9478 },
9479 "leaf" : 1,
9480 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
9481 "text" : "network-get-interfaces"
9482 },
9483 {
9484 "info" : {
9485 "POST" : {
e9cd3bd4 9486 "allowtoken" : 1,
27a7acb2
DM
9487 "description" : "Execute ping.",
9488 "method" : "POST",
9489 "name" : "ping",
9490 "parameters" : {
9491 "additionalProperties" : 0,
9492 "properties" : {
9493 "node" : {
9494 "description" : "The cluster node name.",
9495 "format" : "pve-node",
9496 "type" : "string",
9497 "typetext" : "<string>"
9498 },
9499 "vmid" : {
9500 "description" : "The (unique) ID of the VM.",
9501 "format" : "pve-vmid",
9502 "minimum" : 1,
9503 "type" : "integer",
9504 "typetext" : "<integer> (1 - N)"
9505 }
9506 }
9507 },
9508 "permissions" : {
9509 "check" : [
9510 "perm",
9511 "/vms/{vmid}",
9512 [
9513 "VM.Monitor"
9514 ]
9515 ]
9516 },
9517 "protected" : 1,
9518 "proxyto" : "node",
9519 "returns" : {
9520 "description" : "Returns an object with a single `result` property.",
9521 "type" : "object"
9522 }
9523 }
9524 },
9525 "leaf" : 1,
9526 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
9527 "text" : "ping"
9528 },
9529 {
9530 "info" : {
9531 "POST" : {
e9cd3bd4 9532 "allowtoken" : 1,
27a7acb2
DM
9533 "description" : "Execute shutdown.",
9534 "method" : "POST",
9535 "name" : "shutdown",
9536 "parameters" : {
9537 "additionalProperties" : 0,
9538 "properties" : {
9539 "node" : {
9540 "description" : "The cluster node name.",
9541 "format" : "pve-node",
9542 "type" : "string",
9543 "typetext" : "<string>"
9544 },
9545 "vmid" : {
9546 "description" : "The (unique) ID of the VM.",
9547 "format" : "pve-vmid",
9548 "minimum" : 1,
9549 "type" : "integer",
9550 "typetext" : "<integer> (1 - N)"
9551 }
9552 }
9553 },
9554 "permissions" : {
9555 "check" : [
9556 "perm",
9557 "/vms/{vmid}",
9558 [
9559 "VM.Monitor"
9560 ]
9561 ]
9562 },
9563 "protected" : 1,
9564 "proxyto" : "node",
9565 "returns" : {
9566 "description" : "Returns an object with a single `result` property.",
9567 "type" : "object"
9568 }
9569 }
9570 },
9571 "leaf" : 1,
9572 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
9573 "text" : "shutdown"
9574 },
9575 {
9576 "info" : {
9577 "POST" : {
e9cd3bd4 9578 "allowtoken" : 1,
27a7acb2
DM
9579 "description" : "Execute suspend-disk.",
9580 "method" : "POST",
9581 "name" : "suspend-disk",
9582 "parameters" : {
9583 "additionalProperties" : 0,
9584 "properties" : {
9585 "node" : {
9586 "description" : "The cluster node name.",
9587 "format" : "pve-node",
9588 "type" : "string",
9589 "typetext" : "<string>"
9590 },
9591 "vmid" : {
9592 "description" : "The (unique) ID of the VM.",
9593 "format" : "pve-vmid",
9594 "minimum" : 1,
9595 "type" : "integer",
9596 "typetext" : "<integer> (1 - N)"
9597 }
9598 }
9599 },
9600 "permissions" : {
9601 "check" : [
9602 "perm",
9603 "/vms/{vmid}",
9604 [
9605 "VM.Monitor"
9606 ]
9607 ]
9608 },
9609 "protected" : 1,
9610 "proxyto" : "node",
9611 "returns" : {
9612 "description" : "Returns an object with a single `result` property.",
9613 "type" : "object"
9614 }
9615 }
9616 },
9617 "leaf" : 1,
9618 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
9619 "text" : "suspend-disk"
9620 },
9621 {
9622 "info" : {
9623 "POST" : {
e9cd3bd4 9624 "allowtoken" : 1,
27a7acb2
DM
9625 "description" : "Execute suspend-hybrid.",
9626 "method" : "POST",
9627 "name" : "suspend-hybrid",
9628 "parameters" : {
9629 "additionalProperties" : 0,
9630 "properties" : {
9631 "node" : {
9632 "description" : "The cluster node name.",
9633 "format" : "pve-node",
9634 "type" : "string",
9635 "typetext" : "<string>"
9636 },
9637 "vmid" : {
9638 "description" : "The (unique) ID of the VM.",
9639 "format" : "pve-vmid",
9640 "minimum" : 1,
9641 "type" : "integer",
9642 "typetext" : "<integer> (1 - N)"
9643 }
9644 }
9645 },
9646 "permissions" : {
9647 "check" : [
9648 "perm",
9649 "/vms/{vmid}",
9650 [
9651 "VM.Monitor"
9652 ]
9653 ]
9654 },
9655 "protected" : 1,
9656 "proxyto" : "node",
9657 "returns" : {
9658 "description" : "Returns an object with a single `result` property.",
9659 "type" : "object"
9660 }
9661 }
9662 },
9663 "leaf" : 1,
9664 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
9665 "text" : "suspend-hybrid"
9666 },
9667 {
9668 "info" : {
9669 "POST" : {
e9cd3bd4 9670 "allowtoken" : 1,
27a7acb2
DM
9671 "description" : "Execute suspend-ram.",
9672 "method" : "POST",
9673 "name" : "suspend-ram",
9674 "parameters" : {
9675 "additionalProperties" : 0,
9676 "properties" : {
9677 "node" : {
9678 "description" : "The cluster node name.",
9679 "format" : "pve-node",
9680 "type" : "string",
9681 "typetext" : "<string>"
9682 },
9683 "vmid" : {
9684 "description" : "The (unique) ID of the VM.",
9685 "format" : "pve-vmid",
9686 "minimum" : 1,
9687 "type" : "integer",
9688 "typetext" : "<integer> (1 - N)"
9689 }
9690 }
9691 },
9692 "permissions" : {
9693 "check" : [
9694 "perm",
9695 "/vms/{vmid}",
9696 [
9697 "VM.Monitor"
9698 ]
9699 ]
9700 },
9701 "protected" : 1,
9702 "proxyto" : "node",
9703 "returns" : {
9704 "description" : "Returns an object with a single `result` property.",
9705 "type" : "object"
9706 }
9707 }
9708 },
9709 "leaf" : 1,
9710 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
9711 "text" : "suspend-ram"
4d47f125
TL
9712 },
9713 {
9714 "info" : {
9715 "POST" : {
e9cd3bd4 9716 "allowtoken" : 1,
4d47f125
TL
9717 "description" : "Sets the password for the given user to the given password",
9718 "method" : "POST",
9719 "name" : "set-user-password",
9720 "parameters" : {
9721 "additionalProperties" : 0,
9722 "properties" : {
9723 "crypted" : {
9724 "default" : 0,
9725 "description" : "set to 1 if the password has already been passed through crypt()",
9726 "optional" : 1,
9727 "type" : "boolean",
9728 "typetext" : "<boolean>"
9729 },
9730 "node" : {
9731 "description" : "The cluster node name.",
9732 "format" : "pve-node",
9733 "type" : "string",
9734 "typetext" : "<string>"
9735 },
9736 "password" : {
9737 "description" : "The new password.",
1c532546 9738 "maxLength" : 1024,
4d47f125
TL
9739 "minLength" : 5,
9740 "type" : "string",
9741 "typetext" : "<string>"
9742 },
9743 "username" : {
9744 "description" : "The user to set the password for.",
9745 "type" : "string",
9746 "typetext" : "<string>"
9747 },
9748 "vmid" : {
9749 "description" : "The (unique) ID of the VM.",
9750 "format" : "pve-vmid",
9751 "minimum" : 1,
9752 "type" : "integer",
9753 "typetext" : "<integer> (1 - N)"
9754 }
9755 }
27a7acb2 9756 },
4d47f125
TL
9757 "permissions" : {
9758 "check" : [
9759 "perm",
9760 "/vms/{vmid}",
9761 [
9762 "VM.Monitor"
9763 ]
9764 ]
9765 },
9766 "protected" : 1,
9767 "proxyto" : "node",
9768 "returns" : {
9769 "description" : "Returns an object with a single `result` property.",
9770 "type" : "object"
27a7acb2
DM
9771 }
9772 }
9773 },
4d47f125
TL
9774 "leaf" : 1,
9775 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
9776 "text" : "set-user-password"
27a7acb2 9777 },
4d47f125
TL
9778 {
9779 "info" : {
9780 "POST" : {
e9cd3bd4 9781 "allowtoken" : 1,
4d47f125
TL
9782 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
9783 "method" : "POST",
9784 "name" : "exec",
9785 "parameters" : {
9786 "additionalProperties" : 0,
9787 "properties" : {
9788 "command" : {
9789 "description" : "The command as a list of program + arguments",
9790 "format" : "string-alist",
c5aa7e14
TL
9791 "optional" : 1,
9792 "type" : "string",
9793 "typetext" : "<string>"
9794 },
9795 "input-data" : {
9796 "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.",
9797 "maxLength" : 65536,
9798 "optional" : 1,
4d47f125
TL
9799 "type" : "string",
9800 "typetext" : "<string>"
9801 },
9802 "node" : {
9803 "description" : "The cluster node name.",
9804 "format" : "pve-node",
9805 "type" : "string",
9806 "typetext" : "<string>"
9807 },
9808 "vmid" : {
9809 "description" : "The (unique) ID of the VM.",
9810 "format" : "pve-vmid",
9811 "minimum" : 1,
9812 "type" : "integer",
9813 "typetext" : "<integer> (1 - N)"
9814 }
9815 }
27a7acb2 9816 },
4d47f125
TL
9817 "permissions" : {
9818 "check" : [
9819 "perm",
9820 "/vms/{vmid}",
9821 [
9822 "VM.Monitor"
9823 ]
9824 ]
27a7acb2 9825 },
4d47f125
TL
9826 "protected" : 1,
9827 "proxyto" : "node",
9828 "returns" : {
9829 "properties" : {
9830 "pid" : {
9831 "description" : "The PID of the process started by the guest-agent.",
9832 "type" : "integer"
9833 }
9834 },
9835 "type" : "object"
27a7acb2
DM
9836 }
9837 }
9838 },
4d47f125
TL
9839 "leaf" : 1,
9840 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
9841 "text" : "exec"
9842 },
9843 {
9844 "info" : {
9845 "GET" : {
e9cd3bd4 9846 "allowtoken" : 1,
4d47f125
TL
9847 "description" : "Gets the status of the given pid started by the guest-agent",
9848 "method" : "GET",
9849 "name" : "exec-status",
9850 "parameters" : {
9851 "additionalProperties" : 0,
9852 "properties" : {
9853 "node" : {
9854 "description" : "The cluster node name.",
9855 "format" : "pve-node",
9856 "type" : "string",
9857 "typetext" : "<string>"
9858 },
9859 "pid" : {
9860 "description" : "The PID to query",
9861 "type" : "integer",
9862 "typetext" : "<integer>"
9863 },
9864 "vmid" : {
9865 "description" : "The (unique) ID of the VM.",
9866 "format" : "pve-vmid",
9867 "minimum" : 1,
9868 "type" : "integer",
9869 "typetext" : "<integer> (1 - N)"
9870 }
9871 }
56122987 9872 },
4d47f125
TL
9873 "permissions" : {
9874 "check" : [
9875 "perm",
9876 "/vms/{vmid}",
9877 [
9878 "VM.Monitor"
9879 ]
9880 ]
56122987 9881 },
4d47f125
TL
9882 "protected" : 1,
9883 "proxyto" : "node",
9884 "returns" : {
9885 "properties" : {
9886 "err-data" : {
9887 "description" : "stderr of the process",
9888 "optional" : 1,
9889 "type" : "string"
9890 },
9891 "err-truncated" : {
9892 "description" : "true if stderr was not fully captured",
9893 "optional" : 1,
9894 "type" : "boolean"
9895 },
9896 "exitcode" : {
9897 "description" : "process exit code if it was normally terminated.",
9898 "optional" : 1,
9899 "type" : "integer"
9900 },
9901 "exited" : {
9902 "description" : "Tells if the given command has exited yet.",
9903 "type" : "boolean"
9904 },
9905 "out-data" : {
9906 "description" : "stdout of the process",
9907 "optional" : 1,
9908 "type" : "string"
9909 },
9910 "out-truncated" : {
9911 "description" : "true if stdout was not fully captured",
9912 "optional" : 1,
9913 "type" : "boolean"
9914 },
9915 "signal" : {
9916 "description" : "signal number or exception code if the process was abnormally terminated.",
9917 "optional" : 1,
9918 "type" : "integer"
9919 }
9920 },
9921 "type" : "object"
56122987
DM
9922 }
9923 }
9924 },
4d47f125
TL
9925 "leaf" : 1,
9926 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
9927 "text" : "exec-status"
9928 },
9929 {
9930 "info" : {
9931 "GET" : {
e9cd3bd4 9932 "allowtoken" : 1,
4d47f125
TL
9933 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
9934 "method" : "GET",
9935 "name" : "file-read",
9936 "parameters" : {
9937 "additionalProperties" : 0,
9938 "properties" : {
9939 "file" : {
9940 "description" : "The path to the file",
9941 "type" : "string",
9942 "typetext" : "<string>"
9943 },
9944 "node" : {
9945 "description" : "The cluster node name.",
9946 "format" : "pve-node",
9947 "type" : "string",
9948 "typetext" : "<string>"
9949 },
9950 "vmid" : {
9951 "description" : "The (unique) ID of the VM.",
9952 "format" : "pve-vmid",
9953 "minimum" : 1,
9954 "type" : "integer",
9955 "typetext" : "<integer> (1 - N)"
9956 }
9957 }
9958 },
9959 "permissions" : {
9960 "check" : [
9961 "perm",
9962 "/vms/{vmid}",
9963 [
9964 "VM.Monitor"
9965 ]
9966 ]
9967 },
9968 "protected" : 1,
9969 "proxyto" : "node",
9970 "returns" : {
9971 "description" : "Returns an object with a `content` property.",
9972 "properties" : {
9973 "content" : {
9974 "description" : "The content of the file, maximum 16777216",
9975 "type" : "string"
9976 },
9977 "truncated" : {
9978 "description" : "If set to 1, the output is truncated and not complete",
9979 "optional" : 1,
9980 "type" : "boolean"
9981 }
9982 },
9983 "type" : "object"
9984 }
9985 }
56122987 9986 },
4d47f125
TL
9987 "leaf" : 1,
9988 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
9989 "text" : "file-read"
9990 },
9991 {
9992 "info" : {
9993 "POST" : {
e9cd3bd4 9994 "allowtoken" : 1,
4d47f125
TL
9995 "description" : "Writes the given file via guest agent.",
9996 "method" : "POST",
9997 "name" : "file-write",
9998 "parameters" : {
9999 "additionalProperties" : 0,
10000 "properties" : {
10001 "content" : {
10002 "description" : "The content to write into the file.",
10003 "maxLength" : 61440,
10004 "type" : "string",
10005 "typetext" : "<string>"
10006 },
10007 "file" : {
10008 "description" : "The path to the file.",
10009 "type" : "string",
10010 "typetext" : "<string>"
10011 },
10012 "node" : {
10013 "description" : "The cluster node name.",
10014 "format" : "pve-node",
10015 "type" : "string",
10016 "typetext" : "<string>"
10017 },
10018 "vmid" : {
10019 "description" : "The (unique) ID of the VM.",
10020 "format" : "pve-vmid",
10021 "minimum" : 1,
10022 "type" : "integer",
10023 "typetext" : "<integer> (1 - N)"
10024 }
10025 }
10026 },
10027 "permissions" : {
10028 "check" : [
10029 "perm",
10030 "/vms/{vmid}",
10031 [
10032 "VM.Monitor"
10033 ]
10034 ]
10035 },
10036 "protected" : 1,
10037 "proxyto" : "node",
10038 "returns" : {
10039 "type" : "null"
7aacca6f 10040 }
4d47f125
TL
10041 }
10042 },
10043 "leaf" : 1,
10044 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
10045 "text" : "file-write"
56122987 10046 }
4d47f125 10047 ],
7aacca6f 10048 "info" : {
56122987 10049 "GET" : {
e9cd3bd4 10050 "allowtoken" : 1,
4d47f125 10051 "description" : "Qemu Agent command index.",
44660702 10052 "method" : "GET",
4d47f125 10053 "name" : "index",
56122987 10054 "parameters" : {
4d47f125 10055 "additionalProperties" : 1,
56122987
DM
10056 "properties" : {
10057 "node" : {
44660702 10058 "description" : "The cluster node name.",
56122987 10059 "format" : "pve-node",
013dc89f
DM
10060 "type" : "string",
10061 "typetext" : "<string>"
56122987 10062 },
7aacca6f 10063 "vmid" : {
7aacca6f
DM
10064 "description" : "The (unique) ID of the VM.",
10065 "format" : "pve-vmid",
44660702 10066 "minimum" : 1,
4bd7df8b 10067 "type" : "integer",
013dc89f 10068 "typetext" : "<integer> (1 - N)"
56122987 10069 }
44660702 10070 }
56122987 10071 },
56122987 10072 "permissions" : {
4d47f125 10073 "user" : "all"
56122987 10074 },
4d47f125 10075 "proxyto" : "node",
7aacca6f 10076 "returns" : {
4d47f125 10077 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 10078 "items" : {
44660702
DM
10079 "properties" : {},
10080 "type" : "object"
10081 },
4d47f125
TL
10082 "links" : [
10083 {
10084 "href" : "{name}",
10085 "rel" : "child"
10086 }
10087 ],
44660702 10088 "type" : "array"
7aacca6f 10089 }
4d47f125
TL
10090 },
10091 "POST" : {
e9cd3bd4 10092 "allowtoken" : 1,
4d47f125
TL
10093 "description" : "Execute Qemu Guest Agent commands.",
10094 "method" : "POST",
10095 "name" : "agent",
44660702
DM
10096 "parameters" : {
10097 "additionalProperties" : 0,
10098 "properties" : {
4d47f125
TL
10099 "command" : {
10100 "description" : "The QGA command.",
10101 "enum" : [
10102 "fsfreeze-freeze",
10103 "fsfreeze-status",
10104 "fsfreeze-thaw",
10105 "fstrim",
10106 "get-fsinfo",
10107 "get-host-name",
10108 "get-memory-block-info",
10109 "get-memory-blocks",
10110 "get-osinfo",
10111 "get-time",
10112 "get-timezone",
10113 "get-users",
10114 "get-vcpus",
10115 "info",
10116 "network-get-interfaces",
10117 "ping",
10118 "shutdown",
10119 "suspend-disk",
10120 "suspend-hybrid",
10121 "suspend-ram"
10122 ],
10123 "type" : "string"
10124 },
10125 "node" : {
10126 "description" : "The cluster node name.",
10127 "format" : "pve-node",
10128 "type" : "string",
10129 "typetext" : "<string>"
10130 },
10131 "vmid" : {
10132 "description" : "The (unique) ID of the VM.",
10133 "format" : "pve-vmid",
10134 "minimum" : 1,
10135 "type" : "integer",
10136 "typetext" : "<integer> (1 - N)"
10137 }
10138 }
10139 },
10140 "permissions" : {
10141 "check" : [
10142 "perm",
10143 "/vms/{vmid}",
10144 [
10145 "VM.Monitor"
10146 ]
10147 ]
10148 },
10149 "protected" : 1,
10150 "proxyto" : "node",
10151 "returns" : {
10152 "description" : "Returns an object with a single `result` property.",
10153 "type" : "object"
10154 }
10155 }
10156 },
10157 "leaf" : 0,
10158 "path" : "/nodes/{node}/qemu/{vmid}/agent",
10159 "text" : "agent"
10160 },
10161 {
10162 "info" : {
10163 "GET" : {
e9cd3bd4 10164 "allowtoken" : 1,
4d47f125
TL
10165 "description" : "Read VM RRD statistics (returns PNG)",
10166 "method" : "GET",
10167 "name" : "rrd",
10168 "parameters" : {
10169 "additionalProperties" : 0,
10170 "properties" : {
10171 "cf" : {
10172 "description" : "The RRD consolidation function",
10173 "enum" : [
10174 "AVERAGE",
10175 "MAX"
10176 ],
44660702 10177 "optional" : 1,
4d47f125
TL
10178 "type" : "string"
10179 },
10180 "ds" : {
10181 "description" : "The list of datasources you want to display.",
10182 "format" : "pve-configid-list",
10183 "type" : "string",
10184 "typetext" : "<string>"
44660702
DM
10185 },
10186 "node" : {
10187 "description" : "The cluster node name.",
10188 "format" : "pve-node",
013dc89f
DM
10189 "type" : "string",
10190 "typetext" : "<string>"
44660702 10191 },
4d47f125
TL
10192 "timeframe" : {
10193 "description" : "Specify the time frame you are interested in.",
10194 "enum" : [
10195 "hour",
10196 "day",
10197 "week",
10198 "month",
10199 "year"
10200 ],
10201 "type" : "string"
10202 },
44660702
DM
10203 "vmid" : {
10204 "description" : "The (unique) ID of the VM.",
10205 "format" : "pve-vmid",
10206 "minimum" : 1,
4bd7df8b 10207 "type" : "integer",
013dc89f 10208 "typetext" : "<integer> (1 - N)"
44660702
DM
10209 }
10210 }
7aacca6f 10211 },
56122987
DM
10212 "permissions" : {
10213 "check" : [
10214 "perm",
10215 "/vms/{vmid}",
10216 [
44660702
DM
10217 "VM.Audit"
10218 ]
56122987
DM
10219 ]
10220 },
4d47f125 10221 "protected" : 1,
44660702
DM
10222 "returns" : {
10223 "properties" : {
4d47f125 10224 "filename" : {
44660702
DM
10225 "type" : "string"
10226 }
10227 },
10228 "type" : "object"
10229 }
4d47f125
TL
10230 }
10231 },
10232 "leaf" : 1,
10233 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
10234 "text" : "rrd"
10235 },
10236 {
10237 "info" : {
10238 "GET" : {
e9cd3bd4 10239 "allowtoken" : 1,
4d47f125
TL
10240 "description" : "Read VM RRD statistics",
10241 "method" : "GET",
10242 "name" : "rrddata",
10243 "parameters" : {
10244 "additionalProperties" : 0,
10245 "properties" : {
10246 "cf" : {
10247 "description" : "The RRD consolidation function",
10248 "enum" : [
10249 "AVERAGE",
10250 "MAX"
10251 ],
10252 "optional" : 1,
10253 "type" : "string"
10254 },
10255 "node" : {
10256 "description" : "The cluster node name.",
10257 "format" : "pve-node",
10258 "type" : "string",
10259 "typetext" : "<string>"
10260 },
10261 "timeframe" : {
10262 "description" : "Specify the time frame you are interested in.",
10263 "enum" : [
10264 "hour",
10265 "day",
10266 "week",
10267 "month",
10268 "year"
10269 ],
10270 "type" : "string"
10271 },
10272 "vmid" : {
10273 "description" : "The (unique) ID of the VM.",
10274 "format" : "pve-vmid",
10275 "minimum" : 1,
10276 "type" : "integer",
10277 "typetext" : "<integer> (1 - N)"
10278 }
10279 }
10280 },
10281 "permissions" : {
10282 "check" : [
10283 "perm",
10284 "/vms/{vmid}",
10285 [
10286 "VM.Audit"
10287 ]
10288 ]
10289 },
10290 "protected" : 1,
10291 "returns" : {
10292 "items" : {
10293 "properties" : {},
10294 "type" : "object"
10295 },
10296 "type" : "array"
10297 }
10298 }
10299 },
10300 "leaf" : 1,
10301 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
10302 "text" : "rrddata"
10303 },
10304 {
10305 "info" : {
10306 "GET" : {
e9cd3bd4
TL
10307 "allowtoken" : 1,
10308 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
10309 "method" : "GET",
10310 "name" : "vm_config",
56122987 10311 "parameters" : {
44660702 10312 "additionalProperties" : 0,
4d47f125
TL
10313 "properties" : {
10314 "current" : {
10315 "default" : 0,
10316 "description" : "Get current values (instead of pending values).",
10317 "optional" : 1,
10318 "type" : "boolean",
10319 "typetext" : "<boolean>"
10320 },
10321 "node" : {
10322 "description" : "The cluster node name.",
10323 "format" : "pve-node",
10324 "type" : "string",
10325 "typetext" : "<string>"
10326 },
5f26e15b
TL
10327 "snapshot" : {
10328 "description" : "Fetch config values from given snapshot.",
10329 "format" : "pve-configid",
10330 "maxLength" : 40,
10331 "optional" : 1,
10332 "type" : "string",
10333 "typetext" : "<string>"
10334 },
4d47f125
TL
10335 "vmid" : {
10336 "description" : "The (unique) ID of the VM.",
10337 "format" : "pve-vmid",
10338 "minimum" : 1,
10339 "type" : "integer",
10340 "typetext" : "<integer> (1 - N)"
10341 }
10342 }
10343 },
10344 "permissions" : {
10345 "check" : [
10346 "perm",
10347 "/vms/{vmid}",
10348 [
10349 "VM.Audit"
10350 ]
10351 ]
10352 },
10353 "proxyto" : "node",
10354 "returns" : {
e9cd3bd4 10355 "description" : "The VM configuration.",
56122987 10356 "properties" : {
44660702
DM
10357 "acpi" : {
10358 "default" : 1,
10359 "description" : "Enable/disable ACPI.",
10360 "optional" : 1,
4d47f125 10361 "type" : "boolean"
44660702
DM
10362 },
10363 "agent" : {
4d47f125
TL
10364 "description" : "Enable/disable Qemu GuestAgent and its properties.",
10365 "format" : {
10366 "enabled" : {
10367 "default" : 0,
10368 "default_key" : 1,
10369 "description" : "Enable/disable Qemu GuestAgent.",
10370 "type" : "boolean"
10371 },
10372 "fstrim_cloned_disks" : {
10373 "default" : 0,
10374 "description" : "Run fstrim after cloning/moving a disk.",
10375 "optional" : 1,
10376 "type" : "boolean"
5c1699e5
TL
10377 },
10378 "type" : {
10379 "default" : "virtio",
10380 "description" : "Select the agent type",
10381 "enum" : [
10382 "virtio",
10383 "isa"
10384 ],
10385 "optional" : 1,
10386 "type" : "string"
4d47f125
TL
10387 }
10388 },
7aacca6f 10389 "optional" : 1,
4d47f125 10390 "type" : "string"
7aacca6f 10391 },
e2d681b3
TL
10392 "arch" : {
10393 "description" : "Virtual processor architecture. Defaults to the host.",
10394 "enum" : [
10395 "x86_64",
10396 "aarch64"
10397 ],
10398 "optional" : 1,
10399 "type" : "string"
10400 },
44660702 10401 "args" : {
c2993fe5 10402 "description" : "Arbitrary arguments passed to kvm.",
44660702 10403 "optional" : 1,
c2993fe5
DM
10404 "type" : "string",
10405 "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 10406 },
1c532546
TL
10407 "audio0" : {
10408 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
10409 "format" : {
10410 "device" : {
10411 "description" : "Configure an audio device.",
10412 "enum" : [
10413 "ich9-intel-hda",
10414 "intel-hda",
10415 "AC97"
10416 ],
10417 "type" : "string"
10418 },
10419 "driver" : {
10420 "default" : "spice",
10421 "description" : "Driver backend for the audio device.",
10422 "enum" : [
10423 "spice"
10424 ],
10425 "optional" : 1,
10426 "type" : "string"
10427 }
10428 },
10429 "optional" : 1,
10430 "type" : "string"
10431 },
44660702
DM
10432 "autostart" : {
10433 "default" : 0,
10434 "description" : "Automatic restart after crash (currently ignored).",
56122987 10435 "optional" : 1,
4d47f125 10436 "type" : "boolean"
56122987 10437 },
4d47f125
TL
10438 "balloon" : {
10439 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10440 "minimum" : 0,
7aacca6f 10441 "optional" : 1,
4d47f125 10442 "type" : "integer"
7aacca6f 10443 },
44660702
DM
10444 "bios" : {
10445 "default" : "seabios",
10446 "description" : "Select BIOS implementation.",
10447 "enum" : [
10448 "seabios",
10449 "ovmf"
10450 ],
56122987 10451 "optional" : 1,
44660702 10452 "type" : "string"
7aacca6f 10453 },
44660702
DM
10454 "boot" : {
10455 "default" : "cdn",
10456 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
10457 "optional" : 1,
10458 "pattern" : "[acdn]{1,4}",
10459 "type" : "string"
10460 },
10461 "bootdisk" : {
10462 "description" : "Enable booting from specified disk.",
10463 "format" : "pve-qm-bootdisk",
10464 "optional" : 1,
10465 "pattern" : "(ide|sata|scsi|virtio)\\d+",
10466 "type" : "string"
10467 },
10468 "cdrom" : {
10469 "description" : "This is an alias for option -ide2",
de0983cb 10470 "format" : "pve-qm-ide",
44660702 10471 "optional" : 1,
7aacca6f 10472 "type" : "string",
013dc89f 10473 "typetext" : "<volume>"
44660702 10474 },
95895385
TL
10475 "cicustom" : {
10476 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
10477 "format" : "pve-qm-cicustom",
10478 "optional" : 1,
10479 "type" : "string"
10480 },
27a7acb2
DM
10481 "cipassword" : {
10482 "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.",
10483 "optional" : 1,
4d47f125 10484 "type" : "string"
27a7acb2
DM
10485 },
10486 "citype" : {
10487 "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.",
10488 "enum" : [
10489 "configdrive2",
10490 "nocloud"
10491 ],
10492 "optional" : 1,
10493 "type" : "string"
10494 },
10495 "ciuser" : {
10496 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
10497 "optional" : 1,
4d47f125 10498 "type" : "string"
27a7acb2 10499 },
44660702
DM
10500 "cores" : {
10501 "default" : 1,
10502 "description" : "The number of cores per socket.",
10503 "minimum" : 1,
7aacca6f 10504 "optional" : 1,
4d47f125 10505 "type" : "integer"
7aacca6f 10506 },
44660702
DM
10507 "cpu" : {
10508 "description" : "Emulated CPU type.",
c5aa7e14 10509 "format" : "pve-vm-cpu-conf",
44660702 10510 "optional" : 1,
4d47f125 10511 "type" : "string"
44660702
DM
10512 },
10513 "cpulimit" : {
10514 "default" : 0,
c2993fe5 10515 "description" : "Limit of CPU usage.",
44660702
DM
10516 "maximum" : 128,
10517 "minimum" : 0,
10518 "optional" : 1,
c2993fe5
DM
10519 "type" : "number",
10520 "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
10521 },
10522 "cpuunits" : {
de0983cb 10523 "default" : 1024,
c2993fe5 10524 "description" : "CPU weight for a VM.",
2489d6df
WB
10525 "maximum" : 262144,
10526 "minimum" : 2,
44660702 10527 "optional" : 1,
c2993fe5 10528 "type" : "integer",
2489d6df 10529 "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 10530 },
44660702
DM
10531 "description" : {
10532 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
10533 "optional" : 1,
4d47f125 10534 "type" : "string"
44660702
DM
10535 },
10536 "digest" : {
4d47f125
TL
10537 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
10538 "type" : "string"
44660702 10539 },
4d47f125
TL
10540 "efidisk0" : {
10541 "description" : "Configure a Disk for storing EFI vars",
10542 "format" : {
10543 "file" : {
10544 "default_key" : 1,
10545 "description" : "The drive's backing volume.",
10546 "format" : "pve-volume-id-or-qm-path",
10547 "format_description" : "volume",
10548 "type" : "string"
10549 },
10550 "format" : {
10551 "description" : "The drive's backing file's data format.",
10552 "enum" : [
10553 "raw",
10554 "cow",
10555 "qcow",
10556 "qed",
10557 "qcow2",
10558 "vmdk",
10559 "cloop"
10560 ],
10561 "optional" : 1,
10562 "type" : "string"
10563 },
10564 "size" : {
10565 "description" : "Disk size. This is purely informational and has no effect.",
10566 "format" : "disk-size",
10567 "format_description" : "DiskSize",
10568 "optional" : 1,
10569 "type" : "string"
10570 },
10571 "volume" : {
10572 "alias" : "file"
10573 }
10574 },
44660702 10575 "optional" : 1,
4d47f125 10576 "type" : "string"
44660702
DM
10577 },
10578 "freeze" : {
10579 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10580 "optional" : 1,
4d47f125 10581 "type" : "boolean"
44660702 10582 },
5f26e15b
TL
10583 "hookscript" : {
10584 "description" : "Script that will be executed during various steps in the vms lifetime.",
10585 "format" : "pve-volume-id",
10586 "optional" : 1,
10587 "type" : "string"
10588 },
44660702 10589 "hostpci[n]" : {
c2993fe5 10590 "description" : "Map host PCI devices into guest.",
44660702
DM
10591 "format" : "pve-qm-hostpci",
10592 "optional" : 1,
57b78691 10593 "type" : "string",
bb4c8cf8 10594 "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
10595 },
10596 "hotplug" : {
10597 "default" : "network,disk,usb",
10598 "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'.",
10599 "format" : "pve-hotplug-features",
10600 "optional" : 1,
4d47f125 10601 "type" : "string"
44660702 10602 },
4bd7df8b
DM
10603 "hugepages" : {
10604 "description" : "Enable/disable hugepages memory.",
10605 "enum" : [
10606 "any",
10607 "2",
10608 "1024"
10609 ],
10610 "optional" : 1,
10611 "type" : "string"
10612 },
44660702
DM
10613 "ide[n]" : {
10614 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
10615 "format" : {
10616 "aio" : {
10617 "description" : "AIO type to use.",
10618 "enum" : [
10619 "native",
10620 "threads"
56122987 10621 ],
56122987 10622 "optional" : 1,
44660702 10623 "type" : "string"
56122987 10624 },
44660702
DM
10625 "backup" : {
10626 "description" : "Whether the drive should be included when making backups.",
56122987 10627 "optional" : 1,
44660702 10628 "type" : "boolean"
56122987 10629 },
7aacca6f 10630 "bps" : {
de0983cb 10631 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
10632 "format_description" : "bps",
10633 "optional" : 1,
10634 "type" : "integer"
10635 },
de0983cb
DM
10636 "bps_max_length" : {
10637 "description" : "Maximum length of I/O bursts in seconds.",
10638 "format_description" : "seconds",
10639 "minimum" : 1,
10640 "optional" : 1,
10641 "type" : "integer"
10642 },
44660702 10643 "bps_rd" : {
de0983cb 10644 "description" : "Maximum read speed in bytes per second.",
44660702 10645 "format_description" : "bps",
56122987 10646 "optional" : 1,
44660702 10647 "type" : "integer"
56122987 10648 },
de0983cb 10649 "bps_rd_length" : {
5d9c884c
DM
10650 "alias" : "bps_rd_max_length"
10651 },
10652 "bps_rd_max_length" : {
de0983cb
DM
10653 "description" : "Maximum length of read I/O bursts in seconds.",
10654 "format_description" : "seconds",
10655 "minimum" : 1,
10656 "optional" : 1,
10657 "type" : "integer"
10658 },
44660702 10659 "bps_wr" : {
de0983cb 10660 "description" : "Maximum write speed in bytes per second.",
44660702
DM
10661 "format_description" : "bps",
10662 "optional" : 1,
10663 "type" : "integer"
10664 },
de0983cb 10665 "bps_wr_length" : {
5d9c884c
DM
10666 "alias" : "bps_wr_max_length"
10667 },
10668 "bps_wr_max_length" : {
de0983cb
DM
10669 "description" : "Maximum length of write I/O bursts in seconds.",
10670 "format_description" : "seconds",
10671 "minimum" : 1,
10672 "optional" : 1,
10673 "type" : "integer"
10674 },
44660702
DM
10675 "cache" : {
10676 "description" : "The drive's cache mode",
10677 "enum" : [
10678 "none",
10679 "writethrough",
10680 "writeback",
10681 "unsafe",
10682 "directsync"
10683 ],
44660702
DM
10684 "optional" : 1,
10685 "type" : "string"
10686 },
10687 "cyls" : {
10688 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
10689 "optional" : 1,
10690 "type" : "integer"
10691 },
10692 "detect_zeroes" : {
10693 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
10694 "optional" : 1,
10695 "type" : "boolean"
10696 },
10697 "discard" : {
10698 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
10699 "enum" : [
10700 "ignore",
10701 "on"
10702 ],
56122987 10703 "optional" : 1,
44660702
DM
10704 "type" : "string"
10705 },
10706 "file" : {
10707 "default_key" : 1,
10708 "description" : "The drive's backing volume.",
10709 "format" : "pve-volume-id-or-qm-path",
10710 "format_description" : "volume",
10711 "type" : "string"
56122987 10712 },
7aacca6f 10713 "format" : {
7aacca6f 10714 "description" : "The drive's backing file's data format.",
56122987 10715 "enum" : [
7aacca6f
DM
10716 "raw",
10717 "cow",
10718 "qcow",
10719 "qed",
10720 "qcow2",
10721 "vmdk",
10722 "cloop"
56122987
DM
10723 ],
10724 "optional" : 1,
56122987
DM
10725 "type" : "string"
10726 },
44660702
DM
10727 "heads" : {
10728 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
10729 "optional" : 1,
10730 "type" : "integer"
7aacca6f 10731 },
44660702 10732 "iops" : {
de0983cb 10733 "description" : "Maximum r/w I/O in operations per second.",
44660702 10734 "format_description" : "iops",
56122987 10735 "optional" : 1,
44660702 10736 "type" : "integer"
56122987 10737 },
44660702 10738 "iops_max" : {
de0983cb 10739 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 10740 "format_description" : "iops",
56122987 10741 "optional" : 1,
44660702 10742 "type" : "integer"
56122987 10743 },
de0983cb
DM
10744 "iops_max_length" : {
10745 "description" : "Maximum length of I/O bursts in seconds.",
10746 "format_description" : "seconds",
10747 "minimum" : 1,
10748 "optional" : 1,
10749 "type" : "integer"
10750 },
44660702 10751 "iops_rd" : {
de0983cb 10752 "description" : "Maximum read I/O in operations per second.",
44660702
DM
10753 "format_description" : "iops",
10754 "optional" : 1,
10755 "type" : "integer"
10756 },
de0983cb 10757 "iops_rd_length" : {
5d9c884c 10758 "alias" : "iops_rd_max_length"
de0983cb 10759 },
44660702 10760 "iops_rd_max" : {
de0983cb 10761 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 10762 "format_description" : "iops",
44660702
DM
10763 "optional" : 1,
10764 "type" : "integer"
10765 },
5d9c884c
DM
10766 "iops_rd_max_length" : {
10767 "description" : "Maximum length of read I/O bursts in seconds.",
10768 "format_description" : "seconds",
10769 "minimum" : 1,
10770 "optional" : 1,
10771 "type" : "integer"
10772 },
44660702 10773 "iops_wr" : {
de0983cb 10774 "description" : "Maximum write I/O in operations per second.",
44660702 10775 "format_description" : "iops",
56122987 10776 "optional" : 1,
7aacca6f 10777 "type" : "integer"
56122987 10778 },
de0983cb 10779 "iops_wr_length" : {
5d9c884c 10780 "alias" : "iops_wr_max_length"
de0983cb 10781 },
44660702 10782 "iops_wr_max" : {
de0983cb 10783 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 10784 "format_description" : "iops",
7aacca6f 10785 "optional" : 1,
44660702 10786 "type" : "integer"
56122987 10787 },
5d9c884c
DM
10788 "iops_wr_max_length" : {
10789 "description" : "Maximum length of write I/O bursts in seconds.",
10790 "format_description" : "seconds",
10791 "minimum" : 1,
10792 "optional" : 1,
10793 "type" : "integer"
10794 },
44660702 10795 "mbps" : {
de0983cb 10796 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
10797 "format_description" : "mbps",
10798 "optional" : 1,
10799 "type" : "number"
10800 },
10801 "mbps_max" : {
de0983cb 10802 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
10803 "format_description" : "mbps",
10804 "optional" : 1,
10805 "type" : "number"
10806 },
10807 "mbps_rd" : {
de0983cb 10808 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
10809 "format_description" : "mbps",
10810 "optional" : 1,
10811 "type" : "number"
10812 },
10813 "mbps_rd_max" : {
de0983cb 10814 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
10815 "format_description" : "mbps",
10816 "optional" : 1,
10817 "type" : "number"
10818 },
10819 "mbps_wr" : {
de0983cb 10820 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
10821 "format_description" : "mbps",
10822 "optional" : 1,
10823 "type" : "number"
10824 },
10825 "mbps_wr_max" : {
de0983cb 10826 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 10827 "format_description" : "mbps",
56122987 10828 "optional" : 1,
44660702 10829 "type" : "number"
56122987 10830 },
7aacca6f 10831 "media" : {
7aacca6f 10832 "default" : "disk",
7aacca6f
DM
10833 "description" : "The drive's media type.",
10834 "enum" : [
10835 "cdrom",
10836 "disk"
44660702 10837 ],
44660702
DM
10838 "optional" : 1,
10839 "type" : "string"
56122987 10840 },
44660702
DM
10841 "model" : {
10842 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
10843 "format" : "urlencoded",
10844 "format_description" : "model",
10845 "maxLength" : 120,
56122987 10846 "optional" : 1,
44660702 10847 "type" : "string"
56122987 10848 },
5d9c884c
DM
10849 "replicate" : {
10850 "default" : 1,
10851 "description" : "Whether the drive should considered for replication jobs.",
10852 "optional" : 1,
10853 "type" : "boolean"
10854 },
44660702
DM
10855 "rerror" : {
10856 "description" : "Read error action.",
10857 "enum" : [
10858 "ignore",
10859 "report",
10860 "stop"
10861 ],
56122987 10862 "optional" : 1,
44660702
DM
10863 "type" : "string"
10864 },
10865 "secs" : {
10866 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
10867 "optional" : 1,
10868 "type" : "integer"
10869 },
10870 "serial" : {
10871 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
10872 "format" : "urlencoded",
10873 "format_description" : "serial",
10874 "maxLength" : 60,
10875 "optional" : 1,
10876 "type" : "string"
10877 },
27a7acb2
DM
10878 "shared" : {
10879 "default" : 0,
10880 "description" : "Mark this locally-managed volume as available on all nodes",
10881 "optional" : 1,
10882 "type" : "boolean",
10883 "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!"
10884 },
44660702
DM
10885 "size" : {
10886 "description" : "Disk size. This is purely informational and has no effect.",
10887 "format" : "disk-size",
f004f5b9 10888 "format_description" : "DiskSize",
44660702
DM
10889 "optional" : 1,
10890 "type" : "string"
10891 },
10892 "snapshot" : {
27a7acb2 10893 "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
10894 "optional" : 1,
10895 "type" : "boolean"
10896 },
25203dc1
NC
10897 "ssd" : {
10898 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
10899 "optional" : 1,
10900 "type" : "boolean"
10901 },
44660702
DM
10902 "trans" : {
10903 "description" : "Force disk geometry bios translation mode.",
10904 "enum" : [
10905 "none",
10906 "lba",
10907 "auto"
10908 ],
44660702
DM
10909 "optional" : 1,
10910 "type" : "string"
10911 },
10912 "volume" : {
10913 "alias" : "file"
10914 },
10915 "werror" : {
10916 "description" : "Write error action.",
10917 "enum" : [
10918 "enospc",
10919 "ignore",
10920 "report",
10921 "stop"
10922 ],
44660702
DM
10923 "optional" : 1,
10924 "type" : "string"
95895385
TL
10925 },
10926 "wwn" : {
10927 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
10928 "format_description" : "wwn",
10929 "optional" : 1,
10930 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
10931 "type" : "string"
56122987
DM
10932 }
10933 },
44660702 10934 "optional" : 1,
4d47f125 10935 "type" : "string"
27a7acb2
DM
10936 },
10937 "ipconfig[n]" : {
10938 "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",
10939 "format" : "pve-qm-ipconfig",
10940 "optional" : 1,
4d47f125 10941 "type" : "string"
56122987 10942 },
95895385
TL
10943 "ivshmem" : {
10944 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
10945 "format" : {
10946 "name" : {
10947 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
10948 "format_description" : "string",
10949 "optional" : 1,
10950 "pattern" : "[a-zA-Z0-9\\-]+",
10951 "type" : "string"
10952 },
10953 "size" : {
10954 "description" : "The size of the file in MB.",
10955 "minimum" : 1,
10956 "type" : "integer"
10957 }
10958 },
10959 "optional" : 1,
10960 "type" : "string"
10961 },
44660702 10962 "keyboard" : {
35a75dd3 10963 "default" : null,
5da3d723 10964 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
10965 "enum" : [
10966 "de",
10967 "de-ch",
10968 "da",
10969 "en-gb",
10970 "en-us",
10971 "es",
10972 "fi",
10973 "fr",
10974 "fr-be",
10975 "fr-ca",
10976 "fr-ch",
10977 "hu",
10978 "is",
10979 "it",
10980 "ja",
10981 "lt",
10982 "mk",
10983 "nl",
10984 "no",
10985 "pl",
10986 "pt",
10987 "pt-br",
10988 "sv",
10989 "sl",
10990 "tr"
10991 ],
56122987 10992 "optional" : 1,
44660702
DM
10993 "type" : "string"
10994 },
10995 "kvm" : {
7aacca6f 10996 "default" : 1,
44660702
DM
10997 "description" : "Enable/disable KVM hardware virtualization.",
10998 "optional" : 1,
4d47f125 10999 "type" : "boolean"
56122987 11000 },
44660702
DM
11001 "localtime" : {
11002 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11003 "optional" : 1,
4d47f125 11004 "type" : "boolean"
56122987 11005 },
44660702
DM
11006 "lock" : {
11007 "description" : "Lock/unlock the VM.",
11008 "enum" : [
44660702 11009 "backup",
5f26e15b
TL
11010 "clone",
11011 "create",
11012 "migrate",
11013 "rollback",
44660702 11014 "snapshot",
95895385
TL
11015 "snapshot-delete",
11016 "suspending",
11017 "suspended"
44660702 11018 ],
7aacca6f 11019 "optional" : 1,
44660702
DM
11020 "type" : "string"
11021 },
11022 "machine" : {
4d47f125 11023 "description" : "Specifies the Qemu machine type.",
44660702
DM
11024 "maxLength" : 40,
11025 "optional" : 1,
5c1699e5 11026 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
11027 "type" : "string"
11028 },
11029 "memory" : {
11030 "default" : 512,
11031 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11032 "minimum" : 16,
11033 "optional" : 1,
4d47f125 11034 "type" : "integer"
44660702
DM
11035 },
11036 "migrate_downtime" : {
11037 "default" : 0.1,
11038 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11039 "minimum" : 0,
11040 "optional" : 1,
4d47f125 11041 "type" : "number"
44660702
DM
11042 },
11043 "migrate_speed" : {
11044 "default" : 0,
11045 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11046 "minimum" : 0,
11047 "optional" : 1,
4d47f125 11048 "type" : "integer"
44660702
DM
11049 },
11050 "name" : {
11051 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11052 "format" : "dns-name",
11053 "optional" : 1,
4d47f125 11054 "type" : "string"
44660702 11055 },
27a7acb2
DM
11056 "nameserver" : {
11057 "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.",
11058 "format" : "address-list",
11059 "optional" : 1,
4d47f125 11060 "type" : "string"
27a7acb2 11061 },
44660702 11062 "net[n]" : {
c2993fe5 11063 "description" : "Specify network devices.",
f004f5b9
DM
11064 "format" : {
11065 "bridge" : {
c2993fe5 11066 "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
11067 "format_description" : "bridge",
11068 "optional" : 1,
c5aa7e14 11069 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
11070 "type" : "string"
11071 },
11072 "e1000" : {
11073 "alias" : "macaddr",
11074 "keyAlias" : "model"
11075 },
11076 "e1000-82540em" : {
11077 "alias" : "macaddr",
11078 "keyAlias" : "model"
11079 },
11080 "e1000-82544gc" : {
11081 "alias" : "macaddr",
11082 "keyAlias" : "model"
11083 },
11084 "e1000-82545em" : {
11085 "alias" : "macaddr",
11086 "keyAlias" : "model"
11087 },
11088 "firewall" : {
11089 "description" : "Whether this interface should be protected by the firewall.",
11090 "optional" : 1,
11091 "type" : "boolean"
11092 },
11093 "i82551" : {
11094 "alias" : "macaddr",
11095 "keyAlias" : "model"
11096 },
11097 "i82557b" : {
11098 "alias" : "macaddr",
11099 "keyAlias" : "model"
11100 },
11101 "i82559er" : {
11102 "alias" : "macaddr",
11103 "keyAlias" : "model"
11104 },
11105 "link_down" : {
c2993fe5 11106 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11107 "optional" : 1,
11108 "type" : "boolean"
11109 },
11110 "macaddr" : {
c2993fe5 11111 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 11112 "format" : "mac-addr",
f004f5b9 11113 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 11114 "optional" : 1,
95895385
TL
11115 "type" : "string",
11116 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
11117 },
11118 "model" : {
11119 "default_key" : 1,
c2993fe5 11120 "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
11121 "enum" : [
11122 "rtl8139",
11123 "ne2k_pci",
11124 "e1000",
11125 "pcnet",
11126 "virtio",
11127 "ne2k_isa",
11128 "i82551",
11129 "i82557b",
11130 "i82559er",
11131 "vmxnet3",
11132 "e1000-82540em",
11133 "e1000-82544gc",
11134 "e1000-82545em"
11135 ],
f004f5b9
DM
11136 "type" : "string"
11137 },
11138 "ne2k_isa" : {
11139 "alias" : "macaddr",
11140 "keyAlias" : "model"
11141 },
11142 "ne2k_pci" : {
11143 "alias" : "macaddr",
11144 "keyAlias" : "model"
11145 },
11146 "pcnet" : {
11147 "alias" : "macaddr",
11148 "keyAlias" : "model"
11149 },
11150 "queues" : {
11151 "description" : "Number of packet queues to be used on the device.",
11152 "maximum" : 16,
11153 "minimum" : 0,
11154 "optional" : 1,
11155 "type" : "integer"
11156 },
11157 "rate" : {
c2993fe5 11158 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11159 "minimum" : 0,
11160 "optional" : 1,
11161 "type" : "number"
11162 },
11163 "rtl8139" : {
11164 "alias" : "macaddr",
11165 "keyAlias" : "model"
11166 },
11167 "tag" : {
11168 "description" : "VLAN tag to apply to packets on this interface.",
11169 "maximum" : 4094,
c2993fe5 11170 "minimum" : 1,
f004f5b9
DM
11171 "optional" : 1,
11172 "type" : "integer"
11173 },
11174 "trunks" : {
11175 "description" : "VLAN trunks to pass through this interface.",
11176 "format_description" : "vlanid[;vlanid...]",
11177 "optional" : 1,
11178 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11179 "type" : "string"
11180 },
11181 "virtio" : {
11182 "alias" : "macaddr",
11183 "keyAlias" : "model"
11184 },
11185 "vmxnet3" : {
11186 "alias" : "macaddr",
11187 "keyAlias" : "model"
11188 }
11189 },
44660702 11190 "optional" : 1,
4d47f125 11191 "type" : "string"
44660702
DM
11192 },
11193 "numa" : {
11194 "default" : 0,
11195 "description" : "Enable/disable NUMA.",
11196 "optional" : 1,
4d47f125 11197 "type" : "boolean"
44660702
DM
11198 },
11199 "numa[n]" : {
c2993fe5 11200 "description" : "NUMA topology.",
56122987 11201 "format" : {
7aacca6f 11202 "cpus" : {
c2993fe5 11203 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11204 "format_description" : "id[-id];...",
11205 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11206 "type" : "string"
7aacca6f
DM
11207 },
11208 "hostnodes" : {
c2993fe5 11209 "description" : "Host NUMA nodes to use.",
44660702 11210 "format_description" : "id[-id];...",
7aacca6f 11211 "optional" : 1,
7aacca6f 11212 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 11213 "type" : "string"
7aacca6f 11214 },
44660702 11215 "memory" : {
c2993fe5 11216 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 11217 "optional" : 1,
44660702
DM
11218 "type" : "number"
11219 },
11220 "policy" : {
c2993fe5 11221 "description" : "NUMA allocation policy.",
7aacca6f
DM
11222 "enum" : [
11223 "preferred",
11224 "bind",
11225 "interleave"
11226 ],
44660702
DM
11227 "optional" : 1,
11228 "type" : "string"
56122987 11229 }
44660702 11230 },
56122987 11231 "optional" : 1,
4d47f125 11232 "type" : "string"
56122987 11233 },
44660702 11234 "onboot" : {
7aacca6f 11235 "default" : 0,
44660702
DM
11236 "description" : "Specifies whether a VM will be started during system bootup.",
11237 "optional" : 1,
4d47f125 11238 "type" : "boolean"
7aacca6f
DM
11239 },
11240 "ostype" : {
c2993fe5 11241 "description" : "Specify guest operating system.",
7aacca6f
DM
11242 "enum" : [
11243 "other",
11244 "wxp",
11245 "w2k",
11246 "w2k3",
11247 "w2k8",
11248 "wvista",
11249 "win7",
11250 "win8",
32d876b5 11251 "win10",
7aacca6f
DM
11252 "l24",
11253 "l26",
11254 "solaris"
11255 ],
7aacca6f 11256 "optional" : 1,
c2993fe5 11257 "type" : "string",
5c1699e5 11258 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 11259 },
44660702 11260 "parallel[n]" : {
c2993fe5 11261 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 11262 "optional" : 1,
44660702 11263 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11264 "type" : "string",
11265 "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
11266 },
11267 "protection" : {
11268 "default" : 0,
c2993fe5 11269 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 11270 "optional" : 1,
4d47f125 11271 "type" : "boolean"
7aacca6f 11272 },
44660702
DM
11273 "reboot" : {
11274 "default" : 1,
11275 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 11276 "optional" : 1,
4d47f125 11277 "type" : "boolean"
44660702 11278 },
c5aa7e14
TL
11279 "rng0" : {
11280 "description" : "Configure a VirtIO-based Random Number Generator.",
11281 "format" : {
11282 "max_bytes" : {
11283 "default" : 1024,
11284 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
11285 "optional" : 1,
11286 "type" : "integer"
11287 },
11288 "period" : {
11289 "default" : 1000,
11290 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
11291 "optional" : 1,
11292 "type" : "integer"
11293 },
11294 "source" : {
11295 "default_key" : 1,
11296 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
11297 "enum" : [
11298 "/dev/urandom",
11299 "/dev/random",
11300 "/dev/hwrng"
11301 ],
11302 "type" : "string"
11303 }
11304 },
11305 "optional" : 1,
11306 "type" : "string"
11307 },
44660702
DM
11308 "sata[n]" : {
11309 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11310 "format" : {
44660702
DM
11311 "aio" : {
11312 "description" : "AIO type to use.",
7aacca6f 11313 "enum" : [
44660702
DM
11314 "native",
11315 "threads"
7aacca6f 11316 ],
44660702
DM
11317 "optional" : 1,
11318 "type" : "string"
7aacca6f 11319 },
44660702
DM
11320 "backup" : {
11321 "description" : "Whether the drive should be included when making backups.",
56122987 11322 "optional" : 1,
7aacca6f 11323 "type" : "boolean"
44660702
DM
11324 },
11325 "bps" : {
de0983cb 11326 "description" : "Maximum r/w speed in bytes per second.",
44660702 11327 "format_description" : "bps",
7aacca6f 11328 "optional" : 1,
44660702 11329 "type" : "integer"
56122987 11330 },
de0983cb
DM
11331 "bps_max_length" : {
11332 "description" : "Maximum length of I/O bursts in seconds.",
11333 "format_description" : "seconds",
11334 "minimum" : 1,
11335 "optional" : 1,
11336 "type" : "integer"
11337 },
44660702 11338 "bps_rd" : {
de0983cb 11339 "description" : "Maximum read speed in bytes per second.",
44660702 11340 "format_description" : "bps",
56122987 11341 "optional" : 1,
44660702 11342 "type" : "integer"
56122987 11343 },
de0983cb 11344 "bps_rd_length" : {
5d9c884c
DM
11345 "alias" : "bps_rd_max_length"
11346 },
11347 "bps_rd_max_length" : {
de0983cb
DM
11348 "description" : "Maximum length of read I/O bursts in seconds.",
11349 "format_description" : "seconds",
11350 "minimum" : 1,
11351 "optional" : 1,
11352 "type" : "integer"
11353 },
44660702 11354 "bps_wr" : {
de0983cb 11355 "description" : "Maximum write speed in bytes per second.",
44660702 11356 "format_description" : "bps",
56122987 11357 "optional" : 1,
44660702 11358 "type" : "integer"
56122987 11359 },
de0983cb 11360 "bps_wr_length" : {
5d9c884c
DM
11361 "alias" : "bps_wr_max_length"
11362 },
11363 "bps_wr_max_length" : {
de0983cb
DM
11364 "description" : "Maximum length of write I/O bursts in seconds.",
11365 "format_description" : "seconds",
11366 "minimum" : 1,
11367 "optional" : 1,
11368 "type" : "integer"
11369 },
56122987 11370 "cache" : {
44660702 11371 "description" : "The drive's cache mode",
56122987
DM
11372 "enum" : [
11373 "none",
11374 "writethrough",
11375 "writeback",
11376 "unsafe",
11377 "directsync"
11378 ],
56122987 11379 "optional" : 1,
44660702 11380 "type" : "string"
56122987 11381 },
44660702
DM
11382 "cyls" : {
11383 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11384 "optional" : 1,
44660702 11385 "type" : "integer"
7aacca6f
DM
11386 },
11387 "detect_zeroes" : {
11388 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11389 "optional" : 1,
44660702 11390 "type" : "boolean"
56122987 11391 },
44660702
DM
11392 "discard" : {
11393 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11394 "enum" : [
11395 "ignore",
11396 "on"
11397 ],
56122987 11398 "optional" : 1,
44660702 11399 "type" : "string"
7aacca6f 11400 },
44660702
DM
11401 "file" : {
11402 "default_key" : 1,
11403 "description" : "The drive's backing volume.",
11404 "format" : "pve-volume-id-or-qm-path",
11405 "format_description" : "volume",
11406 "type" : "string"
56122987 11407 },
7aacca6f 11408 "format" : {
44660702 11409 "description" : "The drive's backing file's data format.",
7aacca6f
DM
11410 "enum" : [
11411 "raw",
11412 "cow",
11413 "qcow",
11414 "qed",
11415 "qcow2",
11416 "vmdk",
11417 "cloop"
11418 ],
7aacca6f 11419 "optional" : 1,
44660702 11420 "type" : "string"
56122987 11421 },
7aacca6f 11422 "heads" : {
7aacca6f 11423 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11424 "optional" : 1,
7aacca6f 11425 "type" : "integer"
56122987 11426 },
44660702 11427 "iops" : {
de0983cb 11428 "description" : "Maximum r/w I/O in operations per second.",
44660702 11429 "format_description" : "iops",
56122987 11430 "optional" : 1,
44660702 11431 "type" : "integer"
56122987 11432 },
44660702 11433 "iops_max" : {
de0983cb 11434 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11435 "format_description" : "iops",
56122987 11436 "optional" : 1,
44660702 11437 "type" : "integer"
56122987 11438 },
de0983cb
DM
11439 "iops_max_length" : {
11440 "description" : "Maximum length of I/O bursts in seconds.",
11441 "format_description" : "seconds",
11442 "minimum" : 1,
11443 "optional" : 1,
11444 "type" : "integer"
11445 },
44660702 11446 "iops_rd" : {
de0983cb 11447 "description" : "Maximum read I/O in operations per second.",
44660702 11448 "format_description" : "iops",
7aacca6f 11449 "optional" : 1,
44660702 11450 "type" : "integer"
56122987 11451 },
de0983cb 11452 "iops_rd_length" : {
5d9c884c 11453 "alias" : "iops_rd_max_length"
de0983cb 11454 },
44660702 11455 "iops_rd_max" : {
de0983cb 11456 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11457 "format_description" : "iops",
56122987 11458 "optional" : 1,
44660702 11459 "type" : "integer"
7aacca6f 11460 },
5d9c884c
DM
11461 "iops_rd_max_length" : {
11462 "description" : "Maximum length of read I/O bursts in seconds.",
11463 "format_description" : "seconds",
11464 "minimum" : 1,
11465 "optional" : 1,
11466 "type" : "integer"
11467 },
44660702 11468 "iops_wr" : {
de0983cb 11469 "description" : "Maximum write I/O in operations per second.",
44660702 11470 "format_description" : "iops",
56122987 11471 "optional" : 1,
44660702 11472 "type" : "integer"
56122987 11473 },
de0983cb 11474 "iops_wr_length" : {
5d9c884c 11475 "alias" : "iops_wr_max_length"
de0983cb 11476 },
56122987 11477 "iops_wr_max" : {
de0983cb 11478 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11479 "format_description" : "iops",
56122987 11480 "optional" : 1,
44660702 11481 "type" : "integer"
56122987 11482 },
5d9c884c
DM
11483 "iops_wr_max_length" : {
11484 "description" : "Maximum length of write I/O bursts in seconds.",
11485 "format_description" : "seconds",
11486 "minimum" : 1,
11487 "optional" : 1,
11488 "type" : "integer"
11489 },
44660702 11490 "mbps" : {
de0983cb 11491 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11492 "format_description" : "mbps",
56122987 11493 "optional" : 1,
44660702 11494 "type" : "number"
56122987 11495 },
44660702 11496 "mbps_max" : {
de0983cb 11497 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11498 "format_description" : "mbps",
11499 "optional" : 1,
11500 "type" : "number"
56122987 11501 },
44660702 11502 "mbps_rd" : {
de0983cb 11503 "description" : "Maximum read speed in megabytes per second.",
44660702 11504 "format_description" : "mbps",
56122987 11505 "optional" : 1,
44660702 11506 "type" : "number"
56122987 11507 },
44660702 11508 "mbps_rd_max" : {
de0983cb 11509 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11510 "format_description" : "mbps",
56122987 11511 "optional" : 1,
44660702 11512 "type" : "number"
56122987 11513 },
44660702 11514 "mbps_wr" : {
de0983cb 11515 "description" : "Maximum write speed in megabytes per second.",
56122987 11516 "format_description" : "mbps",
44660702
DM
11517 "optional" : 1,
11518 "type" : "number"
56122987 11519 },
44660702 11520 "mbps_wr_max" : {
de0983cb 11521 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11522 "format_description" : "mbps",
11523 "optional" : 1,
11524 "type" : "number"
7aacca6f 11525 },
44660702
DM
11526 "media" : {
11527 "default" : "disk",
11528 "description" : "The drive's media type.",
11529 "enum" : [
11530 "cdrom",
11531 "disk"
11532 ],
56122987 11533 "optional" : 1,
44660702
DM
11534 "type" : "string"
11535 },
5d9c884c
DM
11536 "replicate" : {
11537 "default" : 1,
11538 "description" : "Whether the drive should considered for replication jobs.",
11539 "optional" : 1,
11540 "type" : "boolean"
11541 },
44660702
DM
11542 "rerror" : {
11543 "description" : "Read error action.",
7aacca6f 11544 "enum" : [
44660702
DM
11545 "ignore",
11546 "report",
11547 "stop"
11548 ],
7aacca6f 11549 "optional" : 1,
44660702 11550 "type" : "string"
56122987 11551 },
44660702
DM
11552 "secs" : {
11553 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11554 "optional" : 1,
44660702 11555 "type" : "integer"
56122987 11556 },
44660702
DM
11557 "serial" : {
11558 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11559 "format" : "urlencoded",
11560 "format_description" : "serial",
11561 "maxLength" : 60,
56122987 11562 "optional" : 1,
44660702 11563 "type" : "string"
56122987 11564 },
27a7acb2
DM
11565 "shared" : {
11566 "default" : 0,
11567 "description" : "Mark this locally-managed volume as available on all nodes",
11568 "optional" : 1,
11569 "type" : "boolean",
11570 "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!"
11571 },
44660702
DM
11572 "size" : {
11573 "description" : "Disk size. This is purely informational and has no effect.",
11574 "format" : "disk-size",
f004f5b9 11575 "format_description" : "DiskSize",
44660702
DM
11576 "optional" : 1,
11577 "type" : "string"
11578 },
11579 "snapshot" : {
27a7acb2 11580 "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 11581 "optional" : 1,
44660702
DM
11582 "type" : "boolean"
11583 },
25203dc1
NC
11584 "ssd" : {
11585 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11586 "optional" : 1,
11587 "type" : "boolean"
11588 },
44660702
DM
11589 "trans" : {
11590 "description" : "Force disk geometry bios translation mode.",
56122987 11591 "enum" : [
7aacca6f
DM
11592 "none",
11593 "lba",
11594 "auto"
56122987 11595 ],
44660702
DM
11596 "optional" : 1,
11597 "type" : "string"
56122987 11598 },
7aacca6f
DM
11599 "volume" : {
11600 "alias" : "file"
56122987 11601 },
44660702
DM
11602 "werror" : {
11603 "description" : "Write error action.",
11604 "enum" : [
11605 "enospc",
11606 "ignore",
11607 "report",
11608 "stop"
11609 ],
7aacca6f 11610 "optional" : 1,
44660702 11611 "type" : "string"
95895385
TL
11612 },
11613 "wwn" : {
11614 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11615 "format_description" : "wwn",
11616 "optional" : 1,
11617 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11618 "type" : "string"
44660702
DM
11619 }
11620 },
11621 "optional" : 1,
4d47f125 11622 "type" : "string"
44660702
DM
11623 },
11624 "scsi[n]" : {
e9cd3bd4 11625 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702 11626 "format" : {
56122987 11627 "aio" : {
56122987
DM
11628 "description" : "AIO type to use.",
11629 "enum" : [
11630 "native",
11631 "threads"
11632 ],
7aacca6f 11633 "optional" : 1,
44660702 11634 "type" : "string"
56122987 11635 },
44660702
DM
11636 "backup" : {
11637 "description" : "Whether the drive should be included when making backups.",
56122987 11638 "optional" : 1,
44660702 11639 "type" : "boolean"
56122987 11640 },
44660702 11641 "bps" : {
de0983cb 11642 "description" : "Maximum r/w speed in bytes per second.",
44660702 11643 "format_description" : "bps",
56122987 11644 "optional" : 1,
44660702 11645 "type" : "integer"
56122987 11646 },
de0983cb
DM
11647 "bps_max_length" : {
11648 "description" : "Maximum length of I/O bursts in seconds.",
11649 "format_description" : "seconds",
11650 "minimum" : 1,
11651 "optional" : 1,
11652 "type" : "integer"
11653 },
44660702 11654 "bps_rd" : {
de0983cb 11655 "description" : "Maximum read speed in bytes per second.",
44660702 11656 "format_description" : "bps",
56122987 11657 "optional" : 1,
44660702 11658 "type" : "integer"
56122987 11659 },
de0983cb 11660 "bps_rd_length" : {
5d9c884c
DM
11661 "alias" : "bps_rd_max_length"
11662 },
11663 "bps_rd_max_length" : {
de0983cb
DM
11664 "description" : "Maximum length of read I/O bursts in seconds.",
11665 "format_description" : "seconds",
11666 "minimum" : 1,
11667 "optional" : 1,
11668 "type" : "integer"
11669 },
7aacca6f 11670 "bps_wr" : {
de0983cb 11671 "description" : "Maximum write speed in bytes per second.",
7aacca6f 11672 "format_description" : "bps",
56122987 11673 "optional" : 1,
44660702 11674 "type" : "integer"
56122987 11675 },
de0983cb 11676 "bps_wr_length" : {
5d9c884c
DM
11677 "alias" : "bps_wr_max_length"
11678 },
11679 "bps_wr_max_length" : {
de0983cb
DM
11680 "description" : "Maximum length of write I/O bursts in seconds.",
11681 "format_description" : "seconds",
11682 "minimum" : 1,
11683 "optional" : 1,
11684 "type" : "integer"
11685 },
44660702
DM
11686 "cache" : {
11687 "description" : "The drive's cache mode",
7aacca6f 11688 "enum" : [
44660702
DM
11689 "none",
11690 "writethrough",
11691 "writeback",
11692 "unsafe",
11693 "directsync"
7aacca6f 11694 ],
56122987 11695 "optional" : 1,
44660702 11696 "type" : "string"
56122987 11697 },
44660702
DM
11698 "cyls" : {
11699 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 11700 "optional" : 1,
44660702 11701 "type" : "integer"
56122987 11702 },
44660702
DM
11703 "detect_zeroes" : {
11704 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11705 "optional" : 1,
44660702 11706 "type" : "boolean"
56122987 11707 },
44660702
DM
11708 "discard" : {
11709 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11710 "enum" : [
11711 "ignore",
11712 "on"
11713 ],
7aacca6f 11714 "optional" : 1,
44660702 11715 "type" : "string"
56122987 11716 },
44660702
DM
11717 "file" : {
11718 "default_key" : 1,
11719 "description" : "The drive's backing volume.",
11720 "format" : "pve-volume-id-or-qm-path",
11721 "format_description" : "volume",
11722 "type" : "string"
56122987 11723 },
7aacca6f 11724 "format" : {
44660702 11725 "description" : "The drive's backing file's data format.",
56122987 11726 "enum" : [
7aacca6f
DM
11727 "raw",
11728 "cow",
11729 "qcow",
11730 "qed",
11731 "qcow2",
11732 "vmdk",
11733 "cloop"
11734 ],
44660702
DM
11735 "optional" : 1,
11736 "type" : "string"
56122987 11737 },
44660702
DM
11738 "heads" : {
11739 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11740 "optional" : 1,
7aacca6f 11741 "type" : "integer"
56122987 11742 },
44660702 11743 "iops" : {
de0983cb 11744 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 11745 "format_description" : "iops",
44660702
DM
11746 "optional" : 1,
11747 "type" : "integer"
7aacca6f 11748 },
44660702 11749 "iops_max" : {
de0983cb 11750 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11751 "format_description" : "iops",
56122987 11752 "optional" : 1,
44660702 11753 "type" : "integer"
7aacca6f 11754 },
de0983cb
DM
11755 "iops_max_length" : {
11756 "description" : "Maximum length of I/O bursts in seconds.",
11757 "format_description" : "seconds",
11758 "minimum" : 1,
11759 "optional" : 1,
11760 "type" : "integer"
11761 },
44660702 11762 "iops_rd" : {
de0983cb 11763 "description" : "Maximum read I/O in operations per second.",
44660702 11764 "format_description" : "iops",
7aacca6f 11765 "optional" : 1,
44660702 11766 "type" : "integer"
56122987 11767 },
de0983cb 11768 "iops_rd_length" : {
5d9c884c 11769 "alias" : "iops_rd_max_length"
de0983cb 11770 },
44660702 11771 "iops_rd_max" : {
de0983cb 11772 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
11773 "format_description" : "iops",
11774 "optional" : 1,
11775 "type" : "integer"
11776 },
5d9c884c
DM
11777 "iops_rd_max_length" : {
11778 "description" : "Maximum length of read I/O bursts in seconds.",
11779 "format_description" : "seconds",
11780 "minimum" : 1,
11781 "optional" : 1,
11782 "type" : "integer"
11783 },
44660702 11784 "iops_wr" : {
de0983cb 11785 "description" : "Maximum write I/O in operations per second.",
44660702 11786 "format_description" : "iops",
56122987 11787 "optional" : 1,
44660702
DM
11788 "type" : "integer"
11789 },
de0983cb 11790 "iops_wr_length" : {
5d9c884c 11791 "alias" : "iops_wr_max_length"
de0983cb 11792 },
44660702 11793 "iops_wr_max" : {
de0983cb 11794 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
11795 "format_description" : "iops",
11796 "optional" : 1,
11797 "type" : "integer"
56122987 11798 },
5d9c884c
DM
11799 "iops_wr_max_length" : {
11800 "description" : "Maximum length of write I/O bursts in seconds.",
11801 "format_description" : "seconds",
11802 "minimum" : 1,
11803 "optional" : 1,
11804 "type" : "integer"
11805 },
7aacca6f 11806 "iothread" : {
7aacca6f 11807 "description" : "Whether to use iothreads for this drive",
56122987 11808 "optional" : 1,
56122987
DM
11809 "type" : "boolean"
11810 },
44660702 11811 "mbps" : {
de0983cb 11812 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
11813 "format_description" : "mbps",
11814 "optional" : 1,
11815 "type" : "number"
11816 },
11817 "mbps_max" : {
de0983cb 11818 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
11819 "format_description" : "mbps",
11820 "optional" : 1,
11821 "type" : "number"
11822 },
11823 "mbps_rd" : {
de0983cb 11824 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
11825 "format_description" : "mbps",
11826 "optional" : 1,
11827 "type" : "number"
11828 },
11829 "mbps_rd_max" : {
de0983cb 11830 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
11831 "format_description" : "mbps",
11832 "optional" : 1,
11833 "type" : "number"
11834 },
11835 "mbps_wr" : {
de0983cb 11836 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
11837 "format_description" : "mbps",
11838 "optional" : 1,
11839 "type" : "number"
11840 },
11841 "mbps_wr_max" : {
de0983cb 11842 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
11843 "format_description" : "mbps",
11844 "optional" : 1,
11845 "type" : "number"
11846 },
7aacca6f 11847 "media" : {
44660702
DM
11848 "default" : "disk",
11849 "description" : "The drive's media type.",
7aacca6f
DM
11850 "enum" : [
11851 "cdrom",
11852 "disk"
11853 ],
56122987 11854 "optional" : 1,
44660702
DM
11855 "type" : "string"
11856 },
11857 "queues" : {
11858 "description" : "Number of queues.",
44660702
DM
11859 "minimum" : 2,
11860 "optional" : 1,
11861 "type" : "integer"
11862 },
5d9c884c
DM
11863 "replicate" : {
11864 "default" : 1,
11865 "description" : "Whether the drive should considered for replication jobs.",
11866 "optional" : 1,
11867 "type" : "boolean"
11868 },
11869 "rerror" : {
11870 "description" : "Read error action.",
11871 "enum" : [
11872 "ignore",
11873 "report",
11874 "stop"
11875 ],
11876 "optional" : 1,
11877 "type" : "string"
11878 },
52e44c50
FG
11879 "scsiblock" : {
11880 "default" : 0,
11881 "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",
11882 "optional" : 1,
11883 "type" : "boolean"
11884 },
44660702
DM
11885 "secs" : {
11886 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
11887 "optional" : 1,
11888 "type" : "integer"
11889 },
11890 "serial" : {
11891 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11892 "format" : "urlencoded",
11893 "format_description" : "serial",
11894 "maxLength" : 60,
11895 "optional" : 1,
11896 "type" : "string"
11897 },
27a7acb2
DM
11898 "shared" : {
11899 "default" : 0,
11900 "description" : "Mark this locally-managed volume as available on all nodes",
11901 "optional" : 1,
11902 "type" : "boolean",
11903 "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!"
11904 },
44660702
DM
11905 "size" : {
11906 "description" : "Disk size. This is purely informational and has no effect.",
11907 "format" : "disk-size",
f004f5b9 11908 "format_description" : "DiskSize",
44660702
DM
11909 "optional" : 1,
11910 "type" : "string"
56122987 11911 },
7aacca6f 11912 "snapshot" : {
27a7acb2 11913 "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 11914 "optional" : 1,
44660702 11915 "type" : "boolean"
7aacca6f 11916 },
25203dc1
NC
11917 "ssd" : {
11918 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
11919 "optional" : 1,
11920 "type" : "boolean"
11921 },
44660702
DM
11922 "trans" : {
11923 "description" : "Force disk geometry bios translation mode.",
11924 "enum" : [
11925 "none",
11926 "lba",
11927 "auto"
11928 ],
44660702
DM
11929 "optional" : 1,
11930 "type" : "string"
11931 },
11932 "volume" : {
11933 "alias" : "file"
11934 },
11935 "werror" : {
11936 "description" : "Write error action.",
11937 "enum" : [
11938 "enospc",
11939 "ignore",
11940 "report",
11941 "stop"
11942 ],
56122987 11943 "optional" : 1,
44660702 11944 "type" : "string"
95895385
TL
11945 },
11946 "wwn" : {
11947 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
11948 "format_description" : "wwn",
11949 "optional" : 1,
11950 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
11951 "type" : "string"
56122987 11952 }
44660702 11953 },
7aacca6f 11954 "optional" : 1,
4d47f125 11955 "type" : "string"
44660702
DM
11956 },
11957 "scsihw" : {
11958 "default" : "lsi",
c2993fe5 11959 "description" : "SCSI controller model",
7aacca6f 11960 "enum" : [
44660702
DM
11961 "lsi",
11962 "lsi53c810",
11963 "virtio-scsi-pci",
11964 "virtio-scsi-single",
11965 "megasas",
11966 "pvscsi"
7aacca6f 11967 ],
44660702
DM
11968 "optional" : 1,
11969 "type" : "string"
56122987 11970 },
27a7acb2
DM
11971 "searchdomain" : {
11972 "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.",
11973 "optional" : 1,
4d47f125 11974 "type" : "string"
27a7acb2 11975 },
44660702 11976 "serial[n]" : {
c2993fe5 11977 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 11978 "optional" : 1,
44660702 11979 "pattern" : "(/dev/.+|socket)",
c2993fe5 11980 "type" : "string",
57b78691 11981 "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 11982 },
44660702
DM
11983 "shares" : {
11984 "default" : 1000,
5da3d723 11985 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
11986 "maximum" : 50000,
11987 "minimum" : 0,
56122987 11988 "optional" : 1,
4d47f125 11989 "type" : "integer"
56122987 11990 },
44660702
DM
11991 "smbios1" : {
11992 "description" : "Specify SMBIOS type 1 fields.",
11993 "format" : "pve-qm-smbios1",
1e3f8156 11994 "maxLength" : 512,
56122987 11995 "optional" : 1,
4d47f125 11996 "type" : "string"
56122987 11997 },
44660702
DM
11998 "smp" : {
11999 "default" : 1,
12000 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 12001 "minimum" : 1,
7aacca6f 12002 "optional" : 1,
4d47f125 12003 "type" : "integer"
7aacca6f 12004 },
44660702
DM
12005 "sockets" : {
12006 "default" : 1,
12007 "description" : "The number of CPU sockets.",
12008 "minimum" : 1,
7aacca6f 12009 "optional" : 1,
4d47f125 12010 "type" : "integer"
56122987 12011 },
1c532546
TL
12012 "spice_enhancements" : {
12013 "description" : "Configure additional enhancements for SPICE.",
12014 "format" : {
12015 "foldersharing" : {
12016 "default" : "0",
12017 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
12018 "optional" : 1,
12019 "type" : "boolean"
12020 },
12021 "videostreaming" : {
12022 "default" : "off",
12023 "description" : "Enable video streaming. Uses compression for detected video streams.",
12024 "enum" : [
12025 "off",
12026 "all",
12027 "filter"
12028 ],
12029 "optional" : 1,
12030 "type" : "string"
12031 }
12032 },
12033 "optional" : 1,
12034 "type" : "string"
12035 },
27a7acb2
DM
12036 "sshkeys" : {
12037 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
12038 "format" : "urlencoded",
12039 "optional" : 1,
4d47f125 12040 "type" : "string"
27a7acb2 12041 },
44660702
DM
12042 "startdate" : {
12043 "default" : "now",
12044 "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 12045 "optional" : 1,
44660702 12046 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 12047 "type" : "string",
44660702 12048 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 12049 },
7aacca6f 12050 "startup" : {
7aacca6f 12051 "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 12052 "format" : "pve-startup-order",
56122987 12053 "optional" : 1,
44660702
DM
12054 "type" : "string",
12055 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 12056 },
44660702 12057 "tablet" : {
7aacca6f 12058 "default" : 1,
c2993fe5 12059 "description" : "Enable/disable the USB tablet device.",
7aacca6f 12060 "optional" : 1,
c2993fe5
DM
12061 "type" : "boolean",
12062 "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 12063 },
5c1699e5
TL
12064 "tags" : {
12065 "description" : "Tags of the VM. This is only meta information.",
12066 "format" : "pve-tag-list",
12067 "optional" : 1,
12068 "type" : "string"
12069 },
44660702
DM
12070 "tdf" : {
12071 "default" : 0,
12072 "description" : "Enable/disable time drift fix.",
7aacca6f 12073 "optional" : 1,
4d47f125 12074 "type" : "boolean"
7aacca6f 12075 },
44660702
DM
12076 "template" : {
12077 "default" : 0,
12078 "description" : "Enable/disable Template.",
7aacca6f 12079 "optional" : 1,
4d47f125 12080 "type" : "boolean"
7aacca6f 12081 },
44660702 12082 "unused[n]" : {
c2993fe5 12083 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
12084 "format" : {
12085 "file" : {
12086 "default_key" : 1,
12087 "description" : "The drive's backing volume.",
12088 "format" : "pve-volume-id",
12089 "format_description" : "volume",
12090 "type" : "string"
12091 },
12092 "volume" : {
12093 "alias" : "file"
12094 }
12095 },
7aacca6f 12096 "optional" : 1,
4d47f125 12097 "type" : "string"
7aacca6f 12098 },
44660702 12099 "usb[n]" : {
c2993fe5 12100 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
12101 "format" : {
12102 "host" : {
12103 "default_key" : 1,
c2993fe5 12104 "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
12105 "format" : "pve-qm-usb-device",
12106 "format_description" : "HOSTUSBDEVICE|spice",
12107 "type" : "string"
12108 },
12109 "usb3" : {
c2993fe5 12110 "default" : 0,
1c532546 12111 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
12112 "optional" : 1,
12113 "type" : "boolean"
12114 }
12115 },
7aacca6f 12116 "optional" : 1,
4d47f125 12117 "type" : "string"
56122987 12118 },
44660702
DM
12119 "vcpus" : {
12120 "default" : 0,
12121 "description" : "Number of hotplugged vcpus.",
12122 "minimum" : 1,
56122987 12123 "optional" : 1,
4d47f125 12124 "type" : "integer"
56122987 12125 },
44660702 12126 "vga" : {
e2d681b3
TL
12127 "description" : "Configure the VGA hardware.",
12128 "format" : {
12129 "memory" : {
12130 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
12131 "maximum" : 512,
12132 "minimum" : 4,
12133 "optional" : 1,
12134 "type" : "integer"
12135 },
12136 "type" : {
12137 "default" : "std",
12138 "default_key" : 1,
12139 "description" : "Select the VGA type.",
12140 "enum" : [
12141 "cirrus",
12142 "qxl",
12143 "qxl2",
12144 "qxl3",
12145 "qxl4",
5f26e15b 12146 "none",
e2d681b3
TL
12147 "serial0",
12148 "serial1",
12149 "serial2",
12150 "serial3",
12151 "std",
12152 "virtio",
12153 "vmware"
12154 ],
12155 "optional" : 1,
12156 "type" : "string"
12157 }
12158 },
56122987 12159 "optional" : 1,
c2993fe5 12160 "type" : "string",
e2d681b3 12161 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
56122987 12162 },
44660702
DM
12163 "virtio[n]" : {
12164 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 12165 "format" : {
44660702
DM
12166 "aio" : {
12167 "description" : "AIO type to use.",
56122987 12168 "enum" : [
44660702
DM
12169 "native",
12170 "threads"
56122987 12171 ],
56122987
DM
12172 "optional" : 1,
12173 "type" : "string"
12174 },
44660702
DM
12175 "backup" : {
12176 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12177 "optional" : 1,
12178 "type" : "boolean"
7aacca6f 12179 },
44660702 12180 "bps" : {
de0983cb 12181 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12182 "format_description" : "bps",
12183 "optional" : 1,
12184 "type" : "integer"
56122987 12185 },
de0983cb
DM
12186 "bps_max_length" : {
12187 "description" : "Maximum length of I/O bursts in seconds.",
12188 "format_description" : "seconds",
12189 "minimum" : 1,
12190 "optional" : 1,
12191 "type" : "integer"
12192 },
44660702 12193 "bps_rd" : {
de0983cb 12194 "description" : "Maximum read speed in bytes per second.",
44660702 12195 "format_description" : "bps",
56122987 12196 "optional" : 1,
44660702 12197 "type" : "integer"
56122987 12198 },
de0983cb 12199 "bps_rd_length" : {
5d9c884c
DM
12200 "alias" : "bps_rd_max_length"
12201 },
12202 "bps_rd_max_length" : {
de0983cb
DM
12203 "description" : "Maximum length of read I/O bursts in seconds.",
12204 "format_description" : "seconds",
12205 "minimum" : 1,
12206 "optional" : 1,
12207 "type" : "integer"
12208 },
44660702 12209 "bps_wr" : {
de0983cb 12210 "description" : "Maximum write speed in bytes per second.",
44660702 12211 "format_description" : "bps",
56122987 12212 "optional" : 1,
44660702
DM
12213 "type" : "integer"
12214 },
de0983cb 12215 "bps_wr_length" : {
5d9c884c
DM
12216 "alias" : "bps_wr_max_length"
12217 },
12218 "bps_wr_max_length" : {
de0983cb
DM
12219 "description" : "Maximum length of write I/O bursts in seconds.",
12220 "format_description" : "seconds",
12221 "minimum" : 1,
12222 "optional" : 1,
12223 "type" : "integer"
12224 },
44660702
DM
12225 "cache" : {
12226 "description" : "The drive's cache mode",
56122987 12227 "enum" : [
44660702
DM
12228 "none",
12229 "writethrough",
12230 "writeback",
12231 "unsafe",
12232 "directsync"
56122987 12233 ],
56122987 12234 "optional" : 1,
44660702 12235 "type" : "string"
56122987 12236 },
44660702
DM
12237 "cyls" : {
12238 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12239 "optional" : 1,
44660702 12240 "type" : "integer"
7aacca6f 12241 },
44660702
DM
12242 "detect_zeroes" : {
12243 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12244 "optional" : 1,
12245 "type" : "boolean"
7aacca6f 12246 },
44660702
DM
12247 "discard" : {
12248 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12249 "enum" : [
12250 "ignore",
12251 "on"
12252 ],
56122987 12253 "optional" : 1,
44660702 12254 "type" : "string"
56122987
DM
12255 },
12256 "file" : {
7aacca6f 12257 "default_key" : 1,
44660702 12258 "description" : "The drive's backing volume.",
7aacca6f 12259 "format" : "pve-volume-id-or-qm-path",
44660702
DM
12260 "format_description" : "volume",
12261 "type" : "string"
7aacca6f
DM
12262 },
12263 "format" : {
7aacca6f
DM
12264 "description" : "The drive's backing file's data format.",
12265 "enum" : [
12266 "raw",
12267 "cow",
12268 "qcow",
12269 "qed",
12270 "qcow2",
12271 "vmdk",
12272 "cloop"
56122987
DM
12273 ],
12274 "optional" : 1,
56122987
DM
12275 "type" : "string"
12276 },
44660702
DM
12277 "heads" : {
12278 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12279 "optional" : 1,
44660702 12280 "type" : "integer"
56122987 12281 },
44660702 12282 "iops" : {
de0983cb 12283 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12284 "format_description" : "iops",
56122987 12285 "optional" : 1,
44660702 12286 "type" : "integer"
56122987 12287 },
44660702 12288 "iops_max" : {
de0983cb 12289 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12290 "format_description" : "iops",
56122987 12291 "optional" : 1,
56122987
DM
12292 "type" : "integer"
12293 },
de0983cb
DM
12294 "iops_max_length" : {
12295 "description" : "Maximum length of I/O bursts in seconds.",
12296 "format_description" : "seconds",
12297 "minimum" : 1,
12298 "optional" : 1,
12299 "type" : "integer"
12300 },
44660702 12301 "iops_rd" : {
de0983cb 12302 "description" : "Maximum read I/O in operations per second.",
44660702 12303 "format_description" : "iops",
56122987 12304 "optional" : 1,
44660702 12305 "type" : "integer"
56122987 12306 },
de0983cb 12307 "iops_rd_length" : {
5d9c884c 12308 "alias" : "iops_rd_max_length"
de0983cb 12309 },
44660702 12310 "iops_rd_max" : {
de0983cb 12311 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12312 "format_description" : "iops",
7aacca6f 12313 "optional" : 1,
44660702 12314 "type" : "integer"
56122987 12315 },
5d9c884c
DM
12316 "iops_rd_max_length" : {
12317 "description" : "Maximum length of read I/O bursts in seconds.",
12318 "format_description" : "seconds",
12319 "minimum" : 1,
12320 "optional" : 1,
12321 "type" : "integer"
12322 },
44660702 12323 "iops_wr" : {
de0983cb 12324 "description" : "Maximum write I/O in operations per second.",
44660702 12325 "format_description" : "iops",
7aacca6f 12326 "optional" : 1,
44660702 12327 "type" : "integer"
56122987 12328 },
de0983cb 12329 "iops_wr_length" : {
5d9c884c 12330 "alias" : "iops_wr_max_length"
de0983cb 12331 },
44660702 12332 "iops_wr_max" : {
de0983cb 12333 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12334 "format_description" : "iops",
56122987
DM
12335 "optional" : 1,
12336 "type" : "integer"
12337 },
5d9c884c
DM
12338 "iops_wr_max_length" : {
12339 "description" : "Maximum length of write I/O bursts in seconds.",
12340 "format_description" : "seconds",
12341 "minimum" : 1,
12342 "optional" : 1,
12343 "type" : "integer"
12344 },
44660702
DM
12345 "iothread" : {
12346 "description" : "Whether to use iothreads for this drive",
44660702
DM
12347 "optional" : 1,
12348 "type" : "boolean"
12349 },
12350 "mbps" : {
de0983cb 12351 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 12352 "format_description" : "mbps",
44660702
DM
12353 "optional" : 1,
12354 "type" : "number"
12355 },
12356 "mbps_max" : {
de0983cb 12357 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12358 "format_description" : "mbps",
12359 "optional" : 1,
12360 "type" : "number"
7aacca6f 12361 },
44660702 12362 "mbps_rd" : {
de0983cb 12363 "description" : "Maximum read speed in megabytes per second.",
44660702 12364 "format_description" : "mbps",
56122987 12365 "optional" : 1,
44660702 12366 "type" : "number"
56122987 12367 },
44660702 12368 "mbps_rd_max" : {
de0983cb 12369 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12370 "format_description" : "mbps",
7aacca6f 12371 "optional" : 1,
44660702 12372 "type" : "number"
56122987 12373 },
44660702 12374 "mbps_wr" : {
de0983cb 12375 "description" : "Maximum write speed in megabytes per second.",
44660702 12376 "format_description" : "mbps",
56122987 12377 "optional" : 1,
44660702 12378 "type" : "number"
56122987 12379 },
44660702 12380 "mbps_wr_max" : {
de0983cb 12381 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12382 "format_description" : "mbps",
56122987 12383 "optional" : 1,
44660702 12384 "type" : "number"
56122987
DM
12385 },
12386 "media" : {
7aacca6f 12387 "default" : "disk",
44660702 12388 "description" : "The drive's media type.",
56122987
DM
12389 "enum" : [
12390 "cdrom",
12391 "disk"
12392 ],
44660702
DM
12393 "optional" : 1,
12394 "type" : "string"
56122987 12395 },
5d9c884c
DM
12396 "replicate" : {
12397 "default" : 1,
12398 "description" : "Whether the drive should considered for replication jobs.",
12399 "optional" : 1,
12400 "type" : "boolean"
12401 },
7aacca6f 12402 "rerror" : {
44660702 12403 "description" : "Read error action.",
56122987 12404 "enum" : [
7aacca6f
DM
12405 "ignore",
12406 "report",
12407 "stop"
56122987 12408 ],
56122987 12409 "optional" : 1,
44660702 12410 "type" : "string"
56122987 12411 },
44660702
DM
12412 "secs" : {
12413 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12414 "optional" : 1,
12415 "type" : "integer"
12416 },
12417 "serial" : {
12418 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12419 "format" : "urlencoded",
12420 "format_description" : "serial",
12421 "maxLength" : 60,
56122987 12422 "optional" : 1,
7aacca6f 12423 "type" : "string"
56122987 12424 },
27a7acb2
DM
12425 "shared" : {
12426 "default" : 0,
12427 "description" : "Mark this locally-managed volume as available on all nodes",
12428 "optional" : 1,
12429 "type" : "boolean",
12430 "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!"
12431 },
44660702
DM
12432 "size" : {
12433 "description" : "Disk size. This is purely informational and has no effect.",
12434 "format" : "disk-size",
f004f5b9 12435 "format_description" : "DiskSize",
56122987 12436 "optional" : 1,
44660702 12437 "type" : "string"
56122987 12438 },
44660702 12439 "snapshot" : {
27a7acb2 12440 "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 12441 "optional" : 1,
44660702 12442 "type" : "boolean"
56122987 12443 },
44660702
DM
12444 "trans" : {
12445 "description" : "Force disk geometry bios translation mode.",
12446 "enum" : [
12447 "none",
12448 "lba",
12449 "auto"
12450 ],
44660702
DM
12451 "optional" : 1,
12452 "type" : "string"
12453 },
12454 "volume" : {
12455 "alias" : "file"
12456 },
12457 "werror" : {
12458 "description" : "Write error action.",
12459 "enum" : [
12460 "enospc",
12461 "ignore",
12462 "report",
12463 "stop"
12464 ],
56122987 12465 "optional" : 1,
44660702 12466 "type" : "string"
56122987 12467 }
44660702 12468 },
56122987 12469 "optional" : 1,
4d47f125 12470 "type" : "string"
56122987 12471 },
4d47f125
TL
12472 "vmgenid" : {
12473 "default" : "1 (autogenerated)",
12474 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
12475 "format_description" : "UUID",
12476 "optional" : 1,
12477 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
12478 "type" : "string",
12479 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
56122987 12480 },
2489d6df
WB
12481 "vmstatestorage" : {
12482 "description" : "Default storage for VM state volumes/files.",
12483 "format" : "pve-storage-id",
12484 "optional" : 1,
4d47f125 12485 "type" : "string"
2489d6df 12486 },
44660702 12487 "watchdog" : {
c2993fe5 12488 "description" : "Create a virtual hardware watchdog device.",
44660702 12489 "format" : "pve-qm-watchdog",
56122987 12490 "optional" : 1,
c2993fe5
DM
12491 "type" : "string",
12492 "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 12493 }
4d47f125
TL
12494 },
12495 "type" : "object"
44660702 12496 }
56122987 12497 },
4d47f125 12498 "POST" : {
e9cd3bd4 12499 "allowtoken" : 1,
4d47f125
TL
12500 "description" : "Set virtual machine options (asynchrounous API).",
12501 "method" : "POST",
12502 "name" : "update_vm_async",
56122987 12503 "parameters" : {
7aacca6f 12504 "additionalProperties" : 0,
56122987 12505 "properties" : {
44660702
DM
12506 "acpi" : {
12507 "default" : 1,
12508 "description" : "Enable/disable ACPI.",
7aacca6f 12509 "optional" : 1,
013dc89f
DM
12510 "type" : "boolean",
12511 "typetext" : "<boolean>"
7aacca6f 12512 },
44660702 12513 "agent" : {
4d47f125
TL
12514 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12515 "format" : {
12516 "enabled" : {
12517 "default" : 0,
12518 "default_key" : 1,
12519 "description" : "Enable/disable Qemu GuestAgent.",
12520 "type" : "boolean"
12521 },
12522 "fstrim_cloned_disks" : {
12523 "default" : 0,
12524 "description" : "Run fstrim after cloning/moving a disk.",
12525 "optional" : 1,
12526 "type" : "boolean"
5c1699e5
TL
12527 },
12528 "type" : {
12529 "default" : "virtio",
12530 "description" : "Select the agent type",
12531 "enum" : [
12532 "virtio",
12533 "isa"
12534 ],
12535 "optional" : 1,
12536 "type" : "string"
4d47f125
TL
12537 }
12538 },
7aacca6f 12539 "optional" : 1,
4d47f125 12540 "type" : "string",
5c1699e5 12541 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 12542 },
e2d681b3
TL
12543 "arch" : {
12544 "description" : "Virtual processor architecture. Defaults to the host.",
12545 "enum" : [
12546 "x86_64",
12547 "aarch64"
12548 ],
12549 "optional" : 1,
12550 "type" : "string"
12551 },
44660702 12552 "args" : {
c2993fe5 12553 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 12554 "optional" : 1,
c2993fe5 12555 "type" : "string",
013dc89f 12556 "typetext" : "<string>",
c2993fe5 12557 "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 12558 },
1c532546
TL
12559 "audio0" : {
12560 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
12561 "format" : {
12562 "device" : {
12563 "description" : "Configure an audio device.",
12564 "enum" : [
12565 "ich9-intel-hda",
12566 "intel-hda",
12567 "AC97"
12568 ],
12569 "type" : "string"
12570 },
12571 "driver" : {
12572 "default" : "spice",
12573 "description" : "Driver backend for the audio device.",
12574 "enum" : [
12575 "spice"
12576 ],
12577 "optional" : 1,
12578 "type" : "string"
12579 }
12580 },
12581 "optional" : 1,
12582 "type" : "string",
12583 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
12584 },
44660702
DM
12585 "autostart" : {
12586 "default" : 0,
12587 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 12588 "optional" : 1,
013dc89f
DM
12589 "type" : "boolean",
12590 "typetext" : "<boolean>"
7aacca6f 12591 },
4d47f125
TL
12592 "background_delay" : {
12593 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
12594 "maximum" : 30,
12595 "minimum" : 1,
12596 "optional" : 1,
12597 "type" : "integer",
12598 "typetext" : "<integer> (1 - 30)"
12599 },
44660702
DM
12600 "balloon" : {
12601 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12602 "minimum" : 0,
12603 "optional" : 1,
4bd7df8b 12604 "type" : "integer",
013dc89f 12605 "typetext" : "<integer> (0 - N)"
44660702
DM
12606 },
12607 "bios" : {
12608 "default" : "seabios",
12609 "description" : "Select BIOS implementation.",
7aacca6f 12610 "enum" : [
44660702
DM
12611 "seabios",
12612 "ovmf"
7aacca6f 12613 ],
56122987 12614 "optional" : 1,
7aacca6f
DM
12615 "type" : "string"
12616 },
44660702
DM
12617 "boot" : {
12618 "default" : "cdn",
12619 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 12620 "optional" : 1,
44660702
DM
12621 "pattern" : "[acdn]{1,4}",
12622 "type" : "string"
56122987 12623 },
44660702
DM
12624 "bootdisk" : {
12625 "description" : "Enable booting from specified disk.",
12626 "format" : "pve-qm-bootdisk",
12627 "optional" : 1,
12628 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12629 "type" : "string"
12630 },
12631 "cdrom" : {
12632 "description" : "This is an alias for option -ide2",
de0983cb 12633 "format" : "pve-qm-ide",
56122987 12634 "optional" : 1,
7aacca6f 12635 "type" : "string",
013dc89f 12636 "typetext" : "<volume>"
44660702 12637 },
95895385
TL
12638 "cicustom" : {
12639 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12640 "format" : "pve-qm-cicustom",
12641 "optional" : 1,
12642 "type" : "string",
12643 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
12644 },
27a7acb2
DM
12645 "cipassword" : {
12646 "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.",
12647 "optional" : 1,
12648 "type" : "string",
12649 "typetext" : "<string>"
12650 },
12651 "citype" : {
12652 "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.",
12653 "enum" : [
12654 "configdrive2",
12655 "nocloud"
12656 ],
12657 "optional" : 1,
12658 "type" : "string"
12659 },
12660 "ciuser" : {
12661 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12662 "optional" : 1,
12663 "type" : "string",
12664 "typetext" : "<string>"
12665 },
44660702
DM
12666 "cores" : {
12667 "default" : 1,
12668 "description" : "The number of cores per socket.",
12669 "minimum" : 1,
12670 "optional" : 1,
4bd7df8b 12671 "type" : "integer",
013dc89f 12672 "typetext" : "<integer> (1 - N)"
44660702
DM
12673 },
12674 "cpu" : {
12675 "description" : "Emulated CPU type.",
c5aa7e14 12676 "format" : "pve-vm-cpu-conf",
44660702 12677 "optional" : 1,
4bd7df8b 12678 "type" : "string",
c5aa7e14 12679 "typetext" : "<string>"
44660702
DM
12680 },
12681 "cpulimit" : {
12682 "default" : 0,
c2993fe5 12683 "description" : "Limit of CPU usage.",
44660702
DM
12684 "maximum" : 128,
12685 "minimum" : 0,
12686 "optional" : 1,
c2993fe5 12687 "type" : "number",
013dc89f 12688 "typetext" : "<number> (0 - 128)",
c2993fe5 12689 "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
12690 },
12691 "cpuunits" : {
de0983cb 12692 "default" : 1024,
c2993fe5 12693 "description" : "CPU weight for a VM.",
2489d6df
WB
12694 "maximum" : 262144,
12695 "minimum" : 2,
44660702 12696 "optional" : 1,
c2993fe5 12697 "type" : "integer",
2489d6df
WB
12698 "typetext" : "<integer> (2 - 262144)",
12699 "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
12700 },
12701 "delete" : {
12702 "description" : "A list of settings you want to delete.",
12703 "format" : "pve-configid-list",
12704 "optional" : 1,
013dc89f
DM
12705 "type" : "string",
12706 "typetext" : "<string>"
44660702
DM
12707 },
12708 "description" : {
12709 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12710 "optional" : 1,
013dc89f
DM
12711 "type" : "string",
12712 "typetext" : "<string>"
44660702
DM
12713 },
12714 "digest" : {
12715 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12716 "maxLength" : 40,
12717 "optional" : 1,
013dc89f
DM
12718 "type" : "string",
12719 "typetext" : "<string>"
44660702 12720 },
4d47f125
TL
12721 "efidisk0" : {
12722 "description" : "Configure a Disk for storing EFI vars",
12723 "format" : {
12724 "file" : {
12725 "default_key" : 1,
12726 "description" : "The drive's backing volume.",
12727 "format" : "pve-volume-id-or-qm-path",
12728 "format_description" : "volume",
12729 "type" : "string"
12730 },
12731 "format" : {
12732 "description" : "The drive's backing file's data format.",
12733 "enum" : [
12734 "raw",
12735 "cow",
12736 "qcow",
12737 "qed",
12738 "qcow2",
12739 "vmdk",
12740 "cloop"
12741 ],
12742 "optional" : 1,
12743 "type" : "string"
12744 },
12745 "size" : {
12746 "description" : "Disk size. This is purely informational and has no effect.",
12747 "format" : "disk-size",
12748 "format_description" : "DiskSize",
12749 "optional" : 1,
12750 "type" : "string"
12751 },
12752 "volume" : {
12753 "alias" : "file"
12754 }
12755 },
12756 "optional" : 1,
12757 "type" : "string",
12758 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
12759 },
44660702
DM
12760 "force" : {
12761 "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.",
12762 "optional" : 1,
12763 "requires" : "delete",
013dc89f
DM
12764 "type" : "boolean",
12765 "typetext" : "<boolean>"
44660702
DM
12766 },
12767 "freeze" : {
12768 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12769 "optional" : 1,
013dc89f
DM
12770 "type" : "boolean",
12771 "typetext" : "<boolean>"
44660702 12772 },
5f26e15b
TL
12773 "hookscript" : {
12774 "description" : "Script that will be executed during various steps in the vms lifetime.",
12775 "format" : "pve-volume-id",
12776 "optional" : 1,
12777 "type" : "string",
12778 "typetext" : "<string>"
12779 },
44660702 12780 "hostpci[n]" : {
c2993fe5 12781 "description" : "Map host PCI devices into guest.",
44660702
DM
12782 "format" : "pve-qm-hostpci",
12783 "optional" : 1,
57b78691 12784 "type" : "string",
e2d681b3 12785 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 12786 "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 12787 },
7aacca6f 12788 "hotplug" : {
7aacca6f 12789 "default" : "network,disk,usb",
44660702
DM
12790 "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'.",
12791 "format" : "pve-hotplug-features",
56122987 12792 "optional" : 1,
013dc89f
DM
12793 "type" : "string",
12794 "typetext" : "<string>"
56122987 12795 },
4bd7df8b
DM
12796 "hugepages" : {
12797 "description" : "Enable/disable hugepages memory.",
12798 "enum" : [
12799 "any",
12800 "2",
12801 "1024"
12802 ],
12803 "optional" : 1,
12804 "type" : "string"
12805 },
56122987 12806 "ide[n]" : {
7aacca6f 12807 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 12808 "format" : {
44660702
DM
12809 "aio" : {
12810 "description" : "AIO type to use.",
12811 "enum" : [
12812 "native",
12813 "threads"
12814 ],
56122987 12815 "optional" : 1,
44660702 12816 "type" : "string"
56122987 12817 },
44660702
DM
12818 "backup" : {
12819 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12820 "optional" : 1,
12821 "type" : "boolean"
12822 },
12823 "bps" : {
de0983cb 12824 "description" : "Maximum r/w speed in bytes per second.",
44660702 12825 "format_description" : "bps",
56122987 12826 "optional" : 1,
44660702 12827 "type" : "integer"
56122987 12828 },
de0983cb
DM
12829 "bps_max_length" : {
12830 "description" : "Maximum length of I/O bursts in seconds.",
12831 "format_description" : "seconds",
12832 "minimum" : 1,
12833 "optional" : 1,
12834 "type" : "integer"
12835 },
44660702 12836 "bps_rd" : {
de0983cb 12837 "description" : "Maximum read speed in bytes per second.",
44660702 12838 "format_description" : "bps",
56122987 12839 "optional" : 1,
44660702 12840 "type" : "integer"
56122987 12841 },
de0983cb 12842 "bps_rd_length" : {
5d9c884c
DM
12843 "alias" : "bps_rd_max_length"
12844 },
12845 "bps_rd_max_length" : {
de0983cb
DM
12846 "description" : "Maximum length of read I/O bursts in seconds.",
12847 "format_description" : "seconds",
12848 "minimum" : 1,
12849 "optional" : 1,
12850 "type" : "integer"
12851 },
7aacca6f 12852 "bps_wr" : {
de0983cb 12853 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12854 "format_description" : "bps",
12855 "optional" : 1,
12856 "type" : "integer"
7aacca6f 12857 },
de0983cb 12858 "bps_wr_length" : {
5d9c884c
DM
12859 "alias" : "bps_wr_max_length"
12860 },
12861 "bps_wr_max_length" : {
de0983cb
DM
12862 "description" : "Maximum length of write I/O bursts in seconds.",
12863 "format_description" : "seconds",
12864 "minimum" : 1,
12865 "optional" : 1,
12866 "type" : "integer"
12867 },
44660702
DM
12868 "cache" : {
12869 "description" : "The drive's cache mode",
12870 "enum" : [
12871 "none",
12872 "writethrough",
12873 "writeback",
12874 "unsafe",
12875 "directsync"
12876 ],
56122987 12877 "optional" : 1,
44660702
DM
12878 "type" : "string"
12879 },
12880 "cyls" : {
12881 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12882 "optional" : 1,
12883 "type" : "integer"
12884 },
12885 "detect_zeroes" : {
12886 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12887 "optional" : 1,
12888 "type" : "boolean"
56122987 12889 },
7aacca6f 12890 "discard" : {
7aacca6f 12891 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 12892 "enum" : [
7aacca6f
DM
12893 "ignore",
12894 "on"
56122987
DM
12895 ],
12896 "optional" : 1,
44660702 12897 "type" : "string"
7aacca6f 12898 },
44660702
DM
12899 "file" : {
12900 "default_key" : 1,
12901 "description" : "The drive's backing volume.",
12902 "format" : "pve-volume-id-or-qm-path",
12903 "format_description" : "volume",
12904 "type" : "string"
7aacca6f
DM
12905 },
12906 "format" : {
44660702 12907 "description" : "The drive's backing file's data format.",
7aacca6f
DM
12908 "enum" : [
12909 "raw",
12910 "cow",
12911 "qcow",
12912 "qed",
12913 "qcow2",
12914 "vmdk",
12915 "cloop"
12916 ],
7aacca6f 12917 "optional" : 1,
44660702 12918 "type" : "string"
56122987 12919 },
7aacca6f 12920 "heads" : {
44660702 12921 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12922 "optional" : 1,
44660702 12923 "type" : "integer"
7aacca6f 12924 },
44660702 12925 "iops" : {
de0983cb 12926 "description" : "Maximum r/w I/O in operations per second.",
44660702 12927 "format_description" : "iops",
7aacca6f 12928 "optional" : 1,
44660702 12929 "type" : "integer"
56122987 12930 },
44660702 12931 "iops_max" : {
de0983cb 12932 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12933 "format_description" : "iops",
56122987 12934 "optional" : 1,
44660702 12935 "type" : "integer"
56122987 12936 },
de0983cb
DM
12937 "iops_max_length" : {
12938 "description" : "Maximum length of I/O bursts in seconds.",
12939 "format_description" : "seconds",
12940 "minimum" : 1,
12941 "optional" : 1,
12942 "type" : "integer"
12943 },
44660702 12944 "iops_rd" : {
de0983cb 12945 "description" : "Maximum read I/O in operations per second.",
44660702 12946 "format_description" : "iops",
56122987 12947 "optional" : 1,
44660702 12948 "type" : "integer"
7aacca6f 12949 },
de0983cb 12950 "iops_rd_length" : {
5d9c884c 12951 "alias" : "iops_rd_max_length"
de0983cb 12952 },
44660702 12953 "iops_rd_max" : {
de0983cb 12954 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12955 "format_description" : "iops",
7aacca6f 12956 "optional" : 1,
44660702 12957 "type" : "integer"
7aacca6f 12958 },
5d9c884c
DM
12959 "iops_rd_max_length" : {
12960 "description" : "Maximum length of read I/O bursts in seconds.",
12961 "format_description" : "seconds",
12962 "minimum" : 1,
12963 "optional" : 1,
12964 "type" : "integer"
12965 },
44660702 12966 "iops_wr" : {
de0983cb 12967 "description" : "Maximum write I/O in operations per second.",
44660702 12968 "format_description" : "iops",
7aacca6f 12969 "optional" : 1,
44660702 12970 "type" : "integer"
56122987 12971 },
de0983cb 12972 "iops_wr_length" : {
5d9c884c 12973 "alias" : "iops_wr_max_length"
de0983cb 12974 },
44660702 12975 "iops_wr_max" : {
de0983cb 12976 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12977 "format_description" : "iops",
7aacca6f 12978 "optional" : 1,
44660702 12979 "type" : "integer"
7aacca6f 12980 },
5d9c884c
DM
12981 "iops_wr_max_length" : {
12982 "description" : "Maximum length of write I/O bursts in seconds.",
12983 "format_description" : "seconds",
12984 "minimum" : 1,
12985 "optional" : 1,
12986 "type" : "integer"
12987 },
7aacca6f 12988 "mbps" : {
de0983cb 12989 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 12990 "format_description" : "mbps",
7aacca6f 12991 "optional" : 1,
44660702 12992 "type" : "number"
7aacca6f 12993 },
44660702 12994 "mbps_max" : {
de0983cb 12995 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12996 "format_description" : "mbps",
7aacca6f 12997 "optional" : 1,
44660702 12998 "type" : "number"
7aacca6f 12999 },
44660702 13000 "mbps_rd" : {
de0983cb 13001 "description" : "Maximum read speed in megabytes per second.",
44660702 13002 "format_description" : "mbps",
7aacca6f 13003 "optional" : 1,
44660702 13004 "type" : "number"
7aacca6f 13005 },
44660702 13006 "mbps_rd_max" : {
de0983cb 13007 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13008 "format_description" : "mbps",
13009 "optional" : 1,
13010 "type" : "number"
7aacca6f 13011 },
44660702 13012 "mbps_wr" : {
de0983cb 13013 "description" : "Maximum write speed in megabytes per second.",
44660702 13014 "format_description" : "mbps",
7aacca6f 13015 "optional" : 1,
44660702
DM
13016 "type" : "number"
13017 },
13018 "mbps_wr_max" : {
de0983cb 13019 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13020 "format_description" : "mbps",
13021 "optional" : 1,
13022 "type" : "number"
13023 },
13024 "media" : {
13025 "default" : "disk",
13026 "description" : "The drive's media type.",
56122987 13027 "enum" : [
44660702
DM
13028 "cdrom",
13029 "disk"
56122987 13030 ],
44660702
DM
13031 "optional" : 1,
13032 "type" : "string"
56122987 13033 },
7aacca6f 13034 "model" : {
44660702 13035 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 13036 "format" : "urlencoded",
7aacca6f 13037 "format_description" : "model",
44660702 13038 "maxLength" : 120,
56122987 13039 "optional" : 1,
44660702 13040 "type" : "string"
56122987 13041 },
5d9c884c
DM
13042 "replicate" : {
13043 "default" : 1,
13044 "description" : "Whether the drive should considered for replication jobs.",
13045 "optional" : 1,
13046 "type" : "boolean"
13047 },
44660702
DM
13048 "rerror" : {
13049 "description" : "Read error action.",
13050 "enum" : [
13051 "ignore",
13052 "report",
13053 "stop"
13054 ],
56122987 13055 "optional" : 1,
44660702 13056 "type" : "string"
56122987 13057 },
44660702
DM
13058 "secs" : {
13059 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13060 "optional" : 1,
13061 "type" : "integer"
56122987 13062 },
44660702
DM
13063 "serial" : {
13064 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13065 "format" : "urlencoded",
13066 "format_description" : "serial",
13067 "maxLength" : 60,
56122987 13068 "optional" : 1,
44660702 13069 "type" : "string"
56122987 13070 },
27a7acb2
DM
13071 "shared" : {
13072 "default" : 0,
13073 "description" : "Mark this locally-managed volume as available on all nodes",
13074 "optional" : 1,
13075 "type" : "boolean",
13076 "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!"
13077 },
44660702
DM
13078 "size" : {
13079 "description" : "Disk size. This is purely informational and has no effect.",
13080 "format" : "disk-size",
f004f5b9 13081 "format_description" : "DiskSize",
56122987 13082 "optional" : 1,
44660702 13083 "type" : "string"
56122987 13084 },
44660702 13085 "snapshot" : {
27a7acb2 13086 "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 13087 "optional" : 1,
44660702 13088 "type" : "boolean"
56122987 13089 },
25203dc1
NC
13090 "ssd" : {
13091 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13092 "optional" : 1,
13093 "type" : "boolean"
13094 },
44660702
DM
13095 "trans" : {
13096 "description" : "Force disk geometry bios translation mode.",
13097 "enum" : [
13098 "none",
13099 "lba",
13100 "auto"
13101 ],
56122987 13102 "optional" : 1,
44660702
DM
13103 "type" : "string"
13104 },
13105 "volume" : {
13106 "alias" : "file"
56122987 13107 },
7aacca6f 13108 "werror" : {
44660702 13109 "description" : "Write error action.",
7aacca6f
DM
13110 "enum" : [
13111 "enospc",
13112 "ignore",
13113 "report",
13114 "stop"
13115 ],
56122987 13116 "optional" : 1,
44660702 13117 "type" : "string"
95895385
TL
13118 },
13119 "wwn" : {
13120 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13121 "format_description" : "wwn",
13122 "optional" : 1,
13123 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13124 "type" : "string"
7aacca6f 13125 }
44660702
DM
13126 },
13127 "optional" : 1,
4bd7df8b 13128 "type" : "string",
95895385 13129 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
13130 },
13131 "ipconfig[n]" : {
13132 "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",
13133 "format" : "pve-qm-ipconfig",
13134 "optional" : 1,
13135 "type" : "string",
13136 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 13137 },
95895385
TL
13138 "ivshmem" : {
13139 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
13140 "format" : {
13141 "name" : {
13142 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
13143 "format_description" : "string",
13144 "optional" : 1,
13145 "pattern" : "[a-zA-Z0-9\\-]+",
13146 "type" : "string"
13147 },
13148 "size" : {
13149 "description" : "The size of the file in MB.",
13150 "minimum" : 1,
13151 "type" : "integer"
13152 }
13153 },
13154 "optional" : 1,
13155 "type" : "string",
13156 "typetext" : "size=<integer> [,name=<string>]"
13157 },
44660702 13158 "keyboard" : {
35a75dd3 13159 "default" : null,
5da3d723 13160 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
44660702
DM
13161 "enum" : [
13162 "de",
13163 "de-ch",
13164 "da",
13165 "en-gb",
13166 "en-us",
13167 "es",
13168 "fi",
13169 "fr",
13170 "fr-be",
13171 "fr-ca",
13172 "fr-ch",
13173 "hu",
13174 "is",
13175 "it",
13176 "ja",
13177 "lt",
13178 "mk",
13179 "nl",
13180 "no",
13181 "pl",
13182 "pt",
13183 "pt-br",
13184 "sv",
13185 "sl",
13186 "tr"
13187 ],
7aacca6f 13188 "optional" : 1,
44660702 13189 "type" : "string"
7aacca6f 13190 },
44660702 13191 "kvm" : {
7aacca6f 13192 "default" : 1,
44660702 13193 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 13194 "optional" : 1,
013dc89f
DM
13195 "type" : "boolean",
13196 "typetext" : "<boolean>"
7aacca6f 13197 },
44660702
DM
13198 "localtime" : {
13199 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 13200 "optional" : 1,
013dc89f
DM
13201 "type" : "boolean",
13202 "typetext" : "<boolean>"
7aacca6f 13203 },
44660702
DM
13204 "lock" : {
13205 "description" : "Lock/unlock the VM.",
13206 "enum" : [
44660702 13207 "backup",
5f26e15b
TL
13208 "clone",
13209 "create",
13210 "migrate",
13211 "rollback",
44660702 13212 "snapshot",
95895385
TL
13213 "snapshot-delete",
13214 "suspending",
13215 "suspended"
44660702 13216 ],
7aacca6f 13217 "optional" : 1,
44660702 13218 "type" : "string"
7aacca6f 13219 },
44660702 13220 "machine" : {
4d47f125 13221 "description" : "Specifies the Qemu machine type.",
44660702 13222 "maxLength" : 40,
7aacca6f 13223 "optional" : 1,
5c1699e5 13224 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 13225 "type" : "string"
7aacca6f 13226 },
44660702
DM
13227 "memory" : {
13228 "default" : 512,
13229 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
13230 "minimum" : 16,
7aacca6f 13231 "optional" : 1,
4bd7df8b 13232 "type" : "integer",
013dc89f 13233 "typetext" : "<integer> (16 - N)"
7aacca6f 13234 },
44660702
DM
13235 "migrate_downtime" : {
13236 "default" : 0.1,
13237 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
13238 "minimum" : 0,
7aacca6f 13239 "optional" : 1,
4bd7df8b 13240 "type" : "number",
013dc89f 13241 "typetext" : "<number> (0 - N)"
7aacca6f 13242 },
44660702 13243 "migrate_speed" : {
7aacca6f 13244 "default" : 0,
44660702
DM
13245 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
13246 "minimum" : 0,
13247 "optional" : 1,
4bd7df8b 13248 "type" : "integer",
013dc89f 13249 "typetext" : "<integer> (0 - N)"
7aacca6f 13250 },
44660702
DM
13251 "name" : {
13252 "description" : "Set a name for the VM. Only used on the configuration web interface.",
13253 "format" : "dns-name",
7aacca6f 13254 "optional" : 1,
013dc89f
DM
13255 "type" : "string",
13256 "typetext" : "<string>"
7aacca6f 13257 },
27a7acb2
DM
13258 "nameserver" : {
13259 "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.",
13260 "format" : "address-list",
13261 "optional" : 1,
13262 "type" : "string",
13263 "typetext" : "<string>"
13264 },
44660702 13265 "net[n]" : {
c2993fe5 13266 "description" : "Specify network devices.",
f004f5b9
DM
13267 "format" : {
13268 "bridge" : {
c2993fe5 13269 "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
13270 "format_description" : "bridge",
13271 "optional" : 1,
c5aa7e14 13272 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
13273 "type" : "string"
13274 },
13275 "e1000" : {
13276 "alias" : "macaddr",
13277 "keyAlias" : "model"
13278 },
13279 "e1000-82540em" : {
13280 "alias" : "macaddr",
13281 "keyAlias" : "model"
13282 },
13283 "e1000-82544gc" : {
13284 "alias" : "macaddr",
13285 "keyAlias" : "model"
13286 },
13287 "e1000-82545em" : {
13288 "alias" : "macaddr",
13289 "keyAlias" : "model"
13290 },
13291 "firewall" : {
13292 "description" : "Whether this interface should be protected by the firewall.",
13293 "optional" : 1,
13294 "type" : "boolean"
13295 },
13296 "i82551" : {
13297 "alias" : "macaddr",
13298 "keyAlias" : "model"
13299 },
13300 "i82557b" : {
13301 "alias" : "macaddr",
13302 "keyAlias" : "model"
13303 },
13304 "i82559er" : {
13305 "alias" : "macaddr",
13306 "keyAlias" : "model"
13307 },
13308 "link_down" : {
c2993fe5 13309 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
13310 "optional" : 1,
13311 "type" : "boolean"
13312 },
13313 "macaddr" : {
c2993fe5 13314 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 13315 "format" : "mac-addr",
f004f5b9 13316 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 13317 "optional" : 1,
95895385
TL
13318 "type" : "string",
13319 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
13320 },
13321 "model" : {
13322 "default_key" : 1,
c2993fe5 13323 "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
13324 "enum" : [
13325 "rtl8139",
13326 "ne2k_pci",
13327 "e1000",
13328 "pcnet",
13329 "virtio",
13330 "ne2k_isa",
13331 "i82551",
13332 "i82557b",
13333 "i82559er",
13334 "vmxnet3",
13335 "e1000-82540em",
13336 "e1000-82544gc",
13337 "e1000-82545em"
13338 ],
f004f5b9
DM
13339 "type" : "string"
13340 },
13341 "ne2k_isa" : {
13342 "alias" : "macaddr",
13343 "keyAlias" : "model"
13344 },
13345 "ne2k_pci" : {
13346 "alias" : "macaddr",
13347 "keyAlias" : "model"
13348 },
13349 "pcnet" : {
13350 "alias" : "macaddr",
13351 "keyAlias" : "model"
13352 },
13353 "queues" : {
13354 "description" : "Number of packet queues to be used on the device.",
13355 "maximum" : 16,
13356 "minimum" : 0,
13357 "optional" : 1,
13358 "type" : "integer"
13359 },
13360 "rate" : {
c2993fe5 13361 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
13362 "minimum" : 0,
13363 "optional" : 1,
13364 "type" : "number"
13365 },
13366 "rtl8139" : {
13367 "alias" : "macaddr",
13368 "keyAlias" : "model"
13369 },
13370 "tag" : {
13371 "description" : "VLAN tag to apply to packets on this interface.",
13372 "maximum" : 4094,
c2993fe5 13373 "minimum" : 1,
f004f5b9
DM
13374 "optional" : 1,
13375 "type" : "integer"
13376 },
13377 "trunks" : {
13378 "description" : "VLAN trunks to pass through this interface.",
13379 "format_description" : "vlanid[;vlanid...]",
13380 "optional" : 1,
13381 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13382 "type" : "string"
13383 },
13384 "virtio" : {
13385 "alias" : "macaddr",
13386 "keyAlias" : "model"
13387 },
13388 "vmxnet3" : {
13389 "alias" : "macaddr",
13390 "keyAlias" : "model"
13391 }
13392 },
7aacca6f 13393 "optional" : 1,
4bd7df8b 13394 "type" : "string",
013dc89f 13395 "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 13396 },
44660702
DM
13397 "node" : {
13398 "description" : "The cluster node name.",
13399 "format" : "pve-node",
013dc89f
DM
13400 "type" : "string",
13401 "typetext" : "<string>"
44660702
DM
13402 },
13403 "numa" : {
13404 "default" : 0,
13405 "description" : "Enable/disable NUMA.",
7aacca6f 13406 "optional" : 1,
013dc89f
DM
13407 "type" : "boolean",
13408 "typetext" : "<boolean>"
7aacca6f 13409 },
44660702 13410 "numa[n]" : {
c2993fe5 13411 "description" : "NUMA topology.",
44660702
DM
13412 "format" : {
13413 "cpus" : {
c2993fe5 13414 "description" : "CPUs accessing this NUMA node.",
44660702
DM
13415 "format_description" : "id[-id];...",
13416 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13417 "type" : "string"
13418 },
13419 "hostnodes" : {
c2993fe5 13420 "description" : "Host NUMA nodes to use.",
44660702
DM
13421 "format_description" : "id[-id];...",
13422 "optional" : 1,
13423 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
13424 "type" : "string"
13425 },
13426 "memory" : {
c2993fe5 13427 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
13428 "optional" : 1,
13429 "type" : "number"
13430 },
13431 "policy" : {
c2993fe5 13432 "description" : "NUMA allocation policy.",
44660702
DM
13433 "enum" : [
13434 "preferred",
13435 "bind",
13436 "interleave"
13437 ],
44660702
DM
13438 "optional" : 1,
13439 "type" : "string"
13440 }
13441 },
7aacca6f 13442 "optional" : 1,
4bd7df8b
DM
13443 "type" : "string",
13444 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 13445 },
44660702
DM
13446 "onboot" : {
13447 "default" : 0,
13448 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 13449 "optional" : 1,
013dc89f
DM
13450 "type" : "boolean",
13451 "typetext" : "<boolean>"
7aacca6f 13452 },
44660702 13453 "ostype" : {
c2993fe5 13454 "description" : "Specify guest operating system.",
44660702
DM
13455 "enum" : [
13456 "other",
13457 "wxp",
13458 "w2k",
13459 "w2k3",
13460 "w2k8",
13461 "wvista",
13462 "win7",
13463 "win8",
32d876b5 13464 "win10",
44660702
DM
13465 "l24",
13466 "l26",
13467 "solaris"
13468 ],
7aacca6f 13469 "optional" : 1,
c2993fe5 13470 "type" : "string",
5c1699e5 13471 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 13472 },
44660702 13473 "parallel[n]" : {
c2993fe5 13474 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 13475 "optional" : 1,
44660702 13476 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
13477 "type" : "string",
13478 "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 13479 },
44660702
DM
13480 "protection" : {
13481 "default" : 0,
c2993fe5 13482 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 13483 "optional" : 1,
013dc89f
DM
13484 "type" : "boolean",
13485 "typetext" : "<boolean>"
7aacca6f 13486 },
44660702
DM
13487 "reboot" : {
13488 "default" : 1,
13489 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 13490 "optional" : 1,
013dc89f
DM
13491 "type" : "boolean",
13492 "typetext" : "<boolean>"
7aacca6f 13493 },
44660702
DM
13494 "revert" : {
13495 "description" : "Revert a pending change.",
13496 "format" : "pve-configid-list",
7aacca6f 13497 "optional" : 1,
013dc89f
DM
13498 "type" : "string",
13499 "typetext" : "<string>"
7aacca6f 13500 },
c5aa7e14
TL
13501 "rng0" : {
13502 "description" : "Configure a VirtIO-based Random Number Generator.",
13503 "format" : {
13504 "max_bytes" : {
13505 "default" : 1024,
13506 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
13507 "optional" : 1,
13508 "type" : "integer"
13509 },
13510 "period" : {
13511 "default" : 1000,
13512 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
13513 "optional" : 1,
13514 "type" : "integer"
13515 },
13516 "source" : {
13517 "default_key" : 1,
13518 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
13519 "enum" : [
13520 "/dev/urandom",
13521 "/dev/random",
13522 "/dev/hwrng"
13523 ],
13524 "type" : "string"
13525 }
13526 },
13527 "optional" : 1,
13528 "type" : "string",
13529 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
13530 },
44660702
DM
13531 "sata[n]" : {
13532 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 13533 "format" : {
44660702
DM
13534 "aio" : {
13535 "description" : "AIO type to use.",
13536 "enum" : [
13537 "native",
13538 "threads"
13539 ],
44660702
DM
13540 "optional" : 1,
13541 "type" : "string"
13542 },
13543 "backup" : {
13544 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13545 "optional" : 1,
13546 "type" : "boolean"
13547 },
13548 "bps" : {
de0983cb 13549 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 13550 "format_description" : "bps",
7aacca6f
DM
13551 "optional" : 1,
13552 "type" : "integer"
56122987 13553 },
de0983cb
DM
13554 "bps_max_length" : {
13555 "description" : "Maximum length of I/O bursts in seconds.",
13556 "format_description" : "seconds",
13557 "minimum" : 1,
13558 "optional" : 1,
13559 "type" : "integer"
13560 },
44660702 13561 "bps_rd" : {
de0983cb 13562 "description" : "Maximum read speed in bytes per second.",
44660702 13563 "format_description" : "bps",
7aacca6f 13564 "optional" : 1,
44660702 13565 "type" : "integer"
7aacca6f 13566 },
de0983cb 13567 "bps_rd_length" : {
5d9c884c
DM
13568 "alias" : "bps_rd_max_length"
13569 },
13570 "bps_rd_max_length" : {
de0983cb
DM
13571 "description" : "Maximum length of read I/O bursts in seconds.",
13572 "format_description" : "seconds",
13573 "minimum" : 1,
13574 "optional" : 1,
13575 "type" : "integer"
13576 },
44660702 13577 "bps_wr" : {
de0983cb 13578 "description" : "Maximum write speed in bytes per second.",
44660702 13579 "format_description" : "bps",
7aacca6f 13580 "optional" : 1,
44660702 13581 "type" : "integer"
7aacca6f 13582 },
de0983cb 13583 "bps_wr_length" : {
5d9c884c
DM
13584 "alias" : "bps_wr_max_length"
13585 },
13586 "bps_wr_max_length" : {
de0983cb
DM
13587 "description" : "Maximum length of write I/O bursts in seconds.",
13588 "format_description" : "seconds",
13589 "minimum" : 1,
13590 "optional" : 1,
13591 "type" : "integer"
13592 },
44660702
DM
13593 "cache" : {
13594 "description" : "The drive's cache mode",
13595 "enum" : [
13596 "none",
13597 "writethrough",
13598 "writeback",
13599 "unsafe",
13600 "directsync"
13601 ],
7aacca6f 13602 "optional" : 1,
44660702 13603 "type" : "string"
7aacca6f 13604 },
44660702
DM
13605 "cyls" : {
13606 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 13607 "optional" : 1,
44660702 13608 "type" : "integer"
7aacca6f 13609 },
44660702
DM
13610 "detect_zeroes" : {
13611 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 13612 "optional" : 1,
44660702 13613 "type" : "boolean"
7aacca6f 13614 },
44660702
DM
13615 "discard" : {
13616 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13617 "enum" : [
13618 "ignore",
13619 "on"
13620 ],
7aacca6f 13621 "optional" : 1,
44660702
DM
13622 "type" : "string"
13623 },
13624 "file" : {
13625 "default_key" : 1,
13626 "description" : "The drive's backing volume.",
13627 "format" : "pve-volume-id-or-qm-path",
13628 "format_description" : "volume",
13629 "type" : "string"
7aacca6f
DM
13630 },
13631 "format" : {
7aacca6f 13632 "description" : "The drive's backing file's data format.",
56122987
DM
13633 "enum" : [
13634 "raw",
13635 "cow",
13636 "qcow",
13637 "qed",
13638 "qcow2",
13639 "vmdk",
13640 "cloop"
13641 ],
13642 "optional" : 1,
7aacca6f 13643 "type" : "string"
56122987 13644 },
7aacca6f 13645 "heads" : {
7aacca6f 13646 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13647 "optional" : 1,
13648 "type" : "integer"
56122987 13649 },
44660702 13650 "iops" : {
de0983cb 13651 "description" : "Maximum r/w I/O in operations per second.",
44660702 13652 "format_description" : "iops",
56122987 13653 "optional" : 1,
44660702 13654 "type" : "integer"
7aacca6f 13655 },
44660702 13656 "iops_max" : {
de0983cb 13657 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13658 "format_description" : "iops",
7aacca6f 13659 "optional" : 1,
44660702 13660 "type" : "integer"
56122987 13661 },
de0983cb
DM
13662 "iops_max_length" : {
13663 "description" : "Maximum length of I/O bursts in seconds.",
13664 "format_description" : "seconds",
13665 "minimum" : 1,
13666 "optional" : 1,
13667 "type" : "integer"
13668 },
44660702 13669 "iops_rd" : {
de0983cb 13670 "description" : "Maximum read I/O in operations per second.",
44660702 13671 "format_description" : "iops",
56122987 13672 "optional" : 1,
44660702 13673 "type" : "integer"
7aacca6f 13674 },
de0983cb 13675 "iops_rd_length" : {
5d9c884c 13676 "alias" : "iops_rd_max_length"
de0983cb 13677 },
44660702 13678 "iops_rd_max" : {
de0983cb 13679 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13680 "format_description" : "iops",
56122987 13681 "optional" : 1,
44660702 13682 "type" : "integer"
56122987 13683 },
5d9c884c
DM
13684 "iops_rd_max_length" : {
13685 "description" : "Maximum length of read I/O bursts in seconds.",
13686 "format_description" : "seconds",
13687 "minimum" : 1,
13688 "optional" : 1,
13689 "type" : "integer"
13690 },
44660702 13691 "iops_wr" : {
de0983cb 13692 "description" : "Maximum write I/O in operations per second.",
44660702
DM
13693 "format_description" : "iops",
13694 "optional" : 1,
13695 "type" : "integer"
56122987 13696 },
de0983cb 13697 "iops_wr_length" : {
5d9c884c 13698 "alias" : "iops_wr_max_length"
de0983cb 13699 },
44660702 13700 "iops_wr_max" : {
de0983cb 13701 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13702 "format_description" : "iops",
13703 "optional" : 1,
13704 "type" : "integer"
13705 },
5d9c884c
DM
13706 "iops_wr_max_length" : {
13707 "description" : "Maximum length of write I/O bursts in seconds.",
13708 "format_description" : "seconds",
13709 "minimum" : 1,
13710 "optional" : 1,
13711 "type" : "integer"
13712 },
44660702 13713 "mbps" : {
de0983cb 13714 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13715 "format_description" : "mbps",
13716 "optional" : 1,
13717 "type" : "number"
13718 },
13719 "mbps_max" : {
de0983cb 13720 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13721 "format_description" : "mbps",
13722 "optional" : 1,
13723 "type" : "number"
13724 },
13725 "mbps_rd" : {
de0983cb 13726 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13727 "format_description" : "mbps",
13728 "optional" : 1,
13729 "type" : "number"
13730 },
13731 "mbps_rd_max" : {
de0983cb 13732 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13733 "format_description" : "mbps",
13734 "optional" : 1,
13735 "type" : "number"
13736 },
13737 "mbps_wr" : {
de0983cb 13738 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13739 "format_description" : "mbps",
13740 "optional" : 1,
13741 "type" : "number"
13742 },
13743 "mbps_wr_max" : {
de0983cb 13744 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13745 "format_description" : "mbps",
13746 "optional" : 1,
13747 "type" : "number"
13748 },
13749 "media" : {
13750 "default" : "disk",
13751 "description" : "The drive's media type.",
13752 "enum" : [
13753 "cdrom",
13754 "disk"
13755 ],
56122987 13756 "optional" : 1,
44660702
DM
13757 "type" : "string"
13758 },
5d9c884c
DM
13759 "replicate" : {
13760 "default" : 1,
13761 "description" : "Whether the drive should considered for replication jobs.",
13762 "optional" : 1,
13763 "type" : "boolean"
13764 },
44660702 13765 "rerror" : {
7aacca6f
DM
13766 "description" : "Read error action.",
13767 "enum" : [
13768 "ignore",
13769 "report",
13770 "stop"
44660702 13771 ],
56122987 13772 "optional" : 1,
44660702 13773 "type" : "string"
56122987 13774 },
7aacca6f 13775 "secs" : {
44660702 13776 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13777 "optional" : 1,
44660702 13778 "type" : "integer"
56122987 13779 },
44660702
DM
13780 "serial" : {
13781 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13782 "format" : "urlencoded",
13783 "format_description" : "serial",
13784 "maxLength" : 60,
56122987 13785 "optional" : 1,
44660702 13786 "type" : "string"
56122987 13787 },
27a7acb2
DM
13788 "shared" : {
13789 "default" : 0,
13790 "description" : "Mark this locally-managed volume as available on all nodes",
13791 "optional" : 1,
13792 "type" : "boolean",
13793 "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!"
13794 },
44660702
DM
13795 "size" : {
13796 "description" : "Disk size. This is purely informational and has no effect.",
13797 "format" : "disk-size",
f004f5b9 13798 "format_description" : "DiskSize",
56122987 13799 "optional" : 1,
44660702 13800 "type" : "string"
56122987
DM
13801 },
13802 "snapshot" : {
27a7acb2 13803 "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 13804 "optional" : 1,
44660702 13805 "type" : "boolean"
56122987 13806 },
25203dc1
NC
13807 "ssd" : {
13808 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13809 "optional" : 1,
13810 "type" : "boolean"
13811 },
56122987 13812 "trans" : {
7aacca6f 13813 "description" : "Force disk geometry bios translation mode.",
56122987
DM
13814 "enum" : [
13815 "none",
13816 "lba",
13817 "auto"
13818 ],
13819 "optional" : 1,
44660702 13820 "type" : "string"
56122987 13821 },
44660702
DM
13822 "volume" : {
13823 "alias" : "file"
56122987 13824 },
7aacca6f 13825 "werror" : {
44660702 13826 "description" : "Write error action.",
56122987 13827 "enum" : [
7aacca6f 13828 "enospc",
56122987 13829 "ignore",
7aacca6f
DM
13830 "report",
13831 "stop"
13832 ],
7aacca6f 13833 "optional" : 1,
44660702 13834 "type" : "string"
95895385
TL
13835 },
13836 "wwn" : {
13837 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13838 "format_description" : "wwn",
13839 "optional" : 1,
13840 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13841 "type" : "string"
44660702
DM
13842 }
13843 },
13844 "optional" : 1,
4bd7df8b 13845 "type" : "string",
95895385 13846 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
13847 },
13848 "scsi[n]" : {
e9cd3bd4 13849 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
13850 "format" : {
13851 "aio" : {
7aacca6f 13852 "description" : "AIO type to use.",
56122987
DM
13853 "enum" : [
13854 "native",
13855 "threads"
44660702 13856 ],
56122987 13857 "optional" : 1,
44660702 13858 "type" : "string"
56122987 13859 },
7aacca6f 13860 "backup" : {
7aacca6f 13861 "description" : "Whether the drive should be included when making backups.",
7aacca6f 13862 "optional" : 1,
44660702 13863 "type" : "boolean"
56122987 13864 },
44660702 13865 "bps" : {
de0983cb 13866 "description" : "Maximum r/w speed in bytes per second.",
44660702 13867 "format_description" : "bps",
7aacca6f 13868 "optional" : 1,
44660702 13869 "type" : "integer"
7aacca6f 13870 },
de0983cb
DM
13871 "bps_max_length" : {
13872 "description" : "Maximum length of I/O bursts in seconds.",
13873 "format_description" : "seconds",
13874 "minimum" : 1,
13875 "optional" : 1,
13876 "type" : "integer"
13877 },
44660702 13878 "bps_rd" : {
de0983cb 13879 "description" : "Maximum read speed in bytes per second.",
44660702 13880 "format_description" : "bps",
56122987 13881 "optional" : 1,
44660702 13882 "type" : "integer"
56122987 13883 },
de0983cb 13884 "bps_rd_length" : {
5d9c884c
DM
13885 "alias" : "bps_rd_max_length"
13886 },
13887 "bps_rd_max_length" : {
de0983cb
DM
13888 "description" : "Maximum length of read I/O bursts in seconds.",
13889 "format_description" : "seconds",
13890 "minimum" : 1,
13891 "optional" : 1,
13892 "type" : "integer"
13893 },
44660702 13894 "bps_wr" : {
de0983cb 13895 "description" : "Maximum write speed in bytes per second.",
44660702 13896 "format_description" : "bps",
56122987 13897 "optional" : 1,
44660702 13898 "type" : "integer"
56122987 13899 },
de0983cb 13900 "bps_wr_length" : {
5d9c884c
DM
13901 "alias" : "bps_wr_max_length"
13902 },
13903 "bps_wr_max_length" : {
de0983cb
DM
13904 "description" : "Maximum length of write I/O bursts in seconds.",
13905 "format_description" : "seconds",
13906 "minimum" : 1,
13907 "optional" : 1,
13908 "type" : "integer"
13909 },
44660702
DM
13910 "cache" : {
13911 "description" : "The drive's cache mode",
13912 "enum" : [
13913 "none",
13914 "writethrough",
13915 "writeback",
13916 "unsafe",
13917 "directsync"
13918 ],
56122987 13919 "optional" : 1,
44660702
DM
13920 "type" : "string"
13921 },
13922 "cyls" : {
13923 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13924 "optional" : 1,
13925 "type" : "integer"
13926 },
13927 "detect_zeroes" : {
13928 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13929 "optional" : 1,
13930 "type" : "boolean"
13931 },
13932 "discard" : {
13933 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13934 "enum" : [
13935 "ignore",
13936 "on"
13937 ],
44660702
DM
13938 "optional" : 1,
13939 "type" : "string"
13940 },
13941 "file" : {
13942 "default_key" : 1,
13943 "description" : "The drive's backing volume.",
13944 "format" : "pve-volume-id-or-qm-path",
13945 "format_description" : "volume",
13946 "type" : "string"
56122987 13947 },
7aacca6f 13948 "format" : {
44660702 13949 "description" : "The drive's backing file's data format.",
7aacca6f
DM
13950 "enum" : [
13951 "raw",
13952 "cow",
13953 "qcow",
13954 "qed",
13955 "qcow2",
13956 "vmdk",
13957 "cloop"
13958 ],
56122987 13959 "optional" : 1,
44660702 13960 "type" : "string"
56122987 13961 },
44660702
DM
13962 "heads" : {
13963 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13964 "optional" : 1,
44660702 13965 "type" : "integer"
56122987 13966 },
44660702 13967 "iops" : {
de0983cb 13968 "description" : "Maximum r/w I/O in operations per second.",
44660702 13969 "format_description" : "iops",
7aacca6f 13970 "optional" : 1,
44660702 13971 "type" : "integer"
56122987 13972 },
44660702 13973 "iops_max" : {
de0983cb 13974 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 13975 "format_description" : "iops",
7aacca6f 13976 "optional" : 1,
44660702 13977 "type" : "integer"
56122987 13978 },
de0983cb
DM
13979 "iops_max_length" : {
13980 "description" : "Maximum length of I/O bursts in seconds.",
13981 "format_description" : "seconds",
13982 "minimum" : 1,
13983 "optional" : 1,
13984 "type" : "integer"
13985 },
44660702 13986 "iops_rd" : {
de0983cb 13987 "description" : "Maximum read I/O in operations per second.",
44660702 13988 "format_description" : "iops",
56122987 13989 "optional" : 1,
44660702 13990 "type" : "integer"
56122987 13991 },
de0983cb 13992 "iops_rd_length" : {
5d9c884c 13993 "alias" : "iops_rd_max_length"
de0983cb 13994 },
44660702 13995 "iops_rd_max" : {
de0983cb 13996 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13997 "format_description" : "iops",
56122987 13998 "optional" : 1,
44660702 13999 "type" : "integer"
56122987 14000 },
5d9c884c
DM
14001 "iops_rd_max_length" : {
14002 "description" : "Maximum length of read I/O bursts in seconds.",
14003 "format_description" : "seconds",
14004 "minimum" : 1,
14005 "optional" : 1,
14006 "type" : "integer"
14007 },
44660702 14008 "iops_wr" : {
de0983cb 14009 "description" : "Maximum write I/O in operations per second.",
44660702 14010 "format_description" : "iops",
56122987 14011 "optional" : 1,
44660702 14012 "type" : "integer"
56122987 14013 },
de0983cb 14014 "iops_wr_length" : {
5d9c884c 14015 "alias" : "iops_wr_max_length"
de0983cb 14016 },
44660702 14017 "iops_wr_max" : {
de0983cb 14018 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 14019 "format_description" : "iops",
44660702
DM
14020 "optional" : 1,
14021 "type" : "integer"
7aacca6f 14022 },
5d9c884c
DM
14023 "iops_wr_max_length" : {
14024 "description" : "Maximum length of write I/O bursts in seconds.",
14025 "format_description" : "seconds",
14026 "minimum" : 1,
14027 "optional" : 1,
14028 "type" : "integer"
14029 },
7aacca6f 14030 "iothread" : {
44660702 14031 "description" : "Whether to use iothreads for this drive",
56122987 14032 "optional" : 1,
44660702 14033 "type" : "boolean"
56122987 14034 },
44660702 14035 "mbps" : {
de0983cb 14036 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14037 "format_description" : "mbps",
56122987 14038 "optional" : 1,
44660702 14039 "type" : "number"
56122987 14040 },
44660702 14041 "mbps_max" : {
de0983cb 14042 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14043 "format_description" : "mbps",
56122987 14044 "optional" : 1,
44660702 14045 "type" : "number"
56122987 14046 },
44660702 14047 "mbps_rd" : {
de0983cb 14048 "description" : "Maximum read speed in megabytes per second.",
44660702 14049 "format_description" : "mbps",
7aacca6f 14050 "optional" : 1,
44660702 14051 "type" : "number"
56122987 14052 },
44660702 14053 "mbps_rd_max" : {
de0983cb 14054 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14055 "format_description" : "mbps",
7aacca6f 14056 "optional" : 1,
44660702 14057 "type" : "number"
7aacca6f 14058 },
44660702 14059 "mbps_wr" : {
de0983cb 14060 "description" : "Maximum write speed in megabytes per second.",
44660702 14061 "format_description" : "mbps",
56122987 14062 "optional" : 1,
44660702 14063 "type" : "number"
56122987 14064 },
44660702 14065 "mbps_wr_max" : {
de0983cb 14066 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14067 "format_description" : "mbps",
56122987 14068 "optional" : 1,
44660702
DM
14069 "type" : "number"
14070 },
14071 "media" : {
14072 "default" : "disk",
14073 "description" : "The drive's media type.",
7aacca6f 14074 "enum" : [
44660702
DM
14075 "cdrom",
14076 "disk"
7aacca6f 14077 ],
56122987 14078 "optional" : 1,
44660702 14079 "type" : "string"
56122987 14080 },
7aacca6f 14081 "queues" : {
44660702 14082 "description" : "Number of queues.",
7aacca6f 14083 "minimum" : 2,
7aacca6f
DM
14084 "optional" : 1,
14085 "type" : "integer"
56122987 14086 },
5d9c884c
DM
14087 "replicate" : {
14088 "default" : 1,
14089 "description" : "Whether the drive should considered for replication jobs.",
14090 "optional" : 1,
14091 "type" : "boolean"
14092 },
14093 "rerror" : {
14094 "description" : "Read error action.",
14095 "enum" : [
14096 "ignore",
14097 "report",
14098 "stop"
14099 ],
14100 "optional" : 1,
14101 "type" : "string"
14102 },
52e44c50
FG
14103 "scsiblock" : {
14104 "default" : 0,
14105 "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",
14106 "optional" : 1,
14107 "type" : "boolean"
14108 },
44660702
DM
14109 "secs" : {
14110 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14111 "optional" : 1,
44660702 14112 "type" : "integer"
56122987 14113 },
44660702
DM
14114 "serial" : {
14115 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14116 "format" : "urlencoded",
14117 "format_description" : "serial",
14118 "maxLength" : 60,
56122987 14119 "optional" : 1,
44660702 14120 "type" : "string"
56122987 14121 },
27a7acb2
DM
14122 "shared" : {
14123 "default" : 0,
14124 "description" : "Mark this locally-managed volume as available on all nodes",
14125 "optional" : 1,
14126 "type" : "boolean",
14127 "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!"
14128 },
44660702
DM
14129 "size" : {
14130 "description" : "Disk size. This is purely informational and has no effect.",
14131 "format" : "disk-size",
f004f5b9 14132 "format_description" : "DiskSize",
44660702
DM
14133 "optional" : 1,
14134 "type" : "string"
14135 },
14136 "snapshot" : {
27a7acb2 14137 "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 14138 "optional" : 1,
44660702
DM
14139 "type" : "boolean"
14140 },
25203dc1
NC
14141 "ssd" : {
14142 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14143 "optional" : 1,
14144 "type" : "boolean"
14145 },
44660702
DM
14146 "trans" : {
14147 "description" : "Force disk geometry bios translation mode.",
56122987 14148 "enum" : [
44660702
DM
14149 "none",
14150 "lba",
14151 "auto"
56122987 14152 ],
44660702
DM
14153 "optional" : 1,
14154 "type" : "string"
14155 },
14156 "volume" : {
14157 "alias" : "file"
56122987 14158 },
7aacca6f 14159 "werror" : {
7aacca6f
DM
14160 "description" : "Write error action.",
14161 "enum" : [
14162 "enospc",
14163 "ignore",
14164 "report",
14165 "stop"
44660702 14166 ],
56122987 14167 "optional" : 1,
7aacca6f 14168 "type" : "string"
95895385
TL
14169 },
14170 "wwn" : {
14171 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14172 "format_description" : "wwn",
14173 "optional" : 1,
14174 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14175 "type" : "string"
56122987 14176 }
44660702 14177 },
56122987 14178 "optional" : 1,
4bd7df8b 14179 "type" : "string",
95895385 14180 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
14181 },
14182 "scsihw" : {
44660702 14183 "default" : "lsi",
c2993fe5 14184 "description" : "SCSI controller model",
56122987
DM
14185 "enum" : [
14186 "lsi",
14187 "lsi53c810",
14188 "virtio-scsi-pci",
14189 "virtio-scsi-single",
14190 "megasas",
14191 "pvscsi"
14192 ],
14193 "optional" : 1,
56122987
DM
14194 "type" : "string"
14195 },
27a7acb2
DM
14196 "searchdomain" : {
14197 "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.",
14198 "optional" : 1,
14199 "type" : "string",
14200 "typetext" : "<string>"
14201 },
44660702 14202 "serial[n]" : {
c2993fe5 14203 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 14204 "optional" : 1,
44660702 14205 "pattern" : "(/dev/.+|socket)",
c2993fe5 14206 "type" : "string",
57b78691 14207 "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 14208 },
44660702
DM
14209 "shares" : {
14210 "default" : 1000,
5da3d723 14211 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
14212 "maximum" : 50000,
14213 "minimum" : 0,
7aacca6f 14214 "optional" : 1,
4bd7df8b 14215 "type" : "integer",
013dc89f 14216 "typetext" : "<integer> (0 - 50000)"
56122987 14217 },
7aacca6f
DM
14218 "skiplock" : {
14219 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 14220 "optional" : 1,
013dc89f
DM
14221 "type" : "boolean",
14222 "typetext" : "<boolean>"
56122987 14223 },
44660702
DM
14224 "smbios1" : {
14225 "description" : "Specify SMBIOS type 1 fields.",
14226 "format" : "pve-qm-smbios1",
1e3f8156 14227 "maxLength" : 512,
56122987 14228 "optional" : 1,
4bd7df8b 14229 "type" : "string",
1e3f8156 14230 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
56122987 14231 },
44660702
DM
14232 "smp" : {
14233 "default" : 1,
14234 "description" : "The number of CPUs. Please use option -sockets instead.",
14235 "minimum" : 1,
56122987 14236 "optional" : 1,
4bd7df8b 14237 "type" : "integer",
013dc89f 14238 "typetext" : "<integer> (1 - N)"
56122987 14239 },
44660702
DM
14240 "sockets" : {
14241 "default" : 1,
14242 "description" : "The number of CPU sockets.",
14243 "minimum" : 1,
56122987 14244 "optional" : 1,
4bd7df8b 14245 "type" : "integer",
013dc89f 14246 "typetext" : "<integer> (1 - N)"
56122987 14247 },
1c532546
TL
14248 "spice_enhancements" : {
14249 "description" : "Configure additional enhancements for SPICE.",
14250 "format" : {
14251 "foldersharing" : {
14252 "default" : "0",
14253 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
14254 "optional" : 1,
14255 "type" : "boolean"
14256 },
14257 "videostreaming" : {
14258 "default" : "off",
14259 "description" : "Enable video streaming. Uses compression for detected video streams.",
14260 "enum" : [
14261 "off",
14262 "all",
14263 "filter"
14264 ],
14265 "optional" : 1,
14266 "type" : "string"
14267 }
14268 },
14269 "optional" : 1,
14270 "type" : "string",
14271 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
14272 },
27a7acb2
DM
14273 "sshkeys" : {
14274 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
14275 "format" : "urlencoded",
14276 "optional" : 1,
14277 "type" : "string",
14278 "typetext" : "<string>"
14279 },
44660702
DM
14280 "startdate" : {
14281 "default" : "now",
14282 "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'.",
14283 "optional" : 1,
14284 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 14285 "type" : "string",
44660702
DM
14286 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
14287 },
14288 "startup" : {
14289 "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.",
14290 "format" : "pve-startup-order",
7aacca6f 14291 "optional" : 1,
44660702
DM
14292 "type" : "string",
14293 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 14294 },
44660702
DM
14295 "tablet" : {
14296 "default" : 1,
c2993fe5 14297 "description" : "Enable/disable the USB tablet device.",
7aacca6f 14298 "optional" : 1,
c2993fe5 14299 "type" : "boolean",
013dc89f 14300 "typetext" : "<boolean>",
c2993fe5 14301 "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 14302 },
5c1699e5
TL
14303 "tags" : {
14304 "description" : "Tags of the VM. This is only meta information.",
14305 "format" : "pve-tag-list",
14306 "optional" : 1,
14307 "type" : "string",
14308 "typetext" : "<string>"
14309 },
44660702
DM
14310 "tdf" : {
14311 "default" : 0,
14312 "description" : "Enable/disable time drift fix.",
7aacca6f 14313 "optional" : 1,
013dc89f
DM
14314 "type" : "boolean",
14315 "typetext" : "<boolean>"
7aacca6f 14316 },
44660702
DM
14317 "template" : {
14318 "default" : 0,
14319 "description" : "Enable/disable Template.",
7aacca6f 14320 "optional" : 1,
013dc89f
DM
14321 "type" : "boolean",
14322 "typetext" : "<boolean>"
7aacca6f 14323 },
44660702 14324 "unused[n]" : {
c2993fe5 14325 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
14326 "format" : {
14327 "file" : {
14328 "default_key" : 1,
14329 "description" : "The drive's backing volume.",
14330 "format" : "pve-volume-id",
14331 "format_description" : "volume",
14332 "type" : "string"
14333 },
14334 "volume" : {
14335 "alias" : "file"
14336 }
14337 },
7aacca6f 14338 "optional" : 1,
013dc89f 14339 "type" : "string",
c5aa7e14 14340 "typetext" : "[file=]<volume>"
7aacca6f 14341 },
44660702 14342 "usb[n]" : {
c2993fe5 14343 "description" : "Configure an USB device (n is 0 to 4).",
56122987 14344 "format" : {
44660702
DM
14345 "host" : {
14346 "default_key" : 1,
c2993fe5 14347 "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
14348 "format" : "pve-qm-usb-device",
14349 "format_description" : "HOSTUSBDEVICE|spice",
14350 "type" : "string"
7aacca6f 14351 },
44660702 14352 "usb3" : {
c2993fe5 14353 "default" : 0,
1c532546 14354 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 14355 "optional" : 1,
44660702 14356 "type" : "boolean"
7aacca6f 14357 }
44660702 14358 },
7aacca6f 14359 "optional" : 1,
4bd7df8b
DM
14360 "type" : "string",
14361 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 14362 },
44660702 14363 "vcpus" : {
7aacca6f 14364 "default" : 0,
44660702
DM
14365 "description" : "Number of hotplugged vcpus.",
14366 "minimum" : 1,
7aacca6f 14367 "optional" : 1,
4bd7df8b 14368 "type" : "integer",
013dc89f 14369 "typetext" : "<integer> (1 - N)"
7aacca6f 14370 },
44660702 14371 "vga" : {
e2d681b3
TL
14372 "description" : "Configure the VGA hardware.",
14373 "format" : {
14374 "memory" : {
14375 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
14376 "maximum" : 512,
14377 "minimum" : 4,
14378 "optional" : 1,
14379 "type" : "integer"
14380 },
14381 "type" : {
14382 "default" : "std",
14383 "default_key" : 1,
14384 "description" : "Select the VGA type.",
14385 "enum" : [
14386 "cirrus",
14387 "qxl",
14388 "qxl2",
14389 "qxl3",
14390 "qxl4",
5f26e15b 14391 "none",
e2d681b3
TL
14392 "serial0",
14393 "serial1",
14394 "serial2",
14395 "serial3",
14396 "std",
14397 "virtio",
14398 "vmware"
14399 ],
14400 "optional" : 1,
14401 "type" : "string"
14402 }
14403 },
7aacca6f 14404 "optional" : 1,
c2993fe5 14405 "type" : "string",
e2d681b3
TL
14406 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
14407 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 14408 },
44660702
DM
14409 "virtio[n]" : {
14410 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 14411 "format" : {
7aacca6f 14412 "aio" : {
7aacca6f 14413 "description" : "AIO type to use.",
56122987 14414 "enum" : [
7aacca6f
DM
14415 "native",
14416 "threads"
7aacca6f 14417 ],
44660702
DM
14418 "optional" : 1,
14419 "type" : "string"
56122987 14420 },
44660702
DM
14421 "backup" : {
14422 "description" : "Whether the drive should be included when making backups.",
56122987 14423 "optional" : 1,
44660702 14424 "type" : "boolean"
7aacca6f 14425 },
44660702 14426 "bps" : {
de0983cb 14427 "description" : "Maximum r/w speed in bytes per second.",
44660702 14428 "format_description" : "bps",
7aacca6f 14429 "optional" : 1,
44660702 14430 "type" : "integer"
56122987 14431 },
de0983cb
DM
14432 "bps_max_length" : {
14433 "description" : "Maximum length of I/O bursts in seconds.",
14434 "format_description" : "seconds",
14435 "minimum" : 1,
14436 "optional" : 1,
14437 "type" : "integer"
14438 },
56122987 14439 "bps_rd" : {
de0983cb 14440 "description" : "Maximum read speed in bytes per second.",
44660702 14441 "format_description" : "bps",
56122987 14442 "optional" : 1,
7aacca6f 14443 "type" : "integer"
56122987 14444 },
de0983cb 14445 "bps_rd_length" : {
5d9c884c
DM
14446 "alias" : "bps_rd_max_length"
14447 },
14448 "bps_rd_max_length" : {
de0983cb
DM
14449 "description" : "Maximum length of read I/O bursts in seconds.",
14450 "format_description" : "seconds",
14451 "minimum" : 1,
14452 "optional" : 1,
14453 "type" : "integer"
14454 },
44660702 14455 "bps_wr" : {
de0983cb 14456 "description" : "Maximum write speed in bytes per second.",
44660702 14457 "format_description" : "bps",
56122987 14458 "optional" : 1,
7aacca6f 14459 "type" : "integer"
56122987 14460 },
de0983cb 14461 "bps_wr_length" : {
5d9c884c
DM
14462 "alias" : "bps_wr_max_length"
14463 },
14464 "bps_wr_max_length" : {
de0983cb
DM
14465 "description" : "Maximum length of write I/O bursts in seconds.",
14466 "format_description" : "seconds",
14467 "minimum" : 1,
14468 "optional" : 1,
14469 "type" : "integer"
14470 },
7aacca6f 14471 "cache" : {
44660702 14472 "description" : "The drive's cache mode",
7aacca6f
DM
14473 "enum" : [
14474 "none",
14475 "writethrough",
14476 "writeback",
14477 "unsafe",
14478 "directsync"
14479 ],
56122987 14480 "optional" : 1,
44660702 14481 "type" : "string"
7aacca6f 14482 },
44660702
DM
14483 "cyls" : {
14484 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14485 "optional" : 1,
14486 "type" : "integer"
14487 },
14488 "detect_zeroes" : {
14489 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14490 "optional" : 1,
14491 "type" : "boolean"
14492 },
14493 "discard" : {
14494 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 14495 "enum" : [
44660702
DM
14496 "ignore",
14497 "on"
56122987
DM
14498 ],
14499 "optional" : 1,
44660702 14500 "type" : "string"
56122987 14501 },
44660702
DM
14502 "file" : {
14503 "default_key" : 1,
14504 "description" : "The drive's backing volume.",
14505 "format" : "pve-volume-id-or-qm-path",
14506 "format_description" : "volume",
14507 "type" : "string"
14508 },
14509 "format" : {
14510 "description" : "The drive's backing file's data format.",
14511 "enum" : [
14512 "raw",
14513 "cow",
14514 "qcow",
14515 "qed",
14516 "qcow2",
14517 "vmdk",
14518 "cloop"
14519 ],
56122987 14520 "optional" : 1,
44660702 14521 "type" : "string"
56122987 14522 },
44660702
DM
14523 "heads" : {
14524 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
14525 "optional" : 1,
14526 "type" : "integer"
14527 },
14528 "iops" : {
de0983cb 14529 "description" : "Maximum r/w I/O in operations per second.",
44660702 14530 "format_description" : "iops",
56122987 14531 "optional" : 1,
44660702
DM
14532 "type" : "integer"
14533 },
14534 "iops_max" : {
de0983cb 14535 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
14536 "format_description" : "iops",
14537 "optional" : 1,
14538 "type" : "integer"
56122987 14539 },
de0983cb
DM
14540 "iops_max_length" : {
14541 "description" : "Maximum length of I/O bursts in seconds.",
14542 "format_description" : "seconds",
14543 "minimum" : 1,
14544 "optional" : 1,
14545 "type" : "integer"
14546 },
7aacca6f 14547 "iops_rd" : {
de0983cb 14548 "description" : "Maximum read I/O in operations per second.",
7aacca6f 14549 "format_description" : "iops",
7aacca6f 14550 "optional" : 1,
44660702 14551 "type" : "integer"
56122987 14552 },
de0983cb 14553 "iops_rd_length" : {
5d9c884c 14554 "alias" : "iops_rd_max_length"
de0983cb 14555 },
44660702 14556 "iops_rd_max" : {
de0983cb 14557 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
14558 "format_description" : "iops",
14559 "optional" : 1,
14560 "type" : "integer"
14561 },
5d9c884c
DM
14562 "iops_rd_max_length" : {
14563 "description" : "Maximum length of read I/O bursts in seconds.",
14564 "format_description" : "seconds",
14565 "minimum" : 1,
14566 "optional" : 1,
14567 "type" : "integer"
14568 },
44660702 14569 "iops_wr" : {
de0983cb 14570 "description" : "Maximum write I/O in operations per second.",
44660702
DM
14571 "format_description" : "iops",
14572 "optional" : 1,
14573 "type" : "integer"
14574 },
de0983cb 14575 "iops_wr_length" : {
5d9c884c 14576 "alias" : "iops_wr_max_length"
de0983cb 14577 },
44660702 14578 "iops_wr_max" : {
de0983cb 14579 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
14580 "format_description" : "iops",
14581 "optional" : 1,
14582 "type" : "integer"
14583 },
5d9c884c
DM
14584 "iops_wr_max_length" : {
14585 "description" : "Maximum length of write I/O bursts in seconds.",
14586 "format_description" : "seconds",
14587 "minimum" : 1,
14588 "optional" : 1,
14589 "type" : "integer"
14590 },
44660702
DM
14591 "iothread" : {
14592 "description" : "Whether to use iothreads for this drive",
44660702
DM
14593 "optional" : 1,
14594 "type" : "boolean"
14595 },
14596 "mbps" : {
de0983cb 14597 "description" : "Maximum r/w speed in megabytes per second.",
44660702 14598 "format_description" : "mbps",
7aacca6f 14599 "optional" : 1,
44660702 14600 "type" : "number"
7aacca6f
DM
14601 },
14602 "mbps_max" : {
de0983cb 14603 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14604 "format_description" : "mbps",
56122987 14605 "optional" : 1,
44660702 14606 "type" : "number"
56122987 14607 },
44660702 14608 "mbps_rd" : {
de0983cb 14609 "description" : "Maximum read speed in megabytes per second.",
44660702 14610 "format_description" : "mbps",
56122987 14611 "optional" : 1,
44660702 14612 "type" : "number"
56122987 14613 },
44660702 14614 "mbps_rd_max" : {
de0983cb 14615 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14616 "format_description" : "mbps",
14617 "optional" : 1,
14618 "type" : "number"
14619 },
14620 "mbps_wr" : {
de0983cb 14621 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
14622 "format_description" : "mbps",
14623 "optional" : 1,
14624 "type" : "number"
14625 },
14626 "mbps_wr_max" : {
de0983cb 14627 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14628 "format_description" : "mbps",
14629 "optional" : 1,
14630 "type" : "number"
14631 },
14632 "media" : {
14633 "default" : "disk",
14634 "description" : "The drive's media type.",
56122987 14635 "enum" : [
44660702
DM
14636 "cdrom",
14637 "disk"
56122987
DM
14638 ],
14639 "optional" : 1,
44660702 14640 "type" : "string"
56122987 14641 },
5d9c884c
DM
14642 "replicate" : {
14643 "default" : 1,
14644 "description" : "Whether the drive should considered for replication jobs.",
14645 "optional" : 1,
14646 "type" : "boolean"
14647 },
44660702
DM
14648 "rerror" : {
14649 "description" : "Read error action.",
14650 "enum" : [
14651 "ignore",
14652 "report",
14653 "stop"
14654 ],
56122987 14655 "optional" : 1,
44660702 14656 "type" : "string"
56122987 14657 },
44660702
DM
14658 "secs" : {
14659 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 14660 "optional" : 1,
44660702 14661 "type" : "integer"
56122987 14662 },
7aacca6f
DM
14663 "serial" : {
14664 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 14665 "format" : "urlencoded",
44660702 14666 "format_description" : "serial",
7aacca6f 14667 "maxLength" : 60,
44660702
DM
14668 "optional" : 1,
14669 "type" : "string"
56122987 14670 },
27a7acb2
DM
14671 "shared" : {
14672 "default" : 0,
14673 "description" : "Mark this locally-managed volume as available on all nodes",
14674 "optional" : 1,
14675 "type" : "boolean",
14676 "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!"
14677 },
44660702
DM
14678 "size" : {
14679 "description" : "Disk size. This is purely informational and has no effect.",
14680 "format" : "disk-size",
f004f5b9 14681 "format_description" : "DiskSize",
44660702
DM
14682 "optional" : 1,
14683 "type" : "string"
56122987 14684 },
44660702 14685 "snapshot" : {
27a7acb2 14686 "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 14687 "optional" : 1,
44660702 14688 "type" : "boolean"
56122987 14689 },
44660702
DM
14690 "trans" : {
14691 "description" : "Force disk geometry bios translation mode.",
14692 "enum" : [
14693 "none",
14694 "lba",
14695 "auto"
14696 ],
7aacca6f 14697 "optional" : 1,
44660702 14698 "type" : "string"
7aacca6f 14699 },
44660702
DM
14700 "volume" : {
14701 "alias" : "file"
14702 },
14703 "werror" : {
14704 "description" : "Write error action.",
14705 "enum" : [
14706 "enospc",
14707 "ignore",
14708 "report",
14709 "stop"
14710 ],
7aacca6f 14711 "optional" : 1,
44660702 14712 "type" : "string"
56122987
DM
14713 }
14714 },
7aacca6f 14715 "optional" : 1,
4bd7df8b 14716 "type" : "string",
27a7acb2 14717 "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 14718 },
4d47f125
TL
14719 "vmgenid" : {
14720 "default" : "1 (autogenerated)",
14721 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14722 "format_description" : "UUID",
14723 "optional" : 1,
14724 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14725 "type" : "string",
14726 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
14727 },
44660702
DM
14728 "vmid" : {
14729 "description" : "The (unique) ID of the VM.",
14730 "format" : "pve-vmid",
14731 "minimum" : 1,
4bd7df8b 14732 "type" : "integer",
013dc89f 14733 "typetext" : "<integer> (1 - N)"
56122987 14734 },
2489d6df
WB
14735 "vmstatestorage" : {
14736 "description" : "Default storage for VM state volumes/files.",
14737 "format" : "pve-storage-id",
14738 "optional" : 1,
14739 "type" : "string",
14740 "typetext" : "<string>"
14741 },
44660702 14742 "watchdog" : {
c2993fe5 14743 "description" : "Create a virtual hardware watchdog device.",
44660702 14744 "format" : "pve-qm-watchdog",
56122987 14745 "optional" : 1,
c2993fe5 14746 "type" : "string",
013dc89f 14747 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 14748 "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 14749 }
7aacca6f 14750 }
56122987 14751 },
56122987
DM
14752 "permissions" : {
14753 "check" : [
14754 "perm",
14755 "/vms/{vmid}",
14756 [
14757 "VM.Config.Disk",
14758 "VM.Config.CDROM",
14759 "VM.Config.CPU",
14760 "VM.Config.Memory",
14761 "VM.Config.Network",
14762 "VM.Config.HWType",
14763 "VM.Config.Options"
14764 ],
14765 "any",
14766 1
14767 ]
14768 },
44660702 14769 "protected" : 1,
7aacca6f 14770 "proxyto" : "node",
56122987 14771 "returns" : {
4d47f125
TL
14772 "optional" : 1,
14773 "type" : "string"
7aacca6f 14774 }
4d47f125
TL
14775 },
14776 "PUT" : {
e9cd3bd4 14777 "allowtoken" : 1,
4d47f125
TL
14778 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
14779 "method" : "PUT",
14780 "name" : "update_vm",
7aacca6f 14781 "parameters" : {
44660702 14782 "additionalProperties" : 0,
7aacca6f 14783 "properties" : {
4d47f125
TL
14784 "acpi" : {
14785 "default" : 1,
14786 "description" : "Enable/disable ACPI.",
14787 "optional" : 1,
14788 "type" : "boolean",
14789 "typetext" : "<boolean>"
7aacca6f 14790 },
4d47f125
TL
14791 "agent" : {
14792 "description" : "Enable/disable Qemu GuestAgent and its properties.",
14793 "format" : {
14794 "enabled" : {
14795 "default" : 0,
14796 "default_key" : 1,
14797 "description" : "Enable/disable Qemu GuestAgent.",
14798 "type" : "boolean"
14799 },
14800 "fstrim_cloned_disks" : {
14801 "default" : 0,
14802 "description" : "Run fstrim after cloning/moving a disk.",
14803 "optional" : 1,
14804 "type" : "boolean"
5c1699e5
TL
14805 },
14806 "type" : {
14807 "default" : "virtio",
14808 "description" : "Select the agent type",
14809 "enum" : [
14810 "virtio",
14811 "isa"
14812 ],
14813 "optional" : 1,
14814 "type" : "string"
4d47f125 14815 }
44660702 14816 },
4d47f125
TL
14817 "optional" : 1,
14818 "type" : "string",
5c1699e5 14819 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 14820 },
e2d681b3
TL
14821 "arch" : {
14822 "description" : "Virtual processor architecture. Defaults to the host.",
14823 "enum" : [
14824 "x86_64",
14825 "aarch64"
14826 ],
14827 "optional" : 1,
14828 "type" : "string"
14829 },
4d47f125
TL
14830 "args" : {
14831 "description" : "Arbitrary arguments passed to kvm.",
14832 "optional" : 1,
14833 "type" : "string",
14834 "typetext" : "<string>",
14835 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
14836 },
1c532546
TL
14837 "audio0" : {
14838 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
14839 "format" : {
14840 "device" : {
14841 "description" : "Configure an audio device.",
14842 "enum" : [
14843 "ich9-intel-hda",
14844 "intel-hda",
14845 "AC97"
14846 ],
14847 "type" : "string"
14848 },
14849 "driver" : {
14850 "default" : "spice",
14851 "description" : "Driver backend for the audio device.",
14852 "enum" : [
14853 "spice"
14854 ],
14855 "optional" : 1,
14856 "type" : "string"
14857 }
14858 },
14859 "optional" : 1,
14860 "type" : "string",
14861 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
14862 },
4d47f125
TL
14863 "autostart" : {
14864 "default" : 0,
14865 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 14866 "optional" : 1,
013dc89f
DM
14867 "type" : "boolean",
14868 "typetext" : "<boolean>"
7aacca6f 14869 },
4d47f125
TL
14870 "balloon" : {
14871 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
14872 "minimum" : 0,
14873 "optional" : 1,
14874 "type" : "integer",
14875 "typetext" : "<integer> (0 - N)"
14876 },
14877 "bios" : {
14878 "default" : "seabios",
14879 "description" : "Select BIOS implementation.",
14880 "enum" : [
14881 "seabios",
14882 "ovmf"
14883 ],
14884 "optional" : 1,
14885 "type" : "string"
14886 },
14887 "boot" : {
14888 "default" : "cdn",
14889 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
14890 "optional" : 1,
14891 "pattern" : "[acdn]{1,4}",
14892 "type" : "string"
14893 },
14894 "bootdisk" : {
14895 "description" : "Enable booting from specified disk.",
14896 "format" : "pve-qm-bootdisk",
14897 "optional" : 1,
14898 "pattern" : "(ide|sata|scsi|virtio)\\d+",
14899 "type" : "string"
14900 },
14901 "cdrom" : {
14902 "description" : "This is an alias for option -ide2",
14903 "format" : "pve-qm-ide",
14904 "optional" : 1,
14905 "type" : "string",
14906 "typetext" : "<volume>"
14907 },
95895385
TL
14908 "cicustom" : {
14909 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
14910 "format" : "pve-qm-cicustom",
14911 "optional" : 1,
14912 "type" : "string",
14913 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
14914 },
4d47f125
TL
14915 "cipassword" : {
14916 "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.",
14917 "optional" : 1,
013dc89f
DM
14918 "type" : "string",
14919 "typetext" : "<string>"
44660702 14920 },
4d47f125
TL
14921 "citype" : {
14922 "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.",
14923 "enum" : [
14924 "configdrive2",
14925 "nocloud"
14926 ],
14927 "optional" : 1,
14928 "type" : "string"
14929 },
14930 "ciuser" : {
14931 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
14932 "optional" : 1,
013dc89f
DM
14933 "type" : "string",
14934 "typetext" : "<string>"
56122987 14935 },
4d47f125
TL
14936 "cores" : {
14937 "default" : 1,
14938 "description" : "The number of cores per socket.",
7aacca6f 14939 "minimum" : 1,
4d47f125 14940 "optional" : 1,
4bd7df8b 14941 "type" : "integer",
013dc89f 14942 "typetext" : "<integer> (1 - N)"
4d47f125
TL
14943 },
14944 "cpu" : {
14945 "description" : "Emulated CPU type.",
c5aa7e14 14946 "format" : "pve-vm-cpu-conf",
4d47f125 14947 "optional" : 1,
013dc89f 14948 "type" : "string",
c5aa7e14 14949 "typetext" : "<string>"
44660702 14950 },
4d47f125
TL
14951 "cpulimit" : {
14952 "default" : 0,
14953 "description" : "Limit of CPU usage.",
14954 "maximum" : 128,
14955 "minimum" : 0,
14956 "optional" : 1,
14957 "type" : "number",
14958 "typetext" : "<number> (0 - 128)",
14959 "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."
14960 },
14961 "cpuunits" : {
14962 "default" : 1024,
14963 "description" : "CPU weight for a VM.",
14964 "maximum" : 262144,
14965 "minimum" : 2,
14966 "optional" : 1,
4bd7df8b 14967 "type" : "integer",
4d47f125
TL
14968 "typetext" : "<integer> (2 - 262144)",
14969 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
7aacca6f 14970 },
4d47f125
TL
14971 "delete" : {
14972 "description" : "A list of settings you want to delete.",
14973 "format" : "pve-configid-list",
14974 "optional" : 1,
14975 "type" : "string",
14976 "typetext" : "<string>"
14977 },
14978 "description" : {
14979 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
14980 "optional" : 1,
14981 "type" : "string",
14982 "typetext" : "<string>"
14983 },
14984 "digest" : {
14985 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14986 "maxLength" : 40,
44660702 14987 "optional" : 1,
4d47f125
TL
14988 "type" : "string",
14989 "typetext" : "<string>"
14990 },
14991 "efidisk0" : {
14992 "description" : "Configure a Disk for storing EFI vars",
14993 "format" : {
14994 "file" : {
14995 "default_key" : 1,
14996 "description" : "The drive's backing volume.",
14997 "format" : "pve-volume-id-or-qm-path",
14998 "format_description" : "volume",
14999 "type" : "string"
15000 },
15001 "format" : {
15002 "description" : "The drive's backing file's data format.",
15003 "enum" : [
15004 "raw",
15005 "cow",
15006 "qcow",
15007 "qed",
15008 "qcow2",
15009 "vmdk",
15010 "cloop"
15011 ],
15012 "optional" : 1,
15013 "type" : "string"
15014 },
15015 "size" : {
15016 "description" : "Disk size. This is purely informational and has no effect.",
15017 "format" : "disk-size",
15018 "format_description" : "DiskSize",
15019 "optional" : 1,
15020 "type" : "string"
15021 },
15022 "volume" : {
15023 "alias" : "file"
15024 }
15025 },
15026 "optional" : 1,
15027 "type" : "string",
15028 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
15029 },
15030 "force" : {
15031 "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.",
15032 "optional" : 1,
15033 "requires" : "delete",
013dc89f
DM
15034 "type" : "boolean",
15035 "typetext" : "<boolean>"
56122987 15036 },
4d47f125
TL
15037 "freeze" : {
15038 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
15039 "optional" : 1,
15040 "type" : "boolean",
15041 "typetext" : "<boolean>"
7aacca6f 15042 },
5f26e15b
TL
15043 "hookscript" : {
15044 "description" : "Script that will be executed during various steps in the vms lifetime.",
15045 "format" : "pve-volume-id",
15046 "optional" : 1,
15047 "type" : "string",
15048 "typetext" : "<string>"
15049 },
4d47f125
TL
15050 "hostpci[n]" : {
15051 "description" : "Map host PCI devices into guest.",
15052 "format" : "pve-qm-hostpci",
15053 "optional" : 1,
15054 "type" : "string",
e2d681b3 15055 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 15056 "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 15057 },
4d47f125
TL
15058 "hotplug" : {
15059 "default" : "network,disk,usb",
15060 "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'.",
15061 "format" : "pve-hotplug-features",
15062 "optional" : 1,
35a75dd3
DM
15063 "type" : "string",
15064 "typetext" : "<string>"
15065 },
4d47f125
TL
15066 "hugepages" : {
15067 "description" : "Enable/disable hugepages memory.",
35a75dd3 15068 "enum" : [
4d47f125
TL
15069 "any",
15070 "2",
15071 "1024"
35a75dd3
DM
15072 ],
15073 "optional" : 1,
15074 "type" : "string"
15075 },
4d47f125
TL
15076 "ide[n]" : {
15077 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
15078 "format" : {
15079 "aio" : {
15080 "description" : "AIO type to use.",
15081 "enum" : [
15082 "native",
15083 "threads"
15084 ],
44660702 15085 "optional" : 1,
44660702
DM
15086 "type" : "string"
15087 },
4d47f125
TL
15088 "backup" : {
15089 "description" : "Whether the drive should be included when making backups.",
56122987 15090 "optional" : 1,
4d47f125 15091 "type" : "boolean"
56122987 15092 },
4d47f125
TL
15093 "bps" : {
15094 "description" : "Maximum r/w speed in bytes per second.",
15095 "format_description" : "bps",
de0983cb 15096 "optional" : 1,
4d47f125 15097 "type" : "integer"
de0983cb 15098 },
4d47f125
TL
15099 "bps_max_length" : {
15100 "description" : "Maximum length of I/O bursts in seconds.",
15101 "format_description" : "seconds",
15102 "minimum" : 1,
de0983cb 15103 "optional" : 1,
4d47f125 15104 "type" : "integer"
7aacca6f 15105 },
4d47f125
TL
15106 "bps_rd" : {
15107 "description" : "Maximum read speed in bytes per second.",
15108 "format_description" : "bps",
7aacca6f 15109 "optional" : 1,
4d47f125 15110 "type" : "integer"
56122987 15111 },
4d47f125
TL
15112 "bps_rd_length" : {
15113 "alias" : "bps_rd_max_length"
15114 },
15115 "bps_rd_max_length" : {
15116 "description" : "Maximum length of read I/O bursts in seconds.",
15117 "format_description" : "seconds",
15118 "minimum" : 1,
56122987 15119 "optional" : 1,
4d47f125 15120 "type" : "integer"
56122987 15121 },
4d47f125
TL
15122 "bps_wr" : {
15123 "description" : "Maximum write speed in bytes per second.",
15124 "format_description" : "bps",
52e44c50 15125 "optional" : 1,
4d47f125 15126 "type" : "integer"
52e44c50 15127 },
4d47f125
TL
15128 "bps_wr_length" : {
15129 "alias" : "bps_wr_max_length"
15130 },
15131 "bps_wr_max_length" : {
15132 "description" : "Maximum length of write I/O bursts in seconds.",
15133 "format_description" : "seconds",
44660702 15134 "minimum" : 1,
56122987 15135 "optional" : 1,
4d47f125 15136 "type" : "integer"
56122987 15137 },
4d47f125
TL
15138 "cache" : {
15139 "description" : "The drive's cache mode",
15140 "enum" : [
15141 "none",
15142 "writethrough",
15143 "writeback",
15144 "unsafe",
15145 "directsync"
15146 ],
7aacca6f 15147 "optional" : 1,
4d47f125 15148 "type" : "string"
7aacca6f 15149 },
4d47f125
TL
15150 "cyls" : {
15151 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15152 "optional" : 1,
15153 "type" : "integer"
56122987 15154 },
4d47f125
TL
15155 "detect_zeroes" : {
15156 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 15157 "optional" : 1,
4d47f125 15158 "type" : "boolean"
56122987 15159 },
4d47f125
TL
15160 "discard" : {
15161 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15162 "enum" : [
15163 "ignore",
15164 "on"
15165 ],
56122987 15166 "optional" : 1,
4d47f125 15167 "type" : "string"
7aacca6f 15168 },
4d47f125
TL
15169 "file" : {
15170 "default_key" : 1,
15171 "description" : "The drive's backing volume.",
15172 "format" : "pve-volume-id-or-qm-path",
15173 "format_description" : "volume",
15174 "type" : "string"
56122987 15175 },
4d47f125
TL
15176 "format" : {
15177 "description" : "The drive's backing file's data format.",
15178 "enum" : [
15179 "raw",
15180 "cow",
15181 "qcow",
15182 "qed",
15183 "qcow2",
15184 "vmdk",
15185 "cloop"
15186 ],
7aacca6f 15187 "optional" : 1,
4d47f125 15188 "type" : "string"
7aacca6f 15189 },
4d47f125
TL
15190 "heads" : {
15191 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 15192 "optional" : 1,
4d47f125 15193 "type" : "integer"
56122987 15194 },
4d47f125
TL
15195 "iops" : {
15196 "description" : "Maximum r/w I/O in operations per second.",
15197 "format_description" : "iops",
44660702 15198 "optional" : 1,
4d47f125 15199 "type" : "integer"
44660702 15200 },
4d47f125
TL
15201 "iops_max" : {
15202 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15203 "format_description" : "iops",
44660702 15204 "optional" : 1,
4d47f125 15205 "type" : "integer"
56122987 15206 },
4d47f125
TL
15207 "iops_max_length" : {
15208 "description" : "Maximum length of I/O bursts in seconds.",
15209 "format_description" : "seconds",
15210 "minimum" : 1,
7aacca6f 15211 "optional" : 1,
4d47f125 15212 "type" : "integer"
7aacca6f 15213 },
4d47f125
TL
15214 "iops_rd" : {
15215 "description" : "Maximum read I/O in operations per second.",
15216 "format_description" : "iops",
15217 "optional" : 1,
15218 "type" : "integer"
15219 },
15220 "iops_rd_length" : {
15221 "alias" : "iops_rd_max_length"
15222 },
15223 "iops_rd_max" : {
15224 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15225 "format_description" : "iops",
15226 "optional" : 1,
15227 "type" : "integer"
15228 },
15229 "iops_rd_max_length" : {
15230 "description" : "Maximum length of read I/O bursts in seconds.",
15231 "format_description" : "seconds",
44660702 15232 "minimum" : 1,
4d47f125
TL
15233 "optional" : 1,
15234 "type" : "integer"
7aacca6f 15235 },
4d47f125
TL
15236 "iops_wr" : {
15237 "description" : "Maximum write I/O in operations per second.",
15238 "format_description" : "iops",
44660702 15239 "optional" : 1,
4d47f125 15240 "type" : "integer"
44660702 15241 },
4d47f125
TL
15242 "iops_wr_length" : {
15243 "alias" : "iops_wr_max_length"
15244 },
15245 "iops_wr_max" : {
15246 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15247 "format_description" : "iops",
15248 "optional" : 1,
15249 "type" : "integer"
15250 },
15251 "iops_wr_max_length" : {
15252 "description" : "Maximum length of write I/O bursts in seconds.",
15253 "format_description" : "seconds",
44660702 15254 "minimum" : 1,
44660702 15255 "optional" : 1,
4d47f125 15256 "type" : "integer"
44660702 15257 },
4d47f125
TL
15258 "mbps" : {
15259 "description" : "Maximum r/w speed in megabytes per second.",
15260 "format_description" : "mbps",
15261 "optional" : 1,
15262 "type" : "number"
56122987 15263 },
4d47f125
TL
15264 "mbps_max" : {
15265 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15266 "format_description" : "mbps",
15267 "optional" : 1,
15268 "type" : "number"
15269 },
15270 "mbps_rd" : {
15271 "description" : "Maximum read speed in megabytes per second.",
15272 "format_description" : "mbps",
15273 "optional" : 1,
15274 "type" : "number"
15275 },
15276 "mbps_rd_max" : {
15277 "description" : "Maximum unthrottled read pool in megabytes per second.",
15278 "format_description" : "mbps",
15279 "optional" : 1,
15280 "type" : "number"
15281 },
15282 "mbps_wr" : {
15283 "description" : "Maximum write speed in megabytes per second.",
15284 "format_description" : "mbps",
15285 "optional" : 1,
15286 "type" : "number"
15287 },
15288 "mbps_wr_max" : {
15289 "description" : "Maximum unthrottled write pool in megabytes per second.",
15290 "format_description" : "mbps",
15291 "optional" : 1,
15292 "type" : "number"
15293 },
15294 "media" : {
15295 "default" : "disk",
15296 "description" : "The drive's media type.",
15297 "enum" : [
15298 "cdrom",
15299 "disk"
15300 ],
15301 "optional" : 1,
15302 "type" : "string"
15303 },
15304 "model" : {
15305 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
15306 "format" : "urlencoded",
15307 "format_description" : "model",
15308 "maxLength" : 120,
15309 "optional" : 1,
15310 "type" : "string"
15311 },
15312 "replicate" : {
15313 "default" : 1,
15314 "description" : "Whether the drive should considered for replication jobs.",
15315 "optional" : 1,
15316 "type" : "boolean"
15317 },
15318 "rerror" : {
15319 "description" : "Read error action.",
15320 "enum" : [
15321 "ignore",
15322 "report",
15323 "stop"
15324 ],
15325 "optional" : 1,
15326 "type" : "string"
15327 },
15328 "secs" : {
15329 "description" : "Force the drive's physical geometry to have a specific sector count.",
15330 "optional" : 1,
15331 "type" : "integer"
15332 },
15333 "serial" : {
15334 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15335 "format" : "urlencoded",
15336 "format_description" : "serial",
15337 "maxLength" : 60,
15338 "optional" : 1,
15339 "type" : "string"
15340 },
15341 "shared" : {
15342 "default" : 0,
15343 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 15344 "optional" : 1,
013dc89f 15345 "type" : "boolean",
4d47f125 15346 "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
56122987 15347 },
4d47f125
TL
15348 "size" : {
15349 "description" : "Disk size. This is purely informational and has no effect.",
15350 "format" : "disk-size",
15351 "format_description" : "DiskSize",
15352 "optional" : 1,
15353 "type" : "string"
15354 },
15355 "snapshot" : {
15356 "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.",
15357 "optional" : 1,
15358 "type" : "boolean"
15359 },
25203dc1
NC
15360 "ssd" : {
15361 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15362 "optional" : 1,
15363 "type" : "boolean"
15364 },
4d47f125
TL
15365 "trans" : {
15366 "description" : "Force disk geometry bios translation mode.",
15367 "enum" : [
15368 "none",
15369 "lba",
15370 "auto"
15371 ],
15372 "optional" : 1,
15373 "type" : "string"
15374 },
15375 "volume" : {
15376 "alias" : "file"
15377 },
15378 "werror" : {
15379 "description" : "Write error action.",
15380 "enum" : [
15381 "enospc",
15382 "ignore",
15383 "report",
15384 "stop"
15385 ],
15386 "optional" : 1,
15387 "type" : "string"
95895385
TL
15388 },
15389 "wwn" : {
15390 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15391 "format_description" : "wwn",
15392 "optional" : 1,
15393 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15394 "type" : "string"
4d47f125
TL
15395 }
15396 },
15397 "optional" : 1,
013dc89f 15398 "type" : "string",
95895385 15399 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 15400 },
4d47f125
TL
15401 "ipconfig[n]" : {
15402 "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",
15403 "format" : "pve-qm-ipconfig",
15404 "optional" : 1,
013dc89f 15405 "type" : "string",
4d47f125 15406 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 15407 },
95895385
TL
15408 "ivshmem" : {
15409 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
15410 "format" : {
15411 "name" : {
15412 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
15413 "format_description" : "string",
15414 "optional" : 1,
15415 "pattern" : "[a-zA-Z0-9\\-]+",
15416 "type" : "string"
15417 },
15418 "size" : {
15419 "description" : "The size of the file in MB.",
15420 "minimum" : 1,
15421 "type" : "integer"
15422 }
15423 },
15424 "optional" : 1,
15425 "type" : "string",
15426 "typetext" : "size=<integer> [,name=<string>]"
15427 },
4d47f125
TL
15428 "keyboard" : {
15429 "default" : null,
15430 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
15431 "enum" : [
15432 "de",
15433 "de-ch",
15434 "da",
15435 "en-gb",
15436 "en-us",
15437 "es",
15438 "fi",
15439 "fr",
15440 "fr-be",
15441 "fr-ca",
15442 "fr-ch",
15443 "hu",
15444 "is",
15445 "it",
15446 "ja",
15447 "lt",
15448 "mk",
15449 "nl",
15450 "no",
15451 "pl",
15452 "pt",
15453 "pt-br",
15454 "sv",
15455 "sl",
15456 "tr"
15457 ],
15458 "optional" : 1,
15459 "type" : "string"
44660702 15460 },
4d47f125
TL
15461 "kvm" : {
15462 "default" : 1,
15463 "description" : "Enable/disable KVM hardware virtualization.",
44660702 15464 "optional" : 1,
013dc89f
DM
15465 "type" : "boolean",
15466 "typetext" : "<boolean>"
7aacca6f 15467 },
4d47f125
TL
15468 "localtime" : {
15469 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
15470 "optional" : 1,
15471 "type" : "boolean",
15472 "typetext" : "<boolean>"
15473 },
15474 "lock" : {
15475 "description" : "Lock/unlock the VM.",
56122987 15476 "enum" : [
4d47f125 15477 "backup",
5f26e15b
TL
15478 "clone",
15479 "create",
15480 "migrate",
15481 "rollback",
56122987 15482 "snapshot",
95895385
TL
15483 "snapshot-delete",
15484 "suspending",
15485 "suspended"
56122987 15486 ],
4d47f125 15487 "optional" : 1,
44660702
DM
15488 "type" : "string"
15489 },
4d47f125
TL
15490 "machine" : {
15491 "description" : "Specifies the Qemu machine type.",
15492 "maxLength" : 40,
15493 "optional" : 1,
5c1699e5 15494 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
15495 "type" : "string"
15496 },
15497 "memory" : {
15498 "default" : 512,
15499 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
15500 "minimum" : 16,
15501 "optional" : 1,
15502 "type" : "integer",
15503 "typetext" : "<integer> (16 - N)"
15504 },
15505 "migrate_downtime" : {
15506 "default" : 0.1,
15507 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
15508 "minimum" : 0,
15509 "optional" : 1,
15510 "type" : "number",
15511 "typetext" : "<number> (0 - N)"
15512 },
15513 "migrate_speed" : {
15514 "default" : 0,
15515 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
15516 "minimum" : 0,
15517 "optional" : 1,
15518 "type" : "integer",
15519 "typetext" : "<integer> (0 - N)"
15520 },
15521 "name" : {
15522 "description" : "Set a name for the VM. Only used on the configuration web interface.",
15523 "format" : "dns-name",
15524 "optional" : 1,
013dc89f
DM
15525 "type" : "string",
15526 "typetext" : "<string>"
56122987 15527 },
4d47f125
TL
15528 "nameserver" : {
15529 "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.",
15530 "format" : "address-list",
7aacca6f 15531 "optional" : 1,
013dc89f
DM
15532 "type" : "string",
15533 "typetext" : "<string>"
7aacca6f 15534 },
4d47f125
TL
15535 "net[n]" : {
15536 "description" : "Specify network devices.",
15537 "format" : {
15538 "bridge" : {
15539 "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",
15540 "format_description" : "bridge",
15541 "optional" : 1,
c5aa7e14 15542 "pattern" : "[-_.\\w\\d]+",
4d47f125
TL
15543 "type" : "string"
15544 },
15545 "e1000" : {
15546 "alias" : "macaddr",
15547 "keyAlias" : "model"
15548 },
15549 "e1000-82540em" : {
15550 "alias" : "macaddr",
15551 "keyAlias" : "model"
15552 },
15553 "e1000-82544gc" : {
15554 "alias" : "macaddr",
15555 "keyAlias" : "model"
15556 },
15557 "e1000-82545em" : {
15558 "alias" : "macaddr",
15559 "keyAlias" : "model"
15560 },
15561 "firewall" : {
15562 "description" : "Whether this interface should be protected by the firewall.",
15563 "optional" : 1,
15564 "type" : "boolean"
15565 },
15566 "i82551" : {
15567 "alias" : "macaddr",
15568 "keyAlias" : "model"
15569 },
15570 "i82557b" : {
15571 "alias" : "macaddr",
15572 "keyAlias" : "model"
15573 },
15574 "i82559er" : {
15575 "alias" : "macaddr",
15576 "keyAlias" : "model"
15577 },
15578 "link_down" : {
15579 "description" : "Whether this interface should be disconnected (like pulling the plug).",
15580 "optional" : 1,
15581 "type" : "boolean"
15582 },
15583 "macaddr" : {
15584 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 15585 "format" : "mac-addr",
4d47f125
TL
15586 "format_description" : "XX:XX:XX:XX:XX:XX",
15587 "optional" : 1,
95895385
TL
15588 "type" : "string",
15589 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
15590 },
15591 "model" : {
15592 "default_key" : 1,
15593 "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'.",
15594 "enum" : [
15595 "rtl8139",
15596 "ne2k_pci",
15597 "e1000",
15598 "pcnet",
15599 "virtio",
15600 "ne2k_isa",
15601 "i82551",
15602 "i82557b",
15603 "i82559er",
15604 "vmxnet3",
15605 "e1000-82540em",
15606 "e1000-82544gc",
15607 "e1000-82545em"
15608 ],
15609 "type" : "string"
15610 },
15611 "ne2k_isa" : {
15612 "alias" : "macaddr",
15613 "keyAlias" : "model"
15614 },
15615 "ne2k_pci" : {
15616 "alias" : "macaddr",
15617 "keyAlias" : "model"
15618 },
15619 "pcnet" : {
15620 "alias" : "macaddr",
15621 "keyAlias" : "model"
15622 },
15623 "queues" : {
15624 "description" : "Number of packet queues to be used on the device.",
15625 "maximum" : 16,
15626 "minimum" : 0,
15627 "optional" : 1,
15628 "type" : "integer"
15629 },
15630 "rate" : {
15631 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
15632 "minimum" : 0,
15633 "optional" : 1,
15634 "type" : "number"
15635 },
15636 "rtl8139" : {
15637 "alias" : "macaddr",
15638 "keyAlias" : "model"
15639 },
15640 "tag" : {
15641 "description" : "VLAN tag to apply to packets on this interface.",
15642 "maximum" : 4094,
15643 "minimum" : 1,
15644 "optional" : 1,
15645 "type" : "integer"
15646 },
15647 "trunks" : {
15648 "description" : "VLAN trunks to pass through this interface.",
15649 "format_description" : "vlanid[;vlanid...]",
15650 "optional" : 1,
15651 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15652 "type" : "string"
15653 },
15654 "virtio" : {
15655 "alias" : "macaddr",
15656 "keyAlias" : "model"
15657 },
15658 "vmxnet3" : {
15659 "alias" : "macaddr",
15660 "keyAlias" : "model"
15661 }
44660702 15662 },
44660702 15663 "optional" : 1,
013dc89f 15664 "type" : "string",
4d47f125 15665 "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
15666 },
15667 "node" : {
15668 "description" : "The cluster node name.",
15669 "format" : "pve-node",
013dc89f
DM
15670 "type" : "string",
15671 "typetext" : "<string>"
7aacca6f 15672 },
4d47f125
TL
15673 "numa" : {
15674 "default" : 0,
15675 "description" : "Enable/disable NUMA.",
56122987 15676 "optional" : 1,
4d47f125
TL
15677 "type" : "boolean",
15678 "typetext" : "<boolean>"
56122987 15679 },
4d47f125
TL
15680 "numa[n]" : {
15681 "description" : "NUMA topology.",
15682 "format" : {
15683 "cpus" : {
15684 "description" : "CPUs accessing this NUMA node.",
15685 "format_description" : "id[-id];...",
15686 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15687 "type" : "string"
15688 },
15689 "hostnodes" : {
15690 "description" : "Host NUMA nodes to use.",
15691 "format_description" : "id[-id];...",
15692 "optional" : 1,
15693 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15694 "type" : "string"
15695 },
15696 "memory" : {
15697 "description" : "Amount of memory this NUMA node provides.",
15698 "optional" : 1,
15699 "type" : "number"
15700 },
15701 "policy" : {
15702 "description" : "NUMA allocation policy.",
15703 "enum" : [
15704 "preferred",
15705 "bind",
15706 "interleave"
15707 ],
15708 "optional" : 1,
15709 "type" : "string"
15710 }
15711 },
7aacca6f 15712 "optional" : 1,
013dc89f 15713 "type" : "string",
4d47f125 15714 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 15715 },
4d47f125 15716 "onboot" : {
44660702 15717 "default" : 0,
4d47f125 15718 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 15719 "optional" : 1,
013dc89f
DM
15720 "type" : "boolean",
15721 "typetext" : "<boolean>"
56122987 15722 },
4d47f125
TL
15723 "ostype" : {
15724 "description" : "Specify guest operating system.",
7aacca6f 15725 "enum" : [
4d47f125
TL
15726 "other",
15727 "wxp",
15728 "w2k",
15729 "w2k3",
15730 "w2k8",
15731 "wvista",
15732 "win7",
15733 "win8",
15734 "win10",
15735 "l24",
15736 "l26",
15737 "solaris"
7aacca6f
DM
15738 ],
15739 "optional" : 1,
013dc89f 15740 "type" : "string",
5c1699e5 15741 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 15742 },
4d47f125
TL
15743 "parallel[n]" : {
15744 "description" : "Map host parallel devices (n is 0 to 2).",
15745 "optional" : 1,
15746 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 15747 "type" : "string",
4d47f125 15748 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 15749 },
4d47f125
TL
15750 "protection" : {
15751 "default" : 0,
15752 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 15753 "optional" : 1,
013dc89f
DM
15754 "type" : "boolean",
15755 "typetext" : "<boolean>"
44660702 15756 },
4d47f125
TL
15757 "reboot" : {
15758 "default" : 1,
15759 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 15760 "optional" : 1,
013dc89f
DM
15761 "type" : "boolean",
15762 "typetext" : "<boolean>"
56122987 15763 },
4d47f125
TL
15764 "revert" : {
15765 "description" : "Revert a pending change.",
15766 "format" : "pve-configid-list",
15767 "optional" : 1,
013dc89f
DM
15768 "type" : "string",
15769 "typetext" : "<string>"
56122987 15770 },
c5aa7e14
TL
15771 "rng0" : {
15772 "description" : "Configure a VirtIO-based Random Number Generator.",
15773 "format" : {
15774 "max_bytes" : {
15775 "default" : 1024,
15776 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
15777 "optional" : 1,
15778 "type" : "integer"
15779 },
15780 "period" : {
15781 "default" : 1000,
15782 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
15783 "optional" : 1,
15784 "type" : "integer"
15785 },
15786 "source" : {
15787 "default_key" : 1,
15788 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
15789 "enum" : [
15790 "/dev/urandom",
15791 "/dev/random",
15792 "/dev/hwrng"
15793 ],
15794 "type" : "string"
15795 }
15796 },
15797 "optional" : 1,
15798 "type" : "string",
15799 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
15800 },
4d47f125
TL
15801 "sata[n]" : {
15802 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
15803 "format" : {
15804 "aio" : {
15805 "description" : "AIO type to use.",
15806 "enum" : [
15807 "native",
15808 "threads"
15809 ],
15810 "optional" : 1,
15811 "type" : "string"
15812 },
15813 "backup" : {
15814 "description" : "Whether the drive should be included when making backups.",
15815 "optional" : 1,
15816 "type" : "boolean"
15817 },
15818 "bps" : {
15819 "description" : "Maximum r/w speed in bytes per second.",
15820 "format_description" : "bps",
15821 "optional" : 1,
15822 "type" : "integer"
15823 },
15824 "bps_max_length" : {
15825 "description" : "Maximum length of I/O bursts in seconds.",
15826 "format_description" : "seconds",
15827 "minimum" : 1,
15828 "optional" : 1,
15829 "type" : "integer"
15830 },
15831 "bps_rd" : {
15832 "description" : "Maximum read speed in bytes per second.",
15833 "format_description" : "bps",
15834 "optional" : 1,
15835 "type" : "integer"
15836 },
15837 "bps_rd_length" : {
15838 "alias" : "bps_rd_max_length"
15839 },
15840 "bps_rd_max_length" : {
15841 "description" : "Maximum length of read I/O bursts in seconds.",
15842 "format_description" : "seconds",
15843 "minimum" : 1,
15844 "optional" : 1,
15845 "type" : "integer"
15846 },
15847 "bps_wr" : {
15848 "description" : "Maximum write speed in bytes per second.",
15849 "format_description" : "bps",
15850 "optional" : 1,
15851 "type" : "integer"
15852 },
15853 "bps_wr_length" : {
15854 "alias" : "bps_wr_max_length"
15855 },
15856 "bps_wr_max_length" : {
15857 "description" : "Maximum length of write I/O bursts in seconds.",
15858 "format_description" : "seconds",
15859 "minimum" : 1,
15860 "optional" : 1,
15861 "type" : "integer"
15862 },
15863 "cache" : {
15864 "description" : "The drive's cache mode",
15865 "enum" : [
15866 "none",
15867 "writethrough",
15868 "writeback",
15869 "unsafe",
15870 "directsync"
15871 ],
15872 "optional" : 1,
15873 "type" : "string"
15874 },
15875 "cyls" : {
15876 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
15877 "optional" : 1,
15878 "type" : "integer"
15879 },
15880 "detect_zeroes" : {
15881 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15882 "optional" : 1,
15883 "type" : "boolean"
15884 },
15885 "discard" : {
15886 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15887 "enum" : [
15888 "ignore",
15889 "on"
15890 ],
15891 "optional" : 1,
15892 "type" : "string"
15893 },
15894 "file" : {
15895 "default_key" : 1,
15896 "description" : "The drive's backing volume.",
15897 "format" : "pve-volume-id-or-qm-path",
15898 "format_description" : "volume",
15899 "type" : "string"
15900 },
15901 "format" : {
15902 "description" : "The drive's backing file's data format.",
15903 "enum" : [
15904 "raw",
15905 "cow",
15906 "qcow",
15907 "qed",
15908 "qcow2",
15909 "vmdk",
15910 "cloop"
15911 ],
15912 "optional" : 1,
15913 "type" : "string"
15914 },
15915 "heads" : {
15916 "description" : "Force the drive's physical geometry to have a specific head count.",
15917 "optional" : 1,
15918 "type" : "integer"
15919 },
15920 "iops" : {
15921 "description" : "Maximum r/w I/O in operations per second.",
15922 "format_description" : "iops",
15923 "optional" : 1,
15924 "type" : "integer"
15925 },
15926 "iops_max" : {
15927 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
15928 "format_description" : "iops",
15929 "optional" : 1,
15930 "type" : "integer"
15931 },
15932 "iops_max_length" : {
15933 "description" : "Maximum length of I/O bursts in seconds.",
15934 "format_description" : "seconds",
15935 "minimum" : 1,
15936 "optional" : 1,
15937 "type" : "integer"
15938 },
15939 "iops_rd" : {
15940 "description" : "Maximum read I/O in operations per second.",
15941 "format_description" : "iops",
15942 "optional" : 1,
15943 "type" : "integer"
15944 },
15945 "iops_rd_length" : {
15946 "alias" : "iops_rd_max_length"
15947 },
15948 "iops_rd_max" : {
15949 "description" : "Maximum unthrottled read I/O pool in operations per second.",
15950 "format_description" : "iops",
15951 "optional" : 1,
15952 "type" : "integer"
15953 },
15954 "iops_rd_max_length" : {
15955 "description" : "Maximum length of read I/O bursts in seconds.",
15956 "format_description" : "seconds",
15957 "minimum" : 1,
15958 "optional" : 1,
15959 "type" : "integer"
15960 },
15961 "iops_wr" : {
15962 "description" : "Maximum write I/O in operations per second.",
15963 "format_description" : "iops",
15964 "optional" : 1,
15965 "type" : "integer"
15966 },
15967 "iops_wr_length" : {
15968 "alias" : "iops_wr_max_length"
15969 },
15970 "iops_wr_max" : {
15971 "description" : "Maximum unthrottled write I/O pool in operations per second.",
15972 "format_description" : "iops",
15973 "optional" : 1,
15974 "type" : "integer"
15975 },
15976 "iops_wr_max_length" : {
15977 "description" : "Maximum length of write I/O bursts in seconds.",
15978 "format_description" : "seconds",
15979 "minimum" : 1,
15980 "optional" : 1,
15981 "type" : "integer"
15982 },
15983 "mbps" : {
15984 "description" : "Maximum r/w speed in megabytes per second.",
15985 "format_description" : "mbps",
15986 "optional" : 1,
15987 "type" : "number"
15988 },
15989 "mbps_max" : {
15990 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
15991 "format_description" : "mbps",
15992 "optional" : 1,
15993 "type" : "number"
15994 },
15995 "mbps_rd" : {
15996 "description" : "Maximum read speed in megabytes per second.",
15997 "format_description" : "mbps",
15998 "optional" : 1,
15999 "type" : "number"
16000 },
16001 "mbps_rd_max" : {
16002 "description" : "Maximum unthrottled read pool in megabytes per second.",
16003 "format_description" : "mbps",
16004 "optional" : 1,
16005 "type" : "number"
16006 },
16007 "mbps_wr" : {
16008 "description" : "Maximum write speed in megabytes per second.",
16009 "format_description" : "mbps",
16010 "optional" : 1,
16011 "type" : "number"
16012 },
16013 "mbps_wr_max" : {
16014 "description" : "Maximum unthrottled write pool in megabytes per second.",
16015 "format_description" : "mbps",
16016 "optional" : 1,
16017 "type" : "number"
16018 },
16019 "media" : {
16020 "default" : "disk",
16021 "description" : "The drive's media type.",
16022 "enum" : [
16023 "cdrom",
16024 "disk"
16025 ],
16026 "optional" : 1,
16027 "type" : "string"
16028 },
16029 "replicate" : {
16030 "default" : 1,
16031 "description" : "Whether the drive should considered for replication jobs.",
16032 "optional" : 1,
16033 "type" : "boolean"
16034 },
16035 "rerror" : {
16036 "description" : "Read error action.",
16037 "enum" : [
16038 "ignore",
16039 "report",
16040 "stop"
16041 ],
16042 "optional" : 1,
16043 "type" : "string"
16044 },
16045 "secs" : {
16046 "description" : "Force the drive's physical geometry to have a specific sector count.",
16047 "optional" : 1,
16048 "type" : "integer"
16049 },
16050 "serial" : {
16051 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16052 "format" : "urlencoded",
16053 "format_description" : "serial",
16054 "maxLength" : 60,
16055 "optional" : 1,
16056 "type" : "string"
16057 },
16058 "shared" : {
16059 "default" : 0,
16060 "description" : "Mark this locally-managed volume as available on all nodes",
16061 "optional" : 1,
16062 "type" : "boolean",
16063 "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!"
16064 },
16065 "size" : {
16066 "description" : "Disk size. This is purely informational and has no effect.",
16067 "format" : "disk-size",
16068 "format_description" : "DiskSize",
16069 "optional" : 1,
16070 "type" : "string"
16071 },
16072 "snapshot" : {
16073 "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.",
16074 "optional" : 1,
16075 "type" : "boolean"
16076 },
25203dc1
NC
16077 "ssd" : {
16078 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16079 "optional" : 1,
16080 "type" : "boolean"
16081 },
4d47f125
TL
16082 "trans" : {
16083 "description" : "Force disk geometry bios translation mode.",
16084 "enum" : [
16085 "none",
16086 "lba",
16087 "auto"
16088 ],
16089 "optional" : 1,
16090 "type" : "string"
16091 },
16092 "volume" : {
16093 "alias" : "file"
16094 },
16095 "werror" : {
16096 "description" : "Write error action.",
16097 "enum" : [
16098 "enospc",
16099 "ignore",
16100 "report",
16101 "stop"
16102 ],
16103 "optional" : 1,
16104 "type" : "string"
95895385
TL
16105 },
16106 "wwn" : {
16107 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16108 "format_description" : "wwn",
16109 "optional" : 1,
16110 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16111 "type" : "string"
4d47f125
TL
16112 }
16113 },
16114 "optional" : 1,
16115 "type" : "string",
95895385 16116 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
16117 },
16118 "scsi[n]" : {
e9cd3bd4 16119 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
4d47f125
TL
16120 "format" : {
16121 "aio" : {
16122 "description" : "AIO type to use.",
16123 "enum" : [
16124 "native",
16125 "threads"
16126 ],
16127 "optional" : 1,
16128 "type" : "string"
16129 },
16130 "backup" : {
16131 "description" : "Whether the drive should be included when making backups.",
16132 "optional" : 1,
16133 "type" : "boolean"
16134 },
16135 "bps" : {
16136 "description" : "Maximum r/w speed in bytes per second.",
16137 "format_description" : "bps",
16138 "optional" : 1,
16139 "type" : "integer"
16140 },
16141 "bps_max_length" : {
16142 "description" : "Maximum length of I/O bursts in seconds.",
16143 "format_description" : "seconds",
16144 "minimum" : 1,
16145 "optional" : 1,
16146 "type" : "integer"
16147 },
16148 "bps_rd" : {
16149 "description" : "Maximum read speed in bytes per second.",
16150 "format_description" : "bps",
16151 "optional" : 1,
16152 "type" : "integer"
16153 },
16154 "bps_rd_length" : {
16155 "alias" : "bps_rd_max_length"
16156 },
16157 "bps_rd_max_length" : {
16158 "description" : "Maximum length of read I/O bursts in seconds.",
16159 "format_description" : "seconds",
16160 "minimum" : 1,
16161 "optional" : 1,
16162 "type" : "integer"
16163 },
16164 "bps_wr" : {
16165 "description" : "Maximum write speed in bytes per second.",
16166 "format_description" : "bps",
16167 "optional" : 1,
16168 "type" : "integer"
16169 },
16170 "bps_wr_length" : {
16171 "alias" : "bps_wr_max_length"
16172 },
16173 "bps_wr_max_length" : {
16174 "description" : "Maximum length of write I/O bursts in seconds.",
16175 "format_description" : "seconds",
16176 "minimum" : 1,
16177 "optional" : 1,
16178 "type" : "integer"
16179 },
16180 "cache" : {
16181 "description" : "The drive's cache mode",
16182 "enum" : [
16183 "none",
16184 "writethrough",
16185 "writeback",
16186 "unsafe",
16187 "directsync"
16188 ],
16189 "optional" : 1,
16190 "type" : "string"
16191 },
16192 "cyls" : {
16193 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16194 "optional" : 1,
16195 "type" : "integer"
16196 },
16197 "detect_zeroes" : {
16198 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16199 "optional" : 1,
16200 "type" : "boolean"
16201 },
16202 "discard" : {
16203 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16204 "enum" : [
16205 "ignore",
16206 "on"
16207 ],
16208 "optional" : 1,
16209 "type" : "string"
16210 },
16211 "file" : {
16212 "default_key" : 1,
16213 "description" : "The drive's backing volume.",
16214 "format" : "pve-volume-id-or-qm-path",
16215 "format_description" : "volume",
16216 "type" : "string"
16217 },
16218 "format" : {
16219 "description" : "The drive's backing file's data format.",
16220 "enum" : [
16221 "raw",
16222 "cow",
16223 "qcow",
16224 "qed",
16225 "qcow2",
16226 "vmdk",
16227 "cloop"
16228 ],
16229 "optional" : 1,
16230 "type" : "string"
16231 },
16232 "heads" : {
16233 "description" : "Force the drive's physical geometry to have a specific head count.",
16234 "optional" : 1,
16235 "type" : "integer"
16236 },
16237 "iops" : {
16238 "description" : "Maximum r/w I/O in operations per second.",
16239 "format_description" : "iops",
16240 "optional" : 1,
16241 "type" : "integer"
16242 },
16243 "iops_max" : {
16244 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16245 "format_description" : "iops",
16246 "optional" : 1,
16247 "type" : "integer"
16248 },
16249 "iops_max_length" : {
16250 "description" : "Maximum length of I/O bursts in seconds.",
16251 "format_description" : "seconds",
16252 "minimum" : 1,
16253 "optional" : 1,
16254 "type" : "integer"
16255 },
16256 "iops_rd" : {
16257 "description" : "Maximum read I/O in operations per second.",
16258 "format_description" : "iops",
16259 "optional" : 1,
16260 "type" : "integer"
16261 },
16262 "iops_rd_length" : {
16263 "alias" : "iops_rd_max_length"
16264 },
16265 "iops_rd_max" : {
16266 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16267 "format_description" : "iops",
16268 "optional" : 1,
16269 "type" : "integer"
16270 },
16271 "iops_rd_max_length" : {
16272 "description" : "Maximum length of read I/O bursts in seconds.",
16273 "format_description" : "seconds",
16274 "minimum" : 1,
16275 "optional" : 1,
16276 "type" : "integer"
16277 },
16278 "iops_wr" : {
16279 "description" : "Maximum write I/O in operations per second.",
16280 "format_description" : "iops",
16281 "optional" : 1,
16282 "type" : "integer"
16283 },
16284 "iops_wr_length" : {
16285 "alias" : "iops_wr_max_length"
16286 },
16287 "iops_wr_max" : {
16288 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16289 "format_description" : "iops",
16290 "optional" : 1,
16291 "type" : "integer"
16292 },
16293 "iops_wr_max_length" : {
16294 "description" : "Maximum length of write I/O bursts in seconds.",
16295 "format_description" : "seconds",
16296 "minimum" : 1,
16297 "optional" : 1,
16298 "type" : "integer"
16299 },
16300 "iothread" : {
16301 "description" : "Whether to use iothreads for this drive",
16302 "optional" : 1,
16303 "type" : "boolean"
16304 },
16305 "mbps" : {
16306 "description" : "Maximum r/w speed in megabytes per second.",
16307 "format_description" : "mbps",
16308 "optional" : 1,
16309 "type" : "number"
16310 },
16311 "mbps_max" : {
16312 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
16313 "format_description" : "mbps",
16314 "optional" : 1,
16315 "type" : "number"
16316 },
16317 "mbps_rd" : {
16318 "description" : "Maximum read speed in megabytes per second.",
16319 "format_description" : "mbps",
16320 "optional" : 1,
16321 "type" : "number"
16322 },
16323 "mbps_rd_max" : {
16324 "description" : "Maximum unthrottled read pool in megabytes per second.",
16325 "format_description" : "mbps",
16326 "optional" : 1,
16327 "type" : "number"
16328 },
16329 "mbps_wr" : {
16330 "description" : "Maximum write speed in megabytes per second.",
16331 "format_description" : "mbps",
16332 "optional" : 1,
16333 "type" : "number"
16334 },
16335 "mbps_wr_max" : {
16336 "description" : "Maximum unthrottled write pool in megabytes per second.",
16337 "format_description" : "mbps",
16338 "optional" : 1,
16339 "type" : "number"
16340 },
16341 "media" : {
16342 "default" : "disk",
16343 "description" : "The drive's media type.",
16344 "enum" : [
16345 "cdrom",
16346 "disk"
16347 ],
16348 "optional" : 1,
16349 "type" : "string"
16350 },
16351 "queues" : {
16352 "description" : "Number of queues.",
16353 "minimum" : 2,
16354 "optional" : 1,
16355 "type" : "integer"
16356 },
16357 "replicate" : {
16358 "default" : 1,
16359 "description" : "Whether the drive should considered for replication jobs.",
16360 "optional" : 1,
16361 "type" : "boolean"
16362 },
16363 "rerror" : {
16364 "description" : "Read error action.",
16365 "enum" : [
16366 "ignore",
16367 "report",
16368 "stop"
16369 ],
16370 "optional" : 1,
16371 "type" : "string"
16372 },
16373 "scsiblock" : {
16374 "default" : 0,
16375 "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",
16376 "optional" : 1,
16377 "type" : "boolean"
16378 },
16379 "secs" : {
16380 "description" : "Force the drive's physical geometry to have a specific sector count.",
16381 "optional" : 1,
16382 "type" : "integer"
16383 },
16384 "serial" : {
16385 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16386 "format" : "urlencoded",
16387 "format_description" : "serial",
16388 "maxLength" : 60,
16389 "optional" : 1,
16390 "type" : "string"
16391 },
16392 "shared" : {
16393 "default" : 0,
16394 "description" : "Mark this locally-managed volume as available on all nodes",
16395 "optional" : 1,
16396 "type" : "boolean",
16397 "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!"
16398 },
16399 "size" : {
16400 "description" : "Disk size. This is purely informational and has no effect.",
16401 "format" : "disk-size",
16402 "format_description" : "DiskSize",
16403 "optional" : 1,
16404 "type" : "string"
16405 },
16406 "snapshot" : {
16407 "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.",
16408 "optional" : 1,
16409 "type" : "boolean"
16410 },
25203dc1
NC
16411 "ssd" : {
16412 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
16413 "optional" : 1,
16414 "type" : "boolean"
16415 },
4d47f125
TL
16416 "trans" : {
16417 "description" : "Force disk geometry bios translation mode.",
16418 "enum" : [
16419 "none",
16420 "lba",
16421 "auto"
16422 ],
16423 "optional" : 1,
16424 "type" : "string"
16425 },
16426 "volume" : {
16427 "alias" : "file"
16428 },
16429 "werror" : {
16430 "description" : "Write error action.",
16431 "enum" : [
16432 "enospc",
16433 "ignore",
16434 "report",
16435 "stop"
16436 ],
16437 "optional" : 1,
16438 "type" : "string"
95895385
TL
16439 },
16440 "wwn" : {
16441 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
16442 "format_description" : "wwn",
16443 "optional" : 1,
16444 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
16445 "type" : "string"
4d47f125
TL
16446 }
16447 },
16448 "optional" : 1,
16449 "type" : "string",
95895385 16450 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
16451 },
16452 "scsihw" : {
16453 "default" : "lsi",
16454 "description" : "SCSI controller model",
16455 "enum" : [
16456 "lsi",
16457 "lsi53c810",
16458 "virtio-scsi-pci",
16459 "virtio-scsi-single",
16460 "megasas",
16461 "pvscsi"
16462 ],
16463 "optional" : 1,
16464 "type" : "string"
16465 },
16466 "searchdomain" : {
16467 "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.",
16468 "optional" : 1,
16469 "type" : "string",
16470 "typetext" : "<string>"
16471 },
16472 "serial[n]" : {
16473 "description" : "Create a serial device inside the VM (n is 0 to 3)",
16474 "optional" : 1,
16475 "pattern" : "(/dev/.+|socket)",
16476 "type" : "string",
16477 "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"
16478 },
16479 "shares" : {
16480 "default" : 1000,
16481 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
16482 "maximum" : 50000,
16483 "minimum" : 0,
16484 "optional" : 1,
16485 "type" : "integer",
16486 "typetext" : "<integer> (0 - 50000)"
16487 },
16488 "skiplock" : {
16489 "description" : "Ignore locks - only root is allowed to use this option.",
16490 "optional" : 1,
16491 "type" : "boolean",
16492 "typetext" : "<boolean>"
16493 },
16494 "smbios1" : {
16495 "description" : "Specify SMBIOS type 1 fields.",
16496 "format" : "pve-qm-smbios1",
1e3f8156 16497 "maxLength" : 512,
4d47f125
TL
16498 "optional" : 1,
16499 "type" : "string",
1e3f8156 16500 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
4d47f125
TL
16501 },
16502 "smp" : {
16503 "default" : 1,
16504 "description" : "The number of CPUs. Please use option -sockets instead.",
16505 "minimum" : 1,
16506 "optional" : 1,
16507 "type" : "integer",
16508 "typetext" : "<integer> (1 - N)"
16509 },
16510 "sockets" : {
16511 "default" : 1,
16512 "description" : "The number of CPU sockets.",
16513 "minimum" : 1,
16514 "optional" : 1,
16515 "type" : "integer",
16516 "typetext" : "<integer> (1 - N)"
16517 },
1c532546
TL
16518 "spice_enhancements" : {
16519 "description" : "Configure additional enhancements for SPICE.",
16520 "format" : {
16521 "foldersharing" : {
16522 "default" : "0",
16523 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
16524 "optional" : 1,
16525 "type" : "boolean"
16526 },
16527 "videostreaming" : {
16528 "default" : "off",
16529 "description" : "Enable video streaming. Uses compression for detected video streams.",
16530 "enum" : [
16531 "off",
16532 "all",
16533 "filter"
16534 ],
16535 "optional" : 1,
16536 "type" : "string"
16537 }
16538 },
16539 "optional" : 1,
16540 "type" : "string",
16541 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
16542 },
4d47f125
TL
16543 "sshkeys" : {
16544 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
16545 "format" : "urlencoded",
16546 "optional" : 1,
16547 "type" : "string",
16548 "typetext" : "<string>"
16549 },
16550 "startdate" : {
16551 "default" : "now",
16552 "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'.",
16553 "optional" : 1,
16554 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
16555 "type" : "string",
16556 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
16557 },
16558 "startup" : {
16559 "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.",
16560 "format" : "pve-startup-order",
16561 "optional" : 1,
16562 "type" : "string",
16563 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
16564 },
16565 "tablet" : {
16566 "default" : 1,
16567 "description" : "Enable/disable the USB tablet device.",
16568 "optional" : 1,
16569 "type" : "boolean",
16570 "typetext" : "<boolean>",
16571 "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)."
16572 },
5c1699e5
TL
16573 "tags" : {
16574 "description" : "Tags of the VM. This is only meta information.",
16575 "format" : "pve-tag-list",
16576 "optional" : 1,
16577 "type" : "string",
16578 "typetext" : "<string>"
16579 },
4d47f125
TL
16580 "tdf" : {
16581 "default" : 0,
16582 "description" : "Enable/disable time drift fix.",
16583 "optional" : 1,
16584 "type" : "boolean",
16585 "typetext" : "<boolean>"
16586 },
16587 "template" : {
16588 "default" : 0,
16589 "description" : "Enable/disable Template.",
16590 "optional" : 1,
16591 "type" : "boolean",
16592 "typetext" : "<boolean>"
16593 },
16594 "unused[n]" : {
16595 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
16596 "format" : {
16597 "file" : {
16598 "default_key" : 1,
16599 "description" : "The drive's backing volume.",
16600 "format" : "pve-volume-id",
16601 "format_description" : "volume",
16602 "type" : "string"
16603 },
16604 "volume" : {
16605 "alias" : "file"
16606 }
16607 },
4d47f125
TL
16608 "optional" : 1,
16609 "type" : "string",
c5aa7e14 16610 "typetext" : "[file=]<volume>"
4d47f125
TL
16611 },
16612 "usb[n]" : {
16613 "description" : "Configure an USB device (n is 0 to 4).",
16614 "format" : {
16615 "host" : {
16616 "default_key" : 1,
16617 "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",
16618 "format" : "pve-qm-usb-device",
16619 "format_description" : "HOSTUSBDEVICE|spice",
16620 "type" : "string"
16621 },
16622 "usb3" : {
16623 "default" : 0,
1c532546 16624 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
16625 "optional" : 1,
16626 "type" : "boolean"
16627 }
16628 },
16629 "optional" : 1,
16630 "type" : "string",
16631 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
16632 },
16633 "vcpus" : {
16634 "default" : 0,
16635 "description" : "Number of hotplugged vcpus.",
16636 "minimum" : 1,
16637 "optional" : 1,
16638 "type" : "integer",
16639 "typetext" : "<integer> (1 - N)"
16640 },
16641 "vga" : {
e2d681b3
TL
16642 "description" : "Configure the VGA hardware.",
16643 "format" : {
16644 "memory" : {
16645 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
16646 "maximum" : 512,
16647 "minimum" : 4,
16648 "optional" : 1,
16649 "type" : "integer"
16650 },
16651 "type" : {
16652 "default" : "std",
16653 "default_key" : 1,
16654 "description" : "Select the VGA type.",
16655 "enum" : [
16656 "cirrus",
16657 "qxl",
16658 "qxl2",
16659 "qxl3",
16660 "qxl4",
5f26e15b 16661 "none",
e2d681b3
TL
16662 "serial0",
16663 "serial1",
16664 "serial2",
16665 "serial3",
16666 "std",
16667 "virtio",
16668 "vmware"
16669 ],
16670 "optional" : 1,
16671 "type" : "string"
16672 }
16673 },
4d47f125
TL
16674 "optional" : 1,
16675 "type" : "string",
e2d681b3
TL
16676 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
16677 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
4d47f125
TL
16678 },
16679 "virtio[n]" : {
16680 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
16681 "format" : {
16682 "aio" : {
16683 "description" : "AIO type to use.",
16684 "enum" : [
16685 "native",
16686 "threads"
16687 ],
16688 "optional" : 1,
16689 "type" : "string"
16690 },
16691 "backup" : {
16692 "description" : "Whether the drive should be included when making backups.",
16693 "optional" : 1,
16694 "type" : "boolean"
16695 },
16696 "bps" : {
16697 "description" : "Maximum r/w speed in bytes per second.",
16698 "format_description" : "bps",
16699 "optional" : 1,
16700 "type" : "integer"
16701 },
16702 "bps_max_length" : {
16703 "description" : "Maximum length of I/O bursts in seconds.",
16704 "format_description" : "seconds",
16705 "minimum" : 1,
16706 "optional" : 1,
16707 "type" : "integer"
16708 },
16709 "bps_rd" : {
16710 "description" : "Maximum read speed in bytes per second.",
16711 "format_description" : "bps",
16712 "optional" : 1,
16713 "type" : "integer"
16714 },
16715 "bps_rd_length" : {
16716 "alias" : "bps_rd_max_length"
16717 },
16718 "bps_rd_max_length" : {
16719 "description" : "Maximum length of read I/O bursts in seconds.",
16720 "format_description" : "seconds",
16721 "minimum" : 1,
16722 "optional" : 1,
16723 "type" : "integer"
16724 },
16725 "bps_wr" : {
16726 "description" : "Maximum write speed in bytes per second.",
16727 "format_description" : "bps",
16728 "optional" : 1,
16729 "type" : "integer"
16730 },
16731 "bps_wr_length" : {
16732 "alias" : "bps_wr_max_length"
16733 },
16734 "bps_wr_max_length" : {
16735 "description" : "Maximum length of write I/O bursts in seconds.",
16736 "format_description" : "seconds",
16737 "minimum" : 1,
16738 "optional" : 1,
16739 "type" : "integer"
16740 },
16741 "cache" : {
16742 "description" : "The drive's cache mode",
16743 "enum" : [
16744 "none",
16745 "writethrough",
16746 "writeback",
16747 "unsafe",
16748 "directsync"
16749 ],
16750 "optional" : 1,
16751 "type" : "string"
16752 },
16753 "cyls" : {
16754 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16755 "optional" : 1,
16756 "type" : "integer"
16757 },
16758 "detect_zeroes" : {
16759 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16760 "optional" : 1,
16761 "type" : "boolean"
16762 },
16763 "discard" : {
16764 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16765 "enum" : [
16766 "ignore",
16767 "on"
16768 ],
16769 "optional" : 1,
16770 "type" : "string"
16771 },
16772 "file" : {
16773 "default_key" : 1,
16774 "description" : "The drive's backing volume.",
16775 "format" : "pve-volume-id-or-qm-path",
16776 "format_description" : "volume",
16777 "type" : "string"
16778 },
16779 "format" : {
16780 "description" : "The drive's backing file's data format.",
16781 "enum" : [
16782 "raw",
16783 "cow",
16784 "qcow",
16785 "qed",
16786 "qcow2",
16787 "vmdk",
16788 "cloop"
16789 ],
16790 "optional" : 1,
16791 "type" : "string"
16792 },
16793 "heads" : {
16794 "description" : "Force the drive's physical geometry to have a specific head count.",
16795 "optional" : 1,
16796 "type" : "integer"
16797 },
16798 "iops" : {
16799 "description" : "Maximum r/w I/O in operations per second.",
16800 "format_description" : "iops",
16801 "optional" : 1,
16802 "type" : "integer"
16803 },
16804 "iops_max" : {
16805 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16806 "format_description" : "iops",
16807 "optional" : 1,
16808 "type" : "integer"
16809 },
16810 "iops_max_length" : {
16811 "description" : "Maximum length of I/O bursts in seconds.",
16812 "format_description" : "seconds",
16813 "minimum" : 1,
16814 "optional" : 1,
16815 "type" : "integer"
16816 },
16817 "iops_rd" : {
16818 "description" : "Maximum read I/O in operations per second.",
16819 "format_description" : "iops",
16820 "optional" : 1,
16821 "type" : "integer"
16822 },
16823 "iops_rd_length" : {
16824 "alias" : "iops_rd_max_length"
16825 },
16826 "iops_rd_max" : {
16827 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16828 "format_description" : "iops",
16829 "optional" : 1,
16830 "type" : "integer"
16831 },
16832 "iops_rd_max_length" : {
16833 "description" : "Maximum length of read I/O bursts in seconds.",
16834 "format_description" : "seconds",
16835 "minimum" : 1,
16836 "optional" : 1,
16837 "type" : "integer"
16838 },
16839 "iops_wr" : {
16840 "description" : "Maximum write I/O in operations per second.",
16841 "format_description" : "iops",
16842 "optional" : 1,
16843 "type" : "integer"
16844 },
16845 "iops_wr_length" : {
16846 "alias" : "iops_wr_max_length"
16847 },
16848 "iops_wr_max" : {
16849 "description" : "Maximum unthrottled write I/O pool in operations per second.",
16850 "format_description" : "iops",
16851 "optional" : 1,
16852 "type" : "integer"
16853 },
16854 "iops_wr_max_length" : {
16855 "description" : "Maximum length of write I/O bursts in seconds.",
16856 "format_description" : "seconds",
16857 "minimum" : 1,
16858 "optional" : 1,
16859 "type" : "integer"
16860 },
16861 "iothread" : {
16862 "description" : "Whether to use iothreads for this drive",
16863 "optional" : 1,
16864 "type" : "boolean"
16865 },
16866 "mbps" : {
16867 "description" : "Maximum r/w speed in megabytes per second.",
16868 "format_description" : "mbps",
16869 "optional" : 1,
16870 "type" : "number"
16871 },
16872 "mbps_max" : {
16873 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
16874 "format_description" : "mbps",
16875 "optional" : 1,
16876 "type" : "number"
16877 },
16878 "mbps_rd" : {
16879 "description" : "Maximum read speed in megabytes per second.",
16880 "format_description" : "mbps",
16881 "optional" : 1,
16882 "type" : "number"
16883 },
16884 "mbps_rd_max" : {
16885 "description" : "Maximum unthrottled read pool in megabytes per second.",
16886 "format_description" : "mbps",
16887 "optional" : 1,
16888 "type" : "number"
16889 },
16890 "mbps_wr" : {
16891 "description" : "Maximum write speed in megabytes per second.",
16892 "format_description" : "mbps",
16893 "optional" : 1,
16894 "type" : "number"
16895 },
16896 "mbps_wr_max" : {
16897 "description" : "Maximum unthrottled write pool in megabytes per second.",
16898 "format_description" : "mbps",
16899 "optional" : 1,
16900 "type" : "number"
16901 },
16902 "media" : {
16903 "default" : "disk",
16904 "description" : "The drive's media type.",
16905 "enum" : [
16906 "cdrom",
16907 "disk"
16908 ],
16909 "optional" : 1,
16910 "type" : "string"
16911 },
16912 "replicate" : {
16913 "default" : 1,
16914 "description" : "Whether the drive should considered for replication jobs.",
16915 "optional" : 1,
16916 "type" : "boolean"
16917 },
16918 "rerror" : {
16919 "description" : "Read error action.",
16920 "enum" : [
16921 "ignore",
16922 "report",
16923 "stop"
16924 ],
16925 "optional" : 1,
16926 "type" : "string"
16927 },
16928 "secs" : {
16929 "description" : "Force the drive's physical geometry to have a specific sector count.",
16930 "optional" : 1,
16931 "type" : "integer"
16932 },
16933 "serial" : {
16934 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
16935 "format" : "urlencoded",
16936 "format_description" : "serial",
16937 "maxLength" : 60,
16938 "optional" : 1,
16939 "type" : "string"
16940 },
16941 "shared" : {
16942 "default" : 0,
16943 "description" : "Mark this locally-managed volume as available on all nodes",
16944 "optional" : 1,
16945 "type" : "boolean",
16946 "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!"
16947 },
16948 "size" : {
16949 "description" : "Disk size. This is purely informational and has no effect.",
16950 "format" : "disk-size",
16951 "format_description" : "DiskSize",
16952 "optional" : 1,
16953 "type" : "string"
16954 },
16955 "snapshot" : {
16956 "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.",
16957 "optional" : 1,
16958 "type" : "boolean"
16959 },
16960 "trans" : {
16961 "description" : "Force disk geometry bios translation mode.",
16962 "enum" : [
16963 "none",
16964 "lba",
16965 "auto"
16966 ],
16967 "optional" : 1,
16968 "type" : "string"
16969 },
16970 "volume" : {
16971 "alias" : "file"
16972 },
16973 "werror" : {
16974 "description" : "Write error action.",
16975 "enum" : [
16976 "enospc",
16977 "ignore",
16978 "report",
16979 "stop"
16980 ],
16981 "optional" : 1,
16982 "type" : "string"
16983 }
16984 },
16985 "optional" : 1,
16986 "type" : "string",
16987 "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>]"
16988 },
16989 "vmgenid" : {
16990 "default" : "1 (autogenerated)",
16991 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
16992 "format_description" : "UUID",
16993 "optional" : 1,
16994 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
16995 "type" : "string",
16996 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
16997 },
16998 "vmid" : {
16999 "description" : "The (unique) ID of the VM.",
17000 "format" : "pve-vmid",
17001 "minimum" : 1,
17002 "type" : "integer",
17003 "typetext" : "<integer> (1 - N)"
17004 },
17005 "vmstatestorage" : {
17006 "description" : "Default storage for VM state volumes/files.",
17007 "format" : "pve-storage-id",
17008 "optional" : 1,
17009 "type" : "string",
17010 "typetext" : "<string>"
17011 },
17012 "watchdog" : {
17013 "description" : "Create a virtual hardware watchdog device.",
17014 "format" : "pve-qm-watchdog",
17015 "optional" : 1,
17016 "type" : "string",
17017 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
17018 "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)"
17019 }
17020 }
17021 },
17022 "permissions" : {
17023 "check" : [
17024 "perm",
17025 "/vms/{vmid}",
17026 [
17027 "VM.Config.Disk",
17028 "VM.Config.CDROM",
17029 "VM.Config.CPU",
17030 "VM.Config.Memory",
17031 "VM.Config.Network",
17032 "VM.Config.HWType",
17033 "VM.Config.Options"
17034 ],
17035 "any",
17036 1
17037 ]
17038 },
17039 "protected" : 1,
17040 "proxyto" : "node",
17041 "returns" : {
17042 "type" : "null"
17043 }
17044 }
17045 },
17046 "leaf" : 1,
17047 "path" : "/nodes/{node}/qemu/{vmid}/config",
17048 "text" : "config"
17049 },
17050 {
17051 "info" : {
17052 "GET" : {
e9cd3bd4
TL
17053 "allowtoken" : 1,
17054 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
17055 "method" : "GET",
17056 "name" : "vm_pending",
17057 "parameters" : {
17058 "additionalProperties" : 0,
17059 "properties" : {
17060 "node" : {
17061 "description" : "The cluster node name.",
17062 "format" : "pve-node",
17063 "type" : "string",
17064 "typetext" : "<string>"
17065 },
17066 "vmid" : {
17067 "description" : "The (unique) ID of the VM.",
17068 "format" : "pve-vmid",
17069 "minimum" : 1,
17070 "type" : "integer",
17071 "typetext" : "<integer> (1 - N)"
17072 }
17073 }
17074 },
17075 "permissions" : {
17076 "check" : [
17077 "perm",
17078 "/vms/{vmid}",
17079 [
17080 "VM.Audit"
17081 ]
17082 ]
17083 },
17084 "proxyto" : "node",
17085 "returns" : {
17086 "items" : {
17087 "properties" : {
17088 "delete" : {
17089 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
17090 "maximum" : 2,
17091 "minimum" : 0,
17092 "optional" : 1,
17093 "type" : "integer"
17094 },
17095 "key" : {
17096 "description" : "Configuration option name.",
17097 "type" : "string"
17098 },
17099 "pending" : {
17100 "description" : "Pending value.",
17101 "optional" : 1,
17102 "type" : "string"
17103 },
17104 "value" : {
17105 "description" : "Current value.",
17106 "optional" : 1,
17107 "type" : "string"
17108 }
17109 },
17110 "type" : "object"
17111 },
17112 "type" : "array"
17113 }
17114 }
17115 },
17116 "leaf" : 1,
17117 "path" : "/nodes/{node}/qemu/{vmid}/pending",
17118 "text" : "pending"
17119 },
17120 {
17121 "info" : {
17122 "PUT" : {
e9cd3bd4 17123 "allowtoken" : 1,
4d47f125
TL
17124 "description" : "Unlink/delete disk images.",
17125 "method" : "PUT",
17126 "name" : "unlink",
17127 "parameters" : {
17128 "additionalProperties" : 0,
17129 "properties" : {
17130 "force" : {
17131 "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.",
17132 "optional" : 1,
17133 "type" : "boolean",
17134 "typetext" : "<boolean>"
17135 },
17136 "idlist" : {
17137 "description" : "A list of disk IDs you want to delete.",
17138 "format" : "pve-configid-list",
17139 "type" : "string",
17140 "typetext" : "<string>"
17141 },
17142 "node" : {
17143 "description" : "The cluster node name.",
17144 "format" : "pve-node",
17145 "type" : "string",
17146 "typetext" : "<string>"
17147 },
17148 "vmid" : {
17149 "description" : "The (unique) ID of the VM.",
17150 "format" : "pve-vmid",
17151 "minimum" : 1,
17152 "type" : "integer",
17153 "typetext" : "<integer> (1 - N)"
17154 }
17155 }
17156 },
17157 "permissions" : {
17158 "check" : [
17159 "perm",
17160 "/vms/{vmid}",
17161 [
17162 "VM.Config.Disk"
17163 ]
17164 ]
17165 },
17166 "protected" : 1,
17167 "proxyto" : "node",
17168 "returns" : {
17169 "type" : "null"
17170 }
17171 }
17172 },
17173 "leaf" : 1,
17174 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
17175 "text" : "unlink"
17176 },
17177 {
17178 "info" : {
17179 "POST" : {
e9cd3bd4 17180 "allowtoken" : 1,
4d47f125
TL
17181 "description" : "Creates a TCP VNC proxy connections.",
17182 "method" : "POST",
17183 "name" : "vncproxy",
17184 "parameters" : {
17185 "additionalProperties" : 0,
17186 "properties" : {
17187 "node" : {
17188 "description" : "The cluster node name.",
17189 "format" : "pve-node",
17190 "type" : "string",
17191 "typetext" : "<string>"
17192 },
17193 "vmid" : {
17194 "description" : "The (unique) ID of the VM.",
17195 "format" : "pve-vmid",
17196 "minimum" : 1,
17197 "type" : "integer",
17198 "typetext" : "<integer> (1 - N)"
17199 },
17200 "websocket" : {
17201 "description" : "starts websockify instead of vncproxy",
17202 "optional" : 1,
17203 "type" : "boolean",
17204 "typetext" : "<boolean>"
17205 }
17206 }
17207 },
17208 "permissions" : {
17209 "check" : [
17210 "perm",
17211 "/vms/{vmid}",
17212 [
17213 "VM.Console"
17214 ]
17215 ]
17216 },
17217 "protected" : 1,
17218 "returns" : {
17219 "additionalProperties" : 0,
17220 "properties" : {
17221 "cert" : {
17222 "type" : "string"
17223 },
17224 "port" : {
17225 "type" : "integer"
17226 },
17227 "ticket" : {
17228 "type" : "string"
17229 },
17230 "upid" : {
17231 "type" : "string"
17232 },
17233 "user" : {
17234 "type" : "string"
17235 }
17236 }
17237 }
17238 }
17239 },
17240 "leaf" : 1,
17241 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
17242 "text" : "vncproxy"
17243 },
17244 {
17245 "info" : {
17246 "POST" : {
e9cd3bd4 17247 "allowtoken" : 1,
4d47f125
TL
17248 "description" : "Creates a TCP proxy connections.",
17249 "method" : "POST",
17250 "name" : "termproxy",
17251 "parameters" : {
17252 "additionalProperties" : 0,
17253 "properties" : {
17254 "node" : {
17255 "description" : "The cluster node name.",
17256 "format" : "pve-node",
17257 "type" : "string",
17258 "typetext" : "<string>"
17259 },
17260 "serial" : {
17261 "description" : "opens a serial terminal (defaults to display)",
17262 "enum" : [
17263 "serial0",
17264 "serial1",
17265 "serial2",
17266 "serial3"
17267 ],
17268 "optional" : 1,
17269 "type" : "string"
17270 },
17271 "vmid" : {
17272 "description" : "The (unique) ID of the VM.",
17273 "format" : "pve-vmid",
17274 "minimum" : 1,
17275 "type" : "integer",
17276 "typetext" : "<integer> (1 - N)"
17277 }
17278 }
17279 },
17280 "permissions" : {
17281 "check" : [
17282 "perm",
17283 "/vms/{vmid}",
17284 [
17285 "VM.Console"
17286 ]
17287 ]
17288 },
17289 "protected" : 1,
17290 "returns" : {
17291 "additionalProperties" : 0,
17292 "properties" : {
17293 "port" : {
17294 "type" : "integer"
17295 },
17296 "ticket" : {
17297 "type" : "string"
17298 },
17299 "upid" : {
17300 "type" : "string"
17301 },
17302 "user" : {
17303 "type" : "string"
17304 }
17305 }
17306 }
17307 }
17308 },
17309 "leaf" : 1,
17310 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
17311 "text" : "termproxy"
17312 },
17313 {
17314 "info" : {
17315 "GET" : {
e9cd3bd4 17316 "allowtoken" : 1,
4d47f125
TL
17317 "description" : "Opens a weksocket for VNC traffic.",
17318 "method" : "GET",
17319 "name" : "vncwebsocket",
17320 "parameters" : {
17321 "additionalProperties" : 0,
17322 "properties" : {
17323 "node" : {
17324 "description" : "The cluster node name.",
17325 "format" : "pve-node",
17326 "type" : "string",
17327 "typetext" : "<string>"
17328 },
17329 "port" : {
17330 "description" : "Port number returned by previous vncproxy call.",
17331 "maximum" : 5999,
17332 "minimum" : 5900,
17333 "type" : "integer",
17334 "typetext" : "<integer> (5900 - 5999)"
17335 },
17336 "vmid" : {
17337 "description" : "The (unique) ID of the VM.",
17338 "format" : "pve-vmid",
17339 "minimum" : 1,
17340 "type" : "integer",
17341 "typetext" : "<integer> (1 - N)"
17342 },
17343 "vncticket" : {
17344 "description" : "Ticket from previous call to vncproxy.",
17345 "maxLength" : 512,
17346 "type" : "string",
17347 "typetext" : "<string>"
17348 }
17349 }
17350 },
17351 "permissions" : {
17352 "check" : [
17353 "perm",
17354 "/vms/{vmid}",
17355 [
17356 "VM.Console"
17357 ]
17358 ],
17359 "description" : "You also need to pass a valid ticket (vncticket)."
17360 },
17361 "returns" : {
17362 "properties" : {
17363 "port" : {
17364 "type" : "string"
17365 }
17366 },
17367 "type" : "object"
17368 }
17369 }
17370 },
17371 "leaf" : 1,
17372 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
17373 "text" : "vncwebsocket"
17374 },
17375 {
17376 "info" : {
17377 "POST" : {
e9cd3bd4 17378 "allowtoken" : 1,
4d47f125
TL
17379 "description" : "Returns a SPICE configuration to connect to the VM.",
17380 "method" : "POST",
17381 "name" : "spiceproxy",
17382 "parameters" : {
17383 "additionalProperties" : 0,
17384 "properties" : {
17385 "node" : {
17386 "description" : "The cluster node name.",
17387 "format" : "pve-node",
17388 "type" : "string",
17389 "typetext" : "<string>"
17390 },
17391 "proxy" : {
17392 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
17393 "format" : "address",
17394 "optional" : 1,
17395 "type" : "string",
17396 "typetext" : "<string>"
17397 },
17398 "vmid" : {
17399 "description" : "The (unique) ID of the VM.",
17400 "format" : "pve-vmid",
17401 "minimum" : 1,
17402 "type" : "integer",
17403 "typetext" : "<integer> (1 - N)"
17404 }
17405 }
17406 },
17407 "permissions" : {
17408 "check" : [
17409 "perm",
17410 "/vms/{vmid}",
17411 [
17412 "VM.Console"
17413 ]
17414 ]
17415 },
17416 "protected" : 1,
17417 "proxyto" : "node",
17418 "returns" : {
17419 "additionalProperties" : 1,
17420 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
17421 "properties" : {
17422 "host" : {
17423 "type" : "string"
17424 },
17425 "password" : {
17426 "type" : "string"
17427 },
17428 "proxy" : {
17429 "type" : "string"
17430 },
17431 "tls-port" : {
17432 "type" : "integer"
17433 },
17434 "type" : {
17435 "type" : "string"
17436 }
17437 }
17438 }
17439 }
17440 },
17441 "leaf" : 1,
17442 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
17443 "text" : "spiceproxy"
17444 },
17445 {
17446 "children" : [
17447 {
17448 "info" : {
17449 "GET" : {
e9cd3bd4 17450 "allowtoken" : 1,
4d47f125
TL
17451 "description" : "Get virtual machine status.",
17452 "method" : "GET",
17453 "name" : "vm_status",
17454 "parameters" : {
17455 "additionalProperties" : 0,
17456 "properties" : {
17457 "node" : {
17458 "description" : "The cluster node name.",
17459 "format" : "pve-node",
17460 "type" : "string",
17461 "typetext" : "<string>"
17462 },
17463 "vmid" : {
17464 "description" : "The (unique) ID of the VM.",
17465 "format" : "pve-vmid",
17466 "minimum" : 1,
17467 "type" : "integer",
17468 "typetext" : "<integer> (1 - N)"
17469 }
17470 }
17471 },
17472 "permissions" : {
17473 "check" : [
17474 "perm",
17475 "/vms/{vmid}",
17476 [
17477 "VM.Audit"
17478 ]
17479 ]
17480 },
17481 "protected" : 1,
17482 "proxyto" : "node",
17483 "returns" : {
17484 "properties" : {
17485 "agent" : {
17486 "description" : "Qemu GuestAgent enabled in config.",
17487 "optional" : 1,
17488 "type" : "boolean"
17489 },
17490 "cpus" : {
17491 "description" : "Maximum usable CPUs.",
17492 "optional" : 1,
17493 "type" : "number"
17494 },
17495 "ha" : {
17496 "description" : "HA manager service status.",
17497 "type" : "object"
17498 },
95895385
TL
17499 "lock" : {
17500 "description" : "The current config lock, if any.",
17501 "optional" : 1,
17502 "type" : "string"
17503 },
4d47f125
TL
17504 "maxdisk" : {
17505 "description" : "Root disk size in bytes.",
17506 "optional" : 1,
17507 "renderer" : "bytes",
17508 "type" : "integer"
17509 },
17510 "maxmem" : {
17511 "description" : "Maximum memory in bytes.",
17512 "optional" : 1,
17513 "renderer" : "bytes",
17514 "type" : "integer"
17515 },
17516 "name" : {
17517 "description" : "VM name.",
17518 "optional" : 1,
17519 "type" : "string"
17520 },
17521 "pid" : {
17522 "description" : "PID of running qemu process.",
17523 "optional" : 1,
17524 "type" : "integer"
17525 },
17526 "qmpstatus" : {
17527 "description" : "Qemu QMP agent status.",
17528 "optional" : 1,
17529 "type" : "string"
17530 },
17531 "spice" : {
17532 "description" : "Qemu VGA configuration supports spice.",
17533 "optional" : 1,
17534 "type" : "boolean"
17535 },
17536 "status" : {
17537 "description" : "Qemu process status.",
17538 "enum" : [
17539 "stopped",
17540 "running"
17541 ],
17542 "type" : "string"
17543 },
5c1699e5
TL
17544 "tags" : {
17545 "description" : "The current configured tags, if any",
17546 "optional" : 1,
17547 "type" : "string"
17548 },
4d47f125
TL
17549 "uptime" : {
17550 "description" : "Uptime.",
17551 "optional" : 1,
17552 "renderer" : "duration",
17553 "type" : "integer"
17554 },
17555 "vmid" : {
17556 "description" : "The (unique) ID of the VM.",
17557 "format" : "pve-vmid",
17558 "minimum" : 1,
17559 "type" : "integer"
17560 }
17561 },
17562 "type" : "object"
17563 }
17564 }
17565 },
17566 "leaf" : 1,
17567 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
17568 "text" : "current"
17569 },
17570 {
17571 "info" : {
17572 "POST" : {
e9cd3bd4 17573 "allowtoken" : 1,
4d47f125
TL
17574 "description" : "Start virtual machine.",
17575 "method" : "POST",
17576 "name" : "vm_start",
17577 "parameters" : {
17578 "additionalProperties" : 0,
17579 "properties" : {
c5aa7e14
TL
17580 "force-cpu" : {
17581 "description" : "Override QEMU's -cpu argument with the given string.",
17582 "optional" : 1,
17583 "type" : "string",
17584 "typetext" : "<string>"
17585 },
4d47f125
TL
17586 "machine" : {
17587 "description" : "Specifies the Qemu machine type.",
17588 "maxLength" : 40,
17589 "optional" : 1,
5c1699e5 17590 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
17591 "type" : "string"
17592 },
17593 "migratedfrom" : {
17594 "description" : "The cluster node name.",
17595 "format" : "pve-node",
17596 "optional" : 1,
17597 "type" : "string",
17598 "typetext" : "<string>"
17599 },
17600 "migration_network" : {
17601 "description" : "CIDR of the (sub) network that is used for migration.",
17602 "format" : "CIDR",
17603 "optional" : 1,
17604 "type" : "string",
17605 "typetext" : "<string>"
17606 },
17607 "migration_type" : {
17608 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
17609 "enum" : [
17610 "secure",
17611 "insecure"
17612 ],
17613 "optional" : 1,
17614 "type" : "string"
17615 },
17616 "node" : {
17617 "description" : "The cluster node name.",
17618 "format" : "pve-node",
17619 "type" : "string",
17620 "typetext" : "<string>"
17621 },
17622 "skiplock" : {
17623 "description" : "Ignore locks - only root is allowed to use this option.",
17624 "optional" : 1,
17625 "type" : "boolean",
17626 "typetext" : "<boolean>"
17627 },
17628 "stateuri" : {
17629 "description" : "Some command save/restore state from this location.",
17630 "maxLength" : 128,
17631 "optional" : 1,
17632 "type" : "string",
17633 "typetext" : "<string>"
17634 },
17635 "targetstorage" : {
c5aa7e14
TL
17636 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
17637 "format" : "storagepair-list",
4d47f125
TL
17638 "optional" : 1,
17639 "type" : "string",
17640 "typetext" : "<string>"
17641 },
e9cd3bd4
TL
17642 "timeout" : {
17643 "default" : "max(30, vm memory in GiB)",
17644 "description" : "Wait maximal timeout seconds.",
17645 "minimum" : 0,
17646 "optional" : 1,
17647 "type" : "integer",
17648 "typetext" : "<integer> (0 - N)"
17649 },
4d47f125
TL
17650 "vmid" : {
17651 "description" : "The (unique) ID of the VM.",
17652 "format" : "pve-vmid",
17653 "minimum" : 1,
17654 "type" : "integer",
17655 "typetext" : "<integer> (1 - N)"
17656 }
17657 }
17658 },
17659 "permissions" : {
17660 "check" : [
17661 "perm",
17662 "/vms/{vmid}",
17663 [
17664 "VM.PowerMgmt"
17665 ]
17666 ]
17667 },
17668 "protected" : 1,
17669 "proxyto" : "node",
17670 "returns" : {
17671 "type" : "string"
17672 }
17673 }
17674 },
17675 "leaf" : 1,
17676 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
17677 "text" : "start"
17678 },
17679 {
17680 "info" : {
17681 "POST" : {
e9cd3bd4 17682 "allowtoken" : 1,
4d47f125
TL
17683 "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",
17684 "method" : "POST",
17685 "name" : "vm_stop",
17686 "parameters" : {
17687 "additionalProperties" : 0,
17688 "properties" : {
17689 "keepActive" : {
17690 "default" : 0,
17691 "description" : "Do not deactivate storage volumes.",
17692 "optional" : 1,
17693 "type" : "boolean",
17694 "typetext" : "<boolean>"
17695 },
17696 "migratedfrom" : {
17697 "description" : "The cluster node name.",
17698 "format" : "pve-node",
17699 "optional" : 1,
17700 "type" : "string",
17701 "typetext" : "<string>"
17702 },
17703 "node" : {
17704 "description" : "The cluster node name.",
17705 "format" : "pve-node",
17706 "type" : "string",
17707 "typetext" : "<string>"
17708 },
17709 "skiplock" : {
17710 "description" : "Ignore locks - only root is allowed to use this option.",
17711 "optional" : 1,
17712 "type" : "boolean",
17713 "typetext" : "<boolean>"
17714 },
17715 "timeout" : {
17716 "description" : "Wait maximal timeout seconds.",
17717 "minimum" : 0,
17718 "optional" : 1,
17719 "type" : "integer",
17720 "typetext" : "<integer> (0 - N)"
17721 },
17722 "vmid" : {
17723 "description" : "The (unique) ID of the VM.",
17724 "format" : "pve-vmid",
17725 "minimum" : 1,
17726 "type" : "integer",
17727 "typetext" : "<integer> (1 - N)"
17728 }
17729 }
17730 },
17731 "permissions" : {
17732 "check" : [
17733 "perm",
17734 "/vms/{vmid}",
17735 [
17736 "VM.PowerMgmt"
17737 ]
17738 ]
17739 },
17740 "protected" : 1,
17741 "proxyto" : "node",
17742 "returns" : {
17743 "type" : "string"
17744 }
17745 }
17746 },
17747 "leaf" : 1,
17748 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
17749 "text" : "stop"
17750 },
17751 {
17752 "info" : {
17753 "POST" : {
e9cd3bd4 17754 "allowtoken" : 1,
4d47f125
TL
17755 "description" : "Reset virtual machine.",
17756 "method" : "POST",
17757 "name" : "vm_reset",
17758 "parameters" : {
17759 "additionalProperties" : 0,
17760 "properties" : {
17761 "node" : {
17762 "description" : "The cluster node name.",
17763 "format" : "pve-node",
17764 "type" : "string",
17765 "typetext" : "<string>"
17766 },
17767 "skiplock" : {
17768 "description" : "Ignore locks - only root is allowed to use this option.",
17769 "optional" : 1,
17770 "type" : "boolean",
17771 "typetext" : "<boolean>"
17772 },
17773 "vmid" : {
17774 "description" : "The (unique) ID of the VM.",
17775 "format" : "pve-vmid",
17776 "minimum" : 1,
17777 "type" : "integer",
17778 "typetext" : "<integer> (1 - N)"
17779 }
17780 }
17781 },
17782 "permissions" : {
17783 "check" : [
17784 "perm",
17785 "/vms/{vmid}",
17786 [
17787 "VM.PowerMgmt"
17788 ]
17789 ]
17790 },
17791 "protected" : 1,
17792 "proxyto" : "node",
17793 "returns" : {
17794 "type" : "string"
17795 }
17796 }
17797 },
17798 "leaf" : 1,
17799 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
17800 "text" : "reset"
17801 },
17802 {
17803 "info" : {
17804 "POST" : {
e9cd3bd4 17805 "allowtoken" : 1,
4d47f125
TL
17806 "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.",
17807 "method" : "POST",
17808 "name" : "vm_shutdown",
17809 "parameters" : {
17810 "additionalProperties" : 0,
17811 "properties" : {
17812 "forceStop" : {
17813 "default" : 0,
17814 "description" : "Make sure the VM stops.",
17815 "optional" : 1,
17816 "type" : "boolean",
17817 "typetext" : "<boolean>"
17818 },
17819 "keepActive" : {
17820 "default" : 0,
17821 "description" : "Do not deactivate storage volumes.",
17822 "optional" : 1,
17823 "type" : "boolean",
17824 "typetext" : "<boolean>"
17825 },
17826 "node" : {
17827 "description" : "The cluster node name.",
17828 "format" : "pve-node",
17829 "type" : "string",
17830 "typetext" : "<string>"
17831 },
17832 "skiplock" : {
17833 "description" : "Ignore locks - only root is allowed to use this option.",
17834 "optional" : 1,
17835 "type" : "boolean",
17836 "typetext" : "<boolean>"
17837 },
17838 "timeout" : {
17839 "description" : "Wait maximal timeout seconds.",
17840 "minimum" : 0,
17841 "optional" : 1,
17842 "type" : "integer",
17843 "typetext" : "<integer> (0 - N)"
17844 },
17845 "vmid" : {
17846 "description" : "The (unique) ID of the VM.",
17847 "format" : "pve-vmid",
17848 "minimum" : 1,
17849 "type" : "integer",
17850 "typetext" : "<integer> (1 - N)"
17851 }
17852 }
17853 },
17854 "permissions" : {
17855 "check" : [
17856 "perm",
17857 "/vms/{vmid}",
17858 [
17859 "VM.PowerMgmt"
17860 ]
17861 ]
17862 },
17863 "protected" : 1,
17864 "proxyto" : "node",
17865 "returns" : {
17866 "type" : "string"
17867 }
17868 }
17869 },
17870 "leaf" : 1,
17871 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
17872 "text" : "shutdown"
17873 },
1c532546
TL
17874 {
17875 "info" : {
17876 "POST" : {
e9cd3bd4 17877 "allowtoken" : 1,
1c532546
TL
17878 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
17879 "method" : "POST",
17880 "name" : "vm_reboot",
17881 "parameters" : {
17882 "additionalProperties" : 0,
17883 "properties" : {
17884 "node" : {
17885 "description" : "The cluster node name.",
17886 "format" : "pve-node",
17887 "type" : "string",
17888 "typetext" : "<string>"
17889 },
17890 "timeout" : {
17891 "description" : "Wait maximal timeout seconds for the shutdown.",
17892 "minimum" : 0,
17893 "optional" : 1,
17894 "type" : "integer",
17895 "typetext" : "<integer> (0 - N)"
17896 },
17897 "vmid" : {
17898 "description" : "The (unique) ID of the VM.",
17899 "format" : "pve-vmid",
17900 "minimum" : 1,
17901 "type" : "integer",
17902 "typetext" : "<integer> (1 - N)"
17903 }
17904 }
17905 },
17906 "permissions" : {
17907 "check" : [
17908 "perm",
17909 "/vms/{vmid}",
17910 [
17911 "VM.PowerMgmt"
17912 ]
17913 ]
17914 },
17915 "protected" : 1,
17916 "proxyto" : "node",
17917 "returns" : {
17918 "type" : "string"
17919 }
17920 }
17921 },
17922 "leaf" : 1,
17923 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
17924 "text" : "reboot"
17925 },
4d47f125
TL
17926 {
17927 "info" : {
17928 "POST" : {
e9cd3bd4 17929 "allowtoken" : 1,
4d47f125
TL
17930 "description" : "Suspend virtual machine.",
17931 "method" : "POST",
17932 "name" : "vm_suspend",
17933 "parameters" : {
17934 "additionalProperties" : 0,
17935 "properties" : {
17936 "node" : {
17937 "description" : "The cluster node name.",
17938 "format" : "pve-node",
17939 "type" : "string",
17940 "typetext" : "<string>"
17941 },
17942 "skiplock" : {
17943 "description" : "Ignore locks - only root is allowed to use this option.",
17944 "optional" : 1,
17945 "type" : "boolean",
17946 "typetext" : "<boolean>"
17947 },
95895385
TL
17948 "statestorage" : {
17949 "description" : "The storage for the VM state",
17950 "format" : "pve-storage-id",
17951 "optional" : 1,
17952 "requires" : "todisk",
17953 "type" : "string",
17954 "typetext" : "<string>"
17955 },
17956 "todisk" : {
17957 "default" : 0,
17958 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
17959 "optional" : 1,
17960 "type" : "boolean",
17961 "typetext" : "<boolean>"
17962 },
4d47f125
TL
17963 "vmid" : {
17964 "description" : "The (unique) ID of the VM.",
17965 "format" : "pve-vmid",
17966 "minimum" : 1,
17967 "type" : "integer",
17968 "typetext" : "<integer> (1 - N)"
17969 }
17970 }
17971 },
17972 "permissions" : {
17973 "check" : [
17974 "perm",
17975 "/vms/{vmid}",
17976 [
17977 "VM.PowerMgmt"
17978 ]
e9cd3bd4
TL
17979 ],
17980 "description" : "You need 'VM.PowerMgmt' on /vms/{vmid}, and if you have set 'todisk', you need also 'VM.Config.Disk' on /vms/{vmid} and 'Datastore.AllocateSpace' on the storage for the vmstate."
4d47f125
TL
17981 },
17982 "protected" : 1,
17983 "proxyto" : "node",
17984 "returns" : {
17985 "type" : "string"
17986 }
17987 }
17988 },
17989 "leaf" : 1,
17990 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
17991 "text" : "suspend"
17992 },
17993 {
17994 "info" : {
17995 "POST" : {
e9cd3bd4 17996 "allowtoken" : 1,
4d47f125
TL
17997 "description" : "Resume virtual machine.",
17998 "method" : "POST",
17999 "name" : "vm_resume",
18000 "parameters" : {
18001 "additionalProperties" : 0,
18002 "properties" : {
18003 "nocheck" : {
18004 "optional" : 1,
18005 "type" : "boolean",
18006 "typetext" : "<boolean>"
18007 },
18008 "node" : {
18009 "description" : "The cluster node name.",
18010 "format" : "pve-node",
18011 "type" : "string",
18012 "typetext" : "<string>"
18013 },
18014 "skiplock" : {
18015 "description" : "Ignore locks - only root is allowed to use this option.",
18016 "optional" : 1,
18017 "type" : "boolean",
18018 "typetext" : "<boolean>"
18019 },
18020 "vmid" : {
18021 "description" : "The (unique) ID of the VM.",
18022 "format" : "pve-vmid",
18023 "minimum" : 1,
18024 "type" : "integer",
18025 "typetext" : "<integer> (1 - N)"
18026 }
18027 }
18028 },
18029 "permissions" : {
18030 "check" : [
18031 "perm",
18032 "/vms/{vmid}",
18033 [
18034 "VM.PowerMgmt"
18035 ]
18036 ]
18037 },
18038 "protected" : 1,
18039 "proxyto" : "node",
18040 "returns" : {
18041 "type" : "string"
18042 }
18043 }
18044 },
18045 "leaf" : 1,
18046 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
18047 "text" : "resume"
18048 }
18049 ],
18050 "info" : {
18051 "GET" : {
e9cd3bd4 18052 "allowtoken" : 1,
4d47f125
TL
18053 "description" : "Directory index",
18054 "method" : "GET",
18055 "name" : "vmcmdidx",
18056 "parameters" : {
18057 "additionalProperties" : 0,
18058 "properties" : {
18059 "node" : {
18060 "description" : "The cluster node name.",
18061 "format" : "pve-node",
18062 "type" : "string",
18063 "typetext" : "<string>"
18064 },
18065 "vmid" : {
18066 "description" : "The (unique) ID of the VM.",
18067 "format" : "pve-vmid",
18068 "minimum" : 1,
18069 "type" : "integer",
18070 "typetext" : "<integer> (1 - N)"
18071 }
18072 }
18073 },
18074 "permissions" : {
18075 "user" : "all"
18076 },
18077 "proxyto" : "node",
18078 "returns" : {
18079 "items" : {
18080 "properties" : {
18081 "subdir" : {
18082 "type" : "string"
18083 }
18084 },
18085 "type" : "object"
18086 },
18087 "links" : [
18088 {
18089 "href" : "{subdir}",
18090 "rel" : "child"
18091 }
18092 ],
18093 "type" : "array"
18094 }
18095 }
18096 },
18097 "leaf" : 0,
18098 "path" : "/nodes/{node}/qemu/{vmid}/status",
18099 "text" : "status"
18100 },
18101 {
18102 "info" : {
18103 "PUT" : {
e9cd3bd4 18104 "allowtoken" : 1,
4d47f125
TL
18105 "description" : "Send key event to virtual machine.",
18106 "method" : "PUT",
18107 "name" : "vm_sendkey",
18108 "parameters" : {
18109 "additionalProperties" : 0,
18110 "properties" : {
18111 "key" : {
18112 "description" : "The key (qemu monitor encoding).",
18113 "type" : "string",
18114 "typetext" : "<string>"
18115 },
18116 "node" : {
18117 "description" : "The cluster node name.",
18118 "format" : "pve-node",
18119 "type" : "string",
18120 "typetext" : "<string>"
18121 },
18122 "skiplock" : {
18123 "description" : "Ignore locks - only root is allowed to use this option.",
18124 "optional" : 1,
18125 "type" : "boolean",
18126 "typetext" : "<boolean>"
18127 },
18128 "vmid" : {
18129 "description" : "The (unique) ID of the VM.",
18130 "format" : "pve-vmid",
18131 "minimum" : 1,
18132 "type" : "integer",
18133 "typetext" : "<integer> (1 - N)"
18134 }
18135 }
18136 },
18137 "permissions" : {
18138 "check" : [
18139 "perm",
18140 "/vms/{vmid}",
18141 [
18142 "VM.Console"
18143 ]
18144 ]
18145 },
18146 "protected" : 1,
18147 "proxyto" : "node",
18148 "returns" : {
18149 "type" : "null"
18150 }
18151 }
18152 },
18153 "leaf" : 1,
18154 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
18155 "text" : "sendkey"
18156 },
18157 {
18158 "info" : {
18159 "GET" : {
e9cd3bd4 18160 "allowtoken" : 1,
4d47f125
TL
18161 "description" : "Check if feature for virtual machine is available.",
18162 "method" : "GET",
18163 "name" : "vm_feature",
18164 "parameters" : {
18165 "additionalProperties" : 0,
18166 "properties" : {
18167 "feature" : {
18168 "description" : "Feature to check.",
18169 "enum" : [
18170 "snapshot",
18171 "clone",
18172 "copy"
18173 ],
18174 "type" : "string"
18175 },
18176 "node" : {
18177 "description" : "The cluster node name.",
18178 "format" : "pve-node",
18179 "type" : "string",
18180 "typetext" : "<string>"
18181 },
18182 "snapname" : {
18183 "description" : "The name of the snapshot.",
18184 "format" : "pve-configid",
18185 "maxLength" : 40,
18186 "optional" : 1,
18187 "type" : "string",
18188 "typetext" : "<string>"
18189 },
18190 "vmid" : {
18191 "description" : "The (unique) ID of the VM.",
18192 "format" : "pve-vmid",
18193 "minimum" : 1,
18194 "type" : "integer",
18195 "typetext" : "<integer> (1 - N)"
18196 }
18197 }
18198 },
18199 "permissions" : {
18200 "check" : [
18201 "perm",
18202 "/vms/{vmid}",
18203 [
18204 "VM.Audit"
18205 ]
18206 ]
18207 },
18208 "protected" : 1,
18209 "proxyto" : "node",
18210 "returns" : {
18211 "properties" : {
18212 "hasFeature" : {
18213 "type" : "boolean"
18214 },
18215 "nodes" : {
18216 "items" : {
18217 "type" : "string"
18218 },
18219 "type" : "array"
18220 }
18221 },
18222 "type" : "object"
18223 }
18224 }
18225 },
18226 "leaf" : 1,
18227 "path" : "/nodes/{node}/qemu/{vmid}/feature",
18228 "text" : "feature"
18229 },
18230 {
18231 "info" : {
18232 "POST" : {
e9cd3bd4 18233 "allowtoken" : 1,
4d47f125
TL
18234 "description" : "Create a copy of virtual machine/template.",
18235 "method" : "POST",
18236 "name" : "clone_vm",
18237 "parameters" : {
18238 "additionalProperties" : 0,
18239 "properties" : {
95895385
TL
18240 "bwlimit" : {
18241 "default" : "clone limit from datacenter or storage config",
18242 "description" : "Override I/O bandwidth limit (in KiB/s).",
18243 "minimum" : "0",
18244 "optional" : 1,
18245 "type" : "integer",
18246 "typetext" : "<integer> (0 - N)"
18247 },
4d47f125
TL
18248 "description" : {
18249 "description" : "Description for the new VM.",
18250 "optional" : 1,
18251 "type" : "string",
18252 "typetext" : "<string>"
18253 },
18254 "format" : {
18255 "description" : "Target format for file storage. Only valid for full clone.",
18256 "enum" : [
18257 "raw",
18258 "qcow2",
18259 "vmdk"
18260 ],
18261 "optional" : 1,
18262 "type" : "string"
18263 },
18264 "full" : {
18265 "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.",
18266 "optional" : 1,
18267 "type" : "boolean",
18268 "typetext" : "<boolean>"
18269 },
18270 "name" : {
18271 "description" : "Set a name for the new VM.",
18272 "format" : "dns-name",
18273 "optional" : 1,
18274 "type" : "string",
18275 "typetext" : "<string>"
18276 },
18277 "newid" : {
18278 "description" : "VMID for the clone.",
18279 "format" : "pve-vmid",
18280 "minimum" : 1,
18281 "type" : "integer",
18282 "typetext" : "<integer> (1 - N)"
18283 },
18284 "node" : {
18285 "description" : "The cluster node name.",
18286 "format" : "pve-node",
18287 "type" : "string",
18288 "typetext" : "<string>"
18289 },
18290 "pool" : {
18291 "description" : "Add the new VM to the specified pool.",
18292 "format" : "pve-poolid",
18293 "optional" : 1,
18294 "type" : "string",
18295 "typetext" : "<string>"
18296 },
18297 "snapname" : {
18298 "description" : "The name of the snapshot.",
18299 "format" : "pve-configid",
18300 "maxLength" : 40,
18301 "optional" : 1,
18302 "type" : "string",
18303 "typetext" : "<string>"
18304 },
18305 "storage" : {
18306 "description" : "Target storage for full clone.",
18307 "format" : "pve-storage-id",
18308 "optional" : 1,
18309 "type" : "string",
18310 "typetext" : "<string>"
18311 },
18312 "target" : {
18313 "description" : "Target node. Only allowed if the original VM is on shared storage.",
18314 "format" : "pve-node",
18315 "optional" : 1,
18316 "type" : "string",
18317 "typetext" : "<string>"
18318 },
18319 "vmid" : {
18320 "description" : "The (unique) ID of the VM.",
18321 "format" : "pve-vmid",
18322 "minimum" : 1,
18323 "type" : "integer",
18324 "typetext" : "<integer> (1 - N)"
18325 }
18326 }
18327 },
18328 "permissions" : {
18329 "check" : [
18330 "and",
18331 [
18332 "perm",
18333 "/vms/{vmid}",
18334 [
18335 "VM.Clone"
18336 ]
18337 ],
18338 [
18339 "or",
18340 [
18341 "perm",
18342 "/vms/{newid}",
18343 [
18344 "VM.Allocate"
18345 ]
18346 ],
18347 [
18348 "perm",
18349 "/pool/{pool}",
18350 [
18351 "VM.Allocate"
18352 ],
18353 "require_param",
18354 "pool"
18355 ]
18356 ]
18357 ],
18358 "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."
18359 },
18360 "protected" : 1,
18361 "proxyto" : "node",
18362 "returns" : {
18363 "type" : "string"
18364 }
18365 }
18366 },
18367 "leaf" : 1,
18368 "path" : "/nodes/{node}/qemu/{vmid}/clone",
18369 "text" : "clone"
18370 },
18371 {
18372 "info" : {
18373 "POST" : {
e9cd3bd4 18374 "allowtoken" : 1,
4d47f125
TL
18375 "description" : "Move volume to different storage.",
18376 "method" : "POST",
18377 "name" : "move_vm_disk",
18378 "parameters" : {
18379 "additionalProperties" : 0,
18380 "properties" : {
95895385
TL
18381 "bwlimit" : {
18382 "default" : "move limit from datacenter or storage config",
18383 "description" : "Override I/O bandwidth limit (in KiB/s).",
18384 "minimum" : "0",
18385 "optional" : 1,
18386 "type" : "integer",
18387 "typetext" : "<integer> (0 - N)"
18388 },
4d47f125
TL
18389 "delete" : {
18390 "default" : 0,
18391 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
18392 "optional" : 1,
18393 "type" : "boolean",
18394 "typetext" : "<boolean>"
18395 },
18396 "digest" : {
18397 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18398 "maxLength" : 40,
18399 "optional" : 1,
18400 "type" : "string",
18401 "typetext" : "<string>"
18402 },
18403 "disk" : {
18404 "description" : "The disk you want to move.",
18405 "enum" : [
18406 "ide0",
18407 "ide1",
18408 "ide2",
18409 "ide3",
18410 "scsi0",
18411 "scsi1",
18412 "scsi2",
18413 "scsi3",
18414 "scsi4",
18415 "scsi5",
18416 "scsi6",
18417 "scsi7",
18418 "scsi8",
18419 "scsi9",
18420 "scsi10",
18421 "scsi11",
18422 "scsi12",
18423 "scsi13",
e9cd3bd4
TL
18424 "scsi14",
18425 "scsi15",
18426 "scsi16",
18427 "scsi17",
18428 "scsi18",
18429 "scsi19",
18430 "scsi20",
18431 "scsi21",
18432 "scsi22",
18433 "scsi23",
18434 "scsi24",
18435 "scsi25",
18436 "scsi26",
18437 "scsi27",
18438 "scsi28",
18439 "scsi29",
18440 "scsi30",
4d47f125
TL
18441 "virtio0",
18442 "virtio1",
18443 "virtio2",
18444 "virtio3",
18445 "virtio4",
18446 "virtio5",
18447 "virtio6",
18448 "virtio7",
18449 "virtio8",
18450 "virtio9",
18451 "virtio10",
18452 "virtio11",
18453 "virtio12",
18454 "virtio13",
18455 "virtio14",
18456 "virtio15",
18457 "sata0",
18458 "sata1",
18459 "sata2",
18460 "sata3",
18461 "sata4",
18462 "sata5",
18463 "efidisk0"
18464 ],
18465 "type" : "string"
18466 },
18467 "format" : {
18468 "description" : "Target Format.",
18469 "enum" : [
18470 "raw",
18471 "qcow2",
18472 "vmdk"
18473 ],
18474 "optional" : 1,
18475 "type" : "string"
18476 },
18477 "node" : {
18478 "description" : "The cluster node name.",
18479 "format" : "pve-node",
18480 "type" : "string",
18481 "typetext" : "<string>"
18482 },
18483 "storage" : {
18484 "description" : "Target storage.",
18485 "format" : "pve-storage-id",
18486 "type" : "string",
18487 "typetext" : "<string>"
18488 },
18489 "vmid" : {
18490 "description" : "The (unique) ID of the VM.",
18491 "format" : "pve-vmid",
18492 "minimum" : 1,
18493 "type" : "integer",
18494 "typetext" : "<integer> (1 - N)"
18495 }
18496 }
18497 },
18498 "permissions" : {
18499 "check" : [
18500 "and",
18501 [
18502 "perm",
18503 "/vms/{vmid}",
18504 [
18505 "VM.Config.Disk"
18506 ]
18507 ],
18508 [
18509 "perm",
18510 "/storage/{storage}",
18511 [
18512 "Datastore.AllocateSpace"
18513 ]
18514 ]
18515 ],
18516 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
18517 },
18518 "protected" : 1,
18519 "proxyto" : "node",
18520 "returns" : {
18521 "description" : "the task ID.",
18522 "type" : "string"
18523 }
18524 }
18525 },
18526 "leaf" : 1,
18527 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
18528 "text" : "move_disk"
18529 },
18530 {
18531 "info" : {
1e3f8156 18532 "GET" : {
e9cd3bd4 18533 "allowtoken" : 1,
1e3f8156
TL
18534 "description" : "Get preconditions for migration.",
18535 "method" : "GET",
18536 "name" : "migrate_vm_precondition",
18537 "parameters" : {
18538 "additionalProperties" : 0,
18539 "properties" : {
18540 "node" : {
18541 "description" : "The cluster node name.",
18542 "format" : "pve-node",
18543 "type" : "string",
18544 "typetext" : "<string>"
18545 },
18546 "target" : {
18547 "description" : "Target node.",
18548 "format" : "pve-node",
18549 "optional" : 1,
18550 "type" : "string",
18551 "typetext" : "<string>"
18552 },
18553 "vmid" : {
18554 "description" : "The (unique) ID of the VM.",
18555 "format" : "pve-vmid",
18556 "minimum" : 1,
18557 "type" : "integer",
18558 "typetext" : "<integer> (1 - N)"
18559 }
18560 }
18561 },
18562 "permissions" : {
18563 "check" : [
18564 "perm",
18565 "/vms/{vmid}",
18566 [
18567 "VM.Migrate"
18568 ]
18569 ]
18570 },
18571 "protected" : 1,
18572 "proxyto" : "node",
18573 "returns" : {
18574 "properties" : {
18575 "allowed_nodes" : {
9226ccbc 18576 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
18577 "optional" : 1,
18578 "type" : "array"
18579 },
18580 "local_disks" : {
18581 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
18582 "type" : "array"
18583 },
18584 "local_resources" : {
18585 "description" : "List local resources e.g. pci, usb",
18586 "type" : "array"
18587 },
9226ccbc
TL
18588 "not_allowed_nodes" : {
18589 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
18590 "optional" : 1,
18591 "type" : "object"
18592 },
1e3f8156
TL
18593 "running" : {
18594 "type" : "boolean"
18595 }
18596 },
18597 "type" : "object"
18598 }
18599 },
4d47f125 18600 "POST" : {
e9cd3bd4 18601 "allowtoken" : 1,
4d47f125
TL
18602 "description" : "Migrate virtual machine. Creates a new migration task.",
18603 "method" : "POST",
18604 "name" : "migrate_vm",
18605 "parameters" : {
18606 "additionalProperties" : 0,
18607 "properties" : {
95895385
TL
18608 "bwlimit" : {
18609 "default" : "migrate limit from datacenter or storage config",
18610 "description" : "Override I/O bandwidth limit (in KiB/s).",
18611 "minimum" : "0",
18612 "optional" : 1,
18613 "type" : "integer",
18614 "typetext" : "<integer> (0 - N)"
18615 },
4d47f125
TL
18616 "force" : {
18617 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
18618 "optional" : 1,
18619 "type" : "boolean",
18620 "typetext" : "<boolean>"
18621 },
18622 "migration_network" : {
18623 "description" : "CIDR of the (sub) network that is used for migration.",
18624 "format" : "CIDR",
18625 "optional" : 1,
18626 "type" : "string",
18627 "typetext" : "<string>"
18628 },
18629 "migration_type" : {
18630 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
18631 "enum" : [
18632 "secure",
18633 "insecure"
18634 ],
18635 "optional" : 1,
18636 "type" : "string"
18637 },
18638 "node" : {
18639 "description" : "The cluster node name.",
18640 "format" : "pve-node",
18641 "type" : "string",
18642 "typetext" : "<string>"
18643 },
18644 "online" : {
1c532546 18645 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
18646 "optional" : 1,
18647 "type" : "boolean",
18648 "typetext" : "<boolean>"
18649 },
18650 "target" : {
18651 "description" : "Target node.",
18652 "format" : "pve-node",
18653 "type" : "string",
18654 "typetext" : "<string>"
18655 },
18656 "targetstorage" : {
c5aa7e14
TL
18657 "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
18658 "format" : "storagepair-list",
4d47f125 18659 "optional" : 1,
52e44c50
FG
18660 "type" : "string",
18661 "typetext" : "<string>"
18662 },
7aacca6f 18663 "vmid" : {
7aacca6f 18664 "description" : "The (unique) ID of the VM.",
44660702 18665 "format" : "pve-vmid",
7aacca6f 18666 "minimum" : 1,
4bd7df8b 18667 "type" : "integer",
013dc89f 18668 "typetext" : "<integer> (1 - N)"
52e44c50
FG
18669 },
18670 "with-local-disks" : {
18671 "description" : "Enable live storage migration for local disk",
18672 "optional" : 1,
18673 "type" : "boolean",
18674 "typetext" : "<boolean>"
56122987 18675 }
44660702
DM
18676 }
18677 },
18678 "permissions" : {
18679 "check" : [
18680 "perm",
18681 "/vms/{vmid}",
18682 [
18683 "VM.Migrate"
18684 ]
18685 ]
56122987
DM
18686 },
18687 "protected" : 1,
44660702
DM
18688 "proxyto" : "node",
18689 "returns" : {
18690 "description" : "the task ID.",
18691 "type" : "string"
18692 }
56122987 18693 }
7aacca6f 18694 },
44660702
DM
18695 "leaf" : 1,
18696 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 18697 "text" : "migrate"
56122987
DM
18698 },
18699 {
18700 "info" : {
18701 "POST" : {
e9cd3bd4 18702 "allowtoken" : 1,
44660702 18703 "description" : "Execute Qemu monitor commands.",
56122987 18704 "method" : "POST",
44660702 18705 "name" : "monitor",
56122987 18706 "parameters" : {
7aacca6f 18707 "additionalProperties" : 0,
56122987 18708 "properties" : {
44660702
DM
18709 "command" : {
18710 "description" : "The monitor command.",
013dc89f
DM
18711 "type" : "string",
18712 "typetext" : "<string>"
44660702 18713 },
56122987 18714 "node" : {
44660702 18715 "description" : "The cluster node name.",
7aacca6f 18716 "format" : "pve-node",
013dc89f
DM
18717 "type" : "string",
18718 "typetext" : "<string>"
56122987
DM
18719 },
18720 "vmid" : {
44660702 18721 "description" : "The (unique) ID of the VM.",
56122987 18722 "format" : "pve-vmid",
7aacca6f 18723 "minimum" : 1,
4bd7df8b 18724 "type" : "integer",
013dc89f 18725 "typetext" : "<integer> (1 - N)"
56122987 18726 }
7aacca6f 18727 }
56122987 18728 },
56122987
DM
18729 "permissions" : {
18730 "check" : [
18731 "perm",
18732 "/vms/{vmid}",
18733 [
18734 "VM.Monitor"
18735 ]
32d876b5
DM
18736 ],
18737 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 18738 },
44660702
DM
18739 "protected" : 1,
18740 "proxyto" : "node",
18741 "returns" : {
18742 "type" : "string"
18743 }
56122987 18744 }
44660702
DM
18745 },
18746 "leaf" : 1,
18747 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
18748 "text" : "monitor"
56122987
DM
18749 },
18750 {
56122987
DM
18751 "info" : {
18752 "PUT" : {
e9cd3bd4 18753 "allowtoken" : 1,
44660702
DM
18754 "description" : "Extend volume size.",
18755 "method" : "PUT",
18756 "name" : "resize_vm",
56122987 18757 "parameters" : {
44660702 18758 "additionalProperties" : 0,
56122987 18759 "properties" : {
44660702
DM
18760 "digest" : {
18761 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
18762 "maxLength" : 40,
18763 "optional" : 1,
013dc89f
DM
18764 "type" : "string",
18765 "typetext" : "<string>"
56122987 18766 },
56122987
DM
18767 "disk" : {
18768 "description" : "The disk you want to resize.",
18769 "enum" : [
18770 "ide0",
18771 "ide1",
18772 "ide2",
18773 "ide3",
18774 "scsi0",
18775 "scsi1",
18776 "scsi2",
18777 "scsi3",
18778 "scsi4",
18779 "scsi5",
18780 "scsi6",
18781 "scsi7",
18782 "scsi8",
18783 "scsi9",
18784 "scsi10",
18785 "scsi11",
18786 "scsi12",
18787 "scsi13",
e9cd3bd4
TL
18788 "scsi14",
18789 "scsi15",
18790 "scsi16",
18791 "scsi17",
18792 "scsi18",
18793 "scsi19",
18794 "scsi20",
18795 "scsi21",
18796 "scsi22",
18797 "scsi23",
18798 "scsi24",
18799 "scsi25",
18800 "scsi26",
18801 "scsi27",
18802 "scsi28",
18803 "scsi29",
18804 "scsi30",
56122987
DM
18805 "virtio0",
18806 "virtio1",
18807 "virtio2",
18808 "virtio3",
18809 "virtio4",
18810 "virtio5",
18811 "virtio6",
18812 "virtio7",
18813 "virtio8",
18814 "virtio9",
18815 "virtio10",
18816 "virtio11",
18817 "virtio12",
18818 "virtio13",
18819 "virtio14",
18820 "virtio15",
18821 "sata0",
18822 "sata1",
18823 "sata2",
18824 "sata3",
18825 "sata4",
2c0dde61
DM
18826 "sata5",
18827 "efidisk0"
44660702
DM
18828 ],
18829 "type" : "string"
56122987 18830 },
44660702
DM
18831 "node" : {
18832 "description" : "The cluster node name.",
18833 "format" : "pve-node",
013dc89f
DM
18834 "type" : "string",
18835 "typetext" : "<string>"
7aacca6f 18836 },
44660702 18837 "size" : {
5d9c884c 18838 "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
18839 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
18840 "type" : "string"
56122987
DM
18841 },
18842 "skiplock" : {
18843 "description" : "Ignore locks - only root is allowed to use this option.",
18844 "optional" : 1,
013dc89f
DM
18845 "type" : "boolean",
18846 "typetext" : "<boolean>"
56122987
DM
18847 },
18848 "vmid" : {
7aacca6f 18849 "description" : "The (unique) ID of the VM.",
56122987 18850 "format" : "pve-vmid",
44660702 18851 "minimum" : 1,
4bd7df8b 18852 "type" : "integer",
013dc89f 18853 "typetext" : "<integer> (1 - N)"
56122987
DM
18854 }
18855 }
18856 },
18857 "permissions" : {
18858 "check" : [
18859 "perm",
18860 "/vms/{vmid}",
18861 [
44660702 18862 "VM.Config.Disk"
56122987
DM
18863 ]
18864 ]
18865 },
7aacca6f 18866 "protected" : 1,
7aacca6f 18867 "proxyto" : "node",
44660702
DM
18868 "returns" : {
18869 "type" : "null"
18870 }
7aacca6f
DM
18871 }
18872 },
44660702
DM
18873 "leaf" : 1,
18874 "path" : "/nodes/{node}/qemu/{vmid}/resize",
18875 "text" : "resize"
18876 },
18877 {
56122987
DM
18878 "children" : [
18879 {
18880 "children" : [
18881 {
56122987 18882 "info" : {
44660702 18883 "GET" : {
e9cd3bd4 18884 "allowtoken" : 1,
44660702
DM
18885 "description" : "Get snapshot configuration",
18886 "method" : "GET",
18887 "name" : "get_snapshot_config",
56122987 18888 "parameters" : {
44660702 18889 "additionalProperties" : 0,
56122987 18890 "properties" : {
56122987 18891 "node" : {
44660702 18892 "description" : "The cluster node name.",
56122987 18893 "format" : "pve-node",
013dc89f
DM
18894 "type" : "string",
18895 "typetext" : "<string>"
7aacca6f
DM
18896 },
18897 "snapname" : {
44660702 18898 "description" : "The name of the snapshot.",
7aacca6f 18899 "format" : "pve-configid",
44660702 18900 "maxLength" : 40,
013dc89f
DM
18901 "type" : "string",
18902 "typetext" : "<string>"
7aacca6f
DM
18903 },
18904 "vmid" : {
44660702 18905 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
18906 "format" : "pve-vmid",
18907 "minimum" : 1,
4bd7df8b 18908 "type" : "integer",
013dc89f 18909 "typetext" : "<integer> (1 - N)"
56122987 18910 }
44660702 18911 }
56122987
DM
18912 },
18913 "permissions" : {
18914 "check" : [
18915 "perm",
18916 "/vms/{vmid}",
18917 [
2489d6df 18918 "VM.Snapshot",
e9cd3bd4
TL
18919 "VM.Snapshot.Rollback",
18920 "VM.Audit"
2489d6df
WB
18921 ],
18922 "any",
18923 1
56122987
DM
18924 ]
18925 },
44660702 18926 "proxyto" : "node",
56122987 18927 "returns" : {
44660702 18928 "type" : "object"
7aacca6f
DM
18929 }
18930 },
44660702 18931 "PUT" : {
e9cd3bd4 18932 "allowtoken" : 1,
44660702
DM
18933 "description" : "Update snapshot metadata.",
18934 "method" : "PUT",
18935 "name" : "update_snapshot_config",
56122987 18936 "parameters" : {
44660702 18937 "additionalProperties" : 0,
56122987 18938 "properties" : {
44660702
DM
18939 "description" : {
18940 "description" : "A textual description or comment.",
18941 "optional" : 1,
013dc89f
DM
18942 "type" : "string",
18943 "typetext" : "<string>"
44660702 18944 },
56122987 18945 "node" : {
7aacca6f 18946 "description" : "The cluster node name.",
44660702 18947 "format" : "pve-node",
013dc89f
DM
18948 "type" : "string",
18949 "typetext" : "<string>"
56122987 18950 },
56122987
DM
18951 "snapname" : {
18952 "description" : "The name of the snapshot.",
44660702 18953 "format" : "pve-configid",
7aacca6f 18954 "maxLength" : 40,
013dc89f
DM
18955 "type" : "string",
18956 "typetext" : "<string>"
7aacca6f
DM
18957 },
18958 "vmid" : {
18959 "description" : "The (unique) ID of the VM.",
44660702 18960 "format" : "pve-vmid",
7aacca6f 18961 "minimum" : 1,
4bd7df8b 18962 "type" : "integer",
013dc89f 18963 "typetext" : "<integer> (1 - N)"
56122987 18964 }
44660702 18965 }
56122987 18966 },
7aacca6f
DM
18967 "permissions" : {
18968 "check" : [
18969 "perm",
18970 "/vms/{vmid}",
18971 [
18972 "VM.Snapshot"
18973 ]
18974 ]
44660702
DM
18975 },
18976 "protected" : 1,
18977 "proxyto" : "node",
18978 "returns" : {
18979 "type" : "null"
7aacca6f 18980 }
56122987
DM
18981 }
18982 },
44660702 18983 "leaf" : 1,
7aacca6f 18984 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 18985 "text" : "config"
56122987
DM
18986 },
18987 {
56122987
DM
18988 "info" : {
18989 "POST" : {
e9cd3bd4 18990 "allowtoken" : 1,
44660702 18991 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 18992 "method" : "POST",
44660702 18993 "name" : "rollback",
56122987
DM
18994 "parameters" : {
18995 "additionalProperties" : 0,
18996 "properties" : {
44660702
DM
18997 "node" : {
18998 "description" : "The cluster node name.",
18999 "format" : "pve-node",
013dc89f
DM
19000 "type" : "string",
19001 "typetext" : "<string>"
44660702 19002 },
56122987 19003 "snapname" : {
44660702 19004 "description" : "The name of the snapshot.",
56122987
DM
19005 "format" : "pve-configid",
19006 "maxLength" : 40,
013dc89f
DM
19007 "type" : "string",
19008 "typetext" : "<string>"
7aacca6f 19009 },
56122987 19010 "vmid" : {
7aacca6f 19011 "description" : "The (unique) ID of the VM.",
44660702 19012 "format" : "pve-vmid",
56122987 19013 "minimum" : 1,
4bd7df8b 19014 "type" : "integer",
013dc89f 19015 "typetext" : "<integer> (1 - N)"
56122987
DM
19016 }
19017 }
19018 },
7aacca6f 19019 "permissions" : {
56122987
DM
19020 "check" : [
19021 "perm",
19022 "/vms/{vmid}",
19023 [
2489d6df
WB
19024 "VM.Snapshot",
19025 "VM.Snapshot.Rollback"
19026 ],
19027 "any",
19028 1
56122987
DM
19029 ]
19030 },
44660702 19031 "protected" : 1,
7aacca6f 19032 "proxyto" : "node",
44660702
DM
19033 "returns" : {
19034 "description" : "the task ID.",
19035 "type" : "string"
19036 }
56122987
DM
19037 }
19038 },
44660702
DM
19039 "leaf" : 1,
19040 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 19041 "text" : "rollback"
56122987 19042 }
44660702
DM
19043 ],
19044 "info" : {
19045 "DELETE" : {
e9cd3bd4 19046 "allowtoken" : 1,
44660702
DM
19047 "description" : "Delete a VM snapshot.",
19048 "method" : "DELETE",
19049 "name" : "delsnapshot",
19050 "parameters" : {
19051 "additionalProperties" : 0,
19052 "properties" : {
19053 "force" : {
19054 "description" : "For removal from config file, even if removing disk snapshots fails.",
19055 "optional" : 1,
013dc89f
DM
19056 "type" : "boolean",
19057 "typetext" : "<boolean>"
44660702
DM
19058 },
19059 "node" : {
19060 "description" : "The cluster node name.",
19061 "format" : "pve-node",
013dc89f
DM
19062 "type" : "string",
19063 "typetext" : "<string>"
44660702
DM
19064 },
19065 "snapname" : {
19066 "description" : "The name of the snapshot.",
19067 "format" : "pve-configid",
19068 "maxLength" : 40,
013dc89f
DM
19069 "type" : "string",
19070 "typetext" : "<string>"
44660702
DM
19071 },
19072 "vmid" : {
19073 "description" : "The (unique) ID of the VM.",
19074 "format" : "pve-vmid",
19075 "minimum" : 1,
4bd7df8b 19076 "type" : "integer",
013dc89f 19077 "typetext" : "<integer> (1 - N)"
44660702
DM
19078 }
19079 }
19080 },
19081 "permissions" : {
19082 "check" : [
19083 "perm",
19084 "/vms/{vmid}",
19085 [
19086 "VM.Snapshot"
19087 ]
19088 ]
19089 },
19090 "protected" : 1,
19091 "proxyto" : "node",
19092 "returns" : {
19093 "description" : "the task ID.",
19094 "type" : "string"
19095 }
19096 },
19097 "GET" : {
e9cd3bd4 19098 "allowtoken" : 1,
44660702
DM
19099 "description" : "",
19100 "method" : "GET",
19101 "name" : "snapshot_cmd_idx",
19102 "parameters" : {
19103 "additionalProperties" : 0,
19104 "properties" : {
19105 "node" : {
19106 "description" : "The cluster node name.",
19107 "format" : "pve-node",
013dc89f
DM
19108 "type" : "string",
19109 "typetext" : "<string>"
44660702
DM
19110 },
19111 "snapname" : {
19112 "description" : "The name of the snapshot.",
19113 "format" : "pve-configid",
19114 "maxLength" : 40,
013dc89f
DM
19115 "type" : "string",
19116 "typetext" : "<string>"
44660702
DM
19117 },
19118 "vmid" : {
19119 "description" : "The (unique) ID of the VM.",
19120 "format" : "pve-vmid",
19121 "minimum" : 1,
4bd7df8b 19122 "type" : "integer",
013dc89f 19123 "typetext" : "<integer> (1 - N)"
44660702
DM
19124 }
19125 }
19126 },
19127 "permissions" : {
19128 "user" : "all"
19129 },
19130 "returns" : {
19131 "items" : {
19132 "properties" : {},
19133 "type" : "object"
19134 },
19135 "links" : [
19136 {
19137 "href" : "{cmd}",
19138 "rel" : "child"
19139 }
19140 ],
19141 "type" : "array"
19142 }
19143 }
19144 },
19145 "leaf" : 0,
19146 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
19147 "text" : "{snapname}"
56122987
DM
19148 }
19149 ],
44660702
DM
19150 "info" : {
19151 "GET" : {
e9cd3bd4 19152 "allowtoken" : 1,
44660702
DM
19153 "description" : "List all snapshots.",
19154 "method" : "GET",
19155 "name" : "snapshot_list",
19156 "parameters" : {
19157 "additionalProperties" : 0,
19158 "properties" : {
19159 "node" : {
19160 "description" : "The cluster node name.",
19161 "format" : "pve-node",
013dc89f
DM
19162 "type" : "string",
19163 "typetext" : "<string>"
44660702
DM
19164 },
19165 "vmid" : {
19166 "description" : "The (unique) ID of the VM.",
19167 "format" : "pve-vmid",
19168 "minimum" : 1,
4bd7df8b 19169 "type" : "integer",
013dc89f 19170 "typetext" : "<integer> (1 - N)"
44660702
DM
19171 }
19172 }
19173 },
19174 "permissions" : {
19175 "check" : [
19176 "perm",
19177 "/vms/{vmid}",
19178 [
19179 "VM.Audit"
19180 ]
19181 ]
19182 },
19183 "protected" : 1,
19184 "proxyto" : "node",
19185 "returns" : {
19186 "items" : {
4d47f125
TL
19187 "properties" : {
19188 "description" : {
19189 "description" : "Snapshot description.",
19190 "type" : "string"
19191 },
19192 "name" : {
19193 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
19194 "type" : "string"
19195 },
19196 "parent" : {
19197 "description" : "Parent snapshot identifier.",
19198 "optional" : 1,
19199 "type" : "string"
19200 },
19201 "snaptime" : {
19202 "description" : "Snapshot creation time",
19203 "optional" : 1,
19204 "renderer" : "timestamp",
19205 "type" : "integer"
19206 },
19207 "vmstate" : {
19208 "description" : "Snapshot includes RAM.",
19209 "optional" : 1,
19210 "type" : "boolean"
19211 }
19212 },
44660702
DM
19213 "type" : "object"
19214 },
19215 "links" : [
19216 {
19217 "href" : "{name}",
19218 "rel" : "child"
19219 }
19220 ],
19221 "type" : "array"
19222 }
19223 },
19224 "POST" : {
e9cd3bd4 19225 "allowtoken" : 1,
44660702
DM
19226 "description" : "Snapshot a VM.",
19227 "method" : "POST",
19228 "name" : "snapshot",
19229 "parameters" : {
19230 "additionalProperties" : 0,
19231 "properties" : {
19232 "description" : {
19233 "description" : "A textual description or comment.",
19234 "optional" : 1,
013dc89f
DM
19235 "type" : "string",
19236 "typetext" : "<string>"
44660702
DM
19237 },
19238 "node" : {
19239 "description" : "The cluster node name.",
19240 "format" : "pve-node",
013dc89f
DM
19241 "type" : "string",
19242 "typetext" : "<string>"
44660702
DM
19243 },
19244 "snapname" : {
19245 "description" : "The name of the snapshot.",
19246 "format" : "pve-configid",
19247 "maxLength" : 40,
013dc89f
DM
19248 "type" : "string",
19249 "typetext" : "<string>"
44660702
DM
19250 },
19251 "vmid" : {
19252 "description" : "The (unique) ID of the VM.",
19253 "format" : "pve-vmid",
19254 "minimum" : 1,
4bd7df8b 19255 "type" : "integer",
013dc89f 19256 "typetext" : "<integer> (1 - N)"
44660702
DM
19257 },
19258 "vmstate" : {
19259 "description" : "Save the vmstate",
19260 "optional" : 1,
013dc89f
DM
19261 "type" : "boolean",
19262 "typetext" : "<boolean>"
44660702
DM
19263 }
19264 }
19265 },
19266 "permissions" : {
19267 "check" : [
19268 "perm",
19269 "/vms/{vmid}",
19270 [
19271 "VM.Snapshot"
19272 ]
19273 ]
19274 },
19275 "protected" : 1,
19276 "proxyto" : "node",
19277 "returns" : {
19278 "description" : "the task ID.",
19279 "type" : "string"
19280 }
19281 }
19282 },
19283 "leaf" : 0,
19284 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 19285 "text" : "snapshot"
56122987
DM
19286 },
19287 {
56122987
DM
19288 "info" : {
19289 "POST" : {
e9cd3bd4 19290 "allowtoken" : 1,
44660702
DM
19291 "description" : "Create a Template.",
19292 "method" : "POST",
56122987 19293 "name" : "template",
56122987 19294 "parameters" : {
7aacca6f 19295 "additionalProperties" : 0,
56122987 19296 "properties" : {
56122987 19297 "disk" : {
56122987
DM
19298 "description" : "If you want to convert only 1 disk to base image.",
19299 "enum" : [
19300 "ide0",
19301 "ide1",
19302 "ide2",
19303 "ide3",
19304 "scsi0",
19305 "scsi1",
19306 "scsi2",
19307 "scsi3",
19308 "scsi4",
19309 "scsi5",
19310 "scsi6",
19311 "scsi7",
19312 "scsi8",
19313 "scsi9",
19314 "scsi10",
19315 "scsi11",
19316 "scsi12",
19317 "scsi13",
e9cd3bd4
TL
19318 "scsi14",
19319 "scsi15",
19320 "scsi16",
19321 "scsi17",
19322 "scsi18",
19323 "scsi19",
19324 "scsi20",
19325 "scsi21",
19326 "scsi22",
19327 "scsi23",
19328 "scsi24",
19329 "scsi25",
19330 "scsi26",
19331 "scsi27",
19332 "scsi28",
19333 "scsi29",
19334 "scsi30",
56122987
DM
19335 "virtio0",
19336 "virtio1",
19337 "virtio2",
19338 "virtio3",
19339 "virtio4",
19340 "virtio5",
19341 "virtio6",
19342 "virtio7",
19343 "virtio8",
19344 "virtio9",
19345 "virtio10",
19346 "virtio11",
19347 "virtio12",
19348 "virtio13",
19349 "virtio14",
19350 "virtio15",
19351 "sata0",
19352 "sata1",
19353 "sata2",
19354 "sata3",
19355 "sata4",
2c0dde61
DM
19356 "sata5",
19357 "efidisk0"
56122987 19358 ],
7aacca6f 19359 "optional" : 1,
56122987
DM
19360 "type" : "string"
19361 },
44660702
DM
19362 "node" : {
19363 "description" : "The cluster node name.",
19364 "format" : "pve-node",
013dc89f
DM
19365 "type" : "string",
19366 "typetext" : "<string>"
44660702
DM
19367 },
19368 "vmid" : {
19369 "description" : "The (unique) ID of the VM.",
7aacca6f 19370 "format" : "pve-vmid",
44660702 19371 "minimum" : 1,
4bd7df8b 19372 "type" : "integer",
013dc89f 19373 "typetext" : "<integer> (1 - N)"
56122987 19374 }
7aacca6f 19375 }
56122987 19376 },
7aacca6f
DM
19377 "permissions" : {
19378 "check" : [
19379 "perm",
19380 "/vms/{vmid}",
19381 [
19382 "VM.Allocate"
19383 ]
19384 ],
19385 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
19386 },
44660702 19387 "protected" : 1,
7aacca6f 19388 "proxyto" : "node",
7aacca6f
DM
19389 "returns" : {
19390 "type" : "null"
19391 }
56122987
DM
19392 }
19393 },
44660702 19394 "leaf" : 1,
7aacca6f 19395 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 19396 "text" : "template"
1e3f8156
TL
19397 },
19398 {
19399 "children" : [
19400 {
19401 "info" : {
19402 "GET" : {
e9cd3bd4 19403 "allowtoken" : 1,
1e3f8156
TL
19404 "description" : "Get automatically generated cloudinit config.",
19405 "method" : "GET",
19406 "name" : "cloudinit_generated_config_dump",
19407 "parameters" : {
19408 "additionalProperties" : 0,
19409 "properties" : {
19410 "node" : {
19411 "description" : "The cluster node name.",
19412 "format" : "pve-node",
19413 "type" : "string",
19414 "typetext" : "<string>"
19415 },
19416 "type" : {
19417 "description" : "Config type.",
19418 "enum" : [
19419 "user",
19420 "network",
19421 "meta"
19422 ],
19423 "type" : "string"
19424 },
19425 "vmid" : {
19426 "description" : "The (unique) ID of the VM.",
19427 "format" : "pve-vmid",
19428 "minimum" : 1,
19429 "type" : "integer",
19430 "typetext" : "<integer> (1 - N)"
19431 }
19432 }
19433 },
19434 "permissions" : {
19435 "check" : [
19436 "perm",
19437 "/vms/{vmid}",
19438 [
19439 "VM.Audit"
19440 ]
19441 ]
19442 },
19443 "proxyto" : "node",
19444 "returns" : {
19445 "type" : "string"
19446 }
19447 }
19448 },
19449 "leaf" : 1,
19450 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
19451 "text" : "dump"
19452 }
19453 ],
19454 "leaf" : 0,
19455 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
19456 "text" : "cloudinit"
56122987
DM
19457 }
19458 ],
7aacca6f 19459 "info" : {
44660702 19460 "DELETE" : {
e9cd3bd4 19461 "allowtoken" : 1,
44660702
DM
19462 "description" : "Destroy the vm (also delete all used/owned volumes).",
19463 "method" : "DELETE",
19464 "name" : "destroy_vm",
7aacca6f 19465 "parameters" : {
44660702 19466 "additionalProperties" : 0,
7aacca6f
DM
19467 "properties" : {
19468 "node" : {
44660702 19469 "description" : "The cluster node name.",
7aacca6f 19470 "format" : "pve-node",
013dc89f
DM
19471 "type" : "string",
19472 "typetext" : "<string>"
44660702 19473 },
1c532546
TL
19474 "purge" : {
19475 "description" : "Remove vmid from backup cron jobs.",
19476 "optional" : 1,
19477 "type" : "boolean",
19478 "typetext" : "<boolean>"
19479 },
44660702
DM
19480 "skiplock" : {
19481 "description" : "Ignore locks - only root is allowed to use this option.",
19482 "optional" : 1,
013dc89f
DM
19483 "type" : "boolean",
19484 "typetext" : "<boolean>"
7aacca6f
DM
19485 },
19486 "vmid" : {
44660702 19487 "description" : "The (unique) ID of the VM.",
7aacca6f 19488 "format" : "pve-vmid",
44660702 19489 "minimum" : 1,
4bd7df8b 19490 "type" : "integer",
013dc89f 19491 "typetext" : "<integer> (1 - N)"
7aacca6f 19492 }
44660702 19493 }
7aacca6f 19494 },
7aacca6f
DM
19495 "permissions" : {
19496 "check" : [
19497 "perm",
19498 "/vms/{vmid}",
19499 [
19500 "VM.Allocate"
19501 ]
19502 ]
19503 },
44660702
DM
19504 "protected" : 1,
19505 "proxyto" : "node",
7aacca6f
DM
19506 "returns" : {
19507 "type" : "string"
44660702
DM
19508 }
19509 },
19510 "GET" : {
e9cd3bd4 19511 "allowtoken" : 1,
44660702
DM
19512 "description" : "Directory index",
19513 "method" : "GET",
19514 "name" : "vmdiridx",
7aacca6f 19515 "parameters" : {
44660702 19516 "additionalProperties" : 0,
7aacca6f 19517 "properties" : {
7aacca6f 19518 "node" : {
7aacca6f 19519 "description" : "The cluster node name.",
44660702 19520 "format" : "pve-node",
013dc89f
DM
19521 "type" : "string",
19522 "typetext" : "<string>"
44660702
DM
19523 },
19524 "vmid" : {
19525 "description" : "The (unique) ID of the VM.",
19526 "format" : "pve-vmid",
19527 "minimum" : 1,
4bd7df8b 19528 "type" : "integer",
013dc89f 19529 "typetext" : "<integer> (1 - N)"
7aacca6f 19530 }
44660702 19531 }
7aacca6f 19532 },
44660702
DM
19533 "permissions" : {
19534 "user" : "all"
19535 },
19536 "proxyto" : "node",
19537 "returns" : {
19538 "items" : {
19539 "properties" : {
19540 "subdir" : {
19541 "type" : "string"
19542 }
19543 },
19544 "type" : "object"
19545 },
19546 "links" : [
19547 {
19548 "href" : "{subdir}",
19549 "rel" : "child"
19550 }
19551 ],
19552 "type" : "array"
19553 }
7aacca6f 19554 }
44660702
DM
19555 },
19556 "leaf" : 0,
19557 "path" : "/nodes/{node}/qemu/{vmid}",
19558 "text" : "{vmid}"
56122987
DM
19559 }
19560 ],
19561 "info" : {
44660702 19562 "GET" : {
e9cd3bd4 19563 "allowtoken" : 1,
44660702
DM
19564 "description" : "Virtual machine index (per node).",
19565 "method" : "GET",
19566 "name" : "vmlist",
56122987 19567 "parameters" : {
44660702 19568 "additionalProperties" : 0,
56122987 19569 "properties" : {
44660702
DM
19570 "full" : {
19571 "description" : "Determine the full status of active VMs.",
56122987 19572 "optional" : 1,
013dc89f
DM
19573 "type" : "boolean",
19574 "typetext" : "<boolean>"
56122987 19575 },
44660702
DM
19576 "node" : {
19577 "description" : "The cluster node name.",
19578 "format" : "pve-node",
013dc89f
DM
19579 "type" : "string",
19580 "typetext" : "<string>"
44660702
DM
19581 }
19582 }
19583 },
19584 "permissions" : {
19585 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
19586 "user" : "all"
19587 },
19588 "protected" : 1,
19589 "proxyto" : "node",
19590 "returns" : {
19591 "items" : {
4d47f125
TL
19592 "properties" : {
19593 "cpus" : {
19594 "description" : "Maximum usable CPUs.",
19595 "optional" : 1,
19596 "type" : "number"
19597 },
95895385
TL
19598 "lock" : {
19599 "description" : "The current config lock, if any.",
19600 "optional" : 1,
19601 "type" : "string"
19602 },
4d47f125
TL
19603 "maxdisk" : {
19604 "description" : "Root disk size in bytes.",
19605 "optional" : 1,
19606 "renderer" : "bytes",
19607 "type" : "integer"
19608 },
19609 "maxmem" : {
19610 "description" : "Maximum memory in bytes.",
19611 "optional" : 1,
19612 "renderer" : "bytes",
19613 "type" : "integer"
19614 },
19615 "name" : {
19616 "description" : "VM name.",
19617 "optional" : 1,
19618 "type" : "string"
19619 },
19620 "pid" : {
19621 "description" : "PID of running qemu process.",
19622 "optional" : 1,
19623 "type" : "integer"
19624 },
19625 "qmpstatus" : {
19626 "description" : "Qemu QMP agent status.",
19627 "optional" : 1,
19628 "type" : "string"
19629 },
19630 "status" : {
19631 "description" : "Qemu process status.",
19632 "enum" : [
19633 "stopped",
19634 "running"
19635 ],
19636 "type" : "string"
19637 },
5c1699e5
TL
19638 "tags" : {
19639 "description" : "The current configured tags, if any",
19640 "optional" : 1,
19641 "type" : "string"
19642 },
4d47f125
TL
19643 "uptime" : {
19644 "description" : "Uptime.",
19645 "optional" : 1,
19646 "renderer" : "duration",
19647 "type" : "integer"
19648 },
19649 "vmid" : {
19650 "description" : "The (unique) ID of the VM.",
19651 "format" : "pve-vmid",
19652 "minimum" : 1,
19653 "type" : "integer"
19654 }
19655 },
44660702
DM
19656 "type" : "object"
19657 },
19658 "links" : [
19659 {
19660 "href" : "{vmid}",
19661 "rel" : "child"
19662 }
19663 ],
19664 "type" : "array"
19665 }
19666 },
19667 "POST" : {
e9cd3bd4 19668 "allowtoken" : 1,
44660702
DM
19669 "description" : "Create or restore a virtual machine.",
19670 "method" : "POST",
19671 "name" : "create_vm",
19672 "parameters" : {
19673 "additionalProperties" : 0,
19674 "properties" : {
7aacca6f 19675 "acpi" : {
7aacca6f 19676 "default" : 1,
44660702 19677 "description" : "Enable/disable ACPI.",
56122987 19678 "optional" : 1,
013dc89f
DM
19679 "type" : "boolean",
19680 "typetext" : "<boolean>"
56122987 19681 },
44660702 19682 "agent" : {
4d47f125
TL
19683 "description" : "Enable/disable Qemu GuestAgent and its properties.",
19684 "format" : {
19685 "enabled" : {
19686 "default" : 0,
19687 "default_key" : 1,
19688 "description" : "Enable/disable Qemu GuestAgent.",
19689 "type" : "boolean"
19690 },
19691 "fstrim_cloned_disks" : {
19692 "default" : 0,
19693 "description" : "Run fstrim after cloning/moving a disk.",
19694 "optional" : 1,
19695 "type" : "boolean"
5c1699e5
TL
19696 },
19697 "type" : {
19698 "default" : "virtio",
19699 "description" : "Select the agent type",
19700 "enum" : [
19701 "virtio",
19702 "isa"
19703 ],
19704 "optional" : 1,
19705 "type" : "string"
4d47f125
TL
19706 }
19707 },
7aacca6f 19708 "optional" : 1,
4d47f125 19709 "type" : "string",
5c1699e5 19710 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 19711 },
e2d681b3
TL
19712 "arch" : {
19713 "description" : "Virtual processor architecture. Defaults to the host.",
19714 "enum" : [
19715 "x86_64",
19716 "aarch64"
19717 ],
19718 "optional" : 1,
19719 "type" : "string"
19720 },
44660702 19721 "archive" : {
c5aa7e14 19722 "description" : "The backup archive. Either the file system path to a .tar or .vma file (use '-' to pipe data from stdin) or a proxmox storage backup volume identifier.",
44660702 19723 "maxLength" : 255,
56122987 19724 "optional" : 1,
013dc89f
DM
19725 "type" : "string",
19726 "typetext" : "<string>"
56122987 19727 },
44660702 19728 "args" : {
c2993fe5 19729 "description" : "Arbitrary arguments passed to kvm.",
56122987 19730 "optional" : 1,
c2993fe5 19731 "type" : "string",
013dc89f 19732 "typetext" : "<string>",
c2993fe5 19733 "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 19734 },
1c532546
TL
19735 "audio0" : {
19736 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
19737 "format" : {
19738 "device" : {
19739 "description" : "Configure an audio device.",
19740 "enum" : [
19741 "ich9-intel-hda",
19742 "intel-hda",
19743 "AC97"
19744 ],
19745 "type" : "string"
19746 },
19747 "driver" : {
19748 "default" : "spice",
19749 "description" : "Driver backend for the audio device.",
19750 "enum" : [
19751 "spice"
19752 ],
19753 "optional" : 1,
19754 "type" : "string"
19755 }
19756 },
19757 "optional" : 1,
19758 "type" : "string",
19759 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
19760 },
44660702 19761 "autostart" : {
7aacca6f 19762 "default" : 0,
44660702
DM
19763 "description" : "Automatic restart after crash (currently ignored).",
19764 "optional" : 1,
013dc89f
DM
19765 "type" : "boolean",
19766 "typetext" : "<boolean>"
7aacca6f 19767 },
44660702
DM
19768 "balloon" : {
19769 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
19770 "minimum" : 0,
56122987 19771 "optional" : 1,
4bd7df8b 19772 "type" : "integer",
013dc89f 19773 "typetext" : "<integer> (0 - N)"
56122987 19774 },
44660702
DM
19775 "bios" : {
19776 "default" : "seabios",
19777 "description" : "Select BIOS implementation.",
19778 "enum" : [
19779 "seabios",
19780 "ovmf"
19781 ],
56122987 19782 "optional" : 1,
44660702 19783 "type" : "string"
56122987 19784 },
44660702
DM
19785 "boot" : {
19786 "default" : "cdn",
19787 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 19788 "optional" : 1,
44660702
DM
19789 "pattern" : "[acdn]{1,4}",
19790 "type" : "string"
56122987 19791 },
7aacca6f
DM
19792 "bootdisk" : {
19793 "description" : "Enable booting from specified disk.",
44660702
DM
19794 "format" : "pve-qm-bootdisk",
19795 "optional" : 1,
7aacca6f 19796 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
19797 "type" : "string"
19798 },
27a7acb2 19799 "bwlimit" : {
95895385
TL
19800 "default" : "restore limit from datacenter or storage config",
19801 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
19802 "minimum" : "0",
19803 "optional" : 1,
19804 "type" : "integer",
19805 "typetext" : "<integer> (0 - N)"
19806 },
44660702
DM
19807 "cdrom" : {
19808 "description" : "This is an alias for option -ide2",
de0983cb 19809 "format" : "pve-qm-ide",
56122987 19810 "optional" : 1,
44660702 19811 "type" : "string",
013dc89f 19812 "typetext" : "<volume>"
56122987 19813 },
95895385
TL
19814 "cicustom" : {
19815 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
19816 "format" : "pve-qm-cicustom",
19817 "optional" : 1,
19818 "type" : "string",
19819 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
19820 },
27a7acb2
DM
19821 "cipassword" : {
19822 "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.",
19823 "optional" : 1,
19824 "type" : "string",
19825 "typetext" : "<string>"
19826 },
19827 "citype" : {
19828 "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.",
19829 "enum" : [
19830 "configdrive2",
19831 "nocloud"
19832 ],
19833 "optional" : 1,
19834 "type" : "string"
19835 },
19836 "ciuser" : {
19837 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
19838 "optional" : 1,
19839 "type" : "string",
19840 "typetext" : "<string>"
19841 },
44660702
DM
19842 "cores" : {
19843 "default" : 1,
19844 "description" : "The number of cores per socket.",
7aacca6f 19845 "minimum" : 1,
44660702 19846 "optional" : 1,
4bd7df8b 19847 "type" : "integer",
013dc89f 19848 "typetext" : "<integer> (1 - N)"
7aacca6f 19849 },
44660702
DM
19850 "cpu" : {
19851 "description" : "Emulated CPU type.",
c5aa7e14 19852 "format" : "pve-vm-cpu-conf",
56122987 19853 "optional" : 1,
4bd7df8b 19854 "type" : "string",
c5aa7e14 19855 "typetext" : "<string>"
56122987 19856 },
44660702 19857 "cpulimit" : {
7aacca6f 19858 "default" : 0,
c2993fe5 19859 "description" : "Limit of CPU usage.",
44660702
DM
19860 "maximum" : 128,
19861 "minimum" : 0,
7aacca6f 19862 "optional" : 1,
c2993fe5 19863 "type" : "number",
013dc89f 19864 "typetext" : "<number> (0 - 128)",
c2993fe5 19865 "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
19866 },
19867 "cpuunits" : {
de0983cb 19868 "default" : 1024,
c2993fe5 19869 "description" : "CPU weight for a VM.",
2489d6df
WB
19870 "maximum" : 262144,
19871 "minimum" : 2,
44660702 19872 "optional" : 1,
c2993fe5 19873 "type" : "integer",
2489d6df
WB
19874 "typetext" : "<integer> (2 - 262144)",
19875 "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
19876 },
19877 "description" : {
19878 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 19879 "optional" : 1,
013dc89f
DM
19880 "type" : "string",
19881 "typetext" : "<string>"
44660702 19882 },
4d47f125
TL
19883 "efidisk0" : {
19884 "description" : "Configure a Disk for storing EFI vars",
19885 "format" : {
19886 "file" : {
19887 "default_key" : 1,
19888 "description" : "The drive's backing volume.",
19889 "format" : "pve-volume-id-or-qm-path",
19890 "format_description" : "volume",
19891 "type" : "string"
19892 },
19893 "format" : {
19894 "description" : "The drive's backing file's data format.",
19895 "enum" : [
19896 "raw",
19897 "cow",
19898 "qcow",
19899 "qed",
19900 "qcow2",
19901 "vmdk",
19902 "cloop"
19903 ],
19904 "optional" : 1,
19905 "type" : "string"
19906 },
19907 "size" : {
19908 "description" : "Disk size. This is purely informational and has no effect.",
19909 "format" : "disk-size",
19910 "format_description" : "DiskSize",
19911 "optional" : 1,
19912 "type" : "string"
19913 },
19914 "volume" : {
19915 "alias" : "file"
19916 }
19917 },
19918 "optional" : 1,
19919 "type" : "string",
19920 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
19921 },
44660702
DM
19922 "force" : {
19923 "description" : "Allow to overwrite existing VM.",
19924 "optional" : 1,
19925 "requires" : "archive",
013dc89f
DM
19926 "type" : "boolean",
19927 "typetext" : "<boolean>"
44660702
DM
19928 },
19929 "freeze" : {
19930 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
19931 "optional" : 1,
013dc89f
DM
19932 "type" : "boolean",
19933 "typetext" : "<boolean>"
44660702 19934 },
5f26e15b
TL
19935 "hookscript" : {
19936 "description" : "Script that will be executed during various steps in the vms lifetime.",
19937 "format" : "pve-volume-id",
19938 "optional" : 1,
19939 "type" : "string",
19940 "typetext" : "<string>"
19941 },
44660702 19942 "hostpci[n]" : {
c2993fe5 19943 "description" : "Map host PCI devices into guest.",
44660702
DM
19944 "format" : "pve-qm-hostpci",
19945 "optional" : 1,
57b78691 19946 "type" : "string",
e2d681b3 19947 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 19948 "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
19949 },
19950 "hotplug" : {
19951 "default" : "network,disk,usb",
19952 "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'.",
19953 "format" : "pve-hotplug-features",
19954 "optional" : 1,
013dc89f
DM
19955 "type" : "string",
19956 "typetext" : "<string>"
7aacca6f 19957 },
4bd7df8b
DM
19958 "hugepages" : {
19959 "description" : "Enable/disable hugepages memory.",
19960 "enum" : [
19961 "any",
19962 "2",
19963 "1024"
19964 ],
19965 "optional" : 1,
19966 "type" : "string"
19967 },
7aacca6f 19968 "ide[n]" : {
44660702 19969 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 19970 "format" : {
44660702
DM
19971 "aio" : {
19972 "description" : "AIO type to use.",
19973 "enum" : [
19974 "native",
19975 "threads"
19976 ],
44660702
DM
19977 "optional" : 1,
19978 "type" : "string"
19979 },
19980 "backup" : {
19981 "description" : "Whether the drive should be included when making backups.",
44660702
DM
19982 "optional" : 1,
19983 "type" : "boolean"
19984 },
19985 "bps" : {
de0983cb 19986 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 19987 "format_description" : "bps",
56122987 19988 "optional" : 1,
44660702 19989 "type" : "integer"
56122987 19990 },
de0983cb
DM
19991 "bps_max_length" : {
19992 "description" : "Maximum length of I/O bursts in seconds.",
19993 "format_description" : "seconds",
19994 "minimum" : 1,
19995 "optional" : 1,
19996 "type" : "integer"
19997 },
44660702 19998 "bps_rd" : {
de0983cb 19999 "description" : "Maximum read speed in bytes per second.",
44660702 20000 "format_description" : "bps",
56122987 20001 "optional" : 1,
44660702 20002 "type" : "integer"
56122987 20003 },
de0983cb 20004 "bps_rd_length" : {
5d9c884c
DM
20005 "alias" : "bps_rd_max_length"
20006 },
20007 "bps_rd_max_length" : {
de0983cb
DM
20008 "description" : "Maximum length of read I/O bursts in seconds.",
20009 "format_description" : "seconds",
20010 "minimum" : 1,
20011 "optional" : 1,
20012 "type" : "integer"
20013 },
44660702 20014 "bps_wr" : {
de0983cb 20015 "description" : "Maximum write speed in bytes per second.",
44660702 20016 "format_description" : "bps",
56122987 20017 "optional" : 1,
44660702 20018 "type" : "integer"
56122987 20019 },
de0983cb 20020 "bps_wr_length" : {
5d9c884c
DM
20021 "alias" : "bps_wr_max_length"
20022 },
20023 "bps_wr_max_length" : {
de0983cb
DM
20024 "description" : "Maximum length of write I/O bursts in seconds.",
20025 "format_description" : "seconds",
20026 "minimum" : 1,
20027 "optional" : 1,
20028 "type" : "integer"
20029 },
44660702
DM
20030 "cache" : {
20031 "description" : "The drive's cache mode",
56122987 20032 "enum" : [
7aacca6f 20033 "none",
44660702
DM
20034 "writethrough",
20035 "writeback",
20036 "unsafe",
20037 "directsync"
56122987 20038 ],
56122987 20039 "optional" : 1,
44660702 20040 "type" : "string"
56122987 20041 },
44660702
DM
20042 "cyls" : {
20043 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
20044 "optional" : 1,
20045 "type" : "integer"
7aacca6f 20046 },
44660702
DM
20047 "detect_zeroes" : {
20048 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 20049 "optional" : 1,
44660702 20050 "type" : "boolean"
56122987 20051 },
44660702
DM
20052 "discard" : {
20053 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20054 "enum" : [
20055 "ignore",
20056 "on"
20057 ],
56122987 20058 "optional" : 1,
44660702 20059 "type" : "string"
56122987 20060 },
7aacca6f 20061 "file" : {
44660702 20062 "default_key" : 1,
7aacca6f 20063 "description" : "The drive's backing volume.",
7aacca6f
DM
20064 "format" : "pve-volume-id-or-qm-path",
20065 "format_description" : "volume",
7aacca6f 20066 "type" : "string"
56122987 20067 },
44660702
DM
20068 "format" : {
20069 "description" : "The drive's backing file's data format.",
56122987 20070 "enum" : [
44660702
DM
20071 "raw",
20072 "cow",
20073 "qcow",
20074 "qed",
20075 "qcow2",
20076 "vmdk",
20077 "cloop"
7aacca6f 20078 ],
7aacca6f
DM
20079 "optional" : 1,
20080 "type" : "string"
56122987 20081 },
44660702
DM
20082 "heads" : {
20083 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 20084 "optional" : 1,
44660702 20085 "type" : "integer"
56122987 20086 },
44660702 20087 "iops" : {
de0983cb 20088 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 20089 "format_description" : "iops",
56122987 20090 "optional" : 1,
44660702 20091 "type" : "integer"
56122987 20092 },
44660702 20093 "iops_max" : {
de0983cb 20094 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 20095 "format_description" : "iops",
56122987 20096 "optional" : 1,
44660702 20097 "type" : "integer"
56122987 20098 },
de0983cb
DM
20099 "iops_max_length" : {
20100 "description" : "Maximum length of I/O bursts in seconds.",
20101 "format_description" : "seconds",
20102 "minimum" : 1,
20103 "optional" : 1,
20104 "type" : "integer"
20105 },
7aacca6f 20106 "iops_rd" : {
de0983cb 20107 "description" : "Maximum read I/O in operations per second.",
44660702
DM
20108 "format_description" : "iops",
20109 "optional" : 1,
20110 "type" : "integer"
7aacca6f 20111 },
de0983cb 20112 "iops_rd_length" : {
5d9c884c 20113 "alias" : "iops_rd_max_length"
de0983cb 20114 },
44660702 20115 "iops_rd_max" : {
de0983cb 20116 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 20117 "format_description" : "iops",
56122987 20118 "optional" : 1,
44660702 20119 "type" : "integer"
56122987 20120 },
5d9c884c
DM
20121 "iops_rd_max_length" : {
20122 "description" : "Maximum length of read I/O bursts in seconds.",
20123 "format_description" : "seconds",
20124 "minimum" : 1,
20125 "optional" : 1,
20126 "type" : "integer"
20127 },
44660702 20128 "iops_wr" : {
de0983cb 20129 "description" : "Maximum write I/O in operations per second.",
44660702 20130 "format_description" : "iops",
56122987 20131 "optional" : 1,
44660702 20132 "type" : "integer"
7aacca6f 20133 },
de0983cb 20134 "iops_wr_length" : {
5d9c884c 20135 "alias" : "iops_wr_max_length"
de0983cb 20136 },
44660702 20137 "iops_wr_max" : {
de0983cb 20138 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 20139 "format_description" : "iops",
7aacca6f 20140 "optional" : 1,
44660702 20141 "type" : "integer"
56122987 20142 },
5d9c884c
DM
20143 "iops_wr_max_length" : {
20144 "description" : "Maximum length of write I/O bursts in seconds.",
20145 "format_description" : "seconds",
20146 "minimum" : 1,
20147 "optional" : 1,
20148 "type" : "integer"
20149 },
44660702 20150 "mbps" : {
de0983cb 20151 "description" : "Maximum r/w speed in megabytes per second.",
44660702 20152 "format_description" : "mbps",
7aacca6f 20153 "optional" : 1,
44660702 20154 "type" : "number"
56122987 20155 },
44660702 20156 "mbps_max" : {
de0983cb 20157 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 20158 "format_description" : "mbps",
56122987 20159 "optional" : 1,
44660702 20160 "type" : "number"
56122987 20161 },
44660702 20162 "mbps_rd" : {
de0983cb 20163 "description" : "Maximum read speed in megabytes per second.",
44660702 20164 "format_description" : "mbps",
7aacca6f 20165 "optional" : 1,
44660702 20166 "type" : "number"
7aacca6f 20167 },
44660702 20168 "mbps_rd_max" : {
de0983cb 20169 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 20170 "format_description" : "mbps",
56122987 20171 "optional" : 1,
44660702 20172 "type" : "number"
56122987 20173 },
44660702 20174 "mbps_wr" : {
de0983cb 20175 "description" : "Maximum write speed in megabytes per second.",
44660702 20176 "format_description" : "mbps",
7aacca6f 20177 "optional" : 1,
44660702 20178 "type" : "number"
56122987 20179 },
44660702 20180 "mbps_wr_max" : {
de0983cb 20181 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 20182 "format_description" : "mbps",
56122987 20183 "optional" : 1,
44660702 20184 "type" : "number"
7aacca6f
DM
20185 },
20186 "media" : {
44660702
DM
20187 "default" : "disk",
20188 "description" : "The drive's media type.",
56122987 20189 "enum" : [
7aacca6f
DM
20190 "cdrom",
20191 "disk"
56122987 20192 ],
56122987 20193 "optional" : 1,
44660702 20194 "type" : "string"
56122987 20195 },
44660702
DM
20196 "model" : {
20197 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
20198 "format" : "urlencoded",
20199 "format_description" : "model",
20200 "maxLength" : 120,
56122987 20201 "optional" : 1,
44660702 20202 "type" : "string"
56122987 20203 },
5d9c884c
DM
20204 "replicate" : {
20205 "default" : 1,
20206 "description" : "Whether the drive should considered for replication jobs.",
20207 "optional" : 1,
20208 "type" : "boolean"
20209 },
7aacca6f 20210 "rerror" : {
7aacca6f
DM
20211 "description" : "Read error action.",
20212 "enum" : [
20213 "ignore",
20214 "report",
20215 "stop"
44660702 20216 ],
44660702
DM
20217 "optional" : 1,
20218 "type" : "string"
56122987 20219 },
44660702
DM
20220 "secs" : {
20221 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 20222 "optional" : 1,
44660702
DM
20223 "type" : "integer"
20224 },
20225 "serial" : {
20226 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20227 "format" : "urlencoded",
20228 "format_description" : "serial",
20229 "maxLength" : 60,
20230 "optional" : 1,
20231 "type" : "string"
20232 },
27a7acb2
DM
20233 "shared" : {
20234 "default" : 0,
20235 "description" : "Mark this locally-managed volume as available on all nodes",
20236 "optional" : 1,
20237 "type" : "boolean",
20238 "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!"
20239 },
44660702
DM
20240 "size" : {
20241 "description" : "Disk size. This is purely informational and has no effect.",
20242 "format" : "disk-size",
f004f5b9 20243 "format_description" : "DiskSize",
44660702
DM
20244 "optional" : 1,
20245 "type" : "string"
7aacca6f
DM
20246 },
20247 "snapshot" : {
27a7acb2 20248 "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 20249 "optional" : 1,
44660702 20250 "type" : "boolean"
7aacca6f 20251 },
25203dc1
NC
20252 "ssd" : {
20253 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
20254 "optional" : 1,
20255 "type" : "boolean"
20256 },
44660702
DM
20257 "trans" : {
20258 "description" : "Force disk geometry bios translation mode.",
20259 "enum" : [
20260 "none",
20261 "lba",
20262 "auto"
20263 ],
7aacca6f 20264 "optional" : 1,
44660702
DM
20265 "type" : "string"
20266 },
20267 "volume" : {
20268 "alias" : "file"
20269 },
20270 "werror" : {
20271 "description" : "Write error action.",
20272 "enum" : [
20273 "enospc",
20274 "ignore",
20275 "report",
20276 "stop"
20277 ],
44660702
DM
20278 "optional" : 1,
20279 "type" : "string"
95895385
TL
20280 },
20281 "wwn" : {
20282 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
20283 "format_description" : "wwn",
20284 "optional" : 1,
20285 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
20286 "type" : "string"
56122987
DM
20287 }
20288 },
56122987 20289 "optional" : 1,
4bd7df8b 20290 "type" : "string",
95895385 20291 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
20292 },
20293 "ipconfig[n]" : {
20294 "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",
20295 "format" : "pve-qm-ipconfig",
20296 "optional" : 1,
20297 "type" : "string",
20298 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 20299 },
95895385
TL
20300 "ivshmem" : {
20301 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
20302 "format" : {
20303 "name" : {
20304 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
20305 "format_description" : "string",
20306 "optional" : 1,
20307 "pattern" : "[a-zA-Z0-9\\-]+",
20308 "type" : "string"
20309 },
20310 "size" : {
20311 "description" : "The size of the file in MB.",
20312 "minimum" : 1,
20313 "type" : "integer"
20314 }
20315 },
20316 "optional" : 1,
20317 "type" : "string",
20318 "typetext" : "size=<integer> [,name=<string>]"
20319 },
56122987 20320 "keyboard" : {
35a75dd3 20321 "default" : null,
5da3d723 20322 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
56122987 20323 "enum" : [
44660702
DM
20324 "de",
20325 "de-ch",
7aacca6f 20326 "da",
56122987 20327 "en-gb",
44660702
DM
20328 "en-us",
20329 "es",
20330 "fi",
20331 "fr",
20332 "fr-be",
20333 "fr-ca",
20334 "fr-ch",
20335 "hu",
7aacca6f 20336 "is",
44660702
DM
20337 "it",
20338 "ja",
20339 "lt",
56122987 20340 "mk",
7aacca6f 20341 "nl",
56122987 20342 "no",
44660702 20343 "pl",
7aacca6f 20344 "pt",
44660702
DM
20345 "pt-br",
20346 "sv",
20347 "sl",
20348 "tr"
56122987 20349 ],
44660702
DM
20350 "optional" : 1,
20351 "type" : "string"
56122987 20352 },
44660702
DM
20353 "kvm" : {
20354 "default" : 1,
20355 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 20356 "optional" : 1,
013dc89f
DM
20357 "type" : "boolean",
20358 "typetext" : "<boolean>"
7aacca6f 20359 },
44660702
DM
20360 "localtime" : {
20361 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 20362 "optional" : 1,
013dc89f
DM
20363 "type" : "boolean",
20364 "typetext" : "<boolean>"
44660702
DM
20365 },
20366 "lock" : {
20367 "description" : "Lock/unlock the VM.",
7aacca6f 20368 "enum" : [
7aacca6f 20369 "backup",
5f26e15b
TL
20370 "clone",
20371 "create",
20372 "migrate",
20373 "rollback",
7aacca6f 20374 "snapshot",
95895385
TL
20375 "snapshot-delete",
20376 "suspending",
20377 "suspended"
7aacca6f 20378 ],
44660702
DM
20379 "optional" : 1,
20380 "type" : "string"
56122987 20381 },
44660702 20382 "machine" : {
4d47f125 20383 "description" : "Specifies the Qemu machine type.",
44660702
DM
20384 "maxLength" : 40,
20385 "optional" : 1,
5c1699e5 20386 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
20387 "type" : "string"
20388 },
20389 "memory" : {
20390 "default" : 512,
20391 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
20392 "minimum" : 16,
20393 "optional" : 1,
4bd7df8b 20394 "type" : "integer",
013dc89f 20395 "typetext" : "<integer> (16 - N)"
44660702
DM
20396 },
20397 "migrate_downtime" : {
20398 "default" : 0.1,
20399 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
20400 "minimum" : 0,
20401 "optional" : 1,
4bd7df8b 20402 "type" : "number",
013dc89f 20403 "typetext" : "<number> (0 - N)"
44660702
DM
20404 },
20405 "migrate_speed" : {
56122987 20406 "default" : 0,
44660702
DM
20407 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
20408 "minimum" : 0,
56122987 20409 "optional" : 1,
4bd7df8b 20410 "type" : "integer",
013dc89f 20411 "typetext" : "<integer> (0 - N)"
56122987 20412 },
27a7acb2
DM
20413 "name" : {
20414 "description" : "Set a name for the VM. Only used on the configuration web interface.",
20415 "format" : "dns-name",
20416 "optional" : 1,
20417 "type" : "string",
20418 "typetext" : "<string>"
20419 },
20420 "nameserver" : {
20421 "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.",
20422 "format" : "address-list",
44660702 20423 "optional" : 1,
013dc89f
DM
20424 "type" : "string",
20425 "typetext" : "<string>"
44660702
DM
20426 },
20427 "net[n]" : {
c2993fe5 20428 "description" : "Specify network devices.",
f004f5b9
DM
20429 "format" : {
20430 "bridge" : {
c2993fe5 20431 "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
20432 "format_description" : "bridge",
20433 "optional" : 1,
c5aa7e14 20434 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
20435 "type" : "string"
20436 },
20437 "e1000" : {
20438 "alias" : "macaddr",
20439 "keyAlias" : "model"
20440 },
20441 "e1000-82540em" : {
20442 "alias" : "macaddr",
20443 "keyAlias" : "model"
20444 },
20445 "e1000-82544gc" : {
20446 "alias" : "macaddr",
20447 "keyAlias" : "model"
20448 },
20449 "e1000-82545em" : {
20450 "alias" : "macaddr",
20451 "keyAlias" : "model"
20452 },
20453 "firewall" : {
20454 "description" : "Whether this interface should be protected by the firewall.",
20455 "optional" : 1,
20456 "type" : "boolean"
20457 },
20458 "i82551" : {
20459 "alias" : "macaddr",
20460 "keyAlias" : "model"
20461 },
20462 "i82557b" : {
20463 "alias" : "macaddr",
20464 "keyAlias" : "model"
20465 },
20466 "i82559er" : {
20467 "alias" : "macaddr",
20468 "keyAlias" : "model"
20469 },
20470 "link_down" : {
c2993fe5 20471 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
20472 "optional" : 1,
20473 "type" : "boolean"
20474 },
20475 "macaddr" : {
c2993fe5 20476 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 20477 "format" : "mac-addr",
f004f5b9 20478 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 20479 "optional" : 1,
95895385
TL
20480 "type" : "string",
20481 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
20482 },
20483 "model" : {
20484 "default_key" : 1,
c2993fe5 20485 "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
20486 "enum" : [
20487 "rtl8139",
20488 "ne2k_pci",
20489 "e1000",
20490 "pcnet",
20491 "virtio",
20492 "ne2k_isa",
20493 "i82551",
20494 "i82557b",
20495 "i82559er",
20496 "vmxnet3",
20497 "e1000-82540em",
20498 "e1000-82544gc",
20499 "e1000-82545em"
20500 ],
f004f5b9
DM
20501 "type" : "string"
20502 },
20503 "ne2k_isa" : {
20504 "alias" : "macaddr",
20505 "keyAlias" : "model"
20506 },
20507 "ne2k_pci" : {
20508 "alias" : "macaddr",
20509 "keyAlias" : "model"
20510 },
20511 "pcnet" : {
20512 "alias" : "macaddr",
20513 "keyAlias" : "model"
20514 },
20515 "queues" : {
20516 "description" : "Number of packet queues to be used on the device.",
20517 "maximum" : 16,
20518 "minimum" : 0,
20519 "optional" : 1,
20520 "type" : "integer"
20521 },
20522 "rate" : {
c2993fe5 20523 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
20524 "minimum" : 0,
20525 "optional" : 1,
20526 "type" : "number"
20527 },
20528 "rtl8139" : {
20529 "alias" : "macaddr",
20530 "keyAlias" : "model"
20531 },
20532 "tag" : {
20533 "description" : "VLAN tag to apply to packets on this interface.",
20534 "maximum" : 4094,
c2993fe5 20535 "minimum" : 1,
f004f5b9
DM
20536 "optional" : 1,
20537 "type" : "integer"
20538 },
20539 "trunks" : {
20540 "description" : "VLAN trunks to pass through this interface.",
20541 "format_description" : "vlanid[;vlanid...]",
20542 "optional" : 1,
20543 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20544 "type" : "string"
20545 },
20546 "virtio" : {
20547 "alias" : "macaddr",
20548 "keyAlias" : "model"
20549 },
20550 "vmxnet3" : {
20551 "alias" : "macaddr",
20552 "keyAlias" : "model"
20553 }
20554 },
44660702 20555 "optional" : 1,
4bd7df8b 20556 "type" : "string",
013dc89f 20557 "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
20558 },
20559 "node" : {
20560 "description" : "The cluster node name.",
20561 "format" : "pve-node",
013dc89f
DM
20562 "type" : "string",
20563 "typetext" : "<string>"
44660702
DM
20564 },
20565 "numa" : {
7aacca6f 20566 "default" : 0,
44660702
DM
20567 "description" : "Enable/disable NUMA.",
20568 "optional" : 1,
013dc89f
DM
20569 "type" : "boolean",
20570 "typetext" : "<boolean>"
56122987 20571 },
7aacca6f 20572 "numa[n]" : {
c2993fe5 20573 "description" : "NUMA topology.",
7aacca6f 20574 "format" : {
44660702 20575 "cpus" : {
c2993fe5 20576 "description" : "CPUs accessing this NUMA node.",
44660702
DM
20577 "format_description" : "id[-id];...",
20578 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20579 "type" : "string"
20580 },
7aacca6f 20581 "hostnodes" : {
c2993fe5 20582 "description" : "Host NUMA nodes to use.",
44660702 20583 "format_description" : "id[-id];...",
7aacca6f 20584 "optional" : 1,
44660702
DM
20585 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
20586 "type" : "string"
7aacca6f 20587 },
44660702 20588 "memory" : {
c2993fe5 20589 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
20590 "optional" : 1,
20591 "type" : "number"
7aacca6f
DM
20592 },
20593 "policy" : {
c2993fe5 20594 "description" : "NUMA allocation policy.",
7aacca6f
DM
20595 "enum" : [
20596 "preferred",
20597 "bind",
20598 "interleave"
20599 ],
7aacca6f 20600 "optional" : 1,
44660702 20601 "type" : "string"
7aacca6f
DM
20602 }
20603 },
56122987 20604 "optional" : 1,
4bd7df8b
DM
20605 "type" : "string",
20606 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 20607 },
44660702
DM
20608 "onboot" : {
20609 "default" : 0,
20610 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 20611 "optional" : 1,
013dc89f
DM
20612 "type" : "boolean",
20613 "typetext" : "<boolean>"
56122987
DM
20614 },
20615 "ostype" : {
c2993fe5 20616 "description" : "Specify guest operating system.",
56122987
DM
20617 "enum" : [
20618 "other",
20619 "wxp",
20620 "w2k",
20621 "w2k3",
20622 "w2k8",
20623 "wvista",
20624 "win7",
20625 "win8",
32d876b5 20626 "win10",
56122987
DM
20627 "l24",
20628 "l26",
20629 "solaris"
44660702 20630 ],
56122987 20631 "optional" : 1,
c2993fe5 20632 "type" : "string",
5c1699e5 20633 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 20634 },
44660702 20635 "parallel[n]" : {
c2993fe5 20636 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 20637 "optional" : 1,
44660702 20638 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
20639 "type" : "string",
20640 "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 20641 },
44660702
DM
20642 "pool" : {
20643 "description" : "Add the VM to the specified pool.",
20644 "format" : "pve-poolid",
56122987 20645 "optional" : 1,
013dc89f
DM
20646 "type" : "string",
20647 "typetext" : "<string>"
56122987 20648 },
44660702
DM
20649 "protection" : {
20650 "default" : 0,
c2993fe5 20651 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 20652 "optional" : 1,
013dc89f
DM
20653 "type" : "boolean",
20654 "typetext" : "<boolean>"
56122987 20655 },
44660702 20656 "reboot" : {
7aacca6f 20657 "default" : 1,
44660702
DM
20658 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
20659 "optional" : 1,
013dc89f
DM
20660 "type" : "boolean",
20661 "typetext" : "<boolean>"
56122987 20662 },
c5aa7e14
TL
20663 "rng0" : {
20664 "description" : "Configure a VirtIO-based Random Number Generator.",
20665 "format" : {
20666 "max_bytes" : {
20667 "default" : 1024,
20668 "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
20669 "optional" : 1,
20670 "type" : "integer"
20671 },
20672 "period" : {
20673 "default" : 1000,
20674 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
20675 "optional" : 1,
20676 "type" : "integer"
20677 },
20678 "source" : {
20679 "default_key" : 1,
20680 "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
20681 "enum" : [
20682 "/dev/urandom",
20683 "/dev/random",
20684 "/dev/hwrng"
20685 ],
20686 "type" : "string"
20687 }
20688 },
20689 "optional" : 1,
20690 "type" : "string",
20691 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
20692 },
56122987 20693 "sata[n]" : {
44660702 20694 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 20695 "format" : {
7aacca6f 20696 "aio" : {
44660702 20697 "description" : "AIO type to use.",
56122987 20698 "enum" : [
7aacca6f
DM
20699 "native",
20700 "threads"
56122987 20701 ],
7aacca6f 20702 "optional" : 1,
44660702 20703 "type" : "string"
7aacca6f
DM
20704 },
20705 "backup" : {
7aacca6f 20706 "description" : "Whether the drive should be included when making backups.",
7aacca6f 20707 "optional" : 1,
44660702 20708 "type" : "boolean"
56122987 20709 },
44660702 20710 "bps" : {
de0983cb 20711 "description" : "Maximum r/w speed in bytes per second.",
44660702 20712 "format_description" : "bps",
7aacca6f 20713 "optional" : 1,
44660702 20714 "type" : "integer"
56122987 20715 },
de0983cb
DM
20716 "bps_max_length" : {
20717 "description" : "Maximum length of I/O bursts in seconds.",
20718 "format_description" : "seconds",
20719 "minimum" : 1,
20720 "optional" : 1,
20721 "type" : "integer"
20722 },
44660702 20723 "bps_rd" : {
de0983cb 20724 "description" : "Maximum read speed in bytes per second.",
44660702 20725 "format_description" : "bps",
56122987 20726 "optional" : 1,
44660702 20727 "type" : "integer"
7aacca6f 20728 },
de0983cb 20729 "bps_rd_length" : {
5d9c884c
DM
20730 "alias" : "bps_rd_max_length"
20731 },
20732 "bps_rd_max_length" : {
de0983cb
DM
20733 "description" : "Maximum length of read I/O bursts in seconds.",
20734 "format_description" : "seconds",
20735 "minimum" : 1,
20736 "optional" : 1,
20737 "type" : "integer"
20738 },
44660702 20739 "bps_wr" : {
de0983cb 20740 "description" : "Maximum write speed in bytes per second.",
44660702 20741 "format_description" : "bps",
56122987 20742 "optional" : 1,
44660702 20743 "type" : "integer"
56122987 20744 },
de0983cb 20745 "bps_wr_length" : {
5d9c884c
DM
20746 "alias" : "bps_wr_max_length"
20747 },
20748 "bps_wr_max_length" : {
de0983cb
DM
20749 "description" : "Maximum length of write I/O bursts in seconds.",
20750 "format_description" : "seconds",
20751 "minimum" : 1,
20752 "optional" : 1,
20753 "type" : "integer"
20754 },
7aacca6f 20755 "cache" : {
7aacca6f
DM
20756 "description" : "The drive's cache mode",
20757 "enum" : [
20758 "none",
20759 "writethrough",
20760 "writeback",
20761 "unsafe",
20762 "directsync"
20763 ],
44660702
DM
20764 "optional" : 1,
20765 "type" : "string"
56122987 20766 },
44660702
DM
20767 "cyls" : {
20768 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 20769 "optional" : 1,
7aacca6f 20770 "type" : "integer"
56122987 20771 },
7aacca6f
DM
20772 "detect_zeroes" : {
20773 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 20774 "optional" : 1,
7aacca6f 20775 "type" : "boolean"
56122987 20776 },
44660702
DM
20777 "discard" : {
20778 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
20779 "enum" : [
20780 "ignore",
20781 "on"
20782 ],
56122987 20783 "optional" : 1,
44660702 20784 "type" : "string"
56122987 20785 },
44660702
DM
20786 "file" : {
20787 "default_key" : 1,
20788 "description" : "The drive's backing volume.",
20789 "format" : "pve-volume-id-or-qm-path",
20790 "format_description" : "volume",
20791 "type" : "string"
56122987
DM
20792 },
20793 "format" : {
44660702 20794 "description" : "The drive's backing file's data format.",
56122987
DM
20795 "enum" : [
20796 "raw",
20797 "cow",
20798 "qcow",
20799 "qed",
20800 "qcow2",
20801 "vmdk",
20802 "cloop"
20803 ],
56122987 20804 "optional" : 1,
44660702 20805 "type" : "string"
56122987 20806 },
7aacca6f 20807 "heads" : {
7aacca6f 20808 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
20809 "optional" : 1,
20810 "type" : "integer"
56122987 20811 },
44660702 20812 "iops" : {
de0983cb 20813 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
20814 "format_description" : "iops",
20815 "optional" : 1,
20816 "type" : "integer"
56122987 20817 },
44660702 20818 "iops_max" : {
de0983cb 20819 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 20820 "format_description" : "iops",
56122987 20821 "optional" : 1,
44660702 20822 "type" : "integer"
56122987 20823 },
de0983cb
DM
20824 "iops_max_length" : {
20825 "description" : "Maximum length of I/O bursts in seconds.",
20826 "format_description" : "seconds",
20827 "minimum" : 1,
20828 "optional" : 1,
20829 "type" : "integer"
20830 },
44660702 20831 "iops_rd" : {
de0983cb 20832 "description" : "Maximum read I/O in operations per second.",
44660702 20833 "format_description" : "iops",
56122987 20834 "optional" : 1,
44660702 20835 "type" : "integer"
56122987 20836 },
de0983cb 20837 "iops_rd_length" : {
5d9c884c 20838 "alias" : "iops_rd_max_length"
de0983cb 20839 },
44660702 20840 "iops_rd_max" : {
de0983cb 20841 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 20842 "format_description" : "iops",
56122987 20843 "optional" : 1,
44660702 20844 "type" : "integer"
56122987 20845 },
5d9c884c
DM
20846 "iops_rd_max_length" : {
20847 "description" : "Maximum length of read I/O bursts in seconds.",
20848 "format_description" : "seconds",
20849 "minimum" : 1,
20850 "optional" : 1,
20851 "type" : "integer"
20852 },
44660702 20853 "iops_wr" : {
de0983cb 20854 "description" : "Maximum write I/O in operations per second.",
44660702 20855 "format_description" : "iops",
7aacca6f 20856 "optional" : 1,
44660702 20857 "type" : "integer"
7aacca6f 20858 },
de0983cb 20859 "iops_wr_length" : {
5d9c884c 20860 "alias" : "iops_wr_max_length"
de0983cb 20861 },
44660702 20862 "iops_wr_max" : {
de0983cb 20863 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 20864 "format_description" : "iops",
56122987 20865 "optional" : 1,
7aacca6f 20866 "type" : "integer"
56122987 20867 },
5d9c884c
DM
20868 "iops_wr_max_length" : {
20869 "description" : "Maximum length of write I/O bursts in seconds.",
20870 "format_description" : "seconds",
20871 "minimum" : 1,
20872 "optional" : 1,
20873 "type" : "integer"
20874 },
44660702 20875 "mbps" : {
de0983cb 20876 "description" : "Maximum r/w speed in megabytes per second.",
44660702 20877 "format_description" : "mbps",
56122987 20878 "optional" : 1,
44660702 20879 "type" : "number"
56122987 20880 },
44660702 20881 "mbps_max" : {
de0983cb 20882 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 20883 "format_description" : "mbps",
7aacca6f 20884 "optional" : 1,
44660702 20885 "type" : "number"
7aacca6f 20886 },
44660702 20887 "mbps_rd" : {
de0983cb 20888 "description" : "Maximum read speed in megabytes per second.",
44660702 20889 "format_description" : "mbps",
7aacca6f 20890 "optional" : 1,
44660702 20891 "type" : "number"
7aacca6f 20892 },
44660702 20893 "mbps_rd_max" : {
de0983cb 20894 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 20895 "format_description" : "mbps",
7aacca6f 20896 "optional" : 1,
44660702 20897 "type" : "number"
7aacca6f 20898 },
44660702 20899 "mbps_wr" : {
de0983cb 20900 "description" : "Maximum write speed in megabytes per second.",
44660702 20901 "format_description" : "mbps",
7aacca6f 20902 "optional" : 1,
44660702 20903 "type" : "number"
7aacca6f
DM
20904 },
20905 "mbps_wr_max" : {
de0983cb 20906 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 20907 "format_description" : "mbps",
7aacca6f 20908 "optional" : 1,
44660702 20909 "type" : "number"
7aacca6f 20910 },
44660702
DM
20911 "media" : {
20912 "default" : "disk",
20913 "description" : "The drive's media type.",
56122987 20914 "enum" : [
44660702
DM
20915 "cdrom",
20916 "disk"
56122987 20917 ],
56122987 20918 "optional" : 1,
44660702 20919 "type" : "string"
56122987 20920 },
5d9c884c
DM
20921 "replicate" : {
20922 "default" : 1,
20923 "description" : "Whether the drive should considered for replication jobs.",
20924 "optional" : 1,
20925 "type" : "boolean"
20926 },
44660702
DM
20927 "rerror" : {
20928 "description" : "Read error action.",
7aacca6f
DM
20929 "enum" : [
20930 "ignore",
44660702
DM
20931 "report",
20932 "stop"
7aacca6f 20933 ],
56122987 20934 "optional" : 1,
44660702 20935 "type" : "string"
56122987 20936 },
44660702
DM
20937 "secs" : {
20938 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 20939 "optional" : 1,
44660702 20940 "type" : "integer"
56122987 20941 },
44660702
DM
20942 "serial" : {
20943 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
20944 "format" : "urlencoded",
20945 "format_description" : "serial",
20946 "maxLength" : 60,
20947 "optional" : 1,
20948 "type" : "string"
7aacca6f 20949 },
27a7acb2
DM
20950 "shared" : {
20951 "default" : 0,
20952 "description" : "Mark this locally-managed volume as available on all nodes",
20953 "optional" : 1,
20954 "type" : "boolean",
20955 "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!"
20956 },
7aacca6f
DM
20957 "size" : {
20958 "description" : "Disk size. This is purely informational and has no effect.",
44660702 20959 "format" : "disk-size",
f004f5b9 20960 "format_description" : "DiskSize",
56122987 20961 "optional" : 1,
44660702 20962 "type" : "string"
56122987 20963 },
44660702 20964 "snapshot" : {
27a7acb2 20965 "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 20966 "optional" : 1,
44660702 20967 "type" : "boolean"
56122987 20968 },
25203dc1
NC
20969 "ssd" : {
20970 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
20971 "optional" : 1,
20972 "type" : "boolean"
20973 },
44660702
DM
20974 "trans" : {
20975 "description" : "Force disk geometry bios translation mode.",
56122987 20976 "enum" : [
44660702
DM
20977 "none",
20978 "lba",
20979 "auto"
7aacca6f 20980 ],
44660702
DM
20981 "optional" : 1,
20982 "type" : "string"
20983 },
20984 "volume" : {
20985 "alias" : "file"
56122987
DM
20986 },
20987 "werror" : {
56122987
DM
20988 "description" : "Write error action.",
20989 "enum" : [
20990 "enospc",
20991 "ignore",
20992 "report",
20993 "stop"
20994 ],
56122987 20995 "optional" : 1,
44660702 20996 "type" : "string"
95895385
TL
20997 },
20998 "wwn" : {
20999 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21000 "format_description" : "wwn",
21001 "optional" : 1,
21002 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21003 "type" : "string"
44660702
DM
21004 }
21005 },
21006 "optional" : 1,
4bd7df8b 21007 "type" : "string",
95895385 21008 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
21009 },
21010 "scsi[n]" : {
e9cd3bd4 21011 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
44660702
DM
21012 "format" : {
21013 "aio" : {
21014 "description" : "AIO type to use.",
21015 "enum" : [
21016 "native",
21017 "threads"
21018 ],
44660702
DM
21019 "optional" : 1,
21020 "type" : "string"
56122987 21021 },
7aacca6f 21022 "backup" : {
44660702 21023 "description" : "Whether the drive should be included when making backups.",
7aacca6f 21024 "optional" : 1,
44660702 21025 "type" : "boolean"
7aacca6f 21026 },
44660702 21027 "bps" : {
de0983cb 21028 "description" : "Maximum r/w speed in bytes per second.",
44660702 21029 "format_description" : "bps",
7aacca6f 21030 "optional" : 1,
44660702 21031 "type" : "integer"
7aacca6f 21032 },
de0983cb
DM
21033 "bps_max_length" : {
21034 "description" : "Maximum length of I/O bursts in seconds.",
21035 "format_description" : "seconds",
21036 "minimum" : 1,
21037 "optional" : 1,
21038 "type" : "integer"
21039 },
44660702 21040 "bps_rd" : {
de0983cb 21041 "description" : "Maximum read speed in bytes per second.",
44660702 21042 "format_description" : "bps",
56122987 21043 "optional" : 1,
44660702 21044 "type" : "integer"
56122987 21045 },
de0983cb 21046 "bps_rd_length" : {
5d9c884c
DM
21047 "alias" : "bps_rd_max_length"
21048 },
21049 "bps_rd_max_length" : {
de0983cb
DM
21050 "description" : "Maximum length of read I/O bursts in seconds.",
21051 "format_description" : "seconds",
21052 "minimum" : 1,
21053 "optional" : 1,
21054 "type" : "integer"
21055 },
44660702 21056 "bps_wr" : {
de0983cb 21057 "description" : "Maximum write speed in bytes per second.",
44660702 21058 "format_description" : "bps",
7aacca6f 21059 "optional" : 1,
44660702 21060 "type" : "integer"
56122987 21061 },
de0983cb 21062 "bps_wr_length" : {
5d9c884c
DM
21063 "alias" : "bps_wr_max_length"
21064 },
21065 "bps_wr_max_length" : {
de0983cb
DM
21066 "description" : "Maximum length of write I/O bursts in seconds.",
21067 "format_description" : "seconds",
21068 "minimum" : 1,
21069 "optional" : 1,
21070 "type" : "integer"
21071 },
44660702
DM
21072 "cache" : {
21073 "description" : "The drive's cache mode",
7aacca6f
DM
21074 "enum" : [
21075 "none",
44660702
DM
21076 "writethrough",
21077 "writeback",
21078 "unsafe",
21079 "directsync"
7aacca6f 21080 ],
56122987 21081 "optional" : 1,
44660702 21082 "type" : "string"
56122987 21083 },
7aacca6f
DM
21084 "cyls" : {
21085 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
21086 "optional" : 1,
44660702 21087 "type" : "integer"
7aacca6f 21088 },
44660702
DM
21089 "detect_zeroes" : {
21090 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21091 "optional" : 1,
44660702 21092 "type" : "boolean"
56122987 21093 },
44660702
DM
21094 "discard" : {
21095 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 21096 "enum" : [
44660702
DM
21097 "ignore",
21098 "on"
7aacca6f 21099 ],
7aacca6f 21100 "optional" : 1,
44660702 21101 "type" : "string"
56122987
DM
21102 },
21103 "file" : {
7aacca6f
DM
21104 "default_key" : 1,
21105 "description" : "The drive's backing volume.",
44660702
DM
21106 "format" : "pve-volume-id-or-qm-path",
21107 "format_description" : "volume",
7aacca6f 21108 "type" : "string"
56122987 21109 },
7aacca6f 21110 "format" : {
44660702 21111 "description" : "The drive's backing file's data format.",
56122987 21112 "enum" : [
7aacca6f
DM
21113 "raw",
21114 "cow",
21115 "qcow",
21116 "qed",
21117 "qcow2",
21118 "vmdk",
21119 "cloop"
56122987 21120 ],
44660702
DM
21121 "optional" : 1,
21122 "type" : "string"
56122987 21123 },
44660702
DM
21124 "heads" : {
21125 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21126 "optional" : 1,
21127 "type" : "integer"
21128 },
21129 "iops" : {
de0983cb 21130 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 21131 "format_description" : "iops",
56122987 21132 "optional" : 1,
44660702 21133 "type" : "integer"
56122987 21134 },
44660702 21135 "iops_max" : {
de0983cb 21136 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21137 "format_description" : "iops",
7aacca6f 21138 "optional" : 1,
44660702 21139 "type" : "integer"
56122987 21140 },
de0983cb
DM
21141 "iops_max_length" : {
21142 "description" : "Maximum length of I/O bursts in seconds.",
21143 "format_description" : "seconds",
21144 "minimum" : 1,
21145 "optional" : 1,
21146 "type" : "integer"
21147 },
44660702 21148 "iops_rd" : {
de0983cb 21149 "description" : "Maximum read I/O in operations per second.",
44660702 21150 "format_description" : "iops",
56122987 21151 "optional" : 1,
44660702 21152 "type" : "integer"
56122987 21153 },
de0983cb 21154 "iops_rd_length" : {
5d9c884c 21155 "alias" : "iops_rd_max_length"
de0983cb 21156 },
44660702 21157 "iops_rd_max" : {
de0983cb 21158 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
21159 "format_description" : "iops",
21160 "optional" : 1,
21161 "type" : "integer"
56122987 21162 },
5d9c884c
DM
21163 "iops_rd_max_length" : {
21164 "description" : "Maximum length of read I/O bursts in seconds.",
21165 "format_description" : "seconds",
21166 "minimum" : 1,
21167 "optional" : 1,
21168 "type" : "integer"
21169 },
44660702 21170 "iops_wr" : {
de0983cb 21171 "description" : "Maximum write I/O in operations per second.",
44660702 21172 "format_description" : "iops",
56122987 21173 "optional" : 1,
44660702 21174 "type" : "integer"
56122987 21175 },
de0983cb 21176 "iops_wr_length" : {
5d9c884c 21177 "alias" : "iops_wr_max_length"
de0983cb 21178 },
44660702 21179 "iops_wr_max" : {
de0983cb 21180 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21181 "format_description" : "iops",
56122987 21182 "optional" : 1,
56122987
DM
21183 "type" : "integer"
21184 },
5d9c884c
DM
21185 "iops_wr_max_length" : {
21186 "description" : "Maximum length of write I/O bursts in seconds.",
21187 "format_description" : "seconds",
21188 "minimum" : 1,
21189 "optional" : 1,
21190 "type" : "integer"
21191 },
44660702
DM
21192 "iothread" : {
21193 "description" : "Whether to use iothreads for this drive",
44660702
DM
21194 "optional" : 1,
21195 "type" : "boolean"
21196 },
21197 "mbps" : {
de0983cb 21198 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
21199 "format_description" : "mbps",
21200 "optional" : 1,
21201 "type" : "number"
21202 },
7aacca6f 21203 "mbps_max" : {
de0983cb 21204 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 21205 "format_description" : "mbps",
56122987 21206 "optional" : 1,
44660702 21207 "type" : "number"
56122987 21208 },
44660702 21209 "mbps_rd" : {
de0983cb 21210 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
21211 "format_description" : "mbps",
21212 "optional" : 1,
21213 "type" : "number"
56122987 21214 },
44660702 21215 "mbps_rd_max" : {
de0983cb 21216 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21217 "format_description" : "mbps",
56122987 21218 "optional" : 1,
44660702 21219 "type" : "number"
56122987 21220 },
44660702 21221 "mbps_wr" : {
de0983cb 21222 "description" : "Maximum write speed in megabytes per second.",
44660702 21223 "format_description" : "mbps",
56122987 21224 "optional" : 1,
44660702 21225 "type" : "number"
56122987 21226 },
44660702 21227 "mbps_wr_max" : {
de0983cb 21228 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 21229 "format_description" : "mbps",
7aacca6f 21230 "optional" : 1,
44660702 21231 "type" : "number"
56122987 21232 },
7aacca6f 21233 "media" : {
44660702 21234 "default" : "disk",
7aacca6f
DM
21235 "description" : "The drive's media type.",
21236 "enum" : [
21237 "cdrom",
21238 "disk"
21239 ],
56122987 21240 "optional" : 1,
44660702 21241 "type" : "string"
56122987 21242 },
44660702
DM
21243 "queues" : {
21244 "description" : "Number of queues.",
44660702
DM
21245 "minimum" : 2,
21246 "optional" : 1,
21247 "type" : "integer"
56122987 21248 },
5d9c884c
DM
21249 "replicate" : {
21250 "default" : 1,
21251 "description" : "Whether the drive should considered for replication jobs.",
21252 "optional" : 1,
21253 "type" : "boolean"
21254 },
21255 "rerror" : {
21256 "description" : "Read error action.",
21257 "enum" : [
21258 "ignore",
21259 "report",
21260 "stop"
21261 ],
21262 "optional" : 1,
21263 "type" : "string"
21264 },
52e44c50
FG
21265 "scsiblock" : {
21266 "default" : 0,
21267 "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",
21268 "optional" : 1,
21269 "type" : "boolean"
21270 },
7aacca6f 21271 "secs" : {
7aacca6f 21272 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
21273 "optional" : 1,
21274 "type" : "integer"
21275 },
21276 "serial" : {
21277 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
21278 "format" : "urlencoded",
21279 "format_description" : "serial",
21280 "maxLength" : 60,
21281 "optional" : 1,
21282 "type" : "string"
21283 },
27a7acb2
DM
21284 "shared" : {
21285 "default" : 0,
21286 "description" : "Mark this locally-managed volume as available on all nodes",
21287 "optional" : 1,
21288 "type" : "boolean",
21289 "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!"
21290 },
44660702
DM
21291 "size" : {
21292 "description" : "Disk size. This is purely informational and has no effect.",
21293 "format" : "disk-size",
f004f5b9 21294 "format_description" : "DiskSize",
44660702
DM
21295 "optional" : 1,
21296 "type" : "string"
21297 },
21298 "snapshot" : {
27a7acb2 21299 "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
21300 "optional" : 1,
21301 "type" : "boolean"
21302 },
25203dc1
NC
21303 "ssd" : {
21304 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
21305 "optional" : 1,
21306 "type" : "boolean"
21307 },
44660702
DM
21308 "trans" : {
21309 "description" : "Force disk geometry bios translation mode.",
21310 "enum" : [
21311 "none",
21312 "lba",
21313 "auto"
21314 ],
44660702
DM
21315 "optional" : 1,
21316 "type" : "string"
21317 },
21318 "volume" : {
21319 "alias" : "file"
21320 },
21321 "werror" : {
21322 "description" : "Write error action.",
21323 "enum" : [
21324 "enospc",
21325 "ignore",
21326 "report",
21327 "stop"
21328 ],
44660702
DM
21329 "optional" : 1,
21330 "type" : "string"
95895385
TL
21331 },
21332 "wwn" : {
21333 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
21334 "format_description" : "wwn",
21335 "optional" : 1,
21336 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
21337 "type" : "string"
56122987
DM
21338 }
21339 },
7aacca6f 21340 "optional" : 1,
4bd7df8b 21341 "type" : "string",
95895385 21342 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 21343 },
44660702
DM
21344 "scsihw" : {
21345 "default" : "lsi",
c2993fe5 21346 "description" : "SCSI controller model",
44660702
DM
21347 "enum" : [
21348 "lsi",
21349 "lsi53c810",
21350 "virtio-scsi-pci",
21351 "virtio-scsi-single",
21352 "megasas",
21353 "pvscsi"
21354 ],
7aacca6f 21355 "optional" : 1,
44660702 21356 "type" : "string"
7aacca6f 21357 },
27a7acb2
DM
21358 "searchdomain" : {
21359 "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.",
21360 "optional" : 1,
21361 "type" : "string",
21362 "typetext" : "<string>"
21363 },
44660702 21364 "serial[n]" : {
c2993fe5 21365 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
21366 "optional" : 1,
21367 "pattern" : "(/dev/.+|socket)",
c2993fe5 21368 "type" : "string",
57b78691 21369 "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
21370 },
21371 "shares" : {
21372 "default" : 1000,
5da3d723 21373 "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
44660702
DM
21374 "maximum" : 50000,
21375 "minimum" : 0,
21376 "optional" : 1,
4bd7df8b 21377 "type" : "integer",
013dc89f 21378 "typetext" : "<integer> (0 - 50000)"
44660702
DM
21379 },
21380 "smbios1" : {
21381 "description" : "Specify SMBIOS type 1 fields.",
21382 "format" : "pve-qm-smbios1",
1e3f8156 21383 "maxLength" : 512,
7aacca6f 21384 "optional" : 1,
4bd7df8b 21385 "type" : "string",
1e3f8156 21386 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
7aacca6f
DM
21387 },
21388 "smp" : {
44660702 21389 "default" : 1,
7aacca6f 21390 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 21391 "minimum" : 1,
56122987 21392 "optional" : 1,
4bd7df8b 21393 "type" : "integer",
013dc89f 21394 "typetext" : "<integer> (1 - N)"
44660702
DM
21395 },
21396 "sockets" : {
7aacca6f 21397 "default" : 1,
44660702
DM
21398 "description" : "The number of CPU sockets.",
21399 "minimum" : 1,
21400 "optional" : 1,
4bd7df8b 21401 "type" : "integer",
013dc89f 21402 "typetext" : "<integer> (1 - N)"
7aacca6f 21403 },
1c532546
TL
21404 "spice_enhancements" : {
21405 "description" : "Configure additional enhancements for SPICE.",
21406 "format" : {
21407 "foldersharing" : {
21408 "default" : "0",
21409 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
21410 "optional" : 1,
21411 "type" : "boolean"
21412 },
21413 "videostreaming" : {
21414 "default" : "off",
21415 "description" : "Enable video streaming. Uses compression for detected video streams.",
21416 "enum" : [
21417 "off",
21418 "all",
21419 "filter"
21420 ],
21421 "optional" : 1,
21422 "type" : "string"
21423 }
21424 },
21425 "optional" : 1,
21426 "type" : "string",
21427 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
21428 },
27a7acb2
DM
21429 "sshkeys" : {
21430 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
21431 "format" : "urlencoded",
21432 "optional" : 1,
21433 "type" : "string",
21434 "typetext" : "<string>"
21435 },
5da3d723
TL
21436 "start" : {
21437 "default" : 0,
21438 "description" : "Start VM after it was created successfully.",
21439 "optional" : 1,
21440 "type" : "boolean",
21441 "typetext" : "<boolean>"
21442 },
44660702
DM
21443 "startdate" : {
21444 "default" : "now",
21445 "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'.",
21446 "optional" : 1,
21447 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
21448 "type" : "string",
21449 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
21450 },
21451 "startup" : {
21452 "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.",
21453 "format" : "pve-startup-order",
21454 "optional" : 1,
21455 "type" : "string",
21456 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
21457 },
21458 "storage" : {
21459 "description" : "Default storage.",
21460 "format" : "pve-storage-id",
7aacca6f 21461 "optional" : 1,
013dc89f
DM
21462 "type" : "string",
21463 "typetext" : "<string>"
56122987 21464 },
44660702
DM
21465 "tablet" : {
21466 "default" : 1,
c2993fe5 21467 "description" : "Enable/disable the USB tablet device.",
56122987 21468 "optional" : 1,
c2993fe5 21469 "type" : "boolean",
013dc89f 21470 "typetext" : "<boolean>",
c2993fe5 21471 "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 21472 },
5c1699e5
TL
21473 "tags" : {
21474 "description" : "Tags of the VM. This is only meta information.",
21475 "format" : "pve-tag-list",
21476 "optional" : 1,
21477 "type" : "string",
21478 "typetext" : "<string>"
21479 },
44660702
DM
21480 "tdf" : {
21481 "default" : 0,
21482 "description" : "Enable/disable time drift fix.",
21483 "optional" : 1,
013dc89f
DM
21484 "type" : "boolean",
21485 "typetext" : "<boolean>"
7aacca6f
DM
21486 },
21487 "template" : {
7aacca6f 21488 "default" : 0,
44660702 21489 "description" : "Enable/disable Template.",
7aacca6f 21490 "optional" : 1,
013dc89f
DM
21491 "type" : "boolean",
21492 "typetext" : "<boolean>"
7aacca6f 21493 },
44660702
DM
21494 "unique" : {
21495 "description" : "Assign a unique random ethernet address.",
7aacca6f 21496 "optional" : 1,
44660702 21497 "requires" : "archive",
013dc89f
DM
21498 "type" : "boolean",
21499 "typetext" : "<boolean>"
56122987 21500 },
44660702 21501 "unused[n]" : {
c2993fe5 21502 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
21503 "format" : {
21504 "file" : {
21505 "default_key" : 1,
21506 "description" : "The drive's backing volume.",
21507 "format" : "pve-volume-id",
21508 "format_description" : "volume",
21509 "type" : "string"
21510 },
21511 "volume" : {
21512 "alias" : "file"
21513 }
21514 },
7aacca6f 21515 "optional" : 1,
013dc89f 21516 "type" : "string",
c5aa7e14 21517 "typetext" : "[file=]<volume>"
44660702
DM
21518 },
21519 "usb[n]" : {
c2993fe5 21520 "description" : "Configure an USB device (n is 0 to 4).",
56122987 21521 "format" : {
7aacca6f
DM
21522 "host" : {
21523 "default_key" : 1,
c2993fe5 21524 "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 21525 "format" : "pve-qm-usb-device",
44660702
DM
21526 "format_description" : "HOSTUSBDEVICE|spice",
21527 "type" : "string"
7aacca6f 21528 },
56122987 21529 "usb3" : {
c2993fe5 21530 "default" : 0,
1c532546 21531 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 21532 "optional" : 1,
56122987 21533 "type" : "boolean"
7aacca6f 21534 }
56122987 21535 },
56122987 21536 "optional" : 1,
4bd7df8b
DM
21537 "type" : "string",
21538 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 21539 },
44660702
DM
21540 "vcpus" : {
21541 "default" : 0,
21542 "description" : "Number of hotplugged vcpus.",
21543 "minimum" : 1,
56122987 21544 "optional" : 1,
4bd7df8b 21545 "type" : "integer",
013dc89f 21546 "typetext" : "<integer> (1 - N)"
7aacca6f 21547 },
44660702 21548 "vga" : {
e2d681b3
TL
21549 "description" : "Configure the VGA hardware.",
21550 "format" : {
21551 "memory" : {
21552 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
21553 "maximum" : 512,
21554 "minimum" : 4,
21555 "optional" : 1,
21556 "type" : "integer"
21557 },
21558 "type" : {
21559 "default" : "std",
21560 "default_key" : 1,
21561 "description" : "Select the VGA type.",
21562 "enum" : [
21563 "cirrus",
21564 "qxl",
21565 "qxl2",
21566 "qxl3",
21567 "qxl4",
5f26e15b 21568 "none",
e2d681b3
TL
21569 "serial0",
21570 "serial1",
21571 "serial2",
21572 "serial3",
21573 "std",
21574 "virtio",
21575 "vmware"
21576 ],
21577 "optional" : 1,
21578 "type" : "string"
21579 }
21580 },
44660702 21581 "optional" : 1,
c2993fe5 21582 "type" : "string",
e2d681b3
TL
21583 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
21584 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
7aacca6f 21585 },
44660702
DM
21586 "virtio[n]" : {
21587 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
21588 "format" : {
21589 "aio" : {
21590 "description" : "AIO type to use.",
21591 "enum" : [
21592 "native",
21593 "threads"
21594 ],
44660702
DM
21595 "optional" : 1,
21596 "type" : "string"
21597 },
21598 "backup" : {
21599 "description" : "Whether the drive should be included when making backups.",
44660702
DM
21600 "optional" : 1,
21601 "type" : "boolean"
21602 },
21603 "bps" : {
de0983cb 21604 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
21605 "format_description" : "bps",
21606 "optional" : 1,
21607 "type" : "integer"
21608 },
de0983cb
DM
21609 "bps_max_length" : {
21610 "description" : "Maximum length of I/O bursts in seconds.",
21611 "format_description" : "seconds",
21612 "minimum" : 1,
21613 "optional" : 1,
21614 "type" : "integer"
21615 },
44660702 21616 "bps_rd" : {
de0983cb 21617 "description" : "Maximum read speed in bytes per second.",
44660702
DM
21618 "format_description" : "bps",
21619 "optional" : 1,
21620 "type" : "integer"
21621 },
de0983cb 21622 "bps_rd_length" : {
5d9c884c
DM
21623 "alias" : "bps_rd_max_length"
21624 },
21625 "bps_rd_max_length" : {
de0983cb
DM
21626 "description" : "Maximum length of read I/O bursts in seconds.",
21627 "format_description" : "seconds",
21628 "minimum" : 1,
21629 "optional" : 1,
21630 "type" : "integer"
21631 },
44660702 21632 "bps_wr" : {
de0983cb 21633 "description" : "Maximum write speed in bytes per second.",
44660702
DM
21634 "format_description" : "bps",
21635 "optional" : 1,
21636 "type" : "integer"
21637 },
de0983cb 21638 "bps_wr_length" : {
5d9c884c
DM
21639 "alias" : "bps_wr_max_length"
21640 },
21641 "bps_wr_max_length" : {
de0983cb
DM
21642 "description" : "Maximum length of write I/O bursts in seconds.",
21643 "format_description" : "seconds",
21644 "minimum" : 1,
21645 "optional" : 1,
21646 "type" : "integer"
21647 },
44660702
DM
21648 "cache" : {
21649 "description" : "The drive's cache mode",
21650 "enum" : [
21651 "none",
21652 "writethrough",
21653 "writeback",
21654 "unsafe",
21655 "directsync"
21656 ],
44660702
DM
21657 "optional" : 1,
21658 "type" : "string"
21659 },
21660 "cyls" : {
21661 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
21662 "optional" : 1,
21663 "type" : "integer"
21664 },
21665 "detect_zeroes" : {
21666 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
21667 "optional" : 1,
21668 "type" : "boolean"
21669 },
21670 "discard" : {
21671 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21672 "enum" : [
21673 "ignore",
21674 "on"
21675 ],
44660702
DM
21676 "optional" : 1,
21677 "type" : "string"
21678 },
21679 "file" : {
21680 "default_key" : 1,
21681 "description" : "The drive's backing volume.",
21682 "format" : "pve-volume-id-or-qm-path",
21683 "format_description" : "volume",
21684 "type" : "string"
21685 },
21686 "format" : {
21687 "description" : "The drive's backing file's data format.",
21688 "enum" : [
21689 "raw",
21690 "cow",
21691 "qcow",
21692 "qed",
21693 "qcow2",
21694 "vmdk",
21695 "cloop"
21696 ],
44660702
DM
21697 "optional" : 1,
21698 "type" : "string"
21699 },
21700 "heads" : {
21701 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
21702 "optional" : 1,
21703 "type" : "integer"
21704 },
21705 "iops" : {
de0983cb 21706 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
21707 "format_description" : "iops",
21708 "optional" : 1,
21709 "type" : "integer"
21710 },
21711 "iops_max" : {
de0983cb 21712 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
21713 "format_description" : "iops",
21714 "optional" : 1,
21715 "type" : "integer"
21716 },
de0983cb
DM
21717 "iops_max_length" : {
21718 "description" : "Maximum length of I/O bursts in seconds.",
21719 "format_description" : "seconds",
21720 "minimum" : 1,
21721 "optional" : 1,
21722 "type" : "integer"
21723 },
44660702 21724 "iops_rd" : {
de0983cb 21725 "description" : "Maximum read I/O in operations per second.",
44660702
DM
21726 "format_description" : "iops",
21727 "optional" : 1,
21728 "type" : "integer"
21729 },
de0983cb 21730 "iops_rd_length" : {
5d9c884c 21731 "alias" : "iops_rd_max_length"
de0983cb 21732 },
44660702 21733 "iops_rd_max" : {
de0983cb 21734 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
21735 "format_description" : "iops",
21736 "optional" : 1,
21737 "type" : "integer"
21738 },
5d9c884c
DM
21739 "iops_rd_max_length" : {
21740 "description" : "Maximum length of read I/O bursts in seconds.",
21741 "format_description" : "seconds",
21742 "minimum" : 1,
21743 "optional" : 1,
21744 "type" : "integer"
21745 },
44660702 21746 "iops_wr" : {
de0983cb 21747 "description" : "Maximum write I/O in operations per second.",
44660702
DM
21748 "format_description" : "iops",
21749 "optional" : 1,
21750 "type" : "integer"
21751 },
de0983cb 21752 "iops_wr_length" : {
5d9c884c 21753 "alias" : "iops_wr_max_length"
de0983cb 21754 },
44660702 21755 "iops_wr_max" : {
de0983cb 21756 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
21757 "format_description" : "iops",
21758 "optional" : 1,
21759 "type" : "integer"
21760 },
5d9c884c
DM
21761 "iops_wr_max_length" : {
21762 "description" : "Maximum length of write I/O bursts in seconds.",
21763 "format_description" : "seconds",
21764 "minimum" : 1,
21765 "optional" : 1,
21766 "type" : "integer"
21767 },
44660702
DM
21768 "iothread" : {
21769 "description" : "Whether to use iothreads for this drive",
44660702
DM
21770 "optional" : 1,
21771 "type" : "boolean"
21772 },
21773 "mbps" : {
de0983cb 21774 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
21775 "format_description" : "mbps",
21776 "optional" : 1,
21777 "type" : "number"
21778 },
21779 "mbps_max" : {
de0983cb 21780 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
21781 "format_description" : "mbps",
21782 "optional" : 1,
21783 "type" : "number"
21784 },
21785 "mbps_rd" : {
de0983cb 21786 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
21787 "format_description" : "mbps",
21788 "optional" : 1,
21789 "type" : "number"
21790 },
21791 "mbps_rd_max" : {
de0983cb 21792 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
21793 "format_description" : "mbps",
21794 "optional" : 1,
21795 "type" : "number"
21796 },
21797 "mbps_wr" : {
de0983cb 21798 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
21799 "format_description" : "mbps",
21800 "optional" : 1,
21801 "type" : "number"
21802 },
21803 "mbps_wr_max" : {
de0983cb 21804 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
21805 "format_description" : "mbps",
21806 "optional" : 1,
21807 "type" : "number"
21808 },
21809 "media" : {
21810 "default" : "disk",
21811 "description" : "The drive's media type.",
21812 "enum" : [
21813 "cdrom",
21814 "disk"
21815 ],
44660702
DM
21816 "optional" : 1,
21817 "type" : "string"
21818 },
5d9c884c
DM
21819 "replicate" : {
21820 "default" : 1,
21821 "description" : "Whether the drive should considered for replication jobs.",
21822 "optional" : 1,
21823 "type" : "boolean"
21824 },
44660702
DM
21825 "rerror" : {
21826 "description" : "Read error action.",
21827 "enum" : [
21828 "ignore",
21829 "report",
21830 "stop"
21831 ],
44660702
DM
21832 "optional" : 1,
21833 "type" : "string"
21834 },
21835 "secs" : {
21836 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
21837 "optional" : 1,
21838 "type" : "integer"
21839 },
21840 "serial" : {
21841 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
21842 "format" : "urlencoded",
21843 "format_description" : "serial",
21844 "maxLength" : 60,
21845 "optional" : 1,
21846 "type" : "string"
21847 },
27a7acb2
DM
21848 "shared" : {
21849 "default" : 0,
21850 "description" : "Mark this locally-managed volume as available on all nodes",
21851 "optional" : 1,
21852 "type" : "boolean",
21853 "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!"
21854 },
44660702
DM
21855 "size" : {
21856 "description" : "Disk size. This is purely informational and has no effect.",
21857 "format" : "disk-size",
f004f5b9 21858 "format_description" : "DiskSize",
44660702
DM
21859 "optional" : 1,
21860 "type" : "string"
21861 },
21862 "snapshot" : {
27a7acb2 21863 "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
21864 "optional" : 1,
21865 "type" : "boolean"
21866 },
21867 "trans" : {
21868 "description" : "Force disk geometry bios translation mode.",
21869 "enum" : [
21870 "none",
21871 "lba",
21872 "auto"
21873 ],
44660702
DM
21874 "optional" : 1,
21875 "type" : "string"
21876 },
21877 "volume" : {
21878 "alias" : "file"
21879 },
21880 "werror" : {
21881 "description" : "Write error action.",
21882 "enum" : [
21883 "enospc",
21884 "ignore",
21885 "report",
21886 "stop"
21887 ],
44660702
DM
21888 "optional" : 1,
21889 "type" : "string"
21890 }
21891 },
21892 "optional" : 1,
4bd7df8b 21893 "type" : "string",
27a7acb2 21894 "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 21895 },
4d47f125
TL
21896 "vmgenid" : {
21897 "default" : "1 (autogenerated)",
21898 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
21899 "format_description" : "UUID",
21900 "optional" : 1,
21901 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
21902 "type" : "string",
21903 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
21904 },
44660702
DM
21905 "vmid" : {
21906 "description" : "The (unique) ID of the VM.",
21907 "format" : "pve-vmid",
21908 "minimum" : 1,
4bd7df8b 21909 "type" : "integer",
013dc89f 21910 "typetext" : "<integer> (1 - N)"
44660702 21911 },
2489d6df
WB
21912 "vmstatestorage" : {
21913 "description" : "Default storage for VM state volumes/files.",
21914 "format" : "pve-storage-id",
21915 "optional" : 1,
21916 "type" : "string",
21917 "typetext" : "<string>"
21918 },
44660702 21919 "watchdog" : {
c2993fe5 21920 "description" : "Create a virtual hardware watchdog device.",
44660702 21921 "format" : "pve-qm-watchdog",
7aacca6f 21922 "optional" : 1,
c2993fe5 21923 "type" : "string",
013dc89f 21924 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 21925 "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 21926 }
44660702 21927 }
56122987 21928 },
56122987 21929 "permissions" : {
44660702
DM
21930 "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.",
21931 "user" : "all"
56122987 21932 },
44660702
DM
21933 "protected" : 1,
21934 "proxyto" : "node",
56122987 21935 "returns" : {
44660702 21936 "type" : "string"
7aacca6f 21937 }
56122987 21938 }
7aacca6f 21939 },
44660702 21940 "leaf" : 0,
7aacca6f 21941 "path" : "/nodes/{node}/qemu",
44660702 21942 "text" : "qemu"
56122987
DM
21943 },
21944 {
21945 "children" : [
21946 {
56122987
DM
21947 "children" : [
21948 {
56122987 21949 "info" : {
44660702 21950 "GET" : {
e9cd3bd4 21951 "allowtoken" : 1,
44660702
DM
21952 "description" : "Get container configuration.",
21953 "method" : "GET",
21954 "name" : "vm_config",
21955 "parameters" : {
21956 "additionalProperties" : 0,
21957 "properties" : {
1c532546
TL
21958 "current" : {
21959 "default" : 0,
21960 "description" : "Get current values (instead of pending values).",
21961 "optional" : 1,
21962 "type" : "boolean",
21963 "typetext" : "<boolean>"
21964 },
44660702
DM
21965 "node" : {
21966 "description" : "The cluster node name.",
21967 "format" : "pve-node",
013dc89f 21968 "type" : "string",
4d47f125
TL
21969 "typetext" : "<string>"
21970 },
5f26e15b
TL
21971 "snapshot" : {
21972 "description" : "Fetch config values from given snapshot.",
21973 "format" : "pve-configid",
21974 "maxLength" : 40,
21975 "optional" : 1,
21976 "type" : "string",
21977 "typetext" : "<string>"
21978 },
4d47f125
TL
21979 "vmid" : {
21980 "description" : "The (unique) ID of the VM.",
21981 "format" : "pve-vmid",
21982 "minimum" : 1,
21983 "type" : "integer",
21984 "typetext" : "<integer> (1 - N)"
21985 }
21986 }
21987 },
21988 "permissions" : {
21989 "check" : [
21990 "perm",
21991 "/vms/{vmid}",
21992 [
21993 "VM.Audit"
21994 ]
21995 ]
21996 },
21997 "proxyto" : "node",
21998 "returns" : {
21999 "properties" : {
22000 "arch" : {
22001 "default" : "amd64",
22002 "description" : "OS architecture type.",
22003 "enum" : [
22004 "amd64",
22005 "i386",
22006 "arm64",
22007 "armhf"
22008 ],
22009 "optional" : 1,
22010 "type" : "string"
22011 },
22012 "cmode" : {
22013 "default" : "tty",
22014 "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).",
22015 "enum" : [
22016 "shell",
22017 "console",
22018 "tty"
22019 ],
22020 "optional" : 1,
22021 "type" : "string"
22022 },
22023 "console" : {
22024 "default" : 1,
22025 "description" : "Attach a console device (/dev/console) to the container.",
22026 "optional" : 1,
22027 "type" : "boolean"
22028 },
22029 "cores" : {
22030 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
22031 "maximum" : 128,
22032 "minimum" : 1,
22033 "optional" : 1,
22034 "type" : "integer"
22035 },
22036 "cpulimit" : {
22037 "default" : 0,
22038 "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.",
22039 "maximum" : 128,
22040 "minimum" : 0,
22041 "optional" : 1,
22042 "type" : "number"
22043 },
22044 "cpuunits" : {
22045 "default" : 1024,
22046 "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.",
22047 "maximum" : 500000,
22048 "minimum" : 0,
22049 "optional" : 1,
22050 "type" : "integer"
22051 },
22052 "description" : {
22053 "description" : "Container description. Only used on the configuration web interface.",
22054 "optional" : 1,
22055 "type" : "string"
22056 },
22057 "digest" : {
22058 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
22059 "type" : "string"
22060 },
22061 "features" : {
22062 "description" : "Allow containers access to advanced features.",
22063 "format" : {
c5aa7e14
TL
22064 "force_rw_sys" : {
22065 "default" : 0,
22066 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
22067 "optional" : 1,
22068 "type" : "boolean"
22069 },
e2d681b3
TL
22070 "fuse" : {
22071 "default" : 0,
22072 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
22073 "optional" : 1,
22074 "type" : "boolean"
22075 },
4d47f125
TL
22076 "keyctl" : {
22077 "default" : 0,
22078 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
22079 "optional" : 1,
22080 "type" : "boolean"
22081 },
c5aa7e14
TL
22082 "mknod" : {
22083 "default" : 0,
22084 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
22085 "optional" : 1,
22086 "type" : "boolean"
22087 },
4d47f125
TL
22088 "mount" : {
22089 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
22090 "format_description" : "fstype;fstype;...",
22091 "optional" : 1,
95895385 22092 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
22093 "type" : "string"
22094 },
22095 "nesting" : {
22096 "default" : 0,
22097 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
22098 "optional" : 1,
22099 "type" : "boolean"
22100 }
22101 },
22102 "optional" : 1,
22103 "type" : "string"
22104 },
5f26e15b
TL
22105 "hookscript" : {
22106 "description" : "Script that will be exectued during various steps in the containers lifetime.",
22107 "format" : "pve-volume-id",
22108 "optional" : 1,
22109 "type" : "string"
22110 },
4d47f125
TL
22111 "hostname" : {
22112 "description" : "Set a host name for the container.",
22113 "format" : "dns-name",
22114 "maxLength" : 255,
22115 "optional" : 1,
22116 "type" : "string"
22117 },
22118 "lock" : {
22119 "description" : "Lock/unlock the VM.",
22120 "enum" : [
22121 "backup",
bb4c8cf8 22122 "create",
1c532546 22123 "destroyed",
4d47f125 22124 "disk",
bb4c8cf8 22125 "fstrim",
4d47f125
TL
22126 "migrate",
22127 "mounted",
22128 "rollback",
22129 "snapshot",
22130 "snapshot-delete"
22131 ],
22132 "optional" : 1,
22133 "type" : "string"
22134 },
22135 "lxc" : {
22136 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
22137 "items" : {
22138 "items" : {
22139 "type" : "string"
22140 },
22141 "type" : "array"
22142 },
22143 "optional" : 1,
22144 "type" : "array"
22145 },
22146 "memory" : {
22147 "default" : 512,
22148 "description" : "Amount of RAM for the VM in MB.",
22149 "minimum" : 16,
22150 "optional" : 1,
22151 "type" : "integer"
22152 },
22153 "mp[n]" : {
22154 "description" : "Use volume as container mount point.",
22155 "format" : {
22156 "acl" : {
22157 "description" : "Explicitly enable or disable ACL support.",
22158 "optional" : 1,
22159 "type" : "boolean"
22160 },
22161 "backup" : {
22162 "description" : "Whether to include the mount point in backups.",
22163 "optional" : 1,
22164 "type" : "boolean",
22165 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
22166 },
7cbed89a
TL
22167 "mountoptions" : {
22168 "description" : "Extra mount options for rootfs/mps.",
22169 "format_description" : "opt[;opt...]",
22170 "optional" : 1,
22171 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22172 "type" : "string"
22173 },
4d47f125
TL
22174 "mp" : {
22175 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
22176 "format" : "pve-lxc-mp-string",
22177 "format_description" : "Path",
22178 "type" : "string",
22179 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
22180 },
22181 "quota" : {
22182 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22183 "optional" : 1,
22184 "type" : "boolean"
22185 },
22186 "replicate" : {
22187 "default" : 1,
22188 "description" : "Will include this volume to a storage replica job.",
22189 "optional" : 1,
22190 "type" : "boolean"
22191 },
22192 "ro" : {
22193 "description" : "Read-only mount point",
22194 "optional" : 1,
22195 "type" : "boolean"
22196 },
22197 "shared" : {
22198 "default" : 0,
22199 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22200 "optional" : 1,
22201 "type" : "boolean",
22202 "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!"
22203 },
22204 "size" : {
22205 "description" : "Volume size (read only value).",
22206 "format" : "disk-size",
22207 "format_description" : "DiskSize",
22208 "optional" : 1,
22209 "type" : "string"
22210 },
22211 "volume" : {
22212 "default_key" : 1,
22213 "description" : "Volume, device or directory to mount into the container.",
22214 "format" : "pve-lxc-mp-string",
22215 "format_description" : "volume",
22216 "type" : "string"
22217 }
22218 },
22219 "optional" : 1,
22220 "type" : "string"
22221 },
22222 "nameserver" : {
22223 "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.",
22224 "format" : "address-list",
22225 "optional" : 1,
22226 "type" : "string"
22227 },
22228 "net[n]" : {
22229 "description" : "Specifies network interfaces for the container.",
22230 "format" : {
22231 "bridge" : {
22232 "description" : "Bridge to attach the network device to.",
22233 "format_description" : "bridge",
22234 "optional" : 1,
22235 "pattern" : "[-_.\\w\\d]+",
22236 "type" : "string"
22237 },
22238 "firewall" : {
22239 "description" : "Controls whether this interface's firewall rules should be used.",
22240 "optional" : 1,
22241 "type" : "boolean"
22242 },
22243 "gw" : {
22244 "description" : "Default gateway for IPv4 traffic.",
22245 "format" : "ipv4",
22246 "format_description" : "GatewayIPv4",
22247 "optional" : 1,
22248 "type" : "string"
22249 },
22250 "gw6" : {
22251 "description" : "Default gateway for IPv6 traffic.",
22252 "format" : "ipv6",
22253 "format_description" : "GatewayIPv6",
22254 "optional" : 1,
22255 "type" : "string"
22256 },
22257 "hwaddr" : {
22258 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 22259 "format" : "mac-addr",
4d47f125
TL
22260 "format_description" : "XX:XX:XX:XX:XX:XX",
22261 "optional" : 1,
95895385
TL
22262 "type" : "string",
22263 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
22264 },
22265 "ip" : {
22266 "description" : "IPv4 address in CIDR format.",
22267 "format" : "pve-ipv4-config",
22268 "format_description" : "(IPv4/CIDR|dhcp|manual)",
22269 "optional" : 1,
22270 "type" : "string"
22271 },
22272 "ip6" : {
22273 "description" : "IPv6 address in CIDR format.",
22274 "format" : "pve-ipv6-config",
22275 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
22276 "optional" : 1,
22277 "type" : "string"
22278 },
22279 "mtu" : {
22280 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
22281 "minimum" : 64,
22282 "optional" : 1,
22283 "type" : "integer"
22284 },
22285 "name" : {
22286 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
22287 "format_description" : "string",
22288 "pattern" : "[-_.\\w\\d]+",
22289 "type" : "string"
22290 },
22291 "rate" : {
22292 "description" : "Apply rate limiting to the interface",
22293 "format_description" : "mbps",
22294 "optional" : 1,
22295 "type" : "number"
22296 },
22297 "tag" : {
22298 "description" : "VLAN tag for this interface.",
22299 "maximum" : 4094,
22300 "minimum" : 1,
22301 "optional" : 1,
22302 "type" : "integer"
22303 },
22304 "trunks" : {
22305 "description" : "VLAN ids to pass through the interface",
22306 "format_description" : "vlanid[;vlanid...]",
22307 "optional" : 1,
22308 "pattern" : "(?^:\\d+(?:;\\d+)*)",
22309 "type" : "string"
22310 },
22311 "type" : {
22312 "description" : "Network interface type.",
22313 "enum" : [
22314 "veth"
22315 ],
22316 "optional" : 1,
22317 "type" : "string"
22318 }
22319 },
22320 "optional" : 1,
22321 "type" : "string"
22322 },
22323 "onboot" : {
22324 "default" : 0,
22325 "description" : "Specifies whether a VM will be started during system bootup.",
22326 "optional" : 1,
22327 "type" : "boolean"
22328 },
22329 "ostype" : {
22330 "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.",
22331 "enum" : [
22332 "debian",
22333 "ubuntu",
22334 "centos",
22335 "fedora",
22336 "opensuse",
22337 "archlinux",
22338 "alpine",
22339 "gentoo",
22340 "unmanaged"
22341 ],
22342 "optional" : 1,
22343 "type" : "string"
22344 },
22345 "protection" : {
22346 "default" : 0,
22347 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
22348 "optional" : 1,
22349 "type" : "boolean"
22350 },
22351 "rootfs" : {
22352 "description" : "Use volume as container root.",
22353 "format" : {
22354 "acl" : {
22355 "description" : "Explicitly enable or disable ACL support.",
22356 "optional" : 1,
22357 "type" : "boolean"
22358 },
7cbed89a
TL
22359 "mountoptions" : {
22360 "description" : "Extra mount options for rootfs/mps.",
22361 "format_description" : "opt[;opt...]",
22362 "optional" : 1,
22363 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22364 "type" : "string"
22365 },
4d47f125
TL
22366 "quota" : {
22367 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22368 "optional" : 1,
22369 "type" : "boolean"
22370 },
22371 "replicate" : {
22372 "default" : 1,
22373 "description" : "Will include this volume to a storage replica job.",
22374 "optional" : 1,
22375 "type" : "boolean"
22376 },
22377 "ro" : {
22378 "description" : "Read-only mount point",
22379 "optional" : 1,
22380 "type" : "boolean"
22381 },
22382 "shared" : {
22383 "default" : 0,
22384 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22385 "optional" : 1,
22386 "type" : "boolean",
22387 "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!"
22388 },
22389 "size" : {
22390 "description" : "Volume size (read only value).",
22391 "format" : "disk-size",
22392 "format_description" : "DiskSize",
22393 "optional" : 1,
22394 "type" : "string"
22395 },
22396 "volume" : {
22397 "default_key" : 1,
22398 "description" : "Volume, device or directory to mount into the container.",
22399 "format" : "pve-lxc-mp-string",
22400 "format_description" : "volume",
22401 "type" : "string"
22402 }
22403 },
22404 "optional" : 1,
22405 "type" : "string"
22406 },
22407 "searchdomain" : {
22408 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
22409 "format" : "dns-name-list",
22410 "optional" : 1,
22411 "type" : "string"
22412 },
22413 "startup" : {
22414 "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.",
22415 "format" : "pve-startup-order",
22416 "optional" : 1,
22417 "type" : "string",
22418 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
22419 },
22420 "swap" : {
22421 "default" : 512,
22422 "description" : "Amount of SWAP for the VM in MB.",
22423 "minimum" : 0,
22424 "optional" : 1,
22425 "type" : "integer"
22426 },
5c1699e5
TL
22427 "tags" : {
22428 "description" : "Tags of the Container. This is only meta information.",
22429 "format" : "pve-tag-list",
22430 "optional" : 1,
22431 "type" : "string"
22432 },
4d47f125
TL
22433 "template" : {
22434 "default" : 0,
22435 "description" : "Enable/disable Template.",
22436 "optional" : 1,
22437 "type" : "boolean"
44660702 22438 },
4d47f125
TL
22439 "tty" : {
22440 "default" : 2,
22441 "description" : "Specify the number of tty available to the container",
22442 "maximum" : 6,
22443 "minimum" : 0,
22444 "optional" : 1,
22445 "type" : "integer"
22446 },
22447 "unprivileged" : {
22448 "default" : 0,
22449 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
22450 "optional" : 1,
22451 "type" : "boolean"
22452 },
22453 "unused[n]" : {
22454 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
22455 "format" : {
22456 "volume" : {
22457 "default_key" : 1,
22458 "description" : "The volume that is not used currently.",
22459 "format" : "pve-volume-id",
22460 "format_description" : "volume",
22461 "type" : "string"
22462 }
22463 },
4d47f125 22464 "optional" : 1,
44660702
DM
22465 "type" : "string"
22466 }
22467 },
22468 "type" : "object"
22469 }
22470 },
56122987 22471 "PUT" : {
e9cd3bd4 22472 "allowtoken" : 1,
44660702
DM
22473 "description" : "Set container options.",
22474 "method" : "PUT",
22475 "name" : "update_vm",
56122987 22476 "parameters" : {
44660702 22477 "additionalProperties" : 0,
56122987 22478 "properties" : {
44660702
DM
22479 "arch" : {
22480 "default" : "amd64",
22481 "description" : "OS architecture type.",
22482 "enum" : [
22483 "amd64",
4d47f125
TL
22484 "i386",
22485 "arm64",
22486 "armhf"
44660702 22487 ],
7aacca6f 22488 "optional" : 1,
44660702
DM
22489 "type" : "string"
22490 },
22491 "cmode" : {
7aacca6f 22492 "default" : "tty",
44660702 22493 "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
22494 "enum" : [
22495 "shell",
22496 "console",
22497 "tty"
22498 ],
44660702
DM
22499 "optional" : 1,
22500 "type" : "string"
7aacca6f 22501 },
44660702
DM
22502 "console" : {
22503 "default" : 1,
22504 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 22505 "optional" : 1,
013dc89f
DM
22506 "type" : "boolean",
22507 "typetext" : "<boolean>"
7aacca6f 22508 },
de0983cb
DM
22509 "cores" : {
22510 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
22511 "maximum" : 128,
22512 "minimum" : 1,
22513 "optional" : 1,
22514 "type" : "integer",
013dc89f 22515 "typetext" : "<integer> (1 - 128)"
de0983cb 22516 },
44660702
DM
22517 "cpulimit" : {
22518 "default" : 0,
22519 "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.",
22520 "maximum" : 128,
7aacca6f 22521 "minimum" : 0,
7aacca6f 22522 "optional" : 1,
4bd7df8b 22523 "type" : "number",
013dc89f 22524 "typetext" : "<number> (0 - 128)"
7aacca6f 22525 },
44660702
DM
22526 "cpuunits" : {
22527 "default" : 1024,
22528 "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.",
22529 "maximum" : 500000,
22530 "minimum" : 0,
22531 "optional" : 1,
4bd7df8b 22532 "type" : "integer",
013dc89f 22533 "typetext" : "<integer> (0 - 500000)"
7aacca6f 22534 },
44660702
DM
22535 "delete" : {
22536 "description" : "A list of settings you want to delete.",
22537 "format" : "pve-configid-list",
7aacca6f 22538 "optional" : 1,
013dc89f
DM
22539 "type" : "string",
22540 "typetext" : "<string>"
7aacca6f 22541 },
44660702
DM
22542 "description" : {
22543 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 22544 "optional" : 1,
013dc89f
DM
22545 "type" : "string",
22546 "typetext" : "<string>"
7aacca6f 22547 },
44660702
DM
22548 "digest" : {
22549 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22550 "maxLength" : 40,
7aacca6f 22551 "optional" : 1,
013dc89f
DM
22552 "type" : "string",
22553 "typetext" : "<string>"
7aacca6f 22554 },
4d47f125
TL
22555 "features" : {
22556 "description" : "Allow containers access to advanced features.",
22557 "format" : {
c5aa7e14
TL
22558 "force_rw_sys" : {
22559 "default" : 0,
22560 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
22561 "optional" : 1,
22562 "type" : "boolean"
22563 },
e2d681b3
TL
22564 "fuse" : {
22565 "default" : 0,
22566 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
22567 "optional" : 1,
22568 "type" : "boolean"
22569 },
4d47f125
TL
22570 "keyctl" : {
22571 "default" : 0,
22572 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
22573 "optional" : 1,
22574 "type" : "boolean"
22575 },
c5aa7e14
TL
22576 "mknod" : {
22577 "default" : 0,
22578 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
22579 "optional" : 1,
22580 "type" : "boolean"
22581 },
4d47f125
TL
22582 "mount" : {
22583 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
22584 "format_description" : "fstype;fstype;...",
22585 "optional" : 1,
95895385 22586 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
22587 "type" : "string"
22588 },
22589 "nesting" : {
22590 "default" : 0,
22591 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
22592 "optional" : 1,
22593 "type" : "boolean"
22594 }
22595 },
22596 "optional" : 1,
22597 "type" : "string",
c5aa7e14 22598 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 22599 },
5f26e15b
TL
22600 "hookscript" : {
22601 "description" : "Script that will be exectued during various steps in the containers lifetime.",
22602 "format" : "pve-volume-id",
22603 "optional" : 1,
22604 "type" : "string",
22605 "typetext" : "<string>"
22606 },
44660702
DM
22607 "hostname" : {
22608 "description" : "Set a host name for the container.",
22609 "format" : "dns-name",
22610 "maxLength" : 255,
56122987 22611 "optional" : 1,
013dc89f
DM
22612 "type" : "string",
22613 "typetext" : "<string>"
44660702
DM
22614 },
22615 "lock" : {
22616 "description" : "Lock/unlock the VM.",
22617 "enum" : [
44660702 22618 "backup",
bb4c8cf8 22619 "create",
1c532546 22620 "destroyed",
4d47f125 22621 "disk",
bb4c8cf8 22622 "fstrim",
4d47f125
TL
22623 "migrate",
22624 "mounted",
22625 "rollback",
44660702 22626 "snapshot",
4d47f125 22627 "snapshot-delete"
44660702
DM
22628 ],
22629 "optional" : 1,
22630 "type" : "string"
22631 },
22632 "memory" : {
22633 "default" : 512,
22634 "description" : "Amount of RAM for the VM in MB.",
22635 "minimum" : 16,
22636 "optional" : 1,
4bd7df8b 22637 "type" : "integer",
013dc89f 22638 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
22639 },
22640 "mp[n]" : {
c2993fe5 22641 "description" : "Use volume as container mount point.",
7aacca6f 22642 "format" : {
7aacca6f
DM
22643 "acl" : {
22644 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 22645 "optional" : 1,
44660702 22646 "type" : "boolean"
7aacca6f
DM
22647 },
22648 "backup" : {
de0983cb 22649 "description" : "Whether to include the mount point in backups.",
7aacca6f 22650 "optional" : 1,
4bd7df8b 22651 "type" : "boolean",
de0983cb 22652 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 22653 },
7cbed89a
TL
22654 "mountoptions" : {
22655 "description" : "Extra mount options for rootfs/mps.",
22656 "format_description" : "opt[;opt...]",
22657 "optional" : 1,
22658 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22659 "type" : "string"
22660 },
7aacca6f 22661 "mp" : {
de0983cb 22662 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 22663 "format" : "pve-lxc-mp-string",
44660702 22664 "format_description" : "Path",
4bd7df8b 22665 "type" : "string",
de0983cb 22666 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 22667 },
5d9c884c
DM
22668 "quota" : {
22669 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
22670 "optional" : 1,
22671 "type" : "boolean"
22672 },
22673 "replicate" : {
22674 "default" : 1,
22675 "description" : "Will include this volume to a storage replica job.",
44660702
DM
22676 "optional" : 1,
22677 "type" : "boolean"
22678 },
22679 "ro" : {
de0983cb 22680 "description" : "Read-only mount point",
44660702
DM
22681 "optional" : 1,
22682 "type" : "boolean"
22683 },
de0983cb
DM
22684 "shared" : {
22685 "default" : 0,
22686 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22687 "optional" : 1,
22688 "type" : "boolean",
22689 "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!"
22690 },
44660702
DM
22691 "size" : {
22692 "description" : "Volume size (read only value).",
22693 "format" : "disk-size",
22694 "format_description" : "DiskSize",
22695 "optional" : 1,
22696 "type" : "string"
22697 },
22698 "volume" : {
22699 "default_key" : 1,
22700 "description" : "Volume, device or directory to mount into the container.",
22701 "format" : "pve-lxc-mp-string",
22702 "format_description" : "volume",
22703 "type" : "string"
22704 }
22705 },
7aacca6f 22706 "optional" : 1,
4bd7df8b 22707 "type" : "string",
7cbed89a 22708 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 22709 },
44660702
DM
22710 "nameserver" : {
22711 "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.",
22712 "format" : "address-list",
56122987 22713 "optional" : 1,
013dc89f
DM
22714 "type" : "string",
22715 "typetext" : "<string>"
56122987
DM
22716 },
22717 "net[n]" : {
44660702 22718 "description" : "Specifies network interfaces for the container.",
56122987 22719 "format" : {
44660702
DM
22720 "bridge" : {
22721 "description" : "Bridge to attach the network device to.",
f004f5b9 22722 "format_description" : "bridge",
56122987 22723 "optional" : 1,
44660702
DM
22724 "pattern" : "[-_.\\w\\d]+",
22725 "type" : "string"
56122987 22726 },
44660702
DM
22727 "firewall" : {
22728 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 22729 "optional" : 1,
44660702 22730 "type" : "boolean"
56122987 22731 },
44660702
DM
22732 "gw" : {
22733 "description" : "Default gateway for IPv4 traffic.",
22734 "format" : "ipv4",
22735 "format_description" : "GatewayIPv4",
56122987 22736 "optional" : 1,
44660702 22737 "type" : "string"
56122987
DM
22738 },
22739 "gw6" : {
7aacca6f 22740 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
22741 "format" : "ipv6",
22742 "format_description" : "GatewayIPv6",
7aacca6f 22743 "optional" : 1,
56122987
DM
22744 "type" : "string"
22745 },
44660702 22746 "hwaddr" : {
f004f5b9 22747 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 22748 "format" : "mac-addr",
f004f5b9 22749 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 22750 "optional" : 1,
95895385
TL
22751 "type" : "string",
22752 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
22753 },
22754 "ip" : {
22755 "description" : "IPv4 address in CIDR format.",
22756 "format" : "pve-ipv4-config",
2489d6df 22757 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 22758 "optional" : 1,
44660702 22759 "type" : "string"
56122987 22760 },
7aacca6f 22761 "ip6" : {
7aacca6f
DM
22762 "description" : "IPv6 address in CIDR format.",
22763 "format" : "pve-ipv6-config",
2489d6df 22764 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 22765 "optional" : 1,
44660702 22766 "type" : "string"
56122987 22767 },
44660702
DM
22768 "mtu" : {
22769 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 22770 "minimum" : 64,
56122987 22771 "optional" : 1,
44660702 22772 "type" : "integer"
56122987
DM
22773 },
22774 "name" : {
44660702 22775 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 22776 "format_description" : "string",
56122987 22777 "pattern" : "[-_.\\w\\d]+",
44660702 22778 "type" : "string"
56122987 22779 },
44660702
DM
22780 "rate" : {
22781 "description" : "Apply rate limiting to the interface",
22782 "format_description" : "mbps",
56122987 22783 "optional" : 1,
44660702 22784 "type" : "number"
7aacca6f 22785 },
44660702
DM
22786 "tag" : {
22787 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
22788 "maximum" : 4094,
22789 "minimum" : 1,
56122987 22790 "optional" : 1,
7aacca6f 22791 "type" : "integer"
56122987 22792 },
44660702
DM
22793 "trunks" : {
22794 "description" : "VLAN ids to pass through the interface",
22795 "format_description" : "vlanid[;vlanid...]",
22796 "optional" : 1,
22797 "pattern" : "(?^:\\d+(?:;\\d+)*)",
22798 "type" : "string"
22799 },
22800 "type" : {
22801 "description" : "Network interface type.",
22802 "enum" : [
22803 "veth"
22804 ],
56122987 22805 "optional" : 1,
44660702 22806 "type" : "string"
56122987
DM
22807 }
22808 },
7aacca6f 22809 "optional" : 1,
4bd7df8b 22810 "type" : "string",
2489d6df 22811 "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 22812 },
44660702
DM
22813 "node" : {
22814 "description" : "The cluster node name.",
22815 "format" : "pve-node",
013dc89f
DM
22816 "type" : "string",
22817 "typetext" : "<string>"
56122987 22818 },
44660702
DM
22819 "onboot" : {
22820 "default" : 0,
22821 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 22822 "optional" : 1,
013dc89f
DM
22823 "type" : "boolean",
22824 "typetext" : "<boolean>"
56122987 22825 },
44660702
DM
22826 "ostype" : {
22827 "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.",
22828 "enum" : [
22829 "debian",
22830 "ubuntu",
22831 "centos",
22832 "fedora",
22833 "opensuse",
22834 "archlinux",
22835 "alpine",
57b78691 22836 "gentoo",
44660702
DM
22837 "unmanaged"
22838 ],
56122987 22839 "optional" : 1,
44660702 22840 "type" : "string"
56122987 22841 },
44660702
DM
22842 "protection" : {
22843 "default" : 0,
22844 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 22845 "optional" : 1,
013dc89f
DM
22846 "type" : "boolean",
22847 "typetext" : "<boolean>"
56122987 22848 },
1c532546
TL
22849 "revert" : {
22850 "description" : "Revert a pending change.",
22851 "format" : "pve-configid-list",
22852 "optional" : 1,
22853 "type" : "string",
22854 "typetext" : "<string>"
22855 },
7aacca6f
DM
22856 "rootfs" : {
22857 "description" : "Use volume as container root.",
56122987
DM
22858 "format" : {
22859 "acl" : {
44660702 22860 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
22861 "optional" : 1,
22862 "type" : "boolean"
56122987 22863 },
7cbed89a
TL
22864 "mountoptions" : {
22865 "description" : "Extra mount options for rootfs/mps.",
22866 "format_description" : "opt[;opt...]",
22867 "optional" : 1,
22868 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
22869 "type" : "string"
22870 },
44660702
DM
22871 "quota" : {
22872 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
22873 "optional" : 1,
22874 "type" : "boolean"
22875 },
5d9c884c
DM
22876 "replicate" : {
22877 "default" : 1,
22878 "description" : "Will include this volume to a storage replica job.",
22879 "optional" : 1,
22880 "type" : "boolean"
22881 },
44660702 22882 "ro" : {
de0983cb 22883 "description" : "Read-only mount point",
56122987 22884 "optional" : 1,
44660702
DM
22885 "type" : "boolean"
22886 },
de0983cb
DM
22887 "shared" : {
22888 "default" : 0,
22889 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
22890 "optional" : 1,
22891 "type" : "boolean",
22892 "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!"
22893 },
44660702 22894 "size" : {
7aacca6f 22895 "description" : "Volume size (read only value).",
44660702 22896 "format" : "disk-size",
56122987 22897 "format_description" : "DiskSize",
56122987 22898 "optional" : 1,
44660702 22899 "type" : "string"
7aacca6f
DM
22900 },
22901 "volume" : {
7aacca6f
DM
22902 "default_key" : 1,
22903 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
22904 "format" : "pve-lxc-mp-string",
22905 "format_description" : "volume",
7aacca6f 22906 "type" : "string"
56122987 22907 }
44660702
DM
22908 },
22909 "optional" : 1,
4bd7df8b 22910 "type" : "string",
7cbed89a 22911 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
22912 },
22913 "searchdomain" : {
22914 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
22915 "format" : "dns-name-list",
22916 "optional" : 1,
013dc89f
DM
22917 "type" : "string",
22918 "typetext" : "<string>"
44660702
DM
22919 },
22920 "startup" : {
22921 "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.",
22922 "format" : "pve-startup-order",
22923 "optional" : 1,
22924 "type" : "string",
22925 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
22926 },
22927 "swap" : {
22928 "default" : 512,
22929 "description" : "Amount of SWAP for the VM in MB.",
22930 "minimum" : 0,
22931 "optional" : 1,
4bd7df8b 22932 "type" : "integer",
013dc89f 22933 "typetext" : "<integer> (0 - N)"
56122987 22934 },
5c1699e5
TL
22935 "tags" : {
22936 "description" : "Tags of the Container. This is only meta information.",
22937 "format" : "pve-tag-list",
22938 "optional" : 1,
22939 "type" : "string",
22940 "typetext" : "<string>"
22941 },
56122987 22942 "template" : {
44660702 22943 "default" : 0,
7aacca6f 22944 "description" : "Enable/disable Template.",
56122987 22945 "optional" : 1,
013dc89f
DM
22946 "type" : "boolean",
22947 "typetext" : "<boolean>"
56122987 22948 },
44660702
DM
22949 "tty" : {
22950 "default" : 2,
22951 "description" : "Specify the number of tty available to the container",
22952 "maximum" : 6,
22953 "minimum" : 0,
22954 "optional" : 1,
4bd7df8b 22955 "type" : "integer",
013dc89f 22956 "typetext" : "<integer> (0 - 6)"
56122987 22957 },
44660702
DM
22958 "unprivileged" : {
22959 "default" : 0,
22960 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 22961 "optional" : 1,
013dc89f
DM
22962 "type" : "boolean",
22963 "typetext" : "<boolean>"
56122987 22964 },
44660702 22965 "unused[n]" : {
c2993fe5 22966 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
22967 "format" : {
22968 "volume" : {
22969 "default_key" : 1,
22970 "description" : "The volume that is not used currently.",
22971 "format" : "pve-volume-id",
22972 "format_description" : "volume",
22973 "type" : "string"
22974 }
22975 },
56122987 22976 "optional" : 1,
013dc89f 22977 "type" : "string",
c5aa7e14 22978 "typetext" : "[volume=]<volume>"
44660702
DM
22979 },
22980 "vmid" : {
22981 "description" : "The (unique) ID of the VM.",
22982 "format" : "pve-vmid",
22983 "minimum" : 1,
4bd7df8b 22984 "type" : "integer",
013dc89f 22985 "typetext" : "<integer> (1 - N)"
56122987 22986 }
44660702 22987 }
56122987 22988 },
56122987
DM
22989 "permissions" : {
22990 "check" : [
22991 "perm",
22992 "/vms/{vmid}",
22993 [
22994 "VM.Config.Disk",
22995 "VM.Config.CPU",
22996 "VM.Config.Memory",
22997 "VM.Config.Network",
22998 "VM.Config.Options"
22999 ],
23000 "any",
23001 1
52e44c50
FG
23002 ],
23003 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 23004 },
44660702
DM
23005 "protected" : 1,
23006 "proxyto" : "node",
56122987
DM
23007 "returns" : {
23008 "type" : "null"
7aacca6f 23009 }
56122987 23010 }
7aacca6f 23011 },
44660702 23012 "leaf" : 1,
7aacca6f 23013 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 23014 "text" : "config"
56122987
DM
23015 },
23016 {
56122987
DM
23017 "children" : [
23018 {
23019 "info" : {
23020 "GET" : {
e9cd3bd4 23021 "allowtoken" : 1,
44660702 23022 "description" : "Get virtual machine status.",
7aacca6f 23023 "method" : "GET",
44660702 23024 "name" : "vm_status",
56122987 23025 "parameters" : {
44660702 23026 "additionalProperties" : 0,
56122987 23027 "properties" : {
56122987 23028 "node" : {
44660702 23029 "description" : "The cluster node name.",
56122987 23030 "format" : "pve-node",
013dc89f
DM
23031 "type" : "string",
23032 "typetext" : "<string>"
7aacca6f
DM
23033 },
23034 "vmid" : {
23035 "description" : "The (unique) ID of the VM.",
44660702 23036 "format" : "pve-vmid",
7aacca6f 23037 "minimum" : 1,
4bd7df8b 23038 "type" : "integer",
013dc89f 23039 "typetext" : "<integer> (1 - N)"
56122987 23040 }
44660702 23041 }
7aacca6f
DM
23042 },
23043 "permissions" : {
23044 "check" : [
23045 "perm",
23046 "/vms/{vmid}",
23047 [
4d47f125
TL
23048 "VM.Audit"
23049 ]
23050 ]
23051 },
23052 "protected" : 1,
23053 "proxyto" : "node",
23054 "returns" : {
23055 "properties" : {
23056 "cpus" : {
23057 "description" : "Maximum usable CPUs.",
23058 "optional" : 1,
23059 "type" : "number"
23060 },
23061 "ha" : {
23062 "description" : "HA manager service status.",
23063 "type" : "object"
23064 },
95895385
TL
23065 "lock" : {
23066 "description" : "The current config lock, if any.",
23067 "optional" : 1,
23068 "type" : "string"
23069 },
4d47f125
TL
23070 "maxdisk" : {
23071 "description" : "Root disk size in bytes.",
23072 "optional" : 1,
23073 "renderer" : "bytes",
23074 "type" : "integer"
23075 },
23076 "maxmem" : {
23077 "description" : "Maximum memory in bytes.",
23078 "optional" : 1,
23079 "renderer" : "bytes",
23080 "type" : "integer"
23081 },
23082 "maxswap" : {
23083 "description" : "Maximum SWAP memory in bytes.",
23084 "optional" : 1,
23085 "renderer" : "bytes",
23086 "type" : "integer"
23087 },
23088 "name" : {
23089 "description" : "Container name.",
23090 "optional" : 1,
23091 "type" : "string"
23092 },
23093 "status" : {
23094 "description" : "LXC Container status.",
23095 "enum" : [
23096 "stopped",
23097 "running"
23098 ],
23099 "type" : "string"
23100 },
5c1699e5
TL
23101 "tags" : {
23102 "description" : "The current configured tags, if any.",
23103 "optional" : 1,
23104 "type" : "string"
23105 },
4d47f125
TL
23106 "uptime" : {
23107 "description" : "Uptime.",
23108 "optional" : 1,
23109 "renderer" : "duration",
23110 "type" : "integer"
23111 },
23112 "vmid" : {
23113 "description" : "The (unique) ID of the VM.",
23114 "format" : "pve-vmid",
23115 "minimum" : 1,
23116 "type" : "integer"
23117 }
23118 },
23119 "type" : "object"
23120 }
23121 }
23122 },
23123 "leaf" : 1,
23124 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
23125 "text" : "current"
23126 },
23127 {
23128 "info" : {
23129 "POST" : {
e9cd3bd4 23130 "allowtoken" : 1,
4d47f125
TL
23131 "description" : "Start the container.",
23132 "method" : "POST",
23133 "name" : "vm_start",
23134 "parameters" : {
23135 "additionalProperties" : 0,
23136 "properties" : {
23137 "node" : {
23138 "description" : "The cluster node name.",
23139 "format" : "pve-node",
23140 "type" : "string",
23141 "typetext" : "<string>"
23142 },
23143 "skiplock" : {
23144 "description" : "Ignore locks - only root is allowed to use this option.",
23145 "optional" : 1,
23146 "type" : "boolean",
23147 "typetext" : "<boolean>"
23148 },
23149 "vmid" : {
23150 "description" : "The (unique) ID of the VM.",
23151 "format" : "pve-vmid",
23152 "minimum" : 1,
23153 "type" : "integer",
23154 "typetext" : "<integer> (1 - N)"
23155 }
23156 }
23157 },
23158 "permissions" : {
23159 "check" : [
23160 "perm",
23161 "/vms/{vmid}",
23162 [
23163 "VM.PowerMgmt"
23164 ]
23165 ]
23166 },
23167 "protected" : 1,
23168 "proxyto" : "node",
23169 "returns" : {
23170 "type" : "string"
23171 }
23172 }
23173 },
23174 "leaf" : 1,
23175 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
23176 "text" : "start"
23177 },
23178 {
23179 "info" : {
23180 "POST" : {
e9cd3bd4 23181 "allowtoken" : 1,
4d47f125
TL
23182 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
23183 "method" : "POST",
23184 "name" : "vm_stop",
23185 "parameters" : {
23186 "additionalProperties" : 0,
23187 "properties" : {
23188 "node" : {
23189 "description" : "The cluster node name.",
23190 "format" : "pve-node",
23191 "type" : "string",
23192 "typetext" : "<string>"
23193 },
23194 "skiplock" : {
23195 "description" : "Ignore locks - only root is allowed to use this option.",
23196 "optional" : 1,
23197 "type" : "boolean",
23198 "typetext" : "<boolean>"
23199 },
23200 "vmid" : {
23201 "description" : "The (unique) ID of the VM.",
23202 "format" : "pve-vmid",
23203 "minimum" : 1,
23204 "type" : "integer",
23205 "typetext" : "<integer> (1 - N)"
23206 }
23207 }
23208 },
23209 "permissions" : {
23210 "check" : [
23211 "perm",
23212 "/vms/{vmid}",
23213 [
23214 "VM.PowerMgmt"
23215 ]
23216 ]
23217 },
23218 "protected" : 1,
23219 "proxyto" : "node",
23220 "returns" : {
23221 "type" : "string"
23222 }
23223 }
23224 },
23225 "leaf" : 1,
23226 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
23227 "text" : "stop"
23228 },
23229 {
23230 "info" : {
23231 "POST" : {
e9cd3bd4 23232 "allowtoken" : 1,
4d47f125
TL
23233 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
23234 "method" : "POST",
23235 "name" : "vm_shutdown",
23236 "parameters" : {
23237 "additionalProperties" : 0,
23238 "properties" : {
23239 "forceStop" : {
23240 "default" : 0,
23241 "description" : "Make sure the Container stops.",
23242 "optional" : 1,
23243 "type" : "boolean",
23244 "typetext" : "<boolean>"
23245 },
23246 "node" : {
23247 "description" : "The cluster node name.",
23248 "format" : "pve-node",
23249 "type" : "string",
23250 "typetext" : "<string>"
23251 },
23252 "timeout" : {
23253 "default" : 60,
23254 "description" : "Wait maximal timeout seconds.",
23255 "minimum" : 0,
23256 "optional" : 1,
23257 "type" : "integer",
23258 "typetext" : "<integer> (0 - N)"
23259 },
23260 "vmid" : {
23261 "description" : "The (unique) ID of the VM.",
23262 "format" : "pve-vmid",
23263 "minimum" : 1,
23264 "type" : "integer",
23265 "typetext" : "<integer> (1 - N)"
23266 }
23267 }
23268 },
23269 "permissions" : {
23270 "check" : [
23271 "perm",
23272 "/vms/{vmid}",
23273 [
23274 "VM.PowerMgmt"
7aacca6f
DM
23275 ]
23276 ]
23277 },
44660702 23278 "protected" : 1,
7aacca6f 23279 "proxyto" : "node",
44660702 23280 "returns" : {
4d47f125 23281 "type" : "string"
44660702 23282 }
56122987
DM
23283 }
23284 },
44660702 23285 "leaf" : 1,
4d47f125
TL
23286 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
23287 "text" : "shutdown"
56122987
DM
23288 },
23289 {
56122987
DM
23290 "info" : {
23291 "POST" : {
e9cd3bd4 23292 "allowtoken" : 1,
4d47f125 23293 "description" : "Suspend the container.",
44660702 23294 "method" : "POST",
4d47f125 23295 "name" : "vm_suspend",
56122987
DM
23296 "parameters" : {
23297 "additionalProperties" : 0,
23298 "properties" : {
56122987 23299 "node" : {
7aacca6f 23300 "description" : "The cluster node name.",
44660702 23301 "format" : "pve-node",
013dc89f
DM
23302 "type" : "string",
23303 "typetext" : "<string>"
56122987
DM
23304 },
23305 "vmid" : {
7aacca6f 23306 "description" : "The (unique) ID of the VM.",
44660702 23307 "format" : "pve-vmid",
56122987 23308 "minimum" : 1,
4bd7df8b 23309 "type" : "integer",
013dc89f 23310 "typetext" : "<integer> (1 - N)"
56122987
DM
23311 }
23312 }
23313 },
23314 "permissions" : {
23315 "check" : [
23316 "perm",
23317 "/vms/{vmid}",
23318 [
23319 "VM.PowerMgmt"
23320 ]
23321 ]
23322 },
44660702 23323 "protected" : 1,
7aacca6f 23324 "proxyto" : "node",
44660702
DM
23325 "returns" : {
23326 "type" : "string"
23327 }
23328 }
23329 },
23330 "leaf" : 1,
4d47f125
TL
23331 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
23332 "text" : "suspend"
44660702
DM
23333 },
23334 {
23335 "info" : {
23336 "POST" : {
e9cd3bd4 23337 "allowtoken" : 1,
4d47f125 23338 "description" : "Resume the container.",
7aacca6f 23339 "method" : "POST",
4d47f125 23340 "name" : "vm_resume",
7aacca6f 23341 "parameters" : {
44660702 23342 "additionalProperties" : 0,
7aacca6f 23343 "properties" : {
44660702
DM
23344 "node" : {
23345 "description" : "The cluster node name.",
23346 "format" : "pve-node",
013dc89f
DM
23347 "type" : "string",
23348 "typetext" : "<string>"
44660702 23349 },
7aacca6f 23350 "vmid" : {
44660702 23351 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23352 "format" : "pve-vmid",
23353 "minimum" : 1,
4bd7df8b 23354 "type" : "integer",
013dc89f 23355 "typetext" : "<integer> (1 - N)"
7aacca6f 23356 }
44660702
DM
23357 }
23358 },
23359 "permissions" : {
23360 "check" : [
23361 "perm",
23362 "/vms/{vmid}",
23363 [
23364 "VM.PowerMgmt"
23365 ]
23366 ]
7aacca6f 23367 },
44660702
DM
23368 "protected" : 1,
23369 "proxyto" : "node",
23370 "returns" : {
23371 "type" : "string"
23372 }
56122987 23373 }
7aacca6f 23374 },
7aacca6f 23375 "leaf" : 1,
4d47f125
TL
23376 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
23377 "text" : "resume"
5c1699e5
TL
23378 },
23379 {
23380 "info" : {
23381 "POST" : {
e9cd3bd4 23382 "allowtoken" : 1,
5c1699e5
TL
23383 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
23384 "method" : "POST",
23385 "name" : "vm_reboot",
23386 "parameters" : {
23387 "additionalProperties" : 0,
23388 "properties" : {
23389 "node" : {
23390 "description" : "The cluster node name.",
23391 "format" : "pve-node",
23392 "type" : "string",
23393 "typetext" : "<string>"
23394 },
23395 "timeout" : {
23396 "description" : "Wait maximal timeout seconds for the shutdown.",
23397 "minimum" : 0,
23398 "optional" : 1,
23399 "type" : "integer",
23400 "typetext" : "<integer> (0 - N)"
23401 },
23402 "vmid" : {
23403 "description" : "The (unique) ID of the VM.",
23404 "format" : "pve-vmid",
23405 "minimum" : 1,
23406 "type" : "integer",
23407 "typetext" : "<integer> (1 - N)"
23408 }
23409 }
23410 },
23411 "permissions" : {
23412 "check" : [
23413 "perm",
23414 "/vms/{vmid}",
23415 [
23416 "VM.PowerMgmt"
23417 ]
23418 ]
23419 },
23420 "protected" : 1,
23421 "proxyto" : "node",
23422 "returns" : {
23423 "type" : "string"
23424 }
23425 }
23426 },
23427 "leaf" : 1,
23428 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
23429 "text" : "reboot"
4d47f125
TL
23430 }
23431 ],
23432 "info" : {
23433 "GET" : {
e9cd3bd4 23434 "allowtoken" : 1,
4d47f125
TL
23435 "description" : "Directory index",
23436 "method" : "GET",
23437 "name" : "vmcmdidx",
23438 "parameters" : {
23439 "additionalProperties" : 0,
23440 "properties" : {
23441 "node" : {
23442 "description" : "The cluster node name.",
23443 "format" : "pve-node",
23444 "type" : "string",
23445 "typetext" : "<string>"
23446 },
23447 "vmid" : {
23448 "description" : "The (unique) ID of the VM.",
23449 "format" : "pve-vmid",
23450 "minimum" : 1,
23451 "type" : "integer",
23452 "typetext" : "<integer> (1 - N)"
23453 }
23454 }
23455 },
23456 "permissions" : {
23457 "user" : "all"
23458 },
23459 "proxyto" : "node",
23460 "returns" : {
23461 "items" : {
23462 "properties" : {
23463 "subdir" : {
23464 "type" : "string"
23465 }
23466 },
23467 "type" : "object"
23468 },
23469 "links" : [
23470 {
23471 "href" : "{subdir}",
23472 "rel" : "child"
23473 }
23474 ],
23475 "type" : "array"
23476 }
23477 }
23478 },
23479 "leaf" : 0,
23480 "path" : "/nodes/{node}/lxc/{vmid}/status",
23481 "text" : "status"
23482 },
23483 {
23484 "children" : [
56122987 23485 {
4d47f125
TL
23486 "children" : [
23487 {
23488 "info" : {
23489 "POST" : {
e9cd3bd4 23490 "allowtoken" : 1,
4d47f125
TL
23491 "description" : "Rollback LXC state to specified snapshot.",
23492 "method" : "POST",
23493 "name" : "rollback",
23494 "parameters" : {
23495 "additionalProperties" : 0,
23496 "properties" : {
23497 "node" : {
23498 "description" : "The cluster node name.",
23499 "format" : "pve-node",
23500 "type" : "string",
23501 "typetext" : "<string>"
23502 },
23503 "snapname" : {
23504 "description" : "The name of the snapshot.",
23505 "format" : "pve-configid",
23506 "maxLength" : 40,
23507 "type" : "string",
23508 "typetext" : "<string>"
23509 },
23510 "vmid" : {
23511 "description" : "The (unique) ID of the VM.",
23512 "format" : "pve-vmid",
23513 "minimum" : 1,
23514 "type" : "integer",
23515 "typetext" : "<integer> (1 - N)"
23516 }
23517 }
23518 },
23519 "permissions" : {
23520 "check" : [
23521 "perm",
23522 "/vms/{vmid}",
23523 [
23524 "VM.Snapshot",
23525 "VM.Snapshot.Rollback"
23526 ],
23527 "any",
23528 1
23529 ]
23530 },
23531 "protected" : 1,
23532 "proxyto" : "node",
23533 "returns" : {
23534 "description" : "the task ID.",
23535 "type" : "string"
23536 }
23537 }
23538 },
23539 "leaf" : 1,
23540 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
23541 "text" : "rollback"
23542 },
23543 {
23544 "info" : {
23545 "GET" : {
e9cd3bd4 23546 "allowtoken" : 1,
4d47f125
TL
23547 "description" : "Get snapshot configuration",
23548 "method" : "GET",
23549 "name" : "get_snapshot_config",
23550 "parameters" : {
23551 "additionalProperties" : 0,
23552 "properties" : {
23553 "node" : {
23554 "description" : "The cluster node name.",
23555 "format" : "pve-node",
23556 "type" : "string",
23557 "typetext" : "<string>"
23558 },
23559 "snapname" : {
23560 "description" : "The name of the snapshot.",
23561 "format" : "pve-configid",
23562 "maxLength" : 40,
23563 "type" : "string",
23564 "typetext" : "<string>"
23565 },
23566 "vmid" : {
23567 "description" : "The (unique) ID of the VM.",
23568 "format" : "pve-vmid",
23569 "minimum" : 1,
23570 "type" : "integer",
23571 "typetext" : "<integer> (1 - N)"
23572 }
23573 }
23574 },
23575 "permissions" : {
23576 "check" : [
23577 "perm",
23578 "/vms/{vmid}",
23579 [
23580 "VM.Snapshot",
c5aa7e14
TL
23581 "VM.Snapshot.Rollback",
23582 "VM.Audit"
4d47f125
TL
23583 ],
23584 "any",
23585 1
23586 ]
23587 },
23588 "proxyto" : "node",
23589 "returns" : {
23590 "type" : "object"
23591 }
23592 },
23593 "PUT" : {
e9cd3bd4 23594 "allowtoken" : 1,
4d47f125
TL
23595 "description" : "Update snapshot metadata.",
23596 "method" : "PUT",
23597 "name" : "update_snapshot_config",
23598 "parameters" : {
23599 "additionalProperties" : 0,
23600 "properties" : {
23601 "description" : {
23602 "description" : "A textual description or comment.",
23603 "optional" : 1,
23604 "type" : "string",
23605 "typetext" : "<string>"
23606 },
23607 "node" : {
23608 "description" : "The cluster node name.",
23609 "format" : "pve-node",
23610 "type" : "string",
23611 "typetext" : "<string>"
23612 },
23613 "snapname" : {
23614 "description" : "The name of the snapshot.",
23615 "format" : "pve-configid",
23616 "maxLength" : 40,
23617 "type" : "string",
23618 "typetext" : "<string>"
23619 },
23620 "vmid" : {
23621 "description" : "The (unique) ID of the VM.",
23622 "format" : "pve-vmid",
23623 "minimum" : 1,
23624 "type" : "integer",
23625 "typetext" : "<integer> (1 - N)"
23626 }
23627 }
23628 },
23629 "permissions" : {
23630 "check" : [
23631 "perm",
23632 "/vms/{vmid}",
23633 [
23634 "VM.Snapshot"
23635 ]
23636 ]
23637 },
23638 "protected" : 1,
23639 "proxyto" : "node",
23640 "returns" : {
23641 "type" : "null"
23642 }
23643 }
23644 },
23645 "leaf" : 1,
23646 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
23647 "text" : "config"
23648 }
23649 ],
56122987 23650 "info" : {
4d47f125 23651 "DELETE" : {
e9cd3bd4 23652 "allowtoken" : 1,
4d47f125
TL
23653 "description" : "Delete a LXC snapshot.",
23654 "method" : "DELETE",
23655 "name" : "delsnapshot",
56122987 23656 "parameters" : {
44660702 23657 "additionalProperties" : 0,
56122987 23658 "properties" : {
4d47f125
TL
23659 "force" : {
23660 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 23661 "optional" : 1,
013dc89f
DM
23662 "type" : "boolean",
23663 "typetext" : "<boolean>"
44660702
DM
23664 },
23665 "node" : {
23666 "description" : "The cluster node name.",
23667 "format" : "pve-node",
013dc89f
DM
23668 "type" : "string",
23669 "typetext" : "<string>"
7aacca6f 23670 },
4d47f125
TL
23671 "snapname" : {
23672 "description" : "The name of the snapshot.",
23673 "format" : "pve-configid",
23674 "maxLength" : 40,
23675 "type" : "string",
23676 "typetext" : "<string>"
56122987
DM
23677 },
23678 "vmid" : {
7aacca6f 23679 "description" : "The (unique) ID of the VM.",
44660702
DM
23680 "format" : "pve-vmid",
23681 "minimum" : 1,
4bd7df8b 23682 "type" : "integer",
013dc89f 23683 "typetext" : "<integer> (1 - N)"
56122987 23684 }
44660702 23685 }
56122987
DM
23686 },
23687 "permissions" : {
23688 "check" : [
23689 "perm",
23690 "/vms/{vmid}",
23691 [
4d47f125 23692 "VM.Snapshot"
56122987
DM
23693 ]
23694 ]
23695 },
44660702
DM
23696 "protected" : 1,
23697 "proxyto" : "node",
7aacca6f 23698 "returns" : {
4d47f125 23699 "description" : "the task ID.",
7aacca6f
DM
23700 "type" : "string"
23701 }
4d47f125
TL
23702 },
23703 "GET" : {
e9cd3bd4 23704 "allowtoken" : 1,
4d47f125
TL
23705 "description" : "",
23706 "method" : "GET",
23707 "name" : "snapshot_cmd_idx",
56122987
DM
23708 "parameters" : {
23709 "additionalProperties" : 0,
23710 "properties" : {
44660702
DM
23711 "node" : {
23712 "description" : "The cluster node name.",
23713 "format" : "pve-node",
013dc89f
DM
23714 "type" : "string",
23715 "typetext" : "<string>"
44660702 23716 },
4d47f125
TL
23717 "snapname" : {
23718 "description" : "The name of the snapshot.",
23719 "format" : "pve-configid",
23720 "maxLength" : 40,
013dc89f
DM
23721 "type" : "string",
23722 "typetext" : "<string>"
56122987
DM
23723 },
23724 "vmid" : {
7aacca6f 23725 "description" : "The (unique) ID of the VM.",
56122987 23726 "format" : "pve-vmid",
44660702 23727 "minimum" : 1,
4bd7df8b 23728 "type" : "integer",
013dc89f 23729 "typetext" : "<integer> (1 - N)"
56122987 23730 }
44660702
DM
23731 }
23732 },
23733 "permissions" : {
4d47f125 23734 "user" : "all"
56122987 23735 },
44660702 23736 "returns" : {
4d47f125
TL
23737 "items" : {
23738 "properties" : {},
23739 "type" : "object"
23740 },
23741 "links" : [
23742 {
23743 "href" : "{cmd}",
23744 "rel" : "child"
23745 }
23746 ],
23747 "type" : "array"
44660702 23748 }
7aacca6f
DM
23749 }
23750 },
4d47f125
TL
23751 "leaf" : 0,
23752 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
23753 "text" : "{snapname}"
7aacca6f
DM
23754 }
23755 ],
23756 "info" : {
23757 "GET" : {
e9cd3bd4 23758 "allowtoken" : 1,
4d47f125 23759 "description" : "List all snapshots.",
44660702 23760 "method" : "GET",
4d47f125 23761 "name" : "list",
7aacca6f
DM
23762 "parameters" : {
23763 "additionalProperties" : 0,
23764 "properties" : {
23765 "node" : {
23766 "description" : "The cluster node name.",
44660702 23767 "format" : "pve-node",
013dc89f
DM
23768 "type" : "string",
23769 "typetext" : "<string>"
56122987 23770 },
7aacca6f 23771 "vmid" : {
44660702 23772 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
23773 "format" : "pve-vmid",
23774 "minimum" : 1,
4bd7df8b 23775 "type" : "integer",
013dc89f 23776 "typetext" : "<integer> (1 - N)"
7aacca6f 23777 }
56122987
DM
23778 }
23779 },
44660702 23780 "permissions" : {
4d47f125
TL
23781 "check" : [
23782 "perm",
23783 "/vms/{vmid}",
23784 [
23785 "VM.Audit"
23786 ]
23787 ]
44660702 23788 },
4d47f125 23789 "protected" : 1,
44660702 23790 "proxyto" : "node",
7aacca6f 23791 "returns" : {
7aacca6f
DM
23792 "items" : {
23793 "properties" : {
4d47f125
TL
23794 "description" : {
23795 "description" : "Snapshot description.",
7aacca6f 23796 "type" : "string"
4d47f125
TL
23797 },
23798 "name" : {
23799 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
23800 "type" : "string"
23801 },
23802 "parent" : {
23803 "description" : "Parent snapshot identifier.",
23804 "optional" : 1,
23805 "type" : "string"
23806 },
23807 "snaptime" : {
23808 "description" : "Snapshot creation time",
23809 "optional" : 1,
23810 "renderer" : "timestamp",
23811 "type" : "integer"
7aacca6f
DM
23812 }
23813 },
23814 "type" : "object"
23815 },
23816 "links" : [
23817 {
4d47f125 23818 "href" : "{name}",
44660702 23819 "rel" : "child"
7aacca6f 23820 }
44660702
DM
23821 ],
23822 "type" : "array"
7aacca6f 23823 }
4d47f125
TL
23824 },
23825 "POST" : {
e9cd3bd4 23826 "allowtoken" : 1,
4d47f125
TL
23827 "description" : "Snapshot a container.",
23828 "method" : "POST",
23829 "name" : "snapshot",
23830 "parameters" : {
23831 "additionalProperties" : 0,
23832 "properties" : {
23833 "description" : {
23834 "description" : "A textual description or comment.",
23835 "optional" : 1,
23836 "type" : "string",
23837 "typetext" : "<string>"
23838 },
23839 "node" : {
23840 "description" : "The cluster node name.",
23841 "format" : "pve-node",
23842 "type" : "string",
23843 "typetext" : "<string>"
23844 },
23845 "snapname" : {
23846 "description" : "The name of the snapshot.",
23847 "format" : "pve-configid",
23848 "maxLength" : 40,
23849 "type" : "string",
23850 "typetext" : "<string>"
23851 },
23852 "vmid" : {
23853 "description" : "The (unique) ID of the VM.",
23854 "format" : "pve-vmid",
23855 "minimum" : 1,
23856 "type" : "integer",
23857 "typetext" : "<integer> (1 - N)"
23858 }
23859 }
23860 },
23861 "permissions" : {
23862 "check" : [
23863 "perm",
23864 "/vms/{vmid}",
23865 [
23866 "VM.Snapshot"
23867 ]
23868 ]
23869 },
23870 "protected" : 1,
23871 "proxyto" : "node",
23872 "returns" : {
23873 "description" : "the task ID.",
23874 "type" : "string"
23875 }
7aacca6f 23876 }
44660702
DM
23877 },
23878 "leaf" : 0,
4d47f125
TL
23879 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
23880 "text" : "snapshot"
7aacca6f
DM
23881 },
23882 {
7aacca6f 23883 "children" : [
56122987 23884 {
7aacca6f
DM
23885 "children" : [
23886 {
23887 "info" : {
4d47f125 23888 "DELETE" : {
e9cd3bd4 23889 "allowtoken" : 1,
4d47f125
TL
23890 "description" : "Delete rule.",
23891 "method" : "DELETE",
23892 "name" : "delete_rule",
7aacca6f 23893 "parameters" : {
44660702 23894 "additionalProperties" : 0,
7aacca6f 23895 "properties" : {
4d47f125
TL
23896 "digest" : {
23897 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23898 "maxLength" : 40,
23899 "optional" : 1,
23900 "type" : "string",
23901 "typetext" : "<string>"
23902 },
44660702
DM
23903 "node" : {
23904 "description" : "The cluster node name.",
23905 "format" : "pve-node",
013dc89f
DM
23906 "type" : "string",
23907 "typetext" : "<string>"
44660702 23908 },
4d47f125
TL
23909 "pos" : {
23910 "description" : "Update rule at position <pos>.",
23911 "minimum" : 0,
23912 "optional" : 1,
23913 "type" : "integer",
23914 "typetext" : "<integer> (0 - N)"
7aacca6f 23915 },
7aacca6f 23916 "vmid" : {
44660702 23917 "description" : "The (unique) ID of the VM.",
7aacca6f 23918 "format" : "pve-vmid",
44660702 23919 "minimum" : 1,
4bd7df8b 23920 "type" : "integer",
013dc89f 23921 "typetext" : "<integer> (1 - N)"
7aacca6f 23922 }
44660702
DM
23923 }
23924 },
23925 "permissions" : {
23926 "check" : [
23927 "perm",
23928 "/vms/{vmid}",
23929 [
4d47f125
TL
23930 "VM.Config.Network"
23931 ]
44660702 23932 ]
7aacca6f 23933 },
44660702 23934 "protected" : 1,
4d47f125 23935 "proxyto" : null,
44660702 23936 "returns" : {
4d47f125 23937 "type" : "null"
44660702 23938 }
4d47f125 23939 },
7aacca6f 23940 "GET" : {
e9cd3bd4 23941 "allowtoken" : 1,
4d47f125 23942 "description" : "Get single rule data.",
44660702 23943 "method" : "GET",
4d47f125 23944 "name" : "get_rule",
7aacca6f
DM
23945 "parameters" : {
23946 "additionalProperties" : 0,
4d47f125
TL
23947 "properties" : {
23948 "node" : {
23949 "description" : "The cluster node name.",
23950 "format" : "pve-node",
013dc89f
DM
23951 "type" : "string",
23952 "typetext" : "<string>"
44660702 23953 },
4d47f125
TL
23954 "pos" : {
23955 "description" : "Update rule at position <pos>.",
23956 "minimum" : 0,
23957 "optional" : 1,
23958 "type" : "integer",
23959 "typetext" : "<integer> (0 - N)"
23960 },
44660702
DM
23961 "vmid" : {
23962 "description" : "The (unique) ID of the VM.",
23963 "format" : "pve-vmid",
23964 "minimum" : 1,
4bd7df8b 23965 "type" : "integer",
013dc89f 23966 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
23967 }
23968 }
23969 },
23970 "permissions" : {
23971 "check" : [
23972 "perm",
23973 "/vms/{vmid}",
23974 [
4d47f125
TL
23975 "VM.Audit"
23976 ]
7aacca6f
DM
23977 ]
23978 },
4d47f125 23979 "proxyto" : null,
44660702 23980 "returns" : {
4d47f125 23981 "properties" : {
e2d681b3
TL
23982 "action" : {
23983 "type" : "string"
23984 },
23985 "comment" : {
23986 "optional" : 1,
23987 "type" : "string"
23988 },
23989 "dest" : {
23990 "optional" : 1,
23991 "type" : "string"
23992 },
23993 "dport" : {
23994 "optional" : 1,
23995 "type" : "string"
23996 },
23997 "enable" : {
23998 "optional" : 1,
23999 "type" : "integer"
24000 },
24001 "iface" : {
24002 "optional" : 1,
24003 "type" : "string"
24004 },
24005 "ipversion" : {
24006 "optional" : 1,
24007 "type" : "integer"
24008 },
95895385
TL
24009 "log" : {
24010 "description" : "Log level for firewall rule",
24011 "enum" : [
24012 "emerg",
24013 "alert",
24014 "crit",
24015 "err",
24016 "warning",
24017 "notice",
24018 "info",
24019 "debug",
24020 "nolog"
24021 ],
24022 "optional" : 1,
24023 "type" : "string"
24024 },
e2d681b3
TL
24025 "macro" : {
24026 "optional" : 1,
5f26e15b 24027 "type" : "string"
e2d681b3 24028 },
4d47f125
TL
24029 "pos" : {
24030 "type" : "integer"
e2d681b3
TL
24031 },
24032 "proto" : {
24033 "optional" : 1,
24034 "type" : "string"
24035 },
24036 "source" : {
24037 "optional" : 1,
24038 "type" : "string"
24039 },
24040 "sport" : {
24041 "optional" : 1,
24042 "type" : "string"
24043 },
24044 "type" : {
24045 "type" : "string"
4d47f125
TL
24046 }
24047 },
44660702
DM
24048 "type" : "object"
24049 }
7aacca6f
DM
24050 },
24051 "PUT" : {
e9cd3bd4 24052 "allowtoken" : 1,
4d47f125 24053 "description" : "Modify rule data.",
44660702 24054 "method" : "PUT",
4d47f125 24055 "name" : "update_rule",
7aacca6f
DM
24056 "parameters" : {
24057 "additionalProperties" : 0,
24058 "properties" : {
4d47f125
TL
24059 "action" : {
24060 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24061 "maxLength" : 20,
24062 "minLength" : 2,
24063 "optional" : 1,
24064 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24065 "type" : "string"
24066 },
24067 "comment" : {
24068 "description" : "Descriptive comment.",
24069 "optional" : 1,
24070 "type" : "string",
24071 "typetext" : "<string>"
24072 },
24073 "delete" : {
24074 "description" : "A list of settings you want to delete.",
24075 "format" : "pve-configid-list",
24076 "optional" : 1,
24077 "type" : "string",
24078 "typetext" : "<string>"
24079 },
24080 "dest" : {
24081 "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.",
24082 "format" : "pve-fw-addr-spec",
24083 "optional" : 1,
24084 "type" : "string",
24085 "typetext" : "<string>"
24086 },
24087 "digest" : {
24088 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24089 "maxLength" : 40,
24090 "optional" : 1,
24091 "type" : "string",
24092 "typetext" : "<string>"
24093 },
24094 "dport" : {
24095 "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.",
24096 "format" : "pve-fw-dport-spec",
24097 "optional" : 1,
24098 "type" : "string",
24099 "typetext" : "<string>"
24100 },
24101 "enable" : {
24102 "description" : "Flag to enable/disable a rule.",
24103 "minimum" : 0,
24104 "optional" : 1,
24105 "type" : "integer",
24106 "typetext" : "<integer> (0 - N)"
24107 },
24108 "iface" : {
24109 "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.",
24110 "format" : "pve-iface",
24111 "maxLength" : 20,
24112 "minLength" : 2,
24113 "optional" : 1,
24114 "type" : "string",
24115 "typetext" : "<string>"
24116 },
95895385
TL
24117 "log" : {
24118 "description" : "Log level for firewall rule.",
24119 "enum" : [
24120 "emerg",
24121 "alert",
24122 "crit",
24123 "err",
24124 "warning",
24125 "notice",
24126 "info",
24127 "debug",
24128 "nolog"
24129 ],
24130 "optional" : 1,
24131 "type" : "string"
24132 },
4d47f125
TL
24133 "macro" : {
24134 "description" : "Use predefined standard macro.",
24135 "maxLength" : 128,
44660702 24136 "optional" : 1,
013dc89f
DM
24137 "type" : "string",
24138 "typetext" : "<string>"
44660702 24139 },
4d47f125
TL
24140 "moveto" : {
24141 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
24142 "minimum" : 0,
24143 "optional" : 1,
24144 "type" : "integer",
24145 "typetext" : "<integer> (0 - N)"
24146 },
7aacca6f 24147 "node" : {
7aacca6f 24148 "description" : "The cluster node name.",
44660702 24149 "format" : "pve-node",
013dc89f
DM
24150 "type" : "string",
24151 "typetext" : "<string>"
7aacca6f 24152 },
4d47f125
TL
24153 "pos" : {
24154 "description" : "Update rule at position <pos>.",
24155 "minimum" : 0,
24156 "optional" : 1,
24157 "type" : "integer",
24158 "typetext" : "<integer> (0 - N)"
24159 },
24160 "proto" : {
24161 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24162 "format" : "pve-fw-protocol-spec",
24163 "optional" : 1,
24164 "type" : "string",
24165 "typetext" : "<string>"
24166 },
24167 "source" : {
24168 "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.",
24169 "format" : "pve-fw-addr-spec",
24170 "optional" : 1,
24171 "type" : "string",
24172 "typetext" : "<string>"
24173 },
24174 "sport" : {
24175 "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.",
24176 "format" : "pve-fw-sport-spec",
24177 "optional" : 1,
013dc89f
DM
24178 "type" : "string",
24179 "typetext" : "<string>"
7aacca6f 24180 },
4d47f125
TL
24181 "type" : {
24182 "description" : "Rule type.",
24183 "enum" : [
24184 "in",
24185 "out",
24186 "group"
24187 ],
24188 "optional" : 1,
24189 "type" : "string"
24190 },
7aacca6f 24191 "vmid" : {
44660702 24192 "description" : "The (unique) ID of the VM.",
7aacca6f 24193 "format" : "pve-vmid",
44660702 24194 "minimum" : 1,
4bd7df8b 24195 "type" : "integer",
013dc89f 24196 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
24197 }
24198 }
24199 },
7aacca6f
DM
24200 "permissions" : {
24201 "check" : [
24202 "perm",
24203 "/vms/{vmid}",
24204 [
4d47f125 24205 "VM.Config.Network"
7aacca6f
DM
24206 ]
24207 ]
24208 },
4d47f125
TL
24209 "protected" : 1,
24210 "proxyto" : null,
24211 "returns" : {
24212 "type" : "null"
24213 }
24214 }
24215 },
24216 "leaf" : 1,
24217 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
24218 "text" : "{pos}"
24219 }
24220 ],
24221 "info" : {
24222 "GET" : {
e9cd3bd4 24223 "allowtoken" : 1,
4d47f125
TL
24224 "description" : "List rules.",
24225 "method" : "GET",
24226 "name" : "get_rules",
24227 "parameters" : {
24228 "additionalProperties" : 0,
24229 "properties" : {
24230 "node" : {
24231 "description" : "The cluster node name.",
24232 "format" : "pve-node",
24233 "type" : "string",
24234 "typetext" : "<string>"
24235 },
24236 "vmid" : {
24237 "description" : "The (unique) ID of the VM.",
24238 "format" : "pve-vmid",
24239 "minimum" : 1,
24240 "type" : "integer",
24241 "typetext" : "<integer> (1 - N)"
24242 }
24243 }
24244 },
24245 "permissions" : {
24246 "check" : [
24247 "perm",
24248 "/vms/{vmid}",
24249 [
24250 "VM.Audit"
24251 ]
24252 ]
24253 },
24254 "proxyto" : null,
24255 "returns" : {
24256 "items" : {
24257 "properties" : {
24258 "pos" : {
24259 "type" : "integer"
24260 }
24261 },
24262 "type" : "object"
24263 },
24264 "links" : [
24265 {
24266 "href" : "{pos}",
24267 "rel" : "child"
24268 }
24269 ],
24270 "type" : "array"
24271 }
24272 },
24273 "POST" : {
e9cd3bd4 24274 "allowtoken" : 1,
4d47f125
TL
24275 "description" : "Create new rule.",
24276 "method" : "POST",
24277 "name" : "create_rule",
24278 "parameters" : {
24279 "additionalProperties" : 0,
24280 "properties" : {
24281 "action" : {
24282 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
24283 "maxLength" : 20,
24284 "minLength" : 2,
24285 "optional" : 0,
24286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24287 "type" : "string"
24288 },
24289 "comment" : {
24290 "description" : "Descriptive comment.",
24291 "optional" : 1,
24292 "type" : "string",
24293 "typetext" : "<string>"
24294 },
24295 "dest" : {
24296 "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.",
24297 "format" : "pve-fw-addr-spec",
24298 "optional" : 1,
24299 "type" : "string",
24300 "typetext" : "<string>"
24301 },
24302 "digest" : {
24303 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24304 "maxLength" : 40,
24305 "optional" : 1,
24306 "type" : "string",
24307 "typetext" : "<string>"
24308 },
24309 "dport" : {
24310 "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.",
24311 "format" : "pve-fw-dport-spec",
24312 "optional" : 1,
24313 "type" : "string",
24314 "typetext" : "<string>"
24315 },
24316 "enable" : {
24317 "description" : "Flag to enable/disable a rule.",
24318 "minimum" : 0,
24319 "optional" : 1,
24320 "type" : "integer",
24321 "typetext" : "<integer> (0 - N)"
24322 },
24323 "iface" : {
24324 "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.",
24325 "format" : "pve-iface",
24326 "maxLength" : 20,
24327 "minLength" : 2,
24328 "optional" : 1,
24329 "type" : "string",
24330 "typetext" : "<string>"
24331 },
95895385
TL
24332 "log" : {
24333 "description" : "Log level for firewall rule.",
24334 "enum" : [
24335 "emerg",
24336 "alert",
24337 "crit",
24338 "err",
24339 "warning",
24340 "notice",
24341 "info",
24342 "debug",
24343 "nolog"
24344 ],
24345 "optional" : 1,
24346 "type" : "string"
24347 },
4d47f125
TL
24348 "macro" : {
24349 "description" : "Use predefined standard macro.",
24350 "maxLength" : 128,
44660702 24351 "optional" : 1,
4d47f125
TL
24352 "type" : "string",
24353 "typetext" : "<string>"
44660702
DM
24354 },
24355 "node" : {
24356 "description" : "The cluster node name.",
24357 "format" : "pve-node",
013dc89f
DM
24358 "type" : "string",
24359 "typetext" : "<string>"
7aacca6f 24360 },
4d47f125
TL
24361 "pos" : {
24362 "description" : "Update rule at position <pos>.",
24363 "minimum" : 0,
24364 "optional" : 1,
24365 "type" : "integer",
24366 "typetext" : "<integer> (0 - N)"
24367 },
24368 "proto" : {
24369 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
24370 "format" : "pve-fw-protocol-spec",
24371 "optional" : 1,
24372 "type" : "string",
24373 "typetext" : "<string>"
24374 },
24375 "source" : {
24376 "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.",
24377 "format" : "pve-fw-addr-spec",
24378 "optional" : 1,
013dc89f
DM
24379 "type" : "string",
24380 "typetext" : "<string>"
44660702 24381 },
4d47f125
TL
24382 "sport" : {
24383 "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.",
24384 "format" : "pve-fw-sport-spec",
24385 "optional" : 1,
24386 "type" : "string",
24387 "typetext" : "<string>"
24388 },
24389 "type" : {
24390 "description" : "Rule type.",
24391 "enum" : [
24392 "in",
24393 "out",
24394 "group"
24395 ],
24396 "optional" : 0,
24397 "type" : "string"
24398 },
44660702
DM
24399 "vmid" : {
24400 "description" : "The (unique) ID of the VM.",
24401 "format" : "pve-vmid",
24402 "minimum" : 1,
4bd7df8b 24403 "type" : "integer",
013dc89f 24404 "typetext" : "<integer> (1 - N)"
56122987 24405 }
44660702 24406 }
7aacca6f 24407 },
56122987
DM
24408 "permissions" : {
24409 "check" : [
24410 "perm",
24411 "/vms/{vmid}",
24412 [
4d47f125 24413 "VM.Config.Network"
56122987
DM
24414 ]
24415 ]
24416 },
44660702 24417 "protected" : 1,
4d47f125 24418 "proxyto" : null,
44660702 24419 "returns" : {
4d47f125 24420 "type" : "null"
44660702
DM
24421 }
24422 }
24423 },
24424 "leaf" : 0,
4d47f125
TL
24425 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
24426 "text" : "rules"
7aacca6f 24427 },
56122987 24428 {
56122987
DM
24429 "children" : [
24430 {
56122987 24431 "info" : {
44660702 24432 "DELETE" : {
e9cd3bd4 24433 "allowtoken" : 1,
4d47f125 24434 "description" : "Remove IP or Network alias.",
44660702 24435 "method" : "DELETE",
4d47f125 24436 "name" : "remove_alias",
56122987 24437 "parameters" : {
44660702 24438 "additionalProperties" : 0,
56122987 24439 "properties" : {
44660702
DM
24440 "digest" : {
24441 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24442 "maxLength" : 40,
7aacca6f 24443 "optional" : 1,
013dc89f
DM
24444 "type" : "string",
24445 "typetext" : "<string>"
7aacca6f 24446 },
4d47f125
TL
24447 "name" : {
24448 "description" : "Alias name.",
24449 "maxLength" : 64,
24450 "minLength" : 2,
24451 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24452 "type" : "string"
24453 },
7aacca6f 24454 "node" : {
44660702 24455 "description" : "The cluster node name.",
7aacca6f 24456 "format" : "pve-node",
013dc89f
DM
24457 "type" : "string",
24458 "typetext" : "<string>"
44660702 24459 },
44660702
DM
24460 "vmid" : {
24461 "description" : "The (unique) ID of the VM.",
24462 "format" : "pve-vmid",
24463 "minimum" : 1,
4bd7df8b 24464 "type" : "integer",
013dc89f 24465 "typetext" : "<integer> (1 - N)"
56122987 24466 }
44660702 24467 }
56122987 24468 },
56122987
DM
24469 "permissions" : {
24470 "check" : [
24471 "perm",
24472 "/vms/{vmid}",
24473 [
44660702 24474 "VM.Config.Network"
56122987
DM
24475 ]
24476 ]
24477 },
44660702 24478 "protected" : 1,
44660702
DM
24479 "returns" : {
24480 "type" : "null"
24481 }
7aacca6f 24482 },
44660702 24483 "GET" : {
e9cd3bd4 24484 "allowtoken" : 1,
4d47f125 24485 "description" : "Read alias.",
44660702 24486 "method" : "GET",
4d47f125 24487 "name" : "read_alias",
56122987 24488 "parameters" : {
44660702 24489 "additionalProperties" : 0,
56122987 24490 "properties" : {
4d47f125
TL
24491 "name" : {
24492 "description" : "Alias name.",
24493 "maxLength" : 64,
24494 "minLength" : 2,
24495 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24496 "type" : "string"
24497 },
7aacca6f 24498 "node" : {
7aacca6f 24499 "description" : "The cluster node name.",
44660702 24500 "format" : "pve-node",
013dc89f
DM
24501 "type" : "string",
24502 "typetext" : "<string>"
56122987 24503 },
7aacca6f 24504 "vmid" : {
44660702 24505 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
24506 "format" : "pve-vmid",
24507 "minimum" : 1,
4bd7df8b 24508 "type" : "integer",
013dc89f 24509 "typetext" : "<integer> (1 - N)"
56122987 24510 }
44660702 24511 }
56122987 24512 },
7aacca6f
DM
24513 "permissions" : {
24514 "check" : [
24515 "perm",
24516 "/vms/{vmid}",
24517 [
44660702 24518 "VM.Audit"
7aacca6f
DM
24519 ]
24520 ]
24521 },
7aacca6f 24522 "returns" : {
44660702 24523 "type" : "object"
7aacca6f 24524 }
56122987 24525 },
44660702 24526 "PUT" : {
e9cd3bd4 24527 "allowtoken" : 1,
4d47f125 24528 "description" : "Update IP or Network alias.",
44660702 24529 "method" : "PUT",
4d47f125 24530 "name" : "update_alias",
56122987
DM
24531 "parameters" : {
24532 "additionalProperties" : 0,
24533 "properties" : {
4d47f125
TL
24534 "cidr" : {
24535 "description" : "Network/IP specification in CIDR format.",
24536 "format" : "IPorCIDR",
013dc89f
DM
24537 "type" : "string",
24538 "typetext" : "<string>"
44660702 24539 },
4d47f125 24540 "comment" : {
44660702 24541 "optional" : 1,
013dc89f
DM
24542 "type" : "string",
24543 "typetext" : "<string>"
44660702
DM
24544 },
24545 "digest" : {
24546 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24547 "maxLength" : 40,
24548 "optional" : 1,
013dc89f
DM
24549 "type" : "string",
24550 "typetext" : "<string>"
44660702 24551 },
4d47f125
TL
24552 "name" : {
24553 "description" : "Alias name.",
24554 "maxLength" : 64,
44660702 24555 "minLength" : 2,
4d47f125
TL
24556 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24557 "type" : "string"
44660702 24558 },
7aacca6f
DM
24559 "node" : {
24560 "description" : "The cluster node name.",
44660702 24561 "format" : "pve-node",
013dc89f
DM
24562 "type" : "string",
24563 "typetext" : "<string>"
56122987 24564 },
4d47f125
TL
24565 "rename" : {
24566 "description" : "Rename an existing alias.",
24567 "maxLength" : 64,
24568 "minLength" : 2,
7aacca6f 24569 "optional" : 1,
4d47f125 24570 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
24571 "type" : "string"
24572 },
24573 "vmid" : {
24574 "description" : "The (unique) ID of the VM.",
24575 "format" : "pve-vmid",
24576 "minimum" : 1,
4bd7df8b 24577 "type" : "integer",
013dc89f 24578 "typetext" : "<integer> (1 - N)"
56122987
DM
24579 }
24580 }
24581 },
56122987
DM
24582 "permissions" : {
24583 "check" : [
24584 "perm",
24585 "/vms/{vmid}",
24586 [
7aacca6f 24587 "VM.Config.Network"
56122987
DM
24588 ]
24589 ]
24590 },
44660702 24591 "protected" : 1,
56122987 24592 "returns" : {
7aacca6f
DM
24593 "type" : "null"
24594 }
56122987 24595 }
44660702
DM
24596 },
24597 "leaf" : 1,
4d47f125
TL
24598 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
24599 "text" : "{name}"
56122987
DM
24600 }
24601 ],
24602 "info" : {
7aacca6f 24603 "GET" : {
e9cd3bd4 24604 "allowtoken" : 1,
4d47f125 24605 "description" : "List aliases",
44660702 24606 "method" : "GET",
4d47f125 24607 "name" : "get_aliases",
7aacca6f 24608 "parameters" : {
44660702 24609 "additionalProperties" : 0,
7aacca6f
DM
24610 "properties" : {
24611 "node" : {
7aacca6f 24612 "description" : "The cluster node name.",
44660702 24613 "format" : "pve-node",
013dc89f
DM
24614 "type" : "string",
24615 "typetext" : "<string>"
7aacca6f
DM
24616 },
24617 "vmid" : {
24618 "description" : "The (unique) ID of the VM.",
44660702 24619 "format" : "pve-vmid",
7aacca6f 24620 "minimum" : 1,
4bd7df8b 24621 "type" : "integer",
013dc89f 24622 "typetext" : "<integer> (1 - N)"
7aacca6f 24623 }
44660702 24624 }
56122987 24625 },
56122987
DM
24626 "permissions" : {
24627 "check" : [
24628 "perm",
24629 "/vms/{vmid}",
24630 [
7aacca6f 24631 "VM.Audit"
56122987
DM
24632 ]
24633 ]
24634 },
7aacca6f 24635 "returns" : {
7aacca6f
DM
24636 "items" : {
24637 "properties" : {
4d47f125
TL
24638 "cidr" : {
24639 "type" : "string"
24640 },
24641 "comment" : {
24642 "optional" : 1,
24643 "type" : "string"
24644 },
24645 "digest" : {
24646 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24647 "maxLength" : 40,
24648 "optional" : 0,
24649 "type" : "string"
24650 },
24651 "name" : {
24652 "type" : "string"
7aacca6f
DM
24653 }
24654 },
24655 "type" : "object"
24656 },
24657 "links" : [
24658 {
4d47f125 24659 "href" : "{name}",
44660702 24660 "rel" : "child"
7aacca6f 24661 }
44660702
DM
24662 ],
24663 "type" : "array"
24664 }
7aacca6f
DM
24665 },
24666 "POST" : {
e9cd3bd4 24667 "allowtoken" : 1,
4d47f125 24668 "description" : "Create IP or Network Alias.",
44660702 24669 "method" : "POST",
4d47f125 24670 "name" : "create_alias",
56122987 24671 "parameters" : {
44660702 24672 "additionalProperties" : 0,
56122987 24673 "properties" : {
4d47f125
TL
24674 "cidr" : {
24675 "description" : "Network/IP specification in CIDR format.",
24676 "format" : "IPorCIDR",
013dc89f 24677 "type" : "string",
4d47f125
TL
24678 "typetext" : "<string>"
24679 },
24680 "comment" : {
44660702 24681 "optional" : 1,
013dc89f
DM
24682 "type" : "string",
24683 "typetext" : "<string>"
7aacca6f 24684 },
4d47f125
TL
24685 "name" : {
24686 "description" : "Alias name.",
24687 "maxLength" : 64,
24688 "minLength" : 2,
24689 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
24690 "type" : "string"
24691 },
4d47f125
TL
24692 "node" : {
24693 "description" : "The cluster node name.",
24694 "format" : "pve-node",
24695 "type" : "string",
24696 "typetext" : "<string>"
24697 },
44660702
DM
24698 "vmid" : {
24699 "description" : "The (unique) ID of the VM.",
24700 "format" : "pve-vmid",
24701 "minimum" : 1,
4bd7df8b 24702 "type" : "integer",
013dc89f 24703 "typetext" : "<integer> (1 - N)"
44660702
DM
24704 }
24705 }
24706 },
24707 "permissions" : {
24708 "check" : [
24709 "perm",
24710 "/vms/{vmid}",
24711 [
24712 "VM.Config.Network"
24713 ]
24714 ]
24715 },
24716 "protected" : 1,
44660702
DM
24717 "returns" : {
24718 "type" : "null"
24719 }
24720 }
24721 },
24722 "leaf" : 0,
4d47f125
TL
24723 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
24724 "text" : "aliases"
44660702
DM
24725 },
24726 {
24727 "children" : [
24728 {
4d47f125
TL
24729 "children" : [
24730 {
24731 "info" : {
24732 "DELETE" : {
e9cd3bd4 24733 "allowtoken" : 1,
4d47f125
TL
24734 "description" : "Remove IP or Network from IPSet.",
24735 "method" : "DELETE",
24736 "name" : "remove_ip",
24737 "parameters" : {
24738 "additionalProperties" : 0,
24739 "properties" : {
24740 "cidr" : {
24741 "description" : "Network/IP specification in CIDR format.",
24742 "format" : "IPorCIDRorAlias",
24743 "type" : "string",
24744 "typetext" : "<string>"
24745 },
24746 "digest" : {
24747 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24748 "maxLength" : 40,
24749 "optional" : 1,
24750 "type" : "string",
24751 "typetext" : "<string>"
24752 },
24753 "name" : {
24754 "description" : "IP set name.",
24755 "maxLength" : 64,
24756 "minLength" : 2,
24757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24758 "type" : "string"
24759 },
24760 "node" : {
24761 "description" : "The cluster node name.",
24762 "format" : "pve-node",
24763 "type" : "string",
24764 "typetext" : "<string>"
24765 },
24766 "vmid" : {
24767 "description" : "The (unique) ID of the VM.",
24768 "format" : "pve-vmid",
24769 "minimum" : 1,
24770 "type" : "integer",
24771 "typetext" : "<integer> (1 - N)"
24772 }
24773 }
24774 },
24775 "permissions" : {
24776 "check" : [
24777 "perm",
24778 "/vms/{vmid}",
24779 [
24780 "VM.Config.Network"
24781 ]
24782 ]
24783 },
24784 "protected" : 1,
24785 "returns" : {
24786 "type" : "null"
24787 }
24788 },
24789 "GET" : {
e9cd3bd4 24790 "allowtoken" : 1,
4d47f125
TL
24791 "description" : "Read IP or Network settings from IPSet.",
24792 "method" : "GET",
24793 "name" : "read_ip",
24794 "parameters" : {
24795 "additionalProperties" : 0,
24796 "properties" : {
24797 "cidr" : {
24798 "description" : "Network/IP specification in CIDR format.",
24799 "format" : "IPorCIDRorAlias",
24800 "type" : "string",
24801 "typetext" : "<string>"
24802 },
24803 "name" : {
24804 "description" : "IP set name.",
24805 "maxLength" : 64,
24806 "minLength" : 2,
24807 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24808 "type" : "string"
24809 },
24810 "node" : {
24811 "description" : "The cluster node name.",
24812 "format" : "pve-node",
24813 "type" : "string",
24814 "typetext" : "<string>"
24815 },
24816 "vmid" : {
24817 "description" : "The (unique) ID of the VM.",
24818 "format" : "pve-vmid",
24819 "minimum" : 1,
24820 "type" : "integer",
24821 "typetext" : "<integer> (1 - N)"
24822 }
24823 }
24824 },
24825 "permissions" : {
24826 "check" : [
24827 "perm",
24828 "/vms/{vmid}",
24829 [
24830 "VM.Audit"
24831 ]
24832 ]
24833 },
24834 "protected" : 1,
24835 "returns" : {
24836 "type" : "object"
24837 }
24838 },
24839 "PUT" : {
e9cd3bd4 24840 "allowtoken" : 1,
4d47f125
TL
24841 "description" : "Update IP or Network settings",
24842 "method" : "PUT",
24843 "name" : "update_ip",
24844 "parameters" : {
24845 "additionalProperties" : 0,
24846 "properties" : {
24847 "cidr" : {
24848 "description" : "Network/IP specification in CIDR format.",
24849 "format" : "IPorCIDRorAlias",
24850 "type" : "string",
24851 "typetext" : "<string>"
24852 },
24853 "comment" : {
24854 "optional" : 1,
24855 "type" : "string",
24856 "typetext" : "<string>"
24857 },
24858 "digest" : {
24859 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24860 "maxLength" : 40,
24861 "optional" : 1,
24862 "type" : "string",
24863 "typetext" : "<string>"
24864 },
24865 "name" : {
24866 "description" : "IP set name.",
24867 "maxLength" : 64,
24868 "minLength" : 2,
24869 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24870 "type" : "string"
24871 },
24872 "node" : {
24873 "description" : "The cluster node name.",
24874 "format" : "pve-node",
24875 "type" : "string",
24876 "typetext" : "<string>"
24877 },
24878 "nomatch" : {
24879 "optional" : 1,
24880 "type" : "boolean",
24881 "typetext" : "<boolean>"
24882 },
24883 "vmid" : {
24884 "description" : "The (unique) ID of the VM.",
24885 "format" : "pve-vmid",
24886 "minimum" : 1,
24887 "type" : "integer",
24888 "typetext" : "<integer> (1 - N)"
24889 }
24890 }
24891 },
24892 "permissions" : {
24893 "check" : [
24894 "perm",
24895 "/vms/{vmid}",
24896 [
24897 "VM.Config.Network"
24898 ]
24899 ]
24900 },
24901 "protected" : 1,
24902 "returns" : {
24903 "type" : "null"
24904 }
24905 }
24906 },
24907 "leaf" : 1,
24908 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
24909 "text" : "{cidr}"
24910 }
24911 ],
44660702
DM
24912 "info" : {
24913 "DELETE" : {
e9cd3bd4 24914 "allowtoken" : 1,
4d47f125 24915 "description" : "Delete IPSet",
44660702 24916 "method" : "DELETE",
4d47f125 24917 "name" : "delete_ipset",
56122987 24918 "parameters" : {
44660702 24919 "additionalProperties" : 0,
56122987 24920 "properties" : {
7aacca6f 24921 "name" : {
4d47f125 24922 "description" : "IP set name.",
7aacca6f 24923 "maxLength" : 64,
7aacca6f
DM
24924 "minLength" : 2,
24925 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 24926 "type" : "string"
7aacca6f
DM
24927 },
24928 "node" : {
44660702 24929 "description" : "The cluster node name.",
56122987 24930 "format" : "pve-node",
013dc89f
DM
24931 "type" : "string",
24932 "typetext" : "<string>"
7aacca6f 24933 },
56122987 24934 "vmid" : {
44660702 24935 "description" : "The (unique) ID of the VM.",
56122987 24936 "format" : "pve-vmid",
44660702 24937 "minimum" : 1,
4bd7df8b 24938 "type" : "integer",
013dc89f 24939 "typetext" : "<integer> (1 - N)"
56122987 24940 }
44660702 24941 }
56122987 24942 },
56122987
DM
24943 "permissions" : {
24944 "check" : [
24945 "perm",
24946 "/vms/{vmid}",
24947 [
7aacca6f 24948 "VM.Config.Network"
56122987
DM
24949 ]
24950 ]
24951 },
44660702 24952 "protected" : 1,
56122987 24953 "returns" : {
7aacca6f 24954 "type" : "null"
44660702 24955 }
56122987 24956 },
44660702 24957 "GET" : {
e9cd3bd4 24958 "allowtoken" : 1,
4d47f125 24959 "description" : "List IPSet content",
44660702 24960 "method" : "GET",
4d47f125 24961 "name" : "get_ipset",
44660702
DM
24962 "parameters" : {
24963 "additionalProperties" : 0,
24964 "properties" : {
24965 "name" : {
4d47f125 24966 "description" : "IP set name.",
44660702
DM
24967 "maxLength" : 64,
24968 "minLength" : 2,
24969 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
24970 "type" : "string"
24971 },
24972 "node" : {
24973 "description" : "The cluster node name.",
24974 "format" : "pve-node",
013dc89f
DM
24975 "type" : "string",
24976 "typetext" : "<string>"
44660702
DM
24977 },
24978 "vmid" : {
24979 "description" : "The (unique) ID of the VM.",
24980 "format" : "pve-vmid",
24981 "minimum" : 1,
4bd7df8b 24982 "type" : "integer",
013dc89f 24983 "typetext" : "<integer> (1 - N)"
44660702 24984 }
4d47f125
TL
24985 }
24986 },
24987 "permissions" : {
24988 "check" : [
24989 "perm",
24990 "/vms/{vmid}",
24991 [
24992 "VM.Audit"
24993 ]
24994 ]
24995 },
24996 "returns" : {
24997 "items" : {
24998 "properties" : {
24999 "cidr" : {
25000 "type" : "string"
25001 },
25002 "comment" : {
25003 "optional" : 1,
25004 "type" : "string"
25005 },
25006 "digest" : {
25007 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25008 "maxLength" : 40,
25009 "optional" : 0,
25010 "type" : "string"
25011 },
25012 "nomatch" : {
25013 "optional" : 1,
25014 "type" : "boolean"
25015 }
25016 },
25017 "type" : "object"
25018 },
25019 "links" : [
25020 {
25021 "href" : "{cidr}",
25022 "rel" : "child"
25023 }
25024 ],
25025 "type" : "array"
44660702
DM
25026 }
25027 },
4d47f125 25028 "POST" : {
e9cd3bd4 25029 "allowtoken" : 1,
4d47f125
TL
25030 "description" : "Add IP or Network to IPSet.",
25031 "method" : "POST",
25032 "name" : "create_ip",
56122987
DM
25033 "parameters" : {
25034 "additionalProperties" : 0,
25035 "properties" : {
44660702
DM
25036 "cidr" : {
25037 "description" : "Network/IP specification in CIDR format.",
4d47f125 25038 "format" : "IPorCIDRorAlias",
013dc89f
DM
25039 "type" : "string",
25040 "typetext" : "<string>"
44660702
DM
25041 },
25042 "comment" : {
25043 "optional" : 1,
013dc89f
DM
25044 "type" : "string",
25045 "typetext" : "<string>"
44660702 25046 },
56122987 25047 "name" : {
4d47f125 25048 "description" : "IP set name.",
44660702
DM
25049 "maxLength" : 64,
25050 "minLength" : 2,
7aacca6f 25051 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25052 "type" : "string"
56122987
DM
25053 },
25054 "node" : {
25055 "description" : "The cluster node name.",
44660702 25056 "format" : "pve-node",
013dc89f
DM
25057 "type" : "string",
25058 "typetext" : "<string>"
44660702 25059 },
4d47f125 25060 "nomatch" : {
44660702 25061 "optional" : 1,
4d47f125
TL
25062 "type" : "boolean",
25063 "typetext" : "<boolean>"
56122987 25064 },
7aacca6f 25065 "vmid" : {
7aacca6f 25066 "description" : "The (unique) ID of the VM.",
44660702 25067 "format" : "pve-vmid",
7aacca6f 25068 "minimum" : 1,
4bd7df8b 25069 "type" : "integer",
013dc89f 25070 "typetext" : "<integer> (1 - N)"
56122987
DM
25071 }
25072 }
25073 },
44660702
DM
25074 "permissions" : {
25075 "check" : [
25076 "perm",
25077 "/vms/{vmid}",
25078 [
25079 "VM.Config.Network"
25080 ]
25081 ]
7aacca6f 25082 },
44660702
DM
25083 "protected" : 1,
25084 "returns" : {
25085 "type" : "null"
7aacca6f
DM
25086 }
25087 }
25088 },
4d47f125
TL
25089 "leaf" : 0,
25090 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
25091 "text" : "{name}"
25092 }
25093 ],
25094 "info" : {
25095 "GET" : {
e9cd3bd4 25096 "allowtoken" : 1,
4d47f125 25097 "description" : "List IPSets",
44660702 25098 "method" : "GET",
4d47f125 25099 "name" : "ipset_index",
56122987
DM
25100 "parameters" : {
25101 "additionalProperties" : 0,
25102 "properties" : {
25103 "node" : {
44660702 25104 "description" : "The cluster node name.",
56122987 25105 "format" : "pve-node",
013dc89f
DM
25106 "type" : "string",
25107 "typetext" : "<string>"
56122987
DM
25108 },
25109 "vmid" : {
7aacca6f 25110 "description" : "The (unique) ID of the VM.",
44660702 25111 "format" : "pve-vmid",
7aacca6f 25112 "minimum" : 1,
4bd7df8b 25113 "type" : "integer",
013dc89f 25114 "typetext" : "<integer> (1 - N)"
56122987
DM
25115 }
25116 }
25117 },
44660702
DM
25118 "permissions" : {
25119 "check" : [
25120 "perm",
25121 "/vms/{vmid}",
25122 [
25123 "VM.Audit"
25124 ]
25125 ]
25126 },
56122987
DM
25127 "returns" : {
25128 "items" : {
56122987 25129 "properties" : {
44660702
DM
25130 "comment" : {
25131 "optional" : 1,
56122987
DM
25132 "type" : "string"
25133 },
56122987 25134 "digest" : {
56122987 25135 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
25136 "maxLength" : 40,
25137 "optional" : 0,
25138 "type" : "string"
25139 },
25140 "name" : {
4d47f125
TL
25141 "description" : "IP set name.",
25142 "maxLength" : 64,
25143 "minLength" : 2,
25144 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 25145 "type" : "string"
56122987 25146 }
44660702
DM
25147 },
25148 "type" : "object"
25149 },
25150 "links" : [
25151 {
25152 "href" : "{name}",
25153 "rel" : "child"
56122987 25154 }
4d47f125
TL
25155 ],
25156 "type" : "array"
25157 }
25158 },
25159 "POST" : {
e9cd3bd4 25160 "allowtoken" : 1,
4d47f125
TL
25161 "description" : "Create new IPSet",
25162 "method" : "POST",
25163 "name" : "create_ipset",
25164 "parameters" : {
25165 "additionalProperties" : 0,
25166 "properties" : {
25167 "comment" : {
25168 "optional" : 1,
25169 "type" : "string",
25170 "typetext" : "<string>"
25171 },
25172 "digest" : {
25173 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25174 "maxLength" : 40,
25175 "optional" : 1,
25176 "type" : "string",
25177 "typetext" : "<string>"
25178 },
25179 "name" : {
25180 "description" : "IP set name.",
25181 "maxLength" : 64,
25182 "minLength" : 2,
25183 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25184 "type" : "string"
25185 },
25186 "node" : {
25187 "description" : "The cluster node name.",
25188 "format" : "pve-node",
25189 "type" : "string",
25190 "typetext" : "<string>"
25191 },
25192 "rename" : {
25193 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
25194 "maxLength" : 64,
25195 "minLength" : 2,
25196 "optional" : 1,
25197 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25198 "type" : "string"
25199 },
25200 "vmid" : {
25201 "description" : "The (unique) ID of the VM.",
25202 "format" : "pve-vmid",
25203 "minimum" : 1,
25204 "type" : "integer",
25205 "typetext" : "<integer> (1 - N)"
25206 }
25207 }
25208 },
25209 "permissions" : {
25210 "check" : [
25211 "perm",
25212 "/vms/{vmid}",
25213 [
25214 "VM.Config.Network"
25215 ]
25216 ]
25217 },
25218 "protected" : 1,
25219 "returns" : {
25220 "type" : "null"
25221 }
25222 }
25223 },
25224 "leaf" : 0,
25225 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
25226 "text" : "ipset"
25227 },
25228 {
25229 "info" : {
25230 "GET" : {
e9cd3bd4 25231 "allowtoken" : 1,
4d47f125
TL
25232 "description" : "Get VM firewall options.",
25233 "method" : "GET",
25234 "name" : "get_options",
25235 "parameters" : {
25236 "additionalProperties" : 0,
25237 "properties" : {
25238 "node" : {
25239 "description" : "The cluster node name.",
25240 "format" : "pve-node",
25241 "type" : "string",
25242 "typetext" : "<string>"
25243 },
25244 "vmid" : {
25245 "description" : "The (unique) ID of the VM.",
25246 "format" : "pve-vmid",
25247 "minimum" : 1,
25248 "type" : "integer",
25249 "typetext" : "<integer> (1 - N)"
25250 }
25251 }
25252 },
25253 "permissions" : {
25254 "check" : [
25255 "perm",
25256 "/vms/{vmid}",
25257 [
25258 "VM.Audit"
25259 ]
25260 ]
25261 },
25262 "proxyto" : "node",
25263 "returns" : {
25264 "properties" : {
25265 "dhcp" : {
5c1699e5 25266 "default" : 0,
4d47f125
TL
25267 "description" : "Enable DHCP.",
25268 "optional" : 1,
25269 "type" : "boolean"
25270 },
25271 "enable" : {
5c1699e5 25272 "default" : 0,
4d47f125
TL
25273 "description" : "Enable/disable firewall rules.",
25274 "optional" : 1,
25275 "type" : "boolean"
25276 },
25277 "ipfilter" : {
25278 "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.",
25279 "optional" : 1,
25280 "type" : "boolean"
25281 },
25282 "log_level_in" : {
25283 "description" : "Log level for incoming traffic.",
25284 "enum" : [
25285 "emerg",
25286 "alert",
25287 "crit",
25288 "err",
25289 "warning",
25290 "notice",
25291 "info",
25292 "debug",
25293 "nolog"
25294 ],
25295 "optional" : 1,
25296 "type" : "string"
25297 },
25298 "log_level_out" : {
25299 "description" : "Log level for outgoing traffic.",
25300 "enum" : [
25301 "emerg",
25302 "alert",
25303 "crit",
25304 "err",
25305 "warning",
25306 "notice",
25307 "info",
25308 "debug",
25309 "nolog"
25310 ],
25311 "optional" : 1,
25312 "type" : "string"
25313 },
25314 "macfilter" : {
5c1699e5 25315 "default" : 0,
4d47f125
TL
25316 "description" : "Enable/disable MAC address filter.",
25317 "optional" : 1,
25318 "type" : "boolean"
25319 },
25320 "ndp" : {
5c1699e5
TL
25321 "default" : 0,
25322 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
25323 "optional" : 1,
25324 "type" : "boolean"
25325 },
25326 "policy_in" : {
25327 "description" : "Input policy.",
25328 "enum" : [
25329 "ACCEPT",
25330 "REJECT",
25331 "DROP"
25332 ],
25333 "optional" : 1,
25334 "type" : "string"
25335 },
25336 "policy_out" : {
25337 "description" : "Output policy.",
25338 "enum" : [
25339 "ACCEPT",
25340 "REJECT",
25341 "DROP"
25342 ],
25343 "optional" : 1,
25344 "type" : "string"
25345 },
25346 "radv" : {
25347 "description" : "Allow sending Router Advertisement.",
25348 "optional" : 1,
25349 "type" : "boolean"
25350 }
25351 },
25352 "type" : "object"
7aacca6f
DM
25353 }
25354 },
4d47f125 25355 "PUT" : {
e9cd3bd4 25356 "allowtoken" : 1,
4d47f125
TL
25357 "description" : "Set Firewall options.",
25358 "method" : "PUT",
25359 "name" : "set_options",
7aacca6f
DM
25360 "parameters" : {
25361 "additionalProperties" : 0,
25362 "properties" : {
4d47f125
TL
25363 "delete" : {
25364 "description" : "A list of settings you want to delete.",
25365 "format" : "pve-configid-list",
7aacca6f 25366 "optional" : 1,
013dc89f
DM
25367 "type" : "string",
25368 "typetext" : "<string>"
7aacca6f 25369 },
4d47f125 25370 "dhcp" : {
5c1699e5 25371 "default" : 0,
4d47f125
TL
25372 "description" : "Enable DHCP.",
25373 "optional" : 1,
25374 "type" : "boolean",
25375 "typetext" : "<boolean>"
7aacca6f 25376 },
4d47f125
TL
25377 "digest" : {
25378 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25379 "maxLength" : 40,
25380 "optional" : 1,
013dc89f
DM
25381 "type" : "string",
25382 "typetext" : "<string>"
7aacca6f 25383 },
4d47f125 25384 "enable" : {
5c1699e5 25385 "default" : 0,
4d47f125
TL
25386 "description" : "Enable/disable firewall rules.",
25387 "optional" : 1,
25388 "type" : "boolean",
25389 "typetext" : "<boolean>"
25390 },
25391 "ipfilter" : {
25392 "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.",
25393 "optional" : 1,
25394 "type" : "boolean",
25395 "typetext" : "<boolean>"
56122987 25396 },
4d47f125
TL
25397 "log_level_in" : {
25398 "description" : "Log level for incoming traffic.",
25399 "enum" : [
25400 "emerg",
25401 "alert",
25402 "crit",
25403 "err",
25404 "warning",
25405 "notice",
25406 "info",
25407 "debug",
25408 "nolog"
25409 ],
25410 "optional" : 1,
25411 "type" : "string"
44660702 25412 },
4d47f125
TL
25413 "log_level_out" : {
25414 "description" : "Log level for outgoing traffic.",
25415 "enum" : [
25416 "emerg",
25417 "alert",
25418 "crit",
25419 "err",
25420 "warning",
25421 "notice",
25422 "info",
25423 "debug",
25424 "nolog"
25425 ],
25426 "optional" : 1,
25427 "type" : "string"
44660702 25428 },
4d47f125 25429 "macfilter" : {
5c1699e5 25430 "default" : 0,
4d47f125
TL
25431 "description" : "Enable/disable MAC address filter.",
25432 "optional" : 1,
25433 "type" : "boolean",
25434 "typetext" : "<boolean>"
7aacca6f 25435 },
4d47f125 25436 "ndp" : {
5c1699e5
TL
25437 "default" : 0,
25438 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
25439 "optional" : 1,
25440 "type" : "boolean",
25441 "typetext" : "<boolean>"
7aacca6f 25442 },
4d47f125
TL
25443 "node" : {
25444 "description" : "The cluster node name.",
25445 "format" : "pve-node",
25446 "type" : "string",
25447 "typetext" : "<string>"
25448 },
25449 "policy_in" : {
25450 "description" : "Input policy.",
25451 "enum" : [
25452 "ACCEPT",
25453 "REJECT",
25454 "DROP"
44660702 25455 ],
4d47f125
TL
25456 "optional" : 1,
25457 "type" : "string"
25458 },
25459 "policy_out" : {
25460 "description" : "Output policy.",
25461 "enum" : [
25462 "ACCEPT",
25463 "REJECT",
25464 "DROP"
25465 ],
25466 "optional" : 1,
25467 "type" : "string"
25468 },
25469 "radv" : {
25470 "description" : "Allow sending Router Advertisement.",
25471 "optional" : 1,
25472 "type" : "boolean",
25473 "typetext" : "<boolean>"
25474 },
25475 "vmid" : {
25476 "description" : "The (unique) ID of the VM.",
25477 "format" : "pve-vmid",
25478 "minimum" : 1,
25479 "type" : "integer",
25480 "typetext" : "<integer> (1 - N)"
44660702 25481 }
4d47f125
TL
25482 }
25483 },
25484 "permissions" : {
25485 "check" : [
25486 "perm",
25487 "/vms/{vmid}",
25488 [
25489 "VM.Config.Network"
25490 ]
25491 ]
25492 },
25493 "protected" : 1,
25494 "proxyto" : "node",
25495 "returns" : {
25496 "type" : "null"
25497 }
25498 }
25499 },
25500 "leaf" : 1,
25501 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
25502 "text" : "options"
25503 },
25504 {
25505 "info" : {
25506 "GET" : {
e9cd3bd4 25507 "allowtoken" : 1,
4d47f125
TL
25508 "description" : "Read firewall log",
25509 "method" : "GET",
25510 "name" : "log",
25511 "parameters" : {
25512 "additionalProperties" : 0,
25513 "properties" : {
25514 "limit" : {
25515 "minimum" : 0,
25516 "optional" : 1,
25517 "type" : "integer",
25518 "typetext" : "<integer> (0 - N)"
44660702 25519 },
4d47f125
TL
25520 "node" : {
25521 "description" : "The cluster node name.",
25522 "format" : "pve-node",
25523 "type" : "string",
25524 "typetext" : "<string>"
44660702 25525 },
4d47f125
TL
25526 "start" : {
25527 "minimum" : 0,
25528 "optional" : 1,
25529 "type" : "integer",
25530 "typetext" : "<integer> (0 - N)"
25531 },
25532 "vmid" : {
25533 "description" : "The (unique) ID of the VM.",
25534 "format" : "pve-vmid",
25535 "minimum" : 1,
25536 "type" : "integer",
25537 "typetext" : "<integer> (1 - N)"
44660702
DM
25538 }
25539 }
25540 },
4d47f125
TL
25541 "permissions" : {
25542 "check" : [
25543 "perm",
25544 "/vms/{vmid}",
25545 [
25546 "VM.Console"
25547 ]
25548 ]
25549 },
25550 "protected" : 1,
25551 "proxyto" : "node",
25552 "returns" : {
25553 "items" : {
25554 "properties" : {
25555 "n" : {
25556 "description" : "Line number",
25557 "type" : "integer"
25558 },
25559 "t" : {
25560 "description" : "Line text",
25561 "type" : "string"
25562 }
25563 },
25564 "type" : "object"
25565 },
25566 "type" : "array"
25567 }
44660702 25568 }
4d47f125
TL
25569 },
25570 "leaf" : 1,
25571 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
25572 "text" : "log"
25573 },
25574 {
44660702
DM
25575 "info" : {
25576 "GET" : {
e9cd3bd4 25577 "allowtoken" : 1,
4d47f125 25578 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 25579 "method" : "GET",
4d47f125 25580 "name" : "refs",
44660702
DM
25581 "parameters" : {
25582 "additionalProperties" : 0,
25583 "properties" : {
25584 "node" : {
25585 "description" : "The cluster node name.",
25586 "format" : "pve-node",
013dc89f
DM
25587 "type" : "string",
25588 "typetext" : "<string>"
44660702 25589 },
4d47f125
TL
25590 "type" : {
25591 "description" : "Only list references of specified type.",
25592 "enum" : [
25593 "alias",
25594 "ipset"
25595 ],
25596 "optional" : 1,
25597 "type" : "string"
25598 },
44660702
DM
25599 "vmid" : {
25600 "description" : "The (unique) ID of the VM.",
25601 "format" : "pve-vmid",
25602 "minimum" : 1,
4bd7df8b 25603 "type" : "integer",
013dc89f 25604 "typetext" : "<integer> (1 - N)"
44660702
DM
25605 }
25606 }
25607 },
4d47f125
TL
25608 "permissions" : {
25609 "check" : [
25610 "perm",
25611 "/vms/{vmid}",
25612 [
25613 "VM.Audit"
25614 ]
25615 ]
25616 },
25617 "returns" : {
25618 "items" : {
25619 "properties" : {
25620 "comment" : {
25621 "optional" : 1,
25622 "type" : "string"
25623 },
25624 "name" : {
25625 "type" : "string"
25626 },
25627 "type" : {
25628 "enum" : [
25629 "alias",
25630 "ipset"
25631 ],
25632 "type" : "string"
25633 }
25634 },
25635 "type" : "object"
25636 },
25637 "type" : "array"
25638 }
25639 }
25640 },
25641 "leaf" : 1,
25642 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
25643 "text" : "refs"
25644 }
25645 ],
25646 "info" : {
25647 "GET" : {
e9cd3bd4 25648 "allowtoken" : 1,
4d47f125
TL
25649 "description" : "Directory index.",
25650 "method" : "GET",
25651 "name" : "index",
25652 "parameters" : {
25653 "additionalProperties" : 0,
25654 "properties" : {
25655 "node" : {
25656 "description" : "The cluster node name.",
25657 "format" : "pve-node",
25658 "type" : "string",
25659 "typetext" : "<string>"
25660 },
25661 "vmid" : {
25662 "description" : "The (unique) ID of the VM.",
25663 "format" : "pve-vmid",
25664 "minimum" : 1,
25665 "type" : "integer",
25666 "typetext" : "<integer> (1 - N)"
25667 }
25668 }
25669 },
25670 "permissions" : {
25671 "user" : "all"
25672 },
25673 "returns" : {
25674 "items" : {
25675 "properties" : {},
25676 "type" : "object"
25677 },
25678 "links" : [
25679 {
25680 "href" : "{name}",
25681 "rel" : "child"
25682 }
25683 ],
25684 "type" : "array"
25685 }
25686 }
25687 },
25688 "leaf" : 0,
25689 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
25690 "text" : "firewall"
25691 },
25692 {
25693 "info" : {
25694 "GET" : {
e9cd3bd4 25695 "allowtoken" : 1,
4d47f125
TL
25696 "description" : "Read VM RRD statistics (returns PNG)",
25697 "method" : "GET",
25698 "name" : "rrd",
25699 "parameters" : {
25700 "additionalProperties" : 0,
25701 "properties" : {
25702 "cf" : {
25703 "description" : "The RRD consolidation function",
25704 "enum" : [
25705 "AVERAGE",
25706 "MAX"
25707 ],
25708 "optional" : 1,
25709 "type" : "string"
25710 },
25711 "ds" : {
25712 "description" : "The list of datasources you want to display.",
25713 "format" : "pve-configid-list",
25714 "type" : "string",
25715 "typetext" : "<string>"
25716 },
25717 "node" : {
25718 "description" : "The cluster node name.",
25719 "format" : "pve-node",
25720 "type" : "string",
25721 "typetext" : "<string>"
25722 },
25723 "timeframe" : {
25724 "description" : "Specify the time frame you are interested in.",
25725 "enum" : [
25726 "hour",
25727 "day",
25728 "week",
25729 "month",
25730 "year"
25731 ],
25732 "type" : "string"
25733 },
25734 "vmid" : {
25735 "description" : "The (unique) ID of the VM.",
25736 "format" : "pve-vmid",
25737 "minimum" : 1,
25738 "type" : "integer",
25739 "typetext" : "<integer> (1 - N)"
25740 }
25741 }
25742 },
25743 "permissions" : {
25744 "check" : [
25745 "perm",
25746 "/vms/{vmid}",
25747 [
25748 "VM.Audit"
25749 ]
25750 ]
25751 },
25752 "protected" : 1,
25753 "returns" : {
25754 "properties" : {
25755 "filename" : {
25756 "type" : "string"
25757 }
25758 },
25759 "type" : "object"
25760 }
25761 }
25762 },
25763 "leaf" : 1,
25764 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
25765 "text" : "rrd"
25766 },
25767 {
25768 "info" : {
25769 "GET" : {
e9cd3bd4 25770 "allowtoken" : 1,
4d47f125
TL
25771 "description" : "Read VM RRD statistics",
25772 "method" : "GET",
25773 "name" : "rrddata",
25774 "parameters" : {
25775 "additionalProperties" : 0,
25776 "properties" : {
25777 "cf" : {
25778 "description" : "The RRD consolidation function",
25779 "enum" : [
25780 "AVERAGE",
25781 "MAX"
25782 ],
25783 "optional" : 1,
25784 "type" : "string"
25785 },
25786 "node" : {
25787 "description" : "The cluster node name.",
25788 "format" : "pve-node",
25789 "type" : "string",
25790 "typetext" : "<string>"
44660702 25791 },
4d47f125
TL
25792 "timeframe" : {
25793 "description" : "Specify the time frame you are interested in.",
25794 "enum" : [
25795 "hour",
25796 "day",
25797 "week",
25798 "month",
25799 "year"
44660702 25800 ],
4d47f125
TL
25801 "type" : "string"
25802 },
25803 "vmid" : {
25804 "description" : "The (unique) ID of the VM.",
25805 "format" : "pve-vmid",
25806 "minimum" : 1,
25807 "type" : "integer",
25808 "typetext" : "<integer> (1 - N)"
44660702 25809 }
4d47f125
TL
25810 }
25811 },
25812 "permissions" : {
25813 "check" : [
25814 "perm",
25815 "/vms/{vmid}",
25816 [
25817 "VM.Audit"
25818 ]
25819 ]
25820 },
25821 "protected" : 1,
25822 "returns" : {
25823 "items" : {
25824 "properties" : {},
25825 "type" : "object"
44660702 25826 },
4d47f125
TL
25827 "type" : "array"
25828 }
25829 }
25830 },
25831 "leaf" : 1,
25832 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
25833 "text" : "rrddata"
25834 },
25835 {
25836 "info" : {
25837 "POST" : {
e9cd3bd4 25838 "allowtoken" : 1,
4d47f125
TL
25839 "description" : "Creates a TCP VNC proxy connections.",
25840 "method" : "POST",
25841 "name" : "vncproxy",
25842 "parameters" : {
25843 "additionalProperties" : 0,
25844 "properties" : {
25845 "height" : {
25846 "description" : "sets the height of the console in pixels.",
25847 "maximum" : 2160,
25848 "minimum" : 16,
25849 "optional" : 1,
25850 "type" : "integer",
25851 "typetext" : "<integer> (16 - 2160)"
44660702 25852 },
4d47f125
TL
25853 "node" : {
25854 "description" : "The cluster node name.",
25855 "format" : "pve-node",
25856 "type" : "string",
25857 "typetext" : "<string>"
44660702 25858 },
4d47f125
TL
25859 "vmid" : {
25860 "description" : "The (unique) ID of the VM.",
25861 "format" : "pve-vmid",
25862 "minimum" : 1,
25863 "type" : "integer",
25864 "typetext" : "<integer> (1 - N)"
25865 },
25866 "websocket" : {
25867 "description" : "use websocket instead of standard VNC.",
25868 "optional" : 1,
25869 "type" : "boolean",
25870 "typetext" : "<boolean>"
25871 },
25872 "width" : {
25873 "description" : "sets the width of the console in pixels.",
25874 "maximum" : 4096,
25875 "minimum" : 16,
25876 "optional" : 1,
25877 "type" : "integer",
25878 "typetext" : "<integer> (16 - 4096)"
56122987
DM
25879 }
25880 }
44660702 25881 },
4d47f125
TL
25882 "permissions" : {
25883 "check" : [
25884 "perm",
25885 "/vms/{vmid}",
25886 [
25887 "VM.Console"
25888 ]
25889 ]
25890 },
25891 "protected" : 1,
25892 "returns" : {
25893 "additionalProperties" : 0,
25894 "properties" : {
25895 "cert" : {
25896 "type" : "string"
44660702 25897 },
4d47f125
TL
25898 "port" : {
25899 "type" : "integer"
25900 },
25901 "ticket" : {
25902 "type" : "string"
25903 },
25904 "upid" : {
25905 "type" : "string"
25906 },
25907 "user" : {
25908 "type" : "string"
25909 }
25910 }
25911 }
25912 }
25913 },
25914 "leaf" : 1,
25915 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
25916 "text" : "vncproxy"
25917 },
25918 {
25919 "info" : {
25920 "POST" : {
e9cd3bd4 25921 "allowtoken" : 1,
4d47f125
TL
25922 "description" : "Creates a TCP proxy connection.",
25923 "method" : "POST",
25924 "name" : "termproxy",
25925 "parameters" : {
25926 "additionalProperties" : 0,
25927 "properties" : {
25928 "node" : {
25929 "description" : "The cluster node name.",
25930 "format" : "pve-node",
25931 "type" : "string",
25932 "typetext" : "<string>"
44660702 25933 },
4d47f125
TL
25934 "vmid" : {
25935 "description" : "The (unique) ID of the VM.",
25936 "format" : "pve-vmid",
25937 "minimum" : 1,
25938 "type" : "integer",
25939 "typetext" : "<integer> (1 - N)"
44660702 25940 }
4d47f125
TL
25941 }
25942 },
25943 "permissions" : {
25944 "check" : [
25945 "perm",
25946 "/vms/{vmid}",
25947 [
25948 "VM.Console"
25949 ]
25950 ]
25951 },
25952 "protected" : 1,
25953 "returns" : {
25954 "additionalProperties" : 0,
25955 "properties" : {
25956 "port" : {
25957 "type" : "integer"
56122987 25958 },
4d47f125
TL
25959 "ticket" : {
25960 "type" : "string"
7aacca6f 25961 },
4d47f125
TL
25962 "upid" : {
25963 "type" : "string"
25964 },
25965 "user" : {
25966 "type" : "string"
25967 }
25968 }
25969 }
25970 }
25971 },
25972 "leaf" : 1,
25973 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
25974 "text" : "termproxy"
25975 },
25976 {
25977 "info" : {
25978 "GET" : {
e9cd3bd4 25979 "allowtoken" : 1,
4d47f125
TL
25980 "description" : "Opens a weksocket for VNC traffic.",
25981 "method" : "GET",
25982 "name" : "vncwebsocket",
25983 "parameters" : {
25984 "additionalProperties" : 0,
25985 "properties" : {
25986 "node" : {
25987 "description" : "The cluster node name.",
25988 "format" : "pve-node",
25989 "type" : "string",
25990 "typetext" : "<string>"
25991 },
25992 "port" : {
25993 "description" : "Port number returned by previous vncproxy call.",
25994 "maximum" : 5999,
25995 "minimum" : 5900,
25996 "type" : "integer",
25997 "typetext" : "<integer> (5900 - 5999)"
25998 },
25999 "vmid" : {
26000 "description" : "The (unique) ID of the VM.",
26001 "format" : "pve-vmid",
26002 "minimum" : 1,
26003 "type" : "integer",
26004 "typetext" : "<integer> (1 - N)"
26005 },
26006 "vncticket" : {
26007 "description" : "Ticket from previous call to vncproxy.",
26008 "maxLength" : 512,
26009 "type" : "string",
26010 "typetext" : "<string>"
56122987
DM
26011 }
26012 }
26013 },
4d47f125
TL
26014 "permissions" : {
26015 "check" : [
26016 "perm",
26017 "/vms/{vmid}",
26018 [
26019 "VM.Console"
26020 ]
26021 ],
26022 "description" : "You also need to pass a valid ticket (vncticket)."
26023 },
26024 "returns" : {
26025 "properties" : {
26026 "port" : {
26027 "type" : "string"
26028 }
26029 },
26030 "type" : "object"
26031 }
26032 }
26033 },
26034 "leaf" : 1,
26035 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
26036 "text" : "vncwebsocket"
26037 },
26038 {
26039 "info" : {
26040 "POST" : {
e9cd3bd4 26041 "allowtoken" : 1,
4d47f125
TL
26042 "description" : "Returns a SPICE configuration to connect to the CT.",
26043 "method" : "POST",
26044 "name" : "spiceproxy",
26045 "parameters" : {
26046 "additionalProperties" : 0,
26047 "properties" : {
26048 "node" : {
26049 "description" : "The cluster node name.",
26050 "format" : "pve-node",
26051 "type" : "string",
26052 "typetext" : "<string>"
56122987 26053 },
4d47f125
TL
26054 "proxy" : {
26055 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
26056 "format" : "address",
26057 "optional" : 1,
26058 "type" : "string",
26059 "typetext" : "<string>"
44660702 26060 },
4d47f125
TL
26061 "vmid" : {
26062 "description" : "The (unique) ID of the VM.",
26063 "format" : "pve-vmid",
26064 "minimum" : 1,
26065 "type" : "integer",
26066 "typetext" : "<integer> (1 - N)"
44660702 26067 }
56122987
DM
26068 }
26069 },
4d47f125
TL
26070 "permissions" : {
26071 "check" : [
26072 "perm",
26073 "/vms/{vmid}",
26074 [
26075 "VM.Console"
26076 ]
26077 ]
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 }
26101 }
26102 }
26103 },
26104 "leaf" : 1,
26105 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
26106 "text" : "spiceproxy"
26107 },
26108 {
26109 "info" : {
26110 "POST" : {
e9cd3bd4 26111 "allowtoken" : 1,
4d47f125
TL
26112 "description" : "Migrate the container to another node. Creates a new migration task.",
26113 "method" : "POST",
26114 "name" : "migrate_vm",
26115 "parameters" : {
26116 "additionalProperties" : 0,
26117 "properties" : {
95895385
TL
26118 "bwlimit" : {
26119 "default" : "migrate limit from datacenter or storage config",
26120 "description" : "Override I/O bandwidth limit (in KiB/s).",
26121 "minimum" : "0",
26122 "optional" : 1,
26123 "type" : "number",
26124 "typetext" : "<number> (0 - N)"
26125 },
4d47f125
TL
26126 "force" : {
26127 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
26128 "optional" : 1,
26129 "type" : "boolean",
26130 "typetext" : "<boolean>"
56122987 26131 },
4d47f125
TL
26132 "node" : {
26133 "description" : "The cluster node name.",
26134 "format" : "pve-node",
26135 "type" : "string",
26136 "typetext" : "<string>"
44660702 26137 },
4d47f125
TL
26138 "online" : {
26139 "description" : "Use online/live migration.",
26140 "optional" : 1,
26141 "type" : "boolean",
26142 "typetext" : "<boolean>"
26143 },
26144 "restart" : {
26145 "description" : "Use restart migration",
26146 "optional" : 1,
26147 "type" : "boolean",
26148 "typetext" : "<boolean>"
26149 },
26150 "target" : {
26151 "description" : "Target node.",
26152 "format" : "pve-node",
26153 "type" : "string",
26154 "typetext" : "<string>"
26155 },
26156 "timeout" : {
26157 "default" : 180,
26158 "description" : "Timeout in seconds for shutdown for restart migration",
26159 "optional" : 1,
26160 "type" : "integer",
26161 "typetext" : "<integer>"
26162 },
26163 "vmid" : {
26164 "description" : "The (unique) ID of the VM.",
26165 "format" : "pve-vmid",
26166 "minimum" : 1,
26167 "type" : "integer",
26168 "typetext" : "<integer> (1 - N)"
56122987
DM
26169 }
26170 }
26171 },
4d47f125
TL
26172 "permissions" : {
26173 "check" : [
26174 "perm",
26175 "/vms/{vmid}",
26176 [
26177 "VM.Migrate"
26178 ]
26179 ]
26180 },
26181 "protected" : 1,
26182 "proxyto" : "node",
26183 "returns" : {
26184 "description" : "the task ID.",
26185 "type" : "string"
26186 }
56122987 26187 }
4d47f125
TL
26188 },
26189 "leaf" : 1,
26190 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
26191 "text" : "migrate"
26192 },
26193 {
56122987
DM
26194 "info" : {
26195 "GET" : {
e9cd3bd4 26196 "allowtoken" : 1,
4d47f125 26197 "description" : "Check if feature for virtual machine is available.",
44660702 26198 "method" : "GET",
4d47f125 26199 "name" : "vm_feature",
56122987 26200 "parameters" : {
44660702 26201 "additionalProperties" : 0,
56122987 26202 "properties" : {
4d47f125
TL
26203 "feature" : {
26204 "description" : "Feature to check.",
26205 "enum" : [
26206 "snapshot",
26207 "clone",
26208 "copy"
26209 ],
26210 "type" : "string"
26211 },
56122987 26212 "node" : {
44660702 26213 "description" : "The cluster node name.",
56122987 26214 "format" : "pve-node",
013dc89f
DM
26215 "type" : "string",
26216 "typetext" : "<string>"
44660702 26217 },
4d47f125
TL
26218 "snapname" : {
26219 "description" : "The name of the snapshot.",
26220 "format" : "pve-configid",
26221 "maxLength" : 40,
26222 "optional" : 1,
26223 "type" : "string",
26224 "typetext" : "<string>"
26225 },
44660702
DM
26226 "vmid" : {
26227 "description" : "The (unique) ID of the VM.",
26228 "format" : "pve-vmid",
26229 "minimum" : 1,
4bd7df8b 26230 "type" : "integer",
013dc89f 26231 "typetext" : "<integer> (1 - N)"
56122987 26232 }
44660702
DM
26233 }
26234 },
26235 "permissions" : {
4d47f125
TL
26236 "check" : [
26237 "perm",
26238 "/vms/{vmid}",
26239 [
26240 "VM.Audit"
26241 ]
26242 ]
56122987 26243 },
4d47f125
TL
26244 "protected" : 1,
26245 "proxyto" : "node",
56122987 26246 "returns" : {
4d47f125
TL
26247 "properties" : {
26248 "hasFeature" : {
26249 "type" : "boolean"
26250 }
7aacca6f 26251 },
4d47f125
TL
26252 "type" : "object"
26253 }
26254 }
26255 },
26256 "leaf" : 1,
26257 "path" : "/nodes/{node}/lxc/{vmid}/feature",
26258 "text" : "feature"
26259 },
26260 {
26261 "info" : {
26262 "POST" : {
e9cd3bd4 26263 "allowtoken" : 1,
4d47f125
TL
26264 "description" : "Create a Template.",
26265 "method" : "POST",
26266 "name" : "template",
26267 "parameters" : {
26268 "additionalProperties" : 0,
26269 "properties" : {
26270 "node" : {
26271 "description" : "The cluster node name.",
26272 "format" : "pve-node",
26273 "type" : "string",
26274 "typetext" : "<string>"
26275 },
26276 "vmid" : {
26277 "description" : "The (unique) ID of the VM.",
26278 "format" : "pve-vmid",
26279 "minimum" : 1,
26280 "type" : "integer",
26281 "typetext" : "<integer> (1 - N)"
56122987 26282 }
4d47f125
TL
26283 }
26284 },
26285 "permissions" : {
26286 "check" : [
26287 "perm",
26288 "/vms/{vmid}",
26289 [
26290 "VM.Allocate"
26291 ]
44660702 26292 ],
4d47f125
TL
26293 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
26294 },
26295 "protected" : 1,
26296 "proxyto" : "node",
26297 "returns" : {
26298 "type" : "null"
56122987
DM
26299 }
26300 }
26301 },
4d47f125
TL
26302 "leaf" : 1,
26303 "path" : "/nodes/{node}/lxc/{vmid}/template",
26304 "text" : "template"
56122987
DM
26305 },
26306 {
56122987 26307 "info" : {
4d47f125 26308 "POST" : {
e9cd3bd4 26309 "allowtoken" : 1,
4d47f125
TL
26310 "description" : "Create a container clone/copy",
26311 "method" : "POST",
26312 "name" : "clone_vm",
56122987 26313 "parameters" : {
7aacca6f 26314 "additionalProperties" : 0,
56122987 26315 "properties" : {
95895385
TL
26316 "bwlimit" : {
26317 "default" : "clone limit from datacenter or storage config",
26318 "description" : "Override I/O bandwidth limit (in KiB/s).",
26319 "minimum" : "0",
26320 "optional" : 1,
26321 "type" : "number",
26322 "typetext" : "<number> (0 - N)"
26323 },
4d47f125
TL
26324 "description" : {
26325 "description" : "Description for the new CT.",
44660702 26326 "optional" : 1,
4d47f125
TL
26327 "type" : "string",
26328 "typetext" : "<string>"
44660702 26329 },
4d47f125
TL
26330 "full" : {
26331 "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.",
26332 "optional" : 1,
26333 "type" : "boolean",
26334 "typetext" : "<boolean>"
26335 },
26336 "hostname" : {
26337 "description" : "Set a hostname for the new CT.",
26338 "format" : "dns-name",
26339 "optional" : 1,
013dc89f
DM
26340 "type" : "string",
26341 "typetext" : "<string>"
44660702 26342 },
4d47f125
TL
26343 "newid" : {
26344 "description" : "VMID for the clone.",
26345 "format" : "pve-vmid",
26346 "minimum" : 1,
26347 "type" : "integer",
26348 "typetext" : "<integer> (1 - N)"
26349 },
7aacca6f
DM
26350 "node" : {
26351 "description" : "The cluster node name.",
44660702 26352 "format" : "pve-node",
013dc89f
DM
26353 "type" : "string",
26354 "typetext" : "<string>"
56122987 26355 },
4d47f125
TL
26356 "pool" : {
26357 "description" : "Add the new CT to the specified pool.",
26358 "format" : "pve-poolid",
26359 "optional" : 1,
26360 "type" : "string",
26361 "typetext" : "<string>"
26362 },
26363 "snapname" : {
26364 "description" : "The name of the snapshot.",
26365 "format" : "pve-configid",
26366 "maxLength" : 40,
26367 "optional" : 1,
26368 "type" : "string",
26369 "typetext" : "<string>"
26370 },
26371 "storage" : {
26372 "description" : "Target storage for full clone.",
26373 "format" : "pve-storage-id",
26374 "optional" : 1,
26375 "type" : "string",
26376 "typetext" : "<string>"
26377 },
26378 "target" : {
26379 "description" : "Target node. Only allowed if the original VM is on shared storage.",
26380 "format" : "pve-node",
26381 "optional" : 1,
26382 "type" : "string",
26383 "typetext" : "<string>"
26384 },
7aacca6f 26385 "vmid" : {
44660702 26386 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
26387 "format" : "pve-vmid",
26388 "minimum" : 1,
4bd7df8b 26389 "type" : "integer",
013dc89f 26390 "typetext" : "<integer> (1 - N)"
56122987 26391 }
7aacca6f
DM
26392 }
26393 },
26394 "permissions" : {
26395 "check" : [
4d47f125 26396 "and",
7aacca6f 26397 [
4d47f125
TL
26398 "perm",
26399 "/vms/{vmid}",
26400 [
26401 "VM.Clone"
26402 ]
26403 ],
26404 [
26405 "or",
26406 [
26407 "perm",
26408 "/vms/{newid}",
26409 [
26410 "VM.Allocate"
26411 ]
26412 ],
26413 [
26414 "perm",
26415 "/pool/{pool}",
26416 [
26417 "VM.Allocate"
26418 ],
26419 "require_param",
26420 "pool"
26421 ]
7aacca6f 26422 ]
4d47f125
TL
26423 ],
26424 "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 26425 },
44660702 26426 "protected" : 1,
4d47f125 26427 "proxyto" : "node",
7aacca6f 26428 "returns" : {
4d47f125 26429 "type" : "string"
7aacca6f 26430 }
56122987 26431 }
7aacca6f 26432 },
44660702 26433 "leaf" : 1,
4d47f125
TL
26434 "path" : "/nodes/{node}/lxc/{vmid}/clone",
26435 "text" : "clone"
56122987
DM
26436 },
26437 {
56122987 26438 "info" : {
4d47f125 26439 "PUT" : {
e9cd3bd4 26440 "allowtoken" : 1,
4d47f125
TL
26441 "description" : "Resize a container mount point.",
26442 "method" : "PUT",
26443 "name" : "resize_vm",
56122987 26444 "parameters" : {
7aacca6f 26445 "additionalProperties" : 0,
56122987 26446 "properties" : {
4d47f125
TL
26447 "digest" : {
26448 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26449 "maxLength" : 40,
26450 "optional" : 1,
26451 "type" : "string",
26452 "typetext" : "<string>"
26453 },
26454 "disk" : {
26455 "description" : "The disk you want to resize.",
44660702 26456 "enum" : [
4d47f125
TL
26457 "rootfs",
26458 "mp0",
26459 "mp1",
26460 "mp2",
26461 "mp3",
26462 "mp4",
26463 "mp5",
26464 "mp6",
26465 "mp7",
26466 "mp8",
26467 "mp9",
26468 "mp10",
26469 "mp11",
26470 "mp12",
26471 "mp13",
26472 "mp14",
26473 "mp15",
26474 "mp16",
26475 "mp17",
26476 "mp18",
26477 "mp19",
26478 "mp20",
26479 "mp21",
26480 "mp22",
26481 "mp23",
26482 "mp24",
26483 "mp25",
26484 "mp26",
26485 "mp27",
26486 "mp28",
26487 "mp29",
26488 "mp30",
26489 "mp31",
26490 "mp32",
26491 "mp33",
26492 "mp34",
26493 "mp35",
26494 "mp36",
26495 "mp37",
26496 "mp38",
26497 "mp39",
26498 "mp40",
26499 "mp41",
26500 "mp42",
26501 "mp43",
26502 "mp44",
26503 "mp45",
26504 "mp46",
26505 "mp47",
26506 "mp48",
26507 "mp49",
26508 "mp50",
26509 "mp51",
26510 "mp52",
26511 "mp53",
26512 "mp54",
26513 "mp55",
26514 "mp56",
26515 "mp57",
26516 "mp58",
26517 "mp59",
26518 "mp60",
26519 "mp61",
26520 "mp62",
26521 "mp63",
26522 "mp64",
26523 "mp65",
26524 "mp66",
26525 "mp67",
26526 "mp68",
26527 "mp69",
26528 "mp70",
26529 "mp71",
26530 "mp72",
26531 "mp73",
26532 "mp74",
26533 "mp75",
26534 "mp76",
26535 "mp77",
26536 "mp78",
26537 "mp79",
26538 "mp80",
26539 "mp81",
26540 "mp82",
26541 "mp83",
26542 "mp84",
26543 "mp85",
26544 "mp86",
26545 "mp87",
26546 "mp88",
26547 "mp89",
26548 "mp90",
26549 "mp91",
26550 "mp92",
26551 "mp93",
26552 "mp94",
26553 "mp95",
26554 "mp96",
26555 "mp97",
26556 "mp98",
26557 "mp99",
26558 "mp100",
26559 "mp101",
26560 "mp102",
26561 "mp103",
26562 "mp104",
26563 "mp105",
26564 "mp106",
26565 "mp107",
26566 "mp108",
26567 "mp109",
26568 "mp110",
26569 "mp111",
26570 "mp112",
26571 "mp113",
26572 "mp114",
26573 "mp115",
26574 "mp116",
26575 "mp117",
26576 "mp118",
26577 "mp119",
26578 "mp120",
26579 "mp121",
26580 "mp122",
26581 "mp123",
26582 "mp124",
26583 "mp125",
26584 "mp126",
26585 "mp127",
26586 "mp128",
26587 "mp129",
26588 "mp130",
26589 "mp131",
26590 "mp132",
26591 "mp133",
26592 "mp134",
26593 "mp135",
26594 "mp136",
26595 "mp137",
26596 "mp138",
26597 "mp139",
26598 "mp140",
26599 "mp141",
26600 "mp142",
26601 "mp143",
26602 "mp144",
26603 "mp145",
26604 "mp146",
26605 "mp147",
26606 "mp148",
26607 "mp149",
26608 "mp150",
26609 "mp151",
26610 "mp152",
26611 "mp153",
26612 "mp154",
26613 "mp155",
26614 "mp156",
26615 "mp157",
26616 "mp158",
26617 "mp159",
26618 "mp160",
26619 "mp161",
26620 "mp162",
26621 "mp163",
26622 "mp164",
26623 "mp165",
26624 "mp166",
26625 "mp167",
26626 "mp168",
26627 "mp169",
26628 "mp170",
26629 "mp171",
26630 "mp172",
26631 "mp173",
26632 "mp174",
26633 "mp175",
26634 "mp176",
26635 "mp177",
26636 "mp178",
26637 "mp179",
26638 "mp180",
26639 "mp181",
26640 "mp182",
26641 "mp183",
26642 "mp184",
26643 "mp185",
26644 "mp186",
26645 "mp187",
26646 "mp188",
26647 "mp189",
26648 "mp190",
26649 "mp191",
26650 "mp192",
26651 "mp193",
26652 "mp194",
26653 "mp195",
26654 "mp196",
26655 "mp197",
26656 "mp198",
26657 "mp199",
26658 "mp200",
26659 "mp201",
26660 "mp202",
26661 "mp203",
26662 "mp204",
26663 "mp205",
26664 "mp206",
26665 "mp207",
26666 "mp208",
26667 "mp209",
26668 "mp210",
26669 "mp211",
26670 "mp212",
26671 "mp213",
26672 "mp214",
26673 "mp215",
26674 "mp216",
26675 "mp217",
26676 "mp218",
26677 "mp219",
26678 "mp220",
26679 "mp221",
26680 "mp222",
26681 "mp223",
26682 "mp224",
26683 "mp225",
26684 "mp226",
26685 "mp227",
26686 "mp228",
26687 "mp229",
26688 "mp230",
26689 "mp231",
26690 "mp232",
26691 "mp233",
26692 "mp234",
26693 "mp235",
26694 "mp236",
26695 "mp237",
26696 "mp238",
26697 "mp239",
26698 "mp240",
26699 "mp241",
26700 "mp242",
26701 "mp243",
26702 "mp244",
26703 "mp245",
26704 "mp246",
26705 "mp247",
26706 "mp248",
26707 "mp249",
26708 "mp250",
26709 "mp251",
26710 "mp252",
26711 "mp253",
26712 "mp254",
26713 "mp255"
44660702 26714 ],
44660702
DM
26715 "type" : "string"
26716 },
7aacca6f 26717 "node" : {
44660702 26718 "description" : "The cluster node name.",
7aacca6f 26719 "format" : "pve-node",
013dc89f
DM
26720 "type" : "string",
26721 "typetext" : "<string>"
7aacca6f 26722 },
4d47f125
TL
26723 "size" : {
26724 "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.",
26725 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 26726 "type" : "string"
7aacca6f
DM
26727 },
26728 "vmid" : {
26729 "description" : "The (unique) ID of the VM.",
44660702 26730 "format" : "pve-vmid",
7aacca6f 26731 "minimum" : 1,
4bd7df8b 26732 "type" : "integer",
013dc89f 26733 "typetext" : "<integer> (1 - N)"
56122987 26734 }
56122987
DM
26735 }
26736 },
56122987
DM
26737 "permissions" : {
26738 "check" : [
26739 "perm",
26740 "/vms/{vmid}",
26741 [
4d47f125
TL
26742 "VM.Config.Disk"
26743 ],
26744 "any",
26745 1
56122987
DM
26746 ]
26747 },
7aacca6f 26748 "protected" : 1,
4d47f125 26749 "proxyto" : "node",
7aacca6f 26750 "returns" : {
4d47f125
TL
26751 "description" : "the task ID.",
26752 "type" : "string"
44660702 26753 }
56122987
DM
26754 }
26755 },
44660702 26756 "leaf" : 1,
4d47f125
TL
26757 "path" : "/nodes/{node}/lxc/{vmid}/resize",
26758 "text" : "resize"
56122987
DM
26759 },
26760 {
26761 "info" : {
26762 "POST" : {
e9cd3bd4 26763 "allowtoken" : 1,
4d47f125 26764 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 26765 "method" : "POST",
4d47f125 26766 "name" : "move_volume",
7aacca6f 26767 "parameters" : {
44660702 26768 "additionalProperties" : 0,
7aacca6f 26769 "properties" : {
95895385
TL
26770 "bwlimit" : {
26771 "default" : "clone limit from datacenter or storage config",
26772 "description" : "Override I/O bandwidth limit (in KiB/s).",
26773 "minimum" : "0",
26774 "optional" : 1,
26775 "type" : "number",
26776 "typetext" : "<number> (0 - N)"
26777 },
4d47f125
TL
26778 "delete" : {
26779 "default" : 0,
26780 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 26781 "optional" : 1,
4d47f125
TL
26782 "type" : "boolean",
26783 "typetext" : "<boolean>"
26784 },
26785 "digest" : {
26786 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26787 "maxLength" : 40,
26788 "optional" : 1,
26789 "type" : "string",
26790 "typetext" : "<string>"
5d9c884c 26791 },
44660702
DM
26792 "node" : {
26793 "description" : "The cluster node name.",
26794 "format" : "pve-node",
013dc89f
DM
26795 "type" : "string",
26796 "typetext" : "<string>"
44660702 26797 },
4d47f125
TL
26798 "storage" : {
26799 "description" : "Target Storage.",
26800 "format" : "pve-storage-id",
26801 "type" : "string",
26802 "typetext" : "<string>"
26803 },
7aacca6f 26804 "vmid" : {
44660702 26805 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
26806 "format" : "pve-vmid",
26807 "minimum" : 1,
4bd7df8b 26808 "type" : "integer",
013dc89f 26809 "typetext" : "<integer> (1 - N)"
7aacca6f 26810 },
4d47f125
TL
26811 "volume" : {
26812 "description" : "Volume which will be moved.",
26813 "enum" : [
26814 "rootfs",
26815 "mp0",
26816 "mp1",
26817 "mp2",
26818 "mp3",
26819 "mp4",
26820 "mp5",
26821 "mp6",
26822 "mp7",
26823 "mp8",
26824 "mp9",
26825 "mp10",
26826 "mp11",
26827 "mp12",
26828 "mp13",
26829 "mp14",
26830 "mp15",
26831 "mp16",
26832 "mp17",
26833 "mp18",
26834 "mp19",
26835 "mp20",
26836 "mp21",
26837 "mp22",
26838 "mp23",
26839 "mp24",
26840 "mp25",
26841 "mp26",
26842 "mp27",
26843 "mp28",
26844 "mp29",
26845 "mp30",
26846 "mp31",
26847 "mp32",
26848 "mp33",
26849 "mp34",
26850 "mp35",
26851 "mp36",
26852 "mp37",
26853 "mp38",
26854 "mp39",
26855 "mp40",
26856 "mp41",
26857 "mp42",
26858 "mp43",
26859 "mp44",
26860 "mp45",
26861 "mp46",
26862 "mp47",
26863 "mp48",
26864 "mp49",
26865 "mp50",
26866 "mp51",
26867 "mp52",
26868 "mp53",
26869 "mp54",
26870 "mp55",
26871 "mp56",
26872 "mp57",
26873 "mp58",
26874 "mp59",
26875 "mp60",
26876 "mp61",
26877 "mp62",
26878 "mp63",
26879 "mp64",
26880 "mp65",
26881 "mp66",
26882 "mp67",
26883 "mp68",
26884 "mp69",
26885 "mp70",
26886 "mp71",
26887 "mp72",
26888 "mp73",
26889 "mp74",
26890 "mp75",
26891 "mp76",
26892 "mp77",
26893 "mp78",
26894 "mp79",
26895 "mp80",
26896 "mp81",
26897 "mp82",
26898 "mp83",
26899 "mp84",
26900 "mp85",
26901 "mp86",
26902 "mp87",
26903 "mp88",
26904 "mp89",
26905 "mp90",
26906 "mp91",
26907 "mp92",
26908 "mp93",
26909 "mp94",
26910 "mp95",
26911 "mp96",
26912 "mp97",
26913 "mp98",
26914 "mp99",
26915 "mp100",
26916 "mp101",
26917 "mp102",
26918 "mp103",
26919 "mp104",
26920 "mp105",
26921 "mp106",
26922 "mp107",
26923 "mp108",
26924 "mp109",
26925 "mp110",
26926 "mp111",
26927 "mp112",
26928 "mp113",
26929 "mp114",
26930 "mp115",
26931 "mp116",
26932 "mp117",
26933 "mp118",
26934 "mp119",
26935 "mp120",
26936 "mp121",
26937 "mp122",
26938 "mp123",
26939 "mp124",
26940 "mp125",
26941 "mp126",
26942 "mp127",
26943 "mp128",
26944 "mp129",
26945 "mp130",
26946 "mp131",
26947 "mp132",
26948 "mp133",
26949 "mp134",
26950 "mp135",
26951 "mp136",
26952 "mp137",
26953 "mp138",
26954 "mp139",
26955 "mp140",
26956 "mp141",
26957 "mp142",
26958 "mp143",
26959 "mp144",
26960 "mp145",
26961 "mp146",
26962 "mp147",
26963 "mp148",
26964 "mp149",
26965 "mp150",
26966 "mp151",
26967 "mp152",
26968 "mp153",
26969 "mp154",
26970 "mp155",
26971 "mp156",
26972 "mp157",
26973 "mp158",
26974 "mp159",
26975 "mp160",
26976 "mp161",
26977 "mp162",
26978 "mp163",
26979 "mp164",
26980 "mp165",
26981 "mp166",
26982 "mp167",
26983 "mp168",
26984 "mp169",
26985 "mp170",
26986 "mp171",
26987 "mp172",
26988 "mp173",
26989 "mp174",
26990 "mp175",
26991 "mp176",
26992 "mp177",
26993 "mp178",
26994 "mp179",
26995 "mp180",
26996 "mp181",
26997 "mp182",
26998 "mp183",
26999 "mp184",
27000 "mp185",
27001 "mp186",
27002 "mp187",
27003 "mp188",
27004 "mp189",
27005 "mp190",
27006 "mp191",
27007 "mp192",
27008 "mp193",
27009 "mp194",
27010 "mp195",
27011 "mp196",
27012 "mp197",
27013 "mp198",
27014 "mp199",
27015 "mp200",
27016 "mp201",
27017 "mp202",
27018 "mp203",
27019 "mp204",
27020 "mp205",
27021 "mp206",
27022 "mp207",
27023 "mp208",
27024 "mp209",
27025 "mp210",
27026 "mp211",
27027 "mp212",
27028 "mp213",
27029 "mp214",
27030 "mp215",
27031 "mp216",
27032 "mp217",
27033 "mp218",
27034 "mp219",
27035 "mp220",
27036 "mp221",
27037 "mp222",
27038 "mp223",
27039 "mp224",
27040 "mp225",
27041 "mp226",
27042 "mp227",
27043 "mp228",
27044 "mp229",
27045 "mp230",
27046 "mp231",
27047 "mp232",
27048 "mp233",
27049 "mp234",
27050 "mp235",
27051 "mp236",
27052 "mp237",
27053 "mp238",
27054 "mp239",
27055 "mp240",
27056 "mp241",
27057 "mp242",
27058 "mp243",
27059 "mp244",
27060 "mp245",
27061 "mp246",
27062 "mp247",
27063 "mp248",
27064 "mp249",
27065 "mp250",
27066 "mp251",
27067 "mp252",
27068 "mp253",
27069 "mp254",
27070 "mp255"
27071 ],
27072 "type" : "string"
7aacca6f 27073 }
44660702 27074 }
7aacca6f 27075 },
56122987
DM
27076 "permissions" : {
27077 "check" : [
4d47f125 27078 "and",
56122987 27079 [
4d47f125
TL
27080 "perm",
27081 "/vms/{vmid}",
27082 [
27083 "VM.Config.Disk"
27084 ]
27085 ],
27086 [
27087 "perm",
27088 "/storage/{storage}",
27089 [
27090 "Datastore.AllocateSpace"
27091 ]
56122987 27092 ]
4d47f125
TL
27093 ],
27094 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
27095 },
27096 "protected" : 1,
27097 "proxyto" : "node",
27098 "returns" : {
27099 "type" : "string"
27100 }
27101 }
27102 },
27103 "leaf" : 1,
27104 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
27105 "text" : "move_volume"
1c532546
TL
27106 },
27107 {
27108 "info" : {
27109 "GET" : {
e9cd3bd4 27110 "allowtoken" : 1,
1c532546
TL
27111 "description" : "Get container configuration, including pending changes.",
27112 "method" : "GET",
27113 "name" : "vm_pending",
27114 "parameters" : {
27115 "additionalProperties" : 0,
27116 "properties" : {
27117 "node" : {
27118 "description" : "The cluster node name.",
27119 "format" : "pve-node",
27120 "type" : "string",
27121 "typetext" : "<string>"
27122 },
27123 "vmid" : {
27124 "description" : "The (unique) ID of the VM.",
27125 "format" : "pve-vmid",
27126 "minimum" : 1,
27127 "type" : "integer",
27128 "typetext" : "<integer> (1 - N)"
27129 }
27130 }
27131 },
27132 "permissions" : {
27133 "check" : [
27134 "perm",
27135 "/vms/{vmid}",
27136 [
27137 "VM.Audit"
27138 ]
27139 ]
27140 },
27141 "proxyto" : "node",
27142 "returns" : {
27143 "items" : {
27144 "properties" : {
27145 "delete" : {
27146 "description" : "Indicates a pending delete request if present and not 0.",
27147 "maximum" : 2,
27148 "minimum" : 0,
27149 "optional" : 1,
27150 "type" : "integer"
27151 },
27152 "key" : {
27153 "description" : "Configuration option name.",
27154 "type" : "string"
27155 },
27156 "pending" : {
27157 "description" : "Pending value.",
27158 "optional" : 1,
27159 "type" : "string"
27160 },
27161 "value" : {
27162 "description" : "Current value.",
27163 "optional" : 1,
27164 "type" : "string"
27165 }
27166 },
27167 "type" : "object"
27168 },
27169 "type" : "array"
27170 }
27171 }
27172 },
27173 "leaf" : 1,
27174 "path" : "/nodes/{node}/lxc/{vmid}/pending",
27175 "text" : "pending"
4d47f125
TL
27176 }
27177 ],
27178 "info" : {
27179 "DELETE" : {
e9cd3bd4 27180 "allowtoken" : 1,
4d47f125
TL
27181 "description" : "Destroy the container (also delete all uses files).",
27182 "method" : "DELETE",
27183 "name" : "destroy_vm",
27184 "parameters" : {
27185 "additionalProperties" : 0,
27186 "properties" : {
c5aa7e14
TL
27187 "force" : {
27188 "default" : 0,
27189 "description" : "Force destroy, even if running.",
27190 "optional" : 1,
27191 "type" : "boolean",
27192 "typetext" : "<boolean>"
27193 },
4d47f125
TL
27194 "node" : {
27195 "description" : "The cluster node name.",
27196 "format" : "pve-node",
27197 "type" : "string",
27198 "typetext" : "<string>"
27199 },
1c532546 27200 "purge" : {
c5aa7e14
TL
27201 "default" : 0,
27202 "description" : "Remove container from all related configurations. For example, backup jobs, replication jobs or HA. Related ACLs and Firewall entries will *always* be removed.",
1c532546
TL
27203 "optional" : 1,
27204 "type" : "boolean",
27205 "typetext" : "<boolean>"
27206 },
4d47f125
TL
27207 "vmid" : {
27208 "description" : "The (unique) ID of the VM.",
27209 "format" : "pve-vmid",
27210 "minimum" : 1,
27211 "type" : "integer",
27212 "typetext" : "<integer> (1 - N)"
27213 }
27214 }
27215 },
27216 "permissions" : {
27217 "check" : [
27218 "perm",
27219 "/vms/{vmid}",
27220 [
27221 "VM.Allocate"
27222 ]
27223 ]
27224 },
27225 "protected" : 1,
27226 "proxyto" : "node",
27227 "returns" : {
27228 "type" : "string"
27229 }
27230 },
27231 "GET" : {
e9cd3bd4 27232 "allowtoken" : 1,
4d47f125
TL
27233 "description" : "Directory index",
27234 "method" : "GET",
27235 "name" : "vmdiridx",
27236 "parameters" : {
27237 "additionalProperties" : 0,
27238 "properties" : {
27239 "node" : {
27240 "description" : "The cluster node name.",
27241 "format" : "pve-node",
27242 "type" : "string",
27243 "typetext" : "<string>"
56122987 27244 },
4d47f125
TL
27245 "vmid" : {
27246 "description" : "The (unique) ID of the VM.",
27247 "format" : "pve-vmid",
27248 "minimum" : 1,
27249 "type" : "integer",
27250 "typetext" : "<integer> (1 - N)"
56122987
DM
27251 }
27252 }
27253 },
4d47f125
TL
27254 "permissions" : {
27255 "user" : "all"
27256 },
27257 "proxyto" : "node",
27258 "returns" : {
27259 "items" : {
27260 "properties" : {
27261 "subdir" : {
27262 "type" : "string"
35a75dd3
DM
27263 }
27264 },
4d47f125
TL
27265 "type" : "object"
27266 },
27267 "links" : [
27268 {
27269 "href" : "{subdir}",
27270 "rel" : "child"
35a75dd3 27271 }
4d47f125
TL
27272 ],
27273 "type" : "array"
27274 }
27275 }
27276 },
27277 "leaf" : 0,
27278 "path" : "/nodes/{node}/lxc/{vmid}",
27279 "text" : "{vmid}"
27280 }
27281 ],
27282 "info" : {
27283 "GET" : {
e9cd3bd4 27284 "allowtoken" : 1,
4d47f125
TL
27285 "description" : "LXC container index (per node).",
27286 "method" : "GET",
27287 "name" : "vmlist",
27288 "parameters" : {
27289 "additionalProperties" : 0,
27290 "properties" : {
27291 "node" : {
27292 "description" : "The cluster node name.",
27293 "format" : "pve-node",
27294 "type" : "string",
27295 "typetext" : "<string>"
27296 }
27297 }
27298 },
27299 "permissions" : {
27300 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
27301 "user" : "all"
27302 },
27303 "protected" : 1,
27304 "proxyto" : "node",
27305 "returns" : {
27306 "items" : {
27307 "properties" : {
27308 "cpus" : {
27309 "description" : "Maximum usable CPUs.",
27310 "optional" : 1,
27311 "type" : "number"
27312 },
95895385
TL
27313 "lock" : {
27314 "description" : "The current config lock, if any.",
27315 "optional" : 1,
27316 "type" : "string"
27317 },
4d47f125
TL
27318 "maxdisk" : {
27319 "description" : "Root disk size in bytes.",
27320 "optional" : 1,
27321 "renderer" : "bytes",
27322 "type" : "integer"
27323 },
27324 "maxmem" : {
27325 "description" : "Maximum memory in bytes.",
27326 "optional" : 1,
27327 "renderer" : "bytes",
27328 "type" : "integer"
27329 },
27330 "maxswap" : {
27331 "description" : "Maximum SWAP memory in bytes.",
27332 "optional" : 1,
27333 "renderer" : "bytes",
27334 "type" : "integer"
27335 },
27336 "name" : {
27337 "description" : "Container name.",
27338 "optional" : 1,
27339 "type" : "string"
27340 },
27341 "status" : {
27342 "description" : "LXC Container status.",
27343 "enum" : [
27344 "stopped",
27345 "running"
27346 ],
27347 "type" : "string"
27348 },
5c1699e5
TL
27349 "tags" : {
27350 "description" : "The current configured tags, if any.",
27351 "optional" : 1,
27352 "type" : "string"
27353 },
4d47f125
TL
27354 "uptime" : {
27355 "description" : "Uptime.",
27356 "optional" : 1,
27357 "renderer" : "duration",
27358 "type" : "integer"
27359 },
27360 "vmid" : {
27361 "description" : "The (unique) ID of the VM.",
27362 "format" : "pve-vmid",
27363 "minimum" : 1,
27364 "type" : "integer"
35a75dd3
DM
27365 }
27366 },
4d47f125 27367 "type" : "object"
35a75dd3 27368 },
4d47f125
TL
27369 "links" : [
27370 {
27371 "href" : "{vmid}",
27372 "rel" : "child"
27373 }
27374 ],
27375 "type" : "array"
27376 }
27377 },
27378 "POST" : {
e9cd3bd4 27379 "allowtoken" : 1,
4d47f125
TL
27380 "description" : "Create or restore a container.",
27381 "method" : "POST",
27382 "name" : "create_vm",
27383 "parameters" : {
27384 "additionalProperties" : 0,
27385 "properties" : {
27386 "arch" : {
27387 "default" : "amd64",
27388 "description" : "OS architecture type.",
27389 "enum" : [
27390 "amd64",
27391 "i386",
27392 "arm64",
27393 "armhf"
27394 ],
27395 "optional" : 1,
27396 "type" : "string"
27397 },
27398 "bwlimit" : {
95895385
TL
27399 "default" : "restore limit from datacenter or storage config",
27400 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
27401 "minimum" : "0",
27402 "optional" : 1,
27403 "type" : "number",
27404 "typetext" : "<number> (0 - N)"
27405 },
27406 "cmode" : {
27407 "default" : "tty",
27408 "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).",
27409 "enum" : [
27410 "shell",
27411 "console",
27412 "tty"
27413 ],
27414 "optional" : 1,
27415 "type" : "string"
27416 },
27417 "console" : {
27418 "default" : 1,
27419 "description" : "Attach a console device (/dev/console) to the container.",
27420 "optional" : 1,
27421 "type" : "boolean",
27422 "typetext" : "<boolean>"
27423 },
27424 "cores" : {
27425 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
27426 "maximum" : 128,
27427 "minimum" : 1,
27428 "optional" : 1,
27429 "type" : "integer",
27430 "typetext" : "<integer> (1 - 128)"
27431 },
27432 "cpulimit" : {
27433 "default" : 0,
27434 "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.",
27435 "maximum" : 128,
27436 "minimum" : 0,
27437 "optional" : 1,
27438 "type" : "number",
27439 "typetext" : "<number> (0 - 128)"
27440 },
27441 "cpuunits" : {
27442 "default" : 1024,
27443 "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.",
27444 "maximum" : 500000,
27445 "minimum" : 0,
27446 "optional" : 1,
27447 "type" : "integer",
27448 "typetext" : "<integer> (0 - 500000)"
27449 },
27450 "description" : {
27451 "description" : "Container description. Only used on the configuration web interface.",
27452 "optional" : 1,
27453 "type" : "string",
27454 "typetext" : "<string>"
27455 },
27456 "features" : {
27457 "description" : "Allow containers access to advanced features.",
27458 "format" : {
c5aa7e14
TL
27459 "force_rw_sys" : {
27460 "default" : 0,
27461 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
27462 "optional" : 1,
27463 "type" : "boolean"
27464 },
e2d681b3
TL
27465 "fuse" : {
27466 "default" : 0,
27467 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
27468 "optional" : 1,
27469 "type" : "boolean"
27470 },
4d47f125
TL
27471 "keyctl" : {
27472 "default" : 0,
27473 "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
27474 "optional" : 1,
27475 "type" : "boolean"
7aacca6f 27476 },
c5aa7e14
TL
27477 "mknod" : {
27478 "default" : 0,
27479 "description" : "Allow unprivileged containers to use mknod() to add certain device nodes. This requires a kernel with seccomp trap to user space support (5.3 or newer). This is experimental.",
27480 "optional" : 1,
27481 "type" : "boolean"
27482 },
4d47f125
TL
27483 "mount" : {
27484 "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
27485 "format_description" : "fstype;fstype;...",
27486 "optional" : 1,
95895385 27487 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 27488 "type" : "string"
56122987 27489 },
4d47f125
TL
27490 "nesting" : {
27491 "default" : 0,
27492 "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
27493 "optional" : 1,
27494 "type" : "boolean"
44660702 27495 }
4d47f125
TL
27496 },
27497 "optional" : 1,
27498 "type" : "string",
c5aa7e14 27499 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 27500 },
4d47f125
TL
27501 "force" : {
27502 "description" : "Allow to overwrite existing container.",
27503 "optional" : 1,
27504 "type" : "boolean",
27505 "typetext" : "<boolean>"
27506 },
5f26e15b
TL
27507 "hookscript" : {
27508 "description" : "Script that will be exectued during various steps in the containers lifetime.",
27509 "format" : "pve-volume-id",
27510 "optional" : 1,
27511 "type" : "string",
27512 "typetext" : "<string>"
27513 },
4d47f125
TL
27514 "hostname" : {
27515 "description" : "Set a host name for the container.",
27516 "format" : "dns-name",
27517 "maxLength" : 255,
27518 "optional" : 1,
27519 "type" : "string",
27520 "typetext" : "<string>"
27521 },
27522 "ignore-unpack-errors" : {
27523 "description" : "Ignore errors when extracting the template.",
27524 "optional" : 1,
27525 "type" : "boolean",
27526 "typetext" : "<boolean>"
27527 },
27528 "lock" : {
27529 "description" : "Lock/unlock the VM.",
27530 "enum" : [
27531 "backup",
bb4c8cf8 27532 "create",
1c532546 27533 "destroyed",
4d47f125 27534 "disk",
bb4c8cf8 27535 "fstrim",
4d47f125
TL
27536 "migrate",
27537 "mounted",
27538 "rollback",
27539 "snapshot",
27540 "snapshot-delete"
27541 ],
27542 "optional" : 1,
27543 "type" : "string"
27544 },
27545 "memory" : {
27546 "default" : 512,
27547 "description" : "Amount of RAM for the VM in MB.",
27548 "minimum" : 16,
27549 "optional" : 1,
27550 "type" : "integer",
27551 "typetext" : "<integer> (16 - N)"
27552 },
27553 "mp[n]" : {
27554 "description" : "Use volume as container mount point.",
27555 "format" : {
27556 "acl" : {
27557 "description" : "Explicitly enable or disable ACL support.",
27558 "optional" : 1,
27559 "type" : "boolean"
56122987 27560 },
4d47f125
TL
27561 "backup" : {
27562 "description" : "Whether to include the mount point in backups.",
27563 "optional" : 1,
27564 "type" : "boolean",
27565 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 27566 },
7cbed89a
TL
27567 "mountoptions" : {
27568 "description" : "Extra mount options for rootfs/mps.",
27569 "format_description" : "opt[;opt...]",
27570 "optional" : 1,
27571 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
27572 "type" : "string"
27573 },
4d47f125
TL
27574 "mp" : {
27575 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
27576 "format" : "pve-lxc-mp-string",
27577 "format_description" : "Path",
27578 "type" : "string",
27579 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 27580 },
4d47f125
TL
27581 "quota" : {
27582 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
27583 "optional" : 1,
27584 "type" : "boolean"
27585 },
27586 "replicate" : {
27587 "default" : 1,
27588 "description" : "Will include this volume to a storage replica job.",
27589 "optional" : 1,
27590 "type" : "boolean"
27591 },
27592 "ro" : {
27593 "description" : "Read-only mount point",
27594 "optional" : 1,
27595 "type" : "boolean"
27596 },
27597 "shared" : {
27598 "default" : 0,
27599 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
27600 "optional" : 1,
27601 "type" : "boolean",
27602 "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
56122987 27603 },
4d47f125
TL
27604 "size" : {
27605 "description" : "Volume size (read only value).",
27606 "format" : "disk-size",
27607 "format_description" : "DiskSize",
27608 "optional" : 1,
27609 "type" : "string"
27610 },
27611 "volume" : {
27612 "default_key" : 1,
27613 "description" : "Volume, device or directory to mount into the container.",
27614 "format" : "pve-lxc-mp-string",
27615 "format_description" : "volume",
44660702
DM
27616 "type" : "string"
27617 }
4d47f125
TL
27618 },
27619 "optional" : 1,
27620 "type" : "string",
7cbed89a 27621 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 27622 },
4d47f125
TL
27623 "nameserver" : {
27624 "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.",
27625 "format" : "address-list",
27626 "optional" : 1,
27627 "type" : "string",
27628 "typetext" : "<string>"
27629 },
27630 "net[n]" : {
27631 "description" : "Specifies network interfaces for the container.",
27632 "format" : {
27633 "bridge" : {
27634 "description" : "Bridge to attach the network device to.",
27635 "format_description" : "bridge",
27636 "optional" : 1,
27637 "pattern" : "[-_.\\w\\d]+",
27638 "type" : "string"
56122987 27639 },
4d47f125
TL
27640 "firewall" : {
27641 "description" : "Controls whether this interface's firewall rules should be used.",
27642 "optional" : 1,
27643 "type" : "boolean"
56122987 27644 },
4d47f125
TL
27645 "gw" : {
27646 "description" : "Default gateway for IPv4 traffic.",
27647 "format" : "ipv4",
27648 "format_description" : "GatewayIPv4",
27649 "optional" : 1,
27650 "type" : "string"
27651 },
27652 "gw6" : {
27653 "description" : "Default gateway for IPv6 traffic.",
27654 "format" : "ipv6",
27655 "format_description" : "GatewayIPv6",
27656 "optional" : 1,
27657 "type" : "string"
27658 },
27659 "hwaddr" : {
27660 "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
95895385 27661 "format" : "mac-addr",
4d47f125
TL
27662 "format_description" : "XX:XX:XX:XX:XX:XX",
27663 "optional" : 1,
95895385
TL
27664 "type" : "string",
27665 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
27666 },
27667 "ip" : {
27668 "description" : "IPv4 address in CIDR format.",
27669 "format" : "pve-ipv4-config",
27670 "format_description" : "(IPv4/CIDR|dhcp|manual)",
27671 "optional" : 1,
27672 "type" : "string"
27673 },
27674 "ip6" : {
27675 "description" : "IPv6 address in CIDR format.",
27676 "format" : "pve-ipv6-config",
27677 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
27678 "optional" : 1,
27679 "type" : "string"
27680 },
27681 "mtu" : {
27682 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
27683 "minimum" : 64,
27684 "optional" : 1,
27685 "type" : "integer"
27686 },
27687 "name" : {
27688 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
27689 "format_description" : "string",
27690 "pattern" : "[-_.\\w\\d]+",
27691 "type" : "string"
27692 },
27693 "rate" : {
27694 "description" : "Apply rate limiting to the interface",
27695 "format_description" : "mbps",
27696 "optional" : 1,
27697 "type" : "number"
27698 },
27699 "tag" : {
27700 "description" : "VLAN tag for this interface.",
27701 "maximum" : 4094,
27702 "minimum" : 1,
27703 "optional" : 1,
27704 "type" : "integer"
27705 },
27706 "trunks" : {
27707 "description" : "VLAN ids to pass through the interface",
27708 "format_description" : "vlanid[;vlanid...]",
27709 "optional" : 1,
27710 "pattern" : "(?^:\\d+(?:;\\d+)*)",
27711 "type" : "string"
27712 },
27713 "type" : {
27714 "description" : "Network interface type.",
27715 "enum" : [
27716 "veth"
27717 ],
27718 "optional" : 1,
27719 "type" : "string"
7aacca6f 27720 }
4d47f125
TL
27721 },
27722 "optional" : 1,
27723 "type" : "string",
27724 "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 27725 },
4d47f125
TL
27726 "node" : {
27727 "description" : "The cluster node name.",
27728 "format" : "pve-node",
27729 "type" : "string",
27730 "typetext" : "<string>"
27731 },
27732 "onboot" : {
27733 "default" : 0,
27734 "description" : "Specifies whether a VM will be started during system bootup.",
27735 "optional" : 1,
27736 "type" : "boolean",
27737 "typetext" : "<boolean>"
27738 },
27739 "ostemplate" : {
27740 "description" : "The OS template or backup file.",
27741 "maxLength" : 255,
27742 "type" : "string",
27743 "typetext" : "<string>"
27744 },
27745 "ostype" : {
27746 "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.",
27747 "enum" : [
27748 "debian",
27749 "ubuntu",
27750 "centos",
27751 "fedora",
27752 "opensuse",
27753 "archlinux",
27754 "alpine",
27755 "gentoo",
27756 "unmanaged"
27757 ],
27758 "optional" : 1,
27759 "type" : "string"
27760 },
27761 "password" : {
27762 "description" : "Sets root password inside container.",
27763 "minLength" : 5,
27764 "optional" : 1,
27765 "type" : "string",
27766 "typetext" : "<string>"
27767 },
27768 "pool" : {
27769 "description" : "Add the VM to the specified pool.",
27770 "format" : "pve-poolid",
27771 "optional" : 1,
27772 "type" : "string",
27773 "typetext" : "<string>"
27774 },
27775 "protection" : {
27776 "default" : 0,
27777 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
27778 "optional" : 1,
27779 "type" : "boolean",
27780 "typetext" : "<boolean>"
27781 },
27782 "restore" : {
27783 "description" : "Mark this as restore task.",
27784 "optional" : 1,
27785 "type" : "boolean",
27786 "typetext" : "<boolean>"
27787 },
27788 "rootfs" : {
27789 "description" : "Use volume as container root.",
27790 "format" : {
27791 "acl" : {
27792 "description" : "Explicitly enable or disable ACL support.",
27793 "optional" : 1,
27794 "type" : "boolean"
56122987 27795 },
7cbed89a
TL
27796 "mountoptions" : {
27797 "description" : "Extra mount options for rootfs/mps.",
27798 "format_description" : "opt[;opt...]",
27799 "optional" : 1,
27800 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
27801 "type" : "string"
27802 },
4d47f125
TL
27803 "quota" : {
27804 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
27805 "optional" : 1,
27806 "type" : "boolean"
7aacca6f 27807 },
4d47f125
TL
27808 "replicate" : {
27809 "default" : 1,
27810 "description" : "Will include this volume to a storage replica job.",
27811 "optional" : 1,
27812 "type" : "boolean"
27813 },
27814 "ro" : {
27815 "description" : "Read-only mount point",
27816 "optional" : 1,
27817 "type" : "boolean"
27818 },
27819 "shared" : {
27820 "default" : 0,
27821 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
27822 "optional" : 1,
27823 "type" : "boolean",
27824 "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!"
27825 },
27826 "size" : {
27827 "description" : "Volume size (read only value).",
27828 "format" : "disk-size",
27829 "format_description" : "DiskSize",
27830 "optional" : 1,
27831 "type" : "string"
27832 },
27833 "volume" : {
27834 "default_key" : 1,
27835 "description" : "Volume, device or directory to mount into the container.",
27836 "format" : "pve-lxc-mp-string",
27837 "format_description" : "volume",
27838 "type" : "string"
56122987 27839 }
4d47f125
TL
27840 },
27841 "optional" : 1,
27842 "type" : "string",
7cbed89a 27843 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 27844 },
4d47f125
TL
27845 "searchdomain" : {
27846 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
27847 "format" : "dns-name-list",
27848 "optional" : 1,
27849 "type" : "string",
27850 "typetext" : "<string>"
27851 },
27852 "ssh-public-keys" : {
27853 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
27854 "optional" : 1,
27855 "type" : "string",
27856 "typetext" : "<string>"
27857 },
27858 "start" : {
27859 "default" : 0,
27860 "description" : "Start the CT after its creation finished successfully.",
27861 "optional" : 1,
27862 "type" : "boolean",
27863 "typetext" : "<boolean>"
27864 },
27865 "startup" : {
27866 "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.",
27867 "format" : "pve-startup-order",
27868 "optional" : 1,
27869 "type" : "string",
27870 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
27871 },
27872 "storage" : {
27873 "default" : "local",
27874 "description" : "Default Storage.",
27875 "format" : "pve-storage-id",
27876 "optional" : 1,
27877 "type" : "string",
27878 "typetext" : "<string>"
27879 },
27880 "swap" : {
27881 "default" : 512,
27882 "description" : "Amount of SWAP for the VM in MB.",
27883 "minimum" : 0,
27884 "optional" : 1,
27885 "type" : "integer",
27886 "typetext" : "<integer> (0 - N)"
27887 },
5c1699e5
TL
27888 "tags" : {
27889 "description" : "Tags of the Container. This is only meta information.",
27890 "format" : "pve-tag-list",
27891 "optional" : 1,
27892 "type" : "string",
27893 "typetext" : "<string>"
27894 },
4d47f125
TL
27895 "template" : {
27896 "default" : 0,
27897 "description" : "Enable/disable Template.",
27898 "optional" : 1,
27899 "type" : "boolean",
27900 "typetext" : "<boolean>"
27901 },
27902 "tty" : {
27903 "default" : 2,
27904 "description" : "Specify the number of tty available to the container",
27905 "maximum" : 6,
27906 "minimum" : 0,
27907 "optional" : 1,
27908 "type" : "integer",
27909 "typetext" : "<integer> (0 - 6)"
27910 },
95895385
TL
27911 "unique" : {
27912 "description" : "Assign a unique random ethernet address.",
27913 "optional" : 1,
27914 "requires" : "restore",
27915 "type" : "boolean",
27916 "typetext" : "<boolean>"
27917 },
4d47f125
TL
27918 "unprivileged" : {
27919 "default" : 0,
27920 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
27921 "optional" : 1,
27922 "type" : "boolean",
27923 "typetext" : "<boolean>"
27924 },
27925 "unused[n]" : {
27926 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
27927 "format" : {
27928 "volume" : {
27929 "default_key" : 1,
27930 "description" : "The volume that is not used currently.",
27931 "format" : "pve-volume-id",
27932 "format_description" : "volume",
27933 "type" : "string"
27934 }
27935 },
4d47f125
TL
27936 "optional" : 1,
27937 "type" : "string",
c5aa7e14 27938 "typetext" : "[volume=]<volume>"
4d47f125
TL
27939 },
27940 "vmid" : {
27941 "description" : "The (unique) ID of the VM.",
27942 "format" : "pve-vmid",
27943 "minimum" : 1,
27944 "type" : "integer",
27945 "typetext" : "<integer> (1 - N)"
27946 }
27947 }
27948 },
27949 "permissions" : {
27950 "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.",
27951 "user" : "all"
27952 },
27953 "protected" : 1,
27954 "proxyto" : "node",
27955 "returns" : {
27956 "type" : "string"
27957 }
27958 }
27959 },
27960 "leaf" : 0,
27961 "path" : "/nodes/{node}/lxc",
27962 "text" : "lxc"
27963 },
27964 {
27965 "children" : [
27966 {
27967 "children" : [
56122987 27968 {
4d47f125
TL
27969 "children" : [
27970 {
27971 "info" : {
27972 "POST" : {
e9cd3bd4 27973 "allowtoken" : 1,
4d47f125
TL
27974 "description" : "ceph osd in",
27975 "method" : "POST",
27976 "name" : "in",
27977 "parameters" : {
27978 "additionalProperties" : 0,
27979 "properties" : {
27980 "node" : {
27981 "description" : "The cluster node name.",
27982 "format" : "pve-node",
27983 "type" : "string",
27984 "typetext" : "<string>"
27985 },
27986 "osdid" : {
27987 "description" : "OSD ID",
27988 "type" : "integer",
27989 "typetext" : "<integer>"
27990 }
27991 }
27a7acb2 27992 },
4d47f125
TL
27993 "permissions" : {
27994 "check" : [
27995 "perm",
27996 "/",
27997 [
27998 "Sys.Modify"
27999 ]
28000 ]
44660702 28001 },
4d47f125
TL
28002 "protected" : 1,
28003 "proxyto" : "node",
28004 "returns" : {
28005 "type" : "null"
7aacca6f
DM
28006 }
28007 }
56122987 28008 },
4d47f125
TL
28009 "leaf" : 1,
28010 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
28011 "text" : "in"
28012 },
28013 {
28014 "info" : {
28015 "POST" : {
e9cd3bd4 28016 "allowtoken" : 1,
4d47f125
TL
28017 "description" : "ceph osd out",
28018 "method" : "POST",
28019 "name" : "out",
28020 "parameters" : {
28021 "additionalProperties" : 0,
28022 "properties" : {
28023 "node" : {
28024 "description" : "The cluster node name.",
28025 "format" : "pve-node",
28026 "type" : "string",
28027 "typetext" : "<string>"
28028 },
28029 "osdid" : {
28030 "description" : "OSD ID",
28031 "type" : "integer",
28032 "typetext" : "<integer>"
28033 }
28034 }
28035 },
28036 "permissions" : {
28037 "check" : [
56122987 28038 "perm",
4d47f125 28039 "/",
56122987 28040 [
4d47f125 28041 "Sys.Modify"
56122987 28042 ]
56122987 28043 ]
44660702 28044 },
4d47f125
TL
28045 "protected" : 1,
28046 "proxyto" : "node",
28047 "returns" : {
28048 "type" : "null"
56122987 28049 }
44660702 28050 }
56122987 28051 },
4d47f125
TL
28052 "leaf" : 1,
28053 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
28054 "text" : "out"
7cbed89a
TL
28055 },
28056 {
28057 "info" : {
28058 "POST" : {
e9cd3bd4 28059 "allowtoken" : 1,
7cbed89a
TL
28060 "description" : "Instruct the OSD to scrub.",
28061 "method" : "POST",
28062 "name" : "scrub",
28063 "parameters" : {
28064 "additionalProperties" : 0,
28065 "properties" : {
28066 "deep" : {
28067 "default" : 0,
28068 "description" : "If set, instructs a deep scrub instead of a normal one.",
28069 "optional" : 1,
28070 "type" : "boolean",
28071 "typetext" : "<boolean>"
28072 },
28073 "node" : {
28074 "description" : "The cluster node name.",
28075 "format" : "pve-node",
28076 "type" : "string",
28077 "typetext" : "<string>"
28078 },
28079 "osdid" : {
28080 "description" : "OSD ID",
28081 "type" : "integer",
28082 "typetext" : "<integer>"
28083 }
28084 }
28085 },
28086 "permissions" : {
28087 "check" : [
28088 "perm",
28089 "/",
28090 [
28091 "Sys.Modify"
28092 ]
28093 ]
28094 },
28095 "protected" : 1,
28096 "proxyto" : "node",
28097 "returns" : {
28098 "type" : "null"
28099 }
28100 }
28101 },
28102 "leaf" : 1,
28103 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
28104 "text" : "scrub"
56122987 28105 }
4d47f125 28106 ],
27a7acb2 28107 "info" : {
4d47f125 28108 "DELETE" : {
e9cd3bd4 28109 "allowtoken" : 1,
4d47f125
TL
28110 "description" : "Destroy OSD",
28111 "method" : "DELETE",
28112 "name" : "destroyosd",
27a7acb2
DM
28113 "parameters" : {
28114 "additionalProperties" : 0,
28115 "properties" : {
4d47f125 28116 "cleanup" : {
27a7acb2 28117 "default" : 0,
4d47f125 28118 "description" : "If set, we remove partition table entries.",
27a7acb2 28119 "optional" : 1,
4d47f125
TL
28120 "type" : "boolean",
28121 "typetext" : "<boolean>"
28122 },
28123 "node" : {
28124 "description" : "The cluster node name.",
28125 "format" : "pve-node",
28126 "type" : "string",
28127 "typetext" : "<string>"
28128 },
28129 "osdid" : {
28130 "description" : "OSD ID",
28131 "type" : "integer",
28132 "typetext" : "<integer>"
28133 }
28134 }
27a7acb2
DM
28135 },
28136 "protected" : 1,
28137 "proxyto" : "node",
28138 "returns" : {
28139 "type" : "string"
28140 }
28141 }
28142 },
4d47f125
TL
28143 "leaf" : 0,
28144 "path" : "/nodes/{node}/ceph/osd/{osdid}",
28145 "text" : "{osdid}"
56122987
DM
28146 }
28147 ],
28148 "info" : {
4d47f125 28149 "GET" : {
e9cd3bd4 28150 "allowtoken" : 1,
4d47f125
TL
28151 "description" : "Get Ceph osd list/tree.",
28152 "method" : "GET",
28153 "name" : "index",
44660702
DM
28154 "parameters" : {
28155 "additionalProperties" : 0,
28156 "properties" : {
28157 "node" : {
28158 "description" : "The cluster node name.",
28159 "format" : "pve-node",
013dc89f
DM
28160 "type" : "string",
28161 "typetext" : "<string>"
44660702
DM
28162 }
28163 }
28164 },
7aacca6f
DM
28165 "permissions" : {
28166 "check" : [
28167 "perm",
4d47f125 28168 "/",
7aacca6f 28169 [
4d47f125
TL
28170 "Sys.Audit",
28171 "Datastore.Audit"
28172 ],
28173 "any",
28174 1
28175 ]
28176 },
28177 "protected" : 1,
28178 "proxyto" : "node",
28179 "returns" : {
28180 "type" : "object"
28181 }
28182 },
28183 "POST" : {
e9cd3bd4 28184 "allowtoken" : 1,
4d47f125
TL
28185 "description" : "Create OSD",
28186 "method" : "POST",
28187 "name" : "createosd",
28188 "parameters" : {
28189 "additionalProperties" : 0,
28190 "properties" : {
1e3f8156
TL
28191 "db_dev" : {
28192 "description" : "Block device name for block.db.",
44660702 28193 "optional" : 1,
4bd7df8b 28194 "type" : "string",
4d47f125 28195 "typetext" : "<string>"
44660702 28196 },
1e3f8156
TL
28197 "db_size" : {
28198 "default" : "bluestore_block_db_size or 10% of OSD size",
28199 "description" : "Size in GiB for block.db.",
28200 "minimum" : 1,
7aacca6f 28201 "optional" : 1,
1e3f8156
TL
28202 "requires" : "db_dev",
28203 "type" : "number",
28204 "typetext" : "<number> (1 - N)",
28205 "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
44660702 28206 },
1e3f8156
TL
28207 "dev" : {
28208 "description" : "Block device name.",
4d47f125
TL
28209 "type" : "string",
28210 "typetext" : "<string>"
5d9c884c 28211 },
1e3f8156
TL
28212 "encrypted" : {
28213 "default" : 0,
28214 "description" : "Enables encryption of the OSD.",
28215 "optional" : 1,
28216 "type" : "boolean",
28217 "typetext" : "<boolean>"
28218 },
4d47f125
TL
28219 "node" : {
28220 "description" : "The cluster node name.",
28221 "format" : "pve-node",
28222 "type" : "string",
28223 "typetext" : "<string>"
7aacca6f 28224 },
4d47f125 28225 "wal_dev" : {
1e3f8156 28226 "description" : "Block device name for block.wal.",
de0983cb 28227 "optional" : 1,
4d47f125
TL
28228 "type" : "string",
28229 "typetext" : "<string>"
1e3f8156
TL
28230 },
28231 "wal_size" : {
28232 "default" : "bluestore_block_wal_size or 1% of OSD size",
28233 "description" : "Size in GiB for block.wal.",
28234 "minimum" : 0.5,
28235 "optional" : 1,
28236 "requires" : "wal_dev",
28237 "type" : "number",
28238 "typetext" : "<number> (0.5 - N)",
28239 "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
4d47f125
TL
28240 }
28241 }
28242 },
28243 "protected" : 1,
28244 "proxyto" : "node",
28245 "returns" : {
28246 "type" : "string"
28247 }
28248 }
28249 },
28250 "leaf" : 0,
28251 "path" : "/nodes/{node}/ceph/osd",
28252 "text" : "osd"
28253 },
e2d681b3
TL
28254 {
28255 "children" : [
28256 {
28257 "info" : {
28258 "DELETE" : {
e9cd3bd4 28259 "allowtoken" : 1,
e2d681b3
TL
28260 "description" : "Destroy Ceph Metadata Server",
28261 "method" : "DELETE",
28262 "name" : "destroymds",
28263 "parameters" : {
28264 "additionalProperties" : 0,
28265 "properties" : {
28266 "name" : {
28267 "description" : "The name (ID) of the mds",
28268 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28269 "type" : "string"
28270 },
28271 "node" : {
28272 "description" : "The cluster node name.",
28273 "format" : "pve-node",
28274 "type" : "string",
28275 "typetext" : "<string>"
28276 }
28277 }
28278 },
28279 "permissions" : {
28280 "check" : [
28281 "perm",
28282 "/",
28283 [
28284 "Sys.Modify"
28285 ]
28286 ]
28287 },
28288 "protected" : 1,
28289 "proxyto" : "node",
28290 "returns" : {
28291 "type" : "string"
28292 }
28293 },
28294 "POST" : {
e9cd3bd4 28295 "allowtoken" : 1,
e2d681b3
TL
28296 "description" : "Create Ceph Metadata Server (MDS)",
28297 "method" : "POST",
28298 "name" : "createmds",
28299 "parameters" : {
28300 "additionalProperties" : 0,
28301 "properties" : {
28302 "hotstandby" : {
28303 "default" : "0",
28304 "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
28305 "optional" : 1,
28306 "type" : "boolean",
28307 "typetext" : "<boolean>"
28308 },
28309 "name" : {
28310 "default" : "nodename",
28311 "description" : "The ID for the mds, when omitted the same as the nodename",
c5aa7e14 28312 "maxLength" : 200,
e2d681b3
TL
28313 "optional" : 1,
28314 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28315 "type" : "string"
28316 },
28317 "node" : {
28318 "description" : "The cluster node name.",
28319 "format" : "pve-node",
28320 "type" : "string",
28321 "typetext" : "<string>"
28322 }
28323 }
28324 },
28325 "permissions" : {
28326 "check" : [
28327 "perm",
28328 "/",
28329 [
28330 "Sys.Modify"
28331 ]
28332 ]
28333 },
28334 "protected" : 1,
28335 "proxyto" : "node",
28336 "returns" : {
28337 "type" : "string"
28338 }
28339 }
28340 },
28341 "leaf" : 1,
28342 "path" : "/nodes/{node}/ceph/mds/{name}",
28343 "text" : "{name}"
28344 }
28345 ],
28346 "info" : {
28347 "GET" : {
e9cd3bd4 28348 "allowtoken" : 1,
e2d681b3
TL
28349 "description" : "MDS directory index.",
28350 "method" : "GET",
28351 "name" : "index",
28352 "parameters" : {
28353 "additionalProperties" : 0,
28354 "properties" : {
28355 "node" : {
28356 "description" : "The cluster node name.",
28357 "format" : "pve-node",
28358 "type" : "string",
28359 "typetext" : "<string>"
28360 }
28361 }
28362 },
28363 "permissions" : {
28364 "check" : [
28365 "perm",
28366 "/",
28367 [
28368 "Sys.Audit",
28369 "Datastore.Audit"
28370 ],
28371 "any",
28372 1
28373 ]
28374 },
28375 "protected" : 1,
28376 "proxyto" : "node",
28377 "returns" : {
28378 "items" : {
28379 "properties" : {
28380 "addr" : {
28381 "optional" : 1,
28382 "type" : "string"
28383 },
28384 "host" : {
28385 "optional" : 1,
28386 "type" : "string"
28387 },
28388 "name" : {
28389 "description" : "The name (ID) for the MDS"
28390 },
28391 "rank" : {
28392 "optional" : 1,
28393 "type" : "integer"
28394 },
28395 "standby_replay" : {
28396 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
28397 "optional" : 1,
28398 "type" : "boolean"
28399 },
28400 "state" : {
28401 "description" : "State of the MDS",
28402 "type" : "string"
28403 }
28404 },
28405 "type" : "object"
28406 },
28407 "links" : [
28408 {
28409 "href" : "{name}",
28410 "rel" : "child"
28411 }
28412 ],
28413 "type" : "array"
28414 }
28415 }
28416 },
28417 "leaf" : 0,
28418 "path" : "/nodes/{node}/ceph/mds",
28419 "text" : "mds"
28420 },
28421 {
28422 "children" : [
28423 {
28424 "info" : {
5f26e15b 28425 "DELETE" : {
e9cd3bd4 28426 "allowtoken" : 1,
5f26e15b
TL
28427 "description" : "Destroy Ceph Manager.",
28428 "method" : "DELETE",
28429 "name" : "destroymgr",
e2d681b3
TL
28430 "parameters" : {
28431 "additionalProperties" : 0,
28432 "properties" : {
5f26e15b
TL
28433 "id" : {
28434 "description" : "The ID of the manager",
28435 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28436 "type" : "string"
e2d681b3
TL
28437 },
28438 "node" : {
28439 "description" : "The cluster node name.",
28440 "format" : "pve-node",
28441 "type" : "string",
28442 "typetext" : "<string>"
e2d681b3
TL
28443 }
28444 }
28445 },
28446 "permissions" : {
28447 "check" : [
28448 "perm",
28449 "/",
28450 [
28451 "Sys.Modify"
28452 ]
28453 ]
28454 },
28455 "protected" : 1,
28456 "proxyto" : "node",
28457 "returns" : {
28458 "type" : "string"
28459 }
1e3f8156
TL
28460 },
28461 "POST" : {
e9cd3bd4 28462 "allowtoken" : 1,
1e3f8156
TL
28463 "description" : "Create Ceph Manager",
28464 "method" : "POST",
28465 "name" : "createmgr",
28466 "parameters" : {
28467 "additionalProperties" : 0,
28468 "properties" : {
28469 "id" : {
28470 "description" : "The ID for the manager, when omitted the same as the nodename",
c5aa7e14 28471 "maxLength" : 200,
1e3f8156
TL
28472 "optional" : 1,
28473 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28474 "type" : "string"
28475 },
28476 "node" : {
28477 "description" : "The cluster node name.",
28478 "format" : "pve-node",
28479 "type" : "string",
28480 "typetext" : "<string>"
28481 }
28482 }
28483 },
28484 "permissions" : {
28485 "check" : [
28486 "perm",
28487 "/",
28488 [
28489 "Sys.Modify"
28490 ]
28491 ]
28492 },
28493 "protected" : 1,
28494 "proxyto" : "node",
28495 "returns" : {
28496 "type" : "string"
28497 }
e2d681b3
TL
28498 }
28499 },
28500 "leaf" : 1,
5f26e15b
TL
28501 "path" : "/nodes/{node}/ceph/mgr/{id}",
28502 "text" : "{id}"
e2d681b3
TL
28503 }
28504 ],
28505 "info" : {
1e3f8156 28506 "GET" : {
e9cd3bd4 28507 "allowtoken" : 1,
1e3f8156
TL
28508 "description" : "MGR directory index.",
28509 "method" : "GET",
28510 "name" : "index",
e2d681b3
TL
28511 "parameters" : {
28512 "additionalProperties" : 0,
28513 "properties" : {
28514 "node" : {
28515 "description" : "The cluster node name.",
28516 "format" : "pve-node",
28517 "type" : "string",
28518 "typetext" : "<string>"
28519 }
28520 }
28521 },
28522 "permissions" : {
28523 "check" : [
28524 "perm",
28525 "/",
28526 [
1e3f8156
TL
28527 "Sys.Audit",
28528 "Datastore.Audit"
28529 ],
28530 "any",
28531 1
e2d681b3
TL
28532 ]
28533 },
28534 "protected" : 1,
5f26e15b 28535 "proxyto" : "node",
e2d681b3 28536 "returns" : {
1e3f8156
TL
28537 "items" : {
28538 "properties" : {
28539 "addr" : {
28540 "optional" : 1,
28541 "type" : "string"
28542 },
28543 "host" : {
28544 "optional" : 1,
28545 "type" : "string"
28546 },
28547 "name" : {
28548 "description" : "The name (ID) for the MGR"
28549 },
28550 "state" : {
28551 "description" : "State of the MGR",
28552 "type" : "string"
28553 }
28554 },
28555 "type" : "object"
28556 },
28557 "links" : [
28558 {
28559 "href" : "{name}",
28560 "rel" : "child"
28561 }
28562 ],
28563 "type" : "array"
e2d681b3
TL
28564 }
28565 }
28566 },
28567 "leaf" : 0,
5f26e15b
TL
28568 "path" : "/nodes/{node}/ceph/mgr",
28569 "text" : "mgr"
e2d681b3 28570 },
4d47f125 28571 {
5f26e15b
TL
28572 "children" : [
28573 {
28574 "info" : {
28575 "DELETE" : {
e9cd3bd4 28576 "allowtoken" : 1,
5f26e15b
TL
28577 "description" : "Destroy Ceph Monitor and Manager.",
28578 "method" : "DELETE",
28579 "name" : "destroymon",
28580 "parameters" : {
28581 "additionalProperties" : 0,
28582 "properties" : {
1e3f8156
TL
28583 "monid" : {
28584 "description" : "Monitor ID",
28585 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28586 "type" : "string"
28587 },
28588 "node" : {
28589 "description" : "The cluster node name.",
28590 "format" : "pve-node",
28591 "type" : "string",
28592 "typetext" : "<string>"
28593 }
28594 }
28595 },
28596 "permissions" : {
28597 "check" : [
28598 "perm",
28599 "/",
28600 [
28601 "Sys.Modify"
28602 ]
28603 ]
28604 },
28605 "protected" : 1,
28606 "proxyto" : "node",
28607 "returns" : {
28608 "type" : "string"
28609 }
28610 },
28611 "POST" : {
e9cd3bd4 28612 "allowtoken" : 1,
1e3f8156
TL
28613 "description" : "Create Ceph Monitor and Manager",
28614 "method" : "POST",
28615 "name" : "createmon",
28616 "parameters" : {
28617 "additionalProperties" : 0,
28618 "properties" : {
28619 "mon-address" : {
28620 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
28621 "format" : "ip",
5f26e15b 28622 "optional" : 1,
1e3f8156
TL
28623 "type" : "string",
28624 "typetext" : "<string>"
5f26e15b
TL
28625 },
28626 "monid" : {
1e3f8156 28627 "description" : "The ID for the monitor, when omitted the same as the nodename",
c5aa7e14 28628 "maxLength" : 200,
1e3f8156 28629 "optional" : 1,
5f26e15b
TL
28630 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
28631 "type" : "string"
28632 },
28633 "node" : {
28634 "description" : "The cluster node name.",
28635 "format" : "pve-node",
28636 "type" : "string",
28637 "typetext" : "<string>"
28638 }
28639 }
28640 },
28641 "permissions" : {
28642 "check" : [
28643 "perm",
28644 "/",
28645 [
28646 "Sys.Modify"
28647 ]
28648 ]
28649 },
28650 "protected" : 1,
28651 "proxyto" : "node",
28652 "returns" : {
7aacca6f 28653 "type" : "string"
56122987 28654 }
4d47f125 28655 }
56122987 28656 },
5f26e15b
TL
28657 "leaf" : 1,
28658 "path" : "/nodes/{node}/ceph/mon/{monid}",
28659 "text" : "{monid}"
28660 }
28661 ],
28662 "info" : {
28663 "GET" : {
e9cd3bd4 28664 "allowtoken" : 1,
5f26e15b
TL
28665 "description" : "Get Ceph monitor list.",
28666 "method" : "GET",
28667 "name" : "listmon",
28668 "parameters" : {
28669 "additionalProperties" : 0,
28670 "properties" : {
28671 "node" : {
28672 "description" : "The cluster node name.",
28673 "format" : "pve-node",
28674 "type" : "string",
28675 "typetext" : "<string>"
28676 }
28677 }
28678 },
4d47f125
TL
28679 "permissions" : {
28680 "check" : [
28681 "perm",
28682 "/",
28683 [
28684 "Sys.Audit",
28685 "Datastore.Audit"
28686 ],
28687 "any",
28688 1
28689 ]
56122987 28690 },
4d47f125
TL
28691 "protected" : 1,
28692 "proxyto" : "node",
28693 "returns" : {
28694 "items" : {
28695 "properties" : {
5f26e15b 28696 "addr" : {
1e3f8156
TL
28697 "optional" : 1,
28698 "type" : "string"
28699 },
28700 "host" : {
28701 "optional" : 1,
4d47f125
TL
28702 "type" : "string"
28703 },
5f26e15b 28704 "name" : {
4d47f125
TL
28705 "type" : "string"
28706 }
7aacca6f 28707 },
4d47f125
TL
28708 "type" : "object"
28709 },
5f26e15b
TL
28710 "links" : [
28711 {
28712 "href" : "{name}",
28713 "rel" : "child"
28714 }
28715 ],
4d47f125
TL
28716 "type" : "array"
28717 }
4d47f125
TL
28718 }
28719 },
5f26e15b
TL
28720 "leaf" : 0,
28721 "path" : "/nodes/{node}/ceph/mon",
28722 "text" : "mon"
4d47f125
TL
28723 },
28724 {
28725 "children" : [
28726 {
28727 "info" : {
5f26e15b 28728 "POST" : {
e9cd3bd4 28729 "allowtoken" : 1,
5f26e15b
TL
28730 "description" : "Create a Ceph filesystem",
28731 "method" : "POST",
28732 "name" : "createfs",
4d47f125
TL
28733 "parameters" : {
28734 "additionalProperties" : 0,
28735 "properties" : {
5f26e15b 28736 "add-storage" : {
4d47f125 28737 "default" : 0,
5f26e15b 28738 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
28739 "optional" : 1,
28740 "type" : "boolean",
28741 "typetext" : "<boolean>"
28742 },
5f26e15b
TL
28743 "name" : {
28744 "default" : "cephfs",
28745 "description" : "The ceph filesystem name.",
28746 "optional" : 1,
28747 "type" : "string",
28748 "typetext" : "<string>"
4d47f125
TL
28749 },
28750 "node" : {
28751 "description" : "The cluster node name.",
28752 "format" : "pve-node",
28753 "type" : "string",
28754 "typetext" : "<string>"
5f26e15b
TL
28755 },
28756 "pg_num" : {
28757 "default" : 128,
28758 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
28759 "maximum" : 32768,
28760 "minimum" : 8,
28761 "optional" : 1,
28762 "type" : "integer",
28763 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
28764 }
28765 }
7aacca6f 28766 },
4d47f125
TL
28767 "permissions" : {
28768 "check" : [
28769 "perm",
28770 "/",
28771 [
28772 "Sys.Modify"
28773 ]
28774 ]
7aacca6f 28775 },
4d47f125
TL
28776 "protected" : 1,
28777 "proxyto" : "node",
28778 "returns" : {
44660702 28779 "type" : "string"
4d47f125
TL
28780 }
28781 }
28782 },
28783 "leaf" : 1,
5f26e15b
TL
28784 "path" : "/nodes/{node}/ceph/fs/{name}",
28785 "text" : "{name}"
4d47f125
TL
28786 }
28787 ],
28788 "info" : {
28789 "GET" : {
e9cd3bd4 28790 "allowtoken" : 1,
5f26e15b 28791 "description" : "Directory index.",
4d47f125 28792 "method" : "GET",
5f26e15b 28793 "name" : "index",
4d47f125
TL
28794 "parameters" : {
28795 "additionalProperties" : 0,
28796 "properties" : {
28797 "node" : {
28798 "description" : "The cluster node name.",
28799 "format" : "pve-node",
28800 "type" : "string",
28801 "typetext" : "<string>"
28802 }
28803 }
28804 },
28805 "permissions" : {
28806 "check" : [
28807 "perm",
28808 "/",
28809 [
28810 "Sys.Audit",
28811 "Datastore.Audit"
28812 ],
28813 "any",
28814 1
28815 ]
28816 },
28817 "protected" : 1,
95895385 28818 "proxyto" : "node",
4d47f125
TL
28819 "returns" : {
28820 "items" : {
28821 "properties" : {
5f26e15b
TL
28822 "data_pool" : {
28823 "description" : "The name of the data pool.",
28824 "type" : "string"
28825 },
28826 "metadata_pool" : {
28827 "description" : "The name of the metadata pool.",
4d47f125
TL
28828 "type" : "string"
28829 },
28830 "name" : {
5f26e15b 28831 "description" : "The ceph filesystem name.",
4d47f125
TL
28832 "type" : "string"
28833 }
7aacca6f 28834 },
4d47f125
TL
28835 "type" : "object"
28836 },
28837 "links" : [
28838 {
28839 "href" : "{name}",
28840 "rel" : "child"
28841 }
28842 ],
28843 "type" : "array"
28844 }
5f26e15b
TL
28845 }
28846 },
28847 "leaf" : 0,
28848 "path" : "/nodes/{node}/ceph/fs",
28849 "text" : "fs"
28850 },
28851 {
28852 "info" : {
28853 "GET" : {
e9cd3bd4 28854 "allowtoken" : 1,
5f26e15b
TL
28855 "description" : "List local disks.",
28856 "method" : "GET",
28857 "name" : "disks",
4d47f125
TL
28858 "parameters" : {
28859 "additionalProperties" : 0,
28860 "properties" : {
5f26e15b
TL
28861 "node" : {
28862 "description" : "The cluster node name.",
28863 "format" : "pve-node",
28864 "type" : "string",
28865 "typetext" : "<string>"
44660702 28866 },
5f26e15b
TL
28867 "type" : {
28868 "description" : "Only list specific types of disks.",
28869 "enum" : [
28870 "unused",
28871 "journal_disks"
28872 ],
44660702 28873 "optional" : 1,
44660702 28874 "type" : "string"
5f26e15b
TL
28875 }
28876 }
28877 },
28878 "permissions" : {
28879 "check" : [
28880 "perm",
28881 "/",
28882 [
28883 "Sys.Audit",
28884 "Datastore.Audit"
28885 ],
28886 "any",
28887 1
28888 ]
28889 },
28890 "protected" : 1,
28891 "proxyto" : "node",
28892 "returns" : {
28893 "items" : {
28894 "properties" : {
28895 "dev" : {
28896 "type" : "string"
28897 },
28898 "gpt" : {
28899 "type" : "boolean"
28900 },
28901 "model" : {
28902 "optional" : 1,
28903 "type" : "string"
28904 },
28905 "osdid" : {
28906 "type" : "integer"
28907 },
28908 "serial" : {
28909 "optional" : 1,
28910 "type" : "string"
28911 },
28912 "size" : {
28913 "type" : "integer"
28914 },
28915 "used" : {
28916 "optional" : 1,
28917 "type" : "string"
28918 },
28919 "vendor" : {
28920 "optional" : 1,
28921 "type" : "string"
28922 }
44660702 28923 },
5f26e15b
TL
28924 "type" : "object"
28925 },
28926 "type" : "array"
28927 }
28928 }
28929 },
28930 "leaf" : 1,
28931 "path" : "/nodes/{node}/ceph/disks",
28932 "text" : "disks"
28933 },
28934 {
28935 "info" : {
28936 "GET" : {
e9cd3bd4 28937 "allowtoken" : 1,
5f26e15b
TL
28938 "description" : "Get Ceph configuration.",
28939 "method" : "GET",
28940 "name" : "config",
28941 "parameters" : {
28942 "additionalProperties" : 0,
28943 "properties" : {
4d47f125
TL
28944 "node" : {
28945 "description" : "The cluster node name.",
28946 "format" : "pve-node",
28947 "type" : "string",
28948 "typetext" : "<string>"
7aacca6f 28949 }
4d47f125 28950 }
44660702 28951 },
4d47f125
TL
28952 "permissions" : {
28953 "check" : [
28954 "perm",
28955 "/",
28956 [
5f26e15b
TL
28957 "Sys.Audit",
28958 "Datastore.Audit"
28959 ],
28960 "any",
28961 1
4d47f125 28962 ]
56122987 28963 },
95895385 28964 "proxyto" : "node",
4d47f125 28965 "returns" : {
7aacca6f 28966 "type" : "string"
4d47f125
TL
28967 }
28968 }
28969 },
5f26e15b
TL
28970 "leaf" : 1,
28971 "path" : "/nodes/{node}/ceph/config",
28972 "text" : "config"
4d47f125 28973 },
7cbed89a
TL
28974 {
28975 "info" : {
28976 "GET" : {
e9cd3bd4 28977 "allowtoken" : 1,
7cbed89a
TL
28978 "description" : "Get Ceph configuration database.",
28979 "method" : "GET",
28980 "name" : "configdb",
28981 "parameters" : {
28982 "additionalProperties" : 0,
28983 "properties" : {
28984 "node" : {
28985 "description" : "The cluster node name.",
28986 "format" : "pve-node",
28987 "type" : "string",
28988 "typetext" : "<string>"
28989 }
28990 }
28991 },
28992 "permissions" : {
28993 "check" : [
28994 "perm",
28995 "/",
28996 [
28997 "Sys.Audit",
28998 "Datastore.Audit"
28999 ],
29000 "any",
29001 1
29002 ]
29003 },
29004 "protected" : 1,
29005 "proxyto" : "node",
29006 "returns" : {
29007 "items" : {
29008 "properties" : {
29009 "can_update_at_runtime" : {
29010 "type" : "boolean"
29011 },
29012 "level" : {
29013 "type" : "string"
29014 },
29015 "mask" : {
29016 "type" : "string"
29017 },
29018 "name" : {
29019 "type" : "string"
29020 },
29021 "section" : {
29022 "type" : "string"
29023 },
29024 "value" : {
29025 "type" : "string"
29026 }
29027 },
29028 "type" : "object"
29029 },
29030 "type" : "array"
29031 }
29032 }
29033 },
29034 "leaf" : 1,
29035 "path" : "/nodes/{node}/ceph/configdb",
29036 "text" : "configdb"
29037 },
4d47f125
TL
29038 {
29039 "info" : {
29040 "POST" : {
e9cd3bd4 29041 "allowtoken" : 1,
4d47f125
TL
29042 "description" : "Create initial ceph default configuration and setup symlinks.",
29043 "method" : "POST",
29044 "name" : "init",
29045 "parameters" : {
29046 "additionalProperties" : 0,
29047 "properties" : {
e2d681b3
TL
29048 "cluster-network" : {
29049 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
29050 "format" : "CIDR",
29051 "maxLength" : 128,
29052 "optional" : 1,
29053 "requires" : "network",
29054 "type" : "string",
29055 "typetext" : "<string>"
29056 },
4d47f125
TL
29057 "disable_cephx" : {
29058 "default" : 0,
1e3f8156 29059 "description" : "Disable cephx authentication.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
56122987 29060 "optional" : 1,
4d47f125
TL
29061 "type" : "boolean",
29062 "typetext" : "<boolean>"
56122987 29063 },
4d47f125
TL
29064 "min_size" : {
29065 "default" : 2,
29066 "description" : "Minimum number of available replicas per object to allow I/O",
29067 "maximum" : 7,
29068 "minimum" : 1,
7aacca6f 29069 "optional" : 1,
4d47f125
TL
29070 "type" : "integer",
29071 "typetext" : "<integer> (1 - 7)"
7aacca6f 29072 },
4d47f125
TL
29073 "network" : {
29074 "description" : "Use specific network for all ceph related traffic",
29075 "format" : "CIDR",
29076 "maxLength" : 128,
5d9c884c 29077 "optional" : 1,
4d47f125
TL
29078 "type" : "string",
29079 "typetext" : "<string>"
5d9c884c 29080 },
4d47f125
TL
29081 "node" : {
29082 "description" : "The cluster node name.",
29083 "format" : "pve-node",
29084 "type" : "string",
29085 "typetext" : "<string>"
7aacca6f 29086 },
4d47f125
TL
29087 "pg_bits" : {
29088 "default" : 6,
29089 "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.",
29090 "maximum" : 14,
29091 "minimum" : 6,
de0983cb 29092 "optional" : 1,
4d47f125
TL
29093 "type" : "integer",
29094 "typetext" : "<integer> (6 - 14)"
de0983cb 29095 },
44660702 29096 "size" : {
4d47f125
TL
29097 "default" : 3,
29098 "description" : "Targeted number of replicas per object",
29099 "maximum" : 7,
29100 "minimum" : 1,
7aacca6f 29101 "optional" : 1,
4d47f125
TL
29102 "type" : "integer",
29103 "typetext" : "<integer> (1 - 7)"
56122987 29104 }
4d47f125 29105 }
44660702 29106 },
4d47f125
TL
29107 "permissions" : {
29108 "check" : [
29109 "perm",
29110 "/",
29111 [
29112 "Sys.Modify"
29113 ]
29114 ]
5da3d723 29115 },
4d47f125
TL
29116 "protected" : 1,
29117 "proxyto" : "node",
29118 "returns" : {
29119 "type" : "null"
29120 }
29121 }
29122 },
29123 "leaf" : 1,
29124 "path" : "/nodes/{node}/ceph/init",
29125 "text" : "init"
29126 },
4d47f125
TL
29127 {
29128 "info" : {
29129 "POST" : {
e9cd3bd4 29130 "allowtoken" : 1,
4d47f125
TL
29131 "description" : "Stop ceph services.",
29132 "method" : "POST",
29133 "name" : "stop",
29134 "parameters" : {
29135 "additionalProperties" : 0,
29136 "properties" : {
29137 "node" : {
29138 "description" : "The cluster node name.",
29139 "format" : "pve-node",
29140 "type" : "string",
29141 "typetext" : "<string>"
29142 },
29143 "service" : {
e2d681b3 29144 "default" : "ceph.target",
4d47f125
TL
29145 "description" : "Ceph service name.",
29146 "optional" : 1,
c5aa7e14 29147 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
29148 "type" : "string"
29149 }
29150 }
7aacca6f 29151 },
4d47f125
TL
29152 "permissions" : {
29153 "check" : [
29154 "perm",
29155 "/",
29156 [
29157 "Sys.Modify"
29158 ]
29159 ]
7aacca6f 29160 },
4d47f125
TL
29161 "protected" : 1,
29162 "proxyto" : "node",
29163 "returns" : {
29164 "type" : "string"
29165 }
29166 }
29167 },
29168 "leaf" : 1,
29169 "path" : "/nodes/{node}/ceph/stop",
29170 "text" : "stop"
29171 },
29172 {
29173 "info" : {
29174 "POST" : {
e9cd3bd4 29175 "allowtoken" : 1,
4d47f125
TL
29176 "description" : "Start ceph services.",
29177 "method" : "POST",
29178 "name" : "start",
29179 "parameters" : {
29180 "additionalProperties" : 0,
29181 "properties" : {
29182 "node" : {
29183 "description" : "The cluster node name.",
29184 "format" : "pve-node",
29185 "type" : "string",
29186 "typetext" : "<string>"
29187 },
29188 "service" : {
e2d681b3 29189 "default" : "ceph.target",
4d47f125
TL
29190 "description" : "Ceph service name.",
29191 "optional" : 1,
c5aa7e14 29192 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
29193 "type" : "string"
29194 }
29195 }
44660702 29196 },
4d47f125
TL
29197 "permissions" : {
29198 "check" : [
29199 "perm",
29200 "/",
29201 [
29202 "Sys.Modify"
29203 ]
29204 ]
44660702 29205 },
4d47f125
TL
29206 "protected" : 1,
29207 "proxyto" : "node",
29208 "returns" : {
29209 "type" : "string"
44660702 29210 }
7aacca6f
DM
29211 }
29212 },
4d47f125
TL
29213 "leaf" : 1,
29214 "path" : "/nodes/{node}/ceph/start",
29215 "text" : "start"
29216 },
e2d681b3
TL
29217 {
29218 "info" : {
29219 "POST" : {
e9cd3bd4 29220 "allowtoken" : 1,
e2d681b3
TL
29221 "description" : "Restart ceph services.",
29222 "method" : "POST",
29223 "name" : "restart",
29224 "parameters" : {
29225 "additionalProperties" : 0,
29226 "properties" : {
29227 "node" : {
29228 "description" : "The cluster node name.",
29229 "format" : "pve-node",
29230 "type" : "string",
29231 "typetext" : "<string>"
29232 },
29233 "service" : {
29234 "default" : "ceph.target",
29235 "description" : "Ceph service name.",
29236 "optional" : 1,
c5aa7e14 29237 "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
e2d681b3
TL
29238 "type" : "string"
29239 }
29240 }
29241 },
29242 "permissions" : {
29243 "check" : [
29244 "perm",
29245 "/",
29246 [
29247 "Sys.Modify"
29248 ]
29249 ]
29250 },
29251 "protected" : 1,
29252 "proxyto" : "node",
29253 "returns" : {
29254 "type" : "string"
29255 }
29256 }
29257 },
29258 "leaf" : 1,
29259 "path" : "/nodes/{node}/ceph/restart",
29260 "text" : "restart"
29261 },
4d47f125
TL
29262 {
29263 "info" : {
29264 "GET" : {
e9cd3bd4 29265 "allowtoken" : 1,
4d47f125
TL
29266 "description" : "Get ceph status.",
29267 "method" : "GET",
29268 "name" : "status",
29269 "parameters" : {
29270 "additionalProperties" : 0,
29271 "properties" : {
29272 "node" : {
29273 "description" : "The cluster node name.",
29274 "format" : "pve-node",
29275 "type" : "string",
29276 "typetext" : "<string>"
29277 }
29278 }
29279 },
29280 "permissions" : {
29281 "check" : [
29282 "perm",
29283 "/",
29284 [
29285 "Sys.Audit",
29286 "Datastore.Audit"
29287 ],
29288 "any",
29289 1
29290 ]
29291 },
29292 "protected" : 1,
29293 "proxyto" : "node",
29294 "returns" : {
29295 "type" : "object"
29296 }
29297 }
44660702 29298 },
4d47f125
TL
29299 "leaf" : 1,
29300 "path" : "/nodes/{node}/ceph/status",
29301 "text" : "status"
29302 },
44660702 29303 {
56122987
DM
29304 "children" : [
29305 {
44660702
DM
29306 "info" : {
29307 "DELETE" : {
e9cd3bd4 29308 "allowtoken" : 1,
4d47f125 29309 "description" : "Destroy pool",
44660702 29310 "method" : "DELETE",
4d47f125 29311 "name" : "destroypool",
44660702
DM
29312 "parameters" : {
29313 "additionalProperties" : 0,
29314 "properties" : {
4d47f125 29315 "force" : {
44660702 29316 "default" : 0,
4d47f125 29317 "description" : "If true, destroys pool even if in use",
44660702 29318 "optional" : 1,
013dc89f
DM
29319 "type" : "boolean",
29320 "typetext" : "<boolean>"
7aacca6f 29321 },
4d47f125
TL
29322 "name" : {
29323 "description" : "The name of the pool. It must be unique.",
29324 "type" : "string",
29325 "typetext" : "<string>"
29326 },
44660702
DM
29327 "node" : {
29328 "description" : "The cluster node name.",
29329 "format" : "pve-node",
013dc89f
DM
29330 "type" : "string",
29331 "typetext" : "<string>"
56122987 29332 },
4d47f125
TL
29333 "remove_storages" : {
29334 "default" : 0,
29335 "description" : "Remove all pveceph-managed storages configured for this pool",
29336 "optional" : 1,
29337 "type" : "boolean",
29338 "typetext" : "<boolean>"
44660702 29339 }
56122987
DM
29340 }
29341 },
4d47f125
TL
29342 "permissions" : {
29343 "check" : [
29344 "perm",
29345 "/",
29346 [
29347 "Sys.Modify"
29348 ]
29349 ]
29350 },
44660702
DM
29351 "protected" : 1,
29352 "proxyto" : "node",
29353 "returns" : {
29354 "type" : "string"
29355 }
29356 }
29357 },
4d47f125
TL
29358 "leaf" : 1,
29359 "path" : "/nodes/{node}/ceph/pools/{name}",
29360 "text" : "{name}"
44660702
DM
29361 }
29362 ],
29363 "info" : {
29364 "GET" : {
e9cd3bd4 29365 "allowtoken" : 1,
4d47f125 29366 "description" : "List all pools.",
44660702 29367 "method" : "GET",
4d47f125 29368 "name" : "lspools",
44660702
DM
29369 "parameters" : {
29370 "additionalProperties" : 0,
29371 "properties" : {
29372 "node" : {
29373 "description" : "The cluster node name.",
29374 "format" : "pve-node",
013dc89f
DM
29375 "type" : "string",
29376 "typetext" : "<string>"
44660702
DM
29377 }
29378 }
29379 },
29380 "permissions" : {
29381 "check" : [
29382 "perm",
29383 "/",
29384 [
29385 "Sys.Audit",
29386 "Datastore.Audit"
29387 ],
29388 "any",
29389 1
29390 ]
29391 },
29392 "protected" : 1,
29393 "proxyto" : "node",
29394 "returns" : {
4d47f125
TL
29395 "items" : {
29396 "properties" : {
29397 "pool" : {
29398 "type" : "integer"
29399 },
29400 "pool_name" : {
29401 "type" : "string"
29402 },
29403 "size" : {
29404 "type" : "integer"
29405 }
29406 },
29407 "type" : "object"
29408 },
29409 "links" : [
29410 {
29411 "href" : "{pool_name}",
29412 "rel" : "child"
29413 }
29414 ],
29415 "type" : "array"
44660702
DM
29416 }
29417 },
29418 "POST" : {
e9cd3bd4 29419 "allowtoken" : 1,
4d47f125 29420 "description" : "Create POOL",
44660702 29421 "method" : "POST",
4d47f125 29422 "name" : "createpool",
44660702
DM
29423 "parameters" : {
29424 "additionalProperties" : 0,
29425 "properties" : {
4d47f125 29426 "add_storages" : {
e2d681b3 29427 "description" : "Configure VM and CT storage using the new pool.",
5d9c884c
DM
29428 "optional" : 1,
29429 "type" : "boolean",
29430 "typetext" : "<boolean>"
29431 },
4d47f125
TL
29432 "application" : {
29433 "description" : "The application of the pool, 'rbd' by default.",
44660702 29434 "enum" : [
4d47f125
TL
29435 "rbd",
29436 "cephfs",
29437 "rgw"
44660702
DM
29438 ],
29439 "optional" : 1,
29440 "type" : "string"
29441 },
4d47f125
TL
29442 "crush_rule" : {
29443 "description" : "The rule to use for mapping object placement in the cluster.",
29444 "optional" : 1,
29445 "type" : "string",
29446 "typetext" : "<string>"
29447 },
29448 "min_size" : {
29449 "default" : 2,
29450 "description" : "Minimum number of replicas per object",
29451 "maximum" : 7,
29452 "minimum" : 1,
44660702 29453 "optional" : 1,
4d47f125
TL
29454 "type" : "integer",
29455 "typetext" : "<integer> (1 - 7)"
29456 },
29457 "name" : {
29458 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
29459 "type" : "string",
29460 "typetext" : "<string>"
44660702
DM
29461 },
29462 "node" : {
29463 "description" : "The cluster node name.",
29464 "format" : "pve-node",
013dc89f
DM
29465 "type" : "string",
29466 "typetext" : "<string>"
2489d6df 29467 },
4d47f125 29468 "pg_num" : {
e2d681b3 29469 "default" : 128,
4d47f125
TL
29470 "description" : "Number of placement groups.",
29471 "maximum" : 32768,
29472 "minimum" : 8,
2489d6df 29473 "optional" : 1,
4d47f125
TL
29474 "type" : "integer",
29475 "typetext" : "<integer> (8 - 32768)"
29476 },
29477 "size" : {
29478 "default" : 3,
29479 "description" : "Number of replicas per object",
29480 "maximum" : 7,
29481 "minimum" : 1,
29482 "optional" : 1,
29483 "type" : "integer",
29484 "typetext" : "<integer> (1 - 7)"
44660702 29485 }
56122987 29486 }
44660702 29487 },
4d47f125
TL
29488 "permissions" : {
29489 "check" : [
29490 "perm",
29491 "/",
29492 [
29493 "Sys.Modify"
29494 ]
29495 ]
29496 },
44660702
DM
29497 "protected" : 1,
29498 "proxyto" : "node",
29499 "returns" : {
29500 "type" : "string"
29501 }
56122987 29502 }
44660702 29503 },
7aacca6f 29504 "leaf" : 0,
4d47f125
TL
29505 "path" : "/nodes/{node}/ceph/pools",
29506 "text" : "pools"
7aacca6f
DM
29507 },
29508 {
4d47f125
TL
29509 "children" : [
29510 {
29511 "info" : {
29512 "DELETE" : {
e9cd3bd4 29513 "allowtoken" : 1,
4d47f125
TL
29514 "description" : "Unset a ceph flag",
29515 "method" : "DELETE",
29516 "name" : "unset_flag",
29517 "parameters" : {
29518 "additionalProperties" : 0,
29519 "properties" : {
29520 "flag" : {
1c532546 29521 "description" : "The ceph flag to unset",
4d47f125 29522 "enum" : [
1c532546
TL
29523 "nobackfill",
29524 "nodeep-scrub",
4d47f125 29525 "nodown",
4d47f125 29526 "noin",
1c532546 29527 "noout",
4d47f125
TL
29528 "norebalance",
29529 "norecover",
29530 "noscrub",
1c532546
TL
29531 "notieragent",
29532 "noup",
29533 "pause"
4d47f125
TL
29534 ],
29535 "type" : "string"
29536 },
29537 "node" : {
29538 "description" : "The cluster node name.",
29539 "format" : "pve-node",
29540 "type" : "string",
29541 "typetext" : "<string>"
29542 }
29543 }
29544 },
29545 "permissions" : {
29546 "check" : [
29547 "perm",
29548 "/",
29549 [
29550 "Sys.Modify"
29551 ]
29552 ]
29553 },
29554 "protected" : 1,
29555 "proxyto" : "node",
29556 "returns" : {
29557 "type" : "null"
29558 }
29559 },
29560 "POST" : {
e9cd3bd4 29561 "allowtoken" : 1,
1c532546 29562 "description" : "Set a specific ceph flag",
4d47f125
TL
29563 "method" : "POST",
29564 "name" : "set_flag",
29565 "parameters" : {
29566 "additionalProperties" : 0,
29567 "properties" : {
29568 "flag" : {
1c532546 29569 "description" : "The ceph flag to set",
4d47f125 29570 "enum" : [
1c532546
TL
29571 "nobackfill",
29572 "nodeep-scrub",
4d47f125 29573 "nodown",
4d47f125 29574 "noin",
1c532546 29575 "noout",
4d47f125
TL
29576 "norebalance",
29577 "norecover",
29578 "noscrub",
1c532546
TL
29579 "notieragent",
29580 "noup",
29581 "pause"
4d47f125
TL
29582 ],
29583 "type" : "string"
29584 },
29585 "node" : {
29586 "description" : "The cluster node name.",
29587 "format" : "pve-node",
29588 "type" : "string",
29589 "typetext" : "<string>"
29590 }
29591 }
29592 },
29593 "permissions" : {
29594 "check" : [
29595 "perm",
29596 "/",
29597 [
29598 "Sys.Modify"
29599 ]
29600 ]
29601 },
29602 "protected" : 1,
29603 "proxyto" : "node",
29604 "returns" : {
29605 "type" : "null"
29606 }
29607 }
29608 },
29609 "leaf" : 1,
29610 "path" : "/nodes/{node}/ceph/flags/{flag}",
29611 "text" : "{flag}"
29612 }
29613 ],
56122987
DM
29614 "info" : {
29615 "GET" : {
e9cd3bd4 29616 "allowtoken" : 1,
4d47f125 29617 "description" : "get all set ceph flags",
44660702 29618 "method" : "GET",
4d47f125 29619 "name" : "get_flags",
44660702
DM
29620 "parameters" : {
29621 "additionalProperties" : 0,
29622 "properties" : {
29623 "node" : {
29624 "description" : "The cluster node name.",
29625 "format" : "pve-node",
013dc89f
DM
29626 "type" : "string",
29627 "typetext" : "<string>"
44660702
DM
29628 }
29629 }
29630 },
56122987
DM
29631 "permissions" : {
29632 "check" : [
29633 "perm",
29634 "/",
29635 [
4d47f125
TL
29636 "Sys.Audit"
29637 ]
56122987 29638 ]
4d47f125
TL
29639 },
29640 "protected" : 1,
29641 "proxyto" : "node",
29642 "returns" : {
29643 "type" : "string"
44660702 29644 }
56122987 29645 }
44660702 29646 },
4d47f125
TL
29647 "leaf" : 0,
29648 "path" : "/nodes/{node}/ceph/flags",
29649 "text" : "flags"
56122987
DM
29650 },
29651 {
56122987
DM
29652 "info" : {
29653 "GET" : {
e9cd3bd4 29654 "allowtoken" : 1,
4d47f125 29655 "description" : "Get OSD crush map",
44660702 29656 "method" : "GET",
4d47f125 29657 "name" : "crush",
56122987 29658 "parameters" : {
7aacca6f 29659 "additionalProperties" : 0,
56122987 29660 "properties" : {
56122987 29661 "node" : {
7aacca6f 29662 "description" : "The cluster node name.",
44660702 29663 "format" : "pve-node",
013dc89f
DM
29664 "type" : "string",
29665 "typetext" : "<string>"
56122987 29666 }
7aacca6f 29667 }
56122987 29668 },
56122987
DM
29669 "permissions" : {
29670 "check" : [
29671 "perm",
29672 "/",
29673 [
29674 "Sys.Audit",
29675 "Datastore.Audit"
29676 ],
29677 "any",
29678 1
29679 ]
44660702 29680 },
4d47f125
TL
29681 "protected" : 1,
29682 "proxyto" : "node",
44660702
DM
29683 "returns" : {
29684 "type" : "string"
7aacca6f
DM
29685 }
29686 }
44660702
DM
29687 },
29688 "leaf" : 1,
4d47f125
TL
29689 "path" : "/nodes/{node}/ceph/crush",
29690 "text" : "crush"
7aacca6f
DM
29691 },
29692 {
7aacca6f
DM
29693 "info" : {
29694 "GET" : {
e9cd3bd4 29695 "allowtoken" : 1,
4d47f125 29696 "description" : "Read ceph log",
7aacca6f 29697 "method" : "GET",
4d47f125 29698 "name" : "log",
7aacca6f
DM
29699 "parameters" : {
29700 "additionalProperties" : 0,
29701 "properties" : {
4d47f125
TL
29702 "limit" : {
29703 "minimum" : 0,
29704 "optional" : 1,
29705 "type" : "integer",
29706 "typetext" : "<integer> (0 - N)"
29707 },
7aacca6f 29708 "node" : {
7aacca6f 29709 "description" : "The cluster node name.",
44660702 29710 "format" : "pve-node",
013dc89f
DM
29711 "type" : "string",
29712 "typetext" : "<string>"
4d47f125
TL
29713 },
29714 "start" : {
29715 "minimum" : 0,
29716 "optional" : 1,
29717 "type" : "integer",
29718 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
29719 }
29720 }
29721 },
44660702
DM
29722 "permissions" : {
29723 "check" : [
29724 "perm",
4d47f125 29725 "/nodes/{node}",
44660702 29726 [
4d47f125
TL
29727 "Sys.Syslog"
29728 ]
44660702
DM
29729 ]
29730 },
7aacca6f 29731 "protected" : 1,
44660702 29732 "proxyto" : "node",
7aacca6f
DM
29733 "returns" : {
29734 "items" : {
29735 "properties" : {
4d47f125
TL
29736 "n" : {
29737 "description" : "Line number",
29738 "type" : "integer"
56122987 29739 },
4d47f125
TL
29740 "t" : {
29741 "description" : "Line text",
56122987
DM
29742 "type" : "string"
29743 }
7aacca6f
DM
29744 },
29745 "type" : "object"
56122987
DM
29746 },
29747 "type" : "array"
44660702 29748 }
4d47f125
TL
29749 }
29750 },
29751 "leaf" : 1,
29752 "path" : "/nodes/{node}/ceph/log",
29753 "text" : "log"
29754 },
29755 {
29756 "info" : {
29757 "GET" : {
e9cd3bd4 29758 "allowtoken" : 1,
4d47f125
TL
29759 "description" : "List ceph rules.",
29760 "method" : "GET",
29761 "name" : "rules",
44660702
DM
29762 "parameters" : {
29763 "additionalProperties" : 0,
29764 "properties" : {
29765 "node" : {
29766 "description" : "The cluster node name.",
29767 "format" : "pve-node",
013dc89f
DM
29768 "type" : "string",
29769 "typetext" : "<string>"
44660702
DM
29770 }
29771 }
29772 },
7aacca6f
DM
29773 "permissions" : {
29774 "check" : [
29775 "perm",
29776 "/",
29777 [
4d47f125
TL
29778 "Sys.Audit",
29779 "Datastore.Audit"
29780 ],
29781 "any",
29782 1
7aacca6f
DM
29783 ]
29784 },
44660702 29785 "protected" : 1,
7aacca6f 29786 "proxyto" : "node",
56122987 29787 "returns" : {
4d47f125
TL
29788 "items" : {
29789 "properties" : {},
29790 "type" : "object"
29791 },
29792 "links" : [
29793 {
29794 "href" : "{name}",
29795 "rel" : "child"
29796 }
29797 ],
29798 "type" : "array"
44660702 29799 }
56122987 29800 }
44660702 29801 },
4d47f125
TL
29802 "leaf" : 1,
29803 "path" : "/nodes/{node}/ceph/rules",
29804 "text" : "rules"
29805 }
29806 ],
29807 "info" : {
29808 "GET" : {
e9cd3bd4 29809 "allowtoken" : 1,
4d47f125
TL
29810 "description" : "Directory index.",
29811 "method" : "GET",
29812 "name" : "index",
29813 "parameters" : {
29814 "additionalProperties" : 0,
29815 "properties" : {
29816 "node" : {
29817 "description" : "The cluster node name.",
29818 "format" : "pve-node",
29819 "type" : "string",
29820 "typetext" : "<string>"
29821 }
29822 }
29823 },
29824 "permissions" : {
29825 "check" : [
29826 "perm",
29827 "/",
29828 [
29829 "Sys.Audit",
29830 "Datastore.Audit"
29831 ],
29832 "any",
29833 1
29834 ]
29835 },
29836 "returns" : {
29837 "items" : {
29838 "properties" : {},
29839 "type" : "object"
29840 },
29841 "links" : [
29842 {
29843 "href" : "{name}",
29844 "rel" : "child"
29845 }
29846 ],
29847 "type" : "array"
29848 }
29849 }
29850 },
29851 "leaf" : 0,
29852 "path" : "/nodes/{node}/ceph",
29853 "text" : "ceph"
29854 },
29855 {
29856 "children" : [
56122987
DM
29857 {
29858 "info" : {
4d47f125 29859 "GET" : {
e9cd3bd4 29860 "allowtoken" : 1,
4d47f125
TL
29861 "description" : "Extract configuration from vzdump backup archive.",
29862 "method" : "GET",
29863 "name" : "extractconfig",
29864 "parameters" : {
29865 "additionalProperties" : 0,
29866 "properties" : {
44660702
DM
29867 "node" : {
29868 "description" : "The cluster node name.",
29869 "format" : "pve-node",
013dc89f
DM
29870 "type" : "string",
29871 "typetext" : "<string>"
44660702 29872 },
4d47f125
TL
29873 "volume" : {
29874 "description" : "Volume identifier",
29875 "type" : "string",
29876 "typetext" : "<string>"
44660702
DM
29877 }
29878 }
7aacca6f 29879 },
56122987 29880 "permissions" : {
4d47f125
TL
29881 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
29882 "user" : "all"
56122987 29883 },
7aacca6f 29884 "protected" : 1,
44660702
DM
29885 "proxyto" : "node",
29886 "returns" : {
4d47f125 29887 "type" : "string"
7aacca6f
DM
29888 }
29889 }
29890 },
7aacca6f 29891 "leaf" : 1,
4d47f125
TL
29892 "path" : "/nodes/{node}/vzdump/extractconfig",
29893 "text" : "extractconfig"
29894 }
29895 ],
29896 "info" : {
29897 "POST" : {
e9cd3bd4 29898 "allowtoken" : 1,
4d47f125
TL
29899 "description" : "Create backup.",
29900 "method" : "POST",
29901 "name" : "vzdump",
29902 "parameters" : {
29903 "additionalProperties" : 0,
29904 "properties" : {
29905 "all" : {
29906 "default" : 0,
29907 "description" : "Backup all known guest systems on this host.",
29908 "optional" : 1,
29909 "type" : "boolean",
29910 "typetext" : "<boolean>"
29911 },
29912 "bwlimit" : {
29913 "default" : 0,
29914 "description" : "Limit I/O bandwidth (KBytes per second).",
29915 "minimum" : 0,
29916 "optional" : 1,
29917 "type" : "integer",
29918 "typetext" : "<integer> (0 - N)"
29919 },
29920 "compress" : {
29921 "default" : "0",
29922 "description" : "Compress dump file.",
29923 "enum" : [
29924 "0",
29925 "1",
29926 "gzip",
c5aa7e14
TL
29927 "lzo",
29928 "zstd"
4d47f125
TL
29929 ],
29930 "optional" : 1,
29931 "type" : "string"
29932 },
29933 "dumpdir" : {
29934 "description" : "Store resulting files to specified directory.",
29935 "optional" : 1,
29936 "type" : "string",
29937 "typetext" : "<string>"
29938 },
29939 "exclude" : {
29940 "description" : "Exclude specified guest systems (assumes --all)",
29941 "format" : "pve-vmid-list",
29942 "optional" : 1,
29943 "type" : "string",
29944 "typetext" : "<string>"
29945 },
29946 "exclude-path" : {
29947 "description" : "Exclude certain files/directories (shell globs).",
29948 "format" : "string-alist",
29949 "optional" : 1,
29950 "type" : "string",
29951 "typetext" : "<string>"
29952 },
29953 "ionice" : {
29954 "default" : 7,
29955 "description" : "Set CFQ ionice priority.",
29956 "maximum" : 8,
29957 "minimum" : 0,
29958 "optional" : 1,
29959 "type" : "integer",
29960 "typetext" : "<integer> (0 - 8)"
29961 },
29962 "lockwait" : {
29963 "default" : 180,
29964 "description" : "Maximal time to wait for the global lock (minutes).",
29965 "minimum" : 0,
29966 "optional" : 1,
29967 "type" : "integer",
29968 "typetext" : "<integer> (0 - N)"
29969 },
29970 "mailnotification" : {
29971 "default" : "always",
29972 "description" : "Specify when to send an email",
29973 "enum" : [
29974 "always",
29975 "failure"
29976 ],
29977 "optional" : 1,
29978 "type" : "string"
29979 },
29980 "mailto" : {
29981 "description" : "Comma-separated list of email addresses that should receive email notifications.",
29982 "format" : "string-list",
29983 "optional" : 1,
29984 "type" : "string",
29985 "typetext" : "<string>"
29986 },
29987 "maxfiles" : {
29988 "default" : 1,
29989 "description" : "Maximal number of backup files per guest system.",
29990 "minimum" : 1,
29991 "optional" : 1,
29992 "type" : "integer",
29993 "typetext" : "<integer> (1 - N)"
29994 },
29995 "mode" : {
29996 "default" : "snapshot",
29997 "description" : "Backup mode.",
29998 "enum" : [
29999 "snapshot",
30000 "suspend",
30001 "stop"
30002 ],
30003 "optional" : 1,
30004 "type" : "string"
30005 },
30006 "node" : {
30007 "description" : "Only run if executed on this node.",
30008 "format" : "pve-node",
30009 "optional" : 1,
30010 "type" : "string",
30011 "typetext" : "<string>"
30012 },
30013 "pigz" : {
30014 "default" : 0,
30015 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
30016 "optional" : 1,
30017 "type" : "integer",
30018 "typetext" : "<integer>"
30019 },
9226ccbc
TL
30020 "pool" : {
30021 "description" : "Backup all known guest systems included in the specified pool.",
30022 "optional" : 1,
30023 "type" : "string",
30024 "typetext" : "<string>"
30025 },
4d47f125
TL
30026 "quiet" : {
30027 "default" : 0,
30028 "description" : "Be quiet.",
30029 "optional" : 1,
30030 "type" : "boolean",
30031 "typetext" : "<boolean>"
30032 },
30033 "remove" : {
30034 "default" : 1,
30035 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
30036 "optional" : 1,
30037 "type" : "boolean",
30038 "typetext" : "<boolean>"
30039 },
30040 "script" : {
30041 "description" : "Use specified hook script.",
30042 "optional" : 1,
30043 "type" : "string",
30044 "typetext" : "<string>"
30045 },
30046 "size" : {
30047 "default" : 1024,
30048 "description" : "Unused, will be removed in a future release.",
30049 "minimum" : 500,
30050 "optional" : 1,
30051 "type" : "integer",
30052 "typetext" : "<integer> (500 - N)"
30053 },
30054 "stdexcludes" : {
30055 "default" : 1,
30056 "description" : "Exclude temporary files and logs.",
30057 "optional" : 1,
30058 "type" : "boolean",
30059 "typetext" : "<boolean>"
30060 },
30061 "stdout" : {
30062 "description" : "Write tar to stdout, not to a file.",
30063 "optional" : 1,
30064 "type" : "boolean",
30065 "typetext" : "<boolean>"
30066 },
30067 "stop" : {
30068 "default" : 0,
1e3f8156 30069 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
30070 "optional" : 1,
30071 "type" : "boolean",
30072 "typetext" : "<boolean>"
30073 },
30074 "stopwait" : {
30075 "default" : 10,
30076 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
30077 "minimum" : 0,
30078 "optional" : 1,
30079 "type" : "integer",
30080 "typetext" : "<integer> (0 - N)"
30081 },
30082 "storage" : {
30083 "description" : "Store resulting file to this storage.",
30084 "format" : "pve-storage-id",
30085 "optional" : 1,
30086 "type" : "string",
30087 "typetext" : "<string>"
30088 },
30089 "tmpdir" : {
30090 "description" : "Store temporary files to specified directory.",
30091 "optional" : 1,
30092 "type" : "string",
30093 "typetext" : "<string>"
30094 },
30095 "vmid" : {
30096 "description" : "The ID of the guest system you want to backup.",
30097 "format" : "pve-vmid-list",
30098 "optional" : 1,
30099 "type" : "string",
30100 "typetext" : "<string>"
c5aa7e14
TL
30101 },
30102 "zstd" : {
30103 "default" : 1,
30104 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
30105 "optional" : 1,
30106 "type" : "integer",
30107 "typetext" : "<integer>"
4d47f125
TL
30108 }
30109 }
30110 },
30111 "permissions" : {
30112 "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.",
30113 "user" : "all"
30114 },
30115 "protected" : 1,
30116 "proxyto" : "node",
30117 "returns" : {
30118 "type" : "string"
30119 }
30120 }
30121 },
30122 "leaf" : 0,
30123 "path" : "/nodes/{node}/vzdump",
30124 "text" : "vzdump"
30125 },
30126 {
30127 "children" : [
2489d6df
WB
30128 {
30129 "children" : [
30130 {
30131 "info" : {
4d47f125 30132 "GET" : {
e9cd3bd4 30133 "allowtoken" : 1,
4d47f125
TL
30134 "description" : "Read service properties",
30135 "method" : "GET",
30136 "name" : "service_state",
2489d6df
WB
30137 "parameters" : {
30138 "additionalProperties" : 0,
30139 "properties" : {
2489d6df
WB
30140 "node" : {
30141 "description" : "The cluster node name.",
30142 "format" : "pve-node",
30143 "type" : "string",
30144 "typetext" : "<string>"
4d47f125
TL
30145 },
30146 "service" : {
30147 "description" : "Service ID",
30148 "enum" : [
30149 "pveproxy",
30150 "pvedaemon",
30151 "spiceproxy",
30152 "pvestatd",
30153 "pve-cluster",
30154 "corosync",
30155 "pve-firewall",
30156 "pvefw-logger",
30157 "pve-ha-crm",
30158 "pve-ha-lrm",
30159 "sshd",
30160 "syslog",
30161 "cron",
30162 "postfix",
30163 "ksmtuned",
30164 "systemd-timesyncd"
30165 ],
30166 "type" : "string"
2489d6df
WB
30167 }
30168 }
30169 },
30170 "permissions" : {
30171 "check" : [
30172 "perm",
4d47f125 30173 "/nodes/{node}",
2489d6df 30174 [
4d47f125 30175 "Sys.Audit"
2489d6df
WB
30176 ]
30177 ]
30178 },
30179 "protected" : 1,
30180 "proxyto" : "node",
30181 "returns" : {
4d47f125 30182 "type" : "object"
2489d6df
WB
30183 }
30184 }
30185 },
30186 "leaf" : 1,
4d47f125
TL
30187 "path" : "/nodes/{node}/services/{service}/state",
30188 "text" : "state"
30189 },
30190 {
30191 "info" : {
30192 "POST" : {
e9cd3bd4 30193 "allowtoken" : 1,
4d47f125
TL
30194 "description" : "Start service.",
30195 "method" : "POST",
30196 "name" : "service_start",
30197 "parameters" : {
30198 "additionalProperties" : 0,
30199 "properties" : {
30200 "node" : {
30201 "description" : "The cluster node name.",
30202 "format" : "pve-node",
30203 "type" : "string",
30204 "typetext" : "<string>"
30205 },
30206 "service" : {
30207 "description" : "Service ID",
30208 "enum" : [
30209 "pveproxy",
30210 "pvedaemon",
30211 "spiceproxy",
30212 "pvestatd",
30213 "pve-cluster",
30214 "corosync",
30215 "pve-firewall",
30216 "pvefw-logger",
30217 "pve-ha-crm",
30218 "pve-ha-lrm",
30219 "sshd",
30220 "syslog",
30221 "cron",
30222 "postfix",
30223 "ksmtuned",
30224 "systemd-timesyncd"
30225 ],
30226 "type" : "string"
30227 }
30228 }
7aacca6f 30229 },
4d47f125
TL
30230 "permissions" : {
30231 "check" : [
30232 "perm",
30233 "/nodes/{node}",
30234 [
30235 "Sys.Modify"
30236 ]
30237 ]
7aacca6f 30238 },
4d47f125
TL
30239 "protected" : 1,
30240 "proxyto" : "node",
30241 "returns" : {
30242 "type" : "string"
30243 }
30244 }
56122987 30245 },
4d47f125
TL
30246 "leaf" : 1,
30247 "path" : "/nodes/{node}/services/{service}/start",
30248 "text" : "start"
30249 },
44660702
DM
30250 {
30251 "info" : {
4d47f125 30252 "POST" : {
e9cd3bd4 30253 "allowtoken" : 1,
4d47f125
TL
30254 "description" : "Stop service.",
30255 "method" : "POST",
30256 "name" : "service_stop",
44660702
DM
30257 "parameters" : {
30258 "additionalProperties" : 0,
30259 "properties" : {
44660702
DM
30260 "node" : {
30261 "description" : "The cluster node name.",
30262 "format" : "pve-node",
013dc89f
DM
30263 "type" : "string",
30264 "typetext" : "<string>"
2489d6df 30265 },
4d47f125
TL
30266 "service" : {
30267 "description" : "Service ID",
30268 "enum" : [
30269 "pveproxy",
30270 "pvedaemon",
30271 "spiceproxy",
30272 "pvestatd",
30273 "pve-cluster",
30274 "corosync",
30275 "pve-firewall",
30276 "pvefw-logger",
30277 "pve-ha-crm",
30278 "pve-ha-lrm",
30279 "sshd",
30280 "syslog",
30281 "cron",
30282 "postfix",
30283 "ksmtuned",
30284 "systemd-timesyncd"
30285 ],
30286 "type" : "string"
44660702
DM
30287 }
30288 }
30289 },
30290 "permissions" : {
30291 "check" : [
30292 "perm",
4d47f125 30293 "/nodes/{node}",
44660702
DM
30294 [
30295 "Sys.Modify"
30296 ]
30297 ]
30298 },
30299 "protected" : 1,
30300 "proxyto" : "node",
30301 "returns" : {
2489d6df 30302 "type" : "string"
44660702
DM
30303 }
30304 }
30305 },
30306 "leaf" : 1,
4d47f125
TL
30307 "path" : "/nodes/{node}/services/{service}/stop",
30308 "text" : "stop"
7aacca6f 30309 },
32d876b5
DM
30310 {
30311 "info" : {
4d47f125 30312 "POST" : {
e9cd3bd4 30313 "allowtoken" : 1,
4d47f125
TL
30314 "description" : "Restart service.",
30315 "method" : "POST",
30316 "name" : "service_restart",
32d876b5
DM
30317 "parameters" : {
30318 "additionalProperties" : 0,
30319 "properties" : {
4d47f125
TL
30320 "node" : {
30321 "description" : "The cluster node name.",
30322 "format" : "pve-node",
30323 "type" : "string",
30324 "typetext" : "<string>"
30325 },
30326 "service" : {
30327 "description" : "Service ID",
32d876b5 30328 "enum" : [
4d47f125
TL
30329 "pveproxy",
30330 "pvedaemon",
30331 "spiceproxy",
30332 "pvestatd",
30333 "pve-cluster",
30334 "corosync",
30335 "pve-firewall",
30336 "pvefw-logger",
30337 "pve-ha-crm",
30338 "pve-ha-lrm",
30339 "sshd",
30340 "syslog",
30341 "cron",
30342 "postfix",
30343 "ksmtuned",
30344 "systemd-timesyncd"
32d876b5
DM
30345 ],
30346 "type" : "string"
32d876b5
DM
30347 }
30348 }
30349 },
30350 "permissions" : {
30351 "check" : [
30352 "perm",
4d47f125 30353 "/nodes/{node}",
32d876b5
DM
30354 [
30355 "Sys.Modify"
30356 ]
30357 ]
30358 },
30359 "protected" : 1,
30360 "proxyto" : "node",
30361 "returns" : {
4d47f125 30362 "type" : "string"
32d876b5 30363 }
4d47f125
TL
30364 }
30365 },
30366 "leaf" : 1,
30367 "path" : "/nodes/{node}/services/{service}/restart",
30368 "text" : "restart"
30369 },
30370 {
30371 "info" : {
32d876b5 30372 "POST" : {
e9cd3bd4 30373 "allowtoken" : 1,
4d47f125 30374 "description" : "Reload service.",
32d876b5 30375 "method" : "POST",
4d47f125 30376 "name" : "service_reload",
32d876b5
DM
30377 "parameters" : {
30378 "additionalProperties" : 0,
30379 "properties" : {
32d876b5
DM
30380 "node" : {
30381 "description" : "The cluster node name.",
30382 "format" : "pve-node",
30383 "type" : "string",
30384 "typetext" : "<string>"
4d47f125
TL
30385 },
30386 "service" : {
30387 "description" : "Service ID",
30388 "enum" : [
30389 "pveproxy",
30390 "pvedaemon",
30391 "spiceproxy",
30392 "pvestatd",
30393 "pve-cluster",
30394 "corosync",
30395 "pve-firewall",
30396 "pvefw-logger",
30397 "pve-ha-crm",
30398 "pve-ha-lrm",
30399 "sshd",
30400 "syslog",
30401 "cron",
30402 "postfix",
30403 "ksmtuned",
30404 "systemd-timesyncd"
30405 ],
30406 "type" : "string"
32d876b5
DM
30407 }
30408 }
30409 },
30410 "permissions" : {
30411 "check" : [
30412 "perm",
4d47f125 30413 "/nodes/{node}",
32d876b5
DM
30414 [
30415 "Sys.Modify"
30416 ]
30417 ]
30418 },
30419 "protected" : 1,
30420 "proxyto" : "node",
30421 "returns" : {
4d47f125 30422 "type" : "string"
32d876b5
DM
30423 }
30424 }
30425 },
30426 "leaf" : 1,
4d47f125
TL
30427 "path" : "/nodes/{node}/services/{service}/reload",
30428 "text" : "reload"
32d876b5
DM
30429 }
30430 ],
30431 "info" : {
30432 "GET" : {
e9cd3bd4 30433 "allowtoken" : 1,
4d47f125 30434 "description" : "Directory index",
44660702 30435 "method" : "GET",
4d47f125 30436 "name" : "srvcmdidx",
44660702
DM
30437 "parameters" : {
30438 "additionalProperties" : 0,
30439 "properties" : {
44660702
DM
30440 "node" : {
30441 "description" : "The cluster node name.",
30442 "format" : "pve-node",
013dc89f
DM
30443 "type" : "string",
30444 "typetext" : "<string>"
44660702 30445 },
4d47f125
TL
30446 "service" : {
30447 "description" : "Service ID",
30448 "enum" : [
30449 "pveproxy",
30450 "pvedaemon",
30451 "spiceproxy",
30452 "pvestatd",
30453 "pve-cluster",
30454 "corosync",
30455 "pve-firewall",
30456 "pvefw-logger",
30457 "pve-ha-crm",
30458 "pve-ha-lrm",
30459 "sshd",
30460 "syslog",
30461 "cron",
30462 "postfix",
30463 "ksmtuned",
30464 "systemd-timesyncd"
30465 ],
30466 "type" : "string"
44660702 30467 }
7aacca6f 30468 }
56122987 30469 },
56122987
DM
30470 "permissions" : {
30471 "check" : [
30472 "perm",
7aacca6f 30473 "/nodes/{node}",
56122987 30474 [
4d47f125 30475 "Sys.Audit"
56122987
DM
30476 ]
30477 ]
30478 },
44660702
DM
30479 "returns" : {
30480 "items" : {
30481 "properties" : {
4d47f125 30482 "subdir" : {
44660702
DM
30483 "type" : "string"
30484 }
56122987 30485 },
44660702 30486 "type" : "object"
56122987 30487 },
2489d6df
WB
30488 "links" : [
30489 {
4d47f125 30490 "href" : "{subdir}",
2489d6df
WB
30491 "rel" : "child"
30492 }
30493 ],
30494 "type" : "array"
30495 }
30496 }
4d47f125
TL
30497 },
30498 "leaf" : 0,
30499 "path" : "/nodes/{node}/services/{service}",
30500 "text" : "{service}"
7aacca6f
DM
30501 }
30502 ],
44660702
DM
30503 "info" : {
30504 "GET" : {
e9cd3bd4 30505 "allowtoken" : 1,
4d47f125 30506 "description" : "Service list.",
44660702
DM
30507 "method" : "GET",
30508 "name" : "index",
30509 "parameters" : {
30510 "additionalProperties" : 0,
30511 "properties" : {
30512 "node" : {
30513 "description" : "The cluster node name.",
30514 "format" : "pve-node",
013dc89f
DM
30515 "type" : "string",
30516 "typetext" : "<string>"
44660702
DM
30517 }
30518 }
30519 },
30520 "permissions" : {
30521 "check" : [
30522 "perm",
4d47f125 30523 "/nodes/{node}",
44660702 30524 [
4d47f125
TL
30525 "Sys.Audit"
30526 ]
44660702
DM
30527 ]
30528 },
4d47f125
TL
30529 "protected" : 1,
30530 "proxyto" : "node",
44660702
DM
30531 "returns" : {
30532 "items" : {
30533 "properties" : {},
30534 "type" : "object"
30535 },
30536 "links" : [
30537 {
4d47f125 30538 "href" : "{service}",
44660702
DM
30539 "rel" : "child"
30540 }
30541 ],
30542 "type" : "array"
30543 }
30544 }
30545 },
7aacca6f 30546 "leaf" : 0,
4d47f125
TL
30547 "path" : "/nodes/{node}/services",
30548 "text" : "services"
7aacca6f
DM
30549 },
30550 {
7aacca6f 30551 "info" : {
4d47f125 30552 "GET" : {
e9cd3bd4 30553 "allowtoken" : 1,
4d47f125
TL
30554 "description" : "Read subscription info.",
30555 "method" : "GET",
30556 "name" : "get",
7aacca6f 30557 "parameters" : {
44660702 30558 "additionalProperties" : 0,
7aacca6f 30559 "properties" : {
44660702 30560 "node" : {
4d47f125 30561 "description" : "The cluster node name.",
44660702 30562 "format" : "pve-node",
013dc89f
DM
30563 "type" : "string",
30564 "typetext" : "<string>"
4d47f125
TL
30565 }
30566 }
30567 },
30568 "permissions" : {
30569 "user" : "all"
30570 },
30571 "proxyto" : "node",
30572 "returns" : {
30573 "type" : "object"
30574 }
30575 },
30576 "POST" : {
e9cd3bd4 30577 "allowtoken" : 1,
4d47f125
TL
30578 "description" : "Update subscription info.",
30579 "method" : "POST",
30580 "name" : "update",
30581 "parameters" : {
30582 "additionalProperties" : 0,
30583 "properties" : {
30584 "force" : {
30585 "default" : 0,
30586 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 30587 "optional" : 1,
4d47f125
TL
30588 "type" : "boolean",
30589 "typetext" : "<boolean>"
44660702 30590 },
4d47f125
TL
30591 "node" : {
30592 "description" : "The cluster node name.",
30593 "format" : "pve-node",
013dc89f
DM
30594 "type" : "string",
30595 "typetext" : "<string>"
4d47f125
TL
30596 }
30597 }
30598 },
30599 "permissions" : {
30600 "check" : [
30601 "perm",
30602 "/nodes/{node}",
30603 [
30604 "Sys.Modify"
30605 ]
30606 ]
30607 },
30608 "protected" : 1,
30609 "proxyto" : "node",
30610 "returns" : {
30611 "type" : "null"
30612 }
30613 },
30614 "PUT" : {
e9cd3bd4 30615 "allowtoken" : 1,
4d47f125
TL
30616 "description" : "Set subscription key.",
30617 "method" : "PUT",
30618 "name" : "set",
30619 "parameters" : {
30620 "additionalProperties" : 0,
30621 "properties" : {
30622 "key" : {
30623 "description" : "Proxmox VE subscription key",
30624 "maxLength" : 32,
5f26e15b 30625 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 30626 "type" : "string"
7aacca6f 30627 },
4d47f125
TL
30628 "node" : {
30629 "description" : "The cluster node name.",
30630 "format" : "pve-node",
013dc89f
DM
30631 "type" : "string",
30632 "typetext" : "<string>"
7aacca6f 30633 }
7aacca6f
DM
30634 }
30635 },
7aacca6f 30636 "permissions" : {
4d47f125
TL
30637 "check" : [
30638 "perm",
30639 "/nodes/{node}",
30640 [
30641 "Sys.Modify"
30642 ]
30643 ]
7aacca6f 30644 },
44660702 30645 "protected" : 1,
7aacca6f 30646 "proxyto" : "node",
7aacca6f 30647 "returns" : {
4d47f125 30648 "type" : "null"
7aacca6f
DM
30649 }
30650 }
30651 },
4d47f125
TL
30652 "leaf" : 1,
30653 "path" : "/nodes/{node}/subscription",
30654 "text" : "subscription"
44660702
DM
30655 },
30656 {
7aacca6f
DM
30657 "children" : [
30658 {
4d47f125
TL
30659 "info" : {
30660 "DELETE" : {
e9cd3bd4 30661 "allowtoken" : 1,
4d47f125
TL
30662 "description" : "Delete network device configuration",
30663 "method" : "DELETE",
30664 "name" : "delete_network",
30665 "parameters" : {
30666 "additionalProperties" : 0,
30667 "properties" : {
30668 "iface" : {
30669 "description" : "Network interface name.",
30670 "format" : "pve-iface",
30671 "maxLength" : 20,
30672 "minLength" : 2,
30673 "type" : "string",
30674 "typetext" : "<string>"
7aacca6f 30675 },
4d47f125
TL
30676 "node" : {
30677 "description" : "The cluster node name.",
30678 "format" : "pve-node",
30679 "type" : "string",
30680 "typetext" : "<string>"
44660702
DM
30681 }
30682 }
30683 },
4d47f125
TL
30684 "permissions" : {
30685 "check" : [
30686 "perm",
30687 "/nodes/{node}",
30688 [
30689 "Sys.Modify"
30690 ]
30691 ]
30692 },
30693 "protected" : 1,
30694 "proxyto" : "node",
30695 "returns" : {
30696 "type" : "null"
30697 }
30698 },
30699 "GET" : {
e9cd3bd4 30700 "allowtoken" : 1,
4d47f125
TL
30701 "description" : "Read network device configuration",
30702 "method" : "GET",
30703 "name" : "network_config",
30704 "parameters" : {
30705 "additionalProperties" : 0,
30706 "properties" : {
30707 "iface" : {
30708 "description" : "Network interface name.",
30709 "format" : "pve-iface",
30710 "maxLength" : 20,
30711 "minLength" : 2,
30712 "type" : "string",
30713 "typetext" : "<string>"
56122987 30714 },
4d47f125
TL
30715 "node" : {
30716 "description" : "The cluster node name.",
30717 "format" : "pve-node",
30718 "type" : "string",
30719 "typetext" : "<string>"
44660702
DM
30720 }
30721 }
30722 },
4d47f125
TL
30723 "permissions" : {
30724 "check" : [
30725 "perm",
30726 "/nodes/{node}",
30727 [
30728 "Sys.Audit"
30729 ]
30730 ]
30731 },
30732 "proxyto" : "node",
30733 "returns" : {
30734 "properties" : {
30735 "method" : {
30736 "type" : "string"
44660702 30737 },
4d47f125 30738 "type" : {
44660702
DM
30739 "type" : "string"
30740 }
4d47f125
TL
30741 },
30742 "type" : "object"
30743 }
56122987 30744 },
4d47f125 30745 "PUT" : {
e9cd3bd4 30746 "allowtoken" : 1,
4d47f125
TL
30747 "description" : "Update network device configuration",
30748 "method" : "PUT",
30749 "name" : "update_network",
30750 "parameters" : {
30751 "additionalProperties" : 0,
30752 "properties" : {
30753 "address" : {
30754 "description" : "IP address.",
30755 "format" : "ipv4",
30756 "optional" : 1,
30757 "requires" : "netmask",
30758 "type" : "string",
30759 "typetext" : "<string>"
30760 },
30761 "address6" : {
30762 "description" : "IP address.",
30763 "format" : "ipv6",
30764 "optional" : 1,
30765 "requires" : "netmask6",
30766 "type" : "string",
30767 "typetext" : "<string>"
30768 },
30769 "autostart" : {
30770 "description" : "Automatically start interface on boot.",
30771 "optional" : 1,
30772 "type" : "boolean",
30773 "typetext" : "<boolean>"
30774 },
e9cd3bd4
TL
30775 "bond-primary" : {
30776 "description" : "Specify the primary interface for active-backup bond.",
30777 "format" : "pve-iface",
30778 "optional" : 1,
30779 "type" : "string",
30780 "typetext" : "<string>"
30781 },
4d47f125
TL
30782 "bond_mode" : {
30783 "description" : "Bonding mode.",
30784 "enum" : [
30785 "balance-rr",
30786 "active-backup",
30787 "balance-xor",
30788 "broadcast",
30789 "802.3ad",
30790 "balance-tlb",
30791 "balance-alb",
30792 "balance-slb",
30793 "lacp-balance-slb",
30794 "lacp-balance-tcp"
30795 ],
30796 "optional" : 1,
30797 "type" : "string"
30798 },
30799 "bond_xmit_hash_policy" : {
30800 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
30801 "enum" : [
30802 "layer2",
30803 "layer2+3",
30804 "layer3+4"
30805 ],
30806 "optional" : 1,
30807 "type" : "string"
30808 },
30809 "bridge_ports" : {
1e3f8156 30810 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
30811 "format" : "pve-iface-list",
30812 "optional" : 1,
30813 "type" : "string",
30814 "typetext" : "<string>"
30815 },
30816 "bridge_vlan_aware" : {
30817 "description" : "Enable bridge vlan support.",
30818 "optional" : 1,
30819 "type" : "boolean",
30820 "typetext" : "<boolean>"
30821 },
bb4c8cf8
TL
30822 "cidr" : {
30823 "description" : "IPv4 CIDR.",
30824 "format" : "CIDRv4",
30825 "optional" : 1,
30826 "type" : "string",
30827 "typetext" : "<string>"
30828 },
30829 "cidr6" : {
30830 "description" : "IPv6 CIDR.",
30831 "format" : "CIDRv6",
30832 "optional" : 1,
30833 "type" : "string",
30834 "typetext" : "<string>"
30835 },
4d47f125
TL
30836 "comments" : {
30837 "description" : "Comments",
30838 "optional" : 1,
30839 "type" : "string",
30840 "typetext" : "<string>"
30841 },
30842 "comments6" : {
30843 "description" : "Comments",
30844 "optional" : 1,
30845 "type" : "string",
30846 "typetext" : "<string>"
30847 },
30848 "delete" : {
30849 "description" : "A list of settings you want to delete.",
30850 "format" : "pve-configid-list",
30851 "optional" : 1,
30852 "type" : "string",
30853 "typetext" : "<string>"
30854 },
30855 "gateway" : {
30856 "description" : "Default gateway address.",
30857 "format" : "ipv4",
30858 "optional" : 1,
30859 "type" : "string",
30860 "typetext" : "<string>"
30861 },
30862 "gateway6" : {
30863 "description" : "Default ipv6 gateway address.",
30864 "format" : "ipv6",
30865 "optional" : 1,
30866 "type" : "string",
30867 "typetext" : "<string>"
30868 },
30869 "iface" : {
30870 "description" : "Network interface name.",
30871 "format" : "pve-iface",
30872 "maxLength" : 20,
30873 "minLength" : 2,
30874 "type" : "string",
30875 "typetext" : "<string>"
56122987 30876 },
e9cd3bd4
TL
30877 "mtu" : {
30878 "description" : "MTU.",
30879 "maximum" : 65520,
30880 "minimum" : 1280,
30881 "optional" : 1,
30882 "type" : "integer",
30883 "typetext" : "<integer> (1280 - 65520)"
30884 },
4d47f125
TL
30885 "netmask" : {
30886 "description" : "Network mask.",
30887 "format" : "ipv4mask",
30888 "optional" : 1,
30889 "requires" : "address",
30890 "type" : "string",
30891 "typetext" : "<string>"
30892 },
30893 "netmask6" : {
30894 "description" : "Network mask.",
30895 "maximum" : 128,
30896 "minimum" : 0,
30897 "optional" : 1,
30898 "requires" : "address6",
30899 "type" : "integer",
30900 "typetext" : "<integer> (0 - 128)"
56122987 30901 },
44660702
DM
30902 "node" : {
30903 "description" : "The cluster node name.",
30904 "format" : "pve-node",
013dc89f
DM
30905 "type" : "string",
30906 "typetext" : "<string>"
44660702 30907 },
4d47f125
TL
30908 "ovs_bonds" : {
30909 "description" : "Specify the interfaces used by the bonding device.",
30910 "format" : "pve-iface-list",
30911 "optional" : 1,
30912 "type" : "string",
30913 "typetext" : "<string>"
30914 },
30915 "ovs_bridge" : {
30916 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
30917 "format" : "pve-iface",
30918 "optional" : 1,
30919 "type" : "string",
30920 "typetext" : "<string>"
30921 },
30922 "ovs_options" : {
30923 "description" : "OVS interface options.",
30924 "maxLength" : 1024,
30925 "optional" : 1,
30926 "type" : "string",
30927 "typetext" : "<string>"
30928 },
30929 "ovs_ports" : {
1e3f8156 30930 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
30931 "format" : "pve-iface-list",
30932 "optional" : 1,
30933 "type" : "string",
30934 "typetext" : "<string>"
30935 },
30936 "ovs_tag" : {
30937 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
30938 "maximum" : 4094,
30939 "minimum" : 1,
30940 "optional" : 1,
30941 "type" : "integer",
30942 "typetext" : "<integer> (1 - 4094)"
30943 },
30944 "slaves" : {
30945 "description" : "Specify the interfaces used by the bonding device.",
30946 "format" : "pve-iface-list",
30947 "optional" : 1,
30948 "type" : "string",
30949 "typetext" : "<string>"
30950 },
30951 "type" : {
30952 "description" : "Network interface type",
44660702 30953 "enum" : [
4d47f125
TL
30954 "bridge",
30955 "bond",
30956 "eth",
30957 "alias",
30958 "vlan",
30959 "OVSBridge",
30960 "OVSBond",
30961 "OVSPort",
30962 "OVSIntPort",
30963 "unknown"
44660702
DM
30964 ],
30965 "type" : "string"
e9cd3bd4
TL
30966 },
30967 "vlan-id" : {
30968 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
30969 "maximum" : 4094,
30970 "minimum" : 1,
30971 "optional" : 1,
30972 "type" : "integer",
30973 "typetext" : "<integer> (1 - 4094)"
30974 },
30975 "vlan-raw-device" : {
30976 "description" : "Specify the raw interface for the vlan interface.",
30977 "format" : "pve-iface",
30978 "optional" : 1,
30979 "type" : "string",
30980 "typetext" : "<string>"
44660702
DM
30981 }
30982 }
30983 },
30984 "permissions" : {
30985 "check" : [
30986 "perm",
30987 "/nodes/{node}",
30988 [
4d47f125 30989 "Sys.Modify"
44660702
DM
30990 ]
30991 ]
30992 },
4d47f125
TL
30993 "protected" : 1,
30994 "proxyto" : "node",
44660702 30995 "returns" : {
4d47f125 30996 "type" : "null"
44660702
DM
30997 }
30998 }
30999 },
4d47f125
TL
31000 "leaf" : 1,
31001 "path" : "/nodes/{node}/network/{iface}",
31002 "text" : "{iface}"
44660702
DM
31003 }
31004 ],
31005 "info" : {
4d47f125 31006 "DELETE" : {
e9cd3bd4 31007 "allowtoken" : 1,
4d47f125
TL
31008 "description" : "Revert network configuration changes.",
31009 "method" : "DELETE",
31010 "name" : "revert_network_changes",
44660702
DM
31011 "parameters" : {
31012 "additionalProperties" : 0,
31013 "properties" : {
31014 "node" : {
31015 "description" : "The cluster node name.",
31016 "format" : "pve-node",
013dc89f
DM
31017 "type" : "string",
31018 "typetext" : "<string>"
44660702
DM
31019 }
31020 }
31021 },
31022 "permissions" : {
31023 "check" : [
31024 "perm",
31025 "/nodes/{node}",
31026 [
4d47f125 31027 "Sys.Modify"
44660702
DM
31028 ]
31029 ]
31030 },
31031 "protected" : 1,
31032 "proxyto" : "node",
4d47f125
TL
31033 "returns" : {
31034 "type" : "null"
31035 }
31036 },
31037 "GET" : {
e9cd3bd4 31038 "allowtoken" : 1,
4d47f125
TL
31039 "description" : "List available networks",
31040 "method" : "GET",
31041 "name" : "index",
31042 "parameters" : {
31043 "additionalProperties" : 0,
31044 "properties" : {
31045 "node" : {
31046 "description" : "The cluster node name.",
31047 "format" : "pve-node",
31048 "type" : "string",
31049 "typetext" : "<string>"
31050 },
31051 "type" : {
31052 "description" : "Only list specific interface types.",
31053 "enum" : [
31054 "bridge",
31055 "bond",
31056 "eth",
31057 "alias",
31058 "vlan",
31059 "OVSBridge",
31060 "OVSBond",
31061 "OVSPort",
31062 "OVSIntPort",
31063 "any_bridge"
31064 ],
31065 "optional" : 1,
31066 "type" : "string"
31067 }
31068 }
31069 },
31070 "permissions" : {
31071 "user" : "all"
31072 },
31073 "proxyto" : "node",
44660702
DM
31074 "returns" : {
31075 "items" : {
31076 "properties" : {},
31077 "type" : "object"
31078 },
31079 "links" : [
31080 {
4d47f125 31081 "href" : "{iface}",
44660702 31082 "rel" : "child"
56122987 31083 }
44660702
DM
31084 ],
31085 "type" : "array"
31086 }
4d47f125
TL
31087 },
31088 "POST" : {
e9cd3bd4 31089 "allowtoken" : 1,
4d47f125
TL
31090 "description" : "Create network device configuration",
31091 "method" : "POST",
31092 "name" : "create_network",
7aacca6f 31093 "parameters" : {
44660702 31094 "additionalProperties" : 0,
7aacca6f 31095 "properties" : {
4d47f125
TL
31096 "address" : {
31097 "description" : "IP address.",
31098 "format" : "ipv4",
31099 "optional" : 1,
31100 "requires" : "netmask",
31101 "type" : "string",
31102 "typetext" : "<string>"
31103 },
31104 "address6" : {
31105 "description" : "IP address.",
31106 "format" : "ipv6",
31107 "optional" : 1,
31108 "requires" : "netmask6",
31109 "type" : "string",
31110 "typetext" : "<string>"
31111 },
31112 "autostart" : {
31113 "description" : "Automatically start interface on boot.",
31114 "optional" : 1,
31115 "type" : "boolean",
31116 "typetext" : "<boolean>"
31117 },
e9cd3bd4
TL
31118 "bond-primary" : {
31119 "description" : "Specify the primary interface for active-backup bond.",
31120 "format" : "pve-iface",
31121 "optional" : 1,
31122 "type" : "string",
31123 "typetext" : "<string>"
31124 },
4d47f125
TL
31125 "bond_mode" : {
31126 "description" : "Bonding mode.",
31127 "enum" : [
31128 "balance-rr",
31129 "active-backup",
31130 "balance-xor",
31131 "broadcast",
31132 "802.3ad",
31133 "balance-tlb",
31134 "balance-alb",
31135 "balance-slb",
31136 "lacp-balance-slb",
31137 "lacp-balance-tcp"
31138 ],
31139 "optional" : 1,
31140 "type" : "string"
31141 },
31142 "bond_xmit_hash_policy" : {
31143 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
31144 "enum" : [
31145 "layer2",
31146 "layer2+3",
31147 "layer3+4"
31148 ],
31149 "optional" : 1,
31150 "type" : "string"
31151 },
31152 "bridge_ports" : {
1e3f8156 31153 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31154 "format" : "pve-iface-list",
31155 "optional" : 1,
013dc89f
DM
31156 "type" : "string",
31157 "typetext" : "<string>"
4d47f125
TL
31158 },
31159 "bridge_vlan_aware" : {
31160 "description" : "Enable bridge vlan support.",
44660702 31161 "optional" : 1,
013dc89f
DM
31162 "type" : "boolean",
31163 "typetext" : "<boolean>"
44660702 31164 },
bb4c8cf8
TL
31165 "cidr" : {
31166 "description" : "IPv4 CIDR.",
31167 "format" : "CIDRv4",
31168 "optional" : 1,
31169 "type" : "string",
31170 "typetext" : "<string>"
31171 },
31172 "cidr6" : {
31173 "description" : "IPv6 CIDR.",
31174 "format" : "CIDRv6",
31175 "optional" : 1,
31176 "type" : "string",
31177 "typetext" : "<string>"
31178 },
4d47f125
TL
31179 "comments" : {
31180 "description" : "Comments",
31181 "optional" : 1,
31182 "type" : "string",
31183 "typetext" : "<string>"
31184 },
31185 "comments6" : {
31186 "description" : "Comments",
31187 "optional" : 1,
31188 "type" : "string",
31189 "typetext" : "<string>"
31190 },
31191 "gateway" : {
31192 "description" : "Default gateway address.",
31193 "format" : "ipv4",
31194 "optional" : 1,
31195 "type" : "string",
31196 "typetext" : "<string>"
31197 },
31198 "gateway6" : {
31199 "description" : "Default ipv6 gateway address.",
31200 "format" : "ipv6",
31201 "optional" : 1,
31202 "type" : "string",
31203 "typetext" : "<string>"
31204 },
31205 "iface" : {
31206 "description" : "Network interface name.",
31207 "format" : "pve-iface",
31208 "maxLength" : 20,
31209 "minLength" : 2,
31210 "type" : "string",
31211 "typetext" : "<string>"
31212 },
e9cd3bd4
TL
31213 "mtu" : {
31214 "description" : "MTU.",
31215 "maximum" : 65520,
31216 "minimum" : 1280,
31217 "optional" : 1,
31218 "type" : "integer",
31219 "typetext" : "<integer> (1280 - 65520)"
31220 },
4d47f125
TL
31221 "netmask" : {
31222 "description" : "Network mask.",
31223 "format" : "ipv4mask",
31224 "optional" : 1,
31225 "requires" : "address",
31226 "type" : "string",
31227 "typetext" : "<string>"
31228 },
31229 "netmask6" : {
31230 "description" : "Network mask.",
31231 "maximum" : 128,
31232 "minimum" : 0,
31233 "optional" : 1,
31234 "requires" : "address6",
31235 "type" : "integer",
31236 "typetext" : "<integer> (0 - 128)"
31237 },
7aacca6f 31238 "node" : {
7aacca6f 31239 "description" : "The cluster node name.",
44660702 31240 "format" : "pve-node",
013dc89f
DM
31241 "type" : "string",
31242 "typetext" : "<string>"
4d47f125
TL
31243 },
31244 "ovs_bonds" : {
31245 "description" : "Specify the interfaces used by the bonding device.",
31246 "format" : "pve-iface-list",
31247 "optional" : 1,
31248 "type" : "string",
31249 "typetext" : "<string>"
31250 },
31251 "ovs_bridge" : {
31252 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
31253 "format" : "pve-iface",
31254 "optional" : 1,
31255 "type" : "string",
31256 "typetext" : "<string>"
31257 },
31258 "ovs_options" : {
31259 "description" : "OVS interface options.",
31260 "maxLength" : 1024,
31261 "optional" : 1,
31262 "type" : "string",
31263 "typetext" : "<string>"
31264 },
31265 "ovs_ports" : {
1e3f8156 31266 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
31267 "format" : "pve-iface-list",
31268 "optional" : 1,
31269 "type" : "string",
31270 "typetext" : "<string>"
31271 },
31272 "ovs_tag" : {
31273 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
31274 "maximum" : 4094,
31275 "minimum" : 1,
31276 "optional" : 1,
31277 "type" : "integer",
31278 "typetext" : "<integer> (1 - 4094)"
31279 },
31280 "slaves" : {
31281 "description" : "Specify the interfaces used by the bonding device.",
31282 "format" : "pve-iface-list",
31283 "optional" : 1,
31284 "type" : "string",
31285 "typetext" : "<string>"
31286 },
31287 "type" : {
31288 "description" : "Network interface type",
31289 "enum" : [
31290 "bridge",
31291 "bond",
31292 "eth",
31293 "alias",
31294 "vlan",
31295 "OVSBridge",
31296 "OVSBond",
31297 "OVSPort",
31298 "OVSIntPort",
31299 "unknown"
31300 ],
31301 "type" : "string"
e9cd3bd4
TL
31302 },
31303 "vlan-id" : {
31304 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
31305 "maximum" : 4094,
31306 "minimum" : 1,
31307 "optional" : 1,
31308 "type" : "integer",
31309 "typetext" : "<integer> (1 - 4094)"
31310 },
31311 "vlan-raw-device" : {
31312 "description" : "Specify the raw interface for the vlan interface.",
31313 "format" : "pve-iface",
31314 "optional" : 1,
31315 "type" : "string",
31316 "typetext" : "<string>"
7aacca6f
DM
31317 }
31318 }
31319 },
35a75dd3
DM
31320 "permissions" : {
31321 "check" : [
31322 "perm",
31323 "/nodes/{node}",
31324 [
31325 "Sys.Modify"
31326 ]
31327 ]
31328 },
7aacca6f 31329 "protected" : 1,
7aacca6f 31330 "proxyto" : "node",
44660702
DM
31331 "returns" : {
31332 "type" : "null"
31333 }
31334 },
31335 "PUT" : {
e9cd3bd4 31336 "allowtoken" : 1,
4d47f125 31337 "description" : "Reload network configuration",
44660702 31338 "method" : "PUT",
4d47f125 31339 "name" : "reload_network_config",
7aacca6f
DM
31340 "parameters" : {
31341 "additionalProperties" : 0,
31342 "properties" : {
7aacca6f 31343 "node" : {
7aacca6f 31344 "description" : "The cluster node name.",
44660702 31345 "format" : "pve-node",
013dc89f
DM
31346 "type" : "string",
31347 "typetext" : "<string>"
7aacca6f
DM
31348 }
31349 }
31350 },
35a75dd3
DM
31351 "permissions" : {
31352 "check" : [
31353 "perm",
31354 "/nodes/{node}",
31355 [
31356 "Sys.Modify"
31357 ]
31358 ]
31359 },
44660702
DM
31360 "protected" : 1,
31361 "proxyto" : "node",
7aacca6f 31362 "returns" : {
4d47f125 31363 "type" : "string"
44660702 31364 }
7aacca6f
DM
31365 }
31366 },
4d47f125
TL
31367 "leaf" : 0,
31368 "path" : "/nodes/{node}/network",
31369 "text" : "network"
7aacca6f
DM
31370 },
31371 {
7aacca6f
DM
31372 "children" : [
31373 {
4d47f125
TL
31374 "children" : [
31375 {
31376 "info" : {
31377 "GET" : {
e9cd3bd4 31378 "allowtoken" : 1,
4d47f125
TL
31379 "description" : "Read task log.",
31380 "method" : "GET",
31381 "name" : "read_task_log",
31382 "parameters" : {
31383 "additionalProperties" : 0,
31384 "properties" : {
31385 "limit" : {
31386 "default" : 50,
31387 "minimum" : 0,
31388 "optional" : 1,
31389 "type" : "integer",
31390 "typetext" : "<integer> (0 - N)"
31391 },
31392 "node" : {
31393 "description" : "The cluster node name.",
31394 "format" : "pve-node",
31395 "type" : "string",
31396 "typetext" : "<string>"
31397 },
31398 "start" : {
31399 "default" : 0,
31400 "minimum" : 0,
31401 "optional" : 1,
31402 "type" : "integer",
31403 "typetext" : "<integer> (0 - N)"
31404 },
31405 "upid" : {
31406 "type" : "string",
31407 "typetext" : "<string>"
31408 }
31409 }
31410 },
31411 "permissions" : {
31412 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
31413 "user" : "all"
31414 },
31415 "protected" : 1,
31416 "proxyto" : "node",
31417 "returns" : {
31418 "items" : {
31419 "properties" : {
31420 "n" : {
31421 "description" : "Line number",
31422 "type" : "integer"
31423 },
31424 "t" : {
31425 "description" : "Line text",
31426 "type" : "string"
31427 }
31428 },
31429 "type" : "object"
31430 },
31431 "type" : "array"
31432 }
31433 }
31434 },
31435 "leaf" : 1,
31436 "path" : "/nodes/{node}/tasks/{upid}/log",
31437 "text" : "log"
31438 },
31439 {
31440 "info" : {
31441 "GET" : {
e9cd3bd4 31442 "allowtoken" : 1,
4d47f125
TL
31443 "description" : "Read task status.",
31444 "method" : "GET",
31445 "name" : "read_task_status",
31446 "parameters" : {
31447 "additionalProperties" : 0,
31448 "properties" : {
31449 "node" : {
31450 "description" : "The cluster node name.",
31451 "format" : "pve-node",
31452 "type" : "string",
31453 "typetext" : "<string>"
31454 },
31455 "upid" : {
31456 "type" : "string",
31457 "typetext" : "<string>"
31458 }
31459 }
31460 },
31461 "permissions" : {
31462 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
31463 "user" : "all"
31464 },
31465 "protected" : 1,
31466 "proxyto" : "node",
31467 "returns" : {
31468 "properties" : {
31469 "pid" : {
31470 "type" : "integer"
31471 },
31472 "status" : {
31473 "enum" : [
31474 "running",
31475 "stopped"
31476 ],
31477 "type" : "string"
31478 }
31479 },
31480 "type" : "object"
31481 }
31482 }
31483 },
31484 "leaf" : 1,
31485 "path" : "/nodes/{node}/tasks/{upid}/status",
31486 "text" : "status"
31487 }
31488 ],
56122987 31489 "info" : {
7aacca6f 31490 "DELETE" : {
e9cd3bd4 31491 "allowtoken" : 1,
4d47f125 31492 "description" : "Stop a task.",
44660702 31493 "method" : "DELETE",
4d47f125 31494 "name" : "stop_task",
44660702
DM
31495 "parameters" : {
31496 "additionalProperties" : 0,
31497 "properties" : {
44660702
DM
31498 "node" : {
31499 "description" : "The cluster node name.",
31500 "format" : "pve-node",
013dc89f
DM
31501 "type" : "string",
31502 "typetext" : "<string>"
4d47f125
TL
31503 },
31504 "upid" : {
31505 "type" : "string",
31506 "typetext" : "<string>"
44660702
DM
31507 }
31508 }
7aacca6f
DM
31509 },
31510 "permissions" : {
4d47f125
TL
31511 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
31512 "user" : "all"
7aacca6f 31513 },
44660702 31514 "protected" : 1,
7aacca6f 31515 "proxyto" : "node",
44660702
DM
31516 "returns" : {
31517 "type" : "null"
31518 }
31519 },
31520 "GET" : {
e9cd3bd4 31521 "allowtoken" : 1,
4d47f125 31522 "description" : "",
44660702 31523 "method" : "GET",
4d47f125 31524 "name" : "upid_index",
7aacca6f
DM
31525 "parameters" : {
31526 "additionalProperties" : 0,
31527 "properties" : {
7aacca6f 31528 "node" : {
44660702 31529 "description" : "The cluster node name.",
7aacca6f 31530 "format" : "pve-node",
013dc89f
DM
31531 "type" : "string",
31532 "typetext" : "<string>"
7aacca6f 31533 },
4d47f125
TL
31534 "upid" : {
31535 "type" : "string",
31536 "typetext" : "<string>"
7aacca6f
DM
31537 }
31538 }
31539 },
7aacca6f 31540 "permissions" : {
4d47f125 31541 "user" : "all"
7aacca6f
DM
31542 },
31543 "returns" : {
4d47f125
TL
31544 "items" : {
31545 "properties" : {},
31546 "type" : "object"
31547 },
31548 "links" : [
31549 {
31550 "href" : "{name}",
31551 "rel" : "child"
31552 }
31553 ],
31554 "type" : "array"
44660702 31555 }
7aacca6f
DM
31556 }
31557 },
4d47f125
TL
31558 "leaf" : 0,
31559 "path" : "/nodes/{node}/tasks/{upid}",
31560 "text" : "{upid}"
7aacca6f
DM
31561 }
31562 ],
7aacca6f 31563 "info" : {
44660702 31564 "GET" : {
e9cd3bd4 31565 "allowtoken" : 1,
4d47f125 31566 "description" : "Read task list for one node (finished tasks).",
44660702 31567 "method" : "GET",
4d47f125 31568 "name" : "node_tasks",
44660702
DM
31569 "parameters" : {
31570 "additionalProperties" : 0,
31571 "properties" : {
4d47f125
TL
31572 "errors" : {
31573 "default" : 0,
7aacca6f 31574 "optional" : 1,
4d47f125
TL
31575 "type" : "boolean",
31576 "typetext" : "<boolean>"
7aacca6f 31577 },
4d47f125
TL
31578 "limit" : {
31579 "default" : 50,
31580 "description" : "Only list this amount of tasks.",
31581 "minimum" : 0,
44660702 31582 "optional" : 1,
4d47f125
TL
31583 "type" : "integer",
31584 "typetext" : "<integer> (0 - N)"
31585 },
31586 "node" : {
31587 "description" : "The cluster node name.",
31588 "format" : "pve-node",
013dc89f
DM
31589 "type" : "string",
31590 "typetext" : "<string>"
44660702 31591 },
5f26e15b
TL
31592 "source" : {
31593 "default" : "archive",
31594 "description" : "List archived, active or all tasks.",
31595 "enum" : [
31596 "archive",
31597 "active",
31598 "all"
31599 ],
31600 "optional" : 1,
31601 "type" : "string"
31602 },
4d47f125
TL
31603 "start" : {
31604 "default" : 0,
31605 "description" : "List tasks beginning from this offset.",
31606 "minimum" : 0,
44660702 31607 "optional" : 1,
4d47f125
TL
31608 "type" : "integer",
31609 "typetext" : "<integer> (0 - N)"
44660702 31610 },
5f26e15b
TL
31611 "typefilter" : {
31612 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
31613 "optional" : 1,
31614 "type" : "string",
31615 "typetext" : "<string>"
31616 },
4d47f125
TL
31617 "userfilter" : {
31618 "description" : "Only list tasks from this user.",
44660702 31619 "optional" : 1,
013dc89f
DM
31620 "type" : "string",
31621 "typetext" : "<string>"
44660702 31622 },
4d47f125
TL
31623 "vmid" : {
31624 "description" : "Only list tasks for this VM.",
31625 "format" : "pve-vmid",
44660702
DM
31626 "minimum" : 1,
31627 "optional" : 1,
4bd7df8b 31628 "type" : "integer",
4d47f125
TL
31629 "typetext" : "<integer> (1 - N)"
31630 }
31631 }
31632 },
31633 "permissions" : {
31634 "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).",
31635 "user" : "all"
31636 },
31637 "proxyto" : "node",
31638 "returns" : {
31639 "items" : {
31640 "properties" : {
31641 "endtime" : {
31642 "optional" : 1,
31643 "title" : "Endtime",
31644 "type" : "integer"
31645 },
31646 "id" : {
4d47f125
TL
31647 "title" : "ID",
31648 "type" : "string"
31649 },
31650 "node" : {
4d47f125
TL
31651 "title" : "Node",
31652 "type" : "string"
31653 },
31654 "pid" : {
4d47f125
TL
31655 "title" : "PID",
31656 "type" : "integer"
31657 },
31658 "pstart" : {
4d47f125
TL
31659 "type" : "integer"
31660 },
31661 "starttime" : {
4d47f125
TL
31662 "title" : "Starttime",
31663 "type" : "integer"
31664 },
31665 "status" : {
31666 "optional" : 1,
31667 "title" : "Status",
31668 "type" : "string"
31669 },
31670 "type" : {
4d47f125
TL
31671 "title" : "Type",
31672 "type" : "string"
31673 },
31674 "upid" : {
31675 "title" : "UPID",
31676 "type" : "string"
31677 },
31678 "user" : {
4d47f125
TL
31679 "title" : "User",
31680 "type" : "string"
31681 }
44660702 31682 },
4d47f125
TL
31683 "type" : "object"
31684 },
31685 "links" : [
31686 {
31687 "href" : "{upid}",
31688 "rel" : "child"
31689 }
31690 ],
31691 "type" : "array"
31692 }
31693 }
31694 },
31695 "leaf" : 0,
31696 "path" : "/nodes/{node}/tasks",
31697 "text" : "tasks"
31698 },
31699 {
31700 "children" : [
31701 {
31702 "info" : {
31703 "GET" : {
e9cd3bd4 31704 "allowtoken" : 1,
4d47f125
TL
31705 "description" : "Scan zfs pool list on local node.",
31706 "method" : "GET",
31707 "name" : "zfsscan",
31708 "parameters" : {
31709 "additionalProperties" : 0,
31710 "properties" : {
31711 "node" : {
31712 "description" : "The cluster node name.",
31713 "format" : "pve-node",
31714 "type" : "string",
31715 "typetext" : "<string>"
31716 }
31717 }
44660702 31718 },
4d47f125
TL
31719 "permissions" : {
31720 "check" : [
31721 "perm",
31722 "/storage",
31723 [
31724 "Datastore.Allocate"
31725 ]
31726 ]
31727 },
31728 "protected" : 1,
31729 "proxyto" : "node",
31730 "returns" : {
31731 "items" : {
31732 "properties" : {
31733 "pool" : {
31734 "description" : "ZFS pool name.",
31735 "type" : "string"
31736 }
31737 },
31738 "type" : "object"
31739 },
31740 "type" : "array"
31741 }
31742 }
31743 },
31744 "leaf" : 1,
31745 "path" : "/nodes/{node}/scan/zfs",
31746 "text" : "zfs"
31747 },
31748 {
31749 "info" : {
31750 "GET" : {
e9cd3bd4 31751 "allowtoken" : 1,
4d47f125
TL
31752 "description" : "Scan remote NFS server.",
31753 "method" : "GET",
31754 "name" : "nfsscan",
31755 "parameters" : {
31756 "additionalProperties" : 0,
31757 "properties" : {
31758 "node" : {
31759 "description" : "The cluster node name.",
31760 "format" : "pve-node",
31761 "type" : "string",
31762 "typetext" : "<string>"
31763 },
31764 "server" : {
31765 "description" : "The server address (name or IP).",
31766 "format" : "pve-storage-server",
31767 "type" : "string",
31768 "typetext" : "<string>"
31769 }
31770 }
31771 },
31772 "permissions" : {
31773 "check" : [
31774 "perm",
31775 "/storage",
31776 [
31777 "Datastore.Allocate"
31778 ]
31779 ]
31780 },
31781 "protected" : 1,
31782 "proxyto" : "node",
31783 "returns" : {
31784 "items" : {
31785 "properties" : {
31786 "options" : {
31787 "description" : "NFS export options.",
31788 "type" : "string"
31789 },
31790 "path" : {
31791 "description" : "The exported path.",
31792 "type" : "string"
31793 }
31794 },
31795 "type" : "object"
31796 },
31797 "type" : "array"
31798 }
31799 }
31800 },
31801 "leaf" : 1,
31802 "path" : "/nodes/{node}/scan/nfs",
31803 "text" : "nfs"
31804 },
31805 {
31806 "info" : {
31807 "GET" : {
e9cd3bd4 31808 "allowtoken" : 1,
4d47f125
TL
31809 "description" : "Scan remote CIFS server.",
31810 "method" : "GET",
31811 "name" : "cifsscan",
31812 "parameters" : {
31813 "additionalProperties" : 0,
31814 "properties" : {
31815 "domain" : {
31816 "description" : "SMB domain (Workgroup).",
31817 "optional" : 1,
31818 "type" : "string",
31819 "typetext" : "<string>"
31820 },
31821 "node" : {
31822 "description" : "The cluster node name.",
31823 "format" : "pve-node",
31824 "type" : "string",
31825 "typetext" : "<string>"
31826 },
31827 "password" : {
31828 "description" : "User password.",
31829 "optional" : 1,
31830 "type" : "string",
31831 "typetext" : "<string>"
31832 },
31833 "server" : {
31834 "description" : "The server address (name or IP).",
31835 "format" : "pve-storage-server",
31836 "type" : "string",
31837 "typetext" : "<string>"
31838 },
31839 "username" : {
31840 "description" : "User name.",
31841 "optional" : 1,
31842 "type" : "string",
31843 "typetext" : "<string>"
31844 }
31845 }
31846 },
31847 "permissions" : {
31848 "check" : [
31849 "perm",
31850 "/storage",
31851 [
31852 "Datastore.Allocate"
31853 ]
31854 ]
31855 },
31856 "protected" : 1,
31857 "proxyto" : "node",
31858 "returns" : {
31859 "items" : {
31860 "properties" : {
31861 "description" : {
31862 "description" : "Descriptive text from server.",
31863 "type" : "string"
31864 },
31865 "share" : {
31866 "description" : "The cifs share name.",
31867 "type" : "string"
31868 }
31869 },
31870 "type" : "object"
31871 },
31872 "type" : "array"
56122987 31873 }
44660702 31874 }
56122987 31875 },
4d47f125
TL
31876 "leaf" : 1,
31877 "path" : "/nodes/{node}/scan/cifs",
31878 "text" : "cifs"
31879 },
44660702 31880 {
4d47f125
TL
31881 "info" : {
31882 "GET" : {
e9cd3bd4 31883 "allowtoken" : 1,
4d47f125
TL
31884 "description" : "Scan remote GlusterFS server.",
31885 "method" : "GET",
31886 "name" : "glusterfsscan",
31887 "parameters" : {
31888 "additionalProperties" : 0,
31889 "properties" : {
31890 "node" : {
31891 "description" : "The cluster node name.",
31892 "format" : "pve-node",
31893 "type" : "string",
31894 "typetext" : "<string>"
7aacca6f 31895 },
4d47f125
TL
31896 "server" : {
31897 "description" : "The server address (name or IP).",
31898 "format" : "pve-storage-server",
31899 "type" : "string",
31900 "typetext" : "<string>"
44660702 31901 }
7aacca6f 31902 }
56122987 31903 },
4d47f125
TL
31904 "permissions" : {
31905 "check" : [
31906 "perm",
31907 "/storage",
31908 [
31909 "Datastore.Allocate"
31910 ]
31911 ]
31912 },
31913 "protected" : 1,
31914 "proxyto" : "node",
31915 "returns" : {
31916 "items" : {
31917 "properties" : {
31918 "volname" : {
31919 "description" : "The volume name.",
31920 "type" : "string"
7aacca6f
DM
31921 }
31922 },
4d47f125
TL
31923 "type" : "object"
31924 },
31925 "type" : "array"
31926 }
31927 }
31928 },
31929 "leaf" : 1,
31930 "path" : "/nodes/{node}/scan/glusterfs",
31931 "text" : "glusterfs"
31932 },
31933 {
31934 "info" : {
31935 "GET" : {
e9cd3bd4 31936 "allowtoken" : 1,
4d47f125
TL
31937 "description" : "Scan remote iSCSI server.",
31938 "method" : "GET",
31939 "name" : "iscsiscan",
31940 "parameters" : {
31941 "additionalProperties" : 0,
31942 "properties" : {
31943 "node" : {
31944 "description" : "The cluster node name.",
31945 "format" : "pve-node",
31946 "type" : "string",
31947 "typetext" : "<string>"
56122987 31948 },
4d47f125
TL
31949 "portal" : {
31950 "description" : "The iSCSI portal (IP or DNS name with optional port).",
31951 "format" : "pve-storage-portal-dns",
31952 "type" : "string",
31953 "typetext" : "<string>"
31954 }
31955 }
31956 },
31957 "permissions" : {
31958 "check" : [
31959 "perm",
31960 "/storage",
31961 [
31962 "Datastore.Allocate"
31963 ]
31964 ]
31965 },
31966 "protected" : 1,
31967 "proxyto" : "node",
31968 "returns" : {
31969 "items" : {
31970 "properties" : {
31971 "portal" : {
31972 "description" : "The iSCSI portal name.",
31973 "type" : "string"
7aacca6f 31974 },
4d47f125
TL
31975 "target" : {
31976 "description" : "The iSCSI target name.",
31977 "type" : "string"
31978 }
31979 },
31980 "type" : "object"
31981 },
31982 "type" : "array"
31983 }
31984 }
31985 },
31986 "leaf" : 1,
31987 "path" : "/nodes/{node}/scan/iscsi",
31988 "text" : "iscsi"
31989 },
31990 {
31991 "info" : {
31992 "GET" : {
e9cd3bd4 31993 "allowtoken" : 1,
4d47f125
TL
31994 "description" : "List local LVM volume groups.",
31995 "method" : "GET",
31996 "name" : "lvmscan",
31997 "parameters" : {
31998 "additionalProperties" : 0,
31999 "properties" : {
32000 "node" : {
32001 "description" : "The cluster node name.",
32002 "format" : "pve-node",
32003 "type" : "string",
32004 "typetext" : "<string>"
56122987 32005 }
7aacca6f 32006 }
44660702 32007 },
4d47f125
TL
32008 "permissions" : {
32009 "check" : [
32010 "perm",
32011 "/storage",
32012 [
32013 "Datastore.Allocate"
32014 ]
32015 ]
32016 },
32017 "protected" : 1,
32018 "proxyto" : "node",
32019 "returns" : {
32020 "items" : {
32021 "properties" : {
32022 "vg" : {
32023 "description" : "The LVM logical volume group name.",
32024 "type" : "string"
32025 }
32026 },
32027 "type" : "object"
32028 },
32029 "type" : "array"
32030 }
56122987 32031 }
4d47f125
TL
32032 },
32033 "leaf" : 1,
32034 "path" : "/nodes/{node}/scan/lvm",
32035 "text" : "lvm"
32036 },
32037 {
44660702 32038 "info" : {
4d47f125 32039 "GET" : {
e9cd3bd4 32040 "allowtoken" : 1,
4d47f125
TL
32041 "description" : "List local LVM Thin Pools.",
32042 "method" : "GET",
32043 "name" : "lvmthinscan",
44660702
DM
32044 "parameters" : {
32045 "additionalProperties" : 0,
32046 "properties" : {
32047 "node" : {
32048 "description" : "The cluster node name.",
32049 "format" : "pve-node",
013dc89f
DM
32050 "type" : "string",
32051 "typetext" : "<string>"
44660702 32052 },
4d47f125
TL
32053 "vg" : {
32054 "maxLength" : 100,
32055 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
32056 "type" : "string"
44660702 32057 }
7aacca6f 32058 }
44660702
DM
32059 },
32060 "permissions" : {
4d47f125
TL
32061 "check" : [
32062 "perm",
32063 "/storage",
32064 [
32065 "Datastore.Allocate"
32066 ]
32067 ]
44660702
DM
32068 },
32069 "protected" : 1,
32070 "proxyto" : "node",
32071 "returns" : {
4d47f125
TL
32072 "items" : {
32073 "properties" : {
32074 "lv" : {
32075 "description" : "The LVM Thin Pool name (LVM logical volume).",
32076 "type" : "string"
32077 }
32078 },
32079 "type" : "object"
32080 },
32081 "type" : "array"
7aacca6f 32082 }
4d47f125
TL
32083 }
32084 },
32085 "leaf" : 1,
32086 "path" : "/nodes/{node}/scan/lvmthin",
32087 "text" : "lvmthin"
32088 },
32089 {
32090 "info" : {
44660702 32091 "GET" : {
e9cd3bd4 32092 "allowtoken" : 1,
4d47f125 32093 "description" : "List local USB devices.",
44660702 32094 "method" : "GET",
4d47f125 32095 "name" : "usbscan",
44660702
DM
32096 "parameters" : {
32097 "additionalProperties" : 0,
32098 "properties" : {
32099 "node" : {
32100 "description" : "The cluster node name.",
32101 "format" : "pve-node",
013dc89f
DM
32102 "type" : "string",
32103 "typetext" : "<string>"
44660702
DM
32104 }
32105 }
32106 },
32107 "permissions" : {
4d47f125
TL
32108 "check" : [
32109 "perm",
32110 "/",
32111 [
32112 "Sys.Modify"
32113 ]
32114 ]
44660702 32115 },
4d47f125
TL
32116 "protected" : 1,
32117 "proxyto" : "node",
44660702
DM
32118 "returns" : {
32119 "items" : {
4d47f125
TL
32120 "properties" : {
32121 "busnum" : {
32122 "type" : "integer"
32123 },
32124 "class" : {
32125 "type" : "integer"
32126 },
32127 "devnum" : {
32128 "type" : "integer"
32129 },
32130 "level" : {
32131 "type" : "integer"
32132 },
32133 "manufacturer" : {
32134 "optional" : 1,
32135 "type" : "string"
32136 },
32137 "port" : {
32138 "type" : "integer"
32139 },
32140 "prodid" : {
32141 "type" : "string"
32142 },
32143 "product" : {
32144 "optional" : 1,
32145 "type" : "string"
32146 },
32147 "serial" : {
32148 "optional" : 1,
32149 "type" : "string"
32150 },
32151 "speed" : {
32152 "type" : "string"
32153 },
32154 "usbpath" : {
32155 "optional" : 1,
32156 "type" : "string"
32157 },
32158 "vendid" : {
32159 "type" : "string"
32160 }
32161 },
44660702
DM
32162 "type" : "object"
32163 },
44660702 32164 "type" : "array"
56122987 32165 }
44660702 32166 }
56122987 32167 },
4d47f125
TL
32168 "leaf" : 1,
32169 "path" : "/nodes/{node}/scan/usb",
32170 "text" : "usb"
44660702
DM
32171 }
32172 ],
32173 "info" : {
32174 "GET" : {
e9cd3bd4 32175 "allowtoken" : 1,
4d47f125 32176 "description" : "Index of available scan methods",
44660702 32177 "method" : "GET",
4d47f125 32178 "name" : "index",
56122987 32179 "parameters" : {
7aacca6f 32180 "additionalProperties" : 0,
56122987 32181 "properties" : {
56122987
DM
32182 "node" : {
32183 "description" : "The cluster node name.",
44660702 32184 "format" : "pve-node",
013dc89f
DM
32185 "type" : "string",
32186 "typetext" : "<string>"
56122987
DM
32187 }
32188 }
32189 },
7aacca6f
DM
32190 "permissions" : {
32191 "user" : "all"
32192 },
56122987
DM
32193 "returns" : {
32194 "items" : {
32195 "properties" : {
4d47f125 32196 "method" : {
56122987
DM
32197 "type" : "string"
32198 }
32199 },
32200 "type" : "object"
32201 },
56122987
DM
32202 "links" : [
32203 {
4d47f125 32204 "href" : "{method}",
44660702 32205 "rel" : "child"
56122987 32206 }
44660702
DM
32207 ],
32208 "type" : "array"
56122987
DM
32209 }
32210 }
32211 },
44660702 32212 "leaf" : 0,
4d47f125
TL
32213 "path" : "/nodes/{node}/scan",
32214 "text" : "scan"
44660702 32215 },
e2d681b3
TL
32216 {
32217 "children" : [
32218 {
32219 "children" : [
32220 {
32221 "children" : [
32222 {
32223 "info" : {
32224 "GET" : {
e9cd3bd4 32225 "allowtoken" : 1,
e2d681b3
TL
32226 "description" : "List mediated device types for given PCI device.",
32227 "method" : "GET",
32228 "name" : "mdevscan",
32229 "parameters" : {
32230 "additionalProperties" : 0,
32231 "properties" : {
32232 "node" : {
32233 "description" : "The cluster node name.",
32234 "format" : "pve-node",
32235 "type" : "string",
32236 "typetext" : "<string>"
32237 },
32238 "pciid" : {
32239 "description" : "The PCI ID to list the mdev types for.",
32240 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
32241 "type" : "string"
32242 }
32243 }
32244 },
32245 "permissions" : {
32246 "check" : [
32247 "perm",
32248 "/",
32249 [
32250 "Sys.Modify"
32251 ]
32252 ]
32253 },
32254 "protected" : 1,
32255 "proxyto" : "node",
32256 "returns" : {
32257 "items" : {
32258 "properties" : {
32259 "available" : {
32260 "description" : "The number of still available instances of this type.",
32261 "type" : "integer"
32262 },
32263 "description" : {
32264 "type" : "string"
32265 },
32266 "type" : {
32267 "description" : "The name of the mdev type.",
32268 "type" : "string"
32269 }
32270 },
32271 "type" : "object"
32272 },
32273 "type" : "array"
32274 }
32275 }
32276 },
32277 "leaf" : 1,
32278 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
32279 "text" : "mdev"
32280 }
32281 ],
32282 "info" : {
32283 "GET" : {
e9cd3bd4 32284 "allowtoken" : 1,
e2d681b3
TL
32285 "description" : "Index of available pci methods",
32286 "method" : "GET",
32287 "name" : "pciindex",
32288 "parameters" : {
32289 "additionalProperties" : 0,
32290 "properties" : {
32291 "node" : {
32292 "description" : "The cluster node name.",
32293 "format" : "pve-node",
32294 "type" : "string",
32295 "typetext" : "<string>"
32296 },
32297 "pciid" : {
32298 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
32299 "type" : "string"
32300 }
32301 }
32302 },
32303 "permissions" : {
32304 "user" : "all"
32305 },
32306 "returns" : {
32307 "items" : {
32308 "properties" : {
32309 "method" : {
32310 "type" : "string"
32311 }
32312 },
32313 "type" : "object"
32314 },
32315 "links" : [
32316 {
32317 "href" : "{method}",
32318 "rel" : "child"
32319 }
32320 ],
32321 "type" : "array"
32322 }
32323 }
32324 },
32325 "leaf" : 0,
32326 "path" : "/nodes/{node}/hardware/pci/{pciid}",
32327 "text" : "{pciid}"
32328 }
32329 ],
32330 "info" : {
32331 "GET" : {
e9cd3bd4 32332 "allowtoken" : 1,
e2d681b3
TL
32333 "description" : "List local PCI devices.",
32334 "method" : "GET",
32335 "name" : "pciscan",
32336 "parameters" : {
32337 "additionalProperties" : 0,
32338 "properties" : {
32339 "node" : {
32340 "description" : "The cluster node name.",
32341 "format" : "pve-node",
32342 "type" : "string",
32343 "typetext" : "<string>"
32344 },
32345 "pci-class-blacklist" : {
32346 "default" : "05;06;08;0b",
32347 "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
32348 "format" : "string-list",
32349 "optional" : 1,
32350 "type" : "string",
32351 "typetext" : "<string>"
32352 },
32353 "verbose" : {
32354 "default" : 1,
32355 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
32356 "optional" : 1,
32357 "type" : "boolean",
32358 "typetext" : "<boolean>"
32359 }
32360 }
32361 },
32362 "permissions" : {
32363 "check" : [
32364 "perm",
32365 "/",
32366 [
32367 "Sys.Modify"
32368 ]
32369 ]
32370 },
32371 "protected" : 1,
32372 "proxyto" : "node",
32373 "returns" : {
32374 "items" : {
32375 "properties" : {
32376 "class" : {
32377 "description" : "The PCI Class of the device.",
32378 "type" : "string"
32379 },
32380 "device" : {
32381 "description" : "The Device ID.",
32382 "type" : "string"
32383 },
32384 "device_name" : {
32385 "optional" : 1,
32386 "type" : "string"
32387 },
32388 "id" : {
32389 "description" : "The PCI ID.",
32390 "type" : "string"
32391 },
32392 "iommugroup" : {
32393 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
32394 "type" : "integer"
32395 },
32396 "mdev" : {
32397 "description" : "If set, marks that the device is capable of creating mediated devices.",
32398 "optional" : 1,
32399 "type" : "boolean"
32400 },
32401 "subsystem_device" : {
32402 "description" : "The Subsystem Device ID.",
32403 "optional" : 1,
32404 "type" : "string"
32405 },
32406 "subsystem_device_name" : {
32407 "optional" : 1,
32408 "type" : "string"
32409 },
32410 "subsystem_vendor" : {
32411 "description" : "The Subsystem Vendor ID.",
32412 "optional" : 1,
32413 "type" : "string"
32414 },
32415 "subsystem_vendor_name" : {
32416 "optional" : 1,
32417 "type" : "string"
32418 },
32419 "vendor" : {
32420 "description" : "The Vendor ID.",
32421 "type" : "string"
32422 },
32423 "vendor_name" : {
32424 "optional" : 1,
32425 "type" : "string"
32426 }
32427 },
32428 "type" : "object"
32429 },
32430 "links" : [
32431 {
32432 "href" : "{id}",
32433 "rel" : "child"
32434 }
32435 ],
32436 "type" : "array"
32437 }
32438 }
32439 },
32440 "leaf" : 0,
32441 "path" : "/nodes/{node}/hardware/pci",
32442 "text" : "pci"
32443 }
32444 ],
32445 "info" : {
32446 "GET" : {
e9cd3bd4 32447 "allowtoken" : 1,
e2d681b3
TL
32448 "description" : "Index of hardware types",
32449 "method" : "GET",
32450 "name" : "index",
32451 "parameters" : {
32452 "additionalProperties" : 0,
32453 "properties" : {
32454 "node" : {
32455 "description" : "The cluster node name.",
32456 "format" : "pve-node",
32457 "type" : "string",
32458 "typetext" : "<string>"
32459 }
32460 }
32461 },
32462 "permissions" : {
32463 "user" : "all"
32464 },
32465 "returns" : {
32466 "items" : {
32467 "properties" : {
32468 "type" : {
32469 "type" : "string"
32470 }
32471 },
32472 "type" : "object"
32473 },
32474 "links" : [
32475 {
32476 "href" : "{type}",
32477 "rel" : "child"
32478 }
32479 ],
32480 "type" : "array"
32481 }
32482 }
32483 },
32484 "leaf" : 0,
32485 "path" : "/nodes/{node}/hardware",
32486 "text" : "hardware"
32487 },
44660702 32488 {
56122987
DM
32489 "children" : [
32490 {
4d47f125
TL
32491 "children" : [
32492 {
32493 "children" : [
32494 {
32495 "info" : {
32496 "DELETE" : {
e9cd3bd4 32497 "allowtoken" : 1,
4d47f125
TL
32498 "description" : "Delete volume",
32499 "method" : "DELETE",
32500 "name" : "delete",
32501 "parameters" : {
32502 "additionalProperties" : 0,
32503 "properties" : {
1c532546
TL
32504 "delay" : {
32505 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
32506 "maximum" : 30,
32507 "minimum" : 1,
32508 "optional" : 1,
32509 "type" : "integer",
32510 "typetext" : "<integer> (1 - 30)"
32511 },
4d47f125
TL
32512 "node" : {
32513 "description" : "The cluster node name.",
32514 "format" : "pve-node",
32515 "type" : "string",
32516 "typetext" : "<string>"
32517 },
32518 "storage" : {
32519 "description" : "The storage identifier.",
32520 "format" : "pve-storage-id",
32521 "optional" : 1,
32522 "type" : "string",
32523 "typetext" : "<string>"
32524 },
32525 "volume" : {
32526 "description" : "Volume identifier",
32527 "type" : "string",
32528 "typetext" : "<string>"
32529 }
32530 }
32531 },
32532 "permissions" : {
32533 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
32534 "user" : "all"
32535 },
32536 "protected" : 1,
32537 "proxyto" : "node",
32538 "returns" : {
1c532546
TL
32539 "optional" : 1,
32540 "type" : "string"
4d47f125
TL
32541 }
32542 },
32543 "GET" : {
e9cd3bd4 32544 "allowtoken" : 1,
4d47f125
TL
32545 "description" : "Get volume attributes",
32546 "method" : "GET",
32547 "name" : "info",
32548 "parameters" : {
32549 "additionalProperties" : 0,
32550 "properties" : {
32551 "node" : {
32552 "description" : "The cluster node name.",
32553 "format" : "pve-node",
32554 "type" : "string",
32555 "typetext" : "<string>"
32556 },
32557 "storage" : {
32558 "description" : "The storage identifier.",
32559 "format" : "pve-storage-id",
32560 "optional" : 1,
32561 "type" : "string",
32562 "typetext" : "<string>"
32563 },
32564 "volume" : {
32565 "description" : "Volume identifier",
32566 "type" : "string",
32567 "typetext" : "<string>"
32568 }
32569 }
32570 },
32571 "permissions" : {
32572 "description" : "You need read access for the volume.",
32573 "user" : "all"
32574 },
32575 "protected" : 1,
32576 "proxyto" : "node",
32577 "returns" : {
32578 "type" : "object"
32579 }
32580 },
32581 "POST" : {
e9cd3bd4 32582 "allowtoken" : 1,
4d47f125
TL
32583 "description" : "Copy a volume. This is experimental code - do not use.",
32584 "method" : "POST",
32585 "name" : "copy",
32586 "parameters" : {
32587 "additionalProperties" : 0,
32588 "properties" : {
32589 "node" : {
32590 "description" : "The cluster node name.",
32591 "format" : "pve-node",
32592 "type" : "string",
32593 "typetext" : "<string>"
32594 },
32595 "storage" : {
32596 "description" : "The storage identifier.",
32597 "format" : "pve-storage-id",
32598 "optional" : 1,
32599 "type" : "string",
32600 "typetext" : "<string>"
32601 },
32602 "target" : {
32603 "description" : "Target volume identifier",
32604 "type" : "string",
32605 "typetext" : "<string>"
32606 },
32607 "target_node" : {
32608 "description" : "Target node. Default is local node.",
32609 "format" : "pve-node",
32610 "optional" : 1,
32611 "type" : "string",
32612 "typetext" : "<string>"
32613 },
32614 "volume" : {
32615 "description" : "Source volume identifier",
32616 "type" : "string",
32617 "typetext" : "<string>"
32618 }
32619 }
32620 },
32621 "protected" : 1,
32622 "proxyto" : "node",
32623 "returns" : {
32624 "type" : "string"
32625 }
32626 }
32627 },
32628 "leaf" : 1,
32629 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
32630 "text" : "{volume}"
44660702 32631 }
4d47f125
TL
32632 ],
32633 "info" : {
32634 "GET" : {
e9cd3bd4 32635 "allowtoken" : 1,
4d47f125
TL
32636 "description" : "List storage content.",
32637 "method" : "GET",
32638 "name" : "index",
32639 "parameters" : {
32640 "additionalProperties" : 0,
32641 "properties" : {
32642 "content" : {
32643 "description" : "Only list content of this type.",
32644 "format" : "pve-storage-content",
32645 "optional" : 1,
32646 "type" : "string",
32647 "typetext" : "<string>"
32648 },
32649 "node" : {
32650 "description" : "The cluster node name.",
32651 "format" : "pve-node",
32652 "type" : "string",
32653 "typetext" : "<string>"
32654 },
32655 "storage" : {
32656 "description" : "The storage identifier.",
32657 "format" : "pve-storage-id",
32658 "type" : "string",
32659 "typetext" : "<string>"
32660 },
32661 "vmid" : {
32662 "description" : "Only list images for this VM",
32663 "format" : "pve-vmid",
32664 "minimum" : 1,
32665 "optional" : 1,
32666 "type" : "integer",
32667 "typetext" : "<integer> (1 - N)"
32668 }
56122987 32669 }
44660702 32670 },
4d47f125
TL
32671 "permissions" : {
32672 "check" : [
32673 "perm",
32674 "/storage/{storage}",
32675 [
32676 "Datastore.Audit",
32677 "Datastore.AllocateSpace"
32678 ],
32679 "any",
32680 1
32681 ]
7aacca6f 32682 },
4d47f125
TL
32683 "protected" : 1,
32684 "proxyto" : "node",
32685 "returns" : {
32686 "items" : {
32687 "properties" : {
c5aa7e14
TL
32688 "ctime" : {
32689 "description" : "Creation time (seconds since the UNIX Epoch).",
32690 "minimum" : 0,
32691 "optional" : 1,
32692 "type" : "integer"
32693 },
4d47f125
TL
32694 "format" : {
32695 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
32696 "type" : "string"
32697 },
32698 "parent" : {
32699 "description" : "Volume identifier of parent (for linked cloned).",
32700 "optional" : 1,
32701 "type" : "string"
32702 },
32703 "size" : {
32704 "description" : "Volume size in bytes.",
32705 "renderer" : "bytes",
32706 "type" : "integer"
32707 },
32708 "used" : {
c5aa7e14 32709 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
4d47f125
TL
32710 "optional" : 1,
32711 "renderer" : "bytes",
32712 "type" : "integer"
32713 },
32714 "vmid" : {
32715 "description" : "Associated Owner VMID.",
32716 "optional" : 1,
32717 "type" : "integer"
32718 },
32719 "volid" : {
32720 "description" : "Volume identifier.",
32721 "type" : "string"
32722 }
32723 },
32724 "type" : "object"
44660702 32725 },
4d47f125
TL
32726 "links" : [
32727 {
32728 "href" : "{volid}",
32729 "rel" : "child"
32730 }
32731 ],
32732 "type" : "array"
32733 }
32734 },
32735 "POST" : {
e9cd3bd4 32736 "allowtoken" : 1,
4d47f125
TL
32737 "description" : "Allocate disk images.",
32738 "method" : "POST",
32739 "name" : "create",
32740 "parameters" : {
32741 "additionalProperties" : 0,
32742 "properties" : {
32743 "filename" : {
32744 "description" : "The name of the file to create.",
32745 "type" : "string",
32746 "typetext" : "<string>"
32747 },
32748 "format" : {
32749 "enum" : [
32750 "raw",
32751 "qcow2",
32752 "subvol"
32753 ],
32754 "optional" : 1,
32755 "requires" : "size",
32756 "type" : "string"
32757 },
32758 "node" : {
32759 "description" : "The cluster node name.",
32760 "format" : "pve-node",
32761 "type" : "string",
32762 "typetext" : "<string>"
32763 },
32764 "size" : {
32765 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
32766 "pattern" : "\\d+[MG]?",
32767 "type" : "string"
32768 },
32769 "storage" : {
32770 "description" : "The storage identifier.",
32771 "format" : "pve-storage-id",
32772 "type" : "string",
32773 "typetext" : "<string>"
32774 },
32775 "vmid" : {
32776 "description" : "Specify owner VM",
32777 "format" : "pve-vmid",
32778 "minimum" : 1,
32779 "type" : "integer",
32780 "typetext" : "<integer> (1 - N)"
32781 }
44660702
DM
32782 }
32783 },
4d47f125
TL
32784 "permissions" : {
32785 "check" : [
32786 "perm",
32787 "/storage/{storage}",
32788 [
32789 "Datastore.AllocateSpace"
32790 ]
32791 ]
27a7acb2 32792 },
4d47f125
TL
32793 "protected" : 1,
32794 "proxyto" : "node",
32795 "returns" : {
32796 "description" : "Volume identifier",
32797 "type" : "string"
27a7acb2
DM
32798 }
32799 }
32800 },
4d47f125
TL
32801 "leaf" : 0,
32802 "path" : "/nodes/{node}/storage/{storage}/content",
32803 "text" : "content"
32804 },
32805 {
32806 "info" : {
32807 "GET" : {
e9cd3bd4 32808 "allowtoken" : 1,
4d47f125
TL
32809 "description" : "Read storage status.",
32810 "method" : "GET",
32811 "name" : "read_status",
32812 "parameters" : {
32813 "additionalProperties" : 0,
32814 "properties" : {
32815 "node" : {
32816 "description" : "The cluster node name.",
32817 "format" : "pve-node",
32818 "type" : "string",
32819 "typetext" : "<string>"
32820 },
32821 "storage" : {
32822 "description" : "The storage identifier.",
32823 "format" : "pve-storage-id",
32824 "type" : "string",
32825 "typetext" : "<string>"
32826 }
27a7acb2
DM
32827 }
32828 },
4d47f125
TL
32829 "permissions" : {
32830 "check" : [
32831 "perm",
32832 "/storage/{storage}",
32833 [
32834 "Datastore.Audit",
32835 "Datastore.AllocateSpace"
32836 ],
32837 "any",
32838 1
32839 ]
7aacca6f 32840 },
4d47f125
TL
32841 "protected" : 1,
32842 "proxyto" : "node",
32843 "returns" : {
32844 "type" : "object"
56122987 32845 }
44660702
DM
32846 }
32847 },
4d47f125
TL
32848 "leaf" : 1,
32849 "path" : "/nodes/{node}/storage/{storage}/status",
32850 "text" : "status"
32851 },
32852 {
32853 "info" : {
32854 "GET" : {
e9cd3bd4 32855 "allowtoken" : 1,
4d47f125
TL
32856 "description" : "Read storage RRD statistics (returns PNG).",
32857 "method" : "GET",
32858 "name" : "rrd",
32859 "parameters" : {
32860 "additionalProperties" : 0,
32861 "properties" : {
32862 "cf" : {
32863 "description" : "The RRD consolidation function",
32864 "enum" : [
32865 "AVERAGE",
32866 "MAX"
32867 ],
32868 "optional" : 1,
32869 "type" : "string"
32870 },
32871 "ds" : {
32872 "description" : "The list of datasources you want to display.",
32873 "format" : "pve-configid-list",
32874 "type" : "string",
32875 "typetext" : "<string>"
32876 },
32877 "node" : {
32878 "description" : "The cluster node name.",
32879 "format" : "pve-node",
32880 "type" : "string",
32881 "typetext" : "<string>"
32882 },
32883 "storage" : {
32884 "description" : "The storage identifier.",
32885 "format" : "pve-storage-id",
32886 "type" : "string",
32887 "typetext" : "<string>"
32888 },
32889 "timeframe" : {
32890 "description" : "Specify the time frame you are interested in.",
32891 "enum" : [
32892 "hour",
32893 "day",
32894 "week",
32895 "month",
32896 "year"
32897 ],
32898 "type" : "string"
32899 }
44660702
DM
32900 }
32901 },
4d47f125
TL
32902 "permissions" : {
32903 "check" : [
32904 "perm",
32905 "/storage/{storage}",
32906 [
32907 "Datastore.Audit",
32908 "Datastore.AllocateSpace"
32909 ],
32910 "any",
32911 1
32912 ]
32913 },
32914 "protected" : 1,
32915 "proxyto" : "node",
32916 "returns" : {
32917 "properties" : {
32918 "filename" : {
32919 "type" : "string"
32920 }
32921 },
32922 "type" : "object"
44660702
DM
32923 }
32924 }
32925 },
4d47f125
TL
32926 "leaf" : 1,
32927 "path" : "/nodes/{node}/storage/{storage}/rrd",
32928 "text" : "rrd"
32929 },
32930 {
32931 "info" : {
32932 "GET" : {
e9cd3bd4 32933 "allowtoken" : 1,
4d47f125
TL
32934 "description" : "Read storage RRD statistics.",
32935 "method" : "GET",
32936 "name" : "rrddata",
32937 "parameters" : {
32938 "additionalProperties" : 0,
32939 "properties" : {
32940 "cf" : {
32941 "description" : "The RRD consolidation function",
32942 "enum" : [
32943 "AVERAGE",
32944 "MAX"
32945 ],
32946 "optional" : 1,
32947 "type" : "string"
32948 },
32949 "node" : {
32950 "description" : "The cluster node name.",
32951 "format" : "pve-node",
32952 "type" : "string",
32953 "typetext" : "<string>"
32954 },
32955 "storage" : {
32956 "description" : "The storage identifier.",
32957 "format" : "pve-storage-id",
32958 "type" : "string",
32959 "typetext" : "<string>"
32960 },
32961 "timeframe" : {
32962 "description" : "Specify the time frame you are interested in.",
32963 "enum" : [
32964 "hour",
32965 "day",
32966 "week",
32967 "month",
32968 "year"
32969 ],
32970 "type" : "string"
32971 }
56122987
DM
32972 }
32973 },
4d47f125
TL
32974 "permissions" : {
32975 "check" : [
32976 "perm",
32977 "/storage/{storage}",
32978 [
32979 "Datastore.Audit",
32980 "Datastore.AllocateSpace"
32981 ],
32982 "any",
32983 1
32984 ]
32985 },
32986 "protected" : 1,
32987 "proxyto" : "node",
32988 "returns" : {
32989 "items" : {
32990 "properties" : {},
32991 "type" : "object"
32992 },
32993 "type" : "array"
56122987 32994 }
7aacca6f 32995 }
56122987 32996 },
4d47f125
TL
32997 "leaf" : 1,
32998 "path" : "/nodes/{node}/storage/{storage}/rrddata",
32999 "text" : "rrddata"
33000 },
33001 {
33002 "info" : {
33003 "POST" : {
e9cd3bd4 33004 "allowtoken" : 1,
4d47f125
TL
33005 "description" : "Upload templates and ISO images.",
33006 "method" : "POST",
33007 "name" : "upload",
33008 "parameters" : {
33009 "additionalProperties" : 0,
33010 "properties" : {
33011 "content" : {
33012 "description" : "Content type.",
33013 "format" : "pve-storage-content",
33014 "type" : "string",
33015 "typetext" : "<string>"
33016 },
33017 "filename" : {
33018 "description" : "The name of the file to create.",
33019 "type" : "string",
33020 "typetext" : "<string>"
33021 },
33022 "node" : {
33023 "description" : "The cluster node name.",
33024 "format" : "pve-node",
33025 "type" : "string",
33026 "typetext" : "<string>"
33027 },
33028 "storage" : {
33029 "description" : "The storage identifier.",
33030 "format" : "pve-storage-id",
33031 "type" : "string",
33032 "typetext" : "<string>"
33033 },
33034 "tmpfilename" : {
1e3f8156 33035 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
4d47f125
TL
33036 "optional" : 1,
33037 "type" : "string",
33038 "typetext" : "<string>"
33039 }
44660702
DM
33040 }
33041 },
4d47f125
TL
33042 "permissions" : {
33043 "check" : [
33044 "perm",
33045 "/storage/{storage}",
33046 [
33047 "Datastore.AllocateTemplate"
33048 ]
33049 ]
56122987 33050 },
4d47f125
TL
33051 "protected" : 1,
33052 "returns" : {
44660702 33053 "type" : "string"
56122987 33054 }
44660702 33055 }
56122987 33056 },
4d47f125
TL
33057 "leaf" : 1,
33058 "path" : "/nodes/{node}/storage/{storage}/upload",
33059 "text" : "upload"
56122987 33060 }
4d47f125 33061 ],
56122987
DM
33062 "info" : {
33063 "GET" : {
e9cd3bd4 33064 "allowtoken" : 1,
4d47f125 33065 "description" : "",
44660702 33066 "method" : "GET",
4d47f125 33067 "name" : "diridx",
44660702
DM
33068 "parameters" : {
33069 "additionalProperties" : 0,
33070 "properties" : {
33071 "node" : {
33072 "description" : "The cluster node name.",
33073 "format" : "pve-node",
013dc89f
DM
33074 "type" : "string",
33075 "typetext" : "<string>"
4d47f125
TL
33076 },
33077 "storage" : {
33078 "description" : "The storage identifier.",
33079 "format" : "pve-storage-id",
33080 "type" : "string",
33081 "typetext" : "<string>"
44660702
DM
33082 }
33083 }
33084 },
7aacca6f
DM
33085 "permissions" : {
33086 "check" : [
33087 "perm",
4d47f125 33088 "/storage/{storage}",
7aacca6f 33089 [
4d47f125
TL
33090 "Datastore.Audit",
33091 "Datastore.AllocateSpace"
33092 ],
33093 "any",
33094 1
7aacca6f
DM
33095 ]
33096 },
56122987
DM
33097 "returns" : {
33098 "items" : {
33099 "properties" : {
4d47f125 33100 "subdir" : {
44660702 33101 "type" : "string"
56122987
DM
33102 }
33103 },
33104 "type" : "object"
7aacca6f 33105 },
4d47f125
TL
33106 "links" : [
33107 {
33108 "href" : "{subdir}",
33109 "rel" : "child"
33110 }
33111 ],
7aacca6f 33112 "type" : "array"
44660702
DM
33113 }
33114 }
33115 },
4d47f125
TL
33116 "leaf" : 0,
33117 "path" : "/nodes/{node}/storage/{storage}",
33118 "text" : "{storage}"
44660702
DM
33119 }
33120 ],
33121 "info" : {
33122 "GET" : {
e9cd3bd4 33123 "allowtoken" : 1,
4d47f125 33124 "description" : "Get status for all datastores.",
44660702
DM
33125 "method" : "GET",
33126 "name" : "index",
33127 "parameters" : {
33128 "additionalProperties" : 0,
33129 "properties" : {
4d47f125
TL
33130 "content" : {
33131 "description" : "Only list stores which support this content type.",
33132 "format" : "pve-storage-content-list",
33133 "optional" : 1,
33134 "type" : "string",
33135 "typetext" : "<string>"
33136 },
33137 "enabled" : {
33138 "default" : 0,
33139 "description" : "Only list stores which are enabled (not disabled in config).",
33140 "optional" : 1,
33141 "type" : "boolean",
33142 "typetext" : "<boolean>"
33143 },
33144 "format" : {
33145 "default" : 0,
33146 "description" : "Include information about formats",
33147 "optional" : 1,
33148 "type" : "boolean",
33149 "typetext" : "<boolean>"
33150 },
44660702
DM
33151 "node" : {
33152 "description" : "The cluster node name.",
33153 "format" : "pve-node",
013dc89f
DM
33154 "type" : "string",
33155 "typetext" : "<string>"
4d47f125
TL
33156 },
33157 "storage" : {
33158 "description" : "Only list status for specified storage",
33159 "format" : "pve-storage-id",
33160 "optional" : 1,
33161 "type" : "string",
33162 "typetext" : "<string>"
33163 },
33164 "target" : {
33165 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
33166 "format" : "pve-node",
33167 "optional" : 1,
33168 "type" : "string",
33169 "typetext" : "<string>"
44660702
DM
33170 }
33171 }
33172 },
4d47f125
TL
33173 "permissions" : {
33174 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
33175 "user" : "all"
33176 },
33177 "protected" : 1,
33178 "proxyto" : "node",
33179 "returns" : {
33180 "items" : {
33181 "properties" : {
33182 "active" : {
33183 "description" : "Set when storage is accessible.",
33184 "optional" : 1,
33185 "type" : "boolean"
33186 },
33187 "avail" : {
33188 "description" : "Available storage space in bytes.",
33189 "optional" : 1,
33190 "renderer" : "bytes",
33191 "type" : "integer"
33192 },
33193 "content" : {
33194 "description" : "Allowed storage content types.",
33195 "format" : "pve-storage-content-list",
33196 "type" : "string"
33197 },
33198 "enabled" : {
33199 "description" : "Set when storage is enabled (not disabled).",
33200 "optional" : 1,
33201 "type" : "boolean"
33202 },
33203 "shared" : {
33204 "description" : "Shared flag from storage configuration.",
33205 "optional" : 1,
33206 "type" : "boolean"
33207 },
33208 "storage" : {
33209 "description" : "The storage identifier.",
33210 "format" : "pve-storage-id",
33211 "type" : "string"
33212 },
33213 "total" : {
33214 "description" : "Total storage space in bytes.",
33215 "optional" : 1,
33216 "renderer" : "bytes",
33217 "type" : "integer"
33218 },
33219 "type" : {
33220 "description" : "Storage type.",
33221 "type" : "string"
33222 },
33223 "used" : {
33224 "description" : "Used storage space in bytes.",
33225 "optional" : 1,
33226 "renderer" : "bytes",
33227 "type" : "integer"
33228 },
33229 "used_fraction" : {
33230 "description" : "Used fraction (used/total).",
33231 "optional" : 1,
33232 "renderer" : "fraction_as_percentage",
33233 "type" : "number"
7aacca6f 33234 }
4d47f125
TL
33235 },
33236 "type" : "object"
33237 },
33238 "links" : [
33239 {
33240 "href" : "{storage}",
33241 "rel" : "child"
33242 }
33243 ],
33244 "type" : "array"
33245 }
33246 }
33247 },
33248 "leaf" : 0,
33249 "path" : "/nodes/{node}/storage",
33250 "text" : "storage"
33251 },
33252 {
33253 "children" : [
33254 {
33255 "info" : {
33256 "GET" : {
e9cd3bd4 33257 "allowtoken" : 1,
4d47f125
TL
33258 "description" : "List LVM Volume Groups",
33259 "method" : "GET",
33260 "name" : "index",
33261 "parameters" : {
33262 "additionalProperties" : 0,
33263 "properties" : {
33264 "node" : {
33265 "description" : "The cluster node name.",
33266 "format" : "pve-node",
33267 "type" : "string",
33268 "typetext" : "<string>"
33269 }
33270 }
33271 },
33272 "permissions" : {
33273 "check" : [
33274 "perm",
33275 "/",
33276 [
33277 "Sys.Audit",
33278 "Datastore.Audit"
33279 ],
33280 "any",
33281 1
33282 ]
33283 },
33284 "protected" : 1,
33285 "proxyto" : "node",
33286 "returns" : {
33287 "properties" : {
33288 "children" : {
44660702
DM
33289 "items" : {
33290 "properties" : {
4d47f125
TL
33291 "children" : {
33292 "description" : "The underlying physical volumes",
33293 "items" : {
33294 "properties" : {
33295 "free" : {
33296 "description" : "The free bytes in the physical volume",
33297 "type" : "integer"
33298 },
33299 "leaf" : {
33300 "type" : "boolean"
33301 },
33302 "name" : {
33303 "description" : "The name of the physical volume",
33304 "type" : "string"
33305 },
33306 "size" : {
33307 "description" : "The size of the physical volume in bytes",
33308 "type" : "integer"
33309 }
33310 },
33311 "type" : "object"
33312 },
33313 "optional" : 1,
33314 "type" : "array"
33315 },
33316 "free" : {
33317 "description" : "The free bytes in the volume group",
33318 "type" : "integer"
33319 },
33320 "leaf" : {
33321 "type" : "boolean"
33322 },
33323 "name" : {
33324 "description" : "The name of the volume group",
44660702 33325 "type" : "string"
4d47f125
TL
33326 },
33327 "size" : {
33328 "description" : "The size of the volume group in bytes",
33329 "type" : "integer"
44660702
DM
33330 }
33331 },
33332 "type" : "object"
33333 },
44660702 33334 "type" : "array"
4d47f125
TL
33335 },
33336 "leaf" : {
33337 "type" : "boolean"
44660702
DM
33338 }
33339 },
4d47f125
TL
33340 "type" : "object"
33341 }
33342 },
33343 "POST" : {
e9cd3bd4 33344 "allowtoken" : 1,
4d47f125
TL
33345 "description" : "Create an LVM Volume Group",
33346 "method" : "POST",
33347 "name" : "create",
33348 "parameters" : {
33349 "additionalProperties" : 0,
33350 "properties" : {
33351 "add_storage" : {
33352 "default" : 0,
33353 "description" : "Configure storage using the Volume Group",
33354 "optional" : 1,
33355 "type" : "boolean",
33356 "typetext" : "<boolean>"
44660702 33357 },
4d47f125
TL
33358 "device" : {
33359 "description" : "The block device you want to create the volume group on",
33360 "type" : "string",
33361 "typetext" : "<string>"
44660702 33362 },
4d47f125
TL
33363 "name" : {
33364 "description" : "The storage identifier.",
33365 "format" : "pve-storage-id",
33366 "type" : "string",
33367 "typetext" : "<string>"
33368 },
33369 "node" : {
33370 "description" : "The cluster node name.",
33371 "format" : "pve-node",
33372 "type" : "string",
33373 "typetext" : "<string>"
33374 }
33375 }
33376 },
33377 "permissions" : {
33378 "check" : [
33379 "perm",
33380 "/",
33381 [
33382 "Sys.Modify",
33383 "Datastore.Allocate"
33384 ]
33385 ]
33386 },
33387 "protected" : 1,
33388 "proxyto" : "node",
33389 "returns" : {
33390 "type" : "string"
33391 }
33392 }
33393 },
33394 "leaf" : 1,
33395 "path" : "/nodes/{node}/disks/lvm",
33396 "text" : "lvm"
33397 },
33398 {
33399 "info" : {
33400 "GET" : {
e9cd3bd4 33401 "allowtoken" : 1,
4d47f125
TL
33402 "description" : "List LVM thinpools",
33403 "method" : "GET",
33404 "name" : "index",
33405 "parameters" : {
33406 "additionalProperties" : 0,
33407 "properties" : {
33408 "node" : {
33409 "description" : "The cluster node name.",
33410 "format" : "pve-node",
33411 "type" : "string",
33412 "typetext" : "<string>"
44660702
DM
33413 }
33414 }
33415 },
4d47f125
TL
33416 "permissions" : {
33417 "check" : [
33418 "perm",
33419 "/",
33420 [
33421 "Sys.Audit",
33422 "Datastore.Audit"
33423 ],
33424 "any",
33425 1
33426 ]
33427 },
33428 "protected" : 1,
33429 "proxyto" : "node",
33430 "returns" : {
33431 "items" : {
33432 "properties" : {
33433 "lv" : {
33434 "description" : "The name of the thinpool.",
33435 "type" : "string"
33436 },
33437 "lv_size" : {
33438 "description" : "The size of the thinpool in bytes.",
33439 "type" : "integer"
33440 },
33441 "metadata_size" : {
33442 "description" : "The size of the metadata lv in bytes.",
33443 "type" : "integer"
33444 },
33445 "metadata_used" : {
33446 "description" : "The used bytes of the metadata lv.",
33447 "type" : "integer"
33448 },
33449 "used" : {
33450 "description" : "The used bytes of the thinpool.",
33451 "type" : "integer"
44660702
DM
33452 }
33453 },
4d47f125
TL
33454 "type" : "object"
33455 },
33456 "type" : "array"
33457 }
33458 },
33459 "POST" : {
e9cd3bd4 33460 "allowtoken" : 1,
4d47f125
TL
33461 "description" : "Create an LVM thinpool",
33462 "method" : "POST",
33463 "name" : "create",
33464 "parameters" : {
33465 "additionalProperties" : 0,
33466 "properties" : {
33467 "add_storage" : {
33468 "default" : 0,
33469 "description" : "Configure storage using the thinpool.",
33470 "optional" : 1,
33471 "type" : "boolean",
33472 "typetext" : "<boolean>"
56122987 33473 },
4d47f125
TL
33474 "device" : {
33475 "description" : "The block device you want to create the thinpool on.",
33476 "type" : "string",
33477 "typetext" : "<string>"
33478 },
33479 "name" : {
33480 "description" : "The storage identifier.",
33481 "format" : "pve-storage-id",
33482 "type" : "string",
33483 "typetext" : "<string>"
33484 },
33485 "node" : {
33486 "description" : "The cluster node name.",
33487 "format" : "pve-node",
33488 "type" : "string",
33489 "typetext" : "<string>"
44660702 33490 }
56122987
DM
33491 }
33492 },
4d47f125
TL
33493 "permissions" : {
33494 "check" : [
33495 "perm",
33496 "/",
33497 [
33498 "Sys.Modify",
33499 "Datastore.Allocate"
33500 ]
33501 ]
33502 },
33503 "protected" : 1,
33504 "proxyto" : "node",
33505 "returns" : {
33506 "type" : "string"
33507 }
33508 }
33509 },
33510 "leaf" : 1,
33511 "path" : "/nodes/{node}/disks/lvmthin",
33512 "text" : "lvmthin"
33513 },
33514 {
33515 "info" : {
33516 "GET" : {
e9cd3bd4 33517 "allowtoken" : 1,
4d47f125
TL
33518 "description" : "PVE Managed Directory storages.",
33519 "method" : "GET",
33520 "name" : "index",
33521 "parameters" : {
33522 "additionalProperties" : 0,
33523 "properties" : {
33524 "node" : {
33525 "description" : "The cluster node name.",
33526 "format" : "pve-node",
33527 "type" : "string",
33528 "typetext" : "<string>"
33529 }
33530 }
33531 },
33532 "permissions" : {
33533 "check" : [
33534 "perm",
33535 "/",
33536 [
33537 "Sys.Audit",
33538 "Datastore.Audit"
33539 ],
33540 "any",
33541 1
33542 ]
33543 },
33544 "protected" : 1,
33545 "proxyto" : "node",
33546 "returns" : {
33547 "items" : {
33548 "properties" : {
33549 "device" : {
33550 "description" : "The mounted device.",
33551 "type" : "string"
33552 },
33553 "options" : {
33554 "description" : "The mount options.",
33555 "type" : "string"
33556 },
33557 "path" : {
33558 "description" : "The mount path.",
33559 "type" : "string"
33560 },
33561 "type" : {
33562 "description" : "The filesystem type.",
33563 "type" : "string"
33564 },
33565 "unitfile" : {
33566 "description" : "The path of the mount unit.",
33567 "type" : "string"
44660702 33568 }
56122987 33569 },
4d47f125
TL
33570 "type" : "object"
33571 },
33572 "type" : "array"
33573 }
33574 },
33575 "POST" : {
e9cd3bd4 33576 "allowtoken" : 1,
4d47f125
TL
33577 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
33578 "method" : "POST",
33579 "name" : "create",
33580 "parameters" : {
33581 "additionalProperties" : 0,
33582 "properties" : {
33583 "add_storage" : {
33584 "default" : 0,
33585 "description" : "Configure storage using the directory.",
33586 "optional" : 1,
33587 "type" : "boolean",
33588 "typetext" : "<boolean>"
33589 },
33590 "device" : {
33591 "description" : "The block device you want to create the filesystem on.",
33592 "type" : "string",
33593 "typetext" : "<string>"
33594 },
33595 "filesystem" : {
33596 "default" : "ext4",
33597 "description" : "The desired filesystem.",
33598 "enum" : [
33599 "ext4",
33600 "xfs"
33601 ],
33602 "optional" : 1,
33603 "type" : "string"
56122987 33604 },
4d47f125
TL
33605 "name" : {
33606 "description" : "The storage identifier.",
33607 "format" : "pve-storage-id",
33608 "type" : "string",
33609 "typetext" : "<string>"
33610 },
33611 "node" : {
33612 "description" : "The cluster node name.",
33613 "format" : "pve-node",
33614 "type" : "string",
33615 "typetext" : "<string>"
7aacca6f 33616 }
56122987
DM
33617 }
33618 },
4d47f125
TL
33619 "permissions" : {
33620 "check" : [
33621 "perm",
33622 "/",
33623 [
33624 "Sys.Modify",
33625 "Datastore.Allocate"
33626 ]
33627 ]
33628 },
33629 "protected" : 1,
33630 "proxyto" : "node",
33631 "returns" : {
33632 "type" : "string"
33633 }
33634 }
33635 },
33636 "leaf" : 1,
33637 "path" : "/nodes/{node}/disks/directory",
33638 "text" : "directory"
33639 },
33640 {
33641 "children" : [
56122987 33642 {
56122987
DM
33643 "info" : {
33644 "GET" : {
e9cd3bd4 33645 "allowtoken" : 1,
4d47f125 33646 "description" : "Get details about a zpool.",
44660702 33647 "method" : "GET",
4d47f125 33648 "name" : "detail",
56122987 33649 "parameters" : {
44660702 33650 "additionalProperties" : 0,
56122987 33651 "properties" : {
4d47f125
TL
33652 "name" : {
33653 "description" : "The storage identifier.",
33654 "format" : "pve-storage-id",
33655 "type" : "string",
33656 "typetext" : "<string>"
44660702 33657 },
7aacca6f 33658 "node" : {
7aacca6f 33659 "description" : "The cluster node name.",
44660702 33660 "format" : "pve-node",
013dc89f
DM
33661 "type" : "string",
33662 "typetext" : "<string>"
56122987 33663 }
44660702 33664 }
7aacca6f 33665 },
7aacca6f
DM
33666 "permissions" : {
33667 "check" : [
33668 "perm",
4d47f125 33669 "/",
7aacca6f 33670 [
4d47f125
TL
33671 "Sys.Audit",
33672 "Datastore.Audit"
7aacca6f
DM
33673 ],
33674 "any",
33675 1
33676 ]
33677 },
44660702
DM
33678 "protected" : 1,
33679 "proxyto" : "node",
7aacca6f 33680 "returns" : {
56122987 33681 "properties" : {
4d47f125
TL
33682 "action" : {
33683 "description" : "Information about the recommended action to fix the state.",
33684 "optional" : 1,
33685 "type" : "string"
56122987 33686 },
4d47f125 33687 "children" : {
e2d681b3 33688 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
33689 "items" : {
33690 "properties" : {
33691 "cksum" : {
e2d681b3 33692 "optional" : 1,
4d47f125
TL
33693 "type" : "number"
33694 },
33695 "msg" : {
33696 "description" : "An optional message about the vdev.",
33697 "type" : "string"
33698 },
33699 "name" : {
e2d681b3 33700 "description" : "The name of the vdev or section.",
4d47f125
TL
33701 "type" : "string"
33702 },
33703 "read" : {
e2d681b3 33704 "optional" : 1,
4d47f125
TL
33705 "type" : "number"
33706 },
33707 "state" : {
33708 "description" : "The state of the vdev.",
e2d681b3 33709 "optional" : 1,
4d47f125
TL
33710 "type" : "string"
33711 },
33712 "write" : {
e2d681b3 33713 "optional" : 1,
4d47f125
TL
33714 "type" : "number"
33715 }
33716 },
33717 "type" : "object"
33718 },
33719 "type" : "array"
56122987 33720 },
e2d681b3
TL
33721 "errors" : {
33722 "description" : "Information about the errors on the zpool.",
33723 "type" : "string"
33724 },
4d47f125
TL
33725 "name" : {
33726 "description" : "The name of the zpool.",
33727 "type" : "string"
44660702 33728 },
4d47f125 33729 "scan" : {
e2d681b3 33730 "description" : "Information about the last/current scrub.",
4d47f125 33731 "type" : "string"
44660702 33732 },
4d47f125
TL
33733 "state" : {
33734 "description" : "The state of the zpool.",
33735 "type" : "string"
33736 },
33737 "status" : {
33738 "description" : "Information about the state of the zpool.",
44660702 33739 "optional" : 1,
4d47f125 33740 "type" : "string"
56122987 33741 }
4d47f125
TL
33742 },
33743 "type" : "object"
44660702
DM
33744 }
33745 }
33746 },
33747 "leaf" : 1,
4d47f125
TL
33748 "path" : "/nodes/{node}/disks/zfs/{name}",
33749 "text" : "{name}"
44660702
DM
33750 }
33751 ],
33752 "info" : {
33753 "GET" : {
e9cd3bd4 33754 "allowtoken" : 1,
4d47f125 33755 "description" : "List Zpools.",
44660702 33756 "method" : "GET",
4d47f125 33757 "name" : "index",
44660702
DM
33758 "parameters" : {
33759 "additionalProperties" : 0,
33760 "properties" : {
33761 "node" : {
33762 "description" : "The cluster node name.",
33763 "format" : "pve-node",
013dc89f
DM
33764 "type" : "string",
33765 "typetext" : "<string>"
4d47f125
TL
33766 }
33767 }
33768 },
33769 "permissions" : {
33770 "check" : [
33771 "perm",
33772 "/",
33773 [
33774 "Sys.Audit",
33775 "Datastore.Audit"
33776 ],
33777 "any",
33778 1
33779 ]
33780 },
33781 "protected" : 1,
33782 "proxyto" : "node",
33783 "returns" : {
33784 "items" : {
33785 "properties" : {
33786 "alloc" : {
33787 "description" : "",
33788 "type" : "integer"
33789 },
33790 "dedup" : {
33791 "description" : "",
33792 "type" : "number"
33793 },
33794 "frag" : {
33795 "description" : "",
33796 "type" : "integer"
33797 },
33798 "free" : {
33799 "description" : "",
33800 "type" : "integer"
33801 },
33802 "health" : {
33803 "description" : "",
33804 "type" : "string"
33805 },
33806 "name" : {
33807 "description" : "",
33808 "type" : "string"
33809 },
33810 "size" : {
33811 "description" : "",
33812 "type" : "integer"
33813 }
33814 },
33815 "type" : "object"
33816 },
33817 "links" : [
33818 {
33819 "href" : "{name}",
33820 "rel" : "child"
33821 }
33822 ],
33823 "type" : "array"
33824 }
33825 },
33826 "POST" : {
e9cd3bd4 33827 "allowtoken" : 1,
4d47f125
TL
33828 "description" : "Create a ZFS pool.",
33829 "method" : "POST",
33830 "name" : "create",
33831 "parameters" : {
33832 "additionalProperties" : 0,
33833 "properties" : {
33834 "add_storage" : {
33835 "default" : 0,
33836 "description" : "Configure storage using the zpool.",
33837 "optional" : 1,
33838 "type" : "boolean",
33839 "typetext" : "<boolean>"
33840 },
33841 "ashift" : {
33842 "default" : 12,
33843 "description" : "Pool sector size exponent.",
33844 "maximum" : 16,
33845 "minimum" : 9,
33846 "optional" : 1,
33847 "type" : "integer",
33848 "typetext" : "<integer> (9 - 16)"
33849 },
33850 "compression" : {
33851 "default" : "on",
33852 "description" : "The compression algorithm to use.",
33853 "enum" : [
33854 "on",
33855 "off",
33856 "gzip",
33857 "lz4",
33858 "lzjb",
33859 "zle"
33860 ],
33861 "optional" : 1,
33862 "type" : "string"
33863 },
33864 "devices" : {
33865 "description" : "The block devices you want to create the zpool on.",
33866 "format" : "string-list",
33867 "type" : "string",
33868 "typetext" : "<string>"
44660702 33869 },
4d47f125 33870 "name" : {
44660702
DM
33871 "description" : "The storage identifier.",
33872 "format" : "pve-storage-id",
013dc89f
DM
33873 "type" : "string",
33874 "typetext" : "<string>"
4d47f125
TL
33875 },
33876 "node" : {
33877 "description" : "The cluster node name.",
33878 "format" : "pve-node",
33879 "type" : "string",
33880 "typetext" : "<string>"
33881 },
33882 "raidlevel" : {
33883 "description" : "The RAID level to use.",
33884 "enum" : [
33885 "single",
33886 "mirror",
33887 "raid10",
33888 "raidz",
33889 "raidz2",
33890 "raidz3"
33891 ],
33892 "type" : "string"
56122987
DM
33893 }
33894 }
44660702
DM
33895 },
33896 "permissions" : {
33897 "check" : [
33898 "perm",
4d47f125 33899 "/",
44660702 33900 [
4d47f125
TL
33901 "Sys.Modify",
33902 "Datastore.Allocate"
33903 ]
44660702
DM
33904 ]
33905 },
4d47f125
TL
33906 "protected" : 1,
33907 "proxyto" : "node",
44660702 33908 "returns" : {
4d47f125 33909 "type" : "string"
56122987
DM
33910 }
33911 }
44660702
DM
33912 },
33913 "leaf" : 0,
4d47f125
TL
33914 "path" : "/nodes/{node}/disks/zfs",
33915 "text" : "zfs"
33916 },
2c0dde61
DM
33917 {
33918 "info" : {
33919 "GET" : {
e9cd3bd4 33920 "allowtoken" : 1,
2c0dde61
DM
33921 "description" : "List local disks.",
33922 "method" : "GET",
33923 "name" : "list",
33924 "parameters" : {
33925 "additionalProperties" : 0,
33926 "properties" : {
33927 "node" : {
33928 "description" : "The cluster node name.",
33929 "format" : "pve-node",
013dc89f
DM
33930 "type" : "string",
33931 "typetext" : "<string>"
4d47f125
TL
33932 },
33933 "skipsmart" : {
33934 "default" : 0,
33935 "description" : "Skip smart checks.",
33936 "optional" : 1,
33937 "type" : "boolean",
33938 "typetext" : "<boolean>"
33939 },
33940 "type" : {
33941 "description" : "Only list specific types of disks.",
33942 "enum" : [
33943 "unused",
33944 "journal_disks"
33945 ],
33946 "optional" : 1,
33947 "type" : "string"
2c0dde61
DM
33948 }
33949 }
33950 },
33951 "permissions" : {
33952 "check" : [
33953 "perm",
33954 "/",
33955 [
33956 "Sys.Audit",
33957 "Datastore.Audit"
33958 ],
33959 "any",
33960 1
33961 ]
33962 },
33963 "protected" : 1,
33964 "proxyto" : "node",
33965 "returns" : {
33966 "items" : {
33967 "properties" : {
33968 "devpath" : {
33969 "description" : "The device path",
33970 "type" : "string"
33971 },
33972 "gpt" : {
33973 "type" : "boolean"
33974 },
33975 "health" : {
33976 "optional" : 1,
33977 "type" : "string"
33978 },
33979 "model" : {
33980 "optional" : 1,
33981 "type" : "string"
33982 },
33983 "osdid" : {
33984 "type" : "integer"
33985 },
33986 "serial" : {
33987 "optional" : 1,
33988 "type" : "string"
33989 },
33990 "size" : {
33991 "type" : "integer"
33992 },
33993 "used" : {
33994 "optional" : 1,
33995 "type" : "string"
33996 },
33997 "vendor" : {
33998 "optional" : 1,
33999 "type" : "string"
34000 },
34001 "wwn" : {
34002 "optional" : 1,
34003 "type" : "string"
34004 }
34005 },
34006 "type" : "object"
34007 },
34008 "type" : "array"
34009 }
34010 }
34011 },
34012 "leaf" : 1,
34013 "path" : "/nodes/{node}/disks/list",
34014 "text" : "list"
34015 },
34016 {
34017 "info" : {
34018 "GET" : {
e9cd3bd4 34019 "allowtoken" : 1,
2c0dde61
DM
34020 "description" : "Get SMART Health of a disk.",
34021 "method" : "GET",
34022 "name" : "smart",
34023 "parameters" : {
34024 "additionalProperties" : 0,
34025 "properties" : {
34026 "disk" : {
34027 "description" : "Block device name",
34028 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
34029 "type" : "string"
34030 },
34031 "healthonly" : {
34032 "description" : "If true returns only the health status",
34033 "optional" : 1,
013dc89f
DM
34034 "type" : "boolean",
34035 "typetext" : "<boolean>"
2c0dde61
DM
34036 },
34037 "node" : {
34038 "description" : "The cluster node name.",
34039 "format" : "pve-node",
013dc89f
DM
34040 "type" : "string",
34041 "typetext" : "<string>"
2c0dde61
DM
34042 }
34043 }
34044 },
34045 "permissions" : {
34046 "check" : [
34047 "perm",
34048 "/",
34049 [
34050 "Sys.Audit",
34051 "Datastore.Audit"
34052 ],
34053 "any",
34054 1
34055 ]
34056 },
34057 "protected" : 1,
34058 "proxyto" : "node",
34059 "returns" : {
de0983cb
DM
34060 "properties" : {
34061 "attributes" : {
34062 "optional" : 1,
34063 "type" : "array"
34064 },
34065 "health" : {
34066 "type" : "string"
34067 },
34068 "text" : {
34069 "optional" : 1,
34070 "type" : "string"
34071 },
34072 "type" : {
34073 "optional" : 1,
34074 "type" : "string"
34075 }
34076 },
2c0dde61
DM
34077 "type" : "object"
34078 }
34079 }
34080 },
34081 "leaf" : 1,
34082 "path" : "/nodes/{node}/disks/smart",
34083 "text" : "smart"
34084 },
34085 {
34086 "info" : {
34087 "POST" : {
e9cd3bd4 34088 "allowtoken" : 1,
2c0dde61
DM
34089 "description" : "Initialize Disk with GPT",
34090 "method" : "POST",
34091 "name" : "initgpt",
34092 "parameters" : {
34093 "additionalProperties" : 0,
34094 "properties" : {
34095 "disk" : {
34096 "description" : "Block device name",
34097 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
34098 "type" : "string"
34099 },
34100 "node" : {
34101 "description" : "The cluster node name.",
34102 "format" : "pve-node",
013dc89f
DM
34103 "type" : "string",
34104 "typetext" : "<string>"
2c0dde61
DM
34105 },
34106 "uuid" : {
34107 "description" : "UUID for the GPT table",
34108 "maxLength" : 36,
34109 "optional" : 1,
34110 "pattern" : "[a-fA-F0-9\\-]+",
34111 "type" : "string"
34112 }
34113 }
34114 },
34115 "permissions" : {
34116 "check" : [
34117 "perm",
34118 "/",
34119 [
34120 "Sys.Modify"
34121 ]
34122 ]
34123 },
34124 "protected" : 1,
34125 "proxyto" : "node",
34126 "returns" : {
34127 "type" : "string"
34128 }
34129 }
34130 },
34131 "leaf" : 1,
34132 "path" : "/nodes/{node}/disks/initgpt",
34133 "text" : "initgpt"
34134 }
34135 ],
34136 "info" : {
34137 "GET" : {
e9cd3bd4 34138 "allowtoken" : 1,
2c0dde61
DM
34139 "description" : "Node index.",
34140 "method" : "GET",
34141 "name" : "index",
34142 "parameters" : {
34143 "additionalProperties" : 0,
34144 "properties" : {
34145 "node" : {
34146 "description" : "The cluster node name.",
34147 "format" : "pve-node",
013dc89f
DM
34148 "type" : "string",
34149 "typetext" : "<string>"
2c0dde61
DM
34150 }
34151 }
34152 },
34153 "permissions" : {
34154 "user" : "all"
34155 },
34156 "proxyto" : "node",
34157 "returns" : {
34158 "items" : {
34159 "properties" : {},
34160 "type" : "object"
34161 },
34162 "links" : [
34163 {
34164 "href" : "{name}",
34165 "rel" : "child"
34166 }
34167 ],
34168 "type" : "array"
34169 }
34170 }
34171 },
34172 "leaf" : 0,
34173 "path" : "/nodes/{node}/disks",
34174 "text" : "disks"
34175 },
56122987 34176 {
56122987
DM
34177 "children" : [
34178 {
34179 "info" : {
44660702 34180 "GET" : {
e9cd3bd4 34181 "allowtoken" : 1,
44660702
DM
34182 "description" : "List available updates.",
34183 "method" : "GET",
34184 "name" : "list_updates",
34185 "parameters" : {
34186 "additionalProperties" : 0,
34187 "properties" : {
34188 "node" : {
34189 "description" : "The cluster node name.",
34190 "format" : "pve-node",
013dc89f
DM
34191 "type" : "string",
34192 "typetext" : "<string>"
44660702
DM
34193 }
34194 }
7aacca6f
DM
34195 },
34196 "permissions" : {
34197 "check" : [
34198 "perm",
34199 "/nodes/{node}",
34200 [
34201 "Sys.Modify"
34202 ]
34203 ]
34204 },
44660702 34205 "protected" : 1,
56122987 34206 "proxyto" : "node",
44660702
DM
34207 "returns" : {
34208 "items" : {
34209 "properties" : {},
34210 "type" : "object"
34211 },
34212 "type" : "array"
34213 }
34214 },
34215 "POST" : {
e9cd3bd4 34216 "allowtoken" : 1,
44660702 34217 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
34218 "method" : "POST",
34219 "name" : "update_database",
56122987
DM
34220 "parameters" : {
34221 "additionalProperties" : 0,
34222 "properties" : {
44660702
DM
34223 "node" : {
34224 "description" : "The cluster node name.",
34225 "format" : "pve-node",
013dc89f
DM
34226 "type" : "string",
34227 "typetext" : "<string>"
44660702 34228 },
56122987 34229 "notify" : {
56122987 34230 "default" : 0,
44660702
DM
34231 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
34232 "optional" : 1,
013dc89f
DM
34233 "type" : "boolean",
34234 "typetext" : "<boolean>"
56122987
DM
34235 },
34236 "quiet" : {
56122987 34237 "default" : 0,
44660702 34238 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 34239 "optional" : 1,
013dc89f
DM
34240 "type" : "boolean",
34241 "typetext" : "<boolean>"
56122987 34242 }
7aacca6f
DM
34243 }
34244 },
34245 "permissions" : {
34246 "check" : [
34247 "perm",
34248 "/nodes/{node}",
34249 [
34250 "Sys.Modify"
34251 ]
34252 ]
34253 },
44660702
DM
34254 "protected" : 1,
34255 "proxyto" : "node",
34256 "returns" : {
34257 "type" : "string"
34258 }
56122987
DM
34259 }
34260 },
7aacca6f 34261 "leaf" : 1,
44660702
DM
34262 "path" : "/nodes/{node}/apt/update",
34263 "text" : "update"
56122987
DM
34264 },
34265 {
56122987
DM
34266 "info" : {
34267 "GET" : {
e9cd3bd4 34268 "allowtoken" : 1,
44660702 34269 "description" : "Get package changelogs.",
56122987 34270 "method" : "GET",
7aacca6f 34271 "name" : "changelog",
56122987 34272 "parameters" : {
44660702 34273 "additionalProperties" : 0,
56122987
DM
34274 "properties" : {
34275 "name" : {
34276 "description" : "Package name.",
013dc89f
DM
34277 "type" : "string",
34278 "typetext" : "<string>"
56122987 34279 },
44660702
DM
34280 "node" : {
34281 "description" : "The cluster node name.",
34282 "format" : "pve-node",
013dc89f
DM
34283 "type" : "string",
34284 "typetext" : "<string>"
44660702 34285 },
56122987 34286 "version" : {
7aacca6f 34287 "description" : "Package version.",
44660702 34288 "optional" : 1,
013dc89f
DM
34289 "type" : "string",
34290 "typetext" : "<string>"
56122987 34291 }
44660702 34292 }
56122987 34293 },
44660702
DM
34294 "permissions" : {
34295 "check" : [
34296 "perm",
34297 "/nodes/{node}",
34298 [
34299 "Sys.Modify"
34300 ]
34301 ]
34302 },
34303 "proxyto" : "node",
34304 "returns" : {
34305 "type" : "string"
34306 }
56122987
DM
34307 }
34308 },
44660702
DM
34309 "leaf" : 1,
34310 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 34311 "text" : "changelog"
56122987
DM
34312 },
34313 {
56122987
DM
34314 "info" : {
34315 "GET" : {
e9cd3bd4 34316 "allowtoken" : 1,
44660702
DM
34317 "description" : "Get package information for important Proxmox packages.",
34318 "method" : "GET",
7aacca6f
DM
34319 "name" : "versions",
34320 "parameters" : {
44660702 34321 "additionalProperties" : 0,
7aacca6f
DM
34322 "properties" : {
34323 "node" : {
44660702 34324 "description" : "The cluster node name.",
7aacca6f 34325 "format" : "pve-node",
013dc89f
DM
34326 "type" : "string",
34327 "typetext" : "<string>"
7aacca6f 34328 }
44660702 34329 }
7aacca6f 34330 },
56122987
DM
34331 "permissions" : {
34332 "check" : [
34333 "perm",
34334 "/nodes/{node}",
34335 [
34336 "Sys.Audit"
34337 ]
34338 ]
34339 },
7aacca6f 34340 "proxyto" : "node",
56122987
DM
34341 "returns" : {
34342 "items" : {
7aacca6f
DM
34343 "properties" : {},
34344 "type" : "object"
44660702
DM
34345 },
34346 "type" : "array"
56122987
DM
34347 }
34348 }
34349 },
44660702 34350 "leaf" : 1,
7aacca6f 34351 "path" : "/nodes/{node}/apt/versions",
44660702 34352 "text" : "versions"
56122987
DM
34353 }
34354 ],
56122987
DM
34355 "info" : {
34356 "GET" : {
e9cd3bd4 34357 "allowtoken" : 1,
44660702 34358 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 34359 "method" : "GET",
44660702 34360 "name" : "index",
7aacca6f
DM
34361 "parameters" : {
34362 "additionalProperties" : 0,
34363 "properties" : {
34364 "node" : {
44660702 34365 "description" : "The cluster node name.",
7aacca6f 34366 "format" : "pve-node",
013dc89f
DM
34367 "type" : "string",
34368 "typetext" : "<string>"
7aacca6f
DM
34369 }
34370 }
34371 },
7aacca6f
DM
34372 "permissions" : {
34373 "user" : "all"
34374 },
44660702
DM
34375 "returns" : {
34376 "items" : {
34377 "properties" : {
34378 "id" : {
34379 "type" : "string"
34380 }
34381 },
34382 "type" : "object"
34383 },
34384 "links" : [
34385 {
34386 "href" : "{id}",
34387 "rel" : "child"
34388 }
34389 ],
34390 "type" : "array"
34391 }
56122987 34392 }
7aacca6f 34393 },
44660702 34394 "leaf" : 0,
7aacca6f 34395 "path" : "/nodes/{node}/apt",
44660702 34396 "text" : "apt"
56122987
DM
34397 },
34398 {
56122987
DM
34399 "children" : [
34400 {
34401 "children" : [
34402 {
56122987
DM
34403 "info" : {
34404 "DELETE" : {
e9cd3bd4 34405 "allowtoken" : 1,
44660702 34406 "description" : "Delete rule.",
7aacca6f 34407 "method" : "DELETE",
44660702 34408 "name" : "delete_rule",
56122987
DM
34409 "parameters" : {
34410 "additionalProperties" : 0,
34411 "properties" : {
56122987
DM
34412 "digest" : {
34413 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 34414 "maxLength" : 40,
56122987 34415 "optional" : 1,
013dc89f
DM
34416 "type" : "string",
34417 "typetext" : "<string>"
56122987 34418 },
44660702
DM
34419 "node" : {
34420 "description" : "The cluster node name.",
34421 "format" : "pve-node",
013dc89f
DM
34422 "type" : "string",
34423 "typetext" : "<string>"
44660702 34424 },
7aacca6f 34425 "pos" : {
7aacca6f 34426 "description" : "Update rule at position <pos>.",
44660702
DM
34427 "minimum" : 0,
34428 "optional" : 1,
4bd7df8b 34429 "type" : "integer",
013dc89f 34430 "typetext" : "<integer> (0 - N)"
56122987
DM
34431 }
34432 }
34433 },
44660702
DM
34434 "permissions" : {
34435 "check" : [
34436 "perm",
34437 "/nodes/{node}",
34438 [
34439 "Sys.Modify"
34440 ]
34441 ]
34442 },
34443 "protected" : 1,
34444 "proxyto" : "node",
56122987
DM
34445 "returns" : {
34446 "type" : "null"
44660702
DM
34447 }
34448 },
34449 "GET" : {
e9cd3bd4 34450 "allowtoken" : 1,
44660702
DM
34451 "description" : "Get single rule data.",
34452 "method" : "GET",
34453 "name" : "get_rule",
34454 "parameters" : {
34455 "additionalProperties" : 0,
34456 "properties" : {
34457 "node" : {
34458 "description" : "The cluster node name.",
34459 "format" : "pve-node",
013dc89f
DM
34460 "type" : "string",
34461 "typetext" : "<string>"
44660702
DM
34462 },
34463 "pos" : {
34464 "description" : "Update rule at position <pos>.",
34465 "minimum" : 0,
34466 "optional" : 1,
4bd7df8b 34467 "type" : "integer",
013dc89f 34468 "typetext" : "<integer> (0 - N)"
44660702
DM
34469 }
34470 }
56122987 34471 },
56122987
DM
34472 "permissions" : {
34473 "check" : [
34474 "perm",
34475 "/nodes/{node}",
34476 [
44660702 34477 "Sys.Audit"
56122987
DM
34478 ]
34479 ]
44660702
DM
34480 },
34481 "proxyto" : "node",
34482 "returns" : {
34483 "properties" : {
e2d681b3
TL
34484 "action" : {
34485 "type" : "string"
34486 },
34487 "comment" : {
34488 "optional" : 1,
34489 "type" : "string"
34490 },
34491 "dest" : {
34492 "optional" : 1,
34493 "type" : "string"
34494 },
34495 "dport" : {
34496 "optional" : 1,
34497 "type" : "string"
34498 },
34499 "enable" : {
34500 "optional" : 1,
34501 "type" : "integer"
34502 },
34503 "iface" : {
34504 "optional" : 1,
34505 "type" : "string"
34506 },
34507 "ipversion" : {
34508 "optional" : 1,
34509 "type" : "integer"
34510 },
95895385
TL
34511 "log" : {
34512 "description" : "Log level for firewall rule",
34513 "enum" : [
34514 "emerg",
34515 "alert",
34516 "crit",
34517 "err",
34518 "warning",
34519 "notice",
34520 "info",
34521 "debug",
34522 "nolog"
34523 ],
34524 "optional" : 1,
34525 "type" : "string"
34526 },
e2d681b3
TL
34527 "macro" : {
34528 "optional" : 1,
5f26e15b 34529 "type" : "string"
e2d681b3 34530 },
44660702
DM
34531 "pos" : {
34532 "type" : "integer"
e2d681b3
TL
34533 },
34534 "proto" : {
34535 "optional" : 1,
34536 "type" : "string"
34537 },
34538 "source" : {
34539 "optional" : 1,
34540 "type" : "string"
34541 },
34542 "sport" : {
34543 "optional" : 1,
34544 "type" : "string"
34545 },
34546 "type" : {
34547 "type" : "string"
44660702
DM
34548 }
34549 },
34550 "type" : "object"
7aacca6f 34551 }
56122987
DM
34552 },
34553 "PUT" : {
e9cd3bd4 34554 "allowtoken" : 1,
44660702
DM
34555 "description" : "Modify rule data.",
34556 "method" : "PUT",
56122987 34557 "name" : "update_rule",
56122987 34558 "parameters" : {
44660702 34559 "additionalProperties" : 0,
56122987 34560 "properties" : {
44660702
DM
34561 "action" : {
34562 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
34563 "maxLength" : 20,
34564 "minLength" : 2,
56122987 34565 "optional" : 1,
44660702
DM
34566 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
34567 "type" : "string"
56122987 34568 },
7aacca6f 34569 "comment" : {
e94f0d56 34570 "description" : "Descriptive comment.",
56122987 34571 "optional" : 1,
013dc89f
DM
34572 "type" : "string",
34573 "typetext" : "<string>"
56122987 34574 },
44660702
DM
34575 "delete" : {
34576 "description" : "A list of settings you want to delete.",
34577 "format" : "pve-configid-list",
56122987 34578 "optional" : 1,
013dc89f
DM
34579 "type" : "string",
34580 "typetext" : "<string>"
56122987 34581 },
44660702
DM
34582 "dest" : {
34583 "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.",
34584 "format" : "pve-fw-addr-spec",
56122987 34585 "optional" : 1,
013dc89f
DM
34586 "type" : "string",
34587 "typetext" : "<string>"
56122987 34588 },
44660702
DM
34589 "digest" : {
34590 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34591 "maxLength" : 40,
56122987 34592 "optional" : 1,
013dc89f
DM
34593 "type" : "string",
34594 "typetext" : "<string>"
56122987 34595 },
7aacca6f 34596 "dport" : {
7aacca6f 34597 "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
34598 "format" : "pve-fw-dport-spec",
34599 "optional" : 1,
013dc89f
DM
34600 "type" : "string",
34601 "typetext" : "<string>"
7aacca6f 34602 },
44660702 34603 "enable" : {
e94f0d56 34604 "description" : "Flag to enable/disable a rule.",
44660702 34605 "minimum" : 0,
56122987 34606 "optional" : 1,
4bd7df8b 34607 "type" : "integer",
013dc89f 34608 "typetext" : "<integer> (0 - N)"
56122987 34609 },
7aacca6f 34610 "iface" : {
44660702 34611 "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 34612 "format" : "pve-iface",
44660702 34613 "maxLength" : 20,
56122987 34614 "minLength" : 2,
44660702 34615 "optional" : 1,
013dc89f
DM
34616 "type" : "string",
34617 "typetext" : "<string>"
56122987 34618 },
95895385
TL
34619 "log" : {
34620 "description" : "Log level for firewall rule.",
34621 "enum" : [
34622 "emerg",
34623 "alert",
34624 "crit",
34625 "err",
34626 "warning",
34627 "notice",
34628 "info",
34629 "debug",
34630 "nolog"
34631 ],
34632 "optional" : 1,
34633 "type" : "string"
34634 },
44660702 34635 "macro" : {
e94f0d56 34636 "description" : "Use predefined standard macro.",
44660702
DM
34637 "maxLength" : 128,
34638 "optional" : 1,
013dc89f
DM
34639 "type" : "string",
34640 "typetext" : "<string>"
44660702
DM
34641 },
34642 "moveto" : {
34643 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
34644 "minimum" : 0,
7aacca6f 34645 "optional" : 1,
4bd7df8b 34646 "type" : "integer",
013dc89f 34647 "typetext" : "<integer> (0 - N)"
44660702
DM
34648 },
34649 "node" : {
34650 "description" : "The cluster node name.",
34651 "format" : "pve-node",
013dc89f
DM
34652 "type" : "string",
34653 "typetext" : "<string>"
56122987
DM
34654 },
34655 "pos" : {
44660702 34656 "description" : "Update rule at position <pos>.",
7aacca6f 34657 "minimum" : 0,
7aacca6f 34658 "optional" : 1,
4bd7df8b 34659 "type" : "integer",
013dc89f 34660 "typetext" : "<integer> (0 - N)"
7aacca6f 34661 },
44660702
DM
34662 "proto" : {
34663 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
34664 "format" : "pve-fw-protocol-spec",
7aacca6f 34665 "optional" : 1,
013dc89f
DM
34666 "type" : "string",
34667 "typetext" : "<string>"
7aacca6f 34668 },
44660702
DM
34669 "source" : {
34670 "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.",
34671 "format" : "pve-fw-addr-spec",
56122987 34672 "optional" : 1,
013dc89f
DM
34673 "type" : "string",
34674 "typetext" : "<string>"
7aacca6f 34675 },
44660702
DM
34676 "sport" : {
34677 "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.",
34678 "format" : "pve-fw-sport-spec",
34679 "optional" : 1,
013dc89f
DM
34680 "type" : "string",
34681 "typetext" : "<string>"
44660702
DM
34682 },
34683 "type" : {
e94f0d56 34684 "description" : "Rule type.",
44660702
DM
34685 "enum" : [
34686 "in",
34687 "out",
34688 "group"
34689 ],
34690 "optional" : 1,
34691 "type" : "string"
56122987 34692 }
44660702 34693 }
56122987 34694 },
56122987
DM
34695 "permissions" : {
34696 "check" : [
34697 "perm",
34698 "/nodes/{node}",
34699 [
34700 "Sys.Modify"
34701 ]
34702 ]
7aacca6f 34703 },
44660702 34704 "protected" : 1,
7aacca6f 34705 "proxyto" : "node",
7aacca6f
DM
34706 "returns" : {
34707 "type" : "null"
56122987
DM
34708 }
34709 }
7aacca6f 34710 },
44660702 34711 "leaf" : 1,
7aacca6f 34712 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 34713 "text" : "{pos}"
56122987
DM
34714 }
34715 ],
56122987
DM
34716 "info" : {
34717 "GET" : {
e9cd3bd4 34718 "allowtoken" : 1,
44660702
DM
34719 "description" : "List rules.",
34720 "method" : "GET",
34721 "name" : "get_rules",
34722 "parameters" : {
34723 "additionalProperties" : 0,
34724 "properties" : {
34725 "node" : {
34726 "description" : "The cluster node name.",
34727 "format" : "pve-node",
013dc89f
DM
34728 "type" : "string",
34729 "typetext" : "<string>"
44660702
DM
34730 }
34731 }
34732 },
34733 "permissions" : {
34734 "check" : [
34735 "perm",
34736 "/nodes/{node}",
34737 [
34738 "Sys.Audit"
34739 ]
34740 ]
34741 },
34742 "proxyto" : "node",
56122987 34743 "returns" : {
56122987
DM
34744 "items" : {
34745 "properties" : {
34746 "pos" : {
34747 "type" : "integer"
34748 }
44660702
DM
34749 },
34750 "type" : "object"
56122987 34751 },
7aacca6f
DM
34752 "links" : [
34753 {
34754 "href" : "{pos}",
34755 "rel" : "child"
34756 }
34757 ],
34758 "type" : "array"
44660702 34759 }
56122987
DM
34760 },
34761 "POST" : {
e9cd3bd4 34762 "allowtoken" : 1,
44660702 34763 "description" : "Create new rule.",
7aacca6f
DM
34764 "method" : "POST",
34765 "name" : "create_rule",
56122987 34766 "parameters" : {
44660702 34767 "additionalProperties" : 0,
56122987 34768 "properties" : {
7aacca6f 34769 "action" : {
7aacca6f 34770 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 34771 "maxLength" : 20,
7aacca6f
DM
34772 "minLength" : 2,
34773 "optional" : 0,
44660702
DM
34774 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
34775 "type" : "string"
56122987 34776 },
44660702 34777 "comment" : {
e94f0d56 34778 "description" : "Descriptive comment.",
56122987 34779 "optional" : 1,
013dc89f
DM
34780 "type" : "string",
34781 "typetext" : "<string>"
56122987 34782 },
44660702
DM
34783 "dest" : {
34784 "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.",
34785 "format" : "pve-fw-addr-spec",
7aacca6f 34786 "optional" : 1,
013dc89f
DM
34787 "type" : "string",
34788 "typetext" : "<string>"
56122987 34789 },
44660702
DM
34790 "digest" : {
34791 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
34792 "maxLength" : 40,
34793 "optional" : 1,
013dc89f
DM
34794 "type" : "string",
34795 "typetext" : "<string>"
56122987 34796 },
44660702
DM
34797 "dport" : {
34798 "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.",
34799 "format" : "pve-fw-dport-spec",
7aacca6f 34800 "optional" : 1,
013dc89f
DM
34801 "type" : "string",
34802 "typetext" : "<string>"
56122987 34803 },
44660702 34804 "enable" : {
e94f0d56 34805 "description" : "Flag to enable/disable a rule.",
44660702
DM
34806 "minimum" : 0,
34807 "optional" : 1,
4bd7df8b 34808 "type" : "integer",
013dc89f 34809 "typetext" : "<integer> (0 - N)"
44660702 34810 },
7aacca6f 34811 "iface" : {
44660702 34812 "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 34813 "format" : "pve-iface",
56122987 34814 "maxLength" : 20,
7aacca6f 34815 "minLength" : 2,
7aacca6f 34816 "optional" : 1,
013dc89f
DM
34817 "type" : "string",
34818 "typetext" : "<string>"
56122987 34819 },
95895385
TL
34820 "log" : {
34821 "description" : "Log level for firewall rule.",
34822 "enum" : [
34823 "emerg",
34824 "alert",
34825 "crit",
34826 "err",
34827 "warning",
34828 "notice",
34829 "info",
34830 "debug",
34831 "nolog"
34832 ],
34833 "optional" : 1,
34834 "type" : "string"
34835 },
44660702 34836 "macro" : {
e94f0d56 34837 "description" : "Use predefined standard macro.",
44660702 34838 "maxLength" : 128,
7aacca6f 34839 "optional" : 1,
013dc89f
DM
34840 "type" : "string",
34841 "typetext" : "<string>"
56122987 34842 },
44660702
DM
34843 "node" : {
34844 "description" : "The cluster node name.",
34845 "format" : "pve-node",
013dc89f
DM
34846 "type" : "string",
34847 "typetext" : "<string>"
44660702
DM
34848 },
34849 "pos" : {
34850 "description" : "Update rule at position <pos>.",
34851 "minimum" : 0,
34852 "optional" : 1,
4bd7df8b 34853 "type" : "integer",
013dc89f 34854 "typetext" : "<integer> (0 - N)"
44660702
DM
34855 },
34856 "proto" : {
34857 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
34858 "format" : "pve-fw-protocol-spec",
56122987 34859 "optional" : 1,
013dc89f
DM
34860 "type" : "string",
34861 "typetext" : "<string>"
56122987 34862 },
7aacca6f 34863 "source" : {
7aacca6f 34864 "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
34865 "format" : "pve-fw-addr-spec",
34866 "optional" : 1,
013dc89f
DM
34867 "type" : "string",
34868 "typetext" : "<string>"
7aacca6f 34869 },
44660702
DM
34870 "sport" : {
34871 "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.",
34872 "format" : "pve-fw-sport-spec",
7aacca6f 34873 "optional" : 1,
013dc89f
DM
34874 "type" : "string",
34875 "typetext" : "<string>"
44660702
DM
34876 },
34877 "type" : {
e94f0d56 34878 "description" : "Rule type.",
44660702
DM
34879 "enum" : [
34880 "in",
34881 "out",
34882 "group"
34883 ],
34884 "optional" : 0,
34885 "type" : "string"
56122987 34886 }
44660702 34887 }
7aacca6f 34888 },
56122987
DM
34889 "permissions" : {
34890 "check" : [
34891 "perm",
34892 "/nodes/{node}",
34893 [
34894 "Sys.Modify"
34895 ]
34896 ]
34897 },
44660702
DM
34898 "protected" : 1,
34899 "proxyto" : "node",
34900 "returns" : {
34901 "type" : "null"
34902 }
56122987
DM
34903 }
34904 },
44660702 34905 "leaf" : 0,
7aacca6f 34906 "path" : "/nodes/{node}/firewall/rules",
44660702 34907 "text" : "rules"
56122987
DM
34908 },
34909 {
56122987 34910 "info" : {
44660702 34911 "GET" : {
e9cd3bd4 34912 "allowtoken" : 1,
44660702
DM
34913 "description" : "Get host firewall options.",
34914 "method" : "GET",
34915 "name" : "get_options",
56122987 34916 "parameters" : {
7aacca6f 34917 "additionalProperties" : 0,
56122987 34918 "properties" : {
44660702
DM
34919 "node" : {
34920 "description" : "The cluster node name.",
34921 "format" : "pve-node",
013dc89f
DM
34922 "type" : "string",
34923 "typetext" : "<string>"
44660702
DM
34924 }
34925 }
34926 },
34927 "permissions" : {
34928 "check" : [
34929 "perm",
34930 "/nodes/{node}",
34931 [
34932 "Sys.Audit"
34933 ]
34934 ]
34935 },
34936 "proxyto" : "node",
34937 "returns" : {
34938 "properties" : {
34939 "enable" : {
34940 "description" : "Enable host firewall rules.",
7aacca6f 34941 "optional" : 1,
44660702 34942 "type" : "boolean"
7aacca6f 34943 },
44660702
DM
34944 "log_level_in" : {
34945 "description" : "Log level for incoming traffic.",
56122987
DM
34946 "enum" : [
34947 "emerg",
34948 "alert",
34949 "crit",
34950 "err",
34951 "warning",
34952 "notice",
34953 "info",
34954 "debug",
34955 "nolog"
34956 ],
56122987 34957 "optional" : 1,
44660702
DM
34958 "type" : "string"
34959 },
34960 "log_level_out" : {
34961 "description" : "Log level for outgoing traffic.",
56122987
DM
34962 "enum" : [
34963 "emerg",
34964 "alert",
34965 "crit",
34966 "err",
34967 "warning",
34968 "notice",
34969 "info",
34970 "debug",
34971 "nolog"
34972 ],
44660702
DM
34973 "optional" : 1,
34974 "type" : "string"
34975 },
95895385
TL
34976 "log_nf_conntrack" : {
34977 "default" : 0,
34978 "description" : "Enable logging of conntrack information.",
34979 "optional" : 1,
34980 "type" : "boolean"
34981 },
44660702 34982 "ndp" : {
5c1699e5
TL
34983 "default" : 0,
34984 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
34985 "optional" : 1,
34986 "type" : "boolean"
34987 },
5f26e15b
TL
34988 "nf_conntrack_allow_invalid" : {
34989 "default" : 0,
34990 "description" : "Allow invalid packets on connection tracking.",
34991 "optional" : 1,
34992 "type" : "boolean"
34993 },
44660702 34994 "nf_conntrack_max" : {
5c1699e5 34995 "default" : 262144,
44660702
DM
34996 "description" : "Maximum number of tracked connections.",
34997 "minimum" : 32768,
34998 "optional" : 1,
34999 "type" : "integer"
35000 },
35001 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 35002 "default" : 432000,
44660702
DM
35003 "description" : "Conntrack established timeout.",
35004 "minimum" : 7875,
35005 "optional" : 1,
35006 "type" : "integer"
35007 },
5c1699e5
TL
35008 "nf_conntrack_tcp_timeout_syn_recv" : {
35009 "default" : 60,
35010 "description" : "Conntrack syn recv timeout.",
35011 "maximum" : 60,
35012 "minimum" : 30,
35013 "optional" : 1,
35014 "type" : "integer"
35015 },
44660702
DM
35016 "nosmurfs" : {
35017 "description" : "Enable SMURFS filter.",
35018 "optional" : 1,
35019 "type" : "boolean"
56122987 35020 },
5c1699e5
TL
35021 "protection_synflood" : {
35022 "default" : 0,
35023 "description" : "Enable synflood protection",
35024 "optional" : 1,
35025 "type" : "boolean"
35026 },
35027 "protection_synflood_burst" : {
35028 "default" : 1000,
35029 "description" : "Synflood protection rate burst by ip src.",
35030 "optional" : 1,
35031 "type" : "integer"
35032 },
35033 "protection_synflood_rate" : {
35034 "default" : 200,
35035 "description" : "Synflood protection rate syn/sec by ip src.",
35036 "optional" : 1,
35037 "type" : "integer"
35038 },
7aacca6f 35039 "smurf_log_level" : {
44660702 35040 "description" : "Log level for SMURFS filter.",
56122987
DM
35041 "enum" : [
35042 "emerg",
35043 "alert",
35044 "crit",
35045 "err",
35046 "warning",
35047 "notice",
35048 "info",
35049 "debug",
35050 "nolog"
7aacca6f 35051 ],
7aacca6f
DM
35052 "optional" : 1,
35053 "type" : "string"
56122987 35054 },
44660702
DM
35055 "tcp_flags_log_level" : {
35056 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
35057 "enum" : [
35058 "emerg",
35059 "alert",
35060 "crit",
35061 "err",
35062 "warning",
35063 "notice",
35064 "info",
35065 "debug",
35066 "nolog"
35067 ],
44660702
DM
35068 "optional" : 1,
35069 "type" : "string"
7aacca6f 35070 },
44660702 35071 "tcpflags" : {
5c1699e5 35072 "default" : 0,
44660702 35073 "description" : "Filter illegal combinations of TCP flags.",
56122987 35074 "optional" : 1,
44660702 35075 "type" : "boolean"
56122987 35076 }
44660702
DM
35077 },
35078 "type" : "object"
7aacca6f 35079 }
56122987 35080 },
44660702 35081 "PUT" : {
e9cd3bd4 35082 "allowtoken" : 1,
44660702
DM
35083 "description" : "Set Firewall options.",
35084 "method" : "PUT",
35085 "name" : "set_options",
7aacca6f 35086 "parameters" : {
44660702 35087 "additionalProperties" : 0,
7aacca6f 35088 "properties" : {
44660702
DM
35089 "delete" : {
35090 "description" : "A list of settings you want to delete.",
35091 "format" : "pve-configid-list",
7aacca6f 35092 "optional" : 1,
013dc89f
DM
35093 "type" : "string",
35094 "typetext" : "<string>"
56122987 35095 },
44660702
DM
35096 "digest" : {
35097 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
35098 "maxLength" : 40,
35099 "optional" : 1,
013dc89f
DM
35100 "type" : "string",
35101 "typetext" : "<string>"
56122987 35102 },
44660702
DM
35103 "enable" : {
35104 "description" : "Enable host firewall rules.",
7aacca6f 35105 "optional" : 1,
013dc89f
DM
35106 "type" : "boolean",
35107 "typetext" : "<boolean>"
44660702
DM
35108 },
35109 "log_level_in" : {
35110 "description" : "Log level for incoming traffic.",
56122987
DM
35111 "enum" : [
35112 "emerg",
35113 "alert",
35114 "crit",
35115 "err",
35116 "warning",
35117 "notice",
35118 "info",
35119 "debug",
35120 "nolog"
44660702 35121 ],
7aacca6f 35122 "optional" : 1,
44660702 35123 "type" : "string"
7aacca6f 35124 },
44660702
DM
35125 "log_level_out" : {
35126 "description" : "Log level for outgoing traffic.",
56122987
DM
35127 "enum" : [
35128 "emerg",
35129 "alert",
35130 "crit",
35131 "err",
35132 "warning",
35133 "notice",
35134 "info",
35135 "debug",
35136 "nolog"
35137 ],
35138 "optional" : 1,
7aacca6f 35139 "type" : "string"
56122987 35140 },
95895385
TL
35141 "log_nf_conntrack" : {
35142 "default" : 0,
35143 "description" : "Enable logging of conntrack information.",
35144 "optional" : 1,
35145 "type" : "boolean",
35146 "typetext" : "<boolean>"
35147 },
44660702 35148 "ndp" : {
5c1699e5
TL
35149 "default" : 0,
35150 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 35151 "optional" : 1,
013dc89f
DM
35152 "type" : "boolean",
35153 "typetext" : "<boolean>"
44660702 35154 },
5f26e15b
TL
35155 "nf_conntrack_allow_invalid" : {
35156 "default" : 0,
35157 "description" : "Allow invalid packets on connection tracking.",
35158 "optional" : 1,
35159 "type" : "boolean",
35160 "typetext" : "<boolean>"
35161 },
44660702 35162 "nf_conntrack_max" : {
5c1699e5 35163 "default" : 262144,
44660702
DM
35164 "description" : "Maximum number of tracked connections.",
35165 "minimum" : 32768,
35166 "optional" : 1,
4bd7df8b 35167 "type" : "integer",
013dc89f 35168 "typetext" : "<integer> (32768 - N)"
44660702
DM
35169 },
35170 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 35171 "default" : 432000,
44660702
DM
35172 "description" : "Conntrack established timeout.",
35173 "minimum" : 7875,
35174 "optional" : 1,
4bd7df8b 35175 "type" : "integer",
013dc89f 35176 "typetext" : "<integer> (7875 - N)"
44660702 35177 },
5c1699e5
TL
35178 "nf_conntrack_tcp_timeout_syn_recv" : {
35179 "default" : 60,
35180 "description" : "Conntrack syn recv timeout.",
35181 "maximum" : 60,
35182 "minimum" : 30,
35183 "optional" : 1,
35184 "type" : "integer",
35185 "typetext" : "<integer> (30 - 60)"
35186 },
44660702
DM
35187 "node" : {
35188 "description" : "The cluster node name.",
35189 "format" : "pve-node",
013dc89f
DM
35190 "type" : "string",
35191 "typetext" : "<string>"
44660702
DM
35192 },
35193 "nosmurfs" : {
35194 "description" : "Enable SMURFS filter.",
35195 "optional" : 1,
013dc89f
DM
35196 "type" : "boolean",
35197 "typetext" : "<boolean>"
44660702 35198 },
5c1699e5
TL
35199 "protection_synflood" : {
35200 "default" : 0,
35201 "description" : "Enable synflood protection",
35202 "optional" : 1,
35203 "type" : "boolean",
35204 "typetext" : "<boolean>"
35205 },
35206 "protection_synflood_burst" : {
35207 "default" : 1000,
35208 "description" : "Synflood protection rate burst by ip src.",
35209 "optional" : 1,
35210 "type" : "integer",
35211 "typetext" : "<integer>"
35212 },
35213 "protection_synflood_rate" : {
35214 "default" : 200,
35215 "description" : "Synflood protection rate syn/sec by ip src.",
35216 "optional" : 1,
35217 "type" : "integer",
35218 "typetext" : "<integer>"
35219 },
44660702
DM
35220 "smurf_log_level" : {
35221 "description" : "Log level for SMURFS filter.",
56122987
DM
35222 "enum" : [
35223 "emerg",
35224 "alert",
35225 "crit",
35226 "err",
35227 "warning",
35228 "notice",
35229 "info",
35230 "debug",
35231 "nolog"
44660702
DM
35232 ],
35233 "optional" : 1,
35234 "type" : "string"
56122987 35235 },
44660702
DM
35236 "tcp_flags_log_level" : {
35237 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
35238 "enum" : [
35239 "emerg",
35240 "alert",
35241 "crit",
35242 "err",
35243 "warning",
35244 "notice",
35245 "info",
35246 "debug",
35247 "nolog"
35248 ],
44660702
DM
35249 "optional" : 1,
35250 "type" : "string"
7aacca6f 35251 },
44660702 35252 "tcpflags" : {
5c1699e5 35253 "default" : 0,
44660702 35254 "description" : "Filter illegal combinations of TCP flags.",
56122987 35255 "optional" : 1,
013dc89f
DM
35256 "type" : "boolean",
35257 "typetext" : "<boolean>"
56122987 35258 }
7aacca6f 35259 }
56122987 35260 },
44660702
DM
35261 "permissions" : {
35262 "check" : [
35263 "perm",
35264 "/nodes/{node}",
35265 [
35266 "Sys.Modify"
35267 ]
35268 ]
35269 },
35270 "protected" : 1,
35271 "proxyto" : "node",
35272 "returns" : {
35273 "type" : "null"
35274 }
7aacca6f
DM
35275 }
35276 },
44660702
DM
35277 "leaf" : 1,
35278 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
35279 "text" : "options"
35280 },
35281 {
7aacca6f
DM
35282 "info" : {
35283 "GET" : {
e9cd3bd4 35284 "allowtoken" : 1,
44660702
DM
35285 "description" : "Read firewall log",
35286 "method" : "GET",
7aacca6f 35287 "name" : "log",
56122987 35288 "parameters" : {
44660702 35289 "additionalProperties" : 0,
56122987 35290 "properties" : {
7aacca6f 35291 "limit" : {
44660702 35292 "minimum" : 0,
7aacca6f 35293 "optional" : 1,
4bd7df8b 35294 "type" : "integer",
013dc89f 35295 "typetext" : "<integer> (0 - N)"
7aacca6f 35296 },
56122987 35297 "node" : {
7aacca6f 35298 "description" : "The cluster node name.",
44660702 35299 "format" : "pve-node",
013dc89f
DM
35300 "type" : "string",
35301 "typetext" : "<string>"
44660702
DM
35302 },
35303 "start" : {
35304 "minimum" : 0,
35305 "optional" : 1,
4bd7df8b 35306 "type" : "integer",
013dc89f 35307 "typetext" : "<integer> (0 - N)"
56122987 35308 }
44660702 35309 }
7aacca6f 35310 },
56122987
DM
35311 "permissions" : {
35312 "check" : [
35313 "perm",
35314 "/nodes/{node}",
35315 [
35316 "Sys.Syslog"
35317 ]
35318 ]
35319 },
44660702
DM
35320 "protected" : 1,
35321 "proxyto" : "node",
56122987
DM
35322 "returns" : {
35323 "items" : {
56122987 35324 "properties" : {
56122987 35325 "n" : {
44660702
DM
35326 "description" : "Line number",
35327 "type" : "integer"
7aacca6f
DM
35328 },
35329 "t" : {
44660702
DM
35330 "description" : "Line text",
35331 "type" : "string"
56122987 35332 }
44660702
DM
35333 },
35334 "type" : "object"
56122987
DM
35335 },
35336 "type" : "array"
7aacca6f 35337 }
56122987
DM
35338 }
35339 },
44660702
DM
35340 "leaf" : 1,
35341 "path" : "/nodes/{node}/firewall/log",
7aacca6f 35342 "text" : "log"
56122987
DM
35343 }
35344 ],
35345 "info" : {
35346 "GET" : {
e9cd3bd4 35347 "allowtoken" : 1,
44660702
DM
35348 "description" : "Directory index.",
35349 "method" : "GET",
35350 "name" : "index",
56122987 35351 "parameters" : {
44660702 35352 "additionalProperties" : 0,
56122987
DM
35353 "properties" : {
35354 "node" : {
35355 "description" : "The cluster node name.",
44660702 35356 "format" : "pve-node",
013dc89f
DM
35357 "type" : "string",
35358 "typetext" : "<string>"
56122987 35359 }
44660702 35360 }
56122987 35361 },
7aacca6f
DM
35362 "permissions" : {
35363 "user" : "all"
35364 },
56122987
DM
35365 "returns" : {
35366 "items" : {
35367 "properties" : {},
35368 "type" : "object"
35369 },
56122987
DM
35370 "links" : [
35371 {
44660702
DM
35372 "href" : "{name}",
35373 "rel" : "child"
56122987 35374 }
44660702
DM
35375 ],
35376 "type" : "array"
35377 }
56122987 35378 }
7aacca6f 35379 },
44660702 35380 "leaf" : 0,
7aacca6f 35381 "path" : "/nodes/{node}/firewall",
44660702 35382 "text" : "firewall"
56122987 35383 },
5d9c884c
DM
35384 {
35385 "children" : [
35386 {
35387 "children" : [
35388 {
35389 "info" : {
35390 "GET" : {
e9cd3bd4 35391 "allowtoken" : 1,
5d9c884c
DM
35392 "description" : "Get replication job status.",
35393 "method" : "GET",
35394 "name" : "job_status",
35395 "parameters" : {
35396 "additionalProperties" : 0,
35397 "properties" : {
35398 "id" : {
35399 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
35400 "format" : "pve-replication-job-id",
35401 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
35402 "type" : "string"
35403 },
35404 "node" : {
35405 "description" : "The cluster node name.",
35406 "format" : "pve-node",
35407 "type" : "string",
35408 "typetext" : "<string>"
35409 }
35410 }
35411 },
35412 "permissions" : {
35413 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
35414 "user" : "all"
35415 },
35416 "protected" : 1,
35417 "proxyto" : "node",
35418 "returns" : {
5d9c884c
DM
35419 "type" : "object"
35420 }
35421 }
35422 },
35423 "leaf" : 1,
35424 "path" : "/nodes/{node}/replication/{id}/status",
35425 "text" : "status"
35426 },
35427 {
35428 "info" : {
35429 "GET" : {
e9cd3bd4 35430 "allowtoken" : 1,
5d9c884c
DM
35431 "description" : "Read replication job log.",
35432 "method" : "GET",
35433 "name" : "read_job_log",
35434 "parameters" : {
35435 "additionalProperties" : 0,
35436 "properties" : {
35437 "id" : {
35438 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
35439 "format" : "pve-replication-job-id",
35440 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
35441 "type" : "string"
35442 },
35443 "limit" : {
35444 "minimum" : 0,
35445 "optional" : 1,
35446 "type" : "integer",
35447 "typetext" : "<integer> (0 - N)"
35448 },
35449 "node" : {
35450 "description" : "The cluster node name.",
35451 "format" : "pve-node",
35452 "type" : "string",
35453 "typetext" : "<string>"
35454 },
35455 "start" : {
35456 "minimum" : 0,
35457 "optional" : 1,
35458 "type" : "integer",
35459 "typetext" : "<integer> (0 - N)"
35460 }
35461 }
35462 },
35463 "permissions" : {
35464 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
35465 "user" : "all"
35466 },
35467 "protected" : 1,
35468 "proxyto" : "node",
35469 "returns" : {
35470 "items" : {
35471 "properties" : {
35472 "n" : {
35473 "description" : "Line number",
35474 "type" : "integer"
35475 },
35476 "t" : {
35477 "description" : "Line text",
35478 "type" : "string"
35479 }
35480 },
35481 "type" : "object"
35482 },
35483 "type" : "array"
35484 }
35485 }
35486 },
35487 "leaf" : 1,
35488 "path" : "/nodes/{node}/replication/{id}/log",
35489 "text" : "log"
35490 },
35491 {
35492 "info" : {
35493 "POST" : {
e9cd3bd4 35494 "allowtoken" : 1,
5d9c884c
DM
35495 "description" : "Schedule replication job to start as soon as possible.",
35496 "method" : "POST",
35497 "name" : "schedule_now",
35498 "parameters" : {
35499 "additionalProperties" : 0,
35500 "properties" : {
35501 "id" : {
35502 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
35503 "format" : "pve-replication-job-id",
35504 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
35505 "type" : "string"
35506 },
35507 "node" : {
35508 "description" : "The cluster node name.",
35509 "format" : "pve-node",
35510 "type" : "string",
35511 "typetext" : "<string>"
35512 }
35513 }
35514 },
35515 "permissions" : {
35516 "check" : [
35517 "perm",
35518 "/storage",
35519 [
35520 "Datastore.Allocate"
35521 ]
35522 ]
35523 },
35524 "protected" : 1,
35525 "proxyto" : "node",
35526 "returns" : {
35527 "type" : "string"
35528 }
35529 }
35530 },
35531 "leaf" : 1,
35532 "path" : "/nodes/{node}/replication/{id}/schedule_now",
35533 "text" : "schedule_now"
35534 }
35535 ],
35536 "info" : {
35537 "GET" : {
e9cd3bd4 35538 "allowtoken" : 1,
5d9c884c
DM
35539 "description" : "Directory index.",
35540 "method" : "GET",
35541 "name" : "index",
35542 "parameters" : {
35543 "additionalProperties" : 0,
35544 "properties" : {
35545 "id" : {
35546 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
35547 "format" : "pve-replication-job-id",
35548 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
35549 "type" : "string"
35550 },
35551 "node" : {
35552 "description" : "The cluster node name.",
35553 "format" : "pve-node",
35554 "type" : "string",
35555 "typetext" : "<string>"
35556 }
35557 }
35558 },
35559 "permissions" : {
35560 "user" : "all"
35561 },
35562 "returns" : {
35563 "items" : {
35564 "properties" : {},
35565 "type" : "object"
35566 },
35567 "links" : [
35568 {
35569 "href" : "{name}",
35570 "rel" : "child"
35571 }
35572 ],
35573 "type" : "array"
35574 }
35575 }
35576 },
35577 "leaf" : 0,
35578 "path" : "/nodes/{node}/replication/{id}",
35579 "text" : "{id}"
35580 }
35581 ],
35582 "info" : {
35583 "GET" : {
e9cd3bd4 35584 "allowtoken" : 1,
5d9c884c
DM
35585 "description" : "List status of all replication jobs on this node.",
35586 "method" : "GET",
35587 "name" : "status",
35588 "parameters" : {
35589 "additionalProperties" : 0,
35590 "properties" : {
35591 "guest" : {
35592 "description" : "Only list replication jobs for this guest.",
35593 "format" : "pve-vmid",
35594 "minimum" : 1,
35595 "optional" : 1,
35596 "type" : "integer",
35597 "typetext" : "<integer> (1 - N)"
35598 },
35599 "node" : {
35600 "description" : "The cluster node name.",
35601 "format" : "pve-node",
35602 "type" : "string",
35603 "typetext" : "<string>"
35604 }
35605 }
35606 },
35607 "permissions" : {
35608 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
35609 "user" : "all"
35610 },
35611 "protected" : 1,
35612 "proxyto" : "node",
35613 "returns" : {
35614 "items" : {
35615 "properties" : {
35616 "id" : {
35617 "type" : "string"
35618 }
35619 },
35620 "type" : "object"
35621 },
35622 "links" : [
35623 {
35624 "href" : "{id}",
35625 "rel" : "child"
35626 }
35627 ],
35628 "type" : "array"
35629 }
35630 }
35631 },
35632 "leaf" : 0,
35633 "path" : "/nodes/{node}/replication",
35634 "text" : "replication"
35635 },
a9a8e3d1
DM
35636 {
35637 "children" : [
35638 {
35639 "children" : [
35640 {
35641 "info" : {
35642 "DELETE" : {
e9cd3bd4 35643 "allowtoken" : 1,
a9a8e3d1
DM
35644 "description" : "Revoke existing certificate from CA.",
35645 "method" : "DELETE",
35646 "name" : "revoke_certificate",
35647 "parameters" : {
35648 "additionalProperties" : 0,
35649 "properties" : {
35650 "node" : {
35651 "description" : "The cluster node name.",
35652 "format" : "pve-node",
35653 "type" : "string",
35654 "typetext" : "<string>"
35655 }
35656 }
35657 },
35658 "protected" : 1,
35659 "proxyto" : "node",
35660 "returns" : {
35661 "type" : "string"
35662 }
35663 },
35664 "POST" : {
e9cd3bd4 35665 "allowtoken" : 1,
a9a8e3d1
DM
35666 "description" : "Order a new certificate from ACME-compatible CA.",
35667 "method" : "POST",
35668 "name" : "new_certificate",
35669 "parameters" : {
35670 "additionalProperties" : 0,
35671 "properties" : {
35672 "force" : {
35673 "default" : 0,
35674 "description" : "Overwrite existing custom certificate.",
35675 "optional" : 1,
35676 "type" : "boolean",
35677 "typetext" : "<boolean>"
35678 },
35679 "node" : {
35680 "description" : "The cluster node name.",
35681 "format" : "pve-node",
35682 "type" : "string",
35683 "typetext" : "<string>"
35684 }
35685 }
35686 },
35687 "protected" : 1,
35688 "proxyto" : "node",
35689 "returns" : {
35690 "type" : "string"
35691 }
35692 },
35693 "PUT" : {
e9cd3bd4 35694 "allowtoken" : 1,
a9a8e3d1
DM
35695 "description" : "Renew existing certificate from CA.",
35696 "method" : "PUT",
35697 "name" : "renew_certificate",
35698 "parameters" : {
35699 "additionalProperties" : 0,
35700 "properties" : {
35701 "force" : {
35702 "default" : 0,
35703 "description" : "Force renewal even if expiry is more than 30 days away.",
35704 "optional" : 1,
35705 "type" : "boolean",
35706 "typetext" : "<boolean>"
35707 },
35708 "node" : {
35709 "description" : "The cluster node name.",
35710 "format" : "pve-node",
35711 "type" : "string",
35712 "typetext" : "<string>"
35713 }
35714 }
35715 },
35716 "protected" : 1,
35717 "proxyto" : "node",
35718 "returns" : {
35719 "type" : "string"
35720 }
35721 }
35722 },
35723 "leaf" : 1,
35724 "path" : "/nodes/{node}/certificates/acme/certificate",
35725 "text" : "certificate"
35726 }
35727 ],
35728 "info" : {
35729 "GET" : {
e9cd3bd4 35730 "allowtoken" : 1,
a9a8e3d1
DM
35731 "description" : "ACME index.",
35732 "method" : "GET",
35733 "name" : "index",
35734 "parameters" : {
35735 "additionalProperties" : 0,
35736 "properties" : {
35737 "node" : {
35738 "description" : "The cluster node name.",
35739 "format" : "pve-node",
35740 "type" : "string",
35741 "typetext" : "<string>"
35742 }
35743 }
35744 },
35745 "permissions" : {
35746 "user" : "all"
35747 },
35748 "returns" : {
35749 "items" : {
35750 "properties" : {},
35751 "type" : "object"
35752 },
35753 "links" : [
35754 {
35755 "href" : "{name}",
35756 "rel" : "child"
35757 }
35758 ],
35759 "type" : "array"
35760 }
35761 }
35762 },
35763 "leaf" : 0,
35764 "path" : "/nodes/{node}/certificates/acme",
35765 "text" : "acme"
35766 },
35767 {
35768 "info" : {
35769 "GET" : {
e9cd3bd4 35770 "allowtoken" : 1,
a9a8e3d1
DM
35771 "description" : "Get information about node's certificates.",
35772 "method" : "GET",
35773 "name" : "info",
35774 "parameters" : {
35775 "additionalProperties" : 0,
35776 "properties" : {
35777 "node" : {
35778 "description" : "The cluster node name.",
35779 "format" : "pve-node",
35780 "type" : "string",
35781 "typetext" : "<string>"
35782 }
35783 }
35784 },
35785 "permissions" : {
35786 "user" : "all"
35787 },
35788 "proxyto" : "node",
35789 "returns" : {
35790 "items" : {
35791 "properties" : {
35792 "filename" : {
35793 "optional" : 1,
35794 "type" : "string"
35795 },
35796 "fingerprint" : {
35797 "description" : "Certificate SHA 256 fingerprint.",
35798 "optional" : 1,
35799 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
35800 "type" : "string"
35801 },
35802 "issuer" : {
35803 "description" : "Certificate issuer name.",
35804 "optional" : 1,
35805 "type" : "string"
35806 },
35807 "notafter" : {
35808 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
35809 "optional" : 1,
4d47f125 35810 "renderer" : "timestamp",
a9a8e3d1
DM
35811 "type" : "integer"
35812 },
35813 "notbefore" : {
35814 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
35815 "optional" : 1,
4d47f125 35816 "renderer" : "timestamp",
a9a8e3d1
DM
35817 "type" : "integer"
35818 },
35819 "pem" : {
35820 "description" : "Certificate in PEM format",
35821 "format" : "pem-certificate",
35822 "optional" : 1,
35823 "type" : "string"
35824 },
1c532546
TL
35825 "public-key-bits" : {
35826 "description" : "Certificate's public key size",
35827 "optional" : 1,
35828 "type" : "integer"
35829 },
35830 "public-key-type" : {
35831 "description" : "Certificate's public key algorithm",
35832 "optional" : 1,
35833 "type" : "string"
35834 },
a9a8e3d1
DM
35835 "san" : {
35836 "description" : "List of Certificate's SubjectAlternativeName entries.",
35837 "items" : {
35838 "type" : "string"
35839 },
35840 "optional" : 1,
4d47f125 35841 "renderer" : "yaml",
a9a8e3d1
DM
35842 "type" : "array"
35843 },
35844 "subject" : {
35845 "description" : "Certificate subject name.",
35846 "optional" : 1,
35847 "type" : "string"
35848 }
35849 },
35850 "type" : "object"
35851 },
35852 "type" : "array"
35853 }
35854 }
35855 },
35856 "leaf" : 1,
35857 "path" : "/nodes/{node}/certificates/info",
35858 "text" : "info"
35859 },
35860 {
35861 "info" : {
35862 "DELETE" : {
e9cd3bd4 35863 "allowtoken" : 1,
a9a8e3d1
DM
35864 "description" : "DELETE custom certificate chain and key.",
35865 "method" : "DELETE",
35866 "name" : "remove_custom_cert",
35867 "parameters" : {
35868 "additionalProperties" : 0,
35869 "properties" : {
35870 "node" : {
35871 "description" : "The cluster node name.",
35872 "format" : "pve-node",
35873 "type" : "string",
35874 "typetext" : "<string>"
35875 },
35876 "restart" : {
35877 "default" : 0,
35878 "description" : "Restart pveproxy.",
35879 "optional" : 1,
35880 "type" : "boolean",
35881 "typetext" : "<boolean>"
35882 }
35883 }
35884 },
35885 "protected" : 1,
35886 "proxyto" : "node",
35887 "returns" : {
35888 "type" : "null"
35889 }
35890 },
35891 "POST" : {
e9cd3bd4 35892 "allowtoken" : 1,
a9a8e3d1
DM
35893 "description" : "Upload or update custom certificate chain and key.",
35894 "method" : "POST",
35895 "name" : "upload_custom_cert",
35896 "parameters" : {
35897 "additionalProperties" : 0,
35898 "properties" : {
35899 "certificates" : {
35900 "description" : "PEM encoded certificate (chain).",
35901 "format" : "pem-certificate-chain",
35902 "type" : "string",
35903 "typetext" : "<string>"
35904 },
35905 "force" : {
35906 "default" : 0,
35907 "description" : "Overwrite existing custom or ACME certificate files.",
35908 "optional" : 1,
35909 "type" : "boolean",
35910 "typetext" : "<boolean>"
35911 },
35912 "key" : {
35913 "description" : "PEM encoded private key.",
35914 "format" : "pem-string",
35915 "optional" : 1,
35916 "type" : "string",
35917 "typetext" : "<string>"
35918 },
35919 "node" : {
35920 "description" : "The cluster node name.",
35921 "format" : "pve-node",
35922 "type" : "string",
35923 "typetext" : "<string>"
35924 },
35925 "restart" : {
35926 "default" : 0,
35927 "description" : "Restart pveproxy.",
35928 "optional" : 1,
35929 "type" : "boolean",
35930 "typetext" : "<boolean>"
35931 }
35932 }
35933 },
35934 "protected" : 1,
35935 "proxyto" : "node",
35936 "returns" : {
35937 "properties" : {
35938 "filename" : {
35939 "optional" : 1,
35940 "type" : "string"
35941 },
35942 "fingerprint" : {
35943 "description" : "Certificate SHA 256 fingerprint.",
35944 "optional" : 1,
35945 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
35946 "type" : "string"
35947 },
35948 "issuer" : {
35949 "description" : "Certificate issuer name.",
35950 "optional" : 1,
35951 "type" : "string"
35952 },
35953 "notafter" : {
35954 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
35955 "optional" : 1,
4d47f125 35956 "renderer" : "timestamp",
a9a8e3d1
DM
35957 "type" : "integer"
35958 },
35959 "notbefore" : {
35960 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
35961 "optional" : 1,
4d47f125 35962 "renderer" : "timestamp",
a9a8e3d1
DM
35963 "type" : "integer"
35964 },
35965 "pem" : {
35966 "description" : "Certificate in PEM format",
35967 "format" : "pem-certificate",
35968 "optional" : 1,
35969 "type" : "string"
35970 },
1c532546
TL
35971 "public-key-bits" : {
35972 "description" : "Certificate's public key size",
35973 "optional" : 1,
35974 "type" : "integer"
35975 },
35976 "public-key-type" : {
35977 "description" : "Certificate's public key algorithm",
35978 "optional" : 1,
35979 "type" : "string"
35980 },
a9a8e3d1
DM
35981 "san" : {
35982 "description" : "List of Certificate's SubjectAlternativeName entries.",
35983 "items" : {
35984 "type" : "string"
35985 },
35986 "optional" : 1,
4d47f125 35987 "renderer" : "yaml",
a9a8e3d1
DM
35988 "type" : "array"
35989 },
35990 "subject" : {
35991 "description" : "Certificate subject name.",
35992 "optional" : 1,
35993 "type" : "string"
35994 }
35995 },
35996 "type" : "object"
35997 }
35998 }
35999 },
36000 "leaf" : 1,
36001 "path" : "/nodes/{node}/certificates/custom",
36002 "text" : "custom"
36003 }
36004 ],
36005 "info" : {
36006 "GET" : {
e9cd3bd4 36007 "allowtoken" : 1,
a9a8e3d1
DM
36008 "description" : "Node index.",
36009 "method" : "GET",
36010 "name" : "index",
36011 "parameters" : {
36012 "additionalProperties" : 0,
36013 "properties" : {
36014 "node" : {
36015 "description" : "The cluster node name.",
36016 "format" : "pve-node",
36017 "type" : "string",
36018 "typetext" : "<string>"
36019 }
36020 }
36021 },
36022 "permissions" : {
36023 "user" : "all"
36024 },
36025 "returns" : {
36026 "items" : {
36027 "properties" : {},
36028 "type" : "object"
36029 },
36030 "links" : [
36031 {
36032 "href" : "{name}",
36033 "rel" : "child"
36034 }
36035 ],
36036 "type" : "array"
36037 }
36038 }
36039 },
36040 "leaf" : 0,
c5aa7e14
TL
36041 "path" : "/nodes/{node}/certificates",
36042 "text" : "certificates"
36043 },
36044 {
36045 "info" : {
36046 "GET" : {
36047 "allowtoken" : 1,
36048 "description" : "Get node configuration options.",
36049 "method" : "GET",
36050 "name" : "get_config",
36051 "parameters" : {
36052 "additionalProperties" : 0,
36053 "properties" : {
36054 "node" : {
36055 "description" : "The cluster node name.",
36056 "format" : "pve-node",
36057 "type" : "string",
36058 "typetext" : "<string>"
36059 },
36060 "property" : {
36061 "default" : "all",
36062 "description" : "Return only a specific property from the node configuration.",
36063 "enum" : [
36064 "acme",
36065 "acmedomain0",
36066 "acmedomain1",
36067 "acmedomain2",
36068 "acmedomain3",
36069 "acmedomain4",
36070 "acmedomain5",
36071 "description",
36072 "startall-onboot-delay",
36073 "wakeonlan"
36074 ],
36075 "optional" : 1,
36076 "type" : "string"
36077 }
36078 }
36079 },
36080 "permissions" : {
36081 "check" : [
36082 "perm",
36083 "/",
36084 [
36085 "Sys.Audit"
36086 ]
36087 ]
36088 },
36089 "proxyto" : "node",
36090 "returns" : {
36091 "type" : "object"
36092 }
36093 },
36094 "PUT" : {
36095 "allowtoken" : 1,
36096 "description" : "Set node configuration options.",
36097 "method" : "PUT",
36098 "name" : "set_options",
36099 "parameters" : {
36100 "additionalProperties" : 0,
36101 "properties" : {
36102 "acme" : {
36103 "description" : "Node specific ACME settings.",
36104 "format" : {
36105 "account" : {
36106 "default" : "default",
36107 "description" : "ACME account config file name.",
36108 "format" : "pve-configid",
36109 "format_description" : "name",
36110 "optional" : 1,
36111 "type" : "string"
36112 },
36113 "domains" : {
36114 "description" : "List of domains for this node's ACME certificate",
36115 "format" : "pve-acme-domain-list",
36116 "format_description" : "domain[;domain;...]",
36117 "optional" : 1,
36118 "type" : "string"
36119 }
36120 },
36121 "optional" : 1,
36122 "type" : "string",
36123 "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]"
36124 },
36125 "acmedomain[n]" : {
36126 "description" : "ACME domain and validation plugin",
36127 "format" : {
36128 "alias" : {
36129 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
36130 "format" : "pve-acme-domain",
36131 "format_description" : "domain",
36132 "optional" : 1,
36133 "type" : "string"
36134 },
36135 "domain" : {
36136 "default_key" : 1,
36137 "description" : "domain for this node's ACME certificate",
36138 "format" : "pve-acme-domain",
36139 "format_description" : "domain",
36140 "type" : "string"
36141 },
36142 "plugin" : {
36143 "default" : "standalone",
36144 "description" : "The ACME plugin ID",
36145 "format" : "pve-configid",
36146 "format_description" : "name of the plugin configuration",
36147 "optional" : 1,
36148 "type" : "string"
36149 }
36150 },
36151 "optional" : 1,
36152 "type" : "string",
36153 "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
36154 },
36155 "delete" : {
36156 "description" : "A list of settings you want to delete.",
36157 "format" : "pve-configid-list",
36158 "optional" : 1,
36159 "type" : "string",
36160 "typetext" : "<string>"
36161 },
36162 "description" : {
36163 "description" : "Node description/comment.",
36164 "optional" : 1,
36165 "type" : "string",
36166 "typetext" : "<string>"
36167 },
36168 "digest" : {
36169 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
36170 "maxLength" : 40,
36171 "optional" : 1,
36172 "type" : "string",
36173 "typetext" : "<string>"
36174 },
36175 "node" : {
36176 "description" : "The cluster node name.",
36177 "format" : "pve-node",
36178 "type" : "string",
36179 "typetext" : "<string>"
36180 },
36181 "startall-onboot-delay" : {
36182 "default" : 0,
36183 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
36184 "maximum" : 300,
36185 "minimum" : 0,
36186 "optional" : 1,
36187 "type" : "integer",
36188 "typetext" : "<integer> (0 - 300)"
36189 },
36190 "wakeonlan" : {
36191 "description" : "MAC address for wake on LAN",
36192 "format" : "mac-addr",
36193 "optional" : 1,
36194 "type" : "string",
36195 "typetext" : "<string>"
36196 }
36197 }
36198 },
36199 "permissions" : {
36200 "check" : [
36201 "perm",
36202 "/",
36203 [
36204 "Sys.Modify"
36205 ]
36206 ]
36207 },
36208 "protected" : 1,
36209 "proxyto" : "node",
36210 "returns" : {
36211 "type" : "null"
36212 }
36213 }
36214 },
36215 "leaf" : 1,
36216 "path" : "/nodes/{node}/config",
36217 "text" : "config"
36218 },
36219 {
36220 "children" : [
36221 {
36222 "children" : [
36223 {
36224 "children" : [
36225 {
36226 "info" : {
36227 "GET" : {
36228 "allowtoken" : 1,
36229 "description" : "List zone content.",
36230 "method" : "GET",
36231 "name" : "index",
36232 "parameters" : {
36233 "additionalProperties" : 0,
36234 "properties" : {
36235 "node" : {
36236 "description" : "The cluster node name.",
36237 "format" : "pve-node",
36238 "type" : "string",
36239 "typetext" : "<string>"
36240 },
36241 "zone" : {
36242 "description" : "The SDN zone object identifier.",
36243 "format" : "pve-sdn-zone-id",
36244 "type" : "string",
36245 "typetext" : "<string>"
36246 }
36247 }
36248 },
36249 "permissions" : {
36250 "check" : [
36251 "perm",
36252 "/sdn/zones/{zone}",
36253 [
36254 "SDN.Audit"
36255 ],
36256 "any",
36257 1
36258 ]
36259 },
36260 "protected" : 1,
36261 "proxyto" : "node",
36262 "returns" : {
36263 "items" : {
36264 "properties" : {
36265 "status" : {
36266 "description" : "Status.",
36267 "optional" : 1,
36268 "type" : "string"
36269 },
36270 "statusmsg" : {
36271 "description" : "Status details",
36272 "optional" : 1,
36273 "type" : "string"
36274 },
36275 "vnet" : {
36276 "description" : "Vnet identifier.",
36277 "type" : "string"
36278 }
36279 },
36280 "type" : "object"
36281 },
36282 "links" : [
36283 {
36284 "href" : "{vnet}",
36285 "rel" : "child"
36286 }
36287 ],
36288 "type" : "array"
36289 }
36290 }
36291 },
36292 "leaf" : 1,
36293 "path" : "/nodes/{node}/sdn/zones/{zone}/content",
36294 "text" : "content"
36295 }
36296 ],
36297 "info" : {
36298 "GET" : {
36299 "allowtoken" : 1,
36300 "description" : "",
36301 "method" : "GET",
36302 "name" : "diridx",
36303 "parameters" : {
36304 "additionalProperties" : 0,
36305 "properties" : {
36306 "node" : {
36307 "description" : "The cluster node name.",
36308 "format" : "pve-node",
36309 "type" : "string",
36310 "typetext" : "<string>"
36311 },
36312 "zone" : {
36313 "description" : "The SDN zone object identifier.",
36314 "format" : "pve-sdn-zone-id",
36315 "type" : "string",
36316 "typetext" : "<string>"
36317 }
36318 }
36319 },
36320 "permissions" : {
36321 "check" : [
36322 "perm",
36323 "/sdn/zones/{zone}",
36324 [
36325 "SDN.Audit"
36326 ],
36327 "any",
36328 1
36329 ]
36330 },
36331 "returns" : {
36332 "items" : {
36333 "properties" : {
36334 "subdir" : {
36335 "type" : "string"
36336 }
36337 },
36338 "type" : "object"
36339 },
36340 "links" : [
36341 {
36342 "href" : "{subdir}",
36343 "rel" : "child"
36344 }
36345 ],
36346 "type" : "array"
36347 }
36348 }
36349 },
36350 "leaf" : 0,
36351 "path" : "/nodes/{node}/sdn/zones/{zone}",
36352 "text" : "{zone}"
36353 }
36354 ],
36355 "info" : {
36356 "GET" : {
36357 "allowtoken" : 1,
36358 "description" : "Get status for all zones.",
36359 "method" : "GET",
36360 "name" : "index",
36361 "parameters" : {
36362 "additionalProperties" : 0,
36363 "properties" : {
36364 "node" : {
36365 "description" : "The cluster node name.",
36366 "format" : "pve-node",
36367 "type" : "string",
36368 "typetext" : "<string>"
36369 }
36370 }
36371 },
36372 "permissions" : {
36373 "description" : "Only list entries where you have 'SDN.Audit'",
36374 "user" : "all"
36375 },
36376 "protected" : 1,
36377 "proxyto" : "node",
36378 "returns" : {
36379 "items" : {
36380 "properties" : {
36381 "status" : {
36382 "description" : "Status of zone",
36383 "type" : "string"
36384 },
36385 "zone" : {
36386 "description" : "The SDN zone object identifier.",
36387 "format" : "pve-sdn-zone-id",
36388 "type" : "string"
36389 }
36390 },
36391 "type" : "object"
36392 },
36393 "links" : [
36394 {
36395 "href" : "{zone}",
36396 "rel" : "child"
36397 }
36398 ],
36399 "type" : "array"
36400 }
36401 }
36402 },
36403 "leaf" : 0,
36404 "path" : "/nodes/{node}/sdn/zones",
36405 "text" : "zones"
36406 }
36407 ],
36408 "info" : {
36409 "GET" : {
36410 "allowtoken" : 1,
36411 "description" : "SDN index.",
36412 "method" : "GET",
36413 "name" : "sdnindex",
36414 "parameters" : {
36415 "additionalProperties" : 0,
36416 "properties" : {
36417 "node" : {
36418 "description" : "The cluster node name.",
36419 "format" : "pve-node",
36420 "type" : "string",
36421 "typetext" : "<string>"
36422 }
36423 }
36424 },
36425 "permissions" : {
36426 "user" : "all"
36427 },
36428 "returns" : {
36429 "items" : {
36430 "properties" : {},
36431 "type" : "object"
36432 },
36433 "links" : [
36434 {
36435 "href" : "{name}",
36436 "rel" : "child"
36437 }
36438 ],
36439 "type" : "array"
36440 }
36441 }
36442 },
36443 "leaf" : 0,
36444 "path" : "/nodes/{node}/sdn",
36445 "text" : "sdn"
a9a8e3d1 36446 },
56122987 36447 {
56122987
DM
36448 "info" : {
36449 "GET" : {
e9cd3bd4 36450 "allowtoken" : 1,
44660702
DM
36451 "description" : "API version details",
36452 "method" : "GET",
36453 "name" : "version",
56122987 36454 "parameters" : {
44660702 36455 "additionalProperties" : 0,
56122987
DM
36456 "properties" : {
36457 "node" : {
56122987 36458 "description" : "The cluster node name.",
44660702 36459 "format" : "pve-node",
013dc89f
DM
36460 "type" : "string",
36461 "typetext" : "<string>"
56122987 36462 }
44660702 36463 }
56122987 36464 },
56122987 36465 "permissions" : {
7aacca6f 36466 "user" : "all"
56122987 36467 },
56122987 36468 "proxyto" : "node",
56122987 36469 "returns" : {
56122987 36470 "properties" : {
44660702 36471 "release" : {
1e3f8156 36472 "description" : "The current installed Proxmox VE Release",
56122987
DM
36473 "type" : "string"
36474 },
44660702 36475 "repoid" : {
1e3f8156 36476 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
36477 "type" : "string"
36478 },
36479 "version" : {
1e3f8156 36480 "description" : "The current installed pve-manager package version",
7aacca6f
DM
36481 "type" : "string"
36482 }
44660702
DM
36483 },
36484 "type" : "object"
7aacca6f 36485 }
56122987
DM
36486 }
36487 },
56122987 36488 "leaf" : 1,
44660702
DM
36489 "path" : "/nodes/{node}/version",
36490 "text" : "version"
56122987
DM
36491 },
36492 {
56122987
DM
36493 "info" : {
36494 "GET" : {
e9cd3bd4 36495 "allowtoken" : 1,
7aacca6f 36496 "description" : "Read node status",
44660702 36497 "method" : "GET",
7aacca6f 36498 "name" : "status",
56122987 36499 "parameters" : {
44660702 36500 "additionalProperties" : 0,
56122987
DM
36501 "properties" : {
36502 "node" : {
7aacca6f 36503 "description" : "The cluster node name.",
44660702 36504 "format" : "pve-node",
013dc89f
DM
36505 "type" : "string",
36506 "typetext" : "<string>"
56122987 36507 }
44660702 36508 }
56122987 36509 },
56122987
DM
36510 "permissions" : {
36511 "check" : [
36512 "perm",
36513 "/nodes/{node}",
36514 [
36515 "Sys.Audit"
36516 ]
36517 ]
44660702
DM
36518 },
36519 "proxyto" : "node",
36520 "returns" : {
44660702 36521 "type" : "object"
7aacca6f
DM
36522 }
36523 },
36524 "POST" : {
e9cd3bd4 36525 "allowtoken" : 1,
44660702
DM
36526 "description" : "Reboot or shutdown a node.",
36527 "method" : "POST",
7aacca6f 36528 "name" : "node_cmd",
56122987 36529 "parameters" : {
44660702 36530 "additionalProperties" : 0,
56122987 36531 "properties" : {
7aacca6f
DM
36532 "command" : {
36533 "description" : "Specify the command.",
56122987 36534 "enum" : [
7aacca6f
DM
36535 "reboot",
36536 "shutdown"
56122987
DM
36537 ],
36538 "type" : "string"
44660702
DM
36539 },
36540 "node" : {
36541 "description" : "The cluster node name.",
36542 "format" : "pve-node",
013dc89f
DM
36543 "type" : "string",
36544 "typetext" : "<string>"
56122987 36545 }
44660702 36546 }
7aacca6f 36547 },
7aacca6f
DM
36548 "permissions" : {
36549 "check" : [
36550 "perm",
36551 "/nodes/{node}",
36552 [
36553 "Sys.PowerMgmt"
36554 ]
36555 ]
36556 },
44660702 36557 "protected" : 1,
7aacca6f 36558 "proxyto" : "node",
7aacca6f
DM
36559 "returns" : {
36560 "type" : "null"
56122987
DM
36561 }
36562 }
36563 },
7aacca6f 36564 "leaf" : 1,
44660702
DM
36565 "path" : "/nodes/{node}/status",
36566 "text" : "status"
56122987
DM
36567 },
36568 {
56122987
DM
36569 "info" : {
36570 "GET" : {
e9cd3bd4 36571 "allowtoken" : 1,
44660702
DM
36572 "description" : "Read tap/vm network device interface counters",
36573 "method" : "GET",
36574 "name" : "netstat",
36575 "parameters" : {
36576 "additionalProperties" : 0,
36577 "properties" : {
36578 "node" : {
36579 "description" : "The cluster node name.",
36580 "format" : "pve-node",
013dc89f
DM
36581 "type" : "string",
36582 "typetext" : "<string>"
44660702 36583 }
56122987
DM
36584 }
36585 },
36586 "permissions" : {
36587 "check" : [
36588 "perm",
36589 "/nodes/{node}",
36590 [
7aacca6f 36591 "Sys.Audit"
56122987
DM
36592 ]
36593 ]
36594 },
7aacca6f 36595 "proxyto" : "node",
44660702
DM
36596 "returns" : {
36597 "items" : {
36598 "properties" : {},
36599 "type" : "object"
36600 },
36601 "type" : "array"
36602 }
7aacca6f
DM
36603 }
36604 },
44660702
DM
36605 "leaf" : 1,
36606 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
36607 "text" : "netstat"
36608 },
36609 {
36610 "info" : {
36611 "POST" : {
e9cd3bd4 36612 "allowtoken" : 1,
7aacca6f 36613 "description" : "Execute multiple commands in order.",
7aacca6f 36614 "method" : "POST",
7aacca6f 36615 "name" : "execute",
56122987
DM
36616 "parameters" : {
36617 "additionalProperties" : 0,
36618 "properties" : {
7aacca6f
DM
36619 "commands" : {
36620 "description" : "JSON encoded array of commands.",
013dc89f
DM
36621 "type" : "string",
36622 "typetext" : "<string>"
56122987
DM
36623 },
36624 "node" : {
44660702 36625 "description" : "The cluster node name.",
56122987 36626 "format" : "pve-node",
013dc89f
DM
36627 "type" : "string",
36628 "typetext" : "<string>"
56122987
DM
36629 }
36630 }
44660702
DM
36631 },
36632 "permissions" : {
36633 "check" : [
36634 "perm",
36635 "/nodes/{node}",
36636 [
36637 "Sys.Audit"
36638 ]
36639 ]
36640 },
36641 "protected" : 1,
36642 "proxyto" : "node",
36643 "returns" : {
44660702 36644 "type" : "array"
56122987
DM
36645 }
36646 }
36647 },
56122987 36648 "leaf" : 1,
44660702
DM
36649 "path" : "/nodes/{node}/execute",
36650 "text" : "execute"
56122987 36651 },
5f26e15b
TL
36652 {
36653 "info" : {
36654 "POST" : {
e9cd3bd4 36655 "allowtoken" : 1,
5f26e15b
TL
36656 "description" : "Try to wake a node via 'wake on LAN' network packet.",
36657 "method" : "POST",
36658 "name" : "wakeonlan",
36659 "parameters" : {
36660 "additionalProperties" : 0,
36661 "properties" : {
36662 "node" : {
36663 "description" : "target node for wake on LAN packet",
36664 "format" : "pve-node",
36665 "type" : "string",
36666 "typetext" : "<string>"
36667 }
36668 }
36669 },
36670 "permissions" : {
36671 "check" : [
36672 "perm",
36673 "/nodes/{node}",
36674 [
36675 "Sys.PowerMgmt"
36676 ]
36677 ]
36678 },
36679 "protected" : 1,
36680 "returns" : {
36681 "description" : "MAC address used to assemble the WoL magic packet.",
36682 "format" : "mac-addr",
36683 "type" : "string"
36684 }
36685 }
36686 },
36687 "leaf" : 1,
36688 "path" : "/nodes/{node}/wakeonlan",
36689 "text" : "wakeonlan"
36690 },
56122987
DM
36691 {
36692 "info" : {
7aacca6f 36693 "GET" : {
e9cd3bd4 36694 "allowtoken" : 1,
44660702
DM
36695 "description" : "Read node RRD statistics (returns PNG)",
36696 "method" : "GET",
7aacca6f 36697 "name" : "rrd",
56122987 36698 "parameters" : {
7aacca6f 36699 "additionalProperties" : 0,
56122987 36700 "properties" : {
44660702
DM
36701 "cf" : {
36702 "description" : "The RRD consolidation function",
36703 "enum" : [
36704 "AVERAGE",
36705 "MAX"
36706 ],
36707 "optional" : 1,
36708 "type" : "string"
36709 },
7aacca6f 36710 "ds" : {
7aacca6f 36711 "description" : "The list of datasources you want to display.",
44660702 36712 "format" : "pve-configid-list",
013dc89f
DM
36713 "type" : "string",
36714 "typetext" : "<string>"
44660702
DM
36715 },
36716 "node" : {
36717 "description" : "The cluster node name.",
36718 "format" : "pve-node",
013dc89f
DM
36719 "type" : "string",
36720 "typetext" : "<string>"
7aacca6f
DM
36721 },
36722 "timeframe" : {
36723 "description" : "Specify the time frame you are interested in.",
36724 "enum" : [
36725 "hour",
36726 "day",
36727 "week",
36728 "month",
36729 "year"
36730 ],
36731 "type" : "string"
56122987 36732 }
7aacca6f 36733 }
56122987 36734 },
56122987 36735 "permissions" : {
56122987
DM
36736 "check" : [
36737 "perm",
36738 "/nodes/{node}",
36739 [
7aacca6f 36740 "Sys.Audit"
56122987
DM
36741 ]
36742 ]
36743 },
7aacca6f 36744 "protected" : 1,
56122987 36745 "returns" : {
56122987 36746 "properties" : {
7aacca6f 36747 "filename" : {
56122987
DM
36748 "type" : "string"
36749 }
44660702
DM
36750 },
36751 "type" : "object"
36752 }
56122987
DM
36753 }
36754 },
44660702 36755 "leaf" : 1,
7aacca6f 36756 "path" : "/nodes/{node}/rrd",
44660702 36757 "text" : "rrd"
56122987
DM
36758 },
36759 {
36760 "info" : {
7aacca6f 36761 "GET" : {
e9cd3bd4 36762 "allowtoken" : 1,
44660702
DM
36763 "description" : "Read node RRD statistics",
36764 "method" : "GET",
7aacca6f 36765 "name" : "rrddata",
56122987 36766 "parameters" : {
44660702 36767 "additionalProperties" : 0,
56122987 36768 "properties" : {
7aacca6f 36769 "cf" : {
7aacca6f
DM
36770 "description" : "The RRD consolidation function",
36771 "enum" : [
36772 "AVERAGE",
36773 "MAX"
44660702
DM
36774 ],
36775 "optional" : 1,
36776 "type" : "string"
56122987
DM
36777 },
36778 "node" : {
44660702 36779 "description" : "The cluster node name.",
56122987 36780 "format" : "pve-node",
013dc89f
DM
36781 "type" : "string",
36782 "typetext" : "<string>"
56122987 36783 },
7aacca6f 36784 "timeframe" : {
7aacca6f
DM
36785 "description" : "Specify the time frame you are interested in.",
36786 "enum" : [
36787 "hour",
36788 "day",
36789 "week",
36790 "month",
36791 "year"
44660702
DM
36792 ],
36793 "type" : "string"
56122987 36794 }
56122987
DM
36795 }
36796 },
56122987
DM
36797 "permissions" : {
36798 "check" : [
36799 "perm",
36800 "/nodes/{node}",
36801 [
44660702 36802 "Sys.Audit"
56122987
DM
36803 ]
36804 ]
7aacca6f 36805 },
44660702 36806 "protected" : 1,
56122987 36807 "returns" : {
7aacca6f 36808 "items" : {
44660702 36809 "properties" : {},
7aacca6f
DM
36810 "type" : "object"
36811 },
36812 "type" : "array"
44660702
DM
36813 }
36814 }
36815 },
36816 "leaf" : 1,
36817 "path" : "/nodes/{node}/rrddata",
36818 "text" : "rrddata"
36819 },
36820 {
36821 "info" : {
36822 "GET" : {
e9cd3bd4 36823 "allowtoken" : 1,
44660702
DM
36824 "description" : "Read system log",
36825 "method" : "GET",
36826 "name" : "syslog",
56122987 36827 "parameters" : {
44660702 36828 "additionalProperties" : 0,
56122987 36829 "properties" : {
44660702
DM
36830 "limit" : {
36831 "minimum" : 0,
7aacca6f 36832 "optional" : 1,
4bd7df8b 36833 "type" : "integer",
013dc89f 36834 "typetext" : "<integer> (0 - N)"
7aacca6f 36835 },
56122987 36836 "node" : {
7aacca6f 36837 "description" : "The cluster node name.",
44660702 36838 "format" : "pve-node",
013dc89f
DM
36839 "type" : "string",
36840 "typetext" : "<string>"
56122987 36841 },
35a75dd3
DM
36842 "service" : {
36843 "description" : "Service ID",
36844 "maxLength" : 128,
36845 "optional" : 1,
36846 "type" : "string",
36847 "typetext" : "<string>"
36848 },
44660702
DM
36849 "since" : {
36850 "description" : "Display all log since this date-time string.",
36851 "optional" : 1,
36852 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
36853 "type" : "string"
36854 },
36855 "start" : {
7aacca6f
DM
36856 "minimum" : 0,
36857 "optional" : 1,
4bd7df8b 36858 "type" : "integer",
013dc89f 36859 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
36860 },
36861 "until" : {
36862 "description" : "Display all log until this date-time string.",
7aacca6f 36863 "optional" : 1,
44660702 36864 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
36865 "type" : "string"
36866 }
44660702 36867 }
56122987 36868 },
44660702
DM
36869 "permissions" : {
36870 "check" : [
36871 "perm",
36872 "/nodes/{node}",
36873 [
36874 "Sys.Syslog"
36875 ]
36876 ]
36877 },
36878 "protected" : 1,
36879 "proxyto" : "node",
36880 "returns" : {
36881 "items" : {
36882 "properties" : {
36883 "n" : {
36884 "description" : "Line number",
36885 "type" : "integer"
36886 },
36887 "t" : {
36888 "description" : "Line text",
36889 "type" : "string"
36890 }
36891 },
36892 "type" : "object"
36893 },
36894 "type" : "array"
36895 }
56122987
DM
36896 }
36897 },
44660702
DM
36898 "leaf" : 1,
36899 "path" : "/nodes/{node}/syslog",
7aacca6f 36900 "text" : "syslog"
56122987 36901 },
bb4c8cf8
TL
36902 {
36903 "info" : {
36904 "GET" : {
e9cd3bd4 36905 "allowtoken" : 1,
bb4c8cf8
TL
36906 "description" : "Read Journal",
36907 "method" : "GET",
36908 "name" : "journal",
36909 "parameters" : {
36910 "additionalProperties" : 0,
36911 "properties" : {
36912 "endcursor" : {
36913 "description" : "End before the given Cursor. Conflicts with 'until'",
36914 "optional" : 1,
36915 "type" : "string",
36916 "typetext" : "<string>"
36917 },
36918 "lastentries" : {
36919 "description" : "Limit to the last X lines. Conflicts with a range.",
36920 "minimum" : 0,
36921 "optional" : 1,
36922 "type" : "integer",
36923 "typetext" : "<integer> (0 - N)"
36924 },
36925 "node" : {
36926 "description" : "The cluster node name.",
36927 "format" : "pve-node",
36928 "type" : "string",
36929 "typetext" : "<string>"
36930 },
36931 "since" : {
36932 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
36933 "minimum" : 0,
36934 "optional" : 1,
36935 "type" : "integer",
36936 "typetext" : "<integer> (0 - N)"
36937 },
36938 "startcursor" : {
36939 "description" : "Start after the given Cursor. Conflicts with 'since'",
36940 "optional" : 1,
36941 "type" : "string",
36942 "typetext" : "<string>"
36943 },
36944 "until" : {
36945 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
36946 "minimum" : 0,
36947 "optional" : 1,
36948 "type" : "integer",
36949 "typetext" : "<integer> (0 - N)"
36950 }
36951 }
36952 },
36953 "permissions" : {
36954 "check" : [
36955 "perm",
36956 "/nodes/{node}",
36957 [
36958 "Sys.Syslog"
36959 ]
36960 ]
36961 },
36962 "protected" : 1,
36963 "proxyto" : "node",
36964 "returns" : {
36965 "items" : {
36966 "type" : "string"
36967 },
36968 "type" : "array"
36969 }
36970 }
36971 },
36972 "leaf" : 1,
36973 "path" : "/nodes/{node}/journal",
36974 "text" : "journal"
36975 },
56122987 36976 {
56122987
DM
36977 "info" : {
36978 "POST" : {
e9cd3bd4 36979 "allowtoken" : 1,
44660702
DM
36980 "description" : "Creates a VNC Shell proxy.",
36981 "method" : "POST",
36982 "name" : "vncshell",
36983 "parameters" : {
36984 "additionalProperties" : 0,
56122987 36985 "properties" : {
95895385
TL
36986 "cmd" : {
36987 "default" : "login",
36988 "description" : "Run specific command or default to login.",
36989 "enum" : [
e9cd3bd4 36990 "upgrade",
c5aa7e14
TL
36991 "ceph_install",
36992 "login"
95895385
TL
36993 ],
36994 "optional" : 1,
36995 "type" : "string"
36996 },
5d9c884c
DM
36997 "height" : {
36998 "description" : "sets the height of the console in pixels.",
36999 "maximum" : 2160,
37000 "minimum" : 16,
37001 "optional" : 1,
37002 "type" : "integer",
37003 "typetext" : "<integer> (16 - 2160)"
37004 },
44660702
DM
37005 "node" : {
37006 "description" : "The cluster node name.",
37007 "format" : "pve-node",
013dc89f
DM
37008 "type" : "string",
37009 "typetext" : "<string>"
7aacca6f 37010 },
44660702
DM
37011 "upgrade" : {
37012 "default" : 0,
95895385 37013 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 37014 "optional" : 1,
013dc89f
DM
37015 "type" : "boolean",
37016 "typetext" : "<boolean>"
7aacca6f 37017 },
44660702
DM
37018 "websocket" : {
37019 "description" : "use websocket instead of standard vnc.",
37020 "optional" : 1,
013dc89f
DM
37021 "type" : "boolean",
37022 "typetext" : "<boolean>"
5d9c884c
DM
37023 },
37024 "width" : {
37025 "description" : "sets the width of the console in pixels.",
37026 "maximum" : 4096,
37027 "minimum" : 16,
37028 "optional" : 1,
37029 "type" : "integer",
37030 "typetext" : "<integer> (16 - 4096)"
56122987 37031 }
44660702 37032 }
56122987 37033 },
56122987
DM
37034 "permissions" : {
37035 "check" : [
37036 "perm",
7aacca6f 37037 "/nodes/{node}",
56122987 37038 [
7aacca6f 37039 "Sys.Console"
56122987 37040 ]
44660702
DM
37041 ],
37042 "description" : "Restricted to users on realm 'pam'"
56122987 37043 },
44660702
DM
37044 "protected" : 1,
37045 "returns" : {
37046 "additionalProperties" : 0,
56122987 37047 "properties" : {
44660702
DM
37048 "cert" : {
37049 "type" : "string"
7aacca6f 37050 },
44660702
DM
37051 "port" : {
37052 "type" : "integer"
7aacca6f 37053 },
44660702
DM
37054 "ticket" : {
37055 "type" : "string"
37056 },
37057 "upid" : {
37058 "type" : "string"
37059 },
37060 "user" : {
37061 "type" : "string"
56122987 37062 }
44660702
DM
37063 }
37064 }
56122987
DM
37065 }
37066 },
7aacca6f 37067 "leaf" : 1,
44660702
DM
37068 "path" : "/nodes/{node}/vncshell",
37069 "text" : "vncshell"
56122987 37070 },
35a75dd3
DM
37071 {
37072 "info" : {
37073 "POST" : {
e9cd3bd4 37074 "allowtoken" : 1,
35a75dd3
DM
37075 "description" : "Creates a VNC Shell proxy.",
37076 "method" : "POST",
37077 "name" : "termproxy",
37078 "parameters" : {
37079 "additionalProperties" : 0,
37080 "properties" : {
95895385
TL
37081 "cmd" : {
37082 "default" : "login",
37083 "description" : "Run specific command or default to login.",
37084 "enum" : [
e9cd3bd4 37085 "upgrade",
c5aa7e14
TL
37086 "ceph_install",
37087 "login"
95895385
TL
37088 ],
37089 "optional" : 1,
37090 "type" : "string"
37091 },
35a75dd3
DM
37092 "node" : {
37093 "description" : "The cluster node name.",
37094 "format" : "pve-node",
37095 "type" : "string",
37096 "typetext" : "<string>"
37097 },
37098 "upgrade" : {
37099 "default" : 0,
95895385 37100 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
37101 "optional" : 1,
37102 "type" : "boolean",
37103 "typetext" : "<boolean>"
37104 }
37105 }
37106 },
37107 "permissions" : {
37108 "check" : [
37109 "perm",
37110 "/nodes/{node}",
37111 [
37112 "Sys.Console"
37113 ]
37114 ],
37115 "description" : "Restricted to users on realm 'pam'"
37116 },
37117 "protected" : 1,
37118 "returns" : {
37119 "additionalProperties" : 0,
37120 "properties" : {
37121 "port" : {
37122 "type" : "integer"
37123 },
37124 "ticket" : {
37125 "type" : "string"
37126 },
37127 "upid" : {
37128 "type" : "string"
37129 },
37130 "user" : {
37131 "type" : "string"
37132 }
37133 }
37134 }
37135 }
37136 },
37137 "leaf" : 1,
37138 "path" : "/nodes/{node}/termproxy",
37139 "text" : "termproxy"
37140 },
56122987
DM
37141 {
37142 "info" : {
37143 "GET" : {
e9cd3bd4 37144 "allowtoken" : 1,
7aacca6f 37145 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
37146 "method" : "GET",
37147 "name" : "vncwebsocket",
56122987 37148 "parameters" : {
44660702 37149 "additionalProperties" : 0,
56122987
DM
37150 "properties" : {
37151 "node" : {
37152 "description" : "The cluster node name.",
44660702 37153 "format" : "pve-node",
013dc89f
DM
37154 "type" : "string",
37155 "typetext" : "<string>"
7aacca6f
DM
37156 },
37157 "port" : {
7aacca6f
DM
37158 "description" : "Port number returned by previous vncproxy call.",
37159 "maximum" : 5999,
44660702 37160 "minimum" : 5900,
4bd7df8b 37161 "type" : "integer",
013dc89f 37162 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
37163 },
37164 "vncticket" : {
37165 "description" : "Ticket from previous call to vncproxy.",
37166 "maxLength" : 512,
013dc89f
DM
37167 "type" : "string",
37168 "typetext" : "<string>"
56122987 37169 }
44660702 37170 }
56122987 37171 },
56122987
DM
37172 "permissions" : {
37173 "check" : [
37174 "perm",
37175 "/nodes/{node}",
37176 [
7aacca6f 37177 "Sys.Console"
56122987 37178 ]
44660702
DM
37179 ],
37180 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
37181 },
37182 "returns" : {
37183 "properties" : {
37184 "port" : {
37185 "type" : "string"
37186 }
37187 },
37188 "type" : "object"
7aacca6f 37189 }
56122987
DM
37190 }
37191 },
44660702 37192 "leaf" : 1,
7aacca6f 37193 "path" : "/nodes/{node}/vncwebsocket",
44660702 37194 "text" : "vncwebsocket"
56122987
DM
37195 },
37196 {
37197 "info" : {
37198 "POST" : {
e9cd3bd4 37199 "allowtoken" : 1,
44660702 37200 "description" : "Creates a SPICE shell.",
7aacca6f 37201 "method" : "POST",
44660702 37202 "name" : "spiceshell",
56122987 37203 "parameters" : {
7aacca6f 37204 "additionalProperties" : 0,
56122987 37205 "properties" : {
95895385
TL
37206 "cmd" : {
37207 "default" : "login",
37208 "description" : "Run specific command or default to login.",
37209 "enum" : [
e9cd3bd4 37210 "upgrade",
c5aa7e14
TL
37211 "ceph_install",
37212 "login"
95895385
TL
37213 ],
37214 "optional" : 1,
37215 "type" : "string"
37216 },
7aacca6f 37217 "node" : {
44660702 37218 "description" : "The cluster node name.",
56122987 37219 "format" : "pve-node",
013dc89f
DM
37220 "type" : "string",
37221 "typetext" : "<string>"
7aacca6f 37222 },
44660702 37223 "proxy" : {
4d47f125 37224 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
44660702
DM
37225 "format" : "address",
37226 "optional" : 1,
013dc89f
DM
37227 "type" : "string",
37228 "typetext" : "<string>"
7aacca6f 37229 },
44660702
DM
37230 "upgrade" : {
37231 "default" : 0,
95895385 37232 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 37233 "optional" : 1,
013dc89f
DM
37234 "type" : "boolean",
37235 "typetext" : "<boolean>"
56122987 37236 }
7aacca6f 37237 }
56122987 37238 },
56122987
DM
37239 "permissions" : {
37240 "check" : [
37241 "perm",
7aacca6f 37242 "/nodes/{node}",
56122987 37243 [
7aacca6f 37244 "Sys.Console"
56122987 37245 ]
7aacca6f
DM
37246 ],
37247 "description" : "Restricted to users on realm 'pam'"
44660702
DM
37248 },
37249 "protected" : 1,
37250 "proxyto" : "node",
37251 "returns" : {
37252 "additionalProperties" : 1,
37253 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
37254 "properties" : {
37255 "host" : {
37256 "type" : "string"
37257 },
37258 "password" : {
37259 "type" : "string"
37260 },
37261 "proxy" : {
37262 "type" : "string"
37263 },
37264 "tls-port" : {
37265 "type" : "integer"
37266 },
37267 "type" : {
37268 "type" : "string"
37269 }
37270 }
7aacca6f 37271 }
56122987
DM
37272 }
37273 },
56122987 37274 "leaf" : 1,
44660702
DM
37275 "path" : "/nodes/{node}/spiceshell",
37276 "text" : "spiceshell"
56122987
DM
37277 },
37278 {
56122987 37279 "info" : {
7aacca6f 37280 "GET" : {
e9cd3bd4 37281 "allowtoken" : 1,
44660702 37282 "description" : "Read DNS settings.",
7aacca6f 37283 "method" : "GET",
44660702
DM
37284 "name" : "dns",
37285 "parameters" : {
7aacca6f
DM
37286 "additionalProperties" : 0,
37287 "properties" : {
44660702
DM
37288 "node" : {
37289 "description" : "The cluster node name.",
37290 "format" : "pve-node",
013dc89f
DM
37291 "type" : "string",
37292 "typetext" : "<string>"
7aacca6f
DM
37293 }
37294 }
37295 },
7aacca6f
DM
37296 "permissions" : {
37297 "check" : [
37298 "perm",
37299 "/nodes/{node}",
37300 [
37301 "Sys.Audit"
37302 ]
37303 ]
37304 },
44660702
DM
37305 "proxyto" : "node",
37306 "returns" : {
56122987
DM
37307 "additionalProperties" : 0,
37308 "properties" : {
44660702
DM
37309 "dns1" : {
37310 "description" : "First name server IP address.",
37311 "optional" : 1,
37312 "type" : "string"
37313 },
37314 "dns2" : {
37315 "description" : "Second name server IP address.",
37316 "optional" : 1,
37317 "type" : "string"
37318 },
37319 "dns3" : {
37320 "description" : "Third name server IP address.",
37321 "optional" : 1,
37322 "type" : "string"
37323 },
37324 "search" : {
37325 "description" : "Search domain for host-name lookup.",
37326 "optional" : 1,
37327 "type" : "string"
7aacca6f 37328 }
44660702
DM
37329 },
37330 "type" : "object"
37331 }
7aacca6f
DM
37332 },
37333 "PUT" : {
e9cd3bd4 37334 "allowtoken" : 1,
44660702
DM
37335 "description" : "Write DNS settings.",
37336 "method" : "PUT",
7aacca6f
DM
37337 "name" : "update_dns",
37338 "parameters" : {
37339 "additionalProperties" : 0,
37340 "properties" : {
44660702
DM
37341 "dns1" : {
37342 "description" : "First name server IP address.",
37343 "format" : "ip",
37344 "optional" : 1,
013dc89f
DM
37345 "type" : "string",
37346 "typetext" : "<string>"
7aacca6f 37347 },
44660702
DM
37348 "dns2" : {
37349 "description" : "Second name server IP address.",
37350 "format" : "ip",
7aacca6f 37351 "optional" : 1,
013dc89f
DM
37352 "type" : "string",
37353 "typetext" : "<string>"
7aacca6f 37354 },
44660702
DM
37355 "dns3" : {
37356 "description" : "Third name server IP address.",
37357 "format" : "ip",
7aacca6f 37358 "optional" : 1,
013dc89f
DM
37359 "type" : "string",
37360 "typetext" : "<string>"
7aacca6f
DM
37361 },
37362 "node" : {
44660702 37363 "description" : "The cluster node name.",
56122987 37364 "format" : "pve-node",
013dc89f
DM
37365 "type" : "string",
37366 "typetext" : "<string>"
7aacca6f 37367 },
44660702
DM
37368 "search" : {
37369 "description" : "Search domain for host-name lookup.",
013dc89f
DM
37370 "type" : "string",
37371 "typetext" : "<string>"
56122987
DM
37372 }
37373 }
37374 },
37375 "permissions" : {
37376 "check" : [
37377 "perm",
7aacca6f 37378 "/nodes/{node}",
56122987 37379 [
7aacca6f 37380 "Sys.Modify"
56122987
DM
37381 ]
37382 ]
37383 },
44660702 37384 "protected" : 1,
7aacca6f 37385 "proxyto" : "node",
56122987 37386 "returns" : {
7aacca6f
DM
37387 "type" : "null"
37388 }
56122987 37389 }
44660702
DM
37390 },
37391 "leaf" : 1,
37392 "path" : "/nodes/{node}/dns",
37393 "text" : "dns"
56122987
DM
37394 },
37395 {
37396 "info" : {
7aacca6f 37397 "GET" : {
e9cd3bd4 37398 "allowtoken" : 1,
7aacca6f 37399 "description" : "Read server time and time zone settings.",
44660702
DM
37400 "method" : "GET",
37401 "name" : "time",
56122987 37402 "parameters" : {
44660702 37403 "additionalProperties" : 0,
56122987
DM
37404 "properties" : {
37405 "node" : {
44660702 37406 "description" : "The cluster node name.",
56122987 37407 "format" : "pve-node",
013dc89f
DM
37408 "type" : "string",
37409 "typetext" : "<string>"
56122987 37410 }
44660702 37411 }
56122987
DM
37412 },
37413 "permissions" : {
37414 "check" : [
37415 "perm",
7aacca6f 37416 "/nodes/{node}",
56122987 37417 [
7aacca6f 37418 "Sys.Audit"
56122987
DM
37419 ]
37420 ]
44660702
DM
37421 },
37422 "proxyto" : "node",
37423 "returns" : {
37424 "additionalProperties" : 0,
37425 "properties" : {
37426 "localtime" : {
37427 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
37428 "minimum" : 1297163644,
4d47f125 37429 "renderer" : "timestamp_gmt",
44660702
DM
37430 "type" : "integer"
37431 },
37432 "time" : {
37433 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
37434 "minimum" : 1297163644,
4d47f125 37435 "renderer" : "timestamp",
44660702
DM
37436 "type" : "integer"
37437 },
37438 "timezone" : {
37439 "description" : "Time zone",
37440 "type" : "string"
37441 }
37442 },
37443 "type" : "object"
7aacca6f
DM
37444 }
37445 },
37446 "PUT" : {
e9cd3bd4 37447 "allowtoken" : 1,
7aacca6f 37448 "description" : "Set time zone.",
44660702
DM
37449 "method" : "PUT",
37450 "name" : "set_timezone",
37451 "parameters" : {
37452 "additionalProperties" : 0,
37453 "properties" : {
37454 "node" : {
37455 "description" : "The cluster node name.",
37456 "format" : "pve-node",
013dc89f
DM
37457 "type" : "string",
37458 "typetext" : "<string>"
44660702
DM
37459 },
37460 "timezone" : {
37461 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
37462 "type" : "string",
37463 "typetext" : "<string>"
44660702
DM
37464 }
37465 }
37466 },
7aacca6f
DM
37467 "permissions" : {
37468 "check" : [
37469 "perm",
37470 "/nodes/{node}",
37471 [
37472 "Sys.Modify"
37473 ]
37474 ]
56122987 37475 },
7aacca6f 37476 "protected" : 1,
44660702
DM
37477 "proxyto" : "node",
37478 "returns" : {
37479 "type" : "null"
37480 }
7aacca6f
DM
37481 }
37482 },
7aacca6f 37483 "leaf" : 1,
44660702
DM
37484 "path" : "/nodes/{node}/time",
37485 "text" : "time"
7aacca6f
DM
37486 },
37487 {
37488 "info" : {
44660702 37489 "GET" : {
e9cd3bd4 37490 "allowtoken" : 1,
44660702
DM
37491 "description" : "Get list of appliances.",
37492 "method" : "GET",
37493 "name" : "aplinfo",
7aacca6f
DM
37494 "parameters" : {
37495 "additionalProperties" : 0,
37496 "properties" : {
7aacca6f 37497 "node" : {
44660702 37498 "description" : "The cluster node name.",
7aacca6f 37499 "format" : "pve-node",
013dc89f
DM
37500 "type" : "string",
37501 "typetext" : "<string>"
7aacca6f
DM
37502 }
37503 }
56122987 37504 },
7aacca6f 37505 "permissions" : {
44660702 37506 "user" : "all"
56122987 37507 },
44660702 37508 "proxyto" : "node",
7aacca6f
DM
37509 "returns" : {
37510 "items" : {
44660702
DM
37511 "properties" : {},
37512 "type" : "object"
7aacca6f
DM
37513 },
37514 "type" : "array"
44660702
DM
37515 }
37516 },
37517 "POST" : {
e9cd3bd4 37518 "allowtoken" : 1,
44660702
DM
37519 "description" : "Download appliance templates.",
37520 "method" : "POST",
37521 "name" : "apl_download",
7aacca6f
DM
37522 "parameters" : {
37523 "additionalProperties" : 0,
37524 "properties" : {
37525 "node" : {
7aacca6f 37526 "description" : "The cluster node name.",
44660702 37527 "format" : "pve-node",
013dc89f
DM
37528 "type" : "string",
37529 "typetext" : "<string>"
44660702
DM
37530 },
37531 "storage" : {
4bd7df8b 37532 "description" : "The storage where the template will be stored",
44660702 37533 "format" : "pve-storage-id",
013dc89f
DM
37534 "type" : "string",
37535 "typetext" : "<string>"
44660702
DM
37536 },
37537 "template" : {
1e3f8156 37538 "description" : "The template which will downloaded",
44660702 37539 "maxLength" : 255,
013dc89f
DM
37540 "type" : "string",
37541 "typetext" : "<string>"
7aacca6f
DM
37542 }
37543 }
56122987 37544 },
7aacca6f 37545 "permissions" : {
44660702
DM
37546 "check" : [
37547 "perm",
37548 "/storage/{storage}",
37549 [
37550 "Datastore.AllocateTemplate"
37551 ]
37552 ]
37553 },
37554 "protected" : 1,
37555 "proxyto" : "node",
37556 "returns" : {
37557 "type" : "string"
7aacca6f
DM
37558 }
37559 }
37560 },
7aacca6f 37561 "leaf" : 1,
44660702
DM
37562 "path" : "/nodes/{node}/aplinfo",
37563 "text" : "aplinfo"
7aacca6f
DM
37564 },
37565 {
37566 "info" : {
37567 "GET" : {
e9cd3bd4 37568 "allowtoken" : 1,
44660702
DM
37569 "description" : "Gather various systems information about a node",
37570 "method" : "GET",
37571 "name" : "report",
7aacca6f 37572 "parameters" : {
44660702 37573 "additionalProperties" : 0,
7aacca6f
DM
37574 "properties" : {
37575 "node" : {
7aacca6f 37576 "description" : "The cluster node name.",
44660702 37577 "format" : "pve-node",
013dc89f
DM
37578 "type" : "string",
37579 "typetext" : "<string>"
7aacca6f 37580 }
44660702 37581 }
56122987 37582 },
7aacca6f
DM
37583 "permissions" : {
37584 "check" : [
37585 "perm",
37586 "/nodes/{node}",
37587 [
37588 "Sys.Audit"
37589 ]
37590 ]
56122987 37591 },
44660702 37592 "protected" : 1,
7aacca6f
DM
37593 "proxyto" : "node",
37594 "returns" : {
56122987 37595 "type" : "string"
7aacca6f
DM
37596 }
37597 }
37598 },
7aacca6f 37599 "leaf" : 1,
44660702
DM
37600 "path" : "/nodes/{node}/report",
37601 "text" : "report"
7aacca6f
DM
37602 },
37603 {
7aacca6f
DM
37604 "info" : {
37605 "POST" : {
e9cd3bd4 37606 "allowtoken" : 1,
1c532546 37607 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 37608 "method" : "POST",
44660702 37609 "name" : "startall",
7aacca6f 37610 "parameters" : {
44660702 37611 "additionalProperties" : 0,
7aacca6f
DM
37612 "properties" : {
37613 "force" : {
1c532546
TL
37614 "default" : "off",
37615 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 37616 "optional" : 1,
013dc89f
DM
37617 "type" : "boolean",
37618 "typetext" : "<boolean>"
7aacca6f
DM
37619 },
37620 "node" : {
7aacca6f 37621 "description" : "The cluster node name.",
44660702 37622 "format" : "pve-node",
013dc89f
DM
37623 "type" : "string",
37624 "typetext" : "<string>"
52e44c50
FG
37625 },
37626 "vms" : {
1c532546 37627 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
37628 "format" : "pve-vmid-list",
37629 "optional" : 1,
37630 "type" : "string",
37631 "typetext" : "<string>"
7aacca6f 37632 }
44660702 37633 }
56122987 37634 },
7aacca6f
DM
37635 "permissions" : {
37636 "check" : [
37637 "perm",
37638 "/",
37639 [
37640 "VM.PowerMgmt"
37641 ]
37642 ]
44660702
DM
37643 },
37644 "protected" : 1,
37645 "proxyto" : "node",
37646 "returns" : {
37647 "type" : "string"
7aacca6f
DM
37648 }
37649 }
37650 },
44660702 37651 "leaf" : 1,
7aacca6f 37652 "path" : "/nodes/{node}/startall",
44660702 37653 "text" : "startall"
7aacca6f
DM
37654 },
37655 {
7aacca6f
DM
37656 "info" : {
37657 "POST" : {
e9cd3bd4 37658 "allowtoken" : 1,
7aacca6f 37659 "description" : "Stop all VMs and Containers.",
44660702
DM
37660 "method" : "POST",
37661 "name" : "stopall",
7aacca6f 37662 "parameters" : {
44660702 37663 "additionalProperties" : 0,
7aacca6f
DM
37664 "properties" : {
37665 "node" : {
44660702 37666 "description" : "The cluster node name.",
7aacca6f 37667 "format" : "pve-node",
013dc89f
DM
37668 "type" : "string",
37669 "typetext" : "<string>"
52e44c50
FG
37670 },
37671 "vms" : {
37672 "description" : "Only consider Guests with these IDs.",
37673 "format" : "pve-vmid-list",
37674 "optional" : 1,
37675 "type" : "string",
37676 "typetext" : "<string>"
7aacca6f 37677 }
44660702 37678 }
56122987 37679 },
7aacca6f
DM
37680 "permissions" : {
37681 "check" : [
37682 "perm",
37683 "/",
37684 [
44660702 37685 "VM.PowerMgmt"
7aacca6f
DM
37686 ]
37687 ]
56122987 37688 },
44660702 37689 "protected" : 1,
7aacca6f 37690 "proxyto" : "node",
44660702
DM
37691 "returns" : {
37692 "type" : "string"
37693 }
37694 }
56122987 37695 },
44660702
DM
37696 "leaf" : 1,
37697 "path" : "/nodes/{node}/stopall",
37698 "text" : "stopall"
37699 },
37700 {
37701 "info" : {
37702 "POST" : {
e9cd3bd4 37703 "allowtoken" : 1,
44660702
DM
37704 "description" : "Migrate all VMs and Containers.",
37705 "method" : "POST",
37706 "name" : "migrateall",
37707 "parameters" : {
37708 "additionalProperties" : 0,
37709 "properties" : {
37710 "maxworkers" : {
37711 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
37712 "minimum" : 1,
37713 "optional" : 1,
4bd7df8b 37714 "type" : "integer",
013dc89f 37715 "typetext" : "<integer> (1 - N)"
44660702
DM
37716 },
37717 "node" : {
37718 "description" : "The cluster node name.",
37719 "format" : "pve-node",
013dc89f
DM
37720 "type" : "string",
37721 "typetext" : "<string>"
44660702
DM
37722 },
37723 "target" : {
37724 "description" : "Target node.",
37725 "format" : "pve-node",
013dc89f
DM
37726 "type" : "string",
37727 "typetext" : "<string>"
52e44c50
FG
37728 },
37729 "vms" : {
37730 "description" : "Only consider Guests with these IDs.",
37731 "format" : "pve-vmid-list",
37732 "optional" : 1,
37733 "type" : "string",
37734 "typetext" : "<string>"
e9cd3bd4
TL
37735 },
37736 "with-local-disks" : {
37737 "description" : "Enable live storage migration for local disk",
37738 "optional" : 1,
37739 "type" : "boolean",
37740 "typetext" : "<boolean>"
44660702
DM
37741 }
37742 }
37743 },
37744 "permissions" : {
37745 "check" : [
37746 "perm",
37747 "/",
37748 [
37749 "VM.Migrate"
37750 ]
37751 ]
37752 },
37753 "protected" : 1,
37754 "proxyto" : "node",
37755 "returns" : {
37756 "type" : "string"
37757 }
37758 }
56122987 37759 },
44660702
DM
37760 "leaf" : 1,
37761 "path" : "/nodes/{node}/migrateall",
37762 "text" : "migrateall"
4d47f125
TL
37763 },
37764 {
37765 "info" : {
37766 "GET" : {
e9cd3bd4 37767 "allowtoken" : 1,
4d47f125
TL
37768 "description" : "Get the content of /etc/hosts.",
37769 "method" : "GET",
37770 "name" : "get_etc_hosts",
37771 "parameters" : {
37772 "additionalProperties" : 0,
37773 "properties" : {
37774 "node" : {
37775 "description" : "The cluster node name.",
37776 "format" : "pve-node",
37777 "type" : "string",
37778 "typetext" : "<string>"
37779 }
37780 }
37781 },
37782 "permissions" : {
37783 "check" : [
37784 "perm",
37785 "/",
37786 [
37787 "Sys.Audit"
37788 ]
37789 ]
37790 },
37791 "protected" : 1,
37792 "proxyto" : "node",
37793 "returns" : {
37794 "properties" : {
37795 "data" : {
37796 "description" : "The content of /etc/hosts.",
37797 "type" : "string"
37798 },
37799 "digest" : {
37800 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37801 "maxLength" : 40,
37802 "optional" : 1,
37803 "type" : "string"
37804 }
37805 },
37806 "type" : "object"
37807 }
37808 },
37809 "POST" : {
e9cd3bd4 37810 "allowtoken" : 1,
4d47f125
TL
37811 "description" : "Write /etc/hosts.",
37812 "method" : "POST",
37813 "name" : "write_etc_hosts",
37814 "parameters" : {
37815 "additionalProperties" : 0,
37816 "properties" : {
37817 "data" : {
37818 "description" : "The target content of /etc/hosts.",
37819 "type" : "string",
37820 "typetext" : "<string>"
37821 },
37822 "digest" : {
37823 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37824 "maxLength" : 40,
37825 "optional" : 1,
37826 "type" : "string",
37827 "typetext" : "<string>"
37828 },
37829 "node" : {
37830 "description" : "The cluster node name.",
37831 "format" : "pve-node",
37832 "type" : "string",
37833 "typetext" : "<string>"
37834 }
37835 }
37836 },
37837 "permissions" : {
37838 "check" : [
37839 "perm",
37840 "/nodes/{node}",
37841 [
37842 "Sys.Modify"
37843 ]
37844 ]
37845 },
37846 "protected" : 1,
37847 "proxyto" : "node",
37848 "returns" : {
37849 "type" : "null"
37850 }
37851 }
37852 },
37853 "leaf" : 1,
37854 "path" : "/nodes/{node}/hosts",
37855 "text" : "hosts"
44660702
DM
37856 }
37857 ],
37858 "info" : {
37859 "GET" : {
e9cd3bd4 37860 "allowtoken" : 1,
44660702
DM
37861 "description" : "Node index.",
37862 "method" : "GET",
37863 "name" : "index",
37864 "parameters" : {
37865 "additionalProperties" : 0,
37866 "properties" : {
37867 "node" : {
37868 "description" : "The cluster node name.",
37869 "format" : "pve-node",
013dc89f
DM
37870 "type" : "string",
37871 "typetext" : "<string>"
44660702
DM
37872 }
37873 }
56122987 37874 },
44660702
DM
37875 "permissions" : {
37876 "user" : "all"
56122987 37877 },
44660702
DM
37878 "returns" : {
37879 "items" : {
37880 "properties" : {},
37881 "type" : "object"
37882 },
37883 "links" : [
37884 {
37885 "href" : "{name}",
37886 "rel" : "child"
37887 }
56122987 37888 ],
44660702 37889 "type" : "array"
7aacca6f
DM
37890 }
37891 }
37892 },
44660702
DM
37893 "leaf" : 0,
37894 "path" : "/nodes/{node}",
37895 "text" : "{node}"
37896 }
37897 ],
37898 "info" : {
7aacca6f 37899 "GET" : {
e9cd3bd4 37900 "allowtoken" : 1,
44660702 37901 "description" : "Cluster node index.",
7aacca6f 37902 "method" : "GET",
44660702 37903 "name" : "index",
7aacca6f 37904 "parameters" : {
7aacca6f
DM
37905 "additionalProperties" : 0
37906 },
37907 "permissions" : {
7aacca6f
DM
37908 "user" : "all"
37909 },
44660702
DM
37910 "returns" : {
37911 "items" : {
4d47f125
TL
37912 "properties" : {
37913 "cpu" : {
37914 "description" : "CPU utilization.",
37915 "optional" : 1,
37916 "renderer" : "fraction_as_percentage",
37917 "type" : "number"
37918 },
37919 "level" : {
37920 "description" : "Support level.",
37921 "optional" : 1,
37922 "type" : "string"
37923 },
37924 "maxcpu" : {
37925 "description" : "Number of available CPUs.",
37926 "optional" : 1,
37927 "type" : "integer"
37928 },
37929 "maxmem" : {
37930 "description" : "Number of available memory in bytes.",
37931 "optional" : 1,
37932 "renderer" : "bytes",
37933 "type" : "integer"
37934 },
37935 "mem" : {
37936 "description" : "Used memory in bytes.",
37937 "optional" : 1,
37938 "renderer" : "bytes",
1c532546 37939 "type" : "integer"
4d47f125
TL
37940 },
37941 "node" : {
37942 "description" : "The cluster node name.",
37943 "format" : "pve-node",
37944 "type" : "string"
37945 },
37946 "ssl_fingerprint" : {
37947 "description" : "The SSL fingerprint for the node certificate.",
37948 "optional" : 1,
37949 "type" : "string"
37950 },
37951 "status" : {
37952 "description" : "Node status.",
37953 "enum" : [
37954 "unknown",
37955 "online",
37956 "offline"
37957 ],
37958 "type" : "string"
37959 },
37960 "uptime" : {
37961 "description" : "Node uptime in seconds.",
37962 "optional" : 1,
37963 "renderer" : "duration",
37964 "type" : "integer"
37965 }
37966 },
44660702
DM
37967 "type" : "object"
37968 },
37969 "links" : [
37970 {
37971 "href" : "{node}",
37972 "rel" : "child"
37973 }
37974 ],
37975 "type" : "array"
37976 }
7aacca6f
DM
37977 }
37978 },
44660702
DM
37979 "leaf" : 0,
37980 "path" : "/nodes",
37981 "text" : "nodes"
37982 },
37983 {
7aacca6f
DM
37984 "children" : [
37985 {
7aacca6f 37986 "info" : {
44660702 37987 "DELETE" : {
e9cd3bd4 37988 "allowtoken" : 1,
44660702
DM
37989 "description" : "Delete storage configuration.",
37990 "method" : "DELETE",
37991 "name" : "delete",
7aacca6f
DM
37992 "parameters" : {
37993 "additionalProperties" : 0,
37994 "properties" : {
37995 "storage" : {
7aacca6f 37996 "description" : "The storage identifier.",
44660702 37997 "format" : "pve-storage-id",
013dc89f
DM
37998 "type" : "string",
37999 "typetext" : "<string>"
7aacca6f
DM
38000 }
38001 }
56122987 38002 },
7aacca6f
DM
38003 "permissions" : {
38004 "check" : [
38005 "perm",
38006 "/storage",
38007 [
38008 "Datastore.Allocate"
38009 ]
38010 ]
56122987 38011 },
44660702
DM
38012 "protected" : 1,
38013 "returns" : {
38014 "type" : "null"
38015 }
38016 },
38017 "GET" : {
e9cd3bd4 38018 "allowtoken" : 1,
44660702
DM
38019 "description" : "Read storage configuration.",
38020 "method" : "GET",
38021 "name" : "read",
7aacca6f
DM
38022 "parameters" : {
38023 "additionalProperties" : 0,
38024 "properties" : {
38025 "storage" : {
44660702 38026 "description" : "The storage identifier.",
7aacca6f 38027 "format" : "pve-storage-id",
013dc89f
DM
38028 "type" : "string",
38029 "typetext" : "<string>"
7aacca6f
DM
38030 }
38031 }
38032 },
44660702
DM
38033 "permissions" : {
38034 "check" : [
38035 "perm",
38036 "/storage/{storage}",
38037 [
38038 "Datastore.Allocate"
38039 ]
38040 ]
38041 },
5da3d723
TL
38042 "returns" : {
38043 "type" : "object"
38044 }
7aacca6f
DM
38045 },
38046 "PUT" : {
e9cd3bd4 38047 "allowtoken" : 1,
44660702
DM
38048 "description" : "Update storage configuration.",
38049 "method" : "PUT",
38050 "name" : "update",
38051 "parameters" : {
38052 "additionalProperties" : 0,
38053 "properties" : {
38054 "blocksize" : {
38055 "description" : "block size",
7aacca6f 38056 "optional" : 1,
013dc89f
DM
38057 "type" : "string",
38058 "typetext" : "<string>"
7aacca6f 38059 },
27a7acb2
DM
38060 "bwlimit" : {
38061 "description" : "Set bandwidth/io limits various operations.",
38062 "format" : {
38063 "clone" : {
95895385 38064 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
38065 "format_description" : "LIMIT",
38066 "minimum" : "0",
38067 "optional" : 1,
38068 "type" : "number"
38069 },
38070 "default" : {
95895385 38071 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
38072 "format_description" : "LIMIT",
38073 "minimum" : "0",
38074 "optional" : 1,
38075 "type" : "number"
38076 },
38077 "migration" : {
95895385 38078 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
38079 "format_description" : "LIMIT",
38080 "minimum" : "0",
38081 "optional" : 1,
38082 "type" : "number"
38083 },
38084 "move" : {
95895385 38085 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
38086 "format_description" : "LIMIT",
38087 "minimum" : "0",
38088 "optional" : 1,
38089 "type" : "number"
38090 },
38091 "restore" : {
95895385 38092 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
38093 "format_description" : "LIMIT",
38094 "minimum" : "0",
38095 "optional" : 1,
38096 "type" : "number"
38097 }
38098 },
38099 "optional" : 1,
38100 "type" : "string",
38101 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
38102 },
44660702
DM
38103 "comstar_hg" : {
38104 "description" : "host group for comstar views",
38105 "optional" : 1,
013dc89f
DM
38106 "type" : "string",
38107 "typetext" : "<string>"
7aacca6f 38108 },
44660702
DM
38109 "comstar_tg" : {
38110 "description" : "target group for comstar views",
7aacca6f 38111 "optional" : 1,
013dc89f
DM
38112 "type" : "string",
38113 "typetext" : "<string>"
7aacca6f 38114 },
44660702
DM
38115 "content" : {
38116 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
38117 "format" : "pve-storage-content-list",
7aacca6f 38118 "optional" : 1,
013dc89f
DM
38119 "type" : "string",
38120 "typetext" : "<string>"
7aacca6f 38121 },
44660702
DM
38122 "delete" : {
38123 "description" : "A list of settings you want to delete.",
38124 "format" : "pve-configid-list",
38125 "maxLength" : 4096,
7aacca6f 38126 "optional" : 1,
013dc89f
DM
38127 "type" : "string",
38128 "typetext" : "<string>"
7aacca6f
DM
38129 },
38130 "digest" : {
44660702 38131 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 38132 "maxLength" : 40,
7aacca6f 38133 "optional" : 1,
013dc89f
DM
38134 "type" : "string",
38135 "typetext" : "<string>"
7aacca6f 38136 },
44660702
DM
38137 "disable" : {
38138 "description" : "Flag to disable the storage.",
38139 "optional" : 1,
013dc89f
DM
38140 "type" : "boolean",
38141 "typetext" : "<boolean>"
7aacca6f 38142 },
27a7acb2
DM
38143 "domain" : {
38144 "description" : "CIFS domain.",
38145 "maxLength" : 256,
38146 "optional" : 1,
38147 "type" : "string",
38148 "typetext" : "<string>"
38149 },
c5aa7e14
TL
38150 "fingerprint" : {
38151 "description" : "Certificate SHA 256 fingerprint.",
38152 "optional" : 1,
38153 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
38154 "type" : "string"
38155 },
7aacca6f
DM
38156 "format" : {
38157 "description" : "Default image format.",
44660702 38158 "format" : "pve-storage-format",
7aacca6f 38159 "optional" : 1,
013dc89f
DM
38160 "type" : "string",
38161 "typetext" : "<string>"
7aacca6f 38162 },
5da3d723
TL
38163 "fuse" : {
38164 "description" : "Mount CephFS through FUSE.",
38165 "optional" : 1,
38166 "type" : "boolean",
38167 "typetext" : "<boolean>"
38168 },
2c0dde61
DM
38169 "is_mountpoint" : {
38170 "default" : "no",
2489d6df 38171 "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 38172 "optional" : 1,
2489d6df
WB
38173 "type" : "string",
38174 "typetext" : "<string>"
2c0dde61 38175 },
44660702 38176 "krbd" : {
e2d681b3 38177 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 38178 "optional" : 1,
013dc89f
DM
38179 "type" : "boolean",
38180 "typetext" : "<boolean>"
7aacca6f 38181 },
4d47f125
TL
38182 "lio_tpg" : {
38183 "description" : "target portal group for Linux LIO targets",
38184 "optional" : 1,
38185 "type" : "string",
38186 "typetext" : "<string>"
38187 },
44660702
DM
38188 "maxfiles" : {
38189 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
38190 "minimum" : 0,
38191 "optional" : 1,
4bd7df8b 38192 "type" : "integer",
013dc89f 38193 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
38194 },
38195 "mkdir" : {
38196 "default" : "yes",
38197 "description" : "Create the directory if it doesn't exist.",
38198 "optional" : 1,
013dc89f
DM
38199 "type" : "boolean",
38200 "typetext" : "<boolean>"
7aacca6f 38201 },
2489d6df
WB
38202 "monhost" : {
38203 "description" : "IP addresses of monitors (for external clusters).",
38204 "format" : "pve-storage-portal-dns-list",
38205 "optional" : 1,
38206 "type" : "string",
38207 "typetext" : "<string>"
38208 },
5c1699e5
TL
38209 "mountpoint" : {
38210 "description" : "mount point",
38211 "format" : "pve-storage-path",
38212 "optional" : 1,
38213 "type" : "string",
38214 "typetext" : "<string>"
38215 },
7aacca6f 38216 "nodes" : {
44660702 38217 "description" : "List of cluster node names.",
7aacca6f
DM
38218 "format" : "pve-node-list",
38219 "optional" : 1,
013dc89f
DM
38220 "type" : "string",
38221 "typetext" : "<string>"
7aacca6f 38222 },
44660702
DM
38223 "nowritecache" : {
38224 "description" : "disable write caching on the target",
7aacca6f 38225 "optional" : 1,
013dc89f
DM
38226 "type" : "boolean",
38227 "typetext" : "<boolean>"
7aacca6f
DM
38228 },
38229 "options" : {
7aacca6f 38230 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
38231 "format" : "pve-storage-options",
38232 "optional" : 1,
013dc89f
DM
38233 "type" : "string",
38234 "typetext" : "<string>"
44660702 38235 },
27a7acb2
DM
38236 "password" : {
38237 "description" : "Password for CIFS share.",
38238 "maxLength" : 256,
38239 "optional" : 1,
38240 "type" : "string",
38241 "typetext" : "<string>"
38242 },
44660702
DM
38243 "pool" : {
38244 "description" : "Pool.",
38245 "optional" : 1,
013dc89f
DM
38246 "type" : "string",
38247 "typetext" : "<string>"
44660702
DM
38248 },
38249 "redundancy" : {
38250 "default" : 2,
38251 "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.",
38252 "maximum" : 16,
38253 "minimum" : 1,
38254 "optional" : 1,
4bd7df8b 38255 "type" : "integer",
013dc89f 38256 "typetext" : "<integer> (1 - 16)"
44660702
DM
38257 },
38258 "saferemove" : {
38259 "description" : "Zero-out data when removing LVs.",
38260 "optional" : 1,
013dc89f
DM
38261 "type" : "boolean",
38262 "typetext" : "<boolean>"
7aacca6f
DM
38263 },
38264 "saferemove_throughput" : {
44660702 38265 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 38266 "optional" : 1,
013dc89f
DM
38267 "type" : "string",
38268 "typetext" : "<string>"
7aacca6f 38269 },
44660702
DM
38270 "server" : {
38271 "description" : "Server IP or DNS name.",
38272 "format" : "pve-storage-server",
7aacca6f 38273 "optional" : 1,
013dc89f
DM
38274 "type" : "string",
38275 "typetext" : "<string>"
7aacca6f 38276 },
44660702
DM
38277 "server2" : {
38278 "description" : "Backup volfile server IP or DNS name.",
38279 "format" : "pve-storage-server",
7aacca6f 38280 "optional" : 1,
44660702 38281 "requires" : "server",
013dc89f
DM
38282 "type" : "string",
38283 "typetext" : "<string>"
44660702
DM
38284 },
38285 "shared" : {
38286 "description" : "Mark storage as shared.",
38287 "optional" : 1,
013dc89f
DM
38288 "type" : "boolean",
38289 "typetext" : "<boolean>"
44660702 38290 },
27a7acb2 38291 "smbversion" : {
5da3d723
TL
38292 "description" : "SMB protocol version",
38293 "enum" : [
38294 "2.0",
38295 "2.1",
38296 "3.0"
38297 ],
27a7acb2 38298 "optional" : 1,
5da3d723 38299 "type" : "string"
27a7acb2 38300 },
44660702
DM
38301 "sparse" : {
38302 "description" : "use sparse volumes",
38303 "optional" : 1,
013dc89f
DM
38304 "type" : "boolean",
38305 "typetext" : "<boolean>"
44660702
DM
38306 },
38307 "storage" : {
38308 "description" : "The storage identifier.",
38309 "format" : "pve-storage-id",
013dc89f
DM
38310 "type" : "string",
38311 "typetext" : "<string>"
44660702 38312 },
5da3d723
TL
38313 "subdir" : {
38314 "description" : "Subdir to mount.",
38315 "format" : "pve-storage-path",
38316 "optional" : 1,
38317 "type" : "string",
38318 "typetext" : "<string>"
38319 },
4bd7df8b
DM
38320 "tagged_only" : {
38321 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
38322 "optional" : 1,
013dc89f
DM
38323 "type" : "boolean",
38324 "typetext" : "<boolean>"
4bd7df8b 38325 },
44660702
DM
38326 "transport" : {
38327 "description" : "Gluster transport: tcp or rdma",
38328 "enum" : [
38329 "tcp",
38330 "rdma",
38331 "unix"
38332 ],
38333 "optional" : 1,
38334 "type" : "string"
7aacca6f
DM
38335 },
38336 "username" : {
38337 "description" : "RBD Id.",
44660702 38338 "optional" : 1,
013dc89f
DM
38339 "type" : "string",
38340 "typetext" : "<string>"
7aacca6f 38341 }
44660702
DM
38342 },
38343 "type" : "object"
38344 },
38345 "permissions" : {
38346 "check" : [
38347 "perm",
38348 "/storage",
38349 [
38350 "Datastore.Allocate"
38351 ]
38352 ]
38353 },
38354 "protected" : 1,
38355 "returns" : {
38356 "type" : "null"
38357 }
38358 }
38359 },
38360 "leaf" : 1,
38361 "path" : "/storage/{storage}",
38362 "text" : "{storage}"
38363 }
38364 ],
38365 "info" : {
38366 "GET" : {
e9cd3bd4 38367 "allowtoken" : 1,
44660702
DM
38368 "description" : "Storage index.",
38369 "method" : "GET",
38370 "name" : "index",
38371 "parameters" : {
38372 "additionalProperties" : 0,
38373 "properties" : {
38374 "type" : {
38375 "description" : "Only list storage of specific type",
38376 "enum" : [
5da3d723 38377 "cephfs",
27a7acb2 38378 "cifs",
44660702
DM
38379 "dir",
38380 "drbd",
38381 "glusterfs",
38382 "iscsi",
38383 "iscsidirect",
38384 "lvm",
38385 "lvmthin",
38386 "nfs",
c5aa7e14 38387 "pbs",
44660702 38388 "rbd",
44660702
DM
38389 "zfs",
38390 "zfspool"
38391 ],
38392 "optional" : 1,
38393 "type" : "string"
38394 }
38395 }
38396 },
38397 "permissions" : {
38398 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
38399 "user" : "all"
38400 },
38401 "returns" : {
38402 "items" : {
38403 "properties" : {
38404 "storage" : {
38405 "type" : "string"
7aacca6f 38406 }
56122987 38407 },
44660702
DM
38408 "type" : "object"
38409 },
38410 "links" : [
38411 {
38412 "href" : "{storage}",
38413 "rel" : "child"
38414 }
38415 ],
38416 "type" : "array"
38417 }
38418 },
38419 "POST" : {
e9cd3bd4 38420 "allowtoken" : 1,
44660702
DM
38421 "description" : "Create a new storage.",
38422 "method" : "POST",
38423 "name" : "create",
38424 "parameters" : {
38425 "additionalProperties" : 0,
38426 "properties" : {
38427 "authsupported" : {
38428 "description" : "Authsupported.",
38429 "optional" : 1,
013dc89f
DM
38430 "type" : "string",
38431 "typetext" : "<string>"
44660702
DM
38432 },
38433 "base" : {
38434 "description" : "Base volume. This volume is automatically activated.",
38435 "format" : "pve-volume-id",
38436 "optional" : 1,
013dc89f
DM
38437 "type" : "string",
38438 "typetext" : "<string>"
44660702
DM
38439 },
38440 "blocksize" : {
38441 "description" : "block size",
38442 "optional" : 1,
013dc89f
DM
38443 "type" : "string",
38444 "typetext" : "<string>"
44660702 38445 },
27a7acb2
DM
38446 "bwlimit" : {
38447 "description" : "Set bandwidth/io limits various operations.",
38448 "format" : {
38449 "clone" : {
95895385 38450 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
38451 "format_description" : "LIMIT",
38452 "minimum" : "0",
38453 "optional" : 1,
38454 "type" : "number"
38455 },
38456 "default" : {
95895385 38457 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
38458 "format_description" : "LIMIT",
38459 "minimum" : "0",
38460 "optional" : 1,
38461 "type" : "number"
38462 },
38463 "migration" : {
95895385 38464 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
38465 "format_description" : "LIMIT",
38466 "minimum" : "0",
38467 "optional" : 1,
38468 "type" : "number"
38469 },
38470 "move" : {
95895385 38471 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
38472 "format_description" : "LIMIT",
38473 "minimum" : "0",
38474 "optional" : 1,
38475 "type" : "number"
38476 },
38477 "restore" : {
95895385 38478 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
38479 "format_description" : "LIMIT",
38480 "minimum" : "0",
38481 "optional" : 1,
38482 "type" : "number"
38483 }
38484 },
38485 "optional" : 1,
38486 "type" : "string",
38487 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
38488 },
44660702
DM
38489 "comstar_hg" : {
38490 "description" : "host group for comstar views",
38491 "optional" : 1,
013dc89f
DM
38492 "type" : "string",
38493 "typetext" : "<string>"
44660702
DM
38494 },
38495 "comstar_tg" : {
38496 "description" : "target group for comstar views",
38497 "optional" : 1,
013dc89f
DM
38498 "type" : "string",
38499 "typetext" : "<string>"
44660702
DM
38500 },
38501 "content" : {
38502 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
38503 "format" : "pve-storage-content-list",
38504 "optional" : 1,
013dc89f
DM
38505 "type" : "string",
38506 "typetext" : "<string>"
44660702 38507 },
c5aa7e14
TL
38508 "datastore" : {
38509 "description" : "Proxmox backup server datastore name.",
38510 "optional" : 1,
38511 "type" : "string",
38512 "typetext" : "<string>"
38513 },
44660702
DM
38514 "disable" : {
38515 "description" : "Flag to disable the storage.",
38516 "optional" : 1,
013dc89f
DM
38517 "type" : "boolean",
38518 "typetext" : "<boolean>"
44660702 38519 },
27a7acb2
DM
38520 "domain" : {
38521 "description" : "CIFS domain.",
38522 "maxLength" : 256,
38523 "optional" : 1,
38524 "type" : "string",
38525 "typetext" : "<string>"
38526 },
44660702
DM
38527 "export" : {
38528 "description" : "NFS export path.",
38529 "format" : "pve-storage-path",
38530 "optional" : 1,
013dc89f
DM
38531 "type" : "string",
38532 "typetext" : "<string>"
44660702 38533 },
c5aa7e14
TL
38534 "fingerprint" : {
38535 "description" : "Certificate SHA 256 fingerprint.",
38536 "optional" : 1,
38537 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
38538 "type" : "string"
38539 },
44660702
DM
38540 "format" : {
38541 "description" : "Default image format.",
38542 "format" : "pve-storage-format",
38543 "optional" : 1,
013dc89f
DM
38544 "type" : "string",
38545 "typetext" : "<string>"
44660702 38546 },
5da3d723
TL
38547 "fuse" : {
38548 "description" : "Mount CephFS through FUSE.",
38549 "optional" : 1,
38550 "type" : "boolean",
38551 "typetext" : "<boolean>"
38552 },
2c0dde61
DM
38553 "is_mountpoint" : {
38554 "default" : "no",
2489d6df 38555 "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 38556 "optional" : 1,
2489d6df
WB
38557 "type" : "string",
38558 "typetext" : "<string>"
2c0dde61 38559 },
44660702
DM
38560 "iscsiprovider" : {
38561 "description" : "iscsi provider",
38562 "optional" : 1,
013dc89f
DM
38563 "type" : "string",
38564 "typetext" : "<string>"
44660702
DM
38565 },
38566 "krbd" : {
e2d681b3 38567 "description" : "Always access rbd through krbd kernel module.",
44660702 38568 "optional" : 1,
013dc89f
DM
38569 "type" : "boolean",
38570 "typetext" : "<boolean>"
56122987 38571 },
4d47f125
TL
38572 "lio_tpg" : {
38573 "description" : "target portal group for Linux LIO targets",
38574 "optional" : 1,
38575 "type" : "string",
38576 "typetext" : "<string>"
38577 },
44660702
DM
38578 "maxfiles" : {
38579 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
38580 "minimum" : 0,
38581 "optional" : 1,
4bd7df8b 38582 "type" : "integer",
013dc89f 38583 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
38584 },
38585 "mkdir" : {
38586 "default" : "yes",
38587 "description" : "Create the directory if it doesn't exist.",
38588 "optional" : 1,
013dc89f
DM
38589 "type" : "boolean",
38590 "typetext" : "<boolean>"
7aacca6f 38591 },
44660702 38592 "monhost" : {
2489d6df 38593 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 38594 "format" : "pve-storage-portal-dns-list",
44660702 38595 "optional" : 1,
013dc89f
DM
38596 "type" : "string",
38597 "typetext" : "<string>"
7aacca6f 38598 },
5c1699e5
TL
38599 "mountpoint" : {
38600 "description" : "mount point",
38601 "format" : "pve-storage-path",
38602 "optional" : 1,
38603 "type" : "string",
38604 "typetext" : "<string>"
38605 },
44660702
DM
38606 "nodes" : {
38607 "description" : "List of cluster node names.",
38608 "format" : "pve-node-list",
38609 "optional" : 1,
013dc89f
DM
38610 "type" : "string",
38611 "typetext" : "<string>"
7aacca6f 38612 },
44660702
DM
38613 "nowritecache" : {
38614 "description" : "disable write caching on the target",
38615 "optional" : 1,
013dc89f
DM
38616 "type" : "boolean",
38617 "typetext" : "<boolean>"
44660702
DM
38618 },
38619 "options" : {
38620 "description" : "NFS mount options (see 'man nfs')",
38621 "format" : "pve-storage-options",
38622 "optional" : 1,
013dc89f
DM
38623 "type" : "string",
38624 "typetext" : "<string>"
44660702 38625 },
27a7acb2
DM
38626 "password" : {
38627 "description" : "Password for CIFS share.",
38628 "maxLength" : 256,
38629 "optional" : 1,
38630 "type" : "string",
38631 "typetext" : "<string>"
38632 },
44660702
DM
38633 "path" : {
38634 "description" : "File system path.",
38635 "format" : "pve-storage-path",
38636 "optional" : 1,
013dc89f
DM
38637 "type" : "string",
38638 "typetext" : "<string>"
44660702
DM
38639 },
38640 "pool" : {
38641 "description" : "Pool.",
38642 "optional" : 1,
013dc89f
DM
38643 "type" : "string",
38644 "typetext" : "<string>"
44660702
DM
38645 },
38646 "portal" : {
38647 "description" : "iSCSI portal (IP or DNS name with optional port).",
38648 "format" : "pve-storage-portal-dns",
38649 "optional" : 1,
013dc89f
DM
38650 "type" : "string",
38651 "typetext" : "<string>"
44660702
DM
38652 },
38653 "redundancy" : {
38654 "default" : 2,
38655 "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.",
38656 "maximum" : 16,
38657 "minimum" : 1,
38658 "optional" : 1,
4bd7df8b 38659 "type" : "integer",
013dc89f 38660 "typetext" : "<integer> (1 - 16)"
44660702
DM
38661 },
38662 "saferemove" : {
38663 "description" : "Zero-out data when removing LVs.",
38664 "optional" : 1,
013dc89f
DM
38665 "type" : "boolean",
38666 "typetext" : "<boolean>"
44660702
DM
38667 },
38668 "saferemove_throughput" : {
38669 "description" : "Wipe throughput (cstream -t parameter value).",
38670 "optional" : 1,
013dc89f
DM
38671 "type" : "string",
38672 "typetext" : "<string>"
44660702
DM
38673 },
38674 "server" : {
38675 "description" : "Server IP or DNS name.",
38676 "format" : "pve-storage-server",
38677 "optional" : 1,
013dc89f
DM
38678 "type" : "string",
38679 "typetext" : "<string>"
44660702
DM
38680 },
38681 "server2" : {
38682 "description" : "Backup volfile server IP or DNS name.",
38683 "format" : "pve-storage-server",
38684 "optional" : 1,
38685 "requires" : "server",
013dc89f
DM
38686 "type" : "string",
38687 "typetext" : "<string>"
44660702 38688 },
27a7acb2
DM
38689 "share" : {
38690 "description" : "CIFS share.",
38691 "optional" : 1,
38692 "type" : "string",
38693 "typetext" : "<string>"
38694 },
44660702
DM
38695 "shared" : {
38696 "description" : "Mark storage as shared.",
38697 "optional" : 1,
013dc89f
DM
38698 "type" : "boolean",
38699 "typetext" : "<boolean>"
44660702 38700 },
27a7acb2 38701 "smbversion" : {
5da3d723
TL
38702 "description" : "SMB protocol version",
38703 "enum" : [
38704 "2.0",
38705 "2.1",
38706 "3.0"
38707 ],
27a7acb2 38708 "optional" : 1,
5da3d723 38709 "type" : "string"
27a7acb2 38710 },
44660702
DM
38711 "sparse" : {
38712 "description" : "use sparse volumes",
38713 "optional" : 1,
013dc89f
DM
38714 "type" : "boolean",
38715 "typetext" : "<boolean>"
44660702
DM
38716 },
38717 "storage" : {
38718 "description" : "The storage identifier.",
38719 "format" : "pve-storage-id",
013dc89f
DM
38720 "type" : "string",
38721 "typetext" : "<string>"
44660702 38722 },
5da3d723
TL
38723 "subdir" : {
38724 "description" : "Subdir to mount.",
38725 "format" : "pve-storage-path",
38726 "optional" : 1,
38727 "type" : "string",
38728 "typetext" : "<string>"
38729 },
4bd7df8b
DM
38730 "tagged_only" : {
38731 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
38732 "optional" : 1,
013dc89f
DM
38733 "type" : "boolean",
38734 "typetext" : "<boolean>"
4bd7df8b 38735 },
44660702
DM
38736 "target" : {
38737 "description" : "iSCSI target.",
38738 "optional" : 1,
013dc89f
DM
38739 "type" : "string",
38740 "typetext" : "<string>"
44660702
DM
38741 },
38742 "thinpool" : {
38743 "description" : "LVM thin pool LV name.",
38744 "format" : "pve-storage-vgname",
38745 "optional" : 1,
013dc89f
DM
38746 "type" : "string",
38747 "typetext" : "<string>"
44660702
DM
38748 },
38749 "transport" : {
38750 "description" : "Gluster transport: tcp or rdma",
38751 "enum" : [
38752 "tcp",
38753 "rdma",
38754 "unix"
7aacca6f 38755 ],
44660702
DM
38756 "optional" : 1,
38757 "type" : "string"
56122987 38758 },
44660702
DM
38759 "type" : {
38760 "description" : "Storage type.",
38761 "enum" : [
5da3d723 38762 "cephfs",
27a7acb2 38763 "cifs",
44660702
DM
38764 "dir",
38765 "drbd",
38766 "glusterfs",
38767 "iscsi",
38768 "iscsidirect",
38769 "lvm",
38770 "lvmthin",
38771 "nfs",
c5aa7e14 38772 "pbs",
44660702 38773 "rbd",
44660702
DM
38774 "zfs",
38775 "zfspool"
38776 ],
38777 "type" : "string"
56122987 38778 },
44660702
DM
38779 "username" : {
38780 "description" : "RBD Id.",
38781 "optional" : 1,
013dc89f
DM
38782 "type" : "string",
38783 "typetext" : "<string>"
7aacca6f 38784 },
44660702
DM
38785 "vgname" : {
38786 "description" : "Volume group name.",
38787 "format" : "pve-storage-vgname",
38788 "optional" : 1,
013dc89f
DM
38789 "type" : "string",
38790 "typetext" : "<string>"
44660702
DM
38791 },
38792 "volume" : {
38793 "description" : "Glusterfs Volume.",
38794 "optional" : 1,
013dc89f
DM
38795 "type" : "string",
38796 "typetext" : "<string>"
44660702
DM
38797 }
38798 },
38799 "type" : "object"
38800 },
38801 "permissions" : {
38802 "check" : [
38803 "perm",
38804 "/storage",
38805 [
38806 "Datastore.Allocate"
38807 ]
38808 ]
56122987 38809 },
44660702
DM
38810 "protected" : 1,
38811 "returns" : {
38812 "type" : "null"
38813 }
38814 }
38815 },
38816 "leaf" : 0,
38817 "path" : "/storage",
38818 "text" : "storage"
38819 },
38820 {
38821 "children" : [
38822 {
56122987
DM
38823 "children" : [
38824 {
bb4c8cf8
TL
38825 "children" : [
38826 {
38827 "info" : {
38828 "GET" : {
e9cd3bd4 38829 "allowtoken" : 1,
bb4c8cf8
TL
38830 "description" : "Get user TFA types (Personal and Realm).",
38831 "method" : "GET",
38832 "name" : "read_user_tfa_type",
38833 "parameters" : {
38834 "additionalProperties" : 0,
38835 "properties" : {
38836 "userid" : {
38837 "description" : "User ID",
38838 "format" : "pve-userid",
38839 "maxLength" : 64,
38840 "type" : "string",
38841 "typetext" : "<string>"
38842 }
38843 }
38844 },
38845 "permissions" : {
38846 "check" : [
38847 "or",
38848 [
38849 "userid-param",
38850 "self"
38851 ],
38852 [
38853 "userid-group",
38854 [
38855 "User.Modify",
38856 "Sys.Audit"
38857 ]
38858 ]
38859 ]
38860 },
38861 "protected" : 1,
38862 "returns" : {
38863 "additionalProperties" : 0,
38864 "properties" : {
38865 "realm" : {
38866 "description" : "The type of TFA the users realm has set, if any.",
38867 "enum" : [
38868 "oath",
38869 "yubico"
38870 ],
38871 "optional" : 1,
38872 "type" : "string"
38873 },
38874 "user" : {
38875 "description" : "The type of TFA the user has set, if any.",
38876 "enum" : [
38877 "oath",
38878 "u2f"
38879 ],
38880 "optional" : 1,
38881 "type" : "string"
38882 }
38883 },
38884 "type" : "object"
38885 }
38886 }
38887 },
38888 "leaf" : 1,
38889 "path" : "/access/users/{userid}/tfa",
38890 "text" : "tfa"
e9cd3bd4
TL
38891 },
38892 {
38893 "children" : [
38894 {
38895 "info" : {
38896 "DELETE" : {
38897 "allowtoken" : 1,
38898 "description" : "Remove API token for a specific user.",
38899 "method" : "DELETE",
38900 "name" : "remove_token",
38901 "parameters" : {
38902 "additionalProperties" : 0,
38903 "properties" : {
38904 "tokenid" : {
38905 "description" : "User-specific token identifier.",
38906 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
38907 "type" : "string"
38908 },
38909 "userid" : {
38910 "description" : "User ID",
38911 "format" : "pve-userid",
38912 "maxLength" : 64,
38913 "type" : "string",
38914 "typetext" : "<string>"
38915 }
38916 }
38917 },
38918 "permissions" : {
38919 "check" : [
38920 "or",
38921 [
38922 "userid-param",
38923 "self"
38924 ],
38925 [
38926 "perm",
38927 "/access/users/{userid}",
38928 [
38929 "User.Modify"
38930 ]
38931 ]
38932 ]
38933 },
38934 "protected" : 1,
38935 "returns" : {
c5aa7e14
TL
38936 "type" : "null"
38937 }
38938 },
38939 "GET" : {
38940 "allowtoken" : 1,
38941 "description" : "Get specific API token information.",
38942 "method" : "GET",
38943 "name" : "read_token",
38944 "parameters" : {
38945 "additionalProperties" : 0,
38946 "properties" : {
38947 "tokenid" : {
38948 "description" : "User-specific token identifier.",
38949 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
38950 "type" : "string"
38951 },
38952 "userid" : {
38953 "description" : "User ID",
38954 "format" : "pve-userid",
38955 "maxLength" : 64,
38956 "type" : "string",
38957 "typetext" : "<string>"
38958 }
38959 }
38960 },
38961 "permissions" : {
38962 "check" : [
38963 "or",
38964 [
38965 "userid-param",
38966 "self"
38967 ],
38968 [
38969 "perm",
38970 "/access/users/{userid}",
38971 [
38972 "User.Modify"
38973 ]
38974 ]
38975 ]
38976 },
38977 "returns" : {
38978 "properties" : {
38979 "comment" : {
38980 "optional" : 1,
38981 "type" : "string"
38982 },
38983 "expire" : {
38984 "default" : "same as user",
38985 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
38986 "minimum" : 0,
38987 "optional" : 1,
38988 "type" : "integer"
38989 },
38990 "privsep" : {
38991 "default" : 1,
38992 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
38993 "optional" : 1,
38994 "type" : "boolean"
38995 }
38996 },
38997 "type" : "object"
38998 }
38999 },
39000 "POST" : {
39001 "allowtoken" : 1,
39002 "description" : "Generate a new API token for a specific user. NOTE: returns API token value, which needs to be stored as it cannot be retrieved afterwards!",
39003 "method" : "POST",
39004 "name" : "generate_token",
39005 "parameters" : {
39006 "additionalProperties" : 0,
39007 "properties" : {
39008 "comment" : {
39009 "optional" : 1,
39010 "type" : "string",
39011 "typetext" : "<string>"
39012 },
39013 "expire" : {
39014 "default" : "same as user",
39015 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39016 "minimum" : 0,
39017 "optional" : 1,
39018 "type" : "integer",
39019 "typetext" : "<integer> (0 - N)"
39020 },
39021 "privsep" : {
39022 "default" : 1,
39023 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39024 "optional" : 1,
39025 "type" : "boolean",
39026 "typetext" : "<boolean>"
39027 },
39028 "tokenid" : {
39029 "description" : "User-specific token identifier.",
39030 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39031 "type" : "string"
39032 },
39033 "userid" : {
39034 "description" : "User ID",
39035 "format" : "pve-userid",
39036 "maxLength" : 64,
39037 "type" : "string",
39038 "typetext" : "<string>"
39039 }
39040 }
39041 },
39042 "permissions" : {
39043 "check" : [
39044 "or",
39045 [
39046 "userid-param",
39047 "self"
39048 ],
39049 [
39050 "perm",
39051 "/access/users/{userid}",
39052 [
39053 "User.Modify"
39054 ]
39055 ]
39056 ]
39057 },
39058 "protected" : 1,
39059 "returns" : {
e9cd3bd4
TL
39060 "additionalProperties" : 0,
39061 "properties" : {
c5aa7e14
TL
39062 "full-tokenid" : {
39063 "description" : "The full token id.",
39064 "format_description" : "<userid>!<tokenid>",
e9cd3bd4
TL
39065 "type" : "string"
39066 },
e9cd3bd4
TL
39067 "info" : {
39068 "properties" : {
39069 "comment" : {
39070 "optional" : 1,
39071 "type" : "string"
39072 },
39073 "expire" : {
39074 "default" : "same as user",
39075 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39076 "minimum" : 0,
39077 "optional" : 1,
39078 "type" : "integer"
39079 },
39080 "privsep" : {
39081 "default" : 1,
39082 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39083 "optional" : 1,
39084 "type" : "boolean"
39085 }
39086 },
39087 "type" : "object"
39088 },
39089 "value" : {
39090 "description" : "API token value used for authentication.",
39091 "type" : "string"
39092 }
39093 },
39094 "type" : "object"
39095 }
39096 },
39097 "PUT" : {
39098 "allowtoken" : 1,
39099 "description" : "Update API token for a specific user.",
39100 "method" : "PUT",
39101 "name" : "update_token_info",
39102 "parameters" : {
39103 "additionalProperties" : 0,
39104 "properties" : {
39105 "comment" : {
39106 "optional" : 1,
39107 "type" : "string",
39108 "typetext" : "<string>"
39109 },
39110 "expire" : {
39111 "default" : "same as user",
39112 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39113 "minimum" : 0,
39114 "optional" : 1,
39115 "type" : "integer",
39116 "typetext" : "<integer> (0 - N)"
39117 },
39118 "privsep" : {
39119 "default" : 1,
39120 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39121 "optional" : 1,
39122 "type" : "boolean",
39123 "typetext" : "<boolean>"
39124 },
39125 "tokenid" : {
39126 "description" : "User-specific token identifier.",
39127 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39128 "type" : "string"
39129 },
39130 "userid" : {
39131 "description" : "User ID",
39132 "format" : "pve-userid",
39133 "maxLength" : 64,
39134 "type" : "string",
39135 "typetext" : "<string>"
39136 }
39137 }
39138 },
39139 "permissions" : {
39140 "check" : [
39141 "or",
39142 [
39143 "userid-param",
39144 "self"
39145 ],
39146 [
39147 "perm",
39148 "/access/users/{userid}",
39149 [
39150 "User.Modify"
39151 ]
39152 ]
39153 ]
39154 },
39155 "protected" : 1,
39156 "returns" : {
39157 "description" : "Updated token information.",
39158 "properties" : {
39159 "comment" : {
39160 "optional" : 1,
39161 "type" : "string"
39162 },
39163 "expire" : {
39164 "default" : "same as user",
39165 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39166 "minimum" : 0,
39167 "optional" : 1,
39168 "type" : "integer"
39169 },
39170 "privsep" : {
39171 "default" : 1,
39172 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39173 "optional" : 1,
39174 "type" : "boolean"
39175 }
39176 },
39177 "type" : "object"
39178 }
39179 }
39180 },
39181 "leaf" : 1,
39182 "path" : "/access/users/{userid}/token/{tokenid}",
39183 "text" : "{tokenid}"
39184 }
39185 ],
39186 "info" : {
39187 "GET" : {
39188 "allowtoken" : 1,
39189 "description" : "Get user API tokens.",
39190 "method" : "GET",
39191 "name" : "token_index",
39192 "parameters" : {
39193 "additionalProperties" : 0,
39194 "properties" : {
39195 "userid" : {
39196 "description" : "User ID",
39197 "format" : "pve-userid",
39198 "maxLength" : 64,
39199 "type" : "string",
39200 "typetext" : "<string>"
39201 }
39202 }
39203 },
39204 "permissions" : {
39205 "check" : [
39206 "or",
39207 [
39208 "userid-param",
39209 "self"
39210 ],
39211 [
39212 "perm",
39213 "/access/users/{userid}",
39214 [
39215 "User.Modify"
39216 ]
39217 ]
39218 ]
39219 },
39220 "returns" : {
39221 "items" : {
39222 "properties" : {
39223 "comment" : {
39224 "optional" : 1,
39225 "type" : "string"
39226 },
39227 "expire" : {
39228 "default" : "same as user",
39229 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39230 "minimum" : 0,
39231 "optional" : 1,
39232 "type" : "integer"
39233 },
39234 "privsep" : {
39235 "default" : 1,
39236 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39237 "optional" : 1,
39238 "type" : "boolean"
39239 },
39240 "tokenid" : {
39241 "description" : "User-specific token identifier.",
39242 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39243 "type" : "string"
39244 }
39245 },
39246 "type" : "object"
39247 },
39248 "links" : [
39249 {
39250 "href" : "{tokenid}",
39251 "rel" : "child"
39252 }
39253 ],
39254 "type" : "array"
39255 }
39256 }
39257 },
39258 "leaf" : 0,
39259 "path" : "/access/users/{userid}/token",
39260 "text" : "token"
bb4c8cf8
TL
39261 }
39262 ],
56122987 39263 "info" : {
44660702 39264 "DELETE" : {
e9cd3bd4 39265 "allowtoken" : 1,
44660702
DM
39266 "description" : "Delete user.",
39267 "method" : "DELETE",
39268 "name" : "delete_user",
56122987 39269 "parameters" : {
7aacca6f 39270 "additionalProperties" : 0,
56122987 39271 "properties" : {
56122987 39272 "userid" : {
56122987
DM
39273 "description" : "User ID",
39274 "format" : "pve-userid",
44660702 39275 "maxLength" : 64,
013dc89f
DM
39276 "type" : "string",
39277 "typetext" : "<string>"
56122987 39278 }
7aacca6f 39279 }
56122987 39280 },
56122987
DM
39281 "permissions" : {
39282 "check" : [
44660702 39283 "and",
56122987 39284 [
44660702
DM
39285 "userid-param",
39286 "Realm.AllocateUser"
56122987 39287 ],
44660702
DM
39288 [
39289 "userid-group",
39290 [
39291 "User.Modify"
39292 ]
39293 ]
56122987 39294 ]
7aacca6f 39295 },
44660702 39296 "protected" : 1,
56122987
DM
39297 "returns" : {
39298 "type" : "null"
44660702 39299 }
7aacca6f 39300 },
44660702 39301 "GET" : {
e9cd3bd4 39302 "allowtoken" : 1,
44660702
DM
39303 "description" : "Get user configuration.",
39304 "method" : "GET",
39305 "name" : "read_user",
56122987
DM
39306 "parameters" : {
39307 "additionalProperties" : 0,
39308 "properties" : {
39309 "userid" : {
44660702 39310 "description" : "User ID",
56122987 39311 "format" : "pve-userid",
44660702 39312 "maxLength" : 64,
013dc89f
DM
39313 "type" : "string",
39314 "typetext" : "<string>"
56122987
DM
39315 }
39316 }
39317 },
56122987
DM
39318 "permissions" : {
39319 "check" : [
44660702 39320 "userid-group",
56122987 39321 [
44660702
DM
39322 "User.Modify",
39323 "Sys.Audit"
56122987
DM
39324 ]
39325 ]
39326 },
56122987 39327 "returns" : {
7aacca6f 39328 "additionalProperties" : 0,
56122987 39329 "properties" : {
44660702
DM
39330 "comment" : {
39331 "optional" : 1,
39332 "type" : "string"
56122987 39333 },
44660702 39334 "email" : {
e2d681b3 39335 "format" : "email-opt",
44660702
DM
39336 "optional" : 1,
39337 "type" : "string"
7aacca6f
DM
39338 },
39339 "enable" : {
e2d681b3
TL
39340 "default" : 1,
39341 "description" : "Enable the account (default). You can set this to '0' to disable the account",
39342 "optional" : 1,
7aacca6f
DM
39343 "type" : "boolean"
39344 },
44660702 39345 "expire" : {
e2d681b3
TL
39346 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
39347 "minimum" : 0,
44660702
DM
39348 "optional" : 1,
39349 "type" : "integer"
39350 },
39351 "firstname" : {
56122987
DM
39352 "optional" : 1,
39353 "type" : "string"
39354 },
44660702 39355 "groups" : {
e9cd3bd4
TL
39356 "items" : {
39357 "format" : "pve-groupid",
39358 "type" : "string"
39359 },
39360 "optional" : 1,
44660702 39361 "type" : "array"
56122987 39362 },
44660702 39363 "keys" : {
e2d681b3 39364 "description" : "Keys for two factor auth (yubico).",
44660702
DM
39365 "optional" : 1,
39366 "type" : "string"
7aacca6f 39367 },
44660702
DM
39368 "lastname" : {
39369 "optional" : 1,
39370 "type" : "string"
e9cd3bd4
TL
39371 },
39372 "tokens" : {
39373 "optional" : 1,
39374 "type" : "object"
56122987 39375 }
e2d681b3
TL
39376 },
39377 "type" : "object"
44660702
DM
39378 }
39379 },
39380 "PUT" : {
e9cd3bd4 39381 "allowtoken" : 1,
44660702
DM
39382 "description" : "Update user configuration.",
39383 "method" : "PUT",
39384 "name" : "update_user",
56122987 39385 "parameters" : {
44660702 39386 "additionalProperties" : 0,
56122987 39387 "properties" : {
44660702
DM
39388 "append" : {
39389 "optional" : 1,
39390 "requires" : "groups",
013dc89f
DM
39391 "type" : "boolean",
39392 "typetext" : "<boolean>"
44660702
DM
39393 },
39394 "comment" : {
39395 "optional" : 1,
013dc89f
DM
39396 "type" : "string",
39397 "typetext" : "<string>"
44660702
DM
39398 },
39399 "email" : {
39400 "format" : "email-opt",
39401 "optional" : 1,
013dc89f
DM
39402 "type" : "string",
39403 "typetext" : "<string>"
44660702
DM
39404 },
39405 "enable" : {
e2d681b3
TL
39406 "default" : 1,
39407 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 39408 "optional" : 1,
013dc89f
DM
39409 "type" : "boolean",
39410 "typetext" : "<boolean>"
44660702
DM
39411 },
39412 "expire" : {
39413 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
39414 "minimum" : 0,
39415 "optional" : 1,
4bd7df8b 39416 "type" : "integer",
013dc89f 39417 "typetext" : "<integer> (0 - N)"
44660702
DM
39418 },
39419 "firstname" : {
39420 "optional" : 1,
013dc89f
DM
39421 "type" : "string",
39422 "typetext" : "<string>"
44660702
DM
39423 },
39424 "groups" : {
39425 "format" : "pve-groupid-list",
39426 "optional" : 1,
013dc89f
DM
39427 "type" : "string",
39428 "typetext" : "<string>"
44660702
DM
39429 },
39430 "keys" : {
39431 "description" : "Keys for two factor auth (yubico).",
39432 "optional" : 1,
013dc89f
DM
39433 "type" : "string",
39434 "typetext" : "<string>"
44660702
DM
39435 },
39436 "lastname" : {
39437 "optional" : 1,
013dc89f
DM
39438 "type" : "string",
39439 "typetext" : "<string>"
44660702 39440 },
56122987 39441 "userid" : {
56122987
DM
39442 "description" : "User ID",
39443 "format" : "pve-userid",
44660702 39444 "maxLength" : 64,
013dc89f
DM
39445 "type" : "string",
39446 "typetext" : "<string>"
56122987 39447 }
44660702 39448 }
56122987 39449 },
56122987
DM
39450 "permissions" : {
39451 "check" : [
39452 "userid-group",
39453 [
44660702
DM
39454 "User.Modify"
39455 ],
39456 "groups_param",
39457 1
56122987
DM
39458 ]
39459 },
44660702
DM
39460 "protected" : 1,
39461 "returns" : {
39462 "type" : "null"
39463 }
56122987
DM
39464 }
39465 },
bb4c8cf8 39466 "leaf" : 0,
44660702 39467 "path" : "/access/users/{userid}",
7aacca6f 39468 "text" : "{userid}"
56122987 39469 }
7aacca6f 39470 ],
56122987 39471 "info" : {
7aacca6f 39472 "GET" : {
e9cd3bd4 39473 "allowtoken" : 1,
44660702
DM
39474 "description" : "User index.",
39475 "method" : "GET",
7aacca6f 39476 "name" : "index",
56122987 39477 "parameters" : {
44660702
DM
39478 "additionalProperties" : 0,
39479 "properties" : {
39480 "enabled" : {
39481 "description" : "Optional filter for enable property.",
39482 "optional" : 1,
013dc89f
DM
39483 "type" : "boolean",
39484 "typetext" : "<boolean>"
e9cd3bd4
TL
39485 },
39486 "full" : {
39487 "default" : 0,
39488 "description" : "Include group and token information.",
39489 "optional" : 1,
39490 "type" : "boolean",
39491 "typetext" : "<boolean>"
44660702
DM
39492 }
39493 }
39494 },
39495 "permissions" : {
39496 "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.",
39497 "user" : "all"
56122987 39498 },
7aacca6f 39499 "returns" : {
7aacca6f
DM
39500 "items" : {
39501 "properties" : {
e2d681b3
TL
39502 "comment" : {
39503 "optional" : 1,
39504 "type" : "string"
39505 },
39506 "email" : {
39507 "format" : "email-opt",
39508 "optional" : 1,
39509 "type" : "string"
39510 },
39511 "enable" : {
39512 "default" : 1,
39513 "description" : "Enable the account (default). You can set this to '0' to disable the account",
39514 "optional" : 1,
39515 "type" : "boolean"
39516 },
39517 "expire" : {
39518 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
39519 "minimum" : 0,
39520 "optional" : 1,
39521 "type" : "integer"
39522 },
39523 "firstname" : {
39524 "optional" : 1,
39525 "type" : "string"
39526 },
e9cd3bd4
TL
39527 "groups" : {
39528 "format" : "pve-groupid-list",
39529 "optional" : 1,
39530 "type" : "string"
39531 },
e2d681b3
TL
39532 "keys" : {
39533 "description" : "Keys for two factor auth (yubico).",
39534 "optional" : 1,
39535 "type" : "string"
39536 },
39537 "lastname" : {
39538 "optional" : 1,
39539 "type" : "string"
39540 },
e9cd3bd4
TL
39541 "tokens" : {
39542 "items" : {
39543 "properties" : {
39544 "comment" : {
39545 "optional" : 1,
39546 "type" : "string"
39547 },
39548 "expire" : {
39549 "default" : "same as user",
39550 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
39551 "minimum" : 0,
39552 "optional" : 1,
39553 "type" : "integer"
39554 },
39555 "privsep" : {
39556 "default" : 1,
39557 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
39558 "optional" : 1,
39559 "type" : "boolean"
39560 },
39561 "tokenid" : {
39562 "description" : "User-specific token identifier.",
39563 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
39564 "type" : "string"
39565 }
39566 },
39567 "type" : "object"
39568 },
39569 "optional" : 1,
39570 "type" : "array"
39571 },
44660702 39572 "userid" : {
e2d681b3
TL
39573 "description" : "User ID",
39574 "format" : "pve-userid",
39575 "maxLength" : 64,
7aacca6f
DM
39576 "type" : "string"
39577 }
39578 },
39579 "type" : "object"
39580 },
44660702
DM
39581 "links" : [
39582 {
39583 "href" : "{userid}",
39584 "rel" : "child"
39585 }
39586 ],
7aacca6f
DM
39587 "type" : "array"
39588 }
39589 },
39590 "POST" : {
e9cd3bd4 39591 "allowtoken" : 1,
44660702 39592 "description" : "Create new user.",
7aacca6f 39593 "method" : "POST",
44660702 39594 "name" : "create_user",
56122987 39595 "parameters" : {
7aacca6f
DM
39596 "additionalProperties" : 0,
39597 "properties" : {
44660702
DM
39598 "comment" : {
39599 "optional" : 1,
013dc89f
DM
39600 "type" : "string",
39601 "typetext" : "<string>"
7aacca6f 39602 },
44660702
DM
39603 "email" : {
39604 "format" : "email-opt",
39605 "optional" : 1,
013dc89f
DM
39606 "type" : "string",
39607 "typetext" : "<string>"
44660702
DM
39608 },
39609 "enable" : {
39610 "default" : 1,
e2d681b3 39611 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 39612 "optional" : 1,
013dc89f
DM
39613 "type" : "boolean",
39614 "typetext" : "<boolean>"
44660702
DM
39615 },
39616 "expire" : {
39617 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
39618 "minimum" : 0,
39619 "optional" : 1,
4bd7df8b 39620 "type" : "integer",
013dc89f 39621 "typetext" : "<integer> (0 - N)"
44660702
DM
39622 },
39623 "firstname" : {
39624 "optional" : 1,
013dc89f
DM
39625 "type" : "string",
39626 "typetext" : "<string>"
44660702
DM
39627 },
39628 "groups" : {
39629 "format" : "pve-groupid-list",
39630 "optional" : 1,
013dc89f
DM
39631 "type" : "string",
39632 "typetext" : "<string>"
44660702
DM
39633 },
39634 "keys" : {
39635 "description" : "Keys for two factor auth (yubico).",
39636 "optional" : 1,
013dc89f
DM
39637 "type" : "string",
39638 "typetext" : "<string>"
44660702
DM
39639 },
39640 "lastname" : {
7aacca6f 39641 "optional" : 1,
013dc89f
DM
39642 "type" : "string",
39643 "typetext" : "<string>"
44660702
DM
39644 },
39645 "password" : {
39646 "description" : "Initial password.",
39647 "maxLength" : 64,
39648 "minLength" : 5,
39649 "optional" : 1,
013dc89f
DM
39650 "type" : "string",
39651 "typetext" : "<string>"
44660702
DM
39652 },
39653 "userid" : {
39654 "description" : "User ID",
39655 "format" : "pve-userid",
39656 "maxLength" : 64,
013dc89f
DM
39657 "type" : "string",
39658 "typetext" : "<string>"
56122987 39659 }
7aacca6f 39660 }
56122987 39661 },
44660702
DM
39662 "permissions" : {
39663 "check" : [
39664 "and",
39665 [
39666 "userid-param",
39667 "Realm.AllocateUser"
39668 ],
39669 [
39670 "userid-group",
39671 [
39672 "User.Modify"
39673 ],
39674 "groups_param",
39675 1
39676 ]
39677 ],
39678 "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."
39679 },
39680 "protected" : 1,
39681 "returns" : {
39682 "type" : "null"
39683 }
56122987
DM
39684 }
39685 },
44660702
DM
39686 "leaf" : 0,
39687 "path" : "/access/users",
39688 "text" : "users"
39689 },
39690 {
56122987
DM
39691 "children" : [
39692 {
56122987
DM
39693 "info" : {
39694 "DELETE" : {
e9cd3bd4 39695 "allowtoken" : 1,
44660702
DM
39696 "description" : "Delete group.",
39697 "method" : "DELETE",
39698 "name" : "delete_group",
39699 "parameters" : {
39700 "additionalProperties" : 0,
39701 "properties" : {
39702 "groupid" : {
39703 "format" : "pve-groupid",
013dc89f
DM
39704 "type" : "string",
39705 "typetext" : "<string>"
44660702
DM
39706 }
39707 }
39708 },
7aacca6f
DM
39709 "permissions" : {
39710 "check" : [
39711 "perm",
39712 "/access/groups",
39713 [
39714 "Group.Allocate"
39715 ]
39716 ]
39717 },
7aacca6f 39718 "protected" : 1,
7aacca6f
DM
39719 "returns" : {
39720 "type" : "null"
44660702 39721 }
7aacca6f 39722 },
44660702 39723 "GET" : {
e9cd3bd4 39724 "allowtoken" : 1,
44660702
DM
39725 "description" : "Get group configuration.",
39726 "method" : "GET",
39727 "name" : "read_group",
39728 "parameters" : {
39729 "additionalProperties" : 0,
39730 "properties" : {
39731 "groupid" : {
39732 "format" : "pve-groupid",
013dc89f
DM
39733 "type" : "string",
39734 "typetext" : "<string>"
44660702
DM
39735 }
39736 }
56122987 39737 },
7aacca6f
DM
39738 "permissions" : {
39739 "check" : [
39740 "perm",
39741 "/access/groups",
39742 [
44660702 39743 "Sys.Audit",
7aacca6f 39744 "Group.Allocate"
44660702
DM
39745 ],
39746 "any",
39747 1
7aacca6f
DM
39748 ]
39749 },
7aacca6f 39750 "returns" : {
44660702 39751 "additionalProperties" : 0,
7aacca6f
DM
39752 "properties" : {
39753 "comment" : {
44660702
DM
39754 "optional" : 1,
39755 "type" : "string"
7aacca6f
DM
39756 },
39757 "members" : {
39758 "items" : {
e2d681b3
TL
39759 "description" : "User ID",
39760 "format" : "pve-userid",
39761 "maxLength" : 64,
7aacca6f
DM
39762 "type" : "string"
39763 },
39764 "type" : "array"
39765 }
39766 },
44660702
DM
39767 "type" : "object"
39768 }
39769 },
39770 "PUT" : {
e9cd3bd4 39771 "allowtoken" : 1,
44660702
DM
39772 "description" : "Update group data.",
39773 "method" : "PUT",
39774 "name" : "update_group",
56122987 39775 "parameters" : {
44660702 39776 "additionalProperties" : 0,
56122987 39777 "properties" : {
44660702
DM
39778 "comment" : {
39779 "optional" : 1,
013dc89f
DM
39780 "type" : "string",
39781 "typetext" : "<string>"
44660702 39782 },
56122987
DM
39783 "groupid" : {
39784 "format" : "pve-groupid",
013dc89f
DM
39785 "type" : "string",
39786 "typetext" : "<string>"
56122987 39787 }
44660702 39788 }
56122987 39789 },
56122987
DM
39790 "permissions" : {
39791 "check" : [
39792 "perm",
39793 "/access/groups",
39794 [
39795 "Group.Allocate"
44660702 39796 ]
56122987
DM
39797 ]
39798 },
44660702
DM
39799 "protected" : 1,
39800 "returns" : {
39801 "type" : "null"
39802 }
7aacca6f
DM
39803 }
39804 },
7aacca6f 39805 "leaf" : 1,
44660702
DM
39806 "path" : "/access/groups/{groupid}",
39807 "text" : "{groupid}"
39808 }
39809 ],
39810 "info" : {
39811 "GET" : {
e9cd3bd4 39812 "allowtoken" : 1,
44660702
DM
39813 "description" : "Group index.",
39814 "method" : "GET",
39815 "name" : "index",
39816 "parameters" : {
39817 "additionalProperties" : 0
39818 },
39819 "permissions" : {
39820 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
39821 "user" : "all"
39822 },
39823 "returns" : {
39824 "items" : {
39825 "properties" : {
e2d681b3
TL
39826 "comment" : {
39827 "optional" : 1,
39828 "type" : "string"
39829 },
44660702 39830 "groupid" : {
e2d681b3 39831 "format" : "pve-groupid",
44660702 39832 "type" : "string"
e9cd3bd4
TL
39833 },
39834 "users" : {
39835 "description" : "list of users which form this group",
39836 "format" : "pve-userid-list",
39837 "optional" : 1,
39838 "type" : "string"
44660702
DM
39839 }
39840 },
39841 "type" : "object"
39842 },
39843 "links" : [
39844 {
39845 "href" : "{groupid}",
39846 "rel" : "child"
39847 }
39848 ],
39849 "type" : "array"
39850 }
39851 },
39852 "POST" : {
e9cd3bd4 39853 "allowtoken" : 1,
44660702
DM
39854 "description" : "Create new group.",
39855 "method" : "POST",
39856 "name" : "create_group",
39857 "parameters" : {
39858 "additionalProperties" : 0,
39859 "properties" : {
39860 "comment" : {
39861 "optional" : 1,
013dc89f
DM
39862 "type" : "string",
39863 "typetext" : "<string>"
44660702
DM
39864 },
39865 "groupid" : {
39866 "format" : "pve-groupid",
013dc89f
DM
39867 "type" : "string",
39868 "typetext" : "<string>"
44660702
DM
39869 }
39870 }
39871 },
39872 "permissions" : {
39873 "check" : [
39874 "perm",
39875 "/access/groups",
39876 [
39877 "Group.Allocate"
39878 ]
39879 ]
39880 },
39881 "protected" : 1,
39882 "returns" : {
39883 "type" : "null"
39884 }
7aacca6f 39885 }
44660702 39886 },
7aacca6f 39887 "leaf" : 0,
44660702
DM
39888 "path" : "/access/groups",
39889 "text" : "groups"
7aacca6f
DM
39890 },
39891 {
39892 "children" : [
39893 {
7aacca6f 39894 "info" : {
7aacca6f 39895 "DELETE" : {
e9cd3bd4 39896 "allowtoken" : 1,
7aacca6f 39897 "description" : "Delete role.",
44660702 39898 "method" : "DELETE",
7aacca6f 39899 "name" : "delete_role",
56122987
DM
39900 "parameters" : {
39901 "additionalProperties" : 0,
39902 "properties" : {
7aacca6f
DM
39903 "roleid" : {
39904 "format" : "pve-roleid",
013dc89f
DM
39905 "type" : "string",
39906 "typetext" : "<string>"
56122987
DM
39907 }
39908 }
39909 },
56122987
DM
39910 "permissions" : {
39911 "check" : [
39912 "perm",
7aacca6f 39913 "/access",
56122987 39914 [
7aacca6f
DM
39915 "Sys.Modify"
39916 ]
56122987 39917 ]
44660702
DM
39918 },
39919 "protected" : 1,
39920 "returns" : {
39921 "type" : "null"
56122987
DM
39922 }
39923 },
44660702 39924 "GET" : {
e9cd3bd4 39925 "allowtoken" : 1,
44660702
DM
39926 "description" : "Get role configuration.",
39927 "method" : "GET",
39928 "name" : "read_role",
39929 "parameters" : {
39930 "additionalProperties" : 0,
39931 "properties" : {
39932 "roleid" : {
39933 "format" : "pve-roleid",
013dc89f
DM
39934 "type" : "string",
39935 "typetext" : "<string>"
44660702
DM
39936 }
39937 }
39938 },
7aacca6f 39939 "permissions" : {
44660702 39940 "user" : "all"
56122987 39941 },
e2d681b3
TL
39942 "returns" : {
39943 "additionalProperties" : 0,
39944 "properties" : {
39945 "Datastore.Allocate" : {
39946 "optional" : 1,
39947 "type" : "boolean"
39948 },
39949 "Datastore.AllocateSpace" : {
39950 "optional" : 1,
39951 "type" : "boolean"
39952 },
39953 "Datastore.AllocateTemplate" : {
39954 "optional" : 1,
39955 "type" : "boolean"
39956 },
39957 "Datastore.Audit" : {
39958 "optional" : 1,
39959 "type" : "boolean"
39960 },
39961 "Group.Allocate" : {
39962 "optional" : 1,
39963 "type" : "boolean"
39964 },
39965 "Permissions.Modify" : {
39966 "optional" : 1,
39967 "type" : "boolean"
39968 },
39969 "Pool.Allocate" : {
39970 "optional" : 1,
39971 "type" : "boolean"
39972 },
39973 "Realm.Allocate" : {
39974 "optional" : 1,
39975 "type" : "boolean"
39976 },
39977 "Realm.AllocateUser" : {
39978 "optional" : 1,
39979 "type" : "boolean"
39980 },
5c1699e5
TL
39981 "SDN.Allocate" : {
39982 "optional" : 1,
39983 "type" : "boolean"
39984 },
39985 "SDN.Audit" : {
39986 "optional" : 1,
39987 "type" : "boolean"
39988 },
e2d681b3
TL
39989 "Sys.Audit" : {
39990 "optional" : 1,
39991 "type" : "boolean"
39992 },
39993 "Sys.Console" : {
39994 "optional" : 1,
39995 "type" : "boolean"
39996 },
39997 "Sys.Modify" : {
39998 "optional" : 1,
39999 "type" : "boolean"
40000 },
40001 "Sys.PowerMgmt" : {
40002 "optional" : 1,
40003 "type" : "boolean"
40004 },
40005 "Sys.Syslog" : {
40006 "optional" : 1,
40007 "type" : "boolean"
40008 },
40009 "User.Modify" : {
40010 "optional" : 1,
40011 "type" : "boolean"
40012 },
40013 "VM.Allocate" : {
40014 "optional" : 1,
40015 "type" : "boolean"
40016 },
40017 "VM.Audit" : {
40018 "optional" : 1,
40019 "type" : "boolean"
40020 },
40021 "VM.Backup" : {
40022 "optional" : 1,
40023 "type" : "boolean"
40024 },
40025 "VM.Clone" : {
40026 "optional" : 1,
40027 "type" : "boolean"
40028 },
40029 "VM.Config.CDROM" : {
40030 "optional" : 1,
40031 "type" : "boolean"
40032 },
40033 "VM.Config.CPU" : {
40034 "optional" : 1,
40035 "type" : "boolean"
40036 },
40037 "VM.Config.Disk" : {
40038 "optional" : 1,
40039 "type" : "boolean"
40040 },
40041 "VM.Config.HWType" : {
40042 "optional" : 1,
40043 "type" : "boolean"
40044 },
40045 "VM.Config.Memory" : {
40046 "optional" : 1,
40047 "type" : "boolean"
40048 },
40049 "VM.Config.Network" : {
40050 "optional" : 1,
40051 "type" : "boolean"
40052 },
40053 "VM.Config.Options" : {
40054 "optional" : 1,
40055 "type" : "boolean"
40056 },
40057 "VM.Console" : {
40058 "optional" : 1,
40059 "type" : "boolean"
40060 },
40061 "VM.Migrate" : {
40062 "optional" : 1,
40063 "type" : "boolean"
40064 },
40065 "VM.Monitor" : {
40066 "optional" : 1,
40067 "type" : "boolean"
40068 },
40069 "VM.PowerMgmt" : {
40070 "optional" : 1,
40071 "type" : "boolean"
40072 },
40073 "VM.Snapshot" : {
40074 "optional" : 1,
40075 "type" : "boolean"
40076 },
40077 "VM.Snapshot.Rollback" : {
40078 "optional" : 1,
40079 "type" : "boolean"
40080 }
40081 },
40082 "type" : "object"
40083 }
44660702
DM
40084 },
40085 "PUT" : {
e9cd3bd4 40086 "allowtoken" : 1,
e2d681b3 40087 "description" : "Update an existing role.",
44660702
DM
40088 "method" : "PUT",
40089 "name" : "update_role",
56122987
DM
40090 "parameters" : {
40091 "additionalProperties" : 0,
40092 "properties" : {
7aacca6f 40093 "append" : {
44660702 40094 "optional" : 1,
7aacca6f 40095 "requires" : "privs",
013dc89f
DM
40096 "type" : "boolean",
40097 "typetext" : "<boolean>"
7aacca6f
DM
40098 },
40099 "privs" : {
40100 "format" : "pve-priv-list",
e2d681b3 40101 "optional" : 1,
013dc89f
DM
40102 "type" : "string",
40103 "typetext" : "<string>"
44660702
DM
40104 },
40105 "roleid" : {
40106 "format" : "pve-roleid",
013dc89f
DM
40107 "type" : "string",
40108 "typetext" : "<string>"
56122987
DM
40109 }
40110 }
40111 },
44660702
DM
40112 "permissions" : {
40113 "check" : [
40114 "perm",
40115 "/access",
40116 [
40117 "Sys.Modify"
40118 ]
40119 ]
40120 },
56122987 40121 "protected" : 1,
7aacca6f
DM
40122 "returns" : {
40123 "type" : "null"
56122987
DM
40124 }
40125 }
40126 },
44660702 40127 "leaf" : 1,
7aacca6f 40128 "path" : "/access/roles/{roleid}",
44660702 40129 "text" : "{roleid}"
56122987
DM
40130 }
40131 ],
56122987 40132 "info" : {
7aacca6f 40133 "GET" : {
e9cd3bd4 40134 "allowtoken" : 1,
7aacca6f 40135 "description" : "Role index.",
44660702 40136 "method" : "GET",
7aacca6f 40137 "name" : "index",
56122987 40138 "parameters" : {
56122987
DM
40139 "additionalProperties" : 0
40140 },
7aacca6f
DM
40141 "permissions" : {
40142 "user" : "all"
40143 },
56122987 40144 "returns" : {
7aacca6f 40145 "items" : {
7aacca6f 40146 "properties" : {
e2d681b3
TL
40147 "privs" : {
40148 "format" : "pve-priv-list",
40149 "optional" : 1,
40150 "type" : "string"
40151 },
7aacca6f 40152 "roleid" : {
e2d681b3 40153 "format" : "pve-roleid",
7aacca6f 40154 "type" : "string"
e2d681b3
TL
40155 },
40156 "special" : {
40157 "default" : 0,
40158 "optional" : 1,
40159 "type" : "boolean"
7aacca6f 40160 }
44660702
DM
40161 },
40162 "type" : "object"
40163 },
40164 "links" : [
40165 {
40166 "href" : "{roleid}",
40167 "rel" : "child"
7aacca6f 40168 }
44660702
DM
40169 ],
40170 "type" : "array"
40171 }
7aacca6f
DM
40172 },
40173 "POST" : {
e9cd3bd4 40174 "allowtoken" : 1,
7aacca6f 40175 "description" : "Create new role.",
44660702
DM
40176 "method" : "POST",
40177 "name" : "create_role",
7aacca6f
DM
40178 "parameters" : {
40179 "additionalProperties" : 0,
40180 "properties" : {
7aacca6f
DM
40181 "privs" : {
40182 "format" : "pve-priv-list",
40183 "optional" : 1,
013dc89f
DM
40184 "type" : "string",
40185 "typetext" : "<string>"
44660702
DM
40186 },
40187 "roleid" : {
40188 "format" : "pve-roleid",
013dc89f
DM
40189 "type" : "string",
40190 "typetext" : "<string>"
7aacca6f
DM
40191 }
40192 }
40193 },
44660702
DM
40194 "permissions" : {
40195 "check" : [
40196 "perm",
40197 "/access",
40198 [
40199 "Sys.Modify"
40200 ]
40201 ]
40202 },
40203 "protected" : 1,
7aacca6f
DM
40204 "returns" : {
40205 "type" : "null"
40206 }
40207 }
40208 },
44660702 40209 "leaf" : 0,
7aacca6f 40210 "path" : "/access/roles",
44660702 40211 "text" : "roles"
7aacca6f
DM
40212 },
40213 {
40214 "info" : {
56122987 40215 "GET" : {
e9cd3bd4 40216 "allowtoken" : 1,
44660702
DM
40217 "description" : "Get Access Control List (ACLs).",
40218 "method" : "GET",
40219 "name" : "read_acl",
7aacca6f
DM
40220 "parameters" : {
40221 "additionalProperties" : 0
40222 },
44660702
DM
40223 "permissions" : {
40224 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
40225 "user" : "all"
40226 },
56122987 40227 "returns" : {
56122987 40228 "items" : {
44660702 40229 "additionalProperties" : 0,
56122987 40230 "properties" : {
7aacca6f 40231 "path" : {
e2d681b3 40232 "description" : "Access control path",
7aacca6f
DM
40233 "type" : "string"
40234 },
44660702 40235 "propagate" : {
e2d681b3
TL
40236 "default" : 1,
40237 "description" : "Allow to propagate (inherit) permissions.",
40238 "optional" : 1,
44660702
DM
40239 "type" : "boolean"
40240 },
40241 "roleid" : {
40242 "type" : "string"
40243 },
7aacca6f
DM
40244 "type" : {
40245 "enum" : [
40246 "user",
e9cd3bd4
TL
40247 "group",
40248 "token"
7aacca6f
DM
40249 ],
40250 "type" : "string"
40251 },
7aacca6f
DM
40252 "ugid" : {
40253 "type" : "string"
56122987 40254 }
7aacca6f 40255 },
44660702 40256 "type" : "object"
7aacca6f
DM
40257 },
40258 "type" : "array"
44660702 40259 }
7aacca6f
DM
40260 },
40261 "PUT" : {
e9cd3bd4 40262 "allowtoken" : 1,
44660702
DM
40263 "description" : "Update Access Control List (add or remove permissions).",
40264 "method" : "PUT",
7aacca6f
DM
40265 "name" : "update_acl",
40266 "parameters" : {
40267 "additionalProperties" : 0,
40268 "properties" : {
40269 "delete" : {
44660702 40270 "description" : "Remove permissions (instead of adding it).",
7aacca6f 40271 "optional" : 1,
013dc89f
DM
40272 "type" : "boolean",
40273 "typetext" : "<boolean>"
7aacca6f 40274 },
44660702
DM
40275 "groups" : {
40276 "description" : "List of groups.",
40277 "format" : "pve-groupid-list",
7aacca6f 40278 "optional" : 1,
013dc89f
DM
40279 "type" : "string",
40280 "typetext" : "<string>"
7aacca6f
DM
40281 },
40282 "path" : {
40283 "description" : "Access control path",
013dc89f
DM
40284 "type" : "string",
40285 "typetext" : "<string>"
7aacca6f 40286 },
7aacca6f 40287 "propagate" : {
44660702 40288 "default" : 1,
7aacca6f 40289 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 40290 "optional" : 1,
013dc89f
DM
40291 "type" : "boolean",
40292 "typetext" : "<boolean>"
7aacca6f 40293 },
44660702
DM
40294 "roles" : {
40295 "description" : "List of roles.",
40296 "format" : "pve-roleid-list",
013dc89f
DM
40297 "type" : "string",
40298 "typetext" : "<string>"
44660702 40299 },
e9cd3bd4
TL
40300 "tokens" : {
40301 "description" : "List of API tokens.",
40302 "format" : "pve-tokenid-list",
40303 "optional" : 1,
40304 "type" : "string",
40305 "typetext" : "<string>"
40306 },
44660702
DM
40307 "users" : {
40308 "description" : "List of users.",
40309 "format" : "pve-userid-list",
7aacca6f 40310 "optional" : 1,
013dc89f
DM
40311 "type" : "string",
40312 "typetext" : "<string>"
56122987
DM
40313 }
40314 }
40315 },
56122987 40316 "permissions" : {
7aacca6f
DM
40317 "check" : [
40318 "perm-modify",
40319 "{path}"
40320 ]
40321 },
7aacca6f
DM
40322 "protected" : 1,
40323 "returns" : {
40324 "type" : "null"
44660702 40325 }
56122987
DM
40326 }
40327 },
7aacca6f 40328 "leaf" : 1,
44660702
DM
40329 "path" : "/access/acl",
40330 "text" : "acl"
7aacca6f
DM
40331 },
40332 {
56122987
DM
40333 "children" : [
40334 {
c5aa7e14
TL
40335 "children" : [
40336 {
40337 "info" : {
40338 "POST" : {
40339 "allowtoken" : 1,
40340 "description" : "Syncs users and/or groups from the configured LDAP to user.cfg. NOTE: Synced groups will have the name 'name-$realm', so make sure those groups do not exist to prevent overwriting.",
40341 "method" : "POST",
40342 "name" : "sync",
40343 "parameters" : {
40344 "additionalProperties" : 0,
40345 "properties" : {
40346 "dry-run" : {
40347 "default" : 0,
40348 "description" : "If set, does not write anything.",
40349 "optional" : 1,
40350 "type" : "boolean",
40351 "typetext" : "<boolean>"
40352 },
40353 "enable-new" : {
40354 "default" : "1",
40355 "description" : "Enable newly synced users immediately.",
40356 "optional" : "1",
40357 "type" : "boolean",
40358 "typetext" : "<boolean>"
40359 },
40360 "full" : {
40361 "description" : "If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync. Otherwise only syncs information which is not already present, and does not deletes or modifies anything else.",
40362 "optional" : "1",
40363 "type" : "boolean",
40364 "typetext" : "<boolean>"
40365 },
40366 "purge" : {
40367 "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
40368 "optional" : "1",
40369 "type" : "boolean",
40370 "typetext" : "<boolean>"
40371 },
40372 "realm" : {
40373 "description" : "Authentication domain ID",
40374 "format" : "pve-realm",
40375 "maxLength" : 32,
40376 "type" : "string",
40377 "typetext" : "<string>"
40378 },
40379 "scope" : {
40380 "description" : "Select what to sync.",
40381 "enum" : [
40382 "users",
40383 "groups",
40384 "both"
40385 ],
40386 "optional" : "1",
40387 "type" : "string"
40388 }
40389 }
40390 },
40391 "permissions" : {
40392 "check" : [
40393 "and",
40394 [
40395 "userid-param",
40396 "Realm.AllocateUser"
40397 ],
40398 [
40399 "userid-group",
40400 [
40401 "User.Modify"
40402 ]
40403 ]
40404 ],
40405 "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'."
40406 },
40407 "protected" : 1,
40408 "returns" : {
40409 "description" : "Worker Task-UPID",
40410 "type" : "string"
40411 }
40412 }
40413 },
40414 "leaf" : 1,
40415 "path" : "/access/domains/{realm}/sync",
40416 "text" : "sync"
40417 }
40418 ],
56122987 40419 "info" : {
44660702 40420 "DELETE" : {
e9cd3bd4 40421 "allowtoken" : 1,
44660702
DM
40422 "description" : "Delete an authentication server.",
40423 "method" : "DELETE",
40424 "name" : "delete",
40425 "parameters" : {
40426 "additionalProperties" : 0,
40427 "properties" : {
40428 "realm" : {
40429 "description" : "Authentication domain ID",
40430 "format" : "pve-realm",
40431 "maxLength" : 32,
013dc89f
DM
40432 "type" : "string",
40433 "typetext" : "<string>"
56122987 40434 }
44660702 40435 }
56122987 40436 },
56122987
DM
40437 "permissions" : {
40438 "check" : [
40439 "perm",
7aacca6f 40440 "/access/realm",
56122987 40441 [
7aacca6f 40442 "Realm.Allocate"
56122987
DM
40443 ]
40444 ]
40445 },
7aacca6f 40446 "protected" : 1,
7aacca6f
DM
40447 "returns" : {
40448 "type" : "null"
44660702 40449 }
7aacca6f 40450 },
44660702 40451 "GET" : {
e9cd3bd4 40452 "allowtoken" : 1,
44660702
DM
40453 "description" : "Get auth server configuration.",
40454 "method" : "GET",
40455 "name" : "read",
56122987 40456 "parameters" : {
44660702 40457 "additionalProperties" : 0,
56122987 40458 "properties" : {
7aacca6f 40459 "realm" : {
44660702 40460 "description" : "Authentication domain ID",
7aacca6f
DM
40461 "format" : "pve-realm",
40462 "maxLength" : 32,
013dc89f
DM
40463 "type" : "string",
40464 "typetext" : "<string>"
56122987 40465 }
44660702 40466 }
7aacca6f 40467 },
7aacca6f
DM
40468 "permissions" : {
40469 "check" : [
40470 "perm",
40471 "/access/realm",
40472 [
44660702
DM
40473 "Realm.Allocate",
40474 "Sys.Audit"
40475 ],
40476 "any",
40477 1
7aacca6f 40478 ]
44660702
DM
40479 },
40480 "returns" : {}
7aacca6f 40481 },
44660702 40482 "PUT" : {
e9cd3bd4 40483 "allowtoken" : 1,
44660702
DM
40484 "description" : "Update authentication server settings.",
40485 "method" : "PUT",
40486 "name" : "update",
7aacca6f 40487 "parameters" : {
44660702 40488 "additionalProperties" : 0,
7aacca6f 40489 "properties" : {
44660702
DM
40490 "base_dn" : {
40491 "description" : "LDAP base domain name",
40492 "maxLength" : 256,
40493 "optional" : 1,
40494 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40495 "type" : "string"
40496 },
4bd7df8b
DM
40497 "bind_dn" : {
40498 "description" : "LDAP bind domain name",
40499 "maxLength" : 256,
40500 "optional" : 1,
40501 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40502 "type" : "string"
40503 },
2489d6df
WB
40504 "capath" : {
40505 "default" : "/etc/ssl/certs",
40506 "description" : "Path to the CA certificate store",
40507 "optional" : 1,
40508 "type" : "string",
40509 "typetext" : "<string>"
40510 },
40511 "cert" : {
40512 "description" : "Path to the client certificate",
40513 "optional" : 1,
40514 "type" : "string",
40515 "typetext" : "<string>"
40516 },
40517 "certkey" : {
40518 "description" : "Path to the client certificate key",
40519 "optional" : 1,
40520 "type" : "string",
40521 "typetext" : "<string>"
40522 },
44660702
DM
40523 "comment" : {
40524 "description" : "Description.",
40525 "maxLength" : 4096,
40526 "optional" : 1,
013dc89f
DM
40527 "type" : "string",
40528 "typetext" : "<string>"
44660702
DM
40529 },
40530 "default" : {
40531 "description" : "Use this as default realm",
40532 "optional" : 1,
013dc89f
DM
40533 "type" : "boolean",
40534 "typetext" : "<boolean>"
44660702
DM
40535 },
40536 "delete" : {
40537 "description" : "A list of settings you want to delete.",
40538 "format" : "pve-configid-list",
40539 "maxLength" : 4096,
40540 "optional" : 1,
013dc89f
DM
40541 "type" : "string",
40542 "typetext" : "<string>"
44660702
DM
40543 },
40544 "digest" : {
40545 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
40546 "maxLength" : 40,
40547 "optional" : 1,
013dc89f
DM
40548 "type" : "string",
40549 "typetext" : "<string>"
44660702
DM
40550 },
40551 "domain" : {
40552 "description" : "AD domain name",
40553 "maxLength" : 256,
40554 "optional" : 1,
40555 "pattern" : "\\S+",
40556 "type" : "string"
40557 },
c5aa7e14
TL
40558 "filter" : {
40559 "description" : "LDAP filter for user sync.",
40560 "maxLength" : 2048,
40561 "optional" : 1,
40562 "type" : "string",
40563 "typetext" : "<string>"
40564 },
40565 "group_classes" : {
40566 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
40567 "description" : "The objectclasses for groups.",
40568 "format" : "ldap-simple-attr-list",
40569 "optional" : 1,
40570 "type" : "string",
40571 "typetext" : "<string>"
40572 },
40573 "group_dn" : {
40574 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
40575 "maxLength" : 256,
40576 "optional" : 1,
40577 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40578 "type" : "string"
40579 },
40580 "group_filter" : {
40581 "description" : "LDAP filter for group sync.",
40582 "maxLength" : 2048,
40583 "optional" : 1,
40584 "type" : "string",
40585 "typetext" : "<string>"
40586 },
40587 "group_name_attr" : {
40588 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
40589 "format" : "ldap-simple-attr",
40590 "maxLength" : 256,
40591 "optional" : 1,
40592 "type" : "string",
40593 "typetext" : "<string>"
40594 },
40595 "mode" : {
40596 "default" : "ldap",
40597 "description" : "LDAP protocol mode.",
40598 "enum" : [
40599 "ldap",
40600 "ldaps",
40601 "ldap+starttls"
40602 ],
40603 "optional" : 1,
40604 "type" : "string"
40605 },
40606 "password" : {
40607 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
40608 "optional" : 1,
40609 "type" : "string",
40610 "typetext" : "<string>"
40611 },
44660702
DM
40612 "port" : {
40613 "description" : "Server port.",
40614 "maximum" : 65535,
40615 "minimum" : 1,
40616 "optional" : 1,
4bd7df8b 40617 "type" : "integer",
013dc89f 40618 "typetext" : "<integer> (1 - 65535)"
44660702 40619 },
7aacca6f 40620 "realm" : {
7aacca6f
DM
40621 "description" : "Authentication domain ID",
40622 "format" : "pve-realm",
44660702 40623 "maxLength" : 32,
013dc89f
DM
40624 "type" : "string",
40625 "typetext" : "<string>"
44660702
DM
40626 },
40627 "secure" : {
c5aa7e14 40628 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
44660702 40629 "optional" : 1,
013dc89f
DM
40630 "type" : "boolean",
40631 "typetext" : "<boolean>"
44660702
DM
40632 },
40633 "server1" : {
40634 "description" : "Server IP address (or DNS name)",
40635 "format" : "address",
40636 "maxLength" : 256,
40637 "optional" : 1,
013dc89f
DM
40638 "type" : "string",
40639 "typetext" : "<string>"
44660702
DM
40640 },
40641 "server2" : {
40642 "description" : "Fallback Server IP address (or DNS name)",
40643 "format" : "address",
40644 "maxLength" : 256,
40645 "optional" : 1,
013dc89f
DM
40646 "type" : "string",
40647 "typetext" : "<string>"
44660702 40648 },
1c532546
TL
40649 "sslversion" : {
40650 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
40651 "enum" : [
40652 "tlsv1",
40653 "tlsv1_1",
40654 "tlsv1_2",
40655 "tlsv1_3"
40656 ],
40657 "optional" : 1,
40658 "type" : "string"
40659 },
c5aa7e14
TL
40660 "sync-defaults-options" : {
40661 "description" : "The default options for behavior of synchronizations.",
40662 "format" : "realm-sync-options",
40663 "optional" : 1,
40664 "type" : "string",
40665 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
40666 },
40667 "sync_attributes" : {
40668 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
40669 "optional" : 1,
40670 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40671 "type" : "string"
40672 },
44660702
DM
40673 "tfa" : {
40674 "description" : "Use Two-factor authentication.",
40675 "format" : "pve-tfa-config",
40676 "maxLength" : 128,
40677 "optional" : 1,
013dc89f 40678 "type" : "string",
95895385 40679 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
40680 },
40681 "user_attr" : {
40682 "description" : "LDAP user attribute name",
40683 "maxLength" : 256,
40684 "optional" : 1,
40685 "pattern" : "\\S{2,}",
40686 "type" : "string"
2489d6df 40687 },
c5aa7e14
TL
40688 "user_classes" : {
40689 "default" : "inetorgperson, posixaccount, person, user",
40690 "description" : "The objectclasses for users.",
40691 "format" : "ldap-simple-attr-list",
40692 "optional" : 1,
40693 "type" : "string",
40694 "typetext" : "<string>"
40695 },
2489d6df
WB
40696 "verify" : {
40697 "default" : 0,
40698 "description" : "Verify the server's SSL certificate",
40699 "optional" : 1,
40700 "type" : "boolean",
40701 "typetext" : "<boolean>"
7aacca6f 40702 }
56122987 40703 },
44660702 40704 "type" : "object"
56122987 40705 },
7aacca6f
DM
40706 "permissions" : {
40707 "check" : [
40708 "perm",
40709 "/access/realm",
40710 [
44660702
DM
40711 "Realm.Allocate"
40712 ]
7aacca6f
DM
40713 ]
40714 },
44660702
DM
40715 "protected" : 1,
40716 "returns" : {
40717 "type" : "null"
40718 }
56122987 40719 }
44660702 40720 },
c5aa7e14 40721 "leaf" : 0,
44660702
DM
40722 "path" : "/access/domains/{realm}",
40723 "text" : "{realm}"
56122987 40724 }
7aacca6f 40725 ],
56122987
DM
40726 "info" : {
40727 "GET" : {
e9cd3bd4 40728 "allowtoken" : 1,
44660702
DM
40729 "description" : "Authentication domain index.",
40730 "method" : "GET",
40731 "name" : "index",
40732 "parameters" : {
40733 "additionalProperties" : 0
40734 },
40735 "permissions" : {
40736 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
40737 "user" : "world"
40738 },
56122987 40739 "returns" : {
56122987
DM
40740 "items" : {
40741 "properties" : {
7aacca6f 40742 "comment" : {
52e44c50 40743 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
40744 "optional" : 1,
40745 "type" : "string"
40746 },
56122987
DM
40747 "realm" : {
40748 "type" : "string"
40749 },
40750 "tfa" : {
7aacca6f 40751 "description" : "Two-factor authentication provider.",
56122987
DM
40752 "enum" : [
40753 "yubico",
40754 "oath"
40755 ],
44660702
DM
40756 "optional" : 1,
40757 "type" : "string"
c5aa7e14
TL
40758 },
40759 "type" : {
40760 "type" : "string"
56122987
DM
40761 }
40762 },
40763 "type" : "object"
44660702
DM
40764 },
40765 "links" : [
40766 {
40767 "href" : "{realm}",
40768 "rel" : "child"
40769 }
40770 ],
40771 "type" : "array"
40772 }
56122987
DM
40773 },
40774 "POST" : {
e9cd3bd4 40775 "allowtoken" : 1,
7aacca6f 40776 "description" : "Add an authentication server.",
44660702 40777 "method" : "POST",
7aacca6f 40778 "name" : "create",
56122987 40779 "parameters" : {
44660702 40780 "additionalProperties" : 0,
56122987 40781 "properties" : {
44660702
DM
40782 "base_dn" : {
40783 "description" : "LDAP base domain name",
56122987 40784 "maxLength" : 256,
44660702
DM
40785 "optional" : 1,
40786 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 40787 "type" : "string"
56122987 40788 },
4bd7df8b
DM
40789 "bind_dn" : {
40790 "description" : "LDAP bind domain name",
40791 "maxLength" : 256,
40792 "optional" : 1,
40793 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40794 "type" : "string"
40795 },
2489d6df
WB
40796 "capath" : {
40797 "default" : "/etc/ssl/certs",
40798 "description" : "Path to the CA certificate store",
40799 "optional" : 1,
40800 "type" : "string",
40801 "typetext" : "<string>"
40802 },
40803 "cert" : {
40804 "description" : "Path to the client certificate",
40805 "optional" : 1,
40806 "type" : "string",
40807 "typetext" : "<string>"
40808 },
40809 "certkey" : {
40810 "description" : "Path to the client certificate key",
40811 "optional" : 1,
40812 "type" : "string",
40813 "typetext" : "<string>"
40814 },
44660702
DM
40815 "comment" : {
40816 "description" : "Description.",
40817 "maxLength" : 4096,
56122987 40818 "optional" : 1,
013dc89f
DM
40819 "type" : "string",
40820 "typetext" : "<string>"
56122987 40821 },
44660702
DM
40822 "default" : {
40823 "description" : "Use this as default realm",
7aacca6f 40824 "optional" : 1,
013dc89f
DM
40825 "type" : "boolean",
40826 "typetext" : "<boolean>"
56122987 40827 },
44660702
DM
40828 "domain" : {
40829 "description" : "AD domain name",
40830 "maxLength" : 256,
7aacca6f 40831 "optional" : 1,
44660702
DM
40832 "pattern" : "\\S+",
40833 "type" : "string"
56122987 40834 },
c5aa7e14
TL
40835 "filter" : {
40836 "description" : "LDAP filter for user sync.",
40837 "maxLength" : 2048,
40838 "optional" : 1,
40839 "type" : "string",
40840 "typetext" : "<string>"
40841 },
40842 "group_classes" : {
40843 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
40844 "description" : "The objectclasses for groups.",
40845 "format" : "ldap-simple-attr-list",
40846 "optional" : 1,
40847 "type" : "string",
40848 "typetext" : "<string>"
40849 },
40850 "group_dn" : {
40851 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
40852 "maxLength" : 256,
40853 "optional" : 1,
40854 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40855 "type" : "string"
40856 },
40857 "group_filter" : {
40858 "description" : "LDAP filter for group sync.",
40859 "maxLength" : 2048,
40860 "optional" : 1,
40861 "type" : "string",
40862 "typetext" : "<string>"
40863 },
40864 "group_name_attr" : {
40865 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
40866 "format" : "ldap-simple-attr",
40867 "maxLength" : 256,
40868 "optional" : 1,
40869 "type" : "string",
40870 "typetext" : "<string>"
40871 },
40872 "mode" : {
40873 "default" : "ldap",
40874 "description" : "LDAP protocol mode.",
40875 "enum" : [
40876 "ldap",
40877 "ldaps",
40878 "ldap+starttls"
40879 ],
40880 "optional" : 1,
40881 "type" : "string"
40882 },
40883 "password" : {
40884 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
40885 "optional" : 1,
40886 "type" : "string",
40887 "typetext" : "<string>"
40888 },
7aacca6f 40889 "port" : {
44660702 40890 "description" : "Server port.",
7aacca6f 40891 "maximum" : 65535,
44660702 40892 "minimum" : 1,
7aacca6f 40893 "optional" : 1,
4bd7df8b 40894 "type" : "integer",
013dc89f 40895 "typetext" : "<integer> (1 - 65535)"
56122987 40896 },
44660702
DM
40897 "realm" : {
40898 "description" : "Authentication domain ID",
40899 "format" : "pve-realm",
40900 "maxLength" : 32,
013dc89f
DM
40901 "type" : "string",
40902 "typetext" : "<string>"
44660702
DM
40903 },
40904 "secure" : {
c5aa7e14 40905 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
7aacca6f 40906 "optional" : 1,
013dc89f
DM
40907 "type" : "boolean",
40908 "typetext" : "<boolean>"
56122987 40909 },
44660702
DM
40910 "server1" : {
40911 "description" : "Server IP address (or DNS name)",
40912 "format" : "address",
40913 "maxLength" : 256,
40914 "optional" : 1,
013dc89f
DM
40915 "type" : "string",
40916 "typetext" : "<string>"
56122987 40917 },
44660702
DM
40918 "server2" : {
40919 "description" : "Fallback Server IP address (or DNS name)",
40920 "format" : "address",
7aacca6f 40921 "maxLength" : 256,
7aacca6f 40922 "optional" : 1,
013dc89f
DM
40923 "type" : "string",
40924 "typetext" : "<string>"
7aacca6f 40925 },
1c532546
TL
40926 "sslversion" : {
40927 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
40928 "enum" : [
40929 "tlsv1",
40930 "tlsv1_1",
40931 "tlsv1_2",
40932 "tlsv1_3"
40933 ],
40934 "optional" : 1,
40935 "type" : "string"
40936 },
c5aa7e14
TL
40937 "sync-defaults-options" : {
40938 "description" : "The default options for behavior of synchronizations.",
40939 "format" : "realm-sync-options",
40940 "optional" : 1,
40941 "type" : "string",
40942 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
40943 },
40944 "sync_attributes" : {
40945 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.",
40946 "optional" : 1,
40947 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
40948 "type" : "string"
40949 },
44660702
DM
40950 "tfa" : {
40951 "description" : "Use Two-factor authentication.",
40952 "format" : "pve-tfa-config",
40953 "maxLength" : 128,
40954 "optional" : 1,
013dc89f 40955 "type" : "string",
95895385 40956 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
40957 },
40958 "type" : {
40959 "description" : "Realm type.",
40960 "enum" : [
40961 "ad",
40962 "ldap",
40963 "pam",
40964 "pve"
40965 ],
40966 "type" : "string"
40967 },
40968 "user_attr" : {
40969 "description" : "LDAP user attribute name",
7aacca6f 40970 "maxLength" : 256,
7aacca6f 40971 "optional" : 1,
44660702
DM
40972 "pattern" : "\\S{2,}",
40973 "type" : "string"
2489d6df 40974 },
c5aa7e14
TL
40975 "user_classes" : {
40976 "default" : "inetorgperson, posixaccount, person, user",
40977 "description" : "The objectclasses for users.",
40978 "format" : "ldap-simple-attr-list",
40979 "optional" : 1,
40980 "type" : "string",
40981 "typetext" : "<string>"
40982 },
2489d6df
WB
40983 "verify" : {
40984 "default" : 0,
40985 "description" : "Verify the server's SSL certificate",
40986 "optional" : 1,
40987 "type" : "boolean",
40988 "typetext" : "<boolean>"
7aacca6f
DM
40989 }
40990 },
7aacca6f 40991 "type" : "object"
56122987 40992 },
7aacca6f
DM
40993 "permissions" : {
40994 "check" : [
40995 "perm",
40996 "/access/realm",
40997 [
40998 "Realm.Allocate"
40999 ]
41000 ]
44660702
DM
41001 },
41002 "protected" : 1,
41003 "returns" : {
41004 "type" : "null"
7aacca6f 41005 }
56122987 41006 }
7aacca6f 41007 },
44660702 41008 "leaf" : 0,
56122987 41009 "path" : "/access/domains",
44660702 41010 "text" : "domains"
56122987
DM
41011 },
41012 {
56122987 41013 "info" : {
44660702 41014 "GET" : {
e9cd3bd4 41015 "allowtoken" : 1,
2489d6df 41016 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
41017 "method" : "GET",
41018 "name" : "get_ticket",
41019 "parameters" : {
41020 "additionalProperties" : 0
41021 },
41022 "permissions" : {
41023 "user" : "world"
41024 },
41025 "returns" : {
41026 "type" : "null"
41027 }
41028 },
56122987 41029 "POST" : {
e9cd3bd4 41030 "allowtoken" : 0,
44660702 41031 "description" : "Create or verify authentication ticket.",
56122987 41032 "method" : "POST",
44660702
DM
41033 "name" : "create_ticket",
41034 "parameters" : {
41035 "additionalProperties" : 0,
56122987 41036 "properties" : {
44660702
DM
41037 "otp" : {
41038 "description" : "One-time password for Two-factor authentication.",
7aacca6f 41039 "optional" : 1,
013dc89f
DM
41040 "type" : "string",
41041 "typetext" : "<string>"
56122987 41042 },
7aacca6f
DM
41043 "password" : {
41044 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
41045 "type" : "string",
41046 "typetext" : "<string>"
7aacca6f 41047 },
44660702
DM
41048 "path" : {
41049 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 41050 "maxLength" : 64,
56122987 41051 "optional" : 1,
56122987 41052 "requires" : "privs",
013dc89f
DM
41053 "type" : "string",
41054 "typetext" : "<string>"
44660702
DM
41055 },
41056 "privs" : {
7aacca6f 41057 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
41058 "format" : "pve-priv-list",
41059 "maxLength" : 64,
56122987 41060 "optional" : 1,
44660702 41061 "requires" : "path",
013dc89f
DM
41062 "type" : "string",
41063 "typetext" : "<string>"
56122987
DM
41064 },
41065 "realm" : {
56122987 41066 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 41067 "format" : "pve-realm",
7aacca6f 41068 "maxLength" : 32,
44660702 41069 "optional" : 1,
013dc89f
DM
41070 "type" : "string",
41071 "typetext" : "<string>"
56122987
DM
41072 },
41073 "username" : {
41074 "description" : "User name",
44660702 41075 "maxLength" : 64,
013dc89f
DM
41076 "type" : "string",
41077 "typetext" : "<string>"
56122987 41078 }
44660702 41079 }
7aacca6f 41080 },
56122987 41081 "permissions" : {
44660702 41082 "description" : "You need to pass valid credientials.",
56122987
DM
41083 "user" : "world"
41084 },
44660702 41085 "protected" : 1,
7aacca6f 41086 "returns" : {
56122987 41087 "properties" : {
44660702
DM
41088 "CSRFPreventionToken" : {
41089 "optional" : 1,
41090 "type" : "string"
56122987 41091 },
e2d681b3
TL
41092 "clustername" : {
41093 "optional" : 1,
41094 "type" : "string"
41095 },
44660702
DM
41096 "ticket" : {
41097 "optional" : 1,
41098 "type" : "string"
41099 },
41100 "username" : {
56122987
DM
41101 "type" : "string"
41102 }
41103 },
44660702 41104 "type" : "object"
7aacca6f 41105 }
7aacca6f
DM
41106 }
41107 },
44660702
DM
41108 "leaf" : 1,
41109 "path" : "/access/ticket",
41110 "text" : "ticket"
7aacca6f 41111 },
56122987 41112 {
56122987 41113 "info" : {
7aacca6f 41114 "PUT" : {
e9cd3bd4 41115 "allowtoken" : 0,
44660702 41116 "description" : "Change user password.",
7aacca6f 41117 "method" : "PUT",
e2d681b3 41118 "name" : "change_password",
56122987
DM
41119 "parameters" : {
41120 "additionalProperties" : 0,
41121 "properties" : {
44660702
DM
41122 "password" : {
41123 "description" : "The new password.",
41124 "maxLength" : 64,
41125 "minLength" : 5,
013dc89f
DM
41126 "type" : "string",
41127 "typetext" : "<string>"
7aacca6f 41128 },
44660702
DM
41129 "userid" : {
41130 "description" : "User ID",
41131 "format" : "pve-userid",
41132 "maxLength" : 64,
013dc89f
DM
41133 "type" : "string",
41134 "typetext" : "<string>"
56122987 41135 }
7aacca6f 41136 }
56122987
DM
41137 },
41138 "permissions" : {
41139 "check" : [
44660702 41140 "or",
56122987 41141 [
44660702
DM
41142 "userid-param",
41143 "self"
41144 ],
41145 [
41146 "and",
41147 [
41148 "userid-param",
41149 "Realm.AllocateUser"
41150 ],
41151 [
41152 "userid-group",
41153 [
41154 "User.Modify"
41155 ]
41156 ]
56122987 41157 ]
7aacca6f 41158 ],
44660702 41159 "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 41160 },
44660702 41161 "protected" : 1,
7aacca6f
DM
41162 "returns" : {
41163 "type" : "null"
44660702
DM
41164 }
41165 }
41166 },
41167 "leaf" : 1,
41168 "path" : "/access/password",
41169 "text" : "password"
95895385
TL
41170 },
41171 {
41172 "info" : {
41173 "POST" : {
e9cd3bd4 41174 "allowtoken" : 0,
95895385
TL
41175 "description" : "Finish a u2f challenge.",
41176 "method" : "POST",
41177 "name" : "verify_tfa",
41178 "parameters" : {
41179 "additionalProperties" : 0,
41180 "properties" : {
41181 "response" : {
41182 "description" : "The response to the current authentication challenge.",
41183 "type" : "string",
41184 "typetext" : "<string>"
41185 }
41186 }
41187 },
41188 "permissions" : {
41189 "user" : "all"
41190 },
41191 "protected" : 1,
41192 "returns" : {
41193 "properties" : {
41194 "ticket" : {
41195 "type" : "string"
41196 }
41197 },
41198 "type" : "object"
41199 }
41200 },
41201 "PUT" : {
e9cd3bd4 41202 "allowtoken" : 0,
95895385
TL
41203 "description" : "Change user u2f authentication.",
41204 "method" : "PUT",
41205 "name" : "change_tfa",
41206 "parameters" : {
41207 "additionalProperties" : 0,
41208 "properties" : {
41209 "action" : {
41210 "description" : "The action to perform",
41211 "enum" : [
41212 "delete",
41213 "new",
41214 "confirm"
41215 ],
41216 "type" : "string"
41217 },
41218 "config" : {
41219 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
41220 "format" : "pve-tfa-config",
41221 "maxLength" : 128,
41222 "optional" : 1,
41223 "type" : "string",
41224 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
41225 },
41226 "key" : {
41227 "description" : "When adding TOTP, the shared secret value.",
1c532546 41228 "format" : "pve-tfa-secret",
95895385 41229 "optional" : 1,
1c532546
TL
41230 "type" : "string",
41231 "typetext" : "<string>"
95895385
TL
41232 },
41233 "password" : {
41234 "description" : "The current password.",
41235 "maxLength" : 64,
41236 "minLength" : 5,
41237 "optional" : 1,
41238 "type" : "string",
41239 "typetext" : "<string>"
41240 },
41241 "response" : {
41242 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
41243 "optional" : 1,
41244 "type" : "string",
41245 "typetext" : "<string>"
41246 },
41247 "userid" : {
41248 "description" : "User ID",
41249 "format" : "pve-userid",
41250 "maxLength" : 64,
41251 "type" : "string",
41252 "typetext" : "<string>"
41253 }
41254 }
41255 },
41256 "permissions" : {
41257 "check" : [
41258 "or",
41259 [
41260 "userid-param",
41261 "self"
41262 ],
41263 [
41264 "and",
41265 [
41266 "userid-param",
41267 "Realm.AllocateUser"
41268 ],
41269 [
41270 "userid-group",
41271 [
41272 "User.Modify"
41273 ]
41274 ]
41275 ]
41276 ],
41277 "description" : "A user can change their own u2f or totp token."
41278 },
41279 "protected" : 1,
41280 "returns" : {
41281 "type" : "object"
41282 }
41283 }
41284 },
41285 "leaf" : 1,
41286 "path" : "/access/tfa",
41287 "text" : "tfa"
e9cd3bd4
TL
41288 },
41289 {
41290 "info" : {
41291 "GET" : {
41292 "allowtoken" : 1,
41293 "description" : "Retrieve effective permissions of given user/token.",
41294 "method" : "GET",
41295 "name" : "permissions",
41296 "parameters" : {
41297 "additionalProperties" : 0,
41298 "properties" : {
41299 "path" : {
41300 "description" : "Only dump this specific path, not the whole tree.",
41301 "optional" : 1,
41302 "type" : "string",
41303 "typetext" : "<string>"
41304 },
41305 "userid" : {
41306 "description" : "User ID or full API token ID",
41307 "optional" : 1,
41308 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
41309 "type" : "string"
41310 }
41311 }
41312 },
41313 "permissions" : {
41314 "description" : "Each user/token is allowed to dump their own permissions. A user can dump the permissions of another user if they have 'Sys.Audit' permission on /access.",
41315 "user" : "all"
41316 },
41317 "returns" : {
41318 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
41319 "type" : "object"
41320 }
41321 }
41322 },
41323 "leaf" : 1,
41324 "path" : "/access/permissions",
41325 "text" : "permissions"
44660702
DM
41326 }
41327 ],
41328 "info" : {
41329 "GET" : {
e9cd3bd4 41330 "allowtoken" : 1,
44660702
DM
41331 "description" : "Directory index.",
41332 "method" : "GET",
41333 "name" : "index",
41334 "parameters" : {
41335 "additionalProperties" : 0
41336 },
41337 "permissions" : {
41338 "user" : "all"
41339 },
41340 "returns" : {
41341 "items" : {
41342 "properties" : {
41343 "subdir" : {
41344 "type" : "string"
41345 }
7aacca6f 41346 },
44660702
DM
41347 "type" : "object"
41348 },
41349 "links" : [
41350 {
41351 "href" : "{subdir}",
41352 "rel" : "child"
41353 }
41354 ],
41355 "type" : "array"
41356 }
41357 }
41358 },
41359 "leaf" : 0,
41360 "path" : "/access",
41361 "text" : "access"
41362 },
41363 {
41364 "children" : [
41365 {
41366 "info" : {
41367 "DELETE" : {
e9cd3bd4 41368 "allowtoken" : 1,
7aacca6f 41369 "description" : "Delete pool.",
44660702
DM
41370 "method" : "DELETE",
41371 "name" : "delete_pool",
7aacca6f
DM
41372 "parameters" : {
41373 "additionalProperties" : 0,
41374 "properties" : {
41375 "poolid" : {
41376 "format" : "pve-poolid",
013dc89f
DM
41377 "type" : "string",
41378 "typetext" : "<string>"
7aacca6f
DM
41379 }
41380 }
41381 },
56122987
DM
41382 "permissions" : {
41383 "check" : [
41384 "perm",
41385 "/pool/{poolid}",
41386 [
41387 "Pool.Allocate"
41388 ]
44660702
DM
41389 ],
41390 "description" : "You can only delete empty pools (no members)."
41391 },
41392 "protected" : 1,
41393 "returns" : {
41394 "type" : "null"
7aacca6f
DM
41395 }
41396 },
41397 "GET" : {
e9cd3bd4 41398 "allowtoken" : 1,
7aacca6f 41399 "description" : "Get pool configuration.",
44660702 41400 "method" : "GET",
7aacca6f 41401 "name" : "read_pool",
56122987 41402 "parameters" : {
44660702 41403 "additionalProperties" : 0,
56122987
DM
41404 "properties" : {
41405 "poolid" : {
44660702 41406 "format" : "pve-poolid",
013dc89f
DM
41407 "type" : "string",
41408 "typetext" : "<string>"
56122987 41409 }
44660702 41410 }
56122987 41411 },
56122987 41412 "permissions" : {
56122987
DM
41413 "check" : [
41414 "perm",
41415 "/pool/{poolid}",
41416 [
41417 "Pool.Allocate"
41418 ]
41419 ]
41420 },
7aacca6f 41421 "returns" : {
44660702 41422 "additionalProperties" : 0,
56122987 41423 "properties" : {
44660702
DM
41424 "comment" : {
41425 "optional" : 1,
41426 "type" : "string"
41427 },
7aacca6f 41428 "members" : {
7aacca6f
DM
41429 "items" : {
41430 "additionalProperties" : 1,
7aacca6f 41431 "properties" : {
7aacca6f
DM
41432 "id" : {
41433 "type" : "string"
41434 },
41435 "node" : {
41436 "type" : "string"
41437 },
44660702
DM
41438 "storage" : {
41439 "optional" : 1,
41440 "type" : "string"
41441 },
7aacca6f 41442 "type" : {
7aacca6f
DM
41443 "enum" : [
41444 "qemu",
41445 "lxc",
41446 "openvz",
41447 "storage"
44660702
DM
41448 ],
41449 "type" : "string"
41450 },
41451 "vmid" : {
41452 "optional" : 1,
41453 "type" : "integer"
7aacca6f 41454 }
44660702
DM
41455 },
41456 "type" : "object"
41457 },
41458 "type" : "array"
41459 }
41460 },
41461 "type" : "object"
41462 }
41463 },
41464 "PUT" : {
e9cd3bd4 41465 "allowtoken" : 1,
44660702
DM
41466 "description" : "Update pool data.",
41467 "method" : "PUT",
41468 "name" : "update_pool",
41469 "parameters" : {
41470 "additionalProperties" : 0,
41471 "properties" : {
56122987
DM
41472 "comment" : {
41473 "optional" : 1,
013dc89f
DM
41474 "type" : "string",
41475 "typetext" : "<string>"
44660702
DM
41476 },
41477 "delete" : {
41478 "description" : "Remove vms/storage (instead of adding it).",
41479 "optional" : 1,
013dc89f
DM
41480 "type" : "boolean",
41481 "typetext" : "<boolean>"
44660702
DM
41482 },
41483 "poolid" : {
41484 "format" : "pve-poolid",
013dc89f
DM
41485 "type" : "string",
41486 "typetext" : "<string>"
44660702
DM
41487 },
41488 "storage" : {
41489 "description" : "List of storage IDs.",
41490 "format" : "pve-storage-id-list",
41491 "optional" : 1,
013dc89f
DM
41492 "type" : "string",
41493 "typetext" : "<string>"
44660702
DM
41494 },
41495 "vms" : {
41496 "description" : "List of virtual machines.",
41497 "format" : "pve-vmid-list",
41498 "optional" : 1,
013dc89f
DM
41499 "type" : "string",
41500 "typetext" : "<string>"
56122987 41501 }
44660702
DM
41502 }
41503 },
41504 "permissions" : {
41505 "check" : [
41506 "perm",
41507 "/pool/{poolid}",
41508 [
41509 "Pool.Allocate"
41510 ]
41511 ],
41512 "description" : "You also need the right to modify permissions on any object you add/delete."
41513 },
41514 "protected" : 1,
41515 "returns" : {
41516 "type" : "null"
56122987
DM
41517 }
41518 }
41519 },
44660702
DM
41520 "leaf" : 1,
41521 "path" : "/pools/{poolid}",
7aacca6f 41522 "text" : "{poolid}"
56122987 41523 }
7aacca6f 41524 ],
56122987
DM
41525 "info" : {
41526 "GET" : {
e9cd3bd4 41527 "allowtoken" : 1,
44660702
DM
41528 "description" : "Pool index.",
41529 "method" : "GET",
41530 "name" : "index",
41531 "parameters" : {
41532 "additionalProperties" : 0
41533 },
41534 "permissions" : {
41535 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
41536 "user" : "all"
41537 },
56122987 41538 "returns" : {
44660702
DM
41539 "items" : {
41540 "properties" : {
41541 "poolid" : {
41542 "type" : "string"
41543 }
56122987 41544 },
44660702
DM
41545 "type" : "object"
41546 },
41547 "links" : [
41548 {
41549 "href" : "{poolid}",
41550 "rel" : "child"
41551 }
41552 ],
41553 "type" : "array"
41554 }
41555 },
41556 "POST" : {
e9cd3bd4 41557 "allowtoken" : 1,
44660702
DM
41558 "description" : "Create new pool.",
41559 "method" : "POST",
41560 "name" : "create_pool",
41561 "parameters" : {
41562 "additionalProperties" : 0,
41563 "properties" : {
41564 "comment" : {
41565 "optional" : 1,
013dc89f
DM
41566 "type" : "string",
41567 "typetext" : "<string>"
7aacca6f 41568 },
44660702
DM
41569 "poolid" : {
41570 "format" : "pve-poolid",
013dc89f
DM
41571 "type" : "string",
41572 "typetext" : "<string>"
56122987
DM
41573 }
41574 }
41575 },
56122987 41576 "permissions" : {
44660702
DM
41577 "check" : [
41578 "perm",
41579 "/pool/{poolid}",
41580 [
41581 "Pool.Allocate"
41582 ]
41583 ]
56122987 41584 },
44660702
DM
41585 "protected" : 1,
41586 "returns" : {
41587 "type" : "null"
41588 }
41589 }
41590 },
41591 "leaf" : 0,
41592 "path" : "/pools",
41593 "text" : "pools"
41594 },
41595 {
41596 "info" : {
41597 "GET" : {
e9cd3bd4 41598 "allowtoken" : 1,
44660702
DM
41599 "description" : "API version details. The result also includes the global datacenter confguration.",
41600 "method" : "GET",
41601 "name" : "version",
7aacca6f
DM
41602 "parameters" : {
41603 "additionalProperties" : 0
41604 },
44660702
DM
41605 "permissions" : {
41606 "user" : "all"
41607 },
41608 "returns" : {
41609 "properties" : {
41610 "release" : {
41611 "type" : "string"
41612 },
41613 "repoid" : {
41614 "type" : "string"
41615 },
41616 "version" : {
41617 "type" : "string"
41618 }
41619 },
41620 "type" : "object"
41621 }
56122987
DM
41622 }
41623 },
44660702
DM
41624 "leaf" : 1,
41625 "path" : "/version",
56122987
DM
41626 "text" : "version"
41627 }
41628]
41629;
41630