]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update static and schema information
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
0695fdaf 1const apiSchema = [
56122987 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" : {
d2656385 144 "description" : "For internal use, to detect if the guest was stolen.",
a9a8e3d1
DM
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 252 "source" : {
d2656385 253 "description" : "For internal use, to detect if the guest was stolen.",
a9a8e3d1
DM
254 "format" : "pve-node",
255 "optional" : 1,
256 "type" : "string",
257 "typetext" : "<string>"
258 },
5d9c884c
DM
259 "target" : {
260 "description" : "Target node.",
261 "format" : "pve-node",
262 "optional" : 0,
263 "type" : "string",
264 "typetext" : "<string>"
265 },
266 "type" : {
267 "description" : "Section type.",
268 "enum" : [
269 "local"
270 ],
271 "type" : "string"
272 }
273 },
274 "type" : "object"
275 },
276 "permissions" : {
277 "check" : [
278 "perm",
279 "/storage",
280 [
281 "Datastore.Allocate"
282 ]
283 ]
284 },
285 "protected" : 1,
286 "returns" : {
287 "type" : "null"
288 }
289 }
290 },
291 "leaf" : 0,
292 "path" : "/cluster/replication",
293 "text" : "replication"
294 },
4772952b
TL
295 {
296 "children" : [
297 {
298 "children" : [
299 {
300 "info" : {
301 "DELETE" : {
302 "allowtoken" : 1,
303 "description" : "Remove Metric server.",
304 "method" : "DELETE",
305 "name" : "delete",
306 "parameters" : {
307 "additionalProperties" : 0,
308 "properties" : {
309 "id" : {
310 "format" : "pve-configid",
311 "type" : "string",
312 "typetext" : "<string>"
313 }
314 }
315 },
316 "permissions" : {
317 "check" : [
318 "perm",
319 "/",
320 [
321 "Sys.Modify"
322 ]
323 ]
324 },
325 "protected" : 1,
326 "returns" : {
327 "type" : "null"
328 }
329 },
330 "GET" : {
331 "allowtoken" : 1,
332 "description" : "Read metric server configuration.",
333 "method" : "GET",
334 "name" : "read",
335 "parameters" : {
336 "additionalProperties" : 0,
337 "properties" : {
338 "id" : {
339 "format" : "pve-configid",
340 "type" : "string",
341 "typetext" : "<string>"
342 }
343 }
344 },
345 "permissions" : {
346 "check" : [
347 "perm",
348 "/",
349 [
350 "Sys.Audit"
351 ]
352 ]
353 },
354 "returns" : {
355 "type" : "object"
356 }
357 },
358 "POST" : {
359 "allowtoken" : 1,
360 "description" : "Create a new external metric server config",
361 "method" : "POST",
362 "name" : "create",
363 "parameters" : {
364 "additionalProperties" : 0,
365 "properties" : {
d2656385
TL
366 "api-path-prefix" : {
367 "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
368 "optional" : 1,
369 "type" : "string",
370 "typetext" : "<string>"
371 },
372 "bucket" : {
373 "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
374 "optional" : 1,
375 "type" : "string",
376 "typetext" : "<string>"
377 },
4772952b
TL
378 "disable" : {
379 "description" : "Flag to disable the plugin.",
380 "optional" : 1,
381 "type" : "boolean",
382 "typetext" : "<boolean>"
383 },
384 "id" : {
385 "description" : "The ID of the entry.",
386 "format" : "pve-configid",
387 "type" : "string",
388 "typetext" : "<string>"
389 },
d2656385
TL
390 "influxdbproto" : {
391 "default" : "udp",
392 "enum" : [
393 "udp",
394 "http",
395 "https"
396 ],
397 "optional" : 1,
398 "type" : "string"
399 },
400 "max-body-size" : {
401 "default" : 25000000,
402 "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
403 "minimum" : 1,
404 "optional" : 1,
405 "type" : "integer",
406 "typetext" : "<integer> (1 - N)"
407 },
4772952b
TL
408 "mtu" : {
409 "default" : 1500,
410 "description" : "MTU for metrics transmission over UDP",
411 "maximum" : 65536,
412 "minimum" : 512,
413 "optional" : 1,
414 "type" : "integer",
415 "typetext" : "<integer> (512 - 65536)"
416 },
d2656385
TL
417 "organization" : {
418 "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
419 "optional" : 1,
420 "type" : "string",
421 "typetext" : "<string>"
422 },
4772952b
TL
423 "path" : {
424 "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
425 "format" : "graphite-path",
426 "optional" : 1,
427 "type" : "string",
428 "typetext" : "<string>"
429 },
430 "port" : {
431 "description" : "server network port",
d2656385
TL
432 "maximum" : 65536,
433 "minimum" : 1,
4772952b 434 "type" : "integer",
d2656385 435 "typetext" : "<integer> (1 - 65536)"
4772952b
TL
436 },
437 "proto" : {
438 "description" : "Protocol to send graphite data. TCP or UDP (default)",
439 "enum" : [
440 "udp",
441 "tcp"
442 ],
443 "optional" : 1,
444 "type" : "string"
445 },
446 "server" : {
447 "description" : "server dns name or IP address",
448 "format" : "address",
449 "type" : "string",
450 "typetext" : "<string>"
451 },
452 "timeout" : {
453 "default" : 1,
454 "description" : "graphite TCP socket timeout (default=1)",
455 "minimum" : 0,
456 "optional" : 1,
457 "type" : "integer",
458 "typetext" : "<integer> (0 - N)"
459 },
d2656385
TL
460 "token" : {
461 "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
462 "optional" : 1,
463 "type" : "string",
464 "typetext" : "<string>"
465 },
4772952b
TL
466 "type" : {
467 "description" : "Plugin type.",
468 "enum" : [
469 "graphite",
470 "influxdb"
471 ],
472 "format" : "pve-configid",
473 "type" : "string"
474 }
475 },
476 "type" : "object"
477 },
478 "permissions" : {
479 "check" : [
480 "perm",
481 "/",
482 [
483 "Sys.Modify"
484 ]
485 ]
486 },
487 "protected" : 1,
488 "returns" : {
489 "type" : "null"
490 }
491 },
492 "PUT" : {
493 "allowtoken" : 1,
494 "description" : "Update metric server configuration.",
495 "method" : "PUT",
496 "name" : "update",
497 "parameters" : {
498 "additionalProperties" : 0,
499 "properties" : {
d2656385
TL
500 "api-path-prefix" : {
501 "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
502 "optional" : 1,
503 "type" : "string",
504 "typetext" : "<string>"
505 },
506 "bucket" : {
507 "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
508 "optional" : 1,
509 "type" : "string",
510 "typetext" : "<string>"
511 },
4772952b
TL
512 "delete" : {
513 "description" : "A list of settings you want to delete.",
514 "format" : "pve-configid-list",
515 "maxLength" : 4096,
516 "optional" : 1,
517 "type" : "string",
518 "typetext" : "<string>"
519 },
520 "digest" : {
521 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
522 "maxLength" : 40,
523 "optional" : 1,
524 "type" : "string",
525 "typetext" : "<string>"
526 },
527 "disable" : {
528 "description" : "Flag to disable the plugin.",
529 "optional" : 1,
530 "type" : "boolean",
531 "typetext" : "<boolean>"
532 },
533 "id" : {
534 "description" : "The ID of the entry.",
535 "format" : "pve-configid",
536 "type" : "string",
537 "typetext" : "<string>"
538 },
d2656385
TL
539 "influxdbproto" : {
540 "default" : "udp",
541 "enum" : [
542 "udp",
543 "http",
544 "https"
545 ],
546 "optional" : 1,
547 "type" : "string"
548 },
549 "max-body-size" : {
550 "default" : 25000000,
551 "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
552 "minimum" : 1,
553 "optional" : 1,
554 "type" : "integer",
555 "typetext" : "<integer> (1 - N)"
556 },
4772952b
TL
557 "mtu" : {
558 "default" : 1500,
559 "description" : "MTU for metrics transmission over UDP",
560 "maximum" : 65536,
561 "minimum" : 512,
562 "optional" : 1,
563 "type" : "integer",
564 "typetext" : "<integer> (512 - 65536)"
565 },
d2656385
TL
566 "organization" : {
567 "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
568 "optional" : 1,
569 "type" : "string",
570 "typetext" : "<string>"
571 },
4772952b
TL
572 "path" : {
573 "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
574 "format" : "graphite-path",
575 "optional" : 1,
576 "type" : "string",
577 "typetext" : "<string>"
578 },
579 "port" : {
580 "description" : "server network port",
d2656385
TL
581 "maximum" : 65536,
582 "minimum" : 1,
4772952b 583 "type" : "integer",
d2656385 584 "typetext" : "<integer> (1 - 65536)"
4772952b
TL
585 },
586 "proto" : {
587 "description" : "Protocol to send graphite data. TCP or UDP (default)",
588 "enum" : [
589 "udp",
590 "tcp"
591 ],
592 "optional" : 1,
593 "type" : "string"
594 },
595 "server" : {
596 "description" : "server dns name or IP address",
597 "format" : "address",
598 "type" : "string",
599 "typetext" : "<string>"
600 },
601 "timeout" : {
602 "default" : 1,
603 "description" : "graphite TCP socket timeout (default=1)",
604 "minimum" : 0,
605 "optional" : 1,
606 "type" : "integer",
607 "typetext" : "<integer> (0 - N)"
d2656385
TL
608 },
609 "token" : {
610 "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
611 "optional" : 1,
612 "type" : "string",
613 "typetext" : "<string>"
4772952b
TL
614 }
615 },
616 "type" : "object"
617 },
618 "permissions" : {
619 "check" : [
620 "perm",
621 "/",
622 [
623 "Sys.Modify"
624 ]
625 ]
626 },
627 "protected" : 1,
628 "returns" : {
629 "type" : "null"
630 }
631 }
632 },
633 "leaf" : 1,
634 "path" : "/cluster/metrics/server/{id}",
635 "text" : "{id}"
636 }
637 ],
638 "info" : {
639 "GET" : {
640 "allowtoken" : 1,
641 "description" : "List configured metric servers.",
642 "method" : "GET",
643 "name" : "server_index",
644 "parameters" : {
645 "additionalProperties" : 0
646 },
647 "permissions" : {
648 "check" : [
649 "perm",
650 "/",
651 [
652 "Sys.Audit"
653 ]
654 ]
655 },
656 "returns" : {
657 "items" : {
658 "properties" : {
659 "disable" : {
660 "description" : "Flag to disable the plugin.",
661 "type" : "boolean"
662 },
663 "id" : {
664 "description" : "The ID of the entry.",
665 "type" : "string"
666 },
667 "port" : {
668 "description" : "Server network port",
669 "type" : "integer"
670 },
671 "server" : {
672 "description" : "Server dns name or IP address",
673 "type" : "string"
674 },
675 "type" : {
676 "description" : "Plugin type.",
677 "type" : "string"
678 }
679 },
680 "type" : "object"
681 },
682 "links" : [
683 {
684 "href" : "{id}",
685 "rel" : "child"
686 }
687 ],
688 "type" : "array"
689 }
690 }
691 },
692 "leaf" : 0,
693 "path" : "/cluster/metrics/server",
694 "text" : "server"
695 }
696 ],
697 "info" : {
698 "GET" : {
699 "allowtoken" : 1,
700 "description" : "Metrics index.",
701 "method" : "GET",
702 "name" : "index",
703 "parameters" : {
704 "additionalProperties" : 0
705 },
706 "permissions" : {
707 "user" : "all"
708 },
709 "returns" : {
710 "items" : {
711 "properties" : {},
712 "type" : "object"
713 },
714 "links" : [
715 {
716 "href" : "{name}",
717 "rel" : "child"
718 }
719 ],
720 "type" : "array"
721 }
722 }
723 },
724 "leaf" : 0,
725 "path" : "/cluster/metrics",
726 "text" : "metrics"
727 },
32d876b5
DM
728 {
729 "children" : [
c5aa7e14
TL
730 {
731 "info" : {
732 "GET" : {
733 "allowtoken" : 1,
734 "description" : "Return the version of the cluster join API available on this node.",
735 "method" : "GET",
736 "name" : "join_api_version",
737 "parameters" : {
738 "additionalProperties" : 0
739 },
740 "permissions" : {
741 "check" : [
742 "perm",
743 "/",
744 [
745 "Sys.Audit"
746 ]
747 ]
748 },
749 "returns" : {
750 "description" : "Cluster Join API version, currently 1",
751 "minimum" : 0,
752 "type" : "integer"
753 }
754 }
755 },
756 "leaf" : 1,
757 "path" : "/cluster/config/apiversion",
758 "text" : "apiversion"
759 },
32d876b5 760 {
27a7acb2
DM
761 "children" : [
762 {
763 "info" : {
764 "DELETE" : {
e9cd3bd4 765 "allowtoken" : 1,
27a7acb2
DM
766 "description" : "Removes a node from the cluster configuration.",
767 "method" : "DELETE",
768 "name" : "delnode",
769 "parameters" : {
770 "additionalProperties" : 0,
771 "properties" : {
772 "node" : {
773 "description" : "The cluster node name.",
774 "format" : "pve-node",
775 "type" : "string",
776 "typetext" : "<string>"
777 }
778 }
779 },
780 "protected" : 1,
781 "returns" : {
782 "type" : "null"
783 }
784 },
785 "POST" : {
e9cd3bd4 786 "allowtoken" : 1,
e2d681b3 787 "description" : "Adds a node to the cluster configuration. This call is for internal use.",
27a7acb2
DM
788 "method" : "POST",
789 "name" : "addnode",
790 "parameters" : {
791 "additionalProperties" : 0,
792 "properties" : {
c5aa7e14
TL
793 "apiversion" : {
794 "description" : "The JOIN_API_VERSION of the new node.",
795 "optional" : 1,
796 "type" : "integer",
797 "typetext" : "<integer>"
798 },
27a7acb2
DM
799 "force" : {
800 "description" : "Do not throw error if node already exists.",
801 "optional" : 1,
802 "type" : "boolean",
803 "typetext" : "<boolean>"
804 },
1e3f8156 805 "link[n]" : {
c5aa7e14 806 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
807 "format" : {
808 "address" : {
809 "default_key" : 1,
810 "description" : "Hostname (or IP) of this corosync link address.",
811 "format" : "address",
812 "format_description" : "IP",
813 "type" : "string"
814 },
815 "priority" : {
816 "default" : 0,
c5aa7e14 817 "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
818 "maximum" : 255,
819 "minimum" : 0,
820 "optional" : 1,
821 "type" : "integer"
822 }
823 },
824 "optional" : 1,
825 "type" : "string",
826 "typetext" : "[address=]<IP> [,priority=<integer>]"
827 },
c5aa7e14
TL
828 "new_node_ip" : {
829 "description" : "IP Address of node to add. Used as fallback if no links are given.",
830 "format" : "ip",
831 "optional" : 1,
832 "type" : "string",
833 "typetext" : "<string>"
834 },
27a7acb2
DM
835 "node" : {
836 "description" : "The cluster node name.",
837 "format" : "pve-node",
838 "type" : "string",
839 "typetext" : "<string>"
840 },
841 "nodeid" : {
842 "description" : "Node id for this node.",
843 "minimum" : 1,
844 "optional" : 1,
845 "type" : "integer",
846 "typetext" : "<integer> (1 - N)"
847 },
27a7acb2
DM
848 "votes" : {
849 "description" : "Number of votes for this node",
850 "minimum" : 0,
851 "optional" : 1,
852 "type" : "integer",
853 "typetext" : "<integer> (0 - N)"
854 }
855 }
856 },
857 "protected" : 1,
858 "returns" : {
859 "properties" : {
860 "corosync_authkey" : {
861 "type" : "string"
862 },
863 "corosync_conf" : {
864 "type" : "string"
c5aa7e14
TL
865 },
866 "warnings" : {
867 "items" : {
868 "type" : "string"
869 },
870 "type" : "array"
27a7acb2
DM
871 }
872 },
873 "type" : "object"
874 }
875 }
876 },
877 "leaf" : 1,
878 "path" : "/cluster/config/nodes/{node}",
879 "text" : "{node}"
880 }
881 ],
32d876b5
DM
882 "info" : {
883 "GET" : {
e9cd3bd4 884 "allowtoken" : 1,
32d876b5
DM
885 "description" : "Corosync node list.",
886 "method" : "GET",
887 "name" : "nodes",
888 "parameters" : {
889 "additionalProperties" : 0
890 },
5d9c884c
DM
891 "permissions" : {
892 "check" : [
893 "perm",
894 "/",
895 [
896 "Sys.Audit"
897 ]
898 ]
899 },
32d876b5
DM
900 "returns" : {
901 "items" : {
902 "properties" : {
903 "node" : {
904 "type" : "string"
905 }
906 },
907 "type" : "object"
908 },
909 "links" : [
910 {
911 "href" : "{node}",
912 "rel" : "child"
913 }
914 ],
915 "type" : "array"
916 }
917 }
918 },
27a7acb2 919 "leaf" : 0,
32d876b5
DM
920 "path" : "/cluster/config/nodes",
921 "text" : "nodes"
922 },
27a7acb2
DM
923 {
924 "info" : {
925 "GET" : {
e9cd3bd4 926 "allowtoken" : 1,
27a7acb2
DM
927 "description" : "Get information needed to join this cluster over the connected node.",
928 "method" : "GET",
929 "name" : "join_info",
930 "parameters" : {
931 "additionalProperties" : 0,
932 "properties" : {
933 "node" : {
934 "default" : "current connected node",
935 "description" : "The node for which the joinee gets the nodeinfo. ",
936 "format" : "pve-node",
937 "optional" : 1,
938 "type" : "string",
939 "typetext" : "<string>"
940 }
941 }
942 },
a9a8e3d1
DM
943 "permissions" : {
944 "check" : [
945 "perm",
946 "/",
947 [
948 "Sys.Audit"
949 ]
950 ]
951 },
27a7acb2
DM
952 "returns" : {
953 "additionalProperties" : 0,
954 "properties" : {
955 "config_digest" : {
956 "type" : "string"
957 },
958 "nodelist" : {
959 "items" : {
960 "additionalProperties" : 1,
961 "properties" : {
962 "name" : {
963 "description" : "The cluster node name.",
964 "format" : "pve-node",
965 "type" : "string"
966 },
967 "nodeid" : {
968 "description" : "Node id for this node.",
969 "minimum" : 1,
970 "optional" : 1,
971 "type" : "integer"
972 },
973 "pve_addr" : {
974 "format" : "ip",
975 "type" : "string"
976 },
977 "pve_fp" : {
978 "description" : "Certificate SHA 256 fingerprint.",
979 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
980 "type" : "string"
981 },
982 "quorum_votes" : {
983 "minimum" : 0,
984 "type" : "integer"
985 },
986 "ring0_addr" : {
c5aa7e14 987 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
988 "format" : {
989 "address" : {
990 "default_key" : 1,
991 "description" : "Hostname (or IP) of this corosync link address.",
992 "format" : "address",
993 "format_description" : "IP",
994 "type" : "string"
995 },
996 "priority" : {
997 "default" : 0,
c5aa7e14 998 "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
999 "maximum" : 255,
1000 "minimum" : 0,
1001 "optional" : 1,
1002 "type" : "integer"
1003 }
1004 },
27a7acb2
DM
1005 "optional" : 1,
1006 "type" : "string"
1007 }
1008 },
1009 "type" : "object"
1010 },
1011 "type" : "array"
1012 },
1013 "preferred_node" : {
1014 "description" : "The cluster node name.",
1015 "format" : "pve-node",
1016 "type" : "string"
1017 },
1018 "totem" : {
1019 "type" : "object"
1020 }
1021 },
1022 "type" : "object"
1023 }
1024 },
1025 "POST" : {
e9cd3bd4 1026 "allowtoken" : 1,
c5aa7e14 1027 "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
1028 "method" : "POST",
1029 "name" : "join",
1030 "parameters" : {
1031 "additionalProperties" : 0,
1032 "properties" : {
1033 "fingerprint" : {
1034 "description" : "Certificate SHA 256 fingerprint.",
1035 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
1036 "type" : "string"
1037 },
1038 "force" : {
1039 "description" : "Do not throw error if node already exists.",
1040 "optional" : 1,
1041 "type" : "boolean",
1042 "typetext" : "<boolean>"
1043 },
1044 "hostname" : {
1045 "description" : "Hostname (or IP) of an existing cluster member.",
1046 "type" : "string",
1047 "typetext" : "<string>"
1048 },
1e3f8156 1049 "link[n]" : {
c5aa7e14 1050 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
1051 "format" : {
1052 "address" : {
1053 "default_key" : 1,
1054 "description" : "Hostname (or IP) of this corosync link address.",
1055 "format" : "address",
1056 "format_description" : "IP",
1057 "type" : "string"
1058 },
1059 "priority" : {
1060 "default" : 0,
c5aa7e14 1061 "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
1062 "maximum" : 255,
1063 "minimum" : 0,
1064 "optional" : 1,
1065 "type" : "integer"
1066 }
1067 },
1068 "optional" : 1,
1069 "type" : "string",
1070 "typetext" : "[address=]<IP> [,priority=<integer>]"
1071 },
27a7acb2
DM
1072 "nodeid" : {
1073 "description" : "Node id for this node.",
1074 "minimum" : 1,
1075 "optional" : 1,
1076 "type" : "integer",
1077 "typetext" : "<integer> (1 - N)"
1078 },
1079 "password" : {
1080 "description" : "Superuser (root) password of peer node.",
1081 "maxLength" : 128,
1082 "type" : "string",
1083 "typetext" : "<string>"
1084 },
27a7acb2
DM
1085 "votes" : {
1086 "description" : "Number of votes for this node",
1087 "minimum" : 0,
1088 "optional" : 1,
1089 "type" : "integer",
1090 "typetext" : "<integer> (0 - N)"
1091 }
1092 }
1093 },
1094 "protected" : 1,
1095 "returns" : {
1096 "type" : "string"
1097 }
1098 }
1099 },
1100 "leaf" : 1,
1101 "path" : "/cluster/config/join",
1102 "text" : "join"
1103 },
32d876b5
DM
1104 {
1105 "info" : {
1106 "GET" : {
e9cd3bd4 1107 "allowtoken" : 1,
32d876b5
DM
1108 "description" : "Get corosync totem protocol settings.",
1109 "method" : "GET",
1110 "name" : "totem",
1111 "parameters" : {
1112 "additionalProperties" : 0
1113 },
5d9c884c
DM
1114 "permissions" : {
1115 "check" : [
1116 "perm",
1117 "/",
1118 [
1119 "Sys.Audit"
1120 ]
1121 ]
1122 },
32d876b5 1123 "returns" : {
32d876b5
DM
1124 "type" : "object"
1125 }
1126 }
1127 },
1128 "leaf" : 1,
1129 "path" : "/cluster/config/totem",
1130 "text" : "totem"
9226ccbc
TL
1131 },
1132 {
1133 "info" : {
1134 "GET" : {
e9cd3bd4 1135 "allowtoken" : 1,
9226ccbc
TL
1136 "description" : "Get QDevice status",
1137 "method" : "GET",
1138 "name" : "status",
1139 "parameters" : {
1140 "additionalProperties" : 0
1141 },
1142 "permissions" : {
1143 "check" : [
1144 "perm",
1145 "/",
1146 [
1147 "Sys.Audit"
1148 ]
1149 ]
1150 },
1151 "returns" : {
1152 "type" : "object"
1153 }
1154 }
1155 },
1156 "leaf" : 1,
1157 "path" : "/cluster/config/qdevice",
1158 "text" : "qdevice"
32d876b5
DM
1159 }
1160 ],
1161 "info" : {
1162 "GET" : {
e9cd3bd4 1163 "allowtoken" : 1,
32d876b5
DM
1164 "description" : "Directory index.",
1165 "method" : "GET",
1166 "name" : "index",
1167 "parameters" : {
1168 "additionalProperties" : 0
1169 },
5d9c884c
DM
1170 "permissions" : {
1171 "check" : [
1172 "perm",
1173 "/",
1174 [
1175 "Sys.Audit"
1176 ]
1177 ]
1178 },
32d876b5
DM
1179 "returns" : {
1180 "items" : {
1181 "properties" : {},
1182 "type" : "object"
1183 },
1184 "links" : [
1185 {
1186 "href" : "{name}",
1187 "rel" : "child"
1188 }
1189 ],
1190 "type" : "array"
1191 }
27a7acb2
DM
1192 },
1193 "POST" : {
e9cd3bd4 1194 "allowtoken" : 1,
c5aa7e14 1195 "description" : "Generate new cluster configuration. If no links given, default to local IP address as link0.",
27a7acb2
DM
1196 "method" : "POST",
1197 "name" : "create",
1198 "parameters" : {
1199 "additionalProperties" : 0,
1200 "properties" : {
27a7acb2
DM
1201 "clustername" : {
1202 "description" : "The name of the cluster.",
1203 "format" : "pve-node",
1204 "maxLength" : 15,
1205 "type" : "string",
1206 "typetext" : "<string>"
1207 },
1e3f8156 1208 "link[n]" : {
c5aa7e14 1209 "description" : "Address and priority information of a single corosync link. (up to 8 links supported; link0..link7)",
1e3f8156
TL
1210 "format" : {
1211 "address" : {
1212 "default_key" : 1,
1213 "description" : "Hostname (or IP) of this corosync link address.",
1214 "format" : "address",
1215 "format_description" : "IP",
1216 "type" : "string"
1217 },
1218 "priority" : {
1219 "default" : 0,
c5aa7e14 1220 "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
1221 "maximum" : 255,
1222 "minimum" : 0,
1223 "optional" : 1,
1224 "type" : "integer"
1225 }
1226 },
1227 "optional" : 1,
1228 "type" : "string",
1229 "typetext" : "[address=]<IP> [,priority=<integer>]"
1230 },
27a7acb2
DM
1231 "nodeid" : {
1232 "description" : "Node id for this node.",
1233 "minimum" : 1,
1234 "optional" : 1,
1235 "type" : "integer",
1236 "typetext" : "<integer> (1 - N)"
1237 },
27a7acb2
DM
1238 "votes" : {
1239 "description" : "Number of votes for this node.",
1240 "minimum" : 1,
1241 "optional" : 1,
1242 "type" : "integer",
1243 "typetext" : "<integer> (1 - N)"
1244 }
1245 }
1246 },
1247 "protected" : 1,
1248 "returns" : {
1249 "type" : "string"
1250 }
32d876b5
DM
1251 }
1252 },
1253 "leaf" : 0,
1254 "path" : "/cluster/config",
1255 "text" : "config"
1256 },
56122987 1257 {
56122987
DM
1258 "children" : [
1259 {
56122987
DM
1260 "children" : [
1261 {
44660702
DM
1262 "children" : [
1263 {
1264 "info" : {
1265 "DELETE" : {
e9cd3bd4 1266 "allowtoken" : 1,
44660702
DM
1267 "description" : "Delete rule.",
1268 "method" : "DELETE",
1269 "name" : "delete_rule",
1270 "parameters" : {
1271 "additionalProperties" : 0,
1272 "properties" : {
1273 "digest" : {
1274 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1275 "maxLength" : 40,
1276 "optional" : 1,
013dc89f
DM
1277 "type" : "string",
1278 "typetext" : "<string>"
44660702
DM
1279 },
1280 "group" : {
1281 "description" : "Security Group name.",
4bd7df8b 1282 "maxLength" : 18,
44660702
DM
1283 "minLength" : 2,
1284 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1285 "type" : "string"
1286 },
1287 "pos" : {
1288 "description" : "Update rule at position <pos>.",
1289 "minimum" : 0,
1290 "optional" : 1,
4bd7df8b 1291 "type" : "integer",
013dc89f 1292 "typetext" : "<integer> (0 - N)"
44660702
DM
1293 }
1294 }
1295 },
1296 "permissions" : {
1297 "check" : [
1298 "perm",
1299 "/",
1300 [
1301 "Sys.Modify"
1302 ]
1303 ]
1304 },
1305 "protected" : 1,
1306 "proxyto" : null,
1307 "returns" : {
1308 "type" : "null"
7aacca6f
DM
1309 }
1310 },
44660702 1311 "GET" : {
e9cd3bd4 1312 "allowtoken" : 1,
44660702
DM
1313 "description" : "Get single rule data.",
1314 "method" : "GET",
1315 "name" : "get_rule",
1316 "parameters" : {
1317 "additionalProperties" : 0,
1318 "properties" : {
1319 "group" : {
1320 "description" : "Security Group name.",
4bd7df8b 1321 "maxLength" : 18,
44660702
DM
1322 "minLength" : 2,
1323 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1324 "type" : "string"
1325 },
1326 "pos" : {
1327 "description" : "Update rule at position <pos>.",
1328 "minimum" : 0,
1329 "optional" : 1,
4bd7df8b 1330 "type" : "integer",
013dc89f 1331 "typetext" : "<integer> (0 - N)"
44660702 1332 }
7aacca6f 1333 }
56122987 1334 },
44660702
DM
1335 "permissions" : {
1336 "check" : [
1337 "perm",
1338 "/",
1339 [
1340 "Sys.Audit"
1341 ]
1342 ]
1343 },
1344 "proxyto" : null,
1345 "returns" : {
1346 "properties" : {
e2d681b3
TL
1347 "action" : {
1348 "type" : "string"
1349 },
1350 "comment" : {
1351 "optional" : 1,
1352 "type" : "string"
1353 },
1354 "dest" : {
1355 "optional" : 1,
1356 "type" : "string"
1357 },
1358 "dport" : {
1359 "optional" : 1,
1360 "type" : "string"
1361 },
1362 "enable" : {
1363 "optional" : 1,
1364 "type" : "integer"
1365 },
4772952b
TL
1366 "icmp-type" : {
1367 "optional" : 1,
1368 "type" : "string"
1369 },
e2d681b3
TL
1370 "iface" : {
1371 "optional" : 1,
1372 "type" : "string"
1373 },
1374 "ipversion" : {
1375 "optional" : 1,
1376 "type" : "integer"
1377 },
95895385
TL
1378 "log" : {
1379 "description" : "Log level for firewall rule",
1380 "enum" : [
1381 "emerg",
1382 "alert",
1383 "crit",
1384 "err",
1385 "warning",
1386 "notice",
1387 "info",
1388 "debug",
1389 "nolog"
1390 ],
1391 "optional" : 1,
1392 "type" : "string"
1393 },
e2d681b3
TL
1394 "macro" : {
1395 "optional" : 1,
5f26e15b 1396 "type" : "string"
e2d681b3 1397 },
44660702
DM
1398 "pos" : {
1399 "type" : "integer"
e2d681b3
TL
1400 },
1401 "proto" : {
1402 "optional" : 1,
1403 "type" : "string"
1404 },
1405 "source" : {
1406 "optional" : 1,
1407 "type" : "string"
1408 },
1409 "sport" : {
1410 "optional" : 1,
1411 "type" : "string"
1412 },
1413 "type" : {
1414 "type" : "string"
44660702
DM
1415 }
1416 },
1417 "type" : "object"
56122987 1418 }
44660702 1419 },
7aacca6f 1420 "PUT" : {
e9cd3bd4 1421 "allowtoken" : 1,
44660702
DM
1422 "description" : "Modify rule data.",
1423 "method" : "PUT",
1424 "name" : "update_rule",
7aacca6f
DM
1425 "parameters" : {
1426 "additionalProperties" : 0,
1427 "properties" : {
44660702
DM
1428 "action" : {
1429 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 1430 "maxLength" : 20,
44660702 1431 "minLength" : 2,
7aacca6f 1432 "optional" : 1,
44660702 1433 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
1434 "type" : "string"
1435 },
44660702 1436 "comment" : {
e94f0d56 1437 "description" : "Descriptive comment.",
7aacca6f 1438 "optional" : 1,
013dc89f
DM
1439 "type" : "string",
1440 "typetext" : "<string>"
7aacca6f 1441 },
44660702
DM
1442 "delete" : {
1443 "description" : "A list of settings you want to delete.",
1444 "format" : "pve-configid-list",
7aacca6f 1445 "optional" : 1,
013dc89f
DM
1446 "type" : "string",
1447 "typetext" : "<string>"
7aacca6f 1448 },
44660702
DM
1449 "dest" : {
1450 "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.",
1451 "format" : "pve-fw-addr-spec",
0695fdaf 1452 "maxLength" : 512,
7aacca6f 1453 "optional" : 1,
013dc89f
DM
1454 "type" : "string",
1455 "typetext" : "<string>"
7aacca6f
DM
1456 },
1457 "digest" : {
1458 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 1459 "maxLength" : 40,
7aacca6f 1460 "optional" : 1,
013dc89f
DM
1461 "type" : "string",
1462 "typetext" : "<string>"
7aacca6f 1463 },
44660702
DM
1464 "dport" : {
1465 "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.",
1466 "format" : "pve-fw-dport-spec",
7aacca6f 1467 "optional" : 1,
013dc89f
DM
1468 "type" : "string",
1469 "typetext" : "<string>"
7aacca6f 1470 },
44660702 1471 "enable" : {
e94f0d56 1472 "description" : "Flag to enable/disable a rule.",
44660702 1473 "minimum" : 0,
7aacca6f 1474 "optional" : 1,
4bd7df8b 1475 "type" : "integer",
013dc89f 1476 "typetext" : "<integer> (0 - N)"
7aacca6f 1477 },
44660702
DM
1478 "group" : {
1479 "description" : "Security Group name.",
4bd7df8b 1480 "maxLength" : 18,
44660702
DM
1481 "minLength" : 2,
1482 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1483 "type" : "string"
1484 },
4772952b
TL
1485 "icmp-type" : {
1486 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1487 "format" : "pve-fw-icmp-type-spec",
1488 "optional" : 1,
1489 "type" : "string",
1490 "typetext" : "<string>"
1491 },
44660702
DM
1492 "iface" : {
1493 "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.",
1494 "format" : "pve-iface",
1495 "maxLength" : 20,
1496 "minLength" : 2,
7aacca6f 1497 "optional" : 1,
013dc89f
DM
1498 "type" : "string",
1499 "typetext" : "<string>"
7aacca6f 1500 },
95895385
TL
1501 "log" : {
1502 "description" : "Log level for firewall rule.",
1503 "enum" : [
1504 "emerg",
1505 "alert",
1506 "crit",
1507 "err",
1508 "warning",
1509 "notice",
1510 "info",
1511 "debug",
1512 "nolog"
1513 ],
1514 "optional" : 1,
1515 "type" : "string"
1516 },
44660702 1517 "macro" : {
e94f0d56 1518 "description" : "Use predefined standard macro.",
44660702
DM
1519 "maxLength" : 128,
1520 "optional" : 1,
013dc89f
DM
1521 "type" : "string",
1522 "typetext" : "<string>"
7aacca6f
DM
1523 },
1524 "moveto" : {
1525 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1526 "minimum" : 0,
7aacca6f 1527 "optional" : 1,
4bd7df8b 1528 "type" : "integer",
013dc89f 1529 "typetext" : "<integer> (0 - N)"
7aacca6f 1530 },
44660702
DM
1531 "pos" : {
1532 "description" : "Update rule at position <pos>.",
1533 "minimum" : 0,
1534 "optional" : 1,
4bd7df8b 1535 "type" : "integer",
013dc89f 1536 "typetext" : "<integer> (0 - N)"
7aacca6f 1537 },
44660702
DM
1538 "proto" : {
1539 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1540 "format" : "pve-fw-protocol-spec",
7aacca6f 1541 "optional" : 1,
013dc89f
DM
1542 "type" : "string",
1543 "typetext" : "<string>"
44660702
DM
1544 },
1545 "source" : {
1546 "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.",
1547 "format" : "pve-fw-addr-spec",
0695fdaf 1548 "maxLength" : 512,
44660702 1549 "optional" : 1,
013dc89f
DM
1550 "type" : "string",
1551 "typetext" : "<string>"
44660702
DM
1552 },
1553 "sport" : {
1554 "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.",
1555 "format" : "pve-fw-sport-spec",
1556 "optional" : 1,
013dc89f
DM
1557 "type" : "string",
1558 "typetext" : "<string>"
7aacca6f
DM
1559 },
1560 "type" : {
e94f0d56 1561 "description" : "Rule type.",
7aacca6f
DM
1562 "enum" : [
1563 "in",
1564 "out",
1565 "group"
1566 ],
1567 "optional" : 1,
1568 "type" : "string"
1569 }
1570 }
1571 },
7aacca6f
DM
1572 "permissions" : {
1573 "check" : [
1574 "perm",
1575 "/",
1576 [
1577 "Sys.Modify"
1578 ]
1579 ]
1580 },
44660702 1581 "protected" : 1,
7aacca6f
DM
1582 "proxyto" : null,
1583 "returns" : {
1584 "type" : "null"
1585 }
7aacca6f
DM
1586 }
1587 },
44660702 1588 "leaf" : 1,
7aacca6f 1589 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1590 "text" : "{pos}"
7aacca6f
DM
1591 }
1592 ],
44660702
DM
1593 "info" : {
1594 "DELETE" : {
e9cd3bd4 1595 "allowtoken" : 1,
44660702
DM
1596 "description" : "Delete security group.",
1597 "method" : "DELETE",
1598 "name" : "delete_security_group",
1599 "parameters" : {
1600 "additionalProperties" : 0,
1601 "properties" : {
1602 "group" : {
1603 "description" : "Security Group name.",
4bd7df8b 1604 "maxLength" : 18,
44660702
DM
1605 "minLength" : 2,
1606 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1607 "type" : "string"
1608 }
56122987 1609 }
7aacca6f 1610 },
44660702
DM
1611 "permissions" : {
1612 "check" : [
1613 "perm",
1614 "/",
1615 [
1616 "Sys.Modify"
1617 ]
7aacca6f 1618 ]
56122987 1619 },
44660702
DM
1620 "protected" : 1,
1621 "returns" : {
1622 "type" : "null"
56122987 1623 }
7aacca6f 1624 },
7aacca6f 1625 "GET" : {
e9cd3bd4 1626 "allowtoken" : 1,
44660702 1627 "description" : "List rules.",
7aacca6f 1628 "method" : "GET",
44660702
DM
1629 "name" : "get_rules",
1630 "parameters" : {
1631 "additionalProperties" : 0,
7aacca6f 1632 "properties" : {
44660702
DM
1633 "group" : {
1634 "description" : "Security Group name.",
4bd7df8b 1635 "maxLength" : 18,
44660702
DM
1636 "minLength" : 2,
1637 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1638 "type" : "string"
7aacca6f 1639 }
44660702 1640 }
7aacca6f
DM
1641 },
1642 "permissions" : {
1643 "check" : [
1644 "perm",
1645 "/",
1646 [
1647 "Sys.Audit"
1648 ]
1649 ]
1650 },
44660702
DM
1651 "proxyto" : null,
1652 "returns" : {
1653 "items" : {
1654 "properties" : {
1655 "pos" : {
1656 "type" : "integer"
1657 }
1658 },
1659 "type" : "object"
1660 },
1661 "links" : [
1662 {
1663 "href" : "{pos}",
1664 "rel" : "child"
1665 }
1666 ],
1667 "type" : "array"
1668 }
1669 },
1670 "POST" : {
e9cd3bd4 1671 "allowtoken" : 1,
44660702
DM
1672 "description" : "Create new rule.",
1673 "method" : "POST",
1674 "name" : "create_rule",
7aacca6f
DM
1675 "parameters" : {
1676 "additionalProperties" : 0,
1677 "properties" : {
44660702
DM
1678 "action" : {
1679 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1680 "maxLength" : 20,
56122987 1681 "minLength" : 2,
44660702
DM
1682 "optional" : 0,
1683 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1684 "type" : "string"
56122987 1685 },
44660702 1686 "comment" : {
e94f0d56 1687 "description" : "Descriptive comment.",
56122987 1688 "optional" : 1,
013dc89f
DM
1689 "type" : "string",
1690 "typetext" : "<string>"
56122987 1691 },
44660702
DM
1692 "dest" : {
1693 "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 1694 "format" : "pve-fw-addr-spec",
0695fdaf 1695 "maxLength" : 512,
56122987 1696 "optional" : 1,
013dc89f
DM
1697 "type" : "string",
1698 "typetext" : "<string>"
56122987 1699 },
44660702
DM
1700 "digest" : {
1701 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1702 "maxLength" : 40,
7aacca6f 1703 "optional" : 1,
013dc89f
DM
1704 "type" : "string",
1705 "typetext" : "<string>"
56122987 1706 },
44660702
DM
1707 "dport" : {
1708 "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.",
1709 "format" : "pve-fw-dport-spec",
56122987 1710 "optional" : 1,
013dc89f
DM
1711 "type" : "string",
1712 "typetext" : "<string>"
56122987 1713 },
7aacca6f 1714 "enable" : {
e94f0d56 1715 "description" : "Flag to enable/disable a rule.",
44660702 1716 "minimum" : 0,
7aacca6f 1717 "optional" : 1,
4bd7df8b 1718 "type" : "integer",
013dc89f 1719 "typetext" : "<integer> (0 - N)"
56122987 1720 },
44660702
DM
1721 "group" : {
1722 "description" : "Security Group name.",
4bd7df8b 1723 "maxLength" : 18,
44660702 1724 "minLength" : 2,
7aacca6f 1725 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1726 "type" : "string"
1727 },
4772952b
TL
1728 "icmp-type" : {
1729 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1730 "format" : "pve-fw-icmp-type-spec",
1731 "optional" : 1,
1732 "type" : "string",
1733 "typetext" : "<string>"
1734 },
44660702
DM
1735 "iface" : {
1736 "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.",
1737 "format" : "pve-iface",
1738 "maxLength" : 20,
7aacca6f 1739 "minLength" : 2,
44660702 1740 "optional" : 1,
013dc89f
DM
1741 "type" : "string",
1742 "typetext" : "<string>"
56122987 1743 },
95895385
TL
1744 "log" : {
1745 "description" : "Log level for firewall rule.",
1746 "enum" : [
1747 "emerg",
1748 "alert",
1749 "crit",
1750 "err",
1751 "warning",
1752 "notice",
1753 "info",
1754 "debug",
1755 "nolog"
1756 ],
1757 "optional" : 1,
1758 "type" : "string"
1759 },
7aacca6f 1760 "macro" : {
e94f0d56 1761 "description" : "Use predefined standard macro.",
44660702 1762 "maxLength" : 128,
7aacca6f 1763 "optional" : 1,
013dc89f
DM
1764 "type" : "string",
1765 "typetext" : "<string>"
7aacca6f
DM
1766 },
1767 "pos" : {
1768 "description" : "Update rule at position <pos>.",
44660702 1769 "minimum" : 0,
56122987 1770 "optional" : 1,
4bd7df8b 1771 "type" : "integer",
013dc89f 1772 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1773 },
1774 "proto" : {
1775 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1776 "format" : "pve-fw-protocol-spec",
7aacca6f 1777 "optional" : 1,
013dc89f
DM
1778 "type" : "string",
1779 "typetext" : "<string>"
44660702
DM
1780 },
1781 "source" : {
1782 "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.",
1783 "format" : "pve-fw-addr-spec",
0695fdaf 1784 "maxLength" : 512,
44660702 1785 "optional" : 1,
013dc89f
DM
1786 "type" : "string",
1787 "typetext" : "<string>"
44660702
DM
1788 },
1789 "sport" : {
1790 "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.",
1791 "format" : "pve-fw-sport-spec",
1792 "optional" : 1,
013dc89f
DM
1793 "type" : "string",
1794 "typetext" : "<string>"
44660702
DM
1795 },
1796 "type" : {
e94f0d56 1797 "description" : "Rule type.",
44660702
DM
1798 "enum" : [
1799 "in",
1800 "out",
1801 "group"
1802 ],
1803 "optional" : 0,
1804 "type" : "string"
56122987 1805 }
44660702 1806 }
56122987 1807 },
56122987
DM
1808 "permissions" : {
1809 "check" : [
1810 "perm",
1811 "/",
1812 [
1813 "Sys.Modify"
1814 ]
1815 ]
1816 },
44660702
DM
1817 "protected" : 1,
1818 "proxyto" : null,
56122987
DM
1819 "returns" : {
1820 "type" : "null"
7aacca6f 1821 }
44660702
DM
1822 }
1823 },
1824 "leaf" : 0,
1825 "path" : "/cluster/firewall/groups/{group}",
1826 "text" : "{group}"
1827 }
1828 ],
1829 "info" : {
1830 "GET" : {
e9cd3bd4 1831 "allowtoken" : 1,
44660702
DM
1832 "description" : "List security groups.",
1833 "method" : "GET",
1834 "name" : "list_security_groups",
1835 "parameters" : {
1836 "additionalProperties" : 0
1837 },
1838 "permissions" : {
1839 "user" : "all"
1840 },
1841 "returns" : {
1842 "items" : {
1843 "properties" : {
1844 "comment" : {
1845 "optional" : 1,
1846 "type" : "string"
1847 },
1848 "digest" : {
1849 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1850 "maxLength" : 40,
1851 "optional" : 0,
1852 "type" : "string"
1853 },
1854 "group" : {
1855 "description" : "Security Group name.",
4bd7df8b 1856 "maxLength" : 18,
44660702
DM
1857 "minLength" : 2,
1858 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1859 "type" : "string"
1860 }
1861 },
1862 "type" : "object"
56122987 1863 },
44660702
DM
1864 "links" : [
1865 {
1866 "href" : "{group}",
1867 "rel" : "child"
1868 }
1869 ],
1870 "type" : "array"
1871 }
1872 },
1873 "POST" : {
e9cd3bd4 1874 "allowtoken" : 1,
44660702
DM
1875 "description" : "Create new security group.",
1876 "method" : "POST",
1877 "name" : "create_security_group",
1878 "parameters" : {
1879 "additionalProperties" : 0,
1880 "properties" : {
1881 "comment" : {
1882 "optional" : 1,
013dc89f
DM
1883 "type" : "string",
1884 "typetext" : "<string>"
44660702
DM
1885 },
1886 "digest" : {
1887 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1888 "maxLength" : 40,
1889 "optional" : 1,
013dc89f
DM
1890 "type" : "string",
1891 "typetext" : "<string>"
44660702
DM
1892 },
1893 "group" : {
1894 "description" : "Security Group name.",
4bd7df8b 1895 "maxLength" : 18,
44660702
DM
1896 "minLength" : 2,
1897 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1898 "type" : "string"
1899 },
1900 "rename" : {
1901 "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 1902 "maxLength" : 18,
44660702
DM
1903 "minLength" : 2,
1904 "optional" : 1,
1905 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1906 "type" : "string"
1907 }
1908 }
1909 },
1910 "permissions" : {
1911 "check" : [
1912 "perm",
1913 "/",
1914 [
1915 "Sys.Modify"
1916 ]
1917 ]
1918 },
1919 "protected" : 1,
1920 "returns" : {
1921 "type" : "null"
1922 }
1923 }
1924 },
1925 "leaf" : 0,
1926 "path" : "/cluster/firewall/groups",
1927 "text" : "groups"
1928 },
1929 {
1930 "children" : [
1931 {
1932 "info" : {
7aacca6f 1933 "DELETE" : {
e9cd3bd4 1934 "allowtoken" : 1,
44660702
DM
1935 "description" : "Delete rule.",
1936 "method" : "DELETE",
1937 "name" : "delete_rule",
1938 "parameters" : {
1939 "additionalProperties" : 0,
1940 "properties" : {
1941 "digest" : {
1942 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1943 "maxLength" : 40,
1944 "optional" : 1,
013dc89f
DM
1945 "type" : "string",
1946 "typetext" : "<string>"
44660702
DM
1947 },
1948 "pos" : {
1949 "description" : "Update rule at position <pos>.",
1950 "minimum" : 0,
1951 "optional" : 1,
4bd7df8b 1952 "type" : "integer",
013dc89f 1953 "typetext" : "<integer> (0 - N)"
44660702
DM
1954 }
1955 }
1956 },
56122987
DM
1957 "permissions" : {
1958 "check" : [
1959 "perm",
1960 "/",
1961 [
7aacca6f 1962 "Sys.Modify"
56122987
DM
1963 ]
1964 ]
1965 },
44660702 1966 "protected" : 1,
56122987
DM
1967 "proxyto" : null,
1968 "returns" : {
7aacca6f 1969 "type" : "null"
44660702
DM
1970 }
1971 },
1972 "GET" : {
e9cd3bd4 1973 "allowtoken" : 1,
44660702
DM
1974 "description" : "Get single rule data.",
1975 "method" : "GET",
1976 "name" : "get_rule",
56122987
DM
1977 "parameters" : {
1978 "additionalProperties" : 0,
1979 "properties" : {
1980 "pos" : {
7aacca6f 1981 "description" : "Update rule at position <pos>.",
44660702 1982 "minimum" : 0,
56122987 1983 "optional" : 1,
4bd7df8b 1984 "type" : "integer",
013dc89f 1985 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1986 }
1987 }
1988 },
7aacca6f
DM
1989 "permissions" : {
1990 "check" : [
1991 "perm",
1992 "/",
1993 [
1994 "Sys.Audit"
1995 ]
1996 ]
56122987 1997 },
44660702
DM
1998 "proxyto" : null,
1999 "returns" : {
7aacca6f 2000 "properties" : {
e2d681b3
TL
2001 "action" : {
2002 "type" : "string"
2003 },
2004 "comment" : {
2005 "optional" : 1,
2006 "type" : "string"
2007 },
2008 "dest" : {
2009 "optional" : 1,
2010 "type" : "string"
2011 },
2012 "dport" : {
2013 "optional" : 1,
2014 "type" : "string"
2015 },
2016 "enable" : {
2017 "optional" : 1,
2018 "type" : "integer"
2019 },
4772952b
TL
2020 "icmp-type" : {
2021 "optional" : 1,
2022 "type" : "string"
2023 },
e2d681b3
TL
2024 "iface" : {
2025 "optional" : 1,
2026 "type" : "string"
2027 },
2028 "ipversion" : {
2029 "optional" : 1,
2030 "type" : "integer"
2031 },
95895385
TL
2032 "log" : {
2033 "description" : "Log level for firewall rule",
2034 "enum" : [
2035 "emerg",
2036 "alert",
2037 "crit",
2038 "err",
2039 "warning",
2040 "notice",
2041 "info",
2042 "debug",
2043 "nolog"
2044 ],
2045 "optional" : 1,
2046 "type" : "string"
2047 },
e2d681b3
TL
2048 "macro" : {
2049 "optional" : 1,
5f26e15b 2050 "type" : "string"
e2d681b3 2051 },
44660702
DM
2052 "pos" : {
2053 "type" : "integer"
e2d681b3
TL
2054 },
2055 "proto" : {
2056 "optional" : 1,
2057 "type" : "string"
2058 },
2059 "source" : {
2060 "optional" : 1,
2061 "type" : "string"
2062 },
2063 "sport" : {
2064 "optional" : 1,
2065 "type" : "string"
2066 },
2067 "type" : {
2068 "type" : "string"
7aacca6f 2069 }
44660702
DM
2070 },
2071 "type" : "object"
2072 }
56122987 2073 },
44660702 2074 "PUT" : {
e9cd3bd4 2075 "allowtoken" : 1,
44660702
DM
2076 "description" : "Modify rule data.",
2077 "method" : "PUT",
2078 "name" : "update_rule",
7aacca6f
DM
2079 "parameters" : {
2080 "additionalProperties" : 0,
2081 "properties" : {
44660702
DM
2082 "action" : {
2083 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
2084 "maxLength" : 20,
2085 "minLength" : 2,
2086 "optional" : 1,
2087 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2088 "type" : "string"
7aacca6f 2089 },
44660702 2090 "comment" : {
e94f0d56 2091 "description" : "Descriptive comment.",
44660702 2092 "optional" : 1,
013dc89f
DM
2093 "type" : "string",
2094 "typetext" : "<string>"
7aacca6f 2095 },
44660702
DM
2096 "delete" : {
2097 "description" : "A list of settings you want to delete.",
2098 "format" : "pve-configid-list",
2099 "optional" : 1,
013dc89f
DM
2100 "type" : "string",
2101 "typetext" : "<string>"
44660702
DM
2102 },
2103 "dest" : {
2104 "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.",
2105 "format" : "pve-fw-addr-spec",
0695fdaf 2106 "maxLength" : 512,
44660702 2107 "optional" : 1,
013dc89f
DM
2108 "type" : "string",
2109 "typetext" : "<string>"
44660702
DM
2110 },
2111 "digest" : {
2112 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2113 "maxLength" : 40,
2114 "optional" : 1,
013dc89f
DM
2115 "type" : "string",
2116 "typetext" : "<string>"
44660702
DM
2117 },
2118 "dport" : {
2119 "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.",
2120 "format" : "pve-fw-dport-spec",
2121 "optional" : 1,
013dc89f
DM
2122 "type" : "string",
2123 "typetext" : "<string>"
44660702
DM
2124 },
2125 "enable" : {
e94f0d56 2126 "description" : "Flag to enable/disable a rule.",
44660702
DM
2127 "minimum" : 0,
2128 "optional" : 1,
4bd7df8b 2129 "type" : "integer",
013dc89f 2130 "typetext" : "<integer> (0 - N)"
44660702 2131 },
4772952b
TL
2132 "icmp-type" : {
2133 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2134 "format" : "pve-fw-icmp-type-spec",
2135 "optional" : 1,
2136 "type" : "string",
2137 "typetext" : "<string>"
2138 },
44660702
DM
2139 "iface" : {
2140 "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.",
2141 "format" : "pve-iface",
2142 "maxLength" : 20,
7aacca6f 2143 "minLength" : 2,
44660702 2144 "optional" : 1,
013dc89f
DM
2145 "type" : "string",
2146 "typetext" : "<string>"
7aacca6f 2147 },
95895385
TL
2148 "log" : {
2149 "description" : "Log level for firewall rule.",
2150 "enum" : [
2151 "emerg",
2152 "alert",
2153 "crit",
2154 "err",
2155 "warning",
2156 "notice",
2157 "info",
2158 "debug",
2159 "nolog"
2160 ],
2161 "optional" : 1,
2162 "type" : "string"
2163 },
44660702 2164 "macro" : {
e94f0d56 2165 "description" : "Use predefined standard macro.",
44660702
DM
2166 "maxLength" : 128,
2167 "optional" : 1,
013dc89f
DM
2168 "type" : "string",
2169 "typetext" : "<string>"
44660702
DM
2170 },
2171 "moveto" : {
2172 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
2173 "minimum" : 0,
2174 "optional" : 1,
4bd7df8b 2175 "type" : "integer",
013dc89f 2176 "typetext" : "<integer> (0 - N)"
44660702
DM
2177 },
2178 "pos" : {
2179 "description" : "Update rule at position <pos>.",
2180 "minimum" : 0,
2181 "optional" : 1,
4bd7df8b 2182 "type" : "integer",
013dc89f 2183 "typetext" : "<integer> (0 - N)"
44660702
DM
2184 },
2185 "proto" : {
2186 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2187 "format" : "pve-fw-protocol-spec",
2188 "optional" : 1,
013dc89f
DM
2189 "type" : "string",
2190 "typetext" : "<string>"
44660702
DM
2191 },
2192 "source" : {
2193 "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.",
2194 "format" : "pve-fw-addr-spec",
0695fdaf 2195 "maxLength" : 512,
44660702 2196 "optional" : 1,
013dc89f
DM
2197 "type" : "string",
2198 "typetext" : "<string>"
44660702
DM
2199 },
2200 "sport" : {
2201 "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.",
2202 "format" : "pve-fw-sport-spec",
2203 "optional" : 1,
013dc89f
DM
2204 "type" : "string",
2205 "typetext" : "<string>"
44660702
DM
2206 },
2207 "type" : {
e94f0d56 2208 "description" : "Rule type.",
44660702
DM
2209 "enum" : [
2210 "in",
2211 "out",
2212 "group"
2213 ],
2214 "optional" : 1,
2215 "type" : "string"
7aacca6f 2216 }
56122987
DM
2217 }
2218 },
7aacca6f
DM
2219 "permissions" : {
2220 "check" : [
2221 "perm",
2222 "/",
2223 [
2224 "Sys.Modify"
2225 ]
2226 ]
2227 },
44660702
DM
2228 "protected" : 1,
2229 "proxyto" : null,
2230 "returns" : {
2231 "type" : "null"
2232 }
7aacca6f 2233 }
56122987 2234 },
44660702
DM
2235 "leaf" : 1,
2236 "path" : "/cluster/firewall/rules/{pos}",
2237 "text" : "{pos}"
7aacca6f
DM
2238 }
2239 ],
7aacca6f 2240 "info" : {
44660702 2241 "GET" : {
e9cd3bd4 2242 "allowtoken" : 1,
44660702
DM
2243 "description" : "List rules.",
2244 "method" : "GET",
2245 "name" : "get_rules",
7aacca6f 2246 "parameters" : {
44660702 2247 "additionalProperties" : 0
7aacca6f
DM
2248 },
2249 "permissions" : {
2250 "check" : [
2251 "perm",
2252 "/",
2253 [
44660702 2254 "Sys.Audit"
7aacca6f
DM
2255 ]
2256 ]
2257 },
44660702 2258 "proxyto" : null,
7aacca6f 2259 "returns" : {
7aacca6f
DM
2260 "items" : {
2261 "properties" : {
44660702
DM
2262 "pos" : {
2263 "type" : "integer"
7aacca6f
DM
2264 }
2265 },
2266 "type" : "object"
56122987 2267 },
7aacca6f
DM
2268 "links" : [
2269 {
44660702 2270 "href" : "{pos}",
7aacca6f
DM
2271 "rel" : "child"
2272 }
44660702
DM
2273 ],
2274 "type" : "array"
7aacca6f 2275 }
44660702 2276 },
7aacca6f 2277 "POST" : {
e9cd3bd4 2278 "allowtoken" : 1,
44660702 2279 "description" : "Create new rule.",
7aacca6f 2280 "method" : "POST",
44660702 2281 "name" : "create_rule",
7aacca6f
DM
2282 "parameters" : {
2283 "additionalProperties" : 0,
2284 "properties" : {
44660702
DM
2285 "action" : {
2286 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
2287 "maxLength" : 20,
7aacca6f 2288 "minLength" : 2,
44660702
DM
2289 "optional" : 0,
2290 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2291 "type" : "string"
7aacca6f
DM
2292 },
2293 "comment" : {
e94f0d56 2294 "description" : "Descriptive comment.",
7aacca6f 2295 "optional" : 1,
013dc89f
DM
2296 "type" : "string",
2297 "typetext" : "<string>"
44660702
DM
2298 },
2299 "dest" : {
2300 "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.",
2301 "format" : "pve-fw-addr-spec",
0695fdaf 2302 "maxLength" : 512,
44660702 2303 "optional" : 1,
013dc89f
DM
2304 "type" : "string",
2305 "typetext" : "<string>"
44660702
DM
2306 },
2307 "digest" : {
2308 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2309 "maxLength" : 40,
2310 "optional" : 1,
013dc89f
DM
2311 "type" : "string",
2312 "typetext" : "<string>"
44660702
DM
2313 },
2314 "dport" : {
2315 "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.",
2316 "format" : "pve-fw-dport-spec",
2317 "optional" : 1,
013dc89f
DM
2318 "type" : "string",
2319 "typetext" : "<string>"
44660702
DM
2320 },
2321 "enable" : {
e94f0d56 2322 "description" : "Flag to enable/disable a rule.",
44660702
DM
2323 "minimum" : 0,
2324 "optional" : 1,
4bd7df8b 2325 "type" : "integer",
013dc89f 2326 "typetext" : "<integer> (0 - N)"
44660702 2327 },
4772952b
TL
2328 "icmp-type" : {
2329 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2330 "format" : "pve-fw-icmp-type-spec",
2331 "optional" : 1,
2332 "type" : "string",
2333 "typetext" : "<string>"
2334 },
44660702
DM
2335 "iface" : {
2336 "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.",
2337 "format" : "pve-iface",
2338 "maxLength" : 20,
2339 "minLength" : 2,
2340 "optional" : 1,
013dc89f
DM
2341 "type" : "string",
2342 "typetext" : "<string>"
44660702 2343 },
95895385
TL
2344 "log" : {
2345 "description" : "Log level for firewall rule.",
2346 "enum" : [
2347 "emerg",
2348 "alert",
2349 "crit",
2350 "err",
2351 "warning",
2352 "notice",
2353 "info",
2354 "debug",
2355 "nolog"
2356 ],
2357 "optional" : 1,
2358 "type" : "string"
2359 },
44660702 2360 "macro" : {
e94f0d56 2361 "description" : "Use predefined standard macro.",
44660702
DM
2362 "maxLength" : 128,
2363 "optional" : 1,
013dc89f
DM
2364 "type" : "string",
2365 "typetext" : "<string>"
44660702
DM
2366 },
2367 "pos" : {
2368 "description" : "Update rule at position <pos>.",
2369 "minimum" : 0,
2370 "optional" : 1,
4bd7df8b 2371 "type" : "integer",
013dc89f 2372 "typetext" : "<integer> (0 - N)"
44660702
DM
2373 },
2374 "proto" : {
2375 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2376 "format" : "pve-fw-protocol-spec",
2377 "optional" : 1,
013dc89f
DM
2378 "type" : "string",
2379 "typetext" : "<string>"
44660702
DM
2380 },
2381 "source" : {
2382 "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.",
2383 "format" : "pve-fw-addr-spec",
0695fdaf 2384 "maxLength" : 512,
44660702 2385 "optional" : 1,
013dc89f
DM
2386 "type" : "string",
2387 "typetext" : "<string>"
44660702
DM
2388 },
2389 "sport" : {
2390 "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.",
2391 "format" : "pve-fw-sport-spec",
2392 "optional" : 1,
013dc89f
DM
2393 "type" : "string",
2394 "typetext" : "<string>"
44660702
DM
2395 },
2396 "type" : {
e94f0d56 2397 "description" : "Rule type.",
44660702
DM
2398 "enum" : [
2399 "in",
2400 "out",
2401 "group"
2402 ],
2403 "optional" : 0,
2404 "type" : "string"
7aacca6f
DM
2405 }
2406 }
2407 },
2408 "permissions" : {
2409 "check" : [
2410 "perm",
2411 "/",
2412 [
2413 "Sys.Modify"
2414 ]
2415 ]
2416 },
44660702
DM
2417 "protected" : 1,
2418 "proxyto" : null,
7aacca6f 2419 "returns" : {
44660702
DM
2420 "type" : "null"
2421 }
2422 }
2423 },
2424 "leaf" : 0,
2425 "path" : "/cluster/firewall/rules",
2426 "text" : "rules"
2427 },
2428 {
2429 "children" : [
2430 {
2431 "children" : [
2432 {
2433 "info" : {
2434 "DELETE" : {
e9cd3bd4 2435 "allowtoken" : 1,
44660702
DM
2436 "description" : "Remove IP or Network from IPSet.",
2437 "method" : "DELETE",
2438 "name" : "remove_ip",
2439 "parameters" : {
2440 "additionalProperties" : 0,
2441 "properties" : {
2442 "cidr" : {
2443 "description" : "Network/IP specification in CIDR format.",
2444 "format" : "IPorCIDRorAlias",
013dc89f
DM
2445 "type" : "string",
2446 "typetext" : "<string>"
44660702
DM
2447 },
2448 "digest" : {
2449 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2450 "maxLength" : 40,
2451 "optional" : 1,
013dc89f
DM
2452 "type" : "string",
2453 "typetext" : "<string>"
44660702
DM
2454 },
2455 "name" : {
2456 "description" : "IP set name.",
2457 "maxLength" : 64,
2458 "minLength" : 2,
2459 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2460 "type" : "string"
2461 }
2462 }
2463 },
2464 "permissions" : {
2465 "check" : [
2466 "perm",
2467 "/",
2468 [
2469 "Sys.Modify"
2470 ]
2471 ]
2472 },
2473 "protected" : 1,
2474 "returns" : {
2475 "type" : "null"
2476 }
7aacca6f 2477 },
44660702 2478 "GET" : {
e9cd3bd4 2479 "allowtoken" : 1,
44660702
DM
2480 "description" : "Read IP or Network settings from IPSet.",
2481 "method" : "GET",
2482 "name" : "read_ip",
2483 "parameters" : {
2484 "additionalProperties" : 0,
2485 "properties" : {
2486 "cidr" : {
2487 "description" : "Network/IP specification in CIDR format.",
2488 "format" : "IPorCIDRorAlias",
013dc89f
DM
2489 "type" : "string",
2490 "typetext" : "<string>"
44660702
DM
2491 },
2492 "name" : {
2493 "description" : "IP set name.",
2494 "maxLength" : 64,
2495 "minLength" : 2,
2496 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2497 "type" : "string"
2498 }
2499 }
2500 },
2501 "permissions" : {
2502 "check" : [
2503 "perm",
2504 "/",
2505 [
2506 "Sys.Audit"
2507 ]
2508 ]
2509 },
2510 "protected" : 1,
2511 "returns" : {
2512 "type" : "object"
2513 }
7aacca6f 2514 },
44660702 2515 "PUT" : {
e9cd3bd4 2516 "allowtoken" : 1,
44660702
DM
2517 "description" : "Update IP or Network settings",
2518 "method" : "PUT",
2519 "name" : "update_ip",
2520 "parameters" : {
2521 "additionalProperties" : 0,
2522 "properties" : {
2523 "cidr" : {
2524 "description" : "Network/IP specification in CIDR format.",
2525 "format" : "IPorCIDRorAlias",
013dc89f
DM
2526 "type" : "string",
2527 "typetext" : "<string>"
44660702
DM
2528 },
2529 "comment" : {
2530 "optional" : 1,
013dc89f
DM
2531 "type" : "string",
2532 "typetext" : "<string>"
44660702
DM
2533 },
2534 "digest" : {
2535 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2536 "maxLength" : 40,
2537 "optional" : 1,
013dc89f
DM
2538 "type" : "string",
2539 "typetext" : "<string>"
44660702
DM
2540 },
2541 "name" : {
2542 "description" : "IP set name.",
2543 "maxLength" : 64,
2544 "minLength" : 2,
2545 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2546 "type" : "string"
2547 },
2548 "nomatch" : {
2549 "optional" : 1,
013dc89f
DM
2550 "type" : "boolean",
2551 "typetext" : "<boolean>"
44660702
DM
2552 }
2553 }
2554 },
2555 "permissions" : {
2556 "check" : [
2557 "perm",
2558 "/",
2559 [
2560 "Sys.Modify"
2561 ]
2562 ]
2563 },
2564 "protected" : 1,
2565 "returns" : {
2566 "type" : "null"
2567 }
7aacca6f
DM
2568 }
2569 },
44660702
DM
2570 "leaf" : 1,
2571 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2572 "text" : "{cidr}"
7aacca6f 2573 }
44660702 2574 ],
7aacca6f
DM
2575 "info" : {
2576 "DELETE" : {
e9cd3bd4 2577 "allowtoken" : 1,
44660702
DM
2578 "description" : "Delete IPSet",
2579 "method" : "DELETE",
2580 "name" : "delete_ipset",
56122987 2581 "parameters" : {
44660702 2582 "additionalProperties" : 0,
56122987
DM
2583 "properties" : {
2584 "name" : {
44660702 2585 "description" : "IP set name.",
56122987 2586 "maxLength" : 64,
44660702 2587 "minLength" : 2,
56122987 2588 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2589 "type" : "string"
56122987 2590 }
44660702 2591 }
7aacca6f 2592 },
56122987
DM
2593 "permissions" : {
2594 "check" : [
2595 "perm",
2596 "/",
2597 [
2598 "Sys.Modify"
2599 ]
2600 ]
2601 },
7aacca6f
DM
2602 "protected" : 1,
2603 "returns" : {
2604 "type" : "null"
44660702 2605 }
7aacca6f 2606 },
44660702 2607 "GET" : {
e9cd3bd4 2608 "allowtoken" : 1,
44660702
DM
2609 "description" : "List IPSet content",
2610 "method" : "GET",
2611 "name" : "get_ipset",
56122987
DM
2612 "parameters" : {
2613 "additionalProperties" : 0,
2614 "properties" : {
7aacca6f 2615 "name" : {
44660702 2616 "description" : "IP set name.",
7aacca6f 2617 "maxLength" : 64,
7aacca6f 2618 "minLength" : 2,
44660702 2619 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2620 "type" : "string"
56122987 2621 }
7aacca6f 2622 }
56122987 2623 },
56122987
DM
2624 "permissions" : {
2625 "check" : [
2626 "perm",
2627 "/",
2628 [
44660702 2629 "Sys.Audit"
56122987
DM
2630 ]
2631 ]
44660702
DM
2632 },
2633 "returns" : {
2634 "items" : {
2635 "properties" : {
2636 "cidr" : {
2637 "type" : "string"
2638 },
2639 "comment" : {
2640 "optional" : 1,
2641 "type" : "string"
2642 },
2643 "digest" : {
2644 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2645 "maxLength" : 40,
2646 "optional" : 0,
2647 "type" : "string"
2648 },
2649 "nomatch" : {
2650 "optional" : 1,
2651 "type" : "boolean"
2652 }
2653 },
2654 "type" : "object"
2655 },
2656 "links" : [
2657 {
2658 "href" : "{cidr}",
2659 "rel" : "child"
2660 }
2661 ],
2662 "type" : "array"
7aacca6f
DM
2663 }
2664 },
44660702 2665 "POST" : {
e9cd3bd4 2666 "allowtoken" : 1,
44660702
DM
2667 "description" : "Add IP or Network to IPSet.",
2668 "method" : "POST",
2669 "name" : "create_ip",
56122987
DM
2670 "parameters" : {
2671 "additionalProperties" : 0,
2672 "properties" : {
44660702
DM
2673 "cidr" : {
2674 "description" : "Network/IP specification in CIDR format.",
2675 "format" : "IPorCIDRorAlias",
013dc89f
DM
2676 "type" : "string",
2677 "typetext" : "<string>"
44660702
DM
2678 },
2679 "comment" : {
2680 "optional" : 1,
013dc89f
DM
2681 "type" : "string",
2682 "typetext" : "<string>"
44660702
DM
2683 },
2684 "name" : {
2685 "description" : "IP set name.",
2686 "maxLength" : 64,
2687 "minLength" : 2,
2688 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2689 "type" : "string"
2690 },
2691 "nomatch" : {
2692 "optional" : 1,
013dc89f
DM
2693 "type" : "boolean",
2694 "typetext" : "<boolean>"
56122987
DM
2695 }
2696 }
2697 },
56122987
DM
2698 "permissions" : {
2699 "check" : [
2700 "perm",
2701 "/",
2702 [
44660702 2703 "Sys.Modify"
56122987
DM
2704 ]
2705 ]
2706 },
44660702 2707 "protected" : 1,
56122987 2708 "returns" : {
44660702
DM
2709 "type" : "null"
2710 }
56122987
DM
2711 }
2712 },
44660702
DM
2713 "leaf" : 0,
2714 "path" : "/cluster/firewall/ipset/{name}",
2715 "text" : "{name}"
56122987
DM
2716 }
2717 ],
56122987 2718 "info" : {
44660702 2719 "GET" : {
e9cd3bd4 2720 "allowtoken" : 1,
44660702
DM
2721 "description" : "List IPSets",
2722 "method" : "GET",
2723 "name" : "ipset_index",
56122987 2724 "parameters" : {
7aacca6f 2725 "additionalProperties" : 0
56122987 2726 },
56122987
DM
2727 "permissions" : {
2728 "check" : [
2729 "perm",
2730 "/",
2731 [
7aacca6f 2732 "Sys.Audit"
56122987
DM
2733 ]
2734 ]
2735 },
56122987
DM
2736 "returns" : {
2737 "items" : {
2738 "properties" : {
44660702
DM
2739 "comment" : {
2740 "optional" : 1,
2741 "type" : "string"
56122987 2742 },
44660702
DM
2743 "digest" : {
2744 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2745 "maxLength" : 40,
2746 "optional" : 0,
2747 "type" : "string"
2748 },
2749 "name" : {
2750 "description" : "IP set name.",
2751 "maxLength" : 64,
2752 "minLength" : 2,
2753 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2754 "type" : "string"
56122987
DM
2755 }
2756 },
2757 "type" : "object"
44660702
DM
2758 },
2759 "links" : [
2760 {
2761 "href" : "{name}",
2762 "rel" : "child"
2763 }
2764 ],
2765 "type" : "array"
56122987 2766 }
44660702
DM
2767 },
2768 "POST" : {
e9cd3bd4 2769 "allowtoken" : 1,
44660702
DM
2770 "description" : "Create new IPSet",
2771 "method" : "POST",
2772 "name" : "create_ipset",
7aacca6f
DM
2773 "parameters" : {
2774 "additionalProperties" : 0,
2775 "properties" : {
44660702
DM
2776 "comment" : {
2777 "optional" : 1,
013dc89f
DM
2778 "type" : "string",
2779 "typetext" : "<string>"
44660702
DM
2780 },
2781 "digest" : {
2782 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2783 "maxLength" : 40,
2784 "optional" : 1,
013dc89f
DM
2785 "type" : "string",
2786 "typetext" : "<string>"
44660702
DM
2787 },
2788 "name" : {
2789 "description" : "IP set name.",
2790 "maxLength" : 64,
2791 "minLength" : 2,
2792 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2793 "type" : "string"
2794 },
2795 "rename" : {
2796 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2797 "maxLength" : 64,
2798 "minLength" : 2,
2799 "optional" : 1,
2800 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2801 "type" : "string"
7aacca6f
DM
2802 }
2803 }
2804 },
56122987
DM
2805 "permissions" : {
2806 "check" : [
2807 "perm",
2808 "/",
2809 [
44660702 2810 "Sys.Modify"
56122987
DM
2811 ]
2812 ]
2813 },
44660702 2814 "protected" : 1,
56122987 2815 "returns" : {
44660702
DM
2816 "type" : "null"
2817 }
56122987 2818 }
7aacca6f 2819 },
44660702
DM
2820 "leaf" : 0,
2821 "path" : "/cluster/firewall/ipset",
2822 "text" : "ipset"
2823 },
56122987 2824 {
44660702
DM
2825 "children" : [
2826 {
2827 "info" : {
2828 "DELETE" : {
e9cd3bd4 2829 "allowtoken" : 1,
44660702
DM
2830 "description" : "Remove IP or Network alias.",
2831 "method" : "DELETE",
2832 "name" : "remove_alias",
2833 "parameters" : {
2834 "additionalProperties" : 0,
2835 "properties" : {
2836 "digest" : {
2837 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2838 "maxLength" : 40,
2839 "optional" : 1,
013dc89f
DM
2840 "type" : "string",
2841 "typetext" : "<string>"
44660702
DM
2842 },
2843 "name" : {
2844 "description" : "Alias name.",
2845 "maxLength" : 64,
2846 "minLength" : 2,
2847 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2848 "type" : "string"
2849 }
2850 }
2851 },
2852 "permissions" : {
2853 "check" : [
2854 "perm",
2855 "/",
2856 [
2857 "Sys.Modify"
2858 ]
2859 ]
2860 },
2861 "protected" : 1,
2862 "returns" : {
2863 "type" : "null"
2864 }
2865 },
2866 "GET" : {
e9cd3bd4 2867 "allowtoken" : 1,
44660702
DM
2868 "description" : "Read alias.",
2869 "method" : "GET",
2870 "name" : "read_alias",
2871 "parameters" : {
2872 "additionalProperties" : 0,
2873 "properties" : {
2874 "name" : {
2875 "description" : "Alias name.",
2876 "maxLength" : 64,
2877 "minLength" : 2,
2878 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2879 "type" : "string"
2880 }
2881 }
2882 },
2883 "permissions" : {
2884 "check" : [
2885 "perm",
2886 "/",
2887 [
2888 "Sys.Audit"
2889 ]
2890 ]
2891 },
2892 "returns" : {
2893 "type" : "object"
2894 }
2895 },
2896 "PUT" : {
e9cd3bd4 2897 "allowtoken" : 1,
44660702
DM
2898 "description" : "Update IP or Network alias.",
2899 "method" : "PUT",
2900 "name" : "update_alias",
2901 "parameters" : {
2902 "additionalProperties" : 0,
2903 "properties" : {
2904 "cidr" : {
2905 "description" : "Network/IP specification in CIDR format.",
2906 "format" : "IPorCIDR",
013dc89f
DM
2907 "type" : "string",
2908 "typetext" : "<string>"
44660702
DM
2909 },
2910 "comment" : {
2911 "optional" : 1,
013dc89f
DM
2912 "type" : "string",
2913 "typetext" : "<string>"
44660702
DM
2914 },
2915 "digest" : {
2916 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2917 "maxLength" : 40,
2918 "optional" : 1,
013dc89f
DM
2919 "type" : "string",
2920 "typetext" : "<string>"
44660702
DM
2921 },
2922 "name" : {
2923 "description" : "Alias name.",
2924 "maxLength" : 64,
2925 "minLength" : 2,
2926 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2927 "type" : "string"
2928 },
2929 "rename" : {
2930 "description" : "Rename an existing alias.",
2931 "maxLength" : 64,
2932 "minLength" : 2,
2933 "optional" : 1,
2934 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2935 "type" : "string"
2936 }
2937 }
2938 },
2939 "permissions" : {
2940 "check" : [
2941 "perm",
2942 "/",
2943 [
2944 "Sys.Modify"
2945 ]
2946 ]
2947 },
2948 "protected" : 1,
2949 "returns" : {
2950 "type" : "null"
2951 }
2952 }
2953 },
2954 "leaf" : 1,
2955 "path" : "/cluster/firewall/aliases/{name}",
2956 "text" : "{name}"
2957 }
2958 ],
2959 "info" : {
2960 "GET" : {
e9cd3bd4 2961 "allowtoken" : 1,
44660702
DM
2962 "description" : "List aliases",
2963 "method" : "GET",
2964 "name" : "get_aliases",
2965 "parameters" : {
2966 "additionalProperties" : 0
2967 },
2968 "permissions" : {
2969 "check" : [
2970 "perm",
2971 "/",
2972 [
2973 "Sys.Audit"
2974 ]
2975 ]
2976 },
2977 "returns" : {
2978 "items" : {
2979 "properties" : {
2980 "cidr" : {
2981 "type" : "string"
2982 },
2983 "comment" : {
2984 "optional" : 1,
2985 "type" : "string"
2986 },
2987 "digest" : {
2988 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2989 "maxLength" : 40,
2990 "optional" : 0,
2991 "type" : "string"
2992 },
2993 "name" : {
2994 "type" : "string"
2995 }
2996 },
2997 "type" : "object"
2998 },
2999 "links" : [
3000 {
3001 "href" : "{name}",
3002 "rel" : "child"
3003 }
3004 ],
3005 "type" : "array"
3006 }
3007 },
3008 "POST" : {
e9cd3bd4 3009 "allowtoken" : 1,
44660702
DM
3010 "description" : "Create IP or Network Alias.",
3011 "method" : "POST",
3012 "name" : "create_alias",
56122987
DM
3013 "parameters" : {
3014 "additionalProperties" : 0,
3015 "properties" : {
44660702
DM
3016 "cidr" : {
3017 "description" : "Network/IP specification in CIDR format.",
3018 "format" : "IPorCIDR",
013dc89f
DM
3019 "type" : "string",
3020 "typetext" : "<string>"
44660702
DM
3021 },
3022 "comment" : {
3023 "optional" : 1,
013dc89f
DM
3024 "type" : "string",
3025 "typetext" : "<string>"
44660702
DM
3026 },
3027 "name" : {
3028 "description" : "Alias name.",
3029 "maxLength" : 64,
3030 "minLength" : 2,
3031 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3032 "type" : "string"
56122987
DM
3033 }
3034 }
3035 },
56122987
DM
3036 "permissions" : {
3037 "check" : [
3038 "perm",
3039 "/",
3040 [
3041 "Sys.Modify"
3042 ]
3043 ]
3044 },
44660702 3045 "protected" : 1,
56122987
DM
3046 "returns" : {
3047 "type" : "null"
3048 }
44660702
DM
3049 }
3050 },
3051 "leaf" : 0,
3052 "path" : "/cluster/firewall/aliases",
3053 "text" : "aliases"
3054 },
3055 {
3056 "info" : {
3057 "GET" : {
e9cd3bd4 3058 "allowtoken" : 1,
44660702
DM
3059 "description" : "Get Firewall options.",
3060 "method" : "GET",
3061 "name" : "get_options",
3062 "parameters" : {
3063 "additionalProperties" : 0
7aacca6f 3064 },
56122987
DM
3065 "permissions" : {
3066 "check" : [
3067 "perm",
3068 "/",
3069 [
44660702 3070 "Sys.Audit"
56122987
DM
3071 ]
3072 ]
3073 },
44660702 3074 "returns" : {
56122987 3075 "properties" : {
5da3d723
TL
3076 "ebtables" : {
3077 "default" : 1,
3078 "description" : "Enable ebtables rules cluster wide.",
3079 "optional" : 1,
3080 "type" : "boolean"
3081 },
44660702
DM
3082 "enable" : {
3083 "description" : "Enable or disable the firewall cluster wide.",
3084 "minimum" : 0,
56122987 3085 "optional" : 1,
7aacca6f 3086 "type" : "integer"
56122987 3087 },
95895385
TL
3088 "log_ratelimit" : {
3089 "description" : "Log ratelimiting settings",
3090 "format" : {
3091 "burst" : {
3092 "default" : 5,
4772952b 3093 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
3094 "minimum" : 0,
3095 "optional" : 1,
3096 "type" : "integer"
3097 },
3098 "enable" : {
3099 "default" : "1",
3100 "default_key" : 1,
3101 "description" : "Enable or disable log rate limiting",
3102 "type" : "boolean"
3103 },
3104 "rate" : {
3105 "default" : "1/second",
3106 "description" : "Frequency with which the burst bucket gets refilled",
3107 "format_description" : "rate",
3108 "optional" : 1,
3109 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3110 "type" : "string"
3111 }
3112 },
3113 "optional" : 1,
3114 "type" : "string"
3115 },
44660702
DM
3116 "policy_in" : {
3117 "description" : "Input policy.",
3118 "enum" : [
3119 "ACCEPT",
3120 "REJECT",
3121 "DROP"
3122 ],
56122987 3123 "optional" : 1,
44660702 3124 "type" : "string"
7aacca6f 3125 },
44660702
DM
3126 "policy_out" : {
3127 "description" : "Output policy.",
3128 "enum" : [
3129 "ACCEPT",
3130 "REJECT",
3131 "DROP"
3132 ],
7aacca6f 3133 "optional" : 1,
44660702
DM
3134 "type" : "string"
3135 }
3136 },
3137 "type" : "object"
3138 }
3139 },
3140 "PUT" : {
e9cd3bd4 3141 "allowtoken" : 1,
44660702
DM
3142 "description" : "Set Firewall options.",
3143 "method" : "PUT",
3144 "name" : "set_options",
3145 "parameters" : {
3146 "additionalProperties" : 0,
3147 "properties" : {
3148 "delete" : {
3149 "description" : "A list of settings you want to delete.",
3150 "format" : "pve-configid-list",
56122987 3151 "optional" : 1,
013dc89f
DM
3152 "type" : "string",
3153 "typetext" : "<string>"
56122987 3154 },
44660702
DM
3155 "digest" : {
3156 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3157 "maxLength" : 40,
56122987 3158 "optional" : 1,
013dc89f
DM
3159 "type" : "string",
3160 "typetext" : "<string>"
56122987 3161 },
5da3d723
TL
3162 "ebtables" : {
3163 "default" : 1,
3164 "description" : "Enable ebtables rules cluster wide.",
3165 "optional" : 1,
3166 "type" : "boolean",
3167 "typetext" : "<boolean>"
3168 },
44660702
DM
3169 "enable" : {
3170 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 3171 "minimum" : 0,
56122987 3172 "optional" : 1,
4bd7df8b 3173 "type" : "integer",
013dc89f 3174 "typetext" : "<integer> (0 - N)"
56122987 3175 },
95895385
TL
3176 "log_ratelimit" : {
3177 "description" : "Log ratelimiting settings",
3178 "format" : {
3179 "burst" : {
3180 "default" : 5,
4772952b 3181 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
3182 "minimum" : 0,
3183 "optional" : 1,
3184 "type" : "integer"
3185 },
3186 "enable" : {
3187 "default" : "1",
3188 "default_key" : 1,
3189 "description" : "Enable or disable log rate limiting",
3190 "type" : "boolean"
3191 },
3192 "rate" : {
3193 "default" : "1/second",
3194 "description" : "Frequency with which the burst bucket gets refilled",
3195 "format_description" : "rate",
3196 "optional" : 1,
3197 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3198 "type" : "string"
3199 }
3200 },
3201 "optional" : 1,
3202 "type" : "string",
3203 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
3204 },
44660702
DM
3205 "policy_in" : {
3206 "description" : "Input policy.",
56122987 3207 "enum" : [
44660702
DM
3208 "ACCEPT",
3209 "REJECT",
3210 "DROP"
56122987 3211 ],
56122987 3212 "optional" : 1,
44660702 3213 "type" : "string"
56122987 3214 },
44660702
DM
3215 "policy_out" : {
3216 "description" : "Output policy.",
56122987 3217 "enum" : [
44660702
DM
3218 "ACCEPT",
3219 "REJECT",
3220 "DROP"
56122987 3221 ],
7aacca6f 3222 "optional" : 1,
44660702 3223 "type" : "string"
56122987 3224 }
44660702
DM
3225 }
3226 },
3227 "permissions" : {
3228 "check" : [
3229 "perm",
3230 "/",
3231 [
3232 "Sys.Modify"
3233 ]
3234 ]
7aacca6f
DM
3235 },
3236 "protected" : 1,
44660702
DM
3237 "returns" : {
3238 "type" : "null"
3239 }
3240 }
3241 },
3242 "leaf" : 1,
3243 "path" : "/cluster/firewall/options",
3244 "text" : "options"
3245 },
3246 {
3247 "info" : {
7aacca6f 3248 "GET" : {
e9cd3bd4 3249 "allowtoken" : 1,
44660702 3250 "description" : "List available macros",
7aacca6f 3251 "method" : "GET",
44660702
DM
3252 "name" : "get_macros",
3253 "parameters" : {
3254 "additionalProperties" : 0
7aacca6f 3255 },
44660702
DM
3256 "permissions" : {
3257 "user" : "all"
3258 },
3259 "returns" : {
3260 "items" : {
3261 "properties" : {
3262 "descr" : {
3263 "description" : "More verbose description (if available).",
3264 "type" : "string"
3265 },
3266 "macro" : {
3267 "description" : "Macro name.",
3268 "type" : "string"
3269 }
3270 },
3271 "type" : "object"
3272 },
3273 "type" : "array"
3274 }
3275 }
3276 },
3277 "leaf" : 1,
3278 "path" : "/cluster/firewall/macros",
3279 "text" : "macros"
3280 },
3281 {
3282 "info" : {
3283 "GET" : {
e9cd3bd4 3284 "allowtoken" : 1,
44660702
DM
3285 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
3286 "method" : "GET",
3287 "name" : "refs",
7aacca6f 3288 "parameters" : {
44660702 3289 "additionalProperties" : 0,
7aacca6f 3290 "properties" : {
44660702
DM
3291 "type" : {
3292 "description" : "Only list references of specified type.",
3293 "enum" : [
3294 "alias",
3295 "ipset"
3296 ],
3297 "optional" : 1,
3298 "type" : "string"
7aacca6f 3299 }
44660702 3300 }
7aacca6f
DM
3301 },
3302 "permissions" : {
3303 "check" : [
3304 "perm",
3305 "/",
3306 [
3307 "Sys.Audit"
3308 ]
3309 ]
3310 },
44660702
DM
3311 "returns" : {
3312 "items" : {
3313 "properties" : {
3314 "comment" : {
3315 "optional" : 1,
3316 "type" : "string"
3317 },
3318 "name" : {
3319 "type" : "string"
3320 },
3321 "ref" : {
3322 "type" : "string"
3323 },
3324 "type" : {
3325 "enum" : [
3326 "alias",
3327 "ipset"
3328 ],
3329 "type" : "string"
3330 }
3331 },
3332 "type" : "object"
3333 },
3334 "type" : "array"
3335 }
56122987
DM
3336 }
3337 },
7aacca6f 3338 "leaf" : 1,
44660702
DM
3339 "path" : "/cluster/firewall/refs",
3340 "text" : "refs"
56122987
DM
3341 }
3342 ],
56122987 3343 "info" : {
44660702 3344 "GET" : {
e9cd3bd4 3345 "allowtoken" : 1,
44660702
DM
3346 "description" : "Directory index.",
3347 "method" : "GET",
3348 "name" : "index",
56122987 3349 "parameters" : {
56122987
DM
3350 "additionalProperties" : 0
3351 },
44660702
DM
3352 "permissions" : {
3353 "user" : "all"
3354 },
56122987 3355 "returns" : {
44660702
DM
3356 "items" : {
3357 "properties" : {},
3358 "type" : "object"
3359 },
7aacca6f
DM
3360 "links" : [
3361 {
44660702
DM
3362 "href" : "{name}",
3363 "rel" : "child"
7aacca6f
DM
3364 }
3365 ],
7aacca6f 3366 "type" : "array"
7aacca6f 3367 }
56122987
DM
3368 }
3369 },
44660702
DM
3370 "leaf" : 0,
3371 "path" : "/cluster/firewall",
3372 "text" : "firewall"
7aacca6f
DM
3373 },
3374 {
56122987
DM
3375 "children" : [
3376 {
04d22a9f
TL
3377 "children" : [
3378 {
3379 "info" : {
3380 "GET" : {
3381 "allowtoken" : 1,
3382 "description" : "Returns included guests and the backup status of their disks. Optimized to be used in ExtJS tree views.",
3383 "method" : "GET",
3384 "name" : "get_volume_backup_included",
3385 "parameters" : {
3386 "additionalProperties" : 0,
3387 "properties" : {
3388 "id" : {
3389 "description" : "The job ID.",
3390 "maxLength" : 50,
3391 "type" : "string",
3392 "typetext" : "<string>"
3393 }
3394 }
3395 },
3396 "permissions" : {
3397 "check" : [
3398 "perm",
3399 "/",
3400 [
3401 "Sys.Audit"
3402 ]
3403 ]
3404 },
3405 "protected" : 1,
3406 "returns" : {
3407 "description" : "Root node of the tree object. Children represent guests, grandchildren represent volumes of that guest.",
3408 "properties" : {
3409 "children" : {
3410 "items" : {
3411 "properties" : {
3412 "children" : {
3413 "description" : "The volumes of the guest with the information if they will be included in backups.",
3414 "items" : {
3415 "properties" : {
3416 "id" : {
3417 "description" : "Configuration key of the volume.",
3418 "type" : "string"
3419 },
3420 "included" : {
3421 "description" : "Whether the volume is included in the backup or not.",
3422 "type" : "boolean"
3423 },
3424 "name" : {
3425 "description" : "Name of the volume.",
3426 "type" : "string"
3427 },
3428 "reason" : {
3429 "description" : "The reason why the volume is included (or excluded).",
3430 "type" : "string"
3431 }
3432 },
3433 "type" : "object"
3434 },
3435 "optional" : 1,
3436 "type" : "array"
3437 },
3438 "id" : {
3439 "description" : "VMID of the guest.",
3440 "type" : "integer"
3441 },
3442 "name" : {
3443 "description" : "Name of the guest",
3444 "optional" : 1,
3445 "type" : "string"
3446 },
3447 "type" : {
3448 "description" : "Type of the guest, VM, CT or unknown for removed but not purged guests.",
3449 "enum" : [
3450 "qemu",
3451 "lxc",
3452 "unknown"
3453 ],
3454 "type" : "string"
3455 }
3456 },
3457 "type" : "object"
3458 },
3459 "type" : "array"
3460 }
3461 },
3462 "type" : "object"
3463 }
3464 }
3465 },
3466 "leaf" : 1,
3467 "path" : "/cluster/backup/{id}/included_volumes",
3468 "text" : "included_volumes"
3469 }
3470 ],
56122987 3471 "info" : {
44660702 3472 "DELETE" : {
e9cd3bd4 3473 "allowtoken" : 1,
44660702
DM
3474 "description" : "Delete vzdump backup job definition.",
3475 "method" : "DELETE",
3476 "name" : "delete_job",
3477 "parameters" : {
3478 "additionalProperties" : 0,
3479 "properties" : {
3480 "id" : {
3481 "description" : "The job ID.",
3482 "maxLength" : 50,
013dc89f
DM
3483 "type" : "string",
3484 "typetext" : "<string>"
44660702
DM
3485 }
3486 }
3487 },
3488 "permissions" : {
3489 "check" : [
3490 "perm",
3491 "/",
3492 [
3493 "Sys.Modify"
3494 ]
3495 ]
3496 },
3497 "protected" : 1,
56122987
DM
3498 "returns" : {
3499 "type" : "null"
44660702
DM
3500 }
3501 },
3502 "GET" : {
e9cd3bd4 3503 "allowtoken" : 1,
44660702
DM
3504 "description" : "Read vzdump backup job definition.",
3505 "method" : "GET",
3506 "name" : "read_job",
3507 "parameters" : {
3508 "additionalProperties" : 0,
3509 "properties" : {
3510 "id" : {
3511 "description" : "The job ID.",
3512 "maxLength" : 50,
013dc89f
DM
3513 "type" : "string",
3514 "typetext" : "<string>"
44660702
DM
3515 }
3516 }
56122987 3517 },
7aacca6f
DM
3518 "permissions" : {
3519 "check" : [
3520 "perm",
3521 "/",
3522 [
44660702 3523 "Sys.Audit"
7aacca6f
DM
3524 ]
3525 ]
3526 },
44660702
DM
3527 "returns" : {
3528 "type" : "object"
3529 }
3530 },
3531 "PUT" : {
e9cd3bd4 3532 "allowtoken" : 1,
44660702
DM
3533 "description" : "Update vzdump backup job definition.",
3534 "method" : "PUT",
3535 "name" : "update_job",
56122987 3536 "parameters" : {
44660702 3537 "additionalProperties" : 0,
56122987 3538 "properties" : {
44660702
DM
3539 "all" : {
3540 "default" : 0,
3541 "description" : "Backup all known guest systems on this host.",
7aacca6f 3542 "optional" : 1,
013dc89f
DM
3543 "type" : "boolean",
3544 "typetext" : "<boolean>"
7aacca6f 3545 },
44660702
DM
3546 "bwlimit" : {
3547 "default" : 0,
3548 "description" : "Limit I/O bandwidth (KBytes per second).",
3549 "minimum" : 0,
3550 "optional" : 1,
4bd7df8b 3551 "type" : "integer",
013dc89f 3552 "typetext" : "<integer> (0 - N)"
44660702
DM
3553 },
3554 "compress" : {
3555 "default" : "0",
3556 "description" : "Compress dump file.",
7aacca6f 3557 "enum" : [
44660702
DM
3558 "0",
3559 "1",
3560 "gzip",
c5aa7e14
TL
3561 "lzo",
3562 "zstd"
7aacca6f 3563 ],
44660702
DM
3564 "optional" : 1,
3565 "type" : "string"
7aacca6f 3566 },
44660702
DM
3567 "delete" : {
3568 "description" : "A list of settings you want to delete.",
3569 "format" : "pve-configid-list",
7aacca6f 3570 "optional" : 1,
013dc89f
DM
3571 "type" : "string",
3572 "typetext" : "<string>"
56122987 3573 },
44660702
DM
3574 "dow" : {
3575 "description" : "Day of week selection.",
3576 "format" : "pve-day-of-week-list",
7aacca6f 3577 "optional" : 1,
013dc89f
DM
3578 "type" : "string",
3579 "typetext" : "<string>"
56122987 3580 },
44660702
DM
3581 "dumpdir" : {
3582 "description" : "Store resulting files to specified directory.",
56122987 3583 "optional" : 1,
013dc89f
DM
3584 "type" : "string",
3585 "typetext" : "<string>"
56122987 3586 },
44660702
DM
3587 "enabled" : {
3588 "default" : "1",
3589 "description" : "Enable or disable the job.",
3590 "optional" : 1,
013dc89f
DM
3591 "type" : "boolean",
3592 "typetext" : "<boolean>"
44660702
DM
3593 },
3594 "exclude" : {
3595 "description" : "Exclude specified guest systems (assumes --all)",
3596 "format" : "pve-vmid-list",
3597 "optional" : 1,
013dc89f
DM
3598 "type" : "string",
3599 "typetext" : "<string>"
44660702
DM
3600 },
3601 "exclude-path" : {
d2656385 3602 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
44660702
DM
3603 "format" : "string-alist",
3604 "optional" : 1,
013dc89f
DM
3605 "type" : "string",
3606 "typetext" : "<string>"
44660702
DM
3607 },
3608 "id" : {
3609 "description" : "The job ID.",
3610 "maxLength" : 50,
013dc89f
DM
3611 "type" : "string",
3612 "typetext" : "<string>"
44660702
DM
3613 },
3614 "ionice" : {
3615 "default" : 7,
3616 "description" : "Set CFQ ionice priority.",
3617 "maximum" : 8,
3618 "minimum" : 0,
3619 "optional" : 1,
4bd7df8b 3620 "type" : "integer",
013dc89f 3621 "typetext" : "<integer> (0 - 8)"
44660702
DM
3622 },
3623 "lockwait" : {
3624 "default" : 180,
3625 "description" : "Maximal time to wait for the global lock (minutes).",
3626 "minimum" : 0,
3627 "optional" : 1,
4bd7df8b 3628 "type" : "integer",
013dc89f 3629 "typetext" : "<integer> (0 - N)"
44660702
DM
3630 },
3631 "mailnotification" : {
3632 "default" : "always",
3633 "description" : "Specify when to send an email",
56122987 3634 "enum" : [
44660702
DM
3635 "always",
3636 "failure"
56122987 3637 ],
44660702
DM
3638 "optional" : 1,
3639 "type" : "string"
3640 },
3641 "mailto" : {
d2656385
TL
3642 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
3643 "format" : "email-or-username-list",
44660702 3644 "optional" : 1,
013dc89f
DM
3645 "type" : "string",
3646 "typetext" : "<string>"
44660702
DM
3647 },
3648 "maxfiles" : {
0695fdaf 3649 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
44660702
DM
3650 "minimum" : 1,
3651 "optional" : 1,
4bd7df8b 3652 "type" : "integer",
013dc89f 3653 "typetext" : "<integer> (1 - N)"
44660702
DM
3654 },
3655 "mode" : {
3656 "default" : "snapshot",
3657 "description" : "Backup mode.",
3658 "enum" : [
3659 "snapshot",
3660 "suspend",
3661 "stop"
3662 ],
3663 "optional" : 1,
3664 "type" : "string"
3665 },
3666 "node" : {
3667 "description" : "Only run if executed on this node.",
3668 "format" : "pve-node",
3669 "optional" : 1,
013dc89f
DM
3670 "type" : "string",
3671 "typetext" : "<string>"
44660702
DM
3672 },
3673 "pigz" : {
3674 "default" : 0,
3675 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3676 "optional" : 1,
013dc89f
DM
3677 "type" : "integer",
3678 "typetext" : "<integer>"
44660702 3679 },
9226ccbc
TL
3680 "pool" : {
3681 "description" : "Backup all known guest systems included in the specified pool.",
3682 "optional" : 1,
3683 "type" : "string",
3684 "typetext" : "<string>"
3685 },
739d4d64 3686 "prune-backups" : {
0695fdaf 3687 "default" : "keep-all=1",
739d4d64
TL
3688 "description" : "Use these retention options instead of those from the storage configuration.",
3689 "format" : "prune-backups",
3690 "optional" : 1,
3691 "type" : "string",
4772952b 3692 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 3693 },
44660702
DM
3694 "quiet" : {
3695 "default" : 0,
3696 "description" : "Be quiet.",
3697 "optional" : 1,
013dc89f
DM
3698 "type" : "boolean",
3699 "typetext" : "<boolean>"
44660702
DM
3700 },
3701 "remove" : {
3702 "default" : 1,
0695fdaf 3703 "description" : "Prune older backups according to 'prune-backups'.",
44660702 3704 "optional" : 1,
013dc89f
DM
3705 "type" : "boolean",
3706 "typetext" : "<boolean>"
44660702
DM
3707 },
3708 "script" : {
3709 "description" : "Use specified hook script.",
3710 "optional" : 1,
013dc89f
DM
3711 "type" : "string",
3712 "typetext" : "<string>"
44660702 3713 },
44660702
DM
3714 "starttime" : {
3715 "description" : "Job Start time.",
3716 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 3717 "type" : "string",
44660702 3718 "typetext" : "HH:MM"
7aacca6f 3719 },
44660702
DM
3720 "stdexcludes" : {
3721 "default" : 1,
3722 "description" : "Exclude temporary files and logs.",
3723 "optional" : 1,
013dc89f
DM
3724 "type" : "boolean",
3725 "typetext" : "<boolean>"
44660702
DM
3726 },
3727 "stop" : {
3728 "default" : 0,
1e3f8156 3729 "description" : "Stop running backup jobs on this host.",
44660702 3730 "optional" : 1,
013dc89f
DM
3731 "type" : "boolean",
3732 "typetext" : "<boolean>"
44660702
DM
3733 },
3734 "stopwait" : {
3735 "default" : 10,
3736 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
3737 "minimum" : 0,
3738 "optional" : 1,
4bd7df8b 3739 "type" : "integer",
013dc89f 3740 "typetext" : "<integer> (0 - N)"
44660702
DM
3741 },
3742 "storage" : {
3743 "description" : "Store resulting file to this storage.",
3744 "format" : "pve-storage-id",
3745 "optional" : 1,
013dc89f
DM
3746 "type" : "string",
3747 "typetext" : "<string>"
56122987 3748 },
44660702
DM
3749 "tmpdir" : {
3750 "description" : "Store temporary files to specified directory.",
3751 "optional" : 1,
013dc89f
DM
3752 "type" : "string",
3753 "typetext" : "<string>"
44660702
DM
3754 },
3755 "vmid" : {
3756 "description" : "The ID of the guest system you want to backup.",
3757 "format" : "pve-vmid-list",
3758 "optional" : 1,
013dc89f
DM
3759 "type" : "string",
3760 "typetext" : "<string>"
c5aa7e14
TL
3761 },
3762 "zstd" : {
3763 "default" : 1,
3764 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
3765 "optional" : 1,
3766 "type" : "integer",
3767 "typetext" : "<integer>"
56122987 3768 }
44660702 3769 }
56122987
DM
3770 },
3771 "permissions" : {
3772 "check" : [
3773 "perm",
3774 "/",
3775 [
44660702 3776 "Sys.Modify"
56122987 3777 ]
04d22a9f
TL
3778 ],
3779 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
56122987 3780 },
44660702
DM
3781 "protected" : 1,
3782 "returns" : {
3783 "type" : "null"
7aacca6f 3784 }
56122987
DM
3785 }
3786 },
04d22a9f 3787 "leaf" : 0,
44660702
DM
3788 "path" : "/cluster/backup/{id}",
3789 "text" : "{id}"
3790 }
3791 ],
3792 "info" : {
3793 "GET" : {
e9cd3bd4 3794 "allowtoken" : 1,
44660702
DM
3795 "description" : "List vzdump backup schedule.",
3796 "method" : "GET",
3797 "name" : "index",
3798 "parameters" : {
3799 "additionalProperties" : 0
3800 },
3801 "permissions" : {
3802 "check" : [
3803 "perm",
3804 "/",
3805 [
3806 "Sys.Audit"
3807 ]
3808 ]
3809 },
3810 "returns" : {
3811 "items" : {
3812 "properties" : {
3813 "id" : {
1c532546
TL
3814 "description" : "The job ID.",
3815 "maxLength" : 50,
44660702
DM
3816 "type" : "string"
3817 }
3818 },
3819 "type" : "object"
3820 },
3821 "links" : [
3822 {
3823 "href" : "{id}",
3824 "rel" : "child"
3825 }
3826 ],
3827 "type" : "array"
3828 }
3829 },
3830 "POST" : {
e9cd3bd4 3831 "allowtoken" : 1,
44660702
DM
3832 "description" : "Create new vzdump backup job.",
3833 "method" : "POST",
3834 "name" : "create_job",
3835 "parameters" : {
3836 "additionalProperties" : 0,
3837 "properties" : {
3838 "all" : {
3839 "default" : 0,
3840 "description" : "Backup all known guest systems on this host.",
3841 "optional" : 1,
013dc89f
DM
3842 "type" : "boolean",
3843 "typetext" : "<boolean>"
44660702
DM
3844 },
3845 "bwlimit" : {
3846 "default" : 0,
3847 "description" : "Limit I/O bandwidth (KBytes per second).",
3848 "minimum" : 0,
3849 "optional" : 1,
4bd7df8b 3850 "type" : "integer",
013dc89f 3851 "typetext" : "<integer> (0 - N)"
44660702
DM
3852 },
3853 "compress" : {
3854 "default" : "0",
3855 "description" : "Compress dump file.",
3856 "enum" : [
3857 "0",
3858 "1",
3859 "gzip",
c5aa7e14
TL
3860 "lzo",
3861 "zstd"
44660702
DM
3862 ],
3863 "optional" : 1,
3864 "type" : "string"
3865 },
3866 "dow" : {
3867 "default" : "mon,tue,wed,thu,fri,sat,sun",
3868 "description" : "Day of week selection.",
3869 "format" : "pve-day-of-week-list",
3870 "optional" : 1,
013dc89f
DM
3871 "type" : "string",
3872 "typetext" : "<string>"
44660702
DM
3873 },
3874 "dumpdir" : {
3875 "description" : "Store resulting files to specified directory.",
3876 "optional" : 1,
013dc89f
DM
3877 "type" : "string",
3878 "typetext" : "<string>"
44660702
DM
3879 },
3880 "enabled" : {
3881 "default" : "1",
3882 "description" : "Enable or disable the job.",
3883 "optional" : 1,
013dc89f
DM
3884 "type" : "boolean",
3885 "typetext" : "<boolean>"
44660702
DM
3886 },
3887 "exclude" : {
3888 "description" : "Exclude specified guest systems (assumes --all)",
3889 "format" : "pve-vmid-list",
3890 "optional" : 1,
013dc89f
DM
3891 "type" : "string",
3892 "typetext" : "<string>"
44660702
DM
3893 },
3894 "exclude-path" : {
d2656385 3895 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
44660702
DM
3896 "format" : "string-alist",
3897 "optional" : 1,
013dc89f
DM
3898 "type" : "string",
3899 "typetext" : "<string>"
44660702
DM
3900 },
3901 "ionice" : {
3902 "default" : 7,
3903 "description" : "Set CFQ ionice priority.",
3904 "maximum" : 8,
3905 "minimum" : 0,
3906 "optional" : 1,
4bd7df8b 3907 "type" : "integer",
013dc89f 3908 "typetext" : "<integer> (0 - 8)"
44660702
DM
3909 },
3910 "lockwait" : {
3911 "default" : 180,
3912 "description" : "Maximal time to wait for the global lock (minutes).",
3913 "minimum" : 0,
3914 "optional" : 1,
4bd7df8b 3915 "type" : "integer",
013dc89f 3916 "typetext" : "<integer> (0 - N)"
44660702
DM
3917 },
3918 "mailnotification" : {
3919 "default" : "always",
3920 "description" : "Specify when to send an email",
3921 "enum" : [
3922 "always",
3923 "failure"
3924 ],
3925 "optional" : 1,
3926 "type" : "string"
3927 },
3928 "mailto" : {
d2656385
TL
3929 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
3930 "format" : "email-or-username-list",
44660702 3931 "optional" : 1,
013dc89f
DM
3932 "type" : "string",
3933 "typetext" : "<string>"
44660702
DM
3934 },
3935 "maxfiles" : {
0695fdaf 3936 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
44660702
DM
3937 "minimum" : 1,
3938 "optional" : 1,
4bd7df8b 3939 "type" : "integer",
013dc89f 3940 "typetext" : "<integer> (1 - N)"
44660702
DM
3941 },
3942 "mode" : {
3943 "default" : "snapshot",
3944 "description" : "Backup mode.",
3945 "enum" : [
3946 "snapshot",
3947 "suspend",
3948 "stop"
3949 ],
3950 "optional" : 1,
3951 "type" : "string"
3952 },
3953 "node" : {
3954 "description" : "Only run if executed on this node.",
3955 "format" : "pve-node",
3956 "optional" : 1,
013dc89f
DM
3957 "type" : "string",
3958 "typetext" : "<string>"
44660702
DM
3959 },
3960 "pigz" : {
3961 "default" : 0,
3962 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3963 "optional" : 1,
013dc89f
DM
3964 "type" : "integer",
3965 "typetext" : "<integer>"
44660702 3966 },
9226ccbc
TL
3967 "pool" : {
3968 "description" : "Backup all known guest systems included in the specified pool.",
3969 "optional" : 1,
3970 "type" : "string",
3971 "typetext" : "<string>"
3972 },
739d4d64 3973 "prune-backups" : {
0695fdaf 3974 "default" : "keep-all=1",
739d4d64
TL
3975 "description" : "Use these retention options instead of those from the storage configuration.",
3976 "format" : "prune-backups",
3977 "optional" : 1,
3978 "type" : "string",
4772952b 3979 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 3980 },
44660702
DM
3981 "quiet" : {
3982 "default" : 0,
3983 "description" : "Be quiet.",
3984 "optional" : 1,
013dc89f
DM
3985 "type" : "boolean",
3986 "typetext" : "<boolean>"
44660702
DM
3987 },
3988 "remove" : {
3989 "default" : 1,
0695fdaf 3990 "description" : "Prune older backups according to 'prune-backups'.",
44660702 3991 "optional" : 1,
013dc89f
DM
3992 "type" : "boolean",
3993 "typetext" : "<boolean>"
44660702
DM
3994 },
3995 "script" : {
3996 "description" : "Use specified hook script.",
3997 "optional" : 1,
013dc89f
DM
3998 "type" : "string",
3999 "typetext" : "<string>"
44660702 4000 },
44660702
DM
4001 "starttime" : {
4002 "description" : "Job Start time.",
4003 "pattern" : "\\d{1,2}:\\d{1,2}",
4004 "type" : "string",
4005 "typetext" : "HH:MM"
4006 },
4007 "stdexcludes" : {
4008 "default" : 1,
4009 "description" : "Exclude temporary files and logs.",
4010 "optional" : 1,
013dc89f
DM
4011 "type" : "boolean",
4012 "typetext" : "<boolean>"
44660702
DM
4013 },
4014 "stop" : {
4015 "default" : 0,
1e3f8156 4016 "description" : "Stop running backup jobs on this host.",
44660702 4017 "optional" : 1,
013dc89f
DM
4018 "type" : "boolean",
4019 "typetext" : "<boolean>"
44660702
DM
4020 },
4021 "stopwait" : {
4022 "default" : 10,
4023 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
4024 "minimum" : 0,
4025 "optional" : 1,
4bd7df8b 4026 "type" : "integer",
013dc89f 4027 "typetext" : "<integer> (0 - N)"
44660702
DM
4028 },
4029 "storage" : {
4030 "description" : "Store resulting file to this storage.",
4031 "format" : "pve-storage-id",
4032 "optional" : 1,
013dc89f
DM
4033 "type" : "string",
4034 "typetext" : "<string>"
44660702
DM
4035 },
4036 "tmpdir" : {
4037 "description" : "Store temporary files to specified directory.",
4038 "optional" : 1,
013dc89f
DM
4039 "type" : "string",
4040 "typetext" : "<string>"
44660702
DM
4041 },
4042 "vmid" : {
4043 "description" : "The ID of the guest system you want to backup.",
4044 "format" : "pve-vmid-list",
4045 "optional" : 1,
013dc89f
DM
4046 "type" : "string",
4047 "typetext" : "<string>"
c5aa7e14
TL
4048 },
4049 "zstd" : {
4050 "default" : 1,
4051 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
4052 "optional" : 1,
4053 "type" : "integer",
4054 "typetext" : "<integer>"
44660702
DM
4055 }
4056 }
4057 },
4058 "permissions" : {
4059 "check" : [
4060 "perm",
4061 "/",
4062 [
4063 "Sys.Modify"
4064 ]
de0983cb
DM
4065 ],
4066 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
4067 },
4068 "protected" : 1,
4069 "returns" : {
4070 "type" : "null"
4071 }
4072 }
4073 },
4074 "leaf" : 0,
4075 "path" : "/cluster/backup",
4076 "text" : "backup"
4077 },
04d22a9f
TL
4078 {
4079 "children" : [
4080 {
4081 "info" : {
4082 "GET" : {
4083 "allowtoken" : 1,
4084 "description" : "Shows all guests which are not covered by any backup job.",
4085 "method" : "GET",
4086 "name" : "get_guests_not_in_backup",
4087 "parameters" : {
4088 "additionalProperties" : 0
4089 },
4090 "permissions" : {
4091 "check" : [
4092 "perm",
4093 "/",
4094 [
4095 "Sys.Audit"
4096 ]
4097 ]
4098 },
4099 "protected" : 1,
4100 "returns" : {
4101 "description" : "Contains the guest objects.",
4102 "items" : {
4103 "properties" : {
4104 "name" : {
4105 "description" : "Name of the guest",
4106 "optional" : 1,
4107 "type" : "string"
4108 },
4109 "type" : {
4110 "description" : "Type of the guest.",
4111 "enum" : [
4112 "qemu",
4113 "lxc"
4114 ],
4115 "type" : "string"
4116 },
4117 "vmid" : {
4118 "description" : "VMID of the guest.",
4119 "type" : "integer"
4120 }
4121 },
4122 "type" : "object"
4123 },
4124 "type" : "array"
4125 }
4126 }
4127 },
4128 "leaf" : 1,
4129 "path" : "/cluster/backupinfo/not_backed_up",
4130 "text" : "not_backed_up"
4131 }
4132 ],
4133 "info" : {
4134 "GET" : {
4135 "allowtoken" : 1,
4136 "description" : "Stub, waits for future use.",
4137 "method" : "GET",
4138 "name" : "get_backupinfo",
4139 "parameters" : {
4140 "additionalProperties" : 0
4141 },
4142 "protected" : 1,
4143 "returns" : {
4144 "description" : "Shows stub message",
4145 "type" : "string"
4146 }
4147 }
4148 },
4149 "leaf" : 0,
4150 "path" : "/cluster/backupinfo",
4151 "text" : "backupinfo"
4152 },
44660702
DM
4153 {
4154 "children" : [
4155 {
4156 "children" : [
4157 {
4158 "children" : [
56122987 4159 {
56122987
DM
4160 "info" : {
4161 "POST" : {
e9cd3bd4 4162 "allowtoken" : 1,
44660702
DM
4163 "description" : "Request resource migration (online) to another node.",
4164 "method" : "POST",
4165 "name" : "migrate",
56122987 4166 "parameters" : {
7aacca6f 4167 "additionalProperties" : 0,
56122987
DM
4168 "properties" : {
4169 "node" : {
95895385 4170 "description" : "Target node.",
44660702 4171 "format" : "pve-node",
013dc89f
DM
4172 "type" : "string",
4173 "typetext" : "<string>"
56122987
DM
4174 },
4175 "sid" : {
44660702 4176 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
56122987 4177 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4178 "type" : "string",
44660702 4179 "typetext" : "<type>:<name>"
56122987 4180 }
7aacca6f 4181 }
56122987 4182 },
56122987
DM
4183 "permissions" : {
4184 "check" : [
4185 "perm",
4186 "/",
4187 [
4188 "Sys.Console"
4189 ]
4190 ]
4191 },
7aacca6f 4192 "protected" : 1,
7aacca6f
DM
4193 "returns" : {
4194 "type" : "null"
44660702 4195 }
56122987 4196 }
44660702
DM
4197 },
4198 "leaf" : 1,
4199 "path" : "/cluster/ha/resources/{sid}/migrate",
4200 "text" : "migrate"
4201 },
4202 {
4203 "info" : {
4204 "POST" : {
e9cd3bd4 4205 "allowtoken" : 1,
44660702
DM
4206 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
4207 "method" : "POST",
4208 "name" : "relocate",
4209 "parameters" : {
4210 "additionalProperties" : 0,
4211 "properties" : {
4212 "node" : {
95895385 4213 "description" : "Target node.",
44660702 4214 "format" : "pve-node",
013dc89f
DM
4215 "type" : "string",
4216 "typetext" : "<string>"
44660702
DM
4217 },
4218 "sid" : {
4219 "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).",
4220 "format" : "pve-ha-resource-or-vm-id",
4221 "type" : "string",
4222 "typetext" : "<type>:<name>"
4223 }
4224 }
4225 },
4226 "permissions" : {
4227 "check" : [
4228 "perm",
4229 "/",
4230 [
4231 "Sys.Console"
4232 ]
4233 ]
4234 },
4235 "protected" : 1,
4236 "returns" : {
4237 "type" : "null"
4238 }
4239 }
4240 },
4241 "leaf" : 1,
4242 "path" : "/cluster/ha/resources/{sid}/relocate",
4243 "text" : "relocate"
4244 }
4245 ],
4246 "info" : {
4247 "DELETE" : {
e9cd3bd4 4248 "allowtoken" : 1,
44660702
DM
4249 "description" : "Delete resource configuration.",
4250 "method" : "DELETE",
4251 "name" : "delete",
7aacca6f 4252 "parameters" : {
44660702 4253 "additionalProperties" : 0,
7aacca6f
DM
4254 "properties" : {
4255 "sid" : {
4256 "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 4257 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4258 "type" : "string",
44660702
DM
4259 "typetext" : "<type>:<name>"
4260 }
4261 }
4262 },
4263 "permissions" : {
4264 "check" : [
4265 "perm",
4266 "/",
4267 [
4268 "Sys.Console"
4269 ]
4270 ]
4271 },
4272 "protected" : 1,
4273 "returns" : {
4274 "type" : "null"
4275 }
4276 },
4277 "GET" : {
e9cd3bd4 4278 "allowtoken" : 1,
44660702
DM
4279 "description" : "Read resource configuration.",
4280 "method" : "GET",
4281 "name" : "read",
4282 "parameters" : {
4283 "additionalProperties" : 0,
4284 "properties" : {
4285 "sid" : {
4286 "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 4287 "format" : "pve-ha-resource-or-vm-id",
44660702 4288 "type" : "string",
7aacca6f
DM
4289 "typetext" : "<type>:<name>"
4290 }
44660702 4291 }
7aacca6f
DM
4292 },
4293 "permissions" : {
4294 "check" : [
4295 "perm",
4296 "/",
4297 [
4298 "Sys.Audit"
4299 ]
4300 ]
4301 },
5f26e15b
TL
4302 "returns" : {
4303 "properties" : {
4304 "comment" : {
4305 "description" : "Description.",
4306 "optional" : 1,
4307 "type" : "string"
4308 },
4309 "digest" : {
4310 "description" : "Can be used to prevent concurrent modifications.",
4311 "type" : "string"
4312 },
4313 "group" : {
4314 "description" : "The HA group identifier.",
4315 "format" : "pve-configid",
4316 "optional" : 1,
4317 "type" : "string"
4318 },
4319 "max_relocate" : {
4320 "description" : "Maximal number of service relocate tries when a service failes to start.",
4321 "optional" : 1,
4322 "type" : "integer"
4323 },
4324 "max_restart" : {
4325 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4326 "optional" : 1,
4327 "type" : "integer"
4328 },
4329 "sid" : {
4330 "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).",
4331 "format" : "pve-ha-resource-or-vm-id",
4332 "type" : "string",
4333 "typetext" : "<type>:<name>"
4334 },
4335 "state" : {
4336 "description" : "Requested resource state.",
4337 "enum" : [
4338 "started",
4339 "stopped",
4340 "enabled",
4341 "disabled",
4342 "ignored"
4343 ],
4344 "optional" : 1,
4345 "type" : "string"
4346 },
4347 "type" : {
4348 "description" : "The type of the resources.",
4349 "type" : "string"
4350 }
4351 },
4352 "type" : "object"
4353 }
7aacca6f 4354 },
56122987 4355 "PUT" : {
e9cd3bd4 4356 "allowtoken" : 1,
44660702 4357 "description" : "Update resource configuration.",
7aacca6f 4358 "method" : "PUT",
44660702 4359 "name" : "update",
56122987
DM
4360 "parameters" : {
4361 "additionalProperties" : 0,
4362 "properties" : {
44660702
DM
4363 "comment" : {
4364 "description" : "Description.",
4365 "maxLength" : 4096,
56122987 4366 "optional" : 1,
013dc89f
DM
4367 "type" : "string",
4368 "typetext" : "<string>"
56122987 4369 },
7aacca6f
DM
4370 "delete" : {
4371 "description" : "A list of settings you want to delete.",
7aacca6f 4372 "format" : "pve-configid-list",
44660702
DM
4373 "maxLength" : 4096,
4374 "optional" : 1,
013dc89f
DM
4375 "type" : "string",
4376 "typetext" : "<string>"
56122987 4377 },
44660702
DM
4378 "digest" : {
4379 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4380 "maxLength" : 40,
4381 "optional" : 1,
013dc89f
DM
4382 "type" : "string",
4383 "typetext" : "<string>"
56122987 4384 },
44660702
DM
4385 "group" : {
4386 "description" : "The HA group identifier.",
4387 "format" : "pve-configid",
7aacca6f 4388 "optional" : 1,
013dc89f
DM
4389 "type" : "string",
4390 "typetext" : "<string>"
56122987
DM
4391 },
4392 "max_relocate" : {
7aacca6f 4393 "default" : 1,
56122987 4394 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
4395 "minimum" : 0,
4396 "optional" : 1,
4bd7df8b 4397 "type" : "integer",
013dc89f 4398 "typetext" : "<integer> (0 - N)"
7aacca6f 4399 },
44660702
DM
4400 "max_restart" : {
4401 "default" : 1,
4402 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4403 "minimum" : 0,
7aacca6f 4404 "optional" : 1,
4bd7df8b 4405 "type" : "integer",
013dc89f 4406 "typetext" : "<integer> (0 - N)"
44660702
DM
4407 },
4408 "sid" : {
4409 "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).",
4410 "format" : "pve-ha-resource-or-vm-id",
4411 "type" : "string",
4412 "typetext" : "<type>:<name>"
7aacca6f
DM
4413 },
4414 "state" : {
f13c1238
DM
4415 "default" : "started",
4416 "description" : "Requested resource state.",
7aacca6f 4417 "enum" : [
f13c1238
DM
4418 "started",
4419 "stopped",
7aacca6f 4420 "enabled",
2489d6df
WB
4421 "disabled",
4422 "ignored"
7aacca6f 4423 ],
7aacca6f 4424 "optional" : 1,
f13c1238 4425 "type" : "string",
2489d6df 4426 "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 4427 }
44660702
DM
4428 },
4429 "type" : "object"
56122987 4430 },
56122987
DM
4431 "permissions" : {
4432 "check" : [
4433 "perm",
4434 "/",
4435 [
4436 "Sys.Console"
4437 ]
4438 ]
4439 },
7aacca6f 4440 "protected" : 1,
56122987
DM
4441 "returns" : {
4442 "type" : "null"
4443 }
4444 }
4445 },
44660702 4446 "leaf" : 0,
7aacca6f 4447 "path" : "/cluster/ha/resources/{sid}",
44660702 4448 "text" : "{sid}"
56122987
DM
4449 }
4450 ],
7aacca6f
DM
4451 "info" : {
4452 "GET" : {
e9cd3bd4 4453 "allowtoken" : 1,
44660702
DM
4454 "description" : "List HA resources.",
4455 "method" : "GET",
4456 "name" : "index",
7aacca6f 4457 "parameters" : {
44660702
DM
4458 "additionalProperties" : 0,
4459 "properties" : {
4460 "type" : {
4461 "description" : "Only list resources of specific type",
4462 "enum" : [
4463 "ct",
4464 "vm"
4465 ],
4466 "optional" : 1,
4467 "type" : "string"
4468 }
4469 }
7aacca6f 4470 },
7aacca6f
DM
4471 "permissions" : {
4472 "check" : [
4473 "perm",
4474 "/",
4475 [
4476 "Sys.Audit"
4477 ]
4478 ]
4479 },
7aacca6f 4480 "returns" : {
7aacca6f 4481 "items" : {
7aacca6f 4482 "properties" : {
44660702 4483 "sid" : {
7aacca6f
DM
4484 "type" : "string"
4485 }
44660702
DM
4486 },
4487 "type" : "object"
7aacca6f
DM
4488 },
4489 "links" : [
4490 {
44660702 4491 "href" : "{sid}",
7aacca6f
DM
4492 "rel" : "child"
4493 }
44660702
DM
4494 ],
4495 "type" : "array"
7aacca6f
DM
4496 }
4497 },
4498 "POST" : {
e9cd3bd4 4499 "allowtoken" : 1,
44660702 4500 "description" : "Create a new HA resource.",
7aacca6f 4501 "method" : "POST",
44660702 4502 "name" : "create",
7aacca6f 4503 "parameters" : {
44660702 4504 "additionalProperties" : 0,
7aacca6f
DM
4505 "properties" : {
4506 "comment" : {
7aacca6f 4507 "description" : "Description.",
44660702 4508 "maxLength" : 4096,
7aacca6f 4509 "optional" : 1,
013dc89f
DM
4510 "type" : "string",
4511 "typetext" : "<string>"
7aacca6f 4512 },
44660702
DM
4513 "group" : {
4514 "description" : "The HA group identifier.",
4515 "format" : "pve-configid",
7aacca6f 4516 "optional" : 1,
013dc89f
DM
4517 "type" : "string",
4518 "typetext" : "<string>"
7aacca6f 4519 },
44660702
DM
4520 "max_relocate" : {
4521 "default" : 1,
4522 "description" : "Maximal number of service relocate tries when a service failes to start.",
4523 "minimum" : 0,
7aacca6f 4524 "optional" : 1,
4bd7df8b 4525 "type" : "integer",
013dc89f 4526 "typetext" : "<integer> (0 - N)"
7aacca6f 4527 },
44660702
DM
4528 "max_restart" : {
4529 "default" : 1,
4530 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4531 "minimum" : 0,
4532 "optional" : 1,
4bd7df8b 4533 "type" : "integer",
013dc89f 4534 "typetext" : "<integer> (0 - N)"
44660702
DM
4535 },
4536 "sid" : {
4537 "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).",
4538 "format" : "pve-ha-resource-or-vm-id",
4539 "type" : "string",
4540 "typetext" : "<type>:<name>"
4541 },
4542 "state" : {
f13c1238
DM
4543 "default" : "started",
4544 "description" : "Requested resource state.",
7aacca6f 4545 "enum" : [
f13c1238
DM
4546 "started",
4547 "stopped",
44660702 4548 "enabled",
2489d6df
WB
4549 "disabled",
4550 "ignored"
7aacca6f 4551 ],
7aacca6f 4552 "optional" : 1,
f13c1238 4553 "type" : "string",
2489d6df 4554 "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 4555 },
44660702
DM
4556 "type" : {
4557 "description" : "Resource type.",
4558 "enum" : [
4559 "ct",
4560 "vm"
4561 ],
4562 "optional" : 1,
4563 "type" : "string"
4564 }
7aacca6f 4565 },
44660702 4566 "type" : "object"
7aacca6f
DM
4567 },
4568 "permissions" : {
4569 "check" : [
4570 "perm",
4571 "/",
4572 [
4573 "Sys.Console"
4574 ]
4575 ]
4576 },
44660702
DM
4577 "protected" : 1,
4578 "returns" : {
4579 "type" : "null"
4580 }
7aacca6f
DM
4581 }
4582 },
44660702
DM
4583 "leaf" : 0,
4584 "path" : "/cluster/ha/resources",
4585 "text" : "resources"
4586 },
4587 {
56122987
DM
4588 "children" : [
4589 {
56122987 4590 "info" : {
44660702 4591 "DELETE" : {
e9cd3bd4 4592 "allowtoken" : 1,
44660702
DM
4593 "description" : "Delete ha group configuration.",
4594 "method" : "DELETE",
4595 "name" : "delete",
56122987 4596 "parameters" : {
7aacca6f 4597 "additionalProperties" : 0,
56122987 4598 "properties" : {
7aacca6f
DM
4599 "group" : {
4600 "description" : "The HA group identifier.",
44660702 4601 "format" : "pve-configid",
013dc89f
DM
4602 "type" : "string",
4603 "typetext" : "<string>"
56122987 4604 }
7aacca6f 4605 }
56122987 4606 },
56122987
DM
4607 "permissions" : {
4608 "check" : [
4609 "perm",
4610 "/",
4611 [
7aacca6f 4612 "Sys.Console"
56122987
DM
4613 ]
4614 ]
4615 },
44660702 4616 "protected" : 1,
7aacca6f
DM
4617 "returns" : {
4618 "type" : "null"
56122987
DM
4619 }
4620 },
44660702 4621 "GET" : {
e9cd3bd4 4622 "allowtoken" : 1,
44660702
DM
4623 "description" : "Read ha group configuration.",
4624 "method" : "GET",
4625 "name" : "read",
56122987 4626 "parameters" : {
44660702 4627 "additionalProperties" : 0,
56122987
DM
4628 "properties" : {
4629 "group" : {
4630 "description" : "The HA group identifier.",
44660702 4631 "format" : "pve-configid",
013dc89f
DM
4632 "type" : "string",
4633 "typetext" : "<string>"
56122987 4634 }
44660702 4635 }
56122987 4636 },
56122987
DM
4637 "permissions" : {
4638 "check" : [
4639 "perm",
4640 "/",
4641 [
44660702 4642 "Sys.Audit"
56122987
DM
4643 ]
4644 ]
4645 },
44660702 4646 "returns" : {}
7aacca6f 4647 },
44660702 4648 "PUT" : {
e9cd3bd4 4649 "allowtoken" : 1,
44660702
DM
4650 "description" : "Update ha group configuration.",
4651 "method" : "PUT",
4652 "name" : "update",
7aacca6f 4653 "parameters" : {
44660702 4654 "additionalProperties" : 0,
7aacca6f 4655 "properties" : {
44660702
DM
4656 "comment" : {
4657 "description" : "Description.",
4658 "maxLength" : 4096,
4659 "optional" : 1,
013dc89f
DM
4660 "type" : "string",
4661 "typetext" : "<string>"
44660702
DM
4662 },
4663 "delete" : {
4664 "description" : "A list of settings you want to delete.",
4665 "format" : "pve-configid-list",
4666 "maxLength" : 4096,
4667 "optional" : 1,
013dc89f
DM
4668 "type" : "string",
4669 "typetext" : "<string>"
44660702
DM
4670 },
4671 "digest" : {
4672 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4673 "maxLength" : 40,
4674 "optional" : 1,
013dc89f
DM
4675 "type" : "string",
4676 "typetext" : "<string>"
44660702 4677 },
7aacca6f
DM
4678 "group" : {
4679 "description" : "The HA group identifier.",
44660702 4680 "format" : "pve-configid",
013dc89f
DM
4681 "type" : "string",
4682 "typetext" : "<string>"
44660702
DM
4683 },
4684 "nodes" : {
f13c1238 4685 "description" : "List of cluster node names with optional priority.",
44660702
DM
4686 "format" : "pve-ha-group-node-list",
4687 "optional" : 1,
7aacca6f 4688 "type" : "string",
f13c1238
DM
4689 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4690 "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
4691 },
4692 "nofailback" : {
4693 "default" : 0,
4694 "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.",
4695 "optional" : 1,
013dc89f
DM
4696 "type" : "boolean",
4697 "typetext" : "<boolean>"
44660702
DM
4698 },
4699 "restricted" : {
4700 "default" : 0,
c4808e75 4701 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4702 "optional" : 1,
013dc89f 4703 "type" : "boolean",
c4808e75
DM
4704 "typetext" : "<boolean>",
4705 "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
4706 }
4707 },
44660702 4708 "type" : "object"
7aacca6f 4709 },
7aacca6f
DM
4710 "permissions" : {
4711 "check" : [
4712 "perm",
4713 "/",
4714 [
44660702 4715 "Sys.Console"
7aacca6f
DM
4716 ]
4717 ]
4718 },
44660702
DM
4719 "protected" : 1,
4720 "returns" : {
4721 "type" : "null"
4722 }
56122987
DM
4723 }
4724 },
4725 "leaf" : 1,
44660702
DM
4726 "path" : "/cluster/ha/groups/{group}",
4727 "text" : "{group}"
56122987 4728 }
44660702
DM
4729 ],
4730 "info" : {
4731 "GET" : {
e9cd3bd4 4732 "allowtoken" : 1,
44660702
DM
4733 "description" : "Get HA groups.",
4734 "method" : "GET",
4735 "name" : "index",
4736 "parameters" : {
4737 "additionalProperties" : 0
4738 },
4739 "permissions" : {
4740 "check" : [
4741 "perm",
4742 "/",
4743 [
4744 "Sys.Audit"
4745 ]
4746 ]
4747 },
4748 "returns" : {
4749 "items" : {
4750 "properties" : {
4751 "group" : {
4752 "type" : "string"
4753 }
4754 },
4755 "type" : "object"
4756 },
4757 "links" : [
4758 {
4759 "href" : "{group}",
4760 "rel" : "child"
4761 }
4762 ],
4763 "type" : "array"
4764 }
4765 },
4766 "POST" : {
e9cd3bd4 4767 "allowtoken" : 1,
44660702
DM
4768 "description" : "Create a new HA group.",
4769 "method" : "POST",
4770 "name" : "create",
4771 "parameters" : {
4772 "additionalProperties" : 0,
4773 "properties" : {
4774 "comment" : {
4775 "description" : "Description.",
4776 "maxLength" : 4096,
4777 "optional" : 1,
013dc89f
DM
4778 "type" : "string",
4779 "typetext" : "<string>"
44660702
DM
4780 },
4781 "group" : {
4782 "description" : "The HA group identifier.",
4783 "format" : "pve-configid",
013dc89f
DM
4784 "type" : "string",
4785 "typetext" : "<string>"
44660702
DM
4786 },
4787 "nodes" : {
f13c1238 4788 "description" : "List of cluster node names with optional priority.",
44660702
DM
4789 "format" : "pve-ha-group-node-list",
4790 "optional" : 0,
4791 "type" : "string",
f13c1238
DM
4792 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4793 "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
4794 },
4795 "nofailback" : {
4796 "default" : 0,
4797 "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.",
4798 "optional" : 1,
013dc89f
DM
4799 "type" : "boolean",
4800 "typetext" : "<boolean>"
44660702
DM
4801 },
4802 "restricted" : {
4803 "default" : 0,
c4808e75 4804 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4805 "optional" : 1,
013dc89f 4806 "type" : "boolean",
c4808e75
DM
4807 "typetext" : "<boolean>",
4808 "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
4809 },
4810 "type" : {
4811 "description" : "Group type.",
4812 "enum" : [
4813 "group"
4814 ],
4815 "optional" : 1,
4816 "type" : "string"
4817 }
4818 },
4819 "type" : "object"
4820 },
4821 "permissions" : {
4822 "check" : [
4823 "perm",
4824 "/",
4825 [
4826 "Sys.Console"
4827 ]
4828 ]
4829 },
4830 "protected" : 1,
4831 "returns" : {
4832 "type" : "null"
4833 }
4834 }
4835 },
4836 "leaf" : 0,
4837 "path" : "/cluster/ha/groups",
4838 "text" : "groups"
7aacca6f
DM
4839 },
4840 {
7aacca6f
DM
4841 "children" : [
4842 {
4843 "info" : {
4844 "GET" : {
e9cd3bd4 4845 "allowtoken" : 1,
56122987 4846 "description" : "Get HA manger status.",
44660702 4847 "method" : "GET",
7aacca6f 4848 "name" : "status",
44660702
DM
4849 "parameters" : {
4850 "additionalProperties" : 0
4851 },
56122987
DM
4852 "permissions" : {
4853 "check" : [
4854 "perm",
4855 "/",
4856 [
4857 "Sys.Audit"
4858 ]
4859 ]
7aacca6f 4860 },
44660702
DM
4861 "returns" : {
4862 "type" : "array"
56122987
DM
4863 }
4864 }
7aacca6f 4865 },
7aacca6f 4866 "leaf" : 1,
44660702
DM
4867 "path" : "/cluster/ha/status/current",
4868 "text" : "current"
56122987
DM
4869 },
4870 {
4871 "info" : {
4872 "GET" : {
e9cd3bd4 4873 "allowtoken" : 1,
7aacca6f 4874 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4875 "method" : "GET",
4876 "name" : "manager_status",
7aacca6f
DM
4877 "parameters" : {
4878 "additionalProperties" : 0
4879 },
56122987
DM
4880 "permissions" : {
4881 "check" : [
4882 "perm",
4883 "/",
4884 [
4885 "Sys.Audit"
4886 ]
4887 ]
44660702
DM
4888 },
4889 "returns" : {
4890 "type" : "object"
7aacca6f 4891 }
56122987
DM
4892 }
4893 },
56122987 4894 "leaf" : 1,
44660702
DM
4895 "path" : "/cluster/ha/status/manager_status",
4896 "text" : "manager_status"
56122987
DM
4897 }
4898 ],
56122987
DM
4899 "info" : {
4900 "GET" : {
e9cd3bd4 4901 "allowtoken" : 1,
44660702 4902 "description" : "Directory index.",
7aacca6f 4903 "method" : "GET",
44660702
DM
4904 "name" : "index",
4905 "parameters" : {
4906 "additionalProperties" : 0
4907 },
4908 "permissions" : {
4909 "user" : "all"
4910 },
56122987 4911 "returns" : {
56122987
DM
4912 "items" : {
4913 "properties" : {},
4914 "type" : "object"
4915 },
4916 "links" : [
4917 {
44660702
DM
4918 "href" : "{name}",
4919 "rel" : "child"
56122987 4920 }
7aacca6f
DM
4921 ],
4922 "type" : "array"
44660702 4923 }
56122987 4924 }
7aacca6f 4925 },
44660702 4926 "leaf" : 0,
7aacca6f 4927 "path" : "/cluster/ha/status",
44660702 4928 "text" : "status"
56122987
DM
4929 }
4930 ],
56122987
DM
4931 "info" : {
4932 "GET" : {
e9cd3bd4 4933 "allowtoken" : 1,
7aacca6f 4934 "description" : "Directory index.",
44660702
DM
4935 "method" : "GET",
4936 "name" : "index",
4937 "parameters" : {
4938 "additionalProperties" : 0
4939 },
7aacca6f
DM
4940 "permissions" : {
4941 "check" : [
4942 "perm",
4943 "/",
4944 [
4945 "Sys.Audit"
4946 ]
4947 ]
4948 },
56122987 4949 "returns" : {
56122987 4950 "items" : {
7aacca6f
DM
4951 "properties" : {
4952 "id" : {
4953 "type" : "string"
4954 }
44660702
DM
4955 },
4956 "type" : "object"
7aacca6f
DM
4957 },
4958 "links" : [
4959 {
4960 "href" : "{id}",
4961 "rel" : "child"
4962 }
44660702
DM
4963 ],
4964 "type" : "array"
7aacca6f
DM
4965 }
4966 }
44660702
DM
4967 },
4968 "leaf" : 0,
4969 "path" : "/cluster/ha",
4970 "text" : "ha"
7aacca6f 4971 },
a9a8e3d1
DM
4972 {
4973 "children" : [
c5aa7e14
TL
4974 {
4975 "children" : [
4976 {
4977 "info" : {
4978 "DELETE" : {
4979 "allowtoken" : 1,
4980 "description" : "Delete ACME plugin configuration.",
4981 "method" : "DELETE",
4982 "name" : "delete_plugin",
4983 "parameters" : {
4984 "additionalProperties" : 0,
4985 "properties" : {
4986 "id" : {
4987 "description" : "Unique identifier for ACME plugin instance.",
4988 "format" : "pve-configid",
4989 "type" : "string",
4990 "typetext" : "<string>"
4991 }
4992 }
4993 },
4994 "permissions" : {
4995 "check" : [
4996 "perm",
4997 "/",
4998 [
4999 "Sys.Modify"
5000 ]
5001 ]
5002 },
5003 "protected" : 1,
5004 "returns" : {
5005 "type" : "null"
5006 }
5007 },
5008 "GET" : {
5009 "allowtoken" : 1,
5010 "description" : "Get ACME plugin configuration.",
5011 "method" : "GET",
5012 "name" : "get_plugin_config",
5013 "parameters" : {
5014 "additionalProperties" : 0,
5015 "properties" : {
5016 "id" : {
5017 "description" : "Unique identifier for ACME plugin instance.",
5018 "format" : "pve-configid",
5019 "type" : "string",
5020 "typetext" : "<string>"
5021 }
5022 }
5023 },
5024 "permissions" : {
5025 "check" : [
5026 "perm",
5027 "/",
5028 [
5029 "Sys.Modify"
5030 ]
5031 ]
5032 },
5033 "protected" : 1,
5034 "returns" : {
5035 "type" : "object"
5036 }
5037 },
5038 "PUT" : {
5039 "allowtoken" : 1,
5040 "description" : "Update ACME plugin configuration.",
5041 "method" : "PUT",
5042 "name" : "update_plugin",
5043 "parameters" : {
5044 "additionalProperties" : 0,
5045 "properties" : {
5046 "api" : {
5047 "description" : "API plugin name",
5048 "enum" : [
d2656385 5049 "1984hosting",
c5aa7e14
TL
5050 "acmedns",
5051 "acmeproxy",
5052 "active24",
5053 "ad",
5054 "ali",
d2656385
TL
5055 "anx",
5056 "arvan",
e7084ef7 5057 "aurora",
c5aa7e14
TL
5058 "autodns",
5059 "aws",
5060 "azure",
5061 "cf",
5062 "clouddns",
5063 "cloudns",
5064 "cn",
5065 "conoha",
5066 "constellix",
5067 "cx",
5068 "cyon",
5069 "da",
5070 "ddnss",
5071 "desec",
ac70d7d1 5072 "df",
c5aa7e14
TL
5073 "dgon",
5074 "dnsimple",
5075 "do",
5076 "doapi",
5077 "domeneshop",
5078 "dp",
5079 "dpi",
5080 "dreamhost",
5081 "duckdns",
5082 "durabledns",
5083 "dyn",
5084 "dynu",
5085 "dynv6",
5086 "easydns",
d2656385 5087 "edgedns",
c5aa7e14
TL
5088 "euserv",
5089 "exoscale",
5090 "freedns",
5091 "gandi_livedns",
5092 "gcloud",
5093 "gd",
5094 "gdnsdk",
5095 "he",
d2656385 5096 "hetzner",
c5aa7e14
TL
5097 "hexonet",
5098 "hostingde",
d2656385 5099 "huaweicloud",
c5aa7e14 5100 "infoblox",
d2656385 5101 "infomaniak",
c5aa7e14
TL
5102 "internetbs",
5103 "inwx",
d2656385 5104 "ionos",
c5aa7e14
TL
5105 "ispconfig",
5106 "jd",
d2656385
TL
5107 "joker",
5108 "kappernet",
c5aa7e14
TL
5109 "kas",
5110 "kinghost",
5111 "knot",
5112 "leaseweb",
5113 "lexicon",
5114 "linode",
5115 "linode_v4",
5116 "loopia",
5117 "lua",
5118 "maradns",
5119 "me",
5120 "miab",
5121 "misaka",
5122 "myapi",
5123 "mydevil",
5124 "mydnsjp",
5125 "namecheap",
5126 "namecom",
5127 "namesilo",
5128 "nederhost",
5129 "neodigit",
5130 "netcup",
d2656385 5131 "netlify",
c5aa7e14 5132 "nic",
d2656385
TL
5133 "njalla",
5134 "nm",
c5aa7e14
TL
5135 "nsd",
5136 "nsone",
5137 "nsupdate",
5138 "nw",
5139 "one",
5140 "online",
5141 "openprovider",
d2656385 5142 "openstack",
c5aa7e14
TL
5143 "opnsense",
5144 "ovh",
5145 "pdns",
5146 "pleskxml",
5147 "pointhq",
e7084ef7 5148 "porkbun",
d2656385 5149 "rackcorp",
c5aa7e14
TL
5150 "rackspace",
5151 "rcode0",
5152 "regru",
d2656385 5153 "scaleway",
c5aa7e14
TL
5154 "schlundtech",
5155 "selectel",
5156 "servercow",
d2656385 5157 "simply",
c5aa7e14 5158 "tele3",
d2656385 5159 "transip",
c5aa7e14
TL
5160 "ultra",
5161 "unoeuro",
5162 "variomedia",
5163 "vscale",
5164 "vultr",
e7084ef7 5165 "websupport",
d2656385 5166 "world4you",
c5aa7e14
TL
5167 "yandex",
5168 "zilore",
5169 "zone",
5170 "zonomi"
5171 ],
5172 "optional" : 1,
5173 "type" : "string"
5174 },
5175 "data" : {
5176 "description" : "DNS plugin data. (base64 encoded)",
5177 "optional" : 1,
5178 "type" : "string",
5179 "typetext" : "<string>"
5180 },
5181 "delete" : {
5182 "description" : "A list of settings you want to delete.",
5183 "format" : "pve-configid-list",
5184 "maxLength" : 4096,
5185 "optional" : 1,
5186 "type" : "string",
5187 "typetext" : "<string>"
5188 },
5189 "digest" : {
5190 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5191 "maxLength" : 40,
5192 "optional" : 1,
5193 "type" : "string",
5194 "typetext" : "<string>"
5195 },
5196 "disable" : {
5197 "description" : "Flag to disable the config.",
5198 "optional" : 1,
5199 "type" : "boolean",
5200 "typetext" : "<boolean>"
5201 },
5202 "id" : {
5203 "description" : "ACME Plugin ID name",
5204 "format" : "pve-configid",
5205 "type" : "string",
5206 "typetext" : "<string>"
5207 },
5208 "nodes" : {
5209 "description" : "List of cluster node names.",
5210 "format" : "pve-node-list",
5211 "optional" : 1,
5212 "type" : "string",
5213 "typetext" : "<string>"
5214 },
5215 "validation-delay" : {
5216 "default" : 30,
5217 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5218 "maximum" : 172800,
5219 "minimum" : 0,
5220 "optional" : 1,
5221 "type" : "integer",
5222 "typetext" : "<integer> (0 - 172800)"
5223 }
5224 },
5225 "type" : "object"
5226 },
5227 "permissions" : {
5228 "check" : [
5229 "perm",
5230 "/",
5231 [
5232 "Sys.Modify"
5233 ]
5234 ]
5235 },
5236 "protected" : 1,
5237 "returns" : {
5238 "type" : "null"
5239 }
5240 }
5241 },
5242 "leaf" : 1,
5243 "path" : "/cluster/acme/plugins/{id}",
5244 "text" : "{id}"
5245 }
5246 ],
5247 "info" : {
5248 "GET" : {
5249 "allowtoken" : 1,
5250 "description" : "ACME plugin index.",
5251 "method" : "GET",
5252 "name" : "index",
5253 "parameters" : {
5254 "additionalProperties" : 0,
5255 "properties" : {
5256 "type" : {
5257 "description" : "Only list ACME plugins of a specific type",
5258 "enum" : [
5259 "dns",
5260 "standalone"
5261 ],
5262 "optional" : 1,
5263 "type" : "string"
5264 }
5265 }
5266 },
5267 "permissions" : {
5268 "check" : [
5269 "perm",
5270 "/",
5271 [
5272 "Sys.Modify"
5273 ]
5274 ]
5275 },
5276 "protected" : 1,
5277 "returns" : {
5278 "items" : {
5279 "properties" : {
5280 "plugin" : {
5281 "description" : "Unique identifier for ACME plugin instance.",
5282 "format" : "pve-configid",
5283 "type" : "string"
5284 }
5285 },
5286 "type" : "object"
5287 },
5288 "links" : [
5289 {
5290 "href" : "{plugin}",
5291 "rel" : "child"
5292 }
5293 ],
5294 "type" : "array"
5295 }
5296 },
5297 "POST" : {
5298 "allowtoken" : 1,
5299 "description" : "Add ACME plugin configuration.",
5300 "method" : "POST",
5301 "name" : "add_plugin",
5302 "parameters" : {
5303 "additionalProperties" : 0,
5304 "properties" : {
5305 "api" : {
5306 "description" : "API plugin name",
5307 "enum" : [
d2656385 5308 "1984hosting",
c5aa7e14
TL
5309 "acmedns",
5310 "acmeproxy",
5311 "active24",
5312 "ad",
5313 "ali",
d2656385
TL
5314 "anx",
5315 "arvan",
e7084ef7 5316 "aurora",
c5aa7e14
TL
5317 "autodns",
5318 "aws",
5319 "azure",
5320 "cf",
5321 "clouddns",
5322 "cloudns",
5323 "cn",
5324 "conoha",
5325 "constellix",
5326 "cx",
5327 "cyon",
5328 "da",
5329 "ddnss",
5330 "desec",
ac70d7d1 5331 "df",
c5aa7e14
TL
5332 "dgon",
5333 "dnsimple",
5334 "do",
5335 "doapi",
5336 "domeneshop",
5337 "dp",
5338 "dpi",
5339 "dreamhost",
5340 "duckdns",
5341 "durabledns",
5342 "dyn",
5343 "dynu",
5344 "dynv6",
5345 "easydns",
d2656385 5346 "edgedns",
c5aa7e14
TL
5347 "euserv",
5348 "exoscale",
5349 "freedns",
5350 "gandi_livedns",
5351 "gcloud",
5352 "gd",
5353 "gdnsdk",
5354 "he",
d2656385 5355 "hetzner",
c5aa7e14
TL
5356 "hexonet",
5357 "hostingde",
d2656385 5358 "huaweicloud",
c5aa7e14 5359 "infoblox",
d2656385 5360 "infomaniak",
c5aa7e14
TL
5361 "internetbs",
5362 "inwx",
d2656385 5363 "ionos",
c5aa7e14
TL
5364 "ispconfig",
5365 "jd",
d2656385
TL
5366 "joker",
5367 "kappernet",
c5aa7e14
TL
5368 "kas",
5369 "kinghost",
5370 "knot",
5371 "leaseweb",
5372 "lexicon",
5373 "linode",
5374 "linode_v4",
5375 "loopia",
5376 "lua",
5377 "maradns",
5378 "me",
5379 "miab",
5380 "misaka",
5381 "myapi",
5382 "mydevil",
5383 "mydnsjp",
5384 "namecheap",
5385 "namecom",
5386 "namesilo",
5387 "nederhost",
5388 "neodigit",
5389 "netcup",
d2656385 5390 "netlify",
c5aa7e14 5391 "nic",
d2656385
TL
5392 "njalla",
5393 "nm",
c5aa7e14
TL
5394 "nsd",
5395 "nsone",
5396 "nsupdate",
5397 "nw",
5398 "one",
5399 "online",
5400 "openprovider",
d2656385 5401 "openstack",
c5aa7e14
TL
5402 "opnsense",
5403 "ovh",
5404 "pdns",
5405 "pleskxml",
5406 "pointhq",
e7084ef7 5407 "porkbun",
d2656385 5408 "rackcorp",
c5aa7e14
TL
5409 "rackspace",
5410 "rcode0",
5411 "regru",
d2656385 5412 "scaleway",
c5aa7e14
TL
5413 "schlundtech",
5414 "selectel",
5415 "servercow",
d2656385 5416 "simply",
c5aa7e14 5417 "tele3",
d2656385 5418 "transip",
c5aa7e14
TL
5419 "ultra",
5420 "unoeuro",
5421 "variomedia",
5422 "vscale",
5423 "vultr",
e7084ef7 5424 "websupport",
d2656385 5425 "world4you",
c5aa7e14
TL
5426 "yandex",
5427 "zilore",
5428 "zone",
5429 "zonomi"
5430 ],
5431 "optional" : 1,
5432 "type" : "string"
5433 },
5434 "data" : {
5435 "description" : "DNS plugin data. (base64 encoded)",
5436 "optional" : 1,
5437 "type" : "string",
5438 "typetext" : "<string>"
5439 },
5440 "disable" : {
5441 "description" : "Flag to disable the config.",
5442 "optional" : 1,
5443 "type" : "boolean",
5444 "typetext" : "<boolean>"
5445 },
5446 "id" : {
5447 "description" : "ACME Plugin ID name",
5448 "format" : "pve-configid",
5449 "type" : "string",
5450 "typetext" : "<string>"
5451 },
5452 "nodes" : {
5453 "description" : "List of cluster node names.",
5454 "format" : "pve-node-list",
5455 "optional" : 1,
5456 "type" : "string",
5457 "typetext" : "<string>"
5458 },
5459 "type" : {
5460 "description" : "ACME challenge type.",
5461 "enum" : [
5462 "dns",
5463 "standalone"
5464 ],
5465 "type" : "string"
5466 },
5467 "validation-delay" : {
5468 "default" : 30,
5469 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5470 "maximum" : 172800,
5471 "minimum" : 0,
5472 "optional" : 1,
5473 "type" : "integer",
5474 "typetext" : "<integer> (0 - 172800)"
5475 }
5476 },
5477 "type" : "object"
5478 },
5479 "permissions" : {
5480 "check" : [
5481 "perm",
5482 "/",
5483 [
5484 "Sys.Modify"
5485 ]
5486 ]
5487 },
5488 "protected" : 1,
5489 "returns" : {
5490 "type" : "null"
5491 }
5492 }
5493 },
5494 "leaf" : 0,
5495 "path" : "/cluster/acme/plugins",
5496 "text" : "plugins"
5497 },
a9a8e3d1
DM
5498 {
5499 "children" : [
5500 {
5501 "info" : {
5502 "DELETE" : {
e9cd3bd4 5503 "allowtoken" : 1,
a9a8e3d1
DM
5504 "description" : "Deactivate existing ACME account at CA.",
5505 "method" : "DELETE",
5506 "name" : "deactivate_account",
5507 "parameters" : {
5508 "additionalProperties" : 0,
5509 "properties" : {
5510 "name" : {
5511 "default" : "default",
5512 "description" : "ACME account config file name.",
5513 "format" : "pve-configid",
5514 "format_description" : "name",
5515 "optional" : 1,
5516 "type" : "string",
5517 "typetext" : "<name>"
5518 }
5519 }
5520 },
5521 "protected" : 1,
5522 "returns" : {
5523 "type" : "string"
5524 }
5525 },
5526 "GET" : {
e9cd3bd4 5527 "allowtoken" : 1,
a9a8e3d1
DM
5528 "description" : "Return existing ACME account information.",
5529 "method" : "GET",
5530 "name" : "get_account",
5531 "parameters" : {
5532 "additionalProperties" : 0,
5533 "properties" : {
5534 "name" : {
5535 "default" : "default",
5536 "description" : "ACME account config file name.",
5537 "format" : "pve-configid",
5538 "format_description" : "name",
5539 "optional" : 1,
5540 "type" : "string",
5541 "typetext" : "<name>"
5542 }
5543 }
5544 },
5545 "protected" : 1,
5546 "returns" : {
5547 "additionalProperties" : 0,
5548 "properties" : {
5549 "account" : {
5550 "optional" : 1,
4d47f125 5551 "renderer" : "yaml",
a9a8e3d1
DM
5552 "type" : "object"
5553 },
5554 "directory" : {
5555 "description" : "URL of ACME CA directory endpoint.",
5556 "optional" : 1,
5557 "pattern" : "^https?://.*",
5558 "type" : "string"
5559 },
5560 "location" : {
5561 "optional" : 1,
5562 "type" : "string"
5563 },
5564 "tos" : {
5565 "optional" : 1,
5566 "type" : "string"
5567 }
5568 },
5569 "type" : "object"
5570 }
5571 },
5572 "PUT" : {
e9cd3bd4 5573 "allowtoken" : 1,
a9a8e3d1
DM
5574 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
5575 "method" : "PUT",
5576 "name" : "update_account",
5577 "parameters" : {
5578 "additionalProperties" : 0,
5579 "properties" : {
5580 "contact" : {
5581 "description" : "Contact email addresses.",
5582 "format" : "email-list",
5583 "optional" : 1,
5584 "type" : "string",
5585 "typetext" : "<string>"
5586 },
5587 "name" : {
5588 "default" : "default",
5589 "description" : "ACME account config file name.",
5590 "format" : "pve-configid",
5591 "format_description" : "name",
5592 "optional" : 1,
5593 "type" : "string",
5594 "typetext" : "<name>"
5595 }
5596 }
5597 },
5598 "protected" : 1,
5599 "returns" : {
5600 "type" : "string"
5601 }
5602 }
5603 },
5604 "leaf" : 1,
5605 "path" : "/cluster/acme/account/{name}",
5606 "text" : "{name}"
5607 }
5608 ],
5609 "info" : {
5610 "GET" : {
e9cd3bd4 5611 "allowtoken" : 1,
a9a8e3d1
DM
5612 "description" : "ACMEAccount index.",
5613 "method" : "GET",
5614 "name" : "account_index",
5615 "parameters" : {
5616 "additionalProperties" : 0
5617 },
5618 "permissions" : {
5619 "user" : "all"
5620 },
5621 "protected" : 1,
5622 "returns" : {
5623 "items" : {
5624 "properties" : {},
5625 "type" : "object"
5626 },
5627 "links" : [
5628 {
5629 "href" : "{name}",
5630 "rel" : "child"
5631 }
5632 ],
5633 "type" : "array"
5634 }
5635 },
5636 "POST" : {
e9cd3bd4 5637 "allowtoken" : 1,
a9a8e3d1
DM
5638 "description" : "Register a new ACME account with CA.",
5639 "method" : "POST",
5640 "name" : "register_account",
5641 "parameters" : {
5642 "additionalProperties" : 0,
5643 "properties" : {
5644 "contact" : {
5645 "description" : "Contact email addresses.",
5646 "format" : "email-list",
5647 "type" : "string",
5648 "typetext" : "<string>"
5649 },
5650 "directory" : {
5651 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5652 "description" : "URL of ACME CA directory endpoint.",
5653 "optional" : 1,
5654 "pattern" : "^https?://.*",
5655 "type" : "string"
5656 },
5657 "name" : {
5658 "default" : "default",
5659 "description" : "ACME account config file name.",
5660 "format" : "pve-configid",
5661 "format_description" : "name",
5662 "optional" : 1,
5663 "type" : "string",
5664 "typetext" : "<name>"
5665 },
5666 "tos_url" : {
5667 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
5668 "optional" : 1,
5669 "type" : "string",
5670 "typetext" : "<string>"
5671 }
5672 }
5673 },
5674 "protected" : 1,
5675 "returns" : {
5676 "type" : "string"
5677 }
5678 }
5679 },
5680 "leaf" : 0,
5681 "path" : "/cluster/acme/account",
5682 "text" : "account"
5683 },
5684 {
5685 "info" : {
5686 "GET" : {
e9cd3bd4 5687 "allowtoken" : 1,
a9a8e3d1
DM
5688 "description" : "Retrieve ACME TermsOfService URL from CA.",
5689 "method" : "GET",
5690 "name" : "get_tos",
5691 "parameters" : {
5692 "additionalProperties" : 0,
5693 "properties" : {
5694 "directory" : {
5695 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5696 "description" : "URL of ACME CA directory endpoint.",
5697 "optional" : 1,
5698 "pattern" : "^https?://.*",
5699 "type" : "string"
5700 }
5701 }
5702 },
5da3d723
TL
5703 "permissions" : {
5704 "user" : "all"
5705 },
a9a8e3d1
DM
5706 "returns" : {
5707 "description" : "ACME TermsOfService URL.",
5c1699e5 5708 "optional" : 1,
a9a8e3d1
DM
5709 "type" : "string"
5710 }
5711 }
5712 },
5713 "leaf" : 1,
5714 "path" : "/cluster/acme/tos",
5715 "text" : "tos"
5716 },
5717 {
5718 "info" : {
5719 "GET" : {
e9cd3bd4 5720 "allowtoken" : 1,
a9a8e3d1
DM
5721 "description" : "Get named known ACME directory endpoints.",
5722 "method" : "GET",
5723 "name" : "get_directories",
5724 "parameters" : {
5725 "additionalProperties" : 0
5726 },
5da3d723
TL
5727 "permissions" : {
5728 "user" : "all"
5729 },
a9a8e3d1
DM
5730 "returns" : {
5731 "items" : {
5732 "additionalProperties" : 0,
5733 "properties" : {
5734 "name" : {
5735 "type" : "string"
5736 },
5737 "url" : {
5738 "description" : "URL of ACME CA directory endpoint.",
5739 "pattern" : "^https?://.*",
5740 "type" : "string"
5741 }
5742 },
5743 "type" : "object"
5744 },
5745 "type" : "array"
5746 }
5747 }
5748 },
5749 "leaf" : 1,
5750 "path" : "/cluster/acme/directories",
5751 "text" : "directories"
ac70d7d1
TL
5752 },
5753 {
5754 "info" : {
5755 "GET" : {
5756 "allowtoken" : 1,
5757 "description" : "Get schema of ACME challenge types.",
5758 "method" : "GET",
5759 "name" : "challengeschema",
5760 "parameters" : {
5761 "additionalProperties" : 0
5762 },
5763 "permissions" : {
5764 "user" : "all"
5765 },
5766 "returns" : {
5767 "items" : {
5768 "additionalProperties" : 0,
5769 "properties" : {
5770 "id" : {
5771 "type" : "string"
5772 },
5773 "name" : {
5774 "description" : "Human readable name, falls back to id",
5775 "type" : "string"
5776 },
5777 "schema" : {
5778 "type" : "object"
5779 },
5780 "type" : {
5781 "type" : "string"
5782 }
5783 },
5784 "type" : "object"
5785 },
5786 "type" : "array"
5787 }
5788 }
5789 },
5790 "leaf" : 1,
5791 "path" : "/cluster/acme/challenge-schema",
5792 "text" : "challenge-schema"
a9a8e3d1
DM
5793 }
5794 ],
5795 "info" : {
5796 "GET" : {
e9cd3bd4 5797 "allowtoken" : 1,
a9a8e3d1
DM
5798 "description" : "ACMEAccount index.",
5799 "method" : "GET",
5800 "name" : "index",
5801 "parameters" : {
5802 "additionalProperties" : 0
5803 },
5804 "permissions" : {
5805 "user" : "all"
5806 },
5807 "returns" : {
5808 "items" : {
5809 "properties" : {},
5810 "type" : "object"
5811 },
5812 "links" : [
5813 {
5814 "href" : "{name}",
5815 "rel" : "child"
5816 }
5817 ],
5818 "type" : "array"
5819 }
5820 }
5821 },
5822 "leaf" : 0,
5823 "path" : "/cluster/acme",
5824 "text" : "acme"
5825 },
1c532546
TL
5826 {
5827 "children" : [
5828 {
5829 "info" : {
5830 "GET" : {
e9cd3bd4 5831 "allowtoken" : 1,
1c532546
TL
5832 "description" : "Get ceph metadata.",
5833 "method" : "GET",
5834 "name" : "metadata",
5835 "parameters" : {
c5aa7e14
TL
5836 "additionalProperties" : 0,
5837 "properties" : {
5838 "scope" : {
5839 "default" : "all",
5840 "enum" : [
5841 "all",
5842 "versions"
5843 ],
5844 "optional" : 1,
5845 "type" : "string"
5846 }
5847 }
1c532546
TL
5848 },
5849 "permissions" : {
5850 "check" : [
5851 "perm",
5852 "/",
5853 [
5854 "Sys.Audit",
5855 "Datastore.Audit"
5856 ],
5857 "any",
5858 1
5859 ]
5860 },
5861 "protected" : 1,
5862 "returns" : {
5863 "type" : "object"
5864 }
5865 }
5866 },
5867 "leaf" : 1,
5868 "path" : "/cluster/ceph/metadata",
5869 "text" : "metadata"
5870 },
5871 {
5872 "info" : {
5873 "GET" : {
e9cd3bd4 5874 "allowtoken" : 1,
1c532546
TL
5875 "description" : "Get ceph status.",
5876 "method" : "GET",
5877 "name" : "status",
5878 "parameters" : {
5879 "additionalProperties" : 0
5880 },
5881 "permissions" : {
5882 "check" : [
5883 "perm",
5884 "/",
5885 [
5886 "Sys.Audit",
5887 "Datastore.Audit"
5888 ],
5889 "any",
5890 1
5891 ]
5892 },
5893 "protected" : 1,
5894 "returns" : {
5895 "type" : "object"
5896 }
5897 }
5898 },
5899 "leaf" : 1,
5900 "path" : "/cluster/ceph/status",
5901 "text" : "status"
5902 },
5903 {
5904 "children" : [
5905 {
5906 "info" : {
5907 "GET" : {
e9cd3bd4 5908 "allowtoken" : 1,
1c532546
TL
5909 "description" : "Get the status of a specific ceph flag.",
5910 "method" : "GET",
5911 "name" : "get_flag",
5912 "parameters" : {
5913 "additionalProperties" : 0,
5914 "properties" : {
5915 "flag" : {
5916 "description" : "The name of the flag name to get.",
5917 "enum" : [
5918 "nobackfill",
5919 "nodeep-scrub",
5920 "nodown",
5921 "noin",
5922 "noout",
5923 "norebalance",
5924 "norecover",
5925 "noscrub",
5926 "notieragent",
5927 "noup",
5928 "pause"
5929 ],
5930 "type" : "string"
5931 }
5932 }
5933 },
5934 "permissions" : {
5935 "check" : [
5936 "perm",
5937 "/",
5938 [
5939 "Sys.Audit"
5940 ]
5941 ]
5942 },
5943 "protected" : 1,
5944 "returns" : {
5945 "type" : "boolean"
5946 }
5947 },
5948 "PUT" : {
e9cd3bd4 5949 "allowtoken" : 1,
1c532546
TL
5950 "description" : "Set or clear (unset) a specific ceph flag",
5951 "method" : "PUT",
5952 "name" : "update_flag",
5953 "parameters" : {
5954 "additionalProperties" : 0,
5955 "properties" : {
5956 "flag" : {
5957 "description" : "The ceph flag to update",
5958 "enum" : [
5959 "nobackfill",
5960 "nodeep-scrub",
5961 "nodown",
5962 "noin",
5963 "noout",
5964 "norebalance",
5965 "norecover",
5966 "noscrub",
5967 "notieragent",
5968 "noup",
5969 "pause"
5970 ],
5971 "type" : "string"
5972 },
5973 "value" : {
5974 "description" : "The new value of the flag",
5975 "type" : "boolean",
5976 "typetext" : "<boolean>"
5977 }
5978 }
5979 },
5980 "permissions" : {
5981 "check" : [
5982 "perm",
5983 "/",
5984 [
5985 "Sys.Modify"
5986 ]
5987 ]
5988 },
5989 "protected" : 1,
5990 "returns" : {
5991 "type" : "null"
5992 }
5993 }
5994 },
5995 "leaf" : 1,
5996 "path" : "/cluster/ceph/flags/{flag}",
5997 "text" : "{flag}"
5998 }
5999 ],
6000 "info" : {
6001 "GET" : {
e9cd3bd4 6002 "allowtoken" : 1,
1c532546
TL
6003 "description" : "get the status of all ceph flags",
6004 "method" : "GET",
6005 "name" : "get_all_flags",
6006 "parameters" : {
6007 "additionalProperties" : 0
6008 },
6009 "permissions" : {
6010 "check" : [
6011 "perm",
6012 "/",
6013 [
6014 "Sys.Audit"
6015 ]
6016 ]
6017 },
6018 "protected" : 1,
6019 "returns" : {
6020 "items" : {
6021 "additionalProperties" : 1,
6022 "properties" : {
6023 "name" : {
6024 "description" : "Flag name.",
6025 "enum" : [
6026 "nobackfill",
6027 "nodeep-scrub",
6028 "nodown",
6029 "noin",
6030 "noout",
6031 "norebalance",
6032 "norecover",
6033 "noscrub",
6034 "notieragent",
6035 "noup",
6036 "pause"
6037 ],
6038 "type" : "string"
6039 }
6040 },
6041 "type" : "object"
6042 },
6043 "links" : [
6044 {
6045 "href" : "{name}",
6046 "rel" : "child"
6047 }
6048 ],
6049 "type" : "array"
6050 }
6051 },
6052 "PUT" : {
e9cd3bd4 6053 "allowtoken" : 1,
1c532546
TL
6054 "description" : "Set/Unset multiple ceph flags at once.",
6055 "method" : "PUT",
6056 "name" : "set_flags",
6057 "parameters" : {
6058 "additionalProperties" : 0,
6059 "properties" : {
6060 "nobackfill" : {
6061 "description" : "Backfilling of PGs is suspended.",
6062 "optional" : 1,
6063 "type" : "boolean",
6064 "typetext" : "<boolean>"
6065 },
6066 "nodeep-scrub" : {
6067 "description" : "Deep Scrubbing is disabled.",
6068 "optional" : 1,
6069 "type" : "boolean",
6070 "typetext" : "<boolean>"
6071 },
6072 "nodown" : {
6073 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
6074 "optional" : 1,
6075 "type" : "boolean",
6076 "typetext" : "<boolean>"
6077 },
6078 "noin" : {
6079 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
6080 "optional" : 1,
6081 "type" : "boolean",
6082 "typetext" : "<boolean>"
6083 },
6084 "noout" : {
6085 "description" : "OSDs will not automatically be marked out after the configured interval.",
6086 "optional" : 1,
6087 "type" : "boolean",
6088 "typetext" : "<boolean>"
6089 },
6090 "norebalance" : {
6091 "description" : "Rebalancing of PGs is suspended.",
6092 "optional" : 1,
6093 "type" : "boolean",
6094 "typetext" : "<boolean>"
6095 },
6096 "norecover" : {
6097 "description" : "Recovery of PGs is suspended.",
6098 "optional" : 1,
6099 "type" : "boolean",
6100 "typetext" : "<boolean>"
6101 },
6102 "noscrub" : {
6103 "description" : "Scrubbing is disabled.",
6104 "optional" : 1,
6105 "type" : "boolean",
6106 "typetext" : "<boolean>"
6107 },
6108 "notieragent" : {
6109 "description" : "Cache tiering activity is suspended.",
6110 "optional" : 1,
6111 "type" : "boolean",
6112 "typetext" : "<boolean>"
6113 },
6114 "noup" : {
6115 "description" : "OSDs are not allowed to start.",
6116 "optional" : 1,
6117 "type" : "boolean",
6118 "typetext" : "<boolean>"
6119 },
6120 "pause" : {
6121 "description" : "Pauses read and writes.",
6122 "optional" : 1,
6123 "type" : "boolean",
6124 "typetext" : "<boolean>"
6125 }
6126 }
6127 },
6128 "permissions" : {
6129 "check" : [
6130 "perm",
6131 "/",
6132 [
6133 "Sys.Modify"
6134 ]
6135 ]
6136 },
6137 "protected" : 1,
6138 "returns" : {
6139 "type" : "string"
6140 }
6141 }
6142 },
6143 "leaf" : 0,
6144 "path" : "/cluster/ceph/flags",
6145 "text" : "flags"
6146 }
6147 ],
6148 "info" : {
6149 "GET" : {
e9cd3bd4 6150 "allowtoken" : 1,
1c532546
TL
6151 "description" : "Cluster ceph index.",
6152 "method" : "GET",
6153 "name" : "cephindex",
6154 "parameters" : {
6155 "additionalProperties" : 0
6156 },
6157 "permissions" : {
6158 "user" : "all"
6159 },
6160 "returns" : {
6161 "items" : {
6162 "properties" : {},
6163 "type" : "object"
6164 },
6165 "links" : [
6166 {
6167 "href" : "{name}",
6168 "rel" : "child"
6169 }
6170 ],
6171 "type" : "array"
6172 }
6173 }
6174 },
6175 "leaf" : 0,
6176 "path" : "/cluster/ceph",
6177 "text" : "ceph"
6178 },
c5aa7e14
TL
6179 {
6180 "children" : [
6181 {
6182 "children" : [
6183 {
d2656385
TL
6184 "children" : [
6185 {
6186 "children" : [
6187 {
6188 "info" : {
6189 "DELETE" : {
6190 "allowtoken" : 1,
6191 "description" : "Delete sdn subnet object configuration.",
6192 "method" : "DELETE",
6193 "name" : "delete",
6194 "parameters" : {
6195 "additionalProperties" : 0,
6196 "properties" : {
6197 "subnet" : {
6198 "description" : "The SDN subnet object identifier.",
6199 "format" : "pve-sdn-subnet-id",
6200 "type" : "string",
6201 "typetext" : "<string>"
6202 },
6203 "vnet" : {
6204 "description" : "The SDN vnet object identifier.",
6205 "format" : "pve-sdn-vnet-id",
6206 "type" : "string",
6207 "typetext" : "<string>"
6208 }
6209 }
6210 },
6211 "permissions" : {
6212 "check" : [
6213 "perm",
6214 "/sdn/vnets/{vnet}/subnets",
6215 [
6216 "SDN.Allocate"
6217 ]
6218 ]
6219 },
6220 "protected" : 1,
6221 "returns" : {
6222 "type" : "null"
6223 }
6224 },
6225 "GET" : {
6226 "allowtoken" : 1,
6227 "description" : "Read sdn subnet configuration.",
6228 "method" : "GET",
6229 "name" : "read",
6230 "parameters" : {
6231 "additionalProperties" : 0,
6232 "properties" : {
6233 "pending" : {
6234 "description" : "Display pending config.",
6235 "optional" : 1,
6236 "type" : "boolean",
6237 "typetext" : "<boolean>"
6238 },
6239 "running" : {
6240 "description" : "Display running config.",
6241 "optional" : 1,
6242 "type" : "boolean",
6243 "typetext" : "<boolean>"
6244 },
6245 "subnet" : {
6246 "description" : "The SDN subnet object identifier.",
6247 "format" : "pve-sdn-subnet-id",
6248 "type" : "string",
6249 "typetext" : "<string>"
6250 },
6251 "vnet" : {
6252 "description" : "The SDN vnet object identifier.",
6253 "format" : "pve-sdn-vnet-id",
6254 "type" : "string",
6255 "typetext" : "<string>"
6256 }
6257 }
6258 },
6259 "permissions" : {
6260 "check" : [
6261 "perm",
6262 "/sdn/vnets/{vnet}/subnets/{subnet}",
6263 [
6264 "SDN.Allocate"
6265 ]
6266 ]
6267 },
6268 "returns" : {
6269 "type" : "object"
6270 }
6271 },
6272 "PUT" : {
6273 "allowtoken" : 1,
6274 "description" : "Update sdn subnet object configuration.",
6275 "method" : "PUT",
6276 "name" : "update",
6277 "parameters" : {
6278 "additionalProperties" : 0,
6279 "properties" : {
6280 "delete" : {
6281 "description" : "A list of settings you want to delete.",
6282 "format" : "pve-configid-list",
6283 "maxLength" : 4096,
6284 "optional" : 1,
6285 "type" : "string",
6286 "typetext" : "<string>"
6287 },
6288 "digest" : {
6289 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6290 "maxLength" : 40,
6291 "optional" : 1,
6292 "type" : "string",
6293 "typetext" : "<string>"
6294 },
6295 "dnszoneprefix" : {
6296 "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
6297 "format" : "dns-name",
6298 "optional" : 1,
6299 "type" : "string",
6300 "typetext" : "<string>"
6301 },
6302 "gateway" : {
6303 "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
6304 "format" : "ip",
6305 "optional" : 1,
6306 "type" : "string",
6307 "typetext" : "<string>"
6308 },
6309 "snat" : {
6310 "description" : "enable masquerade for this subnet if pve-firewall",
6311 "optional" : 1,
6312 "type" : "boolean",
6313 "typetext" : "<boolean>"
6314 },
6315 "subnet" : {
6316 "description" : "The SDN subnet object identifier.",
6317 "format" : "pve-sdn-subnet-id",
6318 "type" : "string",
6319 "typetext" : "<string>"
6320 },
6321 "vnet" : {
6322 "description" : "associated vnet",
6323 "optional" : 1,
6324 "type" : "string",
6325 "typetext" : "<string>"
6326 }
6327 },
6328 "type" : "object"
6329 },
6330 "permissions" : {
6331 "check" : [
6332 "perm",
6333 "/sdn/vnets/{vnet}/subnets",
6334 [
6335 "SDN.Allocate"
6336 ]
6337 ]
6338 },
6339 "protected" : 1,
6340 "returns" : {
6341 "type" : "null"
6342 }
6343 }
6344 },
6345 "leaf" : 1,
6346 "path" : "/cluster/sdn/vnets/{vnet}/subnets/{subnet}",
6347 "text" : "{subnet}"
6348 }
6349 ],
6350 "info" : {
6351 "GET" : {
6352 "allowtoken" : 1,
6353 "description" : "SDN subnets index.",
6354 "method" : "GET",
6355 "name" : "index",
6356 "parameters" : {
6357 "additionalProperties" : 0,
6358 "properties" : {
6359 "pending" : {
6360 "description" : "Display pending config.",
6361 "optional" : 1,
6362 "type" : "boolean",
6363 "typetext" : "<boolean>"
6364 },
6365 "running" : {
6366 "description" : "Display running config.",
6367 "optional" : 1,
6368 "type" : "boolean",
6369 "typetext" : "<boolean>"
6370 },
6371 "vnet" : {
6372 "description" : "The SDN vnet object identifier.",
6373 "format" : "pve-sdn-vnet-id",
6374 "type" : "string",
6375 "typetext" : "<string>"
6376 }
6377 }
6378 },
6379 "permissions" : {
6380 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
6381 "user" : "all"
6382 },
6383 "returns" : {
6384 "items" : {
6385 "properties" : {},
6386 "type" : "object"
6387 },
6388 "links" : [
6389 {
6390 "href" : "{subnet}",
6391 "rel" : "child"
6392 }
6393 ],
6394 "type" : "array"
6395 }
6396 },
6397 "POST" : {
6398 "allowtoken" : 1,
6399 "description" : "Create a new sdn subnet object.",
6400 "method" : "POST",
6401 "name" : "create",
6402 "parameters" : {
6403 "additionalProperties" : 0,
6404 "properties" : {
6405 "dnszoneprefix" : {
6406 "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
6407 "format" : "dns-name",
6408 "optional" : 1,
6409 "type" : "string",
6410 "typetext" : "<string>"
6411 },
6412 "gateway" : {
6413 "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
6414 "format" : "ip",
6415 "optional" : 1,
6416 "type" : "string",
6417 "typetext" : "<string>"
6418 },
6419 "snat" : {
6420 "description" : "enable masquerade for this subnet if pve-firewall",
6421 "optional" : 1,
6422 "type" : "boolean",
6423 "typetext" : "<boolean>"
6424 },
6425 "subnet" : {
6426 "description" : "The SDN subnet object identifier.",
6427 "format" : "pve-sdn-subnet-id",
6428 "type" : "string",
6429 "typetext" : "<string>"
6430 },
6431 "type" : {
6432 "enum" : [
6433 "subnet"
6434 ],
6435 "type" : "string"
6436 },
6437 "vnet" : {
6438 "description" : "associated vnet",
6439 "optional" : 0,
6440 "type" : "string",
6441 "typetext" : "<string>"
6442 }
6443 },
6444 "type" : "object"
6445 },
6446 "permissions" : {
6447 "check" : [
6448 "perm",
6449 "/sdn/vnets/{vnet}/subnets",
6450 [
6451 "SDN.Allocate"
6452 ]
6453 ]
6454 },
6455 "protected" : 1,
6456 "returns" : {
6457 "type" : "null"
6458 }
6459 }
6460 },
6461 "leaf" : 0,
6462 "path" : "/cluster/sdn/vnets/{vnet}/subnets",
6463 "text" : "subnets"
6464 }
6465 ],
c5aa7e14
TL
6466 "info" : {
6467 "DELETE" : {
6468 "allowtoken" : 1,
6469 "description" : "Delete sdn vnet object configuration.",
6470 "method" : "DELETE",
6471 "name" : "delete",
6472 "parameters" : {
6473 "additionalProperties" : 0,
6474 "properties" : {
6475 "vnet" : {
6476 "description" : "The SDN vnet object identifier.",
6477 "format" : "pve-sdn-vnet-id",
6478 "type" : "string",
6479 "typetext" : "<string>"
6480 }
6481 }
6482 },
6483 "permissions" : {
6484 "check" : [
6485 "perm",
6486 "/sdn/vnets",
6487 [
6488 "SDN.Allocate"
6489 ]
6490 ]
6491 },
6492 "protected" : 1,
6493 "returns" : {
6494 "type" : "null"
6495 }
6496 },
6497 "GET" : {
6498 "allowtoken" : 1,
6499 "description" : "Read sdn vnet configuration.",
6500 "method" : "GET",
6501 "name" : "read",
6502 "parameters" : {
6503 "additionalProperties" : 0,
6504 "properties" : {
d2656385
TL
6505 "pending" : {
6506 "description" : "Display pending config.",
6507 "optional" : 1,
6508 "type" : "boolean",
6509 "typetext" : "<boolean>"
6510 },
6511 "running" : {
6512 "description" : "Display running config.",
6513 "optional" : 1,
6514 "type" : "boolean",
6515 "typetext" : "<boolean>"
6516 },
c5aa7e14
TL
6517 "vnet" : {
6518 "description" : "The SDN vnet object identifier.",
6519 "format" : "pve-sdn-vnet-id",
6520 "type" : "string",
6521 "typetext" : "<string>"
6522 }
6523 }
6524 },
6525 "permissions" : {
6526 "check" : [
6527 "perm",
6528 "/sdn/vnets/{vnet}",
6529 [
6530 "SDN.Allocate"
6531 ]
6532 ]
6533 },
6534 "returns" : {
6535 "type" : "object"
6536 }
6537 },
6538 "PUT" : {
6539 "allowtoken" : 1,
6540 "description" : "Update sdn vnet object configuration.",
6541 "method" : "PUT",
6542 "name" : "update",
6543 "parameters" : {
6544 "additionalProperties" : 0,
6545 "properties" : {
6546 "alias" : {
6547 "description" : "alias name of the vnet",
6548 "optional" : 1,
6549 "type" : "string",
6550 "typetext" : "<string>"
6551 },
6552 "delete" : {
6553 "description" : "A list of settings you want to delete.",
6554 "format" : "pve-configid-list",
6555 "maxLength" : 4096,
6556 "optional" : 1,
6557 "type" : "string",
6558 "typetext" : "<string>"
6559 },
6560 "digest" : {
6561 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6562 "maxLength" : 40,
6563 "optional" : 1,
6564 "type" : "string",
6565 "typetext" : "<string>"
6566 },
c5aa7e14
TL
6567 "tag" : {
6568 "description" : "vlan or vxlan id",
6569 "optional" : 1,
6570 "type" : "integer",
6571 "typetext" : "<integer>"
6572 },
ac70d7d1
TL
6573 "vlanaware" : {
6574 "description" : "Allow vm VLANs to pass through this vnet.",
6575 "optional" : 1,
6576 "type" : "boolean",
6577 "typetext" : "<boolean>"
6578 },
c5aa7e14
TL
6579 "vnet" : {
6580 "description" : "The SDN vnet object identifier.",
6581 "format" : "pve-sdn-vnet-id",
6582 "type" : "string",
6583 "typetext" : "<string>"
6584 },
6585 "zone" : {
6586 "description" : "zone id",
6587 "optional" : 1,
6588 "type" : "string",
6589 "typetext" : "<string>"
6590 }
6591 },
6592 "type" : "object"
6593 },
6594 "permissions" : {
6595 "check" : [
6596 "perm",
6597 "/sdn/vnets",
6598 [
6599 "SDN.Allocate"
6600 ]
6601 ]
6602 },
6603 "protected" : 1,
6604 "returns" : {
6605 "type" : "null"
6606 }
6607 }
6608 },
d2656385 6609 "leaf" : 0,
c5aa7e14
TL
6610 "path" : "/cluster/sdn/vnets/{vnet}",
6611 "text" : "{vnet}"
6612 }
6613 ],
6614 "info" : {
6615 "GET" : {
6616 "allowtoken" : 1,
6617 "description" : "SDN vnets index.",
6618 "method" : "GET",
6619 "name" : "index",
6620 "parameters" : {
d2656385
TL
6621 "additionalProperties" : 0,
6622 "properties" : {
6623 "pending" : {
6624 "description" : "Display pending config.",
6625 "optional" : 1,
6626 "type" : "boolean",
6627 "typetext" : "<boolean>"
6628 },
6629 "running" : {
6630 "description" : "Display running config.",
6631 "optional" : 1,
6632 "type" : "boolean",
6633 "typetext" : "<boolean>"
6634 }
6635 }
c5aa7e14
TL
6636 },
6637 "permissions" : {
6638 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
6639 "user" : "all"
6640 },
6641 "returns" : {
6642 "items" : {
6643 "properties" : {},
6644 "type" : "object"
6645 },
6646 "links" : [
6647 {
6648 "href" : "{vnet}",
6649 "rel" : "child"
6650 }
6651 ],
6652 "type" : "array"
6653 }
6654 },
6655 "POST" : {
6656 "allowtoken" : 1,
6657 "description" : "Create a new sdn vnet object.",
6658 "method" : "POST",
6659 "name" : "create",
6660 "parameters" : {
6661 "additionalProperties" : 0,
6662 "properties" : {
6663 "alias" : {
6664 "description" : "alias name of the vnet",
6665 "optional" : 1,
6666 "type" : "string",
6667 "typetext" : "<string>"
6668 },
c5aa7e14
TL
6669 "tag" : {
6670 "description" : "vlan or vxlan id",
ac70d7d1 6671 "optional" : 1,
c5aa7e14
TL
6672 "type" : "integer",
6673 "typetext" : "<integer>"
6674 },
6675 "type" : {
6676 "description" : "Type",
6677 "enum" : [
6678 "vnet"
6679 ],
6680 "optional" : 1,
6681 "type" : "string"
6682 },
ac70d7d1
TL
6683 "vlanaware" : {
6684 "description" : "Allow vm VLANs to pass through this vnet.",
6685 "optional" : 1,
6686 "type" : "boolean",
6687 "typetext" : "<boolean>"
6688 },
c5aa7e14
TL
6689 "vnet" : {
6690 "description" : "The SDN vnet object identifier.",
6691 "format" : "pve-sdn-vnet-id",
6692 "type" : "string",
6693 "typetext" : "<string>"
6694 },
6695 "zone" : {
6696 "description" : "zone id",
6697 "optional" : 0,
6698 "type" : "string",
6699 "typetext" : "<string>"
6700 }
6701 },
6702 "type" : "object"
6703 },
6704 "permissions" : {
6705 "check" : [
6706 "perm",
6707 "/sdn/vnets",
6708 [
6709 "SDN.Allocate"
6710 ]
6711 ]
6712 },
6713 "protected" : 1,
6714 "returns" : {
6715 "type" : "null"
6716 }
6717 }
6718 },
6719 "leaf" : 0,
6720 "path" : "/cluster/sdn/vnets",
6721 "text" : "vnets"
6722 },
6723 {
6724 "children" : [
6725 {
6726 "info" : {
6727 "DELETE" : {
6728 "allowtoken" : 1,
6729 "description" : "Delete sdn zone object configuration.",
6730 "method" : "DELETE",
6731 "name" : "delete",
6732 "parameters" : {
6733 "additionalProperties" : 0,
6734 "properties" : {
6735 "zone" : {
6736 "description" : "The SDN zone object identifier.",
6737 "format" : "pve-sdn-zone-id",
6738 "type" : "string",
6739 "typetext" : "<string>"
6740 }
6741 }
6742 },
6743 "permissions" : {
6744 "check" : [
6745 "perm",
6746 "/sdn/zones",
6747 [
6748 "SDN.Allocate"
6749 ]
6750 ]
6751 },
6752 "protected" : 1,
6753 "returns" : {
6754 "type" : "null"
6755 }
6756 },
6757 "GET" : {
6758 "allowtoken" : 1,
6759 "description" : "Read sdn zone configuration.",
6760 "method" : "GET",
6761 "name" : "read",
6762 "parameters" : {
6763 "additionalProperties" : 0,
6764 "properties" : {
d2656385
TL
6765 "pending" : {
6766 "description" : "Display pending config.",
6767 "optional" : 1,
6768 "type" : "boolean",
6769 "typetext" : "<boolean>"
6770 },
6771 "running" : {
6772 "description" : "Display running config.",
6773 "optional" : 1,
6774 "type" : "boolean",
6775 "typetext" : "<boolean>"
6776 },
c5aa7e14
TL
6777 "zone" : {
6778 "description" : "The SDN zone object identifier.",
6779 "format" : "pve-sdn-zone-id",
6780 "type" : "string",
6781 "typetext" : "<string>"
6782 }
6783 }
6784 },
6785 "permissions" : {
6786 "check" : [
6787 "perm",
6788 "/sdn/zones/{zone}",
6789 [
6790 "SDN.Allocate"
6791 ]
6792 ]
6793 },
6794 "returns" : {
6795 "type" : "object"
6796 }
6797 },
6798 "PUT" : {
6799 "allowtoken" : 1,
6800 "description" : "Update sdn zone object configuration.",
6801 "method" : "PUT",
6802 "name" : "update",
6803 "parameters" : {
6804 "additionalProperties" : 0,
6805 "properties" : {
6806 "bridge" : {
6807 "optional" : 1,
6808 "type" : "string",
6809 "typetext" : "<string>"
6810 },
6811 "controller" : {
6812 "description" : "Frr router name",
6813 "optional" : 1,
6814 "type" : "string",
6815 "typetext" : "<string>"
6816 },
6817 "delete" : {
6818 "description" : "A list of settings you want to delete.",
6819 "format" : "pve-configid-list",
6820 "maxLength" : 4096,
6821 "optional" : 1,
6822 "type" : "string",
6823 "typetext" : "<string>"
6824 },
6825 "digest" : {
6826 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6827 "maxLength" : 40,
6828 "optional" : 1,
6829 "type" : "string",
6830 "typetext" : "<string>"
6831 },
d2656385
TL
6832 "dns" : {
6833 "description" : "dns api server",
6834 "optional" : 1,
6835 "type" : "string",
6836 "typetext" : "<string>"
6837 },
6838 "dnszone" : {
6839 "description" : "dns domain zone ex: mydomain.com",
6840 "format" : "dns-name",
6841 "optional" : 1,
6842 "type" : "string",
6843 "typetext" : "<string>"
6844 },
c5aa7e14
TL
6845 "dp-id" : {
6846 "description" : "Faucet dataplane id",
6847 "optional" : 1,
6848 "type" : "integer",
6849 "typetext" : "<integer>"
6850 },
d2656385
TL
6851 "exitnodes" : {
6852 "description" : "List of cluster node names.",
6853 "format" : "pve-node-list",
6854 "optional" : 1,
6855 "type" : "string",
6856 "typetext" : "<string>"
6857 },
6858 "ipam" : {
6859 "description" : "use a specific ipam",
e7084ef7 6860 "optional" : 1,
d2656385
TL
6861 "type" : "string",
6862 "typetext" : "<string>"
6863 },
6864 "mac" : {
6865 "description" : "Anycast logical router mac address",
6866 "format" : "mac-addr",
6867 "optional" : 1,
6868 "type" : "string",
6869 "typetext" : "<string>"
6870 },
c5aa7e14 6871 "mtu" : {
ac70d7d1 6872 "description" : "MTU",
c5aa7e14
TL
6873 "optional" : 1,
6874 "type" : "integer",
6875 "typetext" : "<integer>"
6876 },
6877 "nodes" : {
6878 "description" : "List of cluster node names.",
6879 "format" : "pve-node-list",
6880 "optional" : 1,
6881 "type" : "string",
6882 "typetext" : "<string>"
6883 },
6884 "peers" : {
6885 "description" : "peers address list.",
6886 "format" : "ip-list",
6887 "optional" : 1,
6888 "type" : "string",
6889 "typetext" : "<string>"
6890 },
d2656385
TL
6891 "reversedns" : {
6892 "description" : "reverse dns api server",
6893 "optional" : 1,
6894 "type" : "string",
6895 "typetext" : "<string>"
6896 },
c5aa7e14 6897 "tag" : {
ac70d7d1
TL
6898 "description" : "Service-VLAN Tag",
6899 "minimum" : 0,
c5aa7e14
TL
6900 "optional" : 1,
6901 "type" : "integer",
ac70d7d1
TL
6902 "typetext" : "<integer> (0 - N)"
6903 },
6904 "vlan-protocol" : {
6905 "default" : "802.1q",
6906 "enum" : [
6907 "802.1q",
6908 "802.1ad"
6909 ],
6910 "optional" : 1,
6911 "type" : "string"
c5aa7e14
TL
6912 },
6913 "vrf-vxlan" : {
6914 "description" : "l3vni.",
6915 "optional" : 1,
6916 "type" : "integer",
6917 "typetext" : "<integer>"
6918 },
6919 "zone" : {
6920 "description" : "The SDN zone object identifier.",
6921 "format" : "pve-sdn-zone-id",
6922 "type" : "string",
6923 "typetext" : "<string>"
6924 }
6925 },
6926 "type" : "object"
6927 },
6928 "permissions" : {
6929 "check" : [
6930 "perm",
6931 "/sdn/zones",
6932 [
6933 "SDN.Allocate"
6934 ]
6935 ]
6936 },
6937 "protected" : 1,
6938 "returns" : {
6939 "type" : "null"
6940 }
6941 }
6942 },
6943 "leaf" : 1,
6944 "path" : "/cluster/sdn/zones/{zone}",
6945 "text" : "{zone}"
6946 }
6947 ],
6948 "info" : {
6949 "GET" : {
6950 "allowtoken" : 1,
6951 "description" : "SDN zones index.",
6952 "method" : "GET",
6953 "name" : "index",
6954 "parameters" : {
6955 "additionalProperties" : 0,
6956 "properties" : {
d2656385
TL
6957 "pending" : {
6958 "description" : "Display pending config.",
6959 "optional" : 1,
6960 "type" : "boolean",
6961 "typetext" : "<boolean>"
6962 },
6963 "running" : {
6964 "description" : "Display running config.",
6965 "optional" : 1,
6966 "type" : "boolean",
6967 "typetext" : "<boolean>"
6968 },
c5aa7e14 6969 "type" : {
e7084ef7 6970 "description" : "Only list SDN zones of specific type",
c5aa7e14
TL
6971 "enum" : [
6972 "evpn",
6973 "faucet",
6974 "qinq",
ac70d7d1 6975 "simple",
c5aa7e14
TL
6976 "vlan",
6977 "vxlan"
6978 ],
6979 "optional" : 1,
6980 "type" : "string"
6981 }
6982 }
6983 },
6984 "permissions" : {
6985 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'",
6986 "user" : "all"
6987 },
6988 "returns" : {
6989 "items" : {
6990 "properties" : {
d2656385
TL
6991 "dns" : {
6992 "optional" : 1,
6993 "type" : "string"
6994 },
6995 "dnszone" : {
6996 "optional" : 1,
6997 "type" : "string"
6998 },
6999 "ipam" : {
7000 "optional" : 1,
7001 "type" : "string"
7002 },
7003 "mtu" : {
7004 "optional" : 1,
7005 "type" : "integer"
7006 },
7007 "nodes" : {
7008 "optional" : 1,
7009 "type" : "string"
7010 },
7011 "pending" : {
7012 "optional" : 1
7013 },
7014 "reversedns" : {
7015 "optional" : 1,
7016 "type" : "string"
7017 },
7018 "state" : {
7019 "optional" : 1,
7020 "type" : "string"
7021 },
c5aa7e14
TL
7022 "type" : {
7023 "type" : "string"
7024 },
7025 "zone" : {
7026 "type" : "string"
7027 }
7028 },
7029 "type" : "object"
7030 },
7031 "links" : [
7032 {
7033 "href" : "{zone}",
7034 "rel" : "child"
7035 }
7036 ],
7037 "type" : "array"
7038 }
7039 },
7040 "POST" : {
7041 "allowtoken" : 1,
7042 "description" : "Create a new sdn zone object.",
7043 "method" : "POST",
7044 "name" : "create",
7045 "parameters" : {
7046 "additionalProperties" : 0,
7047 "properties" : {
7048 "bridge" : {
7049 "optional" : 1,
7050 "type" : "string",
7051 "typetext" : "<string>"
7052 },
7053 "controller" : {
7054 "description" : "Frr router name",
7055 "optional" : 1,
7056 "type" : "string",
7057 "typetext" : "<string>"
7058 },
d2656385
TL
7059 "dns" : {
7060 "description" : "dns api server",
7061 "optional" : 1,
7062 "type" : "string",
7063 "typetext" : "<string>"
7064 },
7065 "dnszone" : {
7066 "description" : "dns domain zone ex: mydomain.com",
7067 "format" : "dns-name",
7068 "optional" : 1,
7069 "type" : "string",
7070 "typetext" : "<string>"
7071 },
c5aa7e14
TL
7072 "dp-id" : {
7073 "description" : "Faucet dataplane id",
7074 "optional" : 1,
7075 "type" : "integer",
7076 "typetext" : "<integer>"
7077 },
d2656385
TL
7078 "exitnodes" : {
7079 "description" : "List of cluster node names.",
7080 "format" : "pve-node-list",
7081 "optional" : 1,
7082 "type" : "string",
7083 "typetext" : "<string>"
7084 },
7085 "ipam" : {
7086 "description" : "use a specific ipam",
e7084ef7 7087 "optional" : 1,
d2656385
TL
7088 "type" : "string",
7089 "typetext" : "<string>"
7090 },
7091 "mac" : {
7092 "description" : "Anycast logical router mac address",
7093 "format" : "mac-addr",
7094 "optional" : 1,
7095 "type" : "string",
7096 "typetext" : "<string>"
7097 },
c5aa7e14 7098 "mtu" : {
ac70d7d1 7099 "description" : "MTU",
c5aa7e14
TL
7100 "optional" : 1,
7101 "type" : "integer",
7102 "typetext" : "<integer>"
7103 },
7104 "nodes" : {
7105 "description" : "List of cluster node names.",
7106 "format" : "pve-node-list",
7107 "optional" : 1,
7108 "type" : "string",
7109 "typetext" : "<string>"
7110 },
7111 "peers" : {
7112 "description" : "peers address list.",
7113 "format" : "ip-list",
7114 "optional" : 1,
7115 "type" : "string",
7116 "typetext" : "<string>"
7117 },
d2656385
TL
7118 "reversedns" : {
7119 "description" : "reverse dns api server",
7120 "optional" : 1,
7121 "type" : "string",
7122 "typetext" : "<string>"
7123 },
c5aa7e14 7124 "tag" : {
ac70d7d1
TL
7125 "description" : "Service-VLAN Tag",
7126 "minimum" : 0,
c5aa7e14
TL
7127 "optional" : 1,
7128 "type" : "integer",
ac70d7d1 7129 "typetext" : "<integer> (0 - N)"
c5aa7e14
TL
7130 },
7131 "type" : {
7132 "description" : "Plugin type.",
7133 "enum" : [
7134 "evpn",
7135 "faucet",
7136 "qinq",
ac70d7d1 7137 "simple",
c5aa7e14
TL
7138 "vlan",
7139 "vxlan"
7140 ],
7141 "format" : "pve-configid",
7142 "type" : "string"
7143 },
ac70d7d1
TL
7144 "vlan-protocol" : {
7145 "default" : "802.1q",
7146 "enum" : [
7147 "802.1q",
7148 "802.1ad"
7149 ],
7150 "optional" : 1,
7151 "type" : "string"
7152 },
c5aa7e14
TL
7153 "vrf-vxlan" : {
7154 "description" : "l3vni.",
7155 "optional" : 1,
7156 "type" : "integer",
7157 "typetext" : "<integer>"
7158 },
7159 "zone" : {
7160 "description" : "The SDN zone object identifier.",
7161 "format" : "pve-sdn-zone-id",
7162 "type" : "string",
7163 "typetext" : "<string>"
7164 }
7165 },
7166 "type" : "object"
7167 },
7168 "permissions" : {
7169 "check" : [
7170 "perm",
7171 "/sdn/zones",
7172 [
7173 "SDN.Allocate"
7174 ]
7175 ]
7176 },
7177 "protected" : 1,
7178 "returns" : {
7179 "type" : "null"
7180 }
7181 }
7182 },
7183 "leaf" : 0,
7184 "path" : "/cluster/sdn/zones",
7185 "text" : "zones"
7186 },
7187 {
7188 "children" : [
7189 {
7190 "info" : {
7191 "DELETE" : {
7192 "allowtoken" : 1,
7193 "description" : "Delete sdn controller object configuration.",
7194 "method" : "DELETE",
7195 "name" : "delete",
7196 "parameters" : {
7197 "additionalProperties" : 0,
7198 "properties" : {
7199 "controller" : {
7200 "description" : "The SDN controller object identifier.",
7201 "format" : "pve-sdn-controller-id",
7202 "type" : "string",
7203 "typetext" : "<string>"
7204 }
7205 }
7206 },
7207 "permissions" : {
7208 "check" : [
7209 "perm",
7210 "/sdn/controllers",
7211 [
7212 "SDN.Allocate"
7213 ]
7214 ]
7215 },
7216 "protected" : 1,
7217 "returns" : {
7218 "type" : "null"
7219 }
7220 },
7221 "GET" : {
7222 "allowtoken" : 1,
7223 "description" : "Read sdn controller configuration.",
7224 "method" : "GET",
7225 "name" : "read",
7226 "parameters" : {
7227 "additionalProperties" : 0,
7228 "properties" : {
7229 "controller" : {
7230 "description" : "The SDN controller object identifier.",
7231 "format" : "pve-sdn-controller-id",
7232 "type" : "string",
7233 "typetext" : "<string>"
d2656385
TL
7234 },
7235 "pending" : {
7236 "description" : "Display pending config.",
7237 "optional" : 1,
7238 "type" : "boolean",
7239 "typetext" : "<boolean>"
7240 },
7241 "running" : {
7242 "description" : "Display running config.",
7243 "optional" : 1,
7244 "type" : "boolean",
7245 "typetext" : "<boolean>"
c5aa7e14
TL
7246 }
7247 }
7248 },
7249 "permissions" : {
7250 "check" : [
7251 "perm",
7252 "/sdn/controllers/{controller}",
7253 [
7254 "SDN.Allocate"
7255 ]
7256 ]
7257 },
7258 "returns" : {
7259 "type" : "object"
7260 }
7261 },
7262 "PUT" : {
7263 "allowtoken" : 1,
7264 "description" : "Update sdn controller object configuration.",
7265 "method" : "PUT",
7266 "name" : "update",
7267 "parameters" : {
7268 "additionalProperties" : 0,
7269 "properties" : {
7270 "asn" : {
7271 "description" : "autonomous system number",
7272 "optional" : 1,
7273 "type" : "integer",
7274 "typetext" : "<integer>"
7275 },
7276 "controller" : {
7277 "description" : "The SDN controller object identifier.",
7278 "format" : "pve-sdn-controller-id",
7279 "type" : "string",
7280 "typetext" : "<string>"
7281 },
7282 "delete" : {
7283 "description" : "A list of settings you want to delete.",
7284 "format" : "pve-configid-list",
7285 "maxLength" : 4096,
7286 "optional" : 1,
7287 "type" : "string",
7288 "typetext" : "<string>"
7289 },
7290 "digest" : {
7291 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7292 "maxLength" : 40,
7293 "optional" : 1,
7294 "type" : "string",
7295 "typetext" : "<string>"
7296 },
d2656385
TL
7297 "ebgp" : {
7298 "description" : "Enable ebgp. (remote-as external)",
7299 "optional" : 1,
7300 "type" : "boolean",
7301 "typetext" : "<boolean>"
7302 },
7303 "ebgp-multihop" : {
7304 "optional" : 1,
7305 "type" : "integer",
7306 "typetext" : "<integer>"
7307 },
7308 "loopback" : {
7309 "description" : "source loopback interface.",
c5aa7e14
TL
7310 "optional" : 1,
7311 "type" : "string",
7312 "typetext" : "<string>"
7313 },
d2656385
TL
7314 "node" : {
7315 "description" : "The cluster node name.",
7316 "format" : "pve-node",
c5aa7e14
TL
7317 "optional" : 1,
7318 "type" : "string",
7319 "typetext" : "<string>"
7320 },
7321 "peers" : {
7322 "description" : "peers address list.",
7323 "format" : "ip-list",
7324 "optional" : 1,
7325 "type" : "string",
7326 "typetext" : "<string>"
7327 }
7328 },
7329 "type" : "object"
7330 },
7331 "permissions" : {
7332 "check" : [
7333 "perm",
7334 "/sdn/controllers",
7335 [
7336 "SDN.Allocate"
7337 ]
7338 ]
7339 },
7340 "protected" : 1,
7341 "returns" : {
7342 "type" : "null"
7343 }
7344 }
7345 },
7346 "leaf" : 1,
7347 "path" : "/cluster/sdn/controllers/{controller}",
7348 "text" : "{controller}"
7349 }
7350 ],
7351 "info" : {
7352 "GET" : {
7353 "allowtoken" : 1,
7354 "description" : "SDN controllers index.",
7355 "method" : "GET",
7356 "name" : "index",
7357 "parameters" : {
7358 "additionalProperties" : 0,
7359 "properties" : {
d2656385
TL
7360 "pending" : {
7361 "description" : "Display pending config.",
7362 "optional" : 1,
7363 "type" : "boolean",
7364 "typetext" : "<boolean>"
7365 },
7366 "running" : {
7367 "description" : "Display running config.",
7368 "optional" : 1,
7369 "type" : "boolean",
7370 "typetext" : "<boolean>"
7371 },
c5aa7e14
TL
7372 "type" : {
7373 "description" : "Only list sdn controllers of specific type",
7374 "enum" : [
d2656385 7375 "bgp",
c5aa7e14
TL
7376 "evpn",
7377 "faucet"
7378 ],
7379 "optional" : 1,
7380 "type" : "string"
7381 }
7382 }
7383 },
7384 "permissions" : {
7385 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'",
7386 "user" : "all"
7387 },
7388 "returns" : {
7389 "items" : {
7390 "properties" : {
7391 "controller" : {
7392 "type" : "string"
7393 },
d2656385
TL
7394 "pending" : {
7395 "optional" : 1
7396 },
7397 "state" : {
7398 "optional" : 1,
7399 "type" : "string"
7400 },
c5aa7e14
TL
7401 "type" : {
7402 "type" : "string"
7403 }
7404 },
7405 "type" : "object"
7406 },
7407 "links" : [
7408 {
7409 "href" : "{controller}",
7410 "rel" : "child"
7411 }
7412 ],
7413 "type" : "array"
7414 }
7415 },
7416 "POST" : {
7417 "allowtoken" : 1,
7418 "description" : "Create a new sdn controller object.",
7419 "method" : "POST",
7420 "name" : "create",
7421 "parameters" : {
7422 "additionalProperties" : 0,
7423 "properties" : {
7424 "asn" : {
7425 "description" : "autonomous system number",
7426 "optional" : 1,
7427 "type" : "integer",
7428 "typetext" : "<integer>"
7429 },
7430 "controller" : {
7431 "description" : "The SDN controller object identifier.",
7432 "format" : "pve-sdn-controller-id",
7433 "type" : "string",
7434 "typetext" : "<string>"
7435 },
d2656385
TL
7436 "ebgp" : {
7437 "description" : "Enable ebgp. (remote-as external)",
7438 "optional" : 1,
7439 "type" : "boolean",
7440 "typetext" : "<boolean>"
7441 },
7442 "ebgp-multihop" : {
7443 "optional" : 1,
7444 "type" : "integer",
7445 "typetext" : "<integer>"
7446 },
7447 "loopback" : {
7448 "description" : "source loopback interface.",
c5aa7e14
TL
7449 "optional" : 1,
7450 "type" : "string",
7451 "typetext" : "<string>"
7452 },
d2656385
TL
7453 "node" : {
7454 "description" : "The cluster node name.",
7455 "format" : "pve-node",
c5aa7e14
TL
7456 "optional" : 1,
7457 "type" : "string",
7458 "typetext" : "<string>"
7459 },
7460 "peers" : {
7461 "description" : "peers address list.",
7462 "format" : "ip-list",
7463 "optional" : 1,
7464 "type" : "string",
7465 "typetext" : "<string>"
7466 },
7467 "type" : {
7468 "description" : "Plugin type.",
7469 "enum" : [
d2656385 7470 "bgp",
c5aa7e14
TL
7471 "evpn",
7472 "faucet"
7473 ],
7474 "format" : "pve-configid",
7475 "type" : "string"
7476 }
7477 },
7478 "type" : "object"
7479 },
7480 "permissions" : {
7481 "check" : [
7482 "perm",
7483 "/sdn/controllers",
7484 [
7485 "SDN.Allocate"
7486 ]
7487 ]
7488 },
7489 "protected" : 1,
7490 "returns" : {
7491 "type" : "null"
7492 }
7493 }
7494 },
7495 "leaf" : 0,
7496 "path" : "/cluster/sdn/controllers",
7497 "text" : "controllers"
d2656385
TL
7498 },
7499 {
7500 "children" : [
7501 {
7502 "info" : {
7503 "DELETE" : {
7504 "allowtoken" : 1,
7505 "description" : "Delete sdn ipam object configuration.",
7506 "method" : "DELETE",
7507 "name" : "delete",
7508 "parameters" : {
7509 "additionalProperties" : 0,
7510 "properties" : {
7511 "ipam" : {
7512 "description" : "The SDN ipam object identifier.",
7513 "format" : "pve-sdn-ipam-id",
7514 "type" : "string",
7515 "typetext" : "<string>"
7516 }
7517 }
7518 },
7519 "permissions" : {
7520 "check" : [
7521 "perm",
7522 "/sdn/ipams",
7523 [
7524 "SDN.Allocate"
7525 ]
7526 ]
7527 },
7528 "protected" : 1,
7529 "returns" : {
7530 "type" : "null"
7531 }
7532 },
7533 "GET" : {
7534 "allowtoken" : 1,
7535 "description" : "Read sdn ipam configuration.",
7536 "method" : "GET",
7537 "name" : "read",
7538 "parameters" : {
7539 "additionalProperties" : 0,
7540 "properties" : {
7541 "ipam" : {
7542 "description" : "The SDN ipam object identifier.",
7543 "format" : "pve-sdn-ipam-id",
7544 "type" : "string",
7545 "typetext" : "<string>"
7546 }
7547 }
7548 },
7549 "permissions" : {
7550 "check" : [
7551 "perm",
7552 "/sdn/ipams/{ipam}",
7553 [
7554 "SDN.Allocate"
7555 ]
7556 ]
7557 },
7558 "returns" : {
7559 "type" : "object"
7560 }
7561 },
7562 "PUT" : {
7563 "allowtoken" : 1,
7564 "description" : "Update sdn ipam object configuration.",
7565 "method" : "PUT",
7566 "name" : "update",
7567 "parameters" : {
7568 "additionalProperties" : 0,
7569 "properties" : {
7570 "delete" : {
7571 "description" : "A list of settings you want to delete.",
7572 "format" : "pve-configid-list",
7573 "maxLength" : 4096,
7574 "optional" : 1,
7575 "type" : "string",
7576 "typetext" : "<string>"
7577 },
7578 "digest" : {
7579 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7580 "maxLength" : 40,
7581 "optional" : 1,
7582 "type" : "string",
7583 "typetext" : "<string>"
7584 },
7585 "ipam" : {
7586 "description" : "The SDN ipam object identifier.",
7587 "format" : "pve-sdn-ipam-id",
7588 "type" : "string",
7589 "typetext" : "<string>"
7590 },
7591 "section" : {
7592 "optional" : 1,
7593 "type" : "integer",
7594 "typetext" : "<integer>"
7595 },
7596 "token" : {
7597 "optional" : 1,
7598 "type" : "string",
7599 "typetext" : "<string>"
7600 },
7601 "url" : {
7602 "optional" : 1,
7603 "type" : "string",
7604 "typetext" : "<string>"
7605 }
7606 },
7607 "type" : "object"
7608 },
7609 "permissions" : {
7610 "check" : [
7611 "perm",
7612 "/sdn/ipams",
7613 [
7614 "SDN.Allocate"
7615 ]
7616 ]
7617 },
7618 "protected" : 1,
7619 "returns" : {
7620 "type" : "null"
7621 }
c5aa7e14
TL
7622 }
7623 },
d2656385
TL
7624 "leaf" : 1,
7625 "path" : "/cluster/sdn/ipams/{ipam}",
7626 "text" : "{ipam}"
7aacca6f 7627 }
d2656385
TL
7628 ],
7629 "info" : {
7630 "GET" : {
7631 "allowtoken" : 1,
7632 "description" : "SDN ipams index.",
7633 "method" : "GET",
7634 "name" : "index",
7635 "parameters" : {
7636 "additionalProperties" : 0,
7637 "properties" : {
7638 "type" : {
7639 "description" : "Only list sdn ipams of specific type",
7640 "enum" : [
7641 "netbox",
7642 "phpipam",
7643 "pve"
7644 ],
7645 "optional" : 1,
7646 "type" : "string"
7647 }
7648 }
7649 },
7650 "permissions" : {
7651 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/ipams/<ipam>'",
7652 "user" : "all"
7653 },
7654 "returns" : {
7655 "items" : {
7656 "properties" : {
7657 "ipam" : {
7658 "type" : "string"
7659 },
7660 "type" : {
7661 "type" : "string"
7662 }
7663 },
7664 "type" : "object"
7665 },
7666 "links" : [
7667 {
7668 "href" : "{ipam}",
7669 "rel" : "child"
7670 }
44660702 7671 ],
d2656385
TL
7672 "type" : "array"
7673 }
7674 },
7675 "POST" : {
7676 "allowtoken" : 1,
7677 "description" : "Create a new sdn ipam object.",
7678 "method" : "POST",
7679 "name" : "create",
7680 "parameters" : {
7681 "additionalProperties" : 0,
7682 "properties" : {
7683 "ipam" : {
7684 "description" : "The SDN ipam object identifier.",
7685 "format" : "pve-sdn-ipam-id",
7686 "type" : "string",
7687 "typetext" : "<string>"
7688 },
7689 "section" : {
7690 "optional" : 1,
7691 "type" : "integer",
7692 "typetext" : "<integer>"
7693 },
7694 "token" : {
7695 "optional" : 1,
7696 "type" : "string",
7697 "typetext" : "<string>"
7698 },
7699 "type" : {
7700 "description" : "Plugin type.",
7701 "enum" : [
7702 "netbox",
7703 "phpipam",
7704 "pve"
7705 ],
7706 "format" : "pve-configid",
7707 "type" : "string"
7708 },
7709 "url" : {
7710 "optional" : 1,
7711 "type" : "string",
7712 "typetext" : "<string>"
7713 }
7714 },
7715 "type" : "object"
7716 },
7717 "permissions" : {
7718 "check" : [
7719 "perm",
7720 "/sdn/ipams",
7721 [
7722 "SDN.Allocate"
7723 ]
7724 ]
7725 },
7726 "protected" : 1,
7727 "returns" : {
7728 "type" : "null"
56122987
DM
7729 }
7730 }
7731 },
d2656385
TL
7732 "leaf" : 0,
7733 "path" : "/cluster/sdn/ipams",
7734 "text" : "ipams"
7735 },
7736 {
7737 "children" : [
7738 {
7739 "info" : {
7740 "DELETE" : {
7741 "allowtoken" : 1,
7742 "description" : "Delete sdn dns object configuration.",
7743 "method" : "DELETE",
7744 "name" : "delete",
7745 "parameters" : {
7746 "additionalProperties" : 0,
7747 "properties" : {
7748 "dns" : {
7749 "description" : "The SDN dns object identifier.",
7750 "format" : "pve-sdn-dns-id",
7751 "type" : "string",
7752 "typetext" : "<string>"
7753 }
7754 }
7755 },
7756 "permissions" : {
7757 "check" : [
7758 "perm",
7759 "/sdn/dns",
7760 [
7761 "SDN.Allocate"
7762 ]
7763 ]
7764 },
7765 "protected" : 1,
7766 "returns" : {
7767 "type" : "null"
7768 }
7769 },
7770 "GET" : {
7771 "allowtoken" : 1,
7772 "description" : "Read sdn dns configuration.",
7773 "method" : "GET",
7774 "name" : "read",
7775 "parameters" : {
7776 "additionalProperties" : 0,
7777 "properties" : {
7778 "dns" : {
7779 "description" : "The SDN dns object identifier.",
7780 "format" : "pve-sdn-dns-id",
7781 "type" : "string",
7782 "typetext" : "<string>"
7783 }
7784 }
7785 },
7786 "permissions" : {
7787 "check" : [
7788 "perm",
7789 "/sdn/dns/{dns}",
7790 [
7791 "SDN.Allocate"
7792 ]
7793 ]
7794 },
7795 "returns" : {
7796 "type" : "object"
7797 }
7798 },
7799 "PUT" : {
7800 "allowtoken" : 1,
7801 "description" : "Update sdn dns object configuration.",
7802 "method" : "PUT",
7803 "name" : "update",
7804 "parameters" : {
7805 "additionalProperties" : 0,
7806 "properties" : {
7807 "delete" : {
7808 "description" : "A list of settings you want to delete.",
7809 "format" : "pve-configid-list",
7810 "maxLength" : 4096,
7811 "optional" : 1,
7812 "type" : "string",
7813 "typetext" : "<string>"
7814 },
7815 "digest" : {
7816 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7817 "maxLength" : 40,
7818 "optional" : 1,
7819 "type" : "string",
7820 "typetext" : "<string>"
7821 },
7822 "dns" : {
7823 "description" : "The SDN dns object identifier.",
7824 "format" : "pve-sdn-dns-id",
7825 "type" : "string",
7826 "typetext" : "<string>"
7827 },
7828 "key" : {
7829 "optional" : 1,
7830 "type" : "string",
7831 "typetext" : "<string>"
7832 },
7833 "reversemaskv6" : {
7834 "optional" : 1,
7835 "type" : "integer",
7836 "typetext" : "<integer>"
7837 },
7838 "ttl" : {
7839 "optional" : 1,
7840 "type" : "integer",
7841 "typetext" : "<integer>"
7842 },
7843 "url" : {
7844 "optional" : 1,
7845 "type" : "string",
7846 "typetext" : "<string>"
7847 }
7848 },
7849 "type" : "object"
7850 },
7851 "permissions" : {
7852 "check" : [
7853 "perm",
7854 "/sdn/dns",
7855 [
7856 "SDN.Allocate"
7857 ]
7858 ]
7859 },
7860 "protected" : 1,
7861 "returns" : {
7862 "type" : "null"
7863 }
7864 }
7865 },
7866 "leaf" : 1,
7867 "path" : "/cluster/sdn/dns/{dns}",
7868 "text" : "{dns}"
7869 }
7870 ],
7871 "info" : {
7872 "GET" : {
7873 "allowtoken" : 1,
7874 "description" : "SDN dns index.",
7875 "method" : "GET",
7876 "name" : "index",
7877 "parameters" : {
7878 "additionalProperties" : 0,
7879 "properties" : {
7880 "type" : {
7881 "description" : "Only list sdn dns of specific type",
7882 "enum" : [
7883 "powerdns"
7884 ],
7885 "optional" : 1,
7886 "type" : "string"
7887 }
7888 }
7889 },
7890 "permissions" : {
7891 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/dns/<dns>'",
7892 "user" : "all"
7893 },
7894 "returns" : {
7895 "items" : {
7896 "properties" : {
7897 "dns" : {
7898 "type" : "string"
7899 },
7900 "type" : {
7901 "type" : "string"
7902 }
7903 },
7904 "type" : "object"
7905 },
7906 "links" : [
7907 {
7908 "href" : "{dns}",
7909 "rel" : "child"
7910 }
7911 ],
7912 "type" : "array"
7913 }
7914 },
7915 "POST" : {
7916 "allowtoken" : 1,
7917 "description" : "Create a new sdn dns object.",
7918 "method" : "POST",
7919 "name" : "create",
7920 "parameters" : {
7921 "additionalProperties" : 0,
7922 "properties" : {
7923 "dns" : {
7924 "description" : "The SDN dns object identifier.",
7925 "format" : "pve-sdn-dns-id",
7926 "type" : "string",
7927 "typetext" : "<string>"
7928 },
7929 "key" : {
7930 "optional" : 0,
7931 "type" : "string",
7932 "typetext" : "<string>"
7933 },
7934 "reversemaskv6" : {
7935 "optional" : 1,
7936 "type" : "integer",
7937 "typetext" : "<integer>"
7938 },
7939 "reversev6mask" : {
7940 "optional" : 1,
7941 "type" : "integer",
7942 "typetext" : "<integer>"
7943 },
7944 "ttl" : {
7945 "optional" : 1,
7946 "type" : "integer",
7947 "typetext" : "<integer>"
7948 },
7949 "type" : {
7950 "description" : "Plugin type.",
7951 "enum" : [
7952 "powerdns"
7953 ],
7954 "format" : "pve-configid",
7955 "type" : "string"
7956 },
7957 "url" : {
7958 "optional" : 0,
7959 "type" : "string",
7960 "typetext" : "<string>"
7961 }
7962 },
7963 "type" : "object"
7964 },
7965 "permissions" : {
7966 "check" : [
7967 "perm",
7968 "/sdn/dns",
7969 [
7970 "SDN.Allocate"
7971 ]
7972 ]
7973 },
7974 "protected" : 1,
7975 "returns" : {
7976 "type" : "null"
7977 }
7978 }
7979 },
7980 "leaf" : 0,
7981 "path" : "/cluster/sdn/dns",
7982 "text" : "dns"
7983 }
7984 ],
7985 "info" : {
7986 "GET" : {
7987 "allowtoken" : 1,
7988 "description" : "Directory index.",
7989 "method" : "GET",
7990 "name" : "index",
7991 "parameters" : {
7992 "additionalProperties" : 0
7993 },
7994 "permissions" : {
7995 "check" : [
7996 "perm",
7997 "/",
7998 [
7999 "SDN.Audit"
8000 ]
8001 ]
8002 },
8003 "returns" : {
8004 "items" : {
8005 "properties" : {
8006 "id" : {
8007 "type" : "string"
8008 }
8009 },
8010 "type" : "object"
8011 },
8012 "links" : [
8013 {
8014 "href" : "{id}",
8015 "rel" : "child"
8016 }
8017 ],
8018 "type" : "array"
8019 }
8020 },
8021 "PUT" : {
8022 "allowtoken" : 1,
8023 "description" : "Apply sdn controller changes && reload.",
8024 "method" : "PUT",
8025 "name" : "reload",
8026 "parameters" : {
8027 "additionalProperties" : 0
8028 },
8029 "permissions" : {
8030 "check" : [
8031 "perm",
8032 "/sdn",
8033 [
8034 "SDN.Allocate"
8035 ]
8036 ]
8037 },
8038 "protected" : 1,
8039 "returns" : {
8040 "type" : "string"
8041 }
8042 }
8043 },
8044 "leaf" : 0,
8045 "path" : "/cluster/sdn",
8046 "text" : "sdn"
8047 },
8048 {
8049 "info" : {
8050 "GET" : {
8051 "allowtoken" : 1,
8052 "description" : "Read cluster log",
8053 "method" : "GET",
8054 "name" : "log",
8055 "parameters" : {
8056 "additionalProperties" : 0,
8057 "properties" : {
8058 "max" : {
8059 "description" : "Maximum number of entries.",
8060 "minimum" : 1,
8061 "optional" : 1,
8062 "type" : "integer",
8063 "typetext" : "<integer> (1 - N)"
8064 }
8065 }
8066 },
8067 "permissions" : {
8068 "user" : "all"
8069 },
8070 "returns" : {
8071 "items" : {
8072 "properties" : {},
8073 "type" : "object"
8074 },
8075 "type" : "array"
8076 }
8077 }
8078 },
8079 "leaf" : 1,
8080 "path" : "/cluster/log",
8081 "text" : "log"
8082 },
8083 {
8084 "info" : {
8085 "GET" : {
8086 "allowtoken" : 1,
8087 "description" : "Resources index (cluster wide).",
8088 "method" : "GET",
8089 "name" : "resources",
8090 "parameters" : {
8091 "additionalProperties" : 0,
8092 "properties" : {
8093 "type" : {
8094 "enum" : [
8095 "vm",
8096 "storage",
8097 "node",
8098 "sdn"
8099 ],
8100 "optional" : 1,
8101 "type" : "string"
8102 }
8103 }
8104 },
8105 "permissions" : {
8106 "user" : "all"
8107 },
8108 "returns" : {
8109 "items" : {
8110 "properties" : {
8111 "content" : {
8112 "description" : "Allowed storage content types (when type == storage).",
8113 "format" : "pve-storage-content-list",
8114 "optional" : 1,
8115 "type" : "string"
8116 },
8117 "cpu" : {
8118 "description" : "CPU utilization (when type in node,qemu,lxc).",
4d47f125
TL
8119 "optional" : 1,
8120 "renderer" : "fraction_as_percentage",
8121 "type" : "number"
8122 },
8123 "disk" : {
8124 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
8125 "optional" : 1,
8126 "renderer" : "bytes",
8127 "type" : "string"
8128 },
8129 "hastate" : {
8130 "description" : "HA service status (for HA managed VMs).",
8131 "optional" : 1,
8132 "type" : "string"
8133 },
8134 "id" : {
8135 "type" : "string"
8136 },
8137 "level" : {
8138 "description" : "Support level (when type == node).",
8139 "optional" : 1,
8140 "type" : "string"
8141 },
8142 "maxcpu" : {
8143 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
8144 "optional" : 1,
8145 "type" : "number"
8146 },
8147 "maxdisk" : {
8148 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
8149 "optional" : 1,
8150 "renderer" : "bytes",
8151 "type" : "integer"
8152 },
8153 "maxmem" : {
8154 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
8155 "optional" : 1,
8156 "renderer" : "bytes",
8157 "type" : "integer"
8158 },
8159 "mem" : {
8160 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
8161 "optional" : 1,
8162 "renderer" : "bytes",
8163 "type" : "string"
8164 },
8165 "node" : {
8166 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
8167 "format" : "pve-node",
8168 "optional" : 1,
8169 "type" : "string"
8170 },
d2656385
TL
8171 "plugintype" : {
8172 "description" : "More specific type, if available.",
8173 "optional" : 1,
8174 "type" : "string"
8175 },
4d47f125
TL
8176 "pool" : {
8177 "description" : "The pool name (when type in pool,qemu,lxc).",
8178 "optional" : 1,
8179 "type" : "string"
8180 },
8181 "status" : {
8182 "description" : "Resource type dependent status.",
8183 "optional" : 1,
8184 "type" : "string"
8185 },
8186 "storage" : {
8187 "description" : "The storage identifier (when type == storage).",
8188 "format" : "pve-storage-id",
8189 "optional" : 1,
8190 "type" : "string"
8191 },
8192 "type" : {
8193 "description" : "Resource type.",
8194 "enum" : [
8195 "node",
8196 "storage",
8197 "pool",
8198 "qemu",
8199 "lxc",
1c532546
TL
8200 "openvz",
8201 "sdn"
4d47f125
TL
8202 ],
8203 "type" : "string"
8204 },
8205 "uptime" : {
8206 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
8207 "optional" : 1,
8208 "renderer" : "duration",
8209 "type" : "integer"
8210 }
8211 },
44660702
DM
8212 "type" : "object"
8213 },
8214 "type" : "array"
8215 }
56122987
DM
8216 }
8217 },
7aacca6f 8218 "leaf" : 1,
44660702
DM
8219 "path" : "/cluster/resources",
8220 "text" : "resources"
56122987
DM
8221 },
8222 {
56122987
DM
8223 "info" : {
8224 "GET" : {
e9cd3bd4 8225 "allowtoken" : 1,
7aacca6f 8226 "description" : "List recent tasks (cluster wide).",
44660702 8227 "method" : "GET",
7aacca6f 8228 "name" : "tasks",
56122987
DM
8229 "parameters" : {
8230 "additionalProperties" : 0
8231 },
44660702
DM
8232 "permissions" : {
8233 "user" : "all"
8234 },
56122987
DM
8235 "returns" : {
8236 "items" : {
8237 "properties" : {
8238 "upid" : {
8239 "type" : "string"
8240 }
44660702
DM
8241 },
8242 "type" : "object"
8243 },
8244 "type" : "array"
7aacca6f 8245 }
56122987
DM
8246 }
8247 },
7aacca6f 8248 "leaf" : 1,
44660702
DM
8249 "path" : "/cluster/tasks",
8250 "text" : "tasks"
56122987
DM
8251 },
8252 {
56122987 8253 "info" : {
7aacca6f 8254 "GET" : {
e9cd3bd4 8255 "allowtoken" : 1,
44660702
DM
8256 "description" : "Get datacenter options.",
8257 "method" : "GET",
8258 "name" : "get_options",
56122987 8259 "parameters" : {
7aacca6f
DM
8260 "additionalProperties" : 0
8261 },
8262 "permissions" : {
8263 "check" : [
8264 "perm",
8265 "/",
8266 [
8267 "Sys.Audit"
8268 ]
8269 ]
8270 },
7aacca6f 8271 "returns" : {
44660702 8272 "type" : "object"
7aacca6f
DM
8273 }
8274 },
8275 "PUT" : {
e9cd3bd4 8276 "allowtoken" : 1,
44660702
DM
8277 "description" : "Set datacenter options.",
8278 "method" : "PUT",
7aacca6f
DM
8279 "name" : "set_options",
8280 "parameters" : {
8281 "additionalProperties" : 0,
8282 "properties" : {
27a7acb2
DM
8283 "bwlimit" : {
8284 "description" : "Set bandwidth/io limits various operations.",
8285 "format" : {
8286 "clone" : {
95895385 8287 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
8288 "format_description" : "LIMIT",
8289 "minimum" : "0",
8290 "optional" : 1,
8291 "type" : "number"
8292 },
8293 "default" : {
95895385 8294 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
8295 "format_description" : "LIMIT",
8296 "minimum" : "0",
8297 "optional" : 1,
8298 "type" : "number"
8299 },
8300 "migration" : {
95895385 8301 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
8302 "format_description" : "LIMIT",
8303 "minimum" : "0",
8304 "optional" : 1,
8305 "type" : "number"
8306 },
8307 "move" : {
95895385 8308 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
8309 "format_description" : "LIMIT",
8310 "minimum" : "0",
8311 "optional" : 1,
8312 "type" : "number"
8313 },
8314 "restore" : {
95895385 8315 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
8316 "format_description" : "LIMIT",
8317 "minimum" : "0",
8318 "optional" : 1,
8319 "type" : "number"
8320 }
8321 },
8322 "optional" : 1,
8323 "type" : "string",
8324 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
8325 },
56122987 8326 "console" : {
a9a8e3d1 8327 "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
8328 "enum" : [
8329 "applet",
8330 "vv",
a9a8e3d1
DM
8331 "html5",
8332 "xtermjs"
44660702
DM
8333 ],
8334 "optional" : 1,
8335 "type" : "string"
56122987 8336 },
7aacca6f 8337 "delete" : {
7aacca6f 8338 "description" : "A list of settings you want to delete.",
44660702 8339 "format" : "pve-configid-list",
7aacca6f 8340 "optional" : 1,
013dc89f
DM
8341 "type" : "string",
8342 "typetext" : "<string>"
7aacca6f 8343 },
44660702
DM
8344 "email_from" : {
8345 "description" : "Specify email address to send notification from (default is root@$hostname)",
8346 "format" : "email-opt",
7aacca6f 8347 "optional" : 1,
013dc89f
DM
8348 "type" : "string",
8349 "typetext" : "<string>"
44660702
DM
8350 },
8351 "fencing" : {
8352 "default" : "watchdog",
8353 "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 8354 "enum" : [
44660702
DM
8355 "watchdog",
8356 "hardware",
8357 "both"
7aacca6f 8358 ],
44660702
DM
8359 "optional" : 1,
8360 "type" : "string"
8361 },
5f26e15b
TL
8362 "ha" : {
8363 "description" : "Cluster wide HA settings.",
8364 "format" : {
8365 "shutdown_policy" : {
8366 "default" : "conditional",
5c1699e5 8367 "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
8368 "enum" : [
8369 "freeze",
8370 "failover",
5c1699e5
TL
8371 "conditional",
8372 "migrate"
5f26e15b
TL
8373 ],
8374 "type" : "string",
e9cd3bd4 8375 "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
8376 }
8377 },
8378 "optional" : 1,
8379 "type" : "string",
5c1699e5 8380 "typetext" : "shutdown_policy=<enum>"
5f26e15b 8381 },
44660702
DM
8382 "http_proxy" : {
8383 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
8384 "optional" : 1,
8385 "pattern" : "http://.*",
8386 "type" : "string"
7aacca6f 8387 },
56122987 8388 "keyboard" : {
44660702 8389 "description" : "Default keybord layout for vnc server.",
56122987 8390 "enum" : [
44660702
DM
8391 "de",
8392 "de-ch",
7aacca6f 8393 "da",
56122987 8394 "en-gb",
44660702
DM
8395 "en-us",
8396 "es",
8397 "fi",
8398 "fr",
8399 "fr-be",
8400 "fr-ca",
8401 "fr-ch",
8402 "hu",
7aacca6f 8403 "is",
44660702
DM
8404 "it",
8405 "ja",
8406 "lt",
56122987 8407 "mk",
7aacca6f 8408 "nl",
56122987 8409 "no",
44660702 8410 "pl",
7aacca6f 8411 "pt",
44660702
DM
8412 "pt-br",
8413 "sv",
8414 "sl",
8415 "tr"
56122987 8416 ],
56122987
DM
8417 "optional" : 1,
8418 "type" : "string"
8419 },
44660702
DM
8420 "language" : {
8421 "description" : "Default GUI language.",
8422 "enum" : [
4d47f125 8423 "ca",
1c532546
TL
8424 "da",
8425 "de",
44660702 8426 "en",
1c532546 8427 "es",
4d47f125 8428 "eu",
1c532546 8429 "fa",
4d47f125 8430 "fr",
1c532546 8431 "he",
4d47f125 8432 "it",
4d47f125
TL
8433 "ja",
8434 "nb",
8435 "nn",
4d47f125
TL
8436 "pl",
8437 "pt_BR",
8438 "ru",
8439 "sl",
8440 "sv",
1c532546
TL
8441 "tr",
8442 "zh_CN",
8443 "zh_TW"
44660702 8444 ],
56122987 8445 "optional" : 1,
44660702 8446 "type" : "string"
56122987 8447 },
4bd7df8b
DM
8448 "mac_prefix" : {
8449 "description" : "Prefix for autogenerated MAC addresses.",
95895385 8450 "format" : "mac-prefix",
4bd7df8b 8451 "optional" : 1,
95895385
TL
8452 "type" : "string",
8453 "typetext" : "<string>"
4bd7df8b 8454 },
44660702
DM
8455 "max_workers" : {
8456 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
8457 "minimum" : 1,
56122987 8458 "optional" : 1,
4bd7df8b 8459 "type" : "integer",
013dc89f 8460 "typetext" : "<integer> (1 - N)"
56122987 8461 },
de0983cb
DM
8462 "migration" : {
8463 "description" : "For cluster wide migration settings.",
8464 "format" : {
8465 "network" : {
8466 "description" : "CIDR of the (sub) network that is used for migration.",
8467 "format" : "CIDR",
8468 "format_description" : "CIDR",
8469 "optional" : 1,
8470 "type" : "string"
8471 },
8472 "type" : {
8473 "default" : "secure",
8474 "default_key" : 1,
8475 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
8476 "enum" : [
8477 "secure",
8478 "insecure"
8479 ],
8480 "type" : "string"
8481 }
8482 },
8483 "optional" : 1,
8484 "type" : "string",
8485 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
8486 },
7aacca6f 8487 "migration_unsecure" : {
de0983cb 8488 "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 8489 "optional" : 1,
013dc89f
DM
8490 "type" : "boolean",
8491 "typetext" : "<boolean>"
95895385
TL
8492 },
8493 "u2f" : {
8494 "description" : "u2f",
8495 "format" : {
8496 "appid" : {
8497 "description" : "U2F AppId URL override. Defaults to the origin.",
8498 "format_description" : "APPID",
8499 "optional" : 1,
8500 "type" : "string"
8501 },
8502 "origin" : {
8503 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
8504 "format_description" : "URL",
8505 "optional" : 1,
8506 "type" : "string"
8507 }
8508 },
8509 "optional" : 1,
8510 "type" : "string",
8511 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
8512 }
8513 }
8514 },
44660702
DM
8515 "permissions" : {
8516 "check" : [
8517 "perm",
8518 "/",
8519 [
8520 "Sys.Modify"
8521 ]
8522 ]
8523 },
56122987 8524 "protected" : 1,
7aacca6f
DM
8525 "returns" : {
8526 "type" : "null"
44660702 8527 }
7aacca6f
DM
8528 }
8529 },
44660702
DM
8530 "leaf" : 1,
8531 "path" : "/cluster/options",
7aacca6f
DM
8532 "text" : "options"
8533 },
8534 {
7aacca6f 8535 "info" : {
56122987 8536 "GET" : {
e9cd3bd4 8537 "allowtoken" : 1,
1e3f8156 8538 "description" : "Get cluster status information.",
44660702
DM
8539 "method" : "GET",
8540 "name" : "get_status",
56122987
DM
8541 "parameters" : {
8542 "additionalProperties" : 0
8543 },
56122987
DM
8544 "permissions" : {
8545 "check" : [
8546 "perm",
8547 "/",
8548 [
8549 "Sys.Audit"
8550 ]
8551 ]
8552 },
7aacca6f 8553 "protected" : 1,
56122987 8554 "returns" : {
56122987 8555 "items" : {
56122987 8556 "properties" : {
e9cd3bd4
TL
8557 "id" : {
8558 "type" : "string"
8559 },
8560 "ip" : {
8561 "description" : "[node] IP of the resolved nodename.",
8562 "optional" : 1,
8563 "type" : "string"
8564 },
8565 "level" : {
8566 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
8567 "optional" : 1,
8568 "type" : "string"
8569 },
8570 "local" : {
8571 "description" : "[node] Indicates if this is the responding node.",
8572 "optional" : 1,
8573 "type" : "boolean"
8574 },
8575 "name" : {
8576 "type" : "string"
8577 },
8578 "nodeid" : {
8579 "description" : "[node] ID of the node from the corosync configuration.",
8580 "optional" : 1,
8581 "type" : "integer"
8582 },
8583 "nodes" : {
8584 "description" : "[cluster] Nodes count, including offline nodes.",
8585 "optional" : 1,
8586 "type" : "integer"
8587 },
8588 "online" : {
8589 "description" : "[node] Indicates if the node is online or offline.",
8590 "optional" : 1,
8591 "type" : "boolean"
8592 },
8593 "quorate" : {
8594 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
8595 "optional" : 1,
8596 "type" : "boolean"
8597 },
56122987 8598 "type" : {
e9cd3bd4
TL
8599 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
8600 "enum" : [
8601 "cluster",
8602 "node"
8603 ],
56122987 8604 "type" : "string"
e9cd3bd4
TL
8605 },
8606 "version" : {
8607 "description" : "[cluster] Current version of the corosync configuration file.",
8608 "optional" : 1,
8609 "type" : "integer"
56122987 8610 }
44660702
DM
8611 },
8612 "type" : "object"
7aacca6f
DM
8613 },
8614 "type" : "array"
56122987
DM
8615 }
8616 }
8617 },
44660702 8618 "leaf" : 1,
7aacca6f 8619 "path" : "/cluster/status",
44660702 8620 "text" : "status"
56122987
DM
8621 },
8622 {
56122987
DM
8623 "info" : {
8624 "GET" : {
e9cd3bd4 8625 "allowtoken" : 1,
56122987 8626 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
8627 "method" : "GET",
8628 "name" : "nextid",
56122987 8629 "parameters" : {
44660702 8630 "additionalProperties" : 0,
56122987
DM
8631 "properties" : {
8632 "vmid" : {
44660702 8633 "description" : "The (unique) ID of the VM.",
56122987 8634 "format" : "pve-vmid",
7aacca6f 8635 "minimum" : 1,
7aacca6f 8636 "optional" : 1,
4bd7df8b 8637 "type" : "integer",
013dc89f 8638 "typetext" : "<integer> (1 - N)"
56122987 8639 }
44660702 8640 }
56122987 8641 },
7aacca6f
DM
8642 "permissions" : {
8643 "user" : "all"
44660702
DM
8644 },
8645 "returns" : {
8646 "description" : "The next free VMID.",
8647 "type" : "integer"
7aacca6f 8648 }
56122987
DM
8649 }
8650 },
7aacca6f 8651 "leaf" : 1,
44660702
DM
8652 "path" : "/cluster/nextid",
8653 "text" : "nextid"
56122987
DM
8654 }
8655 ],
44660702
DM
8656 "info" : {
8657 "GET" : {
e9cd3bd4 8658 "allowtoken" : 1,
44660702
DM
8659 "description" : "Cluster index.",
8660 "method" : "GET",
8661 "name" : "index",
8662 "parameters" : {
8663 "additionalProperties" : 0
8664 },
8665 "permissions" : {
8666 "user" : "all"
8667 },
8668 "returns" : {
8669 "items" : {
8670 "properties" : {},
8671 "type" : "object"
8672 },
8673 "links" : [
8674 {
8675 "href" : "{name}",
8676 "rel" : "child"
8677 }
8678 ],
8679 "type" : "array"
8680 }
8681 }
8682 },
8683 "leaf" : 0,
8684 "path" : "/cluster",
7aacca6f 8685 "text" : "cluster"
56122987
DM
8686 },
8687 {
56122987
DM
8688 "children" : [
8689 {
7aacca6f
DM
8690 "children" : [
8691 {
8692 "children" : [
8693 {
56122987
DM
8694 "children" : [
8695 {
56122987
DM
8696 "children" : [
8697 {
8698 "children" : [
8699 {
56122987
DM
8700 "info" : {
8701 "DELETE" : {
e9cd3bd4 8702 "allowtoken" : 1,
44660702 8703 "description" : "Delete rule.",
7aacca6f 8704 "method" : "DELETE",
44660702 8705 "name" : "delete_rule",
56122987 8706 "parameters" : {
44660702 8707 "additionalProperties" : 0,
56122987 8708 "properties" : {
44660702
DM
8709 "digest" : {
8710 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8711 "maxLength" : 40,
8712 "optional" : 1,
013dc89f
DM
8713 "type" : "string",
8714 "typetext" : "<string>"
44660702 8715 },
56122987 8716 "node" : {
7aacca6f 8717 "description" : "The cluster node name.",
44660702 8718 "format" : "pve-node",
013dc89f
DM
8719 "type" : "string",
8720 "typetext" : "<string>"
7aacca6f 8721 },
56122987 8722 "pos" : {
7aacca6f 8723 "description" : "Update rule at position <pos>.",
44660702 8724 "minimum" : 0,
56122987 8725 "optional" : 1,
4bd7df8b 8726 "type" : "integer",
013dc89f 8727 "typetext" : "<integer> (0 - N)"
44660702
DM
8728 },
8729 "vmid" : {
8730 "description" : "The (unique) ID of the VM.",
8731 "format" : "pve-vmid",
8732 "minimum" : 1,
4bd7df8b 8733 "type" : "integer",
013dc89f 8734 "typetext" : "<integer> (1 - N)"
56122987 8735 }
44660702 8736 }
7aacca6f 8737 },
56122987
DM
8738 "permissions" : {
8739 "check" : [
8740 "perm",
8741 "/vms/{vmid}",
8742 [
8743 "VM.Config.Network"
8744 ]
8745 ]
8746 },
44660702
DM
8747 "protected" : 1,
8748 "proxyto" : null,
56122987
DM
8749 "returns" : {
8750 "type" : "null"
44660702
DM
8751 }
8752 },
8753 "GET" : {
e9cd3bd4 8754 "allowtoken" : 1,
44660702
DM
8755 "description" : "Get single rule data.",
8756 "method" : "GET",
8757 "name" : "get_rule",
8758 "parameters" : {
8759 "additionalProperties" : 0,
8760 "properties" : {
8761 "node" : {
8762 "description" : "The cluster node name.",
8763 "format" : "pve-node",
013dc89f
DM
8764 "type" : "string",
8765 "typetext" : "<string>"
44660702
DM
8766 },
8767 "pos" : {
8768 "description" : "Update rule at position <pos>.",
8769 "minimum" : 0,
8770 "optional" : 1,
4bd7df8b 8771 "type" : "integer",
013dc89f 8772 "typetext" : "<integer> (0 - N)"
44660702
DM
8773 },
8774 "vmid" : {
8775 "description" : "The (unique) ID of the VM.",
8776 "format" : "pve-vmid",
8777 "minimum" : 1,
4bd7df8b 8778 "type" : "integer",
013dc89f 8779 "typetext" : "<integer> (1 - N)"
44660702
DM
8780 }
8781 }
56122987 8782 },
56122987
DM
8783 "permissions" : {
8784 "check" : [
8785 "perm",
8786 "/vms/{vmid}",
8787 [
44660702 8788 "VM.Audit"
56122987
DM
8789 ]
8790 ]
8791 },
56122987 8792 "proxyto" : null,
44660702
DM
8793 "returns" : {
8794 "properties" : {
e2d681b3
TL
8795 "action" : {
8796 "type" : "string"
8797 },
8798 "comment" : {
8799 "optional" : 1,
8800 "type" : "string"
8801 },
8802 "dest" : {
8803 "optional" : 1,
8804 "type" : "string"
8805 },
8806 "dport" : {
8807 "optional" : 1,
8808 "type" : "string"
8809 },
8810 "enable" : {
8811 "optional" : 1,
8812 "type" : "integer"
8813 },
4772952b
TL
8814 "icmp-type" : {
8815 "optional" : 1,
8816 "type" : "string"
8817 },
e2d681b3
TL
8818 "iface" : {
8819 "optional" : 1,
8820 "type" : "string"
8821 },
8822 "ipversion" : {
8823 "optional" : 1,
8824 "type" : "integer"
8825 },
95895385
TL
8826 "log" : {
8827 "description" : "Log level for firewall rule",
8828 "enum" : [
8829 "emerg",
8830 "alert",
8831 "crit",
8832 "err",
8833 "warning",
8834 "notice",
8835 "info",
8836 "debug",
8837 "nolog"
8838 ],
8839 "optional" : 1,
8840 "type" : "string"
8841 },
e2d681b3
TL
8842 "macro" : {
8843 "optional" : 1,
5f26e15b 8844 "type" : "string"
e2d681b3 8845 },
44660702
DM
8846 "pos" : {
8847 "type" : "integer"
e2d681b3
TL
8848 },
8849 "proto" : {
8850 "optional" : 1,
8851 "type" : "string"
8852 },
8853 "source" : {
8854 "optional" : 1,
8855 "type" : "string"
8856 },
8857 "sport" : {
8858 "optional" : 1,
8859 "type" : "string"
8860 },
8861 "type" : {
8862 "type" : "string"
44660702
DM
8863 }
8864 },
8865 "type" : "object"
8866 }
8867 },
8868 "PUT" : {
e9cd3bd4 8869 "allowtoken" : 1,
7aacca6f
DM
8870 "description" : "Modify rule data.",
8871 "method" : "PUT",
44660702 8872 "name" : "update_rule",
56122987 8873 "parameters" : {
44660702 8874 "additionalProperties" : 0,
56122987 8875 "properties" : {
44660702
DM
8876 "action" : {
8877 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
8878 "maxLength" : 20,
8879 "minLength" : 2,
56122987 8880 "optional" : 1,
44660702 8881 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
8882 "type" : "string"
8883 },
7aacca6f 8884 "comment" : {
e94f0d56 8885 "description" : "Descriptive comment.",
7aacca6f 8886 "optional" : 1,
013dc89f
DM
8887 "type" : "string",
8888 "typetext" : "<string>"
7aacca6f
DM
8889 },
8890 "delete" : {
7aacca6f 8891 "description" : "A list of settings you want to delete.",
44660702
DM
8892 "format" : "pve-configid-list",
8893 "optional" : 1,
013dc89f
DM
8894 "type" : "string",
8895 "typetext" : "<string>"
7aacca6f
DM
8896 },
8897 "dest" : {
44660702 8898 "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 8899 "format" : "pve-fw-addr-spec",
0695fdaf 8900 "maxLength" : 512,
56122987 8901 "optional" : 1,
013dc89f
DM
8902 "type" : "string",
8903 "typetext" : "<string>"
56122987 8904 },
7aacca6f 8905 "digest" : {
44660702 8906 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 8907 "maxLength" : 40,
56122987 8908 "optional" : 1,
013dc89f
DM
8909 "type" : "string",
8910 "typetext" : "<string>"
44660702
DM
8911 },
8912 "dport" : {
8913 "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.",
8914 "format" : "pve-fw-dport-spec",
8915 "optional" : 1,
013dc89f
DM
8916 "type" : "string",
8917 "typetext" : "<string>"
56122987 8918 },
7aacca6f 8919 "enable" : {
e94f0d56 8920 "description" : "Flag to enable/disable a rule.",
44660702 8921 "minimum" : 0,
56122987 8922 "optional" : 1,
4bd7df8b 8923 "type" : "integer",
013dc89f 8924 "typetext" : "<integer> (0 - N)"
7aacca6f 8925 },
4772952b
TL
8926 "icmp-type" : {
8927 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
8928 "format" : "pve-fw-icmp-type-spec",
8929 "optional" : 1,
8930 "type" : "string",
8931 "typetext" : "<string>"
8932 },
44660702
DM
8933 "iface" : {
8934 "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.",
8935 "format" : "pve-iface",
8936 "maxLength" : 20,
7aacca6f 8937 "minLength" : 2,
56122987 8938 "optional" : 1,
013dc89f
DM
8939 "type" : "string",
8940 "typetext" : "<string>"
56122987 8941 },
95895385
TL
8942 "log" : {
8943 "description" : "Log level for firewall rule.",
8944 "enum" : [
8945 "emerg",
8946 "alert",
8947 "crit",
8948 "err",
8949 "warning",
8950 "notice",
8951 "info",
8952 "debug",
8953 "nolog"
8954 ],
8955 "optional" : 1,
8956 "type" : "string"
8957 },
44660702 8958 "macro" : {
e94f0d56 8959 "description" : "Use predefined standard macro.",
44660702 8960 "maxLength" : 128,
56122987 8961 "optional" : 1,
013dc89f
DM
8962 "type" : "string",
8963 "typetext" : "<string>"
56122987 8964 },
44660702
DM
8965 "moveto" : {
8966 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
8967 "minimum" : 0,
56122987 8968 "optional" : 1,
4bd7df8b 8969 "type" : "integer",
013dc89f 8970 "typetext" : "<integer> (0 - N)"
56122987 8971 },
44660702
DM
8972 "node" : {
8973 "description" : "The cluster node name.",
8974 "format" : "pve-node",
013dc89f
DM
8975 "type" : "string",
8976 "typetext" : "<string>"
44660702
DM
8977 },
8978 "pos" : {
8979 "description" : "Update rule at position <pos>.",
8980 "minimum" : 0,
8981 "optional" : 1,
4bd7df8b 8982 "type" : "integer",
013dc89f 8983 "typetext" : "<integer> (0 - N)"
56122987 8984 },
44660702
DM
8985 "proto" : {
8986 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
8987 "format" : "pve-fw-protocol-spec",
8988 "optional" : 1,
013dc89f
DM
8989 "type" : "string",
8990 "typetext" : "<string>"
7aacca6f 8991 },
44660702
DM
8992 "source" : {
8993 "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.",
8994 "format" : "pve-fw-addr-spec",
0695fdaf 8995 "maxLength" : 512,
56122987 8996 "optional" : 1,
013dc89f
DM
8997 "type" : "string",
8998 "typetext" : "<string>"
56122987
DM
8999 },
9000 "sport" : {
9001 "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
9002 "format" : "pve-fw-sport-spec",
9003 "optional" : 1,
013dc89f
DM
9004 "type" : "string",
9005 "typetext" : "<string>"
44660702
DM
9006 },
9007 "type" : {
e94f0d56 9008 "description" : "Rule type.",
44660702
DM
9009 "enum" : [
9010 "in",
9011 "out",
9012 "group"
9013 ],
56122987 9014 "optional" : 1,
56122987 9015 "type" : "string"
44660702
DM
9016 },
9017 "vmid" : {
9018 "description" : "The (unique) ID of the VM.",
9019 "format" : "pve-vmid",
9020 "minimum" : 1,
4bd7df8b 9021 "type" : "integer",
013dc89f 9022 "typetext" : "<integer> (1 - N)"
56122987 9023 }
44660702 9024 }
56122987 9025 },
56122987
DM
9026 "permissions" : {
9027 "check" : [
9028 "perm",
9029 "/vms/{vmid}",
9030 [
44660702 9031 "VM.Config.Network"
56122987
DM
9032 ]
9033 ]
7aacca6f 9034 },
44660702 9035 "protected" : 1,
7aacca6f 9036 "proxyto" : null,
7aacca6f 9037 "returns" : {
44660702
DM
9038 "type" : "null"
9039 }
56122987 9040 }
7aacca6f 9041 },
44660702 9042 "leaf" : 1,
7aacca6f 9043 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 9044 "text" : "{pos}"
56122987
DM
9045 }
9046 ],
56122987 9047 "info" : {
44660702 9048 "GET" : {
e9cd3bd4 9049 "allowtoken" : 1,
44660702
DM
9050 "description" : "List rules.",
9051 "method" : "GET",
9052 "name" : "get_rules",
9053 "parameters" : {
9054 "additionalProperties" : 0,
9055 "properties" : {
9056 "node" : {
9057 "description" : "The cluster node name.",
9058 "format" : "pve-node",
013dc89f
DM
9059 "type" : "string",
9060 "typetext" : "<string>"
44660702
DM
9061 },
9062 "vmid" : {
9063 "description" : "The (unique) ID of the VM.",
9064 "format" : "pve-vmid",
9065 "minimum" : 1,
4bd7df8b 9066 "type" : "integer",
013dc89f 9067 "typetext" : "<integer> (1 - N)"
44660702
DM
9068 }
9069 }
56122987 9070 },
56122987
DM
9071 "permissions" : {
9072 "check" : [
9073 "perm",
9074 "/vms/{vmid}",
9075 [
44660702 9076 "VM.Audit"
56122987
DM
9077 ]
9078 ]
7aacca6f 9079 },
44660702
DM
9080 "proxyto" : null,
9081 "returns" : {
9082 "items" : {
9083 "properties" : {
9084 "pos" : {
9085 "type" : "integer"
9086 }
9087 },
9088 "type" : "object"
9089 },
9090 "links" : [
9091 {
9092 "href" : "{pos}",
9093 "rel" : "child"
9094 }
9095 ],
9096 "type" : "array"
9097 }
9098 },
9099 "POST" : {
e9cd3bd4 9100 "allowtoken" : 1,
44660702 9101 "description" : "Create new rule.",
7aacca6f 9102 "method" : "POST",
44660702 9103 "name" : "create_rule",
56122987 9104 "parameters" : {
44660702 9105 "additionalProperties" : 0,
56122987 9106 "properties" : {
44660702
DM
9107 "action" : {
9108 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
9109 "maxLength" : 20,
9110 "minLength" : 2,
9111 "optional" : 0,
9112 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9113 "type" : "string"
56122987 9114 },
44660702 9115 "comment" : {
e94f0d56 9116 "description" : "Descriptive comment.",
56122987 9117 "optional" : 1,
013dc89f
DM
9118 "type" : "string",
9119 "typetext" : "<string>"
56122987 9120 },
44660702
DM
9121 "dest" : {
9122 "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.",
9123 "format" : "pve-fw-addr-spec",
0695fdaf 9124 "maxLength" : 512,
44660702 9125 "optional" : 1,
013dc89f
DM
9126 "type" : "string",
9127 "typetext" : "<string>"
56122987 9128 },
44660702
DM
9129 "digest" : {
9130 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9131 "maxLength" : 40,
56122987 9132 "optional" : 1,
013dc89f
DM
9133 "type" : "string",
9134 "typetext" : "<string>"
56122987 9135 },
7aacca6f
DM
9136 "dport" : {
9137 "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 9138 "format" : "pve-fw-dport-spec",
7aacca6f 9139 "optional" : 1,
013dc89f
DM
9140 "type" : "string",
9141 "typetext" : "<string>"
56122987
DM
9142 },
9143 "enable" : {
e94f0d56 9144 "description" : "Flag to enable/disable a rule.",
56122987 9145 "minimum" : 0,
44660702 9146 "optional" : 1,
4bd7df8b 9147 "type" : "integer",
013dc89f 9148 "typetext" : "<integer> (0 - N)"
56122987 9149 },
4772952b
TL
9150 "icmp-type" : {
9151 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
9152 "format" : "pve-fw-icmp-type-spec",
9153 "optional" : 1,
9154 "type" : "string",
9155 "typetext" : "<string>"
9156 },
44660702
DM
9157 "iface" : {
9158 "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.",
9159 "format" : "pve-iface",
9160 "maxLength" : 20,
7aacca6f 9161 "minLength" : 2,
44660702 9162 "optional" : 1,
013dc89f
DM
9163 "type" : "string",
9164 "typetext" : "<string>"
56122987 9165 },
95895385
TL
9166 "log" : {
9167 "description" : "Log level for firewall rule.",
9168 "enum" : [
9169 "emerg",
9170 "alert",
9171 "crit",
9172 "err",
9173 "warning",
9174 "notice",
9175 "info",
9176 "debug",
9177 "nolog"
9178 ],
9179 "optional" : 1,
9180 "type" : "string"
9181 },
44660702 9182 "macro" : {
e94f0d56 9183 "description" : "Use predefined standard macro.",
44660702 9184 "maxLength" : 128,
56122987 9185 "optional" : 1,
013dc89f
DM
9186 "type" : "string",
9187 "typetext" : "<string>"
7aacca6f 9188 },
44660702
DM
9189 "node" : {
9190 "description" : "The cluster node name.",
9191 "format" : "pve-node",
013dc89f
DM
9192 "type" : "string",
9193 "typetext" : "<string>"
44660702
DM
9194 },
9195 "pos" : {
9196 "description" : "Update rule at position <pos>.",
9197 "minimum" : 0,
9198 "optional" : 1,
4bd7df8b 9199 "type" : "integer",
013dc89f 9200 "typetext" : "<integer> (0 - N)"
44660702
DM
9201 },
9202 "proto" : {
9203 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
9204 "format" : "pve-fw-protocol-spec",
7aacca6f 9205 "optional" : 1,
013dc89f
DM
9206 "type" : "string",
9207 "typetext" : "<string>"
7aacca6f
DM
9208 },
9209 "source" : {
9210 "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 9211 "format" : "pve-fw-addr-spec",
0695fdaf 9212 "maxLength" : 512,
7aacca6f 9213 "optional" : 1,
013dc89f
DM
9214 "type" : "string",
9215 "typetext" : "<string>"
7aacca6f 9216 },
44660702
DM
9217 "sport" : {
9218 "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.",
9219 "format" : "pve-fw-sport-spec",
7aacca6f 9220 "optional" : 1,
013dc89f
DM
9221 "type" : "string",
9222 "typetext" : "<string>"
7aacca6f 9223 },
44660702 9224 "type" : {
e94f0d56 9225 "description" : "Rule type.",
44660702
DM
9226 "enum" : [
9227 "in",
9228 "out",
9229 "group"
9230 ],
9231 "optional" : 0,
9232 "type" : "string"
7aacca6f 9233 },
7aacca6f 9234 "vmid" : {
44660702 9235 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9236 "format" : "pve-vmid",
9237 "minimum" : 1,
4bd7df8b 9238 "type" : "integer",
013dc89f 9239 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9240 }
9241 }
9242 },
56122987
DM
9243 "permissions" : {
9244 "check" : [
9245 "perm",
9246 "/vms/{vmid}",
9247 [
44660702 9248 "VM.Config.Network"
56122987
DM
9249 ]
9250 ]
9251 },
44660702
DM
9252 "protected" : 1,
9253 "proxyto" : null,
56122987 9254 "returns" : {
44660702
DM
9255 "type" : "null"
9256 }
56122987
DM
9257 }
9258 },
44660702 9259 "leaf" : 0,
7aacca6f 9260 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 9261 "text" : "rules"
56122987
DM
9262 },
9263 {
9264 "children" : [
9265 {
56122987 9266 "info" : {
44660702 9267 "DELETE" : {
e9cd3bd4 9268 "allowtoken" : 1,
44660702
DM
9269 "description" : "Remove IP or Network alias.",
9270 "method" : "DELETE",
9271 "name" : "remove_alias",
56122987 9272 "parameters" : {
44660702 9273 "additionalProperties" : 0,
56122987 9274 "properties" : {
44660702
DM
9275 "digest" : {
9276 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9277 "maxLength" : 40,
9278 "optional" : 1,
013dc89f
DM
9279 "type" : "string",
9280 "typetext" : "<string>"
56122987
DM
9281 },
9282 "name" : {
56122987 9283 "description" : "Alias name.",
44660702 9284 "maxLength" : 64,
7aacca6f 9285 "minLength" : 2,
44660702 9286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
9287 "type" : "string"
9288 },
7aacca6f 9289 "node" : {
44660702 9290 "description" : "The cluster node name.",
7aacca6f 9291 "format" : "pve-node",
013dc89f
DM
9292 "type" : "string",
9293 "typetext" : "<string>"
44660702
DM
9294 },
9295 "vmid" : {
9296 "description" : "The (unique) ID of the VM.",
9297 "format" : "pve-vmid",
9298 "minimum" : 1,
4bd7df8b 9299 "type" : "integer",
013dc89f 9300 "typetext" : "<integer> (1 - N)"
56122987 9301 }
44660702 9302 }
56122987 9303 },
7aacca6f
DM
9304 "permissions" : {
9305 "check" : [
9306 "perm",
9307 "/vms/{vmid}",
9308 [
9309 "VM.Config.Network"
9310 ]
9311 ]
56122987 9312 },
44660702
DM
9313 "protected" : 1,
9314 "returns" : {
9315 "type" : "null"
9316 }
9317 },
9318 "GET" : {
e9cd3bd4 9319 "allowtoken" : 1,
44660702
DM
9320 "description" : "Read alias.",
9321 "method" : "GET",
9322 "name" : "read_alias",
56122987 9323 "parameters" : {
44660702 9324 "additionalProperties" : 0,
56122987 9325 "properties" : {
56122987 9326 "name" : {
7aacca6f 9327 "description" : "Alias name.",
44660702 9328 "maxLength" : 64,
56122987 9329 "minLength" : 2,
44660702 9330 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 9331 "type" : "string"
7aacca6f
DM
9332 },
9333 "node" : {
9334 "description" : "The cluster node name.",
44660702 9335 "format" : "pve-node",
013dc89f
DM
9336 "type" : "string",
9337 "typetext" : "<string>"
44660702
DM
9338 },
9339 "vmid" : {
9340 "description" : "The (unique) ID of the VM.",
9341 "format" : "pve-vmid",
9342 "minimum" : 1,
4bd7df8b 9343 "type" : "integer",
013dc89f 9344 "typetext" : "<integer> (1 - N)"
56122987 9345 }
44660702 9346 }
56122987 9347 },
44660702
DM
9348 "permissions" : {
9349 "check" : [
9350 "perm",
9351 "/vms/{vmid}",
9352 [
9353 "VM.Audit"
9354 ]
9355 ]
56122987 9356 },
44660702
DM
9357 "returns" : {
9358 "type" : "object"
9359 }
7aacca6f 9360 },
44660702 9361 "PUT" : {
e9cd3bd4 9362 "allowtoken" : 1,
44660702
DM
9363 "description" : "Update IP or Network alias.",
9364 "method" : "PUT",
9365 "name" : "update_alias",
56122987
DM
9366 "parameters" : {
9367 "additionalProperties" : 0,
9368 "properties" : {
44660702
DM
9369 "cidr" : {
9370 "description" : "Network/IP specification in CIDR format.",
9371 "format" : "IPorCIDR",
013dc89f
DM
9372 "type" : "string",
9373 "typetext" : "<string>"
44660702
DM
9374 },
9375 "comment" : {
9376 "optional" : 1,
013dc89f
DM
9377 "type" : "string",
9378 "typetext" : "<string>"
56122987
DM
9379 },
9380 "digest" : {
44660702 9381 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
9382 "maxLength" : 40,
9383 "optional" : 1,
013dc89f
DM
9384 "type" : "string",
9385 "typetext" : "<string>"
56122987 9386 },
7aacca6f 9387 "name" : {
44660702 9388 "description" : "Alias name.",
56122987
DM
9389 "maxLength" : 64,
9390 "minLength" : 2,
9391 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 9392 "type" : "string"
7aacca6f
DM
9393 },
9394 "node" : {
7aacca6f 9395 "description" : "The cluster node name.",
44660702 9396 "format" : "pve-node",
013dc89f
DM
9397 "type" : "string",
9398 "typetext" : "<string>"
44660702
DM
9399 },
9400 "rename" : {
9401 "description" : "Rename an existing alias.",
9402 "maxLength" : 64,
9403 "minLength" : 2,
9404 "optional" : 1,
9405 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9406 "type" : "string"
9407 },
9408 "vmid" : {
9409 "description" : "The (unique) ID of the VM.",
9410 "format" : "pve-vmid",
9411 "minimum" : 1,
4bd7df8b 9412 "type" : "integer",
013dc89f 9413 "typetext" : "<integer> (1 - N)"
56122987
DM
9414 }
9415 }
9416 },
7aacca6f
DM
9417 "permissions" : {
9418 "check" : [
9419 "perm",
9420 "/vms/{vmid}",
9421 [
9422 "VM.Config.Network"
9423 ]
9424 ]
9425 },
9426 "protected" : 1,
7aacca6f
DM
9427 "returns" : {
9428 "type" : "null"
44660702 9429 }
56122987
DM
9430 }
9431 },
44660702 9432 "leaf" : 1,
7aacca6f 9433 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 9434 "text" : "{name}"
56122987
DM
9435 }
9436 ],
9437 "info" : {
44660702 9438 "GET" : {
e9cd3bd4 9439 "allowtoken" : 1,
44660702
DM
9440 "description" : "List aliases",
9441 "method" : "GET",
9442 "name" : "get_aliases",
56122987 9443 "parameters" : {
44660702 9444 "additionalProperties" : 0,
56122987 9445 "properties" : {
7aacca6f 9446 "node" : {
7aacca6f 9447 "description" : "The cluster node name.",
44660702 9448 "format" : "pve-node",
013dc89f
DM
9449 "type" : "string",
9450 "typetext" : "<string>"
56122987 9451 },
44660702
DM
9452 "vmid" : {
9453 "description" : "The (unique) ID of the VM.",
9454 "format" : "pve-vmid",
9455 "minimum" : 1,
4bd7df8b 9456 "type" : "integer",
013dc89f 9457 "typetext" : "<integer> (1 - N)"
56122987 9458 }
44660702 9459 }
56122987 9460 },
56122987
DM
9461 "permissions" : {
9462 "check" : [
9463 "perm",
9464 "/vms/{vmid}",
9465 [
44660702 9466 "VM.Audit"
56122987
DM
9467 ]
9468 ]
9469 },
56122987
DM
9470 "returns" : {
9471 "items" : {
9472 "properties" : {
44660702 9473 "cidr" : {
56122987
DM
9474 "type" : "string"
9475 },
44660702
DM
9476 "comment" : {
9477 "optional" : 1,
7aacca6f 9478 "type" : "string"
56122987
DM
9479 },
9480 "digest" : {
56122987 9481 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 9482 "maxLength" : 40,
56122987
DM
9483 "optional" : 0,
9484 "type" : "string"
9485 },
44660702 9486 "name" : {
56122987
DM
9487 "type" : "string"
9488 }
44660702
DM
9489 },
9490 "type" : "object"
56122987 9491 },
56122987
DM
9492 "links" : [
9493 {
9494 "href" : "{name}",
9495 "rel" : "child"
9496 }
44660702
DM
9497 ],
9498 "type" : "array"
9499 }
9500 },
9501 "POST" : {
e9cd3bd4 9502 "allowtoken" : 1,
44660702
DM
9503 "description" : "Create IP or Network Alias.",
9504 "method" : "POST",
9505 "name" : "create_alias",
56122987 9506 "parameters" : {
7aacca6f 9507 "additionalProperties" : 0,
56122987 9508 "properties" : {
44660702
DM
9509 "cidr" : {
9510 "description" : "Network/IP specification in CIDR format.",
9511 "format" : "IPorCIDR",
013dc89f
DM
9512 "type" : "string",
9513 "typetext" : "<string>"
44660702
DM
9514 },
9515 "comment" : {
9516 "optional" : 1,
013dc89f
DM
9517 "type" : "string",
9518 "typetext" : "<string>"
44660702
DM
9519 },
9520 "name" : {
9521 "description" : "Alias name.",
9522 "maxLength" : 64,
9523 "minLength" : 2,
9524 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9525 "type" : "string"
56122987
DM
9526 },
9527 "node" : {
7aacca6f 9528 "description" : "The cluster node name.",
44660702 9529 "format" : "pve-node",
013dc89f
DM
9530 "type" : "string",
9531 "typetext" : "<string>"
44660702
DM
9532 },
9533 "vmid" : {
9534 "description" : "The (unique) ID of the VM.",
9535 "format" : "pve-vmid",
9536 "minimum" : 1,
4bd7df8b 9537 "type" : "integer",
013dc89f 9538 "typetext" : "<integer> (1 - N)"
56122987 9539 }
7aacca6f 9540 }
56122987 9541 },
44660702
DM
9542 "permissions" : {
9543 "check" : [
9544 "perm",
9545 "/vms/{vmid}",
9546 [
9547 "VM.Config.Network"
9548 ]
9549 ]
9550 },
9551 "protected" : 1,
9552 "returns" : {
9553 "type" : "null"
9554 }
56122987 9555 }
44660702
DM
9556 },
9557 "leaf" : 0,
9558 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
9559 "text" : "aliases"
56122987
DM
9560 },
9561 {
56122987
DM
9562 "children" : [
9563 {
7aacca6f
DM
9564 "children" : [
9565 {
9566 "info" : {
9567 "DELETE" : {
e9cd3bd4 9568 "allowtoken" : 1,
44660702 9569 "description" : "Remove IP or Network from IPSet.",
7aacca6f 9570 "method" : "DELETE",
44660702 9571 "name" : "remove_ip",
7aacca6f 9572 "parameters" : {
44660702 9573 "additionalProperties" : 0,
7aacca6f 9574 "properties" : {
44660702
DM
9575 "cidr" : {
9576 "description" : "Network/IP specification in CIDR format.",
9577 "format" : "IPorCIDRorAlias",
013dc89f
DM
9578 "type" : "string",
9579 "typetext" : "<string>"
44660702
DM
9580 },
9581 "digest" : {
9582 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9583 "maxLength" : 40,
9584 "optional" : 1,
013dc89f
DM
9585 "type" : "string",
9586 "typetext" : "<string>"
44660702 9587 },
7aacca6f 9588 "name" : {
7aacca6f 9589 "description" : "IP set name.",
44660702
DM
9590 "maxLength" : 64,
9591 "minLength" : 2,
7aacca6f 9592 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 9593 "type" : "string"
7aacca6f
DM
9594 },
9595 "node" : {
9596 "description" : "The cluster node name.",
44660702 9597 "format" : "pve-node",
013dc89f
DM
9598 "type" : "string",
9599 "typetext" : "<string>"
7aacca6f
DM
9600 },
9601 "vmid" : {
44660702 9602 "description" : "The (unique) ID of the VM.",
7aacca6f 9603 "format" : "pve-vmid",
44660702 9604 "minimum" : 1,
4bd7df8b 9605 "type" : "integer",
013dc89f 9606 "typetext" : "<integer> (1 - N)"
7aacca6f 9607 }
44660702 9608 }
7aacca6f 9609 },
7aacca6f
DM
9610 "permissions" : {
9611 "check" : [
9612 "perm",
9613 "/vms/{vmid}",
9614 [
9615 "VM.Config.Network"
9616 ]
9617 ]
9618 },
9619 "protected" : 1,
44660702
DM
9620 "returns" : {
9621 "type" : "null"
9622 }
56122987 9623 },
44660702 9624 "GET" : {
e9cd3bd4 9625 "allowtoken" : 1,
44660702
DM
9626 "description" : "Read IP or Network settings from IPSet.",
9627 "method" : "GET",
9628 "name" : "read_ip",
7aacca6f 9629 "parameters" : {
44660702 9630 "additionalProperties" : 0,
7aacca6f 9631 "properties" : {
7aacca6f 9632 "cidr" : {
44660702 9633 "description" : "Network/IP specification in CIDR format.",
7aacca6f 9634 "format" : "IPorCIDRorAlias",
013dc89f
DM
9635 "type" : "string",
9636 "typetext" : "<string>"
7aacca6f
DM
9637 },
9638 "name" : {
7aacca6f 9639 "description" : "IP set name.",
44660702 9640 "maxLength" : 64,
7aacca6f 9641 "minLength" : 2,
44660702
DM
9642 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9643 "type" : "string"
7aacca6f 9644 },
44660702
DM
9645 "node" : {
9646 "description" : "The cluster node name.",
9647 "format" : "pve-node",
013dc89f
DM
9648 "type" : "string",
9649 "typetext" : "<string>"
7aacca6f 9650 },
44660702
DM
9651 "vmid" : {
9652 "description" : "The (unique) ID of the VM.",
9653 "format" : "pve-vmid",
9654 "minimum" : 1,
4bd7df8b 9655 "type" : "integer",
013dc89f 9656 "typetext" : "<integer> (1 - N)"
7aacca6f 9657 }
44660702 9658 }
7aacca6f 9659 },
44660702
DM
9660 "permissions" : {
9661 "check" : [
9662 "perm",
9663 "/vms/{vmid}",
9664 [
9665 "VM.Audit"
9666 ]
9667 ]
9668 },
9669 "protected" : 1,
7aacca6f 9670 "returns" : {
44660702 9671 "type" : "object"
7aacca6f 9672 }
56122987 9673 },
44660702 9674 "PUT" : {
e9cd3bd4 9675 "allowtoken" : 1,
44660702
DM
9676 "description" : "Update IP or Network settings",
9677 "method" : "PUT",
9678 "name" : "update_ip",
7aacca6f
DM
9679 "parameters" : {
9680 "additionalProperties" : 0,
9681 "properties" : {
44660702
DM
9682 "cidr" : {
9683 "description" : "Network/IP specification in CIDR format.",
9684 "format" : "IPorCIDRorAlias",
013dc89f
DM
9685 "type" : "string",
9686 "typetext" : "<string>"
44660702
DM
9687 },
9688 "comment" : {
9689 "optional" : 1,
013dc89f
DM
9690 "type" : "string",
9691 "typetext" : "<string>"
44660702
DM
9692 },
9693 "digest" : {
9694 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9695 "maxLength" : 40,
9696 "optional" : 1,
013dc89f
DM
9697 "type" : "string",
9698 "typetext" : "<string>"
44660702 9699 },
7aacca6f 9700 "name" : {
7aacca6f 9701 "description" : "IP set name.",
44660702 9702 "maxLength" : 64,
7aacca6f 9703 "minLength" : 2,
44660702
DM
9704 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9705 "type" : "string"
7aacca6f
DM
9706 },
9707 "node" : {
7aacca6f 9708 "description" : "The cluster node name.",
44660702 9709 "format" : "pve-node",
013dc89f
DM
9710 "type" : "string",
9711 "typetext" : "<string>"
7aacca6f 9712 },
44660702
DM
9713 "nomatch" : {
9714 "optional" : 1,
013dc89f
DM
9715 "type" : "boolean",
9716 "typetext" : "<boolean>"
7aacca6f
DM
9717 },
9718 "vmid" : {
9719 "description" : "The (unique) ID of the VM.",
44660702 9720 "format" : "pve-vmid",
7aacca6f 9721 "minimum" : 1,
4bd7df8b 9722 "type" : "integer",
013dc89f 9723 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9724 }
9725 }
9726 },
9727 "permissions" : {
9728 "check" : [
9729 "perm",
9730 "/vms/{vmid}",
9731 [
44660702 9732 "VM.Config.Network"
7aacca6f
DM
9733 ]
9734 ]
9735 },
7aacca6f 9736 "protected" : 1,
7aacca6f 9737 "returns" : {
44660702 9738 "type" : "null"
7aacca6f 9739 }
56122987 9740 }
7aacca6f 9741 },
7aacca6f 9742 "leaf" : 1,
44660702
DM
9743 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
9744 "text" : "{cidr}"
7aacca6f 9745 }
44660702
DM
9746 ],
9747 "info" : {
9748 "DELETE" : {
e9cd3bd4 9749 "allowtoken" : 1,
44660702
DM
9750 "description" : "Delete IPSet",
9751 "method" : "DELETE",
9752 "name" : "delete_ipset",
9753 "parameters" : {
9754 "additionalProperties" : 0,
9755 "properties" : {
9756 "name" : {
9757 "description" : "IP set name.",
9758 "maxLength" : 64,
9759 "minLength" : 2,
9760 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9761 "type" : "string"
9762 },
9763 "node" : {
9764 "description" : "The cluster node name.",
9765 "format" : "pve-node",
013dc89f
DM
9766 "type" : "string",
9767 "typetext" : "<string>"
44660702
DM
9768 },
9769 "vmid" : {
9770 "description" : "The (unique) ID of the VM.",
9771 "format" : "pve-vmid",
9772 "minimum" : 1,
4bd7df8b 9773 "type" : "integer",
013dc89f 9774 "typetext" : "<integer> (1 - N)"
44660702
DM
9775 }
9776 }
7aacca6f 9777 },
44660702
DM
9778 "permissions" : {
9779 "check" : [
9780 "perm",
9781 "/vms/{vmid}",
9782 [
9783 "VM.Config.Network"
9784 ]
9785 ]
7aacca6f 9786 },
44660702
DM
9787 "protected" : 1,
9788 "returns" : {
9789 "type" : "null"
9790 }
9791 },
9792 "GET" : {
e9cd3bd4 9793 "allowtoken" : 1,
44660702
DM
9794 "description" : "List IPSet content",
9795 "method" : "GET",
9796 "name" : "get_ipset",
9797 "parameters" : {
9798 "additionalProperties" : 0,
9799 "properties" : {
9800 "name" : {
9801 "description" : "IP set name.",
9802 "maxLength" : 64,
9803 "minLength" : 2,
9804 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9805 "type" : "string"
9806 },
9807 "node" : {
9808 "description" : "The cluster node name.",
9809 "format" : "pve-node",
013dc89f
DM
9810 "type" : "string",
9811 "typetext" : "<string>"
44660702
DM
9812 },
9813 "vmid" : {
9814 "description" : "The (unique) ID of the VM.",
9815 "format" : "pve-vmid",
9816 "minimum" : 1,
4bd7df8b 9817 "type" : "integer",
013dc89f 9818 "typetext" : "<integer> (1 - N)"
44660702
DM
9819 }
9820 }
7aacca6f 9821 },
44660702
DM
9822 "permissions" : {
9823 "check" : [
9824 "perm",
9825 "/vms/{vmid}",
9826 [
9827 "VM.Audit"
9828 ]
9829 ]
7aacca6f 9830 },
44660702
DM
9831 "returns" : {
9832 "items" : {
9833 "properties" : {
9834 "cidr" : {
9835 "type" : "string"
9836 },
9837 "comment" : {
9838 "optional" : 1,
9839 "type" : "string"
9840 },
9841 "digest" : {
9842 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9843 "maxLength" : 40,
9844 "optional" : 0,
9845 "type" : "string"
9846 },
9847 "nomatch" : {
9848 "optional" : 1,
9849 "type" : "boolean"
9850 }
9851 },
9852 "type" : "object"
9853 },
9854 "links" : [
9855 {
9856 "href" : "{cidr}",
9857 "rel" : "child"
9858 }
9859 ],
9860 "type" : "array"
56122987
DM
9861 }
9862 },
44660702 9863 "POST" : {
e9cd3bd4 9864 "allowtoken" : 1,
44660702
DM
9865 "description" : "Add IP or Network to IPSet.",
9866 "method" : "POST",
9867 "name" : "create_ip",
9868 "parameters" : {
9869 "additionalProperties" : 0,
9870 "properties" : {
9871 "cidr" : {
9872 "description" : "Network/IP specification in CIDR format.",
9873 "format" : "IPorCIDRorAlias",
013dc89f
DM
9874 "type" : "string",
9875 "typetext" : "<string>"
44660702
DM
9876 },
9877 "comment" : {
9878 "optional" : 1,
013dc89f
DM
9879 "type" : "string",
9880 "typetext" : "<string>"
44660702
DM
9881 },
9882 "name" : {
9883 "description" : "IP set name.",
9884 "maxLength" : 64,
9885 "minLength" : 2,
9886 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9887 "type" : "string"
9888 },
9889 "node" : {
9890 "description" : "The cluster node name.",
9891 "format" : "pve-node",
013dc89f
DM
9892 "type" : "string",
9893 "typetext" : "<string>"
44660702
DM
9894 },
9895 "nomatch" : {
9896 "optional" : 1,
013dc89f
DM
9897 "type" : "boolean",
9898 "typetext" : "<boolean>"
44660702
DM
9899 },
9900 "vmid" : {
9901 "description" : "The (unique) ID of the VM.",
9902 "format" : "pve-vmid",
9903 "minimum" : 1,
4bd7df8b 9904 "type" : "integer",
013dc89f 9905 "typetext" : "<integer> (1 - N)"
44660702
DM
9906 }
9907 }
9908 },
9909 "permissions" : {
9910 "check" : [
9911 "perm",
9912 "/vms/{vmid}",
9913 [
9914 "VM.Config.Network"
9915 ]
9916 ]
9917 },
9918 "protected" : 1,
9919 "returns" : {
9920 "type" : "null"
9921 }
9922 }
9923 },
9924 "leaf" : 0,
9925 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
9926 "text" : "{name}"
9927 }
9928 ],
9929 "info" : {
9930 "GET" : {
e9cd3bd4 9931 "allowtoken" : 1,
44660702
DM
9932 "description" : "List IPSets",
9933 "method" : "GET",
9934 "name" : "ipset_index",
9935 "parameters" : {
9936 "additionalProperties" : 0,
9937 "properties" : {
9938 "node" : {
9939 "description" : "The cluster node name.",
9940 "format" : "pve-node",
013dc89f
DM
9941 "type" : "string",
9942 "typetext" : "<string>"
44660702
DM
9943 },
9944 "vmid" : {
9945 "description" : "The (unique) ID of the VM.",
9946 "format" : "pve-vmid",
9947 "minimum" : 1,
4bd7df8b 9948 "type" : "integer",
013dc89f 9949 "typetext" : "<integer> (1 - N)"
44660702
DM
9950 }
9951 }
56122987
DM
9952 },
9953 "permissions" : {
9954 "check" : [
9955 "perm",
9956 "/vms/{vmid}",
9957 [
44660702 9958 "VM.Audit"
56122987
DM
9959 ]
9960 ]
9961 },
7aacca6f 9962 "returns" : {
7aacca6f
DM
9963 "items" : {
9964 "properties" : {
7aacca6f
DM
9965 "comment" : {
9966 "optional" : 1,
9967 "type" : "string"
9968 },
9969 "digest" : {
7aacca6f 9970 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
9971 "maxLength" : 40,
9972 "optional" : 0,
9973 "type" : "string"
9974 },
9975 "name" : {
9976 "description" : "IP set name.",
9977 "maxLength" : 64,
9978 "minLength" : 2,
9979 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9980 "type" : "string"
7aacca6f
DM
9981 }
9982 },
9983 "type" : "object"
9984 },
9985 "links" : [
9986 {
44660702
DM
9987 "href" : "{name}",
9988 "rel" : "child"
7aacca6f 9989 }
44660702
DM
9990 ],
9991 "type" : "array"
9992 }
9993 },
9994 "POST" : {
e9cd3bd4 9995 "allowtoken" : 1,
44660702
DM
9996 "description" : "Create new IPSet",
9997 "method" : "POST",
9998 "name" : "create_ipset",
56122987
DM
9999 "parameters" : {
10000 "additionalProperties" : 0,
10001 "properties" : {
44660702
DM
10002 "comment" : {
10003 "optional" : 1,
013dc89f
DM
10004 "type" : "string",
10005 "typetext" : "<string>"
56122987 10006 },
44660702
DM
10007 "digest" : {
10008 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10009 "maxLength" : 40,
10010 "optional" : 1,
013dc89f
DM
10011 "type" : "string",
10012 "typetext" : "<string>"
44660702
DM
10013 },
10014 "name" : {
10015 "description" : "IP set name.",
10016 "maxLength" : 64,
10017 "minLength" : 2,
10018 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
10019 "type" : "string"
10020 },
10021 "node" : {
10022 "description" : "The cluster node name.",
10023 "format" : "pve-node",
013dc89f
DM
10024 "type" : "string",
10025 "typetext" : "<string>"
44660702
DM
10026 },
10027 "rename" : {
10028 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
10029 "maxLength" : 64,
10030 "minLength" : 2,
10031 "optional" : 1,
10032 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
10033 "type" : "string"
10034 },
10035 "vmid" : {
10036 "description" : "The (unique) ID of the VM.",
10037 "format" : "pve-vmid",
10038 "minimum" : 1,
4bd7df8b 10039 "type" : "integer",
013dc89f 10040 "typetext" : "<integer> (1 - N)"
44660702
DM
10041 }
10042 }
10043 },
7aacca6f
DM
10044 "permissions" : {
10045 "check" : [
10046 "perm",
10047 "/vms/{vmid}",
10048 [
10049 "VM.Config.Network"
10050 ]
10051 ]
10052 },
44660702 10053 "protected" : 1,
56122987 10054 "returns" : {
7aacca6f 10055 "type" : "null"
44660702
DM
10056 }
10057 }
10058 },
10059 "leaf" : 0,
10060 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
10061 "text" : "ipset"
10062 },
10063 {
10064 "info" : {
10065 "GET" : {
e9cd3bd4 10066 "allowtoken" : 1,
44660702
DM
10067 "description" : "Get VM firewall options.",
10068 "method" : "GET",
10069 "name" : "get_options",
7aacca6f
DM
10070 "parameters" : {
10071 "additionalProperties" : 0,
56122987 10072 "properties" : {
7aacca6f
DM
10073 "node" : {
10074 "description" : "The cluster node name.",
44660702 10075 "format" : "pve-node",
013dc89f
DM
10076 "type" : "string",
10077 "typetext" : "<string>"
7aacca6f 10078 },
44660702
DM
10079 "vmid" : {
10080 "description" : "The (unique) ID of the VM.",
10081 "format" : "pve-vmid",
10082 "minimum" : 1,
4bd7df8b 10083 "type" : "integer",
013dc89f 10084 "typetext" : "<integer> (1 - N)"
44660702
DM
10085 }
10086 }
10087 },
10088 "permissions" : {
10089 "check" : [
10090 "perm",
10091 "/vms/{vmid}",
10092 [
10093 "VM.Audit"
10094 ]
10095 ]
10096 },
10097 "proxyto" : "node",
10098 "returns" : {
10099 "properties" : {
10100 "dhcp" : {
5c1699e5 10101 "default" : 0,
44660702 10102 "description" : "Enable DHCP.",
56122987 10103 "optional" : 1,
44660702 10104 "type" : "boolean"
56122987 10105 },
44660702 10106 "enable" : {
5c1699e5 10107 "default" : 0,
44660702 10108 "description" : "Enable/disable firewall rules.",
7aacca6f 10109 "optional" : 1,
44660702 10110 "type" : "boolean"
56122987 10111 },
44660702
DM
10112 "ipfilter" : {
10113 "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 10114 "optional" : 1,
44660702 10115 "type" : "boolean"
7aacca6f 10116 },
56122987 10117 "log_level_in" : {
7aacca6f 10118 "description" : "Log level for incoming traffic.",
56122987
DM
10119 "enum" : [
10120 "emerg",
10121 "alert",
10122 "crit",
10123 "err",
10124 "warning",
10125 "notice",
10126 "info",
10127 "debug",
10128 "nolog"
10129 ],
56122987
DM
10130 "optional" : 1,
10131 "type" : "string"
10132 },
44660702
DM
10133 "log_level_out" : {
10134 "description" : "Log level for outgoing traffic.",
10135 "enum" : [
10136 "emerg",
10137 "alert",
10138 "crit",
10139 "err",
10140 "warning",
10141 "notice",
10142 "info",
10143 "debug",
10144 "nolog"
10145 ],
10146 "optional" : 1,
10147 "type" : "string"
10148 },
10149 "macfilter" : {
5c1699e5 10150 "default" : 0,
44660702 10151 "description" : "Enable/disable MAC address filter.",
56122987 10152 "optional" : 1,
7aacca6f 10153 "type" : "boolean"
56122987
DM
10154 },
10155 "ndp" : {
5c1699e5
TL
10156 "default" : 0,
10157 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 10158 "optional" : 1,
44660702 10159 "type" : "boolean"
56122987
DM
10160 },
10161 "policy_in" : {
56122987
DM
10162 "description" : "Input policy.",
10163 "enum" : [
10164 "ACCEPT",
10165 "REJECT",
10166 "DROP"
44660702
DM
10167 ],
10168 "optional" : 1,
10169 "type" : "string"
56122987 10170 },
44660702
DM
10171 "policy_out" : {
10172 "description" : "Output policy.",
10173 "enum" : [
10174 "ACCEPT",
10175 "REJECT",
10176 "DROP"
10177 ],
10178 "optional" : 1,
10179 "type" : "string"
10180 },
10181 "radv" : {
10182 "description" : "Allow sending Router Advertisement.",
10183 "optional" : 1,
10184 "type" : "boolean"
10185 }
10186 },
10187 "type" : "object"
10188 }
10189 },
10190 "PUT" : {
e9cd3bd4 10191 "allowtoken" : 1,
44660702
DM
10192 "description" : "Set Firewall options.",
10193 "method" : "PUT",
10194 "name" : "set_options",
10195 "parameters" : {
10196 "additionalProperties" : 0,
10197 "properties" : {
10198 "delete" : {
10199 "description" : "A list of settings you want to delete.",
10200 "format" : "pve-configid-list",
10201 "optional" : 1,
013dc89f
DM
10202 "type" : "string",
10203 "typetext" : "<string>"
44660702
DM
10204 },
10205 "dhcp" : {
5c1699e5 10206 "default" : 0,
44660702 10207 "description" : "Enable DHCP.",
7aacca6f 10208 "optional" : 1,
013dc89f
DM
10209 "type" : "boolean",
10210 "typetext" : "<boolean>"
7aacca6f
DM
10211 },
10212 "digest" : {
10213 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 10214 "maxLength" : 40,
7aacca6f 10215 "optional" : 1,
013dc89f
DM
10216 "type" : "string",
10217 "typetext" : "<string>"
7aacca6f
DM
10218 },
10219 "enable" : {
5c1699e5 10220 "default" : 0,
7aacca6f 10221 "description" : "Enable/disable firewall rules.",
56122987 10222 "optional" : 1,
013dc89f
DM
10223 "type" : "boolean",
10224 "typetext" : "<boolean>"
7aacca6f 10225 },
44660702
DM
10226 "ipfilter" : {
10227 "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.",
10228 "optional" : 1,
013dc89f
DM
10229 "type" : "boolean",
10230 "typetext" : "<boolean>"
44660702
DM
10231 },
10232 "log_level_in" : {
10233 "description" : "Log level for incoming traffic.",
56122987
DM
10234 "enum" : [
10235 "emerg",
10236 "alert",
10237 "crit",
10238 "err",
10239 "warning",
10240 "notice",
10241 "info",
10242 "debug",
10243 "nolog"
7aacca6f 10244 ],
7aacca6f 10245 "optional" : 1,
44660702 10246 "type" : "string"
7aacca6f 10247 },
44660702
DM
10248 "log_level_out" : {
10249 "description" : "Log level for outgoing traffic.",
56122987
DM
10250 "enum" : [
10251 "emerg",
10252 "alert",
10253 "crit",
10254 "err",
10255 "warning",
10256 "notice",
10257 "info",
10258 "debug",
10259 "nolog"
10260 ],
56122987 10261 "optional" : 1,
44660702 10262 "type" : "string"
56122987
DM
10263 },
10264 "macfilter" : {
5c1699e5 10265 "default" : 0,
56122987 10266 "description" : "Enable/disable MAC address filter.",
7aacca6f 10267 "optional" : 1,
013dc89f
DM
10268 "type" : "boolean",
10269 "typetext" : "<boolean>"
56122987 10270 },
44660702 10271 "ndp" : {
5c1699e5
TL
10272 "default" : 0,
10273 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 10274 "optional" : 1,
013dc89f
DM
10275 "type" : "boolean",
10276 "typetext" : "<boolean>"
44660702
DM
10277 },
10278 "node" : {
10279 "description" : "The cluster node name.",
10280 "format" : "pve-node",
013dc89f
DM
10281 "type" : "string",
10282 "typetext" : "<string>"
44660702 10283 },
56122987 10284 "policy_in" : {
44660702 10285 "description" : "Input policy.",
56122987
DM
10286 "enum" : [
10287 "ACCEPT",
10288 "REJECT",
10289 "DROP"
7aacca6f 10290 ],
56122987 10291 "optional" : 1,
7aacca6f 10292 "type" : "string"
56122987 10293 },
44660702
DM
10294 "policy_out" : {
10295 "description" : "Output policy.",
10296 "enum" : [
10297 "ACCEPT",
10298 "REJECT",
10299 "DROP"
10300 ],
56122987 10301 "optional" : 1,
44660702 10302 "type" : "string"
56122987 10303 },
44660702
DM
10304 "radv" : {
10305 "description" : "Allow sending Router Advertisement.",
56122987 10306 "optional" : 1,
013dc89f
DM
10307 "type" : "boolean",
10308 "typetext" : "<boolean>"
7aacca6f
DM
10309 },
10310 "vmid" : {
10311 "description" : "The (unique) ID of the VM.",
44660702 10312 "format" : "pve-vmid",
7aacca6f 10313 "minimum" : 1,
4bd7df8b 10314 "type" : "integer",
013dc89f 10315 "typetext" : "<integer> (1 - N)"
56122987
DM
10316 }
10317 }
10318 },
56122987
DM
10319 "permissions" : {
10320 "check" : [
10321 "perm",
10322 "/vms/{vmid}",
10323 [
44660702 10324 "VM.Config.Network"
56122987
DM
10325 ]
10326 ]
7aacca6f 10327 },
44660702 10328 "protected" : 1,
7aacca6f 10329 "proxyto" : "node",
44660702
DM
10330 "returns" : {
10331 "type" : "null"
10332 }
56122987
DM
10333 }
10334 },
44660702 10335 "leaf" : 1,
7aacca6f 10336 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 10337 "text" : "options"
56122987
DM
10338 },
10339 {
56122987
DM
10340 "info" : {
10341 "GET" : {
e9cd3bd4 10342 "allowtoken" : 1,
44660702
DM
10343 "description" : "Read firewall log",
10344 "method" : "GET",
10345 "name" : "log",
10346 "parameters" : {
10347 "additionalProperties" : 0,
10348 "properties" : {
10349 "limit" : {
10350 "minimum" : 0,
10351 "optional" : 1,
4bd7df8b 10352 "type" : "integer",
013dc89f 10353 "typetext" : "<integer> (0 - N)"
56122987 10354 },
44660702
DM
10355 "node" : {
10356 "description" : "The cluster node name.",
10357 "format" : "pve-node",
013dc89f
DM
10358 "type" : "string",
10359 "typetext" : "<string>"
44660702
DM
10360 },
10361 "start" : {
10362 "minimum" : 0,
10363 "optional" : 1,
4bd7df8b 10364 "type" : "integer",
013dc89f 10365 "typetext" : "<integer> (0 - N)"
44660702
DM
10366 },
10367 "vmid" : {
10368 "description" : "The (unique) ID of the VM.",
10369 "format" : "pve-vmid",
10370 "minimum" : 1,
4bd7df8b 10371 "type" : "integer",
013dc89f 10372 "typetext" : "<integer> (1 - N)"
44660702
DM
10373 }
10374 }
7aacca6f 10375 },
7aacca6f
DM
10376 "permissions" : {
10377 "check" : [
10378 "perm",
10379 "/vms/{vmid}",
10380 [
10381 "VM.Console"
10382 ]
10383 ]
56122987 10384 },
7aacca6f 10385 "protected" : 1,
44660702
DM
10386 "proxyto" : "node",
10387 "returns" : {
10388 "items" : {
10389 "properties" : {
10390 "n" : {
10391 "description" : "Line number",
10392 "type" : "integer"
10393 },
10394 "t" : {
10395 "description" : "Line text",
10396 "type" : "string"
10397 }
56122987 10398 },
44660702 10399 "type" : "object"
7aacca6f 10400 },
44660702 10401 "type" : "array"
7aacca6f
DM
10402 }
10403 }
10404 },
44660702 10405 "leaf" : 1,
7aacca6f 10406 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 10407 "text" : "log"
7aacca6f
DM
10408 },
10409 {
7aacca6f
DM
10410 "info" : {
10411 "GET" : {
e9cd3bd4 10412 "allowtoken" : 1,
7aacca6f 10413 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
10414 "method" : "GET",
10415 "name" : "refs",
56122987 10416 "parameters" : {
44660702 10417 "additionalProperties" : 0,
56122987
DM
10418 "properties" : {
10419 "node" : {
7aacca6f 10420 "description" : "The cluster node name.",
44660702 10421 "format" : "pve-node",
013dc89f
DM
10422 "type" : "string",
10423 "typetext" : "<string>"
56122987
DM
10424 },
10425 "type" : {
56122987
DM
10426 "description" : "Only list references of specified type.",
10427 "enum" : [
10428 "alias",
10429 "ipset"
7aacca6f 10430 ],
44660702
DM
10431 "optional" : 1,
10432 "type" : "string"
10433 },
10434 "vmid" : {
10435 "description" : "The (unique) ID of the VM.",
10436 "format" : "pve-vmid",
10437 "minimum" : 1,
4bd7df8b 10438 "type" : "integer",
013dc89f 10439 "typetext" : "<integer> (1 - N)"
56122987 10440 }
44660702
DM
10441 }
10442 },
10443 "permissions" : {
10444 "check" : [
10445 "perm",
10446 "/vms/{vmid}",
10447 [
10448 "VM.Audit"
10449 ]
10450 ]
56122987
DM
10451 },
10452 "returns" : {
56122987
DM
10453 "items" : {
10454 "properties" : {
44660702
DM
10455 "comment" : {
10456 "optional" : 1,
56122987
DM
10457 "type" : "string"
10458 },
10459 "name" : {
10460 "type" : "string"
10461 },
44660702
DM
10462 "type" : {
10463 "enum" : [
10464 "alias",
10465 "ipset"
10466 ],
7aacca6f 10467 "type" : "string"
56122987
DM
10468 }
10469 },
10470 "type" : "object"
7aacca6f
DM
10471 },
10472 "type" : "array"
10473 }
56122987 10474 }
44660702
DM
10475 },
10476 "leaf" : 1,
10477 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
10478 "text" : "refs"
56122987
DM
10479 }
10480 ],
56122987
DM
10481 "info" : {
10482 "GET" : {
e9cd3bd4 10483 "allowtoken" : 1,
44660702 10484 "description" : "Directory index.",
56122987 10485 "method" : "GET",
44660702 10486 "name" : "index",
56122987 10487 "parameters" : {
44660702 10488 "additionalProperties" : 0,
56122987
DM
10489 "properties" : {
10490 "node" : {
10491 "description" : "The cluster node name.",
44660702 10492 "format" : "pve-node",
013dc89f
DM
10493 "type" : "string",
10494 "typetext" : "<string>"
56122987
DM
10495 },
10496 "vmid" : {
44660702 10497 "description" : "The (unique) ID of the VM.",
56122987
DM
10498 "format" : "pve-vmid",
10499 "minimum" : 1,
4bd7df8b 10500 "type" : "integer",
013dc89f 10501 "typetext" : "<integer> (1 - N)"
56122987 10502 }
44660702 10503 }
56122987 10504 },
56122987 10505 "permissions" : {
27a7acb2
DM
10506 "user" : "all"
10507 },
10508 "returns" : {
10509 "items" : {
10510 "properties" : {},
10511 "type" : "object"
10512 },
10513 "links" : [
10514 {
10515 "href" : "{name}",
10516 "rel" : "child"
10517 }
10518 ],
10519 "type" : "array"
10520 }
10521 }
10522 },
10523 "leaf" : 0,
10524 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
10525 "text" : "firewall"
10526 },
10527 {
10528 "children" : [
10529 {
10530 "info" : {
10531 "POST" : {
e9cd3bd4 10532 "allowtoken" : 1,
27a7acb2
DM
10533 "description" : "Execute fsfreeze-freeze.",
10534 "method" : "POST",
10535 "name" : "fsfreeze-freeze",
10536 "parameters" : {
10537 "additionalProperties" : 0,
10538 "properties" : {
10539 "node" : {
10540 "description" : "The cluster node name.",
10541 "format" : "pve-node",
10542 "type" : "string",
10543 "typetext" : "<string>"
10544 },
10545 "vmid" : {
10546 "description" : "The (unique) ID of the VM.",
10547 "format" : "pve-vmid",
10548 "minimum" : 1,
10549 "type" : "integer",
10550 "typetext" : "<integer> (1 - N)"
10551 }
10552 }
10553 },
10554 "permissions" : {
10555 "check" : [
10556 "perm",
10557 "/vms/{vmid}",
10558 [
10559 "VM.Monitor"
10560 ]
10561 ]
10562 },
10563 "protected" : 1,
10564 "proxyto" : "node",
10565 "returns" : {
10566 "description" : "Returns an object with a single `result` property.",
10567 "type" : "object"
10568 }
10569 }
10570 },
10571 "leaf" : 1,
10572 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
10573 "text" : "fsfreeze-freeze"
10574 },
10575 {
10576 "info" : {
10577 "POST" : {
e9cd3bd4 10578 "allowtoken" : 1,
27a7acb2
DM
10579 "description" : "Execute fsfreeze-status.",
10580 "method" : "POST",
10581 "name" : "fsfreeze-status",
10582 "parameters" : {
10583 "additionalProperties" : 0,
10584 "properties" : {
10585 "node" : {
10586 "description" : "The cluster node name.",
10587 "format" : "pve-node",
10588 "type" : "string",
10589 "typetext" : "<string>"
10590 },
10591 "vmid" : {
10592 "description" : "The (unique) ID of the VM.",
10593 "format" : "pve-vmid",
10594 "minimum" : 1,
10595 "type" : "integer",
10596 "typetext" : "<integer> (1 - N)"
10597 }
10598 }
10599 },
10600 "permissions" : {
10601 "check" : [
10602 "perm",
10603 "/vms/{vmid}",
10604 [
10605 "VM.Monitor"
10606 ]
10607 ]
10608 },
10609 "protected" : 1,
10610 "proxyto" : "node",
10611 "returns" : {
10612 "description" : "Returns an object with a single `result` property.",
10613 "type" : "object"
10614 }
10615 }
10616 },
10617 "leaf" : 1,
10618 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
10619 "text" : "fsfreeze-status"
10620 },
10621 {
10622 "info" : {
10623 "POST" : {
e9cd3bd4 10624 "allowtoken" : 1,
27a7acb2
DM
10625 "description" : "Execute fsfreeze-thaw.",
10626 "method" : "POST",
10627 "name" : "fsfreeze-thaw",
10628 "parameters" : {
10629 "additionalProperties" : 0,
10630 "properties" : {
10631 "node" : {
10632 "description" : "The cluster node name.",
10633 "format" : "pve-node",
10634 "type" : "string",
10635 "typetext" : "<string>"
10636 },
10637 "vmid" : {
10638 "description" : "The (unique) ID of the VM.",
10639 "format" : "pve-vmid",
10640 "minimum" : 1,
10641 "type" : "integer",
10642 "typetext" : "<integer> (1 - N)"
10643 }
10644 }
10645 },
10646 "permissions" : {
10647 "check" : [
10648 "perm",
10649 "/vms/{vmid}",
10650 [
10651 "VM.Monitor"
10652 ]
10653 ]
10654 },
10655 "protected" : 1,
10656 "proxyto" : "node",
10657 "returns" : {
10658 "description" : "Returns an object with a single `result` property.",
10659 "type" : "object"
10660 }
10661 }
10662 },
10663 "leaf" : 1,
10664 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
10665 "text" : "fsfreeze-thaw"
10666 },
10667 {
10668 "info" : {
10669 "POST" : {
e9cd3bd4 10670 "allowtoken" : 1,
27a7acb2
DM
10671 "description" : "Execute fstrim.",
10672 "method" : "POST",
10673 "name" : "fstrim",
10674 "parameters" : {
10675 "additionalProperties" : 0,
10676 "properties" : {
10677 "node" : {
10678 "description" : "The cluster node name.",
10679 "format" : "pve-node",
10680 "type" : "string",
10681 "typetext" : "<string>"
10682 },
10683 "vmid" : {
10684 "description" : "The (unique) ID of the VM.",
10685 "format" : "pve-vmid",
10686 "minimum" : 1,
10687 "type" : "integer",
10688 "typetext" : "<integer> (1 - N)"
10689 }
10690 }
10691 },
10692 "permissions" : {
10693 "check" : [
10694 "perm",
10695 "/vms/{vmid}",
10696 [
10697 "VM.Monitor"
10698 ]
10699 ]
10700 },
10701 "protected" : 1,
10702 "proxyto" : "node",
10703 "returns" : {
10704 "description" : "Returns an object with a single `result` property.",
10705 "type" : "object"
10706 }
10707 }
10708 },
10709 "leaf" : 1,
10710 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
10711 "text" : "fstrim"
10712 },
10713 {
10714 "info" : {
10715 "GET" : {
e9cd3bd4 10716 "allowtoken" : 1,
27a7acb2
DM
10717 "description" : "Execute get-fsinfo.",
10718 "method" : "GET",
10719 "name" : "get-fsinfo",
10720 "parameters" : {
10721 "additionalProperties" : 0,
10722 "properties" : {
10723 "node" : {
10724 "description" : "The cluster node name.",
10725 "format" : "pve-node",
10726 "type" : "string",
10727 "typetext" : "<string>"
10728 },
10729 "vmid" : {
10730 "description" : "The (unique) ID of the VM.",
10731 "format" : "pve-vmid",
10732 "minimum" : 1,
10733 "type" : "integer",
10734 "typetext" : "<integer> (1 - N)"
10735 }
10736 }
10737 },
10738 "permissions" : {
10739 "check" : [
10740 "perm",
10741 "/vms/{vmid}",
10742 [
10743 "VM.Monitor"
10744 ]
10745 ]
10746 },
10747 "protected" : 1,
10748 "proxyto" : "node",
10749 "returns" : {
10750 "description" : "Returns an object with a single `result` property.",
10751 "type" : "object"
10752 }
10753 }
10754 },
10755 "leaf" : 1,
10756 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
10757 "text" : "get-fsinfo"
10758 },
10759 {
10760 "info" : {
10761 "GET" : {
e9cd3bd4 10762 "allowtoken" : 1,
27a7acb2
DM
10763 "description" : "Execute get-host-name.",
10764 "method" : "GET",
10765 "name" : "get-host-name",
10766 "parameters" : {
10767 "additionalProperties" : 0,
10768 "properties" : {
10769 "node" : {
10770 "description" : "The cluster node name.",
10771 "format" : "pve-node",
10772 "type" : "string",
10773 "typetext" : "<string>"
10774 },
10775 "vmid" : {
10776 "description" : "The (unique) ID of the VM.",
10777 "format" : "pve-vmid",
10778 "minimum" : 1,
10779 "type" : "integer",
10780 "typetext" : "<integer> (1 - N)"
10781 }
10782 }
10783 },
10784 "permissions" : {
10785 "check" : [
10786 "perm",
10787 "/vms/{vmid}",
10788 [
10789 "VM.Monitor"
10790 ]
10791 ]
10792 },
10793 "protected" : 1,
10794 "proxyto" : "node",
10795 "returns" : {
10796 "description" : "Returns an object with a single `result` property.",
10797 "type" : "object"
10798 }
10799 }
10800 },
10801 "leaf" : 1,
10802 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
10803 "text" : "get-host-name"
10804 },
10805 {
10806 "info" : {
10807 "GET" : {
e9cd3bd4 10808 "allowtoken" : 1,
27a7acb2
DM
10809 "description" : "Execute get-memory-block-info.",
10810 "method" : "GET",
10811 "name" : "get-memory-block-info",
10812 "parameters" : {
10813 "additionalProperties" : 0,
10814 "properties" : {
10815 "node" : {
10816 "description" : "The cluster node name.",
10817 "format" : "pve-node",
10818 "type" : "string",
10819 "typetext" : "<string>"
10820 },
10821 "vmid" : {
10822 "description" : "The (unique) ID of the VM.",
10823 "format" : "pve-vmid",
10824 "minimum" : 1,
10825 "type" : "integer",
10826 "typetext" : "<integer> (1 - N)"
10827 }
10828 }
10829 },
10830 "permissions" : {
10831 "check" : [
10832 "perm",
10833 "/vms/{vmid}",
10834 [
10835 "VM.Monitor"
10836 ]
10837 ]
10838 },
10839 "protected" : 1,
10840 "proxyto" : "node",
10841 "returns" : {
10842 "description" : "Returns an object with a single `result` property.",
10843 "type" : "object"
10844 }
10845 }
10846 },
10847 "leaf" : 1,
10848 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
10849 "text" : "get-memory-block-info"
10850 },
10851 {
10852 "info" : {
10853 "GET" : {
e9cd3bd4 10854 "allowtoken" : 1,
27a7acb2
DM
10855 "description" : "Execute get-memory-blocks.",
10856 "method" : "GET",
10857 "name" : "get-memory-blocks",
10858 "parameters" : {
10859 "additionalProperties" : 0,
10860 "properties" : {
10861 "node" : {
10862 "description" : "The cluster node name.",
10863 "format" : "pve-node",
10864 "type" : "string",
10865 "typetext" : "<string>"
10866 },
10867 "vmid" : {
10868 "description" : "The (unique) ID of the VM.",
10869 "format" : "pve-vmid",
10870 "minimum" : 1,
10871 "type" : "integer",
10872 "typetext" : "<integer> (1 - N)"
10873 }
10874 }
10875 },
10876 "permissions" : {
10877 "check" : [
10878 "perm",
10879 "/vms/{vmid}",
10880 [
10881 "VM.Monitor"
10882 ]
10883 ]
10884 },
10885 "protected" : 1,
10886 "proxyto" : "node",
10887 "returns" : {
10888 "description" : "Returns an object with a single `result` property.",
10889 "type" : "object"
10890 }
10891 }
10892 },
10893 "leaf" : 1,
10894 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
10895 "text" : "get-memory-blocks"
10896 },
10897 {
10898 "info" : {
10899 "GET" : {
e9cd3bd4 10900 "allowtoken" : 1,
27a7acb2
DM
10901 "description" : "Execute get-osinfo.",
10902 "method" : "GET",
10903 "name" : "get-osinfo",
10904 "parameters" : {
10905 "additionalProperties" : 0,
10906 "properties" : {
10907 "node" : {
10908 "description" : "The cluster node name.",
10909 "format" : "pve-node",
10910 "type" : "string",
10911 "typetext" : "<string>"
10912 },
10913 "vmid" : {
10914 "description" : "The (unique) ID of the VM.",
10915 "format" : "pve-vmid",
10916 "minimum" : 1,
10917 "type" : "integer",
10918 "typetext" : "<integer> (1 - N)"
10919 }
10920 }
10921 },
10922 "permissions" : {
10923 "check" : [
10924 "perm",
10925 "/vms/{vmid}",
10926 [
10927 "VM.Monitor"
10928 ]
10929 ]
10930 },
10931 "protected" : 1,
10932 "proxyto" : "node",
10933 "returns" : {
10934 "description" : "Returns an object with a single `result` property.",
10935 "type" : "object"
10936 }
10937 }
10938 },
10939 "leaf" : 1,
10940 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
10941 "text" : "get-osinfo"
10942 },
10943 {
10944 "info" : {
10945 "GET" : {
e9cd3bd4 10946 "allowtoken" : 1,
27a7acb2
DM
10947 "description" : "Execute get-time.",
10948 "method" : "GET",
10949 "name" : "get-time",
10950 "parameters" : {
10951 "additionalProperties" : 0,
10952 "properties" : {
10953 "node" : {
10954 "description" : "The cluster node name.",
10955 "format" : "pve-node",
10956 "type" : "string",
10957 "typetext" : "<string>"
10958 },
10959 "vmid" : {
10960 "description" : "The (unique) ID of the VM.",
10961 "format" : "pve-vmid",
10962 "minimum" : 1,
10963 "type" : "integer",
10964 "typetext" : "<integer> (1 - N)"
10965 }
10966 }
10967 },
10968 "permissions" : {
10969 "check" : [
10970 "perm",
10971 "/vms/{vmid}",
10972 [
10973 "VM.Monitor"
10974 ]
10975 ]
10976 },
10977 "protected" : 1,
10978 "proxyto" : "node",
10979 "returns" : {
10980 "description" : "Returns an object with a single `result` property.",
10981 "type" : "object"
10982 }
10983 }
10984 },
10985 "leaf" : 1,
10986 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
10987 "text" : "get-time"
10988 },
10989 {
10990 "info" : {
10991 "GET" : {
e9cd3bd4 10992 "allowtoken" : 1,
27a7acb2
DM
10993 "description" : "Execute get-timezone.",
10994 "method" : "GET",
10995 "name" : "get-timezone",
10996 "parameters" : {
10997 "additionalProperties" : 0,
10998 "properties" : {
10999 "node" : {
11000 "description" : "The cluster node name.",
11001 "format" : "pve-node",
11002 "type" : "string",
11003 "typetext" : "<string>"
11004 },
11005 "vmid" : {
11006 "description" : "The (unique) ID of the VM.",
11007 "format" : "pve-vmid",
11008 "minimum" : 1,
11009 "type" : "integer",
11010 "typetext" : "<integer> (1 - N)"
11011 }
11012 }
11013 },
11014 "permissions" : {
11015 "check" : [
11016 "perm",
11017 "/vms/{vmid}",
11018 [
11019 "VM.Monitor"
11020 ]
11021 ]
11022 },
11023 "protected" : 1,
11024 "proxyto" : "node",
11025 "returns" : {
11026 "description" : "Returns an object with a single `result` property.",
11027 "type" : "object"
11028 }
11029 }
11030 },
11031 "leaf" : 1,
11032 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
11033 "text" : "get-timezone"
11034 },
11035 {
11036 "info" : {
11037 "GET" : {
e9cd3bd4 11038 "allowtoken" : 1,
27a7acb2
DM
11039 "description" : "Execute get-users.",
11040 "method" : "GET",
11041 "name" : "get-users",
11042 "parameters" : {
11043 "additionalProperties" : 0,
11044 "properties" : {
11045 "node" : {
11046 "description" : "The cluster node name.",
11047 "format" : "pve-node",
11048 "type" : "string",
11049 "typetext" : "<string>"
11050 },
11051 "vmid" : {
11052 "description" : "The (unique) ID of the VM.",
11053 "format" : "pve-vmid",
11054 "minimum" : 1,
11055 "type" : "integer",
11056 "typetext" : "<integer> (1 - N)"
11057 }
11058 }
11059 },
11060 "permissions" : {
11061 "check" : [
11062 "perm",
11063 "/vms/{vmid}",
11064 [
11065 "VM.Monitor"
11066 ]
11067 ]
11068 },
11069 "protected" : 1,
11070 "proxyto" : "node",
11071 "returns" : {
11072 "description" : "Returns an object with a single `result` property.",
11073 "type" : "object"
11074 }
11075 }
11076 },
11077 "leaf" : 1,
11078 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
11079 "text" : "get-users"
11080 },
11081 {
11082 "info" : {
11083 "GET" : {
e9cd3bd4 11084 "allowtoken" : 1,
27a7acb2
DM
11085 "description" : "Execute get-vcpus.",
11086 "method" : "GET",
11087 "name" : "get-vcpus",
11088 "parameters" : {
11089 "additionalProperties" : 0,
11090 "properties" : {
11091 "node" : {
11092 "description" : "The cluster node name.",
11093 "format" : "pve-node",
11094 "type" : "string",
11095 "typetext" : "<string>"
11096 },
11097 "vmid" : {
11098 "description" : "The (unique) ID of the VM.",
11099 "format" : "pve-vmid",
11100 "minimum" : 1,
11101 "type" : "integer",
11102 "typetext" : "<integer> (1 - N)"
11103 }
11104 }
11105 },
11106 "permissions" : {
11107 "check" : [
11108 "perm",
11109 "/vms/{vmid}",
11110 [
11111 "VM.Monitor"
11112 ]
11113 ]
11114 },
11115 "protected" : 1,
11116 "proxyto" : "node",
11117 "returns" : {
11118 "description" : "Returns an object with a single `result` property.",
11119 "type" : "object"
11120 }
11121 }
11122 },
11123 "leaf" : 1,
11124 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
11125 "text" : "get-vcpus"
11126 },
11127 {
11128 "info" : {
11129 "GET" : {
e9cd3bd4 11130 "allowtoken" : 1,
27a7acb2
DM
11131 "description" : "Execute info.",
11132 "method" : "GET",
11133 "name" : "info",
11134 "parameters" : {
11135 "additionalProperties" : 0,
11136 "properties" : {
11137 "node" : {
11138 "description" : "The cluster node name.",
11139 "format" : "pve-node",
11140 "type" : "string",
11141 "typetext" : "<string>"
11142 },
11143 "vmid" : {
11144 "description" : "The (unique) ID of the VM.",
11145 "format" : "pve-vmid",
11146 "minimum" : 1,
11147 "type" : "integer",
11148 "typetext" : "<integer> (1 - N)"
11149 }
11150 }
11151 },
11152 "permissions" : {
11153 "check" : [
11154 "perm",
11155 "/vms/{vmid}",
11156 [
11157 "VM.Monitor"
11158 ]
11159 ]
11160 },
11161 "protected" : 1,
11162 "proxyto" : "node",
11163 "returns" : {
11164 "description" : "Returns an object with a single `result` property.",
11165 "type" : "object"
11166 }
11167 }
11168 },
11169 "leaf" : 1,
11170 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
11171 "text" : "info"
11172 },
11173 {
11174 "info" : {
11175 "GET" : {
e9cd3bd4 11176 "allowtoken" : 1,
27a7acb2
DM
11177 "description" : "Execute network-get-interfaces.",
11178 "method" : "GET",
11179 "name" : "network-get-interfaces",
11180 "parameters" : {
11181 "additionalProperties" : 0,
11182 "properties" : {
11183 "node" : {
11184 "description" : "The cluster node name.",
11185 "format" : "pve-node",
11186 "type" : "string",
11187 "typetext" : "<string>"
11188 },
11189 "vmid" : {
11190 "description" : "The (unique) ID of the VM.",
11191 "format" : "pve-vmid",
11192 "minimum" : 1,
11193 "type" : "integer",
11194 "typetext" : "<integer> (1 - N)"
11195 }
11196 }
11197 },
11198 "permissions" : {
11199 "check" : [
11200 "perm",
11201 "/vms/{vmid}",
11202 [
11203 "VM.Monitor"
11204 ]
11205 ]
11206 },
11207 "protected" : 1,
11208 "proxyto" : "node",
11209 "returns" : {
11210 "description" : "Returns an object with a single `result` property.",
11211 "type" : "object"
11212 }
11213 }
11214 },
11215 "leaf" : 1,
11216 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
11217 "text" : "network-get-interfaces"
11218 },
11219 {
11220 "info" : {
11221 "POST" : {
e9cd3bd4 11222 "allowtoken" : 1,
27a7acb2
DM
11223 "description" : "Execute ping.",
11224 "method" : "POST",
11225 "name" : "ping",
11226 "parameters" : {
11227 "additionalProperties" : 0,
11228 "properties" : {
11229 "node" : {
11230 "description" : "The cluster node name.",
11231 "format" : "pve-node",
11232 "type" : "string",
11233 "typetext" : "<string>"
11234 },
11235 "vmid" : {
11236 "description" : "The (unique) ID of the VM.",
11237 "format" : "pve-vmid",
11238 "minimum" : 1,
11239 "type" : "integer",
11240 "typetext" : "<integer> (1 - N)"
11241 }
11242 }
11243 },
11244 "permissions" : {
11245 "check" : [
11246 "perm",
11247 "/vms/{vmid}",
11248 [
11249 "VM.Monitor"
11250 ]
11251 ]
11252 },
11253 "protected" : 1,
11254 "proxyto" : "node",
11255 "returns" : {
11256 "description" : "Returns an object with a single `result` property.",
11257 "type" : "object"
11258 }
11259 }
11260 },
11261 "leaf" : 1,
11262 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
11263 "text" : "ping"
11264 },
11265 {
11266 "info" : {
11267 "POST" : {
e9cd3bd4 11268 "allowtoken" : 1,
27a7acb2
DM
11269 "description" : "Execute shutdown.",
11270 "method" : "POST",
11271 "name" : "shutdown",
11272 "parameters" : {
11273 "additionalProperties" : 0,
11274 "properties" : {
11275 "node" : {
11276 "description" : "The cluster node name.",
11277 "format" : "pve-node",
11278 "type" : "string",
11279 "typetext" : "<string>"
11280 },
11281 "vmid" : {
11282 "description" : "The (unique) ID of the VM.",
11283 "format" : "pve-vmid",
11284 "minimum" : 1,
11285 "type" : "integer",
11286 "typetext" : "<integer> (1 - N)"
11287 }
11288 }
11289 },
11290 "permissions" : {
11291 "check" : [
11292 "perm",
11293 "/vms/{vmid}",
11294 [
11295 "VM.Monitor"
11296 ]
11297 ]
11298 },
11299 "protected" : 1,
11300 "proxyto" : "node",
11301 "returns" : {
11302 "description" : "Returns an object with a single `result` property.",
11303 "type" : "object"
11304 }
11305 }
11306 },
11307 "leaf" : 1,
11308 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
11309 "text" : "shutdown"
11310 },
11311 {
11312 "info" : {
11313 "POST" : {
e9cd3bd4 11314 "allowtoken" : 1,
27a7acb2
DM
11315 "description" : "Execute suspend-disk.",
11316 "method" : "POST",
11317 "name" : "suspend-disk",
11318 "parameters" : {
11319 "additionalProperties" : 0,
11320 "properties" : {
11321 "node" : {
11322 "description" : "The cluster node name.",
11323 "format" : "pve-node",
11324 "type" : "string",
11325 "typetext" : "<string>"
11326 },
11327 "vmid" : {
11328 "description" : "The (unique) ID of the VM.",
11329 "format" : "pve-vmid",
11330 "minimum" : 1,
11331 "type" : "integer",
11332 "typetext" : "<integer> (1 - N)"
11333 }
11334 }
11335 },
11336 "permissions" : {
11337 "check" : [
11338 "perm",
11339 "/vms/{vmid}",
11340 [
11341 "VM.Monitor"
11342 ]
11343 ]
11344 },
11345 "protected" : 1,
11346 "proxyto" : "node",
11347 "returns" : {
11348 "description" : "Returns an object with a single `result` property.",
11349 "type" : "object"
11350 }
11351 }
11352 },
11353 "leaf" : 1,
11354 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
11355 "text" : "suspend-disk"
11356 },
11357 {
11358 "info" : {
11359 "POST" : {
e9cd3bd4 11360 "allowtoken" : 1,
27a7acb2
DM
11361 "description" : "Execute suspend-hybrid.",
11362 "method" : "POST",
11363 "name" : "suspend-hybrid",
11364 "parameters" : {
11365 "additionalProperties" : 0,
11366 "properties" : {
11367 "node" : {
11368 "description" : "The cluster node name.",
11369 "format" : "pve-node",
11370 "type" : "string",
11371 "typetext" : "<string>"
11372 },
11373 "vmid" : {
11374 "description" : "The (unique) ID of the VM.",
11375 "format" : "pve-vmid",
11376 "minimum" : 1,
11377 "type" : "integer",
11378 "typetext" : "<integer> (1 - N)"
11379 }
11380 }
11381 },
11382 "permissions" : {
11383 "check" : [
11384 "perm",
11385 "/vms/{vmid}",
11386 [
11387 "VM.Monitor"
11388 ]
11389 ]
11390 },
11391 "protected" : 1,
11392 "proxyto" : "node",
11393 "returns" : {
11394 "description" : "Returns an object with a single `result` property.",
11395 "type" : "object"
11396 }
11397 }
11398 },
11399 "leaf" : 1,
11400 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
11401 "text" : "suspend-hybrid"
11402 },
11403 {
11404 "info" : {
11405 "POST" : {
e9cd3bd4 11406 "allowtoken" : 1,
27a7acb2
DM
11407 "description" : "Execute suspend-ram.",
11408 "method" : "POST",
11409 "name" : "suspend-ram",
11410 "parameters" : {
11411 "additionalProperties" : 0,
11412 "properties" : {
11413 "node" : {
11414 "description" : "The cluster node name.",
11415 "format" : "pve-node",
11416 "type" : "string",
11417 "typetext" : "<string>"
11418 },
11419 "vmid" : {
11420 "description" : "The (unique) ID of the VM.",
11421 "format" : "pve-vmid",
11422 "minimum" : 1,
11423 "type" : "integer",
11424 "typetext" : "<integer> (1 - N)"
11425 }
11426 }
11427 },
11428 "permissions" : {
11429 "check" : [
11430 "perm",
11431 "/vms/{vmid}",
11432 [
11433 "VM.Monitor"
11434 ]
11435 ]
11436 },
11437 "protected" : 1,
11438 "proxyto" : "node",
11439 "returns" : {
11440 "description" : "Returns an object with a single `result` property.",
11441 "type" : "object"
11442 }
11443 }
11444 },
11445 "leaf" : 1,
11446 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
11447 "text" : "suspend-ram"
4d47f125
TL
11448 },
11449 {
11450 "info" : {
11451 "POST" : {
e9cd3bd4 11452 "allowtoken" : 1,
4d47f125
TL
11453 "description" : "Sets the password for the given user to the given password",
11454 "method" : "POST",
11455 "name" : "set-user-password",
11456 "parameters" : {
11457 "additionalProperties" : 0,
11458 "properties" : {
11459 "crypted" : {
11460 "default" : 0,
11461 "description" : "set to 1 if the password has already been passed through crypt()",
11462 "optional" : 1,
11463 "type" : "boolean",
11464 "typetext" : "<boolean>"
11465 },
11466 "node" : {
11467 "description" : "The cluster node name.",
11468 "format" : "pve-node",
11469 "type" : "string",
11470 "typetext" : "<string>"
11471 },
11472 "password" : {
11473 "description" : "The new password.",
1c532546 11474 "maxLength" : 1024,
4d47f125
TL
11475 "minLength" : 5,
11476 "type" : "string",
11477 "typetext" : "<string>"
11478 },
11479 "username" : {
11480 "description" : "The user to set the password for.",
11481 "type" : "string",
11482 "typetext" : "<string>"
11483 },
11484 "vmid" : {
11485 "description" : "The (unique) ID of the VM.",
11486 "format" : "pve-vmid",
11487 "minimum" : 1,
11488 "type" : "integer",
11489 "typetext" : "<integer> (1 - N)"
11490 }
11491 }
27a7acb2 11492 },
4d47f125
TL
11493 "permissions" : {
11494 "check" : [
11495 "perm",
11496 "/vms/{vmid}",
11497 [
11498 "VM.Monitor"
11499 ]
11500 ]
11501 },
11502 "protected" : 1,
11503 "proxyto" : "node",
11504 "returns" : {
11505 "description" : "Returns an object with a single `result` property.",
11506 "type" : "object"
27a7acb2
DM
11507 }
11508 }
11509 },
4d47f125
TL
11510 "leaf" : 1,
11511 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
11512 "text" : "set-user-password"
27a7acb2 11513 },
4d47f125
TL
11514 {
11515 "info" : {
11516 "POST" : {
e9cd3bd4 11517 "allowtoken" : 1,
4d47f125
TL
11518 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
11519 "method" : "POST",
11520 "name" : "exec",
11521 "parameters" : {
11522 "additionalProperties" : 0,
11523 "properties" : {
11524 "command" : {
11525 "description" : "The command as a list of program + arguments",
11526 "format" : "string-alist",
c5aa7e14
TL
11527 "optional" : 1,
11528 "type" : "string",
11529 "typetext" : "<string>"
11530 },
11531 "input-data" : {
11532 "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.",
11533 "maxLength" : 65536,
11534 "optional" : 1,
4d47f125
TL
11535 "type" : "string",
11536 "typetext" : "<string>"
11537 },
11538 "node" : {
11539 "description" : "The cluster node name.",
11540 "format" : "pve-node",
11541 "type" : "string",
11542 "typetext" : "<string>"
11543 },
11544 "vmid" : {
11545 "description" : "The (unique) ID of the VM.",
11546 "format" : "pve-vmid",
11547 "minimum" : 1,
11548 "type" : "integer",
11549 "typetext" : "<integer> (1 - N)"
11550 }
11551 }
27a7acb2 11552 },
4d47f125
TL
11553 "permissions" : {
11554 "check" : [
11555 "perm",
11556 "/vms/{vmid}",
11557 [
11558 "VM.Monitor"
11559 ]
11560 ]
27a7acb2 11561 },
4d47f125
TL
11562 "protected" : 1,
11563 "proxyto" : "node",
11564 "returns" : {
11565 "properties" : {
11566 "pid" : {
11567 "description" : "The PID of the process started by the guest-agent.",
11568 "type" : "integer"
11569 }
11570 },
11571 "type" : "object"
27a7acb2
DM
11572 }
11573 }
11574 },
4d47f125
TL
11575 "leaf" : 1,
11576 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
11577 "text" : "exec"
11578 },
11579 {
11580 "info" : {
11581 "GET" : {
e9cd3bd4 11582 "allowtoken" : 1,
4d47f125
TL
11583 "description" : "Gets the status of the given pid started by the guest-agent",
11584 "method" : "GET",
11585 "name" : "exec-status",
11586 "parameters" : {
11587 "additionalProperties" : 0,
11588 "properties" : {
11589 "node" : {
11590 "description" : "The cluster node name.",
11591 "format" : "pve-node",
11592 "type" : "string",
11593 "typetext" : "<string>"
11594 },
11595 "pid" : {
11596 "description" : "The PID to query",
11597 "type" : "integer",
11598 "typetext" : "<integer>"
11599 },
11600 "vmid" : {
11601 "description" : "The (unique) ID of the VM.",
11602 "format" : "pve-vmid",
11603 "minimum" : 1,
11604 "type" : "integer",
11605 "typetext" : "<integer> (1 - N)"
11606 }
11607 }
56122987 11608 },
4d47f125
TL
11609 "permissions" : {
11610 "check" : [
11611 "perm",
11612 "/vms/{vmid}",
11613 [
11614 "VM.Monitor"
11615 ]
11616 ]
56122987 11617 },
4d47f125
TL
11618 "protected" : 1,
11619 "proxyto" : "node",
11620 "returns" : {
11621 "properties" : {
11622 "err-data" : {
11623 "description" : "stderr of the process",
11624 "optional" : 1,
11625 "type" : "string"
11626 },
11627 "err-truncated" : {
11628 "description" : "true if stderr was not fully captured",
11629 "optional" : 1,
11630 "type" : "boolean"
11631 },
11632 "exitcode" : {
11633 "description" : "process exit code if it was normally terminated.",
11634 "optional" : 1,
11635 "type" : "integer"
11636 },
11637 "exited" : {
11638 "description" : "Tells if the given command has exited yet.",
11639 "type" : "boolean"
11640 },
11641 "out-data" : {
11642 "description" : "stdout of the process",
11643 "optional" : 1,
11644 "type" : "string"
11645 },
11646 "out-truncated" : {
11647 "description" : "true if stdout was not fully captured",
11648 "optional" : 1,
11649 "type" : "boolean"
11650 },
11651 "signal" : {
11652 "description" : "signal number or exception code if the process was abnormally terminated.",
11653 "optional" : 1,
11654 "type" : "integer"
11655 }
11656 },
11657 "type" : "object"
56122987
DM
11658 }
11659 }
11660 },
4d47f125
TL
11661 "leaf" : 1,
11662 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
11663 "text" : "exec-status"
11664 },
11665 {
11666 "info" : {
11667 "GET" : {
e9cd3bd4 11668 "allowtoken" : 1,
4d47f125
TL
11669 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
11670 "method" : "GET",
11671 "name" : "file-read",
11672 "parameters" : {
11673 "additionalProperties" : 0,
11674 "properties" : {
11675 "file" : {
11676 "description" : "The path to the file",
11677 "type" : "string",
11678 "typetext" : "<string>"
11679 },
11680 "node" : {
11681 "description" : "The cluster node name.",
11682 "format" : "pve-node",
11683 "type" : "string",
11684 "typetext" : "<string>"
11685 },
11686 "vmid" : {
11687 "description" : "The (unique) ID of the VM.",
11688 "format" : "pve-vmid",
11689 "minimum" : 1,
11690 "type" : "integer",
11691 "typetext" : "<integer> (1 - N)"
11692 }
11693 }
11694 },
11695 "permissions" : {
11696 "check" : [
11697 "perm",
11698 "/vms/{vmid}",
11699 [
11700 "VM.Monitor"
11701 ]
11702 ]
11703 },
11704 "protected" : 1,
11705 "proxyto" : "node",
11706 "returns" : {
11707 "description" : "Returns an object with a `content` property.",
11708 "properties" : {
11709 "content" : {
11710 "description" : "The content of the file, maximum 16777216",
11711 "type" : "string"
11712 },
11713 "truncated" : {
11714 "description" : "If set to 1, the output is truncated and not complete",
11715 "optional" : 1,
11716 "type" : "boolean"
11717 }
11718 },
11719 "type" : "object"
11720 }
11721 }
56122987 11722 },
4d47f125
TL
11723 "leaf" : 1,
11724 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
11725 "text" : "file-read"
11726 },
11727 {
11728 "info" : {
11729 "POST" : {
e9cd3bd4 11730 "allowtoken" : 1,
4d47f125
TL
11731 "description" : "Writes the given file via guest agent.",
11732 "method" : "POST",
11733 "name" : "file-write",
11734 "parameters" : {
11735 "additionalProperties" : 0,
11736 "properties" : {
11737 "content" : {
11738 "description" : "The content to write into the file.",
11739 "maxLength" : 61440,
11740 "type" : "string",
11741 "typetext" : "<string>"
11742 },
11743 "file" : {
11744 "description" : "The path to the file.",
11745 "type" : "string",
11746 "typetext" : "<string>"
11747 },
11748 "node" : {
11749 "description" : "The cluster node name.",
11750 "format" : "pve-node",
11751 "type" : "string",
11752 "typetext" : "<string>"
11753 },
11754 "vmid" : {
11755 "description" : "The (unique) ID of the VM.",
11756 "format" : "pve-vmid",
11757 "minimum" : 1,
11758 "type" : "integer",
11759 "typetext" : "<integer> (1 - N)"
11760 }
11761 }
11762 },
11763 "permissions" : {
11764 "check" : [
11765 "perm",
11766 "/vms/{vmid}",
11767 [
11768 "VM.Monitor"
11769 ]
11770 ]
11771 },
11772 "protected" : 1,
11773 "proxyto" : "node",
11774 "returns" : {
11775 "type" : "null"
7aacca6f 11776 }
4d47f125
TL
11777 }
11778 },
11779 "leaf" : 1,
11780 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
11781 "text" : "file-write"
56122987 11782 }
4d47f125 11783 ],
7aacca6f 11784 "info" : {
56122987 11785 "GET" : {
e9cd3bd4 11786 "allowtoken" : 1,
4d47f125 11787 "description" : "Qemu Agent command index.",
44660702 11788 "method" : "GET",
4d47f125 11789 "name" : "index",
56122987 11790 "parameters" : {
4d47f125 11791 "additionalProperties" : 1,
56122987
DM
11792 "properties" : {
11793 "node" : {
44660702 11794 "description" : "The cluster node name.",
56122987 11795 "format" : "pve-node",
013dc89f
DM
11796 "type" : "string",
11797 "typetext" : "<string>"
56122987 11798 },
7aacca6f 11799 "vmid" : {
7aacca6f
DM
11800 "description" : "The (unique) ID of the VM.",
11801 "format" : "pve-vmid",
44660702 11802 "minimum" : 1,
4bd7df8b 11803 "type" : "integer",
013dc89f 11804 "typetext" : "<integer> (1 - N)"
56122987 11805 }
44660702 11806 }
56122987 11807 },
56122987 11808 "permissions" : {
4d47f125 11809 "user" : "all"
56122987 11810 },
4d47f125 11811 "proxyto" : "node",
7aacca6f 11812 "returns" : {
4d47f125 11813 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 11814 "items" : {
44660702
DM
11815 "properties" : {},
11816 "type" : "object"
11817 },
4d47f125
TL
11818 "links" : [
11819 {
11820 "href" : "{name}",
11821 "rel" : "child"
11822 }
11823 ],
44660702 11824 "type" : "array"
7aacca6f 11825 }
4d47f125
TL
11826 },
11827 "POST" : {
e9cd3bd4 11828 "allowtoken" : 1,
4d47f125
TL
11829 "description" : "Execute Qemu Guest Agent commands.",
11830 "method" : "POST",
11831 "name" : "agent",
44660702
DM
11832 "parameters" : {
11833 "additionalProperties" : 0,
11834 "properties" : {
4d47f125
TL
11835 "command" : {
11836 "description" : "The QGA command.",
11837 "enum" : [
11838 "fsfreeze-freeze",
11839 "fsfreeze-status",
11840 "fsfreeze-thaw",
11841 "fstrim",
11842 "get-fsinfo",
11843 "get-host-name",
11844 "get-memory-block-info",
11845 "get-memory-blocks",
11846 "get-osinfo",
11847 "get-time",
11848 "get-timezone",
11849 "get-users",
11850 "get-vcpus",
11851 "info",
11852 "network-get-interfaces",
11853 "ping",
11854 "shutdown",
11855 "suspend-disk",
11856 "suspend-hybrid",
11857 "suspend-ram"
11858 ],
11859 "type" : "string"
11860 },
11861 "node" : {
11862 "description" : "The cluster node name.",
11863 "format" : "pve-node",
11864 "type" : "string",
11865 "typetext" : "<string>"
11866 },
11867 "vmid" : {
11868 "description" : "The (unique) ID of the VM.",
11869 "format" : "pve-vmid",
11870 "minimum" : 1,
11871 "type" : "integer",
11872 "typetext" : "<integer> (1 - N)"
11873 }
11874 }
11875 },
11876 "permissions" : {
11877 "check" : [
11878 "perm",
11879 "/vms/{vmid}",
11880 [
11881 "VM.Monitor"
11882 ]
11883 ]
11884 },
11885 "protected" : 1,
11886 "proxyto" : "node",
11887 "returns" : {
11888 "description" : "Returns an object with a single `result` property.",
11889 "type" : "object"
11890 }
11891 }
11892 },
11893 "leaf" : 0,
11894 "path" : "/nodes/{node}/qemu/{vmid}/agent",
11895 "text" : "agent"
11896 },
11897 {
11898 "info" : {
11899 "GET" : {
e9cd3bd4 11900 "allowtoken" : 1,
4d47f125
TL
11901 "description" : "Read VM RRD statistics (returns PNG)",
11902 "method" : "GET",
11903 "name" : "rrd",
11904 "parameters" : {
11905 "additionalProperties" : 0,
11906 "properties" : {
11907 "cf" : {
11908 "description" : "The RRD consolidation function",
11909 "enum" : [
11910 "AVERAGE",
11911 "MAX"
11912 ],
44660702 11913 "optional" : 1,
4d47f125
TL
11914 "type" : "string"
11915 },
11916 "ds" : {
11917 "description" : "The list of datasources you want to display.",
11918 "format" : "pve-configid-list",
11919 "type" : "string",
11920 "typetext" : "<string>"
44660702
DM
11921 },
11922 "node" : {
11923 "description" : "The cluster node name.",
11924 "format" : "pve-node",
013dc89f
DM
11925 "type" : "string",
11926 "typetext" : "<string>"
44660702 11927 },
4d47f125
TL
11928 "timeframe" : {
11929 "description" : "Specify the time frame you are interested in.",
11930 "enum" : [
11931 "hour",
11932 "day",
11933 "week",
11934 "month",
11935 "year"
11936 ],
11937 "type" : "string"
11938 },
44660702
DM
11939 "vmid" : {
11940 "description" : "The (unique) ID of the VM.",
11941 "format" : "pve-vmid",
11942 "minimum" : 1,
4bd7df8b 11943 "type" : "integer",
013dc89f 11944 "typetext" : "<integer> (1 - N)"
44660702
DM
11945 }
11946 }
7aacca6f 11947 },
56122987
DM
11948 "permissions" : {
11949 "check" : [
11950 "perm",
11951 "/vms/{vmid}",
11952 [
44660702
DM
11953 "VM.Audit"
11954 ]
56122987
DM
11955 ]
11956 },
4d47f125 11957 "protected" : 1,
44660702
DM
11958 "returns" : {
11959 "properties" : {
4d47f125 11960 "filename" : {
44660702
DM
11961 "type" : "string"
11962 }
11963 },
11964 "type" : "object"
11965 }
4d47f125
TL
11966 }
11967 },
11968 "leaf" : 1,
11969 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
11970 "text" : "rrd"
11971 },
11972 {
11973 "info" : {
11974 "GET" : {
e9cd3bd4 11975 "allowtoken" : 1,
4d47f125
TL
11976 "description" : "Read VM RRD statistics",
11977 "method" : "GET",
11978 "name" : "rrddata",
11979 "parameters" : {
11980 "additionalProperties" : 0,
11981 "properties" : {
11982 "cf" : {
11983 "description" : "The RRD consolidation function",
11984 "enum" : [
11985 "AVERAGE",
11986 "MAX"
11987 ],
11988 "optional" : 1,
11989 "type" : "string"
11990 },
11991 "node" : {
11992 "description" : "The cluster node name.",
11993 "format" : "pve-node",
11994 "type" : "string",
11995 "typetext" : "<string>"
11996 },
11997 "timeframe" : {
11998 "description" : "Specify the time frame you are interested in.",
11999 "enum" : [
12000 "hour",
12001 "day",
12002 "week",
12003 "month",
12004 "year"
12005 ],
12006 "type" : "string"
12007 },
12008 "vmid" : {
12009 "description" : "The (unique) ID of the VM.",
12010 "format" : "pve-vmid",
12011 "minimum" : 1,
12012 "type" : "integer",
12013 "typetext" : "<integer> (1 - N)"
12014 }
12015 }
12016 },
12017 "permissions" : {
12018 "check" : [
12019 "perm",
12020 "/vms/{vmid}",
12021 [
12022 "VM.Audit"
12023 ]
12024 ]
12025 },
12026 "protected" : 1,
12027 "returns" : {
12028 "items" : {
12029 "properties" : {},
12030 "type" : "object"
12031 },
12032 "type" : "array"
12033 }
12034 }
12035 },
12036 "leaf" : 1,
12037 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
12038 "text" : "rrddata"
12039 },
12040 {
12041 "info" : {
12042 "GET" : {
e9cd3bd4
TL
12043 "allowtoken" : 1,
12044 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
12045 "method" : "GET",
12046 "name" : "vm_config",
56122987 12047 "parameters" : {
44660702 12048 "additionalProperties" : 0,
4d47f125
TL
12049 "properties" : {
12050 "current" : {
12051 "default" : 0,
12052 "description" : "Get current values (instead of pending values).",
12053 "optional" : 1,
12054 "type" : "boolean",
12055 "typetext" : "<boolean>"
12056 },
12057 "node" : {
12058 "description" : "The cluster node name.",
12059 "format" : "pve-node",
12060 "type" : "string",
12061 "typetext" : "<string>"
12062 },
5f26e15b
TL
12063 "snapshot" : {
12064 "description" : "Fetch config values from given snapshot.",
12065 "format" : "pve-configid",
12066 "maxLength" : 40,
12067 "optional" : 1,
12068 "type" : "string",
12069 "typetext" : "<string>"
12070 },
4d47f125
TL
12071 "vmid" : {
12072 "description" : "The (unique) ID of the VM.",
12073 "format" : "pve-vmid",
12074 "minimum" : 1,
12075 "type" : "integer",
12076 "typetext" : "<integer> (1 - N)"
12077 }
12078 }
12079 },
12080 "permissions" : {
12081 "check" : [
12082 "perm",
12083 "/vms/{vmid}",
12084 [
12085 "VM.Audit"
12086 ]
12087 ]
12088 },
12089 "proxyto" : "node",
12090 "returns" : {
e9cd3bd4 12091 "description" : "The VM configuration.",
56122987 12092 "properties" : {
44660702
DM
12093 "acpi" : {
12094 "default" : 1,
12095 "description" : "Enable/disable ACPI.",
12096 "optional" : 1,
4d47f125 12097 "type" : "boolean"
44660702
DM
12098 },
12099 "agent" : {
4d47f125
TL
12100 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12101 "format" : {
12102 "enabled" : {
12103 "default" : 0,
12104 "default_key" : 1,
12105 "description" : "Enable/disable Qemu GuestAgent.",
12106 "type" : "boolean"
12107 },
12108 "fstrim_cloned_disks" : {
12109 "default" : 0,
d2656385 12110 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
12111 "optional" : 1,
12112 "type" : "boolean"
5c1699e5
TL
12113 },
12114 "type" : {
12115 "default" : "virtio",
12116 "description" : "Select the agent type",
12117 "enum" : [
12118 "virtio",
12119 "isa"
12120 ],
12121 "optional" : 1,
12122 "type" : "string"
4d47f125
TL
12123 }
12124 },
7aacca6f 12125 "optional" : 1,
4d47f125 12126 "type" : "string"
7aacca6f 12127 },
e2d681b3
TL
12128 "arch" : {
12129 "description" : "Virtual processor architecture. Defaults to the host.",
12130 "enum" : [
12131 "x86_64",
12132 "aarch64"
12133 ],
12134 "optional" : 1,
12135 "type" : "string"
12136 },
44660702 12137 "args" : {
c2993fe5 12138 "description" : "Arbitrary arguments passed to kvm.",
44660702 12139 "optional" : 1,
c2993fe5
DM
12140 "type" : "string",
12141 "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 12142 },
1c532546
TL
12143 "audio0" : {
12144 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
12145 "format" : {
12146 "device" : {
12147 "description" : "Configure an audio device.",
12148 "enum" : [
12149 "ich9-intel-hda",
12150 "intel-hda",
12151 "AC97"
12152 ],
12153 "type" : "string"
12154 },
12155 "driver" : {
12156 "default" : "spice",
12157 "description" : "Driver backend for the audio device.",
12158 "enum" : [
d2656385
TL
12159 "spice",
12160 "none"
1c532546
TL
12161 ],
12162 "optional" : 1,
12163 "type" : "string"
12164 }
12165 },
12166 "optional" : 1,
12167 "type" : "string"
12168 },
44660702
DM
12169 "autostart" : {
12170 "default" : 0,
12171 "description" : "Automatic restart after crash (currently ignored).",
56122987 12172 "optional" : 1,
4d47f125 12173 "type" : "boolean"
56122987 12174 },
4d47f125
TL
12175 "balloon" : {
12176 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12177 "minimum" : 0,
7aacca6f 12178 "optional" : 1,
4d47f125 12179 "type" : "integer"
7aacca6f 12180 },
44660702
DM
12181 "bios" : {
12182 "default" : "seabios",
12183 "description" : "Select BIOS implementation.",
12184 "enum" : [
12185 "seabios",
12186 "ovmf"
12187 ],
56122987 12188 "optional" : 1,
44660702 12189 "type" : "string"
7aacca6f 12190 },
44660702 12191 "boot" : {
4772952b
TL
12192 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
12193 "format" : "pve-qm-boot",
44660702 12194 "optional" : 1,
44660702
DM
12195 "type" : "string"
12196 },
12197 "bootdisk" : {
4772952b 12198 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
12199 "format" : "pve-qm-bootdisk",
12200 "optional" : 1,
12201 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12202 "type" : "string"
12203 },
12204 "cdrom" : {
12205 "description" : "This is an alias for option -ide2",
de0983cb 12206 "format" : "pve-qm-ide",
44660702 12207 "optional" : 1,
7aacca6f 12208 "type" : "string",
013dc89f 12209 "typetext" : "<volume>"
44660702 12210 },
95895385
TL
12211 "cicustom" : {
12212 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12213 "format" : "pve-qm-cicustom",
12214 "optional" : 1,
12215 "type" : "string"
12216 },
27a7acb2
DM
12217 "cipassword" : {
12218 "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.",
12219 "optional" : 1,
4d47f125 12220 "type" : "string"
27a7acb2
DM
12221 },
12222 "citype" : {
12223 "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.",
12224 "enum" : [
12225 "configdrive2",
d2656385
TL
12226 "nocloud",
12227 "opennebula"
27a7acb2
DM
12228 ],
12229 "optional" : 1,
12230 "type" : "string"
12231 },
12232 "ciuser" : {
12233 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12234 "optional" : 1,
4d47f125 12235 "type" : "string"
27a7acb2 12236 },
44660702
DM
12237 "cores" : {
12238 "default" : 1,
12239 "description" : "The number of cores per socket.",
12240 "minimum" : 1,
7aacca6f 12241 "optional" : 1,
4d47f125 12242 "type" : "integer"
7aacca6f 12243 },
44660702
DM
12244 "cpu" : {
12245 "description" : "Emulated CPU type.",
c5aa7e14 12246 "format" : "pve-vm-cpu-conf",
44660702 12247 "optional" : 1,
4d47f125 12248 "type" : "string"
44660702
DM
12249 },
12250 "cpulimit" : {
12251 "default" : 0,
c2993fe5 12252 "description" : "Limit of CPU usage.",
44660702
DM
12253 "maximum" : 128,
12254 "minimum" : 0,
12255 "optional" : 1,
c2993fe5
DM
12256 "type" : "number",
12257 "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
12258 },
12259 "cpuunits" : {
de0983cb 12260 "default" : 1024,
c2993fe5 12261 "description" : "CPU weight for a VM.",
2489d6df
WB
12262 "maximum" : 262144,
12263 "minimum" : 2,
44660702 12264 "optional" : 1,
c2993fe5 12265 "type" : "integer",
2489d6df 12266 "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 12267 },
44660702 12268 "description" : {
8f4d9c87
TL
12269 "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
12270 "maxLength" : 8192,
44660702 12271 "optional" : 1,
4d47f125 12272 "type" : "string"
44660702
DM
12273 },
12274 "digest" : {
4d47f125
TL
12275 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
12276 "type" : "string"
44660702 12277 },
4d47f125 12278 "efidisk0" : {
d2656385 12279 "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
4d47f125
TL
12280 "format" : {
12281 "file" : {
12282 "default_key" : 1,
12283 "description" : "The drive's backing volume.",
12284 "format" : "pve-volume-id-or-qm-path",
12285 "format_description" : "volume",
12286 "type" : "string"
12287 },
12288 "format" : {
12289 "description" : "The drive's backing file's data format.",
12290 "enum" : [
12291 "raw",
12292 "cow",
12293 "qcow",
12294 "qed",
12295 "qcow2",
12296 "vmdk",
12297 "cloop"
12298 ],
12299 "optional" : 1,
12300 "type" : "string"
12301 },
12302 "size" : {
12303 "description" : "Disk size. This is purely informational and has no effect.",
12304 "format" : "disk-size",
12305 "format_description" : "DiskSize",
12306 "optional" : 1,
12307 "type" : "string"
12308 },
12309 "volume" : {
12310 "alias" : "file"
12311 }
12312 },
44660702 12313 "optional" : 1,
4d47f125 12314 "type" : "string"
44660702
DM
12315 },
12316 "freeze" : {
12317 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12318 "optional" : 1,
4d47f125 12319 "type" : "boolean"
44660702 12320 },
5f26e15b
TL
12321 "hookscript" : {
12322 "description" : "Script that will be executed during various steps in the vms lifetime.",
12323 "format" : "pve-volume-id",
12324 "optional" : 1,
12325 "type" : "string"
12326 },
44660702 12327 "hostpci[n]" : {
c2993fe5 12328 "description" : "Map host PCI devices into guest.",
44660702
DM
12329 "format" : "pve-qm-hostpci",
12330 "optional" : 1,
57b78691 12331 "type" : "string",
bb4c8cf8 12332 "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
12333 },
12334 "hotplug" : {
12335 "default" : "network,disk,usb",
12336 "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'.",
12337 "format" : "pve-hotplug-features",
12338 "optional" : 1,
4d47f125 12339 "type" : "string"
44660702 12340 },
4bd7df8b
DM
12341 "hugepages" : {
12342 "description" : "Enable/disable hugepages memory.",
12343 "enum" : [
12344 "any",
12345 "2",
12346 "1024"
12347 ],
12348 "optional" : 1,
12349 "type" : "string"
12350 },
44660702 12351 "ide[n]" : {
d2656385 12352 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
44660702
DM
12353 "format" : {
12354 "aio" : {
12355 "description" : "AIO type to use.",
12356 "enum" : [
12357 "native",
8f4d9c87
TL
12358 "threads",
12359 "io_uring"
56122987 12360 ],
56122987 12361 "optional" : 1,
44660702 12362 "type" : "string"
56122987 12363 },
44660702
DM
12364 "backup" : {
12365 "description" : "Whether the drive should be included when making backups.",
56122987 12366 "optional" : 1,
44660702 12367 "type" : "boolean"
56122987 12368 },
7aacca6f 12369 "bps" : {
de0983cb 12370 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12371 "format_description" : "bps",
12372 "optional" : 1,
12373 "type" : "integer"
12374 },
de0983cb
DM
12375 "bps_max_length" : {
12376 "description" : "Maximum length of I/O bursts in seconds.",
12377 "format_description" : "seconds",
12378 "minimum" : 1,
12379 "optional" : 1,
12380 "type" : "integer"
12381 },
44660702 12382 "bps_rd" : {
de0983cb 12383 "description" : "Maximum read speed in bytes per second.",
44660702 12384 "format_description" : "bps",
56122987 12385 "optional" : 1,
44660702 12386 "type" : "integer"
56122987 12387 },
de0983cb 12388 "bps_rd_length" : {
5d9c884c
DM
12389 "alias" : "bps_rd_max_length"
12390 },
12391 "bps_rd_max_length" : {
de0983cb
DM
12392 "description" : "Maximum length of read I/O bursts in seconds.",
12393 "format_description" : "seconds",
12394 "minimum" : 1,
12395 "optional" : 1,
12396 "type" : "integer"
12397 },
44660702 12398 "bps_wr" : {
de0983cb 12399 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12400 "format_description" : "bps",
12401 "optional" : 1,
12402 "type" : "integer"
12403 },
de0983cb 12404 "bps_wr_length" : {
5d9c884c
DM
12405 "alias" : "bps_wr_max_length"
12406 },
12407 "bps_wr_max_length" : {
de0983cb
DM
12408 "description" : "Maximum length of write I/O bursts in seconds.",
12409 "format_description" : "seconds",
12410 "minimum" : 1,
12411 "optional" : 1,
12412 "type" : "integer"
12413 },
44660702
DM
12414 "cache" : {
12415 "description" : "The drive's cache mode",
12416 "enum" : [
12417 "none",
12418 "writethrough",
12419 "writeback",
12420 "unsafe",
12421 "directsync"
12422 ],
44660702
DM
12423 "optional" : 1,
12424 "type" : "string"
12425 },
12426 "cyls" : {
12427 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12428 "optional" : 1,
12429 "type" : "integer"
12430 },
12431 "detect_zeroes" : {
12432 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12433 "optional" : 1,
12434 "type" : "boolean"
12435 },
12436 "discard" : {
12437 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12438 "enum" : [
12439 "ignore",
12440 "on"
12441 ],
56122987 12442 "optional" : 1,
44660702
DM
12443 "type" : "string"
12444 },
12445 "file" : {
12446 "default_key" : 1,
12447 "description" : "The drive's backing volume.",
12448 "format" : "pve-volume-id-or-qm-path",
12449 "format_description" : "volume",
12450 "type" : "string"
56122987 12451 },
7aacca6f 12452 "format" : {
7aacca6f 12453 "description" : "The drive's backing file's data format.",
56122987 12454 "enum" : [
7aacca6f
DM
12455 "raw",
12456 "cow",
12457 "qcow",
12458 "qed",
12459 "qcow2",
12460 "vmdk",
12461 "cloop"
56122987
DM
12462 ],
12463 "optional" : 1,
56122987
DM
12464 "type" : "string"
12465 },
44660702
DM
12466 "heads" : {
12467 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12468 "optional" : 1,
12469 "type" : "integer"
7aacca6f 12470 },
44660702 12471 "iops" : {
de0983cb 12472 "description" : "Maximum r/w I/O in operations per second.",
44660702 12473 "format_description" : "iops",
56122987 12474 "optional" : 1,
44660702 12475 "type" : "integer"
56122987 12476 },
44660702 12477 "iops_max" : {
de0983cb 12478 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12479 "format_description" : "iops",
56122987 12480 "optional" : 1,
44660702 12481 "type" : "integer"
56122987 12482 },
de0983cb
DM
12483 "iops_max_length" : {
12484 "description" : "Maximum length of I/O bursts in seconds.",
12485 "format_description" : "seconds",
12486 "minimum" : 1,
12487 "optional" : 1,
12488 "type" : "integer"
12489 },
44660702 12490 "iops_rd" : {
de0983cb 12491 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12492 "format_description" : "iops",
12493 "optional" : 1,
12494 "type" : "integer"
12495 },
de0983cb 12496 "iops_rd_length" : {
5d9c884c 12497 "alias" : "iops_rd_max_length"
de0983cb 12498 },
44660702 12499 "iops_rd_max" : {
de0983cb 12500 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12501 "format_description" : "iops",
44660702
DM
12502 "optional" : 1,
12503 "type" : "integer"
12504 },
5d9c884c
DM
12505 "iops_rd_max_length" : {
12506 "description" : "Maximum length of read I/O bursts in seconds.",
12507 "format_description" : "seconds",
12508 "minimum" : 1,
12509 "optional" : 1,
12510 "type" : "integer"
12511 },
44660702 12512 "iops_wr" : {
de0983cb 12513 "description" : "Maximum write I/O in operations per second.",
44660702 12514 "format_description" : "iops",
56122987 12515 "optional" : 1,
7aacca6f 12516 "type" : "integer"
56122987 12517 },
de0983cb 12518 "iops_wr_length" : {
5d9c884c 12519 "alias" : "iops_wr_max_length"
de0983cb 12520 },
44660702 12521 "iops_wr_max" : {
de0983cb 12522 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12523 "format_description" : "iops",
7aacca6f 12524 "optional" : 1,
44660702 12525 "type" : "integer"
56122987 12526 },
5d9c884c
DM
12527 "iops_wr_max_length" : {
12528 "description" : "Maximum length of write I/O bursts in seconds.",
12529 "format_description" : "seconds",
12530 "minimum" : 1,
12531 "optional" : 1,
12532 "type" : "integer"
12533 },
44660702 12534 "mbps" : {
de0983cb 12535 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12536 "format_description" : "mbps",
12537 "optional" : 1,
12538 "type" : "number"
12539 },
12540 "mbps_max" : {
de0983cb 12541 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12542 "format_description" : "mbps",
12543 "optional" : 1,
12544 "type" : "number"
12545 },
12546 "mbps_rd" : {
de0983cb 12547 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12548 "format_description" : "mbps",
12549 "optional" : 1,
12550 "type" : "number"
12551 },
12552 "mbps_rd_max" : {
de0983cb 12553 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12554 "format_description" : "mbps",
12555 "optional" : 1,
12556 "type" : "number"
12557 },
12558 "mbps_wr" : {
de0983cb 12559 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12560 "format_description" : "mbps",
12561 "optional" : 1,
12562 "type" : "number"
12563 },
12564 "mbps_wr_max" : {
de0983cb 12565 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12566 "format_description" : "mbps",
56122987 12567 "optional" : 1,
44660702 12568 "type" : "number"
56122987 12569 },
7aacca6f 12570 "media" : {
7aacca6f 12571 "default" : "disk",
7aacca6f
DM
12572 "description" : "The drive's media type.",
12573 "enum" : [
12574 "cdrom",
12575 "disk"
44660702 12576 ],
44660702
DM
12577 "optional" : 1,
12578 "type" : "string"
56122987 12579 },
44660702
DM
12580 "model" : {
12581 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12582 "format" : "urlencoded",
12583 "format_description" : "model",
12584 "maxLength" : 120,
56122987 12585 "optional" : 1,
44660702 12586 "type" : "string"
56122987 12587 },
5d9c884c
DM
12588 "replicate" : {
12589 "default" : 1,
12590 "description" : "Whether the drive should considered for replication jobs.",
12591 "optional" : 1,
12592 "type" : "boolean"
12593 },
44660702
DM
12594 "rerror" : {
12595 "description" : "Read error action.",
12596 "enum" : [
12597 "ignore",
12598 "report",
12599 "stop"
12600 ],
56122987 12601 "optional" : 1,
44660702
DM
12602 "type" : "string"
12603 },
12604 "secs" : {
12605 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12606 "optional" : 1,
12607 "type" : "integer"
12608 },
12609 "serial" : {
12610 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12611 "format" : "urlencoded",
12612 "format_description" : "serial",
12613 "maxLength" : 60,
12614 "optional" : 1,
12615 "type" : "string"
12616 },
27a7acb2
DM
12617 "shared" : {
12618 "default" : 0,
12619 "description" : "Mark this locally-managed volume as available on all nodes",
12620 "optional" : 1,
12621 "type" : "boolean",
12622 "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!"
12623 },
44660702
DM
12624 "size" : {
12625 "description" : "Disk size. This is purely informational and has no effect.",
12626 "format" : "disk-size",
f004f5b9 12627 "format_description" : "DiskSize",
44660702
DM
12628 "optional" : 1,
12629 "type" : "string"
12630 },
12631 "snapshot" : {
27a7acb2 12632 "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
12633 "optional" : 1,
12634 "type" : "boolean"
12635 },
25203dc1
NC
12636 "ssd" : {
12637 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12638 "optional" : 1,
12639 "type" : "boolean"
12640 },
44660702
DM
12641 "trans" : {
12642 "description" : "Force disk geometry bios translation mode.",
12643 "enum" : [
12644 "none",
12645 "lba",
12646 "auto"
12647 ],
44660702
DM
12648 "optional" : 1,
12649 "type" : "string"
12650 },
12651 "volume" : {
12652 "alias" : "file"
12653 },
12654 "werror" : {
12655 "description" : "Write error action.",
12656 "enum" : [
12657 "enospc",
12658 "ignore",
12659 "report",
12660 "stop"
12661 ],
44660702
DM
12662 "optional" : 1,
12663 "type" : "string"
95895385
TL
12664 },
12665 "wwn" : {
12666 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12667 "format_description" : "wwn",
12668 "optional" : 1,
12669 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12670 "type" : "string"
56122987
DM
12671 }
12672 },
44660702 12673 "optional" : 1,
4d47f125 12674 "type" : "string"
27a7acb2
DM
12675 },
12676 "ipconfig[n]" : {
d2656385 12677 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
27a7acb2
DM
12678 "format" : "pve-qm-ipconfig",
12679 "optional" : 1,
4d47f125 12680 "type" : "string"
56122987 12681 },
95895385
TL
12682 "ivshmem" : {
12683 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
12684 "format" : {
12685 "name" : {
12686 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
12687 "format_description" : "string",
12688 "optional" : 1,
12689 "pattern" : "[a-zA-Z0-9\\-]+",
12690 "type" : "string"
12691 },
12692 "size" : {
12693 "description" : "The size of the file in MB.",
12694 "minimum" : 1,
12695 "type" : "integer"
12696 }
12697 },
12698 "optional" : 1,
12699 "type" : "string"
12700 },
4772952b
TL
12701 "keephugepages" : {
12702 "default" : 0,
12703 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
12704 "optional" : 1,
12705 "type" : "boolean"
12706 },
44660702 12707 "keyboard" : {
35a75dd3 12708 "default" : null,
5da3d723 12709 "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
12710 "enum" : [
12711 "de",
12712 "de-ch",
12713 "da",
12714 "en-gb",
12715 "en-us",
12716 "es",
12717 "fi",
12718 "fr",
12719 "fr-be",
12720 "fr-ca",
12721 "fr-ch",
12722 "hu",
12723 "is",
12724 "it",
12725 "ja",
12726 "lt",
12727 "mk",
12728 "nl",
12729 "no",
12730 "pl",
12731 "pt",
12732 "pt-br",
12733 "sv",
12734 "sl",
12735 "tr"
12736 ],
56122987 12737 "optional" : 1,
44660702
DM
12738 "type" : "string"
12739 },
12740 "kvm" : {
7aacca6f 12741 "default" : 1,
44660702
DM
12742 "description" : "Enable/disable KVM hardware virtualization.",
12743 "optional" : 1,
4d47f125 12744 "type" : "boolean"
56122987 12745 },
44660702
DM
12746 "localtime" : {
12747 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 12748 "optional" : 1,
4d47f125 12749 "type" : "boolean"
56122987 12750 },
44660702
DM
12751 "lock" : {
12752 "description" : "Lock/unlock the VM.",
12753 "enum" : [
44660702 12754 "backup",
5f26e15b
TL
12755 "clone",
12756 "create",
12757 "migrate",
12758 "rollback",
44660702 12759 "snapshot",
95895385
TL
12760 "snapshot-delete",
12761 "suspending",
12762 "suspended"
44660702 12763 ],
7aacca6f 12764 "optional" : 1,
44660702
DM
12765 "type" : "string"
12766 },
12767 "machine" : {
4d47f125 12768 "description" : "Specifies the Qemu machine type.",
44660702
DM
12769 "maxLength" : 40,
12770 "optional" : 1,
5c1699e5 12771 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
12772 "type" : "string"
12773 },
12774 "memory" : {
12775 "default" : 512,
12776 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12777 "minimum" : 16,
12778 "optional" : 1,
4d47f125 12779 "type" : "integer"
44660702
DM
12780 },
12781 "migrate_downtime" : {
12782 "default" : 0.1,
12783 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12784 "minimum" : 0,
12785 "optional" : 1,
4d47f125 12786 "type" : "number"
44660702
DM
12787 },
12788 "migrate_speed" : {
12789 "default" : 0,
12790 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12791 "minimum" : 0,
12792 "optional" : 1,
4d47f125 12793 "type" : "integer"
44660702
DM
12794 },
12795 "name" : {
12796 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12797 "format" : "dns-name",
12798 "optional" : 1,
4d47f125 12799 "type" : "string"
44660702 12800 },
27a7acb2 12801 "nameserver" : {
4772952b 12802 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
12803 "format" : "address-list",
12804 "optional" : 1,
4d47f125 12805 "type" : "string"
27a7acb2 12806 },
44660702 12807 "net[n]" : {
c2993fe5 12808 "description" : "Specify network devices.",
f004f5b9
DM
12809 "format" : {
12810 "bridge" : {
c2993fe5 12811 "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
12812 "format_description" : "bridge",
12813 "optional" : 1,
c5aa7e14 12814 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
12815 "type" : "string"
12816 },
12817 "e1000" : {
12818 "alias" : "macaddr",
12819 "keyAlias" : "model"
12820 },
12821 "e1000-82540em" : {
12822 "alias" : "macaddr",
12823 "keyAlias" : "model"
12824 },
12825 "e1000-82544gc" : {
12826 "alias" : "macaddr",
12827 "keyAlias" : "model"
12828 },
12829 "e1000-82545em" : {
12830 "alias" : "macaddr",
12831 "keyAlias" : "model"
12832 },
12833 "firewall" : {
12834 "description" : "Whether this interface should be protected by the firewall.",
12835 "optional" : 1,
12836 "type" : "boolean"
12837 },
12838 "i82551" : {
12839 "alias" : "macaddr",
12840 "keyAlias" : "model"
12841 },
12842 "i82557b" : {
12843 "alias" : "macaddr",
12844 "keyAlias" : "model"
12845 },
12846 "i82559er" : {
12847 "alias" : "macaddr",
12848 "keyAlias" : "model"
12849 },
12850 "link_down" : {
c2993fe5 12851 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
12852 "optional" : 1,
12853 "type" : "boolean"
12854 },
12855 "macaddr" : {
c2993fe5 12856 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 12857 "format" : "mac-addr",
f004f5b9 12858 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 12859 "optional" : 1,
95895385
TL
12860 "type" : "string",
12861 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
12862 },
12863 "model" : {
12864 "default_key" : 1,
c2993fe5 12865 "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
12866 "enum" : [
12867 "rtl8139",
12868 "ne2k_pci",
12869 "e1000",
12870 "pcnet",
12871 "virtio",
12872 "ne2k_isa",
12873 "i82551",
12874 "i82557b",
12875 "i82559er",
12876 "vmxnet3",
12877 "e1000-82540em",
12878 "e1000-82544gc",
12879 "e1000-82545em"
12880 ],
f004f5b9
DM
12881 "type" : "string"
12882 },
ac70d7d1
TL
12883 "mtu" : {
12884 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
12885 "maximum" : 65520,
12886 "minimum" : 1,
12887 "optional" : 1,
12888 "type" : "integer"
12889 },
f004f5b9
DM
12890 "ne2k_isa" : {
12891 "alias" : "macaddr",
12892 "keyAlias" : "model"
12893 },
12894 "ne2k_pci" : {
12895 "alias" : "macaddr",
12896 "keyAlias" : "model"
12897 },
12898 "pcnet" : {
12899 "alias" : "macaddr",
12900 "keyAlias" : "model"
12901 },
12902 "queues" : {
12903 "description" : "Number of packet queues to be used on the device.",
12904 "maximum" : 16,
12905 "minimum" : 0,
12906 "optional" : 1,
12907 "type" : "integer"
12908 },
12909 "rate" : {
c2993fe5 12910 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
12911 "minimum" : 0,
12912 "optional" : 1,
12913 "type" : "number"
12914 },
12915 "rtl8139" : {
12916 "alias" : "macaddr",
12917 "keyAlias" : "model"
12918 },
12919 "tag" : {
12920 "description" : "VLAN tag to apply to packets on this interface.",
12921 "maximum" : 4094,
c2993fe5 12922 "minimum" : 1,
f004f5b9
DM
12923 "optional" : 1,
12924 "type" : "integer"
12925 },
12926 "trunks" : {
12927 "description" : "VLAN trunks to pass through this interface.",
12928 "format_description" : "vlanid[;vlanid...]",
12929 "optional" : 1,
12930 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12931 "type" : "string"
12932 },
12933 "virtio" : {
12934 "alias" : "macaddr",
12935 "keyAlias" : "model"
12936 },
12937 "vmxnet3" : {
12938 "alias" : "macaddr",
12939 "keyAlias" : "model"
12940 }
12941 },
44660702 12942 "optional" : 1,
4d47f125 12943 "type" : "string"
44660702
DM
12944 },
12945 "numa" : {
12946 "default" : 0,
12947 "description" : "Enable/disable NUMA.",
12948 "optional" : 1,
4d47f125 12949 "type" : "boolean"
44660702
DM
12950 },
12951 "numa[n]" : {
c2993fe5 12952 "description" : "NUMA topology.",
56122987 12953 "format" : {
7aacca6f 12954 "cpus" : {
c2993fe5 12955 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12956 "format_description" : "id[-id];...",
12957 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12958 "type" : "string"
7aacca6f
DM
12959 },
12960 "hostnodes" : {
c2993fe5 12961 "description" : "Host NUMA nodes to use.",
44660702 12962 "format_description" : "id[-id];...",
7aacca6f 12963 "optional" : 1,
7aacca6f 12964 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 12965 "type" : "string"
7aacca6f 12966 },
44660702 12967 "memory" : {
c2993fe5 12968 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 12969 "optional" : 1,
44660702
DM
12970 "type" : "number"
12971 },
12972 "policy" : {
c2993fe5 12973 "description" : "NUMA allocation policy.",
7aacca6f
DM
12974 "enum" : [
12975 "preferred",
12976 "bind",
12977 "interleave"
12978 ],
44660702
DM
12979 "optional" : 1,
12980 "type" : "string"
56122987 12981 }
44660702 12982 },
56122987 12983 "optional" : 1,
4d47f125 12984 "type" : "string"
56122987 12985 },
44660702 12986 "onboot" : {
7aacca6f 12987 "default" : 0,
44660702
DM
12988 "description" : "Specifies whether a VM will be started during system bootup.",
12989 "optional" : 1,
4d47f125 12990 "type" : "boolean"
7aacca6f
DM
12991 },
12992 "ostype" : {
c2993fe5 12993 "description" : "Specify guest operating system.",
7aacca6f
DM
12994 "enum" : [
12995 "other",
12996 "wxp",
12997 "w2k",
12998 "w2k3",
12999 "w2k8",
13000 "wvista",
13001 "win7",
13002 "win8",
32d876b5 13003 "win10",
7aacca6f
DM
13004 "l24",
13005 "l26",
13006 "solaris"
13007 ],
7aacca6f 13008 "optional" : 1,
c2993fe5 13009 "type" : "string",
d2656385 13010 "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/2019\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 13011 },
44660702 13012 "parallel[n]" : {
c2993fe5 13013 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 13014 "optional" : 1,
44660702 13015 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 13016 "type" : "string",
4772952b 13017 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
13018 },
13019 "protection" : {
13020 "default" : 0,
c2993fe5 13021 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 13022 "optional" : 1,
4d47f125 13023 "type" : "boolean"
7aacca6f 13024 },
44660702
DM
13025 "reboot" : {
13026 "default" : 1,
13027 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 13028 "optional" : 1,
4d47f125 13029 "type" : "boolean"
44660702 13030 },
c5aa7e14
TL
13031 "rng0" : {
13032 "description" : "Configure a VirtIO-based Random Number Generator.",
13033 "format" : {
13034 "max_bytes" : {
13035 "default" : 1024,
13036 "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!).",
13037 "optional" : 1,
13038 "type" : "integer"
13039 },
13040 "period" : {
13041 "default" : 1000,
13042 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
13043 "optional" : 1,
13044 "type" : "integer"
13045 },
13046 "source" : {
13047 "default_key" : 1,
13048 "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.",
13049 "enum" : [
13050 "/dev/urandom",
13051 "/dev/random",
13052 "/dev/hwrng"
13053 ],
13054 "type" : "string"
13055 }
13056 },
13057 "optional" : 1,
13058 "type" : "string"
13059 },
44660702 13060 "sata[n]" : {
d2656385 13061 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
56122987 13062 "format" : {
44660702
DM
13063 "aio" : {
13064 "description" : "AIO type to use.",
7aacca6f 13065 "enum" : [
44660702 13066 "native",
8f4d9c87
TL
13067 "threads",
13068 "io_uring"
7aacca6f 13069 ],
44660702
DM
13070 "optional" : 1,
13071 "type" : "string"
7aacca6f 13072 },
44660702
DM
13073 "backup" : {
13074 "description" : "Whether the drive should be included when making backups.",
56122987 13075 "optional" : 1,
7aacca6f 13076 "type" : "boolean"
44660702
DM
13077 },
13078 "bps" : {
de0983cb 13079 "description" : "Maximum r/w speed in bytes per second.",
44660702 13080 "format_description" : "bps",
7aacca6f 13081 "optional" : 1,
44660702 13082 "type" : "integer"
56122987 13083 },
de0983cb
DM
13084 "bps_max_length" : {
13085 "description" : "Maximum length of I/O bursts in seconds.",
13086 "format_description" : "seconds",
13087 "minimum" : 1,
13088 "optional" : 1,
13089 "type" : "integer"
13090 },
44660702 13091 "bps_rd" : {
de0983cb 13092 "description" : "Maximum read speed in bytes per second.",
44660702 13093 "format_description" : "bps",
56122987 13094 "optional" : 1,
44660702 13095 "type" : "integer"
56122987 13096 },
de0983cb 13097 "bps_rd_length" : {
5d9c884c
DM
13098 "alias" : "bps_rd_max_length"
13099 },
13100 "bps_rd_max_length" : {
de0983cb
DM
13101 "description" : "Maximum length of read I/O bursts in seconds.",
13102 "format_description" : "seconds",
13103 "minimum" : 1,
13104 "optional" : 1,
13105 "type" : "integer"
13106 },
44660702 13107 "bps_wr" : {
de0983cb 13108 "description" : "Maximum write speed in bytes per second.",
44660702 13109 "format_description" : "bps",
56122987 13110 "optional" : 1,
44660702 13111 "type" : "integer"
56122987 13112 },
de0983cb 13113 "bps_wr_length" : {
5d9c884c
DM
13114 "alias" : "bps_wr_max_length"
13115 },
13116 "bps_wr_max_length" : {
de0983cb
DM
13117 "description" : "Maximum length of write I/O bursts in seconds.",
13118 "format_description" : "seconds",
13119 "minimum" : 1,
13120 "optional" : 1,
13121 "type" : "integer"
13122 },
56122987 13123 "cache" : {
44660702 13124 "description" : "The drive's cache mode",
56122987
DM
13125 "enum" : [
13126 "none",
13127 "writethrough",
13128 "writeback",
13129 "unsafe",
13130 "directsync"
13131 ],
56122987 13132 "optional" : 1,
44660702 13133 "type" : "string"
56122987 13134 },
44660702
DM
13135 "cyls" : {
13136 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 13137 "optional" : 1,
44660702 13138 "type" : "integer"
7aacca6f
DM
13139 },
13140 "detect_zeroes" : {
13141 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13142 "optional" : 1,
44660702 13143 "type" : "boolean"
56122987 13144 },
44660702
DM
13145 "discard" : {
13146 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13147 "enum" : [
13148 "ignore",
13149 "on"
13150 ],
56122987 13151 "optional" : 1,
44660702 13152 "type" : "string"
7aacca6f 13153 },
44660702
DM
13154 "file" : {
13155 "default_key" : 1,
13156 "description" : "The drive's backing volume.",
13157 "format" : "pve-volume-id-or-qm-path",
13158 "format_description" : "volume",
13159 "type" : "string"
56122987 13160 },
7aacca6f 13161 "format" : {
44660702 13162 "description" : "The drive's backing file's data format.",
7aacca6f
DM
13163 "enum" : [
13164 "raw",
13165 "cow",
13166 "qcow",
13167 "qed",
13168 "qcow2",
13169 "vmdk",
13170 "cloop"
13171 ],
7aacca6f 13172 "optional" : 1,
44660702 13173 "type" : "string"
56122987 13174 },
7aacca6f 13175 "heads" : {
7aacca6f 13176 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13177 "optional" : 1,
7aacca6f 13178 "type" : "integer"
56122987 13179 },
44660702 13180 "iops" : {
de0983cb 13181 "description" : "Maximum r/w I/O in operations per second.",
44660702 13182 "format_description" : "iops",
56122987 13183 "optional" : 1,
44660702 13184 "type" : "integer"
56122987 13185 },
44660702 13186 "iops_max" : {
de0983cb 13187 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13188 "format_description" : "iops",
56122987 13189 "optional" : 1,
44660702 13190 "type" : "integer"
56122987 13191 },
de0983cb
DM
13192 "iops_max_length" : {
13193 "description" : "Maximum length of I/O bursts in seconds.",
13194 "format_description" : "seconds",
13195 "minimum" : 1,
13196 "optional" : 1,
13197 "type" : "integer"
13198 },
44660702 13199 "iops_rd" : {
de0983cb 13200 "description" : "Maximum read I/O in operations per second.",
44660702 13201 "format_description" : "iops",
7aacca6f 13202 "optional" : 1,
44660702 13203 "type" : "integer"
56122987 13204 },
de0983cb 13205 "iops_rd_length" : {
5d9c884c 13206 "alias" : "iops_rd_max_length"
de0983cb 13207 },
44660702 13208 "iops_rd_max" : {
de0983cb 13209 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13210 "format_description" : "iops",
56122987 13211 "optional" : 1,
44660702 13212 "type" : "integer"
7aacca6f 13213 },
5d9c884c
DM
13214 "iops_rd_max_length" : {
13215 "description" : "Maximum length of read I/O bursts in seconds.",
13216 "format_description" : "seconds",
13217 "minimum" : 1,
13218 "optional" : 1,
13219 "type" : "integer"
13220 },
44660702 13221 "iops_wr" : {
de0983cb 13222 "description" : "Maximum write I/O in operations per second.",
44660702 13223 "format_description" : "iops",
56122987 13224 "optional" : 1,
44660702 13225 "type" : "integer"
56122987 13226 },
de0983cb 13227 "iops_wr_length" : {
5d9c884c 13228 "alias" : "iops_wr_max_length"
de0983cb 13229 },
56122987 13230 "iops_wr_max" : {
de0983cb 13231 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13232 "format_description" : "iops",
56122987 13233 "optional" : 1,
44660702 13234 "type" : "integer"
56122987 13235 },
5d9c884c
DM
13236 "iops_wr_max_length" : {
13237 "description" : "Maximum length of write I/O bursts in seconds.",
13238 "format_description" : "seconds",
13239 "minimum" : 1,
13240 "optional" : 1,
13241 "type" : "integer"
13242 },
44660702 13243 "mbps" : {
de0983cb 13244 "description" : "Maximum r/w speed in megabytes per second.",
44660702 13245 "format_description" : "mbps",
56122987 13246 "optional" : 1,
44660702 13247 "type" : "number"
56122987 13248 },
44660702 13249 "mbps_max" : {
de0983cb 13250 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13251 "format_description" : "mbps",
13252 "optional" : 1,
13253 "type" : "number"
56122987 13254 },
44660702 13255 "mbps_rd" : {
de0983cb 13256 "description" : "Maximum read speed in megabytes per second.",
44660702 13257 "format_description" : "mbps",
56122987 13258 "optional" : 1,
44660702 13259 "type" : "number"
56122987 13260 },
44660702 13261 "mbps_rd_max" : {
de0983cb 13262 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13263 "format_description" : "mbps",
56122987 13264 "optional" : 1,
44660702 13265 "type" : "number"
56122987 13266 },
44660702 13267 "mbps_wr" : {
de0983cb 13268 "description" : "Maximum write speed in megabytes per second.",
56122987 13269 "format_description" : "mbps",
44660702
DM
13270 "optional" : 1,
13271 "type" : "number"
56122987 13272 },
44660702 13273 "mbps_wr_max" : {
de0983cb 13274 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13275 "format_description" : "mbps",
13276 "optional" : 1,
13277 "type" : "number"
7aacca6f 13278 },
44660702
DM
13279 "media" : {
13280 "default" : "disk",
13281 "description" : "The drive's media type.",
13282 "enum" : [
13283 "cdrom",
13284 "disk"
13285 ],
56122987 13286 "optional" : 1,
44660702
DM
13287 "type" : "string"
13288 },
5d9c884c
DM
13289 "replicate" : {
13290 "default" : 1,
13291 "description" : "Whether the drive should considered for replication jobs.",
13292 "optional" : 1,
13293 "type" : "boolean"
13294 },
44660702
DM
13295 "rerror" : {
13296 "description" : "Read error action.",
7aacca6f 13297 "enum" : [
44660702
DM
13298 "ignore",
13299 "report",
13300 "stop"
13301 ],
7aacca6f 13302 "optional" : 1,
44660702 13303 "type" : "string"
56122987 13304 },
44660702
DM
13305 "secs" : {
13306 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13307 "optional" : 1,
44660702 13308 "type" : "integer"
56122987 13309 },
44660702
DM
13310 "serial" : {
13311 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13312 "format" : "urlencoded",
13313 "format_description" : "serial",
13314 "maxLength" : 60,
56122987 13315 "optional" : 1,
44660702 13316 "type" : "string"
56122987 13317 },
27a7acb2
DM
13318 "shared" : {
13319 "default" : 0,
13320 "description" : "Mark this locally-managed volume as available on all nodes",
13321 "optional" : 1,
13322 "type" : "boolean",
13323 "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!"
13324 },
44660702
DM
13325 "size" : {
13326 "description" : "Disk size. This is purely informational and has no effect.",
13327 "format" : "disk-size",
f004f5b9 13328 "format_description" : "DiskSize",
44660702
DM
13329 "optional" : 1,
13330 "type" : "string"
13331 },
13332 "snapshot" : {
27a7acb2 13333 "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 13334 "optional" : 1,
44660702
DM
13335 "type" : "boolean"
13336 },
25203dc1
NC
13337 "ssd" : {
13338 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13339 "optional" : 1,
13340 "type" : "boolean"
13341 },
44660702
DM
13342 "trans" : {
13343 "description" : "Force disk geometry bios translation mode.",
56122987 13344 "enum" : [
7aacca6f
DM
13345 "none",
13346 "lba",
13347 "auto"
56122987 13348 ],
44660702
DM
13349 "optional" : 1,
13350 "type" : "string"
56122987 13351 },
7aacca6f
DM
13352 "volume" : {
13353 "alias" : "file"
56122987 13354 },
44660702
DM
13355 "werror" : {
13356 "description" : "Write error action.",
13357 "enum" : [
13358 "enospc",
13359 "ignore",
13360 "report",
13361 "stop"
13362 ],
7aacca6f 13363 "optional" : 1,
44660702 13364 "type" : "string"
95895385
TL
13365 },
13366 "wwn" : {
13367 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13368 "format_description" : "wwn",
13369 "optional" : 1,
13370 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13371 "type" : "string"
44660702
DM
13372 }
13373 },
13374 "optional" : 1,
4d47f125 13375 "type" : "string"
44660702
DM
13376 },
13377 "scsi[n]" : {
d2656385 13378 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
44660702 13379 "format" : {
56122987 13380 "aio" : {
56122987
DM
13381 "description" : "AIO type to use.",
13382 "enum" : [
13383 "native",
8f4d9c87
TL
13384 "threads",
13385 "io_uring"
56122987 13386 ],
7aacca6f 13387 "optional" : 1,
44660702 13388 "type" : "string"
56122987 13389 },
44660702
DM
13390 "backup" : {
13391 "description" : "Whether the drive should be included when making backups.",
56122987 13392 "optional" : 1,
44660702 13393 "type" : "boolean"
56122987 13394 },
44660702 13395 "bps" : {
de0983cb 13396 "description" : "Maximum r/w speed in bytes per second.",
44660702 13397 "format_description" : "bps",
56122987 13398 "optional" : 1,
44660702 13399 "type" : "integer"
56122987 13400 },
de0983cb
DM
13401 "bps_max_length" : {
13402 "description" : "Maximum length of I/O bursts in seconds.",
13403 "format_description" : "seconds",
13404 "minimum" : 1,
13405 "optional" : 1,
13406 "type" : "integer"
13407 },
44660702 13408 "bps_rd" : {
de0983cb 13409 "description" : "Maximum read speed in bytes per second.",
44660702 13410 "format_description" : "bps",
56122987 13411 "optional" : 1,
44660702 13412 "type" : "integer"
56122987 13413 },
de0983cb 13414 "bps_rd_length" : {
5d9c884c
DM
13415 "alias" : "bps_rd_max_length"
13416 },
13417 "bps_rd_max_length" : {
de0983cb
DM
13418 "description" : "Maximum length of read I/O bursts in seconds.",
13419 "format_description" : "seconds",
13420 "minimum" : 1,
13421 "optional" : 1,
13422 "type" : "integer"
13423 },
7aacca6f 13424 "bps_wr" : {
de0983cb 13425 "description" : "Maximum write speed in bytes per second.",
7aacca6f 13426 "format_description" : "bps",
56122987 13427 "optional" : 1,
44660702 13428 "type" : "integer"
56122987 13429 },
de0983cb 13430 "bps_wr_length" : {
5d9c884c
DM
13431 "alias" : "bps_wr_max_length"
13432 },
13433 "bps_wr_max_length" : {
de0983cb
DM
13434 "description" : "Maximum length of write I/O bursts in seconds.",
13435 "format_description" : "seconds",
13436 "minimum" : 1,
13437 "optional" : 1,
13438 "type" : "integer"
13439 },
44660702
DM
13440 "cache" : {
13441 "description" : "The drive's cache mode",
7aacca6f 13442 "enum" : [
44660702
DM
13443 "none",
13444 "writethrough",
13445 "writeback",
13446 "unsafe",
13447 "directsync"
7aacca6f 13448 ],
56122987 13449 "optional" : 1,
44660702 13450 "type" : "string"
56122987 13451 },
44660702
DM
13452 "cyls" : {
13453 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 13454 "optional" : 1,
44660702 13455 "type" : "integer"
56122987 13456 },
44660702
DM
13457 "detect_zeroes" : {
13458 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13459 "optional" : 1,
44660702 13460 "type" : "boolean"
56122987 13461 },
44660702
DM
13462 "discard" : {
13463 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13464 "enum" : [
13465 "ignore",
13466 "on"
13467 ],
7aacca6f 13468 "optional" : 1,
44660702 13469 "type" : "string"
56122987 13470 },
44660702
DM
13471 "file" : {
13472 "default_key" : 1,
13473 "description" : "The drive's backing volume.",
13474 "format" : "pve-volume-id-or-qm-path",
13475 "format_description" : "volume",
13476 "type" : "string"
56122987 13477 },
7aacca6f 13478 "format" : {
44660702 13479 "description" : "The drive's backing file's data format.",
56122987 13480 "enum" : [
7aacca6f
DM
13481 "raw",
13482 "cow",
13483 "qcow",
13484 "qed",
13485 "qcow2",
13486 "vmdk",
13487 "cloop"
13488 ],
44660702
DM
13489 "optional" : 1,
13490 "type" : "string"
56122987 13491 },
44660702
DM
13492 "heads" : {
13493 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13494 "optional" : 1,
7aacca6f 13495 "type" : "integer"
56122987 13496 },
44660702 13497 "iops" : {
de0983cb 13498 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 13499 "format_description" : "iops",
44660702
DM
13500 "optional" : 1,
13501 "type" : "integer"
7aacca6f 13502 },
44660702 13503 "iops_max" : {
de0983cb 13504 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13505 "format_description" : "iops",
56122987 13506 "optional" : 1,
44660702 13507 "type" : "integer"
7aacca6f 13508 },
de0983cb
DM
13509 "iops_max_length" : {
13510 "description" : "Maximum length of I/O bursts in seconds.",
13511 "format_description" : "seconds",
13512 "minimum" : 1,
13513 "optional" : 1,
13514 "type" : "integer"
13515 },
44660702 13516 "iops_rd" : {
de0983cb 13517 "description" : "Maximum read I/O in operations per second.",
44660702 13518 "format_description" : "iops",
7aacca6f 13519 "optional" : 1,
44660702 13520 "type" : "integer"
56122987 13521 },
de0983cb 13522 "iops_rd_length" : {
5d9c884c 13523 "alias" : "iops_rd_max_length"
de0983cb 13524 },
44660702 13525 "iops_rd_max" : {
de0983cb 13526 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13527 "format_description" : "iops",
13528 "optional" : 1,
13529 "type" : "integer"
13530 },
5d9c884c
DM
13531 "iops_rd_max_length" : {
13532 "description" : "Maximum length of read I/O bursts in seconds.",
13533 "format_description" : "seconds",
13534 "minimum" : 1,
13535 "optional" : 1,
13536 "type" : "integer"
13537 },
44660702 13538 "iops_wr" : {
de0983cb 13539 "description" : "Maximum write I/O in operations per second.",
44660702 13540 "format_description" : "iops",
56122987 13541 "optional" : 1,
44660702
DM
13542 "type" : "integer"
13543 },
de0983cb 13544 "iops_wr_length" : {
5d9c884c 13545 "alias" : "iops_wr_max_length"
de0983cb 13546 },
44660702 13547 "iops_wr_max" : {
de0983cb 13548 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13549 "format_description" : "iops",
13550 "optional" : 1,
13551 "type" : "integer"
56122987 13552 },
5d9c884c
DM
13553 "iops_wr_max_length" : {
13554 "description" : "Maximum length of write I/O bursts in seconds.",
13555 "format_description" : "seconds",
13556 "minimum" : 1,
13557 "optional" : 1,
13558 "type" : "integer"
13559 },
7aacca6f 13560 "iothread" : {
7aacca6f 13561 "description" : "Whether to use iothreads for this drive",
56122987 13562 "optional" : 1,
56122987
DM
13563 "type" : "boolean"
13564 },
44660702 13565 "mbps" : {
de0983cb 13566 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13567 "format_description" : "mbps",
13568 "optional" : 1,
13569 "type" : "number"
13570 },
13571 "mbps_max" : {
de0983cb 13572 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13573 "format_description" : "mbps",
13574 "optional" : 1,
13575 "type" : "number"
13576 },
13577 "mbps_rd" : {
de0983cb 13578 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13579 "format_description" : "mbps",
13580 "optional" : 1,
13581 "type" : "number"
13582 },
13583 "mbps_rd_max" : {
de0983cb 13584 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13585 "format_description" : "mbps",
13586 "optional" : 1,
13587 "type" : "number"
13588 },
13589 "mbps_wr" : {
de0983cb 13590 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13591 "format_description" : "mbps",
13592 "optional" : 1,
13593 "type" : "number"
13594 },
13595 "mbps_wr_max" : {
de0983cb 13596 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13597 "format_description" : "mbps",
13598 "optional" : 1,
13599 "type" : "number"
13600 },
7aacca6f 13601 "media" : {
44660702
DM
13602 "default" : "disk",
13603 "description" : "The drive's media type.",
7aacca6f
DM
13604 "enum" : [
13605 "cdrom",
13606 "disk"
13607 ],
56122987 13608 "optional" : 1,
44660702
DM
13609 "type" : "string"
13610 },
13611 "queues" : {
13612 "description" : "Number of queues.",
44660702
DM
13613 "minimum" : 2,
13614 "optional" : 1,
13615 "type" : "integer"
13616 },
5d9c884c
DM
13617 "replicate" : {
13618 "default" : 1,
13619 "description" : "Whether the drive should considered for replication jobs.",
13620 "optional" : 1,
13621 "type" : "boolean"
13622 },
13623 "rerror" : {
13624 "description" : "Read error action.",
13625 "enum" : [
13626 "ignore",
13627 "report",
13628 "stop"
13629 ],
13630 "optional" : 1,
13631 "type" : "string"
13632 },
52e44c50
FG
13633 "scsiblock" : {
13634 "default" : 0,
13635 "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",
13636 "optional" : 1,
13637 "type" : "boolean"
13638 },
44660702
DM
13639 "secs" : {
13640 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13641 "optional" : 1,
13642 "type" : "integer"
13643 },
13644 "serial" : {
13645 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13646 "format" : "urlencoded",
13647 "format_description" : "serial",
13648 "maxLength" : 60,
13649 "optional" : 1,
13650 "type" : "string"
13651 },
27a7acb2
DM
13652 "shared" : {
13653 "default" : 0,
13654 "description" : "Mark this locally-managed volume as available on all nodes",
13655 "optional" : 1,
13656 "type" : "boolean",
13657 "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!"
13658 },
44660702
DM
13659 "size" : {
13660 "description" : "Disk size. This is purely informational and has no effect.",
13661 "format" : "disk-size",
f004f5b9 13662 "format_description" : "DiskSize",
44660702
DM
13663 "optional" : 1,
13664 "type" : "string"
56122987 13665 },
7aacca6f 13666 "snapshot" : {
27a7acb2 13667 "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 13668 "optional" : 1,
44660702 13669 "type" : "boolean"
7aacca6f 13670 },
25203dc1
NC
13671 "ssd" : {
13672 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13673 "optional" : 1,
13674 "type" : "boolean"
13675 },
44660702
DM
13676 "trans" : {
13677 "description" : "Force disk geometry bios translation mode.",
13678 "enum" : [
13679 "none",
13680 "lba",
13681 "auto"
13682 ],
44660702
DM
13683 "optional" : 1,
13684 "type" : "string"
13685 },
13686 "volume" : {
13687 "alias" : "file"
13688 },
13689 "werror" : {
13690 "description" : "Write error action.",
13691 "enum" : [
13692 "enospc",
13693 "ignore",
13694 "report",
13695 "stop"
13696 ],
56122987 13697 "optional" : 1,
44660702 13698 "type" : "string"
95895385
TL
13699 },
13700 "wwn" : {
13701 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13702 "format_description" : "wwn",
13703 "optional" : 1,
13704 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13705 "type" : "string"
56122987 13706 }
44660702 13707 },
7aacca6f 13708 "optional" : 1,
4d47f125 13709 "type" : "string"
44660702
DM
13710 },
13711 "scsihw" : {
13712 "default" : "lsi",
c2993fe5 13713 "description" : "SCSI controller model",
7aacca6f 13714 "enum" : [
44660702
DM
13715 "lsi",
13716 "lsi53c810",
13717 "virtio-scsi-pci",
13718 "virtio-scsi-single",
13719 "megasas",
13720 "pvscsi"
7aacca6f 13721 ],
44660702
DM
13722 "optional" : 1,
13723 "type" : "string"
56122987 13724 },
27a7acb2 13725 "searchdomain" : {
4772952b 13726 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2 13727 "optional" : 1,
4d47f125 13728 "type" : "string"
27a7acb2 13729 },
44660702 13730 "serial[n]" : {
c2993fe5 13731 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 13732 "optional" : 1,
44660702 13733 "pattern" : "(/dev/.+|socket)",
c2993fe5 13734 "type" : "string",
4772952b 13735 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 13736 },
44660702
DM
13737 "shares" : {
13738 "default" : 1000,
5da3d723 13739 "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
13740 "maximum" : 50000,
13741 "minimum" : 0,
56122987 13742 "optional" : 1,
4d47f125 13743 "type" : "integer"
56122987 13744 },
44660702
DM
13745 "smbios1" : {
13746 "description" : "Specify SMBIOS type 1 fields.",
13747 "format" : "pve-qm-smbios1",
1e3f8156 13748 "maxLength" : 512,
56122987 13749 "optional" : 1,
4d47f125 13750 "type" : "string"
56122987 13751 },
44660702
DM
13752 "smp" : {
13753 "default" : 1,
13754 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 13755 "minimum" : 1,
7aacca6f 13756 "optional" : 1,
4d47f125 13757 "type" : "integer"
7aacca6f 13758 },
44660702
DM
13759 "sockets" : {
13760 "default" : 1,
13761 "description" : "The number of CPU sockets.",
13762 "minimum" : 1,
7aacca6f 13763 "optional" : 1,
4d47f125 13764 "type" : "integer"
56122987 13765 },
1c532546
TL
13766 "spice_enhancements" : {
13767 "description" : "Configure additional enhancements for SPICE.",
13768 "format" : {
13769 "foldersharing" : {
13770 "default" : "0",
13771 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
13772 "optional" : 1,
13773 "type" : "boolean"
13774 },
13775 "videostreaming" : {
13776 "default" : "off",
13777 "description" : "Enable video streaming. Uses compression for detected video streams.",
13778 "enum" : [
13779 "off",
13780 "all",
13781 "filter"
13782 ],
13783 "optional" : 1,
13784 "type" : "string"
13785 }
13786 },
13787 "optional" : 1,
13788 "type" : "string"
13789 },
27a7acb2
DM
13790 "sshkeys" : {
13791 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
13792 "format" : "urlencoded",
13793 "optional" : 1,
4d47f125 13794 "type" : "string"
27a7acb2 13795 },
44660702
DM
13796 "startdate" : {
13797 "default" : "now",
4772952b 13798 "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 13799 "optional" : 1,
44660702 13800 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 13801 "type" : "string",
44660702 13802 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 13803 },
7aacca6f 13804 "startup" : {
7aacca6f 13805 "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 13806 "format" : "pve-startup-order",
56122987 13807 "optional" : 1,
44660702
DM
13808 "type" : "string",
13809 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 13810 },
44660702 13811 "tablet" : {
7aacca6f 13812 "default" : 1,
c2993fe5 13813 "description" : "Enable/disable the USB tablet device.",
7aacca6f 13814 "optional" : 1,
c2993fe5 13815 "type" : "boolean",
4772952b 13816 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (`qm set <vmid> --vga qxl`)."
56122987 13817 },
5c1699e5
TL
13818 "tags" : {
13819 "description" : "Tags of the VM. This is only meta information.",
13820 "format" : "pve-tag-list",
13821 "optional" : 1,
13822 "type" : "string"
13823 },
44660702
DM
13824 "tdf" : {
13825 "default" : 0,
13826 "description" : "Enable/disable time drift fix.",
7aacca6f 13827 "optional" : 1,
4d47f125 13828 "type" : "boolean"
7aacca6f 13829 },
44660702
DM
13830 "template" : {
13831 "default" : 0,
13832 "description" : "Enable/disable Template.",
7aacca6f 13833 "optional" : 1,
4d47f125 13834 "type" : "boolean"
7aacca6f 13835 },
44660702 13836 "unused[n]" : {
c2993fe5 13837 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
13838 "format" : {
13839 "file" : {
13840 "default_key" : 1,
13841 "description" : "The drive's backing volume.",
13842 "format" : "pve-volume-id",
13843 "format_description" : "volume",
13844 "type" : "string"
13845 },
13846 "volume" : {
13847 "alias" : "file"
13848 }
13849 },
7aacca6f 13850 "optional" : 1,
4d47f125 13851 "type" : "string"
7aacca6f 13852 },
44660702 13853 "usb[n]" : {
c2993fe5 13854 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
13855 "format" : {
13856 "host" : {
13857 "default_key" : 1,
4772952b 13858 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
13859 "format" : "pve-qm-usb-device",
13860 "format_description" : "HOSTUSBDEVICE|spice",
13861 "type" : "string"
13862 },
13863 "usb3" : {
c2993fe5 13864 "default" : 0,
1c532546 13865 "description" : "Specifies whether if given host option is a USB3 device or port.",
44660702
DM
13866 "optional" : 1,
13867 "type" : "boolean"
13868 }
13869 },
7aacca6f 13870 "optional" : 1,
4d47f125 13871 "type" : "string"
56122987 13872 },
44660702
DM
13873 "vcpus" : {
13874 "default" : 0,
13875 "description" : "Number of hotplugged vcpus.",
13876 "minimum" : 1,
56122987 13877 "optional" : 1,
4d47f125 13878 "type" : "integer"
56122987 13879 },
44660702 13880 "vga" : {
e2d681b3
TL
13881 "description" : "Configure the VGA hardware.",
13882 "format" : {
13883 "memory" : {
13884 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
13885 "maximum" : 512,
13886 "minimum" : 4,
13887 "optional" : 1,
13888 "type" : "integer"
13889 },
13890 "type" : {
13891 "default" : "std",
13892 "default_key" : 1,
13893 "description" : "Select the VGA type.",
13894 "enum" : [
13895 "cirrus",
13896 "qxl",
13897 "qxl2",
13898 "qxl3",
13899 "qxl4",
5f26e15b 13900 "none",
e2d681b3
TL
13901 "serial0",
13902 "serial1",
13903 "serial2",
13904 "serial3",
13905 "std",
13906 "virtio",
13907 "vmware"
13908 ],
13909 "optional" : 1,
13910 "type" : "string"
13911 }
13912 },
56122987 13913 "optional" : 1,
c2993fe5 13914 "type" : "string",
e2d681b3 13915 "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 13916 },
44660702 13917 "virtio[n]" : {
d2656385 13918 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
56122987 13919 "format" : {
44660702
DM
13920 "aio" : {
13921 "description" : "AIO type to use.",
56122987 13922 "enum" : [
44660702 13923 "native",
8f4d9c87
TL
13924 "threads",
13925 "io_uring"
56122987 13926 ],
56122987
DM
13927 "optional" : 1,
13928 "type" : "string"
13929 },
44660702
DM
13930 "backup" : {
13931 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13932 "optional" : 1,
13933 "type" : "boolean"
7aacca6f 13934 },
44660702 13935 "bps" : {
de0983cb 13936 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
13937 "format_description" : "bps",
13938 "optional" : 1,
13939 "type" : "integer"
56122987 13940 },
de0983cb
DM
13941 "bps_max_length" : {
13942 "description" : "Maximum length of I/O bursts in seconds.",
13943 "format_description" : "seconds",
13944 "minimum" : 1,
13945 "optional" : 1,
13946 "type" : "integer"
13947 },
44660702 13948 "bps_rd" : {
de0983cb 13949 "description" : "Maximum read speed in bytes per second.",
44660702 13950 "format_description" : "bps",
56122987 13951 "optional" : 1,
44660702 13952 "type" : "integer"
56122987 13953 },
de0983cb 13954 "bps_rd_length" : {
5d9c884c
DM
13955 "alias" : "bps_rd_max_length"
13956 },
13957 "bps_rd_max_length" : {
de0983cb
DM
13958 "description" : "Maximum length of read I/O bursts in seconds.",
13959 "format_description" : "seconds",
13960 "minimum" : 1,
13961 "optional" : 1,
13962 "type" : "integer"
13963 },
44660702 13964 "bps_wr" : {
de0983cb 13965 "description" : "Maximum write speed in bytes per second.",
44660702 13966 "format_description" : "bps",
56122987 13967 "optional" : 1,
44660702
DM
13968 "type" : "integer"
13969 },
de0983cb 13970 "bps_wr_length" : {
5d9c884c
DM
13971 "alias" : "bps_wr_max_length"
13972 },
13973 "bps_wr_max_length" : {
de0983cb
DM
13974 "description" : "Maximum length of write I/O bursts in seconds.",
13975 "format_description" : "seconds",
13976 "minimum" : 1,
13977 "optional" : 1,
13978 "type" : "integer"
13979 },
44660702
DM
13980 "cache" : {
13981 "description" : "The drive's cache mode",
56122987 13982 "enum" : [
44660702
DM
13983 "none",
13984 "writethrough",
13985 "writeback",
13986 "unsafe",
13987 "directsync"
56122987 13988 ],
56122987 13989 "optional" : 1,
44660702 13990 "type" : "string"
56122987 13991 },
44660702
DM
13992 "cyls" : {
13993 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 13994 "optional" : 1,
44660702 13995 "type" : "integer"
7aacca6f 13996 },
44660702
DM
13997 "detect_zeroes" : {
13998 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13999 "optional" : 1,
14000 "type" : "boolean"
7aacca6f 14001 },
44660702
DM
14002 "discard" : {
14003 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14004 "enum" : [
14005 "ignore",
14006 "on"
14007 ],
56122987 14008 "optional" : 1,
44660702 14009 "type" : "string"
56122987
DM
14010 },
14011 "file" : {
7aacca6f 14012 "default_key" : 1,
44660702 14013 "description" : "The drive's backing volume.",
7aacca6f 14014 "format" : "pve-volume-id-or-qm-path",
44660702
DM
14015 "format_description" : "volume",
14016 "type" : "string"
7aacca6f
DM
14017 },
14018 "format" : {
7aacca6f
DM
14019 "description" : "The drive's backing file's data format.",
14020 "enum" : [
14021 "raw",
14022 "cow",
14023 "qcow",
14024 "qed",
14025 "qcow2",
14026 "vmdk",
14027 "cloop"
56122987
DM
14028 ],
14029 "optional" : 1,
56122987
DM
14030 "type" : "string"
14031 },
44660702
DM
14032 "heads" : {
14033 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14034 "optional" : 1,
44660702 14035 "type" : "integer"
56122987 14036 },
44660702 14037 "iops" : {
de0983cb 14038 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 14039 "format_description" : "iops",
56122987 14040 "optional" : 1,
44660702 14041 "type" : "integer"
56122987 14042 },
44660702 14043 "iops_max" : {
de0983cb 14044 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14045 "format_description" : "iops",
56122987 14046 "optional" : 1,
56122987
DM
14047 "type" : "integer"
14048 },
de0983cb
DM
14049 "iops_max_length" : {
14050 "description" : "Maximum length of I/O bursts in seconds.",
14051 "format_description" : "seconds",
14052 "minimum" : 1,
14053 "optional" : 1,
14054 "type" : "integer"
14055 },
44660702 14056 "iops_rd" : {
de0983cb 14057 "description" : "Maximum read I/O in operations per second.",
44660702 14058 "format_description" : "iops",
56122987 14059 "optional" : 1,
44660702 14060 "type" : "integer"
56122987 14061 },
de0983cb 14062 "iops_rd_length" : {
5d9c884c 14063 "alias" : "iops_rd_max_length"
de0983cb 14064 },
44660702 14065 "iops_rd_max" : {
de0983cb 14066 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14067 "format_description" : "iops",
7aacca6f 14068 "optional" : 1,
44660702 14069 "type" : "integer"
56122987 14070 },
5d9c884c
DM
14071 "iops_rd_max_length" : {
14072 "description" : "Maximum length of read I/O bursts in seconds.",
14073 "format_description" : "seconds",
14074 "minimum" : 1,
14075 "optional" : 1,
14076 "type" : "integer"
14077 },
44660702 14078 "iops_wr" : {
de0983cb 14079 "description" : "Maximum write I/O in operations per second.",
44660702 14080 "format_description" : "iops",
7aacca6f 14081 "optional" : 1,
44660702 14082 "type" : "integer"
56122987 14083 },
de0983cb 14084 "iops_wr_length" : {
5d9c884c 14085 "alias" : "iops_wr_max_length"
de0983cb 14086 },
44660702 14087 "iops_wr_max" : {
de0983cb 14088 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14089 "format_description" : "iops",
56122987
DM
14090 "optional" : 1,
14091 "type" : "integer"
14092 },
5d9c884c
DM
14093 "iops_wr_max_length" : {
14094 "description" : "Maximum length of write I/O bursts in seconds.",
14095 "format_description" : "seconds",
14096 "minimum" : 1,
14097 "optional" : 1,
14098 "type" : "integer"
14099 },
44660702
DM
14100 "iothread" : {
14101 "description" : "Whether to use iothreads for this drive",
44660702
DM
14102 "optional" : 1,
14103 "type" : "boolean"
14104 },
14105 "mbps" : {
de0983cb 14106 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 14107 "format_description" : "mbps",
44660702
DM
14108 "optional" : 1,
14109 "type" : "number"
14110 },
14111 "mbps_max" : {
de0983cb 14112 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
14113 "format_description" : "mbps",
14114 "optional" : 1,
14115 "type" : "number"
7aacca6f 14116 },
44660702 14117 "mbps_rd" : {
de0983cb 14118 "description" : "Maximum read speed in megabytes per second.",
44660702 14119 "format_description" : "mbps",
56122987 14120 "optional" : 1,
44660702 14121 "type" : "number"
56122987 14122 },
44660702 14123 "mbps_rd_max" : {
de0983cb 14124 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14125 "format_description" : "mbps",
7aacca6f 14126 "optional" : 1,
44660702 14127 "type" : "number"
56122987 14128 },
44660702 14129 "mbps_wr" : {
de0983cb 14130 "description" : "Maximum write speed in megabytes per second.",
44660702 14131 "format_description" : "mbps",
56122987 14132 "optional" : 1,
44660702 14133 "type" : "number"
56122987 14134 },
44660702 14135 "mbps_wr_max" : {
de0983cb 14136 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14137 "format_description" : "mbps",
56122987 14138 "optional" : 1,
44660702 14139 "type" : "number"
56122987
DM
14140 },
14141 "media" : {
7aacca6f 14142 "default" : "disk",
44660702 14143 "description" : "The drive's media type.",
56122987
DM
14144 "enum" : [
14145 "cdrom",
14146 "disk"
14147 ],
44660702
DM
14148 "optional" : 1,
14149 "type" : "string"
56122987 14150 },
5d9c884c
DM
14151 "replicate" : {
14152 "default" : 1,
14153 "description" : "Whether the drive should considered for replication jobs.",
14154 "optional" : 1,
14155 "type" : "boolean"
14156 },
7aacca6f 14157 "rerror" : {
44660702 14158 "description" : "Read error action.",
56122987 14159 "enum" : [
7aacca6f
DM
14160 "ignore",
14161 "report",
14162 "stop"
56122987 14163 ],
56122987 14164 "optional" : 1,
44660702 14165 "type" : "string"
56122987 14166 },
44660702
DM
14167 "secs" : {
14168 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
14169 "optional" : 1,
14170 "type" : "integer"
14171 },
14172 "serial" : {
14173 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14174 "format" : "urlencoded",
14175 "format_description" : "serial",
14176 "maxLength" : 60,
56122987 14177 "optional" : 1,
7aacca6f 14178 "type" : "string"
56122987 14179 },
27a7acb2
DM
14180 "shared" : {
14181 "default" : 0,
14182 "description" : "Mark this locally-managed volume as available on all nodes",
14183 "optional" : 1,
14184 "type" : "boolean",
14185 "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!"
14186 },
44660702
DM
14187 "size" : {
14188 "description" : "Disk size. This is purely informational and has no effect.",
14189 "format" : "disk-size",
f004f5b9 14190 "format_description" : "DiskSize",
56122987 14191 "optional" : 1,
44660702 14192 "type" : "string"
56122987 14193 },
44660702 14194 "snapshot" : {
27a7acb2 14195 "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 14196 "optional" : 1,
44660702 14197 "type" : "boolean"
56122987 14198 },
44660702
DM
14199 "trans" : {
14200 "description" : "Force disk geometry bios translation mode.",
14201 "enum" : [
14202 "none",
14203 "lba",
14204 "auto"
14205 ],
44660702
DM
14206 "optional" : 1,
14207 "type" : "string"
14208 },
14209 "volume" : {
14210 "alias" : "file"
14211 },
14212 "werror" : {
14213 "description" : "Write error action.",
14214 "enum" : [
14215 "enospc",
14216 "ignore",
14217 "report",
14218 "stop"
14219 ],
56122987 14220 "optional" : 1,
44660702 14221 "type" : "string"
56122987 14222 }
44660702 14223 },
56122987 14224 "optional" : 1,
4d47f125 14225 "type" : "string"
56122987 14226 },
4d47f125
TL
14227 "vmgenid" : {
14228 "default" : "1 (autogenerated)",
14229 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14230 "format_description" : "UUID",
14231 "optional" : 1,
14232 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14233 "type" : "string",
4772952b 14234 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
56122987 14235 },
2489d6df
WB
14236 "vmstatestorage" : {
14237 "description" : "Default storage for VM state volumes/files.",
14238 "format" : "pve-storage-id",
14239 "optional" : 1,
4d47f125 14240 "type" : "string"
2489d6df 14241 },
44660702 14242 "watchdog" : {
c2993fe5 14243 "description" : "Create a virtual hardware watchdog device.",
44660702 14244 "format" : "pve-qm-watchdog",
56122987 14245 "optional" : 1,
c2993fe5
DM
14246 "type" : "string",
14247 "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 14248 }
4d47f125
TL
14249 },
14250 "type" : "object"
44660702 14251 }
56122987 14252 },
4d47f125 14253 "POST" : {
e9cd3bd4 14254 "allowtoken" : 1,
4d47f125
TL
14255 "description" : "Set virtual machine options (asynchrounous API).",
14256 "method" : "POST",
14257 "name" : "update_vm_async",
56122987 14258 "parameters" : {
7aacca6f 14259 "additionalProperties" : 0,
56122987 14260 "properties" : {
44660702
DM
14261 "acpi" : {
14262 "default" : 1,
14263 "description" : "Enable/disable ACPI.",
7aacca6f 14264 "optional" : 1,
013dc89f
DM
14265 "type" : "boolean",
14266 "typetext" : "<boolean>"
7aacca6f 14267 },
44660702 14268 "agent" : {
4d47f125
TL
14269 "description" : "Enable/disable Qemu GuestAgent and its properties.",
14270 "format" : {
14271 "enabled" : {
14272 "default" : 0,
14273 "default_key" : 1,
14274 "description" : "Enable/disable Qemu GuestAgent.",
14275 "type" : "boolean"
14276 },
14277 "fstrim_cloned_disks" : {
14278 "default" : 0,
d2656385 14279 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
14280 "optional" : 1,
14281 "type" : "boolean"
5c1699e5
TL
14282 },
14283 "type" : {
14284 "default" : "virtio",
14285 "description" : "Select the agent type",
14286 "enum" : [
14287 "virtio",
14288 "isa"
14289 ],
14290 "optional" : 1,
14291 "type" : "string"
4d47f125
TL
14292 }
14293 },
7aacca6f 14294 "optional" : 1,
4d47f125 14295 "type" : "string",
5c1699e5 14296 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 14297 },
e2d681b3
TL
14298 "arch" : {
14299 "description" : "Virtual processor architecture. Defaults to the host.",
14300 "enum" : [
14301 "x86_64",
14302 "aarch64"
14303 ],
14304 "optional" : 1,
14305 "type" : "string"
14306 },
44660702 14307 "args" : {
c2993fe5 14308 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 14309 "optional" : 1,
c2993fe5 14310 "type" : "string",
013dc89f 14311 "typetext" : "<string>",
c2993fe5 14312 "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 14313 },
1c532546
TL
14314 "audio0" : {
14315 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
14316 "format" : {
14317 "device" : {
14318 "description" : "Configure an audio device.",
14319 "enum" : [
14320 "ich9-intel-hda",
14321 "intel-hda",
14322 "AC97"
14323 ],
14324 "type" : "string"
14325 },
14326 "driver" : {
14327 "default" : "spice",
14328 "description" : "Driver backend for the audio device.",
14329 "enum" : [
d2656385
TL
14330 "spice",
14331 "none"
1c532546
TL
14332 ],
14333 "optional" : 1,
14334 "type" : "string"
14335 }
14336 },
14337 "optional" : 1,
14338 "type" : "string",
d2656385 14339 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 14340 },
44660702
DM
14341 "autostart" : {
14342 "default" : 0,
14343 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 14344 "optional" : 1,
013dc89f
DM
14345 "type" : "boolean",
14346 "typetext" : "<boolean>"
7aacca6f 14347 },
4d47f125
TL
14348 "background_delay" : {
14349 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
14350 "maximum" : 30,
14351 "minimum" : 1,
14352 "optional" : 1,
14353 "type" : "integer",
14354 "typetext" : "<integer> (1 - 30)"
14355 },
44660702
DM
14356 "balloon" : {
14357 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
14358 "minimum" : 0,
14359 "optional" : 1,
4bd7df8b 14360 "type" : "integer",
013dc89f 14361 "typetext" : "<integer> (0 - N)"
44660702
DM
14362 },
14363 "bios" : {
14364 "default" : "seabios",
14365 "description" : "Select BIOS implementation.",
7aacca6f 14366 "enum" : [
44660702
DM
14367 "seabios",
14368 "ovmf"
7aacca6f 14369 ],
56122987 14370 "optional" : 1,
7aacca6f
DM
14371 "type" : "string"
14372 },
44660702 14373 "boot" : {
4772952b
TL
14374 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
14375 "format" : "pve-qm-boot",
7aacca6f 14376 "optional" : 1,
4772952b
TL
14377 "type" : "string",
14378 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 14379 },
44660702 14380 "bootdisk" : {
4772952b 14381 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
14382 "format" : "pve-qm-bootdisk",
14383 "optional" : 1,
14384 "pattern" : "(ide|sata|scsi|virtio)\\d+",
14385 "type" : "string"
14386 },
14387 "cdrom" : {
14388 "description" : "This is an alias for option -ide2",
de0983cb 14389 "format" : "pve-qm-ide",
56122987 14390 "optional" : 1,
7aacca6f 14391 "type" : "string",
013dc89f 14392 "typetext" : "<volume>"
44660702 14393 },
95895385
TL
14394 "cicustom" : {
14395 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
14396 "format" : "pve-qm-cicustom",
14397 "optional" : 1,
14398 "type" : "string",
14399 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
14400 },
27a7acb2
DM
14401 "cipassword" : {
14402 "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.",
14403 "optional" : 1,
14404 "type" : "string",
14405 "typetext" : "<string>"
14406 },
14407 "citype" : {
14408 "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.",
14409 "enum" : [
14410 "configdrive2",
d2656385
TL
14411 "nocloud",
14412 "opennebula"
27a7acb2
DM
14413 ],
14414 "optional" : 1,
14415 "type" : "string"
14416 },
14417 "ciuser" : {
14418 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
14419 "optional" : 1,
14420 "type" : "string",
14421 "typetext" : "<string>"
14422 },
44660702
DM
14423 "cores" : {
14424 "default" : 1,
14425 "description" : "The number of cores per socket.",
14426 "minimum" : 1,
14427 "optional" : 1,
4bd7df8b 14428 "type" : "integer",
013dc89f 14429 "typetext" : "<integer> (1 - N)"
44660702
DM
14430 },
14431 "cpu" : {
14432 "description" : "Emulated CPU type.",
c5aa7e14 14433 "format" : "pve-vm-cpu-conf",
44660702 14434 "optional" : 1,
4bd7df8b 14435 "type" : "string",
04d22a9f 14436 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702
DM
14437 },
14438 "cpulimit" : {
14439 "default" : 0,
c2993fe5 14440 "description" : "Limit of CPU usage.",
44660702
DM
14441 "maximum" : 128,
14442 "minimum" : 0,
14443 "optional" : 1,
c2993fe5 14444 "type" : "number",
013dc89f 14445 "typetext" : "<number> (0 - 128)",
c2993fe5 14446 "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
14447 },
14448 "cpuunits" : {
de0983cb 14449 "default" : 1024,
c2993fe5 14450 "description" : "CPU weight for a VM.",
2489d6df
WB
14451 "maximum" : 262144,
14452 "minimum" : 2,
44660702 14453 "optional" : 1,
c2993fe5 14454 "type" : "integer",
2489d6df
WB
14455 "typetext" : "<integer> (2 - 262144)",
14456 "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
14457 },
14458 "delete" : {
14459 "description" : "A list of settings you want to delete.",
14460 "format" : "pve-configid-list",
14461 "optional" : 1,
013dc89f
DM
14462 "type" : "string",
14463 "typetext" : "<string>"
44660702
DM
14464 },
14465 "description" : {
8f4d9c87
TL
14466 "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
14467 "maxLength" : 8192,
44660702 14468 "optional" : 1,
013dc89f
DM
14469 "type" : "string",
14470 "typetext" : "<string>"
44660702
DM
14471 },
14472 "digest" : {
14473 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14474 "maxLength" : 40,
14475 "optional" : 1,
013dc89f
DM
14476 "type" : "string",
14477 "typetext" : "<string>"
44660702 14478 },
4d47f125 14479 "efidisk0" : {
d2656385 14480 "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
4d47f125
TL
14481 "format" : {
14482 "file" : {
14483 "default_key" : 1,
14484 "description" : "The drive's backing volume.",
14485 "format" : "pve-volume-id-or-qm-path",
14486 "format_description" : "volume",
14487 "type" : "string"
14488 },
14489 "format" : {
14490 "description" : "The drive's backing file's data format.",
14491 "enum" : [
14492 "raw",
14493 "cow",
14494 "qcow",
14495 "qed",
14496 "qcow2",
14497 "vmdk",
14498 "cloop"
14499 ],
14500 "optional" : 1,
14501 "type" : "string"
14502 },
14503 "size" : {
14504 "description" : "Disk size. This is purely informational and has no effect.",
14505 "format" : "disk-size",
14506 "format_description" : "DiskSize",
14507 "optional" : 1,
14508 "type" : "string"
14509 },
14510 "volume" : {
14511 "alias" : "file"
14512 }
14513 },
14514 "optional" : 1,
14515 "type" : "string",
14516 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
14517 },
44660702
DM
14518 "force" : {
14519 "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.",
14520 "optional" : 1,
14521 "requires" : "delete",
013dc89f
DM
14522 "type" : "boolean",
14523 "typetext" : "<boolean>"
44660702
DM
14524 },
14525 "freeze" : {
14526 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
14527 "optional" : 1,
013dc89f
DM
14528 "type" : "boolean",
14529 "typetext" : "<boolean>"
44660702 14530 },
5f26e15b
TL
14531 "hookscript" : {
14532 "description" : "Script that will be executed during various steps in the vms lifetime.",
14533 "format" : "pve-volume-id",
14534 "optional" : 1,
14535 "type" : "string",
14536 "typetext" : "<string>"
14537 },
44660702 14538 "hostpci[n]" : {
c2993fe5 14539 "description" : "Map host PCI devices into guest.",
44660702
DM
14540 "format" : "pve-qm-hostpci",
14541 "optional" : 1,
57b78691 14542 "type" : "string",
ac70d7d1 14543 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 14544 "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 14545 },
7aacca6f 14546 "hotplug" : {
7aacca6f 14547 "default" : "network,disk,usb",
44660702
DM
14548 "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'.",
14549 "format" : "pve-hotplug-features",
56122987 14550 "optional" : 1,
013dc89f
DM
14551 "type" : "string",
14552 "typetext" : "<string>"
56122987 14553 },
4bd7df8b
DM
14554 "hugepages" : {
14555 "description" : "Enable/disable hugepages memory.",
14556 "enum" : [
14557 "any",
14558 "2",
14559 "1024"
14560 ],
14561 "optional" : 1,
14562 "type" : "string"
14563 },
56122987 14564 "ide[n]" : {
d2656385 14565 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
56122987 14566 "format" : {
44660702
DM
14567 "aio" : {
14568 "description" : "AIO type to use.",
14569 "enum" : [
14570 "native",
8f4d9c87
TL
14571 "threads",
14572 "io_uring"
44660702 14573 ],
56122987 14574 "optional" : 1,
44660702 14575 "type" : "string"
56122987 14576 },
44660702
DM
14577 "backup" : {
14578 "description" : "Whether the drive should be included when making backups.",
44660702
DM
14579 "optional" : 1,
14580 "type" : "boolean"
14581 },
14582 "bps" : {
de0983cb 14583 "description" : "Maximum r/w speed in bytes per second.",
44660702 14584 "format_description" : "bps",
56122987 14585 "optional" : 1,
44660702 14586 "type" : "integer"
56122987 14587 },
de0983cb
DM
14588 "bps_max_length" : {
14589 "description" : "Maximum length of I/O bursts in seconds.",
14590 "format_description" : "seconds",
14591 "minimum" : 1,
14592 "optional" : 1,
14593 "type" : "integer"
14594 },
44660702 14595 "bps_rd" : {
de0983cb 14596 "description" : "Maximum read speed in bytes per second.",
44660702 14597 "format_description" : "bps",
56122987 14598 "optional" : 1,
44660702 14599 "type" : "integer"
56122987 14600 },
de0983cb 14601 "bps_rd_length" : {
5d9c884c
DM
14602 "alias" : "bps_rd_max_length"
14603 },
14604 "bps_rd_max_length" : {
de0983cb
DM
14605 "description" : "Maximum length of read I/O bursts in seconds.",
14606 "format_description" : "seconds",
14607 "minimum" : 1,
14608 "optional" : 1,
14609 "type" : "integer"
14610 },
7aacca6f 14611 "bps_wr" : {
de0983cb 14612 "description" : "Maximum write speed in bytes per second.",
44660702
DM
14613 "format_description" : "bps",
14614 "optional" : 1,
14615 "type" : "integer"
7aacca6f 14616 },
de0983cb 14617 "bps_wr_length" : {
5d9c884c
DM
14618 "alias" : "bps_wr_max_length"
14619 },
14620 "bps_wr_max_length" : {
de0983cb
DM
14621 "description" : "Maximum length of write I/O bursts in seconds.",
14622 "format_description" : "seconds",
14623 "minimum" : 1,
14624 "optional" : 1,
14625 "type" : "integer"
14626 },
44660702
DM
14627 "cache" : {
14628 "description" : "The drive's cache mode",
14629 "enum" : [
14630 "none",
14631 "writethrough",
14632 "writeback",
14633 "unsafe",
14634 "directsync"
14635 ],
56122987 14636 "optional" : 1,
44660702
DM
14637 "type" : "string"
14638 },
14639 "cyls" : {
14640 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14641 "optional" : 1,
14642 "type" : "integer"
14643 },
14644 "detect_zeroes" : {
14645 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14646 "optional" : 1,
14647 "type" : "boolean"
56122987 14648 },
7aacca6f 14649 "discard" : {
7aacca6f 14650 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 14651 "enum" : [
7aacca6f
DM
14652 "ignore",
14653 "on"
56122987
DM
14654 ],
14655 "optional" : 1,
44660702 14656 "type" : "string"
7aacca6f 14657 },
44660702
DM
14658 "file" : {
14659 "default_key" : 1,
14660 "description" : "The drive's backing volume.",
14661 "format" : "pve-volume-id-or-qm-path",
14662 "format_description" : "volume",
14663 "type" : "string"
7aacca6f
DM
14664 },
14665 "format" : {
44660702 14666 "description" : "The drive's backing file's data format.",
7aacca6f
DM
14667 "enum" : [
14668 "raw",
14669 "cow",
14670 "qcow",
14671 "qed",
14672 "qcow2",
14673 "vmdk",
14674 "cloop"
14675 ],
7aacca6f 14676 "optional" : 1,
44660702 14677 "type" : "string"
56122987 14678 },
7aacca6f 14679 "heads" : {
44660702 14680 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14681 "optional" : 1,
44660702 14682 "type" : "integer"
7aacca6f 14683 },
44660702 14684 "iops" : {
de0983cb 14685 "description" : "Maximum r/w I/O in operations per second.",
44660702 14686 "format_description" : "iops",
7aacca6f 14687 "optional" : 1,
44660702 14688 "type" : "integer"
56122987 14689 },
44660702 14690 "iops_max" : {
de0983cb 14691 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14692 "format_description" : "iops",
56122987 14693 "optional" : 1,
44660702 14694 "type" : "integer"
56122987 14695 },
de0983cb
DM
14696 "iops_max_length" : {
14697 "description" : "Maximum length of I/O bursts in seconds.",
14698 "format_description" : "seconds",
14699 "minimum" : 1,
14700 "optional" : 1,
14701 "type" : "integer"
14702 },
44660702 14703 "iops_rd" : {
de0983cb 14704 "description" : "Maximum read I/O in operations per second.",
44660702 14705 "format_description" : "iops",
56122987 14706 "optional" : 1,
44660702 14707 "type" : "integer"
7aacca6f 14708 },
de0983cb 14709 "iops_rd_length" : {
5d9c884c 14710 "alias" : "iops_rd_max_length"
de0983cb 14711 },
44660702 14712 "iops_rd_max" : {
de0983cb 14713 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14714 "format_description" : "iops",
7aacca6f 14715 "optional" : 1,
44660702 14716 "type" : "integer"
7aacca6f 14717 },
5d9c884c
DM
14718 "iops_rd_max_length" : {
14719 "description" : "Maximum length of read I/O bursts in seconds.",
14720 "format_description" : "seconds",
14721 "minimum" : 1,
14722 "optional" : 1,
14723 "type" : "integer"
14724 },
44660702 14725 "iops_wr" : {
de0983cb 14726 "description" : "Maximum write I/O in operations per second.",
44660702 14727 "format_description" : "iops",
7aacca6f 14728 "optional" : 1,
44660702 14729 "type" : "integer"
56122987 14730 },
de0983cb 14731 "iops_wr_length" : {
5d9c884c 14732 "alias" : "iops_wr_max_length"
de0983cb 14733 },
44660702 14734 "iops_wr_max" : {
de0983cb 14735 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14736 "format_description" : "iops",
7aacca6f 14737 "optional" : 1,
44660702 14738 "type" : "integer"
7aacca6f 14739 },
5d9c884c
DM
14740 "iops_wr_max_length" : {
14741 "description" : "Maximum length of write I/O bursts in seconds.",
14742 "format_description" : "seconds",
14743 "minimum" : 1,
14744 "optional" : 1,
14745 "type" : "integer"
14746 },
7aacca6f 14747 "mbps" : {
de0983cb 14748 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 14749 "format_description" : "mbps",
7aacca6f 14750 "optional" : 1,
44660702 14751 "type" : "number"
7aacca6f 14752 },
44660702 14753 "mbps_max" : {
de0983cb 14754 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14755 "format_description" : "mbps",
7aacca6f 14756 "optional" : 1,
44660702 14757 "type" : "number"
7aacca6f 14758 },
44660702 14759 "mbps_rd" : {
de0983cb 14760 "description" : "Maximum read speed in megabytes per second.",
44660702 14761 "format_description" : "mbps",
7aacca6f 14762 "optional" : 1,
44660702 14763 "type" : "number"
7aacca6f 14764 },
44660702 14765 "mbps_rd_max" : {
de0983cb 14766 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14767 "format_description" : "mbps",
14768 "optional" : 1,
14769 "type" : "number"
7aacca6f 14770 },
44660702 14771 "mbps_wr" : {
de0983cb 14772 "description" : "Maximum write speed in megabytes per second.",
44660702 14773 "format_description" : "mbps",
7aacca6f 14774 "optional" : 1,
44660702
DM
14775 "type" : "number"
14776 },
14777 "mbps_wr_max" : {
de0983cb 14778 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14779 "format_description" : "mbps",
14780 "optional" : 1,
14781 "type" : "number"
14782 },
14783 "media" : {
14784 "default" : "disk",
14785 "description" : "The drive's media type.",
56122987 14786 "enum" : [
44660702
DM
14787 "cdrom",
14788 "disk"
56122987 14789 ],
44660702
DM
14790 "optional" : 1,
14791 "type" : "string"
56122987 14792 },
7aacca6f 14793 "model" : {
44660702 14794 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 14795 "format" : "urlencoded",
7aacca6f 14796 "format_description" : "model",
44660702 14797 "maxLength" : 120,
56122987 14798 "optional" : 1,
44660702 14799 "type" : "string"
56122987 14800 },
5d9c884c
DM
14801 "replicate" : {
14802 "default" : 1,
14803 "description" : "Whether the drive should considered for replication jobs.",
14804 "optional" : 1,
14805 "type" : "boolean"
14806 },
44660702
DM
14807 "rerror" : {
14808 "description" : "Read error action.",
14809 "enum" : [
14810 "ignore",
14811 "report",
14812 "stop"
14813 ],
56122987 14814 "optional" : 1,
44660702 14815 "type" : "string"
56122987 14816 },
44660702
DM
14817 "secs" : {
14818 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
14819 "optional" : 1,
14820 "type" : "integer"
56122987 14821 },
44660702
DM
14822 "serial" : {
14823 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14824 "format" : "urlencoded",
14825 "format_description" : "serial",
14826 "maxLength" : 60,
56122987 14827 "optional" : 1,
44660702 14828 "type" : "string"
56122987 14829 },
27a7acb2
DM
14830 "shared" : {
14831 "default" : 0,
14832 "description" : "Mark this locally-managed volume as available on all nodes",
14833 "optional" : 1,
14834 "type" : "boolean",
14835 "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!"
14836 },
44660702
DM
14837 "size" : {
14838 "description" : "Disk size. This is purely informational and has no effect.",
14839 "format" : "disk-size",
f004f5b9 14840 "format_description" : "DiskSize",
56122987 14841 "optional" : 1,
44660702 14842 "type" : "string"
56122987 14843 },
44660702 14844 "snapshot" : {
27a7acb2 14845 "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 14846 "optional" : 1,
44660702 14847 "type" : "boolean"
56122987 14848 },
25203dc1
NC
14849 "ssd" : {
14850 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14851 "optional" : 1,
14852 "type" : "boolean"
14853 },
44660702
DM
14854 "trans" : {
14855 "description" : "Force disk geometry bios translation mode.",
14856 "enum" : [
14857 "none",
14858 "lba",
14859 "auto"
14860 ],
56122987 14861 "optional" : 1,
44660702
DM
14862 "type" : "string"
14863 },
14864 "volume" : {
14865 "alias" : "file"
56122987 14866 },
7aacca6f 14867 "werror" : {
44660702 14868 "description" : "Write error action.",
7aacca6f
DM
14869 "enum" : [
14870 "enospc",
14871 "ignore",
14872 "report",
14873 "stop"
14874 ],
56122987 14875 "optional" : 1,
44660702 14876 "type" : "string"
95895385
TL
14877 },
14878 "wwn" : {
14879 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14880 "format_description" : "wwn",
14881 "optional" : 1,
14882 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14883 "type" : "string"
7aacca6f 14884 }
44660702
DM
14885 },
14886 "optional" : 1,
4bd7df8b 14887 "type" : "string",
8f4d9c87 14888 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
14889 },
14890 "ipconfig[n]" : {
d2656385 14891 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
27a7acb2
DM
14892 "format" : "pve-qm-ipconfig",
14893 "optional" : 1,
14894 "type" : "string",
14895 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 14896 },
95895385
TL
14897 "ivshmem" : {
14898 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
14899 "format" : {
14900 "name" : {
14901 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
14902 "format_description" : "string",
14903 "optional" : 1,
14904 "pattern" : "[a-zA-Z0-9\\-]+",
14905 "type" : "string"
14906 },
14907 "size" : {
14908 "description" : "The size of the file in MB.",
14909 "minimum" : 1,
14910 "type" : "integer"
14911 }
14912 },
14913 "optional" : 1,
14914 "type" : "string",
14915 "typetext" : "size=<integer> [,name=<string>]"
14916 },
4772952b
TL
14917 "keephugepages" : {
14918 "default" : 0,
14919 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
14920 "optional" : 1,
14921 "type" : "boolean",
14922 "typetext" : "<boolean>"
14923 },
44660702 14924 "keyboard" : {
35a75dd3 14925 "default" : null,
5da3d723 14926 "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
14927 "enum" : [
14928 "de",
14929 "de-ch",
14930 "da",
14931 "en-gb",
14932 "en-us",
14933 "es",
14934 "fi",
14935 "fr",
14936 "fr-be",
14937 "fr-ca",
14938 "fr-ch",
14939 "hu",
14940 "is",
14941 "it",
14942 "ja",
14943 "lt",
14944 "mk",
14945 "nl",
14946 "no",
14947 "pl",
14948 "pt",
14949 "pt-br",
14950 "sv",
14951 "sl",
14952 "tr"
14953 ],
7aacca6f 14954 "optional" : 1,
44660702 14955 "type" : "string"
7aacca6f 14956 },
44660702 14957 "kvm" : {
7aacca6f 14958 "default" : 1,
44660702 14959 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 14960 "optional" : 1,
013dc89f
DM
14961 "type" : "boolean",
14962 "typetext" : "<boolean>"
7aacca6f 14963 },
44660702
DM
14964 "localtime" : {
14965 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 14966 "optional" : 1,
013dc89f
DM
14967 "type" : "boolean",
14968 "typetext" : "<boolean>"
7aacca6f 14969 },
44660702
DM
14970 "lock" : {
14971 "description" : "Lock/unlock the VM.",
14972 "enum" : [
44660702 14973 "backup",
5f26e15b
TL
14974 "clone",
14975 "create",
14976 "migrate",
14977 "rollback",
44660702 14978 "snapshot",
95895385
TL
14979 "snapshot-delete",
14980 "suspending",
14981 "suspended"
44660702 14982 ],
7aacca6f 14983 "optional" : 1,
44660702 14984 "type" : "string"
7aacca6f 14985 },
44660702 14986 "machine" : {
4d47f125 14987 "description" : "Specifies the Qemu machine type.",
44660702 14988 "maxLength" : 40,
7aacca6f 14989 "optional" : 1,
5c1699e5 14990 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 14991 "type" : "string"
7aacca6f 14992 },
44660702
DM
14993 "memory" : {
14994 "default" : 512,
14995 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14996 "minimum" : 16,
7aacca6f 14997 "optional" : 1,
4bd7df8b 14998 "type" : "integer",
013dc89f 14999 "typetext" : "<integer> (16 - N)"
7aacca6f 15000 },
44660702
DM
15001 "migrate_downtime" : {
15002 "default" : 0.1,
15003 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
15004 "minimum" : 0,
7aacca6f 15005 "optional" : 1,
4bd7df8b 15006 "type" : "number",
013dc89f 15007 "typetext" : "<number> (0 - N)"
7aacca6f 15008 },
44660702 15009 "migrate_speed" : {
7aacca6f 15010 "default" : 0,
44660702
DM
15011 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
15012 "minimum" : 0,
15013 "optional" : 1,
4bd7df8b 15014 "type" : "integer",
013dc89f 15015 "typetext" : "<integer> (0 - N)"
7aacca6f 15016 },
44660702
DM
15017 "name" : {
15018 "description" : "Set a name for the VM. Only used on the configuration web interface.",
15019 "format" : "dns-name",
7aacca6f 15020 "optional" : 1,
013dc89f
DM
15021 "type" : "string",
15022 "typetext" : "<string>"
7aacca6f 15023 },
27a7acb2 15024 "nameserver" : {
4772952b 15025 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
15026 "format" : "address-list",
15027 "optional" : 1,
15028 "type" : "string",
15029 "typetext" : "<string>"
15030 },
44660702 15031 "net[n]" : {
c2993fe5 15032 "description" : "Specify network devices.",
f004f5b9
DM
15033 "format" : {
15034 "bridge" : {
c2993fe5 15035 "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
15036 "format_description" : "bridge",
15037 "optional" : 1,
c5aa7e14 15038 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
15039 "type" : "string"
15040 },
15041 "e1000" : {
15042 "alias" : "macaddr",
15043 "keyAlias" : "model"
15044 },
15045 "e1000-82540em" : {
15046 "alias" : "macaddr",
15047 "keyAlias" : "model"
15048 },
15049 "e1000-82544gc" : {
15050 "alias" : "macaddr",
15051 "keyAlias" : "model"
15052 },
15053 "e1000-82545em" : {
15054 "alias" : "macaddr",
15055 "keyAlias" : "model"
15056 },
15057 "firewall" : {
15058 "description" : "Whether this interface should be protected by the firewall.",
15059 "optional" : 1,
15060 "type" : "boolean"
15061 },
15062 "i82551" : {
15063 "alias" : "macaddr",
15064 "keyAlias" : "model"
15065 },
15066 "i82557b" : {
15067 "alias" : "macaddr",
15068 "keyAlias" : "model"
15069 },
15070 "i82559er" : {
15071 "alias" : "macaddr",
15072 "keyAlias" : "model"
15073 },
15074 "link_down" : {
c2993fe5 15075 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
15076 "optional" : 1,
15077 "type" : "boolean"
15078 },
15079 "macaddr" : {
c2993fe5 15080 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 15081 "format" : "mac-addr",
f004f5b9 15082 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 15083 "optional" : 1,
95895385
TL
15084 "type" : "string",
15085 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
15086 },
15087 "model" : {
15088 "default_key" : 1,
c2993fe5 15089 "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
15090 "enum" : [
15091 "rtl8139",
15092 "ne2k_pci",
15093 "e1000",
15094 "pcnet",
15095 "virtio",
15096 "ne2k_isa",
15097 "i82551",
15098 "i82557b",
15099 "i82559er",
15100 "vmxnet3",
15101 "e1000-82540em",
15102 "e1000-82544gc",
15103 "e1000-82545em"
15104 ],
f004f5b9
DM
15105 "type" : "string"
15106 },
ac70d7d1
TL
15107 "mtu" : {
15108 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
15109 "maximum" : 65520,
15110 "minimum" : 1,
15111 "optional" : 1,
15112 "type" : "integer"
15113 },
f004f5b9
DM
15114 "ne2k_isa" : {
15115 "alias" : "macaddr",
15116 "keyAlias" : "model"
15117 },
15118 "ne2k_pci" : {
15119 "alias" : "macaddr",
15120 "keyAlias" : "model"
15121 },
15122 "pcnet" : {
15123 "alias" : "macaddr",
15124 "keyAlias" : "model"
15125 },
15126 "queues" : {
15127 "description" : "Number of packet queues to be used on the device.",
15128 "maximum" : 16,
15129 "minimum" : 0,
15130 "optional" : 1,
15131 "type" : "integer"
15132 },
15133 "rate" : {
c2993fe5 15134 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
15135 "minimum" : 0,
15136 "optional" : 1,
15137 "type" : "number"
15138 },
15139 "rtl8139" : {
15140 "alias" : "macaddr",
15141 "keyAlias" : "model"
15142 },
15143 "tag" : {
15144 "description" : "VLAN tag to apply to packets on this interface.",
15145 "maximum" : 4094,
c2993fe5 15146 "minimum" : 1,
f004f5b9
DM
15147 "optional" : 1,
15148 "type" : "integer"
15149 },
15150 "trunks" : {
15151 "description" : "VLAN trunks to pass through this interface.",
15152 "format_description" : "vlanid[;vlanid...]",
15153 "optional" : 1,
15154 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15155 "type" : "string"
15156 },
15157 "virtio" : {
15158 "alias" : "macaddr",
15159 "keyAlias" : "model"
15160 },
15161 "vmxnet3" : {
15162 "alias" : "macaddr",
15163 "keyAlias" : "model"
15164 }
15165 },
7aacca6f 15166 "optional" : 1,
4bd7df8b 15167 "type" : "string",
ac70d7d1 15168 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 15169 },
44660702
DM
15170 "node" : {
15171 "description" : "The cluster node name.",
15172 "format" : "pve-node",
013dc89f
DM
15173 "type" : "string",
15174 "typetext" : "<string>"
44660702
DM
15175 },
15176 "numa" : {
15177 "default" : 0,
15178 "description" : "Enable/disable NUMA.",
7aacca6f 15179 "optional" : 1,
013dc89f
DM
15180 "type" : "boolean",
15181 "typetext" : "<boolean>"
7aacca6f 15182 },
44660702 15183 "numa[n]" : {
c2993fe5 15184 "description" : "NUMA topology.",
44660702
DM
15185 "format" : {
15186 "cpus" : {
c2993fe5 15187 "description" : "CPUs accessing this NUMA node.",
44660702
DM
15188 "format_description" : "id[-id];...",
15189 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15190 "type" : "string"
15191 },
15192 "hostnodes" : {
c2993fe5 15193 "description" : "Host NUMA nodes to use.",
44660702
DM
15194 "format_description" : "id[-id];...",
15195 "optional" : 1,
15196 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15197 "type" : "string"
15198 },
15199 "memory" : {
c2993fe5 15200 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
15201 "optional" : 1,
15202 "type" : "number"
15203 },
15204 "policy" : {
c2993fe5 15205 "description" : "NUMA allocation policy.",
44660702
DM
15206 "enum" : [
15207 "preferred",
15208 "bind",
15209 "interleave"
15210 ],
44660702
DM
15211 "optional" : 1,
15212 "type" : "string"
15213 }
15214 },
7aacca6f 15215 "optional" : 1,
4bd7df8b
DM
15216 "type" : "string",
15217 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 15218 },
44660702
DM
15219 "onboot" : {
15220 "default" : 0,
15221 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 15222 "optional" : 1,
013dc89f
DM
15223 "type" : "boolean",
15224 "typetext" : "<boolean>"
7aacca6f 15225 },
44660702 15226 "ostype" : {
c2993fe5 15227 "description" : "Specify guest operating system.",
44660702
DM
15228 "enum" : [
15229 "other",
15230 "wxp",
15231 "w2k",
15232 "w2k3",
15233 "w2k8",
15234 "wvista",
15235 "win7",
15236 "win8",
32d876b5 15237 "win10",
44660702
DM
15238 "l24",
15239 "l26",
15240 "solaris"
15241 ],
7aacca6f 15242 "optional" : 1,
c2993fe5 15243 "type" : "string",
d2656385 15244 "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/2019\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 15245 },
44660702 15246 "parallel[n]" : {
c2993fe5 15247 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 15248 "optional" : 1,
44660702 15249 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 15250 "type" : "string",
4772952b 15251 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 15252 },
44660702
DM
15253 "protection" : {
15254 "default" : 0,
c2993fe5 15255 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 15256 "optional" : 1,
013dc89f
DM
15257 "type" : "boolean",
15258 "typetext" : "<boolean>"
7aacca6f 15259 },
44660702
DM
15260 "reboot" : {
15261 "default" : 1,
15262 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 15263 "optional" : 1,
013dc89f
DM
15264 "type" : "boolean",
15265 "typetext" : "<boolean>"
7aacca6f 15266 },
44660702
DM
15267 "revert" : {
15268 "description" : "Revert a pending change.",
15269 "format" : "pve-configid-list",
7aacca6f 15270 "optional" : 1,
013dc89f
DM
15271 "type" : "string",
15272 "typetext" : "<string>"
7aacca6f 15273 },
c5aa7e14
TL
15274 "rng0" : {
15275 "description" : "Configure a VirtIO-based Random Number Generator.",
15276 "format" : {
15277 "max_bytes" : {
15278 "default" : 1024,
15279 "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!).",
15280 "optional" : 1,
15281 "type" : "integer"
15282 },
15283 "period" : {
15284 "default" : 1000,
15285 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
15286 "optional" : 1,
15287 "type" : "integer"
15288 },
15289 "source" : {
15290 "default_key" : 1,
15291 "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.",
15292 "enum" : [
15293 "/dev/urandom",
15294 "/dev/random",
15295 "/dev/hwrng"
15296 ],
15297 "type" : "string"
15298 }
15299 },
15300 "optional" : 1,
15301 "type" : "string",
15302 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
15303 },
44660702 15304 "sata[n]" : {
d2656385 15305 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
7aacca6f 15306 "format" : {
44660702
DM
15307 "aio" : {
15308 "description" : "AIO type to use.",
15309 "enum" : [
15310 "native",
8f4d9c87
TL
15311 "threads",
15312 "io_uring"
44660702 15313 ],
44660702
DM
15314 "optional" : 1,
15315 "type" : "string"
15316 },
15317 "backup" : {
15318 "description" : "Whether the drive should be included when making backups.",
44660702
DM
15319 "optional" : 1,
15320 "type" : "boolean"
15321 },
15322 "bps" : {
de0983cb 15323 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 15324 "format_description" : "bps",
7aacca6f
DM
15325 "optional" : 1,
15326 "type" : "integer"
56122987 15327 },
de0983cb
DM
15328 "bps_max_length" : {
15329 "description" : "Maximum length of I/O bursts in seconds.",
15330 "format_description" : "seconds",
15331 "minimum" : 1,
15332 "optional" : 1,
15333 "type" : "integer"
15334 },
44660702 15335 "bps_rd" : {
de0983cb 15336 "description" : "Maximum read speed in bytes per second.",
44660702 15337 "format_description" : "bps",
7aacca6f 15338 "optional" : 1,
44660702 15339 "type" : "integer"
7aacca6f 15340 },
de0983cb 15341 "bps_rd_length" : {
5d9c884c
DM
15342 "alias" : "bps_rd_max_length"
15343 },
15344 "bps_rd_max_length" : {
de0983cb
DM
15345 "description" : "Maximum length of read I/O bursts in seconds.",
15346 "format_description" : "seconds",
15347 "minimum" : 1,
15348 "optional" : 1,
15349 "type" : "integer"
15350 },
44660702 15351 "bps_wr" : {
de0983cb 15352 "description" : "Maximum write speed in bytes per second.",
44660702 15353 "format_description" : "bps",
7aacca6f 15354 "optional" : 1,
44660702 15355 "type" : "integer"
7aacca6f 15356 },
de0983cb 15357 "bps_wr_length" : {
5d9c884c
DM
15358 "alias" : "bps_wr_max_length"
15359 },
15360 "bps_wr_max_length" : {
de0983cb
DM
15361 "description" : "Maximum length of write I/O bursts in seconds.",
15362 "format_description" : "seconds",
15363 "minimum" : 1,
15364 "optional" : 1,
15365 "type" : "integer"
15366 },
44660702
DM
15367 "cache" : {
15368 "description" : "The drive's cache mode",
15369 "enum" : [
15370 "none",
15371 "writethrough",
15372 "writeback",
15373 "unsafe",
15374 "directsync"
15375 ],
7aacca6f 15376 "optional" : 1,
44660702 15377 "type" : "string"
7aacca6f 15378 },
44660702
DM
15379 "cyls" : {
15380 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 15381 "optional" : 1,
44660702 15382 "type" : "integer"
7aacca6f 15383 },
44660702
DM
15384 "detect_zeroes" : {
15385 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 15386 "optional" : 1,
44660702 15387 "type" : "boolean"
7aacca6f 15388 },
44660702
DM
15389 "discard" : {
15390 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15391 "enum" : [
15392 "ignore",
15393 "on"
15394 ],
7aacca6f 15395 "optional" : 1,
44660702
DM
15396 "type" : "string"
15397 },
15398 "file" : {
15399 "default_key" : 1,
15400 "description" : "The drive's backing volume.",
15401 "format" : "pve-volume-id-or-qm-path",
15402 "format_description" : "volume",
15403 "type" : "string"
7aacca6f
DM
15404 },
15405 "format" : {
7aacca6f 15406 "description" : "The drive's backing file's data format.",
56122987
DM
15407 "enum" : [
15408 "raw",
15409 "cow",
15410 "qcow",
15411 "qed",
15412 "qcow2",
15413 "vmdk",
15414 "cloop"
15415 ],
15416 "optional" : 1,
7aacca6f 15417 "type" : "string"
56122987 15418 },
7aacca6f 15419 "heads" : {
7aacca6f 15420 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15421 "optional" : 1,
15422 "type" : "integer"
56122987 15423 },
44660702 15424 "iops" : {
de0983cb 15425 "description" : "Maximum r/w I/O in operations per second.",
44660702 15426 "format_description" : "iops",
56122987 15427 "optional" : 1,
44660702 15428 "type" : "integer"
7aacca6f 15429 },
44660702 15430 "iops_max" : {
de0983cb 15431 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 15432 "format_description" : "iops",
7aacca6f 15433 "optional" : 1,
44660702 15434 "type" : "integer"
56122987 15435 },
de0983cb
DM
15436 "iops_max_length" : {
15437 "description" : "Maximum length of I/O bursts in seconds.",
15438 "format_description" : "seconds",
15439 "minimum" : 1,
15440 "optional" : 1,
15441 "type" : "integer"
15442 },
44660702 15443 "iops_rd" : {
de0983cb 15444 "description" : "Maximum read I/O in operations per second.",
44660702 15445 "format_description" : "iops",
56122987 15446 "optional" : 1,
44660702 15447 "type" : "integer"
7aacca6f 15448 },
de0983cb 15449 "iops_rd_length" : {
5d9c884c 15450 "alias" : "iops_rd_max_length"
de0983cb 15451 },
44660702 15452 "iops_rd_max" : {
de0983cb 15453 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 15454 "format_description" : "iops",
56122987 15455 "optional" : 1,
44660702 15456 "type" : "integer"
56122987 15457 },
5d9c884c
DM
15458 "iops_rd_max_length" : {
15459 "description" : "Maximum length of read I/O bursts in seconds.",
15460 "format_description" : "seconds",
15461 "minimum" : 1,
15462 "optional" : 1,
15463 "type" : "integer"
15464 },
44660702 15465 "iops_wr" : {
de0983cb 15466 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15467 "format_description" : "iops",
15468 "optional" : 1,
15469 "type" : "integer"
56122987 15470 },
de0983cb 15471 "iops_wr_length" : {
5d9c884c 15472 "alias" : "iops_wr_max_length"
de0983cb 15473 },
44660702 15474 "iops_wr_max" : {
de0983cb 15475 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15476 "format_description" : "iops",
15477 "optional" : 1,
15478 "type" : "integer"
15479 },
5d9c884c
DM
15480 "iops_wr_max_length" : {
15481 "description" : "Maximum length of write I/O bursts in seconds.",
15482 "format_description" : "seconds",
15483 "minimum" : 1,
15484 "optional" : 1,
15485 "type" : "integer"
15486 },
44660702 15487 "mbps" : {
de0983cb 15488 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15489 "format_description" : "mbps",
15490 "optional" : 1,
15491 "type" : "number"
15492 },
15493 "mbps_max" : {
de0983cb 15494 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
15495 "format_description" : "mbps",
15496 "optional" : 1,
15497 "type" : "number"
15498 },
15499 "mbps_rd" : {
de0983cb 15500 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15501 "format_description" : "mbps",
15502 "optional" : 1,
15503 "type" : "number"
15504 },
15505 "mbps_rd_max" : {
de0983cb 15506 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15507 "format_description" : "mbps",
15508 "optional" : 1,
15509 "type" : "number"
15510 },
15511 "mbps_wr" : {
de0983cb 15512 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15513 "format_description" : "mbps",
15514 "optional" : 1,
15515 "type" : "number"
15516 },
15517 "mbps_wr_max" : {
de0983cb 15518 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15519 "format_description" : "mbps",
15520 "optional" : 1,
15521 "type" : "number"
15522 },
15523 "media" : {
15524 "default" : "disk",
15525 "description" : "The drive's media type.",
15526 "enum" : [
15527 "cdrom",
15528 "disk"
15529 ],
56122987 15530 "optional" : 1,
44660702
DM
15531 "type" : "string"
15532 },
5d9c884c
DM
15533 "replicate" : {
15534 "default" : 1,
15535 "description" : "Whether the drive should considered for replication jobs.",
15536 "optional" : 1,
15537 "type" : "boolean"
15538 },
44660702 15539 "rerror" : {
7aacca6f
DM
15540 "description" : "Read error action.",
15541 "enum" : [
15542 "ignore",
15543 "report",
15544 "stop"
44660702 15545 ],
56122987 15546 "optional" : 1,
44660702 15547 "type" : "string"
56122987 15548 },
7aacca6f 15549 "secs" : {
44660702 15550 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 15551 "optional" : 1,
44660702 15552 "type" : "integer"
56122987 15553 },
44660702
DM
15554 "serial" : {
15555 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15556 "format" : "urlencoded",
15557 "format_description" : "serial",
15558 "maxLength" : 60,
56122987 15559 "optional" : 1,
44660702 15560 "type" : "string"
56122987 15561 },
27a7acb2
DM
15562 "shared" : {
15563 "default" : 0,
15564 "description" : "Mark this locally-managed volume as available on all nodes",
15565 "optional" : 1,
15566 "type" : "boolean",
15567 "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!"
15568 },
44660702
DM
15569 "size" : {
15570 "description" : "Disk size. This is purely informational and has no effect.",
15571 "format" : "disk-size",
f004f5b9 15572 "format_description" : "DiskSize",
56122987 15573 "optional" : 1,
44660702 15574 "type" : "string"
56122987
DM
15575 },
15576 "snapshot" : {
27a7acb2 15577 "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 15578 "optional" : 1,
44660702 15579 "type" : "boolean"
56122987 15580 },
25203dc1
NC
15581 "ssd" : {
15582 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15583 "optional" : 1,
15584 "type" : "boolean"
15585 },
56122987 15586 "trans" : {
7aacca6f 15587 "description" : "Force disk geometry bios translation mode.",
56122987
DM
15588 "enum" : [
15589 "none",
15590 "lba",
15591 "auto"
15592 ],
15593 "optional" : 1,
44660702 15594 "type" : "string"
56122987 15595 },
44660702
DM
15596 "volume" : {
15597 "alias" : "file"
56122987 15598 },
7aacca6f 15599 "werror" : {
44660702 15600 "description" : "Write error action.",
56122987 15601 "enum" : [
7aacca6f 15602 "enospc",
56122987 15603 "ignore",
7aacca6f
DM
15604 "report",
15605 "stop"
15606 ],
7aacca6f 15607 "optional" : 1,
44660702 15608 "type" : "string"
95895385
TL
15609 },
15610 "wwn" : {
15611 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15612 "format_description" : "wwn",
15613 "optional" : 1,
15614 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15615 "type" : "string"
44660702
DM
15616 }
15617 },
15618 "optional" : 1,
4bd7df8b 15619 "type" : "string",
8f4d9c87 15620 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
15621 },
15622 "scsi[n]" : {
d2656385 15623 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
44660702
DM
15624 "format" : {
15625 "aio" : {
7aacca6f 15626 "description" : "AIO type to use.",
56122987
DM
15627 "enum" : [
15628 "native",
8f4d9c87
TL
15629 "threads",
15630 "io_uring"
44660702 15631 ],
56122987 15632 "optional" : 1,
44660702 15633 "type" : "string"
56122987 15634 },
7aacca6f 15635 "backup" : {
7aacca6f 15636 "description" : "Whether the drive should be included when making backups.",
7aacca6f 15637 "optional" : 1,
44660702 15638 "type" : "boolean"
56122987 15639 },
44660702 15640 "bps" : {
de0983cb 15641 "description" : "Maximum r/w speed in bytes per second.",
44660702 15642 "format_description" : "bps",
7aacca6f 15643 "optional" : 1,
44660702 15644 "type" : "integer"
7aacca6f 15645 },
de0983cb
DM
15646 "bps_max_length" : {
15647 "description" : "Maximum length of I/O bursts in seconds.",
15648 "format_description" : "seconds",
15649 "minimum" : 1,
15650 "optional" : 1,
15651 "type" : "integer"
15652 },
44660702 15653 "bps_rd" : {
de0983cb 15654 "description" : "Maximum read speed in bytes per second.",
44660702 15655 "format_description" : "bps",
56122987 15656 "optional" : 1,
44660702 15657 "type" : "integer"
56122987 15658 },
de0983cb 15659 "bps_rd_length" : {
5d9c884c
DM
15660 "alias" : "bps_rd_max_length"
15661 },
15662 "bps_rd_max_length" : {
de0983cb
DM
15663 "description" : "Maximum length of read I/O bursts in seconds.",
15664 "format_description" : "seconds",
15665 "minimum" : 1,
15666 "optional" : 1,
15667 "type" : "integer"
15668 },
44660702 15669 "bps_wr" : {
de0983cb 15670 "description" : "Maximum write speed in bytes per second.",
44660702 15671 "format_description" : "bps",
56122987 15672 "optional" : 1,
44660702 15673 "type" : "integer"
56122987 15674 },
de0983cb 15675 "bps_wr_length" : {
5d9c884c
DM
15676 "alias" : "bps_wr_max_length"
15677 },
15678 "bps_wr_max_length" : {
de0983cb
DM
15679 "description" : "Maximum length of write I/O bursts in seconds.",
15680 "format_description" : "seconds",
15681 "minimum" : 1,
15682 "optional" : 1,
15683 "type" : "integer"
15684 },
44660702
DM
15685 "cache" : {
15686 "description" : "The drive's cache mode",
15687 "enum" : [
15688 "none",
15689 "writethrough",
15690 "writeback",
15691 "unsafe",
15692 "directsync"
15693 ],
56122987 15694 "optional" : 1,
44660702
DM
15695 "type" : "string"
15696 },
15697 "cyls" : {
15698 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15699 "optional" : 1,
15700 "type" : "integer"
15701 },
15702 "detect_zeroes" : {
15703 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15704 "optional" : 1,
15705 "type" : "boolean"
15706 },
15707 "discard" : {
15708 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15709 "enum" : [
15710 "ignore",
15711 "on"
15712 ],
44660702
DM
15713 "optional" : 1,
15714 "type" : "string"
15715 },
15716 "file" : {
15717 "default_key" : 1,
15718 "description" : "The drive's backing volume.",
15719 "format" : "pve-volume-id-or-qm-path",
15720 "format_description" : "volume",
15721 "type" : "string"
56122987 15722 },
7aacca6f 15723 "format" : {
44660702 15724 "description" : "The drive's backing file's data format.",
7aacca6f
DM
15725 "enum" : [
15726 "raw",
15727 "cow",
15728 "qcow",
15729 "qed",
15730 "qcow2",
15731 "vmdk",
15732 "cloop"
15733 ],
56122987 15734 "optional" : 1,
44660702 15735 "type" : "string"
56122987 15736 },
44660702
DM
15737 "heads" : {
15738 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 15739 "optional" : 1,
44660702 15740 "type" : "integer"
56122987 15741 },
44660702 15742 "iops" : {
de0983cb 15743 "description" : "Maximum r/w I/O in operations per second.",
44660702 15744 "format_description" : "iops",
7aacca6f 15745 "optional" : 1,
44660702 15746 "type" : "integer"
56122987 15747 },
44660702 15748 "iops_max" : {
de0983cb 15749 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 15750 "format_description" : "iops",
7aacca6f 15751 "optional" : 1,
44660702 15752 "type" : "integer"
56122987 15753 },
de0983cb
DM
15754 "iops_max_length" : {
15755 "description" : "Maximum length of I/O bursts in seconds.",
15756 "format_description" : "seconds",
15757 "minimum" : 1,
15758 "optional" : 1,
15759 "type" : "integer"
15760 },
44660702 15761 "iops_rd" : {
de0983cb 15762 "description" : "Maximum read I/O in operations per second.",
44660702 15763 "format_description" : "iops",
56122987 15764 "optional" : 1,
44660702 15765 "type" : "integer"
56122987 15766 },
de0983cb 15767 "iops_rd_length" : {
5d9c884c 15768 "alias" : "iops_rd_max_length"
de0983cb 15769 },
44660702 15770 "iops_rd_max" : {
de0983cb 15771 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 15772 "format_description" : "iops",
56122987 15773 "optional" : 1,
44660702 15774 "type" : "integer"
56122987 15775 },
5d9c884c
DM
15776 "iops_rd_max_length" : {
15777 "description" : "Maximum length of read I/O bursts in seconds.",
15778 "format_description" : "seconds",
15779 "minimum" : 1,
15780 "optional" : 1,
15781 "type" : "integer"
15782 },
44660702 15783 "iops_wr" : {
de0983cb 15784 "description" : "Maximum write I/O in operations per second.",
44660702 15785 "format_description" : "iops",
56122987 15786 "optional" : 1,
44660702 15787 "type" : "integer"
56122987 15788 },
de0983cb 15789 "iops_wr_length" : {
5d9c884c 15790 "alias" : "iops_wr_max_length"
de0983cb 15791 },
44660702 15792 "iops_wr_max" : {
de0983cb 15793 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 15794 "format_description" : "iops",
44660702
DM
15795 "optional" : 1,
15796 "type" : "integer"
7aacca6f 15797 },
5d9c884c
DM
15798 "iops_wr_max_length" : {
15799 "description" : "Maximum length of write I/O bursts in seconds.",
15800 "format_description" : "seconds",
15801 "minimum" : 1,
15802 "optional" : 1,
15803 "type" : "integer"
15804 },
7aacca6f 15805 "iothread" : {
44660702 15806 "description" : "Whether to use iothreads for this drive",
56122987 15807 "optional" : 1,
44660702 15808 "type" : "boolean"
56122987 15809 },
44660702 15810 "mbps" : {
de0983cb 15811 "description" : "Maximum r/w speed in megabytes per second.",
44660702 15812 "format_description" : "mbps",
56122987 15813 "optional" : 1,
44660702 15814 "type" : "number"
56122987 15815 },
44660702 15816 "mbps_max" : {
de0983cb 15817 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 15818 "format_description" : "mbps",
56122987 15819 "optional" : 1,
44660702 15820 "type" : "number"
56122987 15821 },
44660702 15822 "mbps_rd" : {
de0983cb 15823 "description" : "Maximum read speed in megabytes per second.",
44660702 15824 "format_description" : "mbps",
7aacca6f 15825 "optional" : 1,
44660702 15826 "type" : "number"
56122987 15827 },
44660702 15828 "mbps_rd_max" : {
de0983cb 15829 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 15830 "format_description" : "mbps",
7aacca6f 15831 "optional" : 1,
44660702 15832 "type" : "number"
7aacca6f 15833 },
44660702 15834 "mbps_wr" : {
de0983cb 15835 "description" : "Maximum write speed in megabytes per second.",
44660702 15836 "format_description" : "mbps",
56122987 15837 "optional" : 1,
44660702 15838 "type" : "number"
56122987 15839 },
44660702 15840 "mbps_wr_max" : {
de0983cb 15841 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 15842 "format_description" : "mbps",
56122987 15843 "optional" : 1,
44660702
DM
15844 "type" : "number"
15845 },
15846 "media" : {
15847 "default" : "disk",
15848 "description" : "The drive's media type.",
7aacca6f 15849 "enum" : [
44660702
DM
15850 "cdrom",
15851 "disk"
7aacca6f 15852 ],
56122987 15853 "optional" : 1,
44660702 15854 "type" : "string"
56122987 15855 },
7aacca6f 15856 "queues" : {
44660702 15857 "description" : "Number of queues.",
7aacca6f 15858 "minimum" : 2,
7aacca6f
DM
15859 "optional" : 1,
15860 "type" : "integer"
56122987 15861 },
5d9c884c
DM
15862 "replicate" : {
15863 "default" : 1,
15864 "description" : "Whether the drive should considered for replication jobs.",
15865 "optional" : 1,
15866 "type" : "boolean"
15867 },
15868 "rerror" : {
15869 "description" : "Read error action.",
15870 "enum" : [
15871 "ignore",
15872 "report",
15873 "stop"
15874 ],
15875 "optional" : 1,
15876 "type" : "string"
15877 },
52e44c50
FG
15878 "scsiblock" : {
15879 "default" : 0,
15880 "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",
15881 "optional" : 1,
15882 "type" : "boolean"
15883 },
44660702
DM
15884 "secs" : {
15885 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 15886 "optional" : 1,
44660702 15887 "type" : "integer"
56122987 15888 },
44660702
DM
15889 "serial" : {
15890 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15891 "format" : "urlencoded",
15892 "format_description" : "serial",
15893 "maxLength" : 60,
56122987 15894 "optional" : 1,
44660702 15895 "type" : "string"
56122987 15896 },
27a7acb2
DM
15897 "shared" : {
15898 "default" : 0,
15899 "description" : "Mark this locally-managed volume as available on all nodes",
15900 "optional" : 1,
15901 "type" : "boolean",
15902 "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!"
15903 },
44660702
DM
15904 "size" : {
15905 "description" : "Disk size. This is purely informational and has no effect.",
15906 "format" : "disk-size",
f004f5b9 15907 "format_description" : "DiskSize",
44660702
DM
15908 "optional" : 1,
15909 "type" : "string"
15910 },
15911 "snapshot" : {
27a7acb2 15912 "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 15913 "optional" : 1,
44660702
DM
15914 "type" : "boolean"
15915 },
25203dc1
NC
15916 "ssd" : {
15917 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15918 "optional" : 1,
15919 "type" : "boolean"
15920 },
44660702
DM
15921 "trans" : {
15922 "description" : "Force disk geometry bios translation mode.",
56122987 15923 "enum" : [
44660702
DM
15924 "none",
15925 "lba",
15926 "auto"
56122987 15927 ],
44660702
DM
15928 "optional" : 1,
15929 "type" : "string"
15930 },
15931 "volume" : {
15932 "alias" : "file"
56122987 15933 },
7aacca6f 15934 "werror" : {
7aacca6f
DM
15935 "description" : "Write error action.",
15936 "enum" : [
15937 "enospc",
15938 "ignore",
15939 "report",
15940 "stop"
44660702 15941 ],
56122987 15942 "optional" : 1,
7aacca6f 15943 "type" : "string"
95895385
TL
15944 },
15945 "wwn" : {
15946 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15947 "format_description" : "wwn",
15948 "optional" : 1,
15949 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15950 "type" : "string"
56122987 15951 }
44660702 15952 },
56122987 15953 "optional" : 1,
4bd7df8b 15954 "type" : "string",
8f4d9c87 15955 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
15956 },
15957 "scsihw" : {
44660702 15958 "default" : "lsi",
c2993fe5 15959 "description" : "SCSI controller model",
56122987
DM
15960 "enum" : [
15961 "lsi",
15962 "lsi53c810",
15963 "virtio-scsi-pci",
15964 "virtio-scsi-single",
15965 "megasas",
15966 "pvscsi"
15967 ],
15968 "optional" : 1,
56122987
DM
15969 "type" : "string"
15970 },
27a7acb2 15971 "searchdomain" : {
4772952b 15972 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
15973 "optional" : 1,
15974 "type" : "string",
15975 "typetext" : "<string>"
15976 },
44660702 15977 "serial[n]" : {
c2993fe5 15978 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 15979 "optional" : 1,
44660702 15980 "pattern" : "(/dev/.+|socket)",
c2993fe5 15981 "type" : "string",
4772952b 15982 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 15983 },
44660702
DM
15984 "shares" : {
15985 "default" : 1000,
5da3d723 15986 "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
15987 "maximum" : 50000,
15988 "minimum" : 0,
7aacca6f 15989 "optional" : 1,
4bd7df8b 15990 "type" : "integer",
013dc89f 15991 "typetext" : "<integer> (0 - 50000)"
56122987 15992 },
7aacca6f
DM
15993 "skiplock" : {
15994 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 15995 "optional" : 1,
013dc89f
DM
15996 "type" : "boolean",
15997 "typetext" : "<boolean>"
56122987 15998 },
44660702
DM
15999 "smbios1" : {
16000 "description" : "Specify SMBIOS type 1 fields.",
16001 "format" : "pve-qm-smbios1",
1e3f8156 16002 "maxLength" : 512,
56122987 16003 "optional" : 1,
4bd7df8b 16004 "type" : "string",
1e3f8156 16005 "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 16006 },
44660702
DM
16007 "smp" : {
16008 "default" : 1,
16009 "description" : "The number of CPUs. Please use option -sockets instead.",
16010 "minimum" : 1,
56122987 16011 "optional" : 1,
4bd7df8b 16012 "type" : "integer",
013dc89f 16013 "typetext" : "<integer> (1 - N)"
56122987 16014 },
44660702
DM
16015 "sockets" : {
16016 "default" : 1,
16017 "description" : "The number of CPU sockets.",
16018 "minimum" : 1,
56122987 16019 "optional" : 1,
4bd7df8b 16020 "type" : "integer",
013dc89f 16021 "typetext" : "<integer> (1 - N)"
56122987 16022 },
1c532546
TL
16023 "spice_enhancements" : {
16024 "description" : "Configure additional enhancements for SPICE.",
16025 "format" : {
16026 "foldersharing" : {
16027 "default" : "0",
16028 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
16029 "optional" : 1,
16030 "type" : "boolean"
16031 },
16032 "videostreaming" : {
16033 "default" : "off",
16034 "description" : "Enable video streaming. Uses compression for detected video streams.",
16035 "enum" : [
16036 "off",
16037 "all",
16038 "filter"
16039 ],
16040 "optional" : 1,
16041 "type" : "string"
16042 }
16043 },
16044 "optional" : 1,
16045 "type" : "string",
16046 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
16047 },
27a7acb2
DM
16048 "sshkeys" : {
16049 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
16050 "format" : "urlencoded",
16051 "optional" : 1,
16052 "type" : "string",
16053 "typetext" : "<string>"
16054 },
44660702
DM
16055 "startdate" : {
16056 "default" : "now",
4772952b 16057 "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
44660702
DM
16058 "optional" : 1,
16059 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 16060 "type" : "string",
44660702
DM
16061 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
16062 },
16063 "startup" : {
16064 "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.",
16065 "format" : "pve-startup-order",
7aacca6f 16066 "optional" : 1,
44660702
DM
16067 "type" : "string",
16068 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 16069 },
44660702
DM
16070 "tablet" : {
16071 "default" : 1,
c2993fe5 16072 "description" : "Enable/disable the USB tablet device.",
7aacca6f 16073 "optional" : 1,
c2993fe5 16074 "type" : "boolean",
013dc89f 16075 "typetext" : "<boolean>",
4772952b 16076 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (`qm set <vmid> --vga qxl`)."
7aacca6f 16077 },
5c1699e5
TL
16078 "tags" : {
16079 "description" : "Tags of the VM. This is only meta information.",
16080 "format" : "pve-tag-list",
16081 "optional" : 1,
16082 "type" : "string",
16083 "typetext" : "<string>"
16084 },
44660702
DM
16085 "tdf" : {
16086 "default" : 0,
16087 "description" : "Enable/disable time drift fix.",
7aacca6f 16088 "optional" : 1,
013dc89f
DM
16089 "type" : "boolean",
16090 "typetext" : "<boolean>"
7aacca6f 16091 },
44660702
DM
16092 "template" : {
16093 "default" : 0,
16094 "description" : "Enable/disable Template.",
7aacca6f 16095 "optional" : 1,
013dc89f
DM
16096 "type" : "boolean",
16097 "typetext" : "<boolean>"
7aacca6f 16098 },
44660702 16099 "unused[n]" : {
c2993fe5 16100 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
16101 "format" : {
16102 "file" : {
16103 "default_key" : 1,
16104 "description" : "The drive's backing volume.",
16105 "format" : "pve-volume-id",
16106 "format_description" : "volume",
16107 "type" : "string"
16108 },
16109 "volume" : {
16110 "alias" : "file"
16111 }
16112 },
7aacca6f 16113 "optional" : 1,
013dc89f 16114 "type" : "string",
c5aa7e14 16115 "typetext" : "[file=]<volume>"
7aacca6f 16116 },
44660702 16117 "usb[n]" : {
c2993fe5 16118 "description" : "Configure an USB device (n is 0 to 4).",
56122987 16119 "format" : {
44660702
DM
16120 "host" : {
16121 "default_key" : 1,
4772952b 16122 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
16123 "format" : "pve-qm-usb-device",
16124 "format_description" : "HOSTUSBDEVICE|spice",
16125 "type" : "string"
7aacca6f 16126 },
44660702 16127 "usb3" : {
c2993fe5 16128 "default" : 0,
1c532546 16129 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 16130 "optional" : 1,
44660702 16131 "type" : "boolean"
7aacca6f 16132 }
44660702 16133 },
7aacca6f 16134 "optional" : 1,
4bd7df8b
DM
16135 "type" : "string",
16136 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 16137 },
44660702 16138 "vcpus" : {
7aacca6f 16139 "default" : 0,
44660702
DM
16140 "description" : "Number of hotplugged vcpus.",
16141 "minimum" : 1,
7aacca6f 16142 "optional" : 1,
4bd7df8b 16143 "type" : "integer",
013dc89f 16144 "typetext" : "<integer> (1 - N)"
7aacca6f 16145 },
44660702 16146 "vga" : {
e2d681b3
TL
16147 "description" : "Configure the VGA hardware.",
16148 "format" : {
16149 "memory" : {
16150 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
16151 "maximum" : 512,
16152 "minimum" : 4,
16153 "optional" : 1,
16154 "type" : "integer"
16155 },
16156 "type" : {
16157 "default" : "std",
16158 "default_key" : 1,
16159 "description" : "Select the VGA type.",
16160 "enum" : [
16161 "cirrus",
16162 "qxl",
16163 "qxl2",
16164 "qxl3",
16165 "qxl4",
5f26e15b 16166 "none",
e2d681b3
TL
16167 "serial0",
16168 "serial1",
16169 "serial2",
16170 "serial3",
16171 "std",
16172 "virtio",
16173 "vmware"
16174 ],
16175 "optional" : 1,
16176 "type" : "string"
16177 }
16178 },
7aacca6f 16179 "optional" : 1,
c2993fe5 16180 "type" : "string",
e2d681b3
TL
16181 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
16182 "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 16183 },
44660702 16184 "virtio[n]" : {
d2656385 16185 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
7aacca6f 16186 "format" : {
7aacca6f 16187 "aio" : {
7aacca6f 16188 "description" : "AIO type to use.",
56122987 16189 "enum" : [
7aacca6f 16190 "native",
8f4d9c87
TL
16191 "threads",
16192 "io_uring"
7aacca6f 16193 ],
44660702
DM
16194 "optional" : 1,
16195 "type" : "string"
56122987 16196 },
44660702
DM
16197 "backup" : {
16198 "description" : "Whether the drive should be included when making backups.",
56122987 16199 "optional" : 1,
44660702 16200 "type" : "boolean"
7aacca6f 16201 },
44660702 16202 "bps" : {
de0983cb 16203 "description" : "Maximum r/w speed in bytes per second.",
44660702 16204 "format_description" : "bps",
7aacca6f 16205 "optional" : 1,
44660702 16206 "type" : "integer"
56122987 16207 },
de0983cb
DM
16208 "bps_max_length" : {
16209 "description" : "Maximum length of I/O bursts in seconds.",
16210 "format_description" : "seconds",
16211 "minimum" : 1,
16212 "optional" : 1,
16213 "type" : "integer"
16214 },
56122987 16215 "bps_rd" : {
de0983cb 16216 "description" : "Maximum read speed in bytes per second.",
44660702 16217 "format_description" : "bps",
56122987 16218 "optional" : 1,
7aacca6f 16219 "type" : "integer"
56122987 16220 },
de0983cb 16221 "bps_rd_length" : {
5d9c884c
DM
16222 "alias" : "bps_rd_max_length"
16223 },
16224 "bps_rd_max_length" : {
de0983cb
DM
16225 "description" : "Maximum length of read I/O bursts in seconds.",
16226 "format_description" : "seconds",
16227 "minimum" : 1,
16228 "optional" : 1,
16229 "type" : "integer"
16230 },
44660702 16231 "bps_wr" : {
de0983cb 16232 "description" : "Maximum write speed in bytes per second.",
44660702 16233 "format_description" : "bps",
56122987 16234 "optional" : 1,
7aacca6f 16235 "type" : "integer"
56122987 16236 },
de0983cb 16237 "bps_wr_length" : {
5d9c884c
DM
16238 "alias" : "bps_wr_max_length"
16239 },
16240 "bps_wr_max_length" : {
de0983cb
DM
16241 "description" : "Maximum length of write I/O bursts in seconds.",
16242 "format_description" : "seconds",
16243 "minimum" : 1,
16244 "optional" : 1,
16245 "type" : "integer"
16246 },
7aacca6f 16247 "cache" : {
44660702 16248 "description" : "The drive's cache mode",
7aacca6f
DM
16249 "enum" : [
16250 "none",
16251 "writethrough",
16252 "writeback",
16253 "unsafe",
16254 "directsync"
16255 ],
56122987 16256 "optional" : 1,
44660702 16257 "type" : "string"
7aacca6f 16258 },
44660702
DM
16259 "cyls" : {
16260 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
16261 "optional" : 1,
16262 "type" : "integer"
16263 },
16264 "detect_zeroes" : {
16265 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16266 "optional" : 1,
16267 "type" : "boolean"
16268 },
16269 "discard" : {
16270 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 16271 "enum" : [
44660702
DM
16272 "ignore",
16273 "on"
56122987
DM
16274 ],
16275 "optional" : 1,
44660702 16276 "type" : "string"
56122987 16277 },
44660702
DM
16278 "file" : {
16279 "default_key" : 1,
16280 "description" : "The drive's backing volume.",
16281 "format" : "pve-volume-id-or-qm-path",
16282 "format_description" : "volume",
16283 "type" : "string"
16284 },
16285 "format" : {
16286 "description" : "The drive's backing file's data format.",
16287 "enum" : [
16288 "raw",
16289 "cow",
16290 "qcow",
16291 "qed",
16292 "qcow2",
16293 "vmdk",
16294 "cloop"
16295 ],
56122987 16296 "optional" : 1,
44660702 16297 "type" : "string"
56122987 16298 },
44660702
DM
16299 "heads" : {
16300 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
16301 "optional" : 1,
16302 "type" : "integer"
16303 },
16304 "iops" : {
de0983cb 16305 "description" : "Maximum r/w I/O in operations per second.",
44660702 16306 "format_description" : "iops",
56122987 16307 "optional" : 1,
44660702
DM
16308 "type" : "integer"
16309 },
16310 "iops_max" : {
de0983cb 16311 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
16312 "format_description" : "iops",
16313 "optional" : 1,
16314 "type" : "integer"
56122987 16315 },
de0983cb
DM
16316 "iops_max_length" : {
16317 "description" : "Maximum length of I/O bursts in seconds.",
16318 "format_description" : "seconds",
16319 "minimum" : 1,
16320 "optional" : 1,
16321 "type" : "integer"
16322 },
7aacca6f 16323 "iops_rd" : {
de0983cb 16324 "description" : "Maximum read I/O in operations per second.",
7aacca6f 16325 "format_description" : "iops",
7aacca6f 16326 "optional" : 1,
44660702 16327 "type" : "integer"
56122987 16328 },
de0983cb 16329 "iops_rd_length" : {
5d9c884c 16330 "alias" : "iops_rd_max_length"
de0983cb 16331 },
44660702 16332 "iops_rd_max" : {
de0983cb 16333 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
16334 "format_description" : "iops",
16335 "optional" : 1,
16336 "type" : "integer"
16337 },
5d9c884c
DM
16338 "iops_rd_max_length" : {
16339 "description" : "Maximum length of read I/O bursts in seconds.",
16340 "format_description" : "seconds",
16341 "minimum" : 1,
16342 "optional" : 1,
16343 "type" : "integer"
16344 },
44660702 16345 "iops_wr" : {
de0983cb 16346 "description" : "Maximum write I/O in operations per second.",
44660702
DM
16347 "format_description" : "iops",
16348 "optional" : 1,
16349 "type" : "integer"
16350 },
de0983cb 16351 "iops_wr_length" : {
5d9c884c 16352 "alias" : "iops_wr_max_length"
de0983cb 16353 },
44660702 16354 "iops_wr_max" : {
de0983cb 16355 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
16356 "format_description" : "iops",
16357 "optional" : 1,
16358 "type" : "integer"
16359 },
5d9c884c
DM
16360 "iops_wr_max_length" : {
16361 "description" : "Maximum length of write I/O bursts in seconds.",
16362 "format_description" : "seconds",
16363 "minimum" : 1,
16364 "optional" : 1,
16365 "type" : "integer"
16366 },
44660702
DM
16367 "iothread" : {
16368 "description" : "Whether to use iothreads for this drive",
44660702
DM
16369 "optional" : 1,
16370 "type" : "boolean"
16371 },
16372 "mbps" : {
de0983cb 16373 "description" : "Maximum r/w speed in megabytes per second.",
44660702 16374 "format_description" : "mbps",
7aacca6f 16375 "optional" : 1,
44660702 16376 "type" : "number"
7aacca6f
DM
16377 },
16378 "mbps_max" : {
de0983cb 16379 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 16380 "format_description" : "mbps",
56122987 16381 "optional" : 1,
44660702 16382 "type" : "number"
56122987 16383 },
44660702 16384 "mbps_rd" : {
de0983cb 16385 "description" : "Maximum read speed in megabytes per second.",
44660702 16386 "format_description" : "mbps",
56122987 16387 "optional" : 1,
44660702 16388 "type" : "number"
56122987 16389 },
44660702 16390 "mbps_rd_max" : {
de0983cb 16391 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
16392 "format_description" : "mbps",
16393 "optional" : 1,
16394 "type" : "number"
16395 },
16396 "mbps_wr" : {
de0983cb 16397 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
16398 "format_description" : "mbps",
16399 "optional" : 1,
16400 "type" : "number"
16401 },
16402 "mbps_wr_max" : {
de0983cb 16403 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
16404 "format_description" : "mbps",
16405 "optional" : 1,
16406 "type" : "number"
16407 },
16408 "media" : {
16409 "default" : "disk",
16410 "description" : "The drive's media type.",
56122987 16411 "enum" : [
44660702
DM
16412 "cdrom",
16413 "disk"
56122987
DM
16414 ],
16415 "optional" : 1,
44660702 16416 "type" : "string"
56122987 16417 },
5d9c884c
DM
16418 "replicate" : {
16419 "default" : 1,
16420 "description" : "Whether the drive should considered for replication jobs.",
16421 "optional" : 1,
16422 "type" : "boolean"
16423 },
44660702
DM
16424 "rerror" : {
16425 "description" : "Read error action.",
16426 "enum" : [
16427 "ignore",
16428 "report",
16429 "stop"
16430 ],
56122987 16431 "optional" : 1,
44660702 16432 "type" : "string"
56122987 16433 },
44660702
DM
16434 "secs" : {
16435 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 16436 "optional" : 1,
44660702 16437 "type" : "integer"
56122987 16438 },
7aacca6f
DM
16439 "serial" : {
16440 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 16441 "format" : "urlencoded",
44660702 16442 "format_description" : "serial",
7aacca6f 16443 "maxLength" : 60,
44660702
DM
16444 "optional" : 1,
16445 "type" : "string"
56122987 16446 },
27a7acb2
DM
16447 "shared" : {
16448 "default" : 0,
16449 "description" : "Mark this locally-managed volume as available on all nodes",
16450 "optional" : 1,
16451 "type" : "boolean",
16452 "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!"
16453 },
44660702
DM
16454 "size" : {
16455 "description" : "Disk size. This is purely informational and has no effect.",
16456 "format" : "disk-size",
f004f5b9 16457 "format_description" : "DiskSize",
44660702
DM
16458 "optional" : 1,
16459 "type" : "string"
56122987 16460 },
44660702 16461 "snapshot" : {
27a7acb2 16462 "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 16463 "optional" : 1,
44660702 16464 "type" : "boolean"
56122987 16465 },
44660702
DM
16466 "trans" : {
16467 "description" : "Force disk geometry bios translation mode.",
16468 "enum" : [
16469 "none",
16470 "lba",
16471 "auto"
16472 ],
7aacca6f 16473 "optional" : 1,
44660702 16474 "type" : "string"
7aacca6f 16475 },
44660702
DM
16476 "volume" : {
16477 "alias" : "file"
16478 },
16479 "werror" : {
16480 "description" : "Write error action.",
16481 "enum" : [
16482 "enospc",
16483 "ignore",
16484 "report",
16485 "stop"
16486 ],
7aacca6f 16487 "optional" : 1,
44660702 16488 "type" : "string"
56122987
DM
16489 }
16490 },
7aacca6f 16491 "optional" : 1,
4bd7df8b 16492 "type" : "string",
8f4d9c87 16493 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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 16494 },
4d47f125
TL
16495 "vmgenid" : {
16496 "default" : "1 (autogenerated)",
16497 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
16498 "format_description" : "UUID",
16499 "optional" : 1,
16500 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
16501 "type" : "string",
4772952b 16502 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
4d47f125 16503 },
44660702
DM
16504 "vmid" : {
16505 "description" : "The (unique) ID of the VM.",
16506 "format" : "pve-vmid",
16507 "minimum" : 1,
4bd7df8b 16508 "type" : "integer",
013dc89f 16509 "typetext" : "<integer> (1 - N)"
56122987 16510 },
2489d6df
WB
16511 "vmstatestorage" : {
16512 "description" : "Default storage for VM state volumes/files.",
16513 "format" : "pve-storage-id",
16514 "optional" : 1,
16515 "type" : "string",
16516 "typetext" : "<string>"
16517 },
44660702 16518 "watchdog" : {
c2993fe5 16519 "description" : "Create a virtual hardware watchdog device.",
44660702 16520 "format" : "pve-qm-watchdog",
56122987 16521 "optional" : 1,
c2993fe5 16522 "type" : "string",
013dc89f 16523 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 16524 "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 16525 }
7aacca6f 16526 }
56122987 16527 },
56122987
DM
16528 "permissions" : {
16529 "check" : [
16530 "perm",
16531 "/vms/{vmid}",
16532 [
16533 "VM.Config.Disk",
16534 "VM.Config.CDROM",
16535 "VM.Config.CPU",
16536 "VM.Config.Memory",
16537 "VM.Config.Network",
16538 "VM.Config.HWType",
ac70d7d1
TL
16539 "VM.Config.Options",
16540 "VM.Config.Cloudinit"
56122987
DM
16541 ],
16542 "any",
16543 1
16544 ]
16545 },
44660702 16546 "protected" : 1,
7aacca6f 16547 "proxyto" : "node",
56122987 16548 "returns" : {
4d47f125
TL
16549 "optional" : 1,
16550 "type" : "string"
7aacca6f 16551 }
4d47f125
TL
16552 },
16553 "PUT" : {
e9cd3bd4 16554 "allowtoken" : 1,
4d47f125
TL
16555 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
16556 "method" : "PUT",
16557 "name" : "update_vm",
7aacca6f 16558 "parameters" : {
44660702 16559 "additionalProperties" : 0,
7aacca6f 16560 "properties" : {
4d47f125
TL
16561 "acpi" : {
16562 "default" : 1,
16563 "description" : "Enable/disable ACPI.",
16564 "optional" : 1,
16565 "type" : "boolean",
16566 "typetext" : "<boolean>"
7aacca6f 16567 },
4d47f125
TL
16568 "agent" : {
16569 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16570 "format" : {
16571 "enabled" : {
16572 "default" : 0,
16573 "default_key" : 1,
16574 "description" : "Enable/disable Qemu GuestAgent.",
16575 "type" : "boolean"
16576 },
16577 "fstrim_cloned_disks" : {
16578 "default" : 0,
d2656385 16579 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
16580 "optional" : 1,
16581 "type" : "boolean"
5c1699e5
TL
16582 },
16583 "type" : {
16584 "default" : "virtio",
16585 "description" : "Select the agent type",
16586 "enum" : [
16587 "virtio",
16588 "isa"
16589 ],
16590 "optional" : 1,
16591 "type" : "string"
4d47f125 16592 }
44660702 16593 },
4d47f125
TL
16594 "optional" : 1,
16595 "type" : "string",
5c1699e5 16596 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 16597 },
e2d681b3
TL
16598 "arch" : {
16599 "description" : "Virtual processor architecture. Defaults to the host.",
16600 "enum" : [
16601 "x86_64",
16602 "aarch64"
16603 ],
16604 "optional" : 1,
16605 "type" : "string"
16606 },
4d47f125
TL
16607 "args" : {
16608 "description" : "Arbitrary arguments passed to kvm.",
16609 "optional" : 1,
16610 "type" : "string",
16611 "typetext" : "<string>",
16612 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
16613 },
1c532546
TL
16614 "audio0" : {
16615 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
16616 "format" : {
16617 "device" : {
16618 "description" : "Configure an audio device.",
16619 "enum" : [
16620 "ich9-intel-hda",
16621 "intel-hda",
16622 "AC97"
16623 ],
16624 "type" : "string"
16625 },
16626 "driver" : {
16627 "default" : "spice",
16628 "description" : "Driver backend for the audio device.",
16629 "enum" : [
d2656385
TL
16630 "spice",
16631 "none"
1c532546
TL
16632 ],
16633 "optional" : 1,
16634 "type" : "string"
16635 }
16636 },
16637 "optional" : 1,
16638 "type" : "string",
d2656385 16639 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 16640 },
4d47f125
TL
16641 "autostart" : {
16642 "default" : 0,
16643 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 16644 "optional" : 1,
013dc89f
DM
16645 "type" : "boolean",
16646 "typetext" : "<boolean>"
7aacca6f 16647 },
4d47f125
TL
16648 "balloon" : {
16649 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16650 "minimum" : 0,
16651 "optional" : 1,
16652 "type" : "integer",
16653 "typetext" : "<integer> (0 - N)"
16654 },
16655 "bios" : {
16656 "default" : "seabios",
16657 "description" : "Select BIOS implementation.",
16658 "enum" : [
16659 "seabios",
16660 "ovmf"
16661 ],
16662 "optional" : 1,
16663 "type" : "string"
16664 },
16665 "boot" : {
4772952b
TL
16666 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
16667 "format" : "pve-qm-boot",
4d47f125 16668 "optional" : 1,
4772952b
TL
16669 "type" : "string",
16670 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
4d47f125
TL
16671 },
16672 "bootdisk" : {
4772952b 16673 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
4d47f125
TL
16674 "format" : "pve-qm-bootdisk",
16675 "optional" : 1,
16676 "pattern" : "(ide|sata|scsi|virtio)\\d+",
16677 "type" : "string"
16678 },
16679 "cdrom" : {
16680 "description" : "This is an alias for option -ide2",
16681 "format" : "pve-qm-ide",
16682 "optional" : 1,
16683 "type" : "string",
16684 "typetext" : "<volume>"
16685 },
95895385
TL
16686 "cicustom" : {
16687 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
16688 "format" : "pve-qm-cicustom",
16689 "optional" : 1,
16690 "type" : "string",
16691 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
16692 },
4d47f125
TL
16693 "cipassword" : {
16694 "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.",
16695 "optional" : 1,
013dc89f
DM
16696 "type" : "string",
16697 "typetext" : "<string>"
44660702 16698 },
4d47f125
TL
16699 "citype" : {
16700 "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.",
16701 "enum" : [
16702 "configdrive2",
d2656385
TL
16703 "nocloud",
16704 "opennebula"
4d47f125
TL
16705 ],
16706 "optional" : 1,
16707 "type" : "string"
16708 },
16709 "ciuser" : {
16710 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16711 "optional" : 1,
013dc89f
DM
16712 "type" : "string",
16713 "typetext" : "<string>"
56122987 16714 },
4d47f125
TL
16715 "cores" : {
16716 "default" : 1,
16717 "description" : "The number of cores per socket.",
7aacca6f 16718 "minimum" : 1,
4d47f125 16719 "optional" : 1,
4bd7df8b 16720 "type" : "integer",
013dc89f 16721 "typetext" : "<integer> (1 - N)"
4d47f125
TL
16722 },
16723 "cpu" : {
16724 "description" : "Emulated CPU type.",
c5aa7e14 16725 "format" : "pve-vm-cpu-conf",
4d47f125 16726 "optional" : 1,
013dc89f 16727 "type" : "string",
04d22a9f 16728 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702 16729 },
4d47f125
TL
16730 "cpulimit" : {
16731 "default" : 0,
16732 "description" : "Limit of CPU usage.",
16733 "maximum" : 128,
16734 "minimum" : 0,
16735 "optional" : 1,
16736 "type" : "number",
16737 "typetext" : "<number> (0 - 128)",
16738 "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."
16739 },
16740 "cpuunits" : {
16741 "default" : 1024,
16742 "description" : "CPU weight for a VM.",
16743 "maximum" : 262144,
16744 "minimum" : 2,
16745 "optional" : 1,
4bd7df8b 16746 "type" : "integer",
4d47f125
TL
16747 "typetext" : "<integer> (2 - 262144)",
16748 "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 16749 },
4d47f125
TL
16750 "delete" : {
16751 "description" : "A list of settings you want to delete.",
16752 "format" : "pve-configid-list",
16753 "optional" : 1,
16754 "type" : "string",
16755 "typetext" : "<string>"
16756 },
16757 "description" : {
8f4d9c87
TL
16758 "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
16759 "maxLength" : 8192,
4d47f125
TL
16760 "optional" : 1,
16761 "type" : "string",
16762 "typetext" : "<string>"
16763 },
16764 "digest" : {
16765 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16766 "maxLength" : 40,
44660702 16767 "optional" : 1,
4d47f125
TL
16768 "type" : "string",
16769 "typetext" : "<string>"
16770 },
16771 "efidisk0" : {
d2656385 16772 "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
4d47f125
TL
16773 "format" : {
16774 "file" : {
16775 "default_key" : 1,
16776 "description" : "The drive's backing volume.",
16777 "format" : "pve-volume-id-or-qm-path",
16778 "format_description" : "volume",
16779 "type" : "string"
16780 },
16781 "format" : {
16782 "description" : "The drive's backing file's data format.",
16783 "enum" : [
16784 "raw",
16785 "cow",
16786 "qcow",
16787 "qed",
16788 "qcow2",
16789 "vmdk",
16790 "cloop"
16791 ],
16792 "optional" : 1,
16793 "type" : "string"
16794 },
16795 "size" : {
16796 "description" : "Disk size. This is purely informational and has no effect.",
16797 "format" : "disk-size",
16798 "format_description" : "DiskSize",
16799 "optional" : 1,
16800 "type" : "string"
16801 },
16802 "volume" : {
16803 "alias" : "file"
16804 }
16805 },
16806 "optional" : 1,
16807 "type" : "string",
16808 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
16809 },
16810 "force" : {
16811 "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.",
16812 "optional" : 1,
16813 "requires" : "delete",
013dc89f
DM
16814 "type" : "boolean",
16815 "typetext" : "<boolean>"
56122987 16816 },
4d47f125
TL
16817 "freeze" : {
16818 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
16819 "optional" : 1,
16820 "type" : "boolean",
16821 "typetext" : "<boolean>"
7aacca6f 16822 },
5f26e15b
TL
16823 "hookscript" : {
16824 "description" : "Script that will be executed during various steps in the vms lifetime.",
16825 "format" : "pve-volume-id",
16826 "optional" : 1,
16827 "type" : "string",
16828 "typetext" : "<string>"
16829 },
4d47f125
TL
16830 "hostpci[n]" : {
16831 "description" : "Map host PCI devices into guest.",
16832 "format" : "pve-qm-hostpci",
16833 "optional" : 1,
16834 "type" : "string",
ac70d7d1 16835 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 16836 "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 16837 },
4d47f125
TL
16838 "hotplug" : {
16839 "default" : "network,disk,usb",
16840 "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'.",
16841 "format" : "pve-hotplug-features",
16842 "optional" : 1,
35a75dd3
DM
16843 "type" : "string",
16844 "typetext" : "<string>"
16845 },
4d47f125
TL
16846 "hugepages" : {
16847 "description" : "Enable/disable hugepages memory.",
35a75dd3 16848 "enum" : [
4d47f125
TL
16849 "any",
16850 "2",
16851 "1024"
35a75dd3
DM
16852 ],
16853 "optional" : 1,
16854 "type" : "string"
16855 },
4d47f125 16856 "ide[n]" : {
d2656385 16857 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
16858 "format" : {
16859 "aio" : {
16860 "description" : "AIO type to use.",
16861 "enum" : [
16862 "native",
8f4d9c87
TL
16863 "threads",
16864 "io_uring"
4d47f125 16865 ],
44660702 16866 "optional" : 1,
44660702
DM
16867 "type" : "string"
16868 },
4d47f125
TL
16869 "backup" : {
16870 "description" : "Whether the drive should be included when making backups.",
56122987 16871 "optional" : 1,
4d47f125 16872 "type" : "boolean"
56122987 16873 },
4d47f125
TL
16874 "bps" : {
16875 "description" : "Maximum r/w speed in bytes per second.",
16876 "format_description" : "bps",
de0983cb 16877 "optional" : 1,
4d47f125 16878 "type" : "integer"
de0983cb 16879 },
4d47f125
TL
16880 "bps_max_length" : {
16881 "description" : "Maximum length of I/O bursts in seconds.",
16882 "format_description" : "seconds",
16883 "minimum" : 1,
de0983cb 16884 "optional" : 1,
4d47f125 16885 "type" : "integer"
7aacca6f 16886 },
4d47f125
TL
16887 "bps_rd" : {
16888 "description" : "Maximum read speed in bytes per second.",
16889 "format_description" : "bps",
7aacca6f 16890 "optional" : 1,
4d47f125 16891 "type" : "integer"
56122987 16892 },
4d47f125
TL
16893 "bps_rd_length" : {
16894 "alias" : "bps_rd_max_length"
16895 },
16896 "bps_rd_max_length" : {
16897 "description" : "Maximum length of read I/O bursts in seconds.",
16898 "format_description" : "seconds",
16899 "minimum" : 1,
56122987 16900 "optional" : 1,
4d47f125 16901 "type" : "integer"
56122987 16902 },
4d47f125
TL
16903 "bps_wr" : {
16904 "description" : "Maximum write speed in bytes per second.",
16905 "format_description" : "bps",
52e44c50 16906 "optional" : 1,
4d47f125 16907 "type" : "integer"
52e44c50 16908 },
4d47f125
TL
16909 "bps_wr_length" : {
16910 "alias" : "bps_wr_max_length"
16911 },
16912 "bps_wr_max_length" : {
16913 "description" : "Maximum length of write I/O bursts in seconds.",
16914 "format_description" : "seconds",
44660702 16915 "minimum" : 1,
56122987 16916 "optional" : 1,
4d47f125 16917 "type" : "integer"
56122987 16918 },
4d47f125
TL
16919 "cache" : {
16920 "description" : "The drive's cache mode",
16921 "enum" : [
16922 "none",
16923 "writethrough",
16924 "writeback",
16925 "unsafe",
16926 "directsync"
16927 ],
7aacca6f 16928 "optional" : 1,
4d47f125 16929 "type" : "string"
7aacca6f 16930 },
4d47f125
TL
16931 "cyls" : {
16932 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16933 "optional" : 1,
16934 "type" : "integer"
56122987 16935 },
4d47f125
TL
16936 "detect_zeroes" : {
16937 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 16938 "optional" : 1,
4d47f125 16939 "type" : "boolean"
56122987 16940 },
4d47f125
TL
16941 "discard" : {
16942 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16943 "enum" : [
16944 "ignore",
16945 "on"
16946 ],
56122987 16947 "optional" : 1,
4d47f125 16948 "type" : "string"
7aacca6f 16949 },
4d47f125
TL
16950 "file" : {
16951 "default_key" : 1,
16952 "description" : "The drive's backing volume.",
16953 "format" : "pve-volume-id-or-qm-path",
16954 "format_description" : "volume",
16955 "type" : "string"
56122987 16956 },
4d47f125
TL
16957 "format" : {
16958 "description" : "The drive's backing file's data format.",
16959 "enum" : [
16960 "raw",
16961 "cow",
16962 "qcow",
16963 "qed",
16964 "qcow2",
16965 "vmdk",
16966 "cloop"
16967 ],
7aacca6f 16968 "optional" : 1,
4d47f125 16969 "type" : "string"
7aacca6f 16970 },
4d47f125
TL
16971 "heads" : {
16972 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 16973 "optional" : 1,
4d47f125 16974 "type" : "integer"
56122987 16975 },
4d47f125
TL
16976 "iops" : {
16977 "description" : "Maximum r/w I/O in operations per second.",
16978 "format_description" : "iops",
44660702 16979 "optional" : 1,
4d47f125 16980 "type" : "integer"
44660702 16981 },
4d47f125
TL
16982 "iops_max" : {
16983 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16984 "format_description" : "iops",
44660702 16985 "optional" : 1,
4d47f125 16986 "type" : "integer"
56122987 16987 },
4d47f125
TL
16988 "iops_max_length" : {
16989 "description" : "Maximum length of I/O bursts in seconds.",
16990 "format_description" : "seconds",
16991 "minimum" : 1,
7aacca6f 16992 "optional" : 1,
4d47f125 16993 "type" : "integer"
7aacca6f 16994 },
4d47f125
TL
16995 "iops_rd" : {
16996 "description" : "Maximum read I/O in operations per second.",
16997 "format_description" : "iops",
16998 "optional" : 1,
16999 "type" : "integer"
17000 },
17001 "iops_rd_length" : {
17002 "alias" : "iops_rd_max_length"
17003 },
17004 "iops_rd_max" : {
17005 "description" : "Maximum unthrottled read I/O pool in operations per second.",
17006 "format_description" : "iops",
17007 "optional" : 1,
17008 "type" : "integer"
17009 },
17010 "iops_rd_max_length" : {
17011 "description" : "Maximum length of read I/O bursts in seconds.",
17012 "format_description" : "seconds",
44660702 17013 "minimum" : 1,
4d47f125
TL
17014 "optional" : 1,
17015 "type" : "integer"
7aacca6f 17016 },
4d47f125
TL
17017 "iops_wr" : {
17018 "description" : "Maximum write I/O in operations per second.",
17019 "format_description" : "iops",
44660702 17020 "optional" : 1,
4d47f125 17021 "type" : "integer"
44660702 17022 },
4d47f125
TL
17023 "iops_wr_length" : {
17024 "alias" : "iops_wr_max_length"
17025 },
17026 "iops_wr_max" : {
17027 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17028 "format_description" : "iops",
17029 "optional" : 1,
17030 "type" : "integer"
17031 },
17032 "iops_wr_max_length" : {
17033 "description" : "Maximum length of write I/O bursts in seconds.",
17034 "format_description" : "seconds",
44660702 17035 "minimum" : 1,
44660702 17036 "optional" : 1,
4d47f125 17037 "type" : "integer"
44660702 17038 },
4d47f125
TL
17039 "mbps" : {
17040 "description" : "Maximum r/w speed in megabytes per second.",
17041 "format_description" : "mbps",
17042 "optional" : 1,
17043 "type" : "number"
56122987 17044 },
4d47f125
TL
17045 "mbps_max" : {
17046 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17047 "format_description" : "mbps",
17048 "optional" : 1,
17049 "type" : "number"
17050 },
17051 "mbps_rd" : {
17052 "description" : "Maximum read speed in megabytes per second.",
17053 "format_description" : "mbps",
17054 "optional" : 1,
17055 "type" : "number"
17056 },
17057 "mbps_rd_max" : {
17058 "description" : "Maximum unthrottled read pool in megabytes per second.",
17059 "format_description" : "mbps",
17060 "optional" : 1,
17061 "type" : "number"
17062 },
17063 "mbps_wr" : {
17064 "description" : "Maximum write speed in megabytes per second.",
17065 "format_description" : "mbps",
17066 "optional" : 1,
17067 "type" : "number"
17068 },
17069 "mbps_wr_max" : {
17070 "description" : "Maximum unthrottled write pool in megabytes per second.",
17071 "format_description" : "mbps",
17072 "optional" : 1,
17073 "type" : "number"
17074 },
17075 "media" : {
17076 "default" : "disk",
17077 "description" : "The drive's media type.",
17078 "enum" : [
17079 "cdrom",
17080 "disk"
17081 ],
17082 "optional" : 1,
17083 "type" : "string"
17084 },
17085 "model" : {
17086 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
17087 "format" : "urlencoded",
17088 "format_description" : "model",
17089 "maxLength" : 120,
17090 "optional" : 1,
17091 "type" : "string"
17092 },
17093 "replicate" : {
17094 "default" : 1,
17095 "description" : "Whether the drive should considered for replication jobs.",
17096 "optional" : 1,
17097 "type" : "boolean"
17098 },
17099 "rerror" : {
17100 "description" : "Read error action.",
17101 "enum" : [
17102 "ignore",
17103 "report",
17104 "stop"
17105 ],
17106 "optional" : 1,
17107 "type" : "string"
17108 },
17109 "secs" : {
17110 "description" : "Force the drive's physical geometry to have a specific sector count.",
17111 "optional" : 1,
17112 "type" : "integer"
17113 },
17114 "serial" : {
17115 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17116 "format" : "urlencoded",
17117 "format_description" : "serial",
17118 "maxLength" : 60,
17119 "optional" : 1,
17120 "type" : "string"
17121 },
17122 "shared" : {
17123 "default" : 0,
17124 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 17125 "optional" : 1,
013dc89f 17126 "type" : "boolean",
4d47f125 17127 "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 17128 },
4d47f125
TL
17129 "size" : {
17130 "description" : "Disk size. This is purely informational and has no effect.",
17131 "format" : "disk-size",
17132 "format_description" : "DiskSize",
17133 "optional" : 1,
17134 "type" : "string"
17135 },
17136 "snapshot" : {
17137 "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.",
17138 "optional" : 1,
17139 "type" : "boolean"
17140 },
25203dc1
NC
17141 "ssd" : {
17142 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17143 "optional" : 1,
17144 "type" : "boolean"
17145 },
4d47f125
TL
17146 "trans" : {
17147 "description" : "Force disk geometry bios translation mode.",
17148 "enum" : [
17149 "none",
17150 "lba",
17151 "auto"
17152 ],
17153 "optional" : 1,
17154 "type" : "string"
17155 },
17156 "volume" : {
17157 "alias" : "file"
17158 },
17159 "werror" : {
17160 "description" : "Write error action.",
17161 "enum" : [
17162 "enospc",
17163 "ignore",
17164 "report",
17165 "stop"
17166 ],
17167 "optional" : 1,
17168 "type" : "string"
95895385
TL
17169 },
17170 "wwn" : {
17171 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17172 "format_description" : "wwn",
17173 "optional" : 1,
17174 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17175 "type" : "string"
4d47f125
TL
17176 }
17177 },
17178 "optional" : 1,
013dc89f 17179 "type" : "string",
8f4d9c87 17180 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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 17181 },
4d47f125 17182 "ipconfig[n]" : {
d2656385 17183 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
4d47f125
TL
17184 "format" : "pve-qm-ipconfig",
17185 "optional" : 1,
013dc89f 17186 "type" : "string",
4d47f125 17187 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 17188 },
95895385
TL
17189 "ivshmem" : {
17190 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
17191 "format" : {
17192 "name" : {
17193 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
17194 "format_description" : "string",
17195 "optional" : 1,
17196 "pattern" : "[a-zA-Z0-9\\-]+",
17197 "type" : "string"
17198 },
17199 "size" : {
17200 "description" : "The size of the file in MB.",
17201 "minimum" : 1,
17202 "type" : "integer"
17203 }
17204 },
17205 "optional" : 1,
17206 "type" : "string",
17207 "typetext" : "size=<integer> [,name=<string>]"
17208 },
4772952b
TL
17209 "keephugepages" : {
17210 "default" : 0,
17211 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
17212 "optional" : 1,
17213 "type" : "boolean",
17214 "typetext" : "<boolean>"
17215 },
4d47f125
TL
17216 "keyboard" : {
17217 "default" : null,
17218 "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.",
17219 "enum" : [
17220 "de",
17221 "de-ch",
17222 "da",
17223 "en-gb",
17224 "en-us",
17225 "es",
17226 "fi",
17227 "fr",
17228 "fr-be",
17229 "fr-ca",
17230 "fr-ch",
17231 "hu",
17232 "is",
17233 "it",
17234 "ja",
17235 "lt",
17236 "mk",
17237 "nl",
17238 "no",
17239 "pl",
17240 "pt",
17241 "pt-br",
17242 "sv",
17243 "sl",
17244 "tr"
17245 ],
17246 "optional" : 1,
17247 "type" : "string"
44660702 17248 },
4d47f125
TL
17249 "kvm" : {
17250 "default" : 1,
17251 "description" : "Enable/disable KVM hardware virtualization.",
44660702 17252 "optional" : 1,
013dc89f
DM
17253 "type" : "boolean",
17254 "typetext" : "<boolean>"
7aacca6f 17255 },
4d47f125
TL
17256 "localtime" : {
17257 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
17258 "optional" : 1,
17259 "type" : "boolean",
17260 "typetext" : "<boolean>"
17261 },
17262 "lock" : {
17263 "description" : "Lock/unlock the VM.",
56122987 17264 "enum" : [
4d47f125 17265 "backup",
5f26e15b
TL
17266 "clone",
17267 "create",
17268 "migrate",
17269 "rollback",
56122987 17270 "snapshot",
95895385
TL
17271 "snapshot-delete",
17272 "suspending",
17273 "suspended"
56122987 17274 ],
4d47f125 17275 "optional" : 1,
44660702
DM
17276 "type" : "string"
17277 },
4d47f125
TL
17278 "machine" : {
17279 "description" : "Specifies the Qemu machine type.",
17280 "maxLength" : 40,
17281 "optional" : 1,
5c1699e5 17282 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
17283 "type" : "string"
17284 },
17285 "memory" : {
17286 "default" : 512,
17287 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17288 "minimum" : 16,
17289 "optional" : 1,
17290 "type" : "integer",
17291 "typetext" : "<integer> (16 - N)"
17292 },
17293 "migrate_downtime" : {
17294 "default" : 0.1,
17295 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17296 "minimum" : 0,
17297 "optional" : 1,
17298 "type" : "number",
17299 "typetext" : "<number> (0 - N)"
17300 },
17301 "migrate_speed" : {
17302 "default" : 0,
17303 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17304 "minimum" : 0,
17305 "optional" : 1,
17306 "type" : "integer",
17307 "typetext" : "<integer> (0 - N)"
17308 },
17309 "name" : {
17310 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17311 "format" : "dns-name",
17312 "optional" : 1,
013dc89f
DM
17313 "type" : "string",
17314 "typetext" : "<string>"
56122987 17315 },
4d47f125 17316 "nameserver" : {
4772952b 17317 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
4d47f125 17318 "format" : "address-list",
7aacca6f 17319 "optional" : 1,
013dc89f
DM
17320 "type" : "string",
17321 "typetext" : "<string>"
7aacca6f 17322 },
4d47f125
TL
17323 "net[n]" : {
17324 "description" : "Specify network devices.",
17325 "format" : {
17326 "bridge" : {
17327 "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",
17328 "format_description" : "bridge",
17329 "optional" : 1,
c5aa7e14 17330 "pattern" : "[-_.\\w\\d]+",
4d47f125
TL
17331 "type" : "string"
17332 },
17333 "e1000" : {
17334 "alias" : "macaddr",
17335 "keyAlias" : "model"
17336 },
17337 "e1000-82540em" : {
17338 "alias" : "macaddr",
17339 "keyAlias" : "model"
17340 },
17341 "e1000-82544gc" : {
17342 "alias" : "macaddr",
17343 "keyAlias" : "model"
17344 },
17345 "e1000-82545em" : {
17346 "alias" : "macaddr",
17347 "keyAlias" : "model"
17348 },
17349 "firewall" : {
17350 "description" : "Whether this interface should be protected by the firewall.",
17351 "optional" : 1,
17352 "type" : "boolean"
17353 },
17354 "i82551" : {
17355 "alias" : "macaddr",
17356 "keyAlias" : "model"
17357 },
17358 "i82557b" : {
17359 "alias" : "macaddr",
17360 "keyAlias" : "model"
17361 },
17362 "i82559er" : {
17363 "alias" : "macaddr",
17364 "keyAlias" : "model"
17365 },
17366 "link_down" : {
17367 "description" : "Whether this interface should be disconnected (like pulling the plug).",
17368 "optional" : 1,
17369 "type" : "boolean"
17370 },
17371 "macaddr" : {
17372 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 17373 "format" : "mac-addr",
4d47f125
TL
17374 "format_description" : "XX:XX:XX:XX:XX:XX",
17375 "optional" : 1,
95895385
TL
17376 "type" : "string",
17377 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
17378 },
17379 "model" : {
17380 "default_key" : 1,
17381 "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'.",
17382 "enum" : [
17383 "rtl8139",
17384 "ne2k_pci",
17385 "e1000",
17386 "pcnet",
17387 "virtio",
17388 "ne2k_isa",
17389 "i82551",
17390 "i82557b",
17391 "i82559er",
17392 "vmxnet3",
17393 "e1000-82540em",
17394 "e1000-82544gc",
17395 "e1000-82545em"
17396 ],
17397 "type" : "string"
17398 },
ac70d7d1
TL
17399 "mtu" : {
17400 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
17401 "maximum" : 65520,
17402 "minimum" : 1,
17403 "optional" : 1,
17404 "type" : "integer"
17405 },
4d47f125
TL
17406 "ne2k_isa" : {
17407 "alias" : "macaddr",
17408 "keyAlias" : "model"
17409 },
17410 "ne2k_pci" : {
17411 "alias" : "macaddr",
17412 "keyAlias" : "model"
17413 },
17414 "pcnet" : {
17415 "alias" : "macaddr",
17416 "keyAlias" : "model"
17417 },
17418 "queues" : {
17419 "description" : "Number of packet queues to be used on the device.",
17420 "maximum" : 16,
17421 "minimum" : 0,
17422 "optional" : 1,
17423 "type" : "integer"
17424 },
17425 "rate" : {
17426 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
17427 "minimum" : 0,
17428 "optional" : 1,
17429 "type" : "number"
17430 },
17431 "rtl8139" : {
17432 "alias" : "macaddr",
17433 "keyAlias" : "model"
17434 },
17435 "tag" : {
17436 "description" : "VLAN tag to apply to packets on this interface.",
17437 "maximum" : 4094,
17438 "minimum" : 1,
17439 "optional" : 1,
17440 "type" : "integer"
17441 },
17442 "trunks" : {
17443 "description" : "VLAN trunks to pass through this interface.",
17444 "format_description" : "vlanid[;vlanid...]",
17445 "optional" : 1,
17446 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17447 "type" : "string"
17448 },
17449 "virtio" : {
17450 "alias" : "macaddr",
17451 "keyAlias" : "model"
17452 },
17453 "vmxnet3" : {
17454 "alias" : "macaddr",
17455 "keyAlias" : "model"
17456 }
44660702 17457 },
44660702 17458 "optional" : 1,
013dc89f 17459 "type" : "string",
ac70d7d1 17460 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
17461 },
17462 "node" : {
17463 "description" : "The cluster node name.",
17464 "format" : "pve-node",
013dc89f
DM
17465 "type" : "string",
17466 "typetext" : "<string>"
7aacca6f 17467 },
4d47f125
TL
17468 "numa" : {
17469 "default" : 0,
17470 "description" : "Enable/disable NUMA.",
56122987 17471 "optional" : 1,
4d47f125
TL
17472 "type" : "boolean",
17473 "typetext" : "<boolean>"
56122987 17474 },
4d47f125
TL
17475 "numa[n]" : {
17476 "description" : "NUMA topology.",
17477 "format" : {
17478 "cpus" : {
17479 "description" : "CPUs accessing this NUMA node.",
17480 "format_description" : "id[-id];...",
17481 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17482 "type" : "string"
17483 },
17484 "hostnodes" : {
17485 "description" : "Host NUMA nodes to use.",
17486 "format_description" : "id[-id];...",
17487 "optional" : 1,
17488 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17489 "type" : "string"
17490 },
17491 "memory" : {
17492 "description" : "Amount of memory this NUMA node provides.",
17493 "optional" : 1,
17494 "type" : "number"
17495 },
17496 "policy" : {
17497 "description" : "NUMA allocation policy.",
17498 "enum" : [
17499 "preferred",
17500 "bind",
17501 "interleave"
17502 ],
17503 "optional" : 1,
17504 "type" : "string"
17505 }
17506 },
7aacca6f 17507 "optional" : 1,
013dc89f 17508 "type" : "string",
4d47f125 17509 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17510 },
4d47f125 17511 "onboot" : {
44660702 17512 "default" : 0,
4d47f125 17513 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 17514 "optional" : 1,
013dc89f
DM
17515 "type" : "boolean",
17516 "typetext" : "<boolean>"
56122987 17517 },
4d47f125
TL
17518 "ostype" : {
17519 "description" : "Specify guest operating system.",
7aacca6f 17520 "enum" : [
4d47f125
TL
17521 "other",
17522 "wxp",
17523 "w2k",
17524 "w2k3",
17525 "w2k8",
17526 "wvista",
17527 "win7",
17528 "win8",
17529 "win10",
17530 "l24",
17531 "l26",
17532 "solaris"
7aacca6f
DM
17533 ],
17534 "optional" : 1,
013dc89f 17535 "type" : "string",
d2656385 17536 "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/2019\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
44660702 17537 },
4d47f125
TL
17538 "parallel[n]" : {
17539 "description" : "Map host parallel devices (n is 0 to 2).",
17540 "optional" : 1,
17541 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 17542 "type" : "string",
4772952b 17543 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702 17544 },
4d47f125
TL
17545 "protection" : {
17546 "default" : 0,
17547 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 17548 "optional" : 1,
013dc89f
DM
17549 "type" : "boolean",
17550 "typetext" : "<boolean>"
44660702 17551 },
4d47f125
TL
17552 "reboot" : {
17553 "default" : 1,
17554 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 17555 "optional" : 1,
013dc89f
DM
17556 "type" : "boolean",
17557 "typetext" : "<boolean>"
56122987 17558 },
4d47f125
TL
17559 "revert" : {
17560 "description" : "Revert a pending change.",
17561 "format" : "pve-configid-list",
17562 "optional" : 1,
013dc89f
DM
17563 "type" : "string",
17564 "typetext" : "<string>"
56122987 17565 },
c5aa7e14
TL
17566 "rng0" : {
17567 "description" : "Configure a VirtIO-based Random Number Generator.",
17568 "format" : {
17569 "max_bytes" : {
17570 "default" : 1024,
17571 "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!).",
17572 "optional" : 1,
17573 "type" : "integer"
17574 },
17575 "period" : {
17576 "default" : 1000,
17577 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
17578 "optional" : 1,
17579 "type" : "integer"
17580 },
17581 "source" : {
17582 "default_key" : 1,
17583 "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.",
17584 "enum" : [
17585 "/dev/urandom",
17586 "/dev/random",
17587 "/dev/hwrng"
17588 ],
17589 "type" : "string"
17590 }
17591 },
17592 "optional" : 1,
17593 "type" : "string",
17594 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
17595 },
4d47f125 17596 "sata[n]" : {
d2656385 17597 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
17598 "format" : {
17599 "aio" : {
17600 "description" : "AIO type to use.",
17601 "enum" : [
17602 "native",
8f4d9c87
TL
17603 "threads",
17604 "io_uring"
4d47f125
TL
17605 ],
17606 "optional" : 1,
17607 "type" : "string"
17608 },
17609 "backup" : {
17610 "description" : "Whether the drive should be included when making backups.",
17611 "optional" : 1,
17612 "type" : "boolean"
17613 },
17614 "bps" : {
17615 "description" : "Maximum r/w speed in bytes per second.",
17616 "format_description" : "bps",
17617 "optional" : 1,
17618 "type" : "integer"
17619 },
17620 "bps_max_length" : {
17621 "description" : "Maximum length of I/O bursts in seconds.",
17622 "format_description" : "seconds",
17623 "minimum" : 1,
17624 "optional" : 1,
17625 "type" : "integer"
17626 },
17627 "bps_rd" : {
17628 "description" : "Maximum read speed in bytes per second.",
17629 "format_description" : "bps",
17630 "optional" : 1,
17631 "type" : "integer"
17632 },
17633 "bps_rd_length" : {
17634 "alias" : "bps_rd_max_length"
17635 },
17636 "bps_rd_max_length" : {
17637 "description" : "Maximum length of read I/O bursts in seconds.",
17638 "format_description" : "seconds",
17639 "minimum" : 1,
17640 "optional" : 1,
17641 "type" : "integer"
17642 },
17643 "bps_wr" : {
17644 "description" : "Maximum write speed in bytes per second.",
17645 "format_description" : "bps",
17646 "optional" : 1,
17647 "type" : "integer"
17648 },
17649 "bps_wr_length" : {
17650 "alias" : "bps_wr_max_length"
17651 },
17652 "bps_wr_max_length" : {
17653 "description" : "Maximum length of write I/O bursts in seconds.",
17654 "format_description" : "seconds",
17655 "minimum" : 1,
17656 "optional" : 1,
17657 "type" : "integer"
17658 },
17659 "cache" : {
17660 "description" : "The drive's cache mode",
17661 "enum" : [
17662 "none",
17663 "writethrough",
17664 "writeback",
17665 "unsafe",
17666 "directsync"
17667 ],
17668 "optional" : 1,
17669 "type" : "string"
17670 },
17671 "cyls" : {
17672 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17673 "optional" : 1,
17674 "type" : "integer"
17675 },
17676 "detect_zeroes" : {
17677 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17678 "optional" : 1,
17679 "type" : "boolean"
17680 },
17681 "discard" : {
17682 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17683 "enum" : [
17684 "ignore",
17685 "on"
17686 ],
17687 "optional" : 1,
17688 "type" : "string"
17689 },
17690 "file" : {
17691 "default_key" : 1,
17692 "description" : "The drive's backing volume.",
17693 "format" : "pve-volume-id-or-qm-path",
17694 "format_description" : "volume",
17695 "type" : "string"
17696 },
17697 "format" : {
17698 "description" : "The drive's backing file's data format.",
17699 "enum" : [
17700 "raw",
17701 "cow",
17702 "qcow",
17703 "qed",
17704 "qcow2",
17705 "vmdk",
17706 "cloop"
17707 ],
17708 "optional" : 1,
17709 "type" : "string"
17710 },
17711 "heads" : {
17712 "description" : "Force the drive's physical geometry to have a specific head count.",
17713 "optional" : 1,
17714 "type" : "integer"
17715 },
17716 "iops" : {
17717 "description" : "Maximum r/w I/O in operations per second.",
17718 "format_description" : "iops",
17719 "optional" : 1,
17720 "type" : "integer"
17721 },
17722 "iops_max" : {
17723 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
17724 "format_description" : "iops",
17725 "optional" : 1,
17726 "type" : "integer"
17727 },
17728 "iops_max_length" : {
17729 "description" : "Maximum length of I/O bursts in seconds.",
17730 "format_description" : "seconds",
17731 "minimum" : 1,
17732 "optional" : 1,
17733 "type" : "integer"
17734 },
17735 "iops_rd" : {
17736 "description" : "Maximum read I/O in operations per second.",
17737 "format_description" : "iops",
17738 "optional" : 1,
17739 "type" : "integer"
17740 },
17741 "iops_rd_length" : {
17742 "alias" : "iops_rd_max_length"
17743 },
17744 "iops_rd_max" : {
17745 "description" : "Maximum unthrottled read I/O pool in operations per second.",
17746 "format_description" : "iops",
17747 "optional" : 1,
17748 "type" : "integer"
17749 },
17750 "iops_rd_max_length" : {
17751 "description" : "Maximum length of read I/O bursts in seconds.",
17752 "format_description" : "seconds",
17753 "minimum" : 1,
17754 "optional" : 1,
17755 "type" : "integer"
17756 },
17757 "iops_wr" : {
17758 "description" : "Maximum write I/O in operations per second.",
17759 "format_description" : "iops",
17760 "optional" : 1,
17761 "type" : "integer"
17762 },
17763 "iops_wr_length" : {
17764 "alias" : "iops_wr_max_length"
17765 },
17766 "iops_wr_max" : {
17767 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17768 "format_description" : "iops",
17769 "optional" : 1,
17770 "type" : "integer"
17771 },
17772 "iops_wr_max_length" : {
17773 "description" : "Maximum length of write I/O bursts in seconds.",
17774 "format_description" : "seconds",
17775 "minimum" : 1,
17776 "optional" : 1,
17777 "type" : "integer"
17778 },
17779 "mbps" : {
17780 "description" : "Maximum r/w speed in megabytes per second.",
17781 "format_description" : "mbps",
17782 "optional" : 1,
17783 "type" : "number"
17784 },
17785 "mbps_max" : {
17786 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17787 "format_description" : "mbps",
17788 "optional" : 1,
17789 "type" : "number"
17790 },
17791 "mbps_rd" : {
17792 "description" : "Maximum read speed in megabytes per second.",
17793 "format_description" : "mbps",
17794 "optional" : 1,
17795 "type" : "number"
17796 },
17797 "mbps_rd_max" : {
17798 "description" : "Maximum unthrottled read pool in megabytes per second.",
17799 "format_description" : "mbps",
17800 "optional" : 1,
17801 "type" : "number"
17802 },
17803 "mbps_wr" : {
17804 "description" : "Maximum write speed in megabytes per second.",
17805 "format_description" : "mbps",
17806 "optional" : 1,
17807 "type" : "number"
17808 },
17809 "mbps_wr_max" : {
17810 "description" : "Maximum unthrottled write pool in megabytes per second.",
17811 "format_description" : "mbps",
17812 "optional" : 1,
17813 "type" : "number"
17814 },
17815 "media" : {
17816 "default" : "disk",
17817 "description" : "The drive's media type.",
17818 "enum" : [
17819 "cdrom",
17820 "disk"
17821 ],
17822 "optional" : 1,
17823 "type" : "string"
17824 },
17825 "replicate" : {
17826 "default" : 1,
17827 "description" : "Whether the drive should considered for replication jobs.",
17828 "optional" : 1,
17829 "type" : "boolean"
17830 },
17831 "rerror" : {
17832 "description" : "Read error action.",
17833 "enum" : [
17834 "ignore",
17835 "report",
17836 "stop"
17837 ],
17838 "optional" : 1,
17839 "type" : "string"
17840 },
17841 "secs" : {
17842 "description" : "Force the drive's physical geometry to have a specific sector count.",
17843 "optional" : 1,
17844 "type" : "integer"
17845 },
17846 "serial" : {
17847 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17848 "format" : "urlencoded",
17849 "format_description" : "serial",
17850 "maxLength" : 60,
17851 "optional" : 1,
17852 "type" : "string"
17853 },
17854 "shared" : {
17855 "default" : 0,
17856 "description" : "Mark this locally-managed volume as available on all nodes",
17857 "optional" : 1,
17858 "type" : "boolean",
17859 "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!"
17860 },
17861 "size" : {
17862 "description" : "Disk size. This is purely informational and has no effect.",
17863 "format" : "disk-size",
17864 "format_description" : "DiskSize",
17865 "optional" : 1,
17866 "type" : "string"
17867 },
17868 "snapshot" : {
17869 "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.",
17870 "optional" : 1,
17871 "type" : "boolean"
17872 },
25203dc1
NC
17873 "ssd" : {
17874 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17875 "optional" : 1,
17876 "type" : "boolean"
17877 },
4d47f125
TL
17878 "trans" : {
17879 "description" : "Force disk geometry bios translation mode.",
17880 "enum" : [
17881 "none",
17882 "lba",
17883 "auto"
17884 ],
17885 "optional" : 1,
17886 "type" : "string"
17887 },
17888 "volume" : {
17889 "alias" : "file"
17890 },
17891 "werror" : {
17892 "description" : "Write error action.",
17893 "enum" : [
17894 "enospc",
17895 "ignore",
17896 "report",
17897 "stop"
17898 ],
17899 "optional" : 1,
17900 "type" : "string"
95895385
TL
17901 },
17902 "wwn" : {
17903 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17904 "format_description" : "wwn",
17905 "optional" : 1,
17906 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17907 "type" : "string"
4d47f125
TL
17908 }
17909 },
17910 "optional" : 1,
17911 "type" : "string",
8f4d9c87 17912 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
17913 },
17914 "scsi[n]" : {
d2656385 17915 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
17916 "format" : {
17917 "aio" : {
17918 "description" : "AIO type to use.",
17919 "enum" : [
17920 "native",
8f4d9c87
TL
17921 "threads",
17922 "io_uring"
4d47f125
TL
17923 ],
17924 "optional" : 1,
17925 "type" : "string"
17926 },
17927 "backup" : {
17928 "description" : "Whether the drive should be included when making backups.",
17929 "optional" : 1,
17930 "type" : "boolean"
17931 },
17932 "bps" : {
17933 "description" : "Maximum r/w speed in bytes per second.",
17934 "format_description" : "bps",
17935 "optional" : 1,
17936 "type" : "integer"
17937 },
17938 "bps_max_length" : {
17939 "description" : "Maximum length of I/O bursts in seconds.",
17940 "format_description" : "seconds",
17941 "minimum" : 1,
17942 "optional" : 1,
17943 "type" : "integer"
17944 },
17945 "bps_rd" : {
17946 "description" : "Maximum read speed in bytes per second.",
17947 "format_description" : "bps",
17948 "optional" : 1,
17949 "type" : "integer"
17950 },
17951 "bps_rd_length" : {
17952 "alias" : "bps_rd_max_length"
17953 },
17954 "bps_rd_max_length" : {
17955 "description" : "Maximum length of read I/O bursts in seconds.",
17956 "format_description" : "seconds",
17957 "minimum" : 1,
17958 "optional" : 1,
17959 "type" : "integer"
17960 },
17961 "bps_wr" : {
17962 "description" : "Maximum write speed in bytes per second.",
17963 "format_description" : "bps",
17964 "optional" : 1,
17965 "type" : "integer"
17966 },
17967 "bps_wr_length" : {
17968 "alias" : "bps_wr_max_length"
17969 },
17970 "bps_wr_max_length" : {
17971 "description" : "Maximum length of write I/O bursts in seconds.",
17972 "format_description" : "seconds",
17973 "minimum" : 1,
17974 "optional" : 1,
17975 "type" : "integer"
17976 },
17977 "cache" : {
17978 "description" : "The drive's cache mode",
17979 "enum" : [
17980 "none",
17981 "writethrough",
17982 "writeback",
17983 "unsafe",
17984 "directsync"
17985 ],
17986 "optional" : 1,
17987 "type" : "string"
17988 },
17989 "cyls" : {
17990 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17991 "optional" : 1,
17992 "type" : "integer"
17993 },
17994 "detect_zeroes" : {
17995 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17996 "optional" : 1,
17997 "type" : "boolean"
17998 },
17999 "discard" : {
18000 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18001 "enum" : [
18002 "ignore",
18003 "on"
18004 ],
18005 "optional" : 1,
18006 "type" : "string"
18007 },
18008 "file" : {
18009 "default_key" : 1,
18010 "description" : "The drive's backing volume.",
18011 "format" : "pve-volume-id-or-qm-path",
18012 "format_description" : "volume",
18013 "type" : "string"
18014 },
18015 "format" : {
18016 "description" : "The drive's backing file's data format.",
18017 "enum" : [
18018 "raw",
18019 "cow",
18020 "qcow",
18021 "qed",
18022 "qcow2",
18023 "vmdk",
18024 "cloop"
18025 ],
18026 "optional" : 1,
18027 "type" : "string"
18028 },
18029 "heads" : {
18030 "description" : "Force the drive's physical geometry to have a specific head count.",
18031 "optional" : 1,
18032 "type" : "integer"
18033 },
18034 "iops" : {
18035 "description" : "Maximum r/w I/O in operations per second.",
18036 "format_description" : "iops",
18037 "optional" : 1,
18038 "type" : "integer"
18039 },
18040 "iops_max" : {
18041 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
18042 "format_description" : "iops",
18043 "optional" : 1,
18044 "type" : "integer"
18045 },
18046 "iops_max_length" : {
18047 "description" : "Maximum length of I/O bursts in seconds.",
18048 "format_description" : "seconds",
18049 "minimum" : 1,
18050 "optional" : 1,
18051 "type" : "integer"
18052 },
18053 "iops_rd" : {
18054 "description" : "Maximum read I/O in operations per second.",
18055 "format_description" : "iops",
18056 "optional" : 1,
18057 "type" : "integer"
18058 },
18059 "iops_rd_length" : {
18060 "alias" : "iops_rd_max_length"
18061 },
18062 "iops_rd_max" : {
18063 "description" : "Maximum unthrottled read I/O pool in operations per second.",
18064 "format_description" : "iops",
18065 "optional" : 1,
18066 "type" : "integer"
18067 },
18068 "iops_rd_max_length" : {
18069 "description" : "Maximum length of read I/O bursts in seconds.",
18070 "format_description" : "seconds",
18071 "minimum" : 1,
18072 "optional" : 1,
18073 "type" : "integer"
18074 },
18075 "iops_wr" : {
18076 "description" : "Maximum write I/O in operations per second.",
18077 "format_description" : "iops",
18078 "optional" : 1,
18079 "type" : "integer"
18080 },
18081 "iops_wr_length" : {
18082 "alias" : "iops_wr_max_length"
18083 },
18084 "iops_wr_max" : {
18085 "description" : "Maximum unthrottled write I/O pool in operations per second.",
18086 "format_description" : "iops",
18087 "optional" : 1,
18088 "type" : "integer"
18089 },
18090 "iops_wr_max_length" : {
18091 "description" : "Maximum length of write I/O bursts in seconds.",
18092 "format_description" : "seconds",
18093 "minimum" : 1,
18094 "optional" : 1,
18095 "type" : "integer"
18096 },
18097 "iothread" : {
18098 "description" : "Whether to use iothreads for this drive",
18099 "optional" : 1,
18100 "type" : "boolean"
18101 },
18102 "mbps" : {
18103 "description" : "Maximum r/w speed in megabytes per second.",
18104 "format_description" : "mbps",
18105 "optional" : 1,
18106 "type" : "number"
18107 },
18108 "mbps_max" : {
18109 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
18110 "format_description" : "mbps",
18111 "optional" : 1,
18112 "type" : "number"
18113 },
18114 "mbps_rd" : {
18115 "description" : "Maximum read speed in megabytes per second.",
18116 "format_description" : "mbps",
18117 "optional" : 1,
18118 "type" : "number"
18119 },
18120 "mbps_rd_max" : {
18121 "description" : "Maximum unthrottled read pool in megabytes per second.",
18122 "format_description" : "mbps",
18123 "optional" : 1,
18124 "type" : "number"
18125 },
18126 "mbps_wr" : {
18127 "description" : "Maximum write speed in megabytes per second.",
18128 "format_description" : "mbps",
18129 "optional" : 1,
18130 "type" : "number"
18131 },
18132 "mbps_wr_max" : {
18133 "description" : "Maximum unthrottled write pool in megabytes per second.",
18134 "format_description" : "mbps",
18135 "optional" : 1,
18136 "type" : "number"
18137 },
18138 "media" : {
18139 "default" : "disk",
18140 "description" : "The drive's media type.",
18141 "enum" : [
18142 "cdrom",
18143 "disk"
18144 ],
18145 "optional" : 1,
18146 "type" : "string"
18147 },
18148 "queues" : {
18149 "description" : "Number of queues.",
18150 "minimum" : 2,
18151 "optional" : 1,
18152 "type" : "integer"
18153 },
18154 "replicate" : {
18155 "default" : 1,
18156 "description" : "Whether the drive should considered for replication jobs.",
18157 "optional" : 1,
18158 "type" : "boolean"
18159 },
18160 "rerror" : {
18161 "description" : "Read error action.",
18162 "enum" : [
18163 "ignore",
18164 "report",
18165 "stop"
18166 ],
18167 "optional" : 1,
18168 "type" : "string"
18169 },
18170 "scsiblock" : {
18171 "default" : 0,
18172 "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",
18173 "optional" : 1,
18174 "type" : "boolean"
18175 },
18176 "secs" : {
18177 "description" : "Force the drive's physical geometry to have a specific sector count.",
18178 "optional" : 1,
18179 "type" : "integer"
18180 },
18181 "serial" : {
18182 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18183 "format" : "urlencoded",
18184 "format_description" : "serial",
18185 "maxLength" : 60,
18186 "optional" : 1,
18187 "type" : "string"
18188 },
18189 "shared" : {
18190 "default" : 0,
18191 "description" : "Mark this locally-managed volume as available on all nodes",
18192 "optional" : 1,
18193 "type" : "boolean",
18194 "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!"
18195 },
18196 "size" : {
18197 "description" : "Disk size. This is purely informational and has no effect.",
18198 "format" : "disk-size",
18199 "format_description" : "DiskSize",
18200 "optional" : 1,
18201 "type" : "string"
18202 },
18203 "snapshot" : {
18204 "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.",
18205 "optional" : 1,
18206 "type" : "boolean"
18207 },
25203dc1
NC
18208 "ssd" : {
18209 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18210 "optional" : 1,
18211 "type" : "boolean"
18212 },
4d47f125
TL
18213 "trans" : {
18214 "description" : "Force disk geometry bios translation mode.",
18215 "enum" : [
18216 "none",
18217 "lba",
18218 "auto"
18219 ],
18220 "optional" : 1,
18221 "type" : "string"
18222 },
18223 "volume" : {
18224 "alias" : "file"
18225 },
18226 "werror" : {
18227 "description" : "Write error action.",
18228 "enum" : [
18229 "enospc",
18230 "ignore",
18231 "report",
18232 "stop"
18233 ],
18234 "optional" : 1,
18235 "type" : "string"
95895385
TL
18236 },
18237 "wwn" : {
18238 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18239 "format_description" : "wwn",
18240 "optional" : 1,
18241 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18242 "type" : "string"
4d47f125
TL
18243 }
18244 },
18245 "optional" : 1,
18246 "type" : "string",
8f4d9c87 18247 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
18248 },
18249 "scsihw" : {
18250 "default" : "lsi",
18251 "description" : "SCSI controller model",
18252 "enum" : [
18253 "lsi",
18254 "lsi53c810",
18255 "virtio-scsi-pci",
18256 "virtio-scsi-single",
18257 "megasas",
18258 "pvscsi"
18259 ],
18260 "optional" : 1,
18261 "type" : "string"
18262 },
18263 "searchdomain" : {
4772952b 18264 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
4d47f125
TL
18265 "optional" : 1,
18266 "type" : "string",
18267 "typetext" : "<string>"
18268 },
18269 "serial[n]" : {
18270 "description" : "Create a serial device inside the VM (n is 0 to 3)",
18271 "optional" : 1,
18272 "pattern" : "(/dev/.+|socket)",
18273 "type" : "string",
4772952b 18274 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
4d47f125
TL
18275 },
18276 "shares" : {
18277 "default" : 1000,
18278 "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.",
18279 "maximum" : 50000,
18280 "minimum" : 0,
18281 "optional" : 1,
18282 "type" : "integer",
18283 "typetext" : "<integer> (0 - 50000)"
18284 },
18285 "skiplock" : {
18286 "description" : "Ignore locks - only root is allowed to use this option.",
18287 "optional" : 1,
18288 "type" : "boolean",
18289 "typetext" : "<boolean>"
18290 },
18291 "smbios1" : {
18292 "description" : "Specify SMBIOS type 1 fields.",
18293 "format" : "pve-qm-smbios1",
1e3f8156 18294 "maxLength" : 512,
4d47f125
TL
18295 "optional" : 1,
18296 "type" : "string",
1e3f8156 18297 "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
18298 },
18299 "smp" : {
18300 "default" : 1,
18301 "description" : "The number of CPUs. Please use option -sockets instead.",
18302 "minimum" : 1,
18303 "optional" : 1,
18304 "type" : "integer",
18305 "typetext" : "<integer> (1 - N)"
18306 },
18307 "sockets" : {
18308 "default" : 1,
18309 "description" : "The number of CPU sockets.",
18310 "minimum" : 1,
18311 "optional" : 1,
18312 "type" : "integer",
18313 "typetext" : "<integer> (1 - N)"
18314 },
1c532546
TL
18315 "spice_enhancements" : {
18316 "description" : "Configure additional enhancements for SPICE.",
18317 "format" : {
18318 "foldersharing" : {
18319 "default" : "0",
18320 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
18321 "optional" : 1,
18322 "type" : "boolean"
18323 },
18324 "videostreaming" : {
18325 "default" : "off",
18326 "description" : "Enable video streaming. Uses compression for detected video streams.",
18327 "enum" : [
18328 "off",
18329 "all",
18330 "filter"
18331 ],
18332 "optional" : 1,
18333 "type" : "string"
18334 }
18335 },
18336 "optional" : 1,
18337 "type" : "string",
18338 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
18339 },
4d47f125
TL
18340 "sshkeys" : {
18341 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18342 "format" : "urlencoded",
18343 "optional" : 1,
18344 "type" : "string",
18345 "typetext" : "<string>"
18346 },
18347 "startdate" : {
18348 "default" : "now",
4772952b 18349 "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
4d47f125
TL
18350 "optional" : 1,
18351 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18352 "type" : "string",
18353 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18354 },
18355 "startup" : {
18356 "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.",
18357 "format" : "pve-startup-order",
18358 "optional" : 1,
18359 "type" : "string",
18360 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18361 },
18362 "tablet" : {
18363 "default" : 1,
18364 "description" : "Enable/disable the USB tablet device.",
18365 "optional" : 1,
18366 "type" : "boolean",
18367 "typetext" : "<boolean>",
4772952b 18368 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (`qm set <vmid> --vga qxl`)."
4d47f125 18369 },
5c1699e5
TL
18370 "tags" : {
18371 "description" : "Tags of the VM. This is only meta information.",
18372 "format" : "pve-tag-list",
18373 "optional" : 1,
18374 "type" : "string",
18375 "typetext" : "<string>"
18376 },
4d47f125
TL
18377 "tdf" : {
18378 "default" : 0,
18379 "description" : "Enable/disable time drift fix.",
18380 "optional" : 1,
18381 "type" : "boolean",
18382 "typetext" : "<boolean>"
18383 },
18384 "template" : {
18385 "default" : 0,
18386 "description" : "Enable/disable Template.",
18387 "optional" : 1,
18388 "type" : "boolean",
18389 "typetext" : "<boolean>"
18390 },
18391 "unused[n]" : {
18392 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
18393 "format" : {
18394 "file" : {
18395 "default_key" : 1,
18396 "description" : "The drive's backing volume.",
18397 "format" : "pve-volume-id",
18398 "format_description" : "volume",
18399 "type" : "string"
18400 },
18401 "volume" : {
18402 "alias" : "file"
18403 }
18404 },
4d47f125
TL
18405 "optional" : 1,
18406 "type" : "string",
c5aa7e14 18407 "typetext" : "[file=]<volume>"
4d47f125
TL
18408 },
18409 "usb[n]" : {
18410 "description" : "Configure an USB device (n is 0 to 4).",
18411 "format" : {
18412 "host" : {
18413 "default_key" : 1,
4772952b 18414 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
4d47f125
TL
18415 "format" : "pve-qm-usb-device",
18416 "format_description" : "HOSTUSBDEVICE|spice",
18417 "type" : "string"
18418 },
18419 "usb3" : {
18420 "default" : 0,
1c532546 18421 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
18422 "optional" : 1,
18423 "type" : "boolean"
18424 }
18425 },
18426 "optional" : 1,
18427 "type" : "string",
18428 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
18429 },
18430 "vcpus" : {
18431 "default" : 0,
18432 "description" : "Number of hotplugged vcpus.",
18433 "minimum" : 1,
18434 "optional" : 1,
18435 "type" : "integer",
18436 "typetext" : "<integer> (1 - N)"
18437 },
18438 "vga" : {
e2d681b3
TL
18439 "description" : "Configure the VGA hardware.",
18440 "format" : {
18441 "memory" : {
18442 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
18443 "maximum" : 512,
18444 "minimum" : 4,
18445 "optional" : 1,
18446 "type" : "integer"
18447 },
18448 "type" : {
18449 "default" : "std",
18450 "default_key" : 1,
18451 "description" : "Select the VGA type.",
18452 "enum" : [
18453 "cirrus",
18454 "qxl",
18455 "qxl2",
18456 "qxl3",
18457 "qxl4",
5f26e15b 18458 "none",
e2d681b3
TL
18459 "serial0",
18460 "serial1",
18461 "serial2",
18462 "serial3",
18463 "std",
18464 "virtio",
18465 "vmware"
18466 ],
18467 "optional" : 1,
18468 "type" : "string"
18469 }
18470 },
4d47f125
TL
18471 "optional" : 1,
18472 "type" : "string",
e2d681b3
TL
18473 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
18474 "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
18475 },
18476 "virtio[n]" : {
d2656385 18477 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
18478 "format" : {
18479 "aio" : {
18480 "description" : "AIO type to use.",
18481 "enum" : [
18482 "native",
8f4d9c87
TL
18483 "threads",
18484 "io_uring"
4d47f125
TL
18485 ],
18486 "optional" : 1,
18487 "type" : "string"
18488 },
18489 "backup" : {
18490 "description" : "Whether the drive should be included when making backups.",
18491 "optional" : 1,
18492 "type" : "boolean"
18493 },
18494 "bps" : {
18495 "description" : "Maximum r/w speed in bytes per second.",
18496 "format_description" : "bps",
18497 "optional" : 1,
18498 "type" : "integer"
18499 },
18500 "bps_max_length" : {
18501 "description" : "Maximum length of I/O bursts in seconds.",
18502 "format_description" : "seconds",
18503 "minimum" : 1,
18504 "optional" : 1,
18505 "type" : "integer"
18506 },
18507 "bps_rd" : {
18508 "description" : "Maximum read speed in bytes per second.",
18509 "format_description" : "bps",
18510 "optional" : 1,
18511 "type" : "integer"
18512 },
18513 "bps_rd_length" : {
18514 "alias" : "bps_rd_max_length"
18515 },
18516 "bps_rd_max_length" : {
18517 "description" : "Maximum length of read I/O bursts in seconds.",
18518 "format_description" : "seconds",
18519 "minimum" : 1,
18520 "optional" : 1,
18521 "type" : "integer"
18522 },
18523 "bps_wr" : {
18524 "description" : "Maximum write speed in bytes per second.",
18525 "format_description" : "bps",
18526 "optional" : 1,
18527 "type" : "integer"
18528 },
18529 "bps_wr_length" : {
18530 "alias" : "bps_wr_max_length"
18531 },
18532 "bps_wr_max_length" : {
18533 "description" : "Maximum length of write I/O bursts in seconds.",
18534 "format_description" : "seconds",
18535 "minimum" : 1,
18536 "optional" : 1,
18537 "type" : "integer"
18538 },
18539 "cache" : {
18540 "description" : "The drive's cache mode",
18541 "enum" : [
18542 "none",
18543 "writethrough",
18544 "writeback",
18545 "unsafe",
18546 "directsync"
18547 ],
18548 "optional" : 1,
18549 "type" : "string"
18550 },
18551 "cyls" : {
18552 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
18553 "optional" : 1,
18554 "type" : "integer"
18555 },
18556 "detect_zeroes" : {
18557 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18558 "optional" : 1,
18559 "type" : "boolean"
18560 },
18561 "discard" : {
18562 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18563 "enum" : [
18564 "ignore",
18565 "on"
18566 ],
18567 "optional" : 1,
18568 "type" : "string"
18569 },
18570 "file" : {
18571 "default_key" : 1,
18572 "description" : "The drive's backing volume.",
18573 "format" : "pve-volume-id-or-qm-path",
18574 "format_description" : "volume",
18575 "type" : "string"
18576 },
18577 "format" : {
18578 "description" : "The drive's backing file's data format.",
18579 "enum" : [
18580 "raw",
18581 "cow",
18582 "qcow",
18583 "qed",
18584 "qcow2",
18585 "vmdk",
18586 "cloop"
18587 ],
18588 "optional" : 1,
18589 "type" : "string"
18590 },
18591 "heads" : {
18592 "description" : "Force the drive's physical geometry to have a specific head count.",
18593 "optional" : 1,
18594 "type" : "integer"
18595 },
18596 "iops" : {
18597 "description" : "Maximum r/w I/O in operations per second.",
18598 "format_description" : "iops",
18599 "optional" : 1,
18600 "type" : "integer"
18601 },
18602 "iops_max" : {
18603 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
18604 "format_description" : "iops",
18605 "optional" : 1,
18606 "type" : "integer"
18607 },
18608 "iops_max_length" : {
18609 "description" : "Maximum length of I/O bursts in seconds.",
18610 "format_description" : "seconds",
18611 "minimum" : 1,
18612 "optional" : 1,
18613 "type" : "integer"
18614 },
18615 "iops_rd" : {
18616 "description" : "Maximum read I/O in operations per second.",
18617 "format_description" : "iops",
18618 "optional" : 1,
18619 "type" : "integer"
18620 },
18621 "iops_rd_length" : {
18622 "alias" : "iops_rd_max_length"
18623 },
18624 "iops_rd_max" : {
18625 "description" : "Maximum unthrottled read I/O pool in operations per second.",
18626 "format_description" : "iops",
18627 "optional" : 1,
18628 "type" : "integer"
18629 },
18630 "iops_rd_max_length" : {
18631 "description" : "Maximum length of read I/O bursts in seconds.",
18632 "format_description" : "seconds",
18633 "minimum" : 1,
18634 "optional" : 1,
18635 "type" : "integer"
18636 },
18637 "iops_wr" : {
18638 "description" : "Maximum write I/O in operations per second.",
18639 "format_description" : "iops",
18640 "optional" : 1,
18641 "type" : "integer"
18642 },
18643 "iops_wr_length" : {
18644 "alias" : "iops_wr_max_length"
18645 },
18646 "iops_wr_max" : {
18647 "description" : "Maximum unthrottled write I/O pool in operations per second.",
18648 "format_description" : "iops",
18649 "optional" : 1,
18650 "type" : "integer"
18651 },
18652 "iops_wr_max_length" : {
18653 "description" : "Maximum length of write I/O bursts in seconds.",
18654 "format_description" : "seconds",
18655 "minimum" : 1,
18656 "optional" : 1,
18657 "type" : "integer"
18658 },
18659 "iothread" : {
18660 "description" : "Whether to use iothreads for this drive",
18661 "optional" : 1,
18662 "type" : "boolean"
18663 },
18664 "mbps" : {
18665 "description" : "Maximum r/w speed in megabytes per second.",
18666 "format_description" : "mbps",
18667 "optional" : 1,
18668 "type" : "number"
18669 },
18670 "mbps_max" : {
18671 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
18672 "format_description" : "mbps",
18673 "optional" : 1,
18674 "type" : "number"
18675 },
18676 "mbps_rd" : {
18677 "description" : "Maximum read speed in megabytes per second.",
18678 "format_description" : "mbps",
18679 "optional" : 1,
18680 "type" : "number"
18681 },
18682 "mbps_rd_max" : {
18683 "description" : "Maximum unthrottled read pool in megabytes per second.",
18684 "format_description" : "mbps",
18685 "optional" : 1,
18686 "type" : "number"
18687 },
18688 "mbps_wr" : {
18689 "description" : "Maximum write speed in megabytes per second.",
18690 "format_description" : "mbps",
18691 "optional" : 1,
18692 "type" : "number"
18693 },
18694 "mbps_wr_max" : {
18695 "description" : "Maximum unthrottled write pool in megabytes per second.",
18696 "format_description" : "mbps",
18697 "optional" : 1,
18698 "type" : "number"
18699 },
18700 "media" : {
18701 "default" : "disk",
18702 "description" : "The drive's media type.",
18703 "enum" : [
18704 "cdrom",
18705 "disk"
18706 ],
18707 "optional" : 1,
18708 "type" : "string"
18709 },
18710 "replicate" : {
18711 "default" : 1,
18712 "description" : "Whether the drive should considered for replication jobs.",
18713 "optional" : 1,
18714 "type" : "boolean"
18715 },
18716 "rerror" : {
18717 "description" : "Read error action.",
18718 "enum" : [
18719 "ignore",
18720 "report",
18721 "stop"
18722 ],
18723 "optional" : 1,
18724 "type" : "string"
18725 },
18726 "secs" : {
18727 "description" : "Force the drive's physical geometry to have a specific sector count.",
18728 "optional" : 1,
18729 "type" : "integer"
18730 },
18731 "serial" : {
18732 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18733 "format" : "urlencoded",
18734 "format_description" : "serial",
18735 "maxLength" : 60,
18736 "optional" : 1,
18737 "type" : "string"
18738 },
18739 "shared" : {
18740 "default" : 0,
18741 "description" : "Mark this locally-managed volume as available on all nodes",
18742 "optional" : 1,
18743 "type" : "boolean",
18744 "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!"
18745 },
18746 "size" : {
18747 "description" : "Disk size. This is purely informational and has no effect.",
18748 "format" : "disk-size",
18749 "format_description" : "DiskSize",
18750 "optional" : 1,
18751 "type" : "string"
18752 },
18753 "snapshot" : {
18754 "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.",
18755 "optional" : 1,
18756 "type" : "boolean"
18757 },
18758 "trans" : {
18759 "description" : "Force disk geometry bios translation mode.",
18760 "enum" : [
18761 "none",
18762 "lba",
18763 "auto"
18764 ],
18765 "optional" : 1,
18766 "type" : "string"
18767 },
18768 "volume" : {
18769 "alias" : "file"
18770 },
18771 "werror" : {
18772 "description" : "Write error action.",
18773 "enum" : [
18774 "enospc",
18775 "ignore",
18776 "report",
18777 "stop"
18778 ],
18779 "optional" : 1,
18780 "type" : "string"
18781 }
18782 },
18783 "optional" : 1,
18784 "type" : "string",
8f4d9c87 18785 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>]"
4d47f125
TL
18786 },
18787 "vmgenid" : {
18788 "default" : "1 (autogenerated)",
18789 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18790 "format_description" : "UUID",
18791 "optional" : 1,
18792 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18793 "type" : "string",
4772952b 18794 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
4d47f125
TL
18795 },
18796 "vmid" : {
18797 "description" : "The (unique) ID of the VM.",
18798 "format" : "pve-vmid",
18799 "minimum" : 1,
18800 "type" : "integer",
18801 "typetext" : "<integer> (1 - N)"
18802 },
18803 "vmstatestorage" : {
18804 "description" : "Default storage for VM state volumes/files.",
18805 "format" : "pve-storage-id",
18806 "optional" : 1,
18807 "type" : "string",
18808 "typetext" : "<string>"
18809 },
18810 "watchdog" : {
18811 "description" : "Create a virtual hardware watchdog device.",
18812 "format" : "pve-qm-watchdog",
18813 "optional" : 1,
18814 "type" : "string",
18815 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
18816 "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)"
18817 }
18818 }
18819 },
18820 "permissions" : {
18821 "check" : [
18822 "perm",
18823 "/vms/{vmid}",
18824 [
18825 "VM.Config.Disk",
18826 "VM.Config.CDROM",
18827 "VM.Config.CPU",
18828 "VM.Config.Memory",
18829 "VM.Config.Network",
18830 "VM.Config.HWType",
ac70d7d1
TL
18831 "VM.Config.Options",
18832 "VM.Config.Cloudinit"
4d47f125
TL
18833 ],
18834 "any",
18835 1
18836 ]
18837 },
18838 "protected" : 1,
18839 "proxyto" : "node",
18840 "returns" : {
18841 "type" : "null"
18842 }
18843 }
18844 },
18845 "leaf" : 1,
18846 "path" : "/nodes/{node}/qemu/{vmid}/config",
18847 "text" : "config"
18848 },
18849 {
18850 "info" : {
18851 "GET" : {
e9cd3bd4
TL
18852 "allowtoken" : 1,
18853 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
18854 "method" : "GET",
18855 "name" : "vm_pending",
18856 "parameters" : {
18857 "additionalProperties" : 0,
18858 "properties" : {
18859 "node" : {
18860 "description" : "The cluster node name.",
18861 "format" : "pve-node",
18862 "type" : "string",
18863 "typetext" : "<string>"
18864 },
18865 "vmid" : {
18866 "description" : "The (unique) ID of the VM.",
18867 "format" : "pve-vmid",
18868 "minimum" : 1,
18869 "type" : "integer",
18870 "typetext" : "<integer> (1 - N)"
18871 }
18872 }
18873 },
18874 "permissions" : {
18875 "check" : [
18876 "perm",
18877 "/vms/{vmid}",
18878 [
18879 "VM.Audit"
18880 ]
18881 ]
18882 },
18883 "proxyto" : "node",
18884 "returns" : {
18885 "items" : {
18886 "properties" : {
18887 "delete" : {
18888 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
18889 "maximum" : 2,
18890 "minimum" : 0,
18891 "optional" : 1,
18892 "type" : "integer"
18893 },
18894 "key" : {
18895 "description" : "Configuration option name.",
18896 "type" : "string"
18897 },
18898 "pending" : {
18899 "description" : "Pending value.",
18900 "optional" : 1,
18901 "type" : "string"
18902 },
18903 "value" : {
18904 "description" : "Current value.",
18905 "optional" : 1,
18906 "type" : "string"
18907 }
18908 },
18909 "type" : "object"
18910 },
18911 "type" : "array"
18912 }
18913 }
18914 },
18915 "leaf" : 1,
18916 "path" : "/nodes/{node}/qemu/{vmid}/pending",
18917 "text" : "pending"
18918 },
18919 {
18920 "info" : {
18921 "PUT" : {
e9cd3bd4 18922 "allowtoken" : 1,
4d47f125
TL
18923 "description" : "Unlink/delete disk images.",
18924 "method" : "PUT",
18925 "name" : "unlink",
18926 "parameters" : {
18927 "additionalProperties" : 0,
18928 "properties" : {
18929 "force" : {
18930 "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.",
18931 "optional" : 1,
18932 "type" : "boolean",
18933 "typetext" : "<boolean>"
18934 },
18935 "idlist" : {
18936 "description" : "A list of disk IDs you want to delete.",
18937 "format" : "pve-configid-list",
18938 "type" : "string",
18939 "typetext" : "<string>"
18940 },
18941 "node" : {
18942 "description" : "The cluster node name.",
18943 "format" : "pve-node",
18944 "type" : "string",
18945 "typetext" : "<string>"
18946 },
18947 "vmid" : {
18948 "description" : "The (unique) ID of the VM.",
18949 "format" : "pve-vmid",
18950 "minimum" : 1,
18951 "type" : "integer",
18952 "typetext" : "<integer> (1 - N)"
18953 }
18954 }
18955 },
18956 "permissions" : {
18957 "check" : [
18958 "perm",
18959 "/vms/{vmid}",
18960 [
18961 "VM.Config.Disk"
18962 ]
18963 ]
18964 },
18965 "protected" : 1,
18966 "proxyto" : "node",
18967 "returns" : {
18968 "type" : "null"
18969 }
18970 }
18971 },
18972 "leaf" : 1,
18973 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
18974 "text" : "unlink"
18975 },
18976 {
18977 "info" : {
18978 "POST" : {
e9cd3bd4 18979 "allowtoken" : 1,
4d47f125
TL
18980 "description" : "Creates a TCP VNC proxy connections.",
18981 "method" : "POST",
18982 "name" : "vncproxy",
18983 "parameters" : {
18984 "additionalProperties" : 0,
18985 "properties" : {
ac70d7d1
TL
18986 "generate-password" : {
18987 "default" : 0,
18988 "description" : "Generates a random password to be used as ticket instead of the API ticket.",
18989 "optional" : 1,
18990 "type" : "boolean",
18991 "typetext" : "<boolean>"
18992 },
4d47f125
TL
18993 "node" : {
18994 "description" : "The cluster node name.",
18995 "format" : "pve-node",
18996 "type" : "string",
18997 "typetext" : "<string>"
18998 },
18999 "vmid" : {
19000 "description" : "The (unique) ID of the VM.",
19001 "format" : "pve-vmid",
19002 "minimum" : 1,
19003 "type" : "integer",
19004 "typetext" : "<integer> (1 - N)"
19005 },
19006 "websocket" : {
19007 "description" : "starts websockify instead of vncproxy",
19008 "optional" : 1,
19009 "type" : "boolean",
19010 "typetext" : "<boolean>"
19011 }
19012 }
19013 },
19014 "permissions" : {
19015 "check" : [
19016 "perm",
19017 "/vms/{vmid}",
19018 [
19019 "VM.Console"
19020 ]
19021 ]
19022 },
19023 "protected" : 1,
19024 "returns" : {
19025 "additionalProperties" : 0,
19026 "properties" : {
19027 "cert" : {
19028 "type" : "string"
19029 },
ac70d7d1
TL
19030 "password" : {
19031 "description" : "Returned if requested with 'generate-password' param. Consists of printable ASCII characters ('!' .. '~').",
19032 "optional" : 1,
19033 "type" : "string"
19034 },
4d47f125
TL
19035 "port" : {
19036 "type" : "integer"
19037 },
19038 "ticket" : {
19039 "type" : "string"
19040 },
19041 "upid" : {
19042 "type" : "string"
19043 },
19044 "user" : {
19045 "type" : "string"
19046 }
19047 }
19048 }
19049 }
19050 },
19051 "leaf" : 1,
19052 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
19053 "text" : "vncproxy"
19054 },
19055 {
19056 "info" : {
19057 "POST" : {
e9cd3bd4 19058 "allowtoken" : 1,
4d47f125
TL
19059 "description" : "Creates a TCP proxy connections.",
19060 "method" : "POST",
19061 "name" : "termproxy",
19062 "parameters" : {
19063 "additionalProperties" : 0,
19064 "properties" : {
19065 "node" : {
19066 "description" : "The cluster node name.",
19067 "format" : "pve-node",
19068 "type" : "string",
19069 "typetext" : "<string>"
19070 },
19071 "serial" : {
19072 "description" : "opens a serial terminal (defaults to display)",
19073 "enum" : [
19074 "serial0",
19075 "serial1",
19076 "serial2",
19077 "serial3"
19078 ],
19079 "optional" : 1,
19080 "type" : "string"
19081 },
19082 "vmid" : {
19083 "description" : "The (unique) ID of the VM.",
19084 "format" : "pve-vmid",
19085 "minimum" : 1,
19086 "type" : "integer",
19087 "typetext" : "<integer> (1 - N)"
19088 }
19089 }
19090 },
19091 "permissions" : {
19092 "check" : [
19093 "perm",
19094 "/vms/{vmid}",
19095 [
19096 "VM.Console"
19097 ]
19098 ]
19099 },
19100 "protected" : 1,
19101 "returns" : {
19102 "additionalProperties" : 0,
19103 "properties" : {
19104 "port" : {
19105 "type" : "integer"
19106 },
19107 "ticket" : {
19108 "type" : "string"
19109 },
19110 "upid" : {
19111 "type" : "string"
19112 },
19113 "user" : {
19114 "type" : "string"
19115 }
19116 }
19117 }
19118 }
19119 },
19120 "leaf" : 1,
19121 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
19122 "text" : "termproxy"
19123 },
19124 {
19125 "info" : {
19126 "GET" : {
e9cd3bd4 19127 "allowtoken" : 1,
4d47f125
TL
19128 "description" : "Opens a weksocket for VNC traffic.",
19129 "method" : "GET",
19130 "name" : "vncwebsocket",
19131 "parameters" : {
19132 "additionalProperties" : 0,
19133 "properties" : {
19134 "node" : {
19135 "description" : "The cluster node name.",
19136 "format" : "pve-node",
19137 "type" : "string",
19138 "typetext" : "<string>"
19139 },
19140 "port" : {
19141 "description" : "Port number returned by previous vncproxy call.",
19142 "maximum" : 5999,
19143 "minimum" : 5900,
19144 "type" : "integer",
19145 "typetext" : "<integer> (5900 - 5999)"
19146 },
19147 "vmid" : {
19148 "description" : "The (unique) ID of the VM.",
19149 "format" : "pve-vmid",
19150 "minimum" : 1,
19151 "type" : "integer",
19152 "typetext" : "<integer> (1 - N)"
19153 },
19154 "vncticket" : {
19155 "description" : "Ticket from previous call to vncproxy.",
19156 "maxLength" : 512,
19157 "type" : "string",
19158 "typetext" : "<string>"
19159 }
19160 }
19161 },
19162 "permissions" : {
19163 "check" : [
19164 "perm",
19165 "/vms/{vmid}",
19166 [
19167 "VM.Console"
19168 ]
19169 ],
19170 "description" : "You also need to pass a valid ticket (vncticket)."
19171 },
19172 "returns" : {
19173 "properties" : {
19174 "port" : {
19175 "type" : "string"
19176 }
19177 },
19178 "type" : "object"
19179 }
19180 }
19181 },
19182 "leaf" : 1,
19183 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
19184 "text" : "vncwebsocket"
19185 },
19186 {
19187 "info" : {
19188 "POST" : {
e9cd3bd4 19189 "allowtoken" : 1,
4d47f125
TL
19190 "description" : "Returns a SPICE configuration to connect to the VM.",
19191 "method" : "POST",
19192 "name" : "spiceproxy",
19193 "parameters" : {
19194 "additionalProperties" : 0,
19195 "properties" : {
19196 "node" : {
19197 "description" : "The cluster node name.",
19198 "format" : "pve-node",
19199 "type" : "string",
19200 "typetext" : "<string>"
19201 },
19202 "proxy" : {
19203 "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).",
19204 "format" : "address",
19205 "optional" : 1,
19206 "type" : "string",
19207 "typetext" : "<string>"
19208 },
19209 "vmid" : {
19210 "description" : "The (unique) ID of the VM.",
19211 "format" : "pve-vmid",
19212 "minimum" : 1,
19213 "type" : "integer",
19214 "typetext" : "<integer> (1 - N)"
19215 }
19216 }
19217 },
19218 "permissions" : {
19219 "check" : [
19220 "perm",
19221 "/vms/{vmid}",
19222 [
19223 "VM.Console"
19224 ]
19225 ]
19226 },
19227 "protected" : 1,
19228 "proxyto" : "node",
19229 "returns" : {
19230 "additionalProperties" : 1,
19231 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
19232 "properties" : {
19233 "host" : {
19234 "type" : "string"
19235 },
19236 "password" : {
19237 "type" : "string"
19238 },
19239 "proxy" : {
19240 "type" : "string"
19241 },
19242 "tls-port" : {
19243 "type" : "integer"
19244 },
19245 "type" : {
19246 "type" : "string"
19247 }
19248 }
19249 }
19250 }
19251 },
19252 "leaf" : 1,
19253 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
19254 "text" : "spiceproxy"
19255 },
19256 {
19257 "children" : [
19258 {
19259 "info" : {
19260 "GET" : {
e9cd3bd4 19261 "allowtoken" : 1,
4d47f125
TL
19262 "description" : "Get virtual machine status.",
19263 "method" : "GET",
19264 "name" : "vm_status",
19265 "parameters" : {
19266 "additionalProperties" : 0,
19267 "properties" : {
19268 "node" : {
19269 "description" : "The cluster node name.",
19270 "format" : "pve-node",
19271 "type" : "string",
19272 "typetext" : "<string>"
19273 },
19274 "vmid" : {
19275 "description" : "The (unique) ID of the VM.",
19276 "format" : "pve-vmid",
19277 "minimum" : 1,
19278 "type" : "integer",
19279 "typetext" : "<integer> (1 - N)"
19280 }
19281 }
19282 },
19283 "permissions" : {
19284 "check" : [
19285 "perm",
19286 "/vms/{vmid}",
19287 [
19288 "VM.Audit"
19289 ]
19290 ]
19291 },
19292 "protected" : 1,
19293 "proxyto" : "node",
19294 "returns" : {
19295 "properties" : {
19296 "agent" : {
19297 "description" : "Qemu GuestAgent enabled in config.",
19298 "optional" : 1,
19299 "type" : "boolean"
19300 },
19301 "cpus" : {
19302 "description" : "Maximum usable CPUs.",
19303 "optional" : 1,
19304 "type" : "number"
19305 },
19306 "ha" : {
19307 "description" : "HA manager service status.",
19308 "type" : "object"
19309 },
95895385
TL
19310 "lock" : {
19311 "description" : "The current config lock, if any.",
19312 "optional" : 1,
19313 "type" : "string"
19314 },
4d47f125
TL
19315 "maxdisk" : {
19316 "description" : "Root disk size in bytes.",
19317 "optional" : 1,
19318 "renderer" : "bytes",
19319 "type" : "integer"
19320 },
19321 "maxmem" : {
19322 "description" : "Maximum memory in bytes.",
19323 "optional" : 1,
19324 "renderer" : "bytes",
19325 "type" : "integer"
19326 },
19327 "name" : {
19328 "description" : "VM name.",
19329 "optional" : 1,
19330 "type" : "string"
19331 },
19332 "pid" : {
19333 "description" : "PID of running qemu process.",
19334 "optional" : 1,
19335 "type" : "integer"
19336 },
19337 "qmpstatus" : {
19338 "description" : "Qemu QMP agent status.",
19339 "optional" : 1,
19340 "type" : "string"
19341 },
d2656385
TL
19342 "running-machine" : {
19343 "description" : "The currently running machine type (if running).",
19344 "optional" : 1,
19345 "type" : "string"
19346 },
19347 "running-qemu" : {
19348 "description" : "The currently running QEMU version (if running).",
19349 "optional" : 1,
19350 "type" : "string"
19351 },
4d47f125
TL
19352 "spice" : {
19353 "description" : "Qemu VGA configuration supports spice.",
19354 "optional" : 1,
19355 "type" : "boolean"
19356 },
19357 "status" : {
19358 "description" : "Qemu process status.",
19359 "enum" : [
19360 "stopped",
19361 "running"
19362 ],
19363 "type" : "string"
19364 },
5c1699e5
TL
19365 "tags" : {
19366 "description" : "The current configured tags, if any",
19367 "optional" : 1,
19368 "type" : "string"
19369 },
4d47f125
TL
19370 "uptime" : {
19371 "description" : "Uptime.",
19372 "optional" : 1,
19373 "renderer" : "duration",
19374 "type" : "integer"
19375 },
19376 "vmid" : {
19377 "description" : "The (unique) ID of the VM.",
19378 "format" : "pve-vmid",
19379 "minimum" : 1,
19380 "type" : "integer"
19381 }
19382 },
19383 "type" : "object"
19384 }
19385 }
19386 },
19387 "leaf" : 1,
19388 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
19389 "text" : "current"
19390 },
19391 {
19392 "info" : {
19393 "POST" : {
e9cd3bd4 19394 "allowtoken" : 1,
4d47f125
TL
19395 "description" : "Start virtual machine.",
19396 "method" : "POST",
19397 "name" : "vm_start",
19398 "parameters" : {
19399 "additionalProperties" : 0,
19400 "properties" : {
c5aa7e14
TL
19401 "force-cpu" : {
19402 "description" : "Override QEMU's -cpu argument with the given string.",
19403 "optional" : 1,
19404 "type" : "string",
19405 "typetext" : "<string>"
19406 },
4d47f125
TL
19407 "machine" : {
19408 "description" : "Specifies the Qemu machine type.",
19409 "maxLength" : 40,
19410 "optional" : 1,
5c1699e5 19411 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
19412 "type" : "string"
19413 },
19414 "migratedfrom" : {
19415 "description" : "The cluster node name.",
19416 "format" : "pve-node",
19417 "optional" : 1,
19418 "type" : "string",
19419 "typetext" : "<string>"
19420 },
19421 "migration_network" : {
19422 "description" : "CIDR of the (sub) network that is used for migration.",
19423 "format" : "CIDR",
19424 "optional" : 1,
19425 "type" : "string",
19426 "typetext" : "<string>"
19427 },
19428 "migration_type" : {
19429 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
19430 "enum" : [
19431 "secure",
19432 "insecure"
19433 ],
19434 "optional" : 1,
19435 "type" : "string"
19436 },
19437 "node" : {
19438 "description" : "The cluster node name.",
19439 "format" : "pve-node",
19440 "type" : "string",
19441 "typetext" : "<string>"
19442 },
19443 "skiplock" : {
19444 "description" : "Ignore locks - only root is allowed to use this option.",
19445 "optional" : 1,
19446 "type" : "boolean",
19447 "typetext" : "<boolean>"
19448 },
19449 "stateuri" : {
19450 "description" : "Some command save/restore state from this location.",
19451 "maxLength" : 128,
19452 "optional" : 1,
19453 "type" : "string",
19454 "typetext" : "<string>"
19455 },
19456 "targetstorage" : {
c5aa7e14
TL
19457 "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.",
19458 "format" : "storagepair-list",
4d47f125
TL
19459 "optional" : 1,
19460 "type" : "string",
19461 "typetext" : "<string>"
19462 },
e9cd3bd4
TL
19463 "timeout" : {
19464 "default" : "max(30, vm memory in GiB)",
19465 "description" : "Wait maximal timeout seconds.",
19466 "minimum" : 0,
19467 "optional" : 1,
19468 "type" : "integer",
19469 "typetext" : "<integer> (0 - N)"
19470 },
4d47f125
TL
19471 "vmid" : {
19472 "description" : "The (unique) ID of the VM.",
19473 "format" : "pve-vmid",
19474 "minimum" : 1,
19475 "type" : "integer",
19476 "typetext" : "<integer> (1 - N)"
19477 }
19478 }
19479 },
19480 "permissions" : {
19481 "check" : [
19482 "perm",
19483 "/vms/{vmid}",
19484 [
19485 "VM.PowerMgmt"
19486 ]
19487 ]
19488 },
19489 "protected" : 1,
19490 "proxyto" : "node",
19491 "returns" : {
19492 "type" : "string"
19493 }
19494 }
19495 },
19496 "leaf" : 1,
19497 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
19498 "text" : "start"
19499 },
19500 {
19501 "info" : {
19502 "POST" : {
e9cd3bd4 19503 "allowtoken" : 1,
4d47f125
TL
19504 "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",
19505 "method" : "POST",
19506 "name" : "vm_stop",
19507 "parameters" : {
19508 "additionalProperties" : 0,
19509 "properties" : {
19510 "keepActive" : {
19511 "default" : 0,
19512 "description" : "Do not deactivate storage volumes.",
19513 "optional" : 1,
19514 "type" : "boolean",
19515 "typetext" : "<boolean>"
19516 },
19517 "migratedfrom" : {
19518 "description" : "The cluster node name.",
19519 "format" : "pve-node",
19520 "optional" : 1,
19521 "type" : "string",
19522 "typetext" : "<string>"
19523 },
19524 "node" : {
19525 "description" : "The cluster node name.",
19526 "format" : "pve-node",
19527 "type" : "string",
19528 "typetext" : "<string>"
19529 },
19530 "skiplock" : {
19531 "description" : "Ignore locks - only root is allowed to use this option.",
19532 "optional" : 1,
19533 "type" : "boolean",
19534 "typetext" : "<boolean>"
19535 },
19536 "timeout" : {
19537 "description" : "Wait maximal timeout seconds.",
19538 "minimum" : 0,
19539 "optional" : 1,
19540 "type" : "integer",
19541 "typetext" : "<integer> (0 - N)"
19542 },
19543 "vmid" : {
19544 "description" : "The (unique) ID of the VM.",
19545 "format" : "pve-vmid",
19546 "minimum" : 1,
19547 "type" : "integer",
19548 "typetext" : "<integer> (1 - N)"
19549 }
19550 }
19551 },
19552 "permissions" : {
19553 "check" : [
19554 "perm",
19555 "/vms/{vmid}",
19556 [
19557 "VM.PowerMgmt"
19558 ]
19559 ]
19560 },
19561 "protected" : 1,
19562 "proxyto" : "node",
19563 "returns" : {
19564 "type" : "string"
19565 }
19566 }
19567 },
19568 "leaf" : 1,
19569 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
19570 "text" : "stop"
19571 },
19572 {
19573 "info" : {
19574 "POST" : {
e9cd3bd4 19575 "allowtoken" : 1,
4d47f125
TL
19576 "description" : "Reset virtual machine.",
19577 "method" : "POST",
19578 "name" : "vm_reset",
19579 "parameters" : {
19580 "additionalProperties" : 0,
19581 "properties" : {
19582 "node" : {
19583 "description" : "The cluster node name.",
19584 "format" : "pve-node",
19585 "type" : "string",
19586 "typetext" : "<string>"
19587 },
19588 "skiplock" : {
19589 "description" : "Ignore locks - only root is allowed to use this option.",
19590 "optional" : 1,
19591 "type" : "boolean",
19592 "typetext" : "<boolean>"
19593 },
19594 "vmid" : {
19595 "description" : "The (unique) ID of the VM.",
19596 "format" : "pve-vmid",
19597 "minimum" : 1,
19598 "type" : "integer",
19599 "typetext" : "<integer> (1 - N)"
19600 }
19601 }
19602 },
19603 "permissions" : {
19604 "check" : [
19605 "perm",
19606 "/vms/{vmid}",
19607 [
19608 "VM.PowerMgmt"
19609 ]
19610 ]
19611 },
19612 "protected" : 1,
19613 "proxyto" : "node",
19614 "returns" : {
19615 "type" : "string"
19616 }
19617 }
19618 },
19619 "leaf" : 1,
19620 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
19621 "text" : "reset"
19622 },
19623 {
19624 "info" : {
19625 "POST" : {
e9cd3bd4 19626 "allowtoken" : 1,
4d47f125
TL
19627 "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.",
19628 "method" : "POST",
19629 "name" : "vm_shutdown",
19630 "parameters" : {
19631 "additionalProperties" : 0,
19632 "properties" : {
19633 "forceStop" : {
19634 "default" : 0,
19635 "description" : "Make sure the VM stops.",
19636 "optional" : 1,
19637 "type" : "boolean",
19638 "typetext" : "<boolean>"
19639 },
19640 "keepActive" : {
19641 "default" : 0,
19642 "description" : "Do not deactivate storage volumes.",
19643 "optional" : 1,
19644 "type" : "boolean",
19645 "typetext" : "<boolean>"
19646 },
19647 "node" : {
19648 "description" : "The cluster node name.",
19649 "format" : "pve-node",
19650 "type" : "string",
19651 "typetext" : "<string>"
19652 },
19653 "skiplock" : {
19654 "description" : "Ignore locks - only root is allowed to use this option.",
19655 "optional" : 1,
19656 "type" : "boolean",
19657 "typetext" : "<boolean>"
19658 },
19659 "timeout" : {
19660 "description" : "Wait maximal timeout seconds.",
19661 "minimum" : 0,
19662 "optional" : 1,
19663 "type" : "integer",
19664 "typetext" : "<integer> (0 - N)"
19665 },
19666 "vmid" : {
19667 "description" : "The (unique) ID of the VM.",
19668 "format" : "pve-vmid",
19669 "minimum" : 1,
19670 "type" : "integer",
19671 "typetext" : "<integer> (1 - N)"
19672 }
19673 }
19674 },
19675 "permissions" : {
19676 "check" : [
19677 "perm",
19678 "/vms/{vmid}",
19679 [
19680 "VM.PowerMgmt"
19681 ]
19682 ]
19683 },
19684 "protected" : 1,
19685 "proxyto" : "node",
19686 "returns" : {
19687 "type" : "string"
19688 }
19689 }
19690 },
19691 "leaf" : 1,
19692 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
19693 "text" : "shutdown"
19694 },
1c532546
TL
19695 {
19696 "info" : {
19697 "POST" : {
e9cd3bd4 19698 "allowtoken" : 1,
1c532546
TL
19699 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
19700 "method" : "POST",
19701 "name" : "vm_reboot",
19702 "parameters" : {
19703 "additionalProperties" : 0,
19704 "properties" : {
19705 "node" : {
19706 "description" : "The cluster node name.",
19707 "format" : "pve-node",
19708 "type" : "string",
19709 "typetext" : "<string>"
19710 },
19711 "timeout" : {
19712 "description" : "Wait maximal timeout seconds for the shutdown.",
19713 "minimum" : 0,
19714 "optional" : 1,
19715 "type" : "integer",
19716 "typetext" : "<integer> (0 - N)"
19717 },
19718 "vmid" : {
19719 "description" : "The (unique) ID of the VM.",
19720 "format" : "pve-vmid",
19721 "minimum" : 1,
19722 "type" : "integer",
19723 "typetext" : "<integer> (1 - N)"
19724 }
19725 }
19726 },
19727 "permissions" : {
19728 "check" : [
19729 "perm",
19730 "/vms/{vmid}",
19731 [
19732 "VM.PowerMgmt"
19733 ]
19734 ]
19735 },
19736 "protected" : 1,
19737 "proxyto" : "node",
19738 "returns" : {
19739 "type" : "string"
19740 }
19741 }
19742 },
19743 "leaf" : 1,
19744 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
19745 "text" : "reboot"
19746 },
4d47f125
TL
19747 {
19748 "info" : {
19749 "POST" : {
e9cd3bd4 19750 "allowtoken" : 1,
4d47f125
TL
19751 "description" : "Suspend virtual machine.",
19752 "method" : "POST",
19753 "name" : "vm_suspend",
19754 "parameters" : {
19755 "additionalProperties" : 0,
19756 "properties" : {
19757 "node" : {
19758 "description" : "The cluster node name.",
19759 "format" : "pve-node",
19760 "type" : "string",
19761 "typetext" : "<string>"
19762 },
19763 "skiplock" : {
19764 "description" : "Ignore locks - only root is allowed to use this option.",
19765 "optional" : 1,
19766 "type" : "boolean",
19767 "typetext" : "<boolean>"
19768 },
95895385
TL
19769 "statestorage" : {
19770 "description" : "The storage for the VM state",
19771 "format" : "pve-storage-id",
19772 "optional" : 1,
19773 "requires" : "todisk",
19774 "type" : "string",
19775 "typetext" : "<string>"
19776 },
19777 "todisk" : {
19778 "default" : 0,
19779 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
19780 "optional" : 1,
19781 "type" : "boolean",
19782 "typetext" : "<boolean>"
19783 },
4d47f125
TL
19784 "vmid" : {
19785 "description" : "The (unique) ID of the VM.",
19786 "format" : "pve-vmid",
19787 "minimum" : 1,
19788 "type" : "integer",
19789 "typetext" : "<integer> (1 - N)"
19790 }
19791 }
19792 },
19793 "permissions" : {
19794 "check" : [
19795 "perm",
19796 "/vms/{vmid}",
19797 [
19798 "VM.PowerMgmt"
19799 ]
e9cd3bd4
TL
19800 ],
19801 "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
19802 },
19803 "protected" : 1,
19804 "proxyto" : "node",
19805 "returns" : {
19806 "type" : "string"
19807 }
19808 }
19809 },
19810 "leaf" : 1,
19811 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
19812 "text" : "suspend"
19813 },
19814 {
19815 "info" : {
19816 "POST" : {
e9cd3bd4 19817 "allowtoken" : 1,
4d47f125
TL
19818 "description" : "Resume virtual machine.",
19819 "method" : "POST",
19820 "name" : "vm_resume",
19821 "parameters" : {
19822 "additionalProperties" : 0,
19823 "properties" : {
19824 "nocheck" : {
19825 "optional" : 1,
19826 "type" : "boolean",
19827 "typetext" : "<boolean>"
19828 },
19829 "node" : {
19830 "description" : "The cluster node name.",
19831 "format" : "pve-node",
19832 "type" : "string",
19833 "typetext" : "<string>"
19834 },
19835 "skiplock" : {
19836 "description" : "Ignore locks - only root is allowed to use this option.",
19837 "optional" : 1,
19838 "type" : "boolean",
19839 "typetext" : "<boolean>"
19840 },
19841 "vmid" : {
19842 "description" : "The (unique) ID of the VM.",
19843 "format" : "pve-vmid",
19844 "minimum" : 1,
19845 "type" : "integer",
19846 "typetext" : "<integer> (1 - N)"
19847 }
19848 }
19849 },
19850 "permissions" : {
19851 "check" : [
19852 "perm",
19853 "/vms/{vmid}",
19854 [
19855 "VM.PowerMgmt"
19856 ]
19857 ]
19858 },
19859 "protected" : 1,
19860 "proxyto" : "node",
19861 "returns" : {
19862 "type" : "string"
19863 }
19864 }
19865 },
19866 "leaf" : 1,
19867 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
19868 "text" : "resume"
19869 }
19870 ],
19871 "info" : {
19872 "GET" : {
e9cd3bd4 19873 "allowtoken" : 1,
4d47f125
TL
19874 "description" : "Directory index",
19875 "method" : "GET",
19876 "name" : "vmcmdidx",
19877 "parameters" : {
19878 "additionalProperties" : 0,
19879 "properties" : {
19880 "node" : {
19881 "description" : "The cluster node name.",
19882 "format" : "pve-node",
19883 "type" : "string",
19884 "typetext" : "<string>"
19885 },
19886 "vmid" : {
19887 "description" : "The (unique) ID of the VM.",
19888 "format" : "pve-vmid",
19889 "minimum" : 1,
19890 "type" : "integer",
19891 "typetext" : "<integer> (1 - N)"
19892 }
19893 }
19894 },
19895 "permissions" : {
19896 "user" : "all"
19897 },
19898 "proxyto" : "node",
19899 "returns" : {
19900 "items" : {
19901 "properties" : {
19902 "subdir" : {
19903 "type" : "string"
19904 }
19905 },
19906 "type" : "object"
19907 },
19908 "links" : [
19909 {
19910 "href" : "{subdir}",
19911 "rel" : "child"
19912 }
19913 ],
19914 "type" : "array"
19915 }
19916 }
19917 },
19918 "leaf" : 0,
19919 "path" : "/nodes/{node}/qemu/{vmid}/status",
19920 "text" : "status"
19921 },
19922 {
19923 "info" : {
19924 "PUT" : {
e9cd3bd4 19925 "allowtoken" : 1,
4d47f125
TL
19926 "description" : "Send key event to virtual machine.",
19927 "method" : "PUT",
19928 "name" : "vm_sendkey",
19929 "parameters" : {
19930 "additionalProperties" : 0,
19931 "properties" : {
19932 "key" : {
19933 "description" : "The key (qemu monitor encoding).",
19934 "type" : "string",
19935 "typetext" : "<string>"
19936 },
19937 "node" : {
19938 "description" : "The cluster node name.",
19939 "format" : "pve-node",
19940 "type" : "string",
19941 "typetext" : "<string>"
19942 },
19943 "skiplock" : {
19944 "description" : "Ignore locks - only root is allowed to use this option.",
19945 "optional" : 1,
19946 "type" : "boolean",
19947 "typetext" : "<boolean>"
19948 },
19949 "vmid" : {
19950 "description" : "The (unique) ID of the VM.",
19951 "format" : "pve-vmid",
19952 "minimum" : 1,
19953 "type" : "integer",
19954 "typetext" : "<integer> (1 - N)"
19955 }
19956 }
19957 },
19958 "permissions" : {
19959 "check" : [
19960 "perm",
19961 "/vms/{vmid}",
19962 [
19963 "VM.Console"
19964 ]
19965 ]
19966 },
19967 "protected" : 1,
19968 "proxyto" : "node",
19969 "returns" : {
19970 "type" : "null"
19971 }
19972 }
19973 },
19974 "leaf" : 1,
19975 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
19976 "text" : "sendkey"
19977 },
19978 {
19979 "info" : {
19980 "GET" : {
e9cd3bd4 19981 "allowtoken" : 1,
4d47f125
TL
19982 "description" : "Check if feature for virtual machine is available.",
19983 "method" : "GET",
19984 "name" : "vm_feature",
19985 "parameters" : {
19986 "additionalProperties" : 0,
19987 "properties" : {
19988 "feature" : {
19989 "description" : "Feature to check.",
19990 "enum" : [
19991 "snapshot",
19992 "clone",
19993 "copy"
19994 ],
19995 "type" : "string"
19996 },
19997 "node" : {
19998 "description" : "The cluster node name.",
19999 "format" : "pve-node",
20000 "type" : "string",
20001 "typetext" : "<string>"
20002 },
20003 "snapname" : {
20004 "description" : "The name of the snapshot.",
20005 "format" : "pve-configid",
20006 "maxLength" : 40,
20007 "optional" : 1,
20008 "type" : "string",
20009 "typetext" : "<string>"
20010 },
20011 "vmid" : {
20012 "description" : "The (unique) ID of the VM.",
20013 "format" : "pve-vmid",
20014 "minimum" : 1,
20015 "type" : "integer",
20016 "typetext" : "<integer> (1 - N)"
20017 }
20018 }
20019 },
20020 "permissions" : {
20021 "check" : [
20022 "perm",
20023 "/vms/{vmid}",
20024 [
20025 "VM.Audit"
20026 ]
20027 ]
20028 },
20029 "protected" : 1,
20030 "proxyto" : "node",
20031 "returns" : {
20032 "properties" : {
20033 "hasFeature" : {
20034 "type" : "boolean"
20035 },
20036 "nodes" : {
20037 "items" : {
20038 "type" : "string"
20039 },
20040 "type" : "array"
20041 }
20042 },
20043 "type" : "object"
20044 }
20045 }
20046 },
20047 "leaf" : 1,
20048 "path" : "/nodes/{node}/qemu/{vmid}/feature",
20049 "text" : "feature"
20050 },
20051 {
20052 "info" : {
20053 "POST" : {
e9cd3bd4 20054 "allowtoken" : 1,
4d47f125
TL
20055 "description" : "Create a copy of virtual machine/template.",
20056 "method" : "POST",
20057 "name" : "clone_vm",
20058 "parameters" : {
20059 "additionalProperties" : 0,
20060 "properties" : {
95895385
TL
20061 "bwlimit" : {
20062 "default" : "clone limit from datacenter or storage config",
20063 "description" : "Override I/O bandwidth limit (in KiB/s).",
20064 "minimum" : "0",
20065 "optional" : 1,
20066 "type" : "integer",
20067 "typetext" : "<integer> (0 - N)"
20068 },
4d47f125
TL
20069 "description" : {
20070 "description" : "Description for the new VM.",
20071 "optional" : 1,
20072 "type" : "string",
20073 "typetext" : "<string>"
20074 },
20075 "format" : {
20076 "description" : "Target format for file storage. Only valid for full clone.",
20077 "enum" : [
20078 "raw",
20079 "qcow2",
20080 "vmdk"
20081 ],
20082 "optional" : 1,
20083 "type" : "string"
20084 },
20085 "full" : {
20086 "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.",
20087 "optional" : 1,
20088 "type" : "boolean",
20089 "typetext" : "<boolean>"
20090 },
20091 "name" : {
20092 "description" : "Set a name for the new VM.",
20093 "format" : "dns-name",
20094 "optional" : 1,
20095 "type" : "string",
20096 "typetext" : "<string>"
20097 },
20098 "newid" : {
20099 "description" : "VMID for the clone.",
20100 "format" : "pve-vmid",
20101 "minimum" : 1,
20102 "type" : "integer",
20103 "typetext" : "<integer> (1 - N)"
20104 },
20105 "node" : {
20106 "description" : "The cluster node name.",
20107 "format" : "pve-node",
20108 "type" : "string",
20109 "typetext" : "<string>"
20110 },
20111 "pool" : {
20112 "description" : "Add the new VM to the specified pool.",
20113 "format" : "pve-poolid",
20114 "optional" : 1,
20115 "type" : "string",
20116 "typetext" : "<string>"
20117 },
20118 "snapname" : {
20119 "description" : "The name of the snapshot.",
20120 "format" : "pve-configid",
20121 "maxLength" : 40,
20122 "optional" : 1,
20123 "type" : "string",
20124 "typetext" : "<string>"
20125 },
20126 "storage" : {
20127 "description" : "Target storage for full clone.",
20128 "format" : "pve-storage-id",
20129 "optional" : 1,
20130 "type" : "string",
20131 "typetext" : "<string>"
20132 },
20133 "target" : {
20134 "description" : "Target node. Only allowed if the original VM is on shared storage.",
20135 "format" : "pve-node",
20136 "optional" : 1,
20137 "type" : "string",
20138 "typetext" : "<string>"
20139 },
20140 "vmid" : {
20141 "description" : "The (unique) ID of the VM.",
20142 "format" : "pve-vmid",
20143 "minimum" : 1,
20144 "type" : "integer",
20145 "typetext" : "<integer> (1 - N)"
20146 }
20147 }
20148 },
20149 "permissions" : {
20150 "check" : [
20151 "and",
20152 [
20153 "perm",
20154 "/vms/{vmid}",
20155 [
20156 "VM.Clone"
20157 ]
20158 ],
20159 [
20160 "or",
20161 [
20162 "perm",
20163 "/vms/{newid}",
20164 [
20165 "VM.Allocate"
20166 ]
20167 ],
20168 [
20169 "perm",
20170 "/pool/{pool}",
20171 [
20172 "VM.Allocate"
20173 ],
20174 "require_param",
20175 "pool"
20176 ]
20177 ]
20178 ],
20179 "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."
20180 },
20181 "protected" : 1,
20182 "proxyto" : "node",
20183 "returns" : {
20184 "type" : "string"
20185 }
20186 }
20187 },
20188 "leaf" : 1,
20189 "path" : "/nodes/{node}/qemu/{vmid}/clone",
20190 "text" : "clone"
20191 },
20192 {
20193 "info" : {
20194 "POST" : {
e9cd3bd4 20195 "allowtoken" : 1,
4d47f125
TL
20196 "description" : "Move volume to different storage.",
20197 "method" : "POST",
20198 "name" : "move_vm_disk",
20199 "parameters" : {
20200 "additionalProperties" : 0,
20201 "properties" : {
95895385
TL
20202 "bwlimit" : {
20203 "default" : "move limit from datacenter or storage config",
20204 "description" : "Override I/O bandwidth limit (in KiB/s).",
20205 "minimum" : "0",
20206 "optional" : 1,
20207 "type" : "integer",
20208 "typetext" : "<integer> (0 - N)"
20209 },
4d47f125
TL
20210 "delete" : {
20211 "default" : 0,
20212 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
20213 "optional" : 1,
20214 "type" : "boolean",
20215 "typetext" : "<boolean>"
20216 },
20217 "digest" : {
20218 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20219 "maxLength" : 40,
20220 "optional" : 1,
20221 "type" : "string",
20222 "typetext" : "<string>"
20223 },
20224 "disk" : {
20225 "description" : "The disk you want to move.",
20226 "enum" : [
20227 "ide0",
20228 "ide1",
20229 "ide2",
20230 "ide3",
20231 "scsi0",
20232 "scsi1",
20233 "scsi2",
20234 "scsi3",
20235 "scsi4",
20236 "scsi5",
20237 "scsi6",
20238 "scsi7",
20239 "scsi8",
20240 "scsi9",
20241 "scsi10",
20242 "scsi11",
20243 "scsi12",
20244 "scsi13",
e9cd3bd4
TL
20245 "scsi14",
20246 "scsi15",
20247 "scsi16",
20248 "scsi17",
20249 "scsi18",
20250 "scsi19",
20251 "scsi20",
20252 "scsi21",
20253 "scsi22",
20254 "scsi23",
20255 "scsi24",
20256 "scsi25",
20257 "scsi26",
20258 "scsi27",
20259 "scsi28",
20260 "scsi29",
20261 "scsi30",
4d47f125
TL
20262 "virtio0",
20263 "virtio1",
20264 "virtio2",
20265 "virtio3",
20266 "virtio4",
20267 "virtio5",
20268 "virtio6",
20269 "virtio7",
20270 "virtio8",
20271 "virtio9",
20272 "virtio10",
20273 "virtio11",
20274 "virtio12",
20275 "virtio13",
20276 "virtio14",
20277 "virtio15",
20278 "sata0",
20279 "sata1",
20280 "sata2",
20281 "sata3",
20282 "sata4",
20283 "sata5",
20284 "efidisk0"
20285 ],
20286 "type" : "string"
20287 },
20288 "format" : {
20289 "description" : "Target Format.",
20290 "enum" : [
20291 "raw",
20292 "qcow2",
20293 "vmdk"
20294 ],
20295 "optional" : 1,
20296 "type" : "string"
20297 },
20298 "node" : {
20299 "description" : "The cluster node name.",
20300 "format" : "pve-node",
20301 "type" : "string",
20302 "typetext" : "<string>"
20303 },
20304 "storage" : {
20305 "description" : "Target storage.",
20306 "format" : "pve-storage-id",
20307 "type" : "string",
20308 "typetext" : "<string>"
20309 },
20310 "vmid" : {
20311 "description" : "The (unique) ID of the VM.",
20312 "format" : "pve-vmid",
20313 "minimum" : 1,
20314 "type" : "integer",
20315 "typetext" : "<integer> (1 - N)"
20316 }
20317 }
20318 },
20319 "permissions" : {
20320 "check" : [
20321 "and",
20322 [
20323 "perm",
20324 "/vms/{vmid}",
20325 [
20326 "VM.Config.Disk"
20327 ]
20328 ],
20329 [
20330 "perm",
20331 "/storage/{storage}",
20332 [
20333 "Datastore.AllocateSpace"
20334 ]
20335 ]
20336 ],
20337 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
20338 },
20339 "protected" : 1,
20340 "proxyto" : "node",
20341 "returns" : {
20342 "description" : "the task ID.",
20343 "type" : "string"
20344 }
20345 }
20346 },
20347 "leaf" : 1,
20348 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
20349 "text" : "move_disk"
20350 },
20351 {
20352 "info" : {
1e3f8156 20353 "GET" : {
e9cd3bd4 20354 "allowtoken" : 1,
1e3f8156
TL
20355 "description" : "Get preconditions for migration.",
20356 "method" : "GET",
20357 "name" : "migrate_vm_precondition",
20358 "parameters" : {
20359 "additionalProperties" : 0,
20360 "properties" : {
20361 "node" : {
20362 "description" : "The cluster node name.",
20363 "format" : "pve-node",
20364 "type" : "string",
20365 "typetext" : "<string>"
20366 },
20367 "target" : {
20368 "description" : "Target node.",
20369 "format" : "pve-node",
20370 "optional" : 1,
20371 "type" : "string",
20372 "typetext" : "<string>"
20373 },
20374 "vmid" : {
20375 "description" : "The (unique) ID of the VM.",
20376 "format" : "pve-vmid",
20377 "minimum" : 1,
20378 "type" : "integer",
20379 "typetext" : "<integer> (1 - N)"
20380 }
20381 }
20382 },
20383 "permissions" : {
20384 "check" : [
20385 "perm",
20386 "/vms/{vmid}",
20387 [
20388 "VM.Migrate"
20389 ]
20390 ]
20391 },
20392 "protected" : 1,
20393 "proxyto" : "node",
20394 "returns" : {
20395 "properties" : {
20396 "allowed_nodes" : {
9226ccbc 20397 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
20398 "optional" : 1,
20399 "type" : "array"
20400 },
20401 "local_disks" : {
20402 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
20403 "type" : "array"
20404 },
20405 "local_resources" : {
20406 "description" : "List local resources e.g. pci, usb",
20407 "type" : "array"
20408 },
9226ccbc
TL
20409 "not_allowed_nodes" : {
20410 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
20411 "optional" : 1,
20412 "type" : "object"
20413 },
1e3f8156
TL
20414 "running" : {
20415 "type" : "boolean"
20416 }
20417 },
20418 "type" : "object"
20419 }
20420 },
4d47f125 20421 "POST" : {
e9cd3bd4 20422 "allowtoken" : 1,
4d47f125
TL
20423 "description" : "Migrate virtual machine. Creates a new migration task.",
20424 "method" : "POST",
20425 "name" : "migrate_vm",
20426 "parameters" : {
20427 "additionalProperties" : 0,
20428 "properties" : {
95895385
TL
20429 "bwlimit" : {
20430 "default" : "migrate limit from datacenter or storage config",
20431 "description" : "Override I/O bandwidth limit (in KiB/s).",
20432 "minimum" : "0",
20433 "optional" : 1,
20434 "type" : "integer",
20435 "typetext" : "<integer> (0 - N)"
20436 },
4d47f125
TL
20437 "force" : {
20438 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
20439 "optional" : 1,
20440 "type" : "boolean",
20441 "typetext" : "<boolean>"
20442 },
20443 "migration_network" : {
20444 "description" : "CIDR of the (sub) network that is used for migration.",
20445 "format" : "CIDR",
20446 "optional" : 1,
20447 "type" : "string",
20448 "typetext" : "<string>"
20449 },
20450 "migration_type" : {
20451 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
20452 "enum" : [
20453 "secure",
20454 "insecure"
20455 ],
20456 "optional" : 1,
20457 "type" : "string"
20458 },
20459 "node" : {
20460 "description" : "The cluster node name.",
20461 "format" : "pve-node",
20462 "type" : "string",
20463 "typetext" : "<string>"
20464 },
20465 "online" : {
1c532546 20466 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
20467 "optional" : 1,
20468 "type" : "boolean",
20469 "typetext" : "<boolean>"
20470 },
20471 "target" : {
20472 "description" : "Target node.",
20473 "format" : "pve-node",
20474 "type" : "string",
20475 "typetext" : "<string>"
20476 },
20477 "targetstorage" : {
c5aa7e14
TL
20478 "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.",
20479 "format" : "storagepair-list",
4d47f125 20480 "optional" : 1,
52e44c50
FG
20481 "type" : "string",
20482 "typetext" : "<string>"
20483 },
7aacca6f 20484 "vmid" : {
7aacca6f 20485 "description" : "The (unique) ID of the VM.",
44660702 20486 "format" : "pve-vmid",
7aacca6f 20487 "minimum" : 1,
4bd7df8b 20488 "type" : "integer",
013dc89f 20489 "typetext" : "<integer> (1 - N)"
52e44c50
FG
20490 },
20491 "with-local-disks" : {
20492 "description" : "Enable live storage migration for local disk",
20493 "optional" : 1,
20494 "type" : "boolean",
20495 "typetext" : "<boolean>"
56122987 20496 }
44660702
DM
20497 }
20498 },
20499 "permissions" : {
20500 "check" : [
20501 "perm",
20502 "/vms/{vmid}",
20503 [
20504 "VM.Migrate"
20505 ]
20506 ]
56122987
DM
20507 },
20508 "protected" : 1,
44660702
DM
20509 "proxyto" : "node",
20510 "returns" : {
20511 "description" : "the task ID.",
20512 "type" : "string"
20513 }
56122987 20514 }
7aacca6f 20515 },
44660702
DM
20516 "leaf" : 1,
20517 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 20518 "text" : "migrate"
56122987
DM
20519 },
20520 {
20521 "info" : {
20522 "POST" : {
e9cd3bd4 20523 "allowtoken" : 1,
44660702 20524 "description" : "Execute Qemu monitor commands.",
56122987 20525 "method" : "POST",
44660702 20526 "name" : "monitor",
56122987 20527 "parameters" : {
7aacca6f 20528 "additionalProperties" : 0,
56122987 20529 "properties" : {
44660702
DM
20530 "command" : {
20531 "description" : "The monitor command.",
013dc89f
DM
20532 "type" : "string",
20533 "typetext" : "<string>"
44660702 20534 },
56122987 20535 "node" : {
44660702 20536 "description" : "The cluster node name.",
7aacca6f 20537 "format" : "pve-node",
013dc89f
DM
20538 "type" : "string",
20539 "typetext" : "<string>"
56122987
DM
20540 },
20541 "vmid" : {
44660702 20542 "description" : "The (unique) ID of the VM.",
56122987 20543 "format" : "pve-vmid",
7aacca6f 20544 "minimum" : 1,
4bd7df8b 20545 "type" : "integer",
013dc89f 20546 "typetext" : "<integer> (1 - N)"
56122987 20547 }
7aacca6f 20548 }
56122987 20549 },
56122987
DM
20550 "permissions" : {
20551 "check" : [
20552 "perm",
20553 "/vms/{vmid}",
20554 [
20555 "VM.Monitor"
20556 ]
32d876b5
DM
20557 ],
20558 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 20559 },
44660702
DM
20560 "protected" : 1,
20561 "proxyto" : "node",
20562 "returns" : {
20563 "type" : "string"
20564 }
56122987 20565 }
44660702
DM
20566 },
20567 "leaf" : 1,
20568 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
20569 "text" : "monitor"
56122987
DM
20570 },
20571 {
56122987
DM
20572 "info" : {
20573 "PUT" : {
e9cd3bd4 20574 "allowtoken" : 1,
44660702
DM
20575 "description" : "Extend volume size.",
20576 "method" : "PUT",
20577 "name" : "resize_vm",
56122987 20578 "parameters" : {
44660702 20579 "additionalProperties" : 0,
56122987 20580 "properties" : {
44660702
DM
20581 "digest" : {
20582 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20583 "maxLength" : 40,
20584 "optional" : 1,
013dc89f
DM
20585 "type" : "string",
20586 "typetext" : "<string>"
56122987 20587 },
56122987
DM
20588 "disk" : {
20589 "description" : "The disk you want to resize.",
20590 "enum" : [
20591 "ide0",
20592 "ide1",
20593 "ide2",
20594 "ide3",
20595 "scsi0",
20596 "scsi1",
20597 "scsi2",
20598 "scsi3",
20599 "scsi4",
20600 "scsi5",
20601 "scsi6",
20602 "scsi7",
20603 "scsi8",
20604 "scsi9",
20605 "scsi10",
20606 "scsi11",
20607 "scsi12",
20608 "scsi13",
e9cd3bd4
TL
20609 "scsi14",
20610 "scsi15",
20611 "scsi16",
20612 "scsi17",
20613 "scsi18",
20614 "scsi19",
20615 "scsi20",
20616 "scsi21",
20617 "scsi22",
20618 "scsi23",
20619 "scsi24",
20620 "scsi25",
20621 "scsi26",
20622 "scsi27",
20623 "scsi28",
20624 "scsi29",
20625 "scsi30",
56122987
DM
20626 "virtio0",
20627 "virtio1",
20628 "virtio2",
20629 "virtio3",
20630 "virtio4",
20631 "virtio5",
20632 "virtio6",
20633 "virtio7",
20634 "virtio8",
20635 "virtio9",
20636 "virtio10",
20637 "virtio11",
20638 "virtio12",
20639 "virtio13",
20640 "virtio14",
20641 "virtio15",
20642 "sata0",
20643 "sata1",
20644 "sata2",
20645 "sata3",
20646 "sata4",
2c0dde61
DM
20647 "sata5",
20648 "efidisk0"
44660702
DM
20649 ],
20650 "type" : "string"
56122987 20651 },
44660702
DM
20652 "node" : {
20653 "description" : "The cluster node name.",
20654 "format" : "pve-node",
013dc89f
DM
20655 "type" : "string",
20656 "typetext" : "<string>"
7aacca6f 20657 },
44660702 20658 "size" : {
5d9c884c 20659 "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
20660 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
20661 "type" : "string"
56122987
DM
20662 },
20663 "skiplock" : {
20664 "description" : "Ignore locks - only root is allowed to use this option.",
20665 "optional" : 1,
013dc89f
DM
20666 "type" : "boolean",
20667 "typetext" : "<boolean>"
56122987
DM
20668 },
20669 "vmid" : {
7aacca6f 20670 "description" : "The (unique) ID of the VM.",
56122987 20671 "format" : "pve-vmid",
44660702 20672 "minimum" : 1,
4bd7df8b 20673 "type" : "integer",
013dc89f 20674 "typetext" : "<integer> (1 - N)"
56122987
DM
20675 }
20676 }
20677 },
20678 "permissions" : {
20679 "check" : [
20680 "perm",
20681 "/vms/{vmid}",
20682 [
44660702 20683 "VM.Config.Disk"
56122987
DM
20684 ]
20685 ]
20686 },
7aacca6f 20687 "protected" : 1,
7aacca6f 20688 "proxyto" : "node",
44660702
DM
20689 "returns" : {
20690 "type" : "null"
20691 }
7aacca6f
DM
20692 }
20693 },
44660702
DM
20694 "leaf" : 1,
20695 "path" : "/nodes/{node}/qemu/{vmid}/resize",
20696 "text" : "resize"
20697 },
20698 {
56122987
DM
20699 "children" : [
20700 {
20701 "children" : [
20702 {
56122987 20703 "info" : {
44660702 20704 "GET" : {
e9cd3bd4 20705 "allowtoken" : 1,
44660702
DM
20706 "description" : "Get snapshot configuration",
20707 "method" : "GET",
20708 "name" : "get_snapshot_config",
56122987 20709 "parameters" : {
44660702 20710 "additionalProperties" : 0,
56122987 20711 "properties" : {
56122987 20712 "node" : {
44660702 20713 "description" : "The cluster node name.",
56122987 20714 "format" : "pve-node",
013dc89f
DM
20715 "type" : "string",
20716 "typetext" : "<string>"
7aacca6f
DM
20717 },
20718 "snapname" : {
44660702 20719 "description" : "The name of the snapshot.",
7aacca6f 20720 "format" : "pve-configid",
44660702 20721 "maxLength" : 40,
013dc89f
DM
20722 "type" : "string",
20723 "typetext" : "<string>"
7aacca6f
DM
20724 },
20725 "vmid" : {
44660702 20726 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20727 "format" : "pve-vmid",
20728 "minimum" : 1,
4bd7df8b 20729 "type" : "integer",
013dc89f 20730 "typetext" : "<integer> (1 - N)"
56122987 20731 }
44660702 20732 }
56122987
DM
20733 },
20734 "permissions" : {
20735 "check" : [
20736 "perm",
20737 "/vms/{vmid}",
20738 [
2489d6df 20739 "VM.Snapshot",
e9cd3bd4
TL
20740 "VM.Snapshot.Rollback",
20741 "VM.Audit"
2489d6df
WB
20742 ],
20743 "any",
20744 1
56122987
DM
20745 ]
20746 },
44660702 20747 "proxyto" : "node",
56122987 20748 "returns" : {
44660702 20749 "type" : "object"
7aacca6f
DM
20750 }
20751 },
44660702 20752 "PUT" : {
e9cd3bd4 20753 "allowtoken" : 1,
44660702
DM
20754 "description" : "Update snapshot metadata.",
20755 "method" : "PUT",
20756 "name" : "update_snapshot_config",
56122987 20757 "parameters" : {
44660702 20758 "additionalProperties" : 0,
56122987 20759 "properties" : {
44660702
DM
20760 "description" : {
20761 "description" : "A textual description or comment.",
20762 "optional" : 1,
013dc89f
DM
20763 "type" : "string",
20764 "typetext" : "<string>"
44660702 20765 },
56122987 20766 "node" : {
7aacca6f 20767 "description" : "The cluster node name.",
44660702 20768 "format" : "pve-node",
013dc89f
DM
20769 "type" : "string",
20770 "typetext" : "<string>"
56122987 20771 },
56122987
DM
20772 "snapname" : {
20773 "description" : "The name of the snapshot.",
44660702 20774 "format" : "pve-configid",
7aacca6f 20775 "maxLength" : 40,
013dc89f
DM
20776 "type" : "string",
20777 "typetext" : "<string>"
7aacca6f
DM
20778 },
20779 "vmid" : {
20780 "description" : "The (unique) ID of the VM.",
44660702 20781 "format" : "pve-vmid",
7aacca6f 20782 "minimum" : 1,
4bd7df8b 20783 "type" : "integer",
013dc89f 20784 "typetext" : "<integer> (1 - N)"
56122987 20785 }
44660702 20786 }
56122987 20787 },
7aacca6f
DM
20788 "permissions" : {
20789 "check" : [
20790 "perm",
20791 "/vms/{vmid}",
20792 [
20793 "VM.Snapshot"
20794 ]
20795 ]
44660702
DM
20796 },
20797 "protected" : 1,
20798 "proxyto" : "node",
20799 "returns" : {
20800 "type" : "null"
7aacca6f 20801 }
56122987
DM
20802 }
20803 },
44660702 20804 "leaf" : 1,
7aacca6f 20805 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 20806 "text" : "config"
56122987
DM
20807 },
20808 {
56122987
DM
20809 "info" : {
20810 "POST" : {
e9cd3bd4 20811 "allowtoken" : 1,
44660702 20812 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 20813 "method" : "POST",
44660702 20814 "name" : "rollback",
56122987
DM
20815 "parameters" : {
20816 "additionalProperties" : 0,
20817 "properties" : {
44660702
DM
20818 "node" : {
20819 "description" : "The cluster node name.",
20820 "format" : "pve-node",
013dc89f
DM
20821 "type" : "string",
20822 "typetext" : "<string>"
44660702 20823 },
56122987 20824 "snapname" : {
44660702 20825 "description" : "The name of the snapshot.",
56122987
DM
20826 "format" : "pve-configid",
20827 "maxLength" : 40,
013dc89f
DM
20828 "type" : "string",
20829 "typetext" : "<string>"
7aacca6f 20830 },
56122987 20831 "vmid" : {
7aacca6f 20832 "description" : "The (unique) ID of the VM.",
44660702 20833 "format" : "pve-vmid",
56122987 20834 "minimum" : 1,
4bd7df8b 20835 "type" : "integer",
013dc89f 20836 "typetext" : "<integer> (1 - N)"
56122987
DM
20837 }
20838 }
20839 },
7aacca6f 20840 "permissions" : {
56122987
DM
20841 "check" : [
20842 "perm",
20843 "/vms/{vmid}",
20844 [
2489d6df
WB
20845 "VM.Snapshot",
20846 "VM.Snapshot.Rollback"
20847 ],
20848 "any",
20849 1
56122987
DM
20850 ]
20851 },
44660702 20852 "protected" : 1,
7aacca6f 20853 "proxyto" : "node",
44660702
DM
20854 "returns" : {
20855 "description" : "the task ID.",
20856 "type" : "string"
20857 }
56122987
DM
20858 }
20859 },
44660702
DM
20860 "leaf" : 1,
20861 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 20862 "text" : "rollback"
56122987 20863 }
44660702
DM
20864 ],
20865 "info" : {
20866 "DELETE" : {
e9cd3bd4 20867 "allowtoken" : 1,
44660702
DM
20868 "description" : "Delete a VM snapshot.",
20869 "method" : "DELETE",
20870 "name" : "delsnapshot",
20871 "parameters" : {
20872 "additionalProperties" : 0,
20873 "properties" : {
20874 "force" : {
20875 "description" : "For removal from config file, even if removing disk snapshots fails.",
20876 "optional" : 1,
013dc89f
DM
20877 "type" : "boolean",
20878 "typetext" : "<boolean>"
44660702
DM
20879 },
20880 "node" : {
20881 "description" : "The cluster node name.",
20882 "format" : "pve-node",
013dc89f
DM
20883 "type" : "string",
20884 "typetext" : "<string>"
44660702
DM
20885 },
20886 "snapname" : {
20887 "description" : "The name of the snapshot.",
20888 "format" : "pve-configid",
20889 "maxLength" : 40,
013dc89f
DM
20890 "type" : "string",
20891 "typetext" : "<string>"
44660702
DM
20892 },
20893 "vmid" : {
20894 "description" : "The (unique) ID of the VM.",
20895 "format" : "pve-vmid",
20896 "minimum" : 1,
4bd7df8b 20897 "type" : "integer",
013dc89f 20898 "typetext" : "<integer> (1 - N)"
44660702
DM
20899 }
20900 }
20901 },
20902 "permissions" : {
20903 "check" : [
20904 "perm",
20905 "/vms/{vmid}",
20906 [
20907 "VM.Snapshot"
20908 ]
20909 ]
20910 },
20911 "protected" : 1,
20912 "proxyto" : "node",
20913 "returns" : {
20914 "description" : "the task ID.",
20915 "type" : "string"
20916 }
20917 },
20918 "GET" : {
e9cd3bd4 20919 "allowtoken" : 1,
44660702
DM
20920 "description" : "",
20921 "method" : "GET",
20922 "name" : "snapshot_cmd_idx",
20923 "parameters" : {
20924 "additionalProperties" : 0,
20925 "properties" : {
20926 "node" : {
20927 "description" : "The cluster node name.",
20928 "format" : "pve-node",
013dc89f
DM
20929 "type" : "string",
20930 "typetext" : "<string>"
44660702
DM
20931 },
20932 "snapname" : {
20933 "description" : "The name of the snapshot.",
20934 "format" : "pve-configid",
20935 "maxLength" : 40,
013dc89f
DM
20936 "type" : "string",
20937 "typetext" : "<string>"
44660702
DM
20938 },
20939 "vmid" : {
20940 "description" : "The (unique) ID of the VM.",
20941 "format" : "pve-vmid",
20942 "minimum" : 1,
4bd7df8b 20943 "type" : "integer",
013dc89f 20944 "typetext" : "<integer> (1 - N)"
44660702
DM
20945 }
20946 }
20947 },
20948 "permissions" : {
20949 "user" : "all"
20950 },
20951 "returns" : {
20952 "items" : {
20953 "properties" : {},
20954 "type" : "object"
20955 },
20956 "links" : [
20957 {
20958 "href" : "{cmd}",
20959 "rel" : "child"
20960 }
20961 ],
20962 "type" : "array"
20963 }
20964 }
20965 },
20966 "leaf" : 0,
20967 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
20968 "text" : "{snapname}"
56122987
DM
20969 }
20970 ],
44660702
DM
20971 "info" : {
20972 "GET" : {
e9cd3bd4 20973 "allowtoken" : 1,
44660702
DM
20974 "description" : "List all snapshots.",
20975 "method" : "GET",
20976 "name" : "snapshot_list",
20977 "parameters" : {
20978 "additionalProperties" : 0,
20979 "properties" : {
20980 "node" : {
20981 "description" : "The cluster node name.",
20982 "format" : "pve-node",
013dc89f
DM
20983 "type" : "string",
20984 "typetext" : "<string>"
44660702
DM
20985 },
20986 "vmid" : {
20987 "description" : "The (unique) ID of the VM.",
20988 "format" : "pve-vmid",
20989 "minimum" : 1,
4bd7df8b 20990 "type" : "integer",
013dc89f 20991 "typetext" : "<integer> (1 - N)"
44660702
DM
20992 }
20993 }
20994 },
20995 "permissions" : {
20996 "check" : [
20997 "perm",
20998 "/vms/{vmid}",
20999 [
21000 "VM.Audit"
21001 ]
21002 ]
21003 },
21004 "protected" : 1,
21005 "proxyto" : "node",
21006 "returns" : {
21007 "items" : {
4d47f125
TL
21008 "properties" : {
21009 "description" : {
21010 "description" : "Snapshot description.",
21011 "type" : "string"
21012 },
21013 "name" : {
21014 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21015 "type" : "string"
21016 },
21017 "parent" : {
21018 "description" : "Parent snapshot identifier.",
21019 "optional" : 1,
21020 "type" : "string"
21021 },
21022 "snaptime" : {
21023 "description" : "Snapshot creation time",
21024 "optional" : 1,
21025 "renderer" : "timestamp",
21026 "type" : "integer"
21027 },
21028 "vmstate" : {
21029 "description" : "Snapshot includes RAM.",
21030 "optional" : 1,
21031 "type" : "boolean"
21032 }
21033 },
44660702
DM
21034 "type" : "object"
21035 },
21036 "links" : [
21037 {
21038 "href" : "{name}",
21039 "rel" : "child"
21040 }
21041 ],
21042 "type" : "array"
21043 }
21044 },
21045 "POST" : {
e9cd3bd4 21046 "allowtoken" : 1,
44660702
DM
21047 "description" : "Snapshot a VM.",
21048 "method" : "POST",
21049 "name" : "snapshot",
21050 "parameters" : {
21051 "additionalProperties" : 0,
21052 "properties" : {
21053 "description" : {
21054 "description" : "A textual description or comment.",
21055 "optional" : 1,
013dc89f
DM
21056 "type" : "string",
21057 "typetext" : "<string>"
44660702
DM
21058 },
21059 "node" : {
21060 "description" : "The cluster node name.",
21061 "format" : "pve-node",
013dc89f
DM
21062 "type" : "string",
21063 "typetext" : "<string>"
44660702
DM
21064 },
21065 "snapname" : {
21066 "description" : "The name of the snapshot.",
21067 "format" : "pve-configid",
21068 "maxLength" : 40,
013dc89f
DM
21069 "type" : "string",
21070 "typetext" : "<string>"
44660702
DM
21071 },
21072 "vmid" : {
21073 "description" : "The (unique) ID of the VM.",
21074 "format" : "pve-vmid",
21075 "minimum" : 1,
4bd7df8b 21076 "type" : "integer",
013dc89f 21077 "typetext" : "<integer> (1 - N)"
44660702
DM
21078 },
21079 "vmstate" : {
21080 "description" : "Save the vmstate",
21081 "optional" : 1,
013dc89f
DM
21082 "type" : "boolean",
21083 "typetext" : "<boolean>"
44660702
DM
21084 }
21085 }
21086 },
21087 "permissions" : {
21088 "check" : [
21089 "perm",
21090 "/vms/{vmid}",
21091 [
21092 "VM.Snapshot"
21093 ]
21094 ]
21095 },
21096 "protected" : 1,
21097 "proxyto" : "node",
21098 "returns" : {
21099 "description" : "the task ID.",
21100 "type" : "string"
21101 }
21102 }
21103 },
21104 "leaf" : 0,
21105 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 21106 "text" : "snapshot"
56122987
DM
21107 },
21108 {
56122987
DM
21109 "info" : {
21110 "POST" : {
e9cd3bd4 21111 "allowtoken" : 1,
44660702
DM
21112 "description" : "Create a Template.",
21113 "method" : "POST",
56122987 21114 "name" : "template",
56122987 21115 "parameters" : {
7aacca6f 21116 "additionalProperties" : 0,
56122987 21117 "properties" : {
56122987 21118 "disk" : {
56122987
DM
21119 "description" : "If you want to convert only 1 disk to base image.",
21120 "enum" : [
21121 "ide0",
21122 "ide1",
21123 "ide2",
21124 "ide3",
21125 "scsi0",
21126 "scsi1",
21127 "scsi2",
21128 "scsi3",
21129 "scsi4",
21130 "scsi5",
21131 "scsi6",
21132 "scsi7",
21133 "scsi8",
21134 "scsi9",
21135 "scsi10",
21136 "scsi11",
21137 "scsi12",
21138 "scsi13",
e9cd3bd4
TL
21139 "scsi14",
21140 "scsi15",
21141 "scsi16",
21142 "scsi17",
21143 "scsi18",
21144 "scsi19",
21145 "scsi20",
21146 "scsi21",
21147 "scsi22",
21148 "scsi23",
21149 "scsi24",
21150 "scsi25",
21151 "scsi26",
21152 "scsi27",
21153 "scsi28",
21154 "scsi29",
21155 "scsi30",
56122987
DM
21156 "virtio0",
21157 "virtio1",
21158 "virtio2",
21159 "virtio3",
21160 "virtio4",
21161 "virtio5",
21162 "virtio6",
21163 "virtio7",
21164 "virtio8",
21165 "virtio9",
21166 "virtio10",
21167 "virtio11",
21168 "virtio12",
21169 "virtio13",
21170 "virtio14",
21171 "virtio15",
21172 "sata0",
21173 "sata1",
21174 "sata2",
21175 "sata3",
21176 "sata4",
2c0dde61
DM
21177 "sata5",
21178 "efidisk0"
56122987 21179 ],
7aacca6f 21180 "optional" : 1,
56122987
DM
21181 "type" : "string"
21182 },
44660702
DM
21183 "node" : {
21184 "description" : "The cluster node name.",
21185 "format" : "pve-node",
013dc89f
DM
21186 "type" : "string",
21187 "typetext" : "<string>"
44660702
DM
21188 },
21189 "vmid" : {
21190 "description" : "The (unique) ID of the VM.",
7aacca6f 21191 "format" : "pve-vmid",
44660702 21192 "minimum" : 1,
4bd7df8b 21193 "type" : "integer",
013dc89f 21194 "typetext" : "<integer> (1 - N)"
56122987 21195 }
7aacca6f 21196 }
56122987 21197 },
7aacca6f
DM
21198 "permissions" : {
21199 "check" : [
21200 "perm",
21201 "/vms/{vmid}",
21202 [
21203 "VM.Allocate"
21204 ]
21205 ],
21206 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
21207 },
44660702 21208 "protected" : 1,
7aacca6f 21209 "proxyto" : "node",
7aacca6f
DM
21210 "returns" : {
21211 "type" : "null"
21212 }
56122987
DM
21213 }
21214 },
44660702 21215 "leaf" : 1,
7aacca6f 21216 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 21217 "text" : "template"
1e3f8156
TL
21218 },
21219 {
21220 "children" : [
21221 {
21222 "info" : {
21223 "GET" : {
e9cd3bd4 21224 "allowtoken" : 1,
1e3f8156
TL
21225 "description" : "Get automatically generated cloudinit config.",
21226 "method" : "GET",
21227 "name" : "cloudinit_generated_config_dump",
21228 "parameters" : {
21229 "additionalProperties" : 0,
21230 "properties" : {
21231 "node" : {
21232 "description" : "The cluster node name.",
21233 "format" : "pve-node",
21234 "type" : "string",
21235 "typetext" : "<string>"
21236 },
21237 "type" : {
21238 "description" : "Config type.",
21239 "enum" : [
21240 "user",
21241 "network",
21242 "meta"
21243 ],
21244 "type" : "string"
21245 },
21246 "vmid" : {
21247 "description" : "The (unique) ID of the VM.",
21248 "format" : "pve-vmid",
21249 "minimum" : 1,
21250 "type" : "integer",
21251 "typetext" : "<integer> (1 - N)"
21252 }
21253 }
21254 },
21255 "permissions" : {
21256 "check" : [
21257 "perm",
21258 "/vms/{vmid}",
21259 [
21260 "VM.Audit"
21261 ]
21262 ]
21263 },
21264 "proxyto" : "node",
21265 "returns" : {
21266 "type" : "string"
21267 }
21268 }
21269 },
21270 "leaf" : 1,
21271 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
21272 "text" : "dump"
21273 }
21274 ],
21275 "leaf" : 0,
21276 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
21277 "text" : "cloudinit"
56122987
DM
21278 }
21279 ],
7aacca6f 21280 "info" : {
44660702 21281 "DELETE" : {
e9cd3bd4 21282 "allowtoken" : 1,
d2656385 21283 "description" : "Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules",
44660702
DM
21284 "method" : "DELETE",
21285 "name" : "destroy_vm",
7aacca6f 21286 "parameters" : {
44660702 21287 "additionalProperties" : 0,
7aacca6f 21288 "properties" : {
d2656385 21289 "destroy-unreferenced-disks" : {
8f4d9c87 21290 "default" : 0,
d2656385
TL
21291 "description" : "If set, destroy additionally all disks not referenced in the config but with a matching VMID from all enabled storages.",
21292 "optional" : 1,
21293 "type" : "boolean",
21294 "typetext" : "<boolean>"
21295 },
7aacca6f 21296 "node" : {
44660702 21297 "description" : "The cluster node name.",
7aacca6f 21298 "format" : "pve-node",
013dc89f
DM
21299 "type" : "string",
21300 "typetext" : "<string>"
44660702 21301 },
1c532546 21302 "purge" : {
d2656385 21303 "description" : "Remove VMID from configurations, like backup & replication jobs and HA.",
1c532546
TL
21304 "optional" : 1,
21305 "type" : "boolean",
21306 "typetext" : "<boolean>"
21307 },
44660702
DM
21308 "skiplock" : {
21309 "description" : "Ignore locks - only root is allowed to use this option.",
21310 "optional" : 1,
013dc89f
DM
21311 "type" : "boolean",
21312 "typetext" : "<boolean>"
7aacca6f
DM
21313 },
21314 "vmid" : {
44660702 21315 "description" : "The (unique) ID of the VM.",
7aacca6f 21316 "format" : "pve-vmid",
44660702 21317 "minimum" : 1,
4bd7df8b 21318 "type" : "integer",
013dc89f 21319 "typetext" : "<integer> (1 - N)"
7aacca6f 21320 }
44660702 21321 }
7aacca6f 21322 },
7aacca6f
DM
21323 "permissions" : {
21324 "check" : [
21325 "perm",
21326 "/vms/{vmid}",
21327 [
21328 "VM.Allocate"
21329 ]
21330 ]
21331 },
44660702
DM
21332 "protected" : 1,
21333 "proxyto" : "node",
7aacca6f
DM
21334 "returns" : {
21335 "type" : "string"
44660702
DM
21336 }
21337 },
21338 "GET" : {
e9cd3bd4 21339 "allowtoken" : 1,
44660702
DM
21340 "description" : "Directory index",
21341 "method" : "GET",
21342 "name" : "vmdiridx",
7aacca6f 21343 "parameters" : {
44660702 21344 "additionalProperties" : 0,
7aacca6f 21345 "properties" : {
7aacca6f 21346 "node" : {
7aacca6f 21347 "description" : "The cluster node name.",
44660702 21348 "format" : "pve-node",
013dc89f
DM
21349 "type" : "string",
21350 "typetext" : "<string>"
44660702
DM
21351 },
21352 "vmid" : {
21353 "description" : "The (unique) ID of the VM.",
21354 "format" : "pve-vmid",
21355 "minimum" : 1,
4bd7df8b 21356 "type" : "integer",
013dc89f 21357 "typetext" : "<integer> (1 - N)"
7aacca6f 21358 }
44660702 21359 }
7aacca6f 21360 },
44660702
DM
21361 "permissions" : {
21362 "user" : "all"
21363 },
21364 "proxyto" : "node",
21365 "returns" : {
21366 "items" : {
21367 "properties" : {
21368 "subdir" : {
21369 "type" : "string"
21370 }
21371 },
21372 "type" : "object"
21373 },
21374 "links" : [
21375 {
21376 "href" : "{subdir}",
21377 "rel" : "child"
21378 }
21379 ],
21380 "type" : "array"
21381 }
7aacca6f 21382 }
44660702
DM
21383 },
21384 "leaf" : 0,
21385 "path" : "/nodes/{node}/qemu/{vmid}",
21386 "text" : "{vmid}"
56122987
DM
21387 }
21388 ],
21389 "info" : {
44660702 21390 "GET" : {
e9cd3bd4 21391 "allowtoken" : 1,
44660702
DM
21392 "description" : "Virtual machine index (per node).",
21393 "method" : "GET",
21394 "name" : "vmlist",
56122987 21395 "parameters" : {
44660702 21396 "additionalProperties" : 0,
56122987 21397 "properties" : {
44660702
DM
21398 "full" : {
21399 "description" : "Determine the full status of active VMs.",
56122987 21400 "optional" : 1,
013dc89f
DM
21401 "type" : "boolean",
21402 "typetext" : "<boolean>"
56122987 21403 },
44660702
DM
21404 "node" : {
21405 "description" : "The cluster node name.",
21406 "format" : "pve-node",
013dc89f
DM
21407 "type" : "string",
21408 "typetext" : "<string>"
44660702
DM
21409 }
21410 }
21411 },
21412 "permissions" : {
21413 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
21414 "user" : "all"
21415 },
21416 "protected" : 1,
21417 "proxyto" : "node",
21418 "returns" : {
21419 "items" : {
4d47f125
TL
21420 "properties" : {
21421 "cpus" : {
21422 "description" : "Maximum usable CPUs.",
21423 "optional" : 1,
21424 "type" : "number"
21425 },
95895385
TL
21426 "lock" : {
21427 "description" : "The current config lock, if any.",
21428 "optional" : 1,
21429 "type" : "string"
21430 },
4d47f125
TL
21431 "maxdisk" : {
21432 "description" : "Root disk size in bytes.",
21433 "optional" : 1,
21434 "renderer" : "bytes",
21435 "type" : "integer"
21436 },
21437 "maxmem" : {
21438 "description" : "Maximum memory in bytes.",
21439 "optional" : 1,
21440 "renderer" : "bytes",
21441 "type" : "integer"
21442 },
21443 "name" : {
21444 "description" : "VM name.",
21445 "optional" : 1,
21446 "type" : "string"
21447 },
21448 "pid" : {
21449 "description" : "PID of running qemu process.",
21450 "optional" : 1,
21451 "type" : "integer"
21452 },
21453 "qmpstatus" : {
21454 "description" : "Qemu QMP agent status.",
21455 "optional" : 1,
21456 "type" : "string"
21457 },
d2656385
TL
21458 "running-machine" : {
21459 "description" : "The currently running machine type (if running).",
21460 "optional" : 1,
21461 "type" : "string"
21462 },
21463 "running-qemu" : {
21464 "description" : "The currently running QEMU version (if running).",
21465 "optional" : 1,
21466 "type" : "string"
21467 },
4d47f125
TL
21468 "status" : {
21469 "description" : "Qemu process status.",
21470 "enum" : [
21471 "stopped",
21472 "running"
21473 ],
21474 "type" : "string"
21475 },
5c1699e5
TL
21476 "tags" : {
21477 "description" : "The current configured tags, if any",
21478 "optional" : 1,
21479 "type" : "string"
21480 },
4d47f125
TL
21481 "uptime" : {
21482 "description" : "Uptime.",
21483 "optional" : 1,
21484 "renderer" : "duration",
21485 "type" : "integer"
21486 },
21487 "vmid" : {
21488 "description" : "The (unique) ID of the VM.",
21489 "format" : "pve-vmid",
21490 "minimum" : 1,
21491 "type" : "integer"
21492 }
21493 },
44660702
DM
21494 "type" : "object"
21495 },
21496 "links" : [
21497 {
21498 "href" : "{vmid}",
21499 "rel" : "child"
21500 }
21501 ],
21502 "type" : "array"
21503 }
21504 },
21505 "POST" : {
e9cd3bd4 21506 "allowtoken" : 1,
44660702
DM
21507 "description" : "Create or restore a virtual machine.",
21508 "method" : "POST",
21509 "name" : "create_vm",
21510 "parameters" : {
21511 "additionalProperties" : 0,
21512 "properties" : {
7aacca6f 21513 "acpi" : {
7aacca6f 21514 "default" : 1,
44660702 21515 "description" : "Enable/disable ACPI.",
56122987 21516 "optional" : 1,
013dc89f
DM
21517 "type" : "boolean",
21518 "typetext" : "<boolean>"
56122987 21519 },
44660702 21520 "agent" : {
4d47f125
TL
21521 "description" : "Enable/disable Qemu GuestAgent and its properties.",
21522 "format" : {
21523 "enabled" : {
21524 "default" : 0,
21525 "default_key" : 1,
21526 "description" : "Enable/disable Qemu GuestAgent.",
21527 "type" : "boolean"
21528 },
21529 "fstrim_cloned_disks" : {
21530 "default" : 0,
d2656385 21531 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
21532 "optional" : 1,
21533 "type" : "boolean"
5c1699e5
TL
21534 },
21535 "type" : {
21536 "default" : "virtio",
21537 "description" : "Select the agent type",
21538 "enum" : [
21539 "virtio",
21540 "isa"
21541 ],
21542 "optional" : 1,
21543 "type" : "string"
4d47f125
TL
21544 }
21545 },
7aacca6f 21546 "optional" : 1,
4d47f125 21547 "type" : "string",
5c1699e5 21548 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 21549 },
e2d681b3
TL
21550 "arch" : {
21551 "description" : "Virtual processor architecture. Defaults to the host.",
21552 "enum" : [
21553 "x86_64",
21554 "aarch64"
21555 ],
21556 "optional" : 1,
21557 "type" : "string"
21558 },
44660702 21559 "archive" : {
c5aa7e14 21560 "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 21561 "maxLength" : 255,
56122987 21562 "optional" : 1,
013dc89f
DM
21563 "type" : "string",
21564 "typetext" : "<string>"
56122987 21565 },
44660702 21566 "args" : {
c2993fe5 21567 "description" : "Arbitrary arguments passed to kvm.",
56122987 21568 "optional" : 1,
c2993fe5 21569 "type" : "string",
013dc89f 21570 "typetext" : "<string>",
c2993fe5 21571 "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 21572 },
1c532546
TL
21573 "audio0" : {
21574 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
21575 "format" : {
21576 "device" : {
21577 "description" : "Configure an audio device.",
21578 "enum" : [
21579 "ich9-intel-hda",
21580 "intel-hda",
21581 "AC97"
21582 ],
21583 "type" : "string"
21584 },
21585 "driver" : {
21586 "default" : "spice",
21587 "description" : "Driver backend for the audio device.",
21588 "enum" : [
d2656385
TL
21589 "spice",
21590 "none"
1c532546
TL
21591 ],
21592 "optional" : 1,
21593 "type" : "string"
21594 }
21595 },
21596 "optional" : 1,
21597 "type" : "string",
d2656385 21598 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 21599 },
44660702 21600 "autostart" : {
7aacca6f 21601 "default" : 0,
44660702
DM
21602 "description" : "Automatic restart after crash (currently ignored).",
21603 "optional" : 1,
013dc89f
DM
21604 "type" : "boolean",
21605 "typetext" : "<boolean>"
7aacca6f 21606 },
44660702
DM
21607 "balloon" : {
21608 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
21609 "minimum" : 0,
56122987 21610 "optional" : 1,
4bd7df8b 21611 "type" : "integer",
013dc89f 21612 "typetext" : "<integer> (0 - N)"
56122987 21613 },
44660702
DM
21614 "bios" : {
21615 "default" : "seabios",
21616 "description" : "Select BIOS implementation.",
21617 "enum" : [
21618 "seabios",
21619 "ovmf"
21620 ],
56122987 21621 "optional" : 1,
44660702 21622 "type" : "string"
56122987 21623 },
44660702 21624 "boot" : {
4772952b
TL
21625 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
21626 "format" : "pve-qm-boot",
56122987 21627 "optional" : 1,
4772952b
TL
21628 "type" : "string",
21629 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 21630 },
7aacca6f 21631 "bootdisk" : {
4772952b 21632 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
21633 "format" : "pve-qm-bootdisk",
21634 "optional" : 1,
7aacca6f 21635 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
21636 "type" : "string"
21637 },
27a7acb2 21638 "bwlimit" : {
95895385
TL
21639 "default" : "restore limit from datacenter or storage config",
21640 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
21641 "minimum" : "0",
21642 "optional" : 1,
21643 "type" : "integer",
21644 "typetext" : "<integer> (0 - N)"
21645 },
44660702
DM
21646 "cdrom" : {
21647 "description" : "This is an alias for option -ide2",
de0983cb 21648 "format" : "pve-qm-ide",
56122987 21649 "optional" : 1,
44660702 21650 "type" : "string",
013dc89f 21651 "typetext" : "<volume>"
56122987 21652 },
95895385
TL
21653 "cicustom" : {
21654 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
21655 "format" : "pve-qm-cicustom",
21656 "optional" : 1,
21657 "type" : "string",
21658 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
21659 },
27a7acb2
DM
21660 "cipassword" : {
21661 "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.",
21662 "optional" : 1,
21663 "type" : "string",
21664 "typetext" : "<string>"
21665 },
21666 "citype" : {
21667 "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.",
21668 "enum" : [
21669 "configdrive2",
d2656385
TL
21670 "nocloud",
21671 "opennebula"
27a7acb2
DM
21672 ],
21673 "optional" : 1,
21674 "type" : "string"
21675 },
21676 "ciuser" : {
21677 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
21678 "optional" : 1,
21679 "type" : "string",
21680 "typetext" : "<string>"
21681 },
44660702
DM
21682 "cores" : {
21683 "default" : 1,
21684 "description" : "The number of cores per socket.",
7aacca6f 21685 "minimum" : 1,
44660702 21686 "optional" : 1,
4bd7df8b 21687 "type" : "integer",
013dc89f 21688 "typetext" : "<integer> (1 - N)"
7aacca6f 21689 },
44660702
DM
21690 "cpu" : {
21691 "description" : "Emulated CPU type.",
c5aa7e14 21692 "format" : "pve-vm-cpu-conf",
56122987 21693 "optional" : 1,
4bd7df8b 21694 "type" : "string",
04d22a9f 21695 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
56122987 21696 },
44660702 21697 "cpulimit" : {
7aacca6f 21698 "default" : 0,
c2993fe5 21699 "description" : "Limit of CPU usage.",
44660702
DM
21700 "maximum" : 128,
21701 "minimum" : 0,
7aacca6f 21702 "optional" : 1,
c2993fe5 21703 "type" : "number",
013dc89f 21704 "typetext" : "<number> (0 - 128)",
c2993fe5 21705 "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
21706 },
21707 "cpuunits" : {
de0983cb 21708 "default" : 1024,
c2993fe5 21709 "description" : "CPU weight for a VM.",
2489d6df
WB
21710 "maximum" : 262144,
21711 "minimum" : 2,
44660702 21712 "optional" : 1,
c2993fe5 21713 "type" : "integer",
2489d6df
WB
21714 "typetext" : "<integer> (2 - 262144)",
21715 "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
21716 },
21717 "description" : {
8f4d9c87
TL
21718 "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
21719 "maxLength" : 8192,
56122987 21720 "optional" : 1,
013dc89f
DM
21721 "type" : "string",
21722 "typetext" : "<string>"
44660702 21723 },
4d47f125 21724 "efidisk0" : {
d2656385 21725 "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
4d47f125
TL
21726 "format" : {
21727 "file" : {
21728 "default_key" : 1,
21729 "description" : "The drive's backing volume.",
21730 "format" : "pve-volume-id-or-qm-path",
21731 "format_description" : "volume",
21732 "type" : "string"
21733 },
21734 "format" : {
21735 "description" : "The drive's backing file's data format.",
21736 "enum" : [
21737 "raw",
21738 "cow",
21739 "qcow",
21740 "qed",
21741 "qcow2",
21742 "vmdk",
21743 "cloop"
21744 ],
21745 "optional" : 1,
21746 "type" : "string"
21747 },
21748 "size" : {
21749 "description" : "Disk size. This is purely informational and has no effect.",
21750 "format" : "disk-size",
21751 "format_description" : "DiskSize",
21752 "optional" : 1,
21753 "type" : "string"
21754 },
21755 "volume" : {
21756 "alias" : "file"
21757 }
21758 },
21759 "optional" : 1,
21760 "type" : "string",
21761 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
21762 },
44660702
DM
21763 "force" : {
21764 "description" : "Allow to overwrite existing VM.",
21765 "optional" : 1,
21766 "requires" : "archive",
013dc89f
DM
21767 "type" : "boolean",
21768 "typetext" : "<boolean>"
44660702
DM
21769 },
21770 "freeze" : {
21771 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
21772 "optional" : 1,
013dc89f
DM
21773 "type" : "boolean",
21774 "typetext" : "<boolean>"
44660702 21775 },
5f26e15b
TL
21776 "hookscript" : {
21777 "description" : "Script that will be executed during various steps in the vms lifetime.",
21778 "format" : "pve-volume-id",
21779 "optional" : 1,
21780 "type" : "string",
21781 "typetext" : "<string>"
21782 },
44660702 21783 "hostpci[n]" : {
c2993fe5 21784 "description" : "Map host PCI devices into guest.",
44660702
DM
21785 "format" : "pve-qm-hostpci",
21786 "optional" : 1,
57b78691 21787 "type" : "string",
ac70d7d1 21788 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 21789 "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
21790 },
21791 "hotplug" : {
21792 "default" : "network,disk,usb",
21793 "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'.",
21794 "format" : "pve-hotplug-features",
21795 "optional" : 1,
013dc89f
DM
21796 "type" : "string",
21797 "typetext" : "<string>"
7aacca6f 21798 },
4bd7df8b
DM
21799 "hugepages" : {
21800 "description" : "Enable/disable hugepages memory.",
21801 "enum" : [
21802 "any",
21803 "2",
21804 "1024"
21805 ],
21806 "optional" : 1,
21807 "type" : "string"
21808 },
7aacca6f 21809 "ide[n]" : {
d2656385 21810 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
56122987 21811 "format" : {
44660702
DM
21812 "aio" : {
21813 "description" : "AIO type to use.",
21814 "enum" : [
21815 "native",
8f4d9c87
TL
21816 "threads",
21817 "io_uring"
44660702 21818 ],
44660702
DM
21819 "optional" : 1,
21820 "type" : "string"
21821 },
21822 "backup" : {
21823 "description" : "Whether the drive should be included when making backups.",
44660702
DM
21824 "optional" : 1,
21825 "type" : "boolean"
21826 },
21827 "bps" : {
de0983cb 21828 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 21829 "format_description" : "bps",
56122987 21830 "optional" : 1,
44660702 21831 "type" : "integer"
56122987 21832 },
de0983cb
DM
21833 "bps_max_length" : {
21834 "description" : "Maximum length of I/O bursts in seconds.",
21835 "format_description" : "seconds",
21836 "minimum" : 1,
21837 "optional" : 1,
21838 "type" : "integer"
21839 },
44660702 21840 "bps_rd" : {
de0983cb 21841 "description" : "Maximum read speed in bytes per second.",
44660702 21842 "format_description" : "bps",
56122987 21843 "optional" : 1,
44660702 21844 "type" : "integer"
56122987 21845 },
de0983cb 21846 "bps_rd_length" : {
5d9c884c
DM
21847 "alias" : "bps_rd_max_length"
21848 },
21849 "bps_rd_max_length" : {
de0983cb
DM
21850 "description" : "Maximum length of read I/O bursts in seconds.",
21851 "format_description" : "seconds",
21852 "minimum" : 1,
21853 "optional" : 1,
21854 "type" : "integer"
21855 },
44660702 21856 "bps_wr" : {
de0983cb 21857 "description" : "Maximum write speed in bytes per second.",
44660702 21858 "format_description" : "bps",
56122987 21859 "optional" : 1,
44660702 21860 "type" : "integer"
56122987 21861 },
de0983cb 21862 "bps_wr_length" : {
5d9c884c
DM
21863 "alias" : "bps_wr_max_length"
21864 },
21865 "bps_wr_max_length" : {
de0983cb
DM
21866 "description" : "Maximum length of write I/O bursts in seconds.",
21867 "format_description" : "seconds",
21868 "minimum" : 1,
21869 "optional" : 1,
21870 "type" : "integer"
21871 },
44660702
DM
21872 "cache" : {
21873 "description" : "The drive's cache mode",
56122987 21874 "enum" : [
7aacca6f 21875 "none",
44660702
DM
21876 "writethrough",
21877 "writeback",
21878 "unsafe",
21879 "directsync"
56122987 21880 ],
56122987 21881 "optional" : 1,
44660702 21882 "type" : "string"
56122987 21883 },
44660702
DM
21884 "cyls" : {
21885 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
21886 "optional" : 1,
21887 "type" : "integer"
7aacca6f 21888 },
44660702
DM
21889 "detect_zeroes" : {
21890 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21891 "optional" : 1,
44660702 21892 "type" : "boolean"
56122987 21893 },
44660702
DM
21894 "discard" : {
21895 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21896 "enum" : [
21897 "ignore",
21898 "on"
21899 ],
56122987 21900 "optional" : 1,
44660702 21901 "type" : "string"
56122987 21902 },
7aacca6f 21903 "file" : {
44660702 21904 "default_key" : 1,
7aacca6f 21905 "description" : "The drive's backing volume.",
7aacca6f
DM
21906 "format" : "pve-volume-id-or-qm-path",
21907 "format_description" : "volume",
7aacca6f 21908 "type" : "string"
56122987 21909 },
44660702
DM
21910 "format" : {
21911 "description" : "The drive's backing file's data format.",
56122987 21912 "enum" : [
44660702
DM
21913 "raw",
21914 "cow",
21915 "qcow",
21916 "qed",
21917 "qcow2",
21918 "vmdk",
21919 "cloop"
7aacca6f 21920 ],
7aacca6f
DM
21921 "optional" : 1,
21922 "type" : "string"
56122987 21923 },
44660702
DM
21924 "heads" : {
21925 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 21926 "optional" : 1,
44660702 21927 "type" : "integer"
56122987 21928 },
44660702 21929 "iops" : {
de0983cb 21930 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 21931 "format_description" : "iops",
56122987 21932 "optional" : 1,
44660702 21933 "type" : "integer"
56122987 21934 },
44660702 21935 "iops_max" : {
de0983cb 21936 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21937 "format_description" : "iops",
56122987 21938 "optional" : 1,
44660702 21939 "type" : "integer"
56122987 21940 },
de0983cb
DM
21941 "iops_max_length" : {
21942 "description" : "Maximum length of I/O bursts in seconds.",
21943 "format_description" : "seconds",
21944 "minimum" : 1,
21945 "optional" : 1,
21946 "type" : "integer"
21947 },
7aacca6f 21948 "iops_rd" : {
de0983cb 21949 "description" : "Maximum read I/O in operations per second.",
44660702
DM
21950 "format_description" : "iops",
21951 "optional" : 1,
21952 "type" : "integer"
7aacca6f 21953 },
de0983cb 21954 "iops_rd_length" : {
5d9c884c 21955 "alias" : "iops_rd_max_length"
de0983cb 21956 },
44660702 21957 "iops_rd_max" : {
de0983cb 21958 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 21959 "format_description" : "iops",
56122987 21960 "optional" : 1,
44660702 21961 "type" : "integer"
56122987 21962 },
5d9c884c
DM
21963 "iops_rd_max_length" : {
21964 "description" : "Maximum length of read I/O bursts in seconds.",
21965 "format_description" : "seconds",
21966 "minimum" : 1,
21967 "optional" : 1,
21968 "type" : "integer"
21969 },
44660702 21970 "iops_wr" : {
de0983cb 21971 "description" : "Maximum write I/O in operations per second.",
44660702 21972 "format_description" : "iops",
56122987 21973 "optional" : 1,
44660702 21974 "type" : "integer"
7aacca6f 21975 },
de0983cb 21976 "iops_wr_length" : {
5d9c884c 21977 "alias" : "iops_wr_max_length"
de0983cb 21978 },
44660702 21979 "iops_wr_max" : {
de0983cb 21980 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21981 "format_description" : "iops",
7aacca6f 21982 "optional" : 1,
44660702 21983 "type" : "integer"
56122987 21984 },
5d9c884c
DM
21985 "iops_wr_max_length" : {
21986 "description" : "Maximum length of write I/O bursts in seconds.",
21987 "format_description" : "seconds",
21988 "minimum" : 1,
21989 "optional" : 1,
21990 "type" : "integer"
21991 },
44660702 21992 "mbps" : {
de0983cb 21993 "description" : "Maximum r/w speed in megabytes per second.",
44660702 21994 "format_description" : "mbps",
7aacca6f 21995 "optional" : 1,
44660702 21996 "type" : "number"
56122987 21997 },
44660702 21998 "mbps_max" : {
de0983cb 21999 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 22000 "format_description" : "mbps",
56122987 22001 "optional" : 1,
44660702 22002 "type" : "number"
56122987 22003 },
44660702 22004 "mbps_rd" : {
de0983cb 22005 "description" : "Maximum read speed in megabytes per second.",
44660702 22006 "format_description" : "mbps",
7aacca6f 22007 "optional" : 1,
44660702 22008 "type" : "number"
7aacca6f 22009 },
44660702 22010 "mbps_rd_max" : {
de0983cb 22011 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 22012 "format_description" : "mbps",
56122987 22013 "optional" : 1,
44660702 22014 "type" : "number"
56122987 22015 },
44660702 22016 "mbps_wr" : {
de0983cb 22017 "description" : "Maximum write speed in megabytes per second.",
44660702 22018 "format_description" : "mbps",
7aacca6f 22019 "optional" : 1,
44660702 22020 "type" : "number"
56122987 22021 },
44660702 22022 "mbps_wr_max" : {
de0983cb 22023 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 22024 "format_description" : "mbps",
56122987 22025 "optional" : 1,
44660702 22026 "type" : "number"
7aacca6f
DM
22027 },
22028 "media" : {
44660702
DM
22029 "default" : "disk",
22030 "description" : "The drive's media type.",
56122987 22031 "enum" : [
7aacca6f
DM
22032 "cdrom",
22033 "disk"
56122987 22034 ],
56122987 22035 "optional" : 1,
44660702 22036 "type" : "string"
56122987 22037 },
44660702
DM
22038 "model" : {
22039 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
22040 "format" : "urlencoded",
22041 "format_description" : "model",
22042 "maxLength" : 120,
56122987 22043 "optional" : 1,
44660702 22044 "type" : "string"
56122987 22045 },
5d9c884c
DM
22046 "replicate" : {
22047 "default" : 1,
22048 "description" : "Whether the drive should considered for replication jobs.",
22049 "optional" : 1,
22050 "type" : "boolean"
22051 },
7aacca6f 22052 "rerror" : {
7aacca6f
DM
22053 "description" : "Read error action.",
22054 "enum" : [
22055 "ignore",
22056 "report",
22057 "stop"
44660702 22058 ],
44660702
DM
22059 "optional" : 1,
22060 "type" : "string"
56122987 22061 },
44660702
DM
22062 "secs" : {
22063 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 22064 "optional" : 1,
44660702
DM
22065 "type" : "integer"
22066 },
22067 "serial" : {
22068 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22069 "format" : "urlencoded",
22070 "format_description" : "serial",
22071 "maxLength" : 60,
22072 "optional" : 1,
22073 "type" : "string"
22074 },
27a7acb2
DM
22075 "shared" : {
22076 "default" : 0,
22077 "description" : "Mark this locally-managed volume as available on all nodes",
22078 "optional" : 1,
22079 "type" : "boolean",
22080 "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!"
22081 },
44660702
DM
22082 "size" : {
22083 "description" : "Disk size. This is purely informational and has no effect.",
22084 "format" : "disk-size",
f004f5b9 22085 "format_description" : "DiskSize",
44660702
DM
22086 "optional" : 1,
22087 "type" : "string"
7aacca6f
DM
22088 },
22089 "snapshot" : {
27a7acb2 22090 "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 22091 "optional" : 1,
44660702 22092 "type" : "boolean"
7aacca6f 22093 },
25203dc1
NC
22094 "ssd" : {
22095 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
22096 "optional" : 1,
22097 "type" : "boolean"
22098 },
44660702
DM
22099 "trans" : {
22100 "description" : "Force disk geometry bios translation mode.",
22101 "enum" : [
22102 "none",
22103 "lba",
22104 "auto"
22105 ],
7aacca6f 22106 "optional" : 1,
44660702
DM
22107 "type" : "string"
22108 },
22109 "volume" : {
22110 "alias" : "file"
22111 },
22112 "werror" : {
22113 "description" : "Write error action.",
22114 "enum" : [
22115 "enospc",
22116 "ignore",
22117 "report",
22118 "stop"
22119 ],
44660702
DM
22120 "optional" : 1,
22121 "type" : "string"
95895385
TL
22122 },
22123 "wwn" : {
22124 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
22125 "format_description" : "wwn",
22126 "optional" : 1,
22127 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
22128 "type" : "string"
56122987
DM
22129 }
22130 },
56122987 22131 "optional" : 1,
4bd7df8b 22132 "type" : "string",
8f4d9c87 22133 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
22134 },
22135 "ipconfig[n]" : {
d2656385 22136 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
27a7acb2
DM
22137 "format" : "pve-qm-ipconfig",
22138 "optional" : 1,
22139 "type" : "string",
22140 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 22141 },
95895385
TL
22142 "ivshmem" : {
22143 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
22144 "format" : {
22145 "name" : {
22146 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
22147 "format_description" : "string",
22148 "optional" : 1,
22149 "pattern" : "[a-zA-Z0-9\\-]+",
22150 "type" : "string"
22151 },
22152 "size" : {
22153 "description" : "The size of the file in MB.",
22154 "minimum" : 1,
22155 "type" : "integer"
22156 }
22157 },
22158 "optional" : 1,
22159 "type" : "string",
22160 "typetext" : "size=<integer> [,name=<string>]"
22161 },
4772952b
TL
22162 "keephugepages" : {
22163 "default" : 0,
22164 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
22165 "optional" : 1,
22166 "type" : "boolean",
22167 "typetext" : "<boolean>"
22168 },
56122987 22169 "keyboard" : {
35a75dd3 22170 "default" : null,
5da3d723 22171 "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 22172 "enum" : [
44660702
DM
22173 "de",
22174 "de-ch",
7aacca6f 22175 "da",
56122987 22176 "en-gb",
44660702
DM
22177 "en-us",
22178 "es",
22179 "fi",
22180 "fr",
22181 "fr-be",
22182 "fr-ca",
22183 "fr-ch",
22184 "hu",
7aacca6f 22185 "is",
44660702
DM
22186 "it",
22187 "ja",
22188 "lt",
56122987 22189 "mk",
7aacca6f 22190 "nl",
56122987 22191 "no",
44660702 22192 "pl",
7aacca6f 22193 "pt",
44660702
DM
22194 "pt-br",
22195 "sv",
22196 "sl",
22197 "tr"
56122987 22198 ],
44660702
DM
22199 "optional" : 1,
22200 "type" : "string"
56122987 22201 },
44660702
DM
22202 "kvm" : {
22203 "default" : 1,
22204 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 22205 "optional" : 1,
013dc89f
DM
22206 "type" : "boolean",
22207 "typetext" : "<boolean>"
7aacca6f 22208 },
d2656385
TL
22209 "live-restore" : {
22210 "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
22211 "optional" : 1,
22212 "requires" : "archive",
22213 "type" : "boolean",
22214 "typetext" : "<boolean>"
22215 },
44660702
DM
22216 "localtime" : {
22217 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 22218 "optional" : 1,
013dc89f
DM
22219 "type" : "boolean",
22220 "typetext" : "<boolean>"
44660702
DM
22221 },
22222 "lock" : {
22223 "description" : "Lock/unlock the VM.",
7aacca6f 22224 "enum" : [
7aacca6f 22225 "backup",
5f26e15b
TL
22226 "clone",
22227 "create",
22228 "migrate",
22229 "rollback",
7aacca6f 22230 "snapshot",
95895385
TL
22231 "snapshot-delete",
22232 "suspending",
22233 "suspended"
7aacca6f 22234 ],
44660702
DM
22235 "optional" : 1,
22236 "type" : "string"
56122987 22237 },
44660702 22238 "machine" : {
4d47f125 22239 "description" : "Specifies the Qemu machine type.",
44660702
DM
22240 "maxLength" : 40,
22241 "optional" : 1,
5c1699e5 22242 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
22243 "type" : "string"
22244 },
22245 "memory" : {
22246 "default" : 512,
22247 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
22248 "minimum" : 16,
22249 "optional" : 1,
4bd7df8b 22250 "type" : "integer",
013dc89f 22251 "typetext" : "<integer> (16 - N)"
44660702
DM
22252 },
22253 "migrate_downtime" : {
22254 "default" : 0.1,
22255 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
22256 "minimum" : 0,
22257 "optional" : 1,
4bd7df8b 22258 "type" : "number",
013dc89f 22259 "typetext" : "<number> (0 - N)"
44660702
DM
22260 },
22261 "migrate_speed" : {
56122987 22262 "default" : 0,
44660702
DM
22263 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
22264 "minimum" : 0,
56122987 22265 "optional" : 1,
4bd7df8b 22266 "type" : "integer",
013dc89f 22267 "typetext" : "<integer> (0 - N)"
56122987 22268 },
27a7acb2
DM
22269 "name" : {
22270 "description" : "Set a name for the VM. Only used on the configuration web interface.",
22271 "format" : "dns-name",
22272 "optional" : 1,
22273 "type" : "string",
22274 "typetext" : "<string>"
22275 },
22276 "nameserver" : {
4772952b 22277 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2 22278 "format" : "address-list",
44660702 22279 "optional" : 1,
013dc89f
DM
22280 "type" : "string",
22281 "typetext" : "<string>"
44660702
DM
22282 },
22283 "net[n]" : {
c2993fe5 22284 "description" : "Specify network devices.",
f004f5b9
DM
22285 "format" : {
22286 "bridge" : {
c2993fe5 22287 "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
22288 "format_description" : "bridge",
22289 "optional" : 1,
c5aa7e14 22290 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
22291 "type" : "string"
22292 },
22293 "e1000" : {
22294 "alias" : "macaddr",
22295 "keyAlias" : "model"
22296 },
22297 "e1000-82540em" : {
22298 "alias" : "macaddr",
22299 "keyAlias" : "model"
22300 },
22301 "e1000-82544gc" : {
22302 "alias" : "macaddr",
22303 "keyAlias" : "model"
22304 },
22305 "e1000-82545em" : {
22306 "alias" : "macaddr",
22307 "keyAlias" : "model"
22308 },
22309 "firewall" : {
22310 "description" : "Whether this interface should be protected by the firewall.",
22311 "optional" : 1,
22312 "type" : "boolean"
22313 },
22314 "i82551" : {
22315 "alias" : "macaddr",
22316 "keyAlias" : "model"
22317 },
22318 "i82557b" : {
22319 "alias" : "macaddr",
22320 "keyAlias" : "model"
22321 },
22322 "i82559er" : {
22323 "alias" : "macaddr",
22324 "keyAlias" : "model"
22325 },
22326 "link_down" : {
c2993fe5 22327 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
22328 "optional" : 1,
22329 "type" : "boolean"
22330 },
22331 "macaddr" : {
c2993fe5 22332 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 22333 "format" : "mac-addr",
f004f5b9 22334 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 22335 "optional" : 1,
95895385
TL
22336 "type" : "string",
22337 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
22338 },
22339 "model" : {
22340 "default_key" : 1,
c2993fe5 22341 "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
22342 "enum" : [
22343 "rtl8139",
22344 "ne2k_pci",
22345 "e1000",
22346 "pcnet",
22347 "virtio",
22348 "ne2k_isa",
22349 "i82551",
22350 "i82557b",
22351 "i82559er",
22352 "vmxnet3",
22353 "e1000-82540em",
22354 "e1000-82544gc",
22355 "e1000-82545em"
22356 ],
f004f5b9
DM
22357 "type" : "string"
22358 },
ac70d7d1
TL
22359 "mtu" : {
22360 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
22361 "maximum" : 65520,
22362 "minimum" : 1,
22363 "optional" : 1,
22364 "type" : "integer"
22365 },
f004f5b9
DM
22366 "ne2k_isa" : {
22367 "alias" : "macaddr",
22368 "keyAlias" : "model"
22369 },
22370 "ne2k_pci" : {
22371 "alias" : "macaddr",
22372 "keyAlias" : "model"
22373 },
22374 "pcnet" : {
22375 "alias" : "macaddr",
22376 "keyAlias" : "model"
22377 },
22378 "queues" : {
22379 "description" : "Number of packet queues to be used on the device.",
22380 "maximum" : 16,
22381 "minimum" : 0,
22382 "optional" : 1,
22383 "type" : "integer"
22384 },
22385 "rate" : {
c2993fe5 22386 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
22387 "minimum" : 0,
22388 "optional" : 1,
22389 "type" : "number"
22390 },
22391 "rtl8139" : {
22392 "alias" : "macaddr",
22393 "keyAlias" : "model"
22394 },
22395 "tag" : {
22396 "description" : "VLAN tag to apply to packets on this interface.",
22397 "maximum" : 4094,
c2993fe5 22398 "minimum" : 1,
f004f5b9
DM
22399 "optional" : 1,
22400 "type" : "integer"
22401 },
22402 "trunks" : {
22403 "description" : "VLAN trunks to pass through this interface.",
22404 "format_description" : "vlanid[;vlanid...]",
22405 "optional" : 1,
22406 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22407 "type" : "string"
22408 },
22409 "virtio" : {
22410 "alias" : "macaddr",
22411 "keyAlias" : "model"
22412 },
22413 "vmxnet3" : {
22414 "alias" : "macaddr",
22415 "keyAlias" : "model"
22416 }
22417 },
44660702 22418 "optional" : 1,
4bd7df8b 22419 "type" : "string",
ac70d7d1 22420 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,mtu=<integer>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
22421 },
22422 "node" : {
22423 "description" : "The cluster node name.",
22424 "format" : "pve-node",
013dc89f
DM
22425 "type" : "string",
22426 "typetext" : "<string>"
44660702
DM
22427 },
22428 "numa" : {
7aacca6f 22429 "default" : 0,
44660702
DM
22430 "description" : "Enable/disable NUMA.",
22431 "optional" : 1,
013dc89f
DM
22432 "type" : "boolean",
22433 "typetext" : "<boolean>"
56122987 22434 },
7aacca6f 22435 "numa[n]" : {
c2993fe5 22436 "description" : "NUMA topology.",
7aacca6f 22437 "format" : {
44660702 22438 "cpus" : {
c2993fe5 22439 "description" : "CPUs accessing this NUMA node.",
44660702
DM
22440 "format_description" : "id[-id];...",
22441 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22442 "type" : "string"
22443 },
7aacca6f 22444 "hostnodes" : {
c2993fe5 22445 "description" : "Host NUMA nodes to use.",
44660702 22446 "format_description" : "id[-id];...",
7aacca6f 22447 "optional" : 1,
44660702
DM
22448 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22449 "type" : "string"
7aacca6f 22450 },
44660702 22451 "memory" : {
c2993fe5 22452 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
22453 "optional" : 1,
22454 "type" : "number"
7aacca6f
DM
22455 },
22456 "policy" : {
c2993fe5 22457 "description" : "NUMA allocation policy.",
7aacca6f
DM
22458 "enum" : [
22459 "preferred",
22460 "bind",
22461 "interleave"
22462 ],
7aacca6f 22463 "optional" : 1,
44660702 22464 "type" : "string"
7aacca6f
DM
22465 }
22466 },
56122987 22467 "optional" : 1,
4bd7df8b
DM
22468 "type" : "string",
22469 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 22470 },
44660702
DM
22471 "onboot" : {
22472 "default" : 0,
22473 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 22474 "optional" : 1,
013dc89f
DM
22475 "type" : "boolean",
22476 "typetext" : "<boolean>"
56122987
DM
22477 },
22478 "ostype" : {
c2993fe5 22479 "description" : "Specify guest operating system.",
56122987
DM
22480 "enum" : [
22481 "other",
22482 "wxp",
22483 "w2k",
22484 "w2k3",
22485 "w2k8",
22486 "wvista",
22487 "win7",
22488 "win8",
32d876b5 22489 "win10",
56122987
DM
22490 "l24",
22491 "l26",
22492 "solaris"
44660702 22493 ],
56122987 22494 "optional" : 1,
c2993fe5 22495 "type" : "string",
d2656385 22496 "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/2019\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 22497 },
44660702 22498 "parallel[n]" : {
c2993fe5 22499 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 22500 "optional" : 1,
44660702 22501 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 22502 "type" : "string",
4772952b 22503 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 22504 },
44660702
DM
22505 "pool" : {
22506 "description" : "Add the VM to the specified pool.",
22507 "format" : "pve-poolid",
56122987 22508 "optional" : 1,
013dc89f
DM
22509 "type" : "string",
22510 "typetext" : "<string>"
56122987 22511 },
44660702
DM
22512 "protection" : {
22513 "default" : 0,
c2993fe5 22514 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 22515 "optional" : 1,
013dc89f
DM
22516 "type" : "boolean",
22517 "typetext" : "<boolean>"
56122987 22518 },
44660702 22519 "reboot" : {
7aacca6f 22520 "default" : 1,
44660702
DM
22521 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
22522 "optional" : 1,
013dc89f
DM
22523 "type" : "boolean",
22524 "typetext" : "<boolean>"
56122987 22525 },
c5aa7e14
TL
22526 "rng0" : {
22527 "description" : "Configure a VirtIO-based Random Number Generator.",
22528 "format" : {
22529 "max_bytes" : {
22530 "default" : 1024,
22531 "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!).",
22532 "optional" : 1,
22533 "type" : "integer"
22534 },
22535 "period" : {
22536 "default" : 1000,
22537 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
22538 "optional" : 1,
22539 "type" : "integer"
22540 },
22541 "source" : {
22542 "default_key" : 1,
22543 "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.",
22544 "enum" : [
22545 "/dev/urandom",
22546 "/dev/random",
22547 "/dev/hwrng"
22548 ],
22549 "type" : "string"
22550 }
22551 },
22552 "optional" : 1,
22553 "type" : "string",
22554 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
22555 },
56122987 22556 "sata[n]" : {
d2656385 22557 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
56122987 22558 "format" : {
7aacca6f 22559 "aio" : {
44660702 22560 "description" : "AIO type to use.",
56122987 22561 "enum" : [
7aacca6f 22562 "native",
8f4d9c87
TL
22563 "threads",
22564 "io_uring"
56122987 22565 ],
7aacca6f 22566 "optional" : 1,
44660702 22567 "type" : "string"
7aacca6f
DM
22568 },
22569 "backup" : {
7aacca6f 22570 "description" : "Whether the drive should be included when making backups.",
7aacca6f 22571 "optional" : 1,
44660702 22572 "type" : "boolean"
56122987 22573 },
44660702 22574 "bps" : {
de0983cb 22575 "description" : "Maximum r/w speed in bytes per second.",
44660702 22576 "format_description" : "bps",
7aacca6f 22577 "optional" : 1,
44660702 22578 "type" : "integer"
56122987 22579 },
de0983cb
DM
22580 "bps_max_length" : {
22581 "description" : "Maximum length of I/O bursts in seconds.",
22582 "format_description" : "seconds",
22583 "minimum" : 1,
22584 "optional" : 1,
22585 "type" : "integer"
22586 },
44660702 22587 "bps_rd" : {
de0983cb 22588 "description" : "Maximum read speed in bytes per second.",
44660702 22589 "format_description" : "bps",
56122987 22590 "optional" : 1,
44660702 22591 "type" : "integer"
7aacca6f 22592 },
de0983cb 22593 "bps_rd_length" : {
5d9c884c
DM
22594 "alias" : "bps_rd_max_length"
22595 },
22596 "bps_rd_max_length" : {
de0983cb
DM
22597 "description" : "Maximum length of read I/O bursts in seconds.",
22598 "format_description" : "seconds",
22599 "minimum" : 1,
22600 "optional" : 1,
22601 "type" : "integer"
22602 },
44660702 22603 "bps_wr" : {
de0983cb 22604 "description" : "Maximum write speed in bytes per second.",
44660702 22605 "format_description" : "bps",
56122987 22606 "optional" : 1,
44660702 22607 "type" : "integer"
56122987 22608 },
de0983cb 22609 "bps_wr_length" : {
5d9c884c
DM
22610 "alias" : "bps_wr_max_length"
22611 },
22612 "bps_wr_max_length" : {
de0983cb
DM
22613 "description" : "Maximum length of write I/O bursts in seconds.",
22614 "format_description" : "seconds",
22615 "minimum" : 1,
22616 "optional" : 1,
22617 "type" : "integer"
22618 },
7aacca6f 22619 "cache" : {
7aacca6f
DM
22620 "description" : "The drive's cache mode",
22621 "enum" : [
22622 "none",
22623 "writethrough",
22624 "writeback",
22625 "unsafe",
22626 "directsync"
22627 ],
44660702
DM
22628 "optional" : 1,
22629 "type" : "string"
56122987 22630 },
44660702
DM
22631 "cyls" : {
22632 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 22633 "optional" : 1,
7aacca6f 22634 "type" : "integer"
56122987 22635 },
7aacca6f
DM
22636 "detect_zeroes" : {
22637 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 22638 "optional" : 1,
7aacca6f 22639 "type" : "boolean"
56122987 22640 },
44660702
DM
22641 "discard" : {
22642 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
22643 "enum" : [
22644 "ignore",
22645 "on"
22646 ],
56122987 22647 "optional" : 1,
44660702 22648 "type" : "string"
56122987 22649 },
44660702
DM
22650 "file" : {
22651 "default_key" : 1,
22652 "description" : "The drive's backing volume.",
22653 "format" : "pve-volume-id-or-qm-path",
22654 "format_description" : "volume",
22655 "type" : "string"
56122987
DM
22656 },
22657 "format" : {
44660702 22658 "description" : "The drive's backing file's data format.",
56122987
DM
22659 "enum" : [
22660 "raw",
22661 "cow",
22662 "qcow",
22663 "qed",
22664 "qcow2",
22665 "vmdk",
22666 "cloop"
22667 ],
56122987 22668 "optional" : 1,
44660702 22669 "type" : "string"
56122987 22670 },
7aacca6f 22671 "heads" : {
7aacca6f 22672 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22673 "optional" : 1,
22674 "type" : "integer"
56122987 22675 },
44660702 22676 "iops" : {
de0983cb 22677 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
22678 "format_description" : "iops",
22679 "optional" : 1,
22680 "type" : "integer"
56122987 22681 },
44660702 22682 "iops_max" : {
de0983cb 22683 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 22684 "format_description" : "iops",
56122987 22685 "optional" : 1,
44660702 22686 "type" : "integer"
56122987 22687 },
de0983cb
DM
22688 "iops_max_length" : {
22689 "description" : "Maximum length of I/O bursts in seconds.",
22690 "format_description" : "seconds",
22691 "minimum" : 1,
22692 "optional" : 1,
22693 "type" : "integer"
22694 },
44660702 22695 "iops_rd" : {
de0983cb 22696 "description" : "Maximum read I/O in operations per second.",
44660702 22697 "format_description" : "iops",
56122987 22698 "optional" : 1,
44660702 22699 "type" : "integer"
56122987 22700 },
de0983cb 22701 "iops_rd_length" : {
5d9c884c 22702 "alias" : "iops_rd_max_length"
de0983cb 22703 },
44660702 22704 "iops_rd_max" : {
de0983cb 22705 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 22706 "format_description" : "iops",
56122987 22707 "optional" : 1,
44660702 22708 "type" : "integer"
56122987 22709 },
5d9c884c
DM
22710 "iops_rd_max_length" : {
22711 "description" : "Maximum length of read I/O bursts in seconds.",
22712 "format_description" : "seconds",
22713 "minimum" : 1,
22714 "optional" : 1,
22715 "type" : "integer"
22716 },
44660702 22717 "iops_wr" : {
de0983cb 22718 "description" : "Maximum write I/O in operations per second.",
44660702 22719 "format_description" : "iops",
7aacca6f 22720 "optional" : 1,
44660702 22721 "type" : "integer"
7aacca6f 22722 },
de0983cb 22723 "iops_wr_length" : {
5d9c884c 22724 "alias" : "iops_wr_max_length"
de0983cb 22725 },
44660702 22726 "iops_wr_max" : {
de0983cb 22727 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 22728 "format_description" : "iops",
56122987 22729 "optional" : 1,
7aacca6f 22730 "type" : "integer"
56122987 22731 },
5d9c884c
DM
22732 "iops_wr_max_length" : {
22733 "description" : "Maximum length of write I/O bursts in seconds.",
22734 "format_description" : "seconds",
22735 "minimum" : 1,
22736 "optional" : 1,
22737 "type" : "integer"
22738 },
44660702 22739 "mbps" : {
de0983cb 22740 "description" : "Maximum r/w speed in megabytes per second.",
44660702 22741 "format_description" : "mbps",
56122987 22742 "optional" : 1,
44660702 22743 "type" : "number"
56122987 22744 },
44660702 22745 "mbps_max" : {
de0983cb 22746 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 22747 "format_description" : "mbps",
7aacca6f 22748 "optional" : 1,
44660702 22749 "type" : "number"
7aacca6f 22750 },
44660702 22751 "mbps_rd" : {
de0983cb 22752 "description" : "Maximum read speed in megabytes per second.",
44660702 22753 "format_description" : "mbps",
7aacca6f 22754 "optional" : 1,
44660702 22755 "type" : "number"
7aacca6f 22756 },
44660702 22757 "mbps_rd_max" : {
de0983cb 22758 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 22759 "format_description" : "mbps",
7aacca6f 22760 "optional" : 1,
44660702 22761 "type" : "number"
7aacca6f 22762 },
44660702 22763 "mbps_wr" : {
de0983cb 22764 "description" : "Maximum write speed in megabytes per second.",
44660702 22765 "format_description" : "mbps",
7aacca6f 22766 "optional" : 1,
44660702 22767 "type" : "number"
7aacca6f
DM
22768 },
22769 "mbps_wr_max" : {
de0983cb 22770 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 22771 "format_description" : "mbps",
7aacca6f 22772 "optional" : 1,
44660702 22773 "type" : "number"
7aacca6f 22774 },
44660702
DM
22775 "media" : {
22776 "default" : "disk",
22777 "description" : "The drive's media type.",
56122987 22778 "enum" : [
44660702
DM
22779 "cdrom",
22780 "disk"
56122987 22781 ],
56122987 22782 "optional" : 1,
44660702 22783 "type" : "string"
56122987 22784 },
5d9c884c
DM
22785 "replicate" : {
22786 "default" : 1,
22787 "description" : "Whether the drive should considered for replication jobs.",
22788 "optional" : 1,
22789 "type" : "boolean"
22790 },
44660702
DM
22791 "rerror" : {
22792 "description" : "Read error action.",
7aacca6f
DM
22793 "enum" : [
22794 "ignore",
44660702
DM
22795 "report",
22796 "stop"
7aacca6f 22797 ],
56122987 22798 "optional" : 1,
44660702 22799 "type" : "string"
56122987 22800 },
44660702
DM
22801 "secs" : {
22802 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 22803 "optional" : 1,
44660702 22804 "type" : "integer"
56122987 22805 },
44660702
DM
22806 "serial" : {
22807 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22808 "format" : "urlencoded",
22809 "format_description" : "serial",
22810 "maxLength" : 60,
22811 "optional" : 1,
22812 "type" : "string"
7aacca6f 22813 },
27a7acb2
DM
22814 "shared" : {
22815 "default" : 0,
22816 "description" : "Mark this locally-managed volume as available on all nodes",
22817 "optional" : 1,
22818 "type" : "boolean",
22819 "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!"
22820 },
7aacca6f
DM
22821 "size" : {
22822 "description" : "Disk size. This is purely informational and has no effect.",
44660702 22823 "format" : "disk-size",
f004f5b9 22824 "format_description" : "DiskSize",
56122987 22825 "optional" : 1,
44660702 22826 "type" : "string"
56122987 22827 },
44660702 22828 "snapshot" : {
27a7acb2 22829 "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 22830 "optional" : 1,
44660702 22831 "type" : "boolean"
56122987 22832 },
25203dc1
NC
22833 "ssd" : {
22834 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
22835 "optional" : 1,
22836 "type" : "boolean"
22837 },
44660702
DM
22838 "trans" : {
22839 "description" : "Force disk geometry bios translation mode.",
56122987 22840 "enum" : [
44660702
DM
22841 "none",
22842 "lba",
22843 "auto"
7aacca6f 22844 ],
44660702
DM
22845 "optional" : 1,
22846 "type" : "string"
22847 },
22848 "volume" : {
22849 "alias" : "file"
56122987
DM
22850 },
22851 "werror" : {
56122987
DM
22852 "description" : "Write error action.",
22853 "enum" : [
22854 "enospc",
22855 "ignore",
22856 "report",
22857 "stop"
22858 ],
56122987 22859 "optional" : 1,
44660702 22860 "type" : "string"
95895385
TL
22861 },
22862 "wwn" : {
22863 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
22864 "format_description" : "wwn",
22865 "optional" : 1,
22866 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
22867 "type" : "string"
44660702
DM
22868 }
22869 },
22870 "optional" : 1,
4bd7df8b 22871 "type" : "string",
8f4d9c87 22872 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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
22873 },
22874 "scsi[n]" : {
d2656385 22875 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
44660702
DM
22876 "format" : {
22877 "aio" : {
22878 "description" : "AIO type to use.",
22879 "enum" : [
22880 "native",
8f4d9c87
TL
22881 "threads",
22882 "io_uring"
44660702 22883 ],
44660702
DM
22884 "optional" : 1,
22885 "type" : "string"
56122987 22886 },
7aacca6f 22887 "backup" : {
44660702 22888 "description" : "Whether the drive should be included when making backups.",
7aacca6f 22889 "optional" : 1,
44660702 22890 "type" : "boolean"
7aacca6f 22891 },
44660702 22892 "bps" : {
de0983cb 22893 "description" : "Maximum r/w speed in bytes per second.",
44660702 22894 "format_description" : "bps",
7aacca6f 22895 "optional" : 1,
44660702 22896 "type" : "integer"
7aacca6f 22897 },
de0983cb
DM
22898 "bps_max_length" : {
22899 "description" : "Maximum length of I/O bursts in seconds.",
22900 "format_description" : "seconds",
22901 "minimum" : 1,
22902 "optional" : 1,
22903 "type" : "integer"
22904 },
44660702 22905 "bps_rd" : {
de0983cb 22906 "description" : "Maximum read speed in bytes per second.",
44660702 22907 "format_description" : "bps",
56122987 22908 "optional" : 1,
44660702 22909 "type" : "integer"
56122987 22910 },
de0983cb 22911 "bps_rd_length" : {
5d9c884c
DM
22912 "alias" : "bps_rd_max_length"
22913 },
22914 "bps_rd_max_length" : {
de0983cb
DM
22915 "description" : "Maximum length of read I/O bursts in seconds.",
22916 "format_description" : "seconds",
22917 "minimum" : 1,
22918 "optional" : 1,
22919 "type" : "integer"
22920 },
44660702 22921 "bps_wr" : {
de0983cb 22922 "description" : "Maximum write speed in bytes per second.",
44660702 22923 "format_description" : "bps",
7aacca6f 22924 "optional" : 1,
44660702 22925 "type" : "integer"
56122987 22926 },
de0983cb 22927 "bps_wr_length" : {
5d9c884c
DM
22928 "alias" : "bps_wr_max_length"
22929 },
22930 "bps_wr_max_length" : {
de0983cb
DM
22931 "description" : "Maximum length of write I/O bursts in seconds.",
22932 "format_description" : "seconds",
22933 "minimum" : 1,
22934 "optional" : 1,
22935 "type" : "integer"
22936 },
44660702
DM
22937 "cache" : {
22938 "description" : "The drive's cache mode",
7aacca6f
DM
22939 "enum" : [
22940 "none",
44660702
DM
22941 "writethrough",
22942 "writeback",
22943 "unsafe",
22944 "directsync"
7aacca6f 22945 ],
56122987 22946 "optional" : 1,
44660702 22947 "type" : "string"
56122987 22948 },
7aacca6f
DM
22949 "cyls" : {
22950 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
22951 "optional" : 1,
44660702 22952 "type" : "integer"
7aacca6f 22953 },
44660702
DM
22954 "detect_zeroes" : {
22955 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 22956 "optional" : 1,
44660702 22957 "type" : "boolean"
56122987 22958 },
44660702
DM
22959 "discard" : {
22960 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 22961 "enum" : [
44660702
DM
22962 "ignore",
22963 "on"
7aacca6f 22964 ],
7aacca6f 22965 "optional" : 1,
44660702 22966 "type" : "string"
56122987
DM
22967 },
22968 "file" : {
7aacca6f
DM
22969 "default_key" : 1,
22970 "description" : "The drive's backing volume.",
44660702
DM
22971 "format" : "pve-volume-id-or-qm-path",
22972 "format_description" : "volume",
7aacca6f 22973 "type" : "string"
56122987 22974 },
7aacca6f 22975 "format" : {
44660702 22976 "description" : "The drive's backing file's data format.",
56122987 22977 "enum" : [
7aacca6f
DM
22978 "raw",
22979 "cow",
22980 "qcow",
22981 "qed",
22982 "qcow2",
22983 "vmdk",
22984 "cloop"
56122987 22985 ],
44660702
DM
22986 "optional" : 1,
22987 "type" : "string"
56122987 22988 },
44660702
DM
22989 "heads" : {
22990 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22991 "optional" : 1,
22992 "type" : "integer"
22993 },
22994 "iops" : {
de0983cb 22995 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 22996 "format_description" : "iops",
56122987 22997 "optional" : 1,
44660702 22998 "type" : "integer"
56122987 22999 },
44660702 23000 "iops_max" : {
de0983cb 23001 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 23002 "format_description" : "iops",
7aacca6f 23003 "optional" : 1,
44660702 23004 "type" : "integer"
56122987 23005 },
de0983cb
DM
23006 "iops_max_length" : {
23007 "description" : "Maximum length of I/O bursts in seconds.",
23008 "format_description" : "seconds",
23009 "minimum" : 1,
23010 "optional" : 1,
23011 "type" : "integer"
23012 },
44660702 23013 "iops_rd" : {
de0983cb 23014 "description" : "Maximum read I/O in operations per second.",
44660702 23015 "format_description" : "iops",
56122987 23016 "optional" : 1,
44660702 23017 "type" : "integer"
56122987 23018 },
de0983cb 23019 "iops_rd_length" : {
5d9c884c 23020 "alias" : "iops_rd_max_length"
de0983cb 23021 },
44660702 23022 "iops_rd_max" : {
de0983cb 23023 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
23024 "format_description" : "iops",
23025 "optional" : 1,
23026 "type" : "integer"
56122987 23027 },
5d9c884c
DM
23028 "iops_rd_max_length" : {
23029 "description" : "Maximum length of read I/O bursts in seconds.",
23030 "format_description" : "seconds",
23031 "minimum" : 1,
23032 "optional" : 1,
23033 "type" : "integer"
23034 },
44660702 23035 "iops_wr" : {
de0983cb 23036 "description" : "Maximum write I/O in operations per second.",
44660702 23037 "format_description" : "iops",
56122987 23038 "optional" : 1,
44660702 23039 "type" : "integer"
56122987 23040 },
de0983cb 23041 "iops_wr_length" : {
5d9c884c 23042 "alias" : "iops_wr_max_length"
de0983cb 23043 },
44660702 23044 "iops_wr_max" : {
de0983cb 23045 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 23046 "format_description" : "iops",
56122987 23047 "optional" : 1,
56122987
DM
23048 "type" : "integer"
23049 },
5d9c884c
DM
23050 "iops_wr_max_length" : {
23051 "description" : "Maximum length of write I/O bursts in seconds.",
23052 "format_description" : "seconds",
23053 "minimum" : 1,
23054 "optional" : 1,
23055 "type" : "integer"
23056 },
44660702
DM
23057 "iothread" : {
23058 "description" : "Whether to use iothreads for this drive",
44660702
DM
23059 "optional" : 1,
23060 "type" : "boolean"
23061 },
23062 "mbps" : {
de0983cb 23063 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
23064 "format_description" : "mbps",
23065 "optional" : 1,
23066 "type" : "number"
23067 },
7aacca6f 23068 "mbps_max" : {
de0983cb 23069 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 23070 "format_description" : "mbps",
56122987 23071 "optional" : 1,
44660702 23072 "type" : "number"
56122987 23073 },
44660702 23074 "mbps_rd" : {
de0983cb 23075 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
23076 "format_description" : "mbps",
23077 "optional" : 1,
23078 "type" : "number"
56122987 23079 },
44660702 23080 "mbps_rd_max" : {
de0983cb 23081 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 23082 "format_description" : "mbps",
56122987 23083 "optional" : 1,
44660702 23084 "type" : "number"
56122987 23085 },
44660702 23086 "mbps_wr" : {
de0983cb 23087 "description" : "Maximum write speed in megabytes per second.",
44660702 23088 "format_description" : "mbps",
56122987 23089 "optional" : 1,
44660702 23090 "type" : "number"
56122987 23091 },
44660702 23092 "mbps_wr_max" : {
de0983cb 23093 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 23094 "format_description" : "mbps",
7aacca6f 23095 "optional" : 1,
44660702 23096 "type" : "number"
56122987 23097 },
7aacca6f 23098 "media" : {
44660702 23099 "default" : "disk",
7aacca6f
DM
23100 "description" : "The drive's media type.",
23101 "enum" : [
23102 "cdrom",
23103 "disk"
23104 ],
56122987 23105 "optional" : 1,
44660702 23106 "type" : "string"
56122987 23107 },
44660702
DM
23108 "queues" : {
23109 "description" : "Number of queues.",
44660702
DM
23110 "minimum" : 2,
23111 "optional" : 1,
23112 "type" : "integer"
56122987 23113 },
5d9c884c
DM
23114 "replicate" : {
23115 "default" : 1,
23116 "description" : "Whether the drive should considered for replication jobs.",
23117 "optional" : 1,
23118 "type" : "boolean"
23119 },
23120 "rerror" : {
23121 "description" : "Read error action.",
23122 "enum" : [
23123 "ignore",
23124 "report",
23125 "stop"
23126 ],
23127 "optional" : 1,
23128 "type" : "string"
23129 },
52e44c50
FG
23130 "scsiblock" : {
23131 "default" : 0,
23132 "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",
23133 "optional" : 1,
23134 "type" : "boolean"
23135 },
7aacca6f 23136 "secs" : {
7aacca6f 23137 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
23138 "optional" : 1,
23139 "type" : "integer"
23140 },
23141 "serial" : {
23142 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
23143 "format" : "urlencoded",
23144 "format_description" : "serial",
23145 "maxLength" : 60,
23146 "optional" : 1,
23147 "type" : "string"
23148 },
27a7acb2
DM
23149 "shared" : {
23150 "default" : 0,
23151 "description" : "Mark this locally-managed volume as available on all nodes",
23152 "optional" : 1,
23153 "type" : "boolean",
23154 "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!"
23155 },
44660702
DM
23156 "size" : {
23157 "description" : "Disk size. This is purely informational and has no effect.",
23158 "format" : "disk-size",
f004f5b9 23159 "format_description" : "DiskSize",
44660702
DM
23160 "optional" : 1,
23161 "type" : "string"
23162 },
23163 "snapshot" : {
27a7acb2 23164 "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
23165 "optional" : 1,
23166 "type" : "boolean"
23167 },
25203dc1
NC
23168 "ssd" : {
23169 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
23170 "optional" : 1,
23171 "type" : "boolean"
23172 },
44660702
DM
23173 "trans" : {
23174 "description" : "Force disk geometry bios translation mode.",
23175 "enum" : [
23176 "none",
23177 "lba",
23178 "auto"
23179 ],
44660702
DM
23180 "optional" : 1,
23181 "type" : "string"
23182 },
23183 "volume" : {
23184 "alias" : "file"
23185 },
23186 "werror" : {
23187 "description" : "Write error action.",
23188 "enum" : [
23189 "enospc",
23190 "ignore",
23191 "report",
23192 "stop"
23193 ],
44660702
DM
23194 "optional" : 1,
23195 "type" : "string"
95895385
TL
23196 },
23197 "wwn" : {
23198 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
23199 "format_description" : "wwn",
23200 "optional" : 1,
23201 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
23202 "type" : "string"
56122987
DM
23203 }
23204 },
7aacca6f 23205 "optional" : 1,
4bd7df8b 23206 "type" : "string",
8f4d9c87 23207 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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 23208 },
44660702
DM
23209 "scsihw" : {
23210 "default" : "lsi",
c2993fe5 23211 "description" : "SCSI controller model",
44660702
DM
23212 "enum" : [
23213 "lsi",
23214 "lsi53c810",
23215 "virtio-scsi-pci",
23216 "virtio-scsi-single",
23217 "megasas",
23218 "pvscsi"
23219 ],
7aacca6f 23220 "optional" : 1,
44660702 23221 "type" : "string"
7aacca6f 23222 },
27a7acb2 23223 "searchdomain" : {
4772952b 23224 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
27a7acb2
DM
23225 "optional" : 1,
23226 "type" : "string",
23227 "typetext" : "<string>"
23228 },
44660702 23229 "serial[n]" : {
c2993fe5 23230 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
23231 "optional" : 1,
23232 "pattern" : "(/dev/.+|socket)",
c2993fe5 23233 "type" : "string",
4772952b 23234 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
23235 },
23236 "shares" : {
23237 "default" : 1000,
5da3d723 23238 "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
23239 "maximum" : 50000,
23240 "minimum" : 0,
23241 "optional" : 1,
4bd7df8b 23242 "type" : "integer",
013dc89f 23243 "typetext" : "<integer> (0 - 50000)"
44660702
DM
23244 },
23245 "smbios1" : {
23246 "description" : "Specify SMBIOS type 1 fields.",
23247 "format" : "pve-qm-smbios1",
1e3f8156 23248 "maxLength" : 512,
7aacca6f 23249 "optional" : 1,
4bd7df8b 23250 "type" : "string",
1e3f8156 23251 "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
23252 },
23253 "smp" : {
44660702 23254 "default" : 1,
7aacca6f 23255 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 23256 "minimum" : 1,
56122987 23257 "optional" : 1,
4bd7df8b 23258 "type" : "integer",
013dc89f 23259 "typetext" : "<integer> (1 - N)"
44660702
DM
23260 },
23261 "sockets" : {
7aacca6f 23262 "default" : 1,
44660702
DM
23263 "description" : "The number of CPU sockets.",
23264 "minimum" : 1,
23265 "optional" : 1,
4bd7df8b 23266 "type" : "integer",
013dc89f 23267 "typetext" : "<integer> (1 - N)"
7aacca6f 23268 },
1c532546
TL
23269 "spice_enhancements" : {
23270 "description" : "Configure additional enhancements for SPICE.",
23271 "format" : {
23272 "foldersharing" : {
23273 "default" : "0",
23274 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
23275 "optional" : 1,
23276 "type" : "boolean"
23277 },
23278 "videostreaming" : {
23279 "default" : "off",
23280 "description" : "Enable video streaming. Uses compression for detected video streams.",
23281 "enum" : [
23282 "off",
23283 "all",
23284 "filter"
23285 ],
23286 "optional" : 1,
23287 "type" : "string"
23288 }
23289 },
23290 "optional" : 1,
23291 "type" : "string",
23292 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
23293 },
27a7acb2
DM
23294 "sshkeys" : {
23295 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
23296 "format" : "urlencoded",
23297 "optional" : 1,
23298 "type" : "string",
23299 "typetext" : "<string>"
23300 },
5da3d723
TL
23301 "start" : {
23302 "default" : 0,
23303 "description" : "Start VM after it was created successfully.",
23304 "optional" : 1,
23305 "type" : "boolean",
23306 "typetext" : "<boolean>"
23307 },
44660702
DM
23308 "startdate" : {
23309 "default" : "now",
4772952b 23310 "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
44660702
DM
23311 "optional" : 1,
23312 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
23313 "type" : "string",
23314 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
23315 },
23316 "startup" : {
23317 "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.",
23318 "format" : "pve-startup-order",
23319 "optional" : 1,
23320 "type" : "string",
23321 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23322 },
23323 "storage" : {
23324 "description" : "Default storage.",
23325 "format" : "pve-storage-id",
7aacca6f 23326 "optional" : 1,
013dc89f
DM
23327 "type" : "string",
23328 "typetext" : "<string>"
56122987 23329 },
44660702
DM
23330 "tablet" : {
23331 "default" : 1,
c2993fe5 23332 "description" : "Enable/disable the USB tablet device.",
56122987 23333 "optional" : 1,
c2993fe5 23334 "type" : "boolean",
013dc89f 23335 "typetext" : "<boolean>",
4772952b 23336 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (`qm set <vmid> --vga qxl`)."
44660702 23337 },
5c1699e5
TL
23338 "tags" : {
23339 "description" : "Tags of the VM. This is only meta information.",
23340 "format" : "pve-tag-list",
23341 "optional" : 1,
23342 "type" : "string",
23343 "typetext" : "<string>"
23344 },
44660702
DM
23345 "tdf" : {
23346 "default" : 0,
23347 "description" : "Enable/disable time drift fix.",
23348 "optional" : 1,
013dc89f
DM
23349 "type" : "boolean",
23350 "typetext" : "<boolean>"
7aacca6f
DM
23351 },
23352 "template" : {
7aacca6f 23353 "default" : 0,
44660702 23354 "description" : "Enable/disable Template.",
7aacca6f 23355 "optional" : 1,
013dc89f
DM
23356 "type" : "boolean",
23357 "typetext" : "<boolean>"
7aacca6f 23358 },
44660702
DM
23359 "unique" : {
23360 "description" : "Assign a unique random ethernet address.",
7aacca6f 23361 "optional" : 1,
44660702 23362 "requires" : "archive",
013dc89f
DM
23363 "type" : "boolean",
23364 "typetext" : "<boolean>"
56122987 23365 },
44660702 23366 "unused[n]" : {
c2993fe5 23367 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
23368 "format" : {
23369 "file" : {
23370 "default_key" : 1,
23371 "description" : "The drive's backing volume.",
23372 "format" : "pve-volume-id",
23373 "format_description" : "volume",
23374 "type" : "string"
23375 },
23376 "volume" : {
23377 "alias" : "file"
23378 }
23379 },
7aacca6f 23380 "optional" : 1,
013dc89f 23381 "type" : "string",
c5aa7e14 23382 "typetext" : "[file=]<volume>"
44660702
DM
23383 },
23384 "usb[n]" : {
c2993fe5 23385 "description" : "Configure an USB device (n is 0 to 4).",
56122987 23386 "format" : {
7aacca6f
DM
23387 "host" : {
23388 "default_key" : 1,
4772952b 23389 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 23390 "format" : "pve-qm-usb-device",
44660702
DM
23391 "format_description" : "HOSTUSBDEVICE|spice",
23392 "type" : "string"
7aacca6f 23393 },
56122987 23394 "usb3" : {
c2993fe5 23395 "default" : 0,
1c532546 23396 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 23397 "optional" : 1,
56122987 23398 "type" : "boolean"
7aacca6f 23399 }
56122987 23400 },
56122987 23401 "optional" : 1,
4bd7df8b
DM
23402 "type" : "string",
23403 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 23404 },
44660702
DM
23405 "vcpus" : {
23406 "default" : 0,
23407 "description" : "Number of hotplugged vcpus.",
23408 "minimum" : 1,
56122987 23409 "optional" : 1,
4bd7df8b 23410 "type" : "integer",
013dc89f 23411 "typetext" : "<integer> (1 - N)"
7aacca6f 23412 },
44660702 23413 "vga" : {
e2d681b3
TL
23414 "description" : "Configure the VGA hardware.",
23415 "format" : {
23416 "memory" : {
23417 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
23418 "maximum" : 512,
23419 "minimum" : 4,
23420 "optional" : 1,
23421 "type" : "integer"
23422 },
23423 "type" : {
23424 "default" : "std",
23425 "default_key" : 1,
23426 "description" : "Select the VGA type.",
23427 "enum" : [
23428 "cirrus",
23429 "qxl",
23430 "qxl2",
23431 "qxl3",
23432 "qxl4",
5f26e15b 23433 "none",
e2d681b3
TL
23434 "serial0",
23435 "serial1",
23436 "serial2",
23437 "serial3",
23438 "std",
23439 "virtio",
23440 "vmware"
23441 ],
23442 "optional" : 1,
23443 "type" : "string"
23444 }
23445 },
44660702 23446 "optional" : 1,
c2993fe5 23447 "type" : "string",
e2d681b3
TL
23448 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
23449 "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 23450 },
44660702 23451 "virtio[n]" : {
d2656385 23452 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
44660702
DM
23453 "format" : {
23454 "aio" : {
23455 "description" : "AIO type to use.",
23456 "enum" : [
23457 "native",
8f4d9c87
TL
23458 "threads",
23459 "io_uring"
44660702 23460 ],
44660702
DM
23461 "optional" : 1,
23462 "type" : "string"
23463 },
23464 "backup" : {
23465 "description" : "Whether the drive should be included when making backups.",
44660702
DM
23466 "optional" : 1,
23467 "type" : "boolean"
23468 },
23469 "bps" : {
de0983cb 23470 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
23471 "format_description" : "bps",
23472 "optional" : 1,
23473 "type" : "integer"
23474 },
de0983cb
DM
23475 "bps_max_length" : {
23476 "description" : "Maximum length of I/O bursts in seconds.",
23477 "format_description" : "seconds",
23478 "minimum" : 1,
23479 "optional" : 1,
23480 "type" : "integer"
23481 },
44660702 23482 "bps_rd" : {
de0983cb 23483 "description" : "Maximum read speed in bytes per second.",
44660702
DM
23484 "format_description" : "bps",
23485 "optional" : 1,
23486 "type" : "integer"
23487 },
de0983cb 23488 "bps_rd_length" : {
5d9c884c
DM
23489 "alias" : "bps_rd_max_length"
23490 },
23491 "bps_rd_max_length" : {
de0983cb
DM
23492 "description" : "Maximum length of read I/O bursts in seconds.",
23493 "format_description" : "seconds",
23494 "minimum" : 1,
23495 "optional" : 1,
23496 "type" : "integer"
23497 },
44660702 23498 "bps_wr" : {
de0983cb 23499 "description" : "Maximum write speed in bytes per second.",
44660702
DM
23500 "format_description" : "bps",
23501 "optional" : 1,
23502 "type" : "integer"
23503 },
de0983cb 23504 "bps_wr_length" : {
5d9c884c
DM
23505 "alias" : "bps_wr_max_length"
23506 },
23507 "bps_wr_max_length" : {
de0983cb
DM
23508 "description" : "Maximum length of write I/O bursts in seconds.",
23509 "format_description" : "seconds",
23510 "minimum" : 1,
23511 "optional" : 1,
23512 "type" : "integer"
23513 },
44660702
DM
23514 "cache" : {
23515 "description" : "The drive's cache mode",
23516 "enum" : [
23517 "none",
23518 "writethrough",
23519 "writeback",
23520 "unsafe",
23521 "directsync"
23522 ],
44660702
DM
23523 "optional" : 1,
23524 "type" : "string"
23525 },
23526 "cyls" : {
23527 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
23528 "optional" : 1,
23529 "type" : "integer"
23530 },
23531 "detect_zeroes" : {
23532 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
23533 "optional" : 1,
23534 "type" : "boolean"
23535 },
23536 "discard" : {
23537 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
23538 "enum" : [
23539 "ignore",
23540 "on"
23541 ],
44660702
DM
23542 "optional" : 1,
23543 "type" : "string"
23544 },
23545 "file" : {
23546 "default_key" : 1,
23547 "description" : "The drive's backing volume.",
23548 "format" : "pve-volume-id-or-qm-path",
23549 "format_description" : "volume",
23550 "type" : "string"
23551 },
23552 "format" : {
23553 "description" : "The drive's backing file's data format.",
23554 "enum" : [
23555 "raw",
23556 "cow",
23557 "qcow",
23558 "qed",
23559 "qcow2",
23560 "vmdk",
23561 "cloop"
23562 ],
44660702
DM
23563 "optional" : 1,
23564 "type" : "string"
23565 },
23566 "heads" : {
23567 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
23568 "optional" : 1,
23569 "type" : "integer"
23570 },
23571 "iops" : {
de0983cb 23572 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
23573 "format_description" : "iops",
23574 "optional" : 1,
23575 "type" : "integer"
23576 },
23577 "iops_max" : {
de0983cb 23578 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
23579 "format_description" : "iops",
23580 "optional" : 1,
23581 "type" : "integer"
23582 },
de0983cb
DM
23583 "iops_max_length" : {
23584 "description" : "Maximum length of I/O bursts in seconds.",
23585 "format_description" : "seconds",
23586 "minimum" : 1,
23587 "optional" : 1,
23588 "type" : "integer"
23589 },
44660702 23590 "iops_rd" : {
de0983cb 23591 "description" : "Maximum read I/O in operations per second.",
44660702
DM
23592 "format_description" : "iops",
23593 "optional" : 1,
23594 "type" : "integer"
23595 },
de0983cb 23596 "iops_rd_length" : {
5d9c884c 23597 "alias" : "iops_rd_max_length"
de0983cb 23598 },
44660702 23599 "iops_rd_max" : {
de0983cb 23600 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
23601 "format_description" : "iops",
23602 "optional" : 1,
23603 "type" : "integer"
23604 },
5d9c884c
DM
23605 "iops_rd_max_length" : {
23606 "description" : "Maximum length of read I/O bursts in seconds.",
23607 "format_description" : "seconds",
23608 "minimum" : 1,
23609 "optional" : 1,
23610 "type" : "integer"
23611 },
44660702 23612 "iops_wr" : {
de0983cb 23613 "description" : "Maximum write I/O in operations per second.",
44660702
DM
23614 "format_description" : "iops",
23615 "optional" : 1,
23616 "type" : "integer"
23617 },
de0983cb 23618 "iops_wr_length" : {
5d9c884c 23619 "alias" : "iops_wr_max_length"
de0983cb 23620 },
44660702 23621 "iops_wr_max" : {
de0983cb 23622 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
23623 "format_description" : "iops",
23624 "optional" : 1,
23625 "type" : "integer"
23626 },
5d9c884c
DM
23627 "iops_wr_max_length" : {
23628 "description" : "Maximum length of write I/O bursts in seconds.",
23629 "format_description" : "seconds",
23630 "minimum" : 1,
23631 "optional" : 1,
23632 "type" : "integer"
23633 },
44660702
DM
23634 "iothread" : {
23635 "description" : "Whether to use iothreads for this drive",
44660702
DM
23636 "optional" : 1,
23637 "type" : "boolean"
23638 },
23639 "mbps" : {
de0983cb 23640 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
23641 "format_description" : "mbps",
23642 "optional" : 1,
23643 "type" : "number"
23644 },
23645 "mbps_max" : {
de0983cb 23646 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
23647 "format_description" : "mbps",
23648 "optional" : 1,
23649 "type" : "number"
23650 },
23651 "mbps_rd" : {
de0983cb 23652 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
23653 "format_description" : "mbps",
23654 "optional" : 1,
23655 "type" : "number"
23656 },
23657 "mbps_rd_max" : {
de0983cb 23658 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
23659 "format_description" : "mbps",
23660 "optional" : 1,
23661 "type" : "number"
23662 },
23663 "mbps_wr" : {
de0983cb 23664 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
23665 "format_description" : "mbps",
23666 "optional" : 1,
23667 "type" : "number"
23668 },
23669 "mbps_wr_max" : {
de0983cb 23670 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
23671 "format_description" : "mbps",
23672 "optional" : 1,
23673 "type" : "number"
23674 },
23675 "media" : {
23676 "default" : "disk",
23677 "description" : "The drive's media type.",
23678 "enum" : [
23679 "cdrom",
23680 "disk"
23681 ],
44660702
DM
23682 "optional" : 1,
23683 "type" : "string"
23684 },
5d9c884c
DM
23685 "replicate" : {
23686 "default" : 1,
23687 "description" : "Whether the drive should considered for replication jobs.",
23688 "optional" : 1,
23689 "type" : "boolean"
23690 },
44660702
DM
23691 "rerror" : {
23692 "description" : "Read error action.",
23693 "enum" : [
23694 "ignore",
23695 "report",
23696 "stop"
23697 ],
44660702
DM
23698 "optional" : 1,
23699 "type" : "string"
23700 },
23701 "secs" : {
23702 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
23703 "optional" : 1,
23704 "type" : "integer"
23705 },
23706 "serial" : {
23707 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
23708 "format" : "urlencoded",
23709 "format_description" : "serial",
23710 "maxLength" : 60,
23711 "optional" : 1,
23712 "type" : "string"
23713 },
27a7acb2
DM
23714 "shared" : {
23715 "default" : 0,
23716 "description" : "Mark this locally-managed volume as available on all nodes",
23717 "optional" : 1,
23718 "type" : "boolean",
23719 "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!"
23720 },
44660702
DM
23721 "size" : {
23722 "description" : "Disk size. This is purely informational and has no effect.",
23723 "format" : "disk-size",
f004f5b9 23724 "format_description" : "DiskSize",
44660702
DM
23725 "optional" : 1,
23726 "type" : "string"
23727 },
23728 "snapshot" : {
27a7acb2 23729 "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
23730 "optional" : 1,
23731 "type" : "boolean"
23732 },
23733 "trans" : {
23734 "description" : "Force disk geometry bios translation mode.",
23735 "enum" : [
23736 "none",
23737 "lba",
23738 "auto"
23739 ],
44660702
DM
23740 "optional" : 1,
23741 "type" : "string"
23742 },
23743 "volume" : {
23744 "alias" : "file"
23745 },
23746 "werror" : {
23747 "description" : "Write error action.",
23748 "enum" : [
23749 "enospc",
23750 "ignore",
23751 "report",
23752 "stop"
23753 ],
44660702
DM
23754 "optional" : 1,
23755 "type" : "string"
23756 }
23757 },
23758 "optional" : 1,
4bd7df8b 23759 "type" : "string",
8f4d9c87 23760 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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 23761 },
4d47f125
TL
23762 "vmgenid" : {
23763 "default" : "1 (autogenerated)",
23764 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
23765 "format_description" : "UUID",
23766 "optional" : 1,
23767 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
23768 "type" : "string",
4772952b 23769 "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
4d47f125 23770 },
44660702
DM
23771 "vmid" : {
23772 "description" : "The (unique) ID of the VM.",
23773 "format" : "pve-vmid",
23774 "minimum" : 1,
4bd7df8b 23775 "type" : "integer",
013dc89f 23776 "typetext" : "<integer> (1 - N)"
44660702 23777 },
2489d6df
WB
23778 "vmstatestorage" : {
23779 "description" : "Default storage for VM state volumes/files.",
23780 "format" : "pve-storage-id",
23781 "optional" : 1,
23782 "type" : "string",
23783 "typetext" : "<string>"
23784 },
44660702 23785 "watchdog" : {
c2993fe5 23786 "description" : "Create a virtual hardware watchdog device.",
44660702 23787 "format" : "pve-qm-watchdog",
7aacca6f 23788 "optional" : 1,
c2993fe5 23789 "type" : "string",
013dc89f 23790 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 23791 "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 23792 }
44660702 23793 }
56122987 23794 },
56122987 23795 "permissions" : {
44660702
DM
23796 "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.",
23797 "user" : "all"
56122987 23798 },
44660702
DM
23799 "protected" : 1,
23800 "proxyto" : "node",
56122987 23801 "returns" : {
44660702 23802 "type" : "string"
7aacca6f 23803 }
56122987 23804 }
7aacca6f 23805 },
44660702 23806 "leaf" : 0,
7aacca6f 23807 "path" : "/nodes/{node}/qemu",
44660702 23808 "text" : "qemu"
56122987
DM
23809 },
23810 {
23811 "children" : [
23812 {
56122987
DM
23813 "children" : [
23814 {
56122987 23815 "info" : {
44660702 23816 "GET" : {
e9cd3bd4 23817 "allowtoken" : 1,
44660702
DM
23818 "description" : "Get container configuration.",
23819 "method" : "GET",
23820 "name" : "vm_config",
23821 "parameters" : {
23822 "additionalProperties" : 0,
23823 "properties" : {
1c532546
TL
23824 "current" : {
23825 "default" : 0,
23826 "description" : "Get current values (instead of pending values).",
23827 "optional" : 1,
23828 "type" : "boolean",
23829 "typetext" : "<boolean>"
23830 },
44660702
DM
23831 "node" : {
23832 "description" : "The cluster node name.",
23833 "format" : "pve-node",
013dc89f 23834 "type" : "string",
4d47f125
TL
23835 "typetext" : "<string>"
23836 },
5f26e15b
TL
23837 "snapshot" : {
23838 "description" : "Fetch config values from given snapshot.",
23839 "format" : "pve-configid",
23840 "maxLength" : 40,
23841 "optional" : 1,
23842 "type" : "string",
23843 "typetext" : "<string>"
23844 },
4d47f125
TL
23845 "vmid" : {
23846 "description" : "The (unique) ID of the VM.",
23847 "format" : "pve-vmid",
23848 "minimum" : 1,
23849 "type" : "integer",
23850 "typetext" : "<integer> (1 - N)"
23851 }
23852 }
23853 },
23854 "permissions" : {
23855 "check" : [
23856 "perm",
23857 "/vms/{vmid}",
23858 [
23859 "VM.Audit"
23860 ]
23861 ]
23862 },
23863 "proxyto" : "node",
23864 "returns" : {
23865 "properties" : {
23866 "arch" : {
23867 "default" : "amd64",
23868 "description" : "OS architecture type.",
23869 "enum" : [
23870 "amd64",
23871 "i386",
23872 "arm64",
23873 "armhf"
23874 ],
23875 "optional" : 1,
23876 "type" : "string"
23877 },
23878 "cmode" : {
23879 "default" : "tty",
23880 "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).",
23881 "enum" : [
23882 "shell",
23883 "console",
23884 "tty"
23885 ],
23886 "optional" : 1,
23887 "type" : "string"
23888 },
23889 "console" : {
23890 "default" : 1,
23891 "description" : "Attach a console device (/dev/console) to the container.",
23892 "optional" : 1,
23893 "type" : "boolean"
23894 },
23895 "cores" : {
23896 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 23897 "maximum" : 8192,
4d47f125
TL
23898 "minimum" : 1,
23899 "optional" : 1,
23900 "type" : "integer"
23901 },
23902 "cpulimit" : {
23903 "default" : 0,
23904 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
4772952b 23905 "maximum" : 8192,
4d47f125
TL
23906 "minimum" : 0,
23907 "optional" : 1,
23908 "type" : "number"
23909 },
23910 "cpuunits" : {
23911 "default" : 1024,
23912 "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.",
23913 "maximum" : 500000,
23914 "minimum" : 0,
23915 "optional" : 1,
23916 "type" : "integer"
23917 },
739d4d64
TL
23918 "debug" : {
23919 "default" : 0,
23920 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
23921 "optional" : 1,
23922 "type" : "boolean"
23923 },
4d47f125 23924 "description" : {
8f4d9c87
TL
23925 "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
23926 "maxLength" : 8192,
4d47f125
TL
23927 "optional" : 1,
23928 "type" : "string"
23929 },
23930 "digest" : {
23931 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
23932 "type" : "string"
23933 },
23934 "features" : {
23935 "description" : "Allow containers access to advanced features.",
23936 "format" : {
c5aa7e14
TL
23937 "force_rw_sys" : {
23938 "default" : 0,
23939 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
23940 "optional" : 1,
23941 "type" : "boolean"
23942 },
e2d681b3
TL
23943 "fuse" : {
23944 "default" : 0,
23945 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
23946 "optional" : 1,
23947 "type" : "boolean"
23948 },
4d47f125
TL
23949 "keyctl" : {
23950 "default" : 0,
23951 "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.",
23952 "optional" : 1,
23953 "type" : "boolean"
23954 },
c5aa7e14
TL
23955 "mknod" : {
23956 "default" : 0,
23957 "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.",
23958 "optional" : 1,
23959 "type" : "boolean"
23960 },
4d47f125
TL
23961 "mount" : {
23962 "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.",
23963 "format_description" : "fstype;fstype;...",
23964 "optional" : 1,
95895385 23965 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
23966 "type" : "string"
23967 },
23968 "nesting" : {
23969 "default" : 0,
23970 "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.",
23971 "optional" : 1,
23972 "type" : "boolean"
23973 }
23974 },
23975 "optional" : 1,
23976 "type" : "string"
23977 },
5f26e15b
TL
23978 "hookscript" : {
23979 "description" : "Script that will be exectued during various steps in the containers lifetime.",
23980 "format" : "pve-volume-id",
23981 "optional" : 1,
23982 "type" : "string"
23983 },
4d47f125
TL
23984 "hostname" : {
23985 "description" : "Set a host name for the container.",
23986 "format" : "dns-name",
23987 "maxLength" : 255,
23988 "optional" : 1,
23989 "type" : "string"
23990 },
23991 "lock" : {
23992 "description" : "Lock/unlock the VM.",
23993 "enum" : [
23994 "backup",
bb4c8cf8 23995 "create",
1c532546 23996 "destroyed",
4d47f125 23997 "disk",
bb4c8cf8 23998 "fstrim",
4d47f125
TL
23999 "migrate",
24000 "mounted",
24001 "rollback",
24002 "snapshot",
24003 "snapshot-delete"
24004 ],
24005 "optional" : 1,
24006 "type" : "string"
24007 },
24008 "lxc" : {
24009 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
24010 "items" : {
24011 "items" : {
24012 "type" : "string"
24013 },
24014 "type" : "array"
24015 },
24016 "optional" : 1,
24017 "type" : "array"
24018 },
24019 "memory" : {
24020 "default" : 512,
24021 "description" : "Amount of RAM for the VM in MB.",
24022 "minimum" : 16,
24023 "optional" : 1,
24024 "type" : "integer"
24025 },
24026 "mp[n]" : {
d2656385 24027 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
24028 "format" : {
24029 "acl" : {
24030 "description" : "Explicitly enable or disable ACL support.",
24031 "optional" : 1,
24032 "type" : "boolean"
24033 },
24034 "backup" : {
24035 "description" : "Whether to include the mount point in backups.",
24036 "optional" : 1,
24037 "type" : "boolean",
24038 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
24039 },
7cbed89a
TL
24040 "mountoptions" : {
24041 "description" : "Extra mount options for rootfs/mps.",
24042 "format_description" : "opt[;opt...]",
24043 "optional" : 1,
24044 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24045 "type" : "string"
24046 },
4d47f125
TL
24047 "mp" : {
24048 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
24049 "format" : "pve-lxc-mp-string",
24050 "format_description" : "Path",
24051 "type" : "string",
24052 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
24053 },
24054 "quota" : {
24055 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24056 "optional" : 1,
24057 "type" : "boolean"
24058 },
24059 "replicate" : {
24060 "default" : 1,
24061 "description" : "Will include this volume to a storage replica job.",
24062 "optional" : 1,
24063 "type" : "boolean"
24064 },
24065 "ro" : {
24066 "description" : "Read-only mount point",
24067 "optional" : 1,
24068 "type" : "boolean"
24069 },
24070 "shared" : {
24071 "default" : 0,
24072 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24073 "optional" : 1,
24074 "type" : "boolean",
24075 "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!"
24076 },
24077 "size" : {
24078 "description" : "Volume size (read only value).",
24079 "format" : "disk-size",
24080 "format_description" : "DiskSize",
24081 "optional" : 1,
24082 "type" : "string"
24083 },
24084 "volume" : {
24085 "default_key" : 1,
24086 "description" : "Volume, device or directory to mount into the container.",
24087 "format" : "pve-lxc-mp-string",
24088 "format_description" : "volume",
24089 "type" : "string"
24090 }
24091 },
24092 "optional" : 1,
24093 "type" : "string"
24094 },
24095 "nameserver" : {
24096 "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.",
d2656385 24097 "format" : "lxc-ip-with-ll-iface-list",
4d47f125
TL
24098 "optional" : 1,
24099 "type" : "string"
24100 },
24101 "net[n]" : {
24102 "description" : "Specifies network interfaces for the container.",
24103 "format" : {
24104 "bridge" : {
24105 "description" : "Bridge to attach the network device to.",
24106 "format_description" : "bridge",
24107 "optional" : 1,
24108 "pattern" : "[-_.\\w\\d]+",
24109 "type" : "string"
24110 },
24111 "firewall" : {
24112 "description" : "Controls whether this interface's firewall rules should be used.",
24113 "optional" : 1,
24114 "type" : "boolean"
24115 },
24116 "gw" : {
24117 "description" : "Default gateway for IPv4 traffic.",
24118 "format" : "ipv4",
24119 "format_description" : "GatewayIPv4",
24120 "optional" : 1,
24121 "type" : "string"
24122 },
24123 "gw6" : {
24124 "description" : "Default gateway for IPv6 traffic.",
24125 "format" : "ipv6",
24126 "format_description" : "GatewayIPv6",
24127 "optional" : 1,
24128 "type" : "string"
24129 },
24130 "hwaddr" : {
24131 "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 24132 "format" : "mac-addr",
4d47f125
TL
24133 "format_description" : "XX:XX:XX:XX:XX:XX",
24134 "optional" : 1,
95895385
TL
24135 "type" : "string",
24136 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
24137 },
24138 "ip" : {
24139 "description" : "IPv4 address in CIDR format.",
24140 "format" : "pve-ipv4-config",
24141 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24142 "optional" : 1,
24143 "type" : "string"
24144 },
24145 "ip6" : {
24146 "description" : "IPv6 address in CIDR format.",
24147 "format" : "pve-ipv6-config",
24148 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24149 "optional" : 1,
24150 "type" : "string"
24151 },
24152 "mtu" : {
24153 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24154 "minimum" : 64,
24155 "optional" : 1,
24156 "type" : "integer"
24157 },
24158 "name" : {
24159 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24160 "format_description" : "string",
24161 "pattern" : "[-_.\\w\\d]+",
24162 "type" : "string"
24163 },
24164 "rate" : {
24165 "description" : "Apply rate limiting to the interface",
24166 "format_description" : "mbps",
24167 "optional" : 1,
24168 "type" : "number"
24169 },
24170 "tag" : {
24171 "description" : "VLAN tag for this interface.",
24172 "maximum" : 4094,
24173 "minimum" : 1,
24174 "optional" : 1,
24175 "type" : "integer"
24176 },
24177 "trunks" : {
24178 "description" : "VLAN ids to pass through the interface",
24179 "format_description" : "vlanid[;vlanid...]",
24180 "optional" : 1,
24181 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24182 "type" : "string"
24183 },
24184 "type" : {
24185 "description" : "Network interface type.",
24186 "enum" : [
24187 "veth"
24188 ],
24189 "optional" : 1,
24190 "type" : "string"
24191 }
24192 },
24193 "optional" : 1,
24194 "type" : "string"
24195 },
24196 "onboot" : {
24197 "default" : 0,
24198 "description" : "Specifies whether a VM will be started during system bootup.",
24199 "optional" : 1,
24200 "type" : "boolean"
24201 },
24202 "ostype" : {
24203 "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.",
24204 "enum" : [
24205 "debian",
d2656385 24206 "devuan",
4d47f125
TL
24207 "ubuntu",
24208 "centos",
24209 "fedora",
24210 "opensuse",
24211 "archlinux",
24212 "alpine",
24213 "gentoo",
24214 "unmanaged"
24215 ],
24216 "optional" : 1,
24217 "type" : "string"
24218 },
24219 "protection" : {
24220 "default" : 0,
24221 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24222 "optional" : 1,
24223 "type" : "boolean"
24224 },
24225 "rootfs" : {
24226 "description" : "Use volume as container root.",
24227 "format" : {
24228 "acl" : {
24229 "description" : "Explicitly enable or disable ACL support.",
24230 "optional" : 1,
24231 "type" : "boolean"
24232 },
7cbed89a
TL
24233 "mountoptions" : {
24234 "description" : "Extra mount options for rootfs/mps.",
24235 "format_description" : "opt[;opt...]",
24236 "optional" : 1,
24237 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24238 "type" : "string"
24239 },
4d47f125
TL
24240 "quota" : {
24241 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24242 "optional" : 1,
24243 "type" : "boolean"
24244 },
24245 "replicate" : {
24246 "default" : 1,
24247 "description" : "Will include this volume to a storage replica job.",
24248 "optional" : 1,
24249 "type" : "boolean"
24250 },
24251 "ro" : {
24252 "description" : "Read-only mount point",
24253 "optional" : 1,
24254 "type" : "boolean"
24255 },
24256 "shared" : {
24257 "default" : 0,
24258 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24259 "optional" : 1,
24260 "type" : "boolean",
24261 "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!"
24262 },
24263 "size" : {
24264 "description" : "Volume size (read only value).",
24265 "format" : "disk-size",
24266 "format_description" : "DiskSize",
24267 "optional" : 1,
24268 "type" : "string"
24269 },
24270 "volume" : {
24271 "default_key" : 1,
24272 "description" : "Volume, device or directory to mount into the container.",
24273 "format" : "pve-lxc-mp-string",
24274 "format_description" : "volume",
24275 "type" : "string"
24276 }
24277 },
24278 "optional" : 1,
24279 "type" : "string"
24280 },
24281 "searchdomain" : {
24282 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24283 "format" : "dns-name-list",
24284 "optional" : 1,
24285 "type" : "string"
24286 },
24287 "startup" : {
24288 "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.",
24289 "format" : "pve-startup-order",
24290 "optional" : 1,
24291 "type" : "string",
24292 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24293 },
24294 "swap" : {
24295 "default" : 512,
24296 "description" : "Amount of SWAP for the VM in MB.",
24297 "minimum" : 0,
24298 "optional" : 1,
24299 "type" : "integer"
24300 },
5c1699e5
TL
24301 "tags" : {
24302 "description" : "Tags of the Container. This is only meta information.",
24303 "format" : "pve-tag-list",
24304 "optional" : 1,
24305 "type" : "string"
24306 },
4d47f125
TL
24307 "template" : {
24308 "default" : 0,
24309 "description" : "Enable/disable Template.",
24310 "optional" : 1,
24311 "type" : "boolean"
44660702 24312 },
04d22a9f
TL
24313 "timezone" : {
24314 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
24315 "format" : "pve-ct-timezone",
24316 "optional" : 1,
24317 "type" : "string"
24318 },
4d47f125
TL
24319 "tty" : {
24320 "default" : 2,
24321 "description" : "Specify the number of tty available to the container",
24322 "maximum" : 6,
24323 "minimum" : 0,
24324 "optional" : 1,
24325 "type" : "integer"
24326 },
24327 "unprivileged" : {
24328 "default" : 0,
24329 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
24330 "optional" : 1,
24331 "type" : "boolean"
24332 },
24333 "unused[n]" : {
24334 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
24335 "format" : {
24336 "volume" : {
24337 "default_key" : 1,
24338 "description" : "The volume that is not used currently.",
24339 "format" : "pve-volume-id",
24340 "format_description" : "volume",
24341 "type" : "string"
24342 }
24343 },
4d47f125 24344 "optional" : 1,
44660702
DM
24345 "type" : "string"
24346 }
24347 },
24348 "type" : "object"
24349 }
24350 },
56122987 24351 "PUT" : {
e9cd3bd4 24352 "allowtoken" : 1,
44660702
DM
24353 "description" : "Set container options.",
24354 "method" : "PUT",
24355 "name" : "update_vm",
56122987 24356 "parameters" : {
44660702 24357 "additionalProperties" : 0,
56122987 24358 "properties" : {
44660702
DM
24359 "arch" : {
24360 "default" : "amd64",
24361 "description" : "OS architecture type.",
24362 "enum" : [
24363 "amd64",
4d47f125
TL
24364 "i386",
24365 "arm64",
24366 "armhf"
44660702 24367 ],
7aacca6f 24368 "optional" : 1,
44660702
DM
24369 "type" : "string"
24370 },
24371 "cmode" : {
7aacca6f 24372 "default" : "tty",
44660702 24373 "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
24374 "enum" : [
24375 "shell",
24376 "console",
24377 "tty"
24378 ],
44660702
DM
24379 "optional" : 1,
24380 "type" : "string"
7aacca6f 24381 },
44660702
DM
24382 "console" : {
24383 "default" : 1,
24384 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 24385 "optional" : 1,
013dc89f
DM
24386 "type" : "boolean",
24387 "typetext" : "<boolean>"
7aacca6f 24388 },
de0983cb
DM
24389 "cores" : {
24390 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 24391 "maximum" : 8192,
de0983cb
DM
24392 "minimum" : 1,
24393 "optional" : 1,
24394 "type" : "integer",
4772952b 24395 "typetext" : "<integer> (1 - 8192)"
de0983cb 24396 },
44660702
DM
24397 "cpulimit" : {
24398 "default" : 0,
24399 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
4772952b 24400 "maximum" : 8192,
7aacca6f 24401 "minimum" : 0,
7aacca6f 24402 "optional" : 1,
4bd7df8b 24403 "type" : "number",
4772952b 24404 "typetext" : "<number> (0 - 8192)"
7aacca6f 24405 },
44660702
DM
24406 "cpuunits" : {
24407 "default" : 1024,
24408 "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.",
24409 "maximum" : 500000,
24410 "minimum" : 0,
24411 "optional" : 1,
4bd7df8b 24412 "type" : "integer",
013dc89f 24413 "typetext" : "<integer> (0 - 500000)"
7aacca6f 24414 },
739d4d64
TL
24415 "debug" : {
24416 "default" : 0,
24417 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
24418 "optional" : 1,
24419 "type" : "boolean",
24420 "typetext" : "<boolean>"
24421 },
44660702
DM
24422 "delete" : {
24423 "description" : "A list of settings you want to delete.",
24424 "format" : "pve-configid-list",
7aacca6f 24425 "optional" : 1,
013dc89f
DM
24426 "type" : "string",
24427 "typetext" : "<string>"
7aacca6f 24428 },
44660702 24429 "description" : {
8f4d9c87
TL
24430 "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
24431 "maxLength" : 8192,
7aacca6f 24432 "optional" : 1,
013dc89f
DM
24433 "type" : "string",
24434 "typetext" : "<string>"
7aacca6f 24435 },
44660702
DM
24436 "digest" : {
24437 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24438 "maxLength" : 40,
7aacca6f 24439 "optional" : 1,
013dc89f
DM
24440 "type" : "string",
24441 "typetext" : "<string>"
7aacca6f 24442 },
4d47f125
TL
24443 "features" : {
24444 "description" : "Allow containers access to advanced features.",
24445 "format" : {
c5aa7e14
TL
24446 "force_rw_sys" : {
24447 "default" : 0,
24448 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
24449 "optional" : 1,
24450 "type" : "boolean"
24451 },
e2d681b3
TL
24452 "fuse" : {
24453 "default" : 0,
24454 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24455 "optional" : 1,
24456 "type" : "boolean"
24457 },
4d47f125
TL
24458 "keyctl" : {
24459 "default" : 0,
24460 "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.",
24461 "optional" : 1,
24462 "type" : "boolean"
24463 },
c5aa7e14
TL
24464 "mknod" : {
24465 "default" : 0,
24466 "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.",
24467 "optional" : 1,
24468 "type" : "boolean"
24469 },
4d47f125
TL
24470 "mount" : {
24471 "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.",
24472 "format_description" : "fstype;fstype;...",
24473 "optional" : 1,
95895385 24474 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
24475 "type" : "string"
24476 },
24477 "nesting" : {
24478 "default" : 0,
24479 "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.",
24480 "optional" : 1,
24481 "type" : "boolean"
24482 }
24483 },
24484 "optional" : 1,
24485 "type" : "string",
c5aa7e14 24486 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 24487 },
5f26e15b
TL
24488 "hookscript" : {
24489 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24490 "format" : "pve-volume-id",
24491 "optional" : 1,
24492 "type" : "string",
24493 "typetext" : "<string>"
24494 },
44660702
DM
24495 "hostname" : {
24496 "description" : "Set a host name for the container.",
24497 "format" : "dns-name",
24498 "maxLength" : 255,
56122987 24499 "optional" : 1,
013dc89f
DM
24500 "type" : "string",
24501 "typetext" : "<string>"
44660702
DM
24502 },
24503 "lock" : {
24504 "description" : "Lock/unlock the VM.",
24505 "enum" : [
44660702 24506 "backup",
bb4c8cf8 24507 "create",
1c532546 24508 "destroyed",
4d47f125 24509 "disk",
bb4c8cf8 24510 "fstrim",
4d47f125
TL
24511 "migrate",
24512 "mounted",
24513 "rollback",
44660702 24514 "snapshot",
4d47f125 24515 "snapshot-delete"
44660702
DM
24516 ],
24517 "optional" : 1,
24518 "type" : "string"
24519 },
24520 "memory" : {
24521 "default" : 512,
24522 "description" : "Amount of RAM for the VM in MB.",
24523 "minimum" : 16,
24524 "optional" : 1,
4bd7df8b 24525 "type" : "integer",
013dc89f 24526 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
24527 },
24528 "mp[n]" : {
d2656385 24529 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
7aacca6f 24530 "format" : {
7aacca6f
DM
24531 "acl" : {
24532 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 24533 "optional" : 1,
44660702 24534 "type" : "boolean"
7aacca6f
DM
24535 },
24536 "backup" : {
de0983cb 24537 "description" : "Whether to include the mount point in backups.",
7aacca6f 24538 "optional" : 1,
4bd7df8b 24539 "type" : "boolean",
de0983cb 24540 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 24541 },
7cbed89a
TL
24542 "mountoptions" : {
24543 "description" : "Extra mount options for rootfs/mps.",
24544 "format_description" : "opt[;opt...]",
24545 "optional" : 1,
24546 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24547 "type" : "string"
24548 },
7aacca6f 24549 "mp" : {
de0983cb 24550 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 24551 "format" : "pve-lxc-mp-string",
44660702 24552 "format_description" : "Path",
4bd7df8b 24553 "type" : "string",
de0983cb 24554 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 24555 },
5d9c884c
DM
24556 "quota" : {
24557 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24558 "optional" : 1,
24559 "type" : "boolean"
24560 },
24561 "replicate" : {
24562 "default" : 1,
24563 "description" : "Will include this volume to a storage replica job.",
44660702
DM
24564 "optional" : 1,
24565 "type" : "boolean"
24566 },
24567 "ro" : {
de0983cb 24568 "description" : "Read-only mount point",
44660702
DM
24569 "optional" : 1,
24570 "type" : "boolean"
24571 },
de0983cb
DM
24572 "shared" : {
24573 "default" : 0,
24574 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24575 "optional" : 1,
24576 "type" : "boolean",
24577 "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!"
24578 },
44660702
DM
24579 "size" : {
24580 "description" : "Volume size (read only value).",
24581 "format" : "disk-size",
24582 "format_description" : "DiskSize",
24583 "optional" : 1,
24584 "type" : "string"
24585 },
24586 "volume" : {
24587 "default_key" : 1,
24588 "description" : "Volume, device or directory to mount into the container.",
24589 "format" : "pve-lxc-mp-string",
24590 "format_description" : "volume",
24591 "type" : "string"
24592 }
24593 },
7aacca6f 24594 "optional" : 1,
4bd7df8b 24595 "type" : "string",
7cbed89a 24596 "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 24597 },
44660702
DM
24598 "nameserver" : {
24599 "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.",
d2656385 24600 "format" : "lxc-ip-with-ll-iface-list",
56122987 24601 "optional" : 1,
013dc89f
DM
24602 "type" : "string",
24603 "typetext" : "<string>"
56122987
DM
24604 },
24605 "net[n]" : {
44660702 24606 "description" : "Specifies network interfaces for the container.",
56122987 24607 "format" : {
44660702
DM
24608 "bridge" : {
24609 "description" : "Bridge to attach the network device to.",
f004f5b9 24610 "format_description" : "bridge",
56122987 24611 "optional" : 1,
44660702
DM
24612 "pattern" : "[-_.\\w\\d]+",
24613 "type" : "string"
56122987 24614 },
44660702
DM
24615 "firewall" : {
24616 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 24617 "optional" : 1,
44660702 24618 "type" : "boolean"
56122987 24619 },
44660702
DM
24620 "gw" : {
24621 "description" : "Default gateway for IPv4 traffic.",
24622 "format" : "ipv4",
24623 "format_description" : "GatewayIPv4",
56122987 24624 "optional" : 1,
44660702 24625 "type" : "string"
56122987
DM
24626 },
24627 "gw6" : {
7aacca6f 24628 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
24629 "format" : "ipv6",
24630 "format_description" : "GatewayIPv6",
7aacca6f 24631 "optional" : 1,
56122987
DM
24632 "type" : "string"
24633 },
44660702 24634 "hwaddr" : {
f004f5b9 24635 "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 24636 "format" : "mac-addr",
f004f5b9 24637 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 24638 "optional" : 1,
95895385
TL
24639 "type" : "string",
24640 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
24641 },
24642 "ip" : {
24643 "description" : "IPv4 address in CIDR format.",
24644 "format" : "pve-ipv4-config",
2489d6df 24645 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 24646 "optional" : 1,
44660702 24647 "type" : "string"
56122987 24648 },
7aacca6f 24649 "ip6" : {
7aacca6f
DM
24650 "description" : "IPv6 address in CIDR format.",
24651 "format" : "pve-ipv6-config",
2489d6df 24652 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 24653 "optional" : 1,
44660702 24654 "type" : "string"
56122987 24655 },
44660702
DM
24656 "mtu" : {
24657 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 24658 "minimum" : 64,
56122987 24659 "optional" : 1,
44660702 24660 "type" : "integer"
56122987
DM
24661 },
24662 "name" : {
44660702 24663 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 24664 "format_description" : "string",
56122987 24665 "pattern" : "[-_.\\w\\d]+",
44660702 24666 "type" : "string"
56122987 24667 },
44660702
DM
24668 "rate" : {
24669 "description" : "Apply rate limiting to the interface",
24670 "format_description" : "mbps",
56122987 24671 "optional" : 1,
44660702 24672 "type" : "number"
7aacca6f 24673 },
44660702
DM
24674 "tag" : {
24675 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
24676 "maximum" : 4094,
24677 "minimum" : 1,
56122987 24678 "optional" : 1,
7aacca6f 24679 "type" : "integer"
56122987 24680 },
44660702
DM
24681 "trunks" : {
24682 "description" : "VLAN ids to pass through the interface",
24683 "format_description" : "vlanid[;vlanid...]",
24684 "optional" : 1,
24685 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24686 "type" : "string"
24687 },
24688 "type" : {
24689 "description" : "Network interface type.",
24690 "enum" : [
24691 "veth"
24692 ],
56122987 24693 "optional" : 1,
44660702 24694 "type" : "string"
56122987
DM
24695 }
24696 },
7aacca6f 24697 "optional" : 1,
4bd7df8b 24698 "type" : "string",
2489d6df 24699 "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 24700 },
44660702
DM
24701 "node" : {
24702 "description" : "The cluster node name.",
24703 "format" : "pve-node",
013dc89f
DM
24704 "type" : "string",
24705 "typetext" : "<string>"
56122987 24706 },
44660702
DM
24707 "onboot" : {
24708 "default" : 0,
24709 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 24710 "optional" : 1,
013dc89f
DM
24711 "type" : "boolean",
24712 "typetext" : "<boolean>"
56122987 24713 },
44660702
DM
24714 "ostype" : {
24715 "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.",
24716 "enum" : [
24717 "debian",
d2656385 24718 "devuan",
44660702
DM
24719 "ubuntu",
24720 "centos",
24721 "fedora",
24722 "opensuse",
24723 "archlinux",
24724 "alpine",
57b78691 24725 "gentoo",
44660702
DM
24726 "unmanaged"
24727 ],
56122987 24728 "optional" : 1,
44660702 24729 "type" : "string"
56122987 24730 },
44660702
DM
24731 "protection" : {
24732 "default" : 0,
24733 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 24734 "optional" : 1,
013dc89f
DM
24735 "type" : "boolean",
24736 "typetext" : "<boolean>"
56122987 24737 },
1c532546
TL
24738 "revert" : {
24739 "description" : "Revert a pending change.",
24740 "format" : "pve-configid-list",
24741 "optional" : 1,
24742 "type" : "string",
24743 "typetext" : "<string>"
24744 },
7aacca6f
DM
24745 "rootfs" : {
24746 "description" : "Use volume as container root.",
56122987
DM
24747 "format" : {
24748 "acl" : {
44660702 24749 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
24750 "optional" : 1,
24751 "type" : "boolean"
56122987 24752 },
7cbed89a
TL
24753 "mountoptions" : {
24754 "description" : "Extra mount options for rootfs/mps.",
24755 "format_description" : "opt[;opt...]",
24756 "optional" : 1,
24757 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24758 "type" : "string"
24759 },
44660702
DM
24760 "quota" : {
24761 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
24762 "optional" : 1,
24763 "type" : "boolean"
24764 },
5d9c884c
DM
24765 "replicate" : {
24766 "default" : 1,
24767 "description" : "Will include this volume to a storage replica job.",
24768 "optional" : 1,
24769 "type" : "boolean"
24770 },
44660702 24771 "ro" : {
de0983cb 24772 "description" : "Read-only mount point",
56122987 24773 "optional" : 1,
44660702
DM
24774 "type" : "boolean"
24775 },
de0983cb
DM
24776 "shared" : {
24777 "default" : 0,
24778 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24779 "optional" : 1,
24780 "type" : "boolean",
24781 "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!"
24782 },
44660702 24783 "size" : {
7aacca6f 24784 "description" : "Volume size (read only value).",
44660702 24785 "format" : "disk-size",
56122987 24786 "format_description" : "DiskSize",
56122987 24787 "optional" : 1,
44660702 24788 "type" : "string"
7aacca6f
DM
24789 },
24790 "volume" : {
7aacca6f
DM
24791 "default_key" : 1,
24792 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
24793 "format" : "pve-lxc-mp-string",
24794 "format_description" : "volume",
7aacca6f 24795 "type" : "string"
56122987 24796 }
44660702
DM
24797 },
24798 "optional" : 1,
4bd7df8b 24799 "type" : "string",
7cbed89a 24800 "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
24801 },
24802 "searchdomain" : {
24803 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24804 "format" : "dns-name-list",
24805 "optional" : 1,
013dc89f
DM
24806 "type" : "string",
24807 "typetext" : "<string>"
44660702
DM
24808 },
24809 "startup" : {
24810 "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.",
24811 "format" : "pve-startup-order",
24812 "optional" : 1,
24813 "type" : "string",
24814 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24815 },
24816 "swap" : {
24817 "default" : 512,
24818 "description" : "Amount of SWAP for the VM in MB.",
24819 "minimum" : 0,
24820 "optional" : 1,
4bd7df8b 24821 "type" : "integer",
013dc89f 24822 "typetext" : "<integer> (0 - N)"
56122987 24823 },
5c1699e5
TL
24824 "tags" : {
24825 "description" : "Tags of the Container. This is only meta information.",
24826 "format" : "pve-tag-list",
24827 "optional" : 1,
24828 "type" : "string",
24829 "typetext" : "<string>"
24830 },
56122987 24831 "template" : {
44660702 24832 "default" : 0,
7aacca6f 24833 "description" : "Enable/disable Template.",
56122987 24834 "optional" : 1,
013dc89f
DM
24835 "type" : "boolean",
24836 "typetext" : "<boolean>"
56122987 24837 },
04d22a9f
TL
24838 "timezone" : {
24839 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
24840 "format" : "pve-ct-timezone",
24841 "optional" : 1,
24842 "type" : "string",
24843 "typetext" : "<string>"
24844 },
44660702
DM
24845 "tty" : {
24846 "default" : 2,
24847 "description" : "Specify the number of tty available to the container",
24848 "maximum" : 6,
24849 "minimum" : 0,
24850 "optional" : 1,
4bd7df8b 24851 "type" : "integer",
013dc89f 24852 "typetext" : "<integer> (0 - 6)"
56122987 24853 },
44660702
DM
24854 "unprivileged" : {
24855 "default" : 0,
24856 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 24857 "optional" : 1,
013dc89f
DM
24858 "type" : "boolean",
24859 "typetext" : "<boolean>"
56122987 24860 },
44660702 24861 "unused[n]" : {
c2993fe5 24862 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
24863 "format" : {
24864 "volume" : {
24865 "default_key" : 1,
24866 "description" : "The volume that is not used currently.",
24867 "format" : "pve-volume-id",
24868 "format_description" : "volume",
24869 "type" : "string"
24870 }
24871 },
56122987 24872 "optional" : 1,
013dc89f 24873 "type" : "string",
c5aa7e14 24874 "typetext" : "[volume=]<volume>"
44660702
DM
24875 },
24876 "vmid" : {
24877 "description" : "The (unique) ID of the VM.",
24878 "format" : "pve-vmid",
24879 "minimum" : 1,
4bd7df8b 24880 "type" : "integer",
013dc89f 24881 "typetext" : "<integer> (1 - N)"
56122987 24882 }
44660702 24883 }
56122987 24884 },
56122987
DM
24885 "permissions" : {
24886 "check" : [
24887 "perm",
24888 "/vms/{vmid}",
24889 [
24890 "VM.Config.Disk",
24891 "VM.Config.CPU",
24892 "VM.Config.Memory",
24893 "VM.Config.Network",
24894 "VM.Config.Options"
24895 ],
24896 "any",
24897 1
52e44c50
FG
24898 ],
24899 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 24900 },
44660702
DM
24901 "protected" : 1,
24902 "proxyto" : "node",
56122987
DM
24903 "returns" : {
24904 "type" : "null"
7aacca6f 24905 }
56122987 24906 }
7aacca6f 24907 },
44660702 24908 "leaf" : 1,
7aacca6f 24909 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 24910 "text" : "config"
56122987
DM
24911 },
24912 {
56122987
DM
24913 "children" : [
24914 {
24915 "info" : {
24916 "GET" : {
e9cd3bd4 24917 "allowtoken" : 1,
44660702 24918 "description" : "Get virtual machine status.",
7aacca6f 24919 "method" : "GET",
44660702 24920 "name" : "vm_status",
56122987 24921 "parameters" : {
44660702 24922 "additionalProperties" : 0,
56122987 24923 "properties" : {
56122987 24924 "node" : {
44660702 24925 "description" : "The cluster node name.",
56122987 24926 "format" : "pve-node",
013dc89f
DM
24927 "type" : "string",
24928 "typetext" : "<string>"
7aacca6f
DM
24929 },
24930 "vmid" : {
24931 "description" : "The (unique) ID of the VM.",
44660702 24932 "format" : "pve-vmid",
7aacca6f 24933 "minimum" : 1,
4bd7df8b 24934 "type" : "integer",
013dc89f 24935 "typetext" : "<integer> (1 - N)"
56122987 24936 }
44660702 24937 }
7aacca6f
DM
24938 },
24939 "permissions" : {
24940 "check" : [
24941 "perm",
24942 "/vms/{vmid}",
24943 [
4d47f125
TL
24944 "VM.Audit"
24945 ]
24946 ]
24947 },
24948 "protected" : 1,
24949 "proxyto" : "node",
24950 "returns" : {
24951 "properties" : {
24952 "cpus" : {
24953 "description" : "Maximum usable CPUs.",
24954 "optional" : 1,
24955 "type" : "number"
24956 },
24957 "ha" : {
24958 "description" : "HA manager service status.",
24959 "type" : "object"
24960 },
95895385
TL
24961 "lock" : {
24962 "description" : "The current config lock, if any.",
24963 "optional" : 1,
24964 "type" : "string"
24965 },
4d47f125
TL
24966 "maxdisk" : {
24967 "description" : "Root disk size in bytes.",
24968 "optional" : 1,
24969 "renderer" : "bytes",
24970 "type" : "integer"
24971 },
24972 "maxmem" : {
24973 "description" : "Maximum memory in bytes.",
24974 "optional" : 1,
24975 "renderer" : "bytes",
24976 "type" : "integer"
24977 },
24978 "maxswap" : {
24979 "description" : "Maximum SWAP memory in bytes.",
24980 "optional" : 1,
24981 "renderer" : "bytes",
24982 "type" : "integer"
24983 },
24984 "name" : {
24985 "description" : "Container name.",
24986 "optional" : 1,
24987 "type" : "string"
24988 },
24989 "status" : {
24990 "description" : "LXC Container status.",
24991 "enum" : [
24992 "stopped",
24993 "running"
24994 ],
24995 "type" : "string"
24996 },
5c1699e5
TL
24997 "tags" : {
24998 "description" : "The current configured tags, if any.",
24999 "optional" : 1,
25000 "type" : "string"
25001 },
4d47f125
TL
25002 "uptime" : {
25003 "description" : "Uptime.",
25004 "optional" : 1,
25005 "renderer" : "duration",
25006 "type" : "integer"
25007 },
25008 "vmid" : {
25009 "description" : "The (unique) ID of the VM.",
25010 "format" : "pve-vmid",
25011 "minimum" : 1,
25012 "type" : "integer"
25013 }
25014 },
25015 "type" : "object"
25016 }
25017 }
25018 },
25019 "leaf" : 1,
25020 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
25021 "text" : "current"
25022 },
25023 {
25024 "info" : {
25025 "POST" : {
e9cd3bd4 25026 "allowtoken" : 1,
4d47f125
TL
25027 "description" : "Start the container.",
25028 "method" : "POST",
25029 "name" : "vm_start",
25030 "parameters" : {
25031 "additionalProperties" : 0,
25032 "properties" : {
739d4d64
TL
25033 "debug" : {
25034 "default" : 0,
25035 "description" : "If set, enables very verbose debug log-level on start.",
25036 "optional" : 1,
25037 "type" : "boolean",
25038 "typetext" : "<boolean>"
25039 },
4d47f125
TL
25040 "node" : {
25041 "description" : "The cluster node name.",
25042 "format" : "pve-node",
25043 "type" : "string",
25044 "typetext" : "<string>"
25045 },
25046 "skiplock" : {
25047 "description" : "Ignore locks - only root is allowed to use this option.",
25048 "optional" : 1,
25049 "type" : "boolean",
25050 "typetext" : "<boolean>"
25051 },
25052 "vmid" : {
25053 "description" : "The (unique) ID of the VM.",
25054 "format" : "pve-vmid",
25055 "minimum" : 1,
25056 "type" : "integer",
25057 "typetext" : "<integer> (1 - N)"
25058 }
25059 }
25060 },
25061 "permissions" : {
25062 "check" : [
25063 "perm",
25064 "/vms/{vmid}",
25065 [
25066 "VM.PowerMgmt"
25067 ]
25068 ]
25069 },
25070 "protected" : 1,
25071 "proxyto" : "node",
25072 "returns" : {
25073 "type" : "string"
25074 }
25075 }
25076 },
25077 "leaf" : 1,
25078 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
25079 "text" : "start"
25080 },
25081 {
25082 "info" : {
25083 "POST" : {
e9cd3bd4 25084 "allowtoken" : 1,
4d47f125
TL
25085 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
25086 "method" : "POST",
25087 "name" : "vm_stop",
25088 "parameters" : {
25089 "additionalProperties" : 0,
25090 "properties" : {
25091 "node" : {
25092 "description" : "The cluster node name.",
25093 "format" : "pve-node",
25094 "type" : "string",
25095 "typetext" : "<string>"
25096 },
25097 "skiplock" : {
25098 "description" : "Ignore locks - only root is allowed to use this option.",
25099 "optional" : 1,
25100 "type" : "boolean",
25101 "typetext" : "<boolean>"
25102 },
25103 "vmid" : {
25104 "description" : "The (unique) ID of the VM.",
25105 "format" : "pve-vmid",
25106 "minimum" : 1,
25107 "type" : "integer",
25108 "typetext" : "<integer> (1 - N)"
25109 }
25110 }
25111 },
25112 "permissions" : {
25113 "check" : [
25114 "perm",
25115 "/vms/{vmid}",
25116 [
25117 "VM.PowerMgmt"
25118 ]
25119 ]
25120 },
25121 "protected" : 1,
25122 "proxyto" : "node",
25123 "returns" : {
25124 "type" : "string"
25125 }
25126 }
25127 },
25128 "leaf" : 1,
25129 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
25130 "text" : "stop"
25131 },
25132 {
25133 "info" : {
25134 "POST" : {
e9cd3bd4 25135 "allowtoken" : 1,
4d47f125
TL
25136 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
25137 "method" : "POST",
25138 "name" : "vm_shutdown",
25139 "parameters" : {
25140 "additionalProperties" : 0,
25141 "properties" : {
25142 "forceStop" : {
25143 "default" : 0,
25144 "description" : "Make sure the Container stops.",
25145 "optional" : 1,
25146 "type" : "boolean",
25147 "typetext" : "<boolean>"
25148 },
25149 "node" : {
25150 "description" : "The cluster node name.",
25151 "format" : "pve-node",
25152 "type" : "string",
25153 "typetext" : "<string>"
25154 },
25155 "timeout" : {
25156 "default" : 60,
25157 "description" : "Wait maximal timeout seconds.",
25158 "minimum" : 0,
25159 "optional" : 1,
25160 "type" : "integer",
25161 "typetext" : "<integer> (0 - N)"
25162 },
25163 "vmid" : {
25164 "description" : "The (unique) ID of the VM.",
25165 "format" : "pve-vmid",
25166 "minimum" : 1,
25167 "type" : "integer",
25168 "typetext" : "<integer> (1 - N)"
25169 }
25170 }
25171 },
25172 "permissions" : {
25173 "check" : [
25174 "perm",
25175 "/vms/{vmid}",
25176 [
25177 "VM.PowerMgmt"
7aacca6f
DM
25178 ]
25179 ]
25180 },
44660702 25181 "protected" : 1,
7aacca6f 25182 "proxyto" : "node",
44660702 25183 "returns" : {
4d47f125 25184 "type" : "string"
44660702 25185 }
56122987
DM
25186 }
25187 },
44660702 25188 "leaf" : 1,
4d47f125
TL
25189 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
25190 "text" : "shutdown"
56122987
DM
25191 },
25192 {
56122987
DM
25193 "info" : {
25194 "POST" : {
e9cd3bd4 25195 "allowtoken" : 1,
4d47f125 25196 "description" : "Suspend the container.",
44660702 25197 "method" : "POST",
4d47f125 25198 "name" : "vm_suspend",
56122987
DM
25199 "parameters" : {
25200 "additionalProperties" : 0,
25201 "properties" : {
56122987 25202 "node" : {
7aacca6f 25203 "description" : "The cluster node name.",
44660702 25204 "format" : "pve-node",
013dc89f
DM
25205 "type" : "string",
25206 "typetext" : "<string>"
56122987
DM
25207 },
25208 "vmid" : {
7aacca6f 25209 "description" : "The (unique) ID of the VM.",
44660702 25210 "format" : "pve-vmid",
56122987 25211 "minimum" : 1,
4bd7df8b 25212 "type" : "integer",
013dc89f 25213 "typetext" : "<integer> (1 - N)"
56122987
DM
25214 }
25215 }
25216 },
25217 "permissions" : {
25218 "check" : [
25219 "perm",
25220 "/vms/{vmid}",
25221 [
25222 "VM.PowerMgmt"
25223 ]
25224 ]
25225 },
44660702 25226 "protected" : 1,
7aacca6f 25227 "proxyto" : "node",
44660702
DM
25228 "returns" : {
25229 "type" : "string"
25230 }
25231 }
25232 },
25233 "leaf" : 1,
4d47f125
TL
25234 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
25235 "text" : "suspend"
44660702
DM
25236 },
25237 {
25238 "info" : {
25239 "POST" : {
e9cd3bd4 25240 "allowtoken" : 1,
4d47f125 25241 "description" : "Resume the container.",
7aacca6f 25242 "method" : "POST",
4d47f125 25243 "name" : "vm_resume",
7aacca6f 25244 "parameters" : {
44660702 25245 "additionalProperties" : 0,
7aacca6f 25246 "properties" : {
44660702
DM
25247 "node" : {
25248 "description" : "The cluster node name.",
25249 "format" : "pve-node",
013dc89f
DM
25250 "type" : "string",
25251 "typetext" : "<string>"
44660702 25252 },
7aacca6f 25253 "vmid" : {
44660702 25254 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25255 "format" : "pve-vmid",
25256 "minimum" : 1,
4bd7df8b 25257 "type" : "integer",
013dc89f 25258 "typetext" : "<integer> (1 - N)"
7aacca6f 25259 }
44660702
DM
25260 }
25261 },
25262 "permissions" : {
25263 "check" : [
25264 "perm",
25265 "/vms/{vmid}",
25266 [
25267 "VM.PowerMgmt"
25268 ]
25269 ]
7aacca6f 25270 },
44660702
DM
25271 "protected" : 1,
25272 "proxyto" : "node",
25273 "returns" : {
25274 "type" : "string"
25275 }
56122987 25276 }
7aacca6f 25277 },
7aacca6f 25278 "leaf" : 1,
4d47f125
TL
25279 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
25280 "text" : "resume"
5c1699e5
TL
25281 },
25282 {
25283 "info" : {
25284 "POST" : {
e9cd3bd4 25285 "allowtoken" : 1,
5c1699e5
TL
25286 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
25287 "method" : "POST",
25288 "name" : "vm_reboot",
25289 "parameters" : {
25290 "additionalProperties" : 0,
25291 "properties" : {
25292 "node" : {
25293 "description" : "The cluster node name.",
25294 "format" : "pve-node",
25295 "type" : "string",
25296 "typetext" : "<string>"
25297 },
25298 "timeout" : {
25299 "description" : "Wait maximal timeout seconds for the shutdown.",
25300 "minimum" : 0,
25301 "optional" : 1,
25302 "type" : "integer",
25303 "typetext" : "<integer> (0 - N)"
25304 },
25305 "vmid" : {
25306 "description" : "The (unique) ID of the VM.",
25307 "format" : "pve-vmid",
25308 "minimum" : 1,
25309 "type" : "integer",
25310 "typetext" : "<integer> (1 - N)"
25311 }
25312 }
25313 },
25314 "permissions" : {
25315 "check" : [
25316 "perm",
25317 "/vms/{vmid}",
25318 [
25319 "VM.PowerMgmt"
25320 ]
25321 ]
25322 },
25323 "protected" : 1,
25324 "proxyto" : "node",
25325 "returns" : {
25326 "type" : "string"
25327 }
25328 }
25329 },
25330 "leaf" : 1,
25331 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
25332 "text" : "reboot"
4d47f125
TL
25333 }
25334 ],
25335 "info" : {
25336 "GET" : {
e9cd3bd4 25337 "allowtoken" : 1,
4d47f125
TL
25338 "description" : "Directory index",
25339 "method" : "GET",
25340 "name" : "vmcmdidx",
25341 "parameters" : {
25342 "additionalProperties" : 0,
25343 "properties" : {
25344 "node" : {
25345 "description" : "The cluster node name.",
25346 "format" : "pve-node",
25347 "type" : "string",
25348 "typetext" : "<string>"
25349 },
25350 "vmid" : {
25351 "description" : "The (unique) ID of the VM.",
25352 "format" : "pve-vmid",
25353 "minimum" : 1,
25354 "type" : "integer",
25355 "typetext" : "<integer> (1 - N)"
25356 }
25357 }
25358 },
25359 "permissions" : {
25360 "user" : "all"
25361 },
25362 "proxyto" : "node",
25363 "returns" : {
25364 "items" : {
25365 "properties" : {
25366 "subdir" : {
25367 "type" : "string"
25368 }
25369 },
25370 "type" : "object"
25371 },
25372 "links" : [
25373 {
25374 "href" : "{subdir}",
25375 "rel" : "child"
25376 }
25377 ],
25378 "type" : "array"
25379 }
25380 }
25381 },
25382 "leaf" : 0,
25383 "path" : "/nodes/{node}/lxc/{vmid}/status",
25384 "text" : "status"
25385 },
25386 {
25387 "children" : [
56122987 25388 {
4d47f125
TL
25389 "children" : [
25390 {
25391 "info" : {
25392 "POST" : {
e9cd3bd4 25393 "allowtoken" : 1,
4d47f125
TL
25394 "description" : "Rollback LXC state to specified snapshot.",
25395 "method" : "POST",
25396 "name" : "rollback",
25397 "parameters" : {
25398 "additionalProperties" : 0,
25399 "properties" : {
25400 "node" : {
25401 "description" : "The cluster node name.",
25402 "format" : "pve-node",
25403 "type" : "string",
25404 "typetext" : "<string>"
25405 },
25406 "snapname" : {
25407 "description" : "The name of the snapshot.",
25408 "format" : "pve-configid",
25409 "maxLength" : 40,
25410 "type" : "string",
25411 "typetext" : "<string>"
25412 },
25413 "vmid" : {
25414 "description" : "The (unique) ID of the VM.",
25415 "format" : "pve-vmid",
25416 "minimum" : 1,
25417 "type" : "integer",
25418 "typetext" : "<integer> (1 - N)"
25419 }
25420 }
25421 },
25422 "permissions" : {
25423 "check" : [
25424 "perm",
25425 "/vms/{vmid}",
25426 [
25427 "VM.Snapshot",
25428 "VM.Snapshot.Rollback"
25429 ],
25430 "any",
25431 1
25432 ]
25433 },
25434 "protected" : 1,
25435 "proxyto" : "node",
25436 "returns" : {
25437 "description" : "the task ID.",
25438 "type" : "string"
25439 }
25440 }
25441 },
25442 "leaf" : 1,
25443 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
25444 "text" : "rollback"
25445 },
25446 {
25447 "info" : {
25448 "GET" : {
e9cd3bd4 25449 "allowtoken" : 1,
4d47f125
TL
25450 "description" : "Get snapshot configuration",
25451 "method" : "GET",
25452 "name" : "get_snapshot_config",
25453 "parameters" : {
25454 "additionalProperties" : 0,
25455 "properties" : {
25456 "node" : {
25457 "description" : "The cluster node name.",
25458 "format" : "pve-node",
25459 "type" : "string",
25460 "typetext" : "<string>"
25461 },
25462 "snapname" : {
25463 "description" : "The name of the snapshot.",
25464 "format" : "pve-configid",
25465 "maxLength" : 40,
25466 "type" : "string",
25467 "typetext" : "<string>"
25468 },
25469 "vmid" : {
25470 "description" : "The (unique) ID of the VM.",
25471 "format" : "pve-vmid",
25472 "minimum" : 1,
25473 "type" : "integer",
25474 "typetext" : "<integer> (1 - N)"
25475 }
25476 }
25477 },
25478 "permissions" : {
25479 "check" : [
25480 "perm",
25481 "/vms/{vmid}",
25482 [
25483 "VM.Snapshot",
c5aa7e14
TL
25484 "VM.Snapshot.Rollback",
25485 "VM.Audit"
4d47f125
TL
25486 ],
25487 "any",
25488 1
25489 ]
25490 },
25491 "proxyto" : "node",
25492 "returns" : {
25493 "type" : "object"
25494 }
25495 },
25496 "PUT" : {
e9cd3bd4 25497 "allowtoken" : 1,
4d47f125
TL
25498 "description" : "Update snapshot metadata.",
25499 "method" : "PUT",
25500 "name" : "update_snapshot_config",
25501 "parameters" : {
25502 "additionalProperties" : 0,
25503 "properties" : {
25504 "description" : {
25505 "description" : "A textual description or comment.",
25506 "optional" : 1,
25507 "type" : "string",
25508 "typetext" : "<string>"
25509 },
25510 "node" : {
25511 "description" : "The cluster node name.",
25512 "format" : "pve-node",
25513 "type" : "string",
25514 "typetext" : "<string>"
25515 },
25516 "snapname" : {
25517 "description" : "The name of the snapshot.",
25518 "format" : "pve-configid",
25519 "maxLength" : 40,
25520 "type" : "string",
25521 "typetext" : "<string>"
25522 },
25523 "vmid" : {
25524 "description" : "The (unique) ID of the VM.",
25525 "format" : "pve-vmid",
25526 "minimum" : 1,
25527 "type" : "integer",
25528 "typetext" : "<integer> (1 - N)"
25529 }
25530 }
25531 },
25532 "permissions" : {
25533 "check" : [
25534 "perm",
25535 "/vms/{vmid}",
25536 [
25537 "VM.Snapshot"
25538 ]
25539 ]
25540 },
25541 "protected" : 1,
25542 "proxyto" : "node",
25543 "returns" : {
25544 "type" : "null"
25545 }
25546 }
25547 },
25548 "leaf" : 1,
25549 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
25550 "text" : "config"
25551 }
25552 ],
56122987 25553 "info" : {
4d47f125 25554 "DELETE" : {
e9cd3bd4 25555 "allowtoken" : 1,
4d47f125
TL
25556 "description" : "Delete a LXC snapshot.",
25557 "method" : "DELETE",
25558 "name" : "delsnapshot",
56122987 25559 "parameters" : {
44660702 25560 "additionalProperties" : 0,
56122987 25561 "properties" : {
4d47f125
TL
25562 "force" : {
25563 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 25564 "optional" : 1,
013dc89f
DM
25565 "type" : "boolean",
25566 "typetext" : "<boolean>"
44660702
DM
25567 },
25568 "node" : {
25569 "description" : "The cluster node name.",
25570 "format" : "pve-node",
013dc89f
DM
25571 "type" : "string",
25572 "typetext" : "<string>"
7aacca6f 25573 },
4d47f125
TL
25574 "snapname" : {
25575 "description" : "The name of the snapshot.",
25576 "format" : "pve-configid",
25577 "maxLength" : 40,
25578 "type" : "string",
25579 "typetext" : "<string>"
56122987
DM
25580 },
25581 "vmid" : {
7aacca6f 25582 "description" : "The (unique) ID of the VM.",
44660702
DM
25583 "format" : "pve-vmid",
25584 "minimum" : 1,
4bd7df8b 25585 "type" : "integer",
013dc89f 25586 "typetext" : "<integer> (1 - N)"
56122987 25587 }
44660702 25588 }
56122987
DM
25589 },
25590 "permissions" : {
25591 "check" : [
25592 "perm",
25593 "/vms/{vmid}",
25594 [
4d47f125 25595 "VM.Snapshot"
56122987
DM
25596 ]
25597 ]
25598 },
44660702
DM
25599 "protected" : 1,
25600 "proxyto" : "node",
7aacca6f 25601 "returns" : {
4d47f125 25602 "description" : "the task ID.",
7aacca6f
DM
25603 "type" : "string"
25604 }
4d47f125
TL
25605 },
25606 "GET" : {
e9cd3bd4 25607 "allowtoken" : 1,
4d47f125
TL
25608 "description" : "",
25609 "method" : "GET",
25610 "name" : "snapshot_cmd_idx",
56122987
DM
25611 "parameters" : {
25612 "additionalProperties" : 0,
25613 "properties" : {
44660702
DM
25614 "node" : {
25615 "description" : "The cluster node name.",
25616 "format" : "pve-node",
013dc89f
DM
25617 "type" : "string",
25618 "typetext" : "<string>"
44660702 25619 },
4d47f125
TL
25620 "snapname" : {
25621 "description" : "The name of the snapshot.",
25622 "format" : "pve-configid",
25623 "maxLength" : 40,
013dc89f
DM
25624 "type" : "string",
25625 "typetext" : "<string>"
56122987
DM
25626 },
25627 "vmid" : {
7aacca6f 25628 "description" : "The (unique) ID of the VM.",
56122987 25629 "format" : "pve-vmid",
44660702 25630 "minimum" : 1,
4bd7df8b 25631 "type" : "integer",
013dc89f 25632 "typetext" : "<integer> (1 - N)"
56122987 25633 }
44660702
DM
25634 }
25635 },
25636 "permissions" : {
4d47f125 25637 "user" : "all"
56122987 25638 },
44660702 25639 "returns" : {
4d47f125
TL
25640 "items" : {
25641 "properties" : {},
25642 "type" : "object"
25643 },
25644 "links" : [
25645 {
25646 "href" : "{cmd}",
25647 "rel" : "child"
25648 }
25649 ],
25650 "type" : "array"
44660702 25651 }
7aacca6f
DM
25652 }
25653 },
4d47f125
TL
25654 "leaf" : 0,
25655 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
25656 "text" : "{snapname}"
7aacca6f
DM
25657 }
25658 ],
25659 "info" : {
25660 "GET" : {
e9cd3bd4 25661 "allowtoken" : 1,
4d47f125 25662 "description" : "List all snapshots.",
44660702 25663 "method" : "GET",
4d47f125 25664 "name" : "list",
7aacca6f
DM
25665 "parameters" : {
25666 "additionalProperties" : 0,
25667 "properties" : {
25668 "node" : {
25669 "description" : "The cluster node name.",
44660702 25670 "format" : "pve-node",
013dc89f
DM
25671 "type" : "string",
25672 "typetext" : "<string>"
56122987 25673 },
7aacca6f 25674 "vmid" : {
44660702 25675 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25676 "format" : "pve-vmid",
25677 "minimum" : 1,
4bd7df8b 25678 "type" : "integer",
013dc89f 25679 "typetext" : "<integer> (1 - N)"
7aacca6f 25680 }
56122987
DM
25681 }
25682 },
44660702 25683 "permissions" : {
4d47f125
TL
25684 "check" : [
25685 "perm",
25686 "/vms/{vmid}",
25687 [
25688 "VM.Audit"
25689 ]
25690 ]
44660702 25691 },
4d47f125 25692 "protected" : 1,
44660702 25693 "proxyto" : "node",
7aacca6f 25694 "returns" : {
7aacca6f
DM
25695 "items" : {
25696 "properties" : {
4d47f125
TL
25697 "description" : {
25698 "description" : "Snapshot description.",
7aacca6f 25699 "type" : "string"
4d47f125
TL
25700 },
25701 "name" : {
25702 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
25703 "type" : "string"
25704 },
25705 "parent" : {
25706 "description" : "Parent snapshot identifier.",
25707 "optional" : 1,
25708 "type" : "string"
25709 },
25710 "snaptime" : {
25711 "description" : "Snapshot creation time",
25712 "optional" : 1,
25713 "renderer" : "timestamp",
25714 "type" : "integer"
7aacca6f
DM
25715 }
25716 },
25717 "type" : "object"
25718 },
25719 "links" : [
25720 {
4d47f125 25721 "href" : "{name}",
44660702 25722 "rel" : "child"
7aacca6f 25723 }
44660702
DM
25724 ],
25725 "type" : "array"
7aacca6f 25726 }
4d47f125
TL
25727 },
25728 "POST" : {
e9cd3bd4 25729 "allowtoken" : 1,
4d47f125
TL
25730 "description" : "Snapshot a container.",
25731 "method" : "POST",
25732 "name" : "snapshot",
25733 "parameters" : {
25734 "additionalProperties" : 0,
25735 "properties" : {
25736 "description" : {
25737 "description" : "A textual description or comment.",
25738 "optional" : 1,
25739 "type" : "string",
25740 "typetext" : "<string>"
25741 },
25742 "node" : {
25743 "description" : "The cluster node name.",
25744 "format" : "pve-node",
25745 "type" : "string",
25746 "typetext" : "<string>"
25747 },
25748 "snapname" : {
25749 "description" : "The name of the snapshot.",
25750 "format" : "pve-configid",
25751 "maxLength" : 40,
25752 "type" : "string",
25753 "typetext" : "<string>"
25754 },
25755 "vmid" : {
25756 "description" : "The (unique) ID of the VM.",
25757 "format" : "pve-vmid",
25758 "minimum" : 1,
25759 "type" : "integer",
25760 "typetext" : "<integer> (1 - N)"
25761 }
25762 }
25763 },
25764 "permissions" : {
25765 "check" : [
25766 "perm",
25767 "/vms/{vmid}",
25768 [
25769 "VM.Snapshot"
25770 ]
25771 ]
25772 },
25773 "protected" : 1,
25774 "proxyto" : "node",
25775 "returns" : {
25776 "description" : "the task ID.",
25777 "type" : "string"
25778 }
7aacca6f 25779 }
44660702
DM
25780 },
25781 "leaf" : 0,
4d47f125
TL
25782 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
25783 "text" : "snapshot"
7aacca6f
DM
25784 },
25785 {
7aacca6f 25786 "children" : [
56122987 25787 {
7aacca6f
DM
25788 "children" : [
25789 {
25790 "info" : {
4d47f125 25791 "DELETE" : {
e9cd3bd4 25792 "allowtoken" : 1,
4d47f125
TL
25793 "description" : "Delete rule.",
25794 "method" : "DELETE",
25795 "name" : "delete_rule",
7aacca6f 25796 "parameters" : {
44660702 25797 "additionalProperties" : 0,
7aacca6f 25798 "properties" : {
4d47f125
TL
25799 "digest" : {
25800 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25801 "maxLength" : 40,
25802 "optional" : 1,
25803 "type" : "string",
25804 "typetext" : "<string>"
25805 },
44660702
DM
25806 "node" : {
25807 "description" : "The cluster node name.",
25808 "format" : "pve-node",
013dc89f
DM
25809 "type" : "string",
25810 "typetext" : "<string>"
44660702 25811 },
4d47f125
TL
25812 "pos" : {
25813 "description" : "Update rule at position <pos>.",
25814 "minimum" : 0,
25815 "optional" : 1,
25816 "type" : "integer",
25817 "typetext" : "<integer> (0 - N)"
7aacca6f 25818 },
7aacca6f 25819 "vmid" : {
44660702 25820 "description" : "The (unique) ID of the VM.",
7aacca6f 25821 "format" : "pve-vmid",
44660702 25822 "minimum" : 1,
4bd7df8b 25823 "type" : "integer",
013dc89f 25824 "typetext" : "<integer> (1 - N)"
7aacca6f 25825 }
44660702
DM
25826 }
25827 },
25828 "permissions" : {
25829 "check" : [
25830 "perm",
25831 "/vms/{vmid}",
25832 [
4d47f125
TL
25833 "VM.Config.Network"
25834 ]
44660702 25835 ]
7aacca6f 25836 },
44660702 25837 "protected" : 1,
4d47f125 25838 "proxyto" : null,
44660702 25839 "returns" : {
4d47f125 25840 "type" : "null"
44660702 25841 }
4d47f125 25842 },
7aacca6f 25843 "GET" : {
e9cd3bd4 25844 "allowtoken" : 1,
4d47f125 25845 "description" : "Get single rule data.",
44660702 25846 "method" : "GET",
4d47f125 25847 "name" : "get_rule",
7aacca6f
DM
25848 "parameters" : {
25849 "additionalProperties" : 0,
4d47f125
TL
25850 "properties" : {
25851 "node" : {
25852 "description" : "The cluster node name.",
25853 "format" : "pve-node",
013dc89f
DM
25854 "type" : "string",
25855 "typetext" : "<string>"
44660702 25856 },
4d47f125
TL
25857 "pos" : {
25858 "description" : "Update rule at position <pos>.",
25859 "minimum" : 0,
25860 "optional" : 1,
25861 "type" : "integer",
25862 "typetext" : "<integer> (0 - N)"
25863 },
44660702
DM
25864 "vmid" : {
25865 "description" : "The (unique) ID of the VM.",
25866 "format" : "pve-vmid",
25867 "minimum" : 1,
4bd7df8b 25868 "type" : "integer",
013dc89f 25869 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
25870 }
25871 }
25872 },
25873 "permissions" : {
25874 "check" : [
25875 "perm",
25876 "/vms/{vmid}",
25877 [
4d47f125
TL
25878 "VM.Audit"
25879 ]
7aacca6f
DM
25880 ]
25881 },
4d47f125 25882 "proxyto" : null,
44660702 25883 "returns" : {
4d47f125 25884 "properties" : {
e2d681b3
TL
25885 "action" : {
25886 "type" : "string"
25887 },
25888 "comment" : {
25889 "optional" : 1,
25890 "type" : "string"
25891 },
25892 "dest" : {
25893 "optional" : 1,
25894 "type" : "string"
25895 },
25896 "dport" : {
25897 "optional" : 1,
25898 "type" : "string"
25899 },
25900 "enable" : {
25901 "optional" : 1,
25902 "type" : "integer"
25903 },
4772952b
TL
25904 "icmp-type" : {
25905 "optional" : 1,
25906 "type" : "string"
25907 },
e2d681b3
TL
25908 "iface" : {
25909 "optional" : 1,
25910 "type" : "string"
25911 },
25912 "ipversion" : {
25913 "optional" : 1,
25914 "type" : "integer"
25915 },
95895385
TL
25916 "log" : {
25917 "description" : "Log level for firewall rule",
25918 "enum" : [
25919 "emerg",
25920 "alert",
25921 "crit",
25922 "err",
25923 "warning",
25924 "notice",
25925 "info",
25926 "debug",
25927 "nolog"
25928 ],
25929 "optional" : 1,
25930 "type" : "string"
25931 },
e2d681b3
TL
25932 "macro" : {
25933 "optional" : 1,
5f26e15b 25934 "type" : "string"
e2d681b3 25935 },
4d47f125
TL
25936 "pos" : {
25937 "type" : "integer"
e2d681b3
TL
25938 },
25939 "proto" : {
25940 "optional" : 1,
25941 "type" : "string"
25942 },
25943 "source" : {
25944 "optional" : 1,
25945 "type" : "string"
25946 },
25947 "sport" : {
25948 "optional" : 1,
25949 "type" : "string"
25950 },
25951 "type" : {
25952 "type" : "string"
4d47f125
TL
25953 }
25954 },
44660702
DM
25955 "type" : "object"
25956 }
7aacca6f
DM
25957 },
25958 "PUT" : {
e9cd3bd4 25959 "allowtoken" : 1,
4d47f125 25960 "description" : "Modify rule data.",
44660702 25961 "method" : "PUT",
4d47f125 25962 "name" : "update_rule",
7aacca6f
DM
25963 "parameters" : {
25964 "additionalProperties" : 0,
25965 "properties" : {
4d47f125
TL
25966 "action" : {
25967 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
25968 "maxLength" : 20,
25969 "minLength" : 2,
25970 "optional" : 1,
25971 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
25972 "type" : "string"
25973 },
25974 "comment" : {
25975 "description" : "Descriptive comment.",
25976 "optional" : 1,
25977 "type" : "string",
25978 "typetext" : "<string>"
25979 },
25980 "delete" : {
25981 "description" : "A list of settings you want to delete.",
25982 "format" : "pve-configid-list",
25983 "optional" : 1,
25984 "type" : "string",
25985 "typetext" : "<string>"
25986 },
25987 "dest" : {
25988 "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.",
25989 "format" : "pve-fw-addr-spec",
0695fdaf 25990 "maxLength" : 512,
4d47f125
TL
25991 "optional" : 1,
25992 "type" : "string",
25993 "typetext" : "<string>"
25994 },
25995 "digest" : {
25996 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25997 "maxLength" : 40,
25998 "optional" : 1,
25999 "type" : "string",
26000 "typetext" : "<string>"
26001 },
26002 "dport" : {
26003 "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.",
26004 "format" : "pve-fw-dport-spec",
26005 "optional" : 1,
26006 "type" : "string",
26007 "typetext" : "<string>"
26008 },
26009 "enable" : {
26010 "description" : "Flag to enable/disable a rule.",
26011 "minimum" : 0,
26012 "optional" : 1,
26013 "type" : "integer",
26014 "typetext" : "<integer> (0 - N)"
26015 },
4772952b
TL
26016 "icmp-type" : {
26017 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
26018 "format" : "pve-fw-icmp-type-spec",
26019 "optional" : 1,
26020 "type" : "string",
26021 "typetext" : "<string>"
26022 },
4d47f125
TL
26023 "iface" : {
26024 "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.",
26025 "format" : "pve-iface",
26026 "maxLength" : 20,
26027 "minLength" : 2,
26028 "optional" : 1,
26029 "type" : "string",
26030 "typetext" : "<string>"
26031 },
95895385
TL
26032 "log" : {
26033 "description" : "Log level for firewall rule.",
26034 "enum" : [
26035 "emerg",
26036 "alert",
26037 "crit",
26038 "err",
26039 "warning",
26040 "notice",
26041 "info",
26042 "debug",
26043 "nolog"
26044 ],
26045 "optional" : 1,
26046 "type" : "string"
26047 },
4d47f125
TL
26048 "macro" : {
26049 "description" : "Use predefined standard macro.",
26050 "maxLength" : 128,
44660702 26051 "optional" : 1,
013dc89f
DM
26052 "type" : "string",
26053 "typetext" : "<string>"
44660702 26054 },
4d47f125
TL
26055 "moveto" : {
26056 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
26057 "minimum" : 0,
26058 "optional" : 1,
26059 "type" : "integer",
26060 "typetext" : "<integer> (0 - N)"
26061 },
7aacca6f 26062 "node" : {
7aacca6f 26063 "description" : "The cluster node name.",
44660702 26064 "format" : "pve-node",
013dc89f
DM
26065 "type" : "string",
26066 "typetext" : "<string>"
7aacca6f 26067 },
4d47f125
TL
26068 "pos" : {
26069 "description" : "Update rule at position <pos>.",
26070 "minimum" : 0,
26071 "optional" : 1,
26072 "type" : "integer",
26073 "typetext" : "<integer> (0 - N)"
26074 },
26075 "proto" : {
26076 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
26077 "format" : "pve-fw-protocol-spec",
26078 "optional" : 1,
26079 "type" : "string",
26080 "typetext" : "<string>"
26081 },
26082 "source" : {
26083 "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.",
26084 "format" : "pve-fw-addr-spec",
0695fdaf 26085 "maxLength" : 512,
4d47f125
TL
26086 "optional" : 1,
26087 "type" : "string",
26088 "typetext" : "<string>"
26089 },
26090 "sport" : {
26091 "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.",
26092 "format" : "pve-fw-sport-spec",
26093 "optional" : 1,
013dc89f
DM
26094 "type" : "string",
26095 "typetext" : "<string>"
7aacca6f 26096 },
4d47f125
TL
26097 "type" : {
26098 "description" : "Rule type.",
26099 "enum" : [
26100 "in",
26101 "out",
26102 "group"
26103 ],
26104 "optional" : 1,
26105 "type" : "string"
26106 },
7aacca6f 26107 "vmid" : {
44660702 26108 "description" : "The (unique) ID of the VM.",
7aacca6f 26109 "format" : "pve-vmid",
44660702 26110 "minimum" : 1,
4bd7df8b 26111 "type" : "integer",
013dc89f 26112 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
26113 }
26114 }
26115 },
7aacca6f
DM
26116 "permissions" : {
26117 "check" : [
26118 "perm",
26119 "/vms/{vmid}",
26120 [
4d47f125 26121 "VM.Config.Network"
7aacca6f
DM
26122 ]
26123 ]
26124 },
4d47f125
TL
26125 "protected" : 1,
26126 "proxyto" : null,
26127 "returns" : {
26128 "type" : "null"
26129 }
26130 }
26131 },
26132 "leaf" : 1,
26133 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
26134 "text" : "{pos}"
26135 }
26136 ],
26137 "info" : {
26138 "GET" : {
e9cd3bd4 26139 "allowtoken" : 1,
4d47f125
TL
26140 "description" : "List rules.",
26141 "method" : "GET",
26142 "name" : "get_rules",
26143 "parameters" : {
26144 "additionalProperties" : 0,
26145 "properties" : {
26146 "node" : {
26147 "description" : "The cluster node name.",
26148 "format" : "pve-node",
26149 "type" : "string",
26150 "typetext" : "<string>"
26151 },
26152 "vmid" : {
26153 "description" : "The (unique) ID of the VM.",
26154 "format" : "pve-vmid",
26155 "minimum" : 1,
26156 "type" : "integer",
26157 "typetext" : "<integer> (1 - N)"
26158 }
26159 }
26160 },
26161 "permissions" : {
26162 "check" : [
26163 "perm",
26164 "/vms/{vmid}",
26165 [
26166 "VM.Audit"
26167 ]
26168 ]
26169 },
26170 "proxyto" : null,
26171 "returns" : {
26172 "items" : {
26173 "properties" : {
26174 "pos" : {
26175 "type" : "integer"
26176 }
26177 },
26178 "type" : "object"
26179 },
26180 "links" : [
26181 {
26182 "href" : "{pos}",
26183 "rel" : "child"
26184 }
26185 ],
26186 "type" : "array"
26187 }
26188 },
26189 "POST" : {
e9cd3bd4 26190 "allowtoken" : 1,
4d47f125
TL
26191 "description" : "Create new rule.",
26192 "method" : "POST",
26193 "name" : "create_rule",
26194 "parameters" : {
26195 "additionalProperties" : 0,
26196 "properties" : {
26197 "action" : {
26198 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
26199 "maxLength" : 20,
26200 "minLength" : 2,
26201 "optional" : 0,
26202 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26203 "type" : "string"
26204 },
26205 "comment" : {
26206 "description" : "Descriptive comment.",
26207 "optional" : 1,
26208 "type" : "string",
26209 "typetext" : "<string>"
26210 },
26211 "dest" : {
26212 "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.",
26213 "format" : "pve-fw-addr-spec",
0695fdaf 26214 "maxLength" : 512,
4d47f125
TL
26215 "optional" : 1,
26216 "type" : "string",
26217 "typetext" : "<string>"
26218 },
26219 "digest" : {
26220 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26221 "maxLength" : 40,
26222 "optional" : 1,
26223 "type" : "string",
26224 "typetext" : "<string>"
26225 },
26226 "dport" : {
26227 "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.",
26228 "format" : "pve-fw-dport-spec",
26229 "optional" : 1,
26230 "type" : "string",
26231 "typetext" : "<string>"
26232 },
26233 "enable" : {
26234 "description" : "Flag to enable/disable a rule.",
26235 "minimum" : 0,
26236 "optional" : 1,
26237 "type" : "integer",
26238 "typetext" : "<integer> (0 - N)"
26239 },
4772952b
TL
26240 "icmp-type" : {
26241 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
26242 "format" : "pve-fw-icmp-type-spec",
26243 "optional" : 1,
26244 "type" : "string",
26245 "typetext" : "<string>"
26246 },
4d47f125
TL
26247 "iface" : {
26248 "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.",
26249 "format" : "pve-iface",
26250 "maxLength" : 20,
26251 "minLength" : 2,
26252 "optional" : 1,
26253 "type" : "string",
26254 "typetext" : "<string>"
26255 },
95895385
TL
26256 "log" : {
26257 "description" : "Log level for firewall rule.",
26258 "enum" : [
26259 "emerg",
26260 "alert",
26261 "crit",
26262 "err",
26263 "warning",
26264 "notice",
26265 "info",
26266 "debug",
26267 "nolog"
26268 ],
26269 "optional" : 1,
26270 "type" : "string"
26271 },
4d47f125
TL
26272 "macro" : {
26273 "description" : "Use predefined standard macro.",
26274 "maxLength" : 128,
44660702 26275 "optional" : 1,
4d47f125
TL
26276 "type" : "string",
26277 "typetext" : "<string>"
44660702
DM
26278 },
26279 "node" : {
26280 "description" : "The cluster node name.",
26281 "format" : "pve-node",
013dc89f
DM
26282 "type" : "string",
26283 "typetext" : "<string>"
7aacca6f 26284 },
4d47f125
TL
26285 "pos" : {
26286 "description" : "Update rule at position <pos>.",
26287 "minimum" : 0,
26288 "optional" : 1,
26289 "type" : "integer",
26290 "typetext" : "<integer> (0 - N)"
26291 },
26292 "proto" : {
26293 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
26294 "format" : "pve-fw-protocol-spec",
26295 "optional" : 1,
26296 "type" : "string",
26297 "typetext" : "<string>"
26298 },
26299 "source" : {
26300 "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.",
26301 "format" : "pve-fw-addr-spec",
0695fdaf 26302 "maxLength" : 512,
4d47f125 26303 "optional" : 1,
013dc89f
DM
26304 "type" : "string",
26305 "typetext" : "<string>"
44660702 26306 },
4d47f125
TL
26307 "sport" : {
26308 "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.",
26309 "format" : "pve-fw-sport-spec",
26310 "optional" : 1,
26311 "type" : "string",
26312 "typetext" : "<string>"
26313 },
26314 "type" : {
26315 "description" : "Rule type.",
26316 "enum" : [
26317 "in",
26318 "out",
26319 "group"
26320 ],
26321 "optional" : 0,
26322 "type" : "string"
26323 },
44660702
DM
26324 "vmid" : {
26325 "description" : "The (unique) ID of the VM.",
26326 "format" : "pve-vmid",
26327 "minimum" : 1,
4bd7df8b 26328 "type" : "integer",
013dc89f 26329 "typetext" : "<integer> (1 - N)"
56122987 26330 }
44660702 26331 }
7aacca6f 26332 },
56122987
DM
26333 "permissions" : {
26334 "check" : [
26335 "perm",
26336 "/vms/{vmid}",
26337 [
4d47f125 26338 "VM.Config.Network"
56122987
DM
26339 ]
26340 ]
26341 },
44660702 26342 "protected" : 1,
4d47f125 26343 "proxyto" : null,
44660702 26344 "returns" : {
4d47f125 26345 "type" : "null"
44660702
DM
26346 }
26347 }
26348 },
26349 "leaf" : 0,
4d47f125
TL
26350 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
26351 "text" : "rules"
7aacca6f 26352 },
56122987 26353 {
56122987
DM
26354 "children" : [
26355 {
56122987 26356 "info" : {
44660702 26357 "DELETE" : {
e9cd3bd4 26358 "allowtoken" : 1,
4d47f125 26359 "description" : "Remove IP or Network alias.",
44660702 26360 "method" : "DELETE",
4d47f125 26361 "name" : "remove_alias",
56122987 26362 "parameters" : {
44660702 26363 "additionalProperties" : 0,
56122987 26364 "properties" : {
44660702
DM
26365 "digest" : {
26366 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26367 "maxLength" : 40,
7aacca6f 26368 "optional" : 1,
013dc89f
DM
26369 "type" : "string",
26370 "typetext" : "<string>"
7aacca6f 26371 },
4d47f125
TL
26372 "name" : {
26373 "description" : "Alias name.",
26374 "maxLength" : 64,
26375 "minLength" : 2,
26376 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26377 "type" : "string"
26378 },
7aacca6f 26379 "node" : {
44660702 26380 "description" : "The cluster node name.",
7aacca6f 26381 "format" : "pve-node",
013dc89f
DM
26382 "type" : "string",
26383 "typetext" : "<string>"
44660702 26384 },
44660702
DM
26385 "vmid" : {
26386 "description" : "The (unique) ID of the VM.",
26387 "format" : "pve-vmid",
26388 "minimum" : 1,
4bd7df8b 26389 "type" : "integer",
013dc89f 26390 "typetext" : "<integer> (1 - N)"
56122987 26391 }
44660702 26392 }
56122987 26393 },
56122987
DM
26394 "permissions" : {
26395 "check" : [
26396 "perm",
26397 "/vms/{vmid}",
26398 [
44660702 26399 "VM.Config.Network"
56122987
DM
26400 ]
26401 ]
26402 },
44660702 26403 "protected" : 1,
44660702
DM
26404 "returns" : {
26405 "type" : "null"
26406 }
7aacca6f 26407 },
44660702 26408 "GET" : {
e9cd3bd4 26409 "allowtoken" : 1,
4d47f125 26410 "description" : "Read alias.",
44660702 26411 "method" : "GET",
4d47f125 26412 "name" : "read_alias",
56122987 26413 "parameters" : {
44660702 26414 "additionalProperties" : 0,
56122987 26415 "properties" : {
4d47f125
TL
26416 "name" : {
26417 "description" : "Alias name.",
26418 "maxLength" : 64,
26419 "minLength" : 2,
26420 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26421 "type" : "string"
26422 },
7aacca6f 26423 "node" : {
7aacca6f 26424 "description" : "The cluster node name.",
44660702 26425 "format" : "pve-node",
013dc89f
DM
26426 "type" : "string",
26427 "typetext" : "<string>"
56122987 26428 },
7aacca6f 26429 "vmid" : {
44660702 26430 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
26431 "format" : "pve-vmid",
26432 "minimum" : 1,
4bd7df8b 26433 "type" : "integer",
013dc89f 26434 "typetext" : "<integer> (1 - N)"
56122987 26435 }
44660702 26436 }
56122987 26437 },
7aacca6f
DM
26438 "permissions" : {
26439 "check" : [
26440 "perm",
26441 "/vms/{vmid}",
26442 [
44660702 26443 "VM.Audit"
7aacca6f
DM
26444 ]
26445 ]
26446 },
7aacca6f 26447 "returns" : {
44660702 26448 "type" : "object"
7aacca6f 26449 }
56122987 26450 },
44660702 26451 "PUT" : {
e9cd3bd4 26452 "allowtoken" : 1,
4d47f125 26453 "description" : "Update IP or Network alias.",
44660702 26454 "method" : "PUT",
4d47f125 26455 "name" : "update_alias",
56122987
DM
26456 "parameters" : {
26457 "additionalProperties" : 0,
26458 "properties" : {
4d47f125
TL
26459 "cidr" : {
26460 "description" : "Network/IP specification in CIDR format.",
26461 "format" : "IPorCIDR",
013dc89f
DM
26462 "type" : "string",
26463 "typetext" : "<string>"
44660702 26464 },
4d47f125 26465 "comment" : {
44660702 26466 "optional" : 1,
013dc89f
DM
26467 "type" : "string",
26468 "typetext" : "<string>"
44660702
DM
26469 },
26470 "digest" : {
26471 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26472 "maxLength" : 40,
26473 "optional" : 1,
013dc89f
DM
26474 "type" : "string",
26475 "typetext" : "<string>"
44660702 26476 },
4d47f125
TL
26477 "name" : {
26478 "description" : "Alias name.",
26479 "maxLength" : 64,
44660702 26480 "minLength" : 2,
4d47f125
TL
26481 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26482 "type" : "string"
44660702 26483 },
7aacca6f
DM
26484 "node" : {
26485 "description" : "The cluster node name.",
44660702 26486 "format" : "pve-node",
013dc89f
DM
26487 "type" : "string",
26488 "typetext" : "<string>"
56122987 26489 },
4d47f125
TL
26490 "rename" : {
26491 "description" : "Rename an existing alias.",
26492 "maxLength" : 64,
26493 "minLength" : 2,
7aacca6f 26494 "optional" : 1,
4d47f125 26495 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
26496 "type" : "string"
26497 },
26498 "vmid" : {
26499 "description" : "The (unique) ID of the VM.",
26500 "format" : "pve-vmid",
26501 "minimum" : 1,
4bd7df8b 26502 "type" : "integer",
013dc89f 26503 "typetext" : "<integer> (1 - N)"
56122987
DM
26504 }
26505 }
26506 },
56122987
DM
26507 "permissions" : {
26508 "check" : [
26509 "perm",
26510 "/vms/{vmid}",
26511 [
7aacca6f 26512 "VM.Config.Network"
56122987
DM
26513 ]
26514 ]
26515 },
44660702 26516 "protected" : 1,
56122987 26517 "returns" : {
7aacca6f
DM
26518 "type" : "null"
26519 }
56122987 26520 }
44660702
DM
26521 },
26522 "leaf" : 1,
4d47f125
TL
26523 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
26524 "text" : "{name}"
56122987
DM
26525 }
26526 ],
26527 "info" : {
7aacca6f 26528 "GET" : {
e9cd3bd4 26529 "allowtoken" : 1,
4d47f125 26530 "description" : "List aliases",
44660702 26531 "method" : "GET",
4d47f125 26532 "name" : "get_aliases",
7aacca6f 26533 "parameters" : {
44660702 26534 "additionalProperties" : 0,
7aacca6f
DM
26535 "properties" : {
26536 "node" : {
7aacca6f 26537 "description" : "The cluster node name.",
44660702 26538 "format" : "pve-node",
013dc89f
DM
26539 "type" : "string",
26540 "typetext" : "<string>"
7aacca6f
DM
26541 },
26542 "vmid" : {
26543 "description" : "The (unique) ID of the VM.",
44660702 26544 "format" : "pve-vmid",
7aacca6f 26545 "minimum" : 1,
4bd7df8b 26546 "type" : "integer",
013dc89f 26547 "typetext" : "<integer> (1 - N)"
7aacca6f 26548 }
44660702 26549 }
56122987 26550 },
56122987
DM
26551 "permissions" : {
26552 "check" : [
26553 "perm",
26554 "/vms/{vmid}",
26555 [
7aacca6f 26556 "VM.Audit"
56122987
DM
26557 ]
26558 ]
26559 },
7aacca6f 26560 "returns" : {
7aacca6f
DM
26561 "items" : {
26562 "properties" : {
4d47f125
TL
26563 "cidr" : {
26564 "type" : "string"
26565 },
26566 "comment" : {
26567 "optional" : 1,
26568 "type" : "string"
26569 },
26570 "digest" : {
26571 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26572 "maxLength" : 40,
26573 "optional" : 0,
26574 "type" : "string"
26575 },
26576 "name" : {
26577 "type" : "string"
7aacca6f
DM
26578 }
26579 },
26580 "type" : "object"
26581 },
26582 "links" : [
26583 {
4d47f125 26584 "href" : "{name}",
44660702 26585 "rel" : "child"
7aacca6f 26586 }
44660702
DM
26587 ],
26588 "type" : "array"
26589 }
7aacca6f
DM
26590 },
26591 "POST" : {
e9cd3bd4 26592 "allowtoken" : 1,
4d47f125 26593 "description" : "Create IP or Network Alias.",
44660702 26594 "method" : "POST",
4d47f125 26595 "name" : "create_alias",
56122987 26596 "parameters" : {
44660702 26597 "additionalProperties" : 0,
56122987 26598 "properties" : {
4d47f125
TL
26599 "cidr" : {
26600 "description" : "Network/IP specification in CIDR format.",
26601 "format" : "IPorCIDR",
013dc89f 26602 "type" : "string",
4d47f125
TL
26603 "typetext" : "<string>"
26604 },
26605 "comment" : {
44660702 26606 "optional" : 1,
013dc89f
DM
26607 "type" : "string",
26608 "typetext" : "<string>"
7aacca6f 26609 },
4d47f125
TL
26610 "name" : {
26611 "description" : "Alias name.",
26612 "maxLength" : 64,
26613 "minLength" : 2,
26614 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
26615 "type" : "string"
26616 },
4d47f125
TL
26617 "node" : {
26618 "description" : "The cluster node name.",
26619 "format" : "pve-node",
26620 "type" : "string",
26621 "typetext" : "<string>"
26622 },
44660702
DM
26623 "vmid" : {
26624 "description" : "The (unique) ID of the VM.",
26625 "format" : "pve-vmid",
26626 "minimum" : 1,
4bd7df8b 26627 "type" : "integer",
013dc89f 26628 "typetext" : "<integer> (1 - N)"
44660702
DM
26629 }
26630 }
26631 },
26632 "permissions" : {
26633 "check" : [
26634 "perm",
26635 "/vms/{vmid}",
26636 [
26637 "VM.Config.Network"
26638 ]
26639 ]
26640 },
26641 "protected" : 1,
44660702
DM
26642 "returns" : {
26643 "type" : "null"
26644 }
26645 }
26646 },
26647 "leaf" : 0,
4d47f125
TL
26648 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
26649 "text" : "aliases"
44660702
DM
26650 },
26651 {
26652 "children" : [
26653 {
4d47f125
TL
26654 "children" : [
26655 {
26656 "info" : {
26657 "DELETE" : {
e9cd3bd4 26658 "allowtoken" : 1,
4d47f125
TL
26659 "description" : "Remove IP or Network from IPSet.",
26660 "method" : "DELETE",
26661 "name" : "remove_ip",
26662 "parameters" : {
26663 "additionalProperties" : 0,
26664 "properties" : {
26665 "cidr" : {
26666 "description" : "Network/IP specification in CIDR format.",
26667 "format" : "IPorCIDRorAlias",
26668 "type" : "string",
26669 "typetext" : "<string>"
26670 },
26671 "digest" : {
26672 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26673 "maxLength" : 40,
26674 "optional" : 1,
26675 "type" : "string",
26676 "typetext" : "<string>"
26677 },
26678 "name" : {
26679 "description" : "IP set name.",
26680 "maxLength" : 64,
26681 "minLength" : 2,
26682 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26683 "type" : "string"
26684 },
26685 "node" : {
26686 "description" : "The cluster node name.",
26687 "format" : "pve-node",
26688 "type" : "string",
26689 "typetext" : "<string>"
26690 },
26691 "vmid" : {
26692 "description" : "The (unique) ID of the VM.",
26693 "format" : "pve-vmid",
26694 "minimum" : 1,
26695 "type" : "integer",
26696 "typetext" : "<integer> (1 - N)"
26697 }
26698 }
26699 },
26700 "permissions" : {
26701 "check" : [
26702 "perm",
26703 "/vms/{vmid}",
26704 [
26705 "VM.Config.Network"
26706 ]
26707 ]
26708 },
26709 "protected" : 1,
26710 "returns" : {
26711 "type" : "null"
26712 }
26713 },
26714 "GET" : {
e9cd3bd4 26715 "allowtoken" : 1,
4d47f125
TL
26716 "description" : "Read IP or Network settings from IPSet.",
26717 "method" : "GET",
26718 "name" : "read_ip",
26719 "parameters" : {
26720 "additionalProperties" : 0,
26721 "properties" : {
26722 "cidr" : {
26723 "description" : "Network/IP specification in CIDR format.",
26724 "format" : "IPorCIDRorAlias",
26725 "type" : "string",
26726 "typetext" : "<string>"
26727 },
26728 "name" : {
26729 "description" : "IP set name.",
26730 "maxLength" : 64,
26731 "minLength" : 2,
26732 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26733 "type" : "string"
26734 },
26735 "node" : {
26736 "description" : "The cluster node name.",
26737 "format" : "pve-node",
26738 "type" : "string",
26739 "typetext" : "<string>"
26740 },
26741 "vmid" : {
26742 "description" : "The (unique) ID of the VM.",
26743 "format" : "pve-vmid",
26744 "minimum" : 1,
26745 "type" : "integer",
26746 "typetext" : "<integer> (1 - N)"
26747 }
26748 }
26749 },
26750 "permissions" : {
26751 "check" : [
26752 "perm",
26753 "/vms/{vmid}",
26754 [
26755 "VM.Audit"
26756 ]
26757 ]
26758 },
26759 "protected" : 1,
26760 "returns" : {
26761 "type" : "object"
26762 }
26763 },
26764 "PUT" : {
e9cd3bd4 26765 "allowtoken" : 1,
4d47f125
TL
26766 "description" : "Update IP or Network settings",
26767 "method" : "PUT",
26768 "name" : "update_ip",
26769 "parameters" : {
26770 "additionalProperties" : 0,
26771 "properties" : {
26772 "cidr" : {
26773 "description" : "Network/IP specification in CIDR format.",
26774 "format" : "IPorCIDRorAlias",
26775 "type" : "string",
26776 "typetext" : "<string>"
26777 },
26778 "comment" : {
26779 "optional" : 1,
26780 "type" : "string",
26781 "typetext" : "<string>"
26782 },
26783 "digest" : {
26784 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26785 "maxLength" : 40,
26786 "optional" : 1,
26787 "type" : "string",
26788 "typetext" : "<string>"
26789 },
26790 "name" : {
26791 "description" : "IP set name.",
26792 "maxLength" : 64,
26793 "minLength" : 2,
26794 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26795 "type" : "string"
26796 },
26797 "node" : {
26798 "description" : "The cluster node name.",
26799 "format" : "pve-node",
26800 "type" : "string",
26801 "typetext" : "<string>"
26802 },
26803 "nomatch" : {
26804 "optional" : 1,
26805 "type" : "boolean",
26806 "typetext" : "<boolean>"
26807 },
26808 "vmid" : {
26809 "description" : "The (unique) ID of the VM.",
26810 "format" : "pve-vmid",
26811 "minimum" : 1,
26812 "type" : "integer",
26813 "typetext" : "<integer> (1 - N)"
26814 }
26815 }
26816 },
26817 "permissions" : {
26818 "check" : [
26819 "perm",
26820 "/vms/{vmid}",
26821 [
26822 "VM.Config.Network"
26823 ]
26824 ]
26825 },
26826 "protected" : 1,
26827 "returns" : {
26828 "type" : "null"
26829 }
26830 }
26831 },
26832 "leaf" : 1,
26833 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
26834 "text" : "{cidr}"
26835 }
26836 ],
44660702
DM
26837 "info" : {
26838 "DELETE" : {
e9cd3bd4 26839 "allowtoken" : 1,
4d47f125 26840 "description" : "Delete IPSet",
44660702 26841 "method" : "DELETE",
4d47f125 26842 "name" : "delete_ipset",
56122987 26843 "parameters" : {
44660702 26844 "additionalProperties" : 0,
56122987 26845 "properties" : {
7aacca6f 26846 "name" : {
4d47f125 26847 "description" : "IP set name.",
7aacca6f 26848 "maxLength" : 64,
7aacca6f
DM
26849 "minLength" : 2,
26850 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 26851 "type" : "string"
7aacca6f
DM
26852 },
26853 "node" : {
44660702 26854 "description" : "The cluster node name.",
56122987 26855 "format" : "pve-node",
013dc89f
DM
26856 "type" : "string",
26857 "typetext" : "<string>"
7aacca6f 26858 },
56122987 26859 "vmid" : {
44660702 26860 "description" : "The (unique) ID of the VM.",
56122987 26861 "format" : "pve-vmid",
44660702 26862 "minimum" : 1,
4bd7df8b 26863 "type" : "integer",
013dc89f 26864 "typetext" : "<integer> (1 - N)"
56122987 26865 }
44660702 26866 }
56122987 26867 },
56122987
DM
26868 "permissions" : {
26869 "check" : [
26870 "perm",
26871 "/vms/{vmid}",
26872 [
7aacca6f 26873 "VM.Config.Network"
56122987
DM
26874 ]
26875 ]
26876 },
44660702 26877 "protected" : 1,
56122987 26878 "returns" : {
7aacca6f 26879 "type" : "null"
44660702 26880 }
56122987 26881 },
44660702 26882 "GET" : {
e9cd3bd4 26883 "allowtoken" : 1,
4d47f125 26884 "description" : "List IPSet content",
44660702 26885 "method" : "GET",
4d47f125 26886 "name" : "get_ipset",
44660702
DM
26887 "parameters" : {
26888 "additionalProperties" : 0,
26889 "properties" : {
26890 "name" : {
4d47f125 26891 "description" : "IP set name.",
44660702
DM
26892 "maxLength" : 64,
26893 "minLength" : 2,
26894 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26895 "type" : "string"
26896 },
26897 "node" : {
26898 "description" : "The cluster node name.",
26899 "format" : "pve-node",
013dc89f
DM
26900 "type" : "string",
26901 "typetext" : "<string>"
44660702
DM
26902 },
26903 "vmid" : {
26904 "description" : "The (unique) ID of the VM.",
26905 "format" : "pve-vmid",
26906 "minimum" : 1,
4bd7df8b 26907 "type" : "integer",
013dc89f 26908 "typetext" : "<integer> (1 - N)"
44660702 26909 }
4d47f125
TL
26910 }
26911 },
26912 "permissions" : {
26913 "check" : [
26914 "perm",
26915 "/vms/{vmid}",
26916 [
26917 "VM.Audit"
26918 ]
26919 ]
26920 },
26921 "returns" : {
26922 "items" : {
26923 "properties" : {
26924 "cidr" : {
26925 "type" : "string"
26926 },
26927 "comment" : {
26928 "optional" : 1,
26929 "type" : "string"
26930 },
26931 "digest" : {
26932 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26933 "maxLength" : 40,
26934 "optional" : 0,
26935 "type" : "string"
26936 },
26937 "nomatch" : {
26938 "optional" : 1,
26939 "type" : "boolean"
26940 }
26941 },
26942 "type" : "object"
26943 },
26944 "links" : [
26945 {
26946 "href" : "{cidr}",
26947 "rel" : "child"
26948 }
26949 ],
26950 "type" : "array"
44660702
DM
26951 }
26952 },
4d47f125 26953 "POST" : {
e9cd3bd4 26954 "allowtoken" : 1,
4d47f125
TL
26955 "description" : "Add IP or Network to IPSet.",
26956 "method" : "POST",
26957 "name" : "create_ip",
56122987
DM
26958 "parameters" : {
26959 "additionalProperties" : 0,
26960 "properties" : {
44660702
DM
26961 "cidr" : {
26962 "description" : "Network/IP specification in CIDR format.",
4d47f125 26963 "format" : "IPorCIDRorAlias",
013dc89f
DM
26964 "type" : "string",
26965 "typetext" : "<string>"
44660702
DM
26966 },
26967 "comment" : {
26968 "optional" : 1,
013dc89f
DM
26969 "type" : "string",
26970 "typetext" : "<string>"
44660702 26971 },
56122987 26972 "name" : {
4d47f125 26973 "description" : "IP set name.",
44660702
DM
26974 "maxLength" : 64,
26975 "minLength" : 2,
7aacca6f 26976 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 26977 "type" : "string"
56122987
DM
26978 },
26979 "node" : {
26980 "description" : "The cluster node name.",
44660702 26981 "format" : "pve-node",
013dc89f
DM
26982 "type" : "string",
26983 "typetext" : "<string>"
44660702 26984 },
4d47f125 26985 "nomatch" : {
44660702 26986 "optional" : 1,
4d47f125
TL
26987 "type" : "boolean",
26988 "typetext" : "<boolean>"
56122987 26989 },
7aacca6f 26990 "vmid" : {
7aacca6f 26991 "description" : "The (unique) ID of the VM.",
44660702 26992 "format" : "pve-vmid",
7aacca6f 26993 "minimum" : 1,
4bd7df8b 26994 "type" : "integer",
013dc89f 26995 "typetext" : "<integer> (1 - N)"
56122987
DM
26996 }
26997 }
26998 },
44660702
DM
26999 "permissions" : {
27000 "check" : [
27001 "perm",
27002 "/vms/{vmid}",
27003 [
27004 "VM.Config.Network"
27005 ]
27006 ]
7aacca6f 27007 },
44660702
DM
27008 "protected" : 1,
27009 "returns" : {
27010 "type" : "null"
7aacca6f
DM
27011 }
27012 }
27013 },
4d47f125
TL
27014 "leaf" : 0,
27015 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
27016 "text" : "{name}"
27017 }
27018 ],
27019 "info" : {
27020 "GET" : {
e9cd3bd4 27021 "allowtoken" : 1,
4d47f125 27022 "description" : "List IPSets",
44660702 27023 "method" : "GET",
4d47f125 27024 "name" : "ipset_index",
56122987
DM
27025 "parameters" : {
27026 "additionalProperties" : 0,
27027 "properties" : {
27028 "node" : {
44660702 27029 "description" : "The cluster node name.",
56122987 27030 "format" : "pve-node",
013dc89f
DM
27031 "type" : "string",
27032 "typetext" : "<string>"
56122987
DM
27033 },
27034 "vmid" : {
7aacca6f 27035 "description" : "The (unique) ID of the VM.",
44660702 27036 "format" : "pve-vmid",
7aacca6f 27037 "minimum" : 1,
4bd7df8b 27038 "type" : "integer",
013dc89f 27039 "typetext" : "<integer> (1 - N)"
56122987
DM
27040 }
27041 }
27042 },
44660702
DM
27043 "permissions" : {
27044 "check" : [
27045 "perm",
27046 "/vms/{vmid}",
27047 [
27048 "VM.Audit"
27049 ]
27050 ]
27051 },
56122987
DM
27052 "returns" : {
27053 "items" : {
56122987 27054 "properties" : {
44660702
DM
27055 "comment" : {
27056 "optional" : 1,
56122987
DM
27057 "type" : "string"
27058 },
56122987 27059 "digest" : {
56122987 27060 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
27061 "maxLength" : 40,
27062 "optional" : 0,
27063 "type" : "string"
27064 },
27065 "name" : {
4d47f125
TL
27066 "description" : "IP set name.",
27067 "maxLength" : 64,
27068 "minLength" : 2,
27069 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 27070 "type" : "string"
56122987 27071 }
44660702
DM
27072 },
27073 "type" : "object"
27074 },
27075 "links" : [
27076 {
27077 "href" : "{name}",
27078 "rel" : "child"
56122987 27079 }
4d47f125
TL
27080 ],
27081 "type" : "array"
27082 }
27083 },
27084 "POST" : {
e9cd3bd4 27085 "allowtoken" : 1,
4d47f125
TL
27086 "description" : "Create new IPSet",
27087 "method" : "POST",
27088 "name" : "create_ipset",
27089 "parameters" : {
27090 "additionalProperties" : 0,
27091 "properties" : {
27092 "comment" : {
27093 "optional" : 1,
27094 "type" : "string",
27095 "typetext" : "<string>"
27096 },
27097 "digest" : {
27098 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27099 "maxLength" : 40,
27100 "optional" : 1,
27101 "type" : "string",
27102 "typetext" : "<string>"
27103 },
27104 "name" : {
27105 "description" : "IP set name.",
27106 "maxLength" : 64,
27107 "minLength" : 2,
27108 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
27109 "type" : "string"
27110 },
27111 "node" : {
27112 "description" : "The cluster node name.",
27113 "format" : "pve-node",
27114 "type" : "string",
27115 "typetext" : "<string>"
27116 },
27117 "rename" : {
27118 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
27119 "maxLength" : 64,
27120 "minLength" : 2,
27121 "optional" : 1,
27122 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
27123 "type" : "string"
27124 },
27125 "vmid" : {
27126 "description" : "The (unique) ID of the VM.",
27127 "format" : "pve-vmid",
27128 "minimum" : 1,
27129 "type" : "integer",
27130 "typetext" : "<integer> (1 - N)"
27131 }
27132 }
27133 },
27134 "permissions" : {
27135 "check" : [
27136 "perm",
27137 "/vms/{vmid}",
27138 [
27139 "VM.Config.Network"
27140 ]
27141 ]
27142 },
27143 "protected" : 1,
27144 "returns" : {
27145 "type" : "null"
27146 }
27147 }
27148 },
27149 "leaf" : 0,
27150 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
27151 "text" : "ipset"
27152 },
27153 {
27154 "info" : {
27155 "GET" : {
e9cd3bd4 27156 "allowtoken" : 1,
4d47f125
TL
27157 "description" : "Get VM firewall options.",
27158 "method" : "GET",
27159 "name" : "get_options",
27160 "parameters" : {
27161 "additionalProperties" : 0,
27162 "properties" : {
27163 "node" : {
27164 "description" : "The cluster node name.",
27165 "format" : "pve-node",
27166 "type" : "string",
27167 "typetext" : "<string>"
27168 },
27169 "vmid" : {
27170 "description" : "The (unique) ID of the VM.",
27171 "format" : "pve-vmid",
27172 "minimum" : 1,
27173 "type" : "integer",
27174 "typetext" : "<integer> (1 - N)"
27175 }
27176 }
27177 },
27178 "permissions" : {
27179 "check" : [
27180 "perm",
27181 "/vms/{vmid}",
27182 [
27183 "VM.Audit"
27184 ]
27185 ]
27186 },
27187 "proxyto" : "node",
27188 "returns" : {
27189 "properties" : {
27190 "dhcp" : {
5c1699e5 27191 "default" : 0,
4d47f125
TL
27192 "description" : "Enable DHCP.",
27193 "optional" : 1,
27194 "type" : "boolean"
27195 },
27196 "enable" : {
5c1699e5 27197 "default" : 0,
4d47f125
TL
27198 "description" : "Enable/disable firewall rules.",
27199 "optional" : 1,
27200 "type" : "boolean"
27201 },
27202 "ipfilter" : {
27203 "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.",
27204 "optional" : 1,
27205 "type" : "boolean"
27206 },
27207 "log_level_in" : {
27208 "description" : "Log level for incoming traffic.",
27209 "enum" : [
27210 "emerg",
27211 "alert",
27212 "crit",
27213 "err",
27214 "warning",
27215 "notice",
27216 "info",
27217 "debug",
27218 "nolog"
27219 ],
27220 "optional" : 1,
27221 "type" : "string"
27222 },
27223 "log_level_out" : {
27224 "description" : "Log level for outgoing traffic.",
27225 "enum" : [
27226 "emerg",
27227 "alert",
27228 "crit",
27229 "err",
27230 "warning",
27231 "notice",
27232 "info",
27233 "debug",
27234 "nolog"
27235 ],
27236 "optional" : 1,
27237 "type" : "string"
27238 },
27239 "macfilter" : {
5c1699e5 27240 "default" : 0,
4d47f125
TL
27241 "description" : "Enable/disable MAC address filter.",
27242 "optional" : 1,
27243 "type" : "boolean"
27244 },
27245 "ndp" : {
5c1699e5
TL
27246 "default" : 0,
27247 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
27248 "optional" : 1,
27249 "type" : "boolean"
27250 },
27251 "policy_in" : {
27252 "description" : "Input policy.",
27253 "enum" : [
27254 "ACCEPT",
27255 "REJECT",
27256 "DROP"
27257 ],
27258 "optional" : 1,
27259 "type" : "string"
27260 },
27261 "policy_out" : {
27262 "description" : "Output policy.",
27263 "enum" : [
27264 "ACCEPT",
27265 "REJECT",
27266 "DROP"
27267 ],
27268 "optional" : 1,
27269 "type" : "string"
27270 },
27271 "radv" : {
27272 "description" : "Allow sending Router Advertisement.",
27273 "optional" : 1,
27274 "type" : "boolean"
27275 }
27276 },
27277 "type" : "object"
7aacca6f
DM
27278 }
27279 },
4d47f125 27280 "PUT" : {
e9cd3bd4 27281 "allowtoken" : 1,
4d47f125
TL
27282 "description" : "Set Firewall options.",
27283 "method" : "PUT",
27284 "name" : "set_options",
7aacca6f
DM
27285 "parameters" : {
27286 "additionalProperties" : 0,
27287 "properties" : {
4d47f125
TL
27288 "delete" : {
27289 "description" : "A list of settings you want to delete.",
27290 "format" : "pve-configid-list",
7aacca6f 27291 "optional" : 1,
013dc89f
DM
27292 "type" : "string",
27293 "typetext" : "<string>"
7aacca6f 27294 },
4d47f125 27295 "dhcp" : {
5c1699e5 27296 "default" : 0,
4d47f125
TL
27297 "description" : "Enable DHCP.",
27298 "optional" : 1,
27299 "type" : "boolean",
27300 "typetext" : "<boolean>"
7aacca6f 27301 },
4d47f125
TL
27302 "digest" : {
27303 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27304 "maxLength" : 40,
27305 "optional" : 1,
013dc89f
DM
27306 "type" : "string",
27307 "typetext" : "<string>"
7aacca6f 27308 },
4d47f125 27309 "enable" : {
5c1699e5 27310 "default" : 0,
4d47f125
TL
27311 "description" : "Enable/disable firewall rules.",
27312 "optional" : 1,
27313 "type" : "boolean",
27314 "typetext" : "<boolean>"
27315 },
27316 "ipfilter" : {
27317 "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.",
27318 "optional" : 1,
27319 "type" : "boolean",
27320 "typetext" : "<boolean>"
56122987 27321 },
4d47f125
TL
27322 "log_level_in" : {
27323 "description" : "Log level for incoming traffic.",
27324 "enum" : [
27325 "emerg",
27326 "alert",
27327 "crit",
27328 "err",
27329 "warning",
27330 "notice",
27331 "info",
27332 "debug",
27333 "nolog"
27334 ],
27335 "optional" : 1,
27336 "type" : "string"
44660702 27337 },
4d47f125
TL
27338 "log_level_out" : {
27339 "description" : "Log level for outgoing traffic.",
27340 "enum" : [
27341 "emerg",
27342 "alert",
27343 "crit",
27344 "err",
27345 "warning",
27346 "notice",
27347 "info",
27348 "debug",
27349 "nolog"
27350 ],
27351 "optional" : 1,
27352 "type" : "string"
44660702 27353 },
4d47f125 27354 "macfilter" : {
5c1699e5 27355 "default" : 0,
4d47f125
TL
27356 "description" : "Enable/disable MAC address filter.",
27357 "optional" : 1,
27358 "type" : "boolean",
27359 "typetext" : "<boolean>"
7aacca6f 27360 },
4d47f125 27361 "ndp" : {
5c1699e5
TL
27362 "default" : 0,
27363 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
27364 "optional" : 1,
27365 "type" : "boolean",
27366 "typetext" : "<boolean>"
7aacca6f 27367 },
4d47f125
TL
27368 "node" : {
27369 "description" : "The cluster node name.",
27370 "format" : "pve-node",
27371 "type" : "string",
27372 "typetext" : "<string>"
27373 },
27374 "policy_in" : {
27375 "description" : "Input policy.",
27376 "enum" : [
27377 "ACCEPT",
27378 "REJECT",
27379 "DROP"
44660702 27380 ],
4d47f125
TL
27381 "optional" : 1,
27382 "type" : "string"
27383 },
27384 "policy_out" : {
27385 "description" : "Output policy.",
27386 "enum" : [
27387 "ACCEPT",
27388 "REJECT",
27389 "DROP"
27390 ],
27391 "optional" : 1,
27392 "type" : "string"
27393 },
27394 "radv" : {
27395 "description" : "Allow sending Router Advertisement.",
27396 "optional" : 1,
27397 "type" : "boolean",
27398 "typetext" : "<boolean>"
27399 },
27400 "vmid" : {
27401 "description" : "The (unique) ID of the VM.",
27402 "format" : "pve-vmid",
27403 "minimum" : 1,
27404 "type" : "integer",
27405 "typetext" : "<integer> (1 - N)"
44660702 27406 }
4d47f125
TL
27407 }
27408 },
27409 "permissions" : {
27410 "check" : [
27411 "perm",
27412 "/vms/{vmid}",
27413 [
27414 "VM.Config.Network"
27415 ]
27416 ]
27417 },
27418 "protected" : 1,
27419 "proxyto" : "node",
27420 "returns" : {
27421 "type" : "null"
27422 }
27423 }
27424 },
27425 "leaf" : 1,
27426 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
27427 "text" : "options"
27428 },
27429 {
27430 "info" : {
27431 "GET" : {
e9cd3bd4 27432 "allowtoken" : 1,
4d47f125
TL
27433 "description" : "Read firewall log",
27434 "method" : "GET",
27435 "name" : "log",
27436 "parameters" : {
27437 "additionalProperties" : 0,
27438 "properties" : {
27439 "limit" : {
27440 "minimum" : 0,
27441 "optional" : 1,
27442 "type" : "integer",
27443 "typetext" : "<integer> (0 - N)"
44660702 27444 },
4d47f125
TL
27445 "node" : {
27446 "description" : "The cluster node name.",
27447 "format" : "pve-node",
27448 "type" : "string",
27449 "typetext" : "<string>"
44660702 27450 },
4d47f125
TL
27451 "start" : {
27452 "minimum" : 0,
27453 "optional" : 1,
27454 "type" : "integer",
27455 "typetext" : "<integer> (0 - N)"
27456 },
27457 "vmid" : {
27458 "description" : "The (unique) ID of the VM.",
27459 "format" : "pve-vmid",
27460 "minimum" : 1,
27461 "type" : "integer",
27462 "typetext" : "<integer> (1 - N)"
44660702
DM
27463 }
27464 }
27465 },
4d47f125
TL
27466 "permissions" : {
27467 "check" : [
27468 "perm",
27469 "/vms/{vmid}",
27470 [
27471 "VM.Console"
27472 ]
27473 ]
27474 },
27475 "protected" : 1,
27476 "proxyto" : "node",
27477 "returns" : {
27478 "items" : {
27479 "properties" : {
27480 "n" : {
27481 "description" : "Line number",
27482 "type" : "integer"
27483 },
27484 "t" : {
27485 "description" : "Line text",
27486 "type" : "string"
27487 }
27488 },
27489 "type" : "object"
27490 },
27491 "type" : "array"
27492 }
44660702 27493 }
4d47f125
TL
27494 },
27495 "leaf" : 1,
27496 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
27497 "text" : "log"
27498 },
27499 {
44660702
DM
27500 "info" : {
27501 "GET" : {
e9cd3bd4 27502 "allowtoken" : 1,
4d47f125 27503 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 27504 "method" : "GET",
4d47f125 27505 "name" : "refs",
44660702
DM
27506 "parameters" : {
27507 "additionalProperties" : 0,
27508 "properties" : {
27509 "node" : {
27510 "description" : "The cluster node name.",
27511 "format" : "pve-node",
013dc89f
DM
27512 "type" : "string",
27513 "typetext" : "<string>"
44660702 27514 },
4d47f125
TL
27515 "type" : {
27516 "description" : "Only list references of specified type.",
27517 "enum" : [
27518 "alias",
27519 "ipset"
27520 ],
27521 "optional" : 1,
27522 "type" : "string"
27523 },
44660702
DM
27524 "vmid" : {
27525 "description" : "The (unique) ID of the VM.",
27526 "format" : "pve-vmid",
27527 "minimum" : 1,
4bd7df8b 27528 "type" : "integer",
013dc89f 27529 "typetext" : "<integer> (1 - N)"
44660702
DM
27530 }
27531 }
27532 },
4d47f125
TL
27533 "permissions" : {
27534 "check" : [
27535 "perm",
27536 "/vms/{vmid}",
27537 [
27538 "VM.Audit"
27539 ]
27540 ]
27541 },
27542 "returns" : {
27543 "items" : {
27544 "properties" : {
27545 "comment" : {
27546 "optional" : 1,
27547 "type" : "string"
27548 },
27549 "name" : {
27550 "type" : "string"
27551 },
27552 "type" : {
27553 "enum" : [
27554 "alias",
27555 "ipset"
27556 ],
27557 "type" : "string"
27558 }
27559 },
27560 "type" : "object"
27561 },
27562 "type" : "array"
27563 }
27564 }
27565 },
27566 "leaf" : 1,
27567 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
27568 "text" : "refs"
27569 }
27570 ],
27571 "info" : {
27572 "GET" : {
e9cd3bd4 27573 "allowtoken" : 1,
4d47f125
TL
27574 "description" : "Directory index.",
27575 "method" : "GET",
27576 "name" : "index",
27577 "parameters" : {
27578 "additionalProperties" : 0,
27579 "properties" : {
27580 "node" : {
27581 "description" : "The cluster node name.",
27582 "format" : "pve-node",
27583 "type" : "string",
27584 "typetext" : "<string>"
27585 },
27586 "vmid" : {
27587 "description" : "The (unique) ID of the VM.",
27588 "format" : "pve-vmid",
27589 "minimum" : 1,
27590 "type" : "integer",
27591 "typetext" : "<integer> (1 - N)"
27592 }
27593 }
27594 },
27595 "permissions" : {
27596 "user" : "all"
27597 },
27598 "returns" : {
27599 "items" : {
27600 "properties" : {},
27601 "type" : "object"
27602 },
27603 "links" : [
27604 {
27605 "href" : "{name}",
27606 "rel" : "child"
27607 }
27608 ],
27609 "type" : "array"
27610 }
27611 }
27612 },
27613 "leaf" : 0,
27614 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
27615 "text" : "firewall"
27616 },
27617 {
27618 "info" : {
27619 "GET" : {
e9cd3bd4 27620 "allowtoken" : 1,
4d47f125
TL
27621 "description" : "Read VM RRD statistics (returns PNG)",
27622 "method" : "GET",
27623 "name" : "rrd",
27624 "parameters" : {
27625 "additionalProperties" : 0,
27626 "properties" : {
27627 "cf" : {
27628 "description" : "The RRD consolidation function",
27629 "enum" : [
27630 "AVERAGE",
27631 "MAX"
27632 ],
27633 "optional" : 1,
27634 "type" : "string"
27635 },
27636 "ds" : {
27637 "description" : "The list of datasources you want to display.",
27638 "format" : "pve-configid-list",
27639 "type" : "string",
27640 "typetext" : "<string>"
27641 },
27642 "node" : {
27643 "description" : "The cluster node name.",
27644 "format" : "pve-node",
27645 "type" : "string",
27646 "typetext" : "<string>"
27647 },
27648 "timeframe" : {
27649 "description" : "Specify the time frame you are interested in.",
27650 "enum" : [
27651 "hour",
27652 "day",
27653 "week",
27654 "month",
27655 "year"
27656 ],
27657 "type" : "string"
27658 },
27659 "vmid" : {
27660 "description" : "The (unique) ID of the VM.",
27661 "format" : "pve-vmid",
27662 "minimum" : 1,
27663 "type" : "integer",
27664 "typetext" : "<integer> (1 - N)"
27665 }
27666 }
27667 },
27668 "permissions" : {
27669 "check" : [
27670 "perm",
27671 "/vms/{vmid}",
27672 [
27673 "VM.Audit"
27674 ]
27675 ]
27676 },
27677 "protected" : 1,
27678 "returns" : {
27679 "properties" : {
27680 "filename" : {
27681 "type" : "string"
27682 }
27683 },
27684 "type" : "object"
27685 }
27686 }
27687 },
27688 "leaf" : 1,
27689 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
27690 "text" : "rrd"
27691 },
27692 {
27693 "info" : {
27694 "GET" : {
e9cd3bd4 27695 "allowtoken" : 1,
4d47f125
TL
27696 "description" : "Read VM RRD statistics",
27697 "method" : "GET",
27698 "name" : "rrddata",
27699 "parameters" : {
27700 "additionalProperties" : 0,
27701 "properties" : {
27702 "cf" : {
27703 "description" : "The RRD consolidation function",
27704 "enum" : [
27705 "AVERAGE",
27706 "MAX"
27707 ],
27708 "optional" : 1,
27709 "type" : "string"
27710 },
27711 "node" : {
27712 "description" : "The cluster node name.",
27713 "format" : "pve-node",
27714 "type" : "string",
27715 "typetext" : "<string>"
44660702 27716 },
4d47f125
TL
27717 "timeframe" : {
27718 "description" : "Specify the time frame you are interested in.",
27719 "enum" : [
27720 "hour",
27721 "day",
27722 "week",
27723 "month",
27724 "year"
44660702 27725 ],
4d47f125
TL
27726 "type" : "string"
27727 },
27728 "vmid" : {
27729 "description" : "The (unique) ID of the VM.",
27730 "format" : "pve-vmid",
27731 "minimum" : 1,
27732 "type" : "integer",
27733 "typetext" : "<integer> (1 - N)"
44660702 27734 }
4d47f125
TL
27735 }
27736 },
27737 "permissions" : {
27738 "check" : [
27739 "perm",
27740 "/vms/{vmid}",
27741 [
27742 "VM.Audit"
27743 ]
27744 ]
27745 },
27746 "protected" : 1,
27747 "returns" : {
27748 "items" : {
27749 "properties" : {},
27750 "type" : "object"
44660702 27751 },
4d47f125
TL
27752 "type" : "array"
27753 }
27754 }
27755 },
27756 "leaf" : 1,
27757 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
27758 "text" : "rrddata"
27759 },
27760 {
27761 "info" : {
27762 "POST" : {
e9cd3bd4 27763 "allowtoken" : 1,
4d47f125
TL
27764 "description" : "Creates a TCP VNC proxy connections.",
27765 "method" : "POST",
27766 "name" : "vncproxy",
27767 "parameters" : {
27768 "additionalProperties" : 0,
27769 "properties" : {
27770 "height" : {
27771 "description" : "sets the height of the console in pixels.",
27772 "maximum" : 2160,
27773 "minimum" : 16,
27774 "optional" : 1,
27775 "type" : "integer",
27776 "typetext" : "<integer> (16 - 2160)"
44660702 27777 },
4d47f125
TL
27778 "node" : {
27779 "description" : "The cluster node name.",
27780 "format" : "pve-node",
27781 "type" : "string",
27782 "typetext" : "<string>"
44660702 27783 },
4d47f125
TL
27784 "vmid" : {
27785 "description" : "The (unique) ID of the VM.",
27786 "format" : "pve-vmid",
27787 "minimum" : 1,
27788 "type" : "integer",
27789 "typetext" : "<integer> (1 - N)"
27790 },
27791 "websocket" : {
27792 "description" : "use websocket instead of standard VNC.",
27793 "optional" : 1,
27794 "type" : "boolean",
27795 "typetext" : "<boolean>"
27796 },
27797 "width" : {
27798 "description" : "sets the width of the console in pixels.",
27799 "maximum" : 4096,
27800 "minimum" : 16,
27801 "optional" : 1,
27802 "type" : "integer",
27803 "typetext" : "<integer> (16 - 4096)"
56122987
DM
27804 }
27805 }
44660702 27806 },
4d47f125
TL
27807 "permissions" : {
27808 "check" : [
27809 "perm",
27810 "/vms/{vmid}",
27811 [
27812 "VM.Console"
27813 ]
27814 ]
27815 },
27816 "protected" : 1,
27817 "returns" : {
27818 "additionalProperties" : 0,
27819 "properties" : {
27820 "cert" : {
27821 "type" : "string"
44660702 27822 },
4d47f125
TL
27823 "port" : {
27824 "type" : "integer"
27825 },
27826 "ticket" : {
27827 "type" : "string"
27828 },
27829 "upid" : {
27830 "type" : "string"
27831 },
27832 "user" : {
27833 "type" : "string"
27834 }
27835 }
27836 }
27837 }
27838 },
27839 "leaf" : 1,
27840 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
27841 "text" : "vncproxy"
27842 },
27843 {
27844 "info" : {
27845 "POST" : {
e9cd3bd4 27846 "allowtoken" : 1,
4d47f125
TL
27847 "description" : "Creates a TCP proxy connection.",
27848 "method" : "POST",
27849 "name" : "termproxy",
27850 "parameters" : {
27851 "additionalProperties" : 0,
27852 "properties" : {
27853 "node" : {
27854 "description" : "The cluster node name.",
27855 "format" : "pve-node",
27856 "type" : "string",
27857 "typetext" : "<string>"
44660702 27858 },
4d47f125
TL
27859 "vmid" : {
27860 "description" : "The (unique) ID of the VM.",
27861 "format" : "pve-vmid",
27862 "minimum" : 1,
27863 "type" : "integer",
27864 "typetext" : "<integer> (1 - N)"
44660702 27865 }
4d47f125
TL
27866 }
27867 },
27868 "permissions" : {
27869 "check" : [
27870 "perm",
27871 "/vms/{vmid}",
27872 [
27873 "VM.Console"
27874 ]
27875 ]
27876 },
27877 "protected" : 1,
27878 "returns" : {
27879 "additionalProperties" : 0,
27880 "properties" : {
27881 "port" : {
27882 "type" : "integer"
56122987 27883 },
4d47f125
TL
27884 "ticket" : {
27885 "type" : "string"
7aacca6f 27886 },
4d47f125
TL
27887 "upid" : {
27888 "type" : "string"
27889 },
27890 "user" : {
27891 "type" : "string"
27892 }
27893 }
27894 }
27895 }
27896 },
27897 "leaf" : 1,
27898 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
27899 "text" : "termproxy"
27900 },
27901 {
27902 "info" : {
27903 "GET" : {
e9cd3bd4 27904 "allowtoken" : 1,
4d47f125
TL
27905 "description" : "Opens a weksocket for VNC traffic.",
27906 "method" : "GET",
27907 "name" : "vncwebsocket",
27908 "parameters" : {
27909 "additionalProperties" : 0,
27910 "properties" : {
27911 "node" : {
27912 "description" : "The cluster node name.",
27913 "format" : "pve-node",
27914 "type" : "string",
27915 "typetext" : "<string>"
27916 },
27917 "port" : {
27918 "description" : "Port number returned by previous vncproxy call.",
27919 "maximum" : 5999,
27920 "minimum" : 5900,
27921 "type" : "integer",
27922 "typetext" : "<integer> (5900 - 5999)"
27923 },
27924 "vmid" : {
27925 "description" : "The (unique) ID of the VM.",
27926 "format" : "pve-vmid",
27927 "minimum" : 1,
27928 "type" : "integer",
27929 "typetext" : "<integer> (1 - N)"
27930 },
27931 "vncticket" : {
27932 "description" : "Ticket from previous call to vncproxy.",
27933 "maxLength" : 512,
27934 "type" : "string",
27935 "typetext" : "<string>"
56122987
DM
27936 }
27937 }
27938 },
4d47f125
TL
27939 "permissions" : {
27940 "check" : [
27941 "perm",
27942 "/vms/{vmid}",
27943 [
27944 "VM.Console"
27945 ]
27946 ],
27947 "description" : "You also need to pass a valid ticket (vncticket)."
27948 },
27949 "returns" : {
27950 "properties" : {
27951 "port" : {
27952 "type" : "string"
27953 }
27954 },
27955 "type" : "object"
27956 }
27957 }
27958 },
27959 "leaf" : 1,
27960 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
27961 "text" : "vncwebsocket"
27962 },
27963 {
27964 "info" : {
27965 "POST" : {
e9cd3bd4 27966 "allowtoken" : 1,
4d47f125
TL
27967 "description" : "Returns a SPICE configuration to connect to the CT.",
27968 "method" : "POST",
27969 "name" : "spiceproxy",
27970 "parameters" : {
27971 "additionalProperties" : 0,
27972 "properties" : {
27973 "node" : {
27974 "description" : "The cluster node name.",
27975 "format" : "pve-node",
27976 "type" : "string",
27977 "typetext" : "<string>"
56122987 27978 },
4d47f125
TL
27979 "proxy" : {
27980 "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).",
27981 "format" : "address",
27982 "optional" : 1,
27983 "type" : "string",
27984 "typetext" : "<string>"
44660702 27985 },
4d47f125
TL
27986 "vmid" : {
27987 "description" : "The (unique) ID of the VM.",
27988 "format" : "pve-vmid",
27989 "minimum" : 1,
27990 "type" : "integer",
27991 "typetext" : "<integer> (1 - N)"
44660702 27992 }
56122987
DM
27993 }
27994 },
4d47f125
TL
27995 "permissions" : {
27996 "check" : [
27997 "perm",
27998 "/vms/{vmid}",
27999 [
28000 "VM.Console"
28001 ]
28002 ]
28003 },
28004 "protected" : 1,
28005 "proxyto" : "node",
28006 "returns" : {
28007 "additionalProperties" : 1,
28008 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
28009 "properties" : {
28010 "host" : {
28011 "type" : "string"
28012 },
28013 "password" : {
28014 "type" : "string"
28015 },
28016 "proxy" : {
28017 "type" : "string"
28018 },
28019 "tls-port" : {
28020 "type" : "integer"
28021 },
28022 "type" : {
28023 "type" : "string"
28024 }
28025 }
28026 }
28027 }
28028 },
28029 "leaf" : 1,
28030 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
28031 "text" : "spiceproxy"
28032 },
28033 {
28034 "info" : {
28035 "POST" : {
e9cd3bd4 28036 "allowtoken" : 1,
4d47f125
TL
28037 "description" : "Migrate the container to another node. Creates a new migration task.",
28038 "method" : "POST",
28039 "name" : "migrate_vm",
28040 "parameters" : {
28041 "additionalProperties" : 0,
28042 "properties" : {
95895385
TL
28043 "bwlimit" : {
28044 "default" : "migrate limit from datacenter or storage config",
28045 "description" : "Override I/O bandwidth limit (in KiB/s).",
28046 "minimum" : "0",
28047 "optional" : 1,
28048 "type" : "number",
28049 "typetext" : "<number> (0 - N)"
28050 },
4d47f125
TL
28051 "node" : {
28052 "description" : "The cluster node name.",
28053 "format" : "pve-node",
28054 "type" : "string",
28055 "typetext" : "<string>"
44660702 28056 },
4d47f125
TL
28057 "online" : {
28058 "description" : "Use online/live migration.",
28059 "optional" : 1,
28060 "type" : "boolean",
28061 "typetext" : "<boolean>"
28062 },
28063 "restart" : {
28064 "description" : "Use restart migration",
28065 "optional" : 1,
28066 "type" : "boolean",
28067 "typetext" : "<boolean>"
28068 },
28069 "target" : {
28070 "description" : "Target node.",
28071 "format" : "pve-node",
28072 "type" : "string",
28073 "typetext" : "<string>"
28074 },
28075 "timeout" : {
28076 "default" : 180,
28077 "description" : "Timeout in seconds for shutdown for restart migration",
28078 "optional" : 1,
28079 "type" : "integer",
28080 "typetext" : "<integer>"
28081 },
28082 "vmid" : {
28083 "description" : "The (unique) ID of the VM.",
28084 "format" : "pve-vmid",
28085 "minimum" : 1,
28086 "type" : "integer",
28087 "typetext" : "<integer> (1 - N)"
56122987
DM
28088 }
28089 }
28090 },
4d47f125
TL
28091 "permissions" : {
28092 "check" : [
28093 "perm",
28094 "/vms/{vmid}",
28095 [
28096 "VM.Migrate"
28097 ]
28098 ]
28099 },
28100 "protected" : 1,
28101 "proxyto" : "node",
28102 "returns" : {
28103 "description" : "the task ID.",
28104 "type" : "string"
28105 }
56122987 28106 }
4d47f125
TL
28107 },
28108 "leaf" : 1,
28109 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
28110 "text" : "migrate"
28111 },
28112 {
56122987
DM
28113 "info" : {
28114 "GET" : {
e9cd3bd4 28115 "allowtoken" : 1,
4d47f125 28116 "description" : "Check if feature for virtual machine is available.",
44660702 28117 "method" : "GET",
4d47f125 28118 "name" : "vm_feature",
56122987 28119 "parameters" : {
44660702 28120 "additionalProperties" : 0,
56122987 28121 "properties" : {
4d47f125
TL
28122 "feature" : {
28123 "description" : "Feature to check.",
28124 "enum" : [
28125 "snapshot",
28126 "clone",
28127 "copy"
28128 ],
28129 "type" : "string"
28130 },
56122987 28131 "node" : {
44660702 28132 "description" : "The cluster node name.",
56122987 28133 "format" : "pve-node",
013dc89f
DM
28134 "type" : "string",
28135 "typetext" : "<string>"
44660702 28136 },
4d47f125
TL
28137 "snapname" : {
28138 "description" : "The name of the snapshot.",
28139 "format" : "pve-configid",
28140 "maxLength" : 40,
28141 "optional" : 1,
28142 "type" : "string",
28143 "typetext" : "<string>"
28144 },
44660702
DM
28145 "vmid" : {
28146 "description" : "The (unique) ID of the VM.",
28147 "format" : "pve-vmid",
28148 "minimum" : 1,
4bd7df8b 28149 "type" : "integer",
013dc89f 28150 "typetext" : "<integer> (1 - N)"
56122987 28151 }
44660702
DM
28152 }
28153 },
28154 "permissions" : {
4d47f125
TL
28155 "check" : [
28156 "perm",
28157 "/vms/{vmid}",
28158 [
28159 "VM.Audit"
28160 ]
28161 ]
56122987 28162 },
4d47f125
TL
28163 "protected" : 1,
28164 "proxyto" : "node",
56122987 28165 "returns" : {
4d47f125
TL
28166 "properties" : {
28167 "hasFeature" : {
28168 "type" : "boolean"
28169 }
7aacca6f 28170 },
4d47f125
TL
28171 "type" : "object"
28172 }
28173 }
28174 },
28175 "leaf" : 1,
28176 "path" : "/nodes/{node}/lxc/{vmid}/feature",
28177 "text" : "feature"
28178 },
28179 {
28180 "info" : {
28181 "POST" : {
e9cd3bd4 28182 "allowtoken" : 1,
4d47f125
TL
28183 "description" : "Create a Template.",
28184 "method" : "POST",
28185 "name" : "template",
28186 "parameters" : {
28187 "additionalProperties" : 0,
28188 "properties" : {
28189 "node" : {
28190 "description" : "The cluster node name.",
28191 "format" : "pve-node",
28192 "type" : "string",
28193 "typetext" : "<string>"
28194 },
28195 "vmid" : {
28196 "description" : "The (unique) ID of the VM.",
28197 "format" : "pve-vmid",
28198 "minimum" : 1,
28199 "type" : "integer",
28200 "typetext" : "<integer> (1 - N)"
56122987 28201 }
4d47f125
TL
28202 }
28203 },
28204 "permissions" : {
28205 "check" : [
28206 "perm",
28207 "/vms/{vmid}",
28208 [
28209 "VM.Allocate"
28210 ]
44660702 28211 ],
4d47f125
TL
28212 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
28213 },
28214 "protected" : 1,
28215 "proxyto" : "node",
28216 "returns" : {
28217 "type" : "null"
56122987
DM
28218 }
28219 }
28220 },
4d47f125
TL
28221 "leaf" : 1,
28222 "path" : "/nodes/{node}/lxc/{vmid}/template",
28223 "text" : "template"
56122987
DM
28224 },
28225 {
56122987 28226 "info" : {
4d47f125 28227 "POST" : {
e9cd3bd4 28228 "allowtoken" : 1,
4d47f125
TL
28229 "description" : "Create a container clone/copy",
28230 "method" : "POST",
28231 "name" : "clone_vm",
56122987 28232 "parameters" : {
7aacca6f 28233 "additionalProperties" : 0,
56122987 28234 "properties" : {
95895385
TL
28235 "bwlimit" : {
28236 "default" : "clone limit from datacenter or storage config",
28237 "description" : "Override I/O bandwidth limit (in KiB/s).",
28238 "minimum" : "0",
28239 "optional" : 1,
28240 "type" : "number",
28241 "typetext" : "<number> (0 - N)"
28242 },
4d47f125
TL
28243 "description" : {
28244 "description" : "Description for the new CT.",
44660702 28245 "optional" : 1,
4d47f125
TL
28246 "type" : "string",
28247 "typetext" : "<string>"
44660702 28248 },
4d47f125
TL
28249 "full" : {
28250 "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.",
28251 "optional" : 1,
28252 "type" : "boolean",
28253 "typetext" : "<boolean>"
28254 },
28255 "hostname" : {
28256 "description" : "Set a hostname for the new CT.",
28257 "format" : "dns-name",
28258 "optional" : 1,
013dc89f
DM
28259 "type" : "string",
28260 "typetext" : "<string>"
44660702 28261 },
4d47f125
TL
28262 "newid" : {
28263 "description" : "VMID for the clone.",
28264 "format" : "pve-vmid",
28265 "minimum" : 1,
28266 "type" : "integer",
28267 "typetext" : "<integer> (1 - N)"
28268 },
7aacca6f
DM
28269 "node" : {
28270 "description" : "The cluster node name.",
44660702 28271 "format" : "pve-node",
013dc89f
DM
28272 "type" : "string",
28273 "typetext" : "<string>"
56122987 28274 },
4d47f125
TL
28275 "pool" : {
28276 "description" : "Add the new CT to the specified pool.",
28277 "format" : "pve-poolid",
28278 "optional" : 1,
28279 "type" : "string",
28280 "typetext" : "<string>"
28281 },
28282 "snapname" : {
28283 "description" : "The name of the snapshot.",
28284 "format" : "pve-configid",
28285 "maxLength" : 40,
28286 "optional" : 1,
28287 "type" : "string",
28288 "typetext" : "<string>"
28289 },
28290 "storage" : {
28291 "description" : "Target storage for full clone.",
28292 "format" : "pve-storage-id",
28293 "optional" : 1,
28294 "type" : "string",
28295 "typetext" : "<string>"
28296 },
28297 "target" : {
28298 "description" : "Target node. Only allowed if the original VM is on shared storage.",
28299 "format" : "pve-node",
28300 "optional" : 1,
28301 "type" : "string",
28302 "typetext" : "<string>"
28303 },
7aacca6f 28304 "vmid" : {
44660702 28305 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
28306 "format" : "pve-vmid",
28307 "minimum" : 1,
4bd7df8b 28308 "type" : "integer",
013dc89f 28309 "typetext" : "<integer> (1 - N)"
56122987 28310 }
7aacca6f
DM
28311 }
28312 },
28313 "permissions" : {
28314 "check" : [
4d47f125 28315 "and",
7aacca6f 28316 [
4d47f125
TL
28317 "perm",
28318 "/vms/{vmid}",
28319 [
28320 "VM.Clone"
28321 ]
28322 ],
28323 [
28324 "or",
28325 [
28326 "perm",
28327 "/vms/{newid}",
28328 [
28329 "VM.Allocate"
28330 ]
28331 ],
28332 [
28333 "perm",
28334 "/pool/{pool}",
28335 [
28336 "VM.Allocate"
28337 ],
28338 "require_param",
28339 "pool"
28340 ]
7aacca6f 28341 ]
4d47f125
TL
28342 ],
28343 "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 28344 },
44660702 28345 "protected" : 1,
4d47f125 28346 "proxyto" : "node",
7aacca6f 28347 "returns" : {
4d47f125 28348 "type" : "string"
7aacca6f 28349 }
56122987 28350 }
7aacca6f 28351 },
44660702 28352 "leaf" : 1,
4d47f125
TL
28353 "path" : "/nodes/{node}/lxc/{vmid}/clone",
28354 "text" : "clone"
56122987
DM
28355 },
28356 {
56122987 28357 "info" : {
4d47f125 28358 "PUT" : {
e9cd3bd4 28359 "allowtoken" : 1,
4d47f125
TL
28360 "description" : "Resize a container mount point.",
28361 "method" : "PUT",
28362 "name" : "resize_vm",
56122987 28363 "parameters" : {
7aacca6f 28364 "additionalProperties" : 0,
56122987 28365 "properties" : {
4d47f125
TL
28366 "digest" : {
28367 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
28368 "maxLength" : 40,
28369 "optional" : 1,
28370 "type" : "string",
28371 "typetext" : "<string>"
28372 },
28373 "disk" : {
28374 "description" : "The disk you want to resize.",
44660702 28375 "enum" : [
4d47f125
TL
28376 "rootfs",
28377 "mp0",
28378 "mp1",
28379 "mp2",
28380 "mp3",
28381 "mp4",
28382 "mp5",
28383 "mp6",
28384 "mp7",
28385 "mp8",
28386 "mp9",
28387 "mp10",
28388 "mp11",
28389 "mp12",
28390 "mp13",
28391 "mp14",
28392 "mp15",
28393 "mp16",
28394 "mp17",
28395 "mp18",
28396 "mp19",
28397 "mp20",
28398 "mp21",
28399 "mp22",
28400 "mp23",
28401 "mp24",
28402 "mp25",
28403 "mp26",
28404 "mp27",
28405 "mp28",
28406 "mp29",
28407 "mp30",
28408 "mp31",
28409 "mp32",
28410 "mp33",
28411 "mp34",
28412 "mp35",
28413 "mp36",
28414 "mp37",
28415 "mp38",
28416 "mp39",
28417 "mp40",
28418 "mp41",
28419 "mp42",
28420 "mp43",
28421 "mp44",
28422 "mp45",
28423 "mp46",
28424 "mp47",
28425 "mp48",
28426 "mp49",
28427 "mp50",
28428 "mp51",
28429 "mp52",
28430 "mp53",
28431 "mp54",
28432 "mp55",
28433 "mp56",
28434 "mp57",
28435 "mp58",
28436 "mp59",
28437 "mp60",
28438 "mp61",
28439 "mp62",
28440 "mp63",
28441 "mp64",
28442 "mp65",
28443 "mp66",
28444 "mp67",
28445 "mp68",
28446 "mp69",
28447 "mp70",
28448 "mp71",
28449 "mp72",
28450 "mp73",
28451 "mp74",
28452 "mp75",
28453 "mp76",
28454 "mp77",
28455 "mp78",
28456 "mp79",
28457 "mp80",
28458 "mp81",
28459 "mp82",
28460 "mp83",
28461 "mp84",
28462 "mp85",
28463 "mp86",
28464 "mp87",
28465 "mp88",
28466 "mp89",
28467 "mp90",
28468 "mp91",
28469 "mp92",
28470 "mp93",
28471 "mp94",
28472 "mp95",
28473 "mp96",
28474 "mp97",
28475 "mp98",
28476 "mp99",
28477 "mp100",
28478 "mp101",
28479 "mp102",
28480 "mp103",
28481 "mp104",
28482 "mp105",
28483 "mp106",
28484 "mp107",
28485 "mp108",
28486 "mp109",
28487 "mp110",
28488 "mp111",
28489 "mp112",
28490 "mp113",
28491 "mp114",
28492 "mp115",
28493 "mp116",
28494 "mp117",
28495 "mp118",
28496 "mp119",
28497 "mp120",
28498 "mp121",
28499 "mp122",
28500 "mp123",
28501 "mp124",
28502 "mp125",
28503 "mp126",
28504 "mp127",
28505 "mp128",
28506 "mp129",
28507 "mp130",
28508 "mp131",
28509 "mp132",
28510 "mp133",
28511 "mp134",
28512 "mp135",
28513 "mp136",
28514 "mp137",
28515 "mp138",
28516 "mp139",
28517 "mp140",
28518 "mp141",
28519 "mp142",
28520 "mp143",
28521 "mp144",
28522 "mp145",
28523 "mp146",
28524 "mp147",
28525 "mp148",
28526 "mp149",
28527 "mp150",
28528 "mp151",
28529 "mp152",
28530 "mp153",
28531 "mp154",
28532 "mp155",
28533 "mp156",
28534 "mp157",
28535 "mp158",
28536 "mp159",
28537 "mp160",
28538 "mp161",
28539 "mp162",
28540 "mp163",
28541 "mp164",
28542 "mp165",
28543 "mp166",
28544 "mp167",
28545 "mp168",
28546 "mp169",
28547 "mp170",
28548 "mp171",
28549 "mp172",
28550 "mp173",
28551 "mp174",
28552 "mp175",
28553 "mp176",
28554 "mp177",
28555 "mp178",
28556 "mp179",
28557 "mp180",
28558 "mp181",
28559 "mp182",
28560 "mp183",
28561 "mp184",
28562 "mp185",
28563 "mp186",
28564 "mp187",
28565 "mp188",
28566 "mp189",
28567 "mp190",
28568 "mp191",
28569 "mp192",
28570 "mp193",
28571 "mp194",
28572 "mp195",
28573 "mp196",
28574 "mp197",
28575 "mp198",
28576 "mp199",
28577 "mp200",
28578 "mp201",
28579 "mp202",
28580 "mp203",
28581 "mp204",
28582 "mp205",
28583 "mp206",
28584 "mp207",
28585 "mp208",
28586 "mp209",
28587 "mp210",
28588 "mp211",
28589 "mp212",
28590 "mp213",
28591 "mp214",
28592 "mp215",
28593 "mp216",
28594 "mp217",
28595 "mp218",
28596 "mp219",
28597 "mp220",
28598 "mp221",
28599 "mp222",
28600 "mp223",
28601 "mp224",
28602 "mp225",
28603 "mp226",
28604 "mp227",
28605 "mp228",
28606 "mp229",
28607 "mp230",
28608 "mp231",
28609 "mp232",
28610 "mp233",
28611 "mp234",
28612 "mp235",
28613 "mp236",
28614 "mp237",
28615 "mp238",
28616 "mp239",
28617 "mp240",
28618 "mp241",
28619 "mp242",
28620 "mp243",
28621 "mp244",
28622 "mp245",
28623 "mp246",
28624 "mp247",
28625 "mp248",
28626 "mp249",
28627 "mp250",
28628 "mp251",
28629 "mp252",
28630 "mp253",
28631 "mp254",
28632 "mp255"
44660702 28633 ],
44660702
DM
28634 "type" : "string"
28635 },
7aacca6f 28636 "node" : {
44660702 28637 "description" : "The cluster node name.",
7aacca6f 28638 "format" : "pve-node",
013dc89f
DM
28639 "type" : "string",
28640 "typetext" : "<string>"
7aacca6f 28641 },
4d47f125
TL
28642 "size" : {
28643 "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.",
28644 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 28645 "type" : "string"
7aacca6f
DM
28646 },
28647 "vmid" : {
28648 "description" : "The (unique) ID of the VM.",
44660702 28649 "format" : "pve-vmid",
7aacca6f 28650 "minimum" : 1,
4bd7df8b 28651 "type" : "integer",
013dc89f 28652 "typetext" : "<integer> (1 - N)"
56122987 28653 }
56122987
DM
28654 }
28655 },
56122987
DM
28656 "permissions" : {
28657 "check" : [
28658 "perm",
28659 "/vms/{vmid}",
28660 [
4d47f125
TL
28661 "VM.Config.Disk"
28662 ],
28663 "any",
28664 1
56122987
DM
28665 ]
28666 },
7aacca6f 28667 "protected" : 1,
4d47f125 28668 "proxyto" : "node",
7aacca6f 28669 "returns" : {
4d47f125
TL
28670 "description" : "the task ID.",
28671 "type" : "string"
44660702 28672 }
56122987
DM
28673 }
28674 },
44660702 28675 "leaf" : 1,
4d47f125
TL
28676 "path" : "/nodes/{node}/lxc/{vmid}/resize",
28677 "text" : "resize"
56122987
DM
28678 },
28679 {
28680 "info" : {
28681 "POST" : {
e9cd3bd4 28682 "allowtoken" : 1,
4d47f125 28683 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 28684 "method" : "POST",
4d47f125 28685 "name" : "move_volume",
7aacca6f 28686 "parameters" : {
44660702 28687 "additionalProperties" : 0,
7aacca6f 28688 "properties" : {
95895385
TL
28689 "bwlimit" : {
28690 "default" : "clone limit from datacenter or storage config",
28691 "description" : "Override I/O bandwidth limit (in KiB/s).",
28692 "minimum" : "0",
28693 "optional" : 1,
28694 "type" : "number",
28695 "typetext" : "<number> (0 - N)"
28696 },
4d47f125
TL
28697 "delete" : {
28698 "default" : 0,
28699 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 28700 "optional" : 1,
4d47f125
TL
28701 "type" : "boolean",
28702 "typetext" : "<boolean>"
28703 },
28704 "digest" : {
28705 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
28706 "maxLength" : 40,
28707 "optional" : 1,
28708 "type" : "string",
28709 "typetext" : "<string>"
5d9c884c 28710 },
44660702
DM
28711 "node" : {
28712 "description" : "The cluster node name.",
28713 "format" : "pve-node",
013dc89f
DM
28714 "type" : "string",
28715 "typetext" : "<string>"
44660702 28716 },
4d47f125
TL
28717 "storage" : {
28718 "description" : "Target Storage.",
28719 "format" : "pve-storage-id",
28720 "type" : "string",
28721 "typetext" : "<string>"
28722 },
7aacca6f 28723 "vmid" : {
44660702 28724 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
28725 "format" : "pve-vmid",
28726 "minimum" : 1,
4bd7df8b 28727 "type" : "integer",
013dc89f 28728 "typetext" : "<integer> (1 - N)"
7aacca6f 28729 },
4d47f125
TL
28730 "volume" : {
28731 "description" : "Volume which will be moved.",
28732 "enum" : [
28733 "rootfs",
28734 "mp0",
28735 "mp1",
28736 "mp2",
28737 "mp3",
28738 "mp4",
28739 "mp5",
28740 "mp6",
28741 "mp7",
28742 "mp8",
28743 "mp9",
28744 "mp10",
28745 "mp11",
28746 "mp12",
28747 "mp13",
28748 "mp14",
28749 "mp15",
28750 "mp16",
28751 "mp17",
28752 "mp18",
28753 "mp19",
28754 "mp20",
28755 "mp21",
28756 "mp22",
28757 "mp23",
28758 "mp24",
28759 "mp25",
28760 "mp26",
28761 "mp27",
28762 "mp28",
28763 "mp29",
28764 "mp30",
28765 "mp31",
28766 "mp32",
28767 "mp33",
28768 "mp34",
28769 "mp35",
28770 "mp36",
28771 "mp37",
28772 "mp38",
28773 "mp39",
28774 "mp40",
28775 "mp41",
28776 "mp42",
28777 "mp43",
28778 "mp44",
28779 "mp45",
28780 "mp46",
28781 "mp47",
28782 "mp48",
28783 "mp49",
28784 "mp50",
28785 "mp51",
28786 "mp52",
28787 "mp53",
28788 "mp54",
28789 "mp55",
28790 "mp56",
28791 "mp57",
28792 "mp58",
28793 "mp59",
28794 "mp60",
28795 "mp61",
28796 "mp62",
28797 "mp63",
28798 "mp64",
28799 "mp65",
28800 "mp66",
28801 "mp67",
28802 "mp68",
28803 "mp69",
28804 "mp70",
28805 "mp71",
28806 "mp72",
28807 "mp73",
28808 "mp74",
28809 "mp75",
28810 "mp76",
28811 "mp77",
28812 "mp78",
28813 "mp79",
28814 "mp80",
28815 "mp81",
28816 "mp82",
28817 "mp83",
28818 "mp84",
28819 "mp85",
28820 "mp86",
28821 "mp87",
28822 "mp88",
28823 "mp89",
28824 "mp90",
28825 "mp91",
28826 "mp92",
28827 "mp93",
28828 "mp94",
28829 "mp95",
28830 "mp96",
28831 "mp97",
28832 "mp98",
28833 "mp99",
28834 "mp100",
28835 "mp101",
28836 "mp102",
28837 "mp103",
28838 "mp104",
28839 "mp105",
28840 "mp106",
28841 "mp107",
28842 "mp108",
28843 "mp109",
28844 "mp110",
28845 "mp111",
28846 "mp112",
28847 "mp113",
28848 "mp114",
28849 "mp115",
28850 "mp116",
28851 "mp117",
28852 "mp118",
28853 "mp119",
28854 "mp120",
28855 "mp121",
28856 "mp122",
28857 "mp123",
28858 "mp124",
28859 "mp125",
28860 "mp126",
28861 "mp127",
28862 "mp128",
28863 "mp129",
28864 "mp130",
28865 "mp131",
28866 "mp132",
28867 "mp133",
28868 "mp134",
28869 "mp135",
28870 "mp136",
28871 "mp137",
28872 "mp138",
28873 "mp139",
28874 "mp140",
28875 "mp141",
28876 "mp142",
28877 "mp143",
28878 "mp144",
28879 "mp145",
28880 "mp146",
28881 "mp147",
28882 "mp148",
28883 "mp149",
28884 "mp150",
28885 "mp151",
28886 "mp152",
28887 "mp153",
28888 "mp154",
28889 "mp155",
28890 "mp156",
28891 "mp157",
28892 "mp158",
28893 "mp159",
28894 "mp160",
28895 "mp161",
28896 "mp162",
28897 "mp163",
28898 "mp164",
28899 "mp165",
28900 "mp166",
28901 "mp167",
28902 "mp168",
28903 "mp169",
28904 "mp170",
28905 "mp171",
28906 "mp172",
28907 "mp173",
28908 "mp174",
28909 "mp175",
28910 "mp176",
28911 "mp177",
28912 "mp178",
28913 "mp179",
28914 "mp180",
28915 "mp181",
28916 "mp182",
28917 "mp183",
28918 "mp184",
28919 "mp185",
28920 "mp186",
28921 "mp187",
28922 "mp188",
28923 "mp189",
28924 "mp190",
28925 "mp191",
28926 "mp192",
28927 "mp193",
28928 "mp194",
28929 "mp195",
28930 "mp196",
28931 "mp197",
28932 "mp198",
28933 "mp199",
28934 "mp200",
28935 "mp201",
28936 "mp202",
28937 "mp203",
28938 "mp204",
28939 "mp205",
28940 "mp206",
28941 "mp207",
28942 "mp208",
28943 "mp209",
28944 "mp210",
28945 "mp211",
28946 "mp212",
28947 "mp213",
28948 "mp214",
28949 "mp215",
28950 "mp216",
28951 "mp217",
28952 "mp218",
28953 "mp219",
28954 "mp220",
28955 "mp221",
28956 "mp222",
28957 "mp223",
28958 "mp224",
28959 "mp225",
28960 "mp226",
28961 "mp227",
28962 "mp228",
28963 "mp229",
28964 "mp230",
28965 "mp231",
28966 "mp232",
28967 "mp233",
28968 "mp234",
28969 "mp235",
28970 "mp236",
28971 "mp237",
28972 "mp238",
28973 "mp239",
28974 "mp240",
28975 "mp241",
28976 "mp242",
28977 "mp243",
28978 "mp244",
28979 "mp245",
28980 "mp246",
28981 "mp247",
28982 "mp248",
28983 "mp249",
28984 "mp250",
28985 "mp251",
28986 "mp252",
28987 "mp253",
28988 "mp254",
28989 "mp255"
28990 ],
28991 "type" : "string"
7aacca6f 28992 }
44660702 28993 }
7aacca6f 28994 },
56122987
DM
28995 "permissions" : {
28996 "check" : [
4d47f125 28997 "and",
56122987 28998 [
4d47f125
TL
28999 "perm",
29000 "/vms/{vmid}",
29001 [
29002 "VM.Config.Disk"
29003 ]
29004 ],
29005 [
29006 "perm",
29007 "/storage/{storage}",
29008 [
29009 "Datastore.AllocateSpace"
29010 ]
56122987 29011 ]
4d47f125
TL
29012 ],
29013 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
29014 },
29015 "protected" : 1,
29016 "proxyto" : "node",
29017 "returns" : {
29018 "type" : "string"
29019 }
29020 }
29021 },
29022 "leaf" : 1,
29023 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
29024 "text" : "move_volume"
1c532546
TL
29025 },
29026 {
29027 "info" : {
29028 "GET" : {
e9cd3bd4 29029 "allowtoken" : 1,
1c532546
TL
29030 "description" : "Get container configuration, including pending changes.",
29031 "method" : "GET",
29032 "name" : "vm_pending",
29033 "parameters" : {
29034 "additionalProperties" : 0,
29035 "properties" : {
29036 "node" : {
29037 "description" : "The cluster node name.",
29038 "format" : "pve-node",
29039 "type" : "string",
29040 "typetext" : "<string>"
29041 },
29042 "vmid" : {
29043 "description" : "The (unique) ID of the VM.",
29044 "format" : "pve-vmid",
29045 "minimum" : 1,
29046 "type" : "integer",
29047 "typetext" : "<integer> (1 - N)"
29048 }
29049 }
29050 },
29051 "permissions" : {
29052 "check" : [
29053 "perm",
29054 "/vms/{vmid}",
29055 [
29056 "VM.Audit"
29057 ]
29058 ]
29059 },
29060 "proxyto" : "node",
29061 "returns" : {
29062 "items" : {
29063 "properties" : {
29064 "delete" : {
29065 "description" : "Indicates a pending delete request if present and not 0.",
29066 "maximum" : 2,
29067 "minimum" : 0,
29068 "optional" : 1,
29069 "type" : "integer"
29070 },
29071 "key" : {
29072 "description" : "Configuration option name.",
29073 "type" : "string"
29074 },
29075 "pending" : {
29076 "description" : "Pending value.",
29077 "optional" : 1,
29078 "type" : "string"
29079 },
29080 "value" : {
29081 "description" : "Current value.",
29082 "optional" : 1,
29083 "type" : "string"
29084 }
29085 },
29086 "type" : "object"
29087 },
29088 "type" : "array"
29089 }
29090 }
29091 },
29092 "leaf" : 1,
29093 "path" : "/nodes/{node}/lxc/{vmid}/pending",
29094 "text" : "pending"
4d47f125
TL
29095 }
29096 ],
29097 "info" : {
29098 "DELETE" : {
e9cd3bd4 29099 "allowtoken" : 1,
4d47f125
TL
29100 "description" : "Destroy the container (also delete all uses files).",
29101 "method" : "DELETE",
29102 "name" : "destroy_vm",
29103 "parameters" : {
29104 "additionalProperties" : 0,
29105 "properties" : {
d2656385
TL
29106 "destroy-unreferenced-disks" : {
29107 "description" : "If set, destroy additionally all disks with the VMID from all enabled storages which are not referenced in the config.",
29108 "optional" : 1,
29109 "type" : "boolean",
29110 "typetext" : "<boolean>"
29111 },
c5aa7e14
TL
29112 "force" : {
29113 "default" : 0,
29114 "description" : "Force destroy, even if running.",
29115 "optional" : 1,
29116 "type" : "boolean",
29117 "typetext" : "<boolean>"
29118 },
4d47f125
TL
29119 "node" : {
29120 "description" : "The cluster node name.",
29121 "format" : "pve-node",
29122 "type" : "string",
29123 "typetext" : "<string>"
29124 },
1c532546 29125 "purge" : {
c5aa7e14
TL
29126 "default" : 0,
29127 "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
29128 "optional" : 1,
29129 "type" : "boolean",
29130 "typetext" : "<boolean>"
29131 },
4d47f125
TL
29132 "vmid" : {
29133 "description" : "The (unique) ID of the VM.",
29134 "format" : "pve-vmid",
29135 "minimum" : 1,
29136 "type" : "integer",
29137 "typetext" : "<integer> (1 - N)"
29138 }
29139 }
29140 },
29141 "permissions" : {
29142 "check" : [
29143 "perm",
29144 "/vms/{vmid}",
29145 [
29146 "VM.Allocate"
29147 ]
29148 ]
29149 },
29150 "protected" : 1,
29151 "proxyto" : "node",
29152 "returns" : {
29153 "type" : "string"
29154 }
29155 },
29156 "GET" : {
e9cd3bd4 29157 "allowtoken" : 1,
4d47f125
TL
29158 "description" : "Directory index",
29159 "method" : "GET",
29160 "name" : "vmdiridx",
29161 "parameters" : {
29162 "additionalProperties" : 0,
29163 "properties" : {
29164 "node" : {
29165 "description" : "The cluster node name.",
29166 "format" : "pve-node",
29167 "type" : "string",
29168 "typetext" : "<string>"
56122987 29169 },
4d47f125
TL
29170 "vmid" : {
29171 "description" : "The (unique) ID of the VM.",
29172 "format" : "pve-vmid",
29173 "minimum" : 1,
29174 "type" : "integer",
29175 "typetext" : "<integer> (1 - N)"
56122987
DM
29176 }
29177 }
29178 },
4d47f125
TL
29179 "permissions" : {
29180 "user" : "all"
29181 },
29182 "proxyto" : "node",
29183 "returns" : {
29184 "items" : {
29185 "properties" : {
29186 "subdir" : {
29187 "type" : "string"
35a75dd3
DM
29188 }
29189 },
4d47f125
TL
29190 "type" : "object"
29191 },
29192 "links" : [
29193 {
29194 "href" : "{subdir}",
29195 "rel" : "child"
35a75dd3 29196 }
4d47f125
TL
29197 ],
29198 "type" : "array"
29199 }
29200 }
29201 },
29202 "leaf" : 0,
29203 "path" : "/nodes/{node}/lxc/{vmid}",
29204 "text" : "{vmid}"
29205 }
29206 ],
29207 "info" : {
29208 "GET" : {
e9cd3bd4 29209 "allowtoken" : 1,
4d47f125
TL
29210 "description" : "LXC container index (per node).",
29211 "method" : "GET",
29212 "name" : "vmlist",
29213 "parameters" : {
29214 "additionalProperties" : 0,
29215 "properties" : {
29216 "node" : {
29217 "description" : "The cluster node name.",
29218 "format" : "pve-node",
29219 "type" : "string",
29220 "typetext" : "<string>"
29221 }
29222 }
29223 },
29224 "permissions" : {
29225 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
29226 "user" : "all"
29227 },
29228 "protected" : 1,
29229 "proxyto" : "node",
29230 "returns" : {
29231 "items" : {
29232 "properties" : {
29233 "cpus" : {
29234 "description" : "Maximum usable CPUs.",
29235 "optional" : 1,
29236 "type" : "number"
29237 },
95895385
TL
29238 "lock" : {
29239 "description" : "The current config lock, if any.",
29240 "optional" : 1,
29241 "type" : "string"
29242 },
4d47f125
TL
29243 "maxdisk" : {
29244 "description" : "Root disk size in bytes.",
29245 "optional" : 1,
29246 "renderer" : "bytes",
29247 "type" : "integer"
29248 },
29249 "maxmem" : {
29250 "description" : "Maximum memory in bytes.",
29251 "optional" : 1,
29252 "renderer" : "bytes",
29253 "type" : "integer"
29254 },
29255 "maxswap" : {
29256 "description" : "Maximum SWAP memory in bytes.",
29257 "optional" : 1,
29258 "renderer" : "bytes",
29259 "type" : "integer"
29260 },
29261 "name" : {
29262 "description" : "Container name.",
29263 "optional" : 1,
29264 "type" : "string"
29265 },
29266 "status" : {
29267 "description" : "LXC Container status.",
29268 "enum" : [
29269 "stopped",
29270 "running"
29271 ],
29272 "type" : "string"
29273 },
5c1699e5
TL
29274 "tags" : {
29275 "description" : "The current configured tags, if any.",
29276 "optional" : 1,
29277 "type" : "string"
29278 },
4d47f125
TL
29279 "uptime" : {
29280 "description" : "Uptime.",
29281 "optional" : 1,
29282 "renderer" : "duration",
29283 "type" : "integer"
29284 },
29285 "vmid" : {
29286 "description" : "The (unique) ID of the VM.",
29287 "format" : "pve-vmid",
29288 "minimum" : 1,
29289 "type" : "integer"
35a75dd3
DM
29290 }
29291 },
4d47f125 29292 "type" : "object"
35a75dd3 29293 },
4d47f125
TL
29294 "links" : [
29295 {
29296 "href" : "{vmid}",
29297 "rel" : "child"
29298 }
29299 ],
29300 "type" : "array"
29301 }
29302 },
29303 "POST" : {
e9cd3bd4 29304 "allowtoken" : 1,
4d47f125
TL
29305 "description" : "Create or restore a container.",
29306 "method" : "POST",
29307 "name" : "create_vm",
29308 "parameters" : {
29309 "additionalProperties" : 0,
29310 "properties" : {
29311 "arch" : {
29312 "default" : "amd64",
29313 "description" : "OS architecture type.",
29314 "enum" : [
29315 "amd64",
29316 "i386",
29317 "arm64",
29318 "armhf"
29319 ],
29320 "optional" : 1,
29321 "type" : "string"
29322 },
29323 "bwlimit" : {
95895385
TL
29324 "default" : "restore limit from datacenter or storage config",
29325 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
29326 "minimum" : "0",
29327 "optional" : 1,
29328 "type" : "number",
29329 "typetext" : "<number> (0 - N)"
29330 },
29331 "cmode" : {
29332 "default" : "tty",
29333 "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).",
29334 "enum" : [
29335 "shell",
29336 "console",
29337 "tty"
29338 ],
29339 "optional" : 1,
29340 "type" : "string"
29341 },
29342 "console" : {
29343 "default" : 1,
29344 "description" : "Attach a console device (/dev/console) to the container.",
29345 "optional" : 1,
29346 "type" : "boolean",
29347 "typetext" : "<boolean>"
29348 },
29349 "cores" : {
29350 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 29351 "maximum" : 8192,
4d47f125
TL
29352 "minimum" : 1,
29353 "optional" : 1,
29354 "type" : "integer",
4772952b 29355 "typetext" : "<integer> (1 - 8192)"
4d47f125
TL
29356 },
29357 "cpulimit" : {
29358 "default" : 0,
29359 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
4772952b 29360 "maximum" : 8192,
4d47f125
TL
29361 "minimum" : 0,
29362 "optional" : 1,
29363 "type" : "number",
4772952b 29364 "typetext" : "<number> (0 - 8192)"
4d47f125
TL
29365 },
29366 "cpuunits" : {
29367 "default" : 1024,
29368 "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.",
29369 "maximum" : 500000,
29370 "minimum" : 0,
29371 "optional" : 1,
29372 "type" : "integer",
29373 "typetext" : "<integer> (0 - 500000)"
29374 },
739d4d64
TL
29375 "debug" : {
29376 "default" : 0,
29377 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
29378 "optional" : 1,
29379 "type" : "boolean",
29380 "typetext" : "<boolean>"
29381 },
4d47f125 29382 "description" : {
8f4d9c87
TL
29383 "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
29384 "maxLength" : 8192,
4d47f125
TL
29385 "optional" : 1,
29386 "type" : "string",
29387 "typetext" : "<string>"
29388 },
29389 "features" : {
29390 "description" : "Allow containers access to advanced features.",
29391 "format" : {
c5aa7e14
TL
29392 "force_rw_sys" : {
29393 "default" : 0,
29394 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
29395 "optional" : 1,
29396 "type" : "boolean"
29397 },
e2d681b3
TL
29398 "fuse" : {
29399 "default" : 0,
29400 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
29401 "optional" : 1,
29402 "type" : "boolean"
29403 },
4d47f125
TL
29404 "keyctl" : {
29405 "default" : 0,
29406 "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.",
29407 "optional" : 1,
29408 "type" : "boolean"
7aacca6f 29409 },
c5aa7e14
TL
29410 "mknod" : {
29411 "default" : 0,
29412 "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.",
29413 "optional" : 1,
29414 "type" : "boolean"
29415 },
4d47f125
TL
29416 "mount" : {
29417 "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.",
29418 "format_description" : "fstype;fstype;...",
29419 "optional" : 1,
95895385 29420 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 29421 "type" : "string"
56122987 29422 },
4d47f125
TL
29423 "nesting" : {
29424 "default" : 0,
29425 "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.",
29426 "optional" : 1,
29427 "type" : "boolean"
44660702 29428 }
4d47f125
TL
29429 },
29430 "optional" : 1,
29431 "type" : "string",
c5aa7e14 29432 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 29433 },
4d47f125
TL
29434 "force" : {
29435 "description" : "Allow to overwrite existing container.",
29436 "optional" : 1,
29437 "type" : "boolean",
29438 "typetext" : "<boolean>"
29439 },
5f26e15b
TL
29440 "hookscript" : {
29441 "description" : "Script that will be exectued during various steps in the containers lifetime.",
29442 "format" : "pve-volume-id",
29443 "optional" : 1,
29444 "type" : "string",
29445 "typetext" : "<string>"
29446 },
4d47f125
TL
29447 "hostname" : {
29448 "description" : "Set a host name for the container.",
29449 "format" : "dns-name",
29450 "maxLength" : 255,
29451 "optional" : 1,
29452 "type" : "string",
29453 "typetext" : "<string>"
29454 },
29455 "ignore-unpack-errors" : {
29456 "description" : "Ignore errors when extracting the template.",
29457 "optional" : 1,
29458 "type" : "boolean",
29459 "typetext" : "<boolean>"
29460 },
29461 "lock" : {
29462 "description" : "Lock/unlock the VM.",
29463 "enum" : [
29464 "backup",
bb4c8cf8 29465 "create",
1c532546 29466 "destroyed",
4d47f125 29467 "disk",
bb4c8cf8 29468 "fstrim",
4d47f125
TL
29469 "migrate",
29470 "mounted",
29471 "rollback",
29472 "snapshot",
29473 "snapshot-delete"
29474 ],
29475 "optional" : 1,
29476 "type" : "string"
29477 },
29478 "memory" : {
29479 "default" : 512,
29480 "description" : "Amount of RAM for the VM in MB.",
29481 "minimum" : 16,
29482 "optional" : 1,
29483 "type" : "integer",
29484 "typetext" : "<integer> (16 - N)"
29485 },
29486 "mp[n]" : {
d2656385 29487 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
29488 "format" : {
29489 "acl" : {
29490 "description" : "Explicitly enable or disable ACL support.",
29491 "optional" : 1,
29492 "type" : "boolean"
56122987 29493 },
4d47f125
TL
29494 "backup" : {
29495 "description" : "Whether to include the mount point in backups.",
29496 "optional" : 1,
29497 "type" : "boolean",
29498 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 29499 },
7cbed89a
TL
29500 "mountoptions" : {
29501 "description" : "Extra mount options for rootfs/mps.",
29502 "format_description" : "opt[;opt...]",
29503 "optional" : 1,
29504 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
29505 "type" : "string"
29506 },
4d47f125
TL
29507 "mp" : {
29508 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
29509 "format" : "pve-lxc-mp-string",
29510 "format_description" : "Path",
29511 "type" : "string",
29512 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 29513 },
4d47f125
TL
29514 "quota" : {
29515 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
29516 "optional" : 1,
29517 "type" : "boolean"
29518 },
29519 "replicate" : {
29520 "default" : 1,
29521 "description" : "Will include this volume to a storage replica job.",
29522 "optional" : 1,
29523 "type" : "boolean"
29524 },
29525 "ro" : {
29526 "description" : "Read-only mount point",
29527 "optional" : 1,
29528 "type" : "boolean"
29529 },
29530 "shared" : {
29531 "default" : 0,
29532 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
29533 "optional" : 1,
29534 "type" : "boolean",
29535 "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 29536 },
4d47f125
TL
29537 "size" : {
29538 "description" : "Volume size (read only value).",
29539 "format" : "disk-size",
29540 "format_description" : "DiskSize",
29541 "optional" : 1,
29542 "type" : "string"
29543 },
29544 "volume" : {
29545 "default_key" : 1,
29546 "description" : "Volume, device or directory to mount into the container.",
29547 "format" : "pve-lxc-mp-string",
29548 "format_description" : "volume",
44660702
DM
29549 "type" : "string"
29550 }
4d47f125
TL
29551 },
29552 "optional" : 1,
29553 "type" : "string",
7cbed89a 29554 "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 29555 },
4d47f125
TL
29556 "nameserver" : {
29557 "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.",
d2656385 29558 "format" : "lxc-ip-with-ll-iface-list",
4d47f125
TL
29559 "optional" : 1,
29560 "type" : "string",
29561 "typetext" : "<string>"
29562 },
29563 "net[n]" : {
29564 "description" : "Specifies network interfaces for the container.",
29565 "format" : {
29566 "bridge" : {
29567 "description" : "Bridge to attach the network device to.",
29568 "format_description" : "bridge",
29569 "optional" : 1,
29570 "pattern" : "[-_.\\w\\d]+",
29571 "type" : "string"
56122987 29572 },
4d47f125
TL
29573 "firewall" : {
29574 "description" : "Controls whether this interface's firewall rules should be used.",
29575 "optional" : 1,
29576 "type" : "boolean"
56122987 29577 },
4d47f125
TL
29578 "gw" : {
29579 "description" : "Default gateway for IPv4 traffic.",
29580 "format" : "ipv4",
29581 "format_description" : "GatewayIPv4",
29582 "optional" : 1,
29583 "type" : "string"
29584 },
29585 "gw6" : {
29586 "description" : "Default gateway for IPv6 traffic.",
29587 "format" : "ipv6",
29588 "format_description" : "GatewayIPv6",
29589 "optional" : 1,
29590 "type" : "string"
29591 },
29592 "hwaddr" : {
29593 "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 29594 "format" : "mac-addr",
4d47f125
TL
29595 "format_description" : "XX:XX:XX:XX:XX:XX",
29596 "optional" : 1,
95895385
TL
29597 "type" : "string",
29598 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
29599 },
29600 "ip" : {
29601 "description" : "IPv4 address in CIDR format.",
29602 "format" : "pve-ipv4-config",
29603 "format_description" : "(IPv4/CIDR|dhcp|manual)",
29604 "optional" : 1,
29605 "type" : "string"
29606 },
29607 "ip6" : {
29608 "description" : "IPv6 address in CIDR format.",
29609 "format" : "pve-ipv6-config",
29610 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
29611 "optional" : 1,
29612 "type" : "string"
29613 },
29614 "mtu" : {
29615 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
29616 "minimum" : 64,
29617 "optional" : 1,
29618 "type" : "integer"
29619 },
29620 "name" : {
29621 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
29622 "format_description" : "string",
29623 "pattern" : "[-_.\\w\\d]+",
29624 "type" : "string"
29625 },
29626 "rate" : {
29627 "description" : "Apply rate limiting to the interface",
29628 "format_description" : "mbps",
29629 "optional" : 1,
29630 "type" : "number"
29631 },
29632 "tag" : {
29633 "description" : "VLAN tag for this interface.",
29634 "maximum" : 4094,
29635 "minimum" : 1,
29636 "optional" : 1,
29637 "type" : "integer"
29638 },
29639 "trunks" : {
29640 "description" : "VLAN ids to pass through the interface",
29641 "format_description" : "vlanid[;vlanid...]",
29642 "optional" : 1,
29643 "pattern" : "(?^:\\d+(?:;\\d+)*)",
29644 "type" : "string"
29645 },
29646 "type" : {
29647 "description" : "Network interface type.",
29648 "enum" : [
29649 "veth"
29650 ],
29651 "optional" : 1,
29652 "type" : "string"
7aacca6f 29653 }
4d47f125
TL
29654 },
29655 "optional" : 1,
29656 "type" : "string",
29657 "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 29658 },
4d47f125
TL
29659 "node" : {
29660 "description" : "The cluster node name.",
29661 "format" : "pve-node",
29662 "type" : "string",
29663 "typetext" : "<string>"
29664 },
29665 "onboot" : {
29666 "default" : 0,
29667 "description" : "Specifies whether a VM will be started during system bootup.",
29668 "optional" : 1,
29669 "type" : "boolean",
29670 "typetext" : "<boolean>"
29671 },
29672 "ostemplate" : {
29673 "description" : "The OS template or backup file.",
29674 "maxLength" : 255,
29675 "type" : "string",
29676 "typetext" : "<string>"
29677 },
29678 "ostype" : {
29679 "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.",
29680 "enum" : [
29681 "debian",
d2656385 29682 "devuan",
4d47f125
TL
29683 "ubuntu",
29684 "centos",
29685 "fedora",
29686 "opensuse",
29687 "archlinux",
29688 "alpine",
29689 "gentoo",
29690 "unmanaged"
29691 ],
29692 "optional" : 1,
29693 "type" : "string"
29694 },
29695 "password" : {
29696 "description" : "Sets root password inside container.",
29697 "minLength" : 5,
29698 "optional" : 1,
29699 "type" : "string",
29700 "typetext" : "<string>"
29701 },
29702 "pool" : {
29703 "description" : "Add the VM to the specified pool.",
29704 "format" : "pve-poolid",
29705 "optional" : 1,
29706 "type" : "string",
29707 "typetext" : "<string>"
29708 },
29709 "protection" : {
29710 "default" : 0,
29711 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
29712 "optional" : 1,
29713 "type" : "boolean",
29714 "typetext" : "<boolean>"
29715 },
29716 "restore" : {
29717 "description" : "Mark this as restore task.",
29718 "optional" : 1,
29719 "type" : "boolean",
29720 "typetext" : "<boolean>"
29721 },
29722 "rootfs" : {
29723 "description" : "Use volume as container root.",
29724 "format" : {
29725 "acl" : {
29726 "description" : "Explicitly enable or disable ACL support.",
29727 "optional" : 1,
29728 "type" : "boolean"
56122987 29729 },
7cbed89a
TL
29730 "mountoptions" : {
29731 "description" : "Extra mount options for rootfs/mps.",
29732 "format_description" : "opt[;opt...]",
29733 "optional" : 1,
29734 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
29735 "type" : "string"
29736 },
4d47f125
TL
29737 "quota" : {
29738 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
29739 "optional" : 1,
29740 "type" : "boolean"
7aacca6f 29741 },
4d47f125
TL
29742 "replicate" : {
29743 "default" : 1,
29744 "description" : "Will include this volume to a storage replica job.",
29745 "optional" : 1,
29746 "type" : "boolean"
29747 },
29748 "ro" : {
29749 "description" : "Read-only mount point",
29750 "optional" : 1,
29751 "type" : "boolean"
29752 },
29753 "shared" : {
29754 "default" : 0,
29755 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
29756 "optional" : 1,
29757 "type" : "boolean",
29758 "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!"
29759 },
29760 "size" : {
29761 "description" : "Volume size (read only value).",
29762 "format" : "disk-size",
29763 "format_description" : "DiskSize",
29764 "optional" : 1,
29765 "type" : "string"
29766 },
29767 "volume" : {
29768 "default_key" : 1,
29769 "description" : "Volume, device or directory to mount into the container.",
29770 "format" : "pve-lxc-mp-string",
29771 "format_description" : "volume",
29772 "type" : "string"
56122987 29773 }
4d47f125
TL
29774 },
29775 "optional" : 1,
29776 "type" : "string",
7cbed89a 29777 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 29778 },
4d47f125
TL
29779 "searchdomain" : {
29780 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
29781 "format" : "dns-name-list",
29782 "optional" : 1,
29783 "type" : "string",
29784 "typetext" : "<string>"
29785 },
29786 "ssh-public-keys" : {
29787 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
29788 "optional" : 1,
29789 "type" : "string",
29790 "typetext" : "<string>"
29791 },
29792 "start" : {
29793 "default" : 0,
29794 "description" : "Start the CT after its creation finished successfully.",
29795 "optional" : 1,
29796 "type" : "boolean",
29797 "typetext" : "<boolean>"
29798 },
29799 "startup" : {
29800 "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.",
29801 "format" : "pve-startup-order",
29802 "optional" : 1,
29803 "type" : "string",
29804 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
29805 },
29806 "storage" : {
29807 "default" : "local",
29808 "description" : "Default Storage.",
29809 "format" : "pve-storage-id",
29810 "optional" : 1,
29811 "type" : "string",
29812 "typetext" : "<string>"
29813 },
29814 "swap" : {
29815 "default" : 512,
29816 "description" : "Amount of SWAP for the VM in MB.",
29817 "minimum" : 0,
29818 "optional" : 1,
29819 "type" : "integer",
29820 "typetext" : "<integer> (0 - N)"
29821 },
5c1699e5
TL
29822 "tags" : {
29823 "description" : "Tags of the Container. This is only meta information.",
29824 "format" : "pve-tag-list",
29825 "optional" : 1,
29826 "type" : "string",
29827 "typetext" : "<string>"
29828 },
4d47f125
TL
29829 "template" : {
29830 "default" : 0,
29831 "description" : "Enable/disable Template.",
29832 "optional" : 1,
29833 "type" : "boolean",
29834 "typetext" : "<boolean>"
29835 },
04d22a9f
TL
29836 "timezone" : {
29837 "description" : "Time zone to use in the container. If option isn't set, then nothing will be done. Can be set to 'host' to match the host time zone, or an arbitrary time zone option from /usr/share/zoneinfo/zone.tab",
29838 "format" : "pve-ct-timezone",
29839 "optional" : 1,
29840 "type" : "string",
29841 "typetext" : "<string>"
29842 },
4d47f125
TL
29843 "tty" : {
29844 "default" : 2,
29845 "description" : "Specify the number of tty available to the container",
29846 "maximum" : 6,
29847 "minimum" : 0,
29848 "optional" : 1,
29849 "type" : "integer",
29850 "typetext" : "<integer> (0 - 6)"
29851 },
95895385
TL
29852 "unique" : {
29853 "description" : "Assign a unique random ethernet address.",
29854 "optional" : 1,
29855 "requires" : "restore",
29856 "type" : "boolean",
29857 "typetext" : "<boolean>"
29858 },
4d47f125
TL
29859 "unprivileged" : {
29860 "default" : 0,
29861 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
29862 "optional" : 1,
29863 "type" : "boolean",
29864 "typetext" : "<boolean>"
29865 },
29866 "unused[n]" : {
29867 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
29868 "format" : {
29869 "volume" : {
29870 "default_key" : 1,
29871 "description" : "The volume that is not used currently.",
29872 "format" : "pve-volume-id",
29873 "format_description" : "volume",
29874 "type" : "string"
29875 }
29876 },
4d47f125
TL
29877 "optional" : 1,
29878 "type" : "string",
c5aa7e14 29879 "typetext" : "[volume=]<volume>"
4d47f125
TL
29880 },
29881 "vmid" : {
29882 "description" : "The (unique) ID of the VM.",
29883 "format" : "pve-vmid",
29884 "minimum" : 1,
29885 "type" : "integer",
29886 "typetext" : "<integer> (1 - N)"
29887 }
29888 }
29889 },
29890 "permissions" : {
29891 "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.",
29892 "user" : "all"
29893 },
29894 "protected" : 1,
29895 "proxyto" : "node",
29896 "returns" : {
29897 "type" : "string"
29898 }
29899 }
29900 },
29901 "leaf" : 0,
29902 "path" : "/nodes/{node}/lxc",
29903 "text" : "lxc"
29904 },
29905 {
29906 "children" : [
29907 {
29908 "children" : [
56122987 29909 {
4d47f125
TL
29910 "children" : [
29911 {
29912 "info" : {
29913 "POST" : {
e9cd3bd4 29914 "allowtoken" : 1,
4d47f125
TL
29915 "description" : "ceph osd in",
29916 "method" : "POST",
29917 "name" : "in",
29918 "parameters" : {
29919 "additionalProperties" : 0,
29920 "properties" : {
29921 "node" : {
29922 "description" : "The cluster node name.",
29923 "format" : "pve-node",
29924 "type" : "string",
29925 "typetext" : "<string>"
29926 },
29927 "osdid" : {
29928 "description" : "OSD ID",
29929 "type" : "integer",
29930 "typetext" : "<integer>"
29931 }
29932 }
27a7acb2 29933 },
4d47f125
TL
29934 "permissions" : {
29935 "check" : [
29936 "perm",
29937 "/",
29938 [
29939 "Sys.Modify"
29940 ]
29941 ]
44660702 29942 },
4d47f125
TL
29943 "protected" : 1,
29944 "proxyto" : "node",
29945 "returns" : {
29946 "type" : "null"
7aacca6f
DM
29947 }
29948 }
56122987 29949 },
4d47f125
TL
29950 "leaf" : 1,
29951 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
29952 "text" : "in"
29953 },
29954 {
29955 "info" : {
29956 "POST" : {
e9cd3bd4 29957 "allowtoken" : 1,
4d47f125
TL
29958 "description" : "ceph osd out",
29959 "method" : "POST",
29960 "name" : "out",
29961 "parameters" : {
29962 "additionalProperties" : 0,
29963 "properties" : {
29964 "node" : {
29965 "description" : "The cluster node name.",
29966 "format" : "pve-node",
29967 "type" : "string",
29968 "typetext" : "<string>"
29969 },
29970 "osdid" : {
29971 "description" : "OSD ID",
29972 "type" : "integer",
29973 "typetext" : "<integer>"
29974 }
29975 }
29976 },
29977 "permissions" : {
29978 "check" : [
56122987 29979 "perm",
4d47f125 29980 "/",
56122987 29981 [
4d47f125 29982 "Sys.Modify"
56122987 29983 ]
56122987 29984 ]
44660702 29985 },
4d47f125
TL
29986 "protected" : 1,
29987 "proxyto" : "node",
29988 "returns" : {
29989 "type" : "null"
56122987 29990 }
44660702 29991 }
56122987 29992 },
4d47f125
TL
29993 "leaf" : 1,
29994 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
29995 "text" : "out"
7cbed89a
TL
29996 },
29997 {
29998 "info" : {
29999 "POST" : {
e9cd3bd4 30000 "allowtoken" : 1,
7cbed89a
TL
30001 "description" : "Instruct the OSD to scrub.",
30002 "method" : "POST",
30003 "name" : "scrub",
30004 "parameters" : {
30005 "additionalProperties" : 0,
30006 "properties" : {
30007 "deep" : {
30008 "default" : 0,
30009 "description" : "If set, instructs a deep scrub instead of a normal one.",
30010 "optional" : 1,
30011 "type" : "boolean",
30012 "typetext" : "<boolean>"
30013 },
30014 "node" : {
30015 "description" : "The cluster node name.",
30016 "format" : "pve-node",
30017 "type" : "string",
30018 "typetext" : "<string>"
30019 },
30020 "osdid" : {
30021 "description" : "OSD ID",
30022 "type" : "integer",
30023 "typetext" : "<integer>"
30024 }
30025 }
30026 },
30027 "permissions" : {
30028 "check" : [
30029 "perm",
30030 "/",
30031 [
30032 "Sys.Modify"
30033 ]
30034 ]
30035 },
30036 "protected" : 1,
30037 "proxyto" : "node",
30038 "returns" : {
30039 "type" : "null"
30040 }
30041 }
30042 },
30043 "leaf" : 1,
30044 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
30045 "text" : "scrub"
56122987 30046 }
4d47f125 30047 ],
27a7acb2 30048 "info" : {
4d47f125 30049 "DELETE" : {
e9cd3bd4 30050 "allowtoken" : 1,
4d47f125
TL
30051 "description" : "Destroy OSD",
30052 "method" : "DELETE",
30053 "name" : "destroyosd",
27a7acb2
DM
30054 "parameters" : {
30055 "additionalProperties" : 0,
30056 "properties" : {
4d47f125 30057 "cleanup" : {
27a7acb2 30058 "default" : 0,
4d47f125 30059 "description" : "If set, we remove partition table entries.",
27a7acb2 30060 "optional" : 1,
4d47f125
TL
30061 "type" : "boolean",
30062 "typetext" : "<boolean>"
30063 },
30064 "node" : {
30065 "description" : "The cluster node name.",
30066 "format" : "pve-node",
30067 "type" : "string",
30068 "typetext" : "<string>"
30069 },
30070 "osdid" : {
30071 "description" : "OSD ID",
30072 "type" : "integer",
30073 "typetext" : "<integer>"
30074 }
30075 }
27a7acb2
DM
30076 },
30077 "protected" : 1,
30078 "proxyto" : "node",
30079 "returns" : {
30080 "type" : "string"
30081 }
30082 }
30083 },
4d47f125
TL
30084 "leaf" : 0,
30085 "path" : "/nodes/{node}/ceph/osd/{osdid}",
30086 "text" : "{osdid}"
56122987
DM
30087 }
30088 ],
30089 "info" : {
4d47f125 30090 "GET" : {
e9cd3bd4 30091 "allowtoken" : 1,
4d47f125
TL
30092 "description" : "Get Ceph osd list/tree.",
30093 "method" : "GET",
30094 "name" : "index",
44660702
DM
30095 "parameters" : {
30096 "additionalProperties" : 0,
30097 "properties" : {
30098 "node" : {
30099 "description" : "The cluster node name.",
30100 "format" : "pve-node",
013dc89f
DM
30101 "type" : "string",
30102 "typetext" : "<string>"
44660702
DM
30103 }
30104 }
30105 },
7aacca6f
DM
30106 "permissions" : {
30107 "check" : [
30108 "perm",
4d47f125 30109 "/",
7aacca6f 30110 [
4d47f125
TL
30111 "Sys.Audit",
30112 "Datastore.Audit"
30113 ],
30114 "any",
30115 1
30116 ]
30117 },
30118 "protected" : 1,
30119 "proxyto" : "node",
30120 "returns" : {
30121 "type" : "object"
30122 }
30123 },
30124 "POST" : {
e9cd3bd4 30125 "allowtoken" : 1,
4d47f125
TL
30126 "description" : "Create OSD",
30127 "method" : "POST",
30128 "name" : "createosd",
30129 "parameters" : {
30130 "additionalProperties" : 0,
30131 "properties" : {
739d4d64
TL
30132 "crush-device-class" : {
30133 "description" : "Set the device class of the OSD in crush.",
30134 "optional" : 1,
30135 "type" : "string",
30136 "typetext" : "<string>"
30137 },
1e3f8156
TL
30138 "db_dev" : {
30139 "description" : "Block device name for block.db.",
44660702 30140 "optional" : 1,
4bd7df8b 30141 "type" : "string",
4d47f125 30142 "typetext" : "<string>"
44660702 30143 },
0695fdaf 30144 "db_dev_size" : {
1e3f8156
TL
30145 "default" : "bluestore_block_db_size or 10% of OSD size",
30146 "description" : "Size in GiB for block.db.",
30147 "minimum" : 1,
7aacca6f 30148 "optional" : 1,
1e3f8156
TL
30149 "requires" : "db_dev",
30150 "type" : "number",
30151 "typetext" : "<number> (1 - N)",
30152 "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 30153 },
1e3f8156
TL
30154 "dev" : {
30155 "description" : "Block device name.",
4d47f125
TL
30156 "type" : "string",
30157 "typetext" : "<string>"
5d9c884c 30158 },
1e3f8156
TL
30159 "encrypted" : {
30160 "default" : 0,
30161 "description" : "Enables encryption of the OSD.",
30162 "optional" : 1,
30163 "type" : "boolean",
30164 "typetext" : "<boolean>"
30165 },
4d47f125
TL
30166 "node" : {
30167 "description" : "The cluster node name.",
30168 "format" : "pve-node",
30169 "type" : "string",
30170 "typetext" : "<string>"
7aacca6f 30171 },
4d47f125 30172 "wal_dev" : {
1e3f8156 30173 "description" : "Block device name for block.wal.",
de0983cb 30174 "optional" : 1,
4d47f125
TL
30175 "type" : "string",
30176 "typetext" : "<string>"
1e3f8156 30177 },
0695fdaf 30178 "wal_dev_size" : {
1e3f8156
TL
30179 "default" : "bluestore_block_wal_size or 1% of OSD size",
30180 "description" : "Size in GiB for block.wal.",
30181 "minimum" : 0.5,
30182 "optional" : 1,
30183 "requires" : "wal_dev",
30184 "type" : "number",
30185 "typetext" : "<number> (0.5 - N)",
30186 "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
30187 }
30188 }
30189 },
30190 "protected" : 1,
30191 "proxyto" : "node",
30192 "returns" : {
30193 "type" : "string"
30194 }
30195 }
30196 },
30197 "leaf" : 0,
30198 "path" : "/nodes/{node}/ceph/osd",
30199 "text" : "osd"
30200 },
e2d681b3
TL
30201 {
30202 "children" : [
30203 {
30204 "info" : {
30205 "DELETE" : {
e9cd3bd4 30206 "allowtoken" : 1,
e2d681b3
TL
30207 "description" : "Destroy Ceph Metadata Server",
30208 "method" : "DELETE",
30209 "name" : "destroymds",
30210 "parameters" : {
30211 "additionalProperties" : 0,
30212 "properties" : {
30213 "name" : {
30214 "description" : "The name (ID) of the mds",
30215 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30216 "type" : "string"
30217 },
30218 "node" : {
30219 "description" : "The cluster node name.",
30220 "format" : "pve-node",
30221 "type" : "string",
30222 "typetext" : "<string>"
30223 }
30224 }
30225 },
30226 "permissions" : {
30227 "check" : [
30228 "perm",
30229 "/",
30230 [
30231 "Sys.Modify"
30232 ]
30233 ]
30234 },
30235 "protected" : 1,
30236 "proxyto" : "node",
30237 "returns" : {
30238 "type" : "string"
30239 }
30240 },
30241 "POST" : {
e9cd3bd4 30242 "allowtoken" : 1,
e2d681b3
TL
30243 "description" : "Create Ceph Metadata Server (MDS)",
30244 "method" : "POST",
30245 "name" : "createmds",
30246 "parameters" : {
30247 "additionalProperties" : 0,
30248 "properties" : {
30249 "hotstandby" : {
30250 "default" : "0",
30251 "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.",
30252 "optional" : 1,
30253 "type" : "boolean",
30254 "typetext" : "<boolean>"
30255 },
30256 "name" : {
30257 "default" : "nodename",
30258 "description" : "The ID for the mds, when omitted the same as the nodename",
c5aa7e14 30259 "maxLength" : 200,
e2d681b3
TL
30260 "optional" : 1,
30261 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30262 "type" : "string"
30263 },
30264 "node" : {
30265 "description" : "The cluster node name.",
30266 "format" : "pve-node",
30267 "type" : "string",
30268 "typetext" : "<string>"
30269 }
30270 }
30271 },
30272 "permissions" : {
30273 "check" : [
30274 "perm",
30275 "/",
30276 [
30277 "Sys.Modify"
30278 ]
30279 ]
30280 },
30281 "protected" : 1,
30282 "proxyto" : "node",
30283 "returns" : {
30284 "type" : "string"
30285 }
30286 }
30287 },
30288 "leaf" : 1,
30289 "path" : "/nodes/{node}/ceph/mds/{name}",
30290 "text" : "{name}"
30291 }
30292 ],
30293 "info" : {
30294 "GET" : {
e9cd3bd4 30295 "allowtoken" : 1,
e2d681b3
TL
30296 "description" : "MDS directory index.",
30297 "method" : "GET",
30298 "name" : "index",
30299 "parameters" : {
30300 "additionalProperties" : 0,
30301 "properties" : {
30302 "node" : {
30303 "description" : "The cluster node name.",
30304 "format" : "pve-node",
30305 "type" : "string",
30306 "typetext" : "<string>"
30307 }
30308 }
30309 },
30310 "permissions" : {
30311 "check" : [
30312 "perm",
30313 "/",
30314 [
30315 "Sys.Audit",
30316 "Datastore.Audit"
30317 ],
30318 "any",
30319 1
30320 ]
30321 },
30322 "protected" : 1,
30323 "proxyto" : "node",
30324 "returns" : {
30325 "items" : {
30326 "properties" : {
30327 "addr" : {
30328 "optional" : 1,
30329 "type" : "string"
30330 },
30331 "host" : {
30332 "optional" : 1,
30333 "type" : "string"
30334 },
30335 "name" : {
30336 "description" : "The name (ID) for the MDS"
30337 },
30338 "rank" : {
30339 "optional" : 1,
30340 "type" : "integer"
30341 },
30342 "standby_replay" : {
30343 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
30344 "optional" : 1,
30345 "type" : "boolean"
30346 },
30347 "state" : {
30348 "description" : "State of the MDS",
30349 "type" : "string"
30350 }
30351 },
30352 "type" : "object"
30353 },
30354 "links" : [
30355 {
30356 "href" : "{name}",
30357 "rel" : "child"
30358 }
30359 ],
30360 "type" : "array"
30361 }
30362 }
30363 },
30364 "leaf" : 0,
30365 "path" : "/nodes/{node}/ceph/mds",
30366 "text" : "mds"
30367 },
30368 {
30369 "children" : [
30370 {
30371 "info" : {
5f26e15b 30372 "DELETE" : {
e9cd3bd4 30373 "allowtoken" : 1,
5f26e15b
TL
30374 "description" : "Destroy Ceph Manager.",
30375 "method" : "DELETE",
30376 "name" : "destroymgr",
e2d681b3
TL
30377 "parameters" : {
30378 "additionalProperties" : 0,
30379 "properties" : {
5f26e15b
TL
30380 "id" : {
30381 "description" : "The ID of the manager",
30382 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30383 "type" : "string"
e2d681b3
TL
30384 },
30385 "node" : {
30386 "description" : "The cluster node name.",
30387 "format" : "pve-node",
30388 "type" : "string",
30389 "typetext" : "<string>"
e2d681b3
TL
30390 }
30391 }
30392 },
30393 "permissions" : {
30394 "check" : [
30395 "perm",
30396 "/",
30397 [
30398 "Sys.Modify"
30399 ]
30400 ]
30401 },
30402 "protected" : 1,
30403 "proxyto" : "node",
30404 "returns" : {
30405 "type" : "string"
30406 }
1e3f8156
TL
30407 },
30408 "POST" : {
e9cd3bd4 30409 "allowtoken" : 1,
1e3f8156
TL
30410 "description" : "Create Ceph Manager",
30411 "method" : "POST",
30412 "name" : "createmgr",
30413 "parameters" : {
30414 "additionalProperties" : 0,
30415 "properties" : {
30416 "id" : {
30417 "description" : "The ID for the manager, when omitted the same as the nodename",
c5aa7e14 30418 "maxLength" : 200,
1e3f8156
TL
30419 "optional" : 1,
30420 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30421 "type" : "string"
30422 },
30423 "node" : {
30424 "description" : "The cluster node name.",
30425 "format" : "pve-node",
30426 "type" : "string",
30427 "typetext" : "<string>"
30428 }
30429 }
30430 },
30431 "permissions" : {
30432 "check" : [
30433 "perm",
30434 "/",
30435 [
30436 "Sys.Modify"
30437 ]
30438 ]
30439 },
30440 "protected" : 1,
30441 "proxyto" : "node",
30442 "returns" : {
30443 "type" : "string"
30444 }
e2d681b3
TL
30445 }
30446 },
30447 "leaf" : 1,
5f26e15b
TL
30448 "path" : "/nodes/{node}/ceph/mgr/{id}",
30449 "text" : "{id}"
e2d681b3
TL
30450 }
30451 ],
30452 "info" : {
1e3f8156 30453 "GET" : {
e9cd3bd4 30454 "allowtoken" : 1,
1e3f8156
TL
30455 "description" : "MGR directory index.",
30456 "method" : "GET",
30457 "name" : "index",
e2d681b3
TL
30458 "parameters" : {
30459 "additionalProperties" : 0,
30460 "properties" : {
30461 "node" : {
30462 "description" : "The cluster node name.",
30463 "format" : "pve-node",
30464 "type" : "string",
30465 "typetext" : "<string>"
30466 }
30467 }
30468 },
30469 "permissions" : {
30470 "check" : [
30471 "perm",
30472 "/",
30473 [
1e3f8156
TL
30474 "Sys.Audit",
30475 "Datastore.Audit"
30476 ],
30477 "any",
30478 1
e2d681b3
TL
30479 ]
30480 },
30481 "protected" : 1,
5f26e15b 30482 "proxyto" : "node",
e2d681b3 30483 "returns" : {
1e3f8156
TL
30484 "items" : {
30485 "properties" : {
30486 "addr" : {
30487 "optional" : 1,
30488 "type" : "string"
30489 },
30490 "host" : {
30491 "optional" : 1,
30492 "type" : "string"
30493 },
30494 "name" : {
30495 "description" : "The name (ID) for the MGR"
30496 },
30497 "state" : {
30498 "description" : "State of the MGR",
30499 "type" : "string"
30500 }
30501 },
30502 "type" : "object"
30503 },
30504 "links" : [
30505 {
30506 "href" : "{name}",
30507 "rel" : "child"
30508 }
30509 ],
30510 "type" : "array"
e2d681b3
TL
30511 }
30512 }
30513 },
30514 "leaf" : 0,
5f26e15b
TL
30515 "path" : "/nodes/{node}/ceph/mgr",
30516 "text" : "mgr"
e2d681b3 30517 },
4d47f125 30518 {
5f26e15b
TL
30519 "children" : [
30520 {
30521 "info" : {
30522 "DELETE" : {
e9cd3bd4 30523 "allowtoken" : 1,
5f26e15b
TL
30524 "description" : "Destroy Ceph Monitor and Manager.",
30525 "method" : "DELETE",
30526 "name" : "destroymon",
30527 "parameters" : {
30528 "additionalProperties" : 0,
30529 "properties" : {
1e3f8156
TL
30530 "monid" : {
30531 "description" : "Monitor ID",
30532 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30533 "type" : "string"
30534 },
30535 "node" : {
30536 "description" : "The cluster node name.",
30537 "format" : "pve-node",
30538 "type" : "string",
30539 "typetext" : "<string>"
30540 }
30541 }
30542 },
30543 "permissions" : {
30544 "check" : [
30545 "perm",
30546 "/",
30547 [
30548 "Sys.Modify"
30549 ]
30550 ]
30551 },
30552 "protected" : 1,
30553 "proxyto" : "node",
30554 "returns" : {
30555 "type" : "string"
30556 }
30557 },
30558 "POST" : {
e9cd3bd4 30559 "allowtoken" : 1,
1e3f8156
TL
30560 "description" : "Create Ceph Monitor and Manager",
30561 "method" : "POST",
30562 "name" : "createmon",
30563 "parameters" : {
30564 "additionalProperties" : 0,
30565 "properties" : {
30566 "mon-address" : {
0695fdaf
TL
30567 "description" : "Overwrites autodetected monitor IP address(es). Must be in the public network(s) of Ceph.",
30568 "format" : "ip-list",
5f26e15b 30569 "optional" : 1,
1e3f8156
TL
30570 "type" : "string",
30571 "typetext" : "<string>"
5f26e15b
TL
30572 },
30573 "monid" : {
1e3f8156 30574 "description" : "The ID for the monitor, when omitted the same as the nodename",
c5aa7e14 30575 "maxLength" : 200,
1e3f8156 30576 "optional" : 1,
5f26e15b
TL
30577 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30578 "type" : "string"
30579 },
30580 "node" : {
30581 "description" : "The cluster node name.",
30582 "format" : "pve-node",
30583 "type" : "string",
30584 "typetext" : "<string>"
30585 }
30586 }
30587 },
30588 "permissions" : {
30589 "check" : [
30590 "perm",
30591 "/",
30592 [
30593 "Sys.Modify"
30594 ]
30595 ]
30596 },
30597 "protected" : 1,
30598 "proxyto" : "node",
30599 "returns" : {
7aacca6f 30600 "type" : "string"
56122987 30601 }
4d47f125 30602 }
56122987 30603 },
5f26e15b
TL
30604 "leaf" : 1,
30605 "path" : "/nodes/{node}/ceph/mon/{monid}",
30606 "text" : "{monid}"
30607 }
30608 ],
30609 "info" : {
30610 "GET" : {
e9cd3bd4 30611 "allowtoken" : 1,
5f26e15b
TL
30612 "description" : "Get Ceph monitor list.",
30613 "method" : "GET",
30614 "name" : "listmon",
30615 "parameters" : {
30616 "additionalProperties" : 0,
30617 "properties" : {
30618 "node" : {
30619 "description" : "The cluster node name.",
30620 "format" : "pve-node",
30621 "type" : "string",
30622 "typetext" : "<string>"
30623 }
30624 }
30625 },
4d47f125
TL
30626 "permissions" : {
30627 "check" : [
30628 "perm",
30629 "/",
30630 [
30631 "Sys.Audit",
30632 "Datastore.Audit"
30633 ],
30634 "any",
30635 1
30636 ]
56122987 30637 },
4d47f125
TL
30638 "protected" : 1,
30639 "proxyto" : "node",
30640 "returns" : {
30641 "items" : {
30642 "properties" : {
5f26e15b 30643 "addr" : {
1e3f8156
TL
30644 "optional" : 1,
30645 "type" : "string"
30646 },
30647 "host" : {
30648 "optional" : 1,
4d47f125
TL
30649 "type" : "string"
30650 },
5f26e15b 30651 "name" : {
4d47f125
TL
30652 "type" : "string"
30653 }
7aacca6f 30654 },
4d47f125
TL
30655 "type" : "object"
30656 },
5f26e15b
TL
30657 "links" : [
30658 {
30659 "href" : "{name}",
30660 "rel" : "child"
30661 }
30662 ],
4d47f125
TL
30663 "type" : "array"
30664 }
4d47f125
TL
30665 }
30666 },
5f26e15b
TL
30667 "leaf" : 0,
30668 "path" : "/nodes/{node}/ceph/mon",
30669 "text" : "mon"
4d47f125
TL
30670 },
30671 {
30672 "children" : [
30673 {
30674 "info" : {
5f26e15b 30675 "POST" : {
e9cd3bd4 30676 "allowtoken" : 1,
5f26e15b
TL
30677 "description" : "Create a Ceph filesystem",
30678 "method" : "POST",
30679 "name" : "createfs",
4d47f125
TL
30680 "parameters" : {
30681 "additionalProperties" : 0,
30682 "properties" : {
5f26e15b 30683 "add-storage" : {
4d47f125 30684 "default" : 0,
5f26e15b 30685 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
30686 "optional" : 1,
30687 "type" : "boolean",
30688 "typetext" : "<boolean>"
30689 },
5f26e15b
TL
30690 "name" : {
30691 "default" : "cephfs",
30692 "description" : "The ceph filesystem name.",
30693 "optional" : 1,
30694 "type" : "string",
30695 "typetext" : "<string>"
4d47f125
TL
30696 },
30697 "node" : {
30698 "description" : "The cluster node name.",
30699 "format" : "pve-node",
30700 "type" : "string",
30701 "typetext" : "<string>"
5f26e15b
TL
30702 },
30703 "pg_num" : {
30704 "default" : 128,
30705 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
30706 "maximum" : 32768,
30707 "minimum" : 8,
30708 "optional" : 1,
30709 "type" : "integer",
30710 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
30711 }
30712 }
7aacca6f 30713 },
4d47f125
TL
30714 "permissions" : {
30715 "check" : [
30716 "perm",
30717 "/",
30718 [
30719 "Sys.Modify"
30720 ]
30721 ]
7aacca6f 30722 },
4d47f125
TL
30723 "protected" : 1,
30724 "proxyto" : "node",
30725 "returns" : {
44660702 30726 "type" : "string"
4d47f125
TL
30727 }
30728 }
30729 },
30730 "leaf" : 1,
5f26e15b
TL
30731 "path" : "/nodes/{node}/ceph/fs/{name}",
30732 "text" : "{name}"
4d47f125
TL
30733 }
30734 ],
30735 "info" : {
30736 "GET" : {
e9cd3bd4 30737 "allowtoken" : 1,
5f26e15b 30738 "description" : "Directory index.",
4d47f125 30739 "method" : "GET",
5f26e15b 30740 "name" : "index",
4d47f125
TL
30741 "parameters" : {
30742 "additionalProperties" : 0,
30743 "properties" : {
30744 "node" : {
30745 "description" : "The cluster node name.",
30746 "format" : "pve-node",
30747 "type" : "string",
30748 "typetext" : "<string>"
30749 }
30750 }
30751 },
30752 "permissions" : {
30753 "check" : [
30754 "perm",
30755 "/",
30756 [
30757 "Sys.Audit",
30758 "Datastore.Audit"
30759 ],
30760 "any",
30761 1
30762 ]
30763 },
30764 "protected" : 1,
95895385 30765 "proxyto" : "node",
4d47f125
TL
30766 "returns" : {
30767 "items" : {
30768 "properties" : {
5f26e15b
TL
30769 "data_pool" : {
30770 "description" : "The name of the data pool.",
30771 "type" : "string"
30772 },
30773 "metadata_pool" : {
30774 "description" : "The name of the metadata pool.",
4d47f125
TL
30775 "type" : "string"
30776 },
30777 "name" : {
5f26e15b 30778 "description" : "The ceph filesystem name.",
4d47f125
TL
30779 "type" : "string"
30780 }
7aacca6f 30781 },
4d47f125
TL
30782 "type" : "object"
30783 },
30784 "links" : [
30785 {
30786 "href" : "{name}",
30787 "rel" : "child"
30788 }
30789 ],
30790 "type" : "array"
30791 }
5f26e15b
TL
30792 }
30793 },
30794 "leaf" : 0,
30795 "path" : "/nodes/{node}/ceph/fs",
30796 "text" : "fs"
30797 },
d2656385
TL
30798 {
30799 "children" : [
30800 {
30801 "info" : {
30802 "DELETE" : {
30803 "allowtoken" : 1,
30804 "description" : "Destroy pool",
30805 "method" : "DELETE",
30806 "name" : "destroypool",
30807 "parameters" : {
30808 "additionalProperties" : 0,
30809 "properties" : {
30810 "force" : {
30811 "default" : 0,
30812 "description" : "If true, destroys pool even if in use",
30813 "optional" : 1,
30814 "type" : "boolean",
30815 "typetext" : "<boolean>"
30816 },
30817 "name" : {
30818 "description" : "The name of the pool. It must be unique.",
30819 "type" : "string",
30820 "typetext" : "<string>"
30821 },
30822 "node" : {
30823 "description" : "The cluster node name.",
30824 "format" : "pve-node",
30825 "type" : "string",
30826 "typetext" : "<string>"
30827 },
30828 "remove_storages" : {
30829 "default" : 0,
30830 "description" : "Remove all pveceph-managed storages configured for this pool",
30831 "optional" : 1,
30832 "type" : "boolean",
30833 "typetext" : "<boolean>"
30834 }
30835 }
30836 },
30837 "permissions" : {
30838 "check" : [
30839 "perm",
30840 "/",
30841 [
30842 "Sys.Modify"
30843 ]
30844 ]
30845 },
30846 "protected" : 1,
30847 "proxyto" : "node",
30848 "returns" : {
30849 "type" : "string"
30850 }
30851 },
30852 "GET" : {
30853 "allowtoken" : 1,
30854 "description" : "List pool settings.",
30855 "method" : "GET",
30856 "name" : "getpool",
30857 "parameters" : {
30858 "additionalProperties" : 0,
30859 "properties" : {
30860 "name" : {
30861 "description" : "The name of the pool. It must be unique.",
30862 "type" : "string",
30863 "typetext" : "<string>"
30864 },
30865 "node" : {
30866 "description" : "The cluster node name.",
30867 "format" : "pve-node",
30868 "type" : "string",
30869 "typetext" : "<string>"
30870 },
30871 "verbose" : {
30872 "default" : 0,
30873 "description" : "If enabled, will display additional data(eg. statistics).",
30874 "optional" : 1,
30875 "type" : "boolean",
30876 "typetext" : "<boolean>"
30877 }
30878 }
30879 },
30880 "permissions" : {
30881 "check" : [
30882 "perm",
30883 "/",
30884 [
30885 "Sys.Audit",
30886 "Datastore.Audit"
30887 ],
30888 "any",
30889 1
30890 ]
30891 },
30892 "protected" : 1,
30893 "proxyto" : "node",
30894 "returns" : {
30895 "properties" : {
30896 "application" : {
30897 "default" : "rbd",
30898 "description" : "The application of the pool.",
30899 "enum" : [
30900 "rbd",
30901 "cephfs",
30902 "rgw"
30903 ],
30904 "optional" : 1,
30905 "title" : "Application",
30906 "type" : "string"
30907 },
30908 "application_list" : {
30909 "optional" : 1,
30910 "title" : "Application",
30911 "type" : "array"
30912 },
30913 "autoscale_status" : {
30914 "optional" : 1,
30915 "title" : "Autoscale Status",
30916 "type" : "object"
30917 },
30918 "crush_rule" : {
30919 "description" : "The rule to use for mapping object placement in the cluster.",
30920 "optional" : 1,
30921 "title" : "Crush Rule Name",
30922 "type" : "string"
30923 },
30924 "fast_read" : {
30925 "title" : "Fast Read",
30926 "type" : "boolean"
30927 },
30928 "hashpspool" : {
30929 "title" : "hashpspool",
30930 "type" : "boolean"
30931 },
30932 "id" : {
30933 "title" : "ID",
30934 "type" : "integer"
30935 },
30936 "min_size" : {
30937 "default" : 2,
30938 "description" : "Minimum number of replicas per object",
30939 "maximum" : 7,
30940 "minimum" : 1,
30941 "optional" : 1,
30942 "title" : "Min Size",
30943 "type" : "integer"
30944 },
30945 "name" : {
30946 "description" : "The name of the pool. It must be unique.",
30947 "title" : "Name",
30948 "type" : "string"
30949 },
30950 "nodeep-scrub" : {
30951 "title" : "nodeep-scrub",
30952 "type" : "boolean"
30953 },
30954 "nodelete" : {
30955 "title" : "nodelete",
30956 "type" : "boolean"
30957 },
30958 "nopgchange" : {
30959 "title" : "nopgchange",
30960 "type" : "boolean"
30961 },
30962 "noscrub" : {
30963 "title" : "noscrub",
30964 "type" : "boolean"
30965 },
30966 "nosizechange" : {
30967 "title" : "nosizechange",
30968 "type" : "boolean"
30969 },
30970 "pg_autoscale_mode" : {
30971 "default" : "warn",
30972 "description" : "The automatic PG scaling mode of the pool.",
30973 "enum" : [
30974 "on",
30975 "off",
30976 "warn"
30977 ],
30978 "optional" : 1,
30979 "title" : "PG Autoscale Mode",
30980 "type" : "string"
30981 },
30982 "pg_num" : {
30983 "default" : 128,
30984 "description" : "Number of placement groups.",
30985 "maximum" : 32768,
30986 "minimum" : 1,
30987 "optional" : 1,
30988 "title" : "PG Num",
30989 "type" : "integer"
30990 },
30991 "pg_num_min" : {
30992 "description" : "Minimal number of placement groups.",
30993 "maximum" : 32768,
30994 "optional" : 1,
30995 "title" : "min. PG Num",
30996 "type" : "integer"
30997 },
30998 "pgp_num" : {
30999 "title" : "PGP num",
31000 "type" : "integer"
31001 },
31002 "size" : {
31003 "default" : 3,
31004 "description" : "Number of replicas per object",
31005 "maximum" : 7,
31006 "minimum" : 1,
31007 "optional" : 1,
31008 "title" : "Size",
31009 "type" : "integer"
31010 },
31011 "statistics" : {
31012 "optional" : 1,
31013 "title" : "Statistics",
31014 "type" : "object"
31015 },
31016 "target_size" : {
31017 "description" : "The estimated target size of the pool for the PG autoscaler.",
31018 "optional" : 1,
31019 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31020 "title" : "PG Autoscale Target Size",
31021 "type" : "string"
31022 },
31023 "target_size_ratio" : {
31024 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31025 "optional" : 1,
31026 "title" : "PG Autoscale Target Ratio",
31027 "type" : "number"
31028 },
31029 "use_gmt_hitset" : {
31030 "title" : "use_gmt_hitset",
31031 "type" : "boolean"
31032 },
31033 "write_fadvise_dontneed" : {
31034 "title" : "write_fadvise_dontneed",
31035 "type" : "boolean"
31036 }
31037 },
31038 "type" : "object"
31039 }
31040 },
31041 "PUT" : {
31042 "allowtoken" : 1,
31043 "description" : "Change POOL settings",
31044 "method" : "PUT",
31045 "name" : "setpool",
31046 "parameters" : {
31047 "additionalProperties" : 0,
31048 "properties" : {
31049 "application" : {
31050 "description" : "The application of the pool.",
31051 "enum" : [
31052 "rbd",
31053 "cephfs",
31054 "rgw"
31055 ],
31056 "optional" : 1,
31057 "title" : "Application",
31058 "type" : "string"
31059 },
31060 "crush_rule" : {
31061 "description" : "The rule to use for mapping object placement in the cluster.",
31062 "optional" : 1,
31063 "title" : "Crush Rule Name",
31064 "type" : "string",
31065 "typetext" : "<string>"
31066 },
31067 "min_size" : {
31068 "description" : "Minimum number of replicas per object",
31069 "maximum" : 7,
31070 "minimum" : 1,
31071 "optional" : 1,
31072 "title" : "Min Size",
31073 "type" : "integer",
31074 "typetext" : "<integer> (1 - 7)"
31075 },
31076 "name" : {
31077 "description" : "The name of the pool. It must be unique.",
31078 "title" : "Name",
31079 "type" : "string",
31080 "typetext" : "<string>"
31081 },
31082 "node" : {
31083 "description" : "The cluster node name.",
31084 "format" : "pve-node",
31085 "type" : "string",
31086 "typetext" : "<string>"
31087 },
31088 "pg_autoscale_mode" : {
31089 "description" : "The automatic PG scaling mode of the pool.",
31090 "enum" : [
31091 "on",
31092 "off",
31093 "warn"
31094 ],
31095 "optional" : 1,
31096 "title" : "PG Autoscale Mode",
31097 "type" : "string"
31098 },
31099 "pg_num" : {
31100 "description" : "Number of placement groups.",
31101 "maximum" : 32768,
31102 "minimum" : 1,
31103 "optional" : 1,
31104 "title" : "PG Num",
31105 "type" : "integer",
31106 "typetext" : "<integer> (1 - 32768)"
31107 },
31108 "pg_num_min" : {
31109 "description" : "Minimal number of placement groups.",
31110 "maximum" : 32768,
31111 "optional" : 1,
31112 "title" : "min. PG Num",
31113 "type" : "integer",
31114 "typetext" : "<integer> (-N - 32768)"
31115 },
31116 "size" : {
31117 "description" : "Number of replicas per object",
31118 "maximum" : 7,
31119 "minimum" : 1,
31120 "optional" : 1,
31121 "title" : "Size",
31122 "type" : "integer",
31123 "typetext" : "<integer> (1 - 7)"
31124 },
31125 "target_size" : {
31126 "description" : "The estimated target size of the pool for the PG autoscaler.",
31127 "optional" : 1,
31128 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31129 "title" : "PG Autoscale Target Size",
31130 "type" : "string"
31131 },
31132 "target_size_ratio" : {
31133 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31134 "optional" : 1,
31135 "title" : "PG Autoscale Target Ratio",
31136 "type" : "number",
31137 "typetext" : "<number>"
31138 }
31139 }
31140 },
31141 "permissions" : {
31142 "check" : [
31143 "perm",
31144 "/",
31145 [
31146 "Sys.Modify"
31147 ]
31148 ]
31149 },
31150 "protected" : 1,
31151 "proxyto" : "node",
31152 "returns" : {
31153 "type" : "string"
31154 }
31155 }
31156 },
31157 "leaf" : 1,
31158 "path" : "/nodes/{node}/ceph/pools/{name}",
31159 "text" : "{name}"
31160 }
31161 ],
31162 "info" : {
31163 "GET" : {
31164 "allowtoken" : 1,
31165 "description" : "List all pools.",
31166 "method" : "GET",
31167 "name" : "lspools",
31168 "parameters" : {
31169 "additionalProperties" : 0,
31170 "properties" : {
31171 "node" : {
31172 "description" : "The cluster node name.",
31173 "format" : "pve-node",
31174 "type" : "string",
31175 "typetext" : "<string>"
31176 }
31177 }
31178 },
31179 "permissions" : {
31180 "check" : [
31181 "perm",
31182 "/",
31183 [
31184 "Sys.Audit",
31185 "Datastore.Audit"
31186 ],
31187 "any",
31188 1
31189 ]
31190 },
31191 "protected" : 1,
31192 "proxyto" : "node",
31193 "returns" : {
31194 "items" : {
31195 "properties" : {
31196 "autoscale_status" : {
31197 "optional" : 1,
31198 "title" : "Autoscale Status",
31199 "type" : "object"
31200 },
31201 "bytes_used" : {
31202 "title" : "Used",
31203 "type" : "integer"
31204 },
31205 "crush_rule" : {
31206 "title" : "Crush Rule",
31207 "type" : "integer"
31208 },
31209 "crush_rule_name" : {
31210 "title" : "Crush Rule Name",
31211 "type" : "string"
31212 },
31213 "min_size" : {
31214 "title" : "Min Size",
31215 "type" : "integer"
31216 },
31217 "percent_used" : {
31218 "title" : "%-Used",
31219 "type" : "number"
31220 },
31221 "pg_autoscale_mode" : {
31222 "optional" : 1,
31223 "title" : "PG Autoscale Mode",
31224 "type" : "string"
31225 },
31226 "pg_num" : {
31227 "title" : "PG Num",
31228 "type" : "integer"
31229 },
31230 "pg_num_final" : {
31231 "optional" : 1,
31232 "title" : "Optimal PG Num",
31233 "type" : "integer"
31234 },
31235 "pg_num_min" : {
31236 "optional" : 1,
31237 "title" : "min. PG Num",
31238 "type" : "integer"
31239 },
31240 "pool" : {
31241 "title" : "ID",
31242 "type" : "integer"
31243 },
31244 "pool_name" : {
31245 "title" : "Name",
31246 "type" : "string"
31247 },
31248 "size" : {
31249 "title" : "Size",
31250 "type" : "integer"
31251 },
31252 "target_size" : {
31253 "optional" : 1,
31254 "title" : "PG Autoscale Target Size",
31255 "type" : "integer"
31256 },
31257 "target_size_ratio" : {
31258 "optional" : 1,
31259 "title" : "PG Autoscale Target Ratio",
31260 "type" : "number"
31261 }
31262 },
31263 "type" : "object"
31264 },
31265 "links" : [
31266 {
31267 "href" : "{pool_name}",
31268 "rel" : "child"
31269 }
31270 ],
31271 "type" : "array"
31272 }
31273 },
31274 "POST" : {
31275 "allowtoken" : 1,
31276 "description" : "Create POOL",
31277 "method" : "POST",
31278 "name" : "createpool",
31279 "parameters" : {
31280 "additionalProperties" : 0,
31281 "properties" : {
31282 "add_storages" : {
31283 "description" : "Configure VM and CT storage using the new pool.",
31284 "optional" : 1,
31285 "type" : "boolean",
31286 "typetext" : "<boolean>"
31287 },
31288 "application" : {
31289 "default" : "rbd",
31290 "description" : "The application of the pool.",
31291 "enum" : [
31292 "rbd",
31293 "cephfs",
31294 "rgw"
31295 ],
31296 "optional" : 1,
31297 "title" : "Application",
31298 "type" : "string"
31299 },
31300 "crush_rule" : {
31301 "description" : "The rule to use for mapping object placement in the cluster.",
31302 "optional" : 1,
31303 "title" : "Crush Rule Name",
31304 "type" : "string",
31305 "typetext" : "<string>"
31306 },
31307 "min_size" : {
31308 "default" : 2,
31309 "description" : "Minimum number of replicas per object",
31310 "maximum" : 7,
31311 "minimum" : 1,
31312 "optional" : 1,
31313 "title" : "Min Size",
31314 "type" : "integer",
31315 "typetext" : "<integer> (1 - 7)"
31316 },
31317 "name" : {
31318 "description" : "The name of the pool. It must be unique.",
31319 "title" : "Name",
31320 "type" : "string",
31321 "typetext" : "<string>"
31322 },
31323 "node" : {
31324 "description" : "The cluster node name.",
31325 "format" : "pve-node",
31326 "type" : "string",
31327 "typetext" : "<string>"
31328 },
31329 "pg_autoscale_mode" : {
31330 "default" : "warn",
31331 "description" : "The automatic PG scaling mode of the pool.",
31332 "enum" : [
31333 "on",
31334 "off",
31335 "warn"
31336 ],
31337 "optional" : 1,
31338 "title" : "PG Autoscale Mode",
31339 "type" : "string"
31340 },
31341 "pg_num" : {
31342 "default" : 128,
31343 "description" : "Number of placement groups.",
31344 "maximum" : 32768,
31345 "minimum" : 1,
31346 "optional" : 1,
31347 "title" : "PG Num",
31348 "type" : "integer",
31349 "typetext" : "<integer> (1 - 32768)"
31350 },
31351 "pg_num_min" : {
31352 "description" : "Minimal number of placement groups.",
31353 "maximum" : 32768,
31354 "optional" : 1,
31355 "title" : "min. PG Num",
31356 "type" : "integer",
31357 "typetext" : "<integer> (-N - 32768)"
31358 },
31359 "size" : {
31360 "default" : 3,
31361 "description" : "Number of replicas per object",
31362 "maximum" : 7,
31363 "minimum" : 1,
31364 "optional" : 1,
31365 "title" : "Size",
31366 "type" : "integer",
31367 "typetext" : "<integer> (1 - 7)"
31368 },
31369 "target_size" : {
31370 "description" : "The estimated target size of the pool for the PG autoscaler.",
31371 "optional" : 1,
31372 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31373 "title" : "PG Autoscale Target Size",
31374 "type" : "string"
31375 },
31376 "target_size_ratio" : {
31377 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31378 "optional" : 1,
31379 "title" : "PG Autoscale Target Ratio",
31380 "type" : "number",
31381 "typetext" : "<number>"
31382 }
31383 }
31384 },
31385 "permissions" : {
31386 "check" : [
31387 "perm",
31388 "/",
31389 [
31390 "Sys.Modify"
31391 ]
31392 ]
31393 },
31394 "protected" : 1,
31395 "proxyto" : "node",
31396 "returns" : {
31397 "type" : "string"
31398 }
31399 }
31400 },
31401 "leaf" : 0,
31402 "path" : "/nodes/{node}/ceph/pools",
31403 "text" : "pools"
31404 },
5f26e15b
TL
31405 {
31406 "info" : {
31407 "GET" : {
e9cd3bd4 31408 "allowtoken" : 1,
5f26e15b
TL
31409 "description" : "Get Ceph configuration.",
31410 "method" : "GET",
31411 "name" : "config",
31412 "parameters" : {
31413 "additionalProperties" : 0,
31414 "properties" : {
4d47f125
TL
31415 "node" : {
31416 "description" : "The cluster node name.",
31417 "format" : "pve-node",
31418 "type" : "string",
31419 "typetext" : "<string>"
7aacca6f 31420 }
4d47f125 31421 }
44660702 31422 },
4d47f125
TL
31423 "permissions" : {
31424 "check" : [
31425 "perm",
31426 "/",
31427 [
5f26e15b
TL
31428 "Sys.Audit",
31429 "Datastore.Audit"
31430 ],
31431 "any",
31432 1
4d47f125 31433 ]
56122987 31434 },
95895385 31435 "proxyto" : "node",
4d47f125 31436 "returns" : {
7aacca6f 31437 "type" : "string"
4d47f125
TL
31438 }
31439 }
31440 },
5f26e15b
TL
31441 "leaf" : 1,
31442 "path" : "/nodes/{node}/ceph/config",
31443 "text" : "config"
4d47f125 31444 },
7cbed89a
TL
31445 {
31446 "info" : {
31447 "GET" : {
e9cd3bd4 31448 "allowtoken" : 1,
7cbed89a
TL
31449 "description" : "Get Ceph configuration database.",
31450 "method" : "GET",
31451 "name" : "configdb",
31452 "parameters" : {
31453 "additionalProperties" : 0,
31454 "properties" : {
31455 "node" : {
31456 "description" : "The cluster node name.",
31457 "format" : "pve-node",
31458 "type" : "string",
31459 "typetext" : "<string>"
31460 }
31461 }
31462 },
31463 "permissions" : {
31464 "check" : [
31465 "perm",
31466 "/",
31467 [
31468 "Sys.Audit",
31469 "Datastore.Audit"
31470 ],
31471 "any",
31472 1
31473 ]
31474 },
31475 "protected" : 1,
31476 "proxyto" : "node",
31477 "returns" : {
31478 "items" : {
31479 "properties" : {
31480 "can_update_at_runtime" : {
31481 "type" : "boolean"
31482 },
31483 "level" : {
31484 "type" : "string"
31485 },
31486 "mask" : {
31487 "type" : "string"
31488 },
31489 "name" : {
31490 "type" : "string"
31491 },
31492 "section" : {
31493 "type" : "string"
31494 },
31495 "value" : {
31496 "type" : "string"
31497 }
31498 },
31499 "type" : "object"
31500 },
31501 "type" : "array"
31502 }
31503 }
31504 },
31505 "leaf" : 1,
31506 "path" : "/nodes/{node}/ceph/configdb",
31507 "text" : "configdb"
31508 },
4d47f125
TL
31509 {
31510 "info" : {
31511 "POST" : {
e9cd3bd4 31512 "allowtoken" : 1,
4d47f125
TL
31513 "description" : "Create initial ceph default configuration and setup symlinks.",
31514 "method" : "POST",
31515 "name" : "init",
31516 "parameters" : {
31517 "additionalProperties" : 0,
31518 "properties" : {
e2d681b3
TL
31519 "cluster-network" : {
31520 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
31521 "format" : "CIDR",
31522 "maxLength" : 128,
31523 "optional" : 1,
31524 "requires" : "network",
31525 "type" : "string",
31526 "typetext" : "<string>"
31527 },
4d47f125
TL
31528 "disable_cephx" : {
31529 "default" : 0,
1e3f8156 31530 "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 31531 "optional" : 1,
4d47f125
TL
31532 "type" : "boolean",
31533 "typetext" : "<boolean>"
56122987 31534 },
4d47f125
TL
31535 "min_size" : {
31536 "default" : 2,
31537 "description" : "Minimum number of available replicas per object to allow I/O",
31538 "maximum" : 7,
31539 "minimum" : 1,
7aacca6f 31540 "optional" : 1,
4d47f125
TL
31541 "type" : "integer",
31542 "typetext" : "<integer> (1 - 7)"
7aacca6f 31543 },
4d47f125
TL
31544 "network" : {
31545 "description" : "Use specific network for all ceph related traffic",
31546 "format" : "CIDR",
31547 "maxLength" : 128,
5d9c884c 31548 "optional" : 1,
4d47f125
TL
31549 "type" : "string",
31550 "typetext" : "<string>"
5d9c884c 31551 },
4d47f125
TL
31552 "node" : {
31553 "description" : "The cluster node name.",
31554 "format" : "pve-node",
31555 "type" : "string",
31556 "typetext" : "<string>"
7aacca6f 31557 },
4d47f125
TL
31558 "pg_bits" : {
31559 "default" : 6,
31560 "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.",
31561 "maximum" : 14,
31562 "minimum" : 6,
de0983cb 31563 "optional" : 1,
4d47f125
TL
31564 "type" : "integer",
31565 "typetext" : "<integer> (6 - 14)"
de0983cb 31566 },
44660702 31567 "size" : {
4d47f125
TL
31568 "default" : 3,
31569 "description" : "Targeted number of replicas per object",
31570 "maximum" : 7,
31571 "minimum" : 1,
7aacca6f 31572 "optional" : 1,
4d47f125
TL
31573 "type" : "integer",
31574 "typetext" : "<integer> (1 - 7)"
56122987 31575 }
4d47f125 31576 }
44660702 31577 },
4d47f125
TL
31578 "permissions" : {
31579 "check" : [
31580 "perm",
31581 "/",
31582 [
31583 "Sys.Modify"
31584 ]
31585 ]
5da3d723 31586 },
4d47f125
TL
31587 "protected" : 1,
31588 "proxyto" : "node",
31589 "returns" : {
31590 "type" : "null"
31591 }
31592 }
31593 },
31594 "leaf" : 1,
31595 "path" : "/nodes/{node}/ceph/init",
31596 "text" : "init"
31597 },
4d47f125
TL
31598 {
31599 "info" : {
31600 "POST" : {
e9cd3bd4 31601 "allowtoken" : 1,
4d47f125
TL
31602 "description" : "Stop ceph services.",
31603 "method" : "POST",
31604 "name" : "stop",
31605 "parameters" : {
31606 "additionalProperties" : 0,
31607 "properties" : {
31608 "node" : {
31609 "description" : "The cluster node name.",
31610 "format" : "pve-node",
31611 "type" : "string",
31612 "typetext" : "<string>"
31613 },
31614 "service" : {
e2d681b3 31615 "default" : "ceph.target",
4d47f125
TL
31616 "description" : "Ceph service name.",
31617 "optional" : 1,
c5aa7e14 31618 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
31619 "type" : "string"
31620 }
31621 }
7aacca6f 31622 },
4d47f125
TL
31623 "permissions" : {
31624 "check" : [
31625 "perm",
31626 "/",
31627 [
31628 "Sys.Modify"
31629 ]
31630 ]
7aacca6f 31631 },
4d47f125
TL
31632 "protected" : 1,
31633 "proxyto" : "node",
31634 "returns" : {
31635 "type" : "string"
31636 }
31637 }
31638 },
31639 "leaf" : 1,
31640 "path" : "/nodes/{node}/ceph/stop",
31641 "text" : "stop"
31642 },
31643 {
31644 "info" : {
31645 "POST" : {
e9cd3bd4 31646 "allowtoken" : 1,
4d47f125
TL
31647 "description" : "Start ceph services.",
31648 "method" : "POST",
31649 "name" : "start",
31650 "parameters" : {
31651 "additionalProperties" : 0,
31652 "properties" : {
31653 "node" : {
31654 "description" : "The cluster node name.",
31655 "format" : "pve-node",
31656 "type" : "string",
31657 "typetext" : "<string>"
31658 },
31659 "service" : {
e2d681b3 31660 "default" : "ceph.target",
4d47f125
TL
31661 "description" : "Ceph service name.",
31662 "optional" : 1,
c5aa7e14 31663 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
31664 "type" : "string"
31665 }
31666 }
44660702 31667 },
4d47f125
TL
31668 "permissions" : {
31669 "check" : [
31670 "perm",
31671 "/",
31672 [
31673 "Sys.Modify"
31674 ]
31675 ]
44660702 31676 },
4d47f125
TL
31677 "protected" : 1,
31678 "proxyto" : "node",
31679 "returns" : {
31680 "type" : "string"
44660702 31681 }
7aacca6f
DM
31682 }
31683 },
4d47f125
TL
31684 "leaf" : 1,
31685 "path" : "/nodes/{node}/ceph/start",
31686 "text" : "start"
31687 },
e2d681b3
TL
31688 {
31689 "info" : {
31690 "POST" : {
e9cd3bd4 31691 "allowtoken" : 1,
e2d681b3
TL
31692 "description" : "Restart ceph services.",
31693 "method" : "POST",
31694 "name" : "restart",
31695 "parameters" : {
31696 "additionalProperties" : 0,
31697 "properties" : {
31698 "node" : {
31699 "description" : "The cluster node name.",
31700 "format" : "pve-node",
31701 "type" : "string",
31702 "typetext" : "<string>"
31703 },
31704 "service" : {
31705 "default" : "ceph.target",
31706 "description" : "Ceph service name.",
31707 "optional" : 1,
c5aa7e14 31708 "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
e2d681b3
TL
31709 "type" : "string"
31710 }
31711 }
31712 },
31713 "permissions" : {
31714 "check" : [
31715 "perm",
31716 "/",
31717 [
31718 "Sys.Modify"
31719 ]
31720 ]
31721 },
31722 "protected" : 1,
31723 "proxyto" : "node",
31724 "returns" : {
31725 "type" : "string"
31726 }
31727 }
31728 },
31729 "leaf" : 1,
31730 "path" : "/nodes/{node}/ceph/restart",
31731 "text" : "restart"
31732 },
4d47f125
TL
31733 {
31734 "info" : {
31735 "GET" : {
e9cd3bd4 31736 "allowtoken" : 1,
4d47f125
TL
31737 "description" : "Get ceph status.",
31738 "method" : "GET",
31739 "name" : "status",
31740 "parameters" : {
31741 "additionalProperties" : 0,
31742 "properties" : {
31743 "node" : {
31744 "description" : "The cluster node name.",
31745 "format" : "pve-node",
31746 "type" : "string",
31747 "typetext" : "<string>"
31748 }
31749 }
31750 },
31751 "permissions" : {
31752 "check" : [
31753 "perm",
31754 "/",
31755 [
31756 "Sys.Audit",
31757 "Datastore.Audit"
31758 ],
31759 "any",
31760 1
31761 ]
31762 },
31763 "protected" : 1,
31764 "proxyto" : "node",
31765 "returns" : {
d2656385 31766 "type" : "object"
44660702 31767 }
56122987 31768 }
44660702 31769 },
d2656385
TL
31770 "leaf" : 1,
31771 "path" : "/nodes/{node}/ceph/status",
31772 "text" : "status"
7aacca6f 31773 },
56122987 31774 {
56122987
DM
31775 "info" : {
31776 "GET" : {
e9cd3bd4 31777 "allowtoken" : 1,
4d47f125 31778 "description" : "Get OSD crush map",
44660702 31779 "method" : "GET",
4d47f125 31780 "name" : "crush",
56122987 31781 "parameters" : {
7aacca6f 31782 "additionalProperties" : 0,
56122987 31783 "properties" : {
56122987 31784 "node" : {
7aacca6f 31785 "description" : "The cluster node name.",
44660702 31786 "format" : "pve-node",
013dc89f
DM
31787 "type" : "string",
31788 "typetext" : "<string>"
56122987 31789 }
7aacca6f 31790 }
56122987 31791 },
56122987
DM
31792 "permissions" : {
31793 "check" : [
31794 "perm",
31795 "/",
31796 [
31797 "Sys.Audit",
31798 "Datastore.Audit"
31799 ],
31800 "any",
31801 1
31802 ]
44660702 31803 },
4d47f125
TL
31804 "protected" : 1,
31805 "proxyto" : "node",
44660702
DM
31806 "returns" : {
31807 "type" : "string"
7aacca6f
DM
31808 }
31809 }
44660702
DM
31810 },
31811 "leaf" : 1,
4d47f125
TL
31812 "path" : "/nodes/{node}/ceph/crush",
31813 "text" : "crush"
7aacca6f
DM
31814 },
31815 {
7aacca6f
DM
31816 "info" : {
31817 "GET" : {
e9cd3bd4 31818 "allowtoken" : 1,
4d47f125 31819 "description" : "Read ceph log",
7aacca6f 31820 "method" : "GET",
4d47f125 31821 "name" : "log",
7aacca6f
DM
31822 "parameters" : {
31823 "additionalProperties" : 0,
31824 "properties" : {
4d47f125
TL
31825 "limit" : {
31826 "minimum" : 0,
31827 "optional" : 1,
31828 "type" : "integer",
31829 "typetext" : "<integer> (0 - N)"
31830 },
7aacca6f 31831 "node" : {
7aacca6f 31832 "description" : "The cluster node name.",
44660702 31833 "format" : "pve-node",
013dc89f
DM
31834 "type" : "string",
31835 "typetext" : "<string>"
4d47f125
TL
31836 },
31837 "start" : {
31838 "minimum" : 0,
31839 "optional" : 1,
31840 "type" : "integer",
31841 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
31842 }
31843 }
31844 },
44660702
DM
31845 "permissions" : {
31846 "check" : [
31847 "perm",
4d47f125 31848 "/nodes/{node}",
44660702 31849 [
4d47f125
TL
31850 "Sys.Syslog"
31851 ]
44660702
DM
31852 ]
31853 },
7aacca6f 31854 "protected" : 1,
44660702 31855 "proxyto" : "node",
7aacca6f
DM
31856 "returns" : {
31857 "items" : {
31858 "properties" : {
4d47f125
TL
31859 "n" : {
31860 "description" : "Line number",
31861 "type" : "integer"
56122987 31862 },
4d47f125
TL
31863 "t" : {
31864 "description" : "Line text",
56122987
DM
31865 "type" : "string"
31866 }
7aacca6f
DM
31867 },
31868 "type" : "object"
56122987
DM
31869 },
31870 "type" : "array"
44660702 31871 }
4d47f125
TL
31872 }
31873 },
31874 "leaf" : 1,
31875 "path" : "/nodes/{node}/ceph/log",
31876 "text" : "log"
31877 },
31878 {
31879 "info" : {
31880 "GET" : {
e9cd3bd4 31881 "allowtoken" : 1,
4d47f125
TL
31882 "description" : "List ceph rules.",
31883 "method" : "GET",
31884 "name" : "rules",
44660702
DM
31885 "parameters" : {
31886 "additionalProperties" : 0,
31887 "properties" : {
31888 "node" : {
31889 "description" : "The cluster node name.",
31890 "format" : "pve-node",
013dc89f
DM
31891 "type" : "string",
31892 "typetext" : "<string>"
44660702
DM
31893 }
31894 }
31895 },
7aacca6f
DM
31896 "permissions" : {
31897 "check" : [
31898 "perm",
31899 "/",
31900 [
4d47f125
TL
31901 "Sys.Audit",
31902 "Datastore.Audit"
31903 ],
31904 "any",
31905 1
7aacca6f
DM
31906 ]
31907 },
44660702 31908 "protected" : 1,
7aacca6f 31909 "proxyto" : "node",
56122987 31910 "returns" : {
4d47f125
TL
31911 "items" : {
31912 "properties" : {},
31913 "type" : "object"
31914 },
31915 "links" : [
31916 {
31917 "href" : "{name}",
31918 "rel" : "child"
31919 }
31920 ],
31921 "type" : "array"
44660702 31922 }
56122987 31923 }
44660702 31924 },
4d47f125
TL
31925 "leaf" : 1,
31926 "path" : "/nodes/{node}/ceph/rules",
31927 "text" : "rules"
31928 }
31929 ],
31930 "info" : {
31931 "GET" : {
e9cd3bd4 31932 "allowtoken" : 1,
4d47f125
TL
31933 "description" : "Directory index.",
31934 "method" : "GET",
31935 "name" : "index",
31936 "parameters" : {
31937 "additionalProperties" : 0,
31938 "properties" : {
31939 "node" : {
31940 "description" : "The cluster node name.",
31941 "format" : "pve-node",
31942 "type" : "string",
31943 "typetext" : "<string>"
31944 }
31945 }
31946 },
31947 "permissions" : {
31948 "check" : [
31949 "perm",
31950 "/",
31951 [
31952 "Sys.Audit",
31953 "Datastore.Audit"
31954 ],
31955 "any",
31956 1
31957 ]
31958 },
31959 "returns" : {
31960 "items" : {
31961 "properties" : {},
31962 "type" : "object"
31963 },
31964 "links" : [
31965 {
31966 "href" : "{name}",
31967 "rel" : "child"
31968 }
31969 ],
31970 "type" : "array"
31971 }
31972 }
31973 },
31974 "leaf" : 0,
31975 "path" : "/nodes/{node}/ceph",
31976 "text" : "ceph"
31977 },
31978 {
31979 "children" : [
e7084ef7
TL
31980 {
31981 "info" : {
31982 "GET" : {
31983 "allowtoken" : 1,
31984 "description" : "Get the currently configured vzdump defaults.",
31985 "method" : "GET",
31986 "name" : "defaults",
31987 "parameters" : {
31988 "additionalProperties" : 0,
31989 "properties" : {
31990 "node" : {
31991 "description" : "The cluster node name.",
31992 "format" : "pve-node",
31993 "type" : "string",
31994 "typetext" : "<string>"
31995 },
31996 "storage" : {
31997 "description" : "The storage identifier.",
31998 "format" : "pve-storage-id",
31999 "optional" : 1,
32000 "type" : "string",
32001 "typetext" : "<string>"
32002 }
32003 }
32004 },
32005 "permissions" : {
32006 "description" : "The user needs 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions for the specified storage (or default storage if none specified). Some properties are only returned when the user has 'Sys.Audit' permissions for the node.",
32007 "user" : "all"
32008 },
32009 "proxyto" : "node",
32010 "returns" : {
32011 "additionalProperties" : 0,
32012 "properties" : {
32013 "all" : {
32014 "default" : 0,
32015 "description" : "Backup all known guest systems on this host.",
32016 "optional" : 1,
32017 "type" : "boolean"
32018 },
32019 "bwlimit" : {
32020 "default" : 0,
32021 "description" : "Limit I/O bandwidth (KBytes per second).",
32022 "minimum" : 0,
32023 "optional" : 1,
32024 "type" : "integer"
32025 },
32026 "compress" : {
32027 "default" : "0",
32028 "description" : "Compress dump file.",
32029 "enum" : [
32030 "0",
32031 "1",
32032 "gzip",
32033 "lzo",
32034 "zstd"
32035 ],
32036 "optional" : 1,
32037 "type" : "string"
32038 },
32039 "dumpdir" : {
32040 "description" : "Store resulting files to specified directory.",
32041 "optional" : 1,
32042 "type" : "string"
32043 },
32044 "exclude" : {
32045 "description" : "Exclude specified guest systems (assumes --all)",
32046 "format" : "pve-vmid-list",
32047 "optional" : 1,
32048 "type" : "string"
32049 },
32050 "exclude-path" : {
32051 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
32052 "format" : "string-alist",
32053 "optional" : 1,
32054 "type" : "string"
32055 },
32056 "ionice" : {
32057 "default" : 7,
32058 "description" : "Set CFQ ionice priority.",
32059 "maximum" : 8,
32060 "minimum" : 0,
32061 "optional" : 1,
32062 "type" : "integer"
32063 },
32064 "lockwait" : {
32065 "default" : 180,
32066 "description" : "Maximal time to wait for the global lock (minutes).",
32067 "minimum" : 0,
32068 "optional" : 1,
32069 "type" : "integer"
32070 },
32071 "mailnotification" : {
32072 "default" : "always",
32073 "description" : "Specify when to send an email",
32074 "enum" : [
32075 "always",
32076 "failure"
32077 ],
32078 "optional" : 1,
32079 "type" : "string"
32080 },
32081 "mailto" : {
32082 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
32083 "format" : "email-or-username-list",
32084 "optional" : 1,
32085 "type" : "string"
32086 },
32087 "maxfiles" : {
0695fdaf 32088 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
e7084ef7
TL
32089 "minimum" : 1,
32090 "optional" : 1,
32091 "type" : "integer"
32092 },
32093 "mode" : {
32094 "default" : "snapshot",
32095 "description" : "Backup mode.",
32096 "enum" : [
32097 "snapshot",
32098 "suspend",
32099 "stop"
32100 ],
32101 "optional" : 1,
32102 "type" : "string"
32103 },
32104 "node" : {
32105 "description" : "Only run if executed on this node.",
32106 "format" : "pve-node",
32107 "optional" : 1,
32108 "type" : "string"
32109 },
32110 "pigz" : {
32111 "default" : 0,
32112 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
32113 "optional" : 1,
32114 "type" : "integer"
32115 },
32116 "pool" : {
32117 "description" : "Backup all known guest systems included in the specified pool.",
32118 "optional" : 1,
32119 "type" : "string"
32120 },
32121 "prune-backups" : {
0695fdaf 32122 "default" : "keep-all=1",
e7084ef7
TL
32123 "description" : "Use these retention options instead of those from the storage configuration.",
32124 "format" : "prune-backups",
32125 "optional" : 1,
32126 "type" : "string"
32127 },
32128 "quiet" : {
32129 "default" : 0,
32130 "description" : "Be quiet.",
32131 "optional" : 1,
32132 "type" : "boolean"
32133 },
32134 "remove" : {
32135 "default" : 1,
0695fdaf 32136 "description" : "Prune older backups according to 'prune-backups'.",
e7084ef7
TL
32137 "optional" : 1,
32138 "type" : "boolean"
32139 },
32140 "script" : {
32141 "description" : "Use specified hook script.",
32142 "optional" : 1,
32143 "type" : "string"
32144 },
e7084ef7
TL
32145 "stdexcludes" : {
32146 "default" : 1,
32147 "description" : "Exclude temporary files and logs.",
32148 "optional" : 1,
32149 "type" : "boolean"
32150 },
32151 "stop" : {
32152 "default" : 0,
32153 "description" : "Stop running backup jobs on this host.",
32154 "optional" : 1,
32155 "type" : "boolean"
32156 },
32157 "stopwait" : {
32158 "default" : 10,
32159 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
32160 "minimum" : 0,
32161 "optional" : 1,
32162 "type" : "integer"
32163 },
32164 "storage" : {
32165 "description" : "Store resulting file to this storage.",
32166 "format" : "pve-storage-id",
32167 "optional" : 1,
32168 "type" : "string"
32169 },
32170 "tmpdir" : {
32171 "description" : "Store temporary files to specified directory.",
32172 "optional" : 1,
32173 "type" : "string"
32174 },
32175 "vmid" : {
32176 "description" : "The ID of the guest system you want to backup.",
32177 "format" : "pve-vmid-list",
32178 "optional" : 1,
32179 "type" : "string"
32180 },
32181 "zstd" : {
32182 "default" : 1,
32183 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
32184 "optional" : 1,
32185 "type" : "integer"
32186 }
32187 },
32188 "type" : "object"
32189 }
32190 }
32191 },
32192 "leaf" : 1,
32193 "path" : "/nodes/{node}/vzdump/defaults",
32194 "text" : "defaults"
32195 },
56122987
DM
32196 {
32197 "info" : {
4d47f125 32198 "GET" : {
e9cd3bd4 32199 "allowtoken" : 1,
4d47f125
TL
32200 "description" : "Extract configuration from vzdump backup archive.",
32201 "method" : "GET",
32202 "name" : "extractconfig",
32203 "parameters" : {
32204 "additionalProperties" : 0,
32205 "properties" : {
44660702
DM
32206 "node" : {
32207 "description" : "The cluster node name.",
32208 "format" : "pve-node",
013dc89f
DM
32209 "type" : "string",
32210 "typetext" : "<string>"
44660702 32211 },
4d47f125
TL
32212 "volume" : {
32213 "description" : "Volume identifier",
32214 "type" : "string",
32215 "typetext" : "<string>"
44660702
DM
32216 }
32217 }
7aacca6f 32218 },
56122987 32219 "permissions" : {
4d47f125
TL
32220 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
32221 "user" : "all"
56122987 32222 },
7aacca6f 32223 "protected" : 1,
44660702
DM
32224 "proxyto" : "node",
32225 "returns" : {
4d47f125 32226 "type" : "string"
7aacca6f
DM
32227 }
32228 }
32229 },
7aacca6f 32230 "leaf" : 1,
4d47f125
TL
32231 "path" : "/nodes/{node}/vzdump/extractconfig",
32232 "text" : "extractconfig"
32233 }
32234 ],
32235 "info" : {
32236 "POST" : {
e9cd3bd4 32237 "allowtoken" : 1,
4d47f125
TL
32238 "description" : "Create backup.",
32239 "method" : "POST",
32240 "name" : "vzdump",
32241 "parameters" : {
32242 "additionalProperties" : 0,
32243 "properties" : {
32244 "all" : {
32245 "default" : 0,
32246 "description" : "Backup all known guest systems on this host.",
32247 "optional" : 1,
32248 "type" : "boolean",
32249 "typetext" : "<boolean>"
32250 },
32251 "bwlimit" : {
32252 "default" : 0,
32253 "description" : "Limit I/O bandwidth (KBytes per second).",
32254 "minimum" : 0,
32255 "optional" : 1,
32256 "type" : "integer",
32257 "typetext" : "<integer> (0 - N)"
32258 },
32259 "compress" : {
32260 "default" : "0",
32261 "description" : "Compress dump file.",
32262 "enum" : [
32263 "0",
32264 "1",
32265 "gzip",
c5aa7e14
TL
32266 "lzo",
32267 "zstd"
4d47f125
TL
32268 ],
32269 "optional" : 1,
32270 "type" : "string"
32271 },
32272 "dumpdir" : {
32273 "description" : "Store resulting files to specified directory.",
32274 "optional" : 1,
32275 "type" : "string",
32276 "typetext" : "<string>"
32277 },
32278 "exclude" : {
32279 "description" : "Exclude specified guest systems (assumes --all)",
32280 "format" : "pve-vmid-list",
32281 "optional" : 1,
32282 "type" : "string",
32283 "typetext" : "<string>"
32284 },
32285 "exclude-path" : {
d2656385 32286 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
4d47f125
TL
32287 "format" : "string-alist",
32288 "optional" : 1,
32289 "type" : "string",
32290 "typetext" : "<string>"
32291 },
32292 "ionice" : {
32293 "default" : 7,
32294 "description" : "Set CFQ ionice priority.",
32295 "maximum" : 8,
32296 "minimum" : 0,
32297 "optional" : 1,
32298 "type" : "integer",
32299 "typetext" : "<integer> (0 - 8)"
32300 },
32301 "lockwait" : {
32302 "default" : 180,
32303 "description" : "Maximal time to wait for the global lock (minutes).",
32304 "minimum" : 0,
32305 "optional" : 1,
32306 "type" : "integer",
32307 "typetext" : "<integer> (0 - N)"
32308 },
32309 "mailnotification" : {
32310 "default" : "always",
32311 "description" : "Specify when to send an email",
32312 "enum" : [
32313 "always",
32314 "failure"
32315 ],
32316 "optional" : 1,
32317 "type" : "string"
32318 },
32319 "mailto" : {
d2656385
TL
32320 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
32321 "format" : "email-or-username-list",
4d47f125
TL
32322 "optional" : 1,
32323 "type" : "string",
32324 "typetext" : "<string>"
32325 },
32326 "maxfiles" : {
0695fdaf 32327 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
4d47f125
TL
32328 "minimum" : 1,
32329 "optional" : 1,
32330 "type" : "integer",
32331 "typetext" : "<integer> (1 - N)"
32332 },
32333 "mode" : {
32334 "default" : "snapshot",
32335 "description" : "Backup mode.",
32336 "enum" : [
32337 "snapshot",
32338 "suspend",
32339 "stop"
32340 ],
32341 "optional" : 1,
32342 "type" : "string"
32343 },
32344 "node" : {
32345 "description" : "Only run if executed on this node.",
32346 "format" : "pve-node",
32347 "optional" : 1,
32348 "type" : "string",
32349 "typetext" : "<string>"
32350 },
32351 "pigz" : {
32352 "default" : 0,
32353 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
32354 "optional" : 1,
32355 "type" : "integer",
32356 "typetext" : "<integer>"
32357 },
9226ccbc
TL
32358 "pool" : {
32359 "description" : "Backup all known guest systems included in the specified pool.",
32360 "optional" : 1,
32361 "type" : "string",
32362 "typetext" : "<string>"
32363 },
739d4d64 32364 "prune-backups" : {
0695fdaf 32365 "default" : "keep-all=1",
739d4d64
TL
32366 "description" : "Use these retention options instead of those from the storage configuration.",
32367 "format" : "prune-backups",
32368 "optional" : 1,
32369 "type" : "string",
4772952b 32370 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 32371 },
4d47f125
TL
32372 "quiet" : {
32373 "default" : 0,
32374 "description" : "Be quiet.",
32375 "optional" : 1,
32376 "type" : "boolean",
32377 "typetext" : "<boolean>"
32378 },
32379 "remove" : {
32380 "default" : 1,
0695fdaf 32381 "description" : "Prune older backups according to 'prune-backups'.",
4d47f125
TL
32382 "optional" : 1,
32383 "type" : "boolean",
32384 "typetext" : "<boolean>"
32385 },
32386 "script" : {
32387 "description" : "Use specified hook script.",
32388 "optional" : 1,
32389 "type" : "string",
32390 "typetext" : "<string>"
32391 },
4d47f125
TL
32392 "stdexcludes" : {
32393 "default" : 1,
32394 "description" : "Exclude temporary files and logs.",
32395 "optional" : 1,
32396 "type" : "boolean",
32397 "typetext" : "<boolean>"
32398 },
32399 "stdout" : {
32400 "description" : "Write tar to stdout, not to a file.",
32401 "optional" : 1,
32402 "type" : "boolean",
32403 "typetext" : "<boolean>"
32404 },
32405 "stop" : {
32406 "default" : 0,
1e3f8156 32407 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
32408 "optional" : 1,
32409 "type" : "boolean",
32410 "typetext" : "<boolean>"
32411 },
32412 "stopwait" : {
32413 "default" : 10,
32414 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
32415 "minimum" : 0,
32416 "optional" : 1,
32417 "type" : "integer",
32418 "typetext" : "<integer> (0 - N)"
32419 },
32420 "storage" : {
32421 "description" : "Store resulting file to this storage.",
32422 "format" : "pve-storage-id",
32423 "optional" : 1,
32424 "type" : "string",
32425 "typetext" : "<string>"
32426 },
32427 "tmpdir" : {
32428 "description" : "Store temporary files to specified directory.",
32429 "optional" : 1,
32430 "type" : "string",
32431 "typetext" : "<string>"
32432 },
32433 "vmid" : {
32434 "description" : "The ID of the guest system you want to backup.",
32435 "format" : "pve-vmid-list",
32436 "optional" : 1,
32437 "type" : "string",
32438 "typetext" : "<string>"
c5aa7e14
TL
32439 },
32440 "zstd" : {
32441 "default" : 1,
32442 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
32443 "optional" : 1,
32444 "type" : "integer",
32445 "typetext" : "<integer>"
4d47f125
TL
32446 }
32447 }
32448 },
32449 "permissions" : {
4772952b 32450 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'prune-backups', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
4d47f125
TL
32451 "user" : "all"
32452 },
32453 "protected" : 1,
32454 "proxyto" : "node",
32455 "returns" : {
32456 "type" : "string"
32457 }
32458 }
32459 },
32460 "leaf" : 0,
32461 "path" : "/nodes/{node}/vzdump",
32462 "text" : "vzdump"
32463 },
32464 {
32465 "children" : [
2489d6df
WB
32466 {
32467 "children" : [
32468 {
32469 "info" : {
4d47f125 32470 "GET" : {
e9cd3bd4 32471 "allowtoken" : 1,
4d47f125
TL
32472 "description" : "Read service properties",
32473 "method" : "GET",
32474 "name" : "service_state",
2489d6df
WB
32475 "parameters" : {
32476 "additionalProperties" : 0,
32477 "properties" : {
2489d6df
WB
32478 "node" : {
32479 "description" : "The cluster node name.",
32480 "format" : "pve-node",
32481 "type" : "string",
32482 "typetext" : "<string>"
4d47f125
TL
32483 },
32484 "service" : {
32485 "description" : "Service ID",
32486 "enum" : [
32487 "pveproxy",
32488 "pvedaemon",
32489 "spiceproxy",
32490 "pvestatd",
32491 "pve-cluster",
32492 "corosync",
32493 "pve-firewall",
32494 "pvefw-logger",
32495 "pve-ha-crm",
32496 "pve-ha-lrm",
32497 "sshd",
32498 "syslog",
8f4d9c87 32499 "systemd-journald",
4d47f125
TL
32500 "cron",
32501 "postfix",
32502 "ksmtuned",
8f4d9c87
TL
32503 "systemd-timesyncd",
32504 "chrony"
4d47f125
TL
32505 ],
32506 "type" : "string"
2489d6df
WB
32507 }
32508 }
32509 },
32510 "permissions" : {
32511 "check" : [
32512 "perm",
4d47f125 32513 "/nodes/{node}",
2489d6df 32514 [
4d47f125 32515 "Sys.Audit"
2489d6df
WB
32516 ]
32517 ]
32518 },
32519 "protected" : 1,
32520 "proxyto" : "node",
32521 "returns" : {
4d47f125 32522 "type" : "object"
2489d6df
WB
32523 }
32524 }
32525 },
32526 "leaf" : 1,
4d47f125
TL
32527 "path" : "/nodes/{node}/services/{service}/state",
32528 "text" : "state"
32529 },
32530 {
32531 "info" : {
32532 "POST" : {
e9cd3bd4 32533 "allowtoken" : 1,
4d47f125
TL
32534 "description" : "Start service.",
32535 "method" : "POST",
32536 "name" : "service_start",
32537 "parameters" : {
32538 "additionalProperties" : 0,
32539 "properties" : {
32540 "node" : {
32541 "description" : "The cluster node name.",
32542 "format" : "pve-node",
32543 "type" : "string",
32544 "typetext" : "<string>"
32545 },
32546 "service" : {
32547 "description" : "Service ID",
32548 "enum" : [
32549 "pveproxy",
32550 "pvedaemon",
32551 "spiceproxy",
32552 "pvestatd",
32553 "pve-cluster",
32554 "corosync",
32555 "pve-firewall",
32556 "pvefw-logger",
32557 "pve-ha-crm",
32558 "pve-ha-lrm",
32559 "sshd",
32560 "syslog",
8f4d9c87 32561 "systemd-journald",
4d47f125
TL
32562 "cron",
32563 "postfix",
32564 "ksmtuned",
8f4d9c87
TL
32565 "systemd-timesyncd",
32566 "chrony"
4d47f125
TL
32567 ],
32568 "type" : "string"
32569 }
32570 }
7aacca6f 32571 },
4d47f125
TL
32572 "permissions" : {
32573 "check" : [
32574 "perm",
32575 "/nodes/{node}",
32576 [
32577 "Sys.Modify"
32578 ]
32579 ]
7aacca6f 32580 },
4d47f125
TL
32581 "protected" : 1,
32582 "proxyto" : "node",
32583 "returns" : {
32584 "type" : "string"
32585 }
32586 }
56122987 32587 },
4d47f125
TL
32588 "leaf" : 1,
32589 "path" : "/nodes/{node}/services/{service}/start",
32590 "text" : "start"
32591 },
44660702
DM
32592 {
32593 "info" : {
4d47f125 32594 "POST" : {
e9cd3bd4 32595 "allowtoken" : 1,
4d47f125
TL
32596 "description" : "Stop service.",
32597 "method" : "POST",
32598 "name" : "service_stop",
44660702
DM
32599 "parameters" : {
32600 "additionalProperties" : 0,
32601 "properties" : {
44660702
DM
32602 "node" : {
32603 "description" : "The cluster node name.",
32604 "format" : "pve-node",
013dc89f
DM
32605 "type" : "string",
32606 "typetext" : "<string>"
2489d6df 32607 },
4d47f125
TL
32608 "service" : {
32609 "description" : "Service ID",
32610 "enum" : [
32611 "pveproxy",
32612 "pvedaemon",
32613 "spiceproxy",
32614 "pvestatd",
32615 "pve-cluster",
32616 "corosync",
32617 "pve-firewall",
32618 "pvefw-logger",
32619 "pve-ha-crm",
32620 "pve-ha-lrm",
32621 "sshd",
32622 "syslog",
8f4d9c87 32623 "systemd-journald",
4d47f125
TL
32624 "cron",
32625 "postfix",
32626 "ksmtuned",
8f4d9c87
TL
32627 "systemd-timesyncd",
32628 "chrony"
4d47f125
TL
32629 ],
32630 "type" : "string"
44660702
DM
32631 }
32632 }
32633 },
32634 "permissions" : {
32635 "check" : [
32636 "perm",
4d47f125 32637 "/nodes/{node}",
44660702
DM
32638 [
32639 "Sys.Modify"
32640 ]
32641 ]
32642 },
32643 "protected" : 1,
32644 "proxyto" : "node",
32645 "returns" : {
2489d6df 32646 "type" : "string"
44660702
DM
32647 }
32648 }
32649 },
32650 "leaf" : 1,
4d47f125
TL
32651 "path" : "/nodes/{node}/services/{service}/stop",
32652 "text" : "stop"
7aacca6f 32653 },
32d876b5
DM
32654 {
32655 "info" : {
4d47f125 32656 "POST" : {
e9cd3bd4 32657 "allowtoken" : 1,
739d4d64 32658 "description" : "Hard restart service. Use reload if you want to reduce interruptions.",
4d47f125
TL
32659 "method" : "POST",
32660 "name" : "service_restart",
32d876b5
DM
32661 "parameters" : {
32662 "additionalProperties" : 0,
32663 "properties" : {
4d47f125
TL
32664 "node" : {
32665 "description" : "The cluster node name.",
32666 "format" : "pve-node",
32667 "type" : "string",
32668 "typetext" : "<string>"
32669 },
32670 "service" : {
32671 "description" : "Service ID",
32d876b5 32672 "enum" : [
4d47f125
TL
32673 "pveproxy",
32674 "pvedaemon",
32675 "spiceproxy",
32676 "pvestatd",
32677 "pve-cluster",
32678 "corosync",
32679 "pve-firewall",
32680 "pvefw-logger",
32681 "pve-ha-crm",
32682 "pve-ha-lrm",
32683 "sshd",
32684 "syslog",
8f4d9c87 32685 "systemd-journald",
4d47f125
TL
32686 "cron",
32687 "postfix",
32688 "ksmtuned",
8f4d9c87
TL
32689 "systemd-timesyncd",
32690 "chrony"
32d876b5
DM
32691 ],
32692 "type" : "string"
32d876b5
DM
32693 }
32694 }
32695 },
32696 "permissions" : {
32697 "check" : [
32698 "perm",
4d47f125 32699 "/nodes/{node}",
32d876b5
DM
32700 [
32701 "Sys.Modify"
32702 ]
32703 ]
32704 },
32705 "protected" : 1,
32706 "proxyto" : "node",
32707 "returns" : {
4d47f125 32708 "type" : "string"
32d876b5 32709 }
4d47f125
TL
32710 }
32711 },
32712 "leaf" : 1,
32713 "path" : "/nodes/{node}/services/{service}/restart",
32714 "text" : "restart"
32715 },
32716 {
32717 "info" : {
32d876b5 32718 "POST" : {
e9cd3bd4 32719 "allowtoken" : 1,
739d4d64 32720 "description" : "Reload service. Falls back to restart if service cannot be reloaded.",
32d876b5 32721 "method" : "POST",
4d47f125 32722 "name" : "service_reload",
32d876b5
DM
32723 "parameters" : {
32724 "additionalProperties" : 0,
32725 "properties" : {
32d876b5
DM
32726 "node" : {
32727 "description" : "The cluster node name.",
32728 "format" : "pve-node",
32729 "type" : "string",
32730 "typetext" : "<string>"
4d47f125
TL
32731 },
32732 "service" : {
32733 "description" : "Service ID",
32734 "enum" : [
32735 "pveproxy",
32736 "pvedaemon",
32737 "spiceproxy",
32738 "pvestatd",
32739 "pve-cluster",
32740 "corosync",
32741 "pve-firewall",
32742 "pvefw-logger",
32743 "pve-ha-crm",
32744 "pve-ha-lrm",
32745 "sshd",
32746 "syslog",
8f4d9c87 32747 "systemd-journald",
4d47f125
TL
32748 "cron",
32749 "postfix",
32750 "ksmtuned",
8f4d9c87
TL
32751 "systemd-timesyncd",
32752 "chrony"
4d47f125
TL
32753 ],
32754 "type" : "string"
32d876b5
DM
32755 }
32756 }
32757 },
32758 "permissions" : {
32759 "check" : [
32760 "perm",
4d47f125 32761 "/nodes/{node}",
32d876b5
DM
32762 [
32763 "Sys.Modify"
32764 ]
32765 ]
32766 },
32767 "protected" : 1,
32768 "proxyto" : "node",
32769 "returns" : {
4d47f125 32770 "type" : "string"
32d876b5
DM
32771 }
32772 }
32773 },
32774 "leaf" : 1,
4d47f125
TL
32775 "path" : "/nodes/{node}/services/{service}/reload",
32776 "text" : "reload"
32d876b5
DM
32777 }
32778 ],
32779 "info" : {
32780 "GET" : {
e9cd3bd4 32781 "allowtoken" : 1,
4d47f125 32782 "description" : "Directory index",
44660702 32783 "method" : "GET",
4d47f125 32784 "name" : "srvcmdidx",
44660702
DM
32785 "parameters" : {
32786 "additionalProperties" : 0,
32787 "properties" : {
44660702
DM
32788 "node" : {
32789 "description" : "The cluster node name.",
32790 "format" : "pve-node",
013dc89f
DM
32791 "type" : "string",
32792 "typetext" : "<string>"
44660702 32793 },
4d47f125
TL
32794 "service" : {
32795 "description" : "Service ID",
32796 "enum" : [
32797 "pveproxy",
32798 "pvedaemon",
32799 "spiceproxy",
32800 "pvestatd",
32801 "pve-cluster",
32802 "corosync",
32803 "pve-firewall",
32804 "pvefw-logger",
32805 "pve-ha-crm",
32806 "pve-ha-lrm",
32807 "sshd",
32808 "syslog",
8f4d9c87 32809 "systemd-journald",
4d47f125
TL
32810 "cron",
32811 "postfix",
32812 "ksmtuned",
8f4d9c87
TL
32813 "systemd-timesyncd",
32814 "chrony"
4d47f125
TL
32815 ],
32816 "type" : "string"
44660702 32817 }
7aacca6f 32818 }
56122987 32819 },
56122987
DM
32820 "permissions" : {
32821 "check" : [
32822 "perm",
7aacca6f 32823 "/nodes/{node}",
56122987 32824 [
4d47f125 32825 "Sys.Audit"
56122987
DM
32826 ]
32827 ]
32828 },
44660702
DM
32829 "returns" : {
32830 "items" : {
32831 "properties" : {
4d47f125 32832 "subdir" : {
44660702
DM
32833 "type" : "string"
32834 }
56122987 32835 },
44660702 32836 "type" : "object"
56122987 32837 },
2489d6df
WB
32838 "links" : [
32839 {
4d47f125 32840 "href" : "{subdir}",
2489d6df
WB
32841 "rel" : "child"
32842 }
32843 ],
32844 "type" : "array"
32845 }
32846 }
4d47f125
TL
32847 },
32848 "leaf" : 0,
32849 "path" : "/nodes/{node}/services/{service}",
32850 "text" : "{service}"
7aacca6f
DM
32851 }
32852 ],
44660702
DM
32853 "info" : {
32854 "GET" : {
e9cd3bd4 32855 "allowtoken" : 1,
4d47f125 32856 "description" : "Service list.",
44660702
DM
32857 "method" : "GET",
32858 "name" : "index",
32859 "parameters" : {
32860 "additionalProperties" : 0,
32861 "properties" : {
32862 "node" : {
32863 "description" : "The cluster node name.",
32864 "format" : "pve-node",
013dc89f
DM
32865 "type" : "string",
32866 "typetext" : "<string>"
44660702
DM
32867 }
32868 }
32869 },
32870 "permissions" : {
32871 "check" : [
32872 "perm",
4d47f125 32873 "/nodes/{node}",
44660702 32874 [
4d47f125
TL
32875 "Sys.Audit"
32876 ]
44660702
DM
32877 ]
32878 },
4d47f125
TL
32879 "protected" : 1,
32880 "proxyto" : "node",
44660702
DM
32881 "returns" : {
32882 "items" : {
32883 "properties" : {},
32884 "type" : "object"
32885 },
32886 "links" : [
32887 {
4d47f125 32888 "href" : "{service}",
44660702
DM
32889 "rel" : "child"
32890 }
32891 ],
32892 "type" : "array"
32893 }
32894 }
32895 },
7aacca6f 32896 "leaf" : 0,
4d47f125
TL
32897 "path" : "/nodes/{node}/services",
32898 "text" : "services"
7aacca6f
DM
32899 },
32900 {
7aacca6f 32901 "info" : {
ac70d7d1
TL
32902 "DELETE" : {
32903 "allowtoken" : 1,
32904 "description" : "Delete subscription key of this node.",
32905 "method" : "DELETE",
32906 "name" : "delete",
32907 "parameters" : {
32908 "additionalProperties" : 0,
32909 "properties" : {
32910 "node" : {
32911 "description" : "The cluster node name.",
32912 "format" : "pve-node",
32913 "type" : "string",
32914 "typetext" : "<string>"
32915 }
32916 }
32917 },
32918 "permissions" : {
32919 "check" : [
32920 "perm",
32921 "/nodes/{node}",
32922 [
32923 "Sys.Modify"
32924 ]
32925 ]
32926 },
32927 "protected" : 1,
32928 "proxyto" : "node",
32929 "returns" : {
32930 "type" : "null"
32931 }
32932 },
4d47f125 32933 "GET" : {
e9cd3bd4 32934 "allowtoken" : 1,
4d47f125
TL
32935 "description" : "Read subscription info.",
32936 "method" : "GET",
32937 "name" : "get",
7aacca6f 32938 "parameters" : {
44660702 32939 "additionalProperties" : 0,
7aacca6f 32940 "properties" : {
44660702 32941 "node" : {
4d47f125 32942 "description" : "The cluster node name.",
44660702 32943 "format" : "pve-node",
013dc89f
DM
32944 "type" : "string",
32945 "typetext" : "<string>"
4d47f125
TL
32946 }
32947 }
32948 },
32949 "permissions" : {
32950 "user" : "all"
32951 },
32952 "proxyto" : "node",
32953 "returns" : {
32954 "type" : "object"
32955 }
32956 },
32957 "POST" : {
e9cd3bd4 32958 "allowtoken" : 1,
4d47f125
TL
32959 "description" : "Update subscription info.",
32960 "method" : "POST",
32961 "name" : "update",
32962 "parameters" : {
32963 "additionalProperties" : 0,
32964 "properties" : {
32965 "force" : {
32966 "default" : 0,
32967 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 32968 "optional" : 1,
4d47f125
TL
32969 "type" : "boolean",
32970 "typetext" : "<boolean>"
44660702 32971 },
4d47f125
TL
32972 "node" : {
32973 "description" : "The cluster node name.",
32974 "format" : "pve-node",
013dc89f
DM
32975 "type" : "string",
32976 "typetext" : "<string>"
4d47f125
TL
32977 }
32978 }
32979 },
32980 "permissions" : {
32981 "check" : [
32982 "perm",
32983 "/nodes/{node}",
32984 [
32985 "Sys.Modify"
32986 ]
32987 ]
32988 },
32989 "protected" : 1,
32990 "proxyto" : "node",
32991 "returns" : {
32992 "type" : "null"
32993 }
32994 },
32995 "PUT" : {
e9cd3bd4 32996 "allowtoken" : 1,
4d47f125
TL
32997 "description" : "Set subscription key.",
32998 "method" : "PUT",
32999 "name" : "set",
33000 "parameters" : {
33001 "additionalProperties" : 0,
33002 "properties" : {
33003 "key" : {
33004 "description" : "Proxmox VE subscription key",
33005 "maxLength" : 32,
5f26e15b 33006 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 33007 "type" : "string"
7aacca6f 33008 },
4d47f125
TL
33009 "node" : {
33010 "description" : "The cluster node name.",
33011 "format" : "pve-node",
013dc89f
DM
33012 "type" : "string",
33013 "typetext" : "<string>"
7aacca6f 33014 }
7aacca6f
DM
33015 }
33016 },
7aacca6f 33017 "permissions" : {
4d47f125
TL
33018 "check" : [
33019 "perm",
33020 "/nodes/{node}",
33021 [
33022 "Sys.Modify"
33023 ]
33024 ]
7aacca6f 33025 },
44660702 33026 "protected" : 1,
7aacca6f 33027 "proxyto" : "node",
7aacca6f 33028 "returns" : {
4d47f125 33029 "type" : "null"
7aacca6f
DM
33030 }
33031 }
33032 },
4d47f125
TL
33033 "leaf" : 1,
33034 "path" : "/nodes/{node}/subscription",
33035 "text" : "subscription"
44660702
DM
33036 },
33037 {
7aacca6f
DM
33038 "children" : [
33039 {
4d47f125
TL
33040 "info" : {
33041 "DELETE" : {
e9cd3bd4 33042 "allowtoken" : 1,
4d47f125
TL
33043 "description" : "Delete network device configuration",
33044 "method" : "DELETE",
33045 "name" : "delete_network",
33046 "parameters" : {
33047 "additionalProperties" : 0,
33048 "properties" : {
33049 "iface" : {
33050 "description" : "Network interface name.",
33051 "format" : "pve-iface",
33052 "maxLength" : 20,
33053 "minLength" : 2,
33054 "type" : "string",
33055 "typetext" : "<string>"
7aacca6f 33056 },
4d47f125
TL
33057 "node" : {
33058 "description" : "The cluster node name.",
33059 "format" : "pve-node",
33060 "type" : "string",
33061 "typetext" : "<string>"
44660702
DM
33062 }
33063 }
33064 },
4d47f125
TL
33065 "permissions" : {
33066 "check" : [
33067 "perm",
33068 "/nodes/{node}",
33069 [
33070 "Sys.Modify"
33071 ]
33072 ]
33073 },
33074 "protected" : 1,
33075 "proxyto" : "node",
33076 "returns" : {
33077 "type" : "null"
33078 }
33079 },
33080 "GET" : {
e9cd3bd4 33081 "allowtoken" : 1,
4d47f125
TL
33082 "description" : "Read network device configuration",
33083 "method" : "GET",
33084 "name" : "network_config",
33085 "parameters" : {
33086 "additionalProperties" : 0,
33087 "properties" : {
33088 "iface" : {
33089 "description" : "Network interface name.",
33090 "format" : "pve-iface",
33091 "maxLength" : 20,
33092 "minLength" : 2,
33093 "type" : "string",
33094 "typetext" : "<string>"
56122987 33095 },
4d47f125
TL
33096 "node" : {
33097 "description" : "The cluster node name.",
33098 "format" : "pve-node",
33099 "type" : "string",
33100 "typetext" : "<string>"
44660702
DM
33101 }
33102 }
33103 },
4d47f125
TL
33104 "permissions" : {
33105 "check" : [
33106 "perm",
33107 "/nodes/{node}",
33108 [
33109 "Sys.Audit"
33110 ]
33111 ]
33112 },
33113 "proxyto" : "node",
33114 "returns" : {
33115 "properties" : {
33116 "method" : {
33117 "type" : "string"
44660702 33118 },
4d47f125 33119 "type" : {
44660702
DM
33120 "type" : "string"
33121 }
4d47f125
TL
33122 },
33123 "type" : "object"
33124 }
56122987 33125 },
4d47f125 33126 "PUT" : {
e9cd3bd4 33127 "allowtoken" : 1,
4d47f125
TL
33128 "description" : "Update network device configuration",
33129 "method" : "PUT",
33130 "name" : "update_network",
33131 "parameters" : {
33132 "additionalProperties" : 0,
33133 "properties" : {
33134 "address" : {
33135 "description" : "IP address.",
33136 "format" : "ipv4",
33137 "optional" : 1,
33138 "requires" : "netmask",
33139 "type" : "string",
33140 "typetext" : "<string>"
33141 },
33142 "address6" : {
33143 "description" : "IP address.",
33144 "format" : "ipv6",
33145 "optional" : 1,
33146 "requires" : "netmask6",
33147 "type" : "string",
33148 "typetext" : "<string>"
33149 },
33150 "autostart" : {
33151 "description" : "Automatically start interface on boot.",
33152 "optional" : 1,
33153 "type" : "boolean",
33154 "typetext" : "<boolean>"
33155 },
e9cd3bd4
TL
33156 "bond-primary" : {
33157 "description" : "Specify the primary interface for active-backup bond.",
33158 "format" : "pve-iface",
33159 "optional" : 1,
33160 "type" : "string",
33161 "typetext" : "<string>"
33162 },
4d47f125
TL
33163 "bond_mode" : {
33164 "description" : "Bonding mode.",
33165 "enum" : [
33166 "balance-rr",
33167 "active-backup",
33168 "balance-xor",
33169 "broadcast",
33170 "802.3ad",
33171 "balance-tlb",
33172 "balance-alb",
33173 "balance-slb",
33174 "lacp-balance-slb",
33175 "lacp-balance-tcp"
33176 ],
33177 "optional" : 1,
33178 "type" : "string"
33179 },
33180 "bond_xmit_hash_policy" : {
33181 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
33182 "enum" : [
33183 "layer2",
33184 "layer2+3",
33185 "layer3+4"
33186 ],
33187 "optional" : 1,
33188 "type" : "string"
33189 },
33190 "bridge_ports" : {
1e3f8156 33191 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33192 "format" : "pve-iface-list",
33193 "optional" : 1,
33194 "type" : "string",
33195 "typetext" : "<string>"
33196 },
33197 "bridge_vlan_aware" : {
33198 "description" : "Enable bridge vlan support.",
33199 "optional" : 1,
33200 "type" : "boolean",
33201 "typetext" : "<boolean>"
33202 },
bb4c8cf8
TL
33203 "cidr" : {
33204 "description" : "IPv4 CIDR.",
33205 "format" : "CIDRv4",
33206 "optional" : 1,
33207 "type" : "string",
33208 "typetext" : "<string>"
33209 },
33210 "cidr6" : {
33211 "description" : "IPv6 CIDR.",
33212 "format" : "CIDRv6",
33213 "optional" : 1,
33214 "type" : "string",
33215 "typetext" : "<string>"
33216 },
4d47f125
TL
33217 "comments" : {
33218 "description" : "Comments",
33219 "optional" : 1,
33220 "type" : "string",
33221 "typetext" : "<string>"
33222 },
33223 "comments6" : {
33224 "description" : "Comments",
33225 "optional" : 1,
33226 "type" : "string",
33227 "typetext" : "<string>"
33228 },
33229 "delete" : {
33230 "description" : "A list of settings you want to delete.",
33231 "format" : "pve-configid-list",
33232 "optional" : 1,
33233 "type" : "string",
33234 "typetext" : "<string>"
33235 },
33236 "gateway" : {
33237 "description" : "Default gateway address.",
33238 "format" : "ipv4",
33239 "optional" : 1,
33240 "type" : "string",
33241 "typetext" : "<string>"
33242 },
33243 "gateway6" : {
33244 "description" : "Default ipv6 gateway address.",
33245 "format" : "ipv6",
33246 "optional" : 1,
33247 "type" : "string",
33248 "typetext" : "<string>"
33249 },
33250 "iface" : {
33251 "description" : "Network interface name.",
33252 "format" : "pve-iface",
33253 "maxLength" : 20,
33254 "minLength" : 2,
33255 "type" : "string",
33256 "typetext" : "<string>"
56122987 33257 },
e9cd3bd4
TL
33258 "mtu" : {
33259 "description" : "MTU.",
33260 "maximum" : 65520,
33261 "minimum" : 1280,
33262 "optional" : 1,
33263 "type" : "integer",
33264 "typetext" : "<integer> (1280 - 65520)"
33265 },
4d47f125
TL
33266 "netmask" : {
33267 "description" : "Network mask.",
33268 "format" : "ipv4mask",
33269 "optional" : 1,
33270 "requires" : "address",
33271 "type" : "string",
33272 "typetext" : "<string>"
33273 },
33274 "netmask6" : {
33275 "description" : "Network mask.",
33276 "maximum" : 128,
33277 "minimum" : 0,
33278 "optional" : 1,
33279 "requires" : "address6",
33280 "type" : "integer",
33281 "typetext" : "<integer> (0 - 128)"
56122987 33282 },
44660702
DM
33283 "node" : {
33284 "description" : "The cluster node name.",
33285 "format" : "pve-node",
013dc89f
DM
33286 "type" : "string",
33287 "typetext" : "<string>"
44660702 33288 },
4d47f125
TL
33289 "ovs_bonds" : {
33290 "description" : "Specify the interfaces used by the bonding device.",
33291 "format" : "pve-iface-list",
33292 "optional" : 1,
33293 "type" : "string",
33294 "typetext" : "<string>"
33295 },
33296 "ovs_bridge" : {
33297 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
33298 "format" : "pve-iface",
33299 "optional" : 1,
33300 "type" : "string",
33301 "typetext" : "<string>"
33302 },
33303 "ovs_options" : {
33304 "description" : "OVS interface options.",
33305 "maxLength" : 1024,
33306 "optional" : 1,
33307 "type" : "string",
33308 "typetext" : "<string>"
33309 },
33310 "ovs_ports" : {
1e3f8156 33311 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33312 "format" : "pve-iface-list",
33313 "optional" : 1,
33314 "type" : "string",
33315 "typetext" : "<string>"
33316 },
33317 "ovs_tag" : {
33318 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
33319 "maximum" : 4094,
33320 "minimum" : 1,
33321 "optional" : 1,
33322 "type" : "integer",
33323 "typetext" : "<integer> (1 - 4094)"
33324 },
33325 "slaves" : {
33326 "description" : "Specify the interfaces used by the bonding device.",
33327 "format" : "pve-iface-list",
33328 "optional" : 1,
33329 "type" : "string",
33330 "typetext" : "<string>"
33331 },
33332 "type" : {
33333 "description" : "Network interface type",
44660702 33334 "enum" : [
4d47f125
TL
33335 "bridge",
33336 "bond",
33337 "eth",
33338 "alias",
33339 "vlan",
33340 "OVSBridge",
33341 "OVSBond",
33342 "OVSPort",
33343 "OVSIntPort",
33344 "unknown"
44660702
DM
33345 ],
33346 "type" : "string"
e9cd3bd4
TL
33347 },
33348 "vlan-id" : {
33349 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
33350 "maximum" : 4094,
33351 "minimum" : 1,
33352 "optional" : 1,
33353 "type" : "integer",
33354 "typetext" : "<integer> (1 - 4094)"
33355 },
33356 "vlan-raw-device" : {
33357 "description" : "Specify the raw interface for the vlan interface.",
33358 "format" : "pve-iface",
33359 "optional" : 1,
33360 "type" : "string",
33361 "typetext" : "<string>"
44660702
DM
33362 }
33363 }
33364 },
33365 "permissions" : {
33366 "check" : [
33367 "perm",
33368 "/nodes/{node}",
33369 [
4d47f125 33370 "Sys.Modify"
44660702
DM
33371 ]
33372 ]
33373 },
4d47f125
TL
33374 "protected" : 1,
33375 "proxyto" : "node",
44660702 33376 "returns" : {
4d47f125 33377 "type" : "null"
44660702
DM
33378 }
33379 }
33380 },
4d47f125
TL
33381 "leaf" : 1,
33382 "path" : "/nodes/{node}/network/{iface}",
33383 "text" : "{iface}"
44660702
DM
33384 }
33385 ],
33386 "info" : {
4d47f125 33387 "DELETE" : {
e9cd3bd4 33388 "allowtoken" : 1,
4d47f125
TL
33389 "description" : "Revert network configuration changes.",
33390 "method" : "DELETE",
33391 "name" : "revert_network_changes",
44660702
DM
33392 "parameters" : {
33393 "additionalProperties" : 0,
33394 "properties" : {
33395 "node" : {
33396 "description" : "The cluster node name.",
33397 "format" : "pve-node",
013dc89f
DM
33398 "type" : "string",
33399 "typetext" : "<string>"
44660702
DM
33400 }
33401 }
33402 },
33403 "permissions" : {
33404 "check" : [
33405 "perm",
33406 "/nodes/{node}",
33407 [
4d47f125 33408 "Sys.Modify"
44660702
DM
33409 ]
33410 ]
33411 },
33412 "protected" : 1,
33413 "proxyto" : "node",
4d47f125
TL
33414 "returns" : {
33415 "type" : "null"
33416 }
33417 },
33418 "GET" : {
e9cd3bd4 33419 "allowtoken" : 1,
4d47f125
TL
33420 "description" : "List available networks",
33421 "method" : "GET",
33422 "name" : "index",
33423 "parameters" : {
33424 "additionalProperties" : 0,
33425 "properties" : {
33426 "node" : {
33427 "description" : "The cluster node name.",
33428 "format" : "pve-node",
33429 "type" : "string",
33430 "typetext" : "<string>"
33431 },
33432 "type" : {
33433 "description" : "Only list specific interface types.",
33434 "enum" : [
33435 "bridge",
33436 "bond",
33437 "eth",
33438 "alias",
33439 "vlan",
33440 "OVSBridge",
33441 "OVSBond",
33442 "OVSPort",
33443 "OVSIntPort",
33444 "any_bridge"
33445 ],
33446 "optional" : 1,
33447 "type" : "string"
33448 }
33449 }
33450 },
33451 "permissions" : {
33452 "user" : "all"
33453 },
33454 "proxyto" : "node",
44660702
DM
33455 "returns" : {
33456 "items" : {
33457 "properties" : {},
33458 "type" : "object"
33459 },
33460 "links" : [
33461 {
4d47f125 33462 "href" : "{iface}",
44660702 33463 "rel" : "child"
56122987 33464 }
44660702
DM
33465 ],
33466 "type" : "array"
33467 }
4d47f125
TL
33468 },
33469 "POST" : {
e9cd3bd4 33470 "allowtoken" : 1,
4d47f125
TL
33471 "description" : "Create network device configuration",
33472 "method" : "POST",
33473 "name" : "create_network",
7aacca6f 33474 "parameters" : {
44660702 33475 "additionalProperties" : 0,
7aacca6f 33476 "properties" : {
4d47f125
TL
33477 "address" : {
33478 "description" : "IP address.",
33479 "format" : "ipv4",
33480 "optional" : 1,
33481 "requires" : "netmask",
33482 "type" : "string",
33483 "typetext" : "<string>"
33484 },
33485 "address6" : {
33486 "description" : "IP address.",
33487 "format" : "ipv6",
33488 "optional" : 1,
33489 "requires" : "netmask6",
33490 "type" : "string",
33491 "typetext" : "<string>"
33492 },
33493 "autostart" : {
33494 "description" : "Automatically start interface on boot.",
33495 "optional" : 1,
33496 "type" : "boolean",
33497 "typetext" : "<boolean>"
33498 },
e9cd3bd4
TL
33499 "bond-primary" : {
33500 "description" : "Specify the primary interface for active-backup bond.",
33501 "format" : "pve-iface",
33502 "optional" : 1,
33503 "type" : "string",
33504 "typetext" : "<string>"
33505 },
4d47f125
TL
33506 "bond_mode" : {
33507 "description" : "Bonding mode.",
33508 "enum" : [
33509 "balance-rr",
33510 "active-backup",
33511 "balance-xor",
33512 "broadcast",
33513 "802.3ad",
33514 "balance-tlb",
33515 "balance-alb",
33516 "balance-slb",
33517 "lacp-balance-slb",
33518 "lacp-balance-tcp"
33519 ],
33520 "optional" : 1,
33521 "type" : "string"
33522 },
33523 "bond_xmit_hash_policy" : {
33524 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
33525 "enum" : [
33526 "layer2",
33527 "layer2+3",
33528 "layer3+4"
33529 ],
33530 "optional" : 1,
33531 "type" : "string"
33532 },
33533 "bridge_ports" : {
1e3f8156 33534 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33535 "format" : "pve-iface-list",
33536 "optional" : 1,
013dc89f
DM
33537 "type" : "string",
33538 "typetext" : "<string>"
4d47f125
TL
33539 },
33540 "bridge_vlan_aware" : {
33541 "description" : "Enable bridge vlan support.",
44660702 33542 "optional" : 1,
013dc89f
DM
33543 "type" : "boolean",
33544 "typetext" : "<boolean>"
44660702 33545 },
bb4c8cf8
TL
33546 "cidr" : {
33547 "description" : "IPv4 CIDR.",
33548 "format" : "CIDRv4",
33549 "optional" : 1,
33550 "type" : "string",
33551 "typetext" : "<string>"
33552 },
33553 "cidr6" : {
33554 "description" : "IPv6 CIDR.",
33555 "format" : "CIDRv6",
33556 "optional" : 1,
33557 "type" : "string",
33558 "typetext" : "<string>"
33559 },
4d47f125
TL
33560 "comments" : {
33561 "description" : "Comments",
33562 "optional" : 1,
33563 "type" : "string",
33564 "typetext" : "<string>"
33565 },
33566 "comments6" : {
33567 "description" : "Comments",
33568 "optional" : 1,
33569 "type" : "string",
33570 "typetext" : "<string>"
33571 },
33572 "gateway" : {
33573 "description" : "Default gateway address.",
33574 "format" : "ipv4",
33575 "optional" : 1,
33576 "type" : "string",
33577 "typetext" : "<string>"
33578 },
33579 "gateway6" : {
33580 "description" : "Default ipv6 gateway address.",
33581 "format" : "ipv6",
33582 "optional" : 1,
33583 "type" : "string",
33584 "typetext" : "<string>"
33585 },
33586 "iface" : {
33587 "description" : "Network interface name.",
33588 "format" : "pve-iface",
33589 "maxLength" : 20,
33590 "minLength" : 2,
33591 "type" : "string",
33592 "typetext" : "<string>"
33593 },
e9cd3bd4
TL
33594 "mtu" : {
33595 "description" : "MTU.",
33596 "maximum" : 65520,
33597 "minimum" : 1280,
33598 "optional" : 1,
33599 "type" : "integer",
33600 "typetext" : "<integer> (1280 - 65520)"
33601 },
4d47f125
TL
33602 "netmask" : {
33603 "description" : "Network mask.",
33604 "format" : "ipv4mask",
33605 "optional" : 1,
33606 "requires" : "address",
33607 "type" : "string",
33608 "typetext" : "<string>"
33609 },
33610 "netmask6" : {
33611 "description" : "Network mask.",
33612 "maximum" : 128,
33613 "minimum" : 0,
33614 "optional" : 1,
33615 "requires" : "address6",
33616 "type" : "integer",
33617 "typetext" : "<integer> (0 - 128)"
33618 },
7aacca6f 33619 "node" : {
7aacca6f 33620 "description" : "The cluster node name.",
44660702 33621 "format" : "pve-node",
013dc89f
DM
33622 "type" : "string",
33623 "typetext" : "<string>"
4d47f125
TL
33624 },
33625 "ovs_bonds" : {
33626 "description" : "Specify the interfaces used by the bonding device.",
33627 "format" : "pve-iface-list",
33628 "optional" : 1,
33629 "type" : "string",
33630 "typetext" : "<string>"
33631 },
33632 "ovs_bridge" : {
33633 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
33634 "format" : "pve-iface",
33635 "optional" : 1,
33636 "type" : "string",
33637 "typetext" : "<string>"
33638 },
33639 "ovs_options" : {
33640 "description" : "OVS interface options.",
33641 "maxLength" : 1024,
33642 "optional" : 1,
33643 "type" : "string",
33644 "typetext" : "<string>"
33645 },
33646 "ovs_ports" : {
1e3f8156 33647 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33648 "format" : "pve-iface-list",
33649 "optional" : 1,
33650 "type" : "string",
33651 "typetext" : "<string>"
33652 },
33653 "ovs_tag" : {
33654 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
33655 "maximum" : 4094,
33656 "minimum" : 1,
33657 "optional" : 1,
33658 "type" : "integer",
33659 "typetext" : "<integer> (1 - 4094)"
33660 },
33661 "slaves" : {
33662 "description" : "Specify the interfaces used by the bonding device.",
33663 "format" : "pve-iface-list",
33664 "optional" : 1,
33665 "type" : "string",
33666 "typetext" : "<string>"
33667 },
33668 "type" : {
33669 "description" : "Network interface type",
33670 "enum" : [
33671 "bridge",
33672 "bond",
33673 "eth",
33674 "alias",
33675 "vlan",
33676 "OVSBridge",
33677 "OVSBond",
33678 "OVSPort",
33679 "OVSIntPort",
33680 "unknown"
33681 ],
33682 "type" : "string"
e9cd3bd4
TL
33683 },
33684 "vlan-id" : {
33685 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
33686 "maximum" : 4094,
33687 "minimum" : 1,
33688 "optional" : 1,
33689 "type" : "integer",
33690 "typetext" : "<integer> (1 - 4094)"
33691 },
33692 "vlan-raw-device" : {
33693 "description" : "Specify the raw interface for the vlan interface.",
33694 "format" : "pve-iface",
33695 "optional" : 1,
33696 "type" : "string",
33697 "typetext" : "<string>"
7aacca6f
DM
33698 }
33699 }
33700 },
35a75dd3
DM
33701 "permissions" : {
33702 "check" : [
33703 "perm",
33704 "/nodes/{node}",
33705 [
33706 "Sys.Modify"
33707 ]
33708 ]
33709 },
7aacca6f 33710 "protected" : 1,
7aacca6f 33711 "proxyto" : "node",
44660702
DM
33712 "returns" : {
33713 "type" : "null"
33714 }
33715 },
33716 "PUT" : {
e9cd3bd4 33717 "allowtoken" : 1,
4d47f125 33718 "description" : "Reload network configuration",
44660702 33719 "method" : "PUT",
4d47f125 33720 "name" : "reload_network_config",
7aacca6f
DM
33721 "parameters" : {
33722 "additionalProperties" : 0,
33723 "properties" : {
7aacca6f 33724 "node" : {
7aacca6f 33725 "description" : "The cluster node name.",
44660702 33726 "format" : "pve-node",
013dc89f
DM
33727 "type" : "string",
33728 "typetext" : "<string>"
7aacca6f
DM
33729 }
33730 }
33731 },
35a75dd3
DM
33732 "permissions" : {
33733 "check" : [
33734 "perm",
33735 "/nodes/{node}",
33736 [
33737 "Sys.Modify"
33738 ]
33739 ]
33740 },
44660702
DM
33741 "protected" : 1,
33742 "proxyto" : "node",
7aacca6f 33743 "returns" : {
4d47f125 33744 "type" : "string"
44660702 33745 }
7aacca6f
DM
33746 }
33747 },
4d47f125
TL
33748 "leaf" : 0,
33749 "path" : "/nodes/{node}/network",
33750 "text" : "network"
7aacca6f
DM
33751 },
33752 {
7aacca6f
DM
33753 "children" : [
33754 {
4d47f125
TL
33755 "children" : [
33756 {
33757 "info" : {
33758 "GET" : {
e9cd3bd4 33759 "allowtoken" : 1,
4d47f125
TL
33760 "description" : "Read task log.",
33761 "method" : "GET",
33762 "name" : "read_task_log",
33763 "parameters" : {
33764 "additionalProperties" : 0,
33765 "properties" : {
33766 "limit" : {
33767 "default" : 50,
33768 "minimum" : 0,
33769 "optional" : 1,
33770 "type" : "integer",
33771 "typetext" : "<integer> (0 - N)"
33772 },
33773 "node" : {
33774 "description" : "The cluster node name.",
33775 "format" : "pve-node",
33776 "type" : "string",
33777 "typetext" : "<string>"
33778 },
33779 "start" : {
33780 "default" : 0,
33781 "minimum" : 0,
33782 "optional" : 1,
33783 "type" : "integer",
33784 "typetext" : "<integer> (0 - N)"
33785 },
33786 "upid" : {
33787 "type" : "string",
33788 "typetext" : "<string>"
33789 }
33790 }
33791 },
33792 "permissions" : {
33793 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
33794 "user" : "all"
33795 },
33796 "protected" : 1,
33797 "proxyto" : "node",
33798 "returns" : {
33799 "items" : {
33800 "properties" : {
33801 "n" : {
33802 "description" : "Line number",
33803 "type" : "integer"
33804 },
33805 "t" : {
33806 "description" : "Line text",
33807 "type" : "string"
33808 }
33809 },
33810 "type" : "object"
33811 },
33812 "type" : "array"
33813 }
33814 }
33815 },
33816 "leaf" : 1,
33817 "path" : "/nodes/{node}/tasks/{upid}/log",
33818 "text" : "log"
33819 },
33820 {
33821 "info" : {
33822 "GET" : {
e9cd3bd4 33823 "allowtoken" : 1,
4d47f125
TL
33824 "description" : "Read task status.",
33825 "method" : "GET",
33826 "name" : "read_task_status",
33827 "parameters" : {
33828 "additionalProperties" : 0,
33829 "properties" : {
33830 "node" : {
33831 "description" : "The cluster node name.",
33832 "format" : "pve-node",
33833 "type" : "string",
33834 "typetext" : "<string>"
33835 },
33836 "upid" : {
33837 "type" : "string",
33838 "typetext" : "<string>"
33839 }
33840 }
33841 },
33842 "permissions" : {
33843 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
33844 "user" : "all"
33845 },
33846 "protected" : 1,
33847 "proxyto" : "node",
33848 "returns" : {
33849 "properties" : {
33850 "pid" : {
33851 "type" : "integer"
33852 },
33853 "status" : {
33854 "enum" : [
33855 "running",
33856 "stopped"
33857 ],
33858 "type" : "string"
33859 }
33860 },
33861 "type" : "object"
33862 }
33863 }
33864 },
33865 "leaf" : 1,
33866 "path" : "/nodes/{node}/tasks/{upid}/status",
33867 "text" : "status"
33868 }
33869 ],
56122987 33870 "info" : {
7aacca6f 33871 "DELETE" : {
e9cd3bd4 33872 "allowtoken" : 1,
4d47f125 33873 "description" : "Stop a task.",
44660702 33874 "method" : "DELETE",
4d47f125 33875 "name" : "stop_task",
44660702
DM
33876 "parameters" : {
33877 "additionalProperties" : 0,
33878 "properties" : {
44660702
DM
33879 "node" : {
33880 "description" : "The cluster node name.",
33881 "format" : "pve-node",
013dc89f
DM
33882 "type" : "string",
33883 "typetext" : "<string>"
4d47f125
TL
33884 },
33885 "upid" : {
33886 "type" : "string",
33887 "typetext" : "<string>"
44660702
DM
33888 }
33889 }
7aacca6f
DM
33890 },
33891 "permissions" : {
4d47f125
TL
33892 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
33893 "user" : "all"
7aacca6f 33894 },
44660702 33895 "protected" : 1,
7aacca6f 33896 "proxyto" : "node",
44660702
DM
33897 "returns" : {
33898 "type" : "null"
33899 }
33900 },
33901 "GET" : {
e9cd3bd4 33902 "allowtoken" : 1,
4d47f125 33903 "description" : "",
44660702 33904 "method" : "GET",
4d47f125 33905 "name" : "upid_index",
7aacca6f
DM
33906 "parameters" : {
33907 "additionalProperties" : 0,
33908 "properties" : {
7aacca6f 33909 "node" : {
44660702 33910 "description" : "The cluster node name.",
7aacca6f 33911 "format" : "pve-node",
013dc89f
DM
33912 "type" : "string",
33913 "typetext" : "<string>"
7aacca6f 33914 },
4d47f125
TL
33915 "upid" : {
33916 "type" : "string",
33917 "typetext" : "<string>"
7aacca6f
DM
33918 }
33919 }
33920 },
7aacca6f 33921 "permissions" : {
4d47f125 33922 "user" : "all"
7aacca6f
DM
33923 },
33924 "returns" : {
4d47f125
TL
33925 "items" : {
33926 "properties" : {},
33927 "type" : "object"
33928 },
33929 "links" : [
33930 {
33931 "href" : "{name}",
33932 "rel" : "child"
33933 }
33934 ],
33935 "type" : "array"
44660702 33936 }
7aacca6f
DM
33937 }
33938 },
4d47f125
TL
33939 "leaf" : 0,
33940 "path" : "/nodes/{node}/tasks/{upid}",
33941 "text" : "{upid}"
7aacca6f
DM
33942 }
33943 ],
7aacca6f 33944 "info" : {
44660702 33945 "GET" : {
e9cd3bd4 33946 "allowtoken" : 1,
4d47f125 33947 "description" : "Read task list for one node (finished tasks).",
44660702 33948 "method" : "GET",
4d47f125 33949 "name" : "node_tasks",
44660702
DM
33950 "parameters" : {
33951 "additionalProperties" : 0,
33952 "properties" : {
4d47f125
TL
33953 "errors" : {
33954 "default" : 0,
7aacca6f 33955 "optional" : 1,
4d47f125
TL
33956 "type" : "boolean",
33957 "typetext" : "<boolean>"
7aacca6f 33958 },
4d47f125
TL
33959 "limit" : {
33960 "default" : 50,
33961 "description" : "Only list this amount of tasks.",
33962 "minimum" : 0,
44660702 33963 "optional" : 1,
4d47f125
TL
33964 "type" : "integer",
33965 "typetext" : "<integer> (0 - N)"
33966 },
33967 "node" : {
33968 "description" : "The cluster node name.",
33969 "format" : "pve-node",
013dc89f
DM
33970 "type" : "string",
33971 "typetext" : "<string>"
44660702 33972 },
5f26e15b
TL
33973 "source" : {
33974 "default" : "archive",
33975 "description" : "List archived, active or all tasks.",
33976 "enum" : [
33977 "archive",
33978 "active",
33979 "all"
33980 ],
33981 "optional" : 1,
33982 "type" : "string"
33983 },
4d47f125
TL
33984 "start" : {
33985 "default" : 0,
33986 "description" : "List tasks beginning from this offset.",
33987 "minimum" : 0,
44660702 33988 "optional" : 1,
4d47f125
TL
33989 "type" : "integer",
33990 "typetext" : "<integer> (0 - N)"
44660702 33991 },
5f26e15b
TL
33992 "typefilter" : {
33993 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
33994 "optional" : 1,
33995 "type" : "string",
33996 "typetext" : "<string>"
33997 },
4d47f125
TL
33998 "userfilter" : {
33999 "description" : "Only list tasks from this user.",
44660702 34000 "optional" : 1,
013dc89f
DM
34001 "type" : "string",
34002 "typetext" : "<string>"
44660702 34003 },
4d47f125
TL
34004 "vmid" : {
34005 "description" : "Only list tasks for this VM.",
34006 "format" : "pve-vmid",
44660702
DM
34007 "minimum" : 1,
34008 "optional" : 1,
4bd7df8b 34009 "type" : "integer",
4d47f125
TL
34010 "typetext" : "<integer> (1 - N)"
34011 }
34012 }
34013 },
34014 "permissions" : {
34015 "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).",
34016 "user" : "all"
34017 },
34018 "proxyto" : "node",
34019 "returns" : {
34020 "items" : {
34021 "properties" : {
34022 "endtime" : {
34023 "optional" : 1,
34024 "title" : "Endtime",
34025 "type" : "integer"
34026 },
34027 "id" : {
4d47f125
TL
34028 "title" : "ID",
34029 "type" : "string"
34030 },
34031 "node" : {
4d47f125
TL
34032 "title" : "Node",
34033 "type" : "string"
34034 },
34035 "pid" : {
4d47f125
TL
34036 "title" : "PID",
34037 "type" : "integer"
34038 },
34039 "pstart" : {
4d47f125
TL
34040 "type" : "integer"
34041 },
34042 "starttime" : {
4d47f125
TL
34043 "title" : "Starttime",
34044 "type" : "integer"
34045 },
34046 "status" : {
34047 "optional" : 1,
34048 "title" : "Status",
34049 "type" : "string"
34050 },
34051 "type" : {
4d47f125
TL
34052 "title" : "Type",
34053 "type" : "string"
34054 },
34055 "upid" : {
34056 "title" : "UPID",
34057 "type" : "string"
34058 },
34059 "user" : {
4d47f125
TL
34060 "title" : "User",
34061 "type" : "string"
34062 }
44660702 34063 },
4d47f125
TL
34064 "type" : "object"
34065 },
34066 "links" : [
34067 {
34068 "href" : "{upid}",
34069 "rel" : "child"
34070 }
34071 ],
34072 "type" : "array"
34073 }
34074 }
34075 },
34076 "leaf" : 0,
34077 "path" : "/nodes/{node}/tasks",
34078 "text" : "tasks"
34079 },
34080 {
34081 "children" : [
34082 {
34083 "info" : {
34084 "GET" : {
e9cd3bd4 34085 "allowtoken" : 1,
d2656385 34086 "description" : "Scan remote NFS server.",
4d47f125 34087 "method" : "GET",
d2656385 34088 "name" : "nfsscan",
4d47f125
TL
34089 "parameters" : {
34090 "additionalProperties" : 0,
34091 "properties" : {
34092 "node" : {
34093 "description" : "The cluster node name.",
34094 "format" : "pve-node",
34095 "type" : "string",
34096 "typetext" : "<string>"
d2656385
TL
34097 },
34098 "server" : {
34099 "description" : "The server address (name or IP).",
34100 "format" : "pve-storage-server",
34101 "type" : "string",
34102 "typetext" : "<string>"
4d47f125
TL
34103 }
34104 }
44660702 34105 },
4d47f125
TL
34106 "permissions" : {
34107 "check" : [
34108 "perm",
34109 "/storage",
34110 [
34111 "Datastore.Allocate"
34112 ]
34113 ]
34114 },
34115 "protected" : 1,
34116 "proxyto" : "node",
34117 "returns" : {
34118 "items" : {
34119 "properties" : {
d2656385
TL
34120 "options" : {
34121 "description" : "NFS export options.",
34122 "type" : "string"
34123 },
34124 "path" : {
34125 "description" : "The exported path.",
4d47f125
TL
34126 "type" : "string"
34127 }
34128 },
34129 "type" : "object"
34130 },
34131 "type" : "array"
34132 }
34133 }
34134 },
34135 "leaf" : 1,
d2656385
TL
34136 "path" : "/nodes/{node}/scan/nfs",
34137 "text" : "nfs"
4d47f125
TL
34138 },
34139 {
34140 "info" : {
34141 "GET" : {
e9cd3bd4 34142 "allowtoken" : 1,
d2656385 34143 "description" : "Scan remote CIFS server.",
4d47f125 34144 "method" : "GET",
d2656385 34145 "name" : "cifsscan",
4d47f125
TL
34146 "parameters" : {
34147 "additionalProperties" : 0,
34148 "properties" : {
d2656385
TL
34149 "domain" : {
34150 "description" : "SMB domain (Workgroup).",
34151 "optional" : 1,
34152 "type" : "string",
34153 "typetext" : "<string>"
34154 },
4d47f125
TL
34155 "node" : {
34156 "description" : "The cluster node name.",
34157 "format" : "pve-node",
34158 "type" : "string",
34159 "typetext" : "<string>"
34160 },
d2656385
TL
34161 "password" : {
34162 "description" : "User password.",
34163 "optional" : 1,
34164 "type" : "string",
34165 "typetext" : "<string>"
34166 },
4d47f125
TL
34167 "server" : {
34168 "description" : "The server address (name or IP).",
34169 "format" : "pve-storage-server",
34170 "type" : "string",
34171 "typetext" : "<string>"
d2656385
TL
34172 },
34173 "username" : {
34174 "description" : "User name.",
34175 "optional" : 1,
34176 "type" : "string",
34177 "typetext" : "<string>"
4d47f125
TL
34178 }
34179 }
34180 },
34181 "permissions" : {
34182 "check" : [
34183 "perm",
34184 "/storage",
34185 [
34186 "Datastore.Allocate"
34187 ]
34188 ]
34189 },
34190 "protected" : 1,
34191 "proxyto" : "node",
34192 "returns" : {
34193 "items" : {
34194 "properties" : {
d2656385
TL
34195 "description" : {
34196 "description" : "Descriptive text from server.",
4d47f125
TL
34197 "type" : "string"
34198 },
d2656385
TL
34199 "share" : {
34200 "description" : "The cifs share name.",
4d47f125
TL
34201 "type" : "string"
34202 }
34203 },
34204 "type" : "object"
34205 },
34206 "type" : "array"
34207 }
34208 }
34209 },
34210 "leaf" : 1,
d2656385
TL
34211 "path" : "/nodes/{node}/scan/cifs",
34212 "text" : "cifs"
4d47f125
TL
34213 },
34214 {
34215 "info" : {
34216 "GET" : {
e9cd3bd4 34217 "allowtoken" : 1,
d2656385 34218 "description" : "Scan remote Proxmox Backup Server.",
4d47f125 34219 "method" : "GET",
d2656385 34220 "name" : "pbsscan",
4d47f125
TL
34221 "parameters" : {
34222 "additionalProperties" : 0,
34223 "properties" : {
d2656385
TL
34224 "fingerprint" : {
34225 "description" : "Certificate SHA 256 fingerprint.",
4d47f125 34226 "optional" : 1,
d2656385
TL
34227 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
34228 "type" : "string"
4d47f125
TL
34229 },
34230 "node" : {
34231 "description" : "The cluster node name.",
34232 "format" : "pve-node",
34233 "type" : "string",
34234 "typetext" : "<string>"
34235 },
34236 "password" : {
d2656385 34237 "description" : "User password or API token secret.",
4d47f125
TL
34238 "type" : "string",
34239 "typetext" : "<string>"
34240 },
d2656385
TL
34241 "port" : {
34242 "default" : 8007,
34243 "description" : "Optional port.",
34244 "maximum" : 65535,
34245 "minimum" : 1,
34246 "optional" : 1,
34247 "type" : "integer",
34248 "typetext" : "<integer> (1 - 65535)"
34249 },
4d47f125
TL
34250 "server" : {
34251 "description" : "The server address (name or IP).",
34252 "format" : "pve-storage-server",
34253 "type" : "string",
34254 "typetext" : "<string>"
34255 },
34256 "username" : {
d2656385 34257 "description" : "User-name or API token-ID.",
4d47f125
TL
34258 "type" : "string",
34259 "typetext" : "<string>"
34260 }
34261 }
34262 },
34263 "permissions" : {
34264 "check" : [
34265 "perm",
34266 "/storage",
34267 [
34268 "Datastore.Allocate"
34269 ]
34270 ]
34271 },
34272 "protected" : 1,
34273 "proxyto" : "node",
34274 "returns" : {
34275 "items" : {
34276 "properties" : {
d2656385
TL
34277 "comment" : {
34278 "description" : "Comment from server.",
34279 "optional" : 1,
4d47f125
TL
34280 "type" : "string"
34281 },
d2656385
TL
34282 "store" : {
34283 "description" : "The datastore name.",
4d47f125
TL
34284 "type" : "string"
34285 }
34286 },
34287 "type" : "object"
34288 },
34289 "type" : "array"
56122987 34290 }
44660702 34291 }
56122987 34292 },
4d47f125 34293 "leaf" : 1,
d2656385
TL
34294 "path" : "/nodes/{node}/scan/pbs",
34295 "text" : "pbs"
4d47f125 34296 },
44660702 34297 {
4d47f125
TL
34298 "info" : {
34299 "GET" : {
e9cd3bd4 34300 "allowtoken" : 1,
4d47f125
TL
34301 "description" : "Scan remote GlusterFS server.",
34302 "method" : "GET",
34303 "name" : "glusterfsscan",
34304 "parameters" : {
34305 "additionalProperties" : 0,
34306 "properties" : {
34307 "node" : {
34308 "description" : "The cluster node name.",
34309 "format" : "pve-node",
34310 "type" : "string",
34311 "typetext" : "<string>"
7aacca6f 34312 },
4d47f125
TL
34313 "server" : {
34314 "description" : "The server address (name or IP).",
34315 "format" : "pve-storage-server",
34316 "type" : "string",
34317 "typetext" : "<string>"
44660702 34318 }
7aacca6f 34319 }
56122987 34320 },
4d47f125
TL
34321 "permissions" : {
34322 "check" : [
34323 "perm",
34324 "/storage",
34325 [
34326 "Datastore.Allocate"
34327 ]
34328 ]
34329 },
34330 "protected" : 1,
34331 "proxyto" : "node",
34332 "returns" : {
34333 "items" : {
34334 "properties" : {
34335 "volname" : {
34336 "description" : "The volume name.",
34337 "type" : "string"
7aacca6f
DM
34338 }
34339 },
4d47f125
TL
34340 "type" : "object"
34341 },
34342 "type" : "array"
34343 }
34344 }
34345 },
34346 "leaf" : 1,
34347 "path" : "/nodes/{node}/scan/glusterfs",
34348 "text" : "glusterfs"
34349 },
34350 {
34351 "info" : {
34352 "GET" : {
e9cd3bd4 34353 "allowtoken" : 1,
4d47f125
TL
34354 "description" : "Scan remote iSCSI server.",
34355 "method" : "GET",
34356 "name" : "iscsiscan",
34357 "parameters" : {
34358 "additionalProperties" : 0,
34359 "properties" : {
34360 "node" : {
34361 "description" : "The cluster node name.",
34362 "format" : "pve-node",
34363 "type" : "string",
34364 "typetext" : "<string>"
56122987 34365 },
4d47f125
TL
34366 "portal" : {
34367 "description" : "The iSCSI portal (IP or DNS name with optional port).",
34368 "format" : "pve-storage-portal-dns",
34369 "type" : "string",
34370 "typetext" : "<string>"
34371 }
34372 }
34373 },
34374 "permissions" : {
34375 "check" : [
34376 "perm",
34377 "/storage",
34378 [
34379 "Datastore.Allocate"
34380 ]
34381 ]
34382 },
34383 "protected" : 1,
34384 "proxyto" : "node",
34385 "returns" : {
34386 "items" : {
34387 "properties" : {
34388 "portal" : {
34389 "description" : "The iSCSI portal name.",
34390 "type" : "string"
7aacca6f 34391 },
4d47f125
TL
34392 "target" : {
34393 "description" : "The iSCSI target name.",
34394 "type" : "string"
34395 }
34396 },
34397 "type" : "object"
34398 },
34399 "type" : "array"
34400 }
34401 }
34402 },
34403 "leaf" : 1,
34404 "path" : "/nodes/{node}/scan/iscsi",
34405 "text" : "iscsi"
34406 },
34407 {
34408 "info" : {
34409 "GET" : {
e9cd3bd4 34410 "allowtoken" : 1,
4d47f125
TL
34411 "description" : "List local LVM volume groups.",
34412 "method" : "GET",
34413 "name" : "lvmscan",
34414 "parameters" : {
34415 "additionalProperties" : 0,
34416 "properties" : {
34417 "node" : {
34418 "description" : "The cluster node name.",
34419 "format" : "pve-node",
34420 "type" : "string",
34421 "typetext" : "<string>"
56122987 34422 }
7aacca6f 34423 }
44660702 34424 },
4d47f125
TL
34425 "permissions" : {
34426 "check" : [
34427 "perm",
34428 "/storage",
34429 [
34430 "Datastore.Allocate"
34431 ]
34432 ]
34433 },
34434 "protected" : 1,
34435 "proxyto" : "node",
34436 "returns" : {
34437 "items" : {
34438 "properties" : {
34439 "vg" : {
34440 "description" : "The LVM logical volume group name.",
34441 "type" : "string"
34442 }
34443 },
34444 "type" : "object"
34445 },
34446 "type" : "array"
34447 }
56122987 34448 }
4d47f125
TL
34449 },
34450 "leaf" : 1,
34451 "path" : "/nodes/{node}/scan/lvm",
34452 "text" : "lvm"
34453 },
34454 {
44660702 34455 "info" : {
4d47f125 34456 "GET" : {
e9cd3bd4 34457 "allowtoken" : 1,
4d47f125
TL
34458 "description" : "List local LVM Thin Pools.",
34459 "method" : "GET",
34460 "name" : "lvmthinscan",
44660702
DM
34461 "parameters" : {
34462 "additionalProperties" : 0,
34463 "properties" : {
34464 "node" : {
34465 "description" : "The cluster node name.",
34466 "format" : "pve-node",
013dc89f
DM
34467 "type" : "string",
34468 "typetext" : "<string>"
44660702 34469 },
4d47f125
TL
34470 "vg" : {
34471 "maxLength" : 100,
34472 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
34473 "type" : "string"
44660702 34474 }
7aacca6f 34475 }
44660702
DM
34476 },
34477 "permissions" : {
4d47f125
TL
34478 "check" : [
34479 "perm",
34480 "/storage",
34481 [
34482 "Datastore.Allocate"
34483 ]
34484 ]
44660702
DM
34485 },
34486 "protected" : 1,
34487 "proxyto" : "node",
34488 "returns" : {
4d47f125
TL
34489 "items" : {
34490 "properties" : {
34491 "lv" : {
34492 "description" : "The LVM Thin Pool name (LVM logical volume).",
34493 "type" : "string"
34494 }
34495 },
34496 "type" : "object"
34497 },
34498 "type" : "array"
7aacca6f 34499 }
4d47f125
TL
34500 }
34501 },
34502 "leaf" : 1,
34503 "path" : "/nodes/{node}/scan/lvmthin",
34504 "text" : "lvmthin"
34505 },
d2656385
TL
34506 {
34507 "info" : {
34508 "GET" : {
34509 "allowtoken" : 1,
34510 "description" : "Scan zfs pool list on local node.",
34511 "method" : "GET",
34512 "name" : "zfsscan",
34513 "parameters" : {
34514 "additionalProperties" : 0,
34515 "properties" : {
34516 "node" : {
34517 "description" : "The cluster node name.",
34518 "format" : "pve-node",
34519 "type" : "string",
34520 "typetext" : "<string>"
34521 }
34522 }
34523 },
34524 "permissions" : {
34525 "check" : [
34526 "perm",
34527 "/storage",
34528 [
34529 "Datastore.Allocate"
34530 ]
34531 ]
34532 },
34533 "protected" : 1,
34534 "proxyto" : "node",
34535 "returns" : {
34536 "items" : {
34537 "properties" : {
34538 "pool" : {
34539 "description" : "ZFS pool name.",
34540 "type" : "string"
34541 }
34542 },
34543 "type" : "object"
34544 },
34545 "type" : "array"
34546 }
34547 }
34548 },
34549 "leaf" : 1,
34550 "path" : "/nodes/{node}/scan/zfs",
34551 "text" : "zfs"
44660702
DM
34552 }
34553 ],
34554 "info" : {
34555 "GET" : {
e9cd3bd4 34556 "allowtoken" : 1,
4d47f125 34557 "description" : "Index of available scan methods",
44660702 34558 "method" : "GET",
4d47f125 34559 "name" : "index",
56122987 34560 "parameters" : {
7aacca6f 34561 "additionalProperties" : 0,
56122987 34562 "properties" : {
56122987
DM
34563 "node" : {
34564 "description" : "The cluster node name.",
44660702 34565 "format" : "pve-node",
013dc89f
DM
34566 "type" : "string",
34567 "typetext" : "<string>"
56122987
DM
34568 }
34569 }
34570 },
7aacca6f
DM
34571 "permissions" : {
34572 "user" : "all"
34573 },
56122987
DM
34574 "returns" : {
34575 "items" : {
34576 "properties" : {
4d47f125 34577 "method" : {
56122987
DM
34578 "type" : "string"
34579 }
34580 },
34581 "type" : "object"
34582 },
56122987
DM
34583 "links" : [
34584 {
4d47f125 34585 "href" : "{method}",
44660702 34586 "rel" : "child"
56122987 34587 }
44660702
DM
34588 ],
34589 "type" : "array"
56122987
DM
34590 }
34591 }
34592 },
44660702 34593 "leaf" : 0,
4d47f125
TL
34594 "path" : "/nodes/{node}/scan",
34595 "text" : "scan"
44660702 34596 },
e2d681b3
TL
34597 {
34598 "children" : [
34599 {
34600 "children" : [
34601 {
34602 "children" : [
34603 {
34604 "info" : {
34605 "GET" : {
e9cd3bd4 34606 "allowtoken" : 1,
e2d681b3
TL
34607 "description" : "List mediated device types for given PCI device.",
34608 "method" : "GET",
34609 "name" : "mdevscan",
34610 "parameters" : {
34611 "additionalProperties" : 0,
34612 "properties" : {
34613 "node" : {
34614 "description" : "The cluster node name.",
34615 "format" : "pve-node",
34616 "type" : "string",
34617 "typetext" : "<string>"
34618 },
34619 "pciid" : {
34620 "description" : "The PCI ID to list the mdev types for.",
34621 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
34622 "type" : "string"
34623 }
34624 }
34625 },
34626 "permissions" : {
34627 "check" : [
34628 "perm",
34629 "/",
34630 [
34631 "Sys.Modify"
34632 ]
34633 ]
34634 },
34635 "protected" : 1,
34636 "proxyto" : "node",
34637 "returns" : {
34638 "items" : {
34639 "properties" : {
34640 "available" : {
34641 "description" : "The number of still available instances of this type.",
34642 "type" : "integer"
34643 },
34644 "description" : {
34645 "type" : "string"
34646 },
34647 "type" : {
34648 "description" : "The name of the mdev type.",
34649 "type" : "string"
34650 }
34651 },
34652 "type" : "object"
34653 },
34654 "type" : "array"
34655 }
34656 }
34657 },
34658 "leaf" : 1,
34659 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
34660 "text" : "mdev"
34661 }
34662 ],
34663 "info" : {
34664 "GET" : {
e9cd3bd4 34665 "allowtoken" : 1,
e2d681b3
TL
34666 "description" : "Index of available pci methods",
34667 "method" : "GET",
34668 "name" : "pciindex",
34669 "parameters" : {
34670 "additionalProperties" : 0,
34671 "properties" : {
34672 "node" : {
34673 "description" : "The cluster node name.",
34674 "format" : "pve-node",
34675 "type" : "string",
34676 "typetext" : "<string>"
34677 },
34678 "pciid" : {
34679 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
34680 "type" : "string"
34681 }
34682 }
34683 },
34684 "permissions" : {
34685 "user" : "all"
34686 },
34687 "returns" : {
34688 "items" : {
34689 "properties" : {
34690 "method" : {
34691 "type" : "string"
34692 }
34693 },
34694 "type" : "object"
34695 },
34696 "links" : [
34697 {
34698 "href" : "{method}",
34699 "rel" : "child"
34700 }
34701 ],
34702 "type" : "array"
34703 }
34704 }
34705 },
34706 "leaf" : 0,
34707 "path" : "/nodes/{node}/hardware/pci/{pciid}",
34708 "text" : "{pciid}"
34709 }
34710 ],
34711 "info" : {
34712 "GET" : {
e9cd3bd4 34713 "allowtoken" : 1,
e2d681b3
TL
34714 "description" : "List local PCI devices.",
34715 "method" : "GET",
34716 "name" : "pciscan",
34717 "parameters" : {
34718 "additionalProperties" : 0,
34719 "properties" : {
34720 "node" : {
34721 "description" : "The cluster node name.",
34722 "format" : "pve-node",
34723 "type" : "string",
34724 "typetext" : "<string>"
34725 },
34726 "pci-class-blacklist" : {
34727 "default" : "05;06;08;0b",
34728 "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).",
34729 "format" : "string-list",
34730 "optional" : 1,
34731 "type" : "string",
34732 "typetext" : "<string>"
34733 },
34734 "verbose" : {
34735 "default" : 1,
34736 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
34737 "optional" : 1,
34738 "type" : "boolean",
34739 "typetext" : "<boolean>"
34740 }
34741 }
34742 },
34743 "permissions" : {
34744 "check" : [
34745 "perm",
34746 "/",
34747 [
34748 "Sys.Modify"
34749 ]
34750 ]
34751 },
34752 "protected" : 1,
34753 "proxyto" : "node",
34754 "returns" : {
34755 "items" : {
34756 "properties" : {
34757 "class" : {
34758 "description" : "The PCI Class of the device.",
34759 "type" : "string"
34760 },
34761 "device" : {
34762 "description" : "The Device ID.",
34763 "type" : "string"
34764 },
34765 "device_name" : {
34766 "optional" : 1,
34767 "type" : "string"
34768 },
34769 "id" : {
34770 "description" : "The PCI ID.",
34771 "type" : "string"
34772 },
34773 "iommugroup" : {
34774 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
34775 "type" : "integer"
34776 },
34777 "mdev" : {
34778 "description" : "If set, marks that the device is capable of creating mediated devices.",
34779 "optional" : 1,
34780 "type" : "boolean"
34781 },
34782 "subsystem_device" : {
34783 "description" : "The Subsystem Device ID.",
34784 "optional" : 1,
34785 "type" : "string"
34786 },
34787 "subsystem_device_name" : {
34788 "optional" : 1,
34789 "type" : "string"
34790 },
34791 "subsystem_vendor" : {
34792 "description" : "The Subsystem Vendor ID.",
34793 "optional" : 1,
34794 "type" : "string"
34795 },
34796 "subsystem_vendor_name" : {
34797 "optional" : 1,
34798 "type" : "string"
34799 },
34800 "vendor" : {
34801 "description" : "The Vendor ID.",
34802 "type" : "string"
34803 },
34804 "vendor_name" : {
34805 "optional" : 1,
34806 "type" : "string"
34807 }
34808 },
34809 "type" : "object"
34810 },
34811 "links" : [
34812 {
34813 "href" : "{id}",
34814 "rel" : "child"
34815 }
34816 ],
34817 "type" : "array"
34818 }
34819 }
34820 },
34821 "leaf" : 0,
34822 "path" : "/nodes/{node}/hardware/pci",
34823 "text" : "pci"
d2656385
TL
34824 },
34825 {
34826 "info" : {
34827 "GET" : {
34828 "allowtoken" : 1,
34829 "description" : "List local USB devices.",
34830 "method" : "GET",
34831 "name" : "usbscan",
34832 "parameters" : {
34833 "additionalProperties" : 0,
34834 "properties" : {
34835 "node" : {
34836 "description" : "The cluster node name.",
34837 "format" : "pve-node",
34838 "type" : "string",
34839 "typetext" : "<string>"
34840 }
34841 }
34842 },
34843 "permissions" : {
34844 "check" : [
34845 "perm",
34846 "/",
34847 [
34848 "Sys.Modify"
34849 ]
34850 ]
34851 },
34852 "protected" : 1,
34853 "proxyto" : "node",
34854 "returns" : {
34855 "items" : {
34856 "properties" : {
34857 "busnum" : {
34858 "type" : "integer"
34859 },
34860 "class" : {
34861 "type" : "integer"
34862 },
34863 "devnum" : {
34864 "type" : "integer"
34865 },
34866 "level" : {
34867 "type" : "integer"
34868 },
34869 "manufacturer" : {
34870 "optional" : 1,
34871 "type" : "string"
34872 },
34873 "port" : {
34874 "type" : "integer"
34875 },
34876 "prodid" : {
34877 "type" : "string"
34878 },
34879 "product" : {
34880 "optional" : 1,
34881 "type" : "string"
34882 },
34883 "serial" : {
34884 "optional" : 1,
34885 "type" : "string"
34886 },
34887 "speed" : {
34888 "type" : "string"
34889 },
34890 "usbpath" : {
34891 "optional" : 1,
34892 "type" : "string"
34893 },
34894 "vendid" : {
34895 "type" : "string"
34896 }
34897 },
34898 "type" : "object"
34899 },
34900 "type" : "array"
34901 }
34902 }
34903 },
34904 "leaf" : 1,
34905 "path" : "/nodes/{node}/hardware/usb",
34906 "text" : "usb"
e2d681b3
TL
34907 }
34908 ],
34909 "info" : {
34910 "GET" : {
e9cd3bd4 34911 "allowtoken" : 1,
e2d681b3
TL
34912 "description" : "Index of hardware types",
34913 "method" : "GET",
34914 "name" : "index",
34915 "parameters" : {
34916 "additionalProperties" : 0,
34917 "properties" : {
34918 "node" : {
34919 "description" : "The cluster node name.",
34920 "format" : "pve-node",
34921 "type" : "string",
34922 "typetext" : "<string>"
34923 }
34924 }
34925 },
34926 "permissions" : {
34927 "user" : "all"
34928 },
34929 "returns" : {
34930 "items" : {
34931 "properties" : {
34932 "type" : {
34933 "type" : "string"
34934 }
34935 },
34936 "type" : "object"
34937 },
34938 "links" : [
34939 {
34940 "href" : "{type}",
34941 "rel" : "child"
34942 }
34943 ],
34944 "type" : "array"
34945 }
34946 }
34947 },
34948 "leaf" : 0,
34949 "path" : "/nodes/{node}/hardware",
34950 "text" : "hardware"
34951 },
d2656385
TL
34952 {
34953 "children" : [
34954 {
34955 "children" : [
0695fdaf
TL
34956 {
34957 "info" : {
34958 "GET" : {
34959 "allowtoken" : 1,
34960 "description" : "List all custom and default CPU models.",
34961 "method" : "GET",
34962 "name" : "index",
34963 "parameters" : {
34964 "additionalProperties" : 0,
34965 "properties" : {
34966 "node" : {
34967 "description" : "The cluster node name.",
34968 "format" : "pve-node",
34969 "type" : "string",
34970 "typetext" : "<string>"
34971 }
34972 }
34973 },
34974 "permissions" : {
34975 "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
34976 "user" : "all"
34977 },
34978 "returns" : {
34979 "items" : {
34980 "properties" : {
34981 "custom" : {
34982 "description" : "True if this is a custom CPU model.",
34983 "type" : "boolean"
34984 },
34985 "name" : {
34986 "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
34987 "type" : "string"
34988 },
34989 "vendor" : {
34990 "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
34991 "type" : "string"
34992 }
34993 },
34994 "type" : "object"
34995 },
34996 "links" : [
34997 {
34998 "href" : "{name}",
34999 "rel" : "child"
35000 }
35001 ],
35002 "type" : "array"
35003 }
35004 }
35005 },
35006 "leaf" : 1,
35007 "path" : "/nodes/{node}/capabilities/qemu/cpu",
35008 "text" : "cpu"
35009 },
d2656385
TL
35010 {
35011 "info" : {
35012 "GET" : {
35013 "allowtoken" : 1,
35014 "description" : "Get available QEMU/KVM machine types.",
35015 "method" : "GET",
35016 "name" : "types",
35017 "parameters" : {
35018 "additionalProperties" : 0,
35019 "properties" : {
35020 "node" : {
35021 "description" : "The cluster node name.",
35022 "format" : "pve-node",
35023 "type" : "string",
35024 "typetext" : "<string>"
35025 }
35026 }
35027 },
35028 "permissions" : {
35029 "user" : "all"
35030 },
35031 "proxyto" : "node",
35032 "returns" : {
35033 "items" : {
35034 "additionalProperties" : 1,
35035 "properties" : {
35036 "id" : {
35037 "description" : "Full name of machine type and version.",
35038 "type" : "string"
35039 },
35040 "type" : {
35041 "description" : "The machine type.",
35042 "enum" : [
35043 "q35",
35044 "i440fx"
35045 ],
35046 "type" : "string"
35047 },
35048 "version" : {
35049 "description" : "The machine version.",
35050 "type" : "string"
35051 }
35052 },
35053 "type" : "object"
35054 },
35055 "type" : "array"
35056 }
35057 }
35058 },
35059 "leaf" : 1,
35060 "path" : "/nodes/{node}/capabilities/qemu/machines",
35061 "text" : "machines"
35062 }
35063 ],
35064 "info" : {
35065 "GET" : {
35066 "allowtoken" : 1,
35067 "description" : "QEMU capabilities index.",
35068 "method" : "GET",
35069 "name" : "qemu_caps_index",
35070 "parameters" : {
35071 "additionalProperties" : 0,
35072 "properties" : {
35073 "node" : {
35074 "description" : "The cluster node name.",
35075 "format" : "pve-node",
35076 "type" : "string",
35077 "typetext" : "<string>"
35078 }
35079 }
35080 },
35081 "permissions" : {
35082 "user" : "all"
35083 },
35084 "returns" : {
35085 "items" : {
35086 "properties" : {},
35087 "type" : "object"
35088 },
35089 "links" : [
35090 {
35091 "href" : "{name}",
35092 "rel" : "child"
35093 }
35094 ],
35095 "type" : "array"
35096 }
35097 }
35098 },
35099 "leaf" : 0,
35100 "path" : "/nodes/{node}/capabilities/qemu",
35101 "text" : "qemu"
35102 }
35103 ],
35104 "info" : {
35105 "GET" : {
35106 "allowtoken" : 1,
35107 "description" : "Node capabilities index.",
35108 "method" : "GET",
35109 "name" : "index",
35110 "parameters" : {
35111 "additionalProperties" : 0,
35112 "properties" : {
35113 "node" : {
35114 "description" : "The cluster node name.",
35115 "format" : "pve-node",
35116 "type" : "string",
35117 "typetext" : "<string>"
35118 }
35119 }
35120 },
35121 "permissions" : {
35122 "user" : "all"
35123 },
35124 "returns" : {
35125 "items" : {
35126 "properties" : {},
35127 "type" : "object"
35128 },
35129 "links" : [
35130 {
35131 "href" : "{name}",
35132 "rel" : "child"
35133 }
35134 ],
35135 "type" : "array"
35136 }
35137 }
35138 },
35139 "leaf" : 0,
35140 "path" : "/nodes/{node}/capabilities",
35141 "text" : "capabilities"
35142 },
44660702 35143 {
56122987
DM
35144 "children" : [
35145 {
4d47f125 35146 "children" : [
739d4d64
TL
35147 {
35148 "info" : {
35149 "DELETE" : {
35150 "allowtoken" : 1,
35151 "description" : "Prune backups. Only those using the standard naming scheme are considered.",
35152 "method" : "DELETE",
35153 "name" : "delete",
35154 "parameters" : {
35155 "additionalProperties" : 0,
35156 "properties" : {
35157 "node" : {
35158 "description" : "The cluster node name.",
35159 "format" : "pve-node",
35160 "type" : "string",
35161 "typetext" : "<string>"
35162 },
35163 "prune-backups" : {
35164 "description" : "Use these retention options instead of those from the storage configuration.",
35165 "format" : "prune-backups",
35166 "optional" : 1,
35167 "type" : "string",
4772952b 35168 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64
TL
35169 },
35170 "storage" : {
35171 "description" : "The storage identifier.",
35172 "format" : "pve-storage-id",
35173 "type" : "string",
35174 "typetext" : "<string>"
35175 },
35176 "type" : {
35177 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
35178 "enum" : [
35179 "qemu",
35180 "lxc"
35181 ],
35182 "optional" : 1,
35183 "type" : "string"
35184 },
35185 "vmid" : {
35186 "description" : "Only prune backups for this VM.",
35187 "format" : "pve-vmid",
35188 "minimum" : 1,
35189 "optional" : 1,
35190 "type" : "integer",
35191 "typetext" : "<integer> (1 - N)"
35192 }
35193 }
35194 },
35195 "permissions" : {
35196 "description" : "You need the 'Datastore.Allocate' privilege on the storage (or if a VM ID is specified, 'Datastore.AllocateSpace' and 'VM.Backup' for the VM).",
35197 "user" : "all"
35198 },
35199 "protected" : 1,
35200 "proxyto" : "node",
35201 "returns" : {
35202 "type" : "string"
35203 }
35204 },
35205 "GET" : {
35206 "allowtoken" : 1,
4772952b 35207 "description" : "Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.",
739d4d64
TL
35208 "method" : "GET",
35209 "name" : "dryrun",
35210 "parameters" : {
35211 "additionalProperties" : 0,
35212 "properties" : {
35213 "node" : {
35214 "description" : "The cluster node name.",
35215 "format" : "pve-node",
35216 "type" : "string",
35217 "typetext" : "<string>"
35218 },
35219 "prune-backups" : {
35220 "description" : "Use these retention options instead of those from the storage configuration.",
35221 "format" : "prune-backups",
35222 "optional" : 1,
35223 "type" : "string",
4772952b 35224 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64
TL
35225 },
35226 "storage" : {
35227 "description" : "The storage identifier.",
35228 "format" : "pve-storage-id",
35229 "type" : "string",
35230 "typetext" : "<string>"
35231 },
35232 "type" : {
35233 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
35234 "enum" : [
35235 "qemu",
35236 "lxc"
35237 ],
35238 "optional" : 1,
35239 "type" : "string"
35240 },
35241 "vmid" : {
35242 "description" : "Only consider backups for this guest.",
35243 "format" : "pve-vmid",
35244 "minimum" : 1,
35245 "optional" : 1,
35246 "type" : "integer",
35247 "typetext" : "<integer> (1 - N)"
35248 }
35249 }
35250 },
35251 "permissions" : {
35252 "check" : [
35253 "perm",
35254 "/storage/{storage}",
35255 [
35256 "Datastore.Audit",
35257 "Datastore.AllocateSpace"
35258 ],
35259 "any",
35260 1
35261 ]
35262 },
35263 "protected" : 1,
35264 "proxyto" : "node",
35265 "returns" : {
35266 "items" : {
35267 "properties" : {
35268 "ctime" : {
35269 "description" : "Creation time of the backup (seconds since the UNIX epoch).",
35270 "type" : "integer"
35271 },
35272 "mark" : {
35273 "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
35274 "type" : "string"
35275 },
35276 "type" : {
35277 "description" : "One of 'qemu', 'lxc', 'openvz' or 'unknown'.",
35278 "type" : "string"
35279 },
35280 "vmid" : {
35281 "description" : "The VM the backup belongs to.",
35282 "optional" : 1,
35283 "type" : "integer"
35284 },
35285 "volid" : {
35286 "description" : "Backup volume ID.",
35287 "type" : "string"
35288 }
35289 },
35290 "type" : "object"
35291 },
35292 "type" : "array"
35293 }
35294 }
35295 },
35296 "leaf" : 1,
35297 "path" : "/nodes/{node}/storage/{storage}/prunebackups",
35298 "text" : "prunebackups"
35299 },
4d47f125
TL
35300 {
35301 "children" : [
35302 {
35303 "info" : {
35304 "DELETE" : {
e9cd3bd4 35305 "allowtoken" : 1,
4d47f125
TL
35306 "description" : "Delete volume",
35307 "method" : "DELETE",
35308 "name" : "delete",
35309 "parameters" : {
35310 "additionalProperties" : 0,
35311 "properties" : {
1c532546
TL
35312 "delay" : {
35313 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
35314 "maximum" : 30,
35315 "minimum" : 1,
35316 "optional" : 1,
35317 "type" : "integer",
35318 "typetext" : "<integer> (1 - 30)"
35319 },
4d47f125
TL
35320 "node" : {
35321 "description" : "The cluster node name.",
35322 "format" : "pve-node",
35323 "type" : "string",
35324 "typetext" : "<string>"
35325 },
35326 "storage" : {
35327 "description" : "The storage identifier.",
35328 "format" : "pve-storage-id",
35329 "optional" : 1,
35330 "type" : "string",
35331 "typetext" : "<string>"
35332 },
35333 "volume" : {
35334 "description" : "Volume identifier",
35335 "type" : "string",
35336 "typetext" : "<string>"
35337 }
35338 }
35339 },
35340 "permissions" : {
35341 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
35342 "user" : "all"
35343 },
35344 "protected" : 1,
35345 "proxyto" : "node",
35346 "returns" : {
1c532546
TL
35347 "optional" : 1,
35348 "type" : "string"
4d47f125
TL
35349 }
35350 },
35351 "GET" : {
e9cd3bd4 35352 "allowtoken" : 1,
4d47f125
TL
35353 "description" : "Get volume attributes",
35354 "method" : "GET",
35355 "name" : "info",
35356 "parameters" : {
35357 "additionalProperties" : 0,
35358 "properties" : {
35359 "node" : {
35360 "description" : "The cluster node name.",
35361 "format" : "pve-node",
35362 "type" : "string",
35363 "typetext" : "<string>"
35364 },
35365 "storage" : {
35366 "description" : "The storage identifier.",
35367 "format" : "pve-storage-id",
35368 "optional" : 1,
35369 "type" : "string",
35370 "typetext" : "<string>"
35371 },
35372 "volume" : {
35373 "description" : "Volume identifier",
35374 "type" : "string",
35375 "typetext" : "<string>"
35376 }
35377 }
35378 },
35379 "permissions" : {
35380 "description" : "You need read access for the volume.",
35381 "user" : "all"
35382 },
35383 "protected" : 1,
35384 "proxyto" : "node",
35385 "returns" : {
4772952b
TL
35386 "properties" : {
35387 "format" : {
35388 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
35389 "type" : "string"
35390 },
35391 "notes" : {
35392 "description" : "Optional notes.",
35393 "optional" : 1,
35394 "type" : "string"
35395 },
35396 "path" : {
35397 "description" : "The Path",
35398 "type" : "string"
35399 },
35400 "size" : {
35401 "description" : "Volume size in bytes.",
35402 "renderer" : "bytes",
35403 "type" : "integer"
35404 },
35405 "used" : {
35406 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
35407 "renderer" : "bytes",
35408 "type" : "integer"
35409 }
35410 },
4d47f125
TL
35411 "type" : "object"
35412 }
35413 },
35414 "POST" : {
e9cd3bd4 35415 "allowtoken" : 1,
4d47f125
TL
35416 "description" : "Copy a volume. This is experimental code - do not use.",
35417 "method" : "POST",
35418 "name" : "copy",
35419 "parameters" : {
35420 "additionalProperties" : 0,
35421 "properties" : {
35422 "node" : {
35423 "description" : "The cluster node name.",
35424 "format" : "pve-node",
35425 "type" : "string",
35426 "typetext" : "<string>"
35427 },
35428 "storage" : {
35429 "description" : "The storage identifier.",
35430 "format" : "pve-storage-id",
35431 "optional" : 1,
35432 "type" : "string",
35433 "typetext" : "<string>"
35434 },
35435 "target" : {
35436 "description" : "Target volume identifier",
35437 "type" : "string",
35438 "typetext" : "<string>"
35439 },
35440 "target_node" : {
35441 "description" : "Target node. Default is local node.",
35442 "format" : "pve-node",
35443 "optional" : 1,
35444 "type" : "string",
35445 "typetext" : "<string>"
35446 },
35447 "volume" : {
35448 "description" : "Source volume identifier",
35449 "type" : "string",
35450 "typetext" : "<string>"
35451 }
35452 }
35453 },
35454 "protected" : 1,
35455 "proxyto" : "node",
35456 "returns" : {
35457 "type" : "string"
35458 }
4772952b
TL
35459 },
35460 "PUT" : {
35461 "allowtoken" : 1,
35462 "description" : "Update volume attributes",
35463 "method" : "PUT",
35464 "name" : "updateattributes",
35465 "parameters" : {
35466 "additionalProperties" : 0,
35467 "properties" : {
35468 "node" : {
35469 "description" : "The cluster node name.",
35470 "format" : "pve-node",
35471 "type" : "string",
35472 "typetext" : "<string>"
35473 },
35474 "notes" : {
35475 "description" : "The new notes.",
35476 "optional" : 1,
35477 "type" : "string",
35478 "typetext" : "<string>"
35479 },
35480 "storage" : {
35481 "description" : "The storage identifier.",
35482 "format" : "pve-storage-id",
35483 "optional" : 1,
35484 "type" : "string",
35485 "typetext" : "<string>"
35486 },
35487 "volume" : {
35488 "description" : "Volume identifier",
35489 "type" : "string",
35490 "typetext" : "<string>"
35491 }
35492 }
35493 },
35494 "permissions" : {
35495 "description" : "You need read access for the volume.",
35496 "user" : "all"
35497 },
35498 "protected" : 1,
35499 "proxyto" : "node",
35500 "returns" : {
35501 "type" : "null"
35502 }
4d47f125
TL
35503 }
35504 },
35505 "leaf" : 1,
35506 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
35507 "text" : "{volume}"
44660702 35508 }
4d47f125
TL
35509 ],
35510 "info" : {
35511 "GET" : {
e9cd3bd4 35512 "allowtoken" : 1,
4d47f125
TL
35513 "description" : "List storage content.",
35514 "method" : "GET",
35515 "name" : "index",
35516 "parameters" : {
35517 "additionalProperties" : 0,
35518 "properties" : {
35519 "content" : {
35520 "description" : "Only list content of this type.",
35521 "format" : "pve-storage-content",
35522 "optional" : 1,
35523 "type" : "string",
35524 "typetext" : "<string>"
35525 },
35526 "node" : {
35527 "description" : "The cluster node name.",
35528 "format" : "pve-node",
35529 "type" : "string",
35530 "typetext" : "<string>"
35531 },
35532 "storage" : {
35533 "description" : "The storage identifier.",
35534 "format" : "pve-storage-id",
35535 "type" : "string",
35536 "typetext" : "<string>"
35537 },
35538 "vmid" : {
35539 "description" : "Only list images for this VM",
35540 "format" : "pve-vmid",
35541 "minimum" : 1,
35542 "optional" : 1,
35543 "type" : "integer",
35544 "typetext" : "<integer> (1 - N)"
35545 }
56122987 35546 }
44660702 35547 },
4d47f125
TL
35548 "permissions" : {
35549 "check" : [
35550 "perm",
35551 "/storage/{storage}",
35552 [
35553 "Datastore.Audit",
35554 "Datastore.AllocateSpace"
35555 ],
35556 "any",
35557 1
35558 ]
7aacca6f 35559 },
4d47f125
TL
35560 "protected" : 1,
35561 "proxyto" : "node",
35562 "returns" : {
35563 "items" : {
35564 "properties" : {
c5aa7e14
TL
35565 "ctime" : {
35566 "description" : "Creation time (seconds since the UNIX Epoch).",
35567 "minimum" : 0,
35568 "optional" : 1,
35569 "type" : "integer"
35570 },
d2656385
TL
35571 "encrypted" : {
35572 "description" : "If whole backup is encrypted, value is the fingerprint or '1' if encrypted. Only useful for the Proxmox Backup Server storage type.",
35573 "optional" : 1,
35574 "type" : "string"
35575 },
4d47f125
TL
35576 "format" : {
35577 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
35578 "type" : "string"
35579 },
4772952b
TL
35580 "notes" : {
35581 "description" : "Optional notes. If they contain multiple lines, only the first one is returned here.",
35582 "optional" : 1,
35583 "type" : "string"
35584 },
4d47f125
TL
35585 "parent" : {
35586 "description" : "Volume identifier of parent (for linked cloned).",
35587 "optional" : 1,
35588 "type" : "string"
35589 },
35590 "size" : {
35591 "description" : "Volume size in bytes.",
35592 "renderer" : "bytes",
35593 "type" : "integer"
35594 },
35595 "used" : {
c5aa7e14 35596 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
4d47f125
TL
35597 "optional" : 1,
35598 "renderer" : "bytes",
35599 "type" : "integer"
35600 },
4772952b
TL
35601 "verification" : {
35602 "description" : "Last backup verification result, only useful for PBS storages.",
35603 "optional" : 1,
35604 "properties" : {
35605 "state" : {
35606 "description" : "Last backup verification state.",
35607 "type" : "string"
35608 },
35609 "upid" : {
35610 "description" : "Last backup verification UPID.",
35611 "type" : "string"
35612 }
35613 },
35614 "type" : "object"
35615 },
4d47f125
TL
35616 "vmid" : {
35617 "description" : "Associated Owner VMID.",
35618 "optional" : 1,
35619 "type" : "integer"
35620 },
35621 "volid" : {
35622 "description" : "Volume identifier.",
35623 "type" : "string"
35624 }
35625 },
35626 "type" : "object"
44660702 35627 },
4d47f125
TL
35628 "links" : [
35629 {
35630 "href" : "{volid}",
35631 "rel" : "child"
35632 }
35633 ],
35634 "type" : "array"
35635 }
35636 },
35637 "POST" : {
e9cd3bd4 35638 "allowtoken" : 1,
4d47f125
TL
35639 "description" : "Allocate disk images.",
35640 "method" : "POST",
35641 "name" : "create",
35642 "parameters" : {
35643 "additionalProperties" : 0,
35644 "properties" : {
35645 "filename" : {
35646 "description" : "The name of the file to create.",
35647 "type" : "string",
35648 "typetext" : "<string>"
35649 },
35650 "format" : {
35651 "enum" : [
35652 "raw",
35653 "qcow2",
35654 "subvol"
35655 ],
35656 "optional" : 1,
35657 "requires" : "size",
35658 "type" : "string"
35659 },
35660 "node" : {
35661 "description" : "The cluster node name.",
35662 "format" : "pve-node",
35663 "type" : "string",
35664 "typetext" : "<string>"
35665 },
35666 "size" : {
35667 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
35668 "pattern" : "\\d+[MG]?",
35669 "type" : "string"
35670 },
35671 "storage" : {
35672 "description" : "The storage identifier.",
35673 "format" : "pve-storage-id",
35674 "type" : "string",
35675 "typetext" : "<string>"
35676 },
35677 "vmid" : {
35678 "description" : "Specify owner VM",
35679 "format" : "pve-vmid",
35680 "minimum" : 1,
35681 "type" : "integer",
35682 "typetext" : "<integer> (1 - N)"
35683 }
44660702
DM
35684 }
35685 },
4d47f125
TL
35686 "permissions" : {
35687 "check" : [
35688 "perm",
35689 "/storage/{storage}",
35690 [
35691 "Datastore.AllocateSpace"
35692 ]
35693 ]
27a7acb2 35694 },
4d47f125
TL
35695 "protected" : 1,
35696 "proxyto" : "node",
35697 "returns" : {
35698 "description" : "Volume identifier",
35699 "type" : "string"
27a7acb2
DM
35700 }
35701 }
35702 },
4d47f125
TL
35703 "leaf" : 0,
35704 "path" : "/nodes/{node}/storage/{storage}/content",
35705 "text" : "content"
35706 },
d2656385
TL
35707 {
35708 "children" : [
35709 {
35710 "info" : {
35711 "GET" : {
35712 "allowtoken" : 1,
35713 "description" : "List files and directories for single file restore under the given path.",
35714 "method" : "GET",
35715 "name" : "list",
35716 "parameters" : {
35717 "additionalProperties" : 0,
35718 "properties" : {
35719 "filepath" : {
35720 "description" : "base64-path to the directory or file being listed, or \"/\".",
35721 "type" : "string",
35722 "typetext" : "<string>"
35723 },
35724 "node" : {
35725 "description" : "The cluster node name.",
35726 "format" : "pve-node",
35727 "type" : "string",
35728 "typetext" : "<string>"
35729 },
35730 "storage" : {
35731 "description" : "The storage identifier.",
35732 "format" : "pve-storage-id",
35733 "type" : "string",
35734 "typetext" : "<string>"
35735 },
35736 "volume" : {
35737 "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
35738 "type" : "string",
35739 "typetext" : "<string>"
35740 }
35741 }
35742 },
35743 "permissions" : {
35744 "description" : "You need read access for the volume.",
35745 "user" : "all"
35746 },
35747 "protected" : 1,
35748 "proxyto" : "node",
35749 "returns" : {
35750 "items" : {
35751 "properties" : {
35752 "filepath" : {
35753 "description" : "base64 path of the current entry",
35754 "type" : "string"
35755 },
35756 "leaf" : {
35757 "description" : "If this entry is a leaf in the directory graph.",
35758 "type" : "boolean"
35759 },
35760 "mtime" : {
35761 "description" : "Entry last-modified time (unix timestamp).",
35762 "optional" : 1,
35763 "type" : "integer"
35764 },
35765 "size" : {
35766 "description" : "Entry file size.",
35767 "optional" : 1,
35768 "type" : "integer"
35769 },
35770 "text" : {
35771 "description" : "Entry display text.",
35772 "type" : "string"
35773 },
35774 "type" : {
35775 "description" : "Entry type.",
35776 "type" : "string"
35777 }
35778 },
35779 "type" : "object"
35780 },
35781 "type" : "array"
35782 }
35783 }
35784 },
35785 "leaf" : 1,
35786 "path" : "/nodes/{node}/storage/{storage}/file-restore/list",
35787 "text" : "list"
35788 },
35789 {
35790 "info" : {
35791 "GET" : {
35792 "allowtoken" : 1,
35793 "description" : "Extract a file or directory (as zip archive) from a PBS backup.",
35794 "method" : "GET",
35795 "name" : "download",
35796 "parameters" : {
35797 "additionalProperties" : 0,
35798 "properties" : {
35799 "filepath" : {
35800 "description" : "base64-path to the directory or file to download.",
35801 "type" : "string",
35802 "typetext" : "<string>"
35803 },
35804 "node" : {
35805 "description" : "The cluster node name.",
35806 "format" : "pve-node",
35807 "type" : "string",
35808 "typetext" : "<string>"
35809 },
35810 "storage" : {
35811 "description" : "The storage identifier.",
35812 "format" : "pve-storage-id",
35813 "type" : "string",
35814 "typetext" : "<string>"
35815 },
35816 "volume" : {
35817 "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
35818 "type" : "string",
35819 "typetext" : "<string>"
35820 }
35821 }
35822 },
35823 "permissions" : {
35824 "description" : "You need read access for the volume.",
35825 "user" : "all"
35826 },
35827 "protected" : 1,
35828 "proxyto" : "node",
35829 "returns" : {
35830 "type" : "any"
35831 }
35832 }
35833 },
35834 "leaf" : 1,
35835 "path" : "/nodes/{node}/storage/{storage}/file-restore/download",
35836 "text" : "download"
35837 }
35838 ],
35839 "leaf" : 0,
35840 "path" : "/nodes/{node}/storage/{storage}/file-restore",
35841 "text" : "file-restore"
35842 },
4d47f125
TL
35843 {
35844 "info" : {
35845 "GET" : {
e9cd3bd4 35846 "allowtoken" : 1,
4d47f125
TL
35847 "description" : "Read storage status.",
35848 "method" : "GET",
35849 "name" : "read_status",
35850 "parameters" : {
35851 "additionalProperties" : 0,
35852 "properties" : {
35853 "node" : {
35854 "description" : "The cluster node name.",
35855 "format" : "pve-node",
35856 "type" : "string",
35857 "typetext" : "<string>"
35858 },
35859 "storage" : {
35860 "description" : "The storage identifier.",
35861 "format" : "pve-storage-id",
35862 "type" : "string",
35863 "typetext" : "<string>"
35864 }
27a7acb2
DM
35865 }
35866 },
4d47f125
TL
35867 "permissions" : {
35868 "check" : [
35869 "perm",
35870 "/storage/{storage}",
35871 [
35872 "Datastore.Audit",
35873 "Datastore.AllocateSpace"
35874 ],
35875 "any",
35876 1
35877 ]
7aacca6f 35878 },
4d47f125
TL
35879 "protected" : 1,
35880 "proxyto" : "node",
35881 "returns" : {
35882 "type" : "object"
56122987 35883 }
44660702
DM
35884 }
35885 },
4d47f125
TL
35886 "leaf" : 1,
35887 "path" : "/nodes/{node}/storage/{storage}/status",
35888 "text" : "status"
35889 },
35890 {
35891 "info" : {
35892 "GET" : {
e9cd3bd4 35893 "allowtoken" : 1,
4d47f125
TL
35894 "description" : "Read storage RRD statistics (returns PNG).",
35895 "method" : "GET",
35896 "name" : "rrd",
35897 "parameters" : {
35898 "additionalProperties" : 0,
35899 "properties" : {
35900 "cf" : {
35901 "description" : "The RRD consolidation function",
35902 "enum" : [
35903 "AVERAGE",
35904 "MAX"
35905 ],
35906 "optional" : 1,
35907 "type" : "string"
35908 },
35909 "ds" : {
35910 "description" : "The list of datasources you want to display.",
35911 "format" : "pve-configid-list",
35912 "type" : "string",
35913 "typetext" : "<string>"
35914 },
35915 "node" : {
35916 "description" : "The cluster node name.",
35917 "format" : "pve-node",
35918 "type" : "string",
35919 "typetext" : "<string>"
35920 },
35921 "storage" : {
35922 "description" : "The storage identifier.",
35923 "format" : "pve-storage-id",
35924 "type" : "string",
35925 "typetext" : "<string>"
35926 },
35927 "timeframe" : {
35928 "description" : "Specify the time frame you are interested in.",
35929 "enum" : [
35930 "hour",
35931 "day",
35932 "week",
35933 "month",
35934 "year"
35935 ],
35936 "type" : "string"
35937 }
44660702
DM
35938 }
35939 },
4d47f125
TL
35940 "permissions" : {
35941 "check" : [
35942 "perm",
35943 "/storage/{storage}",
35944 [
35945 "Datastore.Audit",
35946 "Datastore.AllocateSpace"
35947 ],
35948 "any",
35949 1
35950 ]
35951 },
35952 "protected" : 1,
35953 "proxyto" : "node",
35954 "returns" : {
35955 "properties" : {
35956 "filename" : {
35957 "type" : "string"
35958 }
35959 },
35960 "type" : "object"
44660702
DM
35961 }
35962 }
35963 },
4d47f125
TL
35964 "leaf" : 1,
35965 "path" : "/nodes/{node}/storage/{storage}/rrd",
35966 "text" : "rrd"
35967 },
35968 {
35969 "info" : {
35970 "GET" : {
e9cd3bd4 35971 "allowtoken" : 1,
4d47f125
TL
35972 "description" : "Read storage RRD statistics.",
35973 "method" : "GET",
35974 "name" : "rrddata",
35975 "parameters" : {
35976 "additionalProperties" : 0,
35977 "properties" : {
35978 "cf" : {
35979 "description" : "The RRD consolidation function",
35980 "enum" : [
35981 "AVERAGE",
35982 "MAX"
35983 ],
35984 "optional" : 1,
35985 "type" : "string"
35986 },
35987 "node" : {
35988 "description" : "The cluster node name.",
35989 "format" : "pve-node",
35990 "type" : "string",
35991 "typetext" : "<string>"
35992 },
35993 "storage" : {
35994 "description" : "The storage identifier.",
35995 "format" : "pve-storage-id",
35996 "type" : "string",
35997 "typetext" : "<string>"
35998 },
35999 "timeframe" : {
36000 "description" : "Specify the time frame you are interested in.",
36001 "enum" : [
36002 "hour",
36003 "day",
36004 "week",
36005 "month",
36006 "year"
36007 ],
36008 "type" : "string"
36009 }
56122987
DM
36010 }
36011 },
4d47f125
TL
36012 "permissions" : {
36013 "check" : [
36014 "perm",
36015 "/storage/{storage}",
36016 [
36017 "Datastore.Audit",
36018 "Datastore.AllocateSpace"
36019 ],
36020 "any",
36021 1
36022 ]
36023 },
36024 "protected" : 1,
36025 "proxyto" : "node",
36026 "returns" : {
36027 "items" : {
36028 "properties" : {},
36029 "type" : "object"
36030 },
36031 "type" : "array"
56122987 36032 }
7aacca6f 36033 }
56122987 36034 },
4d47f125
TL
36035 "leaf" : 1,
36036 "path" : "/nodes/{node}/storage/{storage}/rrddata",
36037 "text" : "rrddata"
36038 },
36039 {
36040 "info" : {
36041 "POST" : {
e9cd3bd4 36042 "allowtoken" : 1,
4d47f125
TL
36043 "description" : "Upload templates and ISO images.",
36044 "method" : "POST",
36045 "name" : "upload",
36046 "parameters" : {
36047 "additionalProperties" : 0,
36048 "properties" : {
36049 "content" : {
36050 "description" : "Content type.",
36051 "format" : "pve-storage-content",
36052 "type" : "string",
36053 "typetext" : "<string>"
36054 },
36055 "filename" : {
36056 "description" : "The name of the file to create.",
36057 "type" : "string",
36058 "typetext" : "<string>"
36059 },
36060 "node" : {
36061 "description" : "The cluster node name.",
36062 "format" : "pve-node",
36063 "type" : "string",
36064 "typetext" : "<string>"
36065 },
36066 "storage" : {
36067 "description" : "The storage identifier.",
36068 "format" : "pve-storage-id",
36069 "type" : "string",
36070 "typetext" : "<string>"
36071 },
36072 "tmpfilename" : {
1e3f8156 36073 "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
36074 "optional" : 1,
36075 "type" : "string",
36076 "typetext" : "<string>"
36077 }
44660702
DM
36078 }
36079 },
4d47f125
TL
36080 "permissions" : {
36081 "check" : [
36082 "perm",
36083 "/storage/{storage}",
36084 [
36085 "Datastore.AllocateTemplate"
36086 ]
36087 ]
56122987 36088 },
4d47f125
TL
36089 "protected" : 1,
36090 "returns" : {
44660702 36091 "type" : "string"
56122987 36092 }
44660702 36093 }
56122987 36094 },
4d47f125
TL
36095 "leaf" : 1,
36096 "path" : "/nodes/{node}/storage/{storage}/upload",
36097 "text" : "upload"
56122987 36098 }
4d47f125 36099 ],
56122987
DM
36100 "info" : {
36101 "GET" : {
e9cd3bd4 36102 "allowtoken" : 1,
4d47f125 36103 "description" : "",
44660702 36104 "method" : "GET",
4d47f125 36105 "name" : "diridx",
44660702
DM
36106 "parameters" : {
36107 "additionalProperties" : 0,
36108 "properties" : {
36109 "node" : {
36110 "description" : "The cluster node name.",
36111 "format" : "pve-node",
013dc89f
DM
36112 "type" : "string",
36113 "typetext" : "<string>"
4d47f125
TL
36114 },
36115 "storage" : {
36116 "description" : "The storage identifier.",
36117 "format" : "pve-storage-id",
36118 "type" : "string",
36119 "typetext" : "<string>"
44660702
DM
36120 }
36121 }
36122 },
7aacca6f
DM
36123 "permissions" : {
36124 "check" : [
36125 "perm",
4d47f125 36126 "/storage/{storage}",
7aacca6f 36127 [
4d47f125
TL
36128 "Datastore.Audit",
36129 "Datastore.AllocateSpace"
36130 ],
36131 "any",
36132 1
7aacca6f
DM
36133 ]
36134 },
56122987
DM
36135 "returns" : {
36136 "items" : {
36137 "properties" : {
4d47f125 36138 "subdir" : {
44660702 36139 "type" : "string"
56122987
DM
36140 }
36141 },
36142 "type" : "object"
7aacca6f 36143 },
4d47f125
TL
36144 "links" : [
36145 {
36146 "href" : "{subdir}",
36147 "rel" : "child"
36148 }
36149 ],
7aacca6f 36150 "type" : "array"
44660702
DM
36151 }
36152 }
36153 },
4d47f125
TL
36154 "leaf" : 0,
36155 "path" : "/nodes/{node}/storage/{storage}",
36156 "text" : "{storage}"
44660702
DM
36157 }
36158 ],
36159 "info" : {
36160 "GET" : {
e9cd3bd4 36161 "allowtoken" : 1,
4d47f125 36162 "description" : "Get status for all datastores.",
44660702
DM
36163 "method" : "GET",
36164 "name" : "index",
36165 "parameters" : {
36166 "additionalProperties" : 0,
36167 "properties" : {
4d47f125
TL
36168 "content" : {
36169 "description" : "Only list stores which support this content type.",
36170 "format" : "pve-storage-content-list",
36171 "optional" : 1,
36172 "type" : "string",
36173 "typetext" : "<string>"
36174 },
36175 "enabled" : {
36176 "default" : 0,
36177 "description" : "Only list stores which are enabled (not disabled in config).",
36178 "optional" : 1,
36179 "type" : "boolean",
36180 "typetext" : "<boolean>"
36181 },
36182 "format" : {
36183 "default" : 0,
36184 "description" : "Include information about formats",
36185 "optional" : 1,
36186 "type" : "boolean",
36187 "typetext" : "<boolean>"
36188 },
44660702
DM
36189 "node" : {
36190 "description" : "The cluster node name.",
36191 "format" : "pve-node",
013dc89f
DM
36192 "type" : "string",
36193 "typetext" : "<string>"
4d47f125
TL
36194 },
36195 "storage" : {
36196 "description" : "Only list status for specified storage",
36197 "format" : "pve-storage-id",
36198 "optional" : 1,
36199 "type" : "string",
36200 "typetext" : "<string>"
36201 },
36202 "target" : {
36203 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
36204 "format" : "pve-node",
36205 "optional" : 1,
36206 "type" : "string",
36207 "typetext" : "<string>"
44660702
DM
36208 }
36209 }
36210 },
4d47f125
TL
36211 "permissions" : {
36212 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
36213 "user" : "all"
36214 },
36215 "protected" : 1,
36216 "proxyto" : "node",
36217 "returns" : {
36218 "items" : {
36219 "properties" : {
36220 "active" : {
36221 "description" : "Set when storage is accessible.",
36222 "optional" : 1,
36223 "type" : "boolean"
36224 },
36225 "avail" : {
36226 "description" : "Available storage space in bytes.",
36227 "optional" : 1,
36228 "renderer" : "bytes",
36229 "type" : "integer"
36230 },
36231 "content" : {
36232 "description" : "Allowed storage content types.",
36233 "format" : "pve-storage-content-list",
36234 "type" : "string"
36235 },
36236 "enabled" : {
36237 "description" : "Set when storage is enabled (not disabled).",
36238 "optional" : 1,
36239 "type" : "boolean"
36240 },
36241 "shared" : {
36242 "description" : "Shared flag from storage configuration.",
36243 "optional" : 1,
36244 "type" : "boolean"
36245 },
36246 "storage" : {
36247 "description" : "The storage identifier.",
36248 "format" : "pve-storage-id",
36249 "type" : "string"
36250 },
36251 "total" : {
36252 "description" : "Total storage space in bytes.",
36253 "optional" : 1,
36254 "renderer" : "bytes",
36255 "type" : "integer"
36256 },
36257 "type" : {
36258 "description" : "Storage type.",
36259 "type" : "string"
36260 },
36261 "used" : {
36262 "description" : "Used storage space in bytes.",
36263 "optional" : 1,
36264 "renderer" : "bytes",
36265 "type" : "integer"
36266 },
36267 "used_fraction" : {
36268 "description" : "Used fraction (used/total).",
36269 "optional" : 1,
36270 "renderer" : "fraction_as_percentage",
36271 "type" : "number"
7aacca6f 36272 }
4d47f125
TL
36273 },
36274 "type" : "object"
36275 },
36276 "links" : [
36277 {
36278 "href" : "{storage}",
36279 "rel" : "child"
36280 }
36281 ],
36282 "type" : "array"
36283 }
36284 }
36285 },
36286 "leaf" : 0,
36287 "path" : "/nodes/{node}/storage",
36288 "text" : "storage"
36289 },
36290 {
36291 "children" : [
36292 {
36293 "info" : {
36294 "GET" : {
e9cd3bd4 36295 "allowtoken" : 1,
4d47f125
TL
36296 "description" : "List LVM Volume Groups",
36297 "method" : "GET",
36298 "name" : "index",
36299 "parameters" : {
36300 "additionalProperties" : 0,
36301 "properties" : {
36302 "node" : {
36303 "description" : "The cluster node name.",
36304 "format" : "pve-node",
36305 "type" : "string",
36306 "typetext" : "<string>"
36307 }
36308 }
36309 },
36310 "permissions" : {
36311 "check" : [
36312 "perm",
36313 "/",
36314 [
36315 "Sys.Audit",
36316 "Datastore.Audit"
36317 ],
36318 "any",
36319 1
36320 ]
36321 },
36322 "protected" : 1,
36323 "proxyto" : "node",
36324 "returns" : {
36325 "properties" : {
36326 "children" : {
44660702
DM
36327 "items" : {
36328 "properties" : {
4d47f125
TL
36329 "children" : {
36330 "description" : "The underlying physical volumes",
36331 "items" : {
36332 "properties" : {
36333 "free" : {
36334 "description" : "The free bytes in the physical volume",
36335 "type" : "integer"
36336 },
36337 "leaf" : {
36338 "type" : "boolean"
36339 },
36340 "name" : {
36341 "description" : "The name of the physical volume",
36342 "type" : "string"
36343 },
36344 "size" : {
36345 "description" : "The size of the physical volume in bytes",
36346 "type" : "integer"
36347 }
36348 },
36349 "type" : "object"
36350 },
36351 "optional" : 1,
36352 "type" : "array"
36353 },
36354 "free" : {
36355 "description" : "The free bytes in the volume group",
36356 "type" : "integer"
36357 },
36358 "leaf" : {
36359 "type" : "boolean"
36360 },
36361 "name" : {
36362 "description" : "The name of the volume group",
44660702 36363 "type" : "string"
4d47f125
TL
36364 },
36365 "size" : {
36366 "description" : "The size of the volume group in bytes",
36367 "type" : "integer"
44660702
DM
36368 }
36369 },
36370 "type" : "object"
36371 },
44660702 36372 "type" : "array"
4d47f125
TL
36373 },
36374 "leaf" : {
36375 "type" : "boolean"
44660702
DM
36376 }
36377 },
4d47f125
TL
36378 "type" : "object"
36379 }
36380 },
36381 "POST" : {
e9cd3bd4 36382 "allowtoken" : 1,
4d47f125
TL
36383 "description" : "Create an LVM Volume Group",
36384 "method" : "POST",
36385 "name" : "create",
36386 "parameters" : {
36387 "additionalProperties" : 0,
36388 "properties" : {
36389 "add_storage" : {
36390 "default" : 0,
36391 "description" : "Configure storage using the Volume Group",
36392 "optional" : 1,
36393 "type" : "boolean",
36394 "typetext" : "<boolean>"
44660702 36395 },
4d47f125
TL
36396 "device" : {
36397 "description" : "The block device you want to create the volume group on",
36398 "type" : "string",
36399 "typetext" : "<string>"
44660702 36400 },
4d47f125
TL
36401 "name" : {
36402 "description" : "The storage identifier.",
36403 "format" : "pve-storage-id",
36404 "type" : "string",
36405 "typetext" : "<string>"
36406 },
36407 "node" : {
36408 "description" : "The cluster node name.",
36409 "format" : "pve-node",
36410 "type" : "string",
36411 "typetext" : "<string>"
36412 }
36413 }
36414 },
36415 "permissions" : {
36416 "check" : [
36417 "perm",
36418 "/",
36419 [
36420 "Sys.Modify",
36421 "Datastore.Allocate"
36422 ]
36423 ]
36424 },
36425 "protected" : 1,
36426 "proxyto" : "node",
36427 "returns" : {
36428 "type" : "string"
36429 }
36430 }
36431 },
36432 "leaf" : 1,
36433 "path" : "/nodes/{node}/disks/lvm",
36434 "text" : "lvm"
36435 },
36436 {
36437 "info" : {
36438 "GET" : {
e9cd3bd4 36439 "allowtoken" : 1,
4d47f125
TL
36440 "description" : "List LVM thinpools",
36441 "method" : "GET",
36442 "name" : "index",
36443 "parameters" : {
36444 "additionalProperties" : 0,
36445 "properties" : {
36446 "node" : {
36447 "description" : "The cluster node name.",
36448 "format" : "pve-node",
36449 "type" : "string",
36450 "typetext" : "<string>"
44660702
DM
36451 }
36452 }
36453 },
4d47f125
TL
36454 "permissions" : {
36455 "check" : [
36456 "perm",
36457 "/",
36458 [
36459 "Sys.Audit",
36460 "Datastore.Audit"
36461 ],
36462 "any",
36463 1
36464 ]
36465 },
36466 "protected" : 1,
36467 "proxyto" : "node",
36468 "returns" : {
36469 "items" : {
36470 "properties" : {
36471 "lv" : {
36472 "description" : "The name of the thinpool.",
36473 "type" : "string"
36474 },
36475 "lv_size" : {
36476 "description" : "The size of the thinpool in bytes.",
36477 "type" : "integer"
36478 },
36479 "metadata_size" : {
36480 "description" : "The size of the metadata lv in bytes.",
36481 "type" : "integer"
36482 },
36483 "metadata_used" : {
36484 "description" : "The used bytes of the metadata lv.",
36485 "type" : "integer"
36486 },
36487 "used" : {
36488 "description" : "The used bytes of the thinpool.",
36489 "type" : "integer"
44660702
DM
36490 }
36491 },
4d47f125
TL
36492 "type" : "object"
36493 },
36494 "type" : "array"
36495 }
36496 },
36497 "POST" : {
e9cd3bd4 36498 "allowtoken" : 1,
4d47f125
TL
36499 "description" : "Create an LVM thinpool",
36500 "method" : "POST",
36501 "name" : "create",
36502 "parameters" : {
36503 "additionalProperties" : 0,
36504 "properties" : {
36505 "add_storage" : {
36506 "default" : 0,
36507 "description" : "Configure storage using the thinpool.",
36508 "optional" : 1,
36509 "type" : "boolean",
36510 "typetext" : "<boolean>"
56122987 36511 },
4d47f125
TL
36512 "device" : {
36513 "description" : "The block device you want to create the thinpool on.",
36514 "type" : "string",
36515 "typetext" : "<string>"
36516 },
36517 "name" : {
36518 "description" : "The storage identifier.",
36519 "format" : "pve-storage-id",
36520 "type" : "string",
36521 "typetext" : "<string>"
36522 },
36523 "node" : {
36524 "description" : "The cluster node name.",
36525 "format" : "pve-node",
36526 "type" : "string",
36527 "typetext" : "<string>"
44660702 36528 }
56122987
DM
36529 }
36530 },
4d47f125
TL
36531 "permissions" : {
36532 "check" : [
36533 "perm",
36534 "/",
36535 [
36536 "Sys.Modify",
36537 "Datastore.Allocate"
36538 ]
36539 ]
36540 },
36541 "protected" : 1,
36542 "proxyto" : "node",
36543 "returns" : {
36544 "type" : "string"
36545 }
36546 }
36547 },
36548 "leaf" : 1,
36549 "path" : "/nodes/{node}/disks/lvmthin",
36550 "text" : "lvmthin"
36551 },
36552 {
36553 "info" : {
36554 "GET" : {
e9cd3bd4 36555 "allowtoken" : 1,
4d47f125
TL
36556 "description" : "PVE Managed Directory storages.",
36557 "method" : "GET",
36558 "name" : "index",
36559 "parameters" : {
36560 "additionalProperties" : 0,
36561 "properties" : {
36562 "node" : {
36563 "description" : "The cluster node name.",
36564 "format" : "pve-node",
36565 "type" : "string",
36566 "typetext" : "<string>"
36567 }
36568 }
36569 },
36570 "permissions" : {
36571 "check" : [
36572 "perm",
36573 "/",
36574 [
36575 "Sys.Audit",
36576 "Datastore.Audit"
36577 ],
36578 "any",
36579 1
36580 ]
36581 },
36582 "protected" : 1,
36583 "proxyto" : "node",
36584 "returns" : {
36585 "items" : {
36586 "properties" : {
36587 "device" : {
36588 "description" : "The mounted device.",
36589 "type" : "string"
36590 },
36591 "options" : {
36592 "description" : "The mount options.",
36593 "type" : "string"
36594 },
36595 "path" : {
36596 "description" : "The mount path.",
36597 "type" : "string"
36598 },
36599 "type" : {
36600 "description" : "The filesystem type.",
36601 "type" : "string"
36602 },
36603 "unitfile" : {
36604 "description" : "The path of the mount unit.",
36605 "type" : "string"
44660702 36606 }
56122987 36607 },
4d47f125
TL
36608 "type" : "object"
36609 },
36610 "type" : "array"
36611 }
36612 },
36613 "POST" : {
e9cd3bd4 36614 "allowtoken" : 1,
4d47f125
TL
36615 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
36616 "method" : "POST",
36617 "name" : "create",
36618 "parameters" : {
36619 "additionalProperties" : 0,
36620 "properties" : {
36621 "add_storage" : {
36622 "default" : 0,
36623 "description" : "Configure storage using the directory.",
36624 "optional" : 1,
36625 "type" : "boolean",
36626 "typetext" : "<boolean>"
36627 },
36628 "device" : {
36629 "description" : "The block device you want to create the filesystem on.",
36630 "type" : "string",
36631 "typetext" : "<string>"
36632 },
36633 "filesystem" : {
36634 "default" : "ext4",
36635 "description" : "The desired filesystem.",
36636 "enum" : [
36637 "ext4",
36638 "xfs"
36639 ],
36640 "optional" : 1,
36641 "type" : "string"
56122987 36642 },
4d47f125
TL
36643 "name" : {
36644 "description" : "The storage identifier.",
36645 "format" : "pve-storage-id",
36646 "type" : "string",
36647 "typetext" : "<string>"
36648 },
36649 "node" : {
36650 "description" : "The cluster node name.",
36651 "format" : "pve-node",
36652 "type" : "string",
36653 "typetext" : "<string>"
7aacca6f 36654 }
56122987
DM
36655 }
36656 },
4d47f125
TL
36657 "permissions" : {
36658 "check" : [
36659 "perm",
36660 "/",
36661 [
36662 "Sys.Modify",
36663 "Datastore.Allocate"
36664 ]
36665 ]
36666 },
36667 "protected" : 1,
36668 "proxyto" : "node",
36669 "returns" : {
36670 "type" : "string"
36671 }
36672 }
36673 },
36674 "leaf" : 1,
36675 "path" : "/nodes/{node}/disks/directory",
36676 "text" : "directory"
36677 },
36678 {
36679 "children" : [
56122987 36680 {
56122987
DM
36681 "info" : {
36682 "GET" : {
e9cd3bd4 36683 "allowtoken" : 1,
4d47f125 36684 "description" : "Get details about a zpool.",
44660702 36685 "method" : "GET",
4d47f125 36686 "name" : "detail",
56122987 36687 "parameters" : {
44660702 36688 "additionalProperties" : 0,
56122987 36689 "properties" : {
4d47f125
TL
36690 "name" : {
36691 "description" : "The storage identifier.",
36692 "format" : "pve-storage-id",
36693 "type" : "string",
36694 "typetext" : "<string>"
44660702 36695 },
7aacca6f 36696 "node" : {
7aacca6f 36697 "description" : "The cluster node name.",
44660702 36698 "format" : "pve-node",
013dc89f
DM
36699 "type" : "string",
36700 "typetext" : "<string>"
56122987 36701 }
44660702 36702 }
7aacca6f 36703 },
7aacca6f
DM
36704 "permissions" : {
36705 "check" : [
36706 "perm",
4d47f125 36707 "/",
7aacca6f 36708 [
4d47f125
TL
36709 "Sys.Audit",
36710 "Datastore.Audit"
7aacca6f
DM
36711 ],
36712 "any",
36713 1
36714 ]
36715 },
44660702
DM
36716 "protected" : 1,
36717 "proxyto" : "node",
7aacca6f 36718 "returns" : {
56122987 36719 "properties" : {
4d47f125
TL
36720 "action" : {
36721 "description" : "Information about the recommended action to fix the state.",
36722 "optional" : 1,
36723 "type" : "string"
56122987 36724 },
4d47f125 36725 "children" : {
e2d681b3 36726 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
36727 "items" : {
36728 "properties" : {
36729 "cksum" : {
e2d681b3 36730 "optional" : 1,
4d47f125
TL
36731 "type" : "number"
36732 },
36733 "msg" : {
36734 "description" : "An optional message about the vdev.",
36735 "type" : "string"
36736 },
36737 "name" : {
e2d681b3 36738 "description" : "The name of the vdev or section.",
4d47f125
TL
36739 "type" : "string"
36740 },
36741 "read" : {
e2d681b3 36742 "optional" : 1,
4d47f125
TL
36743 "type" : "number"
36744 },
36745 "state" : {
36746 "description" : "The state of the vdev.",
e2d681b3 36747 "optional" : 1,
4d47f125
TL
36748 "type" : "string"
36749 },
36750 "write" : {
e2d681b3 36751 "optional" : 1,
4d47f125
TL
36752 "type" : "number"
36753 }
36754 },
36755 "type" : "object"
36756 },
36757 "type" : "array"
56122987 36758 },
e2d681b3
TL
36759 "errors" : {
36760 "description" : "Information about the errors on the zpool.",
36761 "type" : "string"
36762 },
4d47f125
TL
36763 "name" : {
36764 "description" : "The name of the zpool.",
36765 "type" : "string"
44660702 36766 },
4d47f125 36767 "scan" : {
e2d681b3 36768 "description" : "Information about the last/current scrub.",
d2656385 36769 "optional" : 1,
4d47f125 36770 "type" : "string"
44660702 36771 },
4d47f125
TL
36772 "state" : {
36773 "description" : "The state of the zpool.",
36774 "type" : "string"
36775 },
36776 "status" : {
36777 "description" : "Information about the state of the zpool.",
44660702 36778 "optional" : 1,
4d47f125 36779 "type" : "string"
56122987 36780 }
4d47f125
TL
36781 },
36782 "type" : "object"
44660702
DM
36783 }
36784 }
36785 },
36786 "leaf" : 1,
4d47f125
TL
36787 "path" : "/nodes/{node}/disks/zfs/{name}",
36788 "text" : "{name}"
44660702
DM
36789 }
36790 ],
36791 "info" : {
36792 "GET" : {
e9cd3bd4 36793 "allowtoken" : 1,
4d47f125 36794 "description" : "List Zpools.",
44660702 36795 "method" : "GET",
4d47f125 36796 "name" : "index",
44660702
DM
36797 "parameters" : {
36798 "additionalProperties" : 0,
36799 "properties" : {
36800 "node" : {
36801 "description" : "The cluster node name.",
36802 "format" : "pve-node",
013dc89f
DM
36803 "type" : "string",
36804 "typetext" : "<string>"
4d47f125
TL
36805 }
36806 }
36807 },
36808 "permissions" : {
36809 "check" : [
36810 "perm",
36811 "/",
36812 [
36813 "Sys.Audit",
36814 "Datastore.Audit"
36815 ],
36816 "any",
36817 1
36818 ]
36819 },
36820 "protected" : 1,
36821 "proxyto" : "node",
36822 "returns" : {
36823 "items" : {
36824 "properties" : {
36825 "alloc" : {
36826 "description" : "",
36827 "type" : "integer"
36828 },
36829 "dedup" : {
36830 "description" : "",
36831 "type" : "number"
36832 },
36833 "frag" : {
36834 "description" : "",
36835 "type" : "integer"
36836 },
36837 "free" : {
36838 "description" : "",
36839 "type" : "integer"
36840 },
36841 "health" : {
36842 "description" : "",
36843 "type" : "string"
36844 },
36845 "name" : {
36846 "description" : "",
36847 "type" : "string"
36848 },
36849 "size" : {
36850 "description" : "",
36851 "type" : "integer"
36852 }
36853 },
36854 "type" : "object"
36855 },
36856 "links" : [
36857 {
36858 "href" : "{name}",
36859 "rel" : "child"
36860 }
36861 ],
36862 "type" : "array"
36863 }
36864 },
36865 "POST" : {
e9cd3bd4 36866 "allowtoken" : 1,
4d47f125
TL
36867 "description" : "Create a ZFS pool.",
36868 "method" : "POST",
36869 "name" : "create",
36870 "parameters" : {
36871 "additionalProperties" : 0,
36872 "properties" : {
36873 "add_storage" : {
36874 "default" : 0,
36875 "description" : "Configure storage using the zpool.",
36876 "optional" : 1,
36877 "type" : "boolean",
36878 "typetext" : "<boolean>"
36879 },
36880 "ashift" : {
36881 "default" : 12,
36882 "description" : "Pool sector size exponent.",
36883 "maximum" : 16,
36884 "minimum" : 9,
36885 "optional" : 1,
36886 "type" : "integer",
36887 "typetext" : "<integer> (9 - 16)"
36888 },
36889 "compression" : {
36890 "default" : "on",
36891 "description" : "The compression algorithm to use.",
36892 "enum" : [
36893 "on",
36894 "off",
36895 "gzip",
36896 "lz4",
36897 "lzjb",
36898 "zle"
36899 ],
36900 "optional" : 1,
36901 "type" : "string"
36902 },
36903 "devices" : {
36904 "description" : "The block devices you want to create the zpool on.",
36905 "format" : "string-list",
36906 "type" : "string",
36907 "typetext" : "<string>"
44660702 36908 },
4d47f125 36909 "name" : {
44660702
DM
36910 "description" : "The storage identifier.",
36911 "format" : "pve-storage-id",
013dc89f
DM
36912 "type" : "string",
36913 "typetext" : "<string>"
4d47f125
TL
36914 },
36915 "node" : {
36916 "description" : "The cluster node name.",
36917 "format" : "pve-node",
36918 "type" : "string",
36919 "typetext" : "<string>"
36920 },
36921 "raidlevel" : {
36922 "description" : "The RAID level to use.",
36923 "enum" : [
36924 "single",
36925 "mirror",
36926 "raid10",
36927 "raidz",
36928 "raidz2",
36929 "raidz3"
36930 ],
36931 "type" : "string"
56122987
DM
36932 }
36933 }
44660702
DM
36934 },
36935 "permissions" : {
36936 "check" : [
36937 "perm",
4d47f125 36938 "/",
44660702 36939 [
4d47f125
TL
36940 "Sys.Modify",
36941 "Datastore.Allocate"
36942 ]
44660702
DM
36943 ]
36944 },
4d47f125
TL
36945 "protected" : 1,
36946 "proxyto" : "node",
44660702 36947 "returns" : {
4d47f125 36948 "type" : "string"
56122987
DM
36949 }
36950 }
44660702
DM
36951 },
36952 "leaf" : 0,
4d47f125
TL
36953 "path" : "/nodes/{node}/disks/zfs",
36954 "text" : "zfs"
36955 },
2c0dde61
DM
36956 {
36957 "info" : {
36958 "GET" : {
e9cd3bd4 36959 "allowtoken" : 1,
2c0dde61
DM
36960 "description" : "List local disks.",
36961 "method" : "GET",
36962 "name" : "list",
36963 "parameters" : {
36964 "additionalProperties" : 0,
36965 "properties" : {
d2656385
TL
36966 "include-partitions" : {
36967 "default" : 0,
36968 "description" : "Also include partitions.",
36969 "optional" : 1,
36970 "type" : "boolean",
36971 "typetext" : "<boolean>"
36972 },
2c0dde61
DM
36973 "node" : {
36974 "description" : "The cluster node name.",
36975 "format" : "pve-node",
013dc89f
DM
36976 "type" : "string",
36977 "typetext" : "<string>"
4d47f125
TL
36978 },
36979 "skipsmart" : {
36980 "default" : 0,
36981 "description" : "Skip smart checks.",
36982 "optional" : 1,
36983 "type" : "boolean",
36984 "typetext" : "<boolean>"
36985 },
36986 "type" : {
36987 "description" : "Only list specific types of disks.",
36988 "enum" : [
36989 "unused",
36990 "journal_disks"
36991 ],
36992 "optional" : 1,
36993 "type" : "string"
2c0dde61
DM
36994 }
36995 }
36996 },
36997 "permissions" : {
36998 "check" : [
d2656385 36999 "or",
2c0dde61 37000 [
d2656385
TL
37001 "perm",
37002 "/",
37003 [
37004 "Sys.Audit",
37005 "Datastore.Audit"
37006 ],
37007 "any",
37008 1
2c0dde61 37009 ],
d2656385
TL
37010 [
37011 "perm",
37012 "/nodes/{node}",
37013 [
37014 "Sys.Audit",
37015 "Datastore.Audit"
37016 ],
37017 "any",
37018 1
37019 ]
2c0dde61
DM
37020 ]
37021 },
37022 "protected" : 1,
37023 "proxyto" : "node",
37024 "returns" : {
37025 "items" : {
37026 "properties" : {
37027 "devpath" : {
37028 "description" : "The device path",
37029 "type" : "string"
37030 },
37031 "gpt" : {
37032 "type" : "boolean"
37033 },
37034 "health" : {
37035 "optional" : 1,
37036 "type" : "string"
37037 },
37038 "model" : {
37039 "optional" : 1,
37040 "type" : "string"
37041 },
37042 "osdid" : {
37043 "type" : "integer"
37044 },
d2656385
TL
37045 "parent" : {
37046 "description" : "For partitions only. The device path of the disk the partition resides on.",
37047 "optional" : 1,
37048 "type" : "string"
37049 },
2c0dde61
DM
37050 "serial" : {
37051 "optional" : 1,
37052 "type" : "string"
37053 },
37054 "size" : {
37055 "type" : "integer"
37056 },
37057 "used" : {
37058 "optional" : 1,
37059 "type" : "string"
37060 },
37061 "vendor" : {
37062 "optional" : 1,
37063 "type" : "string"
37064 },
37065 "wwn" : {
37066 "optional" : 1,
37067 "type" : "string"
37068 }
37069 },
37070 "type" : "object"
37071 },
37072 "type" : "array"
37073 }
37074 }
37075 },
37076 "leaf" : 1,
37077 "path" : "/nodes/{node}/disks/list",
37078 "text" : "list"
37079 },
37080 {
37081 "info" : {
37082 "GET" : {
e9cd3bd4 37083 "allowtoken" : 1,
2c0dde61
DM
37084 "description" : "Get SMART Health of a disk.",
37085 "method" : "GET",
37086 "name" : "smart",
37087 "parameters" : {
37088 "additionalProperties" : 0,
37089 "properties" : {
37090 "disk" : {
37091 "description" : "Block device name",
37092 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
37093 "type" : "string"
37094 },
37095 "healthonly" : {
37096 "description" : "If true returns only the health status",
37097 "optional" : 1,
013dc89f
DM
37098 "type" : "boolean",
37099 "typetext" : "<boolean>"
2c0dde61
DM
37100 },
37101 "node" : {
37102 "description" : "The cluster node name.",
37103 "format" : "pve-node",
013dc89f
DM
37104 "type" : "string",
37105 "typetext" : "<string>"
2c0dde61
DM
37106 }
37107 }
37108 },
37109 "permissions" : {
37110 "check" : [
37111 "perm",
37112 "/",
37113 [
37114 "Sys.Audit",
37115 "Datastore.Audit"
37116 ],
37117 "any",
37118 1
37119 ]
37120 },
37121 "protected" : 1,
37122 "proxyto" : "node",
37123 "returns" : {
de0983cb
DM
37124 "properties" : {
37125 "attributes" : {
37126 "optional" : 1,
37127 "type" : "array"
37128 },
37129 "health" : {
37130 "type" : "string"
37131 },
37132 "text" : {
37133 "optional" : 1,
37134 "type" : "string"
37135 },
37136 "type" : {
37137 "optional" : 1,
37138 "type" : "string"
37139 }
37140 },
2c0dde61
DM
37141 "type" : "object"
37142 }
37143 }
37144 },
37145 "leaf" : 1,
37146 "path" : "/nodes/{node}/disks/smart",
37147 "text" : "smart"
37148 },
37149 {
37150 "info" : {
37151 "POST" : {
e9cd3bd4 37152 "allowtoken" : 1,
2c0dde61
DM
37153 "description" : "Initialize Disk with GPT",
37154 "method" : "POST",
37155 "name" : "initgpt",
37156 "parameters" : {
37157 "additionalProperties" : 0,
37158 "properties" : {
37159 "disk" : {
37160 "description" : "Block device name",
37161 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
37162 "type" : "string"
37163 },
37164 "node" : {
37165 "description" : "The cluster node name.",
37166 "format" : "pve-node",
013dc89f
DM
37167 "type" : "string",
37168 "typetext" : "<string>"
2c0dde61
DM
37169 },
37170 "uuid" : {
37171 "description" : "UUID for the GPT table",
37172 "maxLength" : 36,
37173 "optional" : 1,
37174 "pattern" : "[a-fA-F0-9\\-]+",
37175 "type" : "string"
37176 }
37177 }
37178 },
37179 "permissions" : {
37180 "check" : [
37181 "perm",
37182 "/",
37183 [
37184 "Sys.Modify"
37185 ]
37186 ]
37187 },
37188 "protected" : 1,
37189 "proxyto" : "node",
37190 "returns" : {
37191 "type" : "string"
37192 }
37193 }
37194 },
37195 "leaf" : 1,
37196 "path" : "/nodes/{node}/disks/initgpt",
37197 "text" : "initgpt"
0695fdaf
TL
37198 },
37199 {
37200 "info" : {
37201 "PUT" : {
37202 "allowtoken" : 1,
37203 "description" : "Wipe a disk or partition.",
37204 "method" : "PUT",
37205 "name" : "wipe_disk",
37206 "parameters" : {
37207 "additionalProperties" : 0,
37208 "properties" : {
37209 "disk" : {
37210 "description" : "Block device name",
37211 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
37212 "type" : "string"
37213 },
37214 "node" : {
37215 "description" : "The cluster node name.",
37216 "format" : "pve-node",
37217 "type" : "string",
37218 "typetext" : "<string>"
37219 }
37220 }
37221 },
37222 "protected" : 1,
37223 "proxyto" : "node",
37224 "returns" : {
37225 "type" : "string"
37226 }
37227 }
37228 },
37229 "leaf" : 1,
37230 "path" : "/nodes/{node}/disks/wipedisk",
37231 "text" : "wipedisk"
2c0dde61
DM
37232 }
37233 ],
37234 "info" : {
37235 "GET" : {
e9cd3bd4 37236 "allowtoken" : 1,
2c0dde61
DM
37237 "description" : "Node index.",
37238 "method" : "GET",
37239 "name" : "index",
37240 "parameters" : {
37241 "additionalProperties" : 0,
37242 "properties" : {
37243 "node" : {
37244 "description" : "The cluster node name.",
37245 "format" : "pve-node",
013dc89f
DM
37246 "type" : "string",
37247 "typetext" : "<string>"
2c0dde61
DM
37248 }
37249 }
37250 },
37251 "permissions" : {
37252 "user" : "all"
37253 },
37254 "proxyto" : "node",
37255 "returns" : {
37256 "items" : {
37257 "properties" : {},
37258 "type" : "object"
37259 },
37260 "links" : [
37261 {
37262 "href" : "{name}",
37263 "rel" : "child"
37264 }
37265 ],
37266 "type" : "array"
37267 }
37268 }
37269 },
37270 "leaf" : 0,
37271 "path" : "/nodes/{node}/disks",
37272 "text" : "disks"
37273 },
56122987 37274 {
56122987
DM
37275 "children" : [
37276 {
37277 "info" : {
44660702 37278 "GET" : {
e9cd3bd4 37279 "allowtoken" : 1,
44660702
DM
37280 "description" : "List available updates.",
37281 "method" : "GET",
37282 "name" : "list_updates",
37283 "parameters" : {
37284 "additionalProperties" : 0,
37285 "properties" : {
37286 "node" : {
37287 "description" : "The cluster node name.",
37288 "format" : "pve-node",
013dc89f
DM
37289 "type" : "string",
37290 "typetext" : "<string>"
44660702
DM
37291 }
37292 }
7aacca6f
DM
37293 },
37294 "permissions" : {
37295 "check" : [
37296 "perm",
37297 "/nodes/{node}",
37298 [
37299 "Sys.Modify"
37300 ]
37301 ]
37302 },
44660702 37303 "protected" : 1,
56122987 37304 "proxyto" : "node",
44660702
DM
37305 "returns" : {
37306 "items" : {
37307 "properties" : {},
37308 "type" : "object"
37309 },
37310 "type" : "array"
37311 }
37312 },
37313 "POST" : {
e9cd3bd4 37314 "allowtoken" : 1,
44660702 37315 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
37316 "method" : "POST",
37317 "name" : "update_database",
56122987
DM
37318 "parameters" : {
37319 "additionalProperties" : 0,
37320 "properties" : {
44660702
DM
37321 "node" : {
37322 "description" : "The cluster node name.",
37323 "format" : "pve-node",
013dc89f
DM
37324 "type" : "string",
37325 "typetext" : "<string>"
44660702 37326 },
56122987 37327 "notify" : {
56122987 37328 "default" : 0,
44660702
DM
37329 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
37330 "optional" : 1,
013dc89f
DM
37331 "type" : "boolean",
37332 "typetext" : "<boolean>"
56122987
DM
37333 },
37334 "quiet" : {
56122987 37335 "default" : 0,
44660702 37336 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 37337 "optional" : 1,
013dc89f
DM
37338 "type" : "boolean",
37339 "typetext" : "<boolean>"
56122987 37340 }
7aacca6f
DM
37341 }
37342 },
37343 "permissions" : {
37344 "check" : [
37345 "perm",
37346 "/nodes/{node}",
37347 [
37348 "Sys.Modify"
37349 ]
37350 ]
37351 },
44660702
DM
37352 "protected" : 1,
37353 "proxyto" : "node",
37354 "returns" : {
37355 "type" : "string"
37356 }
56122987
DM
37357 }
37358 },
7aacca6f 37359 "leaf" : 1,
44660702
DM
37360 "path" : "/nodes/{node}/apt/update",
37361 "text" : "update"
56122987
DM
37362 },
37363 {
56122987
DM
37364 "info" : {
37365 "GET" : {
e9cd3bd4 37366 "allowtoken" : 1,
44660702 37367 "description" : "Get package changelogs.",
56122987 37368 "method" : "GET",
7aacca6f 37369 "name" : "changelog",
56122987 37370 "parameters" : {
44660702 37371 "additionalProperties" : 0,
56122987
DM
37372 "properties" : {
37373 "name" : {
37374 "description" : "Package name.",
013dc89f
DM
37375 "type" : "string",
37376 "typetext" : "<string>"
56122987 37377 },
44660702
DM
37378 "node" : {
37379 "description" : "The cluster node name.",
37380 "format" : "pve-node",
013dc89f
DM
37381 "type" : "string",
37382 "typetext" : "<string>"
44660702 37383 },
56122987 37384 "version" : {
7aacca6f 37385 "description" : "Package version.",
44660702 37386 "optional" : 1,
013dc89f
DM
37387 "type" : "string",
37388 "typetext" : "<string>"
56122987 37389 }
44660702 37390 }
56122987 37391 },
44660702
DM
37392 "permissions" : {
37393 "check" : [
37394 "perm",
37395 "/nodes/{node}",
37396 [
37397 "Sys.Modify"
37398 ]
37399 ]
37400 },
37401 "proxyto" : "node",
37402 "returns" : {
37403 "type" : "string"
37404 }
56122987
DM
37405 }
37406 },
44660702
DM
37407 "leaf" : 1,
37408 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 37409 "text" : "changelog"
56122987
DM
37410 },
37411 {
56122987
DM
37412 "info" : {
37413 "GET" : {
e9cd3bd4 37414 "allowtoken" : 1,
44660702
DM
37415 "description" : "Get package information for important Proxmox packages.",
37416 "method" : "GET",
7aacca6f
DM
37417 "name" : "versions",
37418 "parameters" : {
44660702 37419 "additionalProperties" : 0,
7aacca6f
DM
37420 "properties" : {
37421 "node" : {
44660702 37422 "description" : "The cluster node name.",
7aacca6f 37423 "format" : "pve-node",
013dc89f
DM
37424 "type" : "string",
37425 "typetext" : "<string>"
7aacca6f 37426 }
44660702 37427 }
7aacca6f 37428 },
56122987
DM
37429 "permissions" : {
37430 "check" : [
37431 "perm",
37432 "/nodes/{node}",
37433 [
37434 "Sys.Audit"
37435 ]
37436 ]
37437 },
7aacca6f 37438 "proxyto" : "node",
56122987
DM
37439 "returns" : {
37440 "items" : {
7aacca6f
DM
37441 "properties" : {},
37442 "type" : "object"
44660702
DM
37443 },
37444 "type" : "array"
56122987
DM
37445 }
37446 }
37447 },
44660702 37448 "leaf" : 1,
7aacca6f 37449 "path" : "/nodes/{node}/apt/versions",
44660702 37450 "text" : "versions"
56122987
DM
37451 }
37452 ],
56122987
DM
37453 "info" : {
37454 "GET" : {
e9cd3bd4 37455 "allowtoken" : 1,
44660702 37456 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 37457 "method" : "GET",
44660702 37458 "name" : "index",
7aacca6f
DM
37459 "parameters" : {
37460 "additionalProperties" : 0,
37461 "properties" : {
37462 "node" : {
44660702 37463 "description" : "The cluster node name.",
7aacca6f 37464 "format" : "pve-node",
013dc89f
DM
37465 "type" : "string",
37466 "typetext" : "<string>"
7aacca6f
DM
37467 }
37468 }
37469 },
7aacca6f
DM
37470 "permissions" : {
37471 "user" : "all"
37472 },
44660702
DM
37473 "returns" : {
37474 "items" : {
37475 "properties" : {
37476 "id" : {
37477 "type" : "string"
37478 }
37479 },
37480 "type" : "object"
37481 },
37482 "links" : [
37483 {
37484 "href" : "{id}",
37485 "rel" : "child"
37486 }
37487 ],
37488 "type" : "array"
37489 }
56122987 37490 }
7aacca6f 37491 },
44660702 37492 "leaf" : 0,
7aacca6f 37493 "path" : "/nodes/{node}/apt",
44660702 37494 "text" : "apt"
56122987
DM
37495 },
37496 {
56122987
DM
37497 "children" : [
37498 {
37499 "children" : [
37500 {
56122987
DM
37501 "info" : {
37502 "DELETE" : {
e9cd3bd4 37503 "allowtoken" : 1,
44660702 37504 "description" : "Delete rule.",
7aacca6f 37505 "method" : "DELETE",
44660702 37506 "name" : "delete_rule",
56122987
DM
37507 "parameters" : {
37508 "additionalProperties" : 0,
37509 "properties" : {
56122987
DM
37510 "digest" : {
37511 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 37512 "maxLength" : 40,
56122987 37513 "optional" : 1,
013dc89f
DM
37514 "type" : "string",
37515 "typetext" : "<string>"
56122987 37516 },
44660702
DM
37517 "node" : {
37518 "description" : "The cluster node name.",
37519 "format" : "pve-node",
013dc89f
DM
37520 "type" : "string",
37521 "typetext" : "<string>"
44660702 37522 },
7aacca6f 37523 "pos" : {
7aacca6f 37524 "description" : "Update rule at position <pos>.",
44660702
DM
37525 "minimum" : 0,
37526 "optional" : 1,
4bd7df8b 37527 "type" : "integer",
013dc89f 37528 "typetext" : "<integer> (0 - N)"
56122987
DM
37529 }
37530 }
37531 },
44660702
DM
37532 "permissions" : {
37533 "check" : [
37534 "perm",
37535 "/nodes/{node}",
37536 [
37537 "Sys.Modify"
37538 ]
37539 ]
37540 },
37541 "protected" : 1,
37542 "proxyto" : "node",
56122987
DM
37543 "returns" : {
37544 "type" : "null"
44660702
DM
37545 }
37546 },
37547 "GET" : {
e9cd3bd4 37548 "allowtoken" : 1,
44660702
DM
37549 "description" : "Get single rule data.",
37550 "method" : "GET",
37551 "name" : "get_rule",
37552 "parameters" : {
37553 "additionalProperties" : 0,
37554 "properties" : {
37555 "node" : {
37556 "description" : "The cluster node name.",
37557 "format" : "pve-node",
013dc89f
DM
37558 "type" : "string",
37559 "typetext" : "<string>"
44660702
DM
37560 },
37561 "pos" : {
37562 "description" : "Update rule at position <pos>.",
37563 "minimum" : 0,
37564 "optional" : 1,
4bd7df8b 37565 "type" : "integer",
013dc89f 37566 "typetext" : "<integer> (0 - N)"
44660702
DM
37567 }
37568 }
56122987 37569 },
56122987
DM
37570 "permissions" : {
37571 "check" : [
37572 "perm",
37573 "/nodes/{node}",
37574 [
44660702 37575 "Sys.Audit"
56122987
DM
37576 ]
37577 ]
44660702
DM
37578 },
37579 "proxyto" : "node",
37580 "returns" : {
37581 "properties" : {
e2d681b3
TL
37582 "action" : {
37583 "type" : "string"
37584 },
37585 "comment" : {
37586 "optional" : 1,
37587 "type" : "string"
37588 },
37589 "dest" : {
37590 "optional" : 1,
37591 "type" : "string"
37592 },
37593 "dport" : {
37594 "optional" : 1,
37595 "type" : "string"
37596 },
37597 "enable" : {
37598 "optional" : 1,
37599 "type" : "integer"
37600 },
4772952b
TL
37601 "icmp-type" : {
37602 "optional" : 1,
37603 "type" : "string"
37604 },
e2d681b3
TL
37605 "iface" : {
37606 "optional" : 1,
37607 "type" : "string"
37608 },
37609 "ipversion" : {
37610 "optional" : 1,
37611 "type" : "integer"
37612 },
95895385
TL
37613 "log" : {
37614 "description" : "Log level for firewall rule",
37615 "enum" : [
37616 "emerg",
37617 "alert",
37618 "crit",
37619 "err",
37620 "warning",
37621 "notice",
37622 "info",
37623 "debug",
37624 "nolog"
37625 ],
37626 "optional" : 1,
37627 "type" : "string"
37628 },
e2d681b3
TL
37629 "macro" : {
37630 "optional" : 1,
5f26e15b 37631 "type" : "string"
e2d681b3 37632 },
44660702
DM
37633 "pos" : {
37634 "type" : "integer"
e2d681b3
TL
37635 },
37636 "proto" : {
37637 "optional" : 1,
37638 "type" : "string"
37639 },
37640 "source" : {
37641 "optional" : 1,
37642 "type" : "string"
37643 },
37644 "sport" : {
37645 "optional" : 1,
37646 "type" : "string"
37647 },
37648 "type" : {
37649 "type" : "string"
44660702
DM
37650 }
37651 },
37652 "type" : "object"
7aacca6f 37653 }
56122987
DM
37654 },
37655 "PUT" : {
e9cd3bd4 37656 "allowtoken" : 1,
44660702
DM
37657 "description" : "Modify rule data.",
37658 "method" : "PUT",
56122987 37659 "name" : "update_rule",
56122987 37660 "parameters" : {
44660702 37661 "additionalProperties" : 0,
56122987 37662 "properties" : {
44660702
DM
37663 "action" : {
37664 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
37665 "maxLength" : 20,
37666 "minLength" : 2,
56122987 37667 "optional" : 1,
44660702
DM
37668 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
37669 "type" : "string"
56122987 37670 },
7aacca6f 37671 "comment" : {
e94f0d56 37672 "description" : "Descriptive comment.",
56122987 37673 "optional" : 1,
013dc89f
DM
37674 "type" : "string",
37675 "typetext" : "<string>"
56122987 37676 },
44660702
DM
37677 "delete" : {
37678 "description" : "A list of settings you want to delete.",
37679 "format" : "pve-configid-list",
56122987 37680 "optional" : 1,
013dc89f
DM
37681 "type" : "string",
37682 "typetext" : "<string>"
56122987 37683 },
44660702
DM
37684 "dest" : {
37685 "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.",
37686 "format" : "pve-fw-addr-spec",
0695fdaf 37687 "maxLength" : 512,
56122987 37688 "optional" : 1,
013dc89f
DM
37689 "type" : "string",
37690 "typetext" : "<string>"
56122987 37691 },
44660702
DM
37692 "digest" : {
37693 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37694 "maxLength" : 40,
56122987 37695 "optional" : 1,
013dc89f
DM
37696 "type" : "string",
37697 "typetext" : "<string>"
56122987 37698 },
7aacca6f 37699 "dport" : {
7aacca6f 37700 "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
37701 "format" : "pve-fw-dport-spec",
37702 "optional" : 1,
013dc89f
DM
37703 "type" : "string",
37704 "typetext" : "<string>"
7aacca6f 37705 },
44660702 37706 "enable" : {
e94f0d56 37707 "description" : "Flag to enable/disable a rule.",
44660702 37708 "minimum" : 0,
56122987 37709 "optional" : 1,
4bd7df8b 37710 "type" : "integer",
013dc89f 37711 "typetext" : "<integer> (0 - N)"
56122987 37712 },
4772952b
TL
37713 "icmp-type" : {
37714 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
37715 "format" : "pve-fw-icmp-type-spec",
37716 "optional" : 1,
37717 "type" : "string",
37718 "typetext" : "<string>"
37719 },
7aacca6f 37720 "iface" : {
44660702 37721 "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 37722 "format" : "pve-iface",
44660702 37723 "maxLength" : 20,
56122987 37724 "minLength" : 2,
44660702 37725 "optional" : 1,
013dc89f
DM
37726 "type" : "string",
37727 "typetext" : "<string>"
56122987 37728 },
95895385
TL
37729 "log" : {
37730 "description" : "Log level for firewall rule.",
37731 "enum" : [
37732 "emerg",
37733 "alert",
37734 "crit",
37735 "err",
37736 "warning",
37737 "notice",
37738 "info",
37739 "debug",
37740 "nolog"
37741 ],
37742 "optional" : 1,
37743 "type" : "string"
37744 },
44660702 37745 "macro" : {
e94f0d56 37746 "description" : "Use predefined standard macro.",
44660702
DM
37747 "maxLength" : 128,
37748 "optional" : 1,
013dc89f
DM
37749 "type" : "string",
37750 "typetext" : "<string>"
44660702
DM
37751 },
37752 "moveto" : {
37753 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
37754 "minimum" : 0,
7aacca6f 37755 "optional" : 1,
4bd7df8b 37756 "type" : "integer",
013dc89f 37757 "typetext" : "<integer> (0 - N)"
44660702
DM
37758 },
37759 "node" : {
37760 "description" : "The cluster node name.",
37761 "format" : "pve-node",
013dc89f
DM
37762 "type" : "string",
37763 "typetext" : "<string>"
56122987
DM
37764 },
37765 "pos" : {
44660702 37766 "description" : "Update rule at position <pos>.",
7aacca6f 37767 "minimum" : 0,
7aacca6f 37768 "optional" : 1,
4bd7df8b 37769 "type" : "integer",
013dc89f 37770 "typetext" : "<integer> (0 - N)"
7aacca6f 37771 },
44660702
DM
37772 "proto" : {
37773 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
37774 "format" : "pve-fw-protocol-spec",
7aacca6f 37775 "optional" : 1,
013dc89f
DM
37776 "type" : "string",
37777 "typetext" : "<string>"
7aacca6f 37778 },
44660702
DM
37779 "source" : {
37780 "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.",
37781 "format" : "pve-fw-addr-spec",
0695fdaf 37782 "maxLength" : 512,
56122987 37783 "optional" : 1,
013dc89f
DM
37784 "type" : "string",
37785 "typetext" : "<string>"
7aacca6f 37786 },
44660702
DM
37787 "sport" : {
37788 "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.",
37789 "format" : "pve-fw-sport-spec",
37790 "optional" : 1,
013dc89f
DM
37791 "type" : "string",
37792 "typetext" : "<string>"
44660702
DM
37793 },
37794 "type" : {
e94f0d56 37795 "description" : "Rule type.",
44660702
DM
37796 "enum" : [
37797 "in",
37798 "out",
37799 "group"
37800 ],
37801 "optional" : 1,
37802 "type" : "string"
56122987 37803 }
44660702 37804 }
56122987 37805 },
56122987
DM
37806 "permissions" : {
37807 "check" : [
37808 "perm",
37809 "/nodes/{node}",
37810 [
37811 "Sys.Modify"
37812 ]
37813 ]
7aacca6f 37814 },
44660702 37815 "protected" : 1,
7aacca6f 37816 "proxyto" : "node",
7aacca6f
DM
37817 "returns" : {
37818 "type" : "null"
56122987
DM
37819 }
37820 }
7aacca6f 37821 },
44660702 37822 "leaf" : 1,
7aacca6f 37823 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 37824 "text" : "{pos}"
56122987
DM
37825 }
37826 ],
56122987
DM
37827 "info" : {
37828 "GET" : {
e9cd3bd4 37829 "allowtoken" : 1,
44660702
DM
37830 "description" : "List rules.",
37831 "method" : "GET",
37832 "name" : "get_rules",
37833 "parameters" : {
37834 "additionalProperties" : 0,
37835 "properties" : {
37836 "node" : {
37837 "description" : "The cluster node name.",
37838 "format" : "pve-node",
013dc89f
DM
37839 "type" : "string",
37840 "typetext" : "<string>"
44660702
DM
37841 }
37842 }
37843 },
37844 "permissions" : {
37845 "check" : [
37846 "perm",
37847 "/nodes/{node}",
37848 [
37849 "Sys.Audit"
37850 ]
37851 ]
37852 },
37853 "proxyto" : "node",
56122987 37854 "returns" : {
56122987
DM
37855 "items" : {
37856 "properties" : {
37857 "pos" : {
37858 "type" : "integer"
37859 }
44660702
DM
37860 },
37861 "type" : "object"
56122987 37862 },
7aacca6f
DM
37863 "links" : [
37864 {
37865 "href" : "{pos}",
37866 "rel" : "child"
37867 }
37868 ],
37869 "type" : "array"
44660702 37870 }
56122987
DM
37871 },
37872 "POST" : {
e9cd3bd4 37873 "allowtoken" : 1,
44660702 37874 "description" : "Create new rule.",
7aacca6f
DM
37875 "method" : "POST",
37876 "name" : "create_rule",
56122987 37877 "parameters" : {
44660702 37878 "additionalProperties" : 0,
56122987 37879 "properties" : {
7aacca6f 37880 "action" : {
7aacca6f 37881 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 37882 "maxLength" : 20,
7aacca6f
DM
37883 "minLength" : 2,
37884 "optional" : 0,
44660702
DM
37885 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
37886 "type" : "string"
56122987 37887 },
44660702 37888 "comment" : {
e94f0d56 37889 "description" : "Descriptive comment.",
56122987 37890 "optional" : 1,
013dc89f
DM
37891 "type" : "string",
37892 "typetext" : "<string>"
56122987 37893 },
44660702
DM
37894 "dest" : {
37895 "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.",
37896 "format" : "pve-fw-addr-spec",
0695fdaf 37897 "maxLength" : 512,
7aacca6f 37898 "optional" : 1,
013dc89f
DM
37899 "type" : "string",
37900 "typetext" : "<string>"
56122987 37901 },
44660702
DM
37902 "digest" : {
37903 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37904 "maxLength" : 40,
37905 "optional" : 1,
013dc89f
DM
37906 "type" : "string",
37907 "typetext" : "<string>"
56122987 37908 },
44660702
DM
37909 "dport" : {
37910 "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.",
37911 "format" : "pve-fw-dport-spec",
7aacca6f 37912 "optional" : 1,
013dc89f
DM
37913 "type" : "string",
37914 "typetext" : "<string>"
56122987 37915 },
44660702 37916 "enable" : {
e94f0d56 37917 "description" : "Flag to enable/disable a rule.",
44660702
DM
37918 "minimum" : 0,
37919 "optional" : 1,
4bd7df8b 37920 "type" : "integer",
013dc89f 37921 "typetext" : "<integer> (0 - N)"
44660702 37922 },
4772952b
TL
37923 "icmp-type" : {
37924 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
37925 "format" : "pve-fw-icmp-type-spec",
37926 "optional" : 1,
37927 "type" : "string",
37928 "typetext" : "<string>"
37929 },
7aacca6f 37930 "iface" : {
44660702 37931 "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 37932 "format" : "pve-iface",
56122987 37933 "maxLength" : 20,
7aacca6f 37934 "minLength" : 2,
7aacca6f 37935 "optional" : 1,
013dc89f
DM
37936 "type" : "string",
37937 "typetext" : "<string>"
56122987 37938 },
95895385
TL
37939 "log" : {
37940 "description" : "Log level for firewall rule.",
37941 "enum" : [
37942 "emerg",
37943 "alert",
37944 "crit",
37945 "err",
37946 "warning",
37947 "notice",
37948 "info",
37949 "debug",
37950 "nolog"
37951 ],
37952 "optional" : 1,
37953 "type" : "string"
37954 },
44660702 37955 "macro" : {
e94f0d56 37956 "description" : "Use predefined standard macro.",
44660702 37957 "maxLength" : 128,
7aacca6f 37958 "optional" : 1,
013dc89f
DM
37959 "type" : "string",
37960 "typetext" : "<string>"
56122987 37961 },
44660702
DM
37962 "node" : {
37963 "description" : "The cluster node name.",
37964 "format" : "pve-node",
013dc89f
DM
37965 "type" : "string",
37966 "typetext" : "<string>"
44660702
DM
37967 },
37968 "pos" : {
37969 "description" : "Update rule at position <pos>.",
37970 "minimum" : 0,
37971 "optional" : 1,
4bd7df8b 37972 "type" : "integer",
013dc89f 37973 "typetext" : "<integer> (0 - N)"
44660702
DM
37974 },
37975 "proto" : {
37976 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
37977 "format" : "pve-fw-protocol-spec",
56122987 37978 "optional" : 1,
013dc89f
DM
37979 "type" : "string",
37980 "typetext" : "<string>"
56122987 37981 },
7aacca6f 37982 "source" : {
7aacca6f 37983 "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 37984 "format" : "pve-fw-addr-spec",
0695fdaf 37985 "maxLength" : 512,
44660702 37986 "optional" : 1,
013dc89f
DM
37987 "type" : "string",
37988 "typetext" : "<string>"
7aacca6f 37989 },
44660702
DM
37990 "sport" : {
37991 "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.",
37992 "format" : "pve-fw-sport-spec",
7aacca6f 37993 "optional" : 1,
013dc89f
DM
37994 "type" : "string",
37995 "typetext" : "<string>"
44660702
DM
37996 },
37997 "type" : {
e94f0d56 37998 "description" : "Rule type.",
44660702
DM
37999 "enum" : [
38000 "in",
38001 "out",
38002 "group"
38003 ],
38004 "optional" : 0,
38005 "type" : "string"
56122987 38006 }
44660702 38007 }
7aacca6f 38008 },
56122987
DM
38009 "permissions" : {
38010 "check" : [
38011 "perm",
38012 "/nodes/{node}",
38013 [
38014 "Sys.Modify"
38015 ]
38016 ]
38017 },
44660702
DM
38018 "protected" : 1,
38019 "proxyto" : "node",
38020 "returns" : {
38021 "type" : "null"
38022 }
56122987
DM
38023 }
38024 },
44660702 38025 "leaf" : 0,
7aacca6f 38026 "path" : "/nodes/{node}/firewall/rules",
44660702 38027 "text" : "rules"
56122987
DM
38028 },
38029 {
56122987 38030 "info" : {
44660702 38031 "GET" : {
e9cd3bd4 38032 "allowtoken" : 1,
44660702
DM
38033 "description" : "Get host firewall options.",
38034 "method" : "GET",
38035 "name" : "get_options",
56122987 38036 "parameters" : {
7aacca6f 38037 "additionalProperties" : 0,
56122987 38038 "properties" : {
44660702
DM
38039 "node" : {
38040 "description" : "The cluster node name.",
38041 "format" : "pve-node",
013dc89f
DM
38042 "type" : "string",
38043 "typetext" : "<string>"
44660702
DM
38044 }
38045 }
38046 },
38047 "permissions" : {
38048 "check" : [
38049 "perm",
38050 "/nodes/{node}",
38051 [
38052 "Sys.Audit"
38053 ]
38054 ]
38055 },
38056 "proxyto" : "node",
38057 "returns" : {
38058 "properties" : {
38059 "enable" : {
38060 "description" : "Enable host firewall rules.",
7aacca6f 38061 "optional" : 1,
44660702 38062 "type" : "boolean"
7aacca6f 38063 },
44660702
DM
38064 "log_level_in" : {
38065 "description" : "Log level for incoming traffic.",
56122987
DM
38066 "enum" : [
38067 "emerg",
38068 "alert",
38069 "crit",
38070 "err",
38071 "warning",
38072 "notice",
38073 "info",
38074 "debug",
38075 "nolog"
38076 ],
56122987 38077 "optional" : 1,
44660702
DM
38078 "type" : "string"
38079 },
38080 "log_level_out" : {
38081 "description" : "Log level for outgoing traffic.",
56122987
DM
38082 "enum" : [
38083 "emerg",
38084 "alert",
38085 "crit",
38086 "err",
38087 "warning",
38088 "notice",
38089 "info",
38090 "debug",
38091 "nolog"
38092 ],
44660702
DM
38093 "optional" : 1,
38094 "type" : "string"
38095 },
95895385
TL
38096 "log_nf_conntrack" : {
38097 "default" : 0,
38098 "description" : "Enable logging of conntrack information.",
38099 "optional" : 1,
38100 "type" : "boolean"
38101 },
44660702 38102 "ndp" : {
5c1699e5
TL
38103 "default" : 0,
38104 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
38105 "optional" : 1,
38106 "type" : "boolean"
38107 },
5f26e15b
TL
38108 "nf_conntrack_allow_invalid" : {
38109 "default" : 0,
38110 "description" : "Allow invalid packets on connection tracking.",
38111 "optional" : 1,
38112 "type" : "boolean"
38113 },
44660702 38114 "nf_conntrack_max" : {
5c1699e5 38115 "default" : 262144,
44660702
DM
38116 "description" : "Maximum number of tracked connections.",
38117 "minimum" : 32768,
38118 "optional" : 1,
38119 "type" : "integer"
38120 },
38121 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 38122 "default" : 432000,
44660702
DM
38123 "description" : "Conntrack established timeout.",
38124 "minimum" : 7875,
38125 "optional" : 1,
38126 "type" : "integer"
38127 },
5c1699e5
TL
38128 "nf_conntrack_tcp_timeout_syn_recv" : {
38129 "default" : 60,
38130 "description" : "Conntrack syn recv timeout.",
38131 "maximum" : 60,
38132 "minimum" : 30,
38133 "optional" : 1,
38134 "type" : "integer"
38135 },
44660702
DM
38136 "nosmurfs" : {
38137 "description" : "Enable SMURFS filter.",
38138 "optional" : 1,
38139 "type" : "boolean"
56122987 38140 },
5c1699e5
TL
38141 "protection_synflood" : {
38142 "default" : 0,
38143 "description" : "Enable synflood protection",
38144 "optional" : 1,
38145 "type" : "boolean"
38146 },
38147 "protection_synflood_burst" : {
38148 "default" : 1000,
38149 "description" : "Synflood protection rate burst by ip src.",
38150 "optional" : 1,
38151 "type" : "integer"
38152 },
38153 "protection_synflood_rate" : {
38154 "default" : 200,
38155 "description" : "Synflood protection rate syn/sec by ip src.",
38156 "optional" : 1,
38157 "type" : "integer"
38158 },
7aacca6f 38159 "smurf_log_level" : {
44660702 38160 "description" : "Log level for SMURFS filter.",
56122987
DM
38161 "enum" : [
38162 "emerg",
38163 "alert",
38164 "crit",
38165 "err",
38166 "warning",
38167 "notice",
38168 "info",
38169 "debug",
38170 "nolog"
7aacca6f 38171 ],
7aacca6f
DM
38172 "optional" : 1,
38173 "type" : "string"
56122987 38174 },
44660702
DM
38175 "tcp_flags_log_level" : {
38176 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
38177 "enum" : [
38178 "emerg",
38179 "alert",
38180 "crit",
38181 "err",
38182 "warning",
38183 "notice",
38184 "info",
38185 "debug",
38186 "nolog"
38187 ],
44660702
DM
38188 "optional" : 1,
38189 "type" : "string"
7aacca6f 38190 },
44660702 38191 "tcpflags" : {
5c1699e5 38192 "default" : 0,
44660702 38193 "description" : "Filter illegal combinations of TCP flags.",
56122987 38194 "optional" : 1,
44660702 38195 "type" : "boolean"
56122987 38196 }
44660702
DM
38197 },
38198 "type" : "object"
7aacca6f 38199 }
56122987 38200 },
44660702 38201 "PUT" : {
e9cd3bd4 38202 "allowtoken" : 1,
44660702
DM
38203 "description" : "Set Firewall options.",
38204 "method" : "PUT",
38205 "name" : "set_options",
7aacca6f 38206 "parameters" : {
44660702 38207 "additionalProperties" : 0,
7aacca6f 38208 "properties" : {
44660702
DM
38209 "delete" : {
38210 "description" : "A list of settings you want to delete.",
38211 "format" : "pve-configid-list",
7aacca6f 38212 "optional" : 1,
013dc89f
DM
38213 "type" : "string",
38214 "typetext" : "<string>"
56122987 38215 },
44660702
DM
38216 "digest" : {
38217 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38218 "maxLength" : 40,
38219 "optional" : 1,
013dc89f
DM
38220 "type" : "string",
38221 "typetext" : "<string>"
56122987 38222 },
44660702
DM
38223 "enable" : {
38224 "description" : "Enable host firewall rules.",
7aacca6f 38225 "optional" : 1,
013dc89f
DM
38226 "type" : "boolean",
38227 "typetext" : "<boolean>"
44660702
DM
38228 },
38229 "log_level_in" : {
38230 "description" : "Log level for incoming traffic.",
56122987
DM
38231 "enum" : [
38232 "emerg",
38233 "alert",
38234 "crit",
38235 "err",
38236 "warning",
38237 "notice",
38238 "info",
38239 "debug",
38240 "nolog"
44660702 38241 ],
7aacca6f 38242 "optional" : 1,
44660702 38243 "type" : "string"
7aacca6f 38244 },
44660702
DM
38245 "log_level_out" : {
38246 "description" : "Log level for outgoing traffic.",
56122987
DM
38247 "enum" : [
38248 "emerg",
38249 "alert",
38250 "crit",
38251 "err",
38252 "warning",
38253 "notice",
38254 "info",
38255 "debug",
38256 "nolog"
38257 ],
38258 "optional" : 1,
7aacca6f 38259 "type" : "string"
56122987 38260 },
95895385
TL
38261 "log_nf_conntrack" : {
38262 "default" : 0,
38263 "description" : "Enable logging of conntrack information.",
38264 "optional" : 1,
38265 "type" : "boolean",
38266 "typetext" : "<boolean>"
38267 },
44660702 38268 "ndp" : {
5c1699e5
TL
38269 "default" : 0,
38270 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 38271 "optional" : 1,
013dc89f
DM
38272 "type" : "boolean",
38273 "typetext" : "<boolean>"
44660702 38274 },
5f26e15b
TL
38275 "nf_conntrack_allow_invalid" : {
38276 "default" : 0,
38277 "description" : "Allow invalid packets on connection tracking.",
38278 "optional" : 1,
38279 "type" : "boolean",
38280 "typetext" : "<boolean>"
38281 },
44660702 38282 "nf_conntrack_max" : {
5c1699e5 38283 "default" : 262144,
44660702
DM
38284 "description" : "Maximum number of tracked connections.",
38285 "minimum" : 32768,
38286 "optional" : 1,
4bd7df8b 38287 "type" : "integer",
013dc89f 38288 "typetext" : "<integer> (32768 - N)"
44660702
DM
38289 },
38290 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 38291 "default" : 432000,
44660702
DM
38292 "description" : "Conntrack established timeout.",
38293 "minimum" : 7875,
38294 "optional" : 1,
4bd7df8b 38295 "type" : "integer",
013dc89f 38296 "typetext" : "<integer> (7875 - N)"
44660702 38297 },
5c1699e5
TL
38298 "nf_conntrack_tcp_timeout_syn_recv" : {
38299 "default" : 60,
38300 "description" : "Conntrack syn recv timeout.",
38301 "maximum" : 60,
38302 "minimum" : 30,
38303 "optional" : 1,
38304 "type" : "integer",
38305 "typetext" : "<integer> (30 - 60)"
38306 },
44660702
DM
38307 "node" : {
38308 "description" : "The cluster node name.",
38309 "format" : "pve-node",
013dc89f
DM
38310 "type" : "string",
38311 "typetext" : "<string>"
44660702
DM
38312 },
38313 "nosmurfs" : {
38314 "description" : "Enable SMURFS filter.",
38315 "optional" : 1,
013dc89f
DM
38316 "type" : "boolean",
38317 "typetext" : "<boolean>"
44660702 38318 },
5c1699e5
TL
38319 "protection_synflood" : {
38320 "default" : 0,
38321 "description" : "Enable synflood protection",
38322 "optional" : 1,
38323 "type" : "boolean",
38324 "typetext" : "<boolean>"
38325 },
38326 "protection_synflood_burst" : {
38327 "default" : 1000,
38328 "description" : "Synflood protection rate burst by ip src.",
38329 "optional" : 1,
38330 "type" : "integer",
38331 "typetext" : "<integer>"
38332 },
38333 "protection_synflood_rate" : {
38334 "default" : 200,
38335 "description" : "Synflood protection rate syn/sec by ip src.",
38336 "optional" : 1,
38337 "type" : "integer",
38338 "typetext" : "<integer>"
38339 },
44660702
DM
38340 "smurf_log_level" : {
38341 "description" : "Log level for SMURFS filter.",
56122987
DM
38342 "enum" : [
38343 "emerg",
38344 "alert",
38345 "crit",
38346 "err",
38347 "warning",
38348 "notice",
38349 "info",
38350 "debug",
38351 "nolog"
44660702
DM
38352 ],
38353 "optional" : 1,
38354 "type" : "string"
56122987 38355 },
44660702
DM
38356 "tcp_flags_log_level" : {
38357 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
38358 "enum" : [
38359 "emerg",
38360 "alert",
38361 "crit",
38362 "err",
38363 "warning",
38364 "notice",
38365 "info",
38366 "debug",
38367 "nolog"
38368 ],
44660702
DM
38369 "optional" : 1,
38370 "type" : "string"
7aacca6f 38371 },
44660702 38372 "tcpflags" : {
5c1699e5 38373 "default" : 0,
44660702 38374 "description" : "Filter illegal combinations of TCP flags.",
56122987 38375 "optional" : 1,
013dc89f
DM
38376 "type" : "boolean",
38377 "typetext" : "<boolean>"
56122987 38378 }
7aacca6f 38379 }
56122987 38380 },
44660702
DM
38381 "permissions" : {
38382 "check" : [
38383 "perm",
38384 "/nodes/{node}",
38385 [
38386 "Sys.Modify"
38387 ]
38388 ]
38389 },
38390 "protected" : 1,
38391 "proxyto" : "node",
38392 "returns" : {
38393 "type" : "null"
38394 }
7aacca6f
DM
38395 }
38396 },
44660702
DM
38397 "leaf" : 1,
38398 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
38399 "text" : "options"
38400 },
38401 {
7aacca6f
DM
38402 "info" : {
38403 "GET" : {
e9cd3bd4 38404 "allowtoken" : 1,
44660702
DM
38405 "description" : "Read firewall log",
38406 "method" : "GET",
7aacca6f 38407 "name" : "log",
56122987 38408 "parameters" : {
44660702 38409 "additionalProperties" : 0,
56122987 38410 "properties" : {
7aacca6f 38411 "limit" : {
44660702 38412 "minimum" : 0,
7aacca6f 38413 "optional" : 1,
4bd7df8b 38414 "type" : "integer",
013dc89f 38415 "typetext" : "<integer> (0 - N)"
7aacca6f 38416 },
56122987 38417 "node" : {
7aacca6f 38418 "description" : "The cluster node name.",
44660702 38419 "format" : "pve-node",
013dc89f
DM
38420 "type" : "string",
38421 "typetext" : "<string>"
44660702
DM
38422 },
38423 "start" : {
38424 "minimum" : 0,
38425 "optional" : 1,
4bd7df8b 38426 "type" : "integer",
013dc89f 38427 "typetext" : "<integer> (0 - N)"
56122987 38428 }
44660702 38429 }
7aacca6f 38430 },
56122987
DM
38431 "permissions" : {
38432 "check" : [
38433 "perm",
38434 "/nodes/{node}",
38435 [
38436 "Sys.Syslog"
38437 ]
38438 ]
38439 },
44660702
DM
38440 "protected" : 1,
38441 "proxyto" : "node",
56122987
DM
38442 "returns" : {
38443 "items" : {
56122987 38444 "properties" : {
56122987 38445 "n" : {
44660702
DM
38446 "description" : "Line number",
38447 "type" : "integer"
7aacca6f
DM
38448 },
38449 "t" : {
44660702
DM
38450 "description" : "Line text",
38451 "type" : "string"
56122987 38452 }
44660702
DM
38453 },
38454 "type" : "object"
56122987
DM
38455 },
38456 "type" : "array"
7aacca6f 38457 }
56122987
DM
38458 }
38459 },
44660702
DM
38460 "leaf" : 1,
38461 "path" : "/nodes/{node}/firewall/log",
7aacca6f 38462 "text" : "log"
56122987
DM
38463 }
38464 ],
38465 "info" : {
38466 "GET" : {
e9cd3bd4 38467 "allowtoken" : 1,
44660702
DM
38468 "description" : "Directory index.",
38469 "method" : "GET",
38470 "name" : "index",
56122987 38471 "parameters" : {
44660702 38472 "additionalProperties" : 0,
56122987
DM
38473 "properties" : {
38474 "node" : {
38475 "description" : "The cluster node name.",
44660702 38476 "format" : "pve-node",
013dc89f
DM
38477 "type" : "string",
38478 "typetext" : "<string>"
56122987 38479 }
44660702 38480 }
56122987 38481 },
7aacca6f
DM
38482 "permissions" : {
38483 "user" : "all"
38484 },
56122987
DM
38485 "returns" : {
38486 "items" : {
38487 "properties" : {},
38488 "type" : "object"
38489 },
56122987
DM
38490 "links" : [
38491 {
44660702
DM
38492 "href" : "{name}",
38493 "rel" : "child"
56122987 38494 }
44660702
DM
38495 ],
38496 "type" : "array"
38497 }
56122987 38498 }
7aacca6f 38499 },
44660702 38500 "leaf" : 0,
7aacca6f 38501 "path" : "/nodes/{node}/firewall",
44660702 38502 "text" : "firewall"
56122987 38503 },
5d9c884c
DM
38504 {
38505 "children" : [
38506 {
38507 "children" : [
38508 {
38509 "info" : {
38510 "GET" : {
e9cd3bd4 38511 "allowtoken" : 1,
5d9c884c
DM
38512 "description" : "Get replication job status.",
38513 "method" : "GET",
38514 "name" : "job_status",
38515 "parameters" : {
38516 "additionalProperties" : 0,
38517 "properties" : {
38518 "id" : {
38519 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38520 "format" : "pve-replication-job-id",
38521 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38522 "type" : "string"
38523 },
38524 "node" : {
38525 "description" : "The cluster node name.",
38526 "format" : "pve-node",
38527 "type" : "string",
38528 "typetext" : "<string>"
38529 }
38530 }
38531 },
38532 "permissions" : {
38533 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
38534 "user" : "all"
38535 },
38536 "protected" : 1,
38537 "proxyto" : "node",
38538 "returns" : {
5d9c884c
DM
38539 "type" : "object"
38540 }
38541 }
38542 },
38543 "leaf" : 1,
38544 "path" : "/nodes/{node}/replication/{id}/status",
38545 "text" : "status"
38546 },
38547 {
38548 "info" : {
38549 "GET" : {
e9cd3bd4 38550 "allowtoken" : 1,
5d9c884c
DM
38551 "description" : "Read replication job log.",
38552 "method" : "GET",
38553 "name" : "read_job_log",
38554 "parameters" : {
38555 "additionalProperties" : 0,
38556 "properties" : {
38557 "id" : {
38558 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38559 "format" : "pve-replication-job-id",
38560 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38561 "type" : "string"
38562 },
38563 "limit" : {
38564 "minimum" : 0,
38565 "optional" : 1,
38566 "type" : "integer",
38567 "typetext" : "<integer> (0 - N)"
38568 },
38569 "node" : {
38570 "description" : "The cluster node name.",
38571 "format" : "pve-node",
38572 "type" : "string",
38573 "typetext" : "<string>"
38574 },
38575 "start" : {
38576 "minimum" : 0,
38577 "optional" : 1,
38578 "type" : "integer",
38579 "typetext" : "<integer> (0 - N)"
38580 }
38581 }
38582 },
38583 "permissions" : {
38584 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
38585 "user" : "all"
38586 },
38587 "protected" : 1,
38588 "proxyto" : "node",
38589 "returns" : {
38590 "items" : {
38591 "properties" : {
38592 "n" : {
38593 "description" : "Line number",
38594 "type" : "integer"
38595 },
38596 "t" : {
38597 "description" : "Line text",
38598 "type" : "string"
38599 }
38600 },
38601 "type" : "object"
38602 },
38603 "type" : "array"
38604 }
38605 }
38606 },
38607 "leaf" : 1,
38608 "path" : "/nodes/{node}/replication/{id}/log",
38609 "text" : "log"
38610 },
38611 {
38612 "info" : {
38613 "POST" : {
e9cd3bd4 38614 "allowtoken" : 1,
5d9c884c
DM
38615 "description" : "Schedule replication job to start as soon as possible.",
38616 "method" : "POST",
38617 "name" : "schedule_now",
38618 "parameters" : {
38619 "additionalProperties" : 0,
38620 "properties" : {
38621 "id" : {
38622 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38623 "format" : "pve-replication-job-id",
38624 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38625 "type" : "string"
38626 },
38627 "node" : {
38628 "description" : "The cluster node name.",
38629 "format" : "pve-node",
38630 "type" : "string",
38631 "typetext" : "<string>"
38632 }
38633 }
38634 },
38635 "permissions" : {
38636 "check" : [
38637 "perm",
38638 "/storage",
38639 [
38640 "Datastore.Allocate"
38641 ]
38642 ]
38643 },
38644 "protected" : 1,
38645 "proxyto" : "node",
38646 "returns" : {
38647 "type" : "string"
38648 }
38649 }
38650 },
38651 "leaf" : 1,
38652 "path" : "/nodes/{node}/replication/{id}/schedule_now",
38653 "text" : "schedule_now"
38654 }
38655 ],
38656 "info" : {
38657 "GET" : {
e9cd3bd4 38658 "allowtoken" : 1,
5d9c884c
DM
38659 "description" : "Directory index.",
38660 "method" : "GET",
38661 "name" : "index",
38662 "parameters" : {
38663 "additionalProperties" : 0,
38664 "properties" : {
38665 "id" : {
38666 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38667 "format" : "pve-replication-job-id",
38668 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38669 "type" : "string"
38670 },
38671 "node" : {
38672 "description" : "The cluster node name.",
38673 "format" : "pve-node",
38674 "type" : "string",
38675 "typetext" : "<string>"
38676 }
38677 }
38678 },
38679 "permissions" : {
38680 "user" : "all"
38681 },
38682 "returns" : {
38683 "items" : {
38684 "properties" : {},
38685 "type" : "object"
38686 },
38687 "links" : [
38688 {
38689 "href" : "{name}",
38690 "rel" : "child"
38691 }
38692 ],
38693 "type" : "array"
38694 }
38695 }
38696 },
38697 "leaf" : 0,
38698 "path" : "/nodes/{node}/replication/{id}",
38699 "text" : "{id}"
38700 }
38701 ],
38702 "info" : {
38703 "GET" : {
e9cd3bd4 38704 "allowtoken" : 1,
5d9c884c
DM
38705 "description" : "List status of all replication jobs on this node.",
38706 "method" : "GET",
38707 "name" : "status",
38708 "parameters" : {
38709 "additionalProperties" : 0,
38710 "properties" : {
38711 "guest" : {
38712 "description" : "Only list replication jobs for this guest.",
38713 "format" : "pve-vmid",
38714 "minimum" : 1,
38715 "optional" : 1,
38716 "type" : "integer",
38717 "typetext" : "<integer> (1 - N)"
38718 },
38719 "node" : {
38720 "description" : "The cluster node name.",
38721 "format" : "pve-node",
38722 "type" : "string",
38723 "typetext" : "<string>"
38724 }
38725 }
38726 },
38727 "permissions" : {
38728 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
38729 "user" : "all"
38730 },
38731 "protected" : 1,
38732 "proxyto" : "node",
38733 "returns" : {
38734 "items" : {
38735 "properties" : {
38736 "id" : {
38737 "type" : "string"
38738 }
38739 },
38740 "type" : "object"
38741 },
38742 "links" : [
38743 {
38744 "href" : "{id}",
38745 "rel" : "child"
38746 }
38747 ],
38748 "type" : "array"
38749 }
38750 }
38751 },
38752 "leaf" : 0,
38753 "path" : "/nodes/{node}/replication",
38754 "text" : "replication"
38755 },
a9a8e3d1
DM
38756 {
38757 "children" : [
38758 {
38759 "children" : [
38760 {
38761 "info" : {
38762 "DELETE" : {
e9cd3bd4 38763 "allowtoken" : 1,
a9a8e3d1
DM
38764 "description" : "Revoke existing certificate from CA.",
38765 "method" : "DELETE",
38766 "name" : "revoke_certificate",
38767 "parameters" : {
38768 "additionalProperties" : 0,
38769 "properties" : {
38770 "node" : {
38771 "description" : "The cluster node name.",
38772 "format" : "pve-node",
38773 "type" : "string",
38774 "typetext" : "<string>"
38775 }
38776 }
38777 },
ac70d7d1
TL
38778 "permissions" : {
38779 "check" : [
38780 "perm",
38781 "/nodes/{node}",
38782 [
38783 "Sys.Modify"
38784 ]
38785 ]
38786 },
a9a8e3d1
DM
38787 "protected" : 1,
38788 "proxyto" : "node",
38789 "returns" : {
38790 "type" : "string"
38791 }
38792 },
38793 "POST" : {
e9cd3bd4 38794 "allowtoken" : 1,
a9a8e3d1
DM
38795 "description" : "Order a new certificate from ACME-compatible CA.",
38796 "method" : "POST",
38797 "name" : "new_certificate",
38798 "parameters" : {
38799 "additionalProperties" : 0,
38800 "properties" : {
38801 "force" : {
38802 "default" : 0,
38803 "description" : "Overwrite existing custom certificate.",
38804 "optional" : 1,
38805 "type" : "boolean",
38806 "typetext" : "<boolean>"
38807 },
38808 "node" : {
38809 "description" : "The cluster node name.",
38810 "format" : "pve-node",
38811 "type" : "string",
38812 "typetext" : "<string>"
38813 }
38814 }
38815 },
ac70d7d1
TL
38816 "permissions" : {
38817 "check" : [
38818 "perm",
38819 "/nodes/{node}",
38820 [
38821 "Sys.Modify"
38822 ]
38823 ]
38824 },
a9a8e3d1
DM
38825 "protected" : 1,
38826 "proxyto" : "node",
38827 "returns" : {
38828 "type" : "string"
38829 }
38830 },
38831 "PUT" : {
e9cd3bd4 38832 "allowtoken" : 1,
a9a8e3d1
DM
38833 "description" : "Renew existing certificate from CA.",
38834 "method" : "PUT",
38835 "name" : "renew_certificate",
38836 "parameters" : {
38837 "additionalProperties" : 0,
38838 "properties" : {
38839 "force" : {
38840 "default" : 0,
38841 "description" : "Force renewal even if expiry is more than 30 days away.",
38842 "optional" : 1,
38843 "type" : "boolean",
38844 "typetext" : "<boolean>"
38845 },
38846 "node" : {
38847 "description" : "The cluster node name.",
38848 "format" : "pve-node",
38849 "type" : "string",
38850 "typetext" : "<string>"
38851 }
38852 }
38853 },
ac70d7d1
TL
38854 "permissions" : {
38855 "check" : [
38856 "perm",
38857 "/nodes/{node}",
38858 [
38859 "Sys.Modify"
38860 ]
38861 ]
38862 },
a9a8e3d1
DM
38863 "protected" : 1,
38864 "proxyto" : "node",
38865 "returns" : {
38866 "type" : "string"
38867 }
38868 }
38869 },
38870 "leaf" : 1,
38871 "path" : "/nodes/{node}/certificates/acme/certificate",
38872 "text" : "certificate"
38873 }
38874 ],
38875 "info" : {
38876 "GET" : {
e9cd3bd4 38877 "allowtoken" : 1,
a9a8e3d1
DM
38878 "description" : "ACME index.",
38879 "method" : "GET",
38880 "name" : "index",
38881 "parameters" : {
38882 "additionalProperties" : 0,
38883 "properties" : {
38884 "node" : {
38885 "description" : "The cluster node name.",
38886 "format" : "pve-node",
38887 "type" : "string",
38888 "typetext" : "<string>"
38889 }
38890 }
38891 },
38892 "permissions" : {
38893 "user" : "all"
38894 },
38895 "returns" : {
38896 "items" : {
38897 "properties" : {},
38898 "type" : "object"
38899 },
38900 "links" : [
38901 {
38902 "href" : "{name}",
38903 "rel" : "child"
38904 }
38905 ],
38906 "type" : "array"
38907 }
38908 }
38909 },
38910 "leaf" : 0,
38911 "path" : "/nodes/{node}/certificates/acme",
38912 "text" : "acme"
38913 },
38914 {
38915 "info" : {
38916 "GET" : {
e9cd3bd4 38917 "allowtoken" : 1,
a9a8e3d1
DM
38918 "description" : "Get information about node's certificates.",
38919 "method" : "GET",
38920 "name" : "info",
38921 "parameters" : {
38922 "additionalProperties" : 0,
38923 "properties" : {
38924 "node" : {
38925 "description" : "The cluster node name.",
38926 "format" : "pve-node",
38927 "type" : "string",
38928 "typetext" : "<string>"
38929 }
38930 }
38931 },
38932 "permissions" : {
38933 "user" : "all"
38934 },
38935 "proxyto" : "node",
38936 "returns" : {
38937 "items" : {
38938 "properties" : {
38939 "filename" : {
38940 "optional" : 1,
38941 "type" : "string"
38942 },
38943 "fingerprint" : {
38944 "description" : "Certificate SHA 256 fingerprint.",
38945 "optional" : 1,
38946 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
38947 "type" : "string"
38948 },
38949 "issuer" : {
38950 "description" : "Certificate issuer name.",
38951 "optional" : 1,
38952 "type" : "string"
38953 },
38954 "notafter" : {
38955 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
38956 "optional" : 1,
4d47f125 38957 "renderer" : "timestamp",
a9a8e3d1
DM
38958 "type" : "integer"
38959 },
38960 "notbefore" : {
38961 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
38962 "optional" : 1,
4d47f125 38963 "renderer" : "timestamp",
a9a8e3d1
DM
38964 "type" : "integer"
38965 },
38966 "pem" : {
38967 "description" : "Certificate in PEM format",
38968 "format" : "pem-certificate",
38969 "optional" : 1,
38970 "type" : "string"
38971 },
1c532546
TL
38972 "public-key-bits" : {
38973 "description" : "Certificate's public key size",
38974 "optional" : 1,
38975 "type" : "integer"
38976 },
38977 "public-key-type" : {
38978 "description" : "Certificate's public key algorithm",
38979 "optional" : 1,
38980 "type" : "string"
38981 },
a9a8e3d1
DM
38982 "san" : {
38983 "description" : "List of Certificate's SubjectAlternativeName entries.",
38984 "items" : {
38985 "type" : "string"
38986 },
38987 "optional" : 1,
4d47f125 38988 "renderer" : "yaml",
a9a8e3d1
DM
38989 "type" : "array"
38990 },
38991 "subject" : {
38992 "description" : "Certificate subject name.",
38993 "optional" : 1,
38994 "type" : "string"
38995 }
38996 },
38997 "type" : "object"
38998 },
38999 "type" : "array"
39000 }
39001 }
39002 },
39003 "leaf" : 1,
39004 "path" : "/nodes/{node}/certificates/info",
39005 "text" : "info"
39006 },
39007 {
39008 "info" : {
39009 "DELETE" : {
e9cd3bd4 39010 "allowtoken" : 1,
a9a8e3d1
DM
39011 "description" : "DELETE custom certificate chain and key.",
39012 "method" : "DELETE",
39013 "name" : "remove_custom_cert",
39014 "parameters" : {
39015 "additionalProperties" : 0,
39016 "properties" : {
39017 "node" : {
39018 "description" : "The cluster node name.",
39019 "format" : "pve-node",
39020 "type" : "string",
39021 "typetext" : "<string>"
39022 },
39023 "restart" : {
39024 "default" : 0,
39025 "description" : "Restart pveproxy.",
39026 "optional" : 1,
39027 "type" : "boolean",
39028 "typetext" : "<boolean>"
39029 }
39030 }
39031 },
ac70d7d1
TL
39032 "permissions" : {
39033 "check" : [
39034 "perm",
39035 "/nodes/{node}",
39036 [
39037 "Sys.Modify"
39038 ]
39039 ]
39040 },
a9a8e3d1
DM
39041 "protected" : 1,
39042 "proxyto" : "node",
39043 "returns" : {
39044 "type" : "null"
39045 }
39046 },
39047 "POST" : {
e9cd3bd4 39048 "allowtoken" : 1,
a9a8e3d1
DM
39049 "description" : "Upload or update custom certificate chain and key.",
39050 "method" : "POST",
39051 "name" : "upload_custom_cert",
39052 "parameters" : {
39053 "additionalProperties" : 0,
39054 "properties" : {
39055 "certificates" : {
39056 "description" : "PEM encoded certificate (chain).",
39057 "format" : "pem-certificate-chain",
39058 "type" : "string",
39059 "typetext" : "<string>"
39060 },
39061 "force" : {
39062 "default" : 0,
39063 "description" : "Overwrite existing custom or ACME certificate files.",
39064 "optional" : 1,
39065 "type" : "boolean",
39066 "typetext" : "<boolean>"
39067 },
39068 "key" : {
39069 "description" : "PEM encoded private key.",
39070 "format" : "pem-string",
39071 "optional" : 1,
39072 "type" : "string",
39073 "typetext" : "<string>"
39074 },
39075 "node" : {
39076 "description" : "The cluster node name.",
39077 "format" : "pve-node",
39078 "type" : "string",
39079 "typetext" : "<string>"
39080 },
39081 "restart" : {
39082 "default" : 0,
39083 "description" : "Restart pveproxy.",
39084 "optional" : 1,
39085 "type" : "boolean",
39086 "typetext" : "<boolean>"
39087 }
39088 }
39089 },
ac70d7d1
TL
39090 "permissions" : {
39091 "check" : [
39092 "perm",
39093 "/nodes/{node}",
39094 [
39095 "Sys.Modify"
39096 ]
39097 ]
39098 },
a9a8e3d1
DM
39099 "protected" : 1,
39100 "proxyto" : "node",
39101 "returns" : {
39102 "properties" : {
39103 "filename" : {
39104 "optional" : 1,
39105 "type" : "string"
39106 },
39107 "fingerprint" : {
39108 "description" : "Certificate SHA 256 fingerprint.",
39109 "optional" : 1,
39110 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39111 "type" : "string"
39112 },
39113 "issuer" : {
39114 "description" : "Certificate issuer name.",
39115 "optional" : 1,
39116 "type" : "string"
39117 },
39118 "notafter" : {
39119 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
39120 "optional" : 1,
4d47f125 39121 "renderer" : "timestamp",
a9a8e3d1
DM
39122 "type" : "integer"
39123 },
39124 "notbefore" : {
39125 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
39126 "optional" : 1,
4d47f125 39127 "renderer" : "timestamp",
a9a8e3d1
DM
39128 "type" : "integer"
39129 },
39130 "pem" : {
39131 "description" : "Certificate in PEM format",
39132 "format" : "pem-certificate",
39133 "optional" : 1,
39134 "type" : "string"
39135 },
1c532546
TL
39136 "public-key-bits" : {
39137 "description" : "Certificate's public key size",
39138 "optional" : 1,
39139 "type" : "integer"
39140 },
39141 "public-key-type" : {
39142 "description" : "Certificate's public key algorithm",
39143 "optional" : 1,
39144 "type" : "string"
39145 },
a9a8e3d1
DM
39146 "san" : {
39147 "description" : "List of Certificate's SubjectAlternativeName entries.",
39148 "items" : {
39149 "type" : "string"
39150 },
39151 "optional" : 1,
4d47f125 39152 "renderer" : "yaml",
a9a8e3d1
DM
39153 "type" : "array"
39154 },
39155 "subject" : {
39156 "description" : "Certificate subject name.",
39157 "optional" : 1,
39158 "type" : "string"
39159 }
39160 },
39161 "type" : "object"
39162 }
39163 }
39164 },
39165 "leaf" : 1,
39166 "path" : "/nodes/{node}/certificates/custom",
39167 "text" : "custom"
39168 }
39169 ],
39170 "info" : {
39171 "GET" : {
e9cd3bd4 39172 "allowtoken" : 1,
a9a8e3d1
DM
39173 "description" : "Node index.",
39174 "method" : "GET",
39175 "name" : "index",
39176 "parameters" : {
39177 "additionalProperties" : 0,
39178 "properties" : {
39179 "node" : {
39180 "description" : "The cluster node name.",
39181 "format" : "pve-node",
39182 "type" : "string",
39183 "typetext" : "<string>"
39184 }
39185 }
39186 },
39187 "permissions" : {
39188 "user" : "all"
39189 },
39190 "returns" : {
39191 "items" : {
39192 "properties" : {},
39193 "type" : "object"
39194 },
39195 "links" : [
39196 {
39197 "href" : "{name}",
39198 "rel" : "child"
39199 }
39200 ],
39201 "type" : "array"
39202 }
39203 }
39204 },
39205 "leaf" : 0,
c5aa7e14
TL
39206 "path" : "/nodes/{node}/certificates",
39207 "text" : "certificates"
39208 },
39209 {
39210 "info" : {
39211 "GET" : {
39212 "allowtoken" : 1,
39213 "description" : "Get node configuration options.",
39214 "method" : "GET",
39215 "name" : "get_config",
39216 "parameters" : {
39217 "additionalProperties" : 0,
39218 "properties" : {
39219 "node" : {
39220 "description" : "The cluster node name.",
39221 "format" : "pve-node",
39222 "type" : "string",
39223 "typetext" : "<string>"
39224 },
39225 "property" : {
39226 "default" : "all",
39227 "description" : "Return only a specific property from the node configuration.",
39228 "enum" : [
39229 "acme",
39230 "acmedomain0",
39231 "acmedomain1",
39232 "acmedomain2",
39233 "acmedomain3",
39234 "acmedomain4",
39235 "acmedomain5",
39236 "description",
39237 "startall-onboot-delay",
39238 "wakeonlan"
39239 ],
39240 "optional" : 1,
39241 "type" : "string"
39242 }
39243 }
39244 },
39245 "permissions" : {
39246 "check" : [
39247 "perm",
39248 "/",
39249 [
39250 "Sys.Audit"
39251 ]
39252 ]
39253 },
39254 "proxyto" : "node",
39255 "returns" : {
39256 "type" : "object"
39257 }
39258 },
39259 "PUT" : {
39260 "allowtoken" : 1,
39261 "description" : "Set node configuration options.",
39262 "method" : "PUT",
39263 "name" : "set_options",
39264 "parameters" : {
39265 "additionalProperties" : 0,
39266 "properties" : {
39267 "acme" : {
39268 "description" : "Node specific ACME settings.",
39269 "format" : {
39270 "account" : {
39271 "default" : "default",
39272 "description" : "ACME account config file name.",
39273 "format" : "pve-configid",
39274 "format_description" : "name",
39275 "optional" : 1,
39276 "type" : "string"
39277 },
39278 "domains" : {
39279 "description" : "List of domains for this node's ACME certificate",
39280 "format" : "pve-acme-domain-list",
39281 "format_description" : "domain[;domain;...]",
39282 "optional" : 1,
39283 "type" : "string"
39284 }
39285 },
39286 "optional" : 1,
39287 "type" : "string",
39288 "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]"
39289 },
39290 "acmedomain[n]" : {
39291 "description" : "ACME domain and validation plugin",
39292 "format" : {
39293 "alias" : {
39294 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
ac70d7d1 39295 "format" : "pve-acme-alias",
c5aa7e14
TL
39296 "format_description" : "domain",
39297 "optional" : 1,
39298 "type" : "string"
39299 },
39300 "domain" : {
39301 "default_key" : 1,
39302 "description" : "domain for this node's ACME certificate",
39303 "format" : "pve-acme-domain",
39304 "format_description" : "domain",
39305 "type" : "string"
39306 },
39307 "plugin" : {
39308 "default" : "standalone",
39309 "description" : "The ACME plugin ID",
39310 "format" : "pve-configid",
39311 "format_description" : "name of the plugin configuration",
39312 "optional" : 1,
39313 "type" : "string"
39314 }
39315 },
39316 "optional" : 1,
39317 "type" : "string",
39318 "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
39319 },
39320 "delete" : {
39321 "description" : "A list of settings you want to delete.",
39322 "format" : "pve-configid-list",
39323 "optional" : 1,
39324 "type" : "string",
39325 "typetext" : "<string>"
39326 },
39327 "description" : {
0695fdaf
TL
39328 "description" : "Description for the Node. Shown in the web-interface node notes panel. This is saved as comment inside the configuration file.",
39329 "maxLength" : 65536,
c5aa7e14
TL
39330 "optional" : 1,
39331 "type" : "string",
39332 "typetext" : "<string>"
39333 },
39334 "digest" : {
39335 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
39336 "maxLength" : 40,
39337 "optional" : 1,
39338 "type" : "string",
39339 "typetext" : "<string>"
39340 },
39341 "node" : {
39342 "description" : "The cluster node name.",
39343 "format" : "pve-node",
39344 "type" : "string",
39345 "typetext" : "<string>"
39346 },
39347 "startall-onboot-delay" : {
39348 "default" : 0,
39349 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
39350 "maximum" : 300,
39351 "minimum" : 0,
39352 "optional" : 1,
39353 "type" : "integer",
39354 "typetext" : "<integer> (0 - 300)"
39355 },
39356 "wakeonlan" : {
39357 "description" : "MAC address for wake on LAN",
39358 "format" : "mac-addr",
39359 "optional" : 1,
39360 "type" : "string",
39361 "typetext" : "<string>"
39362 }
39363 }
39364 },
39365 "permissions" : {
39366 "check" : [
39367 "perm",
39368 "/",
39369 [
39370 "Sys.Modify"
39371 ]
39372 ]
39373 },
39374 "protected" : 1,
39375 "proxyto" : "node",
39376 "returns" : {
39377 "type" : "null"
39378 }
39379 }
39380 },
39381 "leaf" : 1,
39382 "path" : "/nodes/{node}/config",
39383 "text" : "config"
39384 },
39385 {
39386 "children" : [
39387 {
39388 "children" : [
39389 {
39390 "children" : [
39391 {
39392 "info" : {
39393 "GET" : {
39394 "allowtoken" : 1,
39395 "description" : "List zone content.",
39396 "method" : "GET",
39397 "name" : "index",
39398 "parameters" : {
39399 "additionalProperties" : 0,
39400 "properties" : {
39401 "node" : {
39402 "description" : "The cluster node name.",
39403 "format" : "pve-node",
39404 "type" : "string",
39405 "typetext" : "<string>"
39406 },
39407 "zone" : {
39408 "description" : "The SDN zone object identifier.",
39409 "format" : "pve-sdn-zone-id",
39410 "type" : "string",
39411 "typetext" : "<string>"
39412 }
39413 }
39414 },
39415 "permissions" : {
39416 "check" : [
39417 "perm",
39418 "/sdn/zones/{zone}",
39419 [
39420 "SDN.Audit"
39421 ],
39422 "any",
39423 1
39424 ]
39425 },
39426 "protected" : 1,
39427 "proxyto" : "node",
39428 "returns" : {
39429 "items" : {
39430 "properties" : {
39431 "status" : {
39432 "description" : "Status.",
39433 "optional" : 1,
39434 "type" : "string"
39435 },
39436 "statusmsg" : {
39437 "description" : "Status details",
39438 "optional" : 1,
39439 "type" : "string"
39440 },
39441 "vnet" : {
39442 "description" : "Vnet identifier.",
39443 "type" : "string"
39444 }
39445 },
39446 "type" : "object"
39447 },
39448 "links" : [
39449 {
39450 "href" : "{vnet}",
39451 "rel" : "child"
39452 }
39453 ],
39454 "type" : "array"
39455 }
39456 }
39457 },
39458 "leaf" : 1,
39459 "path" : "/nodes/{node}/sdn/zones/{zone}/content",
39460 "text" : "content"
39461 }
39462 ],
39463 "info" : {
39464 "GET" : {
39465 "allowtoken" : 1,
39466 "description" : "",
39467 "method" : "GET",
39468 "name" : "diridx",
39469 "parameters" : {
39470 "additionalProperties" : 0,
39471 "properties" : {
39472 "node" : {
39473 "description" : "The cluster node name.",
39474 "format" : "pve-node",
39475 "type" : "string",
39476 "typetext" : "<string>"
39477 },
39478 "zone" : {
39479 "description" : "The SDN zone object identifier.",
39480 "format" : "pve-sdn-zone-id",
39481 "type" : "string",
39482 "typetext" : "<string>"
39483 }
39484 }
39485 },
39486 "permissions" : {
39487 "check" : [
39488 "perm",
39489 "/sdn/zones/{zone}",
39490 [
39491 "SDN.Audit"
39492 ],
39493 "any",
39494 1
39495 ]
39496 },
39497 "returns" : {
39498 "items" : {
39499 "properties" : {
39500 "subdir" : {
39501 "type" : "string"
39502 }
39503 },
39504 "type" : "object"
39505 },
39506 "links" : [
39507 {
39508 "href" : "{subdir}",
39509 "rel" : "child"
39510 }
39511 ],
39512 "type" : "array"
39513 }
39514 }
39515 },
39516 "leaf" : 0,
39517 "path" : "/nodes/{node}/sdn/zones/{zone}",
39518 "text" : "{zone}"
39519 }
39520 ],
39521 "info" : {
39522 "GET" : {
39523 "allowtoken" : 1,
39524 "description" : "Get status for all zones.",
39525 "method" : "GET",
39526 "name" : "index",
39527 "parameters" : {
39528 "additionalProperties" : 0,
39529 "properties" : {
39530 "node" : {
39531 "description" : "The cluster node name.",
39532 "format" : "pve-node",
39533 "type" : "string",
39534 "typetext" : "<string>"
39535 }
39536 }
39537 },
39538 "permissions" : {
39539 "description" : "Only list entries where you have 'SDN.Audit'",
39540 "user" : "all"
39541 },
39542 "protected" : 1,
39543 "proxyto" : "node",
39544 "returns" : {
39545 "items" : {
39546 "properties" : {
39547 "status" : {
39548 "description" : "Status of zone",
ac70d7d1
TL
39549 "enum" : [
39550 "available",
39551 "pending",
39552 "error"
39553 ],
c5aa7e14
TL
39554 "type" : "string"
39555 },
39556 "zone" : {
39557 "description" : "The SDN zone object identifier.",
39558 "format" : "pve-sdn-zone-id",
39559 "type" : "string"
39560 }
39561 },
39562 "type" : "object"
39563 },
39564 "links" : [
39565 {
39566 "href" : "{zone}",
39567 "rel" : "child"
39568 }
39569 ],
39570 "type" : "array"
39571 }
39572 }
39573 },
39574 "leaf" : 0,
39575 "path" : "/nodes/{node}/sdn/zones",
39576 "text" : "zones"
39577 }
39578 ],
39579 "info" : {
39580 "GET" : {
39581 "allowtoken" : 1,
39582 "description" : "SDN index.",
39583 "method" : "GET",
39584 "name" : "sdnindex",
39585 "parameters" : {
39586 "additionalProperties" : 0,
39587 "properties" : {
39588 "node" : {
39589 "description" : "The cluster node name.",
39590 "format" : "pve-node",
39591 "type" : "string",
39592 "typetext" : "<string>"
39593 }
39594 }
39595 },
39596 "permissions" : {
39597 "user" : "all"
39598 },
39599 "returns" : {
39600 "items" : {
39601 "properties" : {},
39602 "type" : "object"
39603 },
39604 "links" : [
39605 {
39606 "href" : "{name}",
39607 "rel" : "child"
39608 }
39609 ],
39610 "type" : "array"
39611 }
39612 }
39613 },
39614 "leaf" : 0,
39615 "path" : "/nodes/{node}/sdn",
39616 "text" : "sdn"
a9a8e3d1 39617 },
56122987 39618 {
56122987
DM
39619 "info" : {
39620 "GET" : {
e9cd3bd4 39621 "allowtoken" : 1,
44660702
DM
39622 "description" : "API version details",
39623 "method" : "GET",
39624 "name" : "version",
56122987 39625 "parameters" : {
44660702 39626 "additionalProperties" : 0,
56122987
DM
39627 "properties" : {
39628 "node" : {
56122987 39629 "description" : "The cluster node name.",
44660702 39630 "format" : "pve-node",
013dc89f
DM
39631 "type" : "string",
39632 "typetext" : "<string>"
56122987 39633 }
44660702 39634 }
56122987 39635 },
56122987 39636 "permissions" : {
7aacca6f 39637 "user" : "all"
56122987 39638 },
56122987 39639 "proxyto" : "node",
56122987 39640 "returns" : {
56122987 39641 "properties" : {
44660702 39642 "release" : {
1e3f8156 39643 "description" : "The current installed Proxmox VE Release",
56122987
DM
39644 "type" : "string"
39645 },
44660702 39646 "repoid" : {
1e3f8156 39647 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
39648 "type" : "string"
39649 },
39650 "version" : {
1e3f8156 39651 "description" : "The current installed pve-manager package version",
7aacca6f
DM
39652 "type" : "string"
39653 }
44660702
DM
39654 },
39655 "type" : "object"
7aacca6f 39656 }
56122987
DM
39657 }
39658 },
56122987 39659 "leaf" : 1,
44660702
DM
39660 "path" : "/nodes/{node}/version",
39661 "text" : "version"
56122987
DM
39662 },
39663 {
56122987
DM
39664 "info" : {
39665 "GET" : {
e9cd3bd4 39666 "allowtoken" : 1,
7aacca6f 39667 "description" : "Read node status",
44660702 39668 "method" : "GET",
7aacca6f 39669 "name" : "status",
56122987 39670 "parameters" : {
44660702 39671 "additionalProperties" : 0,
56122987
DM
39672 "properties" : {
39673 "node" : {
7aacca6f 39674 "description" : "The cluster node name.",
44660702 39675 "format" : "pve-node",
013dc89f
DM
39676 "type" : "string",
39677 "typetext" : "<string>"
56122987 39678 }
44660702 39679 }
56122987 39680 },
56122987
DM
39681 "permissions" : {
39682 "check" : [
39683 "perm",
39684 "/nodes/{node}",
39685 [
39686 "Sys.Audit"
39687 ]
39688 ]
44660702
DM
39689 },
39690 "proxyto" : "node",
39691 "returns" : {
44660702 39692 "type" : "object"
7aacca6f
DM
39693 }
39694 },
39695 "POST" : {
e9cd3bd4 39696 "allowtoken" : 1,
44660702
DM
39697 "description" : "Reboot or shutdown a node.",
39698 "method" : "POST",
7aacca6f 39699 "name" : "node_cmd",
56122987 39700 "parameters" : {
44660702 39701 "additionalProperties" : 0,
56122987 39702 "properties" : {
7aacca6f
DM
39703 "command" : {
39704 "description" : "Specify the command.",
56122987 39705 "enum" : [
7aacca6f
DM
39706 "reboot",
39707 "shutdown"
56122987
DM
39708 ],
39709 "type" : "string"
44660702
DM
39710 },
39711 "node" : {
39712 "description" : "The cluster node name.",
39713 "format" : "pve-node",
013dc89f
DM
39714 "type" : "string",
39715 "typetext" : "<string>"
56122987 39716 }
44660702 39717 }
7aacca6f 39718 },
7aacca6f
DM
39719 "permissions" : {
39720 "check" : [
39721 "perm",
39722 "/nodes/{node}",
39723 [
39724 "Sys.PowerMgmt"
39725 ]
39726 ]
39727 },
44660702 39728 "protected" : 1,
7aacca6f 39729 "proxyto" : "node",
7aacca6f
DM
39730 "returns" : {
39731 "type" : "null"
56122987
DM
39732 }
39733 }
39734 },
7aacca6f 39735 "leaf" : 1,
44660702
DM
39736 "path" : "/nodes/{node}/status",
39737 "text" : "status"
56122987
DM
39738 },
39739 {
56122987
DM
39740 "info" : {
39741 "GET" : {
e9cd3bd4 39742 "allowtoken" : 1,
44660702
DM
39743 "description" : "Read tap/vm network device interface counters",
39744 "method" : "GET",
39745 "name" : "netstat",
39746 "parameters" : {
39747 "additionalProperties" : 0,
39748 "properties" : {
39749 "node" : {
39750 "description" : "The cluster node name.",
39751 "format" : "pve-node",
013dc89f
DM
39752 "type" : "string",
39753 "typetext" : "<string>"
44660702 39754 }
56122987
DM
39755 }
39756 },
39757 "permissions" : {
39758 "check" : [
39759 "perm",
39760 "/nodes/{node}",
39761 [
7aacca6f 39762 "Sys.Audit"
56122987
DM
39763 ]
39764 ]
39765 },
7aacca6f 39766 "proxyto" : "node",
44660702
DM
39767 "returns" : {
39768 "items" : {
39769 "properties" : {},
39770 "type" : "object"
39771 },
39772 "type" : "array"
39773 }
7aacca6f
DM
39774 }
39775 },
44660702
DM
39776 "leaf" : 1,
39777 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
39778 "text" : "netstat"
39779 },
39780 {
39781 "info" : {
39782 "POST" : {
e9cd3bd4 39783 "allowtoken" : 1,
7aacca6f 39784 "description" : "Execute multiple commands in order.",
7aacca6f 39785 "method" : "POST",
7aacca6f 39786 "name" : "execute",
56122987
DM
39787 "parameters" : {
39788 "additionalProperties" : 0,
39789 "properties" : {
7aacca6f
DM
39790 "commands" : {
39791 "description" : "JSON encoded array of commands.",
013dc89f
DM
39792 "type" : "string",
39793 "typetext" : "<string>"
56122987
DM
39794 },
39795 "node" : {
44660702 39796 "description" : "The cluster node name.",
56122987 39797 "format" : "pve-node",
013dc89f
DM
39798 "type" : "string",
39799 "typetext" : "<string>"
56122987
DM
39800 }
39801 }
44660702
DM
39802 },
39803 "permissions" : {
39804 "check" : [
39805 "perm",
39806 "/nodes/{node}",
39807 [
39808 "Sys.Audit"
39809 ]
39810 ]
39811 },
39812 "protected" : 1,
39813 "proxyto" : "node",
39814 "returns" : {
44660702 39815 "type" : "array"
56122987
DM
39816 }
39817 }
39818 },
56122987 39819 "leaf" : 1,
44660702
DM
39820 "path" : "/nodes/{node}/execute",
39821 "text" : "execute"
56122987 39822 },
5f26e15b
TL
39823 {
39824 "info" : {
39825 "POST" : {
e9cd3bd4 39826 "allowtoken" : 1,
5f26e15b
TL
39827 "description" : "Try to wake a node via 'wake on LAN' network packet.",
39828 "method" : "POST",
39829 "name" : "wakeonlan",
39830 "parameters" : {
39831 "additionalProperties" : 0,
39832 "properties" : {
39833 "node" : {
39834 "description" : "target node for wake on LAN packet",
39835 "format" : "pve-node",
39836 "type" : "string",
39837 "typetext" : "<string>"
39838 }
39839 }
39840 },
39841 "permissions" : {
39842 "check" : [
39843 "perm",
39844 "/nodes/{node}",
39845 [
39846 "Sys.PowerMgmt"
39847 ]
39848 ]
39849 },
39850 "protected" : 1,
39851 "returns" : {
39852 "description" : "MAC address used to assemble the WoL magic packet.",
39853 "format" : "mac-addr",
39854 "type" : "string"
39855 }
39856 }
39857 },
39858 "leaf" : 1,
39859 "path" : "/nodes/{node}/wakeonlan",
39860 "text" : "wakeonlan"
39861 },
56122987
DM
39862 {
39863 "info" : {
7aacca6f 39864 "GET" : {
e9cd3bd4 39865 "allowtoken" : 1,
44660702
DM
39866 "description" : "Read node RRD statistics (returns PNG)",
39867 "method" : "GET",
7aacca6f 39868 "name" : "rrd",
56122987 39869 "parameters" : {
7aacca6f 39870 "additionalProperties" : 0,
56122987 39871 "properties" : {
44660702
DM
39872 "cf" : {
39873 "description" : "The RRD consolidation function",
39874 "enum" : [
39875 "AVERAGE",
39876 "MAX"
39877 ],
39878 "optional" : 1,
39879 "type" : "string"
39880 },
7aacca6f 39881 "ds" : {
7aacca6f 39882 "description" : "The list of datasources you want to display.",
44660702 39883 "format" : "pve-configid-list",
013dc89f
DM
39884 "type" : "string",
39885 "typetext" : "<string>"
44660702
DM
39886 },
39887 "node" : {
39888 "description" : "The cluster node name.",
39889 "format" : "pve-node",
013dc89f
DM
39890 "type" : "string",
39891 "typetext" : "<string>"
7aacca6f
DM
39892 },
39893 "timeframe" : {
39894 "description" : "Specify the time frame you are interested in.",
39895 "enum" : [
39896 "hour",
39897 "day",
39898 "week",
39899 "month",
39900 "year"
39901 ],
39902 "type" : "string"
56122987 39903 }
7aacca6f 39904 }
56122987 39905 },
56122987 39906 "permissions" : {
56122987
DM
39907 "check" : [
39908 "perm",
39909 "/nodes/{node}",
39910 [
7aacca6f 39911 "Sys.Audit"
56122987
DM
39912 ]
39913 ]
39914 },
7aacca6f 39915 "protected" : 1,
56122987 39916 "returns" : {
56122987 39917 "properties" : {
7aacca6f 39918 "filename" : {
56122987
DM
39919 "type" : "string"
39920 }
44660702
DM
39921 },
39922 "type" : "object"
39923 }
56122987
DM
39924 }
39925 },
44660702 39926 "leaf" : 1,
7aacca6f 39927 "path" : "/nodes/{node}/rrd",
44660702 39928 "text" : "rrd"
56122987
DM
39929 },
39930 {
39931 "info" : {
7aacca6f 39932 "GET" : {
e9cd3bd4 39933 "allowtoken" : 1,
44660702
DM
39934 "description" : "Read node RRD statistics",
39935 "method" : "GET",
7aacca6f 39936 "name" : "rrddata",
56122987 39937 "parameters" : {
44660702 39938 "additionalProperties" : 0,
56122987 39939 "properties" : {
7aacca6f 39940 "cf" : {
7aacca6f
DM
39941 "description" : "The RRD consolidation function",
39942 "enum" : [
39943 "AVERAGE",
39944 "MAX"
44660702
DM
39945 ],
39946 "optional" : 1,
39947 "type" : "string"
56122987
DM
39948 },
39949 "node" : {
44660702 39950 "description" : "The cluster node name.",
56122987 39951 "format" : "pve-node",
013dc89f
DM
39952 "type" : "string",
39953 "typetext" : "<string>"
56122987 39954 },
7aacca6f 39955 "timeframe" : {
7aacca6f
DM
39956 "description" : "Specify the time frame you are interested in.",
39957 "enum" : [
39958 "hour",
39959 "day",
39960 "week",
39961 "month",
39962 "year"
44660702
DM
39963 ],
39964 "type" : "string"
56122987 39965 }
56122987
DM
39966 }
39967 },
56122987
DM
39968 "permissions" : {
39969 "check" : [
39970 "perm",
39971 "/nodes/{node}",
39972 [
44660702 39973 "Sys.Audit"
56122987
DM
39974 ]
39975 ]
7aacca6f 39976 },
44660702 39977 "protected" : 1,
56122987 39978 "returns" : {
7aacca6f 39979 "items" : {
44660702 39980 "properties" : {},
7aacca6f
DM
39981 "type" : "object"
39982 },
39983 "type" : "array"
44660702
DM
39984 }
39985 }
39986 },
39987 "leaf" : 1,
39988 "path" : "/nodes/{node}/rrddata",
39989 "text" : "rrddata"
39990 },
39991 {
39992 "info" : {
39993 "GET" : {
e9cd3bd4 39994 "allowtoken" : 1,
44660702
DM
39995 "description" : "Read system log",
39996 "method" : "GET",
39997 "name" : "syslog",
56122987 39998 "parameters" : {
44660702 39999 "additionalProperties" : 0,
56122987 40000 "properties" : {
44660702
DM
40001 "limit" : {
40002 "minimum" : 0,
7aacca6f 40003 "optional" : 1,
4bd7df8b 40004 "type" : "integer",
013dc89f 40005 "typetext" : "<integer> (0 - N)"
7aacca6f 40006 },
56122987 40007 "node" : {
7aacca6f 40008 "description" : "The cluster node name.",
44660702 40009 "format" : "pve-node",
013dc89f
DM
40010 "type" : "string",
40011 "typetext" : "<string>"
56122987 40012 },
35a75dd3
DM
40013 "service" : {
40014 "description" : "Service ID",
40015 "maxLength" : 128,
40016 "optional" : 1,
40017 "type" : "string",
40018 "typetext" : "<string>"
40019 },
44660702
DM
40020 "since" : {
40021 "description" : "Display all log since this date-time string.",
40022 "optional" : 1,
40023 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
40024 "type" : "string"
40025 },
40026 "start" : {
7aacca6f
DM
40027 "minimum" : 0,
40028 "optional" : 1,
4bd7df8b 40029 "type" : "integer",
013dc89f 40030 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
40031 },
40032 "until" : {
40033 "description" : "Display all log until this date-time string.",
7aacca6f 40034 "optional" : 1,
44660702 40035 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
40036 "type" : "string"
40037 }
44660702 40038 }
56122987 40039 },
44660702
DM
40040 "permissions" : {
40041 "check" : [
40042 "perm",
40043 "/nodes/{node}",
40044 [
40045 "Sys.Syslog"
40046 ]
40047 ]
40048 },
40049 "protected" : 1,
40050 "proxyto" : "node",
40051 "returns" : {
40052 "items" : {
40053 "properties" : {
40054 "n" : {
40055 "description" : "Line number",
40056 "type" : "integer"
40057 },
40058 "t" : {
40059 "description" : "Line text",
40060 "type" : "string"
40061 }
40062 },
40063 "type" : "object"
40064 },
40065 "type" : "array"
40066 }
56122987
DM
40067 }
40068 },
44660702
DM
40069 "leaf" : 1,
40070 "path" : "/nodes/{node}/syslog",
7aacca6f 40071 "text" : "syslog"
56122987 40072 },
bb4c8cf8
TL
40073 {
40074 "info" : {
40075 "GET" : {
e9cd3bd4 40076 "allowtoken" : 1,
bb4c8cf8
TL
40077 "description" : "Read Journal",
40078 "method" : "GET",
40079 "name" : "journal",
40080 "parameters" : {
40081 "additionalProperties" : 0,
40082 "properties" : {
40083 "endcursor" : {
40084 "description" : "End before the given Cursor. Conflicts with 'until'",
40085 "optional" : 1,
40086 "type" : "string",
40087 "typetext" : "<string>"
40088 },
40089 "lastentries" : {
40090 "description" : "Limit to the last X lines. Conflicts with a range.",
40091 "minimum" : 0,
40092 "optional" : 1,
40093 "type" : "integer",
40094 "typetext" : "<integer> (0 - N)"
40095 },
40096 "node" : {
40097 "description" : "The cluster node name.",
40098 "format" : "pve-node",
40099 "type" : "string",
40100 "typetext" : "<string>"
40101 },
40102 "since" : {
40103 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
40104 "minimum" : 0,
40105 "optional" : 1,
40106 "type" : "integer",
40107 "typetext" : "<integer> (0 - N)"
40108 },
40109 "startcursor" : {
40110 "description" : "Start after the given Cursor. Conflicts with 'since'",
40111 "optional" : 1,
40112 "type" : "string",
40113 "typetext" : "<string>"
40114 },
40115 "until" : {
40116 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
40117 "minimum" : 0,
40118 "optional" : 1,
40119 "type" : "integer",
40120 "typetext" : "<integer> (0 - N)"
40121 }
40122 }
40123 },
40124 "permissions" : {
40125 "check" : [
40126 "perm",
40127 "/nodes/{node}",
40128 [
40129 "Sys.Syslog"
40130 ]
40131 ]
40132 },
40133 "protected" : 1,
40134 "proxyto" : "node",
40135 "returns" : {
40136 "items" : {
40137 "type" : "string"
40138 },
40139 "type" : "array"
40140 }
40141 }
40142 },
40143 "leaf" : 1,
40144 "path" : "/nodes/{node}/journal",
40145 "text" : "journal"
40146 },
56122987 40147 {
56122987
DM
40148 "info" : {
40149 "POST" : {
e9cd3bd4 40150 "allowtoken" : 1,
44660702
DM
40151 "description" : "Creates a VNC Shell proxy.",
40152 "method" : "POST",
40153 "name" : "vncshell",
40154 "parameters" : {
40155 "additionalProperties" : 0,
56122987 40156 "properties" : {
95895385
TL
40157 "cmd" : {
40158 "default" : "login",
40159 "description" : "Run specific command or default to login.",
40160 "enum" : [
0695fdaf 40161 "upgrade",
8f4d9c87
TL
40162 "login",
40163 "ceph_install"
95895385
TL
40164 ],
40165 "optional" : 1,
40166 "type" : "string"
40167 },
4772952b
TL
40168 "cmd-opts" : {
40169 "default" : "",
40170 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40171 "optional" : 1,
40172 "requires" : "cmd",
40173 "type" : "string",
40174 "typetext" : "<string>"
40175 },
5d9c884c
DM
40176 "height" : {
40177 "description" : "sets the height of the console in pixels.",
40178 "maximum" : 2160,
40179 "minimum" : 16,
40180 "optional" : 1,
40181 "type" : "integer",
40182 "typetext" : "<integer> (16 - 2160)"
40183 },
44660702
DM
40184 "node" : {
40185 "description" : "The cluster node name.",
40186 "format" : "pve-node",
013dc89f
DM
40187 "type" : "string",
40188 "typetext" : "<string>"
7aacca6f 40189 },
44660702
DM
40190 "websocket" : {
40191 "description" : "use websocket instead of standard vnc.",
40192 "optional" : 1,
013dc89f
DM
40193 "type" : "boolean",
40194 "typetext" : "<boolean>"
5d9c884c
DM
40195 },
40196 "width" : {
40197 "description" : "sets the width of the console in pixels.",
40198 "maximum" : 4096,
40199 "minimum" : 16,
40200 "optional" : 1,
40201 "type" : "integer",
40202 "typetext" : "<integer> (16 - 4096)"
56122987 40203 }
44660702 40204 }
56122987 40205 },
56122987
DM
40206 "permissions" : {
40207 "check" : [
40208 "perm",
7aacca6f 40209 "/nodes/{node}",
56122987 40210 [
7aacca6f 40211 "Sys.Console"
56122987 40212 ]
44660702
DM
40213 ],
40214 "description" : "Restricted to users on realm 'pam'"
56122987 40215 },
44660702
DM
40216 "protected" : 1,
40217 "returns" : {
40218 "additionalProperties" : 0,
56122987 40219 "properties" : {
44660702
DM
40220 "cert" : {
40221 "type" : "string"
7aacca6f 40222 },
44660702
DM
40223 "port" : {
40224 "type" : "integer"
7aacca6f 40225 },
44660702
DM
40226 "ticket" : {
40227 "type" : "string"
40228 },
40229 "upid" : {
40230 "type" : "string"
40231 },
40232 "user" : {
40233 "type" : "string"
56122987 40234 }
44660702
DM
40235 }
40236 }
56122987
DM
40237 }
40238 },
7aacca6f 40239 "leaf" : 1,
44660702
DM
40240 "path" : "/nodes/{node}/vncshell",
40241 "text" : "vncshell"
56122987 40242 },
35a75dd3
DM
40243 {
40244 "info" : {
40245 "POST" : {
e9cd3bd4 40246 "allowtoken" : 1,
35a75dd3
DM
40247 "description" : "Creates a VNC Shell proxy.",
40248 "method" : "POST",
40249 "name" : "termproxy",
40250 "parameters" : {
40251 "additionalProperties" : 0,
40252 "properties" : {
95895385
TL
40253 "cmd" : {
40254 "default" : "login",
40255 "description" : "Run specific command or default to login.",
40256 "enum" : [
0695fdaf 40257 "upgrade",
8f4d9c87
TL
40258 "login",
40259 "ceph_install"
95895385
TL
40260 ],
40261 "optional" : 1,
40262 "type" : "string"
40263 },
4772952b
TL
40264 "cmd-opts" : {
40265 "default" : "",
40266 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40267 "optional" : 1,
40268 "requires" : "cmd",
40269 "type" : "string",
40270 "typetext" : "<string>"
40271 },
35a75dd3
DM
40272 "node" : {
40273 "description" : "The cluster node name.",
40274 "format" : "pve-node",
40275 "type" : "string",
40276 "typetext" : "<string>"
35a75dd3
DM
40277 }
40278 }
40279 },
40280 "permissions" : {
40281 "check" : [
40282 "perm",
40283 "/nodes/{node}",
40284 [
40285 "Sys.Console"
40286 ]
40287 ],
40288 "description" : "Restricted to users on realm 'pam'"
40289 },
40290 "protected" : 1,
40291 "returns" : {
40292 "additionalProperties" : 0,
40293 "properties" : {
40294 "port" : {
40295 "type" : "integer"
40296 },
40297 "ticket" : {
40298 "type" : "string"
40299 },
40300 "upid" : {
40301 "type" : "string"
40302 },
40303 "user" : {
40304 "type" : "string"
40305 }
40306 }
40307 }
40308 }
40309 },
40310 "leaf" : 1,
40311 "path" : "/nodes/{node}/termproxy",
40312 "text" : "termproxy"
40313 },
56122987
DM
40314 {
40315 "info" : {
40316 "GET" : {
e9cd3bd4 40317 "allowtoken" : 1,
0695fdaf 40318 "description" : "Opens a websocket for VNC traffic.",
44660702
DM
40319 "method" : "GET",
40320 "name" : "vncwebsocket",
56122987 40321 "parameters" : {
44660702 40322 "additionalProperties" : 0,
56122987
DM
40323 "properties" : {
40324 "node" : {
40325 "description" : "The cluster node name.",
44660702 40326 "format" : "pve-node",
013dc89f
DM
40327 "type" : "string",
40328 "typetext" : "<string>"
7aacca6f
DM
40329 },
40330 "port" : {
7aacca6f
DM
40331 "description" : "Port number returned by previous vncproxy call.",
40332 "maximum" : 5999,
44660702 40333 "minimum" : 5900,
4bd7df8b 40334 "type" : "integer",
013dc89f 40335 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
40336 },
40337 "vncticket" : {
40338 "description" : "Ticket from previous call to vncproxy.",
40339 "maxLength" : 512,
013dc89f
DM
40340 "type" : "string",
40341 "typetext" : "<string>"
56122987 40342 }
44660702 40343 }
56122987 40344 },
56122987
DM
40345 "permissions" : {
40346 "check" : [
40347 "perm",
40348 "/nodes/{node}",
40349 [
7aacca6f 40350 "Sys.Console"
56122987 40351 ]
44660702
DM
40352 ],
40353 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
40354 },
40355 "returns" : {
40356 "properties" : {
40357 "port" : {
40358 "type" : "string"
40359 }
40360 },
40361 "type" : "object"
7aacca6f 40362 }
56122987
DM
40363 }
40364 },
44660702 40365 "leaf" : 1,
7aacca6f 40366 "path" : "/nodes/{node}/vncwebsocket",
44660702 40367 "text" : "vncwebsocket"
56122987
DM
40368 },
40369 {
40370 "info" : {
40371 "POST" : {
e9cd3bd4 40372 "allowtoken" : 1,
44660702 40373 "description" : "Creates a SPICE shell.",
7aacca6f 40374 "method" : "POST",
44660702 40375 "name" : "spiceshell",
56122987 40376 "parameters" : {
7aacca6f 40377 "additionalProperties" : 0,
56122987 40378 "properties" : {
95895385
TL
40379 "cmd" : {
40380 "default" : "login",
40381 "description" : "Run specific command or default to login.",
40382 "enum" : [
0695fdaf 40383 "upgrade",
8f4d9c87
TL
40384 "login",
40385 "ceph_install"
95895385
TL
40386 ],
40387 "optional" : 1,
40388 "type" : "string"
40389 },
4772952b
TL
40390 "cmd-opts" : {
40391 "default" : "",
40392 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40393 "optional" : 1,
40394 "requires" : "cmd",
40395 "type" : "string",
40396 "typetext" : "<string>"
40397 },
7aacca6f 40398 "node" : {
44660702 40399 "description" : "The cluster node name.",
56122987 40400 "format" : "pve-node",
013dc89f
DM
40401 "type" : "string",
40402 "typetext" : "<string>"
7aacca6f 40403 },
44660702 40404 "proxy" : {
4d47f125 40405 "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
40406 "format" : "address",
40407 "optional" : 1,
013dc89f
DM
40408 "type" : "string",
40409 "typetext" : "<string>"
56122987 40410 }
7aacca6f 40411 }
56122987 40412 },
56122987
DM
40413 "permissions" : {
40414 "check" : [
40415 "perm",
7aacca6f 40416 "/nodes/{node}",
56122987 40417 [
7aacca6f 40418 "Sys.Console"
56122987 40419 ]
7aacca6f
DM
40420 ],
40421 "description" : "Restricted to users on realm 'pam'"
44660702
DM
40422 },
40423 "protected" : 1,
40424 "proxyto" : "node",
40425 "returns" : {
40426 "additionalProperties" : 1,
40427 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
40428 "properties" : {
40429 "host" : {
40430 "type" : "string"
40431 },
40432 "password" : {
40433 "type" : "string"
40434 },
40435 "proxy" : {
40436 "type" : "string"
40437 },
40438 "tls-port" : {
40439 "type" : "integer"
40440 },
40441 "type" : {
40442 "type" : "string"
40443 }
40444 }
7aacca6f 40445 }
56122987
DM
40446 }
40447 },
56122987 40448 "leaf" : 1,
44660702
DM
40449 "path" : "/nodes/{node}/spiceshell",
40450 "text" : "spiceshell"
56122987
DM
40451 },
40452 {
56122987 40453 "info" : {
7aacca6f 40454 "GET" : {
e9cd3bd4 40455 "allowtoken" : 1,
44660702 40456 "description" : "Read DNS settings.",
7aacca6f 40457 "method" : "GET",
44660702
DM
40458 "name" : "dns",
40459 "parameters" : {
7aacca6f
DM
40460 "additionalProperties" : 0,
40461 "properties" : {
44660702
DM
40462 "node" : {
40463 "description" : "The cluster node name.",
40464 "format" : "pve-node",
013dc89f
DM
40465 "type" : "string",
40466 "typetext" : "<string>"
7aacca6f
DM
40467 }
40468 }
40469 },
7aacca6f
DM
40470 "permissions" : {
40471 "check" : [
40472 "perm",
40473 "/nodes/{node}",
40474 [
40475 "Sys.Audit"
40476 ]
40477 ]
40478 },
44660702
DM
40479 "proxyto" : "node",
40480 "returns" : {
56122987
DM
40481 "additionalProperties" : 0,
40482 "properties" : {
44660702
DM
40483 "dns1" : {
40484 "description" : "First name server IP address.",
40485 "optional" : 1,
40486 "type" : "string"
40487 },
40488 "dns2" : {
40489 "description" : "Second name server IP address.",
40490 "optional" : 1,
40491 "type" : "string"
40492 },
40493 "dns3" : {
40494 "description" : "Third name server IP address.",
40495 "optional" : 1,
40496 "type" : "string"
40497 },
40498 "search" : {
40499 "description" : "Search domain for host-name lookup.",
40500 "optional" : 1,
40501 "type" : "string"
7aacca6f 40502 }
44660702
DM
40503 },
40504 "type" : "object"
40505 }
7aacca6f
DM
40506 },
40507 "PUT" : {
e9cd3bd4 40508 "allowtoken" : 1,
44660702
DM
40509 "description" : "Write DNS settings.",
40510 "method" : "PUT",
7aacca6f
DM
40511 "name" : "update_dns",
40512 "parameters" : {
40513 "additionalProperties" : 0,
40514 "properties" : {
44660702
DM
40515 "dns1" : {
40516 "description" : "First name server IP address.",
40517 "format" : "ip",
40518 "optional" : 1,
013dc89f
DM
40519 "type" : "string",
40520 "typetext" : "<string>"
7aacca6f 40521 },
44660702
DM
40522 "dns2" : {
40523 "description" : "Second name server IP address.",
40524 "format" : "ip",
7aacca6f 40525 "optional" : 1,
013dc89f
DM
40526 "type" : "string",
40527 "typetext" : "<string>"
7aacca6f 40528 },
44660702
DM
40529 "dns3" : {
40530 "description" : "Third name server IP address.",
40531 "format" : "ip",
7aacca6f 40532 "optional" : 1,
013dc89f
DM
40533 "type" : "string",
40534 "typetext" : "<string>"
7aacca6f
DM
40535 },
40536 "node" : {
44660702 40537 "description" : "The cluster node name.",
56122987 40538 "format" : "pve-node",
013dc89f
DM
40539 "type" : "string",
40540 "typetext" : "<string>"
7aacca6f 40541 },
44660702
DM
40542 "search" : {
40543 "description" : "Search domain for host-name lookup.",
013dc89f
DM
40544 "type" : "string",
40545 "typetext" : "<string>"
56122987
DM
40546 }
40547 }
40548 },
40549 "permissions" : {
40550 "check" : [
40551 "perm",
7aacca6f 40552 "/nodes/{node}",
56122987 40553 [
7aacca6f 40554 "Sys.Modify"
56122987
DM
40555 ]
40556 ]
40557 },
44660702 40558 "protected" : 1,
7aacca6f 40559 "proxyto" : "node",
56122987 40560 "returns" : {
7aacca6f
DM
40561 "type" : "null"
40562 }
56122987 40563 }
44660702
DM
40564 },
40565 "leaf" : 1,
40566 "path" : "/nodes/{node}/dns",
40567 "text" : "dns"
56122987
DM
40568 },
40569 {
40570 "info" : {
7aacca6f 40571 "GET" : {
e9cd3bd4 40572 "allowtoken" : 1,
7aacca6f 40573 "description" : "Read server time and time zone settings.",
44660702
DM
40574 "method" : "GET",
40575 "name" : "time",
56122987 40576 "parameters" : {
44660702 40577 "additionalProperties" : 0,
56122987
DM
40578 "properties" : {
40579 "node" : {
44660702 40580 "description" : "The cluster node name.",
56122987 40581 "format" : "pve-node",
013dc89f
DM
40582 "type" : "string",
40583 "typetext" : "<string>"
56122987 40584 }
44660702 40585 }
56122987
DM
40586 },
40587 "permissions" : {
40588 "check" : [
40589 "perm",
7aacca6f 40590 "/nodes/{node}",
56122987 40591 [
7aacca6f 40592 "Sys.Audit"
56122987
DM
40593 ]
40594 ]
44660702
DM
40595 },
40596 "proxyto" : "node",
40597 "returns" : {
40598 "additionalProperties" : 0,
40599 "properties" : {
40600 "localtime" : {
40601 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
40602 "minimum" : 1297163644,
4d47f125 40603 "renderer" : "timestamp_gmt",
44660702
DM
40604 "type" : "integer"
40605 },
40606 "time" : {
40607 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
40608 "minimum" : 1297163644,
4d47f125 40609 "renderer" : "timestamp",
44660702
DM
40610 "type" : "integer"
40611 },
40612 "timezone" : {
40613 "description" : "Time zone",
40614 "type" : "string"
40615 }
40616 },
40617 "type" : "object"
7aacca6f
DM
40618 }
40619 },
40620 "PUT" : {
e9cd3bd4 40621 "allowtoken" : 1,
7aacca6f 40622 "description" : "Set time zone.",
44660702
DM
40623 "method" : "PUT",
40624 "name" : "set_timezone",
40625 "parameters" : {
40626 "additionalProperties" : 0,
40627 "properties" : {
40628 "node" : {
40629 "description" : "The cluster node name.",
40630 "format" : "pve-node",
013dc89f
DM
40631 "type" : "string",
40632 "typetext" : "<string>"
44660702
DM
40633 },
40634 "timezone" : {
40635 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
40636 "type" : "string",
40637 "typetext" : "<string>"
44660702
DM
40638 }
40639 }
40640 },
7aacca6f
DM
40641 "permissions" : {
40642 "check" : [
40643 "perm",
40644 "/nodes/{node}",
40645 [
40646 "Sys.Modify"
40647 ]
40648 ]
56122987 40649 },
7aacca6f 40650 "protected" : 1,
44660702
DM
40651 "proxyto" : "node",
40652 "returns" : {
40653 "type" : "null"
40654 }
7aacca6f
DM
40655 }
40656 },
7aacca6f 40657 "leaf" : 1,
44660702
DM
40658 "path" : "/nodes/{node}/time",
40659 "text" : "time"
7aacca6f
DM
40660 },
40661 {
40662 "info" : {
44660702 40663 "GET" : {
e9cd3bd4 40664 "allowtoken" : 1,
44660702
DM
40665 "description" : "Get list of appliances.",
40666 "method" : "GET",
40667 "name" : "aplinfo",
7aacca6f
DM
40668 "parameters" : {
40669 "additionalProperties" : 0,
40670 "properties" : {
7aacca6f 40671 "node" : {
44660702 40672 "description" : "The cluster node name.",
7aacca6f 40673 "format" : "pve-node",
013dc89f
DM
40674 "type" : "string",
40675 "typetext" : "<string>"
7aacca6f
DM
40676 }
40677 }
56122987 40678 },
7aacca6f 40679 "permissions" : {
44660702 40680 "user" : "all"
56122987 40681 },
44660702 40682 "proxyto" : "node",
7aacca6f
DM
40683 "returns" : {
40684 "items" : {
44660702
DM
40685 "properties" : {},
40686 "type" : "object"
7aacca6f
DM
40687 },
40688 "type" : "array"
44660702
DM
40689 }
40690 },
40691 "POST" : {
e9cd3bd4 40692 "allowtoken" : 1,
44660702
DM
40693 "description" : "Download appliance templates.",
40694 "method" : "POST",
40695 "name" : "apl_download",
7aacca6f
DM
40696 "parameters" : {
40697 "additionalProperties" : 0,
40698 "properties" : {
40699 "node" : {
7aacca6f 40700 "description" : "The cluster node name.",
44660702 40701 "format" : "pve-node",
013dc89f
DM
40702 "type" : "string",
40703 "typetext" : "<string>"
44660702
DM
40704 },
40705 "storage" : {
4bd7df8b 40706 "description" : "The storage where the template will be stored",
44660702 40707 "format" : "pve-storage-id",
013dc89f
DM
40708 "type" : "string",
40709 "typetext" : "<string>"
44660702
DM
40710 },
40711 "template" : {
1e3f8156 40712 "description" : "The template which will downloaded",
44660702 40713 "maxLength" : 255,
013dc89f
DM
40714 "type" : "string",
40715 "typetext" : "<string>"
7aacca6f
DM
40716 }
40717 }
56122987 40718 },
7aacca6f 40719 "permissions" : {
44660702
DM
40720 "check" : [
40721 "perm",
40722 "/storage/{storage}",
40723 [
40724 "Datastore.AllocateTemplate"
40725 ]
40726 ]
40727 },
40728 "protected" : 1,
40729 "proxyto" : "node",
40730 "returns" : {
40731 "type" : "string"
7aacca6f
DM
40732 }
40733 }
40734 },
7aacca6f 40735 "leaf" : 1,
44660702
DM
40736 "path" : "/nodes/{node}/aplinfo",
40737 "text" : "aplinfo"
7aacca6f
DM
40738 },
40739 {
40740 "info" : {
40741 "GET" : {
e9cd3bd4 40742 "allowtoken" : 1,
44660702
DM
40743 "description" : "Gather various systems information about a node",
40744 "method" : "GET",
40745 "name" : "report",
7aacca6f 40746 "parameters" : {
44660702 40747 "additionalProperties" : 0,
7aacca6f
DM
40748 "properties" : {
40749 "node" : {
7aacca6f 40750 "description" : "The cluster node name.",
44660702 40751 "format" : "pve-node",
013dc89f
DM
40752 "type" : "string",
40753 "typetext" : "<string>"
7aacca6f 40754 }
44660702 40755 }
56122987 40756 },
7aacca6f
DM
40757 "permissions" : {
40758 "check" : [
40759 "perm",
40760 "/nodes/{node}",
40761 [
40762 "Sys.Audit"
40763 ]
40764 ]
56122987 40765 },
44660702 40766 "protected" : 1,
7aacca6f
DM
40767 "proxyto" : "node",
40768 "returns" : {
56122987 40769 "type" : "string"
7aacca6f
DM
40770 }
40771 }
40772 },
7aacca6f 40773 "leaf" : 1,
44660702
DM
40774 "path" : "/nodes/{node}/report",
40775 "text" : "report"
7aacca6f
DM
40776 },
40777 {
7aacca6f
DM
40778 "info" : {
40779 "POST" : {
e9cd3bd4 40780 "allowtoken" : 1,
1c532546 40781 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 40782 "method" : "POST",
44660702 40783 "name" : "startall",
7aacca6f 40784 "parameters" : {
44660702 40785 "additionalProperties" : 0,
7aacca6f
DM
40786 "properties" : {
40787 "force" : {
1c532546
TL
40788 "default" : "off",
40789 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 40790 "optional" : 1,
013dc89f
DM
40791 "type" : "boolean",
40792 "typetext" : "<boolean>"
7aacca6f
DM
40793 },
40794 "node" : {
7aacca6f 40795 "description" : "The cluster node name.",
44660702 40796 "format" : "pve-node",
013dc89f
DM
40797 "type" : "string",
40798 "typetext" : "<string>"
52e44c50
FG
40799 },
40800 "vms" : {
1c532546 40801 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
40802 "format" : "pve-vmid-list",
40803 "optional" : 1,
40804 "type" : "string",
40805 "typetext" : "<string>"
7aacca6f 40806 }
44660702 40807 }
56122987 40808 },
7aacca6f
DM
40809 "permissions" : {
40810 "check" : [
40811 "perm",
40812 "/",
40813 [
40814 "VM.PowerMgmt"
40815 ]
40816 ]
44660702
DM
40817 },
40818 "protected" : 1,
40819 "proxyto" : "node",
40820 "returns" : {
40821 "type" : "string"
7aacca6f
DM
40822 }
40823 }
40824 },
44660702 40825 "leaf" : 1,
7aacca6f 40826 "path" : "/nodes/{node}/startall",
44660702 40827 "text" : "startall"
7aacca6f
DM
40828 },
40829 {
7aacca6f
DM
40830 "info" : {
40831 "POST" : {
e9cd3bd4 40832 "allowtoken" : 1,
7aacca6f 40833 "description" : "Stop all VMs and Containers.",
44660702
DM
40834 "method" : "POST",
40835 "name" : "stopall",
7aacca6f 40836 "parameters" : {
44660702 40837 "additionalProperties" : 0,
7aacca6f
DM
40838 "properties" : {
40839 "node" : {
44660702 40840 "description" : "The cluster node name.",
7aacca6f 40841 "format" : "pve-node",
013dc89f
DM
40842 "type" : "string",
40843 "typetext" : "<string>"
52e44c50
FG
40844 },
40845 "vms" : {
40846 "description" : "Only consider Guests with these IDs.",
40847 "format" : "pve-vmid-list",
40848 "optional" : 1,
40849 "type" : "string",
40850 "typetext" : "<string>"
7aacca6f 40851 }
44660702 40852 }
56122987 40853 },
7aacca6f
DM
40854 "permissions" : {
40855 "check" : [
40856 "perm",
40857 "/",
40858 [
44660702 40859 "VM.PowerMgmt"
7aacca6f
DM
40860 ]
40861 ]
56122987 40862 },
44660702 40863 "protected" : 1,
7aacca6f 40864 "proxyto" : "node",
44660702
DM
40865 "returns" : {
40866 "type" : "string"
40867 }
40868 }
56122987 40869 },
44660702
DM
40870 "leaf" : 1,
40871 "path" : "/nodes/{node}/stopall",
40872 "text" : "stopall"
40873 },
40874 {
40875 "info" : {
40876 "POST" : {
e9cd3bd4 40877 "allowtoken" : 1,
44660702
DM
40878 "description" : "Migrate all VMs and Containers.",
40879 "method" : "POST",
40880 "name" : "migrateall",
40881 "parameters" : {
40882 "additionalProperties" : 0,
40883 "properties" : {
40884 "maxworkers" : {
40885 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
40886 "minimum" : 1,
40887 "optional" : 1,
4bd7df8b 40888 "type" : "integer",
013dc89f 40889 "typetext" : "<integer> (1 - N)"
44660702
DM
40890 },
40891 "node" : {
40892 "description" : "The cluster node name.",
40893 "format" : "pve-node",
013dc89f
DM
40894 "type" : "string",
40895 "typetext" : "<string>"
44660702
DM
40896 },
40897 "target" : {
40898 "description" : "Target node.",
40899 "format" : "pve-node",
013dc89f
DM
40900 "type" : "string",
40901 "typetext" : "<string>"
52e44c50
FG
40902 },
40903 "vms" : {
40904 "description" : "Only consider Guests with these IDs.",
40905 "format" : "pve-vmid-list",
40906 "optional" : 1,
40907 "type" : "string",
40908 "typetext" : "<string>"
e9cd3bd4
TL
40909 },
40910 "with-local-disks" : {
40911 "description" : "Enable live storage migration for local disk",
40912 "optional" : 1,
40913 "type" : "boolean",
40914 "typetext" : "<boolean>"
44660702
DM
40915 }
40916 }
40917 },
40918 "permissions" : {
40919 "check" : [
40920 "perm",
40921 "/",
40922 [
40923 "VM.Migrate"
40924 ]
40925 ]
40926 },
40927 "protected" : 1,
40928 "proxyto" : "node",
40929 "returns" : {
40930 "type" : "string"
40931 }
40932 }
56122987 40933 },
44660702
DM
40934 "leaf" : 1,
40935 "path" : "/nodes/{node}/migrateall",
40936 "text" : "migrateall"
4d47f125
TL
40937 },
40938 {
40939 "info" : {
40940 "GET" : {
e9cd3bd4 40941 "allowtoken" : 1,
4d47f125
TL
40942 "description" : "Get the content of /etc/hosts.",
40943 "method" : "GET",
40944 "name" : "get_etc_hosts",
40945 "parameters" : {
40946 "additionalProperties" : 0,
40947 "properties" : {
40948 "node" : {
40949 "description" : "The cluster node name.",
40950 "format" : "pve-node",
40951 "type" : "string",
40952 "typetext" : "<string>"
40953 }
40954 }
40955 },
40956 "permissions" : {
40957 "check" : [
40958 "perm",
40959 "/",
40960 [
40961 "Sys.Audit"
40962 ]
40963 ]
40964 },
40965 "protected" : 1,
40966 "proxyto" : "node",
40967 "returns" : {
40968 "properties" : {
40969 "data" : {
40970 "description" : "The content of /etc/hosts.",
40971 "type" : "string"
40972 },
40973 "digest" : {
40974 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
40975 "maxLength" : 40,
40976 "optional" : 1,
40977 "type" : "string"
40978 }
40979 },
40980 "type" : "object"
40981 }
40982 },
40983 "POST" : {
e9cd3bd4 40984 "allowtoken" : 1,
4d47f125
TL
40985 "description" : "Write /etc/hosts.",
40986 "method" : "POST",
40987 "name" : "write_etc_hosts",
40988 "parameters" : {
40989 "additionalProperties" : 0,
40990 "properties" : {
40991 "data" : {
40992 "description" : "The target content of /etc/hosts.",
40993 "type" : "string",
40994 "typetext" : "<string>"
40995 },
40996 "digest" : {
40997 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
40998 "maxLength" : 40,
40999 "optional" : 1,
41000 "type" : "string",
41001 "typetext" : "<string>"
41002 },
41003 "node" : {
41004 "description" : "The cluster node name.",
41005 "format" : "pve-node",
41006 "type" : "string",
41007 "typetext" : "<string>"
41008 }
41009 }
41010 },
41011 "permissions" : {
41012 "check" : [
41013 "perm",
41014 "/nodes/{node}",
41015 [
41016 "Sys.Modify"
41017 ]
41018 ]
41019 },
41020 "protected" : 1,
41021 "proxyto" : "node",
41022 "returns" : {
41023 "type" : "null"
41024 }
41025 }
41026 },
41027 "leaf" : 1,
41028 "path" : "/nodes/{node}/hosts",
41029 "text" : "hosts"
44660702
DM
41030 }
41031 ],
41032 "info" : {
41033 "GET" : {
e9cd3bd4 41034 "allowtoken" : 1,
44660702
DM
41035 "description" : "Node index.",
41036 "method" : "GET",
41037 "name" : "index",
41038 "parameters" : {
41039 "additionalProperties" : 0,
41040 "properties" : {
41041 "node" : {
41042 "description" : "The cluster node name.",
41043 "format" : "pve-node",
013dc89f
DM
41044 "type" : "string",
41045 "typetext" : "<string>"
44660702
DM
41046 }
41047 }
56122987 41048 },
44660702
DM
41049 "permissions" : {
41050 "user" : "all"
56122987 41051 },
44660702
DM
41052 "returns" : {
41053 "items" : {
41054 "properties" : {},
41055 "type" : "object"
41056 },
41057 "links" : [
41058 {
41059 "href" : "{name}",
41060 "rel" : "child"
41061 }
56122987 41062 ],
44660702 41063 "type" : "array"
7aacca6f
DM
41064 }
41065 }
41066 },
44660702
DM
41067 "leaf" : 0,
41068 "path" : "/nodes/{node}",
41069 "text" : "{node}"
41070 }
41071 ],
41072 "info" : {
7aacca6f 41073 "GET" : {
e9cd3bd4 41074 "allowtoken" : 1,
44660702 41075 "description" : "Cluster node index.",
7aacca6f 41076 "method" : "GET",
44660702 41077 "name" : "index",
7aacca6f 41078 "parameters" : {
7aacca6f
DM
41079 "additionalProperties" : 0
41080 },
41081 "permissions" : {
7aacca6f
DM
41082 "user" : "all"
41083 },
44660702
DM
41084 "returns" : {
41085 "items" : {
4d47f125
TL
41086 "properties" : {
41087 "cpu" : {
41088 "description" : "CPU utilization.",
41089 "optional" : 1,
41090 "renderer" : "fraction_as_percentage",
41091 "type" : "number"
41092 },
41093 "level" : {
41094 "description" : "Support level.",
41095 "optional" : 1,
41096 "type" : "string"
41097 },
41098 "maxcpu" : {
41099 "description" : "Number of available CPUs.",
41100 "optional" : 1,
41101 "type" : "integer"
41102 },
41103 "maxmem" : {
41104 "description" : "Number of available memory in bytes.",
41105 "optional" : 1,
41106 "renderer" : "bytes",
41107 "type" : "integer"
41108 },
41109 "mem" : {
41110 "description" : "Used memory in bytes.",
41111 "optional" : 1,
41112 "renderer" : "bytes",
1c532546 41113 "type" : "integer"
4d47f125
TL
41114 },
41115 "node" : {
41116 "description" : "The cluster node name.",
41117 "format" : "pve-node",
41118 "type" : "string"
41119 },
41120 "ssl_fingerprint" : {
41121 "description" : "The SSL fingerprint for the node certificate.",
41122 "optional" : 1,
41123 "type" : "string"
41124 },
41125 "status" : {
41126 "description" : "Node status.",
41127 "enum" : [
41128 "unknown",
41129 "online",
41130 "offline"
41131 ],
41132 "type" : "string"
41133 },
41134 "uptime" : {
41135 "description" : "Node uptime in seconds.",
41136 "optional" : 1,
41137 "renderer" : "duration",
41138 "type" : "integer"
41139 }
41140 },
44660702
DM
41141 "type" : "object"
41142 },
41143 "links" : [
41144 {
41145 "href" : "{node}",
41146 "rel" : "child"
41147 }
41148 ],
41149 "type" : "array"
41150 }
7aacca6f
DM
41151 }
41152 },
44660702
DM
41153 "leaf" : 0,
41154 "path" : "/nodes",
41155 "text" : "nodes"
41156 },
41157 {
7aacca6f
DM
41158 "children" : [
41159 {
7aacca6f 41160 "info" : {
44660702 41161 "DELETE" : {
e9cd3bd4 41162 "allowtoken" : 1,
44660702
DM
41163 "description" : "Delete storage configuration.",
41164 "method" : "DELETE",
41165 "name" : "delete",
7aacca6f
DM
41166 "parameters" : {
41167 "additionalProperties" : 0,
41168 "properties" : {
41169 "storage" : {
7aacca6f 41170 "description" : "The storage identifier.",
44660702 41171 "format" : "pve-storage-id",
013dc89f
DM
41172 "type" : "string",
41173 "typetext" : "<string>"
7aacca6f
DM
41174 }
41175 }
56122987 41176 },
7aacca6f
DM
41177 "permissions" : {
41178 "check" : [
41179 "perm",
41180 "/storage",
41181 [
41182 "Datastore.Allocate"
41183 ]
41184 ]
56122987 41185 },
44660702
DM
41186 "protected" : 1,
41187 "returns" : {
41188 "type" : "null"
41189 }
41190 },
41191 "GET" : {
e9cd3bd4 41192 "allowtoken" : 1,
44660702
DM
41193 "description" : "Read storage configuration.",
41194 "method" : "GET",
41195 "name" : "read",
7aacca6f
DM
41196 "parameters" : {
41197 "additionalProperties" : 0,
41198 "properties" : {
41199 "storage" : {
44660702 41200 "description" : "The storage identifier.",
7aacca6f 41201 "format" : "pve-storage-id",
013dc89f
DM
41202 "type" : "string",
41203 "typetext" : "<string>"
7aacca6f
DM
41204 }
41205 }
41206 },
44660702
DM
41207 "permissions" : {
41208 "check" : [
41209 "perm",
41210 "/storage/{storage}",
41211 [
41212 "Datastore.Allocate"
41213 ]
41214 ]
41215 },
5da3d723
TL
41216 "returns" : {
41217 "type" : "object"
41218 }
7aacca6f
DM
41219 },
41220 "PUT" : {
e9cd3bd4 41221 "allowtoken" : 1,
44660702
DM
41222 "description" : "Update storage configuration.",
41223 "method" : "PUT",
41224 "name" : "update",
41225 "parameters" : {
41226 "additionalProperties" : 0,
41227 "properties" : {
41228 "blocksize" : {
41229 "description" : "block size",
7aacca6f 41230 "optional" : 1,
013dc89f
DM
41231 "type" : "string",
41232 "typetext" : "<string>"
7aacca6f 41233 },
27a7acb2
DM
41234 "bwlimit" : {
41235 "description" : "Set bandwidth/io limits various operations.",
41236 "format" : {
41237 "clone" : {
95895385 41238 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
41239 "format_description" : "LIMIT",
41240 "minimum" : "0",
41241 "optional" : 1,
41242 "type" : "number"
41243 },
41244 "default" : {
95895385 41245 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
41246 "format_description" : "LIMIT",
41247 "minimum" : "0",
41248 "optional" : 1,
41249 "type" : "number"
41250 },
41251 "migration" : {
95895385 41252 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
41253 "format_description" : "LIMIT",
41254 "minimum" : "0",
41255 "optional" : 1,
41256 "type" : "number"
41257 },
41258 "move" : {
95895385 41259 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
41260 "format_description" : "LIMIT",
41261 "minimum" : "0",
41262 "optional" : 1,
41263 "type" : "number"
41264 },
41265 "restore" : {
95895385 41266 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
41267 "format_description" : "LIMIT",
41268 "minimum" : "0",
41269 "optional" : 1,
41270 "type" : "number"
41271 }
41272 },
41273 "optional" : 1,
41274 "type" : "string",
41275 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
41276 },
44660702
DM
41277 "comstar_hg" : {
41278 "description" : "host group for comstar views",
41279 "optional" : 1,
013dc89f
DM
41280 "type" : "string",
41281 "typetext" : "<string>"
7aacca6f 41282 },
44660702
DM
41283 "comstar_tg" : {
41284 "description" : "target group for comstar views",
7aacca6f 41285 "optional" : 1,
013dc89f
DM
41286 "type" : "string",
41287 "typetext" : "<string>"
7aacca6f 41288 },
44660702
DM
41289 "content" : {
41290 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
41291 "format" : "pve-storage-content-list",
7aacca6f 41292 "optional" : 1,
013dc89f
DM
41293 "type" : "string",
41294 "typetext" : "<string>"
7aacca6f 41295 },
44660702
DM
41296 "delete" : {
41297 "description" : "A list of settings you want to delete.",
41298 "format" : "pve-configid-list",
41299 "maxLength" : 4096,
7aacca6f 41300 "optional" : 1,
013dc89f
DM
41301 "type" : "string",
41302 "typetext" : "<string>"
7aacca6f
DM
41303 },
41304 "digest" : {
44660702 41305 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 41306 "maxLength" : 40,
7aacca6f 41307 "optional" : 1,
013dc89f
DM
41308 "type" : "string",
41309 "typetext" : "<string>"
7aacca6f 41310 },
44660702
DM
41311 "disable" : {
41312 "description" : "Flag to disable the storage.",
41313 "optional" : 1,
013dc89f
DM
41314 "type" : "boolean",
41315 "typetext" : "<boolean>"
7aacca6f 41316 },
27a7acb2
DM
41317 "domain" : {
41318 "description" : "CIFS domain.",
41319 "maxLength" : 256,
41320 "optional" : 1,
41321 "type" : "string",
41322 "typetext" : "<string>"
41323 },
04d22a9f
TL
41324 "encryption-key" : {
41325 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
41326 "optional" : 1,
41327 "type" : "string",
41328 "typetext" : "<string>"
41329 },
c5aa7e14
TL
41330 "fingerprint" : {
41331 "description" : "Certificate SHA 256 fingerprint.",
41332 "optional" : 1,
41333 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
41334 "type" : "string"
41335 },
7aacca6f
DM
41336 "format" : {
41337 "description" : "Default image format.",
44660702 41338 "format" : "pve-storage-format",
7aacca6f 41339 "optional" : 1,
013dc89f
DM
41340 "type" : "string",
41341 "typetext" : "<string>"
7aacca6f 41342 },
5da3d723
TL
41343 "fuse" : {
41344 "description" : "Mount CephFS through FUSE.",
41345 "optional" : 1,
41346 "type" : "boolean",
41347 "typetext" : "<boolean>"
41348 },
2c0dde61
DM
41349 "is_mountpoint" : {
41350 "default" : "no",
2489d6df 41351 "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 41352 "optional" : 1,
2489d6df
WB
41353 "type" : "string",
41354 "typetext" : "<string>"
2c0dde61 41355 },
44660702 41356 "krbd" : {
e2d681b3 41357 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 41358 "optional" : 1,
013dc89f
DM
41359 "type" : "boolean",
41360 "typetext" : "<boolean>"
7aacca6f 41361 },
4d47f125
TL
41362 "lio_tpg" : {
41363 "description" : "target portal group for Linux LIO targets",
41364 "optional" : 1,
41365 "type" : "string",
41366 "typetext" : "<string>"
41367 },
d2656385
TL
41368 "master-pubkey" : {
41369 "description" : "Base64-encoded, PEM-formatted public RSA key. Used tp encrypt a copy of the encryption-key which will be added to each encrypted backup.",
41370 "optional" : 1,
41371 "type" : "string",
41372 "typetext" : "<string>"
41373 },
44660702 41374 "maxfiles" : {
8f4d9c87 41375 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimted.",
44660702
DM
41376 "minimum" : 0,
41377 "optional" : 1,
4bd7df8b 41378 "type" : "integer",
013dc89f 41379 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
41380 },
41381 "mkdir" : {
41382 "default" : "yes",
41383 "description" : "Create the directory if it doesn't exist.",
41384 "optional" : 1,
013dc89f
DM
41385 "type" : "boolean",
41386 "typetext" : "<boolean>"
7aacca6f 41387 },
2489d6df
WB
41388 "monhost" : {
41389 "description" : "IP addresses of monitors (for external clusters).",
41390 "format" : "pve-storage-portal-dns-list",
41391 "optional" : 1,
41392 "type" : "string",
41393 "typetext" : "<string>"
41394 },
5c1699e5
TL
41395 "mountpoint" : {
41396 "description" : "mount point",
41397 "format" : "pve-storage-path",
41398 "optional" : 1,
41399 "type" : "string",
41400 "typetext" : "<string>"
41401 },
d2656385
TL
41402 "namespace" : {
41403 "description" : "RBD Namespace.",
41404 "optional" : 1,
41405 "type" : "string",
41406 "typetext" : "<string>"
41407 },
7aacca6f 41408 "nodes" : {
44660702 41409 "description" : "List of cluster node names.",
7aacca6f
DM
41410 "format" : "pve-node-list",
41411 "optional" : 1,
013dc89f
DM
41412 "type" : "string",
41413 "typetext" : "<string>"
7aacca6f 41414 },
44660702
DM
41415 "nowritecache" : {
41416 "description" : "disable write caching on the target",
7aacca6f 41417 "optional" : 1,
013dc89f
DM
41418 "type" : "boolean",
41419 "typetext" : "<boolean>"
7aacca6f
DM
41420 },
41421 "options" : {
7aacca6f 41422 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
41423 "format" : "pve-storage-options",
41424 "optional" : 1,
013dc89f
DM
41425 "type" : "string",
41426 "typetext" : "<string>"
44660702 41427 },
27a7acb2 41428 "password" : {
04d22a9f 41429 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
41430 "maxLength" : 256,
41431 "optional" : 1,
41432 "type" : "string",
41433 "typetext" : "<string>"
41434 },
44660702
DM
41435 "pool" : {
41436 "description" : "Pool.",
41437 "optional" : 1,
013dc89f
DM
41438 "type" : "string",
41439 "typetext" : "<string>"
44660702 41440 },
4772952b
TL
41441 "port" : {
41442 "default" : 8007,
41443 "description" : "For non default port.",
41444 "maximum" : 65535,
41445 "minimum" : 1,
41446 "optional" : 1,
41447 "type" : "integer",
41448 "typetext" : "<integer> (1 - 65535)"
41449 },
739d4d64
TL
41450 "prune-backups" : {
41451 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
41452 "format" : "prune-backups",
41453 "optional" : 1,
41454 "type" : "string",
4772952b 41455 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 41456 },
44660702
DM
41457 "saferemove" : {
41458 "description" : "Zero-out data when removing LVs.",
41459 "optional" : 1,
013dc89f
DM
41460 "type" : "boolean",
41461 "typetext" : "<boolean>"
7aacca6f
DM
41462 },
41463 "saferemove_throughput" : {
44660702 41464 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 41465 "optional" : 1,
013dc89f
DM
41466 "type" : "string",
41467 "typetext" : "<string>"
7aacca6f 41468 },
44660702
DM
41469 "server" : {
41470 "description" : "Server IP or DNS name.",
41471 "format" : "pve-storage-server",
7aacca6f 41472 "optional" : 1,
013dc89f
DM
41473 "type" : "string",
41474 "typetext" : "<string>"
7aacca6f 41475 },
44660702
DM
41476 "server2" : {
41477 "description" : "Backup volfile server IP or DNS name.",
41478 "format" : "pve-storage-server",
7aacca6f 41479 "optional" : 1,
44660702 41480 "requires" : "server",
013dc89f
DM
41481 "type" : "string",
41482 "typetext" : "<string>"
44660702
DM
41483 },
41484 "shared" : {
41485 "description" : "Mark storage as shared.",
41486 "optional" : 1,
013dc89f
DM
41487 "type" : "boolean",
41488 "typetext" : "<boolean>"
44660702 41489 },
27a7acb2 41490 "smbversion" : {
5da3d723
TL
41491 "description" : "SMB protocol version",
41492 "enum" : [
41493 "2.0",
41494 "2.1",
41495 "3.0"
41496 ],
27a7acb2 41497 "optional" : 1,
5da3d723 41498 "type" : "string"
27a7acb2 41499 },
44660702
DM
41500 "sparse" : {
41501 "description" : "use sparse volumes",
41502 "optional" : 1,
013dc89f
DM
41503 "type" : "boolean",
41504 "typetext" : "<boolean>"
44660702
DM
41505 },
41506 "storage" : {
41507 "description" : "The storage identifier.",
41508 "format" : "pve-storage-id",
013dc89f
DM
41509 "type" : "string",
41510 "typetext" : "<string>"
44660702 41511 },
5da3d723
TL
41512 "subdir" : {
41513 "description" : "Subdir to mount.",
41514 "format" : "pve-storage-path",
41515 "optional" : 1,
41516 "type" : "string",
41517 "typetext" : "<string>"
41518 },
4bd7df8b
DM
41519 "tagged_only" : {
41520 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
41521 "optional" : 1,
013dc89f
DM
41522 "type" : "boolean",
41523 "typetext" : "<boolean>"
4bd7df8b 41524 },
44660702
DM
41525 "transport" : {
41526 "description" : "Gluster transport: tcp or rdma",
41527 "enum" : [
41528 "tcp",
41529 "rdma",
41530 "unix"
41531 ],
41532 "optional" : 1,
41533 "type" : "string"
7aacca6f
DM
41534 },
41535 "username" : {
41536 "description" : "RBD Id.",
44660702 41537 "optional" : 1,
013dc89f
DM
41538 "type" : "string",
41539 "typetext" : "<string>"
7aacca6f 41540 }
44660702
DM
41541 },
41542 "type" : "object"
41543 },
41544 "permissions" : {
41545 "check" : [
41546 "perm",
41547 "/storage",
41548 [
41549 "Datastore.Allocate"
41550 ]
41551 ]
41552 },
41553 "protected" : 1,
41554 "returns" : {
4772952b
TL
41555 "properties" : {
41556 "config" : {
41557 "additionalProperties" : 1,
41558 "description" : "Partial, possible server generated, configuration properties.",
41559 "optional" : 1,
41560 "properties" : {
41561 "encryption-key" : {
41562 "description" : "The, possible auto-generated, encryption-key.",
41563 "optional" : 1,
41564 "type" : "string"
41565 }
41566 },
41567 "type" : "object"
41568 },
41569 "storage" : {
41570 "description" : "The ID of the created storage.",
41571 "type" : "string"
41572 },
41573 "type" : {
41574 "description" : "The type of the created storage.",
41575 "enum" : [
41576 "cephfs",
41577 "cifs",
41578 "dir",
4772952b
TL
41579 "glusterfs",
41580 "iscsi",
41581 "iscsidirect",
41582 "lvm",
41583 "lvmthin",
41584 "nfs",
41585 "pbs",
41586 "rbd",
41587 "zfs",
41588 "zfspool"
41589 ],
41590 "type" : "string"
41591 }
41592 },
41593 "type" : "object"
44660702
DM
41594 }
41595 }
41596 },
41597 "leaf" : 1,
41598 "path" : "/storage/{storage}",
41599 "text" : "{storage}"
41600 }
41601 ],
41602 "info" : {
41603 "GET" : {
e9cd3bd4 41604 "allowtoken" : 1,
44660702
DM
41605 "description" : "Storage index.",
41606 "method" : "GET",
41607 "name" : "index",
41608 "parameters" : {
41609 "additionalProperties" : 0,
41610 "properties" : {
41611 "type" : {
41612 "description" : "Only list storage of specific type",
41613 "enum" : [
5da3d723 41614 "cephfs",
27a7acb2 41615 "cifs",
44660702 41616 "dir",
44660702
DM
41617 "glusterfs",
41618 "iscsi",
41619 "iscsidirect",
41620 "lvm",
41621 "lvmthin",
41622 "nfs",
c5aa7e14 41623 "pbs",
44660702 41624 "rbd",
44660702
DM
41625 "zfs",
41626 "zfspool"
41627 ],
41628 "optional" : 1,
41629 "type" : "string"
41630 }
41631 }
41632 },
41633 "permissions" : {
41634 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
41635 "user" : "all"
41636 },
41637 "returns" : {
41638 "items" : {
41639 "properties" : {
41640 "storage" : {
41641 "type" : "string"
7aacca6f 41642 }
56122987 41643 },
44660702
DM
41644 "type" : "object"
41645 },
41646 "links" : [
41647 {
41648 "href" : "{storage}",
41649 "rel" : "child"
41650 }
41651 ],
41652 "type" : "array"
41653 }
41654 },
41655 "POST" : {
e9cd3bd4 41656 "allowtoken" : 1,
44660702
DM
41657 "description" : "Create a new storage.",
41658 "method" : "POST",
41659 "name" : "create",
41660 "parameters" : {
41661 "additionalProperties" : 0,
41662 "properties" : {
41663 "authsupported" : {
41664 "description" : "Authsupported.",
41665 "optional" : 1,
013dc89f
DM
41666 "type" : "string",
41667 "typetext" : "<string>"
44660702
DM
41668 },
41669 "base" : {
41670 "description" : "Base volume. This volume is automatically activated.",
41671 "format" : "pve-volume-id",
41672 "optional" : 1,
013dc89f
DM
41673 "type" : "string",
41674 "typetext" : "<string>"
44660702
DM
41675 },
41676 "blocksize" : {
41677 "description" : "block size",
41678 "optional" : 1,
013dc89f
DM
41679 "type" : "string",
41680 "typetext" : "<string>"
44660702 41681 },
27a7acb2
DM
41682 "bwlimit" : {
41683 "description" : "Set bandwidth/io limits various operations.",
41684 "format" : {
41685 "clone" : {
95895385 41686 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
41687 "format_description" : "LIMIT",
41688 "minimum" : "0",
41689 "optional" : 1,
41690 "type" : "number"
41691 },
41692 "default" : {
95895385 41693 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
41694 "format_description" : "LIMIT",
41695 "minimum" : "0",
41696 "optional" : 1,
41697 "type" : "number"
41698 },
41699 "migration" : {
95895385 41700 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
41701 "format_description" : "LIMIT",
41702 "minimum" : "0",
41703 "optional" : 1,
41704 "type" : "number"
41705 },
41706 "move" : {
95895385 41707 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
41708 "format_description" : "LIMIT",
41709 "minimum" : "0",
41710 "optional" : 1,
41711 "type" : "number"
41712 },
41713 "restore" : {
95895385 41714 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
41715 "format_description" : "LIMIT",
41716 "minimum" : "0",
41717 "optional" : 1,
41718 "type" : "number"
41719 }
41720 },
41721 "optional" : 1,
41722 "type" : "string",
41723 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
41724 },
44660702
DM
41725 "comstar_hg" : {
41726 "description" : "host group for comstar views",
41727 "optional" : 1,
013dc89f
DM
41728 "type" : "string",
41729 "typetext" : "<string>"
44660702
DM
41730 },
41731 "comstar_tg" : {
41732 "description" : "target group for comstar views",
41733 "optional" : 1,
013dc89f
DM
41734 "type" : "string",
41735 "typetext" : "<string>"
44660702
DM
41736 },
41737 "content" : {
41738 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
41739 "format" : "pve-storage-content-list",
41740 "optional" : 1,
013dc89f
DM
41741 "type" : "string",
41742 "typetext" : "<string>"
44660702 41743 },
c5aa7e14 41744 "datastore" : {
4772952b 41745 "description" : "Proxmox Backup Server datastore name.",
c5aa7e14
TL
41746 "optional" : 1,
41747 "type" : "string",
41748 "typetext" : "<string>"
41749 },
44660702
DM
41750 "disable" : {
41751 "description" : "Flag to disable the storage.",
41752 "optional" : 1,
013dc89f
DM
41753 "type" : "boolean",
41754 "typetext" : "<boolean>"
44660702 41755 },
27a7acb2
DM
41756 "domain" : {
41757 "description" : "CIFS domain.",
41758 "maxLength" : 256,
41759 "optional" : 1,
41760 "type" : "string",
41761 "typetext" : "<string>"
41762 },
04d22a9f
TL
41763 "encryption-key" : {
41764 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
41765 "optional" : 1,
41766 "type" : "string",
41767 "typetext" : "<string>"
41768 },
44660702
DM
41769 "export" : {
41770 "description" : "NFS export path.",
41771 "format" : "pve-storage-path",
41772 "optional" : 1,
013dc89f
DM
41773 "type" : "string",
41774 "typetext" : "<string>"
44660702 41775 },
c5aa7e14
TL
41776 "fingerprint" : {
41777 "description" : "Certificate SHA 256 fingerprint.",
41778 "optional" : 1,
41779 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
41780 "type" : "string"
41781 },
44660702
DM
41782 "format" : {
41783 "description" : "Default image format.",
41784 "format" : "pve-storage-format",
41785 "optional" : 1,
013dc89f
DM
41786 "type" : "string",
41787 "typetext" : "<string>"
44660702 41788 },
5da3d723
TL
41789 "fuse" : {
41790 "description" : "Mount CephFS through FUSE.",
41791 "optional" : 1,
41792 "type" : "boolean",
41793 "typetext" : "<boolean>"
41794 },
2c0dde61
DM
41795 "is_mountpoint" : {
41796 "default" : "no",
2489d6df 41797 "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 41798 "optional" : 1,
2489d6df
WB
41799 "type" : "string",
41800 "typetext" : "<string>"
2c0dde61 41801 },
44660702
DM
41802 "iscsiprovider" : {
41803 "description" : "iscsi provider",
41804 "optional" : 1,
013dc89f
DM
41805 "type" : "string",
41806 "typetext" : "<string>"
44660702
DM
41807 },
41808 "krbd" : {
e2d681b3 41809 "description" : "Always access rbd through krbd kernel module.",
44660702 41810 "optional" : 1,
013dc89f
DM
41811 "type" : "boolean",
41812 "typetext" : "<boolean>"
56122987 41813 },
4d47f125
TL
41814 "lio_tpg" : {
41815 "description" : "target portal group for Linux LIO targets",
41816 "optional" : 1,
41817 "type" : "string",
41818 "typetext" : "<string>"
41819 },
d2656385
TL
41820 "master-pubkey" : {
41821 "description" : "Base64-encoded, PEM-formatted public RSA key. Used tp encrypt a copy of the encryption-key which will be added to each encrypted backup.",
41822 "optional" : 1,
41823 "type" : "string",
41824 "typetext" : "<string>"
41825 },
44660702 41826 "maxfiles" : {
8f4d9c87 41827 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimted.",
44660702
DM
41828 "minimum" : 0,
41829 "optional" : 1,
4bd7df8b 41830 "type" : "integer",
013dc89f 41831 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
41832 },
41833 "mkdir" : {
41834 "default" : "yes",
41835 "description" : "Create the directory if it doesn't exist.",
41836 "optional" : 1,
013dc89f
DM
41837 "type" : "boolean",
41838 "typetext" : "<boolean>"
7aacca6f 41839 },
44660702 41840 "monhost" : {
2489d6df 41841 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 41842 "format" : "pve-storage-portal-dns-list",
44660702 41843 "optional" : 1,
013dc89f
DM
41844 "type" : "string",
41845 "typetext" : "<string>"
7aacca6f 41846 },
5c1699e5
TL
41847 "mountpoint" : {
41848 "description" : "mount point",
41849 "format" : "pve-storage-path",
41850 "optional" : 1,
41851 "type" : "string",
41852 "typetext" : "<string>"
41853 },
d2656385
TL
41854 "namespace" : {
41855 "description" : "RBD Namespace.",
41856 "optional" : 1,
41857 "type" : "string",
41858 "typetext" : "<string>"
41859 },
44660702
DM
41860 "nodes" : {
41861 "description" : "List of cluster node names.",
41862 "format" : "pve-node-list",
41863 "optional" : 1,
013dc89f
DM
41864 "type" : "string",
41865 "typetext" : "<string>"
7aacca6f 41866 },
44660702
DM
41867 "nowritecache" : {
41868 "description" : "disable write caching on the target",
41869 "optional" : 1,
013dc89f
DM
41870 "type" : "boolean",
41871 "typetext" : "<boolean>"
44660702
DM
41872 },
41873 "options" : {
41874 "description" : "NFS mount options (see 'man nfs')",
41875 "format" : "pve-storage-options",
41876 "optional" : 1,
013dc89f
DM
41877 "type" : "string",
41878 "typetext" : "<string>"
44660702 41879 },
27a7acb2 41880 "password" : {
04d22a9f 41881 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
41882 "maxLength" : 256,
41883 "optional" : 1,
41884 "type" : "string",
41885 "typetext" : "<string>"
41886 },
44660702
DM
41887 "path" : {
41888 "description" : "File system path.",
41889 "format" : "pve-storage-path",
41890 "optional" : 1,
013dc89f
DM
41891 "type" : "string",
41892 "typetext" : "<string>"
44660702
DM
41893 },
41894 "pool" : {
41895 "description" : "Pool.",
41896 "optional" : 1,
013dc89f
DM
41897 "type" : "string",
41898 "typetext" : "<string>"
44660702 41899 },
4772952b
TL
41900 "port" : {
41901 "default" : 8007,
41902 "description" : "For non default port.",
41903 "maximum" : 65535,
41904 "minimum" : 1,
41905 "optional" : 1,
41906 "type" : "integer",
41907 "typetext" : "<integer> (1 - 65535)"
41908 },
44660702
DM
41909 "portal" : {
41910 "description" : "iSCSI portal (IP or DNS name with optional port).",
41911 "format" : "pve-storage-portal-dns",
41912 "optional" : 1,
013dc89f
DM
41913 "type" : "string",
41914 "typetext" : "<string>"
44660702 41915 },
739d4d64
TL
41916 "prune-backups" : {
41917 "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
41918 "format" : "prune-backups",
41919 "optional" : 1,
41920 "type" : "string",
4772952b 41921 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 41922 },
44660702
DM
41923 "saferemove" : {
41924 "description" : "Zero-out data when removing LVs.",
41925 "optional" : 1,
013dc89f
DM
41926 "type" : "boolean",
41927 "typetext" : "<boolean>"
44660702
DM
41928 },
41929 "saferemove_throughput" : {
41930 "description" : "Wipe throughput (cstream -t parameter value).",
41931 "optional" : 1,
013dc89f
DM
41932 "type" : "string",
41933 "typetext" : "<string>"
44660702
DM
41934 },
41935 "server" : {
41936 "description" : "Server IP or DNS name.",
41937 "format" : "pve-storage-server",
41938 "optional" : 1,
013dc89f
DM
41939 "type" : "string",
41940 "typetext" : "<string>"
44660702
DM
41941 },
41942 "server2" : {
41943 "description" : "Backup volfile server IP or DNS name.",
41944 "format" : "pve-storage-server",
41945 "optional" : 1,
41946 "requires" : "server",
013dc89f
DM
41947 "type" : "string",
41948 "typetext" : "<string>"
44660702 41949 },
27a7acb2
DM
41950 "share" : {
41951 "description" : "CIFS share.",
41952 "optional" : 1,
41953 "type" : "string",
41954 "typetext" : "<string>"
41955 },
44660702
DM
41956 "shared" : {
41957 "description" : "Mark storage as shared.",
41958 "optional" : 1,
013dc89f
DM
41959 "type" : "boolean",
41960 "typetext" : "<boolean>"
44660702 41961 },
27a7acb2 41962 "smbversion" : {
5da3d723
TL
41963 "description" : "SMB protocol version",
41964 "enum" : [
41965 "2.0",
41966 "2.1",
41967 "3.0"
41968 ],
27a7acb2 41969 "optional" : 1,
5da3d723 41970 "type" : "string"
27a7acb2 41971 },
44660702
DM
41972 "sparse" : {
41973 "description" : "use sparse volumes",
41974 "optional" : 1,
013dc89f
DM
41975 "type" : "boolean",
41976 "typetext" : "<boolean>"
44660702
DM
41977 },
41978 "storage" : {
41979 "description" : "The storage identifier.",
41980 "format" : "pve-storage-id",
013dc89f
DM
41981 "type" : "string",
41982 "typetext" : "<string>"
44660702 41983 },
5da3d723
TL
41984 "subdir" : {
41985 "description" : "Subdir to mount.",
41986 "format" : "pve-storage-path",
41987 "optional" : 1,
41988 "type" : "string",
41989 "typetext" : "<string>"
41990 },
4bd7df8b
DM
41991 "tagged_only" : {
41992 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
41993 "optional" : 1,
013dc89f
DM
41994 "type" : "boolean",
41995 "typetext" : "<boolean>"
4bd7df8b 41996 },
44660702
DM
41997 "target" : {
41998 "description" : "iSCSI target.",
41999 "optional" : 1,
013dc89f
DM
42000 "type" : "string",
42001 "typetext" : "<string>"
44660702
DM
42002 },
42003 "thinpool" : {
42004 "description" : "LVM thin pool LV name.",
42005 "format" : "pve-storage-vgname",
42006 "optional" : 1,
013dc89f
DM
42007 "type" : "string",
42008 "typetext" : "<string>"
44660702
DM
42009 },
42010 "transport" : {
42011 "description" : "Gluster transport: tcp or rdma",
42012 "enum" : [
42013 "tcp",
42014 "rdma",
42015 "unix"
7aacca6f 42016 ],
44660702
DM
42017 "optional" : 1,
42018 "type" : "string"
56122987 42019 },
44660702
DM
42020 "type" : {
42021 "description" : "Storage type.",
42022 "enum" : [
5da3d723 42023 "cephfs",
27a7acb2 42024 "cifs",
44660702 42025 "dir",
44660702
DM
42026 "glusterfs",
42027 "iscsi",
42028 "iscsidirect",
42029 "lvm",
42030 "lvmthin",
42031 "nfs",
c5aa7e14 42032 "pbs",
44660702 42033 "rbd",
44660702
DM
42034 "zfs",
42035 "zfspool"
42036 ],
42037 "type" : "string"
56122987 42038 },
44660702
DM
42039 "username" : {
42040 "description" : "RBD Id.",
42041 "optional" : 1,
013dc89f
DM
42042 "type" : "string",
42043 "typetext" : "<string>"
7aacca6f 42044 },
44660702
DM
42045 "vgname" : {
42046 "description" : "Volume group name.",
42047 "format" : "pve-storage-vgname",
42048 "optional" : 1,
013dc89f
DM
42049 "type" : "string",
42050 "typetext" : "<string>"
44660702
DM
42051 },
42052 "volume" : {
42053 "description" : "Glusterfs Volume.",
42054 "optional" : 1,
013dc89f
DM
42055 "type" : "string",
42056 "typetext" : "<string>"
44660702
DM
42057 }
42058 },
42059 "type" : "object"
42060 },
42061 "permissions" : {
42062 "check" : [
42063 "perm",
42064 "/storage",
42065 [
42066 "Datastore.Allocate"
42067 ]
42068 ]
56122987 42069 },
44660702
DM
42070 "protected" : 1,
42071 "returns" : {
4772952b
TL
42072 "properties" : {
42073 "config" : {
42074 "additionalProperties" : 1,
42075 "description" : "Partial, possible server generated, configuration properties.",
42076 "optional" : 1,
42077 "properties" : {
42078 "encryption-key" : {
42079 "description" : "The, possible auto-generated, encryption-key.",
42080 "optional" : 1,
42081 "type" : "string"
42082 }
42083 },
42084 "type" : "object"
42085 },
42086 "storage" : {
42087 "description" : "The ID of the created storage.",
42088 "type" : "string"
42089 },
42090 "type" : {
42091 "description" : "The type of the created storage.",
42092 "enum" : [
42093 "cephfs",
42094 "cifs",
42095 "dir",
4772952b
TL
42096 "glusterfs",
42097 "iscsi",
42098 "iscsidirect",
42099 "lvm",
42100 "lvmthin",
42101 "nfs",
42102 "pbs",
42103 "rbd",
42104 "zfs",
42105 "zfspool"
42106 ],
42107 "type" : "string"
42108 }
42109 },
42110 "type" : "object"
44660702
DM
42111 }
42112 }
42113 },
42114 "leaf" : 0,
42115 "path" : "/storage",
42116 "text" : "storage"
42117 },
42118 {
42119 "children" : [
42120 {
56122987
DM
42121 "children" : [
42122 {
bb4c8cf8
TL
42123 "children" : [
42124 {
42125 "info" : {
42126 "GET" : {
e9cd3bd4 42127 "allowtoken" : 1,
bb4c8cf8
TL
42128 "description" : "Get user TFA types (Personal and Realm).",
42129 "method" : "GET",
42130 "name" : "read_user_tfa_type",
42131 "parameters" : {
42132 "additionalProperties" : 0,
42133 "properties" : {
42134 "userid" : {
42135 "description" : "User ID",
42136 "format" : "pve-userid",
42137 "maxLength" : 64,
42138 "type" : "string",
42139 "typetext" : "<string>"
42140 }
42141 }
42142 },
42143 "permissions" : {
42144 "check" : [
42145 "or",
42146 [
42147 "userid-param",
42148 "self"
42149 ],
42150 [
42151 "userid-group",
42152 [
42153 "User.Modify",
42154 "Sys.Audit"
42155 ]
42156 ]
42157 ]
42158 },
42159 "protected" : 1,
42160 "returns" : {
42161 "additionalProperties" : 0,
42162 "properties" : {
42163 "realm" : {
42164 "description" : "The type of TFA the users realm has set, if any.",
42165 "enum" : [
42166 "oath",
42167 "yubico"
42168 ],
42169 "optional" : 1,
42170 "type" : "string"
42171 },
42172 "user" : {
42173 "description" : "The type of TFA the user has set, if any.",
42174 "enum" : [
42175 "oath",
42176 "u2f"
42177 ],
42178 "optional" : 1,
42179 "type" : "string"
42180 }
42181 },
42182 "type" : "object"
42183 }
42184 }
42185 },
42186 "leaf" : 1,
42187 "path" : "/access/users/{userid}/tfa",
42188 "text" : "tfa"
e9cd3bd4
TL
42189 },
42190 {
42191 "children" : [
42192 {
42193 "info" : {
42194 "DELETE" : {
42195 "allowtoken" : 1,
42196 "description" : "Remove API token for a specific user.",
42197 "method" : "DELETE",
42198 "name" : "remove_token",
42199 "parameters" : {
42200 "additionalProperties" : 0,
42201 "properties" : {
42202 "tokenid" : {
42203 "description" : "User-specific token identifier.",
42204 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42205 "type" : "string"
42206 },
42207 "userid" : {
42208 "description" : "User ID",
42209 "format" : "pve-userid",
42210 "maxLength" : 64,
42211 "type" : "string",
42212 "typetext" : "<string>"
42213 }
42214 }
42215 },
42216 "permissions" : {
42217 "check" : [
42218 "or",
42219 [
42220 "userid-param",
42221 "self"
42222 ],
42223 [
42224 "perm",
42225 "/access/users/{userid}",
42226 [
42227 "User.Modify"
42228 ]
42229 ]
42230 ]
42231 },
42232 "protected" : 1,
42233 "returns" : {
c5aa7e14
TL
42234 "type" : "null"
42235 }
42236 },
42237 "GET" : {
42238 "allowtoken" : 1,
42239 "description" : "Get specific API token information.",
42240 "method" : "GET",
42241 "name" : "read_token",
42242 "parameters" : {
42243 "additionalProperties" : 0,
42244 "properties" : {
42245 "tokenid" : {
42246 "description" : "User-specific token identifier.",
42247 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42248 "type" : "string"
42249 },
42250 "userid" : {
42251 "description" : "User ID",
42252 "format" : "pve-userid",
42253 "maxLength" : 64,
42254 "type" : "string",
42255 "typetext" : "<string>"
42256 }
42257 }
42258 },
42259 "permissions" : {
42260 "check" : [
42261 "or",
42262 [
42263 "userid-param",
42264 "self"
42265 ],
42266 [
42267 "perm",
42268 "/access/users/{userid}",
42269 [
42270 "User.Modify"
42271 ]
42272 ]
42273 ]
42274 },
42275 "returns" : {
42276 "properties" : {
42277 "comment" : {
42278 "optional" : 1,
42279 "type" : "string"
42280 },
42281 "expire" : {
42282 "default" : "same as user",
42283 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42284 "minimum" : 0,
42285 "optional" : 1,
42286 "type" : "integer"
42287 },
42288 "privsep" : {
42289 "default" : 1,
42290 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42291 "optional" : 1,
42292 "type" : "boolean"
42293 }
42294 },
42295 "type" : "object"
42296 }
42297 },
42298 "POST" : {
42299 "allowtoken" : 1,
42300 "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!",
42301 "method" : "POST",
42302 "name" : "generate_token",
42303 "parameters" : {
42304 "additionalProperties" : 0,
42305 "properties" : {
42306 "comment" : {
42307 "optional" : 1,
42308 "type" : "string",
42309 "typetext" : "<string>"
42310 },
42311 "expire" : {
42312 "default" : "same as user",
42313 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42314 "minimum" : 0,
42315 "optional" : 1,
42316 "type" : "integer",
42317 "typetext" : "<integer> (0 - N)"
42318 },
42319 "privsep" : {
42320 "default" : 1,
42321 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42322 "optional" : 1,
42323 "type" : "boolean",
42324 "typetext" : "<boolean>"
42325 },
42326 "tokenid" : {
42327 "description" : "User-specific token identifier.",
42328 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42329 "type" : "string"
42330 },
42331 "userid" : {
42332 "description" : "User ID",
42333 "format" : "pve-userid",
42334 "maxLength" : 64,
42335 "type" : "string",
42336 "typetext" : "<string>"
42337 }
42338 }
42339 },
42340 "permissions" : {
42341 "check" : [
42342 "or",
42343 [
42344 "userid-param",
42345 "self"
42346 ],
42347 [
42348 "perm",
42349 "/access/users/{userid}",
42350 [
42351 "User.Modify"
42352 ]
42353 ]
42354 ]
42355 },
42356 "protected" : 1,
42357 "returns" : {
e9cd3bd4
TL
42358 "additionalProperties" : 0,
42359 "properties" : {
c5aa7e14
TL
42360 "full-tokenid" : {
42361 "description" : "The full token id.",
42362 "format_description" : "<userid>!<tokenid>",
e9cd3bd4
TL
42363 "type" : "string"
42364 },
e9cd3bd4
TL
42365 "info" : {
42366 "properties" : {
42367 "comment" : {
42368 "optional" : 1,
42369 "type" : "string"
42370 },
42371 "expire" : {
42372 "default" : "same as user",
42373 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42374 "minimum" : 0,
42375 "optional" : 1,
42376 "type" : "integer"
42377 },
42378 "privsep" : {
42379 "default" : 1,
42380 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42381 "optional" : 1,
42382 "type" : "boolean"
42383 }
42384 },
42385 "type" : "object"
42386 },
42387 "value" : {
42388 "description" : "API token value used for authentication.",
42389 "type" : "string"
42390 }
42391 },
42392 "type" : "object"
42393 }
42394 },
42395 "PUT" : {
42396 "allowtoken" : 1,
42397 "description" : "Update API token for a specific user.",
42398 "method" : "PUT",
42399 "name" : "update_token_info",
42400 "parameters" : {
42401 "additionalProperties" : 0,
42402 "properties" : {
42403 "comment" : {
42404 "optional" : 1,
42405 "type" : "string",
42406 "typetext" : "<string>"
42407 },
42408 "expire" : {
42409 "default" : "same as user",
42410 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42411 "minimum" : 0,
42412 "optional" : 1,
42413 "type" : "integer",
42414 "typetext" : "<integer> (0 - N)"
42415 },
42416 "privsep" : {
42417 "default" : 1,
42418 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42419 "optional" : 1,
42420 "type" : "boolean",
42421 "typetext" : "<boolean>"
42422 },
42423 "tokenid" : {
42424 "description" : "User-specific token identifier.",
42425 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42426 "type" : "string"
42427 },
42428 "userid" : {
42429 "description" : "User ID",
42430 "format" : "pve-userid",
42431 "maxLength" : 64,
42432 "type" : "string",
42433 "typetext" : "<string>"
42434 }
42435 }
42436 },
42437 "permissions" : {
42438 "check" : [
42439 "or",
42440 [
42441 "userid-param",
42442 "self"
42443 ],
42444 [
42445 "perm",
42446 "/access/users/{userid}",
42447 [
42448 "User.Modify"
42449 ]
42450 ]
42451 ]
42452 },
42453 "protected" : 1,
42454 "returns" : {
42455 "description" : "Updated token information.",
42456 "properties" : {
42457 "comment" : {
42458 "optional" : 1,
42459 "type" : "string"
42460 },
42461 "expire" : {
42462 "default" : "same as user",
42463 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42464 "minimum" : 0,
42465 "optional" : 1,
42466 "type" : "integer"
42467 },
42468 "privsep" : {
42469 "default" : 1,
42470 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42471 "optional" : 1,
42472 "type" : "boolean"
42473 }
42474 },
42475 "type" : "object"
42476 }
42477 }
42478 },
42479 "leaf" : 1,
42480 "path" : "/access/users/{userid}/token/{tokenid}",
42481 "text" : "{tokenid}"
42482 }
42483 ],
42484 "info" : {
42485 "GET" : {
42486 "allowtoken" : 1,
42487 "description" : "Get user API tokens.",
42488 "method" : "GET",
42489 "name" : "token_index",
42490 "parameters" : {
42491 "additionalProperties" : 0,
42492 "properties" : {
42493 "userid" : {
42494 "description" : "User ID",
42495 "format" : "pve-userid",
42496 "maxLength" : 64,
42497 "type" : "string",
42498 "typetext" : "<string>"
42499 }
42500 }
42501 },
42502 "permissions" : {
42503 "check" : [
42504 "or",
42505 [
42506 "userid-param",
42507 "self"
42508 ],
42509 [
42510 "perm",
42511 "/access/users/{userid}",
42512 [
42513 "User.Modify"
42514 ]
42515 ]
42516 ]
42517 },
42518 "returns" : {
42519 "items" : {
42520 "properties" : {
42521 "comment" : {
42522 "optional" : 1,
42523 "type" : "string"
42524 },
42525 "expire" : {
42526 "default" : "same as user",
42527 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42528 "minimum" : 0,
42529 "optional" : 1,
42530 "type" : "integer"
42531 },
42532 "privsep" : {
42533 "default" : 1,
42534 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42535 "optional" : 1,
42536 "type" : "boolean"
42537 },
42538 "tokenid" : {
42539 "description" : "User-specific token identifier.",
42540 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42541 "type" : "string"
42542 }
42543 },
42544 "type" : "object"
42545 },
42546 "links" : [
42547 {
42548 "href" : "{tokenid}",
42549 "rel" : "child"
42550 }
42551 ],
42552 "type" : "array"
42553 }
42554 }
42555 },
42556 "leaf" : 0,
42557 "path" : "/access/users/{userid}/token",
42558 "text" : "token"
bb4c8cf8
TL
42559 }
42560 ],
56122987 42561 "info" : {
44660702 42562 "DELETE" : {
e9cd3bd4 42563 "allowtoken" : 1,
44660702
DM
42564 "description" : "Delete user.",
42565 "method" : "DELETE",
42566 "name" : "delete_user",
56122987 42567 "parameters" : {
7aacca6f 42568 "additionalProperties" : 0,
56122987 42569 "properties" : {
56122987 42570 "userid" : {
56122987
DM
42571 "description" : "User ID",
42572 "format" : "pve-userid",
44660702 42573 "maxLength" : 64,
013dc89f
DM
42574 "type" : "string",
42575 "typetext" : "<string>"
56122987 42576 }
7aacca6f 42577 }
56122987 42578 },
56122987
DM
42579 "permissions" : {
42580 "check" : [
44660702 42581 "and",
56122987 42582 [
44660702
DM
42583 "userid-param",
42584 "Realm.AllocateUser"
56122987 42585 ],
44660702
DM
42586 [
42587 "userid-group",
42588 [
42589 "User.Modify"
42590 ]
42591 ]
56122987 42592 ]
7aacca6f 42593 },
44660702 42594 "protected" : 1,
56122987
DM
42595 "returns" : {
42596 "type" : "null"
44660702 42597 }
7aacca6f 42598 },
44660702 42599 "GET" : {
e9cd3bd4 42600 "allowtoken" : 1,
44660702
DM
42601 "description" : "Get user configuration.",
42602 "method" : "GET",
42603 "name" : "read_user",
56122987
DM
42604 "parameters" : {
42605 "additionalProperties" : 0,
42606 "properties" : {
42607 "userid" : {
44660702 42608 "description" : "User ID",
56122987 42609 "format" : "pve-userid",
44660702 42610 "maxLength" : 64,
013dc89f
DM
42611 "type" : "string",
42612 "typetext" : "<string>"
56122987
DM
42613 }
42614 }
42615 },
56122987
DM
42616 "permissions" : {
42617 "check" : [
44660702 42618 "userid-group",
56122987 42619 [
44660702
DM
42620 "User.Modify",
42621 "Sys.Audit"
56122987
DM
42622 ]
42623 ]
42624 },
56122987 42625 "returns" : {
7aacca6f 42626 "additionalProperties" : 0,
56122987 42627 "properties" : {
44660702
DM
42628 "comment" : {
42629 "optional" : 1,
42630 "type" : "string"
56122987 42631 },
44660702 42632 "email" : {
e2d681b3 42633 "format" : "email-opt",
44660702
DM
42634 "optional" : 1,
42635 "type" : "string"
7aacca6f
DM
42636 },
42637 "enable" : {
e2d681b3
TL
42638 "default" : 1,
42639 "description" : "Enable the account (default). You can set this to '0' to disable the account",
42640 "optional" : 1,
7aacca6f
DM
42641 "type" : "boolean"
42642 },
44660702 42643 "expire" : {
e2d681b3
TL
42644 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
42645 "minimum" : 0,
44660702
DM
42646 "optional" : 1,
42647 "type" : "integer"
42648 },
42649 "firstname" : {
56122987
DM
42650 "optional" : 1,
42651 "type" : "string"
42652 },
44660702 42653 "groups" : {
e9cd3bd4
TL
42654 "items" : {
42655 "format" : "pve-groupid",
42656 "type" : "string"
42657 },
42658 "optional" : 1,
44660702 42659 "type" : "array"
56122987 42660 },
44660702 42661 "keys" : {
e2d681b3 42662 "description" : "Keys for two factor auth (yubico).",
44660702
DM
42663 "optional" : 1,
42664 "type" : "string"
7aacca6f 42665 },
44660702
DM
42666 "lastname" : {
42667 "optional" : 1,
42668 "type" : "string"
e9cd3bd4
TL
42669 },
42670 "tokens" : {
42671 "optional" : 1,
42672 "type" : "object"
56122987 42673 }
e2d681b3
TL
42674 },
42675 "type" : "object"
44660702
DM
42676 }
42677 },
42678 "PUT" : {
e9cd3bd4 42679 "allowtoken" : 1,
44660702
DM
42680 "description" : "Update user configuration.",
42681 "method" : "PUT",
42682 "name" : "update_user",
56122987 42683 "parameters" : {
44660702 42684 "additionalProperties" : 0,
56122987 42685 "properties" : {
44660702
DM
42686 "append" : {
42687 "optional" : 1,
42688 "requires" : "groups",
013dc89f
DM
42689 "type" : "boolean",
42690 "typetext" : "<boolean>"
44660702
DM
42691 },
42692 "comment" : {
42693 "optional" : 1,
013dc89f
DM
42694 "type" : "string",
42695 "typetext" : "<string>"
44660702
DM
42696 },
42697 "email" : {
42698 "format" : "email-opt",
42699 "optional" : 1,
013dc89f
DM
42700 "type" : "string",
42701 "typetext" : "<string>"
44660702
DM
42702 },
42703 "enable" : {
e2d681b3
TL
42704 "default" : 1,
42705 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 42706 "optional" : 1,
013dc89f
DM
42707 "type" : "boolean",
42708 "typetext" : "<boolean>"
44660702
DM
42709 },
42710 "expire" : {
42711 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
42712 "minimum" : 0,
42713 "optional" : 1,
4bd7df8b 42714 "type" : "integer",
013dc89f 42715 "typetext" : "<integer> (0 - N)"
44660702
DM
42716 },
42717 "firstname" : {
42718 "optional" : 1,
013dc89f
DM
42719 "type" : "string",
42720 "typetext" : "<string>"
44660702
DM
42721 },
42722 "groups" : {
42723 "format" : "pve-groupid-list",
42724 "optional" : 1,
013dc89f
DM
42725 "type" : "string",
42726 "typetext" : "<string>"
44660702
DM
42727 },
42728 "keys" : {
42729 "description" : "Keys for two factor auth (yubico).",
42730 "optional" : 1,
013dc89f
DM
42731 "type" : "string",
42732 "typetext" : "<string>"
44660702
DM
42733 },
42734 "lastname" : {
42735 "optional" : 1,
013dc89f
DM
42736 "type" : "string",
42737 "typetext" : "<string>"
44660702 42738 },
56122987 42739 "userid" : {
56122987
DM
42740 "description" : "User ID",
42741 "format" : "pve-userid",
44660702 42742 "maxLength" : 64,
013dc89f
DM
42743 "type" : "string",
42744 "typetext" : "<string>"
56122987 42745 }
44660702 42746 }
56122987 42747 },
56122987
DM
42748 "permissions" : {
42749 "check" : [
42750 "userid-group",
42751 [
44660702
DM
42752 "User.Modify"
42753 ],
42754 "groups_param",
42755 1
56122987
DM
42756 ]
42757 },
44660702
DM
42758 "protected" : 1,
42759 "returns" : {
42760 "type" : "null"
42761 }
56122987
DM
42762 }
42763 },
bb4c8cf8 42764 "leaf" : 0,
44660702 42765 "path" : "/access/users/{userid}",
7aacca6f 42766 "text" : "{userid}"
56122987 42767 }
7aacca6f 42768 ],
56122987 42769 "info" : {
7aacca6f 42770 "GET" : {
e9cd3bd4 42771 "allowtoken" : 1,
44660702
DM
42772 "description" : "User index.",
42773 "method" : "GET",
7aacca6f 42774 "name" : "index",
56122987 42775 "parameters" : {
44660702
DM
42776 "additionalProperties" : 0,
42777 "properties" : {
42778 "enabled" : {
42779 "description" : "Optional filter for enable property.",
42780 "optional" : 1,
013dc89f
DM
42781 "type" : "boolean",
42782 "typetext" : "<boolean>"
e9cd3bd4
TL
42783 },
42784 "full" : {
42785 "default" : 0,
42786 "description" : "Include group and token information.",
42787 "optional" : 1,
42788 "type" : "boolean",
42789 "typetext" : "<boolean>"
44660702
DM
42790 }
42791 }
42792 },
42793 "permissions" : {
42794 "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.",
42795 "user" : "all"
56122987 42796 },
7aacca6f 42797 "returns" : {
7aacca6f
DM
42798 "items" : {
42799 "properties" : {
e2d681b3
TL
42800 "comment" : {
42801 "optional" : 1,
42802 "type" : "string"
42803 },
42804 "email" : {
42805 "format" : "email-opt",
42806 "optional" : 1,
42807 "type" : "string"
42808 },
42809 "enable" : {
42810 "default" : 1,
42811 "description" : "Enable the account (default). You can set this to '0' to disable the account",
42812 "optional" : 1,
42813 "type" : "boolean"
42814 },
42815 "expire" : {
42816 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
42817 "minimum" : 0,
42818 "optional" : 1,
42819 "type" : "integer"
42820 },
42821 "firstname" : {
42822 "optional" : 1,
42823 "type" : "string"
42824 },
e9cd3bd4
TL
42825 "groups" : {
42826 "format" : "pve-groupid-list",
42827 "optional" : 1,
42828 "type" : "string"
42829 },
e2d681b3
TL
42830 "keys" : {
42831 "description" : "Keys for two factor auth (yubico).",
42832 "optional" : 1,
42833 "type" : "string"
42834 },
42835 "lastname" : {
42836 "optional" : 1,
42837 "type" : "string"
42838 },
e9cd3bd4
TL
42839 "tokens" : {
42840 "items" : {
42841 "properties" : {
42842 "comment" : {
42843 "optional" : 1,
42844 "type" : "string"
42845 },
42846 "expire" : {
42847 "default" : "same as user",
42848 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42849 "minimum" : 0,
42850 "optional" : 1,
42851 "type" : "integer"
42852 },
42853 "privsep" : {
42854 "default" : 1,
42855 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42856 "optional" : 1,
42857 "type" : "boolean"
42858 },
42859 "tokenid" : {
42860 "description" : "User-specific token identifier.",
42861 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42862 "type" : "string"
42863 }
42864 },
42865 "type" : "object"
42866 },
42867 "optional" : 1,
42868 "type" : "array"
42869 },
44660702 42870 "userid" : {
e2d681b3
TL
42871 "description" : "User ID",
42872 "format" : "pve-userid",
42873 "maxLength" : 64,
7aacca6f
DM
42874 "type" : "string"
42875 }
42876 },
42877 "type" : "object"
42878 },
44660702
DM
42879 "links" : [
42880 {
42881 "href" : "{userid}",
42882 "rel" : "child"
42883 }
42884 ],
7aacca6f
DM
42885 "type" : "array"
42886 }
42887 },
42888 "POST" : {
e9cd3bd4 42889 "allowtoken" : 1,
44660702 42890 "description" : "Create new user.",
7aacca6f 42891 "method" : "POST",
44660702 42892 "name" : "create_user",
56122987 42893 "parameters" : {
7aacca6f
DM
42894 "additionalProperties" : 0,
42895 "properties" : {
44660702
DM
42896 "comment" : {
42897 "optional" : 1,
013dc89f
DM
42898 "type" : "string",
42899 "typetext" : "<string>"
7aacca6f 42900 },
44660702
DM
42901 "email" : {
42902 "format" : "email-opt",
42903 "optional" : 1,
013dc89f
DM
42904 "type" : "string",
42905 "typetext" : "<string>"
44660702
DM
42906 },
42907 "enable" : {
42908 "default" : 1,
e2d681b3 42909 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 42910 "optional" : 1,
013dc89f
DM
42911 "type" : "boolean",
42912 "typetext" : "<boolean>"
44660702
DM
42913 },
42914 "expire" : {
42915 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
42916 "minimum" : 0,
42917 "optional" : 1,
4bd7df8b 42918 "type" : "integer",
013dc89f 42919 "typetext" : "<integer> (0 - N)"
44660702
DM
42920 },
42921 "firstname" : {
42922 "optional" : 1,
013dc89f
DM
42923 "type" : "string",
42924 "typetext" : "<string>"
44660702
DM
42925 },
42926 "groups" : {
42927 "format" : "pve-groupid-list",
42928 "optional" : 1,
013dc89f
DM
42929 "type" : "string",
42930 "typetext" : "<string>"
44660702
DM
42931 },
42932 "keys" : {
42933 "description" : "Keys for two factor auth (yubico).",
42934 "optional" : 1,
013dc89f
DM
42935 "type" : "string",
42936 "typetext" : "<string>"
44660702
DM
42937 },
42938 "lastname" : {
7aacca6f 42939 "optional" : 1,
013dc89f
DM
42940 "type" : "string",
42941 "typetext" : "<string>"
44660702
DM
42942 },
42943 "password" : {
42944 "description" : "Initial password.",
42945 "maxLength" : 64,
42946 "minLength" : 5,
42947 "optional" : 1,
013dc89f
DM
42948 "type" : "string",
42949 "typetext" : "<string>"
44660702
DM
42950 },
42951 "userid" : {
42952 "description" : "User ID",
42953 "format" : "pve-userid",
42954 "maxLength" : 64,
013dc89f
DM
42955 "type" : "string",
42956 "typetext" : "<string>"
56122987 42957 }
7aacca6f 42958 }
56122987 42959 },
44660702
DM
42960 "permissions" : {
42961 "check" : [
42962 "and",
42963 [
42964 "userid-param",
42965 "Realm.AllocateUser"
42966 ],
42967 [
42968 "userid-group",
42969 [
42970 "User.Modify"
42971 ],
42972 "groups_param",
42973 1
42974 ]
42975 ],
42976 "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."
42977 },
42978 "protected" : 1,
42979 "returns" : {
42980 "type" : "null"
42981 }
56122987
DM
42982 }
42983 },
44660702
DM
42984 "leaf" : 0,
42985 "path" : "/access/users",
42986 "text" : "users"
42987 },
42988 {
56122987
DM
42989 "children" : [
42990 {
56122987
DM
42991 "info" : {
42992 "DELETE" : {
e9cd3bd4 42993 "allowtoken" : 1,
44660702
DM
42994 "description" : "Delete group.",
42995 "method" : "DELETE",
42996 "name" : "delete_group",
42997 "parameters" : {
42998 "additionalProperties" : 0,
42999 "properties" : {
43000 "groupid" : {
43001 "format" : "pve-groupid",
013dc89f
DM
43002 "type" : "string",
43003 "typetext" : "<string>"
44660702
DM
43004 }
43005 }
43006 },
7aacca6f
DM
43007 "permissions" : {
43008 "check" : [
43009 "perm",
43010 "/access/groups",
43011 [
43012 "Group.Allocate"
43013 ]
43014 ]
43015 },
7aacca6f 43016 "protected" : 1,
7aacca6f
DM
43017 "returns" : {
43018 "type" : "null"
44660702 43019 }
7aacca6f 43020 },
44660702 43021 "GET" : {
e9cd3bd4 43022 "allowtoken" : 1,
44660702
DM
43023 "description" : "Get group configuration.",
43024 "method" : "GET",
43025 "name" : "read_group",
43026 "parameters" : {
43027 "additionalProperties" : 0,
43028 "properties" : {
43029 "groupid" : {
43030 "format" : "pve-groupid",
013dc89f
DM
43031 "type" : "string",
43032 "typetext" : "<string>"
44660702
DM
43033 }
43034 }
56122987 43035 },
7aacca6f
DM
43036 "permissions" : {
43037 "check" : [
43038 "perm",
43039 "/access/groups",
43040 [
44660702 43041 "Sys.Audit",
7aacca6f 43042 "Group.Allocate"
44660702
DM
43043 ],
43044 "any",
43045 1
7aacca6f
DM
43046 ]
43047 },
7aacca6f 43048 "returns" : {
44660702 43049 "additionalProperties" : 0,
7aacca6f
DM
43050 "properties" : {
43051 "comment" : {
44660702
DM
43052 "optional" : 1,
43053 "type" : "string"
7aacca6f
DM
43054 },
43055 "members" : {
43056 "items" : {
e2d681b3
TL
43057 "description" : "User ID",
43058 "format" : "pve-userid",
43059 "maxLength" : 64,
7aacca6f
DM
43060 "type" : "string"
43061 },
43062 "type" : "array"
43063 }
43064 },
44660702
DM
43065 "type" : "object"
43066 }
43067 },
43068 "PUT" : {
e9cd3bd4 43069 "allowtoken" : 1,
44660702
DM
43070 "description" : "Update group data.",
43071 "method" : "PUT",
43072 "name" : "update_group",
56122987 43073 "parameters" : {
44660702 43074 "additionalProperties" : 0,
56122987 43075 "properties" : {
44660702
DM
43076 "comment" : {
43077 "optional" : 1,
013dc89f
DM
43078 "type" : "string",
43079 "typetext" : "<string>"
44660702 43080 },
56122987
DM
43081 "groupid" : {
43082 "format" : "pve-groupid",
013dc89f
DM
43083 "type" : "string",
43084 "typetext" : "<string>"
56122987 43085 }
44660702 43086 }
56122987 43087 },
56122987
DM
43088 "permissions" : {
43089 "check" : [
43090 "perm",
43091 "/access/groups",
43092 [
43093 "Group.Allocate"
44660702 43094 ]
56122987
DM
43095 ]
43096 },
44660702
DM
43097 "protected" : 1,
43098 "returns" : {
43099 "type" : "null"
43100 }
7aacca6f
DM
43101 }
43102 },
7aacca6f 43103 "leaf" : 1,
44660702
DM
43104 "path" : "/access/groups/{groupid}",
43105 "text" : "{groupid}"
43106 }
43107 ],
43108 "info" : {
43109 "GET" : {
e9cd3bd4 43110 "allowtoken" : 1,
44660702
DM
43111 "description" : "Group index.",
43112 "method" : "GET",
43113 "name" : "index",
43114 "parameters" : {
43115 "additionalProperties" : 0
43116 },
43117 "permissions" : {
43118 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
43119 "user" : "all"
43120 },
43121 "returns" : {
43122 "items" : {
43123 "properties" : {
e2d681b3
TL
43124 "comment" : {
43125 "optional" : 1,
43126 "type" : "string"
43127 },
44660702 43128 "groupid" : {
e2d681b3 43129 "format" : "pve-groupid",
44660702 43130 "type" : "string"
e9cd3bd4
TL
43131 },
43132 "users" : {
43133 "description" : "list of users which form this group",
43134 "format" : "pve-userid-list",
43135 "optional" : 1,
43136 "type" : "string"
44660702
DM
43137 }
43138 },
43139 "type" : "object"
43140 },
43141 "links" : [
43142 {
43143 "href" : "{groupid}",
43144 "rel" : "child"
43145 }
43146 ],
43147 "type" : "array"
43148 }
43149 },
43150 "POST" : {
e9cd3bd4 43151 "allowtoken" : 1,
44660702
DM
43152 "description" : "Create new group.",
43153 "method" : "POST",
43154 "name" : "create_group",
43155 "parameters" : {
43156 "additionalProperties" : 0,
43157 "properties" : {
43158 "comment" : {
43159 "optional" : 1,
013dc89f
DM
43160 "type" : "string",
43161 "typetext" : "<string>"
44660702
DM
43162 },
43163 "groupid" : {
43164 "format" : "pve-groupid",
013dc89f
DM
43165 "type" : "string",
43166 "typetext" : "<string>"
44660702
DM
43167 }
43168 }
43169 },
43170 "permissions" : {
43171 "check" : [
43172 "perm",
43173 "/access/groups",
43174 [
43175 "Group.Allocate"
43176 ]
43177 ]
43178 },
43179 "protected" : 1,
43180 "returns" : {
43181 "type" : "null"
43182 }
7aacca6f 43183 }
44660702 43184 },
7aacca6f 43185 "leaf" : 0,
44660702
DM
43186 "path" : "/access/groups",
43187 "text" : "groups"
7aacca6f
DM
43188 },
43189 {
43190 "children" : [
43191 {
7aacca6f 43192 "info" : {
7aacca6f 43193 "DELETE" : {
e9cd3bd4 43194 "allowtoken" : 1,
7aacca6f 43195 "description" : "Delete role.",
44660702 43196 "method" : "DELETE",
7aacca6f 43197 "name" : "delete_role",
56122987
DM
43198 "parameters" : {
43199 "additionalProperties" : 0,
43200 "properties" : {
7aacca6f
DM
43201 "roleid" : {
43202 "format" : "pve-roleid",
013dc89f
DM
43203 "type" : "string",
43204 "typetext" : "<string>"
56122987
DM
43205 }
43206 }
43207 },
56122987
DM
43208 "permissions" : {
43209 "check" : [
43210 "perm",
7aacca6f 43211 "/access",
56122987 43212 [
7aacca6f
DM
43213 "Sys.Modify"
43214 ]
56122987 43215 ]
44660702
DM
43216 },
43217 "protected" : 1,
43218 "returns" : {
43219 "type" : "null"
56122987
DM
43220 }
43221 },
44660702 43222 "GET" : {
e9cd3bd4 43223 "allowtoken" : 1,
44660702
DM
43224 "description" : "Get role configuration.",
43225 "method" : "GET",
43226 "name" : "read_role",
43227 "parameters" : {
43228 "additionalProperties" : 0,
43229 "properties" : {
43230 "roleid" : {
43231 "format" : "pve-roleid",
013dc89f
DM
43232 "type" : "string",
43233 "typetext" : "<string>"
44660702
DM
43234 }
43235 }
43236 },
7aacca6f 43237 "permissions" : {
44660702 43238 "user" : "all"
56122987 43239 },
e2d681b3
TL
43240 "returns" : {
43241 "additionalProperties" : 0,
43242 "properties" : {
43243 "Datastore.Allocate" : {
43244 "optional" : 1,
43245 "type" : "boolean"
43246 },
43247 "Datastore.AllocateSpace" : {
43248 "optional" : 1,
43249 "type" : "boolean"
43250 },
43251 "Datastore.AllocateTemplate" : {
43252 "optional" : 1,
43253 "type" : "boolean"
43254 },
43255 "Datastore.Audit" : {
43256 "optional" : 1,
43257 "type" : "boolean"
43258 },
43259 "Group.Allocate" : {
43260 "optional" : 1,
43261 "type" : "boolean"
43262 },
43263 "Permissions.Modify" : {
43264 "optional" : 1,
43265 "type" : "boolean"
43266 },
43267 "Pool.Allocate" : {
43268 "optional" : 1,
43269 "type" : "boolean"
43270 },
0695fdaf
TL
43271 "Pool.Audit" : {
43272 "optional" : 1,
43273 "type" : "boolean"
43274 },
e2d681b3
TL
43275 "Realm.Allocate" : {
43276 "optional" : 1,
43277 "type" : "boolean"
43278 },
43279 "Realm.AllocateUser" : {
43280 "optional" : 1,
43281 "type" : "boolean"
43282 },
5c1699e5
TL
43283 "SDN.Allocate" : {
43284 "optional" : 1,
43285 "type" : "boolean"
43286 },
43287 "SDN.Audit" : {
43288 "optional" : 1,
43289 "type" : "boolean"
43290 },
e2d681b3
TL
43291 "Sys.Audit" : {
43292 "optional" : 1,
43293 "type" : "boolean"
43294 },
43295 "Sys.Console" : {
43296 "optional" : 1,
43297 "type" : "boolean"
43298 },
43299 "Sys.Modify" : {
43300 "optional" : 1,
43301 "type" : "boolean"
43302 },
43303 "Sys.PowerMgmt" : {
43304 "optional" : 1,
43305 "type" : "boolean"
43306 },
43307 "Sys.Syslog" : {
43308 "optional" : 1,
43309 "type" : "boolean"
43310 },
43311 "User.Modify" : {
43312 "optional" : 1,
43313 "type" : "boolean"
43314 },
43315 "VM.Allocate" : {
43316 "optional" : 1,
43317 "type" : "boolean"
43318 },
43319 "VM.Audit" : {
43320 "optional" : 1,
43321 "type" : "boolean"
43322 },
43323 "VM.Backup" : {
43324 "optional" : 1,
43325 "type" : "boolean"
43326 },
43327 "VM.Clone" : {
43328 "optional" : 1,
43329 "type" : "boolean"
43330 },
43331 "VM.Config.CDROM" : {
43332 "optional" : 1,
43333 "type" : "boolean"
43334 },
43335 "VM.Config.CPU" : {
43336 "optional" : 1,
43337 "type" : "boolean"
43338 },
ac70d7d1
TL
43339 "VM.Config.Cloudinit" : {
43340 "optional" : 1,
43341 "type" : "boolean"
43342 },
e2d681b3
TL
43343 "VM.Config.Disk" : {
43344 "optional" : 1,
43345 "type" : "boolean"
43346 },
43347 "VM.Config.HWType" : {
43348 "optional" : 1,
43349 "type" : "boolean"
43350 },
43351 "VM.Config.Memory" : {
43352 "optional" : 1,
43353 "type" : "boolean"
43354 },
43355 "VM.Config.Network" : {
43356 "optional" : 1,
43357 "type" : "boolean"
43358 },
43359 "VM.Config.Options" : {
43360 "optional" : 1,
43361 "type" : "boolean"
43362 },
43363 "VM.Console" : {
43364 "optional" : 1,
43365 "type" : "boolean"
43366 },
43367 "VM.Migrate" : {
43368 "optional" : 1,
43369 "type" : "boolean"
43370 },
43371 "VM.Monitor" : {
43372 "optional" : 1,
43373 "type" : "boolean"
43374 },
43375 "VM.PowerMgmt" : {
43376 "optional" : 1,
43377 "type" : "boolean"
43378 },
43379 "VM.Snapshot" : {
43380 "optional" : 1,
43381 "type" : "boolean"
43382 },
43383 "VM.Snapshot.Rollback" : {
43384 "optional" : 1,
43385 "type" : "boolean"
43386 }
43387 },
43388 "type" : "object"
43389 }
44660702
DM
43390 },
43391 "PUT" : {
e9cd3bd4 43392 "allowtoken" : 1,
e2d681b3 43393 "description" : "Update an existing role.",
44660702
DM
43394 "method" : "PUT",
43395 "name" : "update_role",
56122987
DM
43396 "parameters" : {
43397 "additionalProperties" : 0,
43398 "properties" : {
7aacca6f 43399 "append" : {
44660702 43400 "optional" : 1,
7aacca6f 43401 "requires" : "privs",
013dc89f
DM
43402 "type" : "boolean",
43403 "typetext" : "<boolean>"
7aacca6f
DM
43404 },
43405 "privs" : {
43406 "format" : "pve-priv-list",
e2d681b3 43407 "optional" : 1,
013dc89f
DM
43408 "type" : "string",
43409 "typetext" : "<string>"
44660702
DM
43410 },
43411 "roleid" : {
43412 "format" : "pve-roleid",
013dc89f
DM
43413 "type" : "string",
43414 "typetext" : "<string>"
56122987
DM
43415 }
43416 }
43417 },
44660702
DM
43418 "permissions" : {
43419 "check" : [
43420 "perm",
43421 "/access",
43422 [
43423 "Sys.Modify"
43424 ]
43425 ]
43426 },
56122987 43427 "protected" : 1,
7aacca6f
DM
43428 "returns" : {
43429 "type" : "null"
56122987
DM
43430 }
43431 }
43432 },
44660702 43433 "leaf" : 1,
7aacca6f 43434 "path" : "/access/roles/{roleid}",
44660702 43435 "text" : "{roleid}"
56122987
DM
43436 }
43437 ],
56122987 43438 "info" : {
7aacca6f 43439 "GET" : {
e9cd3bd4 43440 "allowtoken" : 1,
7aacca6f 43441 "description" : "Role index.",
44660702 43442 "method" : "GET",
7aacca6f 43443 "name" : "index",
56122987 43444 "parameters" : {
56122987
DM
43445 "additionalProperties" : 0
43446 },
7aacca6f
DM
43447 "permissions" : {
43448 "user" : "all"
43449 },
56122987 43450 "returns" : {
7aacca6f 43451 "items" : {
7aacca6f 43452 "properties" : {
e2d681b3
TL
43453 "privs" : {
43454 "format" : "pve-priv-list",
43455 "optional" : 1,
43456 "type" : "string"
43457 },
7aacca6f 43458 "roleid" : {
e2d681b3 43459 "format" : "pve-roleid",
7aacca6f 43460 "type" : "string"
e2d681b3
TL
43461 },
43462 "special" : {
43463 "default" : 0,
43464 "optional" : 1,
43465 "type" : "boolean"
7aacca6f 43466 }
44660702
DM
43467 },
43468 "type" : "object"
43469 },
43470 "links" : [
43471 {
43472 "href" : "{roleid}",
43473 "rel" : "child"
7aacca6f 43474 }
44660702
DM
43475 ],
43476 "type" : "array"
43477 }
7aacca6f
DM
43478 },
43479 "POST" : {
e9cd3bd4 43480 "allowtoken" : 1,
7aacca6f 43481 "description" : "Create new role.",
44660702
DM
43482 "method" : "POST",
43483 "name" : "create_role",
7aacca6f
DM
43484 "parameters" : {
43485 "additionalProperties" : 0,
43486 "properties" : {
7aacca6f
DM
43487 "privs" : {
43488 "format" : "pve-priv-list",
43489 "optional" : 1,
013dc89f
DM
43490 "type" : "string",
43491 "typetext" : "<string>"
44660702
DM
43492 },
43493 "roleid" : {
43494 "format" : "pve-roleid",
013dc89f
DM
43495 "type" : "string",
43496 "typetext" : "<string>"
7aacca6f
DM
43497 }
43498 }
43499 },
44660702
DM
43500 "permissions" : {
43501 "check" : [
43502 "perm",
43503 "/access",
43504 [
43505 "Sys.Modify"
43506 ]
43507 ]
43508 },
43509 "protected" : 1,
7aacca6f
DM
43510 "returns" : {
43511 "type" : "null"
43512 }
43513 }
43514 },
44660702 43515 "leaf" : 0,
7aacca6f 43516 "path" : "/access/roles",
44660702 43517 "text" : "roles"
7aacca6f
DM
43518 },
43519 {
43520 "info" : {
56122987 43521 "GET" : {
e9cd3bd4 43522 "allowtoken" : 1,
44660702
DM
43523 "description" : "Get Access Control List (ACLs).",
43524 "method" : "GET",
43525 "name" : "read_acl",
7aacca6f
DM
43526 "parameters" : {
43527 "additionalProperties" : 0
43528 },
44660702
DM
43529 "permissions" : {
43530 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
43531 "user" : "all"
43532 },
56122987 43533 "returns" : {
56122987 43534 "items" : {
44660702 43535 "additionalProperties" : 0,
56122987 43536 "properties" : {
7aacca6f 43537 "path" : {
e2d681b3 43538 "description" : "Access control path",
7aacca6f
DM
43539 "type" : "string"
43540 },
44660702 43541 "propagate" : {
e2d681b3
TL
43542 "default" : 1,
43543 "description" : "Allow to propagate (inherit) permissions.",
43544 "optional" : 1,
44660702
DM
43545 "type" : "boolean"
43546 },
43547 "roleid" : {
43548 "type" : "string"
43549 },
7aacca6f
DM
43550 "type" : {
43551 "enum" : [
43552 "user",
e9cd3bd4
TL
43553 "group",
43554 "token"
7aacca6f
DM
43555 ],
43556 "type" : "string"
43557 },
7aacca6f
DM
43558 "ugid" : {
43559 "type" : "string"
56122987 43560 }
7aacca6f 43561 },
44660702 43562 "type" : "object"
7aacca6f
DM
43563 },
43564 "type" : "array"
44660702 43565 }
7aacca6f
DM
43566 },
43567 "PUT" : {
e9cd3bd4 43568 "allowtoken" : 1,
44660702
DM
43569 "description" : "Update Access Control List (add or remove permissions).",
43570 "method" : "PUT",
7aacca6f
DM
43571 "name" : "update_acl",
43572 "parameters" : {
43573 "additionalProperties" : 0,
43574 "properties" : {
43575 "delete" : {
44660702 43576 "description" : "Remove permissions (instead of adding it).",
7aacca6f 43577 "optional" : 1,
013dc89f
DM
43578 "type" : "boolean",
43579 "typetext" : "<boolean>"
7aacca6f 43580 },
44660702
DM
43581 "groups" : {
43582 "description" : "List of groups.",
43583 "format" : "pve-groupid-list",
7aacca6f 43584 "optional" : 1,
013dc89f
DM
43585 "type" : "string",
43586 "typetext" : "<string>"
7aacca6f
DM
43587 },
43588 "path" : {
43589 "description" : "Access control path",
013dc89f
DM
43590 "type" : "string",
43591 "typetext" : "<string>"
7aacca6f 43592 },
7aacca6f 43593 "propagate" : {
44660702 43594 "default" : 1,
7aacca6f 43595 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 43596 "optional" : 1,
013dc89f
DM
43597 "type" : "boolean",
43598 "typetext" : "<boolean>"
7aacca6f 43599 },
44660702
DM
43600 "roles" : {
43601 "description" : "List of roles.",
43602 "format" : "pve-roleid-list",
013dc89f
DM
43603 "type" : "string",
43604 "typetext" : "<string>"
44660702 43605 },
e9cd3bd4
TL
43606 "tokens" : {
43607 "description" : "List of API tokens.",
43608 "format" : "pve-tokenid-list",
43609 "optional" : 1,
43610 "type" : "string",
43611 "typetext" : "<string>"
43612 },
44660702
DM
43613 "users" : {
43614 "description" : "List of users.",
43615 "format" : "pve-userid-list",
7aacca6f 43616 "optional" : 1,
013dc89f
DM
43617 "type" : "string",
43618 "typetext" : "<string>"
56122987
DM
43619 }
43620 }
43621 },
56122987 43622 "permissions" : {
7aacca6f
DM
43623 "check" : [
43624 "perm-modify",
43625 "{path}"
43626 ]
43627 },
7aacca6f
DM
43628 "protected" : 1,
43629 "returns" : {
43630 "type" : "null"
44660702 43631 }
56122987
DM
43632 }
43633 },
7aacca6f 43634 "leaf" : 1,
44660702
DM
43635 "path" : "/access/acl",
43636 "text" : "acl"
7aacca6f
DM
43637 },
43638 {
56122987
DM
43639 "children" : [
43640 {
c5aa7e14
TL
43641 "children" : [
43642 {
43643 "info" : {
43644 "POST" : {
43645 "allowtoken" : 1,
43646 "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.",
43647 "method" : "POST",
43648 "name" : "sync",
43649 "parameters" : {
43650 "additionalProperties" : 0,
43651 "properties" : {
43652 "dry-run" : {
43653 "default" : 0,
43654 "description" : "If set, does not write anything.",
43655 "optional" : 1,
43656 "type" : "boolean",
43657 "typetext" : "<boolean>"
43658 },
43659 "enable-new" : {
43660 "default" : "1",
43661 "description" : "Enable newly synced users immediately.",
43662 "optional" : "1",
43663 "type" : "boolean",
43664 "typetext" : "<boolean>"
43665 },
43666 "full" : {
43667 "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.",
43668 "optional" : "1",
43669 "type" : "boolean",
43670 "typetext" : "<boolean>"
43671 },
43672 "purge" : {
43673 "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
43674 "optional" : "1",
43675 "type" : "boolean",
43676 "typetext" : "<boolean>"
43677 },
43678 "realm" : {
43679 "description" : "Authentication domain ID",
43680 "format" : "pve-realm",
43681 "maxLength" : 32,
43682 "type" : "string",
43683 "typetext" : "<string>"
43684 },
43685 "scope" : {
43686 "description" : "Select what to sync.",
43687 "enum" : [
43688 "users",
43689 "groups",
43690 "both"
43691 ],
43692 "optional" : "1",
43693 "type" : "string"
43694 }
43695 }
43696 },
43697 "permissions" : {
43698 "check" : [
43699 "and",
43700 [
43701 "userid-param",
43702 "Realm.AllocateUser"
43703 ],
43704 [
43705 "userid-group",
43706 [
43707 "User.Modify"
43708 ]
43709 ]
43710 ],
43711 "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'."
43712 },
43713 "protected" : 1,
43714 "returns" : {
43715 "description" : "Worker Task-UPID",
43716 "type" : "string"
43717 }
43718 }
43719 },
43720 "leaf" : 1,
43721 "path" : "/access/domains/{realm}/sync",
43722 "text" : "sync"
43723 }
43724 ],
56122987 43725 "info" : {
44660702 43726 "DELETE" : {
e9cd3bd4 43727 "allowtoken" : 1,
44660702
DM
43728 "description" : "Delete an authentication server.",
43729 "method" : "DELETE",
43730 "name" : "delete",
43731 "parameters" : {
43732 "additionalProperties" : 0,
43733 "properties" : {
43734 "realm" : {
43735 "description" : "Authentication domain ID",
43736 "format" : "pve-realm",
43737 "maxLength" : 32,
013dc89f
DM
43738 "type" : "string",
43739 "typetext" : "<string>"
56122987 43740 }
44660702 43741 }
56122987 43742 },
56122987
DM
43743 "permissions" : {
43744 "check" : [
43745 "perm",
7aacca6f 43746 "/access/realm",
56122987 43747 [
7aacca6f 43748 "Realm.Allocate"
56122987
DM
43749 ]
43750 ]
43751 },
7aacca6f 43752 "protected" : 1,
7aacca6f
DM
43753 "returns" : {
43754 "type" : "null"
44660702 43755 }
7aacca6f 43756 },
44660702 43757 "GET" : {
e9cd3bd4 43758 "allowtoken" : 1,
44660702
DM
43759 "description" : "Get auth server configuration.",
43760 "method" : "GET",
43761 "name" : "read",
56122987 43762 "parameters" : {
44660702 43763 "additionalProperties" : 0,
56122987 43764 "properties" : {
7aacca6f 43765 "realm" : {
44660702 43766 "description" : "Authentication domain ID",
7aacca6f
DM
43767 "format" : "pve-realm",
43768 "maxLength" : 32,
013dc89f
DM
43769 "type" : "string",
43770 "typetext" : "<string>"
56122987 43771 }
44660702 43772 }
7aacca6f 43773 },
7aacca6f
DM
43774 "permissions" : {
43775 "check" : [
43776 "perm",
43777 "/access/realm",
43778 [
44660702
DM
43779 "Realm.Allocate",
43780 "Sys.Audit"
43781 ],
43782 "any",
43783 1
7aacca6f 43784 ]
44660702
DM
43785 },
43786 "returns" : {}
7aacca6f 43787 },
44660702 43788 "PUT" : {
e9cd3bd4 43789 "allowtoken" : 1,
44660702
DM
43790 "description" : "Update authentication server settings.",
43791 "method" : "PUT",
43792 "name" : "update",
7aacca6f 43793 "parameters" : {
44660702 43794 "additionalProperties" : 0,
7aacca6f 43795 "properties" : {
44660702
DM
43796 "base_dn" : {
43797 "description" : "LDAP base domain name",
43798 "maxLength" : 256,
43799 "optional" : 1,
43800 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
43801 "type" : "string"
43802 },
4bd7df8b
DM
43803 "bind_dn" : {
43804 "description" : "LDAP bind domain name",
43805 "maxLength" : 256,
43806 "optional" : 1,
43807 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
43808 "type" : "string"
43809 },
2489d6df
WB
43810 "capath" : {
43811 "default" : "/etc/ssl/certs",
43812 "description" : "Path to the CA certificate store",
43813 "optional" : 1,
43814 "type" : "string",
43815 "typetext" : "<string>"
43816 },
4772952b
TL
43817 "case-sensitive" : {
43818 "default" : 1,
43819 "description" : "username is case-sensitive",
43820 "optional" : 1,
43821 "type" : "boolean",
43822 "typetext" : "<boolean>"
43823 },
2489d6df
WB
43824 "cert" : {
43825 "description" : "Path to the client certificate",
43826 "optional" : 1,
43827 "type" : "string",
43828 "typetext" : "<string>"
43829 },
43830 "certkey" : {
43831 "description" : "Path to the client certificate key",
43832 "optional" : 1,
43833 "type" : "string",
43834 "typetext" : "<string>"
43835 },
44660702
DM
43836 "comment" : {
43837 "description" : "Description.",
43838 "maxLength" : 4096,
43839 "optional" : 1,
013dc89f
DM
43840 "type" : "string",
43841 "typetext" : "<string>"
44660702
DM
43842 },
43843 "default" : {
43844 "description" : "Use this as default realm",
43845 "optional" : 1,
013dc89f
DM
43846 "type" : "boolean",
43847 "typetext" : "<boolean>"
44660702
DM
43848 },
43849 "delete" : {
43850 "description" : "A list of settings you want to delete.",
43851 "format" : "pve-configid-list",
43852 "maxLength" : 4096,
43853 "optional" : 1,
013dc89f
DM
43854 "type" : "string",
43855 "typetext" : "<string>"
44660702
DM
43856 },
43857 "digest" : {
43858 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
43859 "maxLength" : 40,
43860 "optional" : 1,
013dc89f
DM
43861 "type" : "string",
43862 "typetext" : "<string>"
44660702
DM
43863 },
43864 "domain" : {
43865 "description" : "AD domain name",
43866 "maxLength" : 256,
43867 "optional" : 1,
43868 "pattern" : "\\S+",
43869 "type" : "string"
43870 },
c5aa7e14
TL
43871 "filter" : {
43872 "description" : "LDAP filter for user sync.",
43873 "maxLength" : 2048,
43874 "optional" : 1,
43875 "type" : "string",
43876 "typetext" : "<string>"
43877 },
43878 "group_classes" : {
43879 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
43880 "description" : "The objectclasses for groups.",
43881 "format" : "ldap-simple-attr-list",
43882 "optional" : 1,
43883 "type" : "string",
43884 "typetext" : "<string>"
43885 },
43886 "group_dn" : {
43887 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
43888 "maxLength" : 256,
43889 "optional" : 1,
43890 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
43891 "type" : "string"
43892 },
43893 "group_filter" : {
43894 "description" : "LDAP filter for group sync.",
43895 "maxLength" : 2048,
43896 "optional" : 1,
43897 "type" : "string",
43898 "typetext" : "<string>"
43899 },
43900 "group_name_attr" : {
43901 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
43902 "format" : "ldap-simple-attr",
43903 "maxLength" : 256,
43904 "optional" : 1,
43905 "type" : "string",
43906 "typetext" : "<string>"
43907 },
43908 "mode" : {
43909 "default" : "ldap",
43910 "description" : "LDAP protocol mode.",
43911 "enum" : [
43912 "ldap",
43913 "ldaps",
43914 "ldap+starttls"
43915 ],
43916 "optional" : 1,
43917 "type" : "string"
43918 },
43919 "password" : {
43920 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
43921 "optional" : 1,
43922 "type" : "string",
43923 "typetext" : "<string>"
43924 },
44660702
DM
43925 "port" : {
43926 "description" : "Server port.",
43927 "maximum" : 65535,
43928 "minimum" : 1,
43929 "optional" : 1,
4bd7df8b 43930 "type" : "integer",
013dc89f 43931 "typetext" : "<integer> (1 - 65535)"
44660702 43932 },
7aacca6f 43933 "realm" : {
7aacca6f
DM
43934 "description" : "Authentication domain ID",
43935 "format" : "pve-realm",
44660702 43936 "maxLength" : 32,
013dc89f
DM
43937 "type" : "string",
43938 "typetext" : "<string>"
44660702
DM
43939 },
43940 "secure" : {
c5aa7e14 43941 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
44660702 43942 "optional" : 1,
013dc89f
DM
43943 "type" : "boolean",
43944 "typetext" : "<boolean>"
44660702
DM
43945 },
43946 "server1" : {
43947 "description" : "Server IP address (or DNS name)",
43948 "format" : "address",
43949 "maxLength" : 256,
43950 "optional" : 1,
013dc89f
DM
43951 "type" : "string",
43952 "typetext" : "<string>"
44660702
DM
43953 },
43954 "server2" : {
43955 "description" : "Fallback Server IP address (or DNS name)",
43956 "format" : "address",
43957 "maxLength" : 256,
43958 "optional" : 1,
013dc89f
DM
43959 "type" : "string",
43960 "typetext" : "<string>"
44660702 43961 },
1c532546
TL
43962 "sslversion" : {
43963 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
43964 "enum" : [
43965 "tlsv1",
43966 "tlsv1_1",
43967 "tlsv1_2",
43968 "tlsv1_3"
43969 ],
43970 "optional" : 1,
43971 "type" : "string"
43972 },
c5aa7e14
TL
43973 "sync-defaults-options" : {
43974 "description" : "The default options for behavior of synchronizations.",
43975 "format" : "realm-sync-options",
43976 "optional" : 1,
43977 "type" : "string",
43978 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
43979 },
43980 "sync_attributes" : {
43981 "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.",
43982 "optional" : 1,
43983 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
43984 "type" : "string"
43985 },
44660702
DM
43986 "tfa" : {
43987 "description" : "Use Two-factor authentication.",
43988 "format" : "pve-tfa-config",
43989 "maxLength" : 128,
43990 "optional" : 1,
013dc89f 43991 "type" : "string",
95895385 43992 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
43993 },
43994 "user_attr" : {
43995 "description" : "LDAP user attribute name",
43996 "maxLength" : 256,
43997 "optional" : 1,
43998 "pattern" : "\\S{2,}",
43999 "type" : "string"
2489d6df 44000 },
c5aa7e14
TL
44001 "user_classes" : {
44002 "default" : "inetorgperson, posixaccount, person, user",
44003 "description" : "The objectclasses for users.",
44004 "format" : "ldap-simple-attr-list",
44005 "optional" : 1,
44006 "type" : "string",
44007 "typetext" : "<string>"
44008 },
2489d6df
WB
44009 "verify" : {
44010 "default" : 0,
44011 "description" : "Verify the server's SSL certificate",
44012 "optional" : 1,
44013 "type" : "boolean",
44014 "typetext" : "<boolean>"
7aacca6f 44015 }
56122987 44016 },
44660702 44017 "type" : "object"
56122987 44018 },
7aacca6f
DM
44019 "permissions" : {
44020 "check" : [
44021 "perm",
44022 "/access/realm",
44023 [
44660702
DM
44024 "Realm.Allocate"
44025 ]
7aacca6f
DM
44026 ]
44027 },
44660702
DM
44028 "protected" : 1,
44029 "returns" : {
44030 "type" : "null"
44031 }
56122987 44032 }
44660702 44033 },
c5aa7e14 44034 "leaf" : 0,
44660702
DM
44035 "path" : "/access/domains/{realm}",
44036 "text" : "{realm}"
56122987 44037 }
7aacca6f 44038 ],
56122987
DM
44039 "info" : {
44040 "GET" : {
e9cd3bd4 44041 "allowtoken" : 1,
44660702
DM
44042 "description" : "Authentication domain index.",
44043 "method" : "GET",
44044 "name" : "index",
44045 "parameters" : {
44046 "additionalProperties" : 0
44047 },
44048 "permissions" : {
44049 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
44050 "user" : "world"
44051 },
56122987 44052 "returns" : {
56122987
DM
44053 "items" : {
44054 "properties" : {
7aacca6f 44055 "comment" : {
52e44c50 44056 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
44057 "optional" : 1,
44058 "type" : "string"
44059 },
56122987
DM
44060 "realm" : {
44061 "type" : "string"
44062 },
44063 "tfa" : {
7aacca6f 44064 "description" : "Two-factor authentication provider.",
56122987
DM
44065 "enum" : [
44066 "yubico",
44067 "oath"
44068 ],
44660702
DM
44069 "optional" : 1,
44070 "type" : "string"
c5aa7e14
TL
44071 },
44072 "type" : {
44073 "type" : "string"
56122987
DM
44074 }
44075 },
44076 "type" : "object"
44660702
DM
44077 },
44078 "links" : [
44079 {
44080 "href" : "{realm}",
44081 "rel" : "child"
44082 }
44083 ],
44084 "type" : "array"
44085 }
56122987
DM
44086 },
44087 "POST" : {
e9cd3bd4 44088 "allowtoken" : 1,
7aacca6f 44089 "description" : "Add an authentication server.",
44660702 44090 "method" : "POST",
7aacca6f 44091 "name" : "create",
56122987 44092 "parameters" : {
44660702 44093 "additionalProperties" : 0,
56122987 44094 "properties" : {
44660702
DM
44095 "base_dn" : {
44096 "description" : "LDAP base domain name",
56122987 44097 "maxLength" : 256,
44660702
DM
44098 "optional" : 1,
44099 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 44100 "type" : "string"
56122987 44101 },
4bd7df8b
DM
44102 "bind_dn" : {
44103 "description" : "LDAP bind domain name",
44104 "maxLength" : 256,
44105 "optional" : 1,
44106 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44107 "type" : "string"
44108 },
2489d6df
WB
44109 "capath" : {
44110 "default" : "/etc/ssl/certs",
44111 "description" : "Path to the CA certificate store",
44112 "optional" : 1,
44113 "type" : "string",
44114 "typetext" : "<string>"
44115 },
4772952b
TL
44116 "case-sensitive" : {
44117 "default" : 1,
44118 "description" : "username is case-sensitive",
44119 "optional" : 1,
44120 "type" : "boolean",
44121 "typetext" : "<boolean>"
44122 },
2489d6df
WB
44123 "cert" : {
44124 "description" : "Path to the client certificate",
44125 "optional" : 1,
44126 "type" : "string",
44127 "typetext" : "<string>"
44128 },
44129 "certkey" : {
44130 "description" : "Path to the client certificate key",
44131 "optional" : 1,
44132 "type" : "string",
44133 "typetext" : "<string>"
44134 },
44660702
DM
44135 "comment" : {
44136 "description" : "Description.",
44137 "maxLength" : 4096,
56122987 44138 "optional" : 1,
013dc89f
DM
44139 "type" : "string",
44140 "typetext" : "<string>"
56122987 44141 },
44660702
DM
44142 "default" : {
44143 "description" : "Use this as default realm",
7aacca6f 44144 "optional" : 1,
013dc89f
DM
44145 "type" : "boolean",
44146 "typetext" : "<boolean>"
56122987 44147 },
44660702
DM
44148 "domain" : {
44149 "description" : "AD domain name",
44150 "maxLength" : 256,
7aacca6f 44151 "optional" : 1,
44660702
DM
44152 "pattern" : "\\S+",
44153 "type" : "string"
56122987 44154 },
c5aa7e14
TL
44155 "filter" : {
44156 "description" : "LDAP filter for user sync.",
44157 "maxLength" : 2048,
44158 "optional" : 1,
44159 "type" : "string",
44160 "typetext" : "<string>"
44161 },
44162 "group_classes" : {
44163 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
44164 "description" : "The objectclasses for groups.",
44165 "format" : "ldap-simple-attr-list",
44166 "optional" : 1,
44167 "type" : "string",
44168 "typetext" : "<string>"
44169 },
44170 "group_dn" : {
44171 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
44172 "maxLength" : 256,
44173 "optional" : 1,
44174 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44175 "type" : "string"
44176 },
44177 "group_filter" : {
44178 "description" : "LDAP filter for group sync.",
44179 "maxLength" : 2048,
44180 "optional" : 1,
44181 "type" : "string",
44182 "typetext" : "<string>"
44183 },
44184 "group_name_attr" : {
44185 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
44186 "format" : "ldap-simple-attr",
44187 "maxLength" : 256,
44188 "optional" : 1,
44189 "type" : "string",
44190 "typetext" : "<string>"
44191 },
44192 "mode" : {
44193 "default" : "ldap",
44194 "description" : "LDAP protocol mode.",
44195 "enum" : [
44196 "ldap",
44197 "ldaps",
44198 "ldap+starttls"
44199 ],
44200 "optional" : 1,
44201 "type" : "string"
44202 },
44203 "password" : {
44204 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
44205 "optional" : 1,
44206 "type" : "string",
44207 "typetext" : "<string>"
44208 },
7aacca6f 44209 "port" : {
44660702 44210 "description" : "Server port.",
7aacca6f 44211 "maximum" : 65535,
44660702 44212 "minimum" : 1,
7aacca6f 44213 "optional" : 1,
4bd7df8b 44214 "type" : "integer",
013dc89f 44215 "typetext" : "<integer> (1 - 65535)"
56122987 44216 },
44660702
DM
44217 "realm" : {
44218 "description" : "Authentication domain ID",
44219 "format" : "pve-realm",
44220 "maxLength" : 32,
013dc89f
DM
44221 "type" : "string",
44222 "typetext" : "<string>"
44660702
DM
44223 },
44224 "secure" : {
c5aa7e14 44225 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
7aacca6f 44226 "optional" : 1,
013dc89f
DM
44227 "type" : "boolean",
44228 "typetext" : "<boolean>"
56122987 44229 },
44660702
DM
44230 "server1" : {
44231 "description" : "Server IP address (or DNS name)",
44232 "format" : "address",
44233 "maxLength" : 256,
44234 "optional" : 1,
013dc89f
DM
44235 "type" : "string",
44236 "typetext" : "<string>"
56122987 44237 },
44660702
DM
44238 "server2" : {
44239 "description" : "Fallback Server IP address (or DNS name)",
44240 "format" : "address",
7aacca6f 44241 "maxLength" : 256,
7aacca6f 44242 "optional" : 1,
013dc89f
DM
44243 "type" : "string",
44244 "typetext" : "<string>"
7aacca6f 44245 },
1c532546
TL
44246 "sslversion" : {
44247 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
44248 "enum" : [
44249 "tlsv1",
44250 "tlsv1_1",
44251 "tlsv1_2",
44252 "tlsv1_3"
44253 ],
44254 "optional" : 1,
44255 "type" : "string"
44256 },
c5aa7e14
TL
44257 "sync-defaults-options" : {
44258 "description" : "The default options for behavior of synchronizations.",
44259 "format" : "realm-sync-options",
44260 "optional" : 1,
44261 "type" : "string",
44262 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
44263 },
44264 "sync_attributes" : {
44265 "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.",
44266 "optional" : 1,
44267 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44268 "type" : "string"
44269 },
44660702
DM
44270 "tfa" : {
44271 "description" : "Use Two-factor authentication.",
44272 "format" : "pve-tfa-config",
44273 "maxLength" : 128,
44274 "optional" : 1,
013dc89f 44275 "type" : "string",
95895385 44276 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
44277 },
44278 "type" : {
44279 "description" : "Realm type.",
44280 "enum" : [
44281 "ad",
44282 "ldap",
44283 "pam",
44284 "pve"
44285 ],
44286 "type" : "string"
44287 },
44288 "user_attr" : {
44289 "description" : "LDAP user attribute name",
7aacca6f 44290 "maxLength" : 256,
7aacca6f 44291 "optional" : 1,
44660702
DM
44292 "pattern" : "\\S{2,}",
44293 "type" : "string"
2489d6df 44294 },
c5aa7e14
TL
44295 "user_classes" : {
44296 "default" : "inetorgperson, posixaccount, person, user",
44297 "description" : "The objectclasses for users.",
44298 "format" : "ldap-simple-attr-list",
44299 "optional" : 1,
44300 "type" : "string",
44301 "typetext" : "<string>"
44302 },
2489d6df
WB
44303 "verify" : {
44304 "default" : 0,
44305 "description" : "Verify the server's SSL certificate",
44306 "optional" : 1,
44307 "type" : "boolean",
44308 "typetext" : "<boolean>"
7aacca6f
DM
44309 }
44310 },
7aacca6f 44311 "type" : "object"
56122987 44312 },
7aacca6f
DM
44313 "permissions" : {
44314 "check" : [
44315 "perm",
44316 "/access/realm",
44317 [
44318 "Realm.Allocate"
44319 ]
44320 ]
44660702
DM
44321 },
44322 "protected" : 1,
44323 "returns" : {
44324 "type" : "null"
7aacca6f 44325 }
56122987 44326 }
7aacca6f 44327 },
44660702 44328 "leaf" : 0,
56122987 44329 "path" : "/access/domains",
44660702 44330 "text" : "domains"
56122987
DM
44331 },
44332 {
56122987 44333 "info" : {
44660702 44334 "GET" : {
e9cd3bd4 44335 "allowtoken" : 1,
2489d6df 44336 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
44337 "method" : "GET",
44338 "name" : "get_ticket",
44339 "parameters" : {
44340 "additionalProperties" : 0
44341 },
44342 "permissions" : {
44343 "user" : "world"
44344 },
44345 "returns" : {
44346 "type" : "null"
44347 }
44348 },
56122987 44349 "POST" : {
e9cd3bd4 44350 "allowtoken" : 0,
44660702 44351 "description" : "Create or verify authentication ticket.",
56122987 44352 "method" : "POST",
44660702
DM
44353 "name" : "create_ticket",
44354 "parameters" : {
44355 "additionalProperties" : 0,
56122987 44356 "properties" : {
44660702
DM
44357 "otp" : {
44358 "description" : "One-time password for Two-factor authentication.",
7aacca6f 44359 "optional" : 1,
013dc89f
DM
44360 "type" : "string",
44361 "typetext" : "<string>"
56122987 44362 },
7aacca6f
DM
44363 "password" : {
44364 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
44365 "type" : "string",
44366 "typetext" : "<string>"
7aacca6f 44367 },
44660702
DM
44368 "path" : {
44369 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 44370 "maxLength" : 64,
56122987 44371 "optional" : 1,
56122987 44372 "requires" : "privs",
013dc89f
DM
44373 "type" : "string",
44374 "typetext" : "<string>"
44660702
DM
44375 },
44376 "privs" : {
7aacca6f 44377 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
44378 "format" : "pve-priv-list",
44379 "maxLength" : 64,
56122987 44380 "optional" : 1,
44660702 44381 "requires" : "path",
013dc89f
DM
44382 "type" : "string",
44383 "typetext" : "<string>"
56122987
DM
44384 },
44385 "realm" : {
56122987 44386 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 44387 "format" : "pve-realm",
7aacca6f 44388 "maxLength" : 32,
44660702 44389 "optional" : 1,
013dc89f
DM
44390 "type" : "string",
44391 "typetext" : "<string>"
56122987
DM
44392 },
44393 "username" : {
44394 "description" : "User name",
44660702 44395 "maxLength" : 64,
013dc89f
DM
44396 "type" : "string",
44397 "typetext" : "<string>"
56122987 44398 }
44660702 44399 }
7aacca6f 44400 },
56122987 44401 "permissions" : {
44660702 44402 "description" : "You need to pass valid credientials.",
56122987
DM
44403 "user" : "world"
44404 },
44660702 44405 "protected" : 1,
7aacca6f 44406 "returns" : {
56122987 44407 "properties" : {
44660702
DM
44408 "CSRFPreventionToken" : {
44409 "optional" : 1,
44410 "type" : "string"
56122987 44411 },
e2d681b3
TL
44412 "clustername" : {
44413 "optional" : 1,
44414 "type" : "string"
44415 },
44660702
DM
44416 "ticket" : {
44417 "optional" : 1,
44418 "type" : "string"
44419 },
44420 "username" : {
56122987
DM
44421 "type" : "string"
44422 }
44423 },
44660702 44424 "type" : "object"
7aacca6f 44425 }
7aacca6f
DM
44426 }
44427 },
44660702
DM
44428 "leaf" : 1,
44429 "path" : "/access/ticket",
44430 "text" : "ticket"
7aacca6f 44431 },
56122987 44432 {
56122987 44433 "info" : {
7aacca6f 44434 "PUT" : {
e9cd3bd4 44435 "allowtoken" : 0,
44660702 44436 "description" : "Change user password.",
7aacca6f 44437 "method" : "PUT",
e2d681b3 44438 "name" : "change_password",
56122987
DM
44439 "parameters" : {
44440 "additionalProperties" : 0,
44441 "properties" : {
44660702
DM
44442 "password" : {
44443 "description" : "The new password.",
44444 "maxLength" : 64,
44445 "minLength" : 5,
013dc89f
DM
44446 "type" : "string",
44447 "typetext" : "<string>"
7aacca6f 44448 },
44660702
DM
44449 "userid" : {
44450 "description" : "User ID",
44451 "format" : "pve-userid",
44452 "maxLength" : 64,
013dc89f
DM
44453 "type" : "string",
44454 "typetext" : "<string>"
56122987 44455 }
7aacca6f 44456 }
56122987
DM
44457 },
44458 "permissions" : {
44459 "check" : [
44660702 44460 "or",
56122987 44461 [
44660702
DM
44462 "userid-param",
44463 "self"
44464 ],
44465 [
44466 "and",
44467 [
44468 "userid-param",
44469 "Realm.AllocateUser"
44470 ],
44471 [
44472 "userid-group",
44473 [
44474 "User.Modify"
44475 ]
44476 ]
56122987 44477 ]
7aacca6f 44478 ],
44660702 44479 "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 44480 },
44660702 44481 "protected" : 1,
7aacca6f
DM
44482 "returns" : {
44483 "type" : "null"
44660702
DM
44484 }
44485 }
44486 },
44487 "leaf" : 1,
44488 "path" : "/access/password",
44489 "text" : "password"
95895385
TL
44490 },
44491 {
44492 "info" : {
44493 "POST" : {
e9cd3bd4 44494 "allowtoken" : 0,
95895385
TL
44495 "description" : "Finish a u2f challenge.",
44496 "method" : "POST",
44497 "name" : "verify_tfa",
44498 "parameters" : {
44499 "additionalProperties" : 0,
44500 "properties" : {
44501 "response" : {
44502 "description" : "The response to the current authentication challenge.",
44503 "type" : "string",
44504 "typetext" : "<string>"
44505 }
44506 }
44507 },
44508 "permissions" : {
44509 "user" : "all"
44510 },
44511 "protected" : 1,
44512 "returns" : {
44513 "properties" : {
44514 "ticket" : {
44515 "type" : "string"
44516 }
44517 },
44518 "type" : "object"
44519 }
44520 },
44521 "PUT" : {
e9cd3bd4 44522 "allowtoken" : 0,
95895385
TL
44523 "description" : "Change user u2f authentication.",
44524 "method" : "PUT",
44525 "name" : "change_tfa",
44526 "parameters" : {
44527 "additionalProperties" : 0,
44528 "properties" : {
44529 "action" : {
44530 "description" : "The action to perform",
44531 "enum" : [
44532 "delete",
44533 "new",
44534 "confirm"
44535 ],
44536 "type" : "string"
44537 },
44538 "config" : {
44539 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
44540 "format" : "pve-tfa-config",
44541 "maxLength" : 128,
44542 "optional" : 1,
44543 "type" : "string",
44544 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44545 },
44546 "key" : {
44547 "description" : "When adding TOTP, the shared secret value.",
1c532546 44548 "format" : "pve-tfa-secret",
95895385 44549 "optional" : 1,
1c532546
TL
44550 "type" : "string",
44551 "typetext" : "<string>"
95895385
TL
44552 },
44553 "password" : {
44554 "description" : "The current password.",
44555 "maxLength" : 64,
44556 "minLength" : 5,
44557 "optional" : 1,
44558 "type" : "string",
44559 "typetext" : "<string>"
44560 },
44561 "response" : {
44562 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
44563 "optional" : 1,
44564 "type" : "string",
44565 "typetext" : "<string>"
44566 },
44567 "userid" : {
44568 "description" : "User ID",
44569 "format" : "pve-userid",
44570 "maxLength" : 64,
44571 "type" : "string",
44572 "typetext" : "<string>"
44573 }
44574 }
44575 },
44576 "permissions" : {
44577 "check" : [
44578 "or",
44579 [
44580 "userid-param",
44581 "self"
44582 ],
44583 [
44584 "and",
44585 [
44586 "userid-param",
44587 "Realm.AllocateUser"
44588 ],
44589 [
44590 "userid-group",
44591 [
44592 "User.Modify"
44593 ]
44594 ]
44595 ]
44596 ],
44597 "description" : "A user can change their own u2f or totp token."
44598 },
44599 "protected" : 1,
44600 "returns" : {
44601 "type" : "object"
44602 }
44603 }
44604 },
44605 "leaf" : 1,
44606 "path" : "/access/tfa",
44607 "text" : "tfa"
e9cd3bd4
TL
44608 },
44609 {
44610 "info" : {
44611 "GET" : {
44612 "allowtoken" : 1,
44613 "description" : "Retrieve effective permissions of given user/token.",
44614 "method" : "GET",
44615 "name" : "permissions",
44616 "parameters" : {
44617 "additionalProperties" : 0,
44618 "properties" : {
44619 "path" : {
44620 "description" : "Only dump this specific path, not the whole tree.",
44621 "optional" : 1,
44622 "type" : "string",
44623 "typetext" : "<string>"
44624 },
44625 "userid" : {
44626 "description" : "User ID or full API token ID",
44627 "optional" : 1,
44628 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
44629 "type" : "string"
44630 }
44631 }
44632 },
44633 "permissions" : {
44634 "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.",
44635 "user" : "all"
44636 },
44637 "returns" : {
44638 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
44639 "type" : "object"
44640 }
44641 }
44642 },
44643 "leaf" : 1,
44644 "path" : "/access/permissions",
44645 "text" : "permissions"
44660702
DM
44646 }
44647 ],
44648 "info" : {
44649 "GET" : {
e9cd3bd4 44650 "allowtoken" : 1,
44660702
DM
44651 "description" : "Directory index.",
44652 "method" : "GET",
44653 "name" : "index",
44654 "parameters" : {
44655 "additionalProperties" : 0
44656 },
44657 "permissions" : {
44658 "user" : "all"
44659 },
44660 "returns" : {
44661 "items" : {
44662 "properties" : {
44663 "subdir" : {
44664 "type" : "string"
44665 }
7aacca6f 44666 },
44660702
DM
44667 "type" : "object"
44668 },
44669 "links" : [
44670 {
44671 "href" : "{subdir}",
44672 "rel" : "child"
44673 }
44674 ],
44675 "type" : "array"
44676 }
44677 }
44678 },
44679 "leaf" : 0,
44680 "path" : "/access",
44681 "text" : "access"
44682 },
44683 {
44684 "children" : [
44685 {
44686 "info" : {
44687 "DELETE" : {
e9cd3bd4 44688 "allowtoken" : 1,
7aacca6f 44689 "description" : "Delete pool.",
44660702
DM
44690 "method" : "DELETE",
44691 "name" : "delete_pool",
7aacca6f
DM
44692 "parameters" : {
44693 "additionalProperties" : 0,
44694 "properties" : {
44695 "poolid" : {
44696 "format" : "pve-poolid",
013dc89f
DM
44697 "type" : "string",
44698 "typetext" : "<string>"
7aacca6f
DM
44699 }
44700 }
44701 },
56122987
DM
44702 "permissions" : {
44703 "check" : [
44704 "perm",
44705 "/pool/{poolid}",
44706 [
44707 "Pool.Allocate"
44708 ]
44660702
DM
44709 ],
44710 "description" : "You can only delete empty pools (no members)."
44711 },
44712 "protected" : 1,
44713 "returns" : {
44714 "type" : "null"
7aacca6f
DM
44715 }
44716 },
44717 "GET" : {
e9cd3bd4 44718 "allowtoken" : 1,
7aacca6f 44719 "description" : "Get pool configuration.",
44660702 44720 "method" : "GET",
7aacca6f 44721 "name" : "read_pool",
56122987 44722 "parameters" : {
44660702 44723 "additionalProperties" : 0,
56122987
DM
44724 "properties" : {
44725 "poolid" : {
44660702 44726 "format" : "pve-poolid",
013dc89f
DM
44727 "type" : "string",
44728 "typetext" : "<string>"
56122987 44729 }
44660702 44730 }
56122987 44731 },
56122987 44732 "permissions" : {
56122987
DM
44733 "check" : [
44734 "perm",
44735 "/pool/{poolid}",
44736 [
0695fdaf 44737 "Pool.Audit"
56122987
DM
44738 ]
44739 ]
44740 },
7aacca6f 44741 "returns" : {
44660702 44742 "additionalProperties" : 0,
56122987 44743 "properties" : {
44660702
DM
44744 "comment" : {
44745 "optional" : 1,
44746 "type" : "string"
44747 },
7aacca6f 44748 "members" : {
7aacca6f
DM
44749 "items" : {
44750 "additionalProperties" : 1,
7aacca6f 44751 "properties" : {
7aacca6f
DM
44752 "id" : {
44753 "type" : "string"
44754 },
44755 "node" : {
44756 "type" : "string"
44757 },
44660702
DM
44758 "storage" : {
44759 "optional" : 1,
44760 "type" : "string"
44761 },
7aacca6f 44762 "type" : {
7aacca6f
DM
44763 "enum" : [
44764 "qemu",
44765 "lxc",
44766 "openvz",
44767 "storage"
44660702
DM
44768 ],
44769 "type" : "string"
44770 },
44771 "vmid" : {
44772 "optional" : 1,
44773 "type" : "integer"
7aacca6f 44774 }
44660702
DM
44775 },
44776 "type" : "object"
44777 },
44778 "type" : "array"
44779 }
44780 },
44781 "type" : "object"
44782 }
44783 },
44784 "PUT" : {
e9cd3bd4 44785 "allowtoken" : 1,
44660702
DM
44786 "description" : "Update pool data.",
44787 "method" : "PUT",
44788 "name" : "update_pool",
44789 "parameters" : {
44790 "additionalProperties" : 0,
44791 "properties" : {
56122987
DM
44792 "comment" : {
44793 "optional" : 1,
013dc89f
DM
44794 "type" : "string",
44795 "typetext" : "<string>"
44660702
DM
44796 },
44797 "delete" : {
44798 "description" : "Remove vms/storage (instead of adding it).",
44799 "optional" : 1,
013dc89f
DM
44800 "type" : "boolean",
44801 "typetext" : "<boolean>"
44660702
DM
44802 },
44803 "poolid" : {
44804 "format" : "pve-poolid",
013dc89f
DM
44805 "type" : "string",
44806 "typetext" : "<string>"
44660702
DM
44807 },
44808 "storage" : {
44809 "description" : "List of storage IDs.",
44810 "format" : "pve-storage-id-list",
44811 "optional" : 1,
013dc89f
DM
44812 "type" : "string",
44813 "typetext" : "<string>"
44660702
DM
44814 },
44815 "vms" : {
44816 "description" : "List of virtual machines.",
44817 "format" : "pve-vmid-list",
44818 "optional" : 1,
013dc89f
DM
44819 "type" : "string",
44820 "typetext" : "<string>"
56122987 44821 }
44660702
DM
44822 }
44823 },
44824 "permissions" : {
44825 "check" : [
44826 "perm",
44827 "/pool/{poolid}",
44828 [
44829 "Pool.Allocate"
44830 ]
44831 ],
44832 "description" : "You also need the right to modify permissions on any object you add/delete."
44833 },
44834 "protected" : 1,
44835 "returns" : {
44836 "type" : "null"
56122987
DM
44837 }
44838 }
44839 },
44660702
DM
44840 "leaf" : 1,
44841 "path" : "/pools/{poolid}",
7aacca6f 44842 "text" : "{poolid}"
56122987 44843 }
7aacca6f 44844 ],
56122987
DM
44845 "info" : {
44846 "GET" : {
e9cd3bd4 44847 "allowtoken" : 1,
44660702
DM
44848 "description" : "Pool index.",
44849 "method" : "GET",
44850 "name" : "index",
44851 "parameters" : {
44852 "additionalProperties" : 0
44853 },
44854 "permissions" : {
0695fdaf 44855 "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>.",
44660702
DM
44856 "user" : "all"
44857 },
56122987 44858 "returns" : {
44660702
DM
44859 "items" : {
44860 "properties" : {
44861 "poolid" : {
44862 "type" : "string"
44863 }
56122987 44864 },
44660702
DM
44865 "type" : "object"
44866 },
44867 "links" : [
44868 {
44869 "href" : "{poolid}",
44870 "rel" : "child"
44871 }
44872 ],
44873 "type" : "array"
44874 }
44875 },
44876 "POST" : {
e9cd3bd4 44877 "allowtoken" : 1,
44660702
DM
44878 "description" : "Create new pool.",
44879 "method" : "POST",
44880 "name" : "create_pool",
44881 "parameters" : {
44882 "additionalProperties" : 0,
44883 "properties" : {
44884 "comment" : {
44885 "optional" : 1,
013dc89f
DM
44886 "type" : "string",
44887 "typetext" : "<string>"
7aacca6f 44888 },
44660702
DM
44889 "poolid" : {
44890 "format" : "pve-poolid",
013dc89f
DM
44891 "type" : "string",
44892 "typetext" : "<string>"
56122987
DM
44893 }
44894 }
44895 },
56122987 44896 "permissions" : {
44660702
DM
44897 "check" : [
44898 "perm",
44899 "/pool/{poolid}",
44900 [
44901 "Pool.Allocate"
44902 ]
44903 ]
56122987 44904 },
44660702
DM
44905 "protected" : 1,
44906 "returns" : {
44907 "type" : "null"
44908 }
44909 }
44910 },
44911 "leaf" : 0,
44912 "path" : "/pools",
44913 "text" : "pools"
44914 },
44915 {
44916 "info" : {
44917 "GET" : {
e9cd3bd4 44918 "allowtoken" : 1,
44660702
DM
44919 "description" : "API version details. The result also includes the global datacenter confguration.",
44920 "method" : "GET",
44921 "name" : "version",
7aacca6f
DM
44922 "parameters" : {
44923 "additionalProperties" : 0
44924 },
44660702
DM
44925 "permissions" : {
44926 "user" : "all"
44927 },
44928 "returns" : {
44929 "properties" : {
44930 "release" : {
44931 "type" : "string"
44932 },
44933 "repoid" : {
44934 "type" : "string"
44935 },
44936 "version" : {
44937 "type" : "string"
44938 }
44939 },
44940 "type" : "object"
44941 }
56122987
DM
44942 }
44943 },
44660702
DM
44944 "leaf" : 1,
44945 "path" : "/version",
56122987
DM
44946 "text" : "version"
44947 }
44948]
44949;
44950