]> 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
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
e9cd3bd4 9 "allowtoken" : 1,
5d9c884c
DM
10 "description" : "Mark replication job for removal.",
11 "method" : "DELETE",
12 "name" : "delete",
13 "parameters" : {
14 "additionalProperties" : 0,
15 "properties" : {
16 "force" : {
17 "default" : 0,
18 "description" : "Will remove the jobconfig entry, but will not cleanup.",
19 "optional" : 1,
20 "type" : "boolean",
21 "typetext" : "<boolean>"
22 },
23 "id" : {
24 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
25 "format" : "pve-replication-job-id",
26 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
27 "type" : "string"
28 },
29 "keep" : {
30 "default" : 0,
31 "description" : "Keep replicated data at target (do not remove).",
32 "optional" : 1,
33 "type" : "boolean",
34 "typetext" : "<boolean>"
35 }
36 }
37 },
38 "permissions" : {
39 "check" : [
40 "perm",
41 "/storage",
42 [
43 "Datastore.Allocate"
44 ]
45 ]
46 },
47 "protected" : 1,
48 "returns" : {
49 "type" : "null"
50 }
51 },
52 "GET" : {
e9cd3bd4 53 "allowtoken" : 1,
5d9c884c
DM
54 "description" : "Read replication job configuration.",
55 "method" : "GET",
56 "name" : "read",
57 "parameters" : {
58 "additionalProperties" : 0,
59 "properties" : {
60 "id" : {
61 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
62 "format" : "pve-replication-job-id",
63 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
64 "type" : "string"
65 }
66 }
67 },
68 "permissions" : {
69 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
70 "user" : "all"
71 },
72 "returns" : {
73 "type" : "object"
74 }
75 },
76 "PUT" : {
e9cd3bd4 77 "allowtoken" : 1,
5d9c884c
DM
78 "description" : "Update replication job configuration.",
79 "method" : "PUT",
80 "name" : "update",
81 "parameters" : {
82 "additionalProperties" : 0,
83 "properties" : {
84 "comment" : {
85 "description" : "Description.",
86 "maxLength" : 4096,
87 "optional" : 1,
88 "type" : "string",
89 "typetext" : "<string>"
90 },
91 "delete" : {
92 "description" : "A list of settings you want to delete.",
93 "format" : "pve-configid-list",
94 "maxLength" : 4096,
95 "optional" : 1,
96 "type" : "string",
97 "typetext" : "<string>"
98 },
99 "digest" : {
100 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
101 "maxLength" : 40,
102 "optional" : 1,
103 "type" : "string",
104 "typetext" : "<string>"
105 },
106 "disable" : {
107 "description" : "Flag to disable/deactivate the entry.",
108 "optional" : 1,
109 "type" : "boolean",
110 "typetext" : "<boolean>"
111 },
112 "id" : {
113 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
114 "format" : "pve-replication-job-id",
115 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
116 "type" : "string"
117 },
118 "rate" : {
119 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
120 "minimum" : 1,
121 "optional" : 1,
122 "type" : "number",
123 "typetext" : "<number> (1 - N)"
124 },
125 "remove_job" : {
126 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
127 "enum" : [
128 "local",
129 "full"
130 ],
131 "optional" : 1,
132 "type" : "string"
133 },
134 "schedule" : {
135 "default" : "*/15",
c5aa7e14 136 "description" : "Storage replication schedule. The format is a subset of `systemd` calendar events.",
5d9c884c
DM
137 "format" : "pve-calendar-event",
138 "maxLength" : 128,
139 "optional" : 1,
140 "type" : "string",
141 "typetext" : "<string>"
a9a8e3d1
DM
142 },
143 "source" : {
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",
7aacca6f 1452 "optional" : 1,
013dc89f
DM
1453 "type" : "string",
1454 "typetext" : "<string>"
7aacca6f
DM
1455 },
1456 "digest" : {
1457 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 1458 "maxLength" : 40,
7aacca6f 1459 "optional" : 1,
013dc89f
DM
1460 "type" : "string",
1461 "typetext" : "<string>"
7aacca6f 1462 },
44660702
DM
1463 "dport" : {
1464 "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.",
1465 "format" : "pve-fw-dport-spec",
7aacca6f 1466 "optional" : 1,
013dc89f
DM
1467 "type" : "string",
1468 "typetext" : "<string>"
7aacca6f 1469 },
44660702 1470 "enable" : {
e94f0d56 1471 "description" : "Flag to enable/disable a rule.",
44660702 1472 "minimum" : 0,
7aacca6f 1473 "optional" : 1,
4bd7df8b 1474 "type" : "integer",
013dc89f 1475 "typetext" : "<integer> (0 - N)"
7aacca6f 1476 },
44660702
DM
1477 "group" : {
1478 "description" : "Security Group name.",
4bd7df8b 1479 "maxLength" : 18,
44660702
DM
1480 "minLength" : 2,
1481 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1482 "type" : "string"
1483 },
4772952b
TL
1484 "icmp-type" : {
1485 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1486 "format" : "pve-fw-icmp-type-spec",
1487 "optional" : 1,
1488 "type" : "string",
1489 "typetext" : "<string>"
1490 },
44660702
DM
1491 "iface" : {
1492 "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.",
1493 "format" : "pve-iface",
1494 "maxLength" : 20,
1495 "minLength" : 2,
7aacca6f 1496 "optional" : 1,
013dc89f
DM
1497 "type" : "string",
1498 "typetext" : "<string>"
7aacca6f 1499 },
95895385
TL
1500 "log" : {
1501 "description" : "Log level for firewall rule.",
1502 "enum" : [
1503 "emerg",
1504 "alert",
1505 "crit",
1506 "err",
1507 "warning",
1508 "notice",
1509 "info",
1510 "debug",
1511 "nolog"
1512 ],
1513 "optional" : 1,
1514 "type" : "string"
1515 },
44660702 1516 "macro" : {
e94f0d56 1517 "description" : "Use predefined standard macro.",
44660702
DM
1518 "maxLength" : 128,
1519 "optional" : 1,
013dc89f
DM
1520 "type" : "string",
1521 "typetext" : "<string>"
7aacca6f
DM
1522 },
1523 "moveto" : {
1524 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 1525 "minimum" : 0,
7aacca6f 1526 "optional" : 1,
4bd7df8b 1527 "type" : "integer",
013dc89f 1528 "typetext" : "<integer> (0 - N)"
7aacca6f 1529 },
44660702
DM
1530 "pos" : {
1531 "description" : "Update rule at position <pos>.",
1532 "minimum" : 0,
1533 "optional" : 1,
4bd7df8b 1534 "type" : "integer",
013dc89f 1535 "typetext" : "<integer> (0 - N)"
7aacca6f 1536 },
44660702
DM
1537 "proto" : {
1538 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1539 "format" : "pve-fw-protocol-spec",
7aacca6f 1540 "optional" : 1,
013dc89f
DM
1541 "type" : "string",
1542 "typetext" : "<string>"
44660702
DM
1543 },
1544 "source" : {
1545 "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.",
1546 "format" : "pve-fw-addr-spec",
1547 "optional" : 1,
013dc89f
DM
1548 "type" : "string",
1549 "typetext" : "<string>"
44660702
DM
1550 },
1551 "sport" : {
1552 "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.",
1553 "format" : "pve-fw-sport-spec",
1554 "optional" : 1,
013dc89f
DM
1555 "type" : "string",
1556 "typetext" : "<string>"
7aacca6f
DM
1557 },
1558 "type" : {
e94f0d56 1559 "description" : "Rule type.",
7aacca6f
DM
1560 "enum" : [
1561 "in",
1562 "out",
1563 "group"
1564 ],
1565 "optional" : 1,
1566 "type" : "string"
1567 }
1568 }
1569 },
7aacca6f
DM
1570 "permissions" : {
1571 "check" : [
1572 "perm",
1573 "/",
1574 [
1575 "Sys.Modify"
1576 ]
1577 ]
1578 },
44660702 1579 "protected" : 1,
7aacca6f
DM
1580 "proxyto" : null,
1581 "returns" : {
1582 "type" : "null"
1583 }
7aacca6f
DM
1584 }
1585 },
44660702 1586 "leaf" : 1,
7aacca6f 1587 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 1588 "text" : "{pos}"
7aacca6f
DM
1589 }
1590 ],
44660702
DM
1591 "info" : {
1592 "DELETE" : {
e9cd3bd4 1593 "allowtoken" : 1,
44660702
DM
1594 "description" : "Delete security group.",
1595 "method" : "DELETE",
1596 "name" : "delete_security_group",
1597 "parameters" : {
1598 "additionalProperties" : 0,
1599 "properties" : {
1600 "group" : {
1601 "description" : "Security Group name.",
4bd7df8b 1602 "maxLength" : 18,
44660702
DM
1603 "minLength" : 2,
1604 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1605 "type" : "string"
1606 }
56122987 1607 }
7aacca6f 1608 },
44660702
DM
1609 "permissions" : {
1610 "check" : [
1611 "perm",
1612 "/",
1613 [
1614 "Sys.Modify"
1615 ]
7aacca6f 1616 ]
56122987 1617 },
44660702
DM
1618 "protected" : 1,
1619 "returns" : {
1620 "type" : "null"
56122987 1621 }
7aacca6f 1622 },
7aacca6f 1623 "GET" : {
e9cd3bd4 1624 "allowtoken" : 1,
44660702 1625 "description" : "List rules.",
7aacca6f 1626 "method" : "GET",
44660702
DM
1627 "name" : "get_rules",
1628 "parameters" : {
1629 "additionalProperties" : 0,
7aacca6f 1630 "properties" : {
44660702
DM
1631 "group" : {
1632 "description" : "Security Group name.",
4bd7df8b 1633 "maxLength" : 18,
44660702
DM
1634 "minLength" : 2,
1635 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1636 "type" : "string"
7aacca6f 1637 }
44660702 1638 }
7aacca6f
DM
1639 },
1640 "permissions" : {
1641 "check" : [
1642 "perm",
1643 "/",
1644 [
1645 "Sys.Audit"
1646 ]
1647 ]
1648 },
44660702
DM
1649 "proxyto" : null,
1650 "returns" : {
1651 "items" : {
1652 "properties" : {
1653 "pos" : {
1654 "type" : "integer"
1655 }
1656 },
1657 "type" : "object"
1658 },
1659 "links" : [
1660 {
1661 "href" : "{pos}",
1662 "rel" : "child"
1663 }
1664 ],
1665 "type" : "array"
1666 }
1667 },
1668 "POST" : {
e9cd3bd4 1669 "allowtoken" : 1,
44660702
DM
1670 "description" : "Create new rule.",
1671 "method" : "POST",
1672 "name" : "create_rule",
7aacca6f
DM
1673 "parameters" : {
1674 "additionalProperties" : 0,
1675 "properties" : {
44660702
DM
1676 "action" : {
1677 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1678 "maxLength" : 20,
56122987 1679 "minLength" : 2,
44660702
DM
1680 "optional" : 0,
1681 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1682 "type" : "string"
56122987 1683 },
44660702 1684 "comment" : {
e94f0d56 1685 "description" : "Descriptive comment.",
56122987 1686 "optional" : 1,
013dc89f
DM
1687 "type" : "string",
1688 "typetext" : "<string>"
56122987 1689 },
44660702
DM
1690 "dest" : {
1691 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
56122987
DM
1692 "format" : "pve-fw-addr-spec",
1693 "optional" : 1,
013dc89f
DM
1694 "type" : "string",
1695 "typetext" : "<string>"
56122987 1696 },
44660702
DM
1697 "digest" : {
1698 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1699 "maxLength" : 40,
7aacca6f 1700 "optional" : 1,
013dc89f
DM
1701 "type" : "string",
1702 "typetext" : "<string>"
56122987 1703 },
44660702
DM
1704 "dport" : {
1705 "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.",
1706 "format" : "pve-fw-dport-spec",
56122987 1707 "optional" : 1,
013dc89f
DM
1708 "type" : "string",
1709 "typetext" : "<string>"
56122987 1710 },
7aacca6f 1711 "enable" : {
e94f0d56 1712 "description" : "Flag to enable/disable a rule.",
44660702 1713 "minimum" : 0,
7aacca6f 1714 "optional" : 1,
4bd7df8b 1715 "type" : "integer",
013dc89f 1716 "typetext" : "<integer> (0 - N)"
56122987 1717 },
44660702
DM
1718 "group" : {
1719 "description" : "Security Group name.",
4bd7df8b 1720 "maxLength" : 18,
44660702 1721 "minLength" : 2,
7aacca6f 1722 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
1723 "type" : "string"
1724 },
4772952b
TL
1725 "icmp-type" : {
1726 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
1727 "format" : "pve-fw-icmp-type-spec",
1728 "optional" : 1,
1729 "type" : "string",
1730 "typetext" : "<string>"
1731 },
44660702
DM
1732 "iface" : {
1733 "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.",
1734 "format" : "pve-iface",
1735 "maxLength" : 20,
7aacca6f 1736 "minLength" : 2,
44660702 1737 "optional" : 1,
013dc89f
DM
1738 "type" : "string",
1739 "typetext" : "<string>"
56122987 1740 },
95895385
TL
1741 "log" : {
1742 "description" : "Log level for firewall rule.",
1743 "enum" : [
1744 "emerg",
1745 "alert",
1746 "crit",
1747 "err",
1748 "warning",
1749 "notice",
1750 "info",
1751 "debug",
1752 "nolog"
1753 ],
1754 "optional" : 1,
1755 "type" : "string"
1756 },
7aacca6f 1757 "macro" : {
e94f0d56 1758 "description" : "Use predefined standard macro.",
44660702 1759 "maxLength" : 128,
7aacca6f 1760 "optional" : 1,
013dc89f
DM
1761 "type" : "string",
1762 "typetext" : "<string>"
7aacca6f
DM
1763 },
1764 "pos" : {
1765 "description" : "Update rule at position <pos>.",
44660702 1766 "minimum" : 0,
56122987 1767 "optional" : 1,
4bd7df8b 1768 "type" : "integer",
013dc89f 1769 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1770 },
1771 "proto" : {
1772 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 1773 "format" : "pve-fw-protocol-spec",
7aacca6f 1774 "optional" : 1,
013dc89f
DM
1775 "type" : "string",
1776 "typetext" : "<string>"
44660702
DM
1777 },
1778 "source" : {
1779 "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.",
1780 "format" : "pve-fw-addr-spec",
1781 "optional" : 1,
013dc89f
DM
1782 "type" : "string",
1783 "typetext" : "<string>"
44660702
DM
1784 },
1785 "sport" : {
1786 "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.",
1787 "format" : "pve-fw-sport-spec",
1788 "optional" : 1,
013dc89f
DM
1789 "type" : "string",
1790 "typetext" : "<string>"
44660702
DM
1791 },
1792 "type" : {
e94f0d56 1793 "description" : "Rule type.",
44660702
DM
1794 "enum" : [
1795 "in",
1796 "out",
1797 "group"
1798 ],
1799 "optional" : 0,
1800 "type" : "string"
56122987 1801 }
44660702 1802 }
56122987 1803 },
56122987
DM
1804 "permissions" : {
1805 "check" : [
1806 "perm",
1807 "/",
1808 [
1809 "Sys.Modify"
1810 ]
1811 ]
1812 },
44660702
DM
1813 "protected" : 1,
1814 "proxyto" : null,
56122987
DM
1815 "returns" : {
1816 "type" : "null"
7aacca6f 1817 }
44660702
DM
1818 }
1819 },
1820 "leaf" : 0,
1821 "path" : "/cluster/firewall/groups/{group}",
1822 "text" : "{group}"
1823 }
1824 ],
1825 "info" : {
1826 "GET" : {
e9cd3bd4 1827 "allowtoken" : 1,
44660702
DM
1828 "description" : "List security groups.",
1829 "method" : "GET",
1830 "name" : "list_security_groups",
1831 "parameters" : {
1832 "additionalProperties" : 0
1833 },
1834 "permissions" : {
1835 "user" : "all"
1836 },
1837 "returns" : {
1838 "items" : {
1839 "properties" : {
1840 "comment" : {
1841 "optional" : 1,
1842 "type" : "string"
1843 },
1844 "digest" : {
1845 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1846 "maxLength" : 40,
1847 "optional" : 0,
1848 "type" : "string"
1849 },
1850 "group" : {
1851 "description" : "Security Group name.",
4bd7df8b 1852 "maxLength" : 18,
44660702
DM
1853 "minLength" : 2,
1854 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1855 "type" : "string"
1856 }
1857 },
1858 "type" : "object"
56122987 1859 },
44660702
DM
1860 "links" : [
1861 {
1862 "href" : "{group}",
1863 "rel" : "child"
1864 }
1865 ],
1866 "type" : "array"
1867 }
1868 },
1869 "POST" : {
e9cd3bd4 1870 "allowtoken" : 1,
44660702
DM
1871 "description" : "Create new security group.",
1872 "method" : "POST",
1873 "name" : "create_security_group",
1874 "parameters" : {
1875 "additionalProperties" : 0,
1876 "properties" : {
1877 "comment" : {
1878 "optional" : 1,
013dc89f
DM
1879 "type" : "string",
1880 "typetext" : "<string>"
44660702
DM
1881 },
1882 "digest" : {
1883 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1884 "maxLength" : 40,
1885 "optional" : 1,
013dc89f
DM
1886 "type" : "string",
1887 "typetext" : "<string>"
44660702
DM
1888 },
1889 "group" : {
1890 "description" : "Security Group name.",
4bd7df8b 1891 "maxLength" : 18,
44660702
DM
1892 "minLength" : 2,
1893 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1894 "type" : "string"
1895 },
1896 "rename" : {
1897 "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 1898 "maxLength" : 18,
44660702
DM
1899 "minLength" : 2,
1900 "optional" : 1,
1901 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1902 "type" : "string"
1903 }
1904 }
1905 },
1906 "permissions" : {
1907 "check" : [
1908 "perm",
1909 "/",
1910 [
1911 "Sys.Modify"
1912 ]
1913 ]
1914 },
1915 "protected" : 1,
1916 "returns" : {
1917 "type" : "null"
1918 }
1919 }
1920 },
1921 "leaf" : 0,
1922 "path" : "/cluster/firewall/groups",
1923 "text" : "groups"
1924 },
1925 {
1926 "children" : [
1927 {
1928 "info" : {
7aacca6f 1929 "DELETE" : {
e9cd3bd4 1930 "allowtoken" : 1,
44660702
DM
1931 "description" : "Delete rule.",
1932 "method" : "DELETE",
1933 "name" : "delete_rule",
1934 "parameters" : {
1935 "additionalProperties" : 0,
1936 "properties" : {
1937 "digest" : {
1938 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1939 "maxLength" : 40,
1940 "optional" : 1,
013dc89f
DM
1941 "type" : "string",
1942 "typetext" : "<string>"
44660702
DM
1943 },
1944 "pos" : {
1945 "description" : "Update rule at position <pos>.",
1946 "minimum" : 0,
1947 "optional" : 1,
4bd7df8b 1948 "type" : "integer",
013dc89f 1949 "typetext" : "<integer> (0 - N)"
44660702
DM
1950 }
1951 }
1952 },
56122987
DM
1953 "permissions" : {
1954 "check" : [
1955 "perm",
1956 "/",
1957 [
7aacca6f 1958 "Sys.Modify"
56122987
DM
1959 ]
1960 ]
1961 },
44660702 1962 "protected" : 1,
56122987
DM
1963 "proxyto" : null,
1964 "returns" : {
7aacca6f 1965 "type" : "null"
44660702
DM
1966 }
1967 },
1968 "GET" : {
e9cd3bd4 1969 "allowtoken" : 1,
44660702
DM
1970 "description" : "Get single rule data.",
1971 "method" : "GET",
1972 "name" : "get_rule",
56122987
DM
1973 "parameters" : {
1974 "additionalProperties" : 0,
1975 "properties" : {
1976 "pos" : {
7aacca6f 1977 "description" : "Update rule at position <pos>.",
44660702 1978 "minimum" : 0,
56122987 1979 "optional" : 1,
4bd7df8b 1980 "type" : "integer",
013dc89f 1981 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
1982 }
1983 }
1984 },
7aacca6f
DM
1985 "permissions" : {
1986 "check" : [
1987 "perm",
1988 "/",
1989 [
1990 "Sys.Audit"
1991 ]
1992 ]
56122987 1993 },
44660702
DM
1994 "proxyto" : null,
1995 "returns" : {
7aacca6f 1996 "properties" : {
e2d681b3
TL
1997 "action" : {
1998 "type" : "string"
1999 },
2000 "comment" : {
2001 "optional" : 1,
2002 "type" : "string"
2003 },
2004 "dest" : {
2005 "optional" : 1,
2006 "type" : "string"
2007 },
2008 "dport" : {
2009 "optional" : 1,
2010 "type" : "string"
2011 },
2012 "enable" : {
2013 "optional" : 1,
2014 "type" : "integer"
2015 },
4772952b
TL
2016 "icmp-type" : {
2017 "optional" : 1,
2018 "type" : "string"
2019 },
e2d681b3
TL
2020 "iface" : {
2021 "optional" : 1,
2022 "type" : "string"
2023 },
2024 "ipversion" : {
2025 "optional" : 1,
2026 "type" : "integer"
2027 },
95895385
TL
2028 "log" : {
2029 "description" : "Log level for firewall rule",
2030 "enum" : [
2031 "emerg",
2032 "alert",
2033 "crit",
2034 "err",
2035 "warning",
2036 "notice",
2037 "info",
2038 "debug",
2039 "nolog"
2040 ],
2041 "optional" : 1,
2042 "type" : "string"
2043 },
e2d681b3
TL
2044 "macro" : {
2045 "optional" : 1,
5f26e15b 2046 "type" : "string"
e2d681b3 2047 },
44660702
DM
2048 "pos" : {
2049 "type" : "integer"
e2d681b3
TL
2050 },
2051 "proto" : {
2052 "optional" : 1,
2053 "type" : "string"
2054 },
2055 "source" : {
2056 "optional" : 1,
2057 "type" : "string"
2058 },
2059 "sport" : {
2060 "optional" : 1,
2061 "type" : "string"
2062 },
2063 "type" : {
2064 "type" : "string"
7aacca6f 2065 }
44660702
DM
2066 },
2067 "type" : "object"
2068 }
56122987 2069 },
44660702 2070 "PUT" : {
e9cd3bd4 2071 "allowtoken" : 1,
44660702
DM
2072 "description" : "Modify rule data.",
2073 "method" : "PUT",
2074 "name" : "update_rule",
7aacca6f
DM
2075 "parameters" : {
2076 "additionalProperties" : 0,
2077 "properties" : {
44660702
DM
2078 "action" : {
2079 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
2080 "maxLength" : 20,
2081 "minLength" : 2,
2082 "optional" : 1,
2083 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2084 "type" : "string"
7aacca6f 2085 },
44660702 2086 "comment" : {
e94f0d56 2087 "description" : "Descriptive comment.",
44660702 2088 "optional" : 1,
013dc89f
DM
2089 "type" : "string",
2090 "typetext" : "<string>"
7aacca6f 2091 },
44660702
DM
2092 "delete" : {
2093 "description" : "A list of settings you want to delete.",
2094 "format" : "pve-configid-list",
2095 "optional" : 1,
013dc89f
DM
2096 "type" : "string",
2097 "typetext" : "<string>"
44660702
DM
2098 },
2099 "dest" : {
2100 "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.",
2101 "format" : "pve-fw-addr-spec",
2102 "optional" : 1,
013dc89f
DM
2103 "type" : "string",
2104 "typetext" : "<string>"
44660702
DM
2105 },
2106 "digest" : {
2107 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2108 "maxLength" : 40,
2109 "optional" : 1,
013dc89f
DM
2110 "type" : "string",
2111 "typetext" : "<string>"
44660702
DM
2112 },
2113 "dport" : {
2114 "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.",
2115 "format" : "pve-fw-dport-spec",
2116 "optional" : 1,
013dc89f
DM
2117 "type" : "string",
2118 "typetext" : "<string>"
44660702
DM
2119 },
2120 "enable" : {
e94f0d56 2121 "description" : "Flag to enable/disable a rule.",
44660702
DM
2122 "minimum" : 0,
2123 "optional" : 1,
4bd7df8b 2124 "type" : "integer",
013dc89f 2125 "typetext" : "<integer> (0 - N)"
44660702 2126 },
4772952b
TL
2127 "icmp-type" : {
2128 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2129 "format" : "pve-fw-icmp-type-spec",
2130 "optional" : 1,
2131 "type" : "string",
2132 "typetext" : "<string>"
2133 },
44660702
DM
2134 "iface" : {
2135 "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.",
2136 "format" : "pve-iface",
2137 "maxLength" : 20,
7aacca6f 2138 "minLength" : 2,
44660702 2139 "optional" : 1,
013dc89f
DM
2140 "type" : "string",
2141 "typetext" : "<string>"
7aacca6f 2142 },
95895385
TL
2143 "log" : {
2144 "description" : "Log level for firewall rule.",
2145 "enum" : [
2146 "emerg",
2147 "alert",
2148 "crit",
2149 "err",
2150 "warning",
2151 "notice",
2152 "info",
2153 "debug",
2154 "nolog"
2155 ],
2156 "optional" : 1,
2157 "type" : "string"
2158 },
44660702 2159 "macro" : {
e94f0d56 2160 "description" : "Use predefined standard macro.",
44660702
DM
2161 "maxLength" : 128,
2162 "optional" : 1,
013dc89f
DM
2163 "type" : "string",
2164 "typetext" : "<string>"
44660702
DM
2165 },
2166 "moveto" : {
2167 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
2168 "minimum" : 0,
2169 "optional" : 1,
4bd7df8b 2170 "type" : "integer",
013dc89f 2171 "typetext" : "<integer> (0 - N)"
44660702
DM
2172 },
2173 "pos" : {
2174 "description" : "Update rule at position <pos>.",
2175 "minimum" : 0,
2176 "optional" : 1,
4bd7df8b 2177 "type" : "integer",
013dc89f 2178 "typetext" : "<integer> (0 - N)"
44660702
DM
2179 },
2180 "proto" : {
2181 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2182 "format" : "pve-fw-protocol-spec",
2183 "optional" : 1,
013dc89f
DM
2184 "type" : "string",
2185 "typetext" : "<string>"
44660702
DM
2186 },
2187 "source" : {
2188 "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.",
2189 "format" : "pve-fw-addr-spec",
2190 "optional" : 1,
013dc89f
DM
2191 "type" : "string",
2192 "typetext" : "<string>"
44660702
DM
2193 },
2194 "sport" : {
2195 "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.",
2196 "format" : "pve-fw-sport-spec",
2197 "optional" : 1,
013dc89f
DM
2198 "type" : "string",
2199 "typetext" : "<string>"
44660702
DM
2200 },
2201 "type" : {
e94f0d56 2202 "description" : "Rule type.",
44660702
DM
2203 "enum" : [
2204 "in",
2205 "out",
2206 "group"
2207 ],
2208 "optional" : 1,
2209 "type" : "string"
7aacca6f 2210 }
56122987
DM
2211 }
2212 },
7aacca6f
DM
2213 "permissions" : {
2214 "check" : [
2215 "perm",
2216 "/",
2217 [
2218 "Sys.Modify"
2219 ]
2220 ]
2221 },
44660702
DM
2222 "protected" : 1,
2223 "proxyto" : null,
2224 "returns" : {
2225 "type" : "null"
2226 }
7aacca6f 2227 }
56122987 2228 },
44660702
DM
2229 "leaf" : 1,
2230 "path" : "/cluster/firewall/rules/{pos}",
2231 "text" : "{pos}"
7aacca6f
DM
2232 }
2233 ],
7aacca6f 2234 "info" : {
44660702 2235 "GET" : {
e9cd3bd4 2236 "allowtoken" : 1,
44660702
DM
2237 "description" : "List rules.",
2238 "method" : "GET",
2239 "name" : "get_rules",
7aacca6f 2240 "parameters" : {
44660702 2241 "additionalProperties" : 0
7aacca6f
DM
2242 },
2243 "permissions" : {
2244 "check" : [
2245 "perm",
2246 "/",
2247 [
44660702 2248 "Sys.Audit"
7aacca6f
DM
2249 ]
2250 ]
2251 },
44660702 2252 "proxyto" : null,
7aacca6f 2253 "returns" : {
7aacca6f
DM
2254 "items" : {
2255 "properties" : {
44660702
DM
2256 "pos" : {
2257 "type" : "integer"
7aacca6f
DM
2258 }
2259 },
2260 "type" : "object"
56122987 2261 },
7aacca6f
DM
2262 "links" : [
2263 {
44660702 2264 "href" : "{pos}",
7aacca6f
DM
2265 "rel" : "child"
2266 }
44660702
DM
2267 ],
2268 "type" : "array"
7aacca6f 2269 }
44660702 2270 },
7aacca6f 2271 "POST" : {
e9cd3bd4 2272 "allowtoken" : 1,
44660702 2273 "description" : "Create new rule.",
7aacca6f 2274 "method" : "POST",
44660702 2275 "name" : "create_rule",
7aacca6f
DM
2276 "parameters" : {
2277 "additionalProperties" : 0,
2278 "properties" : {
44660702
DM
2279 "action" : {
2280 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
2281 "maxLength" : 20,
7aacca6f 2282 "minLength" : 2,
44660702
DM
2283 "optional" : 0,
2284 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2285 "type" : "string"
7aacca6f
DM
2286 },
2287 "comment" : {
e94f0d56 2288 "description" : "Descriptive comment.",
7aacca6f 2289 "optional" : 1,
013dc89f
DM
2290 "type" : "string",
2291 "typetext" : "<string>"
44660702
DM
2292 },
2293 "dest" : {
2294 "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.",
2295 "format" : "pve-fw-addr-spec",
2296 "optional" : 1,
013dc89f
DM
2297 "type" : "string",
2298 "typetext" : "<string>"
44660702
DM
2299 },
2300 "digest" : {
2301 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2302 "maxLength" : 40,
2303 "optional" : 1,
013dc89f
DM
2304 "type" : "string",
2305 "typetext" : "<string>"
44660702
DM
2306 },
2307 "dport" : {
2308 "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.",
2309 "format" : "pve-fw-dport-spec",
2310 "optional" : 1,
013dc89f
DM
2311 "type" : "string",
2312 "typetext" : "<string>"
44660702
DM
2313 },
2314 "enable" : {
e94f0d56 2315 "description" : "Flag to enable/disable a rule.",
44660702
DM
2316 "minimum" : 0,
2317 "optional" : 1,
4bd7df8b 2318 "type" : "integer",
013dc89f 2319 "typetext" : "<integer> (0 - N)"
44660702 2320 },
4772952b
TL
2321 "icmp-type" : {
2322 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
2323 "format" : "pve-fw-icmp-type-spec",
2324 "optional" : 1,
2325 "type" : "string",
2326 "typetext" : "<string>"
2327 },
44660702
DM
2328 "iface" : {
2329 "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.",
2330 "format" : "pve-iface",
2331 "maxLength" : 20,
2332 "minLength" : 2,
2333 "optional" : 1,
013dc89f
DM
2334 "type" : "string",
2335 "typetext" : "<string>"
44660702 2336 },
95895385
TL
2337 "log" : {
2338 "description" : "Log level for firewall rule.",
2339 "enum" : [
2340 "emerg",
2341 "alert",
2342 "crit",
2343 "err",
2344 "warning",
2345 "notice",
2346 "info",
2347 "debug",
2348 "nolog"
2349 ],
2350 "optional" : 1,
2351 "type" : "string"
2352 },
44660702 2353 "macro" : {
e94f0d56 2354 "description" : "Use predefined standard macro.",
44660702
DM
2355 "maxLength" : 128,
2356 "optional" : 1,
013dc89f
DM
2357 "type" : "string",
2358 "typetext" : "<string>"
44660702
DM
2359 },
2360 "pos" : {
2361 "description" : "Update rule at position <pos>.",
2362 "minimum" : 0,
2363 "optional" : 1,
4bd7df8b 2364 "type" : "integer",
013dc89f 2365 "typetext" : "<integer> (0 - N)"
44660702
DM
2366 },
2367 "proto" : {
2368 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
2369 "format" : "pve-fw-protocol-spec",
2370 "optional" : 1,
013dc89f
DM
2371 "type" : "string",
2372 "typetext" : "<string>"
44660702
DM
2373 },
2374 "source" : {
2375 "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.",
2376 "format" : "pve-fw-addr-spec",
2377 "optional" : 1,
013dc89f
DM
2378 "type" : "string",
2379 "typetext" : "<string>"
44660702
DM
2380 },
2381 "sport" : {
2382 "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.",
2383 "format" : "pve-fw-sport-spec",
2384 "optional" : 1,
013dc89f
DM
2385 "type" : "string",
2386 "typetext" : "<string>"
44660702
DM
2387 },
2388 "type" : {
e94f0d56 2389 "description" : "Rule type.",
44660702
DM
2390 "enum" : [
2391 "in",
2392 "out",
2393 "group"
2394 ],
2395 "optional" : 0,
2396 "type" : "string"
7aacca6f
DM
2397 }
2398 }
2399 },
2400 "permissions" : {
2401 "check" : [
2402 "perm",
2403 "/",
2404 [
2405 "Sys.Modify"
2406 ]
2407 ]
2408 },
44660702
DM
2409 "protected" : 1,
2410 "proxyto" : null,
7aacca6f 2411 "returns" : {
44660702
DM
2412 "type" : "null"
2413 }
2414 }
2415 },
2416 "leaf" : 0,
2417 "path" : "/cluster/firewall/rules",
2418 "text" : "rules"
2419 },
2420 {
2421 "children" : [
2422 {
2423 "children" : [
2424 {
2425 "info" : {
2426 "DELETE" : {
e9cd3bd4 2427 "allowtoken" : 1,
44660702
DM
2428 "description" : "Remove IP or Network from IPSet.",
2429 "method" : "DELETE",
2430 "name" : "remove_ip",
2431 "parameters" : {
2432 "additionalProperties" : 0,
2433 "properties" : {
2434 "cidr" : {
2435 "description" : "Network/IP specification in CIDR format.",
2436 "format" : "IPorCIDRorAlias",
013dc89f
DM
2437 "type" : "string",
2438 "typetext" : "<string>"
44660702
DM
2439 },
2440 "digest" : {
2441 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2442 "maxLength" : 40,
2443 "optional" : 1,
013dc89f
DM
2444 "type" : "string",
2445 "typetext" : "<string>"
44660702
DM
2446 },
2447 "name" : {
2448 "description" : "IP set name.",
2449 "maxLength" : 64,
2450 "minLength" : 2,
2451 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2452 "type" : "string"
2453 }
2454 }
2455 },
2456 "permissions" : {
2457 "check" : [
2458 "perm",
2459 "/",
2460 [
2461 "Sys.Modify"
2462 ]
2463 ]
2464 },
2465 "protected" : 1,
2466 "returns" : {
2467 "type" : "null"
2468 }
7aacca6f 2469 },
44660702 2470 "GET" : {
e9cd3bd4 2471 "allowtoken" : 1,
44660702
DM
2472 "description" : "Read IP or Network settings from IPSet.",
2473 "method" : "GET",
2474 "name" : "read_ip",
2475 "parameters" : {
2476 "additionalProperties" : 0,
2477 "properties" : {
2478 "cidr" : {
2479 "description" : "Network/IP specification in CIDR format.",
2480 "format" : "IPorCIDRorAlias",
013dc89f
DM
2481 "type" : "string",
2482 "typetext" : "<string>"
44660702
DM
2483 },
2484 "name" : {
2485 "description" : "IP set name.",
2486 "maxLength" : 64,
2487 "minLength" : 2,
2488 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2489 "type" : "string"
2490 }
2491 }
2492 },
2493 "permissions" : {
2494 "check" : [
2495 "perm",
2496 "/",
2497 [
2498 "Sys.Audit"
2499 ]
2500 ]
2501 },
2502 "protected" : 1,
2503 "returns" : {
2504 "type" : "object"
2505 }
7aacca6f 2506 },
44660702 2507 "PUT" : {
e9cd3bd4 2508 "allowtoken" : 1,
44660702
DM
2509 "description" : "Update IP or Network settings",
2510 "method" : "PUT",
2511 "name" : "update_ip",
2512 "parameters" : {
2513 "additionalProperties" : 0,
2514 "properties" : {
2515 "cidr" : {
2516 "description" : "Network/IP specification in CIDR format.",
2517 "format" : "IPorCIDRorAlias",
013dc89f
DM
2518 "type" : "string",
2519 "typetext" : "<string>"
44660702
DM
2520 },
2521 "comment" : {
2522 "optional" : 1,
013dc89f
DM
2523 "type" : "string",
2524 "typetext" : "<string>"
44660702
DM
2525 },
2526 "digest" : {
2527 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2528 "maxLength" : 40,
2529 "optional" : 1,
013dc89f
DM
2530 "type" : "string",
2531 "typetext" : "<string>"
44660702
DM
2532 },
2533 "name" : {
2534 "description" : "IP set name.",
2535 "maxLength" : 64,
2536 "minLength" : 2,
2537 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2538 "type" : "string"
2539 },
2540 "nomatch" : {
2541 "optional" : 1,
013dc89f
DM
2542 "type" : "boolean",
2543 "typetext" : "<boolean>"
44660702
DM
2544 }
2545 }
2546 },
2547 "permissions" : {
2548 "check" : [
2549 "perm",
2550 "/",
2551 [
2552 "Sys.Modify"
2553 ]
2554 ]
2555 },
2556 "protected" : 1,
2557 "returns" : {
2558 "type" : "null"
2559 }
7aacca6f
DM
2560 }
2561 },
44660702
DM
2562 "leaf" : 1,
2563 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
2564 "text" : "{cidr}"
7aacca6f 2565 }
44660702 2566 ],
7aacca6f
DM
2567 "info" : {
2568 "DELETE" : {
e9cd3bd4 2569 "allowtoken" : 1,
44660702
DM
2570 "description" : "Delete IPSet",
2571 "method" : "DELETE",
2572 "name" : "delete_ipset",
56122987 2573 "parameters" : {
44660702 2574 "additionalProperties" : 0,
56122987
DM
2575 "properties" : {
2576 "name" : {
44660702 2577 "description" : "IP set name.",
56122987 2578 "maxLength" : 64,
44660702 2579 "minLength" : 2,
56122987 2580 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 2581 "type" : "string"
56122987 2582 }
44660702 2583 }
7aacca6f 2584 },
56122987
DM
2585 "permissions" : {
2586 "check" : [
2587 "perm",
2588 "/",
2589 [
2590 "Sys.Modify"
2591 ]
2592 ]
2593 },
7aacca6f
DM
2594 "protected" : 1,
2595 "returns" : {
2596 "type" : "null"
44660702 2597 }
7aacca6f 2598 },
44660702 2599 "GET" : {
e9cd3bd4 2600 "allowtoken" : 1,
44660702
DM
2601 "description" : "List IPSet content",
2602 "method" : "GET",
2603 "name" : "get_ipset",
56122987
DM
2604 "parameters" : {
2605 "additionalProperties" : 0,
2606 "properties" : {
7aacca6f 2607 "name" : {
44660702 2608 "description" : "IP set name.",
7aacca6f 2609 "maxLength" : 64,
7aacca6f 2610 "minLength" : 2,
44660702 2611 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 2612 "type" : "string"
56122987 2613 }
7aacca6f 2614 }
56122987 2615 },
56122987
DM
2616 "permissions" : {
2617 "check" : [
2618 "perm",
2619 "/",
2620 [
44660702 2621 "Sys.Audit"
56122987
DM
2622 ]
2623 ]
44660702
DM
2624 },
2625 "returns" : {
2626 "items" : {
2627 "properties" : {
2628 "cidr" : {
2629 "type" : "string"
2630 },
2631 "comment" : {
2632 "optional" : 1,
2633 "type" : "string"
2634 },
2635 "digest" : {
2636 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2637 "maxLength" : 40,
2638 "optional" : 0,
2639 "type" : "string"
2640 },
2641 "nomatch" : {
2642 "optional" : 1,
2643 "type" : "boolean"
2644 }
2645 },
2646 "type" : "object"
2647 },
2648 "links" : [
2649 {
2650 "href" : "{cidr}",
2651 "rel" : "child"
2652 }
2653 ],
2654 "type" : "array"
7aacca6f
DM
2655 }
2656 },
44660702 2657 "POST" : {
e9cd3bd4 2658 "allowtoken" : 1,
44660702
DM
2659 "description" : "Add IP or Network to IPSet.",
2660 "method" : "POST",
2661 "name" : "create_ip",
56122987
DM
2662 "parameters" : {
2663 "additionalProperties" : 0,
2664 "properties" : {
44660702
DM
2665 "cidr" : {
2666 "description" : "Network/IP specification in CIDR format.",
2667 "format" : "IPorCIDRorAlias",
013dc89f
DM
2668 "type" : "string",
2669 "typetext" : "<string>"
44660702
DM
2670 },
2671 "comment" : {
2672 "optional" : 1,
013dc89f
DM
2673 "type" : "string",
2674 "typetext" : "<string>"
44660702
DM
2675 },
2676 "name" : {
2677 "description" : "IP set name.",
2678 "maxLength" : 64,
2679 "minLength" : 2,
2680 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2681 "type" : "string"
2682 },
2683 "nomatch" : {
2684 "optional" : 1,
013dc89f
DM
2685 "type" : "boolean",
2686 "typetext" : "<boolean>"
56122987
DM
2687 }
2688 }
2689 },
56122987
DM
2690 "permissions" : {
2691 "check" : [
2692 "perm",
2693 "/",
2694 [
44660702 2695 "Sys.Modify"
56122987
DM
2696 ]
2697 ]
2698 },
44660702 2699 "protected" : 1,
56122987 2700 "returns" : {
44660702
DM
2701 "type" : "null"
2702 }
56122987
DM
2703 }
2704 },
44660702
DM
2705 "leaf" : 0,
2706 "path" : "/cluster/firewall/ipset/{name}",
2707 "text" : "{name}"
56122987
DM
2708 }
2709 ],
56122987 2710 "info" : {
44660702 2711 "GET" : {
e9cd3bd4 2712 "allowtoken" : 1,
44660702
DM
2713 "description" : "List IPSets",
2714 "method" : "GET",
2715 "name" : "ipset_index",
56122987 2716 "parameters" : {
7aacca6f 2717 "additionalProperties" : 0
56122987 2718 },
56122987
DM
2719 "permissions" : {
2720 "check" : [
2721 "perm",
2722 "/",
2723 [
7aacca6f 2724 "Sys.Audit"
56122987
DM
2725 ]
2726 ]
2727 },
56122987
DM
2728 "returns" : {
2729 "items" : {
2730 "properties" : {
44660702
DM
2731 "comment" : {
2732 "optional" : 1,
2733 "type" : "string"
56122987 2734 },
44660702
DM
2735 "digest" : {
2736 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2737 "maxLength" : 40,
2738 "optional" : 0,
2739 "type" : "string"
2740 },
2741 "name" : {
2742 "description" : "IP set name.",
2743 "maxLength" : 64,
2744 "minLength" : 2,
2745 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 2746 "type" : "string"
56122987
DM
2747 }
2748 },
2749 "type" : "object"
44660702
DM
2750 },
2751 "links" : [
2752 {
2753 "href" : "{name}",
2754 "rel" : "child"
2755 }
2756 ],
2757 "type" : "array"
56122987 2758 }
44660702
DM
2759 },
2760 "POST" : {
e9cd3bd4 2761 "allowtoken" : 1,
44660702
DM
2762 "description" : "Create new IPSet",
2763 "method" : "POST",
2764 "name" : "create_ipset",
7aacca6f
DM
2765 "parameters" : {
2766 "additionalProperties" : 0,
2767 "properties" : {
44660702
DM
2768 "comment" : {
2769 "optional" : 1,
013dc89f
DM
2770 "type" : "string",
2771 "typetext" : "<string>"
44660702
DM
2772 },
2773 "digest" : {
2774 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2775 "maxLength" : 40,
2776 "optional" : 1,
013dc89f
DM
2777 "type" : "string",
2778 "typetext" : "<string>"
44660702
DM
2779 },
2780 "name" : {
2781 "description" : "IP set name.",
2782 "maxLength" : 64,
2783 "minLength" : 2,
2784 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2785 "type" : "string"
2786 },
2787 "rename" : {
2788 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2789 "maxLength" : 64,
2790 "minLength" : 2,
2791 "optional" : 1,
2792 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2793 "type" : "string"
7aacca6f
DM
2794 }
2795 }
2796 },
56122987
DM
2797 "permissions" : {
2798 "check" : [
2799 "perm",
2800 "/",
2801 [
44660702 2802 "Sys.Modify"
56122987
DM
2803 ]
2804 ]
2805 },
44660702 2806 "protected" : 1,
56122987 2807 "returns" : {
44660702
DM
2808 "type" : "null"
2809 }
56122987 2810 }
7aacca6f 2811 },
44660702
DM
2812 "leaf" : 0,
2813 "path" : "/cluster/firewall/ipset",
2814 "text" : "ipset"
2815 },
56122987 2816 {
44660702
DM
2817 "children" : [
2818 {
2819 "info" : {
2820 "DELETE" : {
e9cd3bd4 2821 "allowtoken" : 1,
44660702
DM
2822 "description" : "Remove IP or Network alias.",
2823 "method" : "DELETE",
2824 "name" : "remove_alias",
2825 "parameters" : {
2826 "additionalProperties" : 0,
2827 "properties" : {
2828 "digest" : {
2829 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2830 "maxLength" : 40,
2831 "optional" : 1,
013dc89f
DM
2832 "type" : "string",
2833 "typetext" : "<string>"
44660702
DM
2834 },
2835 "name" : {
2836 "description" : "Alias name.",
2837 "maxLength" : 64,
2838 "minLength" : 2,
2839 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2840 "type" : "string"
2841 }
2842 }
2843 },
2844 "permissions" : {
2845 "check" : [
2846 "perm",
2847 "/",
2848 [
2849 "Sys.Modify"
2850 ]
2851 ]
2852 },
2853 "protected" : 1,
2854 "returns" : {
2855 "type" : "null"
2856 }
2857 },
2858 "GET" : {
e9cd3bd4 2859 "allowtoken" : 1,
44660702
DM
2860 "description" : "Read alias.",
2861 "method" : "GET",
2862 "name" : "read_alias",
2863 "parameters" : {
2864 "additionalProperties" : 0,
2865 "properties" : {
2866 "name" : {
2867 "description" : "Alias name.",
2868 "maxLength" : 64,
2869 "minLength" : 2,
2870 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2871 "type" : "string"
2872 }
2873 }
2874 },
2875 "permissions" : {
2876 "check" : [
2877 "perm",
2878 "/",
2879 [
2880 "Sys.Audit"
2881 ]
2882 ]
2883 },
2884 "returns" : {
2885 "type" : "object"
2886 }
2887 },
2888 "PUT" : {
e9cd3bd4 2889 "allowtoken" : 1,
44660702
DM
2890 "description" : "Update IP or Network alias.",
2891 "method" : "PUT",
2892 "name" : "update_alias",
2893 "parameters" : {
2894 "additionalProperties" : 0,
2895 "properties" : {
2896 "cidr" : {
2897 "description" : "Network/IP specification in CIDR format.",
2898 "format" : "IPorCIDR",
013dc89f
DM
2899 "type" : "string",
2900 "typetext" : "<string>"
44660702
DM
2901 },
2902 "comment" : {
2903 "optional" : 1,
013dc89f
DM
2904 "type" : "string",
2905 "typetext" : "<string>"
44660702
DM
2906 },
2907 "digest" : {
2908 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2909 "maxLength" : 40,
2910 "optional" : 1,
013dc89f
DM
2911 "type" : "string",
2912 "typetext" : "<string>"
44660702
DM
2913 },
2914 "name" : {
2915 "description" : "Alias name.",
2916 "maxLength" : 64,
2917 "minLength" : 2,
2918 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2919 "type" : "string"
2920 },
2921 "rename" : {
2922 "description" : "Rename an existing alias.",
2923 "maxLength" : 64,
2924 "minLength" : 2,
2925 "optional" : 1,
2926 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2927 "type" : "string"
2928 }
2929 }
2930 },
2931 "permissions" : {
2932 "check" : [
2933 "perm",
2934 "/",
2935 [
2936 "Sys.Modify"
2937 ]
2938 ]
2939 },
2940 "protected" : 1,
2941 "returns" : {
2942 "type" : "null"
2943 }
2944 }
2945 },
2946 "leaf" : 1,
2947 "path" : "/cluster/firewall/aliases/{name}",
2948 "text" : "{name}"
2949 }
2950 ],
2951 "info" : {
2952 "GET" : {
e9cd3bd4 2953 "allowtoken" : 1,
44660702
DM
2954 "description" : "List aliases",
2955 "method" : "GET",
2956 "name" : "get_aliases",
2957 "parameters" : {
2958 "additionalProperties" : 0
2959 },
2960 "permissions" : {
2961 "check" : [
2962 "perm",
2963 "/",
2964 [
2965 "Sys.Audit"
2966 ]
2967 ]
2968 },
2969 "returns" : {
2970 "items" : {
2971 "properties" : {
2972 "cidr" : {
2973 "type" : "string"
2974 },
2975 "comment" : {
2976 "optional" : 1,
2977 "type" : "string"
2978 },
2979 "digest" : {
2980 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2981 "maxLength" : 40,
2982 "optional" : 0,
2983 "type" : "string"
2984 },
2985 "name" : {
2986 "type" : "string"
2987 }
2988 },
2989 "type" : "object"
2990 },
2991 "links" : [
2992 {
2993 "href" : "{name}",
2994 "rel" : "child"
2995 }
2996 ],
2997 "type" : "array"
2998 }
2999 },
3000 "POST" : {
e9cd3bd4 3001 "allowtoken" : 1,
44660702
DM
3002 "description" : "Create IP or Network Alias.",
3003 "method" : "POST",
3004 "name" : "create_alias",
56122987
DM
3005 "parameters" : {
3006 "additionalProperties" : 0,
3007 "properties" : {
44660702
DM
3008 "cidr" : {
3009 "description" : "Network/IP specification in CIDR format.",
3010 "format" : "IPorCIDR",
013dc89f
DM
3011 "type" : "string",
3012 "typetext" : "<string>"
44660702
DM
3013 },
3014 "comment" : {
3015 "optional" : 1,
013dc89f
DM
3016 "type" : "string",
3017 "typetext" : "<string>"
44660702
DM
3018 },
3019 "name" : {
3020 "description" : "Alias name.",
3021 "maxLength" : 64,
3022 "minLength" : 2,
3023 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3024 "type" : "string"
56122987
DM
3025 }
3026 }
3027 },
56122987
DM
3028 "permissions" : {
3029 "check" : [
3030 "perm",
3031 "/",
3032 [
3033 "Sys.Modify"
3034 ]
3035 ]
3036 },
44660702 3037 "protected" : 1,
56122987
DM
3038 "returns" : {
3039 "type" : "null"
3040 }
44660702
DM
3041 }
3042 },
3043 "leaf" : 0,
3044 "path" : "/cluster/firewall/aliases",
3045 "text" : "aliases"
3046 },
3047 {
3048 "info" : {
3049 "GET" : {
e9cd3bd4 3050 "allowtoken" : 1,
44660702
DM
3051 "description" : "Get Firewall options.",
3052 "method" : "GET",
3053 "name" : "get_options",
3054 "parameters" : {
3055 "additionalProperties" : 0
7aacca6f 3056 },
56122987
DM
3057 "permissions" : {
3058 "check" : [
3059 "perm",
3060 "/",
3061 [
44660702 3062 "Sys.Audit"
56122987
DM
3063 ]
3064 ]
3065 },
44660702 3066 "returns" : {
56122987 3067 "properties" : {
5da3d723
TL
3068 "ebtables" : {
3069 "default" : 1,
3070 "description" : "Enable ebtables rules cluster wide.",
3071 "optional" : 1,
3072 "type" : "boolean"
3073 },
44660702
DM
3074 "enable" : {
3075 "description" : "Enable or disable the firewall cluster wide.",
3076 "minimum" : 0,
56122987 3077 "optional" : 1,
7aacca6f 3078 "type" : "integer"
56122987 3079 },
95895385
TL
3080 "log_ratelimit" : {
3081 "description" : "Log ratelimiting settings",
3082 "format" : {
3083 "burst" : {
3084 "default" : 5,
4772952b 3085 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
3086 "minimum" : 0,
3087 "optional" : 1,
3088 "type" : "integer"
3089 },
3090 "enable" : {
3091 "default" : "1",
3092 "default_key" : 1,
3093 "description" : "Enable or disable log rate limiting",
3094 "type" : "boolean"
3095 },
3096 "rate" : {
3097 "default" : "1/second",
3098 "description" : "Frequency with which the burst bucket gets refilled",
3099 "format_description" : "rate",
3100 "optional" : 1,
3101 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3102 "type" : "string"
3103 }
3104 },
3105 "optional" : 1,
3106 "type" : "string"
3107 },
44660702
DM
3108 "policy_in" : {
3109 "description" : "Input policy.",
3110 "enum" : [
3111 "ACCEPT",
3112 "REJECT",
3113 "DROP"
3114 ],
56122987 3115 "optional" : 1,
44660702 3116 "type" : "string"
7aacca6f 3117 },
44660702
DM
3118 "policy_out" : {
3119 "description" : "Output policy.",
3120 "enum" : [
3121 "ACCEPT",
3122 "REJECT",
3123 "DROP"
3124 ],
7aacca6f 3125 "optional" : 1,
44660702
DM
3126 "type" : "string"
3127 }
3128 },
3129 "type" : "object"
3130 }
3131 },
3132 "PUT" : {
e9cd3bd4 3133 "allowtoken" : 1,
44660702
DM
3134 "description" : "Set Firewall options.",
3135 "method" : "PUT",
3136 "name" : "set_options",
3137 "parameters" : {
3138 "additionalProperties" : 0,
3139 "properties" : {
3140 "delete" : {
3141 "description" : "A list of settings you want to delete.",
3142 "format" : "pve-configid-list",
56122987 3143 "optional" : 1,
013dc89f
DM
3144 "type" : "string",
3145 "typetext" : "<string>"
56122987 3146 },
44660702
DM
3147 "digest" : {
3148 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3149 "maxLength" : 40,
56122987 3150 "optional" : 1,
013dc89f
DM
3151 "type" : "string",
3152 "typetext" : "<string>"
56122987 3153 },
5da3d723
TL
3154 "ebtables" : {
3155 "default" : 1,
3156 "description" : "Enable ebtables rules cluster wide.",
3157 "optional" : 1,
3158 "type" : "boolean",
3159 "typetext" : "<boolean>"
3160 },
44660702
DM
3161 "enable" : {
3162 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 3163 "minimum" : 0,
56122987 3164 "optional" : 1,
4bd7df8b 3165 "type" : "integer",
013dc89f 3166 "typetext" : "<integer> (0 - N)"
56122987 3167 },
95895385
TL
3168 "log_ratelimit" : {
3169 "description" : "Log ratelimiting settings",
3170 "format" : {
3171 "burst" : {
3172 "default" : 5,
4772952b 3173 "description" : "Initial burst of packages which will always get logged before the rate is applied",
95895385
TL
3174 "minimum" : 0,
3175 "optional" : 1,
3176 "type" : "integer"
3177 },
3178 "enable" : {
3179 "default" : "1",
3180 "default_key" : 1,
3181 "description" : "Enable or disable log rate limiting",
3182 "type" : "boolean"
3183 },
3184 "rate" : {
3185 "default" : "1/second",
3186 "description" : "Frequency with which the burst bucket gets refilled",
3187 "format_description" : "rate",
3188 "optional" : 1,
3189 "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
3190 "type" : "string"
3191 }
3192 },
3193 "optional" : 1,
3194 "type" : "string",
3195 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
3196 },
44660702
DM
3197 "policy_in" : {
3198 "description" : "Input policy.",
56122987 3199 "enum" : [
44660702
DM
3200 "ACCEPT",
3201 "REJECT",
3202 "DROP"
56122987 3203 ],
56122987 3204 "optional" : 1,
44660702 3205 "type" : "string"
56122987 3206 },
44660702
DM
3207 "policy_out" : {
3208 "description" : "Output policy.",
56122987 3209 "enum" : [
44660702
DM
3210 "ACCEPT",
3211 "REJECT",
3212 "DROP"
56122987 3213 ],
7aacca6f 3214 "optional" : 1,
44660702 3215 "type" : "string"
56122987 3216 }
44660702
DM
3217 }
3218 },
3219 "permissions" : {
3220 "check" : [
3221 "perm",
3222 "/",
3223 [
3224 "Sys.Modify"
3225 ]
3226 ]
7aacca6f
DM
3227 },
3228 "protected" : 1,
44660702
DM
3229 "returns" : {
3230 "type" : "null"
3231 }
3232 }
3233 },
3234 "leaf" : 1,
3235 "path" : "/cluster/firewall/options",
3236 "text" : "options"
3237 },
3238 {
3239 "info" : {
7aacca6f 3240 "GET" : {
e9cd3bd4 3241 "allowtoken" : 1,
44660702 3242 "description" : "List available macros",
7aacca6f 3243 "method" : "GET",
44660702
DM
3244 "name" : "get_macros",
3245 "parameters" : {
3246 "additionalProperties" : 0
7aacca6f 3247 },
44660702
DM
3248 "permissions" : {
3249 "user" : "all"
3250 },
3251 "returns" : {
3252 "items" : {
3253 "properties" : {
3254 "descr" : {
3255 "description" : "More verbose description (if available).",
3256 "type" : "string"
3257 },
3258 "macro" : {
3259 "description" : "Macro name.",
3260 "type" : "string"
3261 }
3262 },
3263 "type" : "object"
3264 },
3265 "type" : "array"
3266 }
3267 }
3268 },
3269 "leaf" : 1,
3270 "path" : "/cluster/firewall/macros",
3271 "text" : "macros"
3272 },
3273 {
3274 "info" : {
3275 "GET" : {
e9cd3bd4 3276 "allowtoken" : 1,
44660702
DM
3277 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
3278 "method" : "GET",
3279 "name" : "refs",
7aacca6f 3280 "parameters" : {
44660702 3281 "additionalProperties" : 0,
7aacca6f 3282 "properties" : {
44660702
DM
3283 "type" : {
3284 "description" : "Only list references of specified type.",
3285 "enum" : [
3286 "alias",
3287 "ipset"
3288 ],
3289 "optional" : 1,
3290 "type" : "string"
7aacca6f 3291 }
44660702 3292 }
7aacca6f
DM
3293 },
3294 "permissions" : {
3295 "check" : [
3296 "perm",
3297 "/",
3298 [
3299 "Sys.Audit"
3300 ]
3301 ]
3302 },
44660702
DM
3303 "returns" : {
3304 "items" : {
3305 "properties" : {
3306 "comment" : {
3307 "optional" : 1,
3308 "type" : "string"
3309 },
3310 "name" : {
3311 "type" : "string"
3312 },
3313 "ref" : {
3314 "type" : "string"
3315 },
3316 "type" : {
3317 "enum" : [
3318 "alias",
3319 "ipset"
3320 ],
3321 "type" : "string"
3322 }
3323 },
3324 "type" : "object"
3325 },
3326 "type" : "array"
3327 }
56122987
DM
3328 }
3329 },
7aacca6f 3330 "leaf" : 1,
44660702
DM
3331 "path" : "/cluster/firewall/refs",
3332 "text" : "refs"
56122987
DM
3333 }
3334 ],
56122987 3335 "info" : {
44660702 3336 "GET" : {
e9cd3bd4 3337 "allowtoken" : 1,
44660702
DM
3338 "description" : "Directory index.",
3339 "method" : "GET",
3340 "name" : "index",
56122987 3341 "parameters" : {
56122987
DM
3342 "additionalProperties" : 0
3343 },
44660702
DM
3344 "permissions" : {
3345 "user" : "all"
3346 },
56122987 3347 "returns" : {
44660702
DM
3348 "items" : {
3349 "properties" : {},
3350 "type" : "object"
3351 },
7aacca6f
DM
3352 "links" : [
3353 {
44660702
DM
3354 "href" : "{name}",
3355 "rel" : "child"
7aacca6f
DM
3356 }
3357 ],
7aacca6f 3358 "type" : "array"
7aacca6f 3359 }
56122987
DM
3360 }
3361 },
44660702
DM
3362 "leaf" : 0,
3363 "path" : "/cluster/firewall",
3364 "text" : "firewall"
7aacca6f
DM
3365 },
3366 {
56122987
DM
3367 "children" : [
3368 {
04d22a9f
TL
3369 "children" : [
3370 {
3371 "info" : {
3372 "GET" : {
3373 "allowtoken" : 1,
3374 "description" : "Returns included guests and the backup status of their disks. Optimized to be used in ExtJS tree views.",
3375 "method" : "GET",
3376 "name" : "get_volume_backup_included",
3377 "parameters" : {
3378 "additionalProperties" : 0,
3379 "properties" : {
3380 "id" : {
3381 "description" : "The job ID.",
3382 "maxLength" : 50,
3383 "type" : "string",
3384 "typetext" : "<string>"
3385 }
3386 }
3387 },
3388 "permissions" : {
3389 "check" : [
3390 "perm",
3391 "/",
3392 [
3393 "Sys.Audit"
3394 ]
3395 ]
3396 },
3397 "protected" : 1,
3398 "returns" : {
3399 "description" : "Root node of the tree object. Children represent guests, grandchildren represent volumes of that guest.",
3400 "properties" : {
3401 "children" : {
3402 "items" : {
3403 "properties" : {
3404 "children" : {
3405 "description" : "The volumes of the guest with the information if they will be included in backups.",
3406 "items" : {
3407 "properties" : {
3408 "id" : {
3409 "description" : "Configuration key of the volume.",
3410 "type" : "string"
3411 },
3412 "included" : {
3413 "description" : "Whether the volume is included in the backup or not.",
3414 "type" : "boolean"
3415 },
3416 "name" : {
3417 "description" : "Name of the volume.",
3418 "type" : "string"
3419 },
3420 "reason" : {
3421 "description" : "The reason why the volume is included (or excluded).",
3422 "type" : "string"
3423 }
3424 },
3425 "type" : "object"
3426 },
3427 "optional" : 1,
3428 "type" : "array"
3429 },
3430 "id" : {
3431 "description" : "VMID of the guest.",
3432 "type" : "integer"
3433 },
3434 "name" : {
3435 "description" : "Name of the guest",
3436 "optional" : 1,
3437 "type" : "string"
3438 },
3439 "type" : {
3440 "description" : "Type of the guest, VM, CT or unknown for removed but not purged guests.",
3441 "enum" : [
3442 "qemu",
3443 "lxc",
3444 "unknown"
3445 ],
3446 "type" : "string"
3447 }
3448 },
3449 "type" : "object"
3450 },
3451 "type" : "array"
3452 }
3453 },
3454 "type" : "object"
3455 }
3456 }
3457 },
3458 "leaf" : 1,
3459 "path" : "/cluster/backup/{id}/included_volumes",
3460 "text" : "included_volumes"
3461 }
3462 ],
56122987 3463 "info" : {
44660702 3464 "DELETE" : {
e9cd3bd4 3465 "allowtoken" : 1,
44660702
DM
3466 "description" : "Delete vzdump backup job definition.",
3467 "method" : "DELETE",
3468 "name" : "delete_job",
3469 "parameters" : {
3470 "additionalProperties" : 0,
3471 "properties" : {
3472 "id" : {
3473 "description" : "The job ID.",
3474 "maxLength" : 50,
013dc89f
DM
3475 "type" : "string",
3476 "typetext" : "<string>"
44660702
DM
3477 }
3478 }
3479 },
3480 "permissions" : {
3481 "check" : [
3482 "perm",
3483 "/",
3484 [
3485 "Sys.Modify"
3486 ]
3487 ]
3488 },
3489 "protected" : 1,
56122987
DM
3490 "returns" : {
3491 "type" : "null"
44660702
DM
3492 }
3493 },
3494 "GET" : {
e9cd3bd4 3495 "allowtoken" : 1,
44660702
DM
3496 "description" : "Read vzdump backup job definition.",
3497 "method" : "GET",
3498 "name" : "read_job",
3499 "parameters" : {
3500 "additionalProperties" : 0,
3501 "properties" : {
3502 "id" : {
3503 "description" : "The job ID.",
3504 "maxLength" : 50,
013dc89f
DM
3505 "type" : "string",
3506 "typetext" : "<string>"
44660702
DM
3507 }
3508 }
56122987 3509 },
7aacca6f
DM
3510 "permissions" : {
3511 "check" : [
3512 "perm",
3513 "/",
3514 [
44660702 3515 "Sys.Audit"
7aacca6f
DM
3516 ]
3517 ]
3518 },
44660702
DM
3519 "returns" : {
3520 "type" : "object"
3521 }
3522 },
3523 "PUT" : {
e9cd3bd4 3524 "allowtoken" : 1,
44660702
DM
3525 "description" : "Update vzdump backup job definition.",
3526 "method" : "PUT",
3527 "name" : "update_job",
56122987 3528 "parameters" : {
44660702 3529 "additionalProperties" : 0,
56122987 3530 "properties" : {
44660702
DM
3531 "all" : {
3532 "default" : 0,
3533 "description" : "Backup all known guest systems on this host.",
7aacca6f 3534 "optional" : 1,
013dc89f
DM
3535 "type" : "boolean",
3536 "typetext" : "<boolean>"
7aacca6f 3537 },
44660702
DM
3538 "bwlimit" : {
3539 "default" : 0,
3540 "description" : "Limit I/O bandwidth (KBytes per second).",
3541 "minimum" : 0,
3542 "optional" : 1,
4bd7df8b 3543 "type" : "integer",
013dc89f 3544 "typetext" : "<integer> (0 - N)"
44660702
DM
3545 },
3546 "compress" : {
3547 "default" : "0",
3548 "description" : "Compress dump file.",
7aacca6f 3549 "enum" : [
44660702
DM
3550 "0",
3551 "1",
3552 "gzip",
c5aa7e14
TL
3553 "lzo",
3554 "zstd"
7aacca6f 3555 ],
44660702
DM
3556 "optional" : 1,
3557 "type" : "string"
7aacca6f 3558 },
44660702
DM
3559 "delete" : {
3560 "description" : "A list of settings you want to delete.",
3561 "format" : "pve-configid-list",
7aacca6f 3562 "optional" : 1,
013dc89f
DM
3563 "type" : "string",
3564 "typetext" : "<string>"
56122987 3565 },
44660702
DM
3566 "dow" : {
3567 "description" : "Day of week selection.",
3568 "format" : "pve-day-of-week-list",
7aacca6f 3569 "optional" : 1,
013dc89f
DM
3570 "type" : "string",
3571 "typetext" : "<string>"
56122987 3572 },
44660702
DM
3573 "dumpdir" : {
3574 "description" : "Store resulting files to specified directory.",
56122987 3575 "optional" : 1,
013dc89f
DM
3576 "type" : "string",
3577 "typetext" : "<string>"
56122987 3578 },
44660702
DM
3579 "enabled" : {
3580 "default" : "1",
3581 "description" : "Enable or disable the job.",
3582 "optional" : 1,
013dc89f
DM
3583 "type" : "boolean",
3584 "typetext" : "<boolean>"
44660702
DM
3585 },
3586 "exclude" : {
3587 "description" : "Exclude specified guest systems (assumes --all)",
3588 "format" : "pve-vmid-list",
3589 "optional" : 1,
013dc89f
DM
3590 "type" : "string",
3591 "typetext" : "<string>"
44660702
DM
3592 },
3593 "exclude-path" : {
d2656385 3594 "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
3595 "format" : "string-alist",
3596 "optional" : 1,
013dc89f
DM
3597 "type" : "string",
3598 "typetext" : "<string>"
44660702
DM
3599 },
3600 "id" : {
3601 "description" : "The job ID.",
3602 "maxLength" : 50,
013dc89f
DM
3603 "type" : "string",
3604 "typetext" : "<string>"
44660702
DM
3605 },
3606 "ionice" : {
3607 "default" : 7,
3608 "description" : "Set CFQ ionice priority.",
3609 "maximum" : 8,
3610 "minimum" : 0,
3611 "optional" : 1,
4bd7df8b 3612 "type" : "integer",
013dc89f 3613 "typetext" : "<integer> (0 - 8)"
44660702
DM
3614 },
3615 "lockwait" : {
3616 "default" : 180,
3617 "description" : "Maximal time to wait for the global lock (minutes).",
3618 "minimum" : 0,
3619 "optional" : 1,
4bd7df8b 3620 "type" : "integer",
013dc89f 3621 "typetext" : "<integer> (0 - N)"
44660702
DM
3622 },
3623 "mailnotification" : {
3624 "default" : "always",
3625 "description" : "Specify when to send an email",
56122987 3626 "enum" : [
44660702
DM
3627 "always",
3628 "failure"
56122987 3629 ],
44660702
DM
3630 "optional" : 1,
3631 "type" : "string"
3632 },
3633 "mailto" : {
d2656385
TL
3634 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
3635 "format" : "email-or-username-list",
44660702 3636 "optional" : 1,
013dc89f
DM
3637 "type" : "string",
3638 "typetext" : "<string>"
44660702
DM
3639 },
3640 "maxfiles" : {
3641 "default" : 1,
3642 "description" : "Maximal number of backup files per guest system.",
3643 "minimum" : 1,
3644 "optional" : 1,
4bd7df8b 3645 "type" : "integer",
013dc89f 3646 "typetext" : "<integer> (1 - N)"
44660702
DM
3647 },
3648 "mode" : {
3649 "default" : "snapshot",
3650 "description" : "Backup mode.",
3651 "enum" : [
3652 "snapshot",
3653 "suspend",
3654 "stop"
3655 ],
3656 "optional" : 1,
3657 "type" : "string"
3658 },
3659 "node" : {
3660 "description" : "Only run if executed on this node.",
3661 "format" : "pve-node",
3662 "optional" : 1,
013dc89f
DM
3663 "type" : "string",
3664 "typetext" : "<string>"
44660702
DM
3665 },
3666 "pigz" : {
3667 "default" : 0,
3668 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3669 "optional" : 1,
013dc89f
DM
3670 "type" : "integer",
3671 "typetext" : "<integer>"
44660702 3672 },
9226ccbc
TL
3673 "pool" : {
3674 "description" : "Backup all known guest systems included in the specified pool.",
3675 "optional" : 1,
3676 "type" : "string",
3677 "typetext" : "<string>"
3678 },
739d4d64
TL
3679 "prune-backups" : {
3680 "description" : "Use these retention options instead of those from the storage configuration.",
3681 "format" : "prune-backups",
3682 "optional" : 1,
3683 "type" : "string",
4772952b 3684 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 3685 },
44660702
DM
3686 "quiet" : {
3687 "default" : 0,
3688 "description" : "Be quiet.",
3689 "optional" : 1,
013dc89f
DM
3690 "type" : "boolean",
3691 "typetext" : "<boolean>"
44660702
DM
3692 },
3693 "remove" : {
3694 "default" : 1,
3695 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
3696 "optional" : 1,
013dc89f
DM
3697 "type" : "boolean",
3698 "typetext" : "<boolean>"
44660702
DM
3699 },
3700 "script" : {
3701 "description" : "Use specified hook script.",
3702 "optional" : 1,
013dc89f
DM
3703 "type" : "string",
3704 "typetext" : "<string>"
44660702
DM
3705 },
3706 "size" : {
3707 "default" : 1024,
3708 "description" : "Unused, will be removed in a future release.",
3709 "minimum" : 500,
3710 "optional" : 1,
4bd7df8b 3711 "type" : "integer",
013dc89f 3712 "typetext" : "<integer> (500 - N)"
44660702
DM
3713 },
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" : {
3936 "default" : 1,
3937 "description" : "Maximal number of backup files per guest system.",
3938 "minimum" : 1,
3939 "optional" : 1,
4bd7df8b 3940 "type" : "integer",
013dc89f 3941 "typetext" : "<integer> (1 - N)"
44660702
DM
3942 },
3943 "mode" : {
3944 "default" : "snapshot",
3945 "description" : "Backup mode.",
3946 "enum" : [
3947 "snapshot",
3948 "suspend",
3949 "stop"
3950 ],
3951 "optional" : 1,
3952 "type" : "string"
3953 },
3954 "node" : {
3955 "description" : "Only run if executed on this node.",
3956 "format" : "pve-node",
3957 "optional" : 1,
013dc89f
DM
3958 "type" : "string",
3959 "typetext" : "<string>"
44660702
DM
3960 },
3961 "pigz" : {
3962 "default" : 0,
3963 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
3964 "optional" : 1,
013dc89f
DM
3965 "type" : "integer",
3966 "typetext" : "<integer>"
44660702 3967 },
9226ccbc
TL
3968 "pool" : {
3969 "description" : "Backup all known guest systems included in the specified pool.",
3970 "optional" : 1,
3971 "type" : "string",
3972 "typetext" : "<string>"
3973 },
739d4d64
TL
3974 "prune-backups" : {
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,
3990 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
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
DM
4000 },
4001 "size" : {
4002 "default" : 1024,
4003 "description" : "Unused, will be removed in a future release.",
4004 "minimum" : 500,
4005 "optional" : 1,
4bd7df8b 4006 "type" : "integer",
013dc89f 4007 "typetext" : "<integer> (500 - N)"
44660702
DM
4008 },
4009 "starttime" : {
4010 "description" : "Job Start time.",
4011 "pattern" : "\\d{1,2}:\\d{1,2}",
4012 "type" : "string",
4013 "typetext" : "HH:MM"
4014 },
4015 "stdexcludes" : {
4016 "default" : 1,
4017 "description" : "Exclude temporary files and logs.",
4018 "optional" : 1,
013dc89f
DM
4019 "type" : "boolean",
4020 "typetext" : "<boolean>"
44660702
DM
4021 },
4022 "stop" : {
4023 "default" : 0,
1e3f8156 4024 "description" : "Stop running backup jobs on this host.",
44660702 4025 "optional" : 1,
013dc89f
DM
4026 "type" : "boolean",
4027 "typetext" : "<boolean>"
44660702
DM
4028 },
4029 "stopwait" : {
4030 "default" : 10,
4031 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
4032 "minimum" : 0,
4033 "optional" : 1,
4bd7df8b 4034 "type" : "integer",
013dc89f 4035 "typetext" : "<integer> (0 - N)"
44660702
DM
4036 },
4037 "storage" : {
4038 "description" : "Store resulting file to this storage.",
4039 "format" : "pve-storage-id",
4040 "optional" : 1,
013dc89f
DM
4041 "type" : "string",
4042 "typetext" : "<string>"
44660702
DM
4043 },
4044 "tmpdir" : {
4045 "description" : "Store temporary files to specified directory.",
4046 "optional" : 1,
013dc89f
DM
4047 "type" : "string",
4048 "typetext" : "<string>"
44660702
DM
4049 },
4050 "vmid" : {
4051 "description" : "The ID of the guest system you want to backup.",
4052 "format" : "pve-vmid-list",
4053 "optional" : 1,
013dc89f
DM
4054 "type" : "string",
4055 "typetext" : "<string>"
c5aa7e14
TL
4056 },
4057 "zstd" : {
4058 "default" : 1,
4059 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
4060 "optional" : 1,
4061 "type" : "integer",
4062 "typetext" : "<integer>"
44660702
DM
4063 }
4064 }
4065 },
4066 "permissions" : {
4067 "check" : [
4068 "perm",
4069 "/",
4070 [
4071 "Sys.Modify"
4072 ]
de0983cb
DM
4073 ],
4074 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
4075 },
4076 "protected" : 1,
4077 "returns" : {
4078 "type" : "null"
4079 }
4080 }
4081 },
4082 "leaf" : 0,
4083 "path" : "/cluster/backup",
4084 "text" : "backup"
4085 },
04d22a9f
TL
4086 {
4087 "children" : [
4088 {
4089 "info" : {
4090 "GET" : {
4091 "allowtoken" : 1,
4092 "description" : "Shows all guests which are not covered by any backup job.",
4093 "method" : "GET",
4094 "name" : "get_guests_not_in_backup",
4095 "parameters" : {
4096 "additionalProperties" : 0
4097 },
4098 "permissions" : {
4099 "check" : [
4100 "perm",
4101 "/",
4102 [
4103 "Sys.Audit"
4104 ]
4105 ]
4106 },
4107 "protected" : 1,
4108 "returns" : {
4109 "description" : "Contains the guest objects.",
4110 "items" : {
4111 "properties" : {
4112 "name" : {
4113 "description" : "Name of the guest",
4114 "optional" : 1,
4115 "type" : "string"
4116 },
4117 "type" : {
4118 "description" : "Type of the guest.",
4119 "enum" : [
4120 "qemu",
4121 "lxc"
4122 ],
4123 "type" : "string"
4124 },
4125 "vmid" : {
4126 "description" : "VMID of the guest.",
4127 "type" : "integer"
4128 }
4129 },
4130 "type" : "object"
4131 },
4132 "type" : "array"
4133 }
4134 }
4135 },
4136 "leaf" : 1,
4137 "path" : "/cluster/backupinfo/not_backed_up",
4138 "text" : "not_backed_up"
4139 }
4140 ],
4141 "info" : {
4142 "GET" : {
4143 "allowtoken" : 1,
4144 "description" : "Stub, waits for future use.",
4145 "method" : "GET",
4146 "name" : "get_backupinfo",
4147 "parameters" : {
4148 "additionalProperties" : 0
4149 },
4150 "protected" : 1,
4151 "returns" : {
4152 "description" : "Shows stub message",
4153 "type" : "string"
4154 }
4155 }
4156 },
4157 "leaf" : 0,
4158 "path" : "/cluster/backupinfo",
4159 "text" : "backupinfo"
4160 },
44660702
DM
4161 {
4162 "children" : [
4163 {
4164 "children" : [
4165 {
4166 "children" : [
56122987 4167 {
56122987
DM
4168 "info" : {
4169 "POST" : {
e9cd3bd4 4170 "allowtoken" : 1,
44660702
DM
4171 "description" : "Request resource migration (online) to another node.",
4172 "method" : "POST",
4173 "name" : "migrate",
56122987 4174 "parameters" : {
7aacca6f 4175 "additionalProperties" : 0,
56122987
DM
4176 "properties" : {
4177 "node" : {
95895385 4178 "description" : "Target node.",
44660702 4179 "format" : "pve-node",
013dc89f
DM
4180 "type" : "string",
4181 "typetext" : "<string>"
56122987
DM
4182 },
4183 "sid" : {
44660702 4184 "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 4185 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4186 "type" : "string",
44660702 4187 "typetext" : "<type>:<name>"
56122987 4188 }
7aacca6f 4189 }
56122987 4190 },
56122987
DM
4191 "permissions" : {
4192 "check" : [
4193 "perm",
4194 "/",
4195 [
4196 "Sys.Console"
4197 ]
4198 ]
4199 },
7aacca6f 4200 "protected" : 1,
7aacca6f
DM
4201 "returns" : {
4202 "type" : "null"
44660702 4203 }
56122987 4204 }
44660702
DM
4205 },
4206 "leaf" : 1,
4207 "path" : "/cluster/ha/resources/{sid}/migrate",
4208 "text" : "migrate"
4209 },
4210 {
4211 "info" : {
4212 "POST" : {
e9cd3bd4 4213 "allowtoken" : 1,
44660702
DM
4214 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
4215 "method" : "POST",
4216 "name" : "relocate",
4217 "parameters" : {
4218 "additionalProperties" : 0,
4219 "properties" : {
4220 "node" : {
95895385 4221 "description" : "Target node.",
44660702 4222 "format" : "pve-node",
013dc89f
DM
4223 "type" : "string",
4224 "typetext" : "<string>"
44660702
DM
4225 },
4226 "sid" : {
4227 "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).",
4228 "format" : "pve-ha-resource-or-vm-id",
4229 "type" : "string",
4230 "typetext" : "<type>:<name>"
4231 }
4232 }
4233 },
4234 "permissions" : {
4235 "check" : [
4236 "perm",
4237 "/",
4238 [
4239 "Sys.Console"
4240 ]
4241 ]
4242 },
4243 "protected" : 1,
4244 "returns" : {
4245 "type" : "null"
4246 }
4247 }
4248 },
4249 "leaf" : 1,
4250 "path" : "/cluster/ha/resources/{sid}/relocate",
4251 "text" : "relocate"
4252 }
4253 ],
4254 "info" : {
4255 "DELETE" : {
e9cd3bd4 4256 "allowtoken" : 1,
44660702
DM
4257 "description" : "Delete resource configuration.",
4258 "method" : "DELETE",
4259 "name" : "delete",
7aacca6f 4260 "parameters" : {
44660702 4261 "additionalProperties" : 0,
7aacca6f
DM
4262 "properties" : {
4263 "sid" : {
4264 "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 4265 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 4266 "type" : "string",
44660702
DM
4267 "typetext" : "<type>:<name>"
4268 }
4269 }
4270 },
4271 "permissions" : {
4272 "check" : [
4273 "perm",
4274 "/",
4275 [
4276 "Sys.Console"
4277 ]
4278 ]
4279 },
4280 "protected" : 1,
4281 "returns" : {
4282 "type" : "null"
4283 }
4284 },
4285 "GET" : {
e9cd3bd4 4286 "allowtoken" : 1,
44660702
DM
4287 "description" : "Read resource configuration.",
4288 "method" : "GET",
4289 "name" : "read",
4290 "parameters" : {
4291 "additionalProperties" : 0,
4292 "properties" : {
4293 "sid" : {
4294 "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 4295 "format" : "pve-ha-resource-or-vm-id",
44660702 4296 "type" : "string",
7aacca6f
DM
4297 "typetext" : "<type>:<name>"
4298 }
44660702 4299 }
7aacca6f
DM
4300 },
4301 "permissions" : {
4302 "check" : [
4303 "perm",
4304 "/",
4305 [
4306 "Sys.Audit"
4307 ]
4308 ]
4309 },
5f26e15b
TL
4310 "returns" : {
4311 "properties" : {
4312 "comment" : {
4313 "description" : "Description.",
4314 "optional" : 1,
4315 "type" : "string"
4316 },
4317 "digest" : {
4318 "description" : "Can be used to prevent concurrent modifications.",
4319 "type" : "string"
4320 },
4321 "group" : {
4322 "description" : "The HA group identifier.",
4323 "format" : "pve-configid",
4324 "optional" : 1,
4325 "type" : "string"
4326 },
4327 "max_relocate" : {
4328 "description" : "Maximal number of service relocate tries when a service failes to start.",
4329 "optional" : 1,
4330 "type" : "integer"
4331 },
4332 "max_restart" : {
4333 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4334 "optional" : 1,
4335 "type" : "integer"
4336 },
4337 "sid" : {
4338 "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).",
4339 "format" : "pve-ha-resource-or-vm-id",
4340 "type" : "string",
4341 "typetext" : "<type>:<name>"
4342 },
4343 "state" : {
4344 "description" : "Requested resource state.",
4345 "enum" : [
4346 "started",
4347 "stopped",
4348 "enabled",
4349 "disabled",
4350 "ignored"
4351 ],
4352 "optional" : 1,
4353 "type" : "string"
4354 },
4355 "type" : {
4356 "description" : "The type of the resources.",
4357 "type" : "string"
4358 }
4359 },
4360 "type" : "object"
4361 }
7aacca6f 4362 },
56122987 4363 "PUT" : {
e9cd3bd4 4364 "allowtoken" : 1,
44660702 4365 "description" : "Update resource configuration.",
7aacca6f 4366 "method" : "PUT",
44660702 4367 "name" : "update",
56122987
DM
4368 "parameters" : {
4369 "additionalProperties" : 0,
4370 "properties" : {
44660702
DM
4371 "comment" : {
4372 "description" : "Description.",
4373 "maxLength" : 4096,
56122987 4374 "optional" : 1,
013dc89f
DM
4375 "type" : "string",
4376 "typetext" : "<string>"
56122987 4377 },
7aacca6f
DM
4378 "delete" : {
4379 "description" : "A list of settings you want to delete.",
7aacca6f 4380 "format" : "pve-configid-list",
44660702
DM
4381 "maxLength" : 4096,
4382 "optional" : 1,
013dc89f
DM
4383 "type" : "string",
4384 "typetext" : "<string>"
56122987 4385 },
44660702
DM
4386 "digest" : {
4387 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4388 "maxLength" : 40,
4389 "optional" : 1,
013dc89f
DM
4390 "type" : "string",
4391 "typetext" : "<string>"
56122987 4392 },
44660702
DM
4393 "group" : {
4394 "description" : "The HA group identifier.",
4395 "format" : "pve-configid",
7aacca6f 4396 "optional" : 1,
013dc89f
DM
4397 "type" : "string",
4398 "typetext" : "<string>"
56122987
DM
4399 },
4400 "max_relocate" : {
7aacca6f 4401 "default" : 1,
56122987 4402 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
4403 "minimum" : 0,
4404 "optional" : 1,
4bd7df8b 4405 "type" : "integer",
013dc89f 4406 "typetext" : "<integer> (0 - N)"
7aacca6f 4407 },
44660702
DM
4408 "max_restart" : {
4409 "default" : 1,
4410 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4411 "minimum" : 0,
7aacca6f 4412 "optional" : 1,
4bd7df8b 4413 "type" : "integer",
013dc89f 4414 "typetext" : "<integer> (0 - N)"
44660702
DM
4415 },
4416 "sid" : {
4417 "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).",
4418 "format" : "pve-ha-resource-or-vm-id",
4419 "type" : "string",
4420 "typetext" : "<type>:<name>"
7aacca6f
DM
4421 },
4422 "state" : {
f13c1238
DM
4423 "default" : "started",
4424 "description" : "Requested resource state.",
7aacca6f 4425 "enum" : [
f13c1238
DM
4426 "started",
4427 "stopped",
7aacca6f 4428 "enabled",
2489d6df
WB
4429 "disabled",
4430 "ignored"
7aacca6f 4431 ],
7aacca6f 4432 "optional" : 1,
f13c1238 4433 "type" : "string",
2489d6df 4434 "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 4435 }
44660702
DM
4436 },
4437 "type" : "object"
56122987 4438 },
56122987
DM
4439 "permissions" : {
4440 "check" : [
4441 "perm",
4442 "/",
4443 [
4444 "Sys.Console"
4445 ]
4446 ]
4447 },
7aacca6f 4448 "protected" : 1,
56122987
DM
4449 "returns" : {
4450 "type" : "null"
4451 }
4452 }
4453 },
44660702 4454 "leaf" : 0,
7aacca6f 4455 "path" : "/cluster/ha/resources/{sid}",
44660702 4456 "text" : "{sid}"
56122987
DM
4457 }
4458 ],
7aacca6f
DM
4459 "info" : {
4460 "GET" : {
e9cd3bd4 4461 "allowtoken" : 1,
44660702
DM
4462 "description" : "List HA resources.",
4463 "method" : "GET",
4464 "name" : "index",
7aacca6f 4465 "parameters" : {
44660702
DM
4466 "additionalProperties" : 0,
4467 "properties" : {
4468 "type" : {
4469 "description" : "Only list resources of specific type",
4470 "enum" : [
4471 "ct",
4472 "vm"
4473 ],
4474 "optional" : 1,
4475 "type" : "string"
4476 }
4477 }
7aacca6f 4478 },
7aacca6f
DM
4479 "permissions" : {
4480 "check" : [
4481 "perm",
4482 "/",
4483 [
4484 "Sys.Audit"
4485 ]
4486 ]
4487 },
7aacca6f 4488 "returns" : {
7aacca6f 4489 "items" : {
7aacca6f 4490 "properties" : {
44660702 4491 "sid" : {
7aacca6f
DM
4492 "type" : "string"
4493 }
44660702
DM
4494 },
4495 "type" : "object"
7aacca6f
DM
4496 },
4497 "links" : [
4498 {
44660702 4499 "href" : "{sid}",
7aacca6f
DM
4500 "rel" : "child"
4501 }
44660702
DM
4502 ],
4503 "type" : "array"
7aacca6f
DM
4504 }
4505 },
4506 "POST" : {
e9cd3bd4 4507 "allowtoken" : 1,
44660702 4508 "description" : "Create a new HA resource.",
7aacca6f 4509 "method" : "POST",
44660702 4510 "name" : "create",
7aacca6f 4511 "parameters" : {
44660702 4512 "additionalProperties" : 0,
7aacca6f
DM
4513 "properties" : {
4514 "comment" : {
7aacca6f 4515 "description" : "Description.",
44660702 4516 "maxLength" : 4096,
7aacca6f 4517 "optional" : 1,
013dc89f
DM
4518 "type" : "string",
4519 "typetext" : "<string>"
7aacca6f 4520 },
44660702
DM
4521 "group" : {
4522 "description" : "The HA group identifier.",
4523 "format" : "pve-configid",
7aacca6f 4524 "optional" : 1,
013dc89f
DM
4525 "type" : "string",
4526 "typetext" : "<string>"
7aacca6f 4527 },
44660702
DM
4528 "max_relocate" : {
4529 "default" : 1,
4530 "description" : "Maximal number of service relocate tries when a service failes to start.",
4531 "minimum" : 0,
7aacca6f 4532 "optional" : 1,
4bd7df8b 4533 "type" : "integer",
013dc89f 4534 "typetext" : "<integer> (0 - N)"
7aacca6f 4535 },
44660702
DM
4536 "max_restart" : {
4537 "default" : 1,
4538 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
4539 "minimum" : 0,
4540 "optional" : 1,
4bd7df8b 4541 "type" : "integer",
013dc89f 4542 "typetext" : "<integer> (0 - N)"
44660702
DM
4543 },
4544 "sid" : {
4545 "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).",
4546 "format" : "pve-ha-resource-or-vm-id",
4547 "type" : "string",
4548 "typetext" : "<type>:<name>"
4549 },
4550 "state" : {
f13c1238
DM
4551 "default" : "started",
4552 "description" : "Requested resource state.",
7aacca6f 4553 "enum" : [
f13c1238
DM
4554 "started",
4555 "stopped",
44660702 4556 "enabled",
2489d6df
WB
4557 "disabled",
4558 "ignored"
7aacca6f 4559 ],
7aacca6f 4560 "optional" : 1,
f13c1238 4561 "type" : "string",
2489d6df 4562 "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 4563 },
44660702
DM
4564 "type" : {
4565 "description" : "Resource type.",
4566 "enum" : [
4567 "ct",
4568 "vm"
4569 ],
4570 "optional" : 1,
4571 "type" : "string"
4572 }
7aacca6f 4573 },
44660702 4574 "type" : "object"
7aacca6f
DM
4575 },
4576 "permissions" : {
4577 "check" : [
4578 "perm",
4579 "/",
4580 [
4581 "Sys.Console"
4582 ]
4583 ]
4584 },
44660702
DM
4585 "protected" : 1,
4586 "returns" : {
4587 "type" : "null"
4588 }
7aacca6f
DM
4589 }
4590 },
44660702
DM
4591 "leaf" : 0,
4592 "path" : "/cluster/ha/resources",
4593 "text" : "resources"
4594 },
4595 {
56122987
DM
4596 "children" : [
4597 {
56122987 4598 "info" : {
44660702 4599 "DELETE" : {
e9cd3bd4 4600 "allowtoken" : 1,
44660702
DM
4601 "description" : "Delete ha group configuration.",
4602 "method" : "DELETE",
4603 "name" : "delete",
56122987 4604 "parameters" : {
7aacca6f 4605 "additionalProperties" : 0,
56122987 4606 "properties" : {
7aacca6f
DM
4607 "group" : {
4608 "description" : "The HA group identifier.",
44660702 4609 "format" : "pve-configid",
013dc89f
DM
4610 "type" : "string",
4611 "typetext" : "<string>"
56122987 4612 }
7aacca6f 4613 }
56122987 4614 },
56122987
DM
4615 "permissions" : {
4616 "check" : [
4617 "perm",
4618 "/",
4619 [
7aacca6f 4620 "Sys.Console"
56122987
DM
4621 ]
4622 ]
4623 },
44660702 4624 "protected" : 1,
7aacca6f
DM
4625 "returns" : {
4626 "type" : "null"
56122987
DM
4627 }
4628 },
44660702 4629 "GET" : {
e9cd3bd4 4630 "allowtoken" : 1,
44660702
DM
4631 "description" : "Read ha group configuration.",
4632 "method" : "GET",
4633 "name" : "read",
56122987 4634 "parameters" : {
44660702 4635 "additionalProperties" : 0,
56122987
DM
4636 "properties" : {
4637 "group" : {
4638 "description" : "The HA group identifier.",
44660702 4639 "format" : "pve-configid",
013dc89f
DM
4640 "type" : "string",
4641 "typetext" : "<string>"
56122987 4642 }
44660702 4643 }
56122987 4644 },
56122987
DM
4645 "permissions" : {
4646 "check" : [
4647 "perm",
4648 "/",
4649 [
44660702 4650 "Sys.Audit"
56122987
DM
4651 ]
4652 ]
4653 },
44660702 4654 "returns" : {}
7aacca6f 4655 },
44660702 4656 "PUT" : {
e9cd3bd4 4657 "allowtoken" : 1,
44660702
DM
4658 "description" : "Update ha group configuration.",
4659 "method" : "PUT",
4660 "name" : "update",
7aacca6f 4661 "parameters" : {
44660702 4662 "additionalProperties" : 0,
7aacca6f 4663 "properties" : {
44660702
DM
4664 "comment" : {
4665 "description" : "Description.",
4666 "maxLength" : 4096,
4667 "optional" : 1,
013dc89f
DM
4668 "type" : "string",
4669 "typetext" : "<string>"
44660702
DM
4670 },
4671 "delete" : {
4672 "description" : "A list of settings you want to delete.",
4673 "format" : "pve-configid-list",
4674 "maxLength" : 4096,
4675 "optional" : 1,
013dc89f
DM
4676 "type" : "string",
4677 "typetext" : "<string>"
44660702
DM
4678 },
4679 "digest" : {
4680 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4681 "maxLength" : 40,
4682 "optional" : 1,
013dc89f
DM
4683 "type" : "string",
4684 "typetext" : "<string>"
44660702 4685 },
7aacca6f
DM
4686 "group" : {
4687 "description" : "The HA group identifier.",
44660702 4688 "format" : "pve-configid",
013dc89f
DM
4689 "type" : "string",
4690 "typetext" : "<string>"
44660702
DM
4691 },
4692 "nodes" : {
f13c1238 4693 "description" : "List of cluster node names with optional priority.",
44660702
DM
4694 "format" : "pve-ha-group-node-list",
4695 "optional" : 1,
7aacca6f 4696 "type" : "string",
f13c1238
DM
4697 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4698 "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
4699 },
4700 "nofailback" : {
4701 "default" : 0,
4702 "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.",
4703 "optional" : 1,
013dc89f
DM
4704 "type" : "boolean",
4705 "typetext" : "<boolean>"
44660702
DM
4706 },
4707 "restricted" : {
4708 "default" : 0,
c4808e75 4709 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4710 "optional" : 1,
013dc89f 4711 "type" : "boolean",
c4808e75
DM
4712 "typetext" : "<boolean>",
4713 "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
4714 }
4715 },
44660702 4716 "type" : "object"
7aacca6f 4717 },
7aacca6f
DM
4718 "permissions" : {
4719 "check" : [
4720 "perm",
4721 "/",
4722 [
44660702 4723 "Sys.Console"
7aacca6f
DM
4724 ]
4725 ]
4726 },
44660702
DM
4727 "protected" : 1,
4728 "returns" : {
4729 "type" : "null"
4730 }
56122987
DM
4731 }
4732 },
4733 "leaf" : 1,
44660702
DM
4734 "path" : "/cluster/ha/groups/{group}",
4735 "text" : "{group}"
56122987 4736 }
44660702
DM
4737 ],
4738 "info" : {
4739 "GET" : {
e9cd3bd4 4740 "allowtoken" : 1,
44660702
DM
4741 "description" : "Get HA groups.",
4742 "method" : "GET",
4743 "name" : "index",
4744 "parameters" : {
4745 "additionalProperties" : 0
4746 },
4747 "permissions" : {
4748 "check" : [
4749 "perm",
4750 "/",
4751 [
4752 "Sys.Audit"
4753 ]
4754 ]
4755 },
4756 "returns" : {
4757 "items" : {
4758 "properties" : {
4759 "group" : {
4760 "type" : "string"
4761 }
4762 },
4763 "type" : "object"
4764 },
4765 "links" : [
4766 {
4767 "href" : "{group}",
4768 "rel" : "child"
4769 }
4770 ],
4771 "type" : "array"
4772 }
4773 },
4774 "POST" : {
e9cd3bd4 4775 "allowtoken" : 1,
44660702
DM
4776 "description" : "Create a new HA group.",
4777 "method" : "POST",
4778 "name" : "create",
4779 "parameters" : {
4780 "additionalProperties" : 0,
4781 "properties" : {
4782 "comment" : {
4783 "description" : "Description.",
4784 "maxLength" : 4096,
4785 "optional" : 1,
013dc89f
DM
4786 "type" : "string",
4787 "typetext" : "<string>"
44660702
DM
4788 },
4789 "group" : {
4790 "description" : "The HA group identifier.",
4791 "format" : "pve-configid",
013dc89f
DM
4792 "type" : "string",
4793 "typetext" : "<string>"
44660702
DM
4794 },
4795 "nodes" : {
f13c1238 4796 "description" : "List of cluster node names with optional priority.",
44660702
DM
4797 "format" : "pve-ha-group-node-list",
4798 "optional" : 0,
4799 "type" : "string",
f13c1238
DM
4800 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
4801 "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
4802 },
4803 "nofailback" : {
4804 "default" : 0,
4805 "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.",
4806 "optional" : 1,
013dc89f
DM
4807 "type" : "boolean",
4808 "typetext" : "<boolean>"
44660702
DM
4809 },
4810 "restricted" : {
4811 "default" : 0,
c4808e75 4812 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 4813 "optional" : 1,
013dc89f 4814 "type" : "boolean",
c4808e75
DM
4815 "typetext" : "<boolean>",
4816 "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
4817 },
4818 "type" : {
4819 "description" : "Group type.",
4820 "enum" : [
4821 "group"
4822 ],
4823 "optional" : 1,
4824 "type" : "string"
4825 }
4826 },
4827 "type" : "object"
4828 },
4829 "permissions" : {
4830 "check" : [
4831 "perm",
4832 "/",
4833 [
4834 "Sys.Console"
4835 ]
4836 ]
4837 },
4838 "protected" : 1,
4839 "returns" : {
4840 "type" : "null"
4841 }
4842 }
4843 },
4844 "leaf" : 0,
4845 "path" : "/cluster/ha/groups",
4846 "text" : "groups"
7aacca6f
DM
4847 },
4848 {
7aacca6f
DM
4849 "children" : [
4850 {
4851 "info" : {
4852 "GET" : {
e9cd3bd4 4853 "allowtoken" : 1,
56122987 4854 "description" : "Get HA manger status.",
44660702 4855 "method" : "GET",
7aacca6f 4856 "name" : "status",
44660702
DM
4857 "parameters" : {
4858 "additionalProperties" : 0
4859 },
56122987
DM
4860 "permissions" : {
4861 "check" : [
4862 "perm",
4863 "/",
4864 [
4865 "Sys.Audit"
4866 ]
4867 ]
7aacca6f 4868 },
44660702
DM
4869 "returns" : {
4870 "type" : "array"
56122987
DM
4871 }
4872 }
7aacca6f 4873 },
7aacca6f 4874 "leaf" : 1,
44660702
DM
4875 "path" : "/cluster/ha/status/current",
4876 "text" : "current"
56122987
DM
4877 },
4878 {
4879 "info" : {
4880 "GET" : {
e9cd3bd4 4881 "allowtoken" : 1,
7aacca6f 4882 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
4883 "method" : "GET",
4884 "name" : "manager_status",
7aacca6f
DM
4885 "parameters" : {
4886 "additionalProperties" : 0
4887 },
56122987
DM
4888 "permissions" : {
4889 "check" : [
4890 "perm",
4891 "/",
4892 [
4893 "Sys.Audit"
4894 ]
4895 ]
44660702
DM
4896 },
4897 "returns" : {
4898 "type" : "object"
7aacca6f 4899 }
56122987
DM
4900 }
4901 },
56122987 4902 "leaf" : 1,
44660702
DM
4903 "path" : "/cluster/ha/status/manager_status",
4904 "text" : "manager_status"
56122987
DM
4905 }
4906 ],
56122987
DM
4907 "info" : {
4908 "GET" : {
e9cd3bd4 4909 "allowtoken" : 1,
44660702 4910 "description" : "Directory index.",
7aacca6f 4911 "method" : "GET",
44660702
DM
4912 "name" : "index",
4913 "parameters" : {
4914 "additionalProperties" : 0
4915 },
4916 "permissions" : {
4917 "user" : "all"
4918 },
56122987 4919 "returns" : {
56122987
DM
4920 "items" : {
4921 "properties" : {},
4922 "type" : "object"
4923 },
4924 "links" : [
4925 {
44660702
DM
4926 "href" : "{name}",
4927 "rel" : "child"
56122987 4928 }
7aacca6f
DM
4929 ],
4930 "type" : "array"
44660702 4931 }
56122987 4932 }
7aacca6f 4933 },
44660702 4934 "leaf" : 0,
7aacca6f 4935 "path" : "/cluster/ha/status",
44660702 4936 "text" : "status"
56122987
DM
4937 }
4938 ],
56122987
DM
4939 "info" : {
4940 "GET" : {
e9cd3bd4 4941 "allowtoken" : 1,
7aacca6f 4942 "description" : "Directory index.",
44660702
DM
4943 "method" : "GET",
4944 "name" : "index",
4945 "parameters" : {
4946 "additionalProperties" : 0
4947 },
7aacca6f
DM
4948 "permissions" : {
4949 "check" : [
4950 "perm",
4951 "/",
4952 [
4953 "Sys.Audit"
4954 ]
4955 ]
4956 },
56122987 4957 "returns" : {
56122987 4958 "items" : {
7aacca6f
DM
4959 "properties" : {
4960 "id" : {
4961 "type" : "string"
4962 }
44660702
DM
4963 },
4964 "type" : "object"
7aacca6f
DM
4965 },
4966 "links" : [
4967 {
4968 "href" : "{id}",
4969 "rel" : "child"
4970 }
44660702
DM
4971 ],
4972 "type" : "array"
7aacca6f
DM
4973 }
4974 }
44660702
DM
4975 },
4976 "leaf" : 0,
4977 "path" : "/cluster/ha",
4978 "text" : "ha"
7aacca6f 4979 },
a9a8e3d1
DM
4980 {
4981 "children" : [
c5aa7e14
TL
4982 {
4983 "children" : [
4984 {
4985 "info" : {
4986 "DELETE" : {
4987 "allowtoken" : 1,
4988 "description" : "Delete ACME plugin configuration.",
4989 "method" : "DELETE",
4990 "name" : "delete_plugin",
4991 "parameters" : {
4992 "additionalProperties" : 0,
4993 "properties" : {
4994 "id" : {
4995 "description" : "Unique identifier for ACME plugin instance.",
4996 "format" : "pve-configid",
4997 "type" : "string",
4998 "typetext" : "<string>"
4999 }
5000 }
5001 },
5002 "permissions" : {
5003 "check" : [
5004 "perm",
5005 "/",
5006 [
5007 "Sys.Modify"
5008 ]
5009 ]
5010 },
5011 "protected" : 1,
5012 "returns" : {
5013 "type" : "null"
5014 }
5015 },
5016 "GET" : {
5017 "allowtoken" : 1,
5018 "description" : "Get ACME plugin configuration.",
5019 "method" : "GET",
5020 "name" : "get_plugin_config",
5021 "parameters" : {
5022 "additionalProperties" : 0,
5023 "properties" : {
5024 "id" : {
5025 "description" : "Unique identifier for ACME plugin instance.",
5026 "format" : "pve-configid",
5027 "type" : "string",
5028 "typetext" : "<string>"
5029 }
5030 }
5031 },
5032 "permissions" : {
5033 "check" : [
5034 "perm",
5035 "/",
5036 [
5037 "Sys.Modify"
5038 ]
5039 ]
5040 },
5041 "protected" : 1,
5042 "returns" : {
5043 "type" : "object"
5044 }
5045 },
5046 "PUT" : {
5047 "allowtoken" : 1,
5048 "description" : "Update ACME plugin configuration.",
5049 "method" : "PUT",
5050 "name" : "update_plugin",
5051 "parameters" : {
5052 "additionalProperties" : 0,
5053 "properties" : {
5054 "api" : {
5055 "description" : "API plugin name",
5056 "enum" : [
d2656385 5057 "1984hosting",
c5aa7e14
TL
5058 "acmedns",
5059 "acmeproxy",
5060 "active24",
5061 "ad",
5062 "ali",
d2656385
TL
5063 "anx",
5064 "arvan",
e7084ef7 5065 "aurora",
c5aa7e14
TL
5066 "autodns",
5067 "aws",
5068 "azure",
5069 "cf",
5070 "clouddns",
5071 "cloudns",
5072 "cn",
5073 "conoha",
5074 "constellix",
5075 "cx",
5076 "cyon",
5077 "da",
5078 "ddnss",
5079 "desec",
ac70d7d1 5080 "df",
c5aa7e14
TL
5081 "dgon",
5082 "dnsimple",
5083 "do",
5084 "doapi",
5085 "domeneshop",
5086 "dp",
5087 "dpi",
5088 "dreamhost",
5089 "duckdns",
5090 "durabledns",
5091 "dyn",
5092 "dynu",
5093 "dynv6",
5094 "easydns",
d2656385 5095 "edgedns",
c5aa7e14
TL
5096 "euserv",
5097 "exoscale",
5098 "freedns",
5099 "gandi_livedns",
5100 "gcloud",
5101 "gd",
5102 "gdnsdk",
5103 "he",
d2656385 5104 "hetzner",
c5aa7e14
TL
5105 "hexonet",
5106 "hostingde",
d2656385 5107 "huaweicloud",
c5aa7e14 5108 "infoblox",
d2656385 5109 "infomaniak",
c5aa7e14
TL
5110 "internetbs",
5111 "inwx",
d2656385 5112 "ionos",
c5aa7e14
TL
5113 "ispconfig",
5114 "jd",
d2656385
TL
5115 "joker",
5116 "kappernet",
c5aa7e14
TL
5117 "kas",
5118 "kinghost",
5119 "knot",
5120 "leaseweb",
5121 "lexicon",
5122 "linode",
5123 "linode_v4",
5124 "loopia",
5125 "lua",
5126 "maradns",
5127 "me",
5128 "miab",
5129 "misaka",
5130 "myapi",
5131 "mydevil",
5132 "mydnsjp",
5133 "namecheap",
5134 "namecom",
5135 "namesilo",
5136 "nederhost",
5137 "neodigit",
5138 "netcup",
d2656385 5139 "netlify",
c5aa7e14 5140 "nic",
d2656385
TL
5141 "njalla",
5142 "nm",
c5aa7e14
TL
5143 "nsd",
5144 "nsone",
5145 "nsupdate",
5146 "nw",
5147 "one",
5148 "online",
5149 "openprovider",
d2656385 5150 "openstack",
c5aa7e14
TL
5151 "opnsense",
5152 "ovh",
5153 "pdns",
5154 "pleskxml",
5155 "pointhq",
e7084ef7 5156 "porkbun",
d2656385 5157 "rackcorp",
c5aa7e14
TL
5158 "rackspace",
5159 "rcode0",
5160 "regru",
d2656385 5161 "scaleway",
c5aa7e14
TL
5162 "schlundtech",
5163 "selectel",
5164 "servercow",
d2656385 5165 "simply",
c5aa7e14 5166 "tele3",
d2656385 5167 "transip",
c5aa7e14
TL
5168 "ultra",
5169 "unoeuro",
5170 "variomedia",
5171 "vscale",
5172 "vultr",
e7084ef7 5173 "websupport",
d2656385 5174 "world4you",
c5aa7e14
TL
5175 "yandex",
5176 "zilore",
5177 "zone",
5178 "zonomi"
5179 ],
5180 "optional" : 1,
5181 "type" : "string"
5182 },
5183 "data" : {
5184 "description" : "DNS plugin data. (base64 encoded)",
5185 "optional" : 1,
5186 "type" : "string",
5187 "typetext" : "<string>"
5188 },
5189 "delete" : {
5190 "description" : "A list of settings you want to delete.",
5191 "format" : "pve-configid-list",
5192 "maxLength" : 4096,
5193 "optional" : 1,
5194 "type" : "string",
5195 "typetext" : "<string>"
5196 },
5197 "digest" : {
5198 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5199 "maxLength" : 40,
5200 "optional" : 1,
5201 "type" : "string",
5202 "typetext" : "<string>"
5203 },
5204 "disable" : {
5205 "description" : "Flag to disable the config.",
5206 "optional" : 1,
5207 "type" : "boolean",
5208 "typetext" : "<boolean>"
5209 },
5210 "id" : {
5211 "description" : "ACME Plugin ID name",
5212 "format" : "pve-configid",
5213 "type" : "string",
5214 "typetext" : "<string>"
5215 },
5216 "nodes" : {
5217 "description" : "List of cluster node names.",
5218 "format" : "pve-node-list",
5219 "optional" : 1,
5220 "type" : "string",
5221 "typetext" : "<string>"
5222 },
5223 "validation-delay" : {
5224 "default" : 30,
5225 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5226 "maximum" : 172800,
5227 "minimum" : 0,
5228 "optional" : 1,
5229 "type" : "integer",
5230 "typetext" : "<integer> (0 - 172800)"
5231 }
5232 },
5233 "type" : "object"
5234 },
5235 "permissions" : {
5236 "check" : [
5237 "perm",
5238 "/",
5239 [
5240 "Sys.Modify"
5241 ]
5242 ]
5243 },
5244 "protected" : 1,
5245 "returns" : {
5246 "type" : "null"
5247 }
5248 }
5249 },
5250 "leaf" : 1,
5251 "path" : "/cluster/acme/plugins/{id}",
5252 "text" : "{id}"
5253 }
5254 ],
5255 "info" : {
5256 "GET" : {
5257 "allowtoken" : 1,
5258 "description" : "ACME plugin index.",
5259 "method" : "GET",
5260 "name" : "index",
5261 "parameters" : {
5262 "additionalProperties" : 0,
5263 "properties" : {
5264 "type" : {
5265 "description" : "Only list ACME plugins of a specific type",
5266 "enum" : [
5267 "dns",
5268 "standalone"
5269 ],
5270 "optional" : 1,
5271 "type" : "string"
5272 }
5273 }
5274 },
5275 "permissions" : {
5276 "check" : [
5277 "perm",
5278 "/",
5279 [
5280 "Sys.Modify"
5281 ]
5282 ]
5283 },
5284 "protected" : 1,
5285 "returns" : {
5286 "items" : {
5287 "properties" : {
5288 "plugin" : {
5289 "description" : "Unique identifier for ACME plugin instance.",
5290 "format" : "pve-configid",
5291 "type" : "string"
5292 }
5293 },
5294 "type" : "object"
5295 },
5296 "links" : [
5297 {
5298 "href" : "{plugin}",
5299 "rel" : "child"
5300 }
5301 ],
5302 "type" : "array"
5303 }
5304 },
5305 "POST" : {
5306 "allowtoken" : 1,
5307 "description" : "Add ACME plugin configuration.",
5308 "method" : "POST",
5309 "name" : "add_plugin",
5310 "parameters" : {
5311 "additionalProperties" : 0,
5312 "properties" : {
5313 "api" : {
5314 "description" : "API plugin name",
5315 "enum" : [
d2656385 5316 "1984hosting",
c5aa7e14
TL
5317 "acmedns",
5318 "acmeproxy",
5319 "active24",
5320 "ad",
5321 "ali",
d2656385
TL
5322 "anx",
5323 "arvan",
e7084ef7 5324 "aurora",
c5aa7e14
TL
5325 "autodns",
5326 "aws",
5327 "azure",
5328 "cf",
5329 "clouddns",
5330 "cloudns",
5331 "cn",
5332 "conoha",
5333 "constellix",
5334 "cx",
5335 "cyon",
5336 "da",
5337 "ddnss",
5338 "desec",
ac70d7d1 5339 "df",
c5aa7e14
TL
5340 "dgon",
5341 "dnsimple",
5342 "do",
5343 "doapi",
5344 "domeneshop",
5345 "dp",
5346 "dpi",
5347 "dreamhost",
5348 "duckdns",
5349 "durabledns",
5350 "dyn",
5351 "dynu",
5352 "dynv6",
5353 "easydns",
d2656385 5354 "edgedns",
c5aa7e14
TL
5355 "euserv",
5356 "exoscale",
5357 "freedns",
5358 "gandi_livedns",
5359 "gcloud",
5360 "gd",
5361 "gdnsdk",
5362 "he",
d2656385 5363 "hetzner",
c5aa7e14
TL
5364 "hexonet",
5365 "hostingde",
d2656385 5366 "huaweicloud",
c5aa7e14 5367 "infoblox",
d2656385 5368 "infomaniak",
c5aa7e14
TL
5369 "internetbs",
5370 "inwx",
d2656385 5371 "ionos",
c5aa7e14
TL
5372 "ispconfig",
5373 "jd",
d2656385
TL
5374 "joker",
5375 "kappernet",
c5aa7e14
TL
5376 "kas",
5377 "kinghost",
5378 "knot",
5379 "leaseweb",
5380 "lexicon",
5381 "linode",
5382 "linode_v4",
5383 "loopia",
5384 "lua",
5385 "maradns",
5386 "me",
5387 "miab",
5388 "misaka",
5389 "myapi",
5390 "mydevil",
5391 "mydnsjp",
5392 "namecheap",
5393 "namecom",
5394 "namesilo",
5395 "nederhost",
5396 "neodigit",
5397 "netcup",
d2656385 5398 "netlify",
c5aa7e14 5399 "nic",
d2656385
TL
5400 "njalla",
5401 "nm",
c5aa7e14
TL
5402 "nsd",
5403 "nsone",
5404 "nsupdate",
5405 "nw",
5406 "one",
5407 "online",
5408 "openprovider",
d2656385 5409 "openstack",
c5aa7e14
TL
5410 "opnsense",
5411 "ovh",
5412 "pdns",
5413 "pleskxml",
5414 "pointhq",
e7084ef7 5415 "porkbun",
d2656385 5416 "rackcorp",
c5aa7e14
TL
5417 "rackspace",
5418 "rcode0",
5419 "regru",
d2656385 5420 "scaleway",
c5aa7e14
TL
5421 "schlundtech",
5422 "selectel",
5423 "servercow",
d2656385 5424 "simply",
c5aa7e14 5425 "tele3",
d2656385 5426 "transip",
c5aa7e14
TL
5427 "ultra",
5428 "unoeuro",
5429 "variomedia",
5430 "vscale",
5431 "vultr",
e7084ef7 5432 "websupport",
d2656385 5433 "world4you",
c5aa7e14
TL
5434 "yandex",
5435 "zilore",
5436 "zone",
5437 "zonomi"
5438 ],
5439 "optional" : 1,
5440 "type" : "string"
5441 },
5442 "data" : {
5443 "description" : "DNS plugin data. (base64 encoded)",
5444 "optional" : 1,
5445 "type" : "string",
5446 "typetext" : "<string>"
5447 },
5448 "disable" : {
5449 "description" : "Flag to disable the config.",
5450 "optional" : 1,
5451 "type" : "boolean",
5452 "typetext" : "<boolean>"
5453 },
5454 "id" : {
5455 "description" : "ACME Plugin ID name",
5456 "format" : "pve-configid",
5457 "type" : "string",
5458 "typetext" : "<string>"
5459 },
5460 "nodes" : {
5461 "description" : "List of cluster node names.",
5462 "format" : "pve-node-list",
5463 "optional" : 1,
5464 "type" : "string",
5465 "typetext" : "<string>"
5466 },
5467 "type" : {
5468 "description" : "ACME challenge type.",
5469 "enum" : [
5470 "dns",
5471 "standalone"
5472 ],
5473 "type" : "string"
5474 },
5475 "validation-delay" : {
5476 "default" : 30,
5477 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
5478 "maximum" : 172800,
5479 "minimum" : 0,
5480 "optional" : 1,
5481 "type" : "integer",
5482 "typetext" : "<integer> (0 - 172800)"
5483 }
5484 },
5485 "type" : "object"
5486 },
5487 "permissions" : {
5488 "check" : [
5489 "perm",
5490 "/",
5491 [
5492 "Sys.Modify"
5493 ]
5494 ]
5495 },
5496 "protected" : 1,
5497 "returns" : {
5498 "type" : "null"
5499 }
5500 }
5501 },
5502 "leaf" : 0,
5503 "path" : "/cluster/acme/plugins",
5504 "text" : "plugins"
5505 },
a9a8e3d1
DM
5506 {
5507 "children" : [
5508 {
5509 "info" : {
5510 "DELETE" : {
e9cd3bd4 5511 "allowtoken" : 1,
a9a8e3d1
DM
5512 "description" : "Deactivate existing ACME account at CA.",
5513 "method" : "DELETE",
5514 "name" : "deactivate_account",
5515 "parameters" : {
5516 "additionalProperties" : 0,
5517 "properties" : {
5518 "name" : {
5519 "default" : "default",
5520 "description" : "ACME account config file name.",
5521 "format" : "pve-configid",
5522 "format_description" : "name",
5523 "optional" : 1,
5524 "type" : "string",
5525 "typetext" : "<name>"
5526 }
5527 }
5528 },
5529 "protected" : 1,
5530 "returns" : {
5531 "type" : "string"
5532 }
5533 },
5534 "GET" : {
e9cd3bd4 5535 "allowtoken" : 1,
a9a8e3d1
DM
5536 "description" : "Return existing ACME account information.",
5537 "method" : "GET",
5538 "name" : "get_account",
5539 "parameters" : {
5540 "additionalProperties" : 0,
5541 "properties" : {
5542 "name" : {
5543 "default" : "default",
5544 "description" : "ACME account config file name.",
5545 "format" : "pve-configid",
5546 "format_description" : "name",
5547 "optional" : 1,
5548 "type" : "string",
5549 "typetext" : "<name>"
5550 }
5551 }
5552 },
5553 "protected" : 1,
5554 "returns" : {
5555 "additionalProperties" : 0,
5556 "properties" : {
5557 "account" : {
5558 "optional" : 1,
4d47f125 5559 "renderer" : "yaml",
a9a8e3d1
DM
5560 "type" : "object"
5561 },
5562 "directory" : {
5563 "description" : "URL of ACME CA directory endpoint.",
5564 "optional" : 1,
5565 "pattern" : "^https?://.*",
5566 "type" : "string"
5567 },
5568 "location" : {
5569 "optional" : 1,
5570 "type" : "string"
5571 },
5572 "tos" : {
5573 "optional" : 1,
5574 "type" : "string"
5575 }
5576 },
5577 "type" : "object"
5578 }
5579 },
5580 "PUT" : {
e9cd3bd4 5581 "allowtoken" : 1,
a9a8e3d1
DM
5582 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
5583 "method" : "PUT",
5584 "name" : "update_account",
5585 "parameters" : {
5586 "additionalProperties" : 0,
5587 "properties" : {
5588 "contact" : {
5589 "description" : "Contact email addresses.",
5590 "format" : "email-list",
5591 "optional" : 1,
5592 "type" : "string",
5593 "typetext" : "<string>"
5594 },
5595 "name" : {
5596 "default" : "default",
5597 "description" : "ACME account config file name.",
5598 "format" : "pve-configid",
5599 "format_description" : "name",
5600 "optional" : 1,
5601 "type" : "string",
5602 "typetext" : "<name>"
5603 }
5604 }
5605 },
5606 "protected" : 1,
5607 "returns" : {
5608 "type" : "string"
5609 }
5610 }
5611 },
5612 "leaf" : 1,
5613 "path" : "/cluster/acme/account/{name}",
5614 "text" : "{name}"
5615 }
5616 ],
5617 "info" : {
5618 "GET" : {
e9cd3bd4 5619 "allowtoken" : 1,
a9a8e3d1
DM
5620 "description" : "ACMEAccount index.",
5621 "method" : "GET",
5622 "name" : "account_index",
5623 "parameters" : {
5624 "additionalProperties" : 0
5625 },
5626 "permissions" : {
5627 "user" : "all"
5628 },
5629 "protected" : 1,
5630 "returns" : {
5631 "items" : {
5632 "properties" : {},
5633 "type" : "object"
5634 },
5635 "links" : [
5636 {
5637 "href" : "{name}",
5638 "rel" : "child"
5639 }
5640 ],
5641 "type" : "array"
5642 }
5643 },
5644 "POST" : {
e9cd3bd4 5645 "allowtoken" : 1,
a9a8e3d1
DM
5646 "description" : "Register a new ACME account with CA.",
5647 "method" : "POST",
5648 "name" : "register_account",
5649 "parameters" : {
5650 "additionalProperties" : 0,
5651 "properties" : {
5652 "contact" : {
5653 "description" : "Contact email addresses.",
5654 "format" : "email-list",
5655 "type" : "string",
5656 "typetext" : "<string>"
5657 },
5658 "directory" : {
5659 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5660 "description" : "URL of ACME CA directory endpoint.",
5661 "optional" : 1,
5662 "pattern" : "^https?://.*",
5663 "type" : "string"
5664 },
5665 "name" : {
5666 "default" : "default",
5667 "description" : "ACME account config file name.",
5668 "format" : "pve-configid",
5669 "format_description" : "name",
5670 "optional" : 1,
5671 "type" : "string",
5672 "typetext" : "<name>"
5673 },
5674 "tos_url" : {
5675 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
5676 "optional" : 1,
5677 "type" : "string",
5678 "typetext" : "<string>"
5679 }
5680 }
5681 },
5682 "protected" : 1,
5683 "returns" : {
5684 "type" : "string"
5685 }
5686 }
5687 },
5688 "leaf" : 0,
5689 "path" : "/cluster/acme/account",
5690 "text" : "account"
5691 },
5692 {
5693 "info" : {
5694 "GET" : {
e9cd3bd4 5695 "allowtoken" : 1,
a9a8e3d1
DM
5696 "description" : "Retrieve ACME TermsOfService URL from CA.",
5697 "method" : "GET",
5698 "name" : "get_tos",
5699 "parameters" : {
5700 "additionalProperties" : 0,
5701 "properties" : {
5702 "directory" : {
5703 "default" : "https://acme-v02.api.letsencrypt.org/directory",
5704 "description" : "URL of ACME CA directory endpoint.",
5705 "optional" : 1,
5706 "pattern" : "^https?://.*",
5707 "type" : "string"
5708 }
5709 }
5710 },
5da3d723
TL
5711 "permissions" : {
5712 "user" : "all"
5713 },
a9a8e3d1
DM
5714 "returns" : {
5715 "description" : "ACME TermsOfService URL.",
5c1699e5 5716 "optional" : 1,
a9a8e3d1
DM
5717 "type" : "string"
5718 }
5719 }
5720 },
5721 "leaf" : 1,
5722 "path" : "/cluster/acme/tos",
5723 "text" : "tos"
5724 },
5725 {
5726 "info" : {
5727 "GET" : {
e9cd3bd4 5728 "allowtoken" : 1,
a9a8e3d1
DM
5729 "description" : "Get named known ACME directory endpoints.",
5730 "method" : "GET",
5731 "name" : "get_directories",
5732 "parameters" : {
5733 "additionalProperties" : 0
5734 },
5da3d723
TL
5735 "permissions" : {
5736 "user" : "all"
5737 },
a9a8e3d1
DM
5738 "returns" : {
5739 "items" : {
5740 "additionalProperties" : 0,
5741 "properties" : {
5742 "name" : {
5743 "type" : "string"
5744 },
5745 "url" : {
5746 "description" : "URL of ACME CA directory endpoint.",
5747 "pattern" : "^https?://.*",
5748 "type" : "string"
5749 }
5750 },
5751 "type" : "object"
5752 },
5753 "type" : "array"
5754 }
5755 }
5756 },
5757 "leaf" : 1,
5758 "path" : "/cluster/acme/directories",
5759 "text" : "directories"
ac70d7d1
TL
5760 },
5761 {
5762 "info" : {
5763 "GET" : {
5764 "allowtoken" : 1,
5765 "description" : "Get schema of ACME challenge types.",
5766 "method" : "GET",
5767 "name" : "challengeschema",
5768 "parameters" : {
5769 "additionalProperties" : 0
5770 },
5771 "permissions" : {
5772 "user" : "all"
5773 },
5774 "returns" : {
5775 "items" : {
5776 "additionalProperties" : 0,
5777 "properties" : {
5778 "id" : {
5779 "type" : "string"
5780 },
5781 "name" : {
5782 "description" : "Human readable name, falls back to id",
5783 "type" : "string"
5784 },
5785 "schema" : {
5786 "type" : "object"
5787 },
5788 "type" : {
5789 "type" : "string"
5790 }
5791 },
5792 "type" : "object"
5793 },
5794 "type" : "array"
5795 }
5796 }
5797 },
5798 "leaf" : 1,
5799 "path" : "/cluster/acme/challenge-schema",
5800 "text" : "challenge-schema"
a9a8e3d1
DM
5801 }
5802 ],
5803 "info" : {
5804 "GET" : {
e9cd3bd4 5805 "allowtoken" : 1,
a9a8e3d1
DM
5806 "description" : "ACMEAccount index.",
5807 "method" : "GET",
5808 "name" : "index",
5809 "parameters" : {
5810 "additionalProperties" : 0
5811 },
5812 "permissions" : {
5813 "user" : "all"
5814 },
5815 "returns" : {
5816 "items" : {
5817 "properties" : {},
5818 "type" : "object"
5819 },
5820 "links" : [
5821 {
5822 "href" : "{name}",
5823 "rel" : "child"
5824 }
5825 ],
5826 "type" : "array"
5827 }
5828 }
5829 },
5830 "leaf" : 0,
5831 "path" : "/cluster/acme",
5832 "text" : "acme"
5833 },
1c532546
TL
5834 {
5835 "children" : [
5836 {
5837 "info" : {
5838 "GET" : {
e9cd3bd4 5839 "allowtoken" : 1,
1c532546
TL
5840 "description" : "Get ceph metadata.",
5841 "method" : "GET",
5842 "name" : "metadata",
5843 "parameters" : {
c5aa7e14
TL
5844 "additionalProperties" : 0,
5845 "properties" : {
5846 "scope" : {
5847 "default" : "all",
5848 "enum" : [
5849 "all",
5850 "versions"
5851 ],
5852 "optional" : 1,
5853 "type" : "string"
5854 }
5855 }
1c532546
TL
5856 },
5857 "permissions" : {
5858 "check" : [
5859 "perm",
5860 "/",
5861 [
5862 "Sys.Audit",
5863 "Datastore.Audit"
5864 ],
5865 "any",
5866 1
5867 ]
5868 },
5869 "protected" : 1,
5870 "returns" : {
5871 "type" : "object"
5872 }
5873 }
5874 },
5875 "leaf" : 1,
5876 "path" : "/cluster/ceph/metadata",
5877 "text" : "metadata"
5878 },
5879 {
5880 "info" : {
5881 "GET" : {
e9cd3bd4 5882 "allowtoken" : 1,
1c532546
TL
5883 "description" : "Get ceph status.",
5884 "method" : "GET",
5885 "name" : "status",
5886 "parameters" : {
5887 "additionalProperties" : 0
5888 },
5889 "permissions" : {
5890 "check" : [
5891 "perm",
5892 "/",
5893 [
5894 "Sys.Audit",
5895 "Datastore.Audit"
5896 ],
5897 "any",
5898 1
5899 ]
5900 },
5901 "protected" : 1,
5902 "returns" : {
5903 "type" : "object"
5904 }
5905 }
5906 },
5907 "leaf" : 1,
5908 "path" : "/cluster/ceph/status",
5909 "text" : "status"
5910 },
5911 {
5912 "children" : [
5913 {
5914 "info" : {
5915 "GET" : {
e9cd3bd4 5916 "allowtoken" : 1,
1c532546
TL
5917 "description" : "Get the status of a specific ceph flag.",
5918 "method" : "GET",
5919 "name" : "get_flag",
5920 "parameters" : {
5921 "additionalProperties" : 0,
5922 "properties" : {
5923 "flag" : {
5924 "description" : "The name of the flag name to get.",
5925 "enum" : [
5926 "nobackfill",
5927 "nodeep-scrub",
5928 "nodown",
5929 "noin",
5930 "noout",
5931 "norebalance",
5932 "norecover",
5933 "noscrub",
5934 "notieragent",
5935 "noup",
5936 "pause"
5937 ],
5938 "type" : "string"
5939 }
5940 }
5941 },
5942 "permissions" : {
5943 "check" : [
5944 "perm",
5945 "/",
5946 [
5947 "Sys.Audit"
5948 ]
5949 ]
5950 },
5951 "protected" : 1,
5952 "returns" : {
5953 "type" : "boolean"
5954 }
5955 },
5956 "PUT" : {
e9cd3bd4 5957 "allowtoken" : 1,
1c532546
TL
5958 "description" : "Set or clear (unset) a specific ceph flag",
5959 "method" : "PUT",
5960 "name" : "update_flag",
5961 "parameters" : {
5962 "additionalProperties" : 0,
5963 "properties" : {
5964 "flag" : {
5965 "description" : "The ceph flag to update",
5966 "enum" : [
5967 "nobackfill",
5968 "nodeep-scrub",
5969 "nodown",
5970 "noin",
5971 "noout",
5972 "norebalance",
5973 "norecover",
5974 "noscrub",
5975 "notieragent",
5976 "noup",
5977 "pause"
5978 ],
5979 "type" : "string"
5980 },
5981 "value" : {
5982 "description" : "The new value of the flag",
5983 "type" : "boolean",
5984 "typetext" : "<boolean>"
5985 }
5986 }
5987 },
5988 "permissions" : {
5989 "check" : [
5990 "perm",
5991 "/",
5992 [
5993 "Sys.Modify"
5994 ]
5995 ]
5996 },
5997 "protected" : 1,
5998 "returns" : {
5999 "type" : "null"
6000 }
6001 }
6002 },
6003 "leaf" : 1,
6004 "path" : "/cluster/ceph/flags/{flag}",
6005 "text" : "{flag}"
6006 }
6007 ],
6008 "info" : {
6009 "GET" : {
e9cd3bd4 6010 "allowtoken" : 1,
1c532546
TL
6011 "description" : "get the status of all ceph flags",
6012 "method" : "GET",
6013 "name" : "get_all_flags",
6014 "parameters" : {
6015 "additionalProperties" : 0
6016 },
6017 "permissions" : {
6018 "check" : [
6019 "perm",
6020 "/",
6021 [
6022 "Sys.Audit"
6023 ]
6024 ]
6025 },
6026 "protected" : 1,
6027 "returns" : {
6028 "items" : {
6029 "additionalProperties" : 1,
6030 "properties" : {
6031 "name" : {
6032 "description" : "Flag name.",
6033 "enum" : [
6034 "nobackfill",
6035 "nodeep-scrub",
6036 "nodown",
6037 "noin",
6038 "noout",
6039 "norebalance",
6040 "norecover",
6041 "noscrub",
6042 "notieragent",
6043 "noup",
6044 "pause"
6045 ],
6046 "type" : "string"
6047 }
6048 },
6049 "type" : "object"
6050 },
6051 "links" : [
6052 {
6053 "href" : "{name}",
6054 "rel" : "child"
6055 }
6056 ],
6057 "type" : "array"
6058 }
6059 },
6060 "PUT" : {
e9cd3bd4 6061 "allowtoken" : 1,
1c532546
TL
6062 "description" : "Set/Unset multiple ceph flags at once.",
6063 "method" : "PUT",
6064 "name" : "set_flags",
6065 "parameters" : {
6066 "additionalProperties" : 0,
6067 "properties" : {
6068 "nobackfill" : {
6069 "description" : "Backfilling of PGs is suspended.",
6070 "optional" : 1,
6071 "type" : "boolean",
6072 "typetext" : "<boolean>"
6073 },
6074 "nodeep-scrub" : {
6075 "description" : "Deep Scrubbing is disabled.",
6076 "optional" : 1,
6077 "type" : "boolean",
6078 "typetext" : "<boolean>"
6079 },
6080 "nodown" : {
6081 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
6082 "optional" : 1,
6083 "type" : "boolean",
6084 "typetext" : "<boolean>"
6085 },
6086 "noin" : {
6087 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
6088 "optional" : 1,
6089 "type" : "boolean",
6090 "typetext" : "<boolean>"
6091 },
6092 "noout" : {
6093 "description" : "OSDs will not automatically be marked out after the configured interval.",
6094 "optional" : 1,
6095 "type" : "boolean",
6096 "typetext" : "<boolean>"
6097 },
6098 "norebalance" : {
6099 "description" : "Rebalancing of PGs is suspended.",
6100 "optional" : 1,
6101 "type" : "boolean",
6102 "typetext" : "<boolean>"
6103 },
6104 "norecover" : {
6105 "description" : "Recovery of PGs is suspended.",
6106 "optional" : 1,
6107 "type" : "boolean",
6108 "typetext" : "<boolean>"
6109 },
6110 "noscrub" : {
6111 "description" : "Scrubbing is disabled.",
6112 "optional" : 1,
6113 "type" : "boolean",
6114 "typetext" : "<boolean>"
6115 },
6116 "notieragent" : {
6117 "description" : "Cache tiering activity is suspended.",
6118 "optional" : 1,
6119 "type" : "boolean",
6120 "typetext" : "<boolean>"
6121 },
6122 "noup" : {
6123 "description" : "OSDs are not allowed to start.",
6124 "optional" : 1,
6125 "type" : "boolean",
6126 "typetext" : "<boolean>"
6127 },
6128 "pause" : {
6129 "description" : "Pauses read and writes.",
6130 "optional" : 1,
6131 "type" : "boolean",
6132 "typetext" : "<boolean>"
6133 }
6134 }
6135 },
6136 "permissions" : {
6137 "check" : [
6138 "perm",
6139 "/",
6140 [
6141 "Sys.Modify"
6142 ]
6143 ]
6144 },
6145 "protected" : 1,
6146 "returns" : {
6147 "type" : "string"
6148 }
6149 }
6150 },
6151 "leaf" : 0,
6152 "path" : "/cluster/ceph/flags",
6153 "text" : "flags"
6154 }
6155 ],
6156 "info" : {
6157 "GET" : {
e9cd3bd4 6158 "allowtoken" : 1,
1c532546
TL
6159 "description" : "Cluster ceph index.",
6160 "method" : "GET",
6161 "name" : "cephindex",
6162 "parameters" : {
6163 "additionalProperties" : 0
6164 },
6165 "permissions" : {
6166 "user" : "all"
6167 },
6168 "returns" : {
6169 "items" : {
6170 "properties" : {},
6171 "type" : "object"
6172 },
6173 "links" : [
6174 {
6175 "href" : "{name}",
6176 "rel" : "child"
6177 }
6178 ],
6179 "type" : "array"
6180 }
6181 }
6182 },
6183 "leaf" : 0,
6184 "path" : "/cluster/ceph",
6185 "text" : "ceph"
6186 },
c5aa7e14
TL
6187 {
6188 "children" : [
6189 {
6190 "children" : [
6191 {
d2656385
TL
6192 "children" : [
6193 {
6194 "children" : [
6195 {
6196 "info" : {
6197 "DELETE" : {
6198 "allowtoken" : 1,
6199 "description" : "Delete sdn subnet object configuration.",
6200 "method" : "DELETE",
6201 "name" : "delete",
6202 "parameters" : {
6203 "additionalProperties" : 0,
6204 "properties" : {
6205 "subnet" : {
6206 "description" : "The SDN subnet object identifier.",
6207 "format" : "pve-sdn-subnet-id",
6208 "type" : "string",
6209 "typetext" : "<string>"
6210 },
6211 "vnet" : {
6212 "description" : "The SDN vnet object identifier.",
6213 "format" : "pve-sdn-vnet-id",
6214 "type" : "string",
6215 "typetext" : "<string>"
6216 }
6217 }
6218 },
6219 "permissions" : {
6220 "check" : [
6221 "perm",
6222 "/sdn/vnets/{vnet}/subnets",
6223 [
6224 "SDN.Allocate"
6225 ]
6226 ]
6227 },
6228 "protected" : 1,
6229 "returns" : {
6230 "type" : "null"
6231 }
6232 },
6233 "GET" : {
6234 "allowtoken" : 1,
6235 "description" : "Read sdn subnet configuration.",
6236 "method" : "GET",
6237 "name" : "read",
6238 "parameters" : {
6239 "additionalProperties" : 0,
6240 "properties" : {
6241 "pending" : {
6242 "description" : "Display pending config.",
6243 "optional" : 1,
6244 "type" : "boolean",
6245 "typetext" : "<boolean>"
6246 },
6247 "running" : {
6248 "description" : "Display running config.",
6249 "optional" : 1,
6250 "type" : "boolean",
6251 "typetext" : "<boolean>"
6252 },
6253 "subnet" : {
6254 "description" : "The SDN subnet object identifier.",
6255 "format" : "pve-sdn-subnet-id",
6256 "type" : "string",
6257 "typetext" : "<string>"
6258 },
6259 "vnet" : {
6260 "description" : "The SDN vnet object identifier.",
6261 "format" : "pve-sdn-vnet-id",
6262 "type" : "string",
6263 "typetext" : "<string>"
6264 }
6265 }
6266 },
6267 "permissions" : {
6268 "check" : [
6269 "perm",
6270 "/sdn/vnets/{vnet}/subnets/{subnet}",
6271 [
6272 "SDN.Allocate"
6273 ]
6274 ]
6275 },
6276 "returns" : {
6277 "type" : "object"
6278 }
6279 },
6280 "PUT" : {
6281 "allowtoken" : 1,
6282 "description" : "Update sdn subnet object configuration.",
6283 "method" : "PUT",
6284 "name" : "update",
6285 "parameters" : {
6286 "additionalProperties" : 0,
6287 "properties" : {
6288 "delete" : {
6289 "description" : "A list of settings you want to delete.",
6290 "format" : "pve-configid-list",
6291 "maxLength" : 4096,
6292 "optional" : 1,
6293 "type" : "string",
6294 "typetext" : "<string>"
6295 },
6296 "digest" : {
6297 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6298 "maxLength" : 40,
6299 "optional" : 1,
6300 "type" : "string",
6301 "typetext" : "<string>"
6302 },
6303 "dnszoneprefix" : {
6304 "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
6305 "format" : "dns-name",
6306 "optional" : 1,
6307 "type" : "string",
6308 "typetext" : "<string>"
6309 },
6310 "gateway" : {
6311 "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
6312 "format" : "ip",
6313 "optional" : 1,
6314 "type" : "string",
6315 "typetext" : "<string>"
6316 },
6317 "snat" : {
6318 "description" : "enable masquerade for this subnet if pve-firewall",
6319 "optional" : 1,
6320 "type" : "boolean",
6321 "typetext" : "<boolean>"
6322 },
6323 "subnet" : {
6324 "description" : "The SDN subnet object identifier.",
6325 "format" : "pve-sdn-subnet-id",
6326 "type" : "string",
6327 "typetext" : "<string>"
6328 },
6329 "vnet" : {
6330 "description" : "associated vnet",
6331 "optional" : 1,
6332 "type" : "string",
6333 "typetext" : "<string>"
6334 }
6335 },
6336 "type" : "object"
6337 },
6338 "permissions" : {
6339 "check" : [
6340 "perm",
6341 "/sdn/vnets/{vnet}/subnets",
6342 [
6343 "SDN.Allocate"
6344 ]
6345 ]
6346 },
6347 "protected" : 1,
6348 "returns" : {
6349 "type" : "null"
6350 }
6351 }
6352 },
6353 "leaf" : 1,
6354 "path" : "/cluster/sdn/vnets/{vnet}/subnets/{subnet}",
6355 "text" : "{subnet}"
6356 }
6357 ],
6358 "info" : {
6359 "GET" : {
6360 "allowtoken" : 1,
6361 "description" : "SDN subnets index.",
6362 "method" : "GET",
6363 "name" : "index",
6364 "parameters" : {
6365 "additionalProperties" : 0,
6366 "properties" : {
6367 "pending" : {
6368 "description" : "Display pending config.",
6369 "optional" : 1,
6370 "type" : "boolean",
6371 "typetext" : "<boolean>"
6372 },
6373 "running" : {
6374 "description" : "Display running config.",
6375 "optional" : 1,
6376 "type" : "boolean",
6377 "typetext" : "<boolean>"
6378 },
6379 "vnet" : {
6380 "description" : "The SDN vnet object identifier.",
6381 "format" : "pve-sdn-vnet-id",
6382 "type" : "string",
6383 "typetext" : "<string>"
6384 }
6385 }
6386 },
6387 "permissions" : {
6388 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
6389 "user" : "all"
6390 },
6391 "returns" : {
6392 "items" : {
6393 "properties" : {},
6394 "type" : "object"
6395 },
6396 "links" : [
6397 {
6398 "href" : "{subnet}",
6399 "rel" : "child"
6400 }
6401 ],
6402 "type" : "array"
6403 }
6404 },
6405 "POST" : {
6406 "allowtoken" : 1,
6407 "description" : "Create a new sdn subnet object.",
6408 "method" : "POST",
6409 "name" : "create",
6410 "parameters" : {
6411 "additionalProperties" : 0,
6412 "properties" : {
6413 "dnszoneprefix" : {
6414 "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
6415 "format" : "dns-name",
6416 "optional" : 1,
6417 "type" : "string",
6418 "typetext" : "<string>"
6419 },
6420 "gateway" : {
6421 "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
6422 "format" : "ip",
6423 "optional" : 1,
6424 "type" : "string",
6425 "typetext" : "<string>"
6426 },
6427 "snat" : {
6428 "description" : "enable masquerade for this subnet if pve-firewall",
6429 "optional" : 1,
6430 "type" : "boolean",
6431 "typetext" : "<boolean>"
6432 },
6433 "subnet" : {
6434 "description" : "The SDN subnet object identifier.",
6435 "format" : "pve-sdn-subnet-id",
6436 "type" : "string",
6437 "typetext" : "<string>"
6438 },
6439 "type" : {
6440 "enum" : [
6441 "subnet"
6442 ],
6443 "type" : "string"
6444 },
6445 "vnet" : {
6446 "description" : "associated vnet",
6447 "optional" : 0,
6448 "type" : "string",
6449 "typetext" : "<string>"
6450 }
6451 },
6452 "type" : "object"
6453 },
6454 "permissions" : {
6455 "check" : [
6456 "perm",
6457 "/sdn/vnets/{vnet}/subnets",
6458 [
6459 "SDN.Allocate"
6460 ]
6461 ]
6462 },
6463 "protected" : 1,
6464 "returns" : {
6465 "type" : "null"
6466 }
6467 }
6468 },
6469 "leaf" : 0,
6470 "path" : "/cluster/sdn/vnets/{vnet}/subnets",
6471 "text" : "subnets"
6472 }
6473 ],
c5aa7e14
TL
6474 "info" : {
6475 "DELETE" : {
6476 "allowtoken" : 1,
6477 "description" : "Delete sdn vnet object configuration.",
6478 "method" : "DELETE",
6479 "name" : "delete",
6480 "parameters" : {
6481 "additionalProperties" : 0,
6482 "properties" : {
6483 "vnet" : {
6484 "description" : "The SDN vnet object identifier.",
6485 "format" : "pve-sdn-vnet-id",
6486 "type" : "string",
6487 "typetext" : "<string>"
6488 }
6489 }
6490 },
6491 "permissions" : {
6492 "check" : [
6493 "perm",
6494 "/sdn/vnets",
6495 [
6496 "SDN.Allocate"
6497 ]
6498 ]
6499 },
6500 "protected" : 1,
6501 "returns" : {
6502 "type" : "null"
6503 }
6504 },
6505 "GET" : {
6506 "allowtoken" : 1,
6507 "description" : "Read sdn vnet configuration.",
6508 "method" : "GET",
6509 "name" : "read",
6510 "parameters" : {
6511 "additionalProperties" : 0,
6512 "properties" : {
d2656385
TL
6513 "pending" : {
6514 "description" : "Display pending config.",
6515 "optional" : 1,
6516 "type" : "boolean",
6517 "typetext" : "<boolean>"
6518 },
6519 "running" : {
6520 "description" : "Display running config.",
6521 "optional" : 1,
6522 "type" : "boolean",
6523 "typetext" : "<boolean>"
6524 },
c5aa7e14
TL
6525 "vnet" : {
6526 "description" : "The SDN vnet object identifier.",
6527 "format" : "pve-sdn-vnet-id",
6528 "type" : "string",
6529 "typetext" : "<string>"
6530 }
6531 }
6532 },
6533 "permissions" : {
6534 "check" : [
6535 "perm",
6536 "/sdn/vnets/{vnet}",
6537 [
6538 "SDN.Allocate"
6539 ]
6540 ]
6541 },
6542 "returns" : {
6543 "type" : "object"
6544 }
6545 },
6546 "PUT" : {
6547 "allowtoken" : 1,
6548 "description" : "Update sdn vnet object configuration.",
6549 "method" : "PUT",
6550 "name" : "update",
6551 "parameters" : {
6552 "additionalProperties" : 0,
6553 "properties" : {
6554 "alias" : {
6555 "description" : "alias name of the vnet",
6556 "optional" : 1,
6557 "type" : "string",
6558 "typetext" : "<string>"
6559 },
6560 "delete" : {
6561 "description" : "A list of settings you want to delete.",
6562 "format" : "pve-configid-list",
6563 "maxLength" : 4096,
6564 "optional" : 1,
6565 "type" : "string",
6566 "typetext" : "<string>"
6567 },
6568 "digest" : {
6569 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6570 "maxLength" : 40,
6571 "optional" : 1,
6572 "type" : "string",
6573 "typetext" : "<string>"
6574 },
c5aa7e14
TL
6575 "tag" : {
6576 "description" : "vlan or vxlan id",
6577 "optional" : 1,
6578 "type" : "integer",
6579 "typetext" : "<integer>"
6580 },
ac70d7d1
TL
6581 "vlanaware" : {
6582 "description" : "Allow vm VLANs to pass through this vnet.",
6583 "optional" : 1,
6584 "type" : "boolean",
6585 "typetext" : "<boolean>"
6586 },
c5aa7e14
TL
6587 "vnet" : {
6588 "description" : "The SDN vnet object identifier.",
6589 "format" : "pve-sdn-vnet-id",
6590 "type" : "string",
6591 "typetext" : "<string>"
6592 },
6593 "zone" : {
6594 "description" : "zone id",
6595 "optional" : 1,
6596 "type" : "string",
6597 "typetext" : "<string>"
6598 }
6599 },
6600 "type" : "object"
6601 },
6602 "permissions" : {
6603 "check" : [
6604 "perm",
6605 "/sdn/vnets",
6606 [
6607 "SDN.Allocate"
6608 ]
6609 ]
6610 },
6611 "protected" : 1,
6612 "returns" : {
6613 "type" : "null"
6614 }
6615 }
6616 },
d2656385 6617 "leaf" : 0,
c5aa7e14
TL
6618 "path" : "/cluster/sdn/vnets/{vnet}",
6619 "text" : "{vnet}"
6620 }
6621 ],
6622 "info" : {
6623 "GET" : {
6624 "allowtoken" : 1,
6625 "description" : "SDN vnets index.",
6626 "method" : "GET",
6627 "name" : "index",
6628 "parameters" : {
d2656385
TL
6629 "additionalProperties" : 0,
6630 "properties" : {
6631 "pending" : {
6632 "description" : "Display pending config.",
6633 "optional" : 1,
6634 "type" : "boolean",
6635 "typetext" : "<boolean>"
6636 },
6637 "running" : {
6638 "description" : "Display running config.",
6639 "optional" : 1,
6640 "type" : "boolean",
6641 "typetext" : "<boolean>"
6642 }
6643 }
c5aa7e14
TL
6644 },
6645 "permissions" : {
6646 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
6647 "user" : "all"
6648 },
6649 "returns" : {
6650 "items" : {
6651 "properties" : {},
6652 "type" : "object"
6653 },
6654 "links" : [
6655 {
6656 "href" : "{vnet}",
6657 "rel" : "child"
6658 }
6659 ],
6660 "type" : "array"
6661 }
6662 },
6663 "POST" : {
6664 "allowtoken" : 1,
6665 "description" : "Create a new sdn vnet object.",
6666 "method" : "POST",
6667 "name" : "create",
6668 "parameters" : {
6669 "additionalProperties" : 0,
6670 "properties" : {
6671 "alias" : {
6672 "description" : "alias name of the vnet",
6673 "optional" : 1,
6674 "type" : "string",
6675 "typetext" : "<string>"
6676 },
c5aa7e14
TL
6677 "tag" : {
6678 "description" : "vlan or vxlan id",
ac70d7d1 6679 "optional" : 1,
c5aa7e14
TL
6680 "type" : "integer",
6681 "typetext" : "<integer>"
6682 },
6683 "type" : {
6684 "description" : "Type",
6685 "enum" : [
6686 "vnet"
6687 ],
6688 "optional" : 1,
6689 "type" : "string"
6690 },
ac70d7d1
TL
6691 "vlanaware" : {
6692 "description" : "Allow vm VLANs to pass through this vnet.",
6693 "optional" : 1,
6694 "type" : "boolean",
6695 "typetext" : "<boolean>"
6696 },
c5aa7e14
TL
6697 "vnet" : {
6698 "description" : "The SDN vnet object identifier.",
6699 "format" : "pve-sdn-vnet-id",
6700 "type" : "string",
6701 "typetext" : "<string>"
6702 },
6703 "zone" : {
6704 "description" : "zone id",
6705 "optional" : 0,
6706 "type" : "string",
6707 "typetext" : "<string>"
6708 }
6709 },
6710 "type" : "object"
6711 },
6712 "permissions" : {
6713 "check" : [
6714 "perm",
6715 "/sdn/vnets",
6716 [
6717 "SDN.Allocate"
6718 ]
6719 ]
6720 },
6721 "protected" : 1,
6722 "returns" : {
6723 "type" : "null"
6724 }
6725 }
6726 },
6727 "leaf" : 0,
6728 "path" : "/cluster/sdn/vnets",
6729 "text" : "vnets"
6730 },
6731 {
6732 "children" : [
6733 {
6734 "info" : {
6735 "DELETE" : {
6736 "allowtoken" : 1,
6737 "description" : "Delete sdn zone object configuration.",
6738 "method" : "DELETE",
6739 "name" : "delete",
6740 "parameters" : {
6741 "additionalProperties" : 0,
6742 "properties" : {
6743 "zone" : {
6744 "description" : "The SDN zone object identifier.",
6745 "format" : "pve-sdn-zone-id",
6746 "type" : "string",
6747 "typetext" : "<string>"
6748 }
6749 }
6750 },
6751 "permissions" : {
6752 "check" : [
6753 "perm",
6754 "/sdn/zones",
6755 [
6756 "SDN.Allocate"
6757 ]
6758 ]
6759 },
6760 "protected" : 1,
6761 "returns" : {
6762 "type" : "null"
6763 }
6764 },
6765 "GET" : {
6766 "allowtoken" : 1,
6767 "description" : "Read sdn zone configuration.",
6768 "method" : "GET",
6769 "name" : "read",
6770 "parameters" : {
6771 "additionalProperties" : 0,
6772 "properties" : {
d2656385
TL
6773 "pending" : {
6774 "description" : "Display pending config.",
6775 "optional" : 1,
6776 "type" : "boolean",
6777 "typetext" : "<boolean>"
6778 },
6779 "running" : {
6780 "description" : "Display running config.",
6781 "optional" : 1,
6782 "type" : "boolean",
6783 "typetext" : "<boolean>"
6784 },
c5aa7e14
TL
6785 "zone" : {
6786 "description" : "The SDN zone object identifier.",
6787 "format" : "pve-sdn-zone-id",
6788 "type" : "string",
6789 "typetext" : "<string>"
6790 }
6791 }
6792 },
6793 "permissions" : {
6794 "check" : [
6795 "perm",
6796 "/sdn/zones/{zone}",
6797 [
6798 "SDN.Allocate"
6799 ]
6800 ]
6801 },
6802 "returns" : {
6803 "type" : "object"
6804 }
6805 },
6806 "PUT" : {
6807 "allowtoken" : 1,
6808 "description" : "Update sdn zone object configuration.",
6809 "method" : "PUT",
6810 "name" : "update",
6811 "parameters" : {
6812 "additionalProperties" : 0,
6813 "properties" : {
6814 "bridge" : {
6815 "optional" : 1,
6816 "type" : "string",
6817 "typetext" : "<string>"
6818 },
6819 "controller" : {
6820 "description" : "Frr router name",
6821 "optional" : 1,
6822 "type" : "string",
6823 "typetext" : "<string>"
6824 },
6825 "delete" : {
6826 "description" : "A list of settings you want to delete.",
6827 "format" : "pve-configid-list",
6828 "maxLength" : 4096,
6829 "optional" : 1,
6830 "type" : "string",
6831 "typetext" : "<string>"
6832 },
6833 "digest" : {
6834 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
6835 "maxLength" : 40,
6836 "optional" : 1,
6837 "type" : "string",
6838 "typetext" : "<string>"
6839 },
d2656385
TL
6840 "dns" : {
6841 "description" : "dns api server",
6842 "optional" : 1,
6843 "type" : "string",
6844 "typetext" : "<string>"
6845 },
6846 "dnszone" : {
6847 "description" : "dns domain zone ex: mydomain.com",
6848 "format" : "dns-name",
6849 "optional" : 1,
6850 "type" : "string",
6851 "typetext" : "<string>"
6852 },
c5aa7e14
TL
6853 "dp-id" : {
6854 "description" : "Faucet dataplane id",
6855 "optional" : 1,
6856 "type" : "integer",
6857 "typetext" : "<integer>"
6858 },
d2656385
TL
6859 "exitnodes" : {
6860 "description" : "List of cluster node names.",
6861 "format" : "pve-node-list",
6862 "optional" : 1,
6863 "type" : "string",
6864 "typetext" : "<string>"
6865 },
6866 "ipam" : {
6867 "description" : "use a specific ipam",
e7084ef7 6868 "optional" : 1,
d2656385
TL
6869 "type" : "string",
6870 "typetext" : "<string>"
6871 },
6872 "mac" : {
6873 "description" : "Anycast logical router mac address",
6874 "format" : "mac-addr",
6875 "optional" : 1,
6876 "type" : "string",
6877 "typetext" : "<string>"
6878 },
c5aa7e14 6879 "mtu" : {
ac70d7d1 6880 "description" : "MTU",
c5aa7e14
TL
6881 "optional" : 1,
6882 "type" : "integer",
6883 "typetext" : "<integer>"
6884 },
6885 "nodes" : {
6886 "description" : "List of cluster node names.",
6887 "format" : "pve-node-list",
6888 "optional" : 1,
6889 "type" : "string",
6890 "typetext" : "<string>"
6891 },
6892 "peers" : {
6893 "description" : "peers address list.",
6894 "format" : "ip-list",
6895 "optional" : 1,
6896 "type" : "string",
6897 "typetext" : "<string>"
6898 },
d2656385
TL
6899 "reversedns" : {
6900 "description" : "reverse dns api server",
6901 "optional" : 1,
6902 "type" : "string",
6903 "typetext" : "<string>"
6904 },
c5aa7e14 6905 "tag" : {
ac70d7d1
TL
6906 "description" : "Service-VLAN Tag",
6907 "minimum" : 0,
c5aa7e14
TL
6908 "optional" : 1,
6909 "type" : "integer",
ac70d7d1
TL
6910 "typetext" : "<integer> (0 - N)"
6911 },
6912 "vlan-protocol" : {
6913 "default" : "802.1q",
6914 "enum" : [
6915 "802.1q",
6916 "802.1ad"
6917 ],
6918 "optional" : 1,
6919 "type" : "string"
c5aa7e14
TL
6920 },
6921 "vrf-vxlan" : {
6922 "description" : "l3vni.",
6923 "optional" : 1,
6924 "type" : "integer",
6925 "typetext" : "<integer>"
6926 },
6927 "zone" : {
6928 "description" : "The SDN zone object identifier.",
6929 "format" : "pve-sdn-zone-id",
6930 "type" : "string",
6931 "typetext" : "<string>"
6932 }
6933 },
6934 "type" : "object"
6935 },
6936 "permissions" : {
6937 "check" : [
6938 "perm",
6939 "/sdn/zones",
6940 [
6941 "SDN.Allocate"
6942 ]
6943 ]
6944 },
6945 "protected" : 1,
6946 "returns" : {
6947 "type" : "null"
6948 }
6949 }
6950 },
6951 "leaf" : 1,
6952 "path" : "/cluster/sdn/zones/{zone}",
6953 "text" : "{zone}"
6954 }
6955 ],
6956 "info" : {
6957 "GET" : {
6958 "allowtoken" : 1,
6959 "description" : "SDN zones index.",
6960 "method" : "GET",
6961 "name" : "index",
6962 "parameters" : {
6963 "additionalProperties" : 0,
6964 "properties" : {
d2656385
TL
6965 "pending" : {
6966 "description" : "Display pending config.",
6967 "optional" : 1,
6968 "type" : "boolean",
6969 "typetext" : "<boolean>"
6970 },
6971 "running" : {
6972 "description" : "Display running config.",
6973 "optional" : 1,
6974 "type" : "boolean",
6975 "typetext" : "<boolean>"
6976 },
c5aa7e14 6977 "type" : {
e7084ef7 6978 "description" : "Only list SDN zones of specific type",
c5aa7e14
TL
6979 "enum" : [
6980 "evpn",
6981 "faucet",
6982 "qinq",
ac70d7d1 6983 "simple",
c5aa7e14
TL
6984 "vlan",
6985 "vxlan"
6986 ],
6987 "optional" : 1,
6988 "type" : "string"
6989 }
6990 }
6991 },
6992 "permissions" : {
6993 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>'",
6994 "user" : "all"
6995 },
6996 "returns" : {
6997 "items" : {
6998 "properties" : {
d2656385
TL
6999 "dns" : {
7000 "optional" : 1,
7001 "type" : "string"
7002 },
7003 "dnszone" : {
7004 "optional" : 1,
7005 "type" : "string"
7006 },
7007 "ipam" : {
7008 "optional" : 1,
7009 "type" : "string"
7010 },
7011 "mtu" : {
7012 "optional" : 1,
7013 "type" : "integer"
7014 },
7015 "nodes" : {
7016 "optional" : 1,
7017 "type" : "string"
7018 },
7019 "pending" : {
7020 "optional" : 1
7021 },
7022 "reversedns" : {
7023 "optional" : 1,
7024 "type" : "string"
7025 },
7026 "state" : {
7027 "optional" : 1,
7028 "type" : "string"
7029 },
c5aa7e14
TL
7030 "type" : {
7031 "type" : "string"
7032 },
7033 "zone" : {
7034 "type" : "string"
7035 }
7036 },
7037 "type" : "object"
7038 },
7039 "links" : [
7040 {
7041 "href" : "{zone}",
7042 "rel" : "child"
7043 }
7044 ],
7045 "type" : "array"
7046 }
7047 },
7048 "POST" : {
7049 "allowtoken" : 1,
7050 "description" : "Create a new sdn zone object.",
7051 "method" : "POST",
7052 "name" : "create",
7053 "parameters" : {
7054 "additionalProperties" : 0,
7055 "properties" : {
7056 "bridge" : {
7057 "optional" : 1,
7058 "type" : "string",
7059 "typetext" : "<string>"
7060 },
7061 "controller" : {
7062 "description" : "Frr router name",
7063 "optional" : 1,
7064 "type" : "string",
7065 "typetext" : "<string>"
7066 },
d2656385
TL
7067 "dns" : {
7068 "description" : "dns api server",
7069 "optional" : 1,
7070 "type" : "string",
7071 "typetext" : "<string>"
7072 },
7073 "dnszone" : {
7074 "description" : "dns domain zone ex: mydomain.com",
7075 "format" : "dns-name",
7076 "optional" : 1,
7077 "type" : "string",
7078 "typetext" : "<string>"
7079 },
c5aa7e14
TL
7080 "dp-id" : {
7081 "description" : "Faucet dataplane id",
7082 "optional" : 1,
7083 "type" : "integer",
7084 "typetext" : "<integer>"
7085 },
d2656385
TL
7086 "exitnodes" : {
7087 "description" : "List of cluster node names.",
7088 "format" : "pve-node-list",
7089 "optional" : 1,
7090 "type" : "string",
7091 "typetext" : "<string>"
7092 },
7093 "ipam" : {
7094 "description" : "use a specific ipam",
e7084ef7 7095 "optional" : 1,
d2656385
TL
7096 "type" : "string",
7097 "typetext" : "<string>"
7098 },
7099 "mac" : {
7100 "description" : "Anycast logical router mac address",
7101 "format" : "mac-addr",
7102 "optional" : 1,
7103 "type" : "string",
7104 "typetext" : "<string>"
7105 },
c5aa7e14 7106 "mtu" : {
ac70d7d1 7107 "description" : "MTU",
c5aa7e14
TL
7108 "optional" : 1,
7109 "type" : "integer",
7110 "typetext" : "<integer>"
7111 },
7112 "nodes" : {
7113 "description" : "List of cluster node names.",
7114 "format" : "pve-node-list",
7115 "optional" : 1,
7116 "type" : "string",
7117 "typetext" : "<string>"
7118 },
7119 "peers" : {
7120 "description" : "peers address list.",
7121 "format" : "ip-list",
7122 "optional" : 1,
7123 "type" : "string",
7124 "typetext" : "<string>"
7125 },
d2656385
TL
7126 "reversedns" : {
7127 "description" : "reverse dns api server",
7128 "optional" : 1,
7129 "type" : "string",
7130 "typetext" : "<string>"
7131 },
c5aa7e14 7132 "tag" : {
ac70d7d1
TL
7133 "description" : "Service-VLAN Tag",
7134 "minimum" : 0,
c5aa7e14
TL
7135 "optional" : 1,
7136 "type" : "integer",
ac70d7d1 7137 "typetext" : "<integer> (0 - N)"
c5aa7e14
TL
7138 },
7139 "type" : {
7140 "description" : "Plugin type.",
7141 "enum" : [
7142 "evpn",
7143 "faucet",
7144 "qinq",
ac70d7d1 7145 "simple",
c5aa7e14
TL
7146 "vlan",
7147 "vxlan"
7148 ],
7149 "format" : "pve-configid",
7150 "type" : "string"
7151 },
ac70d7d1
TL
7152 "vlan-protocol" : {
7153 "default" : "802.1q",
7154 "enum" : [
7155 "802.1q",
7156 "802.1ad"
7157 ],
7158 "optional" : 1,
7159 "type" : "string"
7160 },
c5aa7e14
TL
7161 "vrf-vxlan" : {
7162 "description" : "l3vni.",
7163 "optional" : 1,
7164 "type" : "integer",
7165 "typetext" : "<integer>"
7166 },
7167 "zone" : {
7168 "description" : "The SDN zone object identifier.",
7169 "format" : "pve-sdn-zone-id",
7170 "type" : "string",
7171 "typetext" : "<string>"
7172 }
7173 },
7174 "type" : "object"
7175 },
7176 "permissions" : {
7177 "check" : [
7178 "perm",
7179 "/sdn/zones",
7180 [
7181 "SDN.Allocate"
7182 ]
7183 ]
7184 },
7185 "protected" : 1,
7186 "returns" : {
7187 "type" : "null"
7188 }
7189 }
7190 },
7191 "leaf" : 0,
7192 "path" : "/cluster/sdn/zones",
7193 "text" : "zones"
7194 },
7195 {
7196 "children" : [
7197 {
7198 "info" : {
7199 "DELETE" : {
7200 "allowtoken" : 1,
7201 "description" : "Delete sdn controller object configuration.",
7202 "method" : "DELETE",
7203 "name" : "delete",
7204 "parameters" : {
7205 "additionalProperties" : 0,
7206 "properties" : {
7207 "controller" : {
7208 "description" : "The SDN controller object identifier.",
7209 "format" : "pve-sdn-controller-id",
7210 "type" : "string",
7211 "typetext" : "<string>"
7212 }
7213 }
7214 },
7215 "permissions" : {
7216 "check" : [
7217 "perm",
7218 "/sdn/controllers",
7219 [
7220 "SDN.Allocate"
7221 ]
7222 ]
7223 },
7224 "protected" : 1,
7225 "returns" : {
7226 "type" : "null"
7227 }
7228 },
7229 "GET" : {
7230 "allowtoken" : 1,
7231 "description" : "Read sdn controller configuration.",
7232 "method" : "GET",
7233 "name" : "read",
7234 "parameters" : {
7235 "additionalProperties" : 0,
7236 "properties" : {
7237 "controller" : {
7238 "description" : "The SDN controller object identifier.",
7239 "format" : "pve-sdn-controller-id",
7240 "type" : "string",
7241 "typetext" : "<string>"
d2656385
TL
7242 },
7243 "pending" : {
7244 "description" : "Display pending config.",
7245 "optional" : 1,
7246 "type" : "boolean",
7247 "typetext" : "<boolean>"
7248 },
7249 "running" : {
7250 "description" : "Display running config.",
7251 "optional" : 1,
7252 "type" : "boolean",
7253 "typetext" : "<boolean>"
c5aa7e14
TL
7254 }
7255 }
7256 },
7257 "permissions" : {
7258 "check" : [
7259 "perm",
7260 "/sdn/controllers/{controller}",
7261 [
7262 "SDN.Allocate"
7263 ]
7264 ]
7265 },
7266 "returns" : {
7267 "type" : "object"
7268 }
7269 },
7270 "PUT" : {
7271 "allowtoken" : 1,
7272 "description" : "Update sdn controller object configuration.",
7273 "method" : "PUT",
7274 "name" : "update",
7275 "parameters" : {
7276 "additionalProperties" : 0,
7277 "properties" : {
7278 "asn" : {
7279 "description" : "autonomous system number",
7280 "optional" : 1,
7281 "type" : "integer",
7282 "typetext" : "<integer>"
7283 },
7284 "controller" : {
7285 "description" : "The SDN controller object identifier.",
7286 "format" : "pve-sdn-controller-id",
7287 "type" : "string",
7288 "typetext" : "<string>"
7289 },
7290 "delete" : {
7291 "description" : "A list of settings you want to delete.",
7292 "format" : "pve-configid-list",
7293 "maxLength" : 4096,
7294 "optional" : 1,
7295 "type" : "string",
7296 "typetext" : "<string>"
7297 },
7298 "digest" : {
7299 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7300 "maxLength" : 40,
7301 "optional" : 1,
7302 "type" : "string",
7303 "typetext" : "<string>"
7304 },
d2656385
TL
7305 "ebgp" : {
7306 "description" : "Enable ebgp. (remote-as external)",
7307 "optional" : 1,
7308 "type" : "boolean",
7309 "typetext" : "<boolean>"
7310 },
7311 "ebgp-multihop" : {
7312 "optional" : 1,
7313 "type" : "integer",
7314 "typetext" : "<integer>"
7315 },
7316 "loopback" : {
7317 "description" : "source loopback interface.",
c5aa7e14
TL
7318 "optional" : 1,
7319 "type" : "string",
7320 "typetext" : "<string>"
7321 },
d2656385
TL
7322 "node" : {
7323 "description" : "The cluster node name.",
7324 "format" : "pve-node",
c5aa7e14
TL
7325 "optional" : 1,
7326 "type" : "string",
7327 "typetext" : "<string>"
7328 },
7329 "peers" : {
7330 "description" : "peers address list.",
7331 "format" : "ip-list",
7332 "optional" : 1,
7333 "type" : "string",
7334 "typetext" : "<string>"
7335 }
7336 },
7337 "type" : "object"
7338 },
7339 "permissions" : {
7340 "check" : [
7341 "perm",
7342 "/sdn/controllers",
7343 [
7344 "SDN.Allocate"
7345 ]
7346 ]
7347 },
7348 "protected" : 1,
7349 "returns" : {
7350 "type" : "null"
7351 }
7352 }
7353 },
7354 "leaf" : 1,
7355 "path" : "/cluster/sdn/controllers/{controller}",
7356 "text" : "{controller}"
7357 }
7358 ],
7359 "info" : {
7360 "GET" : {
7361 "allowtoken" : 1,
7362 "description" : "SDN controllers index.",
7363 "method" : "GET",
7364 "name" : "index",
7365 "parameters" : {
7366 "additionalProperties" : 0,
7367 "properties" : {
d2656385
TL
7368 "pending" : {
7369 "description" : "Display pending config.",
7370 "optional" : 1,
7371 "type" : "boolean",
7372 "typetext" : "<boolean>"
7373 },
7374 "running" : {
7375 "description" : "Display running config.",
7376 "optional" : 1,
7377 "type" : "boolean",
7378 "typetext" : "<boolean>"
7379 },
c5aa7e14
TL
7380 "type" : {
7381 "description" : "Only list sdn controllers of specific type",
7382 "enum" : [
d2656385 7383 "bgp",
c5aa7e14
TL
7384 "evpn",
7385 "faucet"
7386 ],
7387 "optional" : 1,
7388 "type" : "string"
7389 }
7390 }
7391 },
7392 "permissions" : {
7393 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/controllers/<controller>'",
7394 "user" : "all"
7395 },
7396 "returns" : {
7397 "items" : {
7398 "properties" : {
7399 "controller" : {
7400 "type" : "string"
7401 },
d2656385
TL
7402 "pending" : {
7403 "optional" : 1
7404 },
7405 "state" : {
7406 "optional" : 1,
7407 "type" : "string"
7408 },
c5aa7e14
TL
7409 "type" : {
7410 "type" : "string"
7411 }
7412 },
7413 "type" : "object"
7414 },
7415 "links" : [
7416 {
7417 "href" : "{controller}",
7418 "rel" : "child"
7419 }
7420 ],
7421 "type" : "array"
7422 }
7423 },
7424 "POST" : {
7425 "allowtoken" : 1,
7426 "description" : "Create a new sdn controller object.",
7427 "method" : "POST",
7428 "name" : "create",
7429 "parameters" : {
7430 "additionalProperties" : 0,
7431 "properties" : {
7432 "asn" : {
7433 "description" : "autonomous system number",
7434 "optional" : 1,
7435 "type" : "integer",
7436 "typetext" : "<integer>"
7437 },
7438 "controller" : {
7439 "description" : "The SDN controller object identifier.",
7440 "format" : "pve-sdn-controller-id",
7441 "type" : "string",
7442 "typetext" : "<string>"
7443 },
d2656385
TL
7444 "ebgp" : {
7445 "description" : "Enable ebgp. (remote-as external)",
7446 "optional" : 1,
7447 "type" : "boolean",
7448 "typetext" : "<boolean>"
7449 },
7450 "ebgp-multihop" : {
7451 "optional" : 1,
7452 "type" : "integer",
7453 "typetext" : "<integer>"
7454 },
7455 "loopback" : {
7456 "description" : "source loopback interface.",
c5aa7e14
TL
7457 "optional" : 1,
7458 "type" : "string",
7459 "typetext" : "<string>"
7460 },
d2656385
TL
7461 "node" : {
7462 "description" : "The cluster node name.",
7463 "format" : "pve-node",
c5aa7e14
TL
7464 "optional" : 1,
7465 "type" : "string",
7466 "typetext" : "<string>"
7467 },
7468 "peers" : {
7469 "description" : "peers address list.",
7470 "format" : "ip-list",
7471 "optional" : 1,
7472 "type" : "string",
7473 "typetext" : "<string>"
7474 },
7475 "type" : {
7476 "description" : "Plugin type.",
7477 "enum" : [
d2656385 7478 "bgp",
c5aa7e14
TL
7479 "evpn",
7480 "faucet"
7481 ],
7482 "format" : "pve-configid",
7483 "type" : "string"
7484 }
7485 },
7486 "type" : "object"
7487 },
7488 "permissions" : {
7489 "check" : [
7490 "perm",
7491 "/sdn/controllers",
7492 [
7493 "SDN.Allocate"
7494 ]
7495 ]
7496 },
7497 "protected" : 1,
7498 "returns" : {
7499 "type" : "null"
7500 }
7501 }
7502 },
7503 "leaf" : 0,
7504 "path" : "/cluster/sdn/controllers",
7505 "text" : "controllers"
d2656385
TL
7506 },
7507 {
7508 "children" : [
7509 {
7510 "info" : {
7511 "DELETE" : {
7512 "allowtoken" : 1,
7513 "description" : "Delete sdn ipam object configuration.",
7514 "method" : "DELETE",
7515 "name" : "delete",
7516 "parameters" : {
7517 "additionalProperties" : 0,
7518 "properties" : {
7519 "ipam" : {
7520 "description" : "The SDN ipam object identifier.",
7521 "format" : "pve-sdn-ipam-id",
7522 "type" : "string",
7523 "typetext" : "<string>"
7524 }
7525 }
7526 },
7527 "permissions" : {
7528 "check" : [
7529 "perm",
7530 "/sdn/ipams",
7531 [
7532 "SDN.Allocate"
7533 ]
7534 ]
7535 },
7536 "protected" : 1,
7537 "returns" : {
7538 "type" : "null"
7539 }
7540 },
7541 "GET" : {
7542 "allowtoken" : 1,
7543 "description" : "Read sdn ipam configuration.",
7544 "method" : "GET",
7545 "name" : "read",
7546 "parameters" : {
7547 "additionalProperties" : 0,
7548 "properties" : {
7549 "ipam" : {
7550 "description" : "The SDN ipam object identifier.",
7551 "format" : "pve-sdn-ipam-id",
7552 "type" : "string",
7553 "typetext" : "<string>"
7554 }
7555 }
7556 },
7557 "permissions" : {
7558 "check" : [
7559 "perm",
7560 "/sdn/ipams/{ipam}",
7561 [
7562 "SDN.Allocate"
7563 ]
7564 ]
7565 },
7566 "returns" : {
7567 "type" : "object"
7568 }
7569 },
7570 "PUT" : {
7571 "allowtoken" : 1,
7572 "description" : "Update sdn ipam object configuration.",
7573 "method" : "PUT",
7574 "name" : "update",
7575 "parameters" : {
7576 "additionalProperties" : 0,
7577 "properties" : {
7578 "delete" : {
7579 "description" : "A list of settings you want to delete.",
7580 "format" : "pve-configid-list",
7581 "maxLength" : 4096,
7582 "optional" : 1,
7583 "type" : "string",
7584 "typetext" : "<string>"
7585 },
7586 "digest" : {
7587 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7588 "maxLength" : 40,
7589 "optional" : 1,
7590 "type" : "string",
7591 "typetext" : "<string>"
7592 },
7593 "ipam" : {
7594 "description" : "The SDN ipam object identifier.",
7595 "format" : "pve-sdn-ipam-id",
7596 "type" : "string",
7597 "typetext" : "<string>"
7598 },
7599 "section" : {
7600 "optional" : 1,
7601 "type" : "integer",
7602 "typetext" : "<integer>"
7603 },
7604 "token" : {
7605 "optional" : 1,
7606 "type" : "string",
7607 "typetext" : "<string>"
7608 },
7609 "url" : {
7610 "optional" : 1,
7611 "type" : "string",
7612 "typetext" : "<string>"
7613 }
7614 },
7615 "type" : "object"
7616 },
7617 "permissions" : {
7618 "check" : [
7619 "perm",
7620 "/sdn/ipams",
7621 [
7622 "SDN.Allocate"
7623 ]
7624 ]
7625 },
7626 "protected" : 1,
7627 "returns" : {
7628 "type" : "null"
7629 }
c5aa7e14
TL
7630 }
7631 },
d2656385
TL
7632 "leaf" : 1,
7633 "path" : "/cluster/sdn/ipams/{ipam}",
7634 "text" : "{ipam}"
7aacca6f 7635 }
d2656385
TL
7636 ],
7637 "info" : {
7638 "GET" : {
7639 "allowtoken" : 1,
7640 "description" : "SDN ipams index.",
7641 "method" : "GET",
7642 "name" : "index",
7643 "parameters" : {
7644 "additionalProperties" : 0,
7645 "properties" : {
7646 "type" : {
7647 "description" : "Only list sdn ipams of specific type",
7648 "enum" : [
7649 "netbox",
7650 "phpipam",
7651 "pve"
7652 ],
7653 "optional" : 1,
7654 "type" : "string"
7655 }
7656 }
7657 },
7658 "permissions" : {
7659 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/ipams/<ipam>'",
7660 "user" : "all"
7661 },
7662 "returns" : {
7663 "items" : {
7664 "properties" : {
7665 "ipam" : {
7666 "type" : "string"
7667 },
7668 "type" : {
7669 "type" : "string"
7670 }
7671 },
7672 "type" : "object"
7673 },
7674 "links" : [
7675 {
7676 "href" : "{ipam}",
7677 "rel" : "child"
7678 }
44660702 7679 ],
d2656385
TL
7680 "type" : "array"
7681 }
7682 },
7683 "POST" : {
7684 "allowtoken" : 1,
7685 "description" : "Create a new sdn ipam object.",
7686 "method" : "POST",
7687 "name" : "create",
7688 "parameters" : {
7689 "additionalProperties" : 0,
7690 "properties" : {
7691 "ipam" : {
7692 "description" : "The SDN ipam object identifier.",
7693 "format" : "pve-sdn-ipam-id",
7694 "type" : "string",
7695 "typetext" : "<string>"
7696 },
7697 "section" : {
7698 "optional" : 1,
7699 "type" : "integer",
7700 "typetext" : "<integer>"
7701 },
7702 "token" : {
7703 "optional" : 1,
7704 "type" : "string",
7705 "typetext" : "<string>"
7706 },
7707 "type" : {
7708 "description" : "Plugin type.",
7709 "enum" : [
7710 "netbox",
7711 "phpipam",
7712 "pve"
7713 ],
7714 "format" : "pve-configid",
7715 "type" : "string"
7716 },
7717 "url" : {
7718 "optional" : 1,
7719 "type" : "string",
7720 "typetext" : "<string>"
7721 }
7722 },
7723 "type" : "object"
7724 },
7725 "permissions" : {
7726 "check" : [
7727 "perm",
7728 "/sdn/ipams",
7729 [
7730 "SDN.Allocate"
7731 ]
7732 ]
7733 },
7734 "protected" : 1,
7735 "returns" : {
7736 "type" : "null"
56122987
DM
7737 }
7738 }
7739 },
d2656385
TL
7740 "leaf" : 0,
7741 "path" : "/cluster/sdn/ipams",
7742 "text" : "ipams"
7743 },
7744 {
7745 "children" : [
7746 {
7747 "info" : {
7748 "DELETE" : {
7749 "allowtoken" : 1,
7750 "description" : "Delete sdn dns object configuration.",
7751 "method" : "DELETE",
7752 "name" : "delete",
7753 "parameters" : {
7754 "additionalProperties" : 0,
7755 "properties" : {
7756 "dns" : {
7757 "description" : "The SDN dns object identifier.",
7758 "format" : "pve-sdn-dns-id",
7759 "type" : "string",
7760 "typetext" : "<string>"
7761 }
7762 }
7763 },
7764 "permissions" : {
7765 "check" : [
7766 "perm",
7767 "/sdn/dns",
7768 [
7769 "SDN.Allocate"
7770 ]
7771 ]
7772 },
7773 "protected" : 1,
7774 "returns" : {
7775 "type" : "null"
7776 }
7777 },
7778 "GET" : {
7779 "allowtoken" : 1,
7780 "description" : "Read sdn dns configuration.",
7781 "method" : "GET",
7782 "name" : "read",
7783 "parameters" : {
7784 "additionalProperties" : 0,
7785 "properties" : {
7786 "dns" : {
7787 "description" : "The SDN dns object identifier.",
7788 "format" : "pve-sdn-dns-id",
7789 "type" : "string",
7790 "typetext" : "<string>"
7791 }
7792 }
7793 },
7794 "permissions" : {
7795 "check" : [
7796 "perm",
7797 "/sdn/dns/{dns}",
7798 [
7799 "SDN.Allocate"
7800 ]
7801 ]
7802 },
7803 "returns" : {
7804 "type" : "object"
7805 }
7806 },
7807 "PUT" : {
7808 "allowtoken" : 1,
7809 "description" : "Update sdn dns object configuration.",
7810 "method" : "PUT",
7811 "name" : "update",
7812 "parameters" : {
7813 "additionalProperties" : 0,
7814 "properties" : {
7815 "delete" : {
7816 "description" : "A list of settings you want to delete.",
7817 "format" : "pve-configid-list",
7818 "maxLength" : 4096,
7819 "optional" : 1,
7820 "type" : "string",
7821 "typetext" : "<string>"
7822 },
7823 "digest" : {
7824 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7825 "maxLength" : 40,
7826 "optional" : 1,
7827 "type" : "string",
7828 "typetext" : "<string>"
7829 },
7830 "dns" : {
7831 "description" : "The SDN dns object identifier.",
7832 "format" : "pve-sdn-dns-id",
7833 "type" : "string",
7834 "typetext" : "<string>"
7835 },
7836 "key" : {
7837 "optional" : 1,
7838 "type" : "string",
7839 "typetext" : "<string>"
7840 },
7841 "reversemaskv6" : {
7842 "optional" : 1,
7843 "type" : "integer",
7844 "typetext" : "<integer>"
7845 },
7846 "ttl" : {
7847 "optional" : 1,
7848 "type" : "integer",
7849 "typetext" : "<integer>"
7850 },
7851 "url" : {
7852 "optional" : 1,
7853 "type" : "string",
7854 "typetext" : "<string>"
7855 }
7856 },
7857 "type" : "object"
7858 },
7859 "permissions" : {
7860 "check" : [
7861 "perm",
7862 "/sdn/dns",
7863 [
7864 "SDN.Allocate"
7865 ]
7866 ]
7867 },
7868 "protected" : 1,
7869 "returns" : {
7870 "type" : "null"
7871 }
7872 }
7873 },
7874 "leaf" : 1,
7875 "path" : "/cluster/sdn/dns/{dns}",
7876 "text" : "{dns}"
7877 }
7878 ],
7879 "info" : {
7880 "GET" : {
7881 "allowtoken" : 1,
7882 "description" : "SDN dns index.",
7883 "method" : "GET",
7884 "name" : "index",
7885 "parameters" : {
7886 "additionalProperties" : 0,
7887 "properties" : {
7888 "type" : {
7889 "description" : "Only list sdn dns of specific type",
7890 "enum" : [
7891 "powerdns"
7892 ],
7893 "optional" : 1,
7894 "type" : "string"
7895 }
7896 }
7897 },
7898 "permissions" : {
7899 "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/dns/<dns>'",
7900 "user" : "all"
7901 },
7902 "returns" : {
7903 "items" : {
7904 "properties" : {
7905 "dns" : {
7906 "type" : "string"
7907 },
7908 "type" : {
7909 "type" : "string"
7910 }
7911 },
7912 "type" : "object"
7913 },
7914 "links" : [
7915 {
7916 "href" : "{dns}",
7917 "rel" : "child"
7918 }
7919 ],
7920 "type" : "array"
7921 }
7922 },
7923 "POST" : {
7924 "allowtoken" : 1,
7925 "description" : "Create a new sdn dns object.",
7926 "method" : "POST",
7927 "name" : "create",
7928 "parameters" : {
7929 "additionalProperties" : 0,
7930 "properties" : {
7931 "dns" : {
7932 "description" : "The SDN dns object identifier.",
7933 "format" : "pve-sdn-dns-id",
7934 "type" : "string",
7935 "typetext" : "<string>"
7936 },
7937 "key" : {
7938 "optional" : 0,
7939 "type" : "string",
7940 "typetext" : "<string>"
7941 },
7942 "reversemaskv6" : {
7943 "optional" : 1,
7944 "type" : "integer",
7945 "typetext" : "<integer>"
7946 },
7947 "reversev6mask" : {
7948 "optional" : 1,
7949 "type" : "integer",
7950 "typetext" : "<integer>"
7951 },
7952 "ttl" : {
7953 "optional" : 1,
7954 "type" : "integer",
7955 "typetext" : "<integer>"
7956 },
7957 "type" : {
7958 "description" : "Plugin type.",
7959 "enum" : [
7960 "powerdns"
7961 ],
7962 "format" : "pve-configid",
7963 "type" : "string"
7964 },
7965 "url" : {
7966 "optional" : 0,
7967 "type" : "string",
7968 "typetext" : "<string>"
7969 }
7970 },
7971 "type" : "object"
7972 },
7973 "permissions" : {
7974 "check" : [
7975 "perm",
7976 "/sdn/dns",
7977 [
7978 "SDN.Allocate"
7979 ]
7980 ]
7981 },
7982 "protected" : 1,
7983 "returns" : {
7984 "type" : "null"
7985 }
7986 }
7987 },
7988 "leaf" : 0,
7989 "path" : "/cluster/sdn/dns",
7990 "text" : "dns"
7991 }
7992 ],
7993 "info" : {
7994 "GET" : {
7995 "allowtoken" : 1,
7996 "description" : "Directory index.",
7997 "method" : "GET",
7998 "name" : "index",
7999 "parameters" : {
8000 "additionalProperties" : 0
8001 },
8002 "permissions" : {
8003 "check" : [
8004 "perm",
8005 "/",
8006 [
8007 "SDN.Audit"
8008 ]
8009 ]
8010 },
8011 "returns" : {
8012 "items" : {
8013 "properties" : {
8014 "id" : {
8015 "type" : "string"
8016 }
8017 },
8018 "type" : "object"
8019 },
8020 "links" : [
8021 {
8022 "href" : "{id}",
8023 "rel" : "child"
8024 }
8025 ],
8026 "type" : "array"
8027 }
8028 },
8029 "PUT" : {
8030 "allowtoken" : 1,
8031 "description" : "Apply sdn controller changes && reload.",
8032 "method" : "PUT",
8033 "name" : "reload",
8034 "parameters" : {
8035 "additionalProperties" : 0
8036 },
8037 "permissions" : {
8038 "check" : [
8039 "perm",
8040 "/sdn",
8041 [
8042 "SDN.Allocate"
8043 ]
8044 ]
8045 },
8046 "protected" : 1,
8047 "returns" : {
8048 "type" : "string"
8049 }
8050 }
8051 },
8052 "leaf" : 0,
8053 "path" : "/cluster/sdn",
8054 "text" : "sdn"
8055 },
8056 {
8057 "info" : {
8058 "GET" : {
8059 "allowtoken" : 1,
8060 "description" : "Read cluster log",
8061 "method" : "GET",
8062 "name" : "log",
8063 "parameters" : {
8064 "additionalProperties" : 0,
8065 "properties" : {
8066 "max" : {
8067 "description" : "Maximum number of entries.",
8068 "minimum" : 1,
8069 "optional" : 1,
8070 "type" : "integer",
8071 "typetext" : "<integer> (1 - N)"
8072 }
8073 }
8074 },
8075 "permissions" : {
8076 "user" : "all"
8077 },
8078 "returns" : {
8079 "items" : {
8080 "properties" : {},
8081 "type" : "object"
8082 },
8083 "type" : "array"
8084 }
8085 }
8086 },
8087 "leaf" : 1,
8088 "path" : "/cluster/log",
8089 "text" : "log"
8090 },
8091 {
8092 "info" : {
8093 "GET" : {
8094 "allowtoken" : 1,
8095 "description" : "Resources index (cluster wide).",
8096 "method" : "GET",
8097 "name" : "resources",
8098 "parameters" : {
8099 "additionalProperties" : 0,
8100 "properties" : {
8101 "type" : {
8102 "enum" : [
8103 "vm",
8104 "storage",
8105 "node",
8106 "sdn"
8107 ],
8108 "optional" : 1,
8109 "type" : "string"
8110 }
8111 }
8112 },
8113 "permissions" : {
8114 "user" : "all"
8115 },
8116 "returns" : {
8117 "items" : {
8118 "properties" : {
8119 "content" : {
8120 "description" : "Allowed storage content types (when type == storage).",
8121 "format" : "pve-storage-content-list",
8122 "optional" : 1,
8123 "type" : "string"
8124 },
8125 "cpu" : {
8126 "description" : "CPU utilization (when type in node,qemu,lxc).",
4d47f125
TL
8127 "optional" : 1,
8128 "renderer" : "fraction_as_percentage",
8129 "type" : "number"
8130 },
8131 "disk" : {
8132 "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
8133 "optional" : 1,
8134 "renderer" : "bytes",
8135 "type" : "string"
8136 },
8137 "hastate" : {
8138 "description" : "HA service status (for HA managed VMs).",
8139 "optional" : 1,
8140 "type" : "string"
8141 },
8142 "id" : {
8143 "type" : "string"
8144 },
8145 "level" : {
8146 "description" : "Support level (when type == node).",
8147 "optional" : 1,
8148 "type" : "string"
8149 },
8150 "maxcpu" : {
8151 "description" : "Number of available CPUs (when type in node,qemu,lxc).",
8152 "optional" : 1,
8153 "type" : "number"
8154 },
8155 "maxdisk" : {
8156 "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
8157 "optional" : 1,
8158 "renderer" : "bytes",
8159 "type" : "integer"
8160 },
8161 "maxmem" : {
8162 "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
8163 "optional" : 1,
8164 "renderer" : "bytes",
8165 "type" : "integer"
8166 },
8167 "mem" : {
8168 "description" : "Used memory in bytes (when type in node,qemu,lxc).",
8169 "optional" : 1,
8170 "renderer" : "bytes",
8171 "type" : "string"
8172 },
8173 "node" : {
8174 "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
8175 "format" : "pve-node",
8176 "optional" : 1,
8177 "type" : "string"
8178 },
d2656385
TL
8179 "plugintype" : {
8180 "description" : "More specific type, if available.",
8181 "optional" : 1,
8182 "type" : "string"
8183 },
4d47f125
TL
8184 "pool" : {
8185 "description" : "The pool name (when type in pool,qemu,lxc).",
8186 "optional" : 1,
8187 "type" : "string"
8188 },
8189 "status" : {
8190 "description" : "Resource type dependent status.",
8191 "optional" : 1,
8192 "type" : "string"
8193 },
8194 "storage" : {
8195 "description" : "The storage identifier (when type == storage).",
8196 "format" : "pve-storage-id",
8197 "optional" : 1,
8198 "type" : "string"
8199 },
8200 "type" : {
8201 "description" : "Resource type.",
8202 "enum" : [
8203 "node",
8204 "storage",
8205 "pool",
8206 "qemu",
8207 "lxc",
1c532546
TL
8208 "openvz",
8209 "sdn"
4d47f125
TL
8210 ],
8211 "type" : "string"
8212 },
8213 "uptime" : {
8214 "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
8215 "optional" : 1,
8216 "renderer" : "duration",
8217 "type" : "integer"
8218 }
8219 },
44660702
DM
8220 "type" : "object"
8221 },
8222 "type" : "array"
8223 }
56122987
DM
8224 }
8225 },
7aacca6f 8226 "leaf" : 1,
44660702
DM
8227 "path" : "/cluster/resources",
8228 "text" : "resources"
56122987
DM
8229 },
8230 {
56122987
DM
8231 "info" : {
8232 "GET" : {
e9cd3bd4 8233 "allowtoken" : 1,
7aacca6f 8234 "description" : "List recent tasks (cluster wide).",
44660702 8235 "method" : "GET",
7aacca6f 8236 "name" : "tasks",
56122987
DM
8237 "parameters" : {
8238 "additionalProperties" : 0
8239 },
44660702
DM
8240 "permissions" : {
8241 "user" : "all"
8242 },
56122987
DM
8243 "returns" : {
8244 "items" : {
8245 "properties" : {
8246 "upid" : {
8247 "type" : "string"
8248 }
44660702
DM
8249 },
8250 "type" : "object"
8251 },
8252 "type" : "array"
7aacca6f 8253 }
56122987
DM
8254 }
8255 },
7aacca6f 8256 "leaf" : 1,
44660702
DM
8257 "path" : "/cluster/tasks",
8258 "text" : "tasks"
56122987
DM
8259 },
8260 {
56122987 8261 "info" : {
7aacca6f 8262 "GET" : {
e9cd3bd4 8263 "allowtoken" : 1,
44660702
DM
8264 "description" : "Get datacenter options.",
8265 "method" : "GET",
8266 "name" : "get_options",
56122987 8267 "parameters" : {
7aacca6f
DM
8268 "additionalProperties" : 0
8269 },
8270 "permissions" : {
8271 "check" : [
8272 "perm",
8273 "/",
8274 [
8275 "Sys.Audit"
8276 ]
8277 ]
8278 },
7aacca6f 8279 "returns" : {
44660702 8280 "type" : "object"
7aacca6f
DM
8281 }
8282 },
8283 "PUT" : {
e9cd3bd4 8284 "allowtoken" : 1,
44660702
DM
8285 "description" : "Set datacenter options.",
8286 "method" : "PUT",
7aacca6f
DM
8287 "name" : "set_options",
8288 "parameters" : {
8289 "additionalProperties" : 0,
8290 "properties" : {
27a7acb2
DM
8291 "bwlimit" : {
8292 "description" : "Set bandwidth/io limits various operations.",
8293 "format" : {
8294 "clone" : {
95895385 8295 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
8296 "format_description" : "LIMIT",
8297 "minimum" : "0",
8298 "optional" : 1,
8299 "type" : "number"
8300 },
8301 "default" : {
95895385 8302 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
8303 "format_description" : "LIMIT",
8304 "minimum" : "0",
8305 "optional" : 1,
8306 "type" : "number"
8307 },
8308 "migration" : {
95895385 8309 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
8310 "format_description" : "LIMIT",
8311 "minimum" : "0",
8312 "optional" : 1,
8313 "type" : "number"
8314 },
8315 "move" : {
95895385 8316 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
8317 "format_description" : "LIMIT",
8318 "minimum" : "0",
8319 "optional" : 1,
8320 "type" : "number"
8321 },
8322 "restore" : {
95895385 8323 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
8324 "format_description" : "LIMIT",
8325 "minimum" : "0",
8326 "optional" : 1,
8327 "type" : "number"
8328 }
8329 },
8330 "optional" : 1,
8331 "type" : "string",
8332 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
8333 },
56122987 8334 "console" : {
a9a8e3d1 8335 "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
8336 "enum" : [
8337 "applet",
8338 "vv",
a9a8e3d1
DM
8339 "html5",
8340 "xtermjs"
44660702
DM
8341 ],
8342 "optional" : 1,
8343 "type" : "string"
56122987 8344 },
7aacca6f 8345 "delete" : {
7aacca6f 8346 "description" : "A list of settings you want to delete.",
44660702 8347 "format" : "pve-configid-list",
7aacca6f 8348 "optional" : 1,
013dc89f
DM
8349 "type" : "string",
8350 "typetext" : "<string>"
7aacca6f 8351 },
44660702
DM
8352 "email_from" : {
8353 "description" : "Specify email address to send notification from (default is root@$hostname)",
8354 "format" : "email-opt",
7aacca6f 8355 "optional" : 1,
013dc89f
DM
8356 "type" : "string",
8357 "typetext" : "<string>"
44660702
DM
8358 },
8359 "fencing" : {
8360 "default" : "watchdog",
8361 "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 8362 "enum" : [
44660702
DM
8363 "watchdog",
8364 "hardware",
8365 "both"
7aacca6f 8366 ],
44660702
DM
8367 "optional" : 1,
8368 "type" : "string"
8369 },
5f26e15b
TL
8370 "ha" : {
8371 "description" : "Cluster wide HA settings.",
8372 "format" : {
8373 "shutdown_policy" : {
8374 "default" : "conditional",
5c1699e5 8375 "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
8376 "enum" : [
8377 "freeze",
8378 "failover",
5c1699e5
TL
8379 "conditional",
8380 "migrate"
5f26e15b
TL
8381 ],
8382 "type" : "string",
e9cd3bd4 8383 "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
8384 }
8385 },
8386 "optional" : 1,
8387 "type" : "string",
5c1699e5 8388 "typetext" : "shutdown_policy=<enum>"
5f26e15b 8389 },
44660702
DM
8390 "http_proxy" : {
8391 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
8392 "optional" : 1,
8393 "pattern" : "http://.*",
8394 "type" : "string"
7aacca6f 8395 },
56122987 8396 "keyboard" : {
44660702 8397 "description" : "Default keybord layout for vnc server.",
56122987 8398 "enum" : [
44660702
DM
8399 "de",
8400 "de-ch",
7aacca6f 8401 "da",
56122987 8402 "en-gb",
44660702
DM
8403 "en-us",
8404 "es",
8405 "fi",
8406 "fr",
8407 "fr-be",
8408 "fr-ca",
8409 "fr-ch",
8410 "hu",
7aacca6f 8411 "is",
44660702
DM
8412 "it",
8413 "ja",
8414 "lt",
56122987 8415 "mk",
7aacca6f 8416 "nl",
56122987 8417 "no",
44660702 8418 "pl",
7aacca6f 8419 "pt",
44660702
DM
8420 "pt-br",
8421 "sv",
8422 "sl",
8423 "tr"
56122987 8424 ],
56122987
DM
8425 "optional" : 1,
8426 "type" : "string"
8427 },
44660702
DM
8428 "language" : {
8429 "description" : "Default GUI language.",
8430 "enum" : [
4d47f125 8431 "ca",
1c532546
TL
8432 "da",
8433 "de",
44660702 8434 "en",
1c532546 8435 "es",
4d47f125 8436 "eu",
1c532546 8437 "fa",
4d47f125 8438 "fr",
1c532546 8439 "he",
4d47f125 8440 "it",
4d47f125
TL
8441 "ja",
8442 "nb",
8443 "nn",
4d47f125
TL
8444 "pl",
8445 "pt_BR",
8446 "ru",
8447 "sl",
8448 "sv",
1c532546
TL
8449 "tr",
8450 "zh_CN",
8451 "zh_TW"
44660702 8452 ],
56122987 8453 "optional" : 1,
44660702 8454 "type" : "string"
56122987 8455 },
4bd7df8b
DM
8456 "mac_prefix" : {
8457 "description" : "Prefix for autogenerated MAC addresses.",
95895385 8458 "format" : "mac-prefix",
4bd7df8b 8459 "optional" : 1,
95895385
TL
8460 "type" : "string",
8461 "typetext" : "<string>"
4bd7df8b 8462 },
44660702
DM
8463 "max_workers" : {
8464 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
8465 "minimum" : 1,
56122987 8466 "optional" : 1,
4bd7df8b 8467 "type" : "integer",
013dc89f 8468 "typetext" : "<integer> (1 - N)"
56122987 8469 },
de0983cb
DM
8470 "migration" : {
8471 "description" : "For cluster wide migration settings.",
8472 "format" : {
8473 "network" : {
8474 "description" : "CIDR of the (sub) network that is used for migration.",
8475 "format" : "CIDR",
8476 "format_description" : "CIDR",
8477 "optional" : 1,
8478 "type" : "string"
8479 },
8480 "type" : {
8481 "default" : "secure",
8482 "default_key" : 1,
8483 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
8484 "enum" : [
8485 "secure",
8486 "insecure"
8487 ],
8488 "type" : "string"
8489 }
8490 },
8491 "optional" : 1,
8492 "type" : "string",
8493 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
8494 },
7aacca6f 8495 "migration_unsecure" : {
de0983cb 8496 "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 8497 "optional" : 1,
013dc89f
DM
8498 "type" : "boolean",
8499 "typetext" : "<boolean>"
95895385
TL
8500 },
8501 "u2f" : {
8502 "description" : "u2f",
8503 "format" : {
8504 "appid" : {
8505 "description" : "U2F AppId URL override. Defaults to the origin.",
8506 "format_description" : "APPID",
8507 "optional" : 1,
8508 "type" : "string"
8509 },
8510 "origin" : {
8511 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
8512 "format_description" : "URL",
8513 "optional" : 1,
8514 "type" : "string"
8515 }
8516 },
8517 "optional" : 1,
8518 "type" : "string",
8519 "typetext" : "[appid=<APPID>] [,origin=<URL>]"
56122987
DM
8520 }
8521 }
8522 },
44660702
DM
8523 "permissions" : {
8524 "check" : [
8525 "perm",
8526 "/",
8527 [
8528 "Sys.Modify"
8529 ]
8530 ]
8531 },
56122987 8532 "protected" : 1,
7aacca6f
DM
8533 "returns" : {
8534 "type" : "null"
44660702 8535 }
7aacca6f
DM
8536 }
8537 },
44660702
DM
8538 "leaf" : 1,
8539 "path" : "/cluster/options",
7aacca6f
DM
8540 "text" : "options"
8541 },
8542 {
7aacca6f 8543 "info" : {
56122987 8544 "GET" : {
e9cd3bd4 8545 "allowtoken" : 1,
1e3f8156 8546 "description" : "Get cluster status information.",
44660702
DM
8547 "method" : "GET",
8548 "name" : "get_status",
56122987
DM
8549 "parameters" : {
8550 "additionalProperties" : 0
8551 },
56122987
DM
8552 "permissions" : {
8553 "check" : [
8554 "perm",
8555 "/",
8556 [
8557 "Sys.Audit"
8558 ]
8559 ]
8560 },
7aacca6f 8561 "protected" : 1,
56122987 8562 "returns" : {
56122987 8563 "items" : {
56122987 8564 "properties" : {
e9cd3bd4
TL
8565 "id" : {
8566 "type" : "string"
8567 },
8568 "ip" : {
8569 "description" : "[node] IP of the resolved nodename.",
8570 "optional" : 1,
8571 "type" : "string"
8572 },
8573 "level" : {
8574 "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
8575 "optional" : 1,
8576 "type" : "string"
8577 },
8578 "local" : {
8579 "description" : "[node] Indicates if this is the responding node.",
8580 "optional" : 1,
8581 "type" : "boolean"
8582 },
8583 "name" : {
8584 "type" : "string"
8585 },
8586 "nodeid" : {
8587 "description" : "[node] ID of the node from the corosync configuration.",
8588 "optional" : 1,
8589 "type" : "integer"
8590 },
8591 "nodes" : {
8592 "description" : "[cluster] Nodes count, including offline nodes.",
8593 "optional" : 1,
8594 "type" : "integer"
8595 },
8596 "online" : {
8597 "description" : "[node] Indicates if the node is online or offline.",
8598 "optional" : 1,
8599 "type" : "boolean"
8600 },
8601 "quorate" : {
8602 "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
8603 "optional" : 1,
8604 "type" : "boolean"
8605 },
56122987 8606 "type" : {
e9cd3bd4
TL
8607 "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
8608 "enum" : [
8609 "cluster",
8610 "node"
8611 ],
56122987 8612 "type" : "string"
e9cd3bd4
TL
8613 },
8614 "version" : {
8615 "description" : "[cluster] Current version of the corosync configuration file.",
8616 "optional" : 1,
8617 "type" : "integer"
56122987 8618 }
44660702
DM
8619 },
8620 "type" : "object"
7aacca6f
DM
8621 },
8622 "type" : "array"
56122987
DM
8623 }
8624 }
8625 },
44660702 8626 "leaf" : 1,
7aacca6f 8627 "path" : "/cluster/status",
44660702 8628 "text" : "status"
56122987
DM
8629 },
8630 {
56122987
DM
8631 "info" : {
8632 "GET" : {
e9cd3bd4 8633 "allowtoken" : 1,
56122987 8634 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
8635 "method" : "GET",
8636 "name" : "nextid",
56122987 8637 "parameters" : {
44660702 8638 "additionalProperties" : 0,
56122987
DM
8639 "properties" : {
8640 "vmid" : {
44660702 8641 "description" : "The (unique) ID of the VM.",
56122987 8642 "format" : "pve-vmid",
7aacca6f 8643 "minimum" : 1,
7aacca6f 8644 "optional" : 1,
4bd7df8b 8645 "type" : "integer",
013dc89f 8646 "typetext" : "<integer> (1 - N)"
56122987 8647 }
44660702 8648 }
56122987 8649 },
7aacca6f
DM
8650 "permissions" : {
8651 "user" : "all"
44660702
DM
8652 },
8653 "returns" : {
8654 "description" : "The next free VMID.",
8655 "type" : "integer"
7aacca6f 8656 }
56122987
DM
8657 }
8658 },
7aacca6f 8659 "leaf" : 1,
44660702
DM
8660 "path" : "/cluster/nextid",
8661 "text" : "nextid"
56122987
DM
8662 }
8663 ],
44660702
DM
8664 "info" : {
8665 "GET" : {
e9cd3bd4 8666 "allowtoken" : 1,
44660702
DM
8667 "description" : "Cluster index.",
8668 "method" : "GET",
8669 "name" : "index",
8670 "parameters" : {
8671 "additionalProperties" : 0
8672 },
8673 "permissions" : {
8674 "user" : "all"
8675 },
8676 "returns" : {
8677 "items" : {
8678 "properties" : {},
8679 "type" : "object"
8680 },
8681 "links" : [
8682 {
8683 "href" : "{name}",
8684 "rel" : "child"
8685 }
8686 ],
8687 "type" : "array"
8688 }
8689 }
8690 },
8691 "leaf" : 0,
8692 "path" : "/cluster",
7aacca6f 8693 "text" : "cluster"
56122987
DM
8694 },
8695 {
56122987
DM
8696 "children" : [
8697 {
7aacca6f
DM
8698 "children" : [
8699 {
8700 "children" : [
8701 {
56122987
DM
8702 "children" : [
8703 {
56122987
DM
8704 "children" : [
8705 {
8706 "children" : [
8707 {
56122987
DM
8708 "info" : {
8709 "DELETE" : {
e9cd3bd4 8710 "allowtoken" : 1,
44660702 8711 "description" : "Delete rule.",
7aacca6f 8712 "method" : "DELETE",
44660702 8713 "name" : "delete_rule",
56122987 8714 "parameters" : {
44660702 8715 "additionalProperties" : 0,
56122987 8716 "properties" : {
44660702
DM
8717 "digest" : {
8718 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8719 "maxLength" : 40,
8720 "optional" : 1,
013dc89f
DM
8721 "type" : "string",
8722 "typetext" : "<string>"
44660702 8723 },
56122987 8724 "node" : {
7aacca6f 8725 "description" : "The cluster node name.",
44660702 8726 "format" : "pve-node",
013dc89f
DM
8727 "type" : "string",
8728 "typetext" : "<string>"
7aacca6f 8729 },
56122987 8730 "pos" : {
7aacca6f 8731 "description" : "Update rule at position <pos>.",
44660702 8732 "minimum" : 0,
56122987 8733 "optional" : 1,
4bd7df8b 8734 "type" : "integer",
013dc89f 8735 "typetext" : "<integer> (0 - N)"
44660702
DM
8736 },
8737 "vmid" : {
8738 "description" : "The (unique) ID of the VM.",
8739 "format" : "pve-vmid",
8740 "minimum" : 1,
4bd7df8b 8741 "type" : "integer",
013dc89f 8742 "typetext" : "<integer> (1 - N)"
56122987 8743 }
44660702 8744 }
7aacca6f 8745 },
56122987
DM
8746 "permissions" : {
8747 "check" : [
8748 "perm",
8749 "/vms/{vmid}",
8750 [
8751 "VM.Config.Network"
8752 ]
8753 ]
8754 },
44660702
DM
8755 "protected" : 1,
8756 "proxyto" : null,
56122987
DM
8757 "returns" : {
8758 "type" : "null"
44660702
DM
8759 }
8760 },
8761 "GET" : {
e9cd3bd4 8762 "allowtoken" : 1,
44660702
DM
8763 "description" : "Get single rule data.",
8764 "method" : "GET",
8765 "name" : "get_rule",
8766 "parameters" : {
8767 "additionalProperties" : 0,
8768 "properties" : {
8769 "node" : {
8770 "description" : "The cluster node name.",
8771 "format" : "pve-node",
013dc89f
DM
8772 "type" : "string",
8773 "typetext" : "<string>"
44660702
DM
8774 },
8775 "pos" : {
8776 "description" : "Update rule at position <pos>.",
8777 "minimum" : 0,
8778 "optional" : 1,
4bd7df8b 8779 "type" : "integer",
013dc89f 8780 "typetext" : "<integer> (0 - N)"
44660702
DM
8781 },
8782 "vmid" : {
8783 "description" : "The (unique) ID of the VM.",
8784 "format" : "pve-vmid",
8785 "minimum" : 1,
4bd7df8b 8786 "type" : "integer",
013dc89f 8787 "typetext" : "<integer> (1 - N)"
44660702
DM
8788 }
8789 }
56122987 8790 },
56122987
DM
8791 "permissions" : {
8792 "check" : [
8793 "perm",
8794 "/vms/{vmid}",
8795 [
44660702 8796 "VM.Audit"
56122987
DM
8797 ]
8798 ]
8799 },
56122987 8800 "proxyto" : null,
44660702
DM
8801 "returns" : {
8802 "properties" : {
e2d681b3
TL
8803 "action" : {
8804 "type" : "string"
8805 },
8806 "comment" : {
8807 "optional" : 1,
8808 "type" : "string"
8809 },
8810 "dest" : {
8811 "optional" : 1,
8812 "type" : "string"
8813 },
8814 "dport" : {
8815 "optional" : 1,
8816 "type" : "string"
8817 },
8818 "enable" : {
8819 "optional" : 1,
8820 "type" : "integer"
8821 },
4772952b
TL
8822 "icmp-type" : {
8823 "optional" : 1,
8824 "type" : "string"
8825 },
e2d681b3
TL
8826 "iface" : {
8827 "optional" : 1,
8828 "type" : "string"
8829 },
8830 "ipversion" : {
8831 "optional" : 1,
8832 "type" : "integer"
8833 },
95895385
TL
8834 "log" : {
8835 "description" : "Log level for firewall rule",
8836 "enum" : [
8837 "emerg",
8838 "alert",
8839 "crit",
8840 "err",
8841 "warning",
8842 "notice",
8843 "info",
8844 "debug",
8845 "nolog"
8846 ],
8847 "optional" : 1,
8848 "type" : "string"
8849 },
e2d681b3
TL
8850 "macro" : {
8851 "optional" : 1,
5f26e15b 8852 "type" : "string"
e2d681b3 8853 },
44660702
DM
8854 "pos" : {
8855 "type" : "integer"
e2d681b3
TL
8856 },
8857 "proto" : {
8858 "optional" : 1,
8859 "type" : "string"
8860 },
8861 "source" : {
8862 "optional" : 1,
8863 "type" : "string"
8864 },
8865 "sport" : {
8866 "optional" : 1,
8867 "type" : "string"
8868 },
8869 "type" : {
8870 "type" : "string"
44660702
DM
8871 }
8872 },
8873 "type" : "object"
8874 }
8875 },
8876 "PUT" : {
e9cd3bd4 8877 "allowtoken" : 1,
7aacca6f
DM
8878 "description" : "Modify rule data.",
8879 "method" : "PUT",
44660702 8880 "name" : "update_rule",
56122987 8881 "parameters" : {
44660702 8882 "additionalProperties" : 0,
56122987 8883 "properties" : {
44660702
DM
8884 "action" : {
8885 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
8886 "maxLength" : 20,
8887 "minLength" : 2,
56122987 8888 "optional" : 1,
44660702 8889 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
8890 "type" : "string"
8891 },
7aacca6f 8892 "comment" : {
e94f0d56 8893 "description" : "Descriptive comment.",
7aacca6f 8894 "optional" : 1,
013dc89f
DM
8895 "type" : "string",
8896 "typetext" : "<string>"
7aacca6f
DM
8897 },
8898 "delete" : {
7aacca6f 8899 "description" : "A list of settings you want to delete.",
44660702
DM
8900 "format" : "pve-configid-list",
8901 "optional" : 1,
013dc89f
DM
8902 "type" : "string",
8903 "typetext" : "<string>"
7aacca6f
DM
8904 },
8905 "dest" : {
44660702 8906 "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 8907 "format" : "pve-fw-addr-spec",
56122987 8908 "optional" : 1,
013dc89f
DM
8909 "type" : "string",
8910 "typetext" : "<string>"
56122987 8911 },
7aacca6f 8912 "digest" : {
44660702 8913 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 8914 "maxLength" : 40,
56122987 8915 "optional" : 1,
013dc89f
DM
8916 "type" : "string",
8917 "typetext" : "<string>"
44660702
DM
8918 },
8919 "dport" : {
8920 "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.",
8921 "format" : "pve-fw-dport-spec",
8922 "optional" : 1,
013dc89f
DM
8923 "type" : "string",
8924 "typetext" : "<string>"
56122987 8925 },
7aacca6f 8926 "enable" : {
e94f0d56 8927 "description" : "Flag to enable/disable a rule.",
44660702 8928 "minimum" : 0,
56122987 8929 "optional" : 1,
4bd7df8b 8930 "type" : "integer",
013dc89f 8931 "typetext" : "<integer> (0 - N)"
7aacca6f 8932 },
4772952b
TL
8933 "icmp-type" : {
8934 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
8935 "format" : "pve-fw-icmp-type-spec",
8936 "optional" : 1,
8937 "type" : "string",
8938 "typetext" : "<string>"
8939 },
44660702
DM
8940 "iface" : {
8941 "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.",
8942 "format" : "pve-iface",
8943 "maxLength" : 20,
7aacca6f 8944 "minLength" : 2,
56122987 8945 "optional" : 1,
013dc89f
DM
8946 "type" : "string",
8947 "typetext" : "<string>"
56122987 8948 },
95895385
TL
8949 "log" : {
8950 "description" : "Log level for firewall rule.",
8951 "enum" : [
8952 "emerg",
8953 "alert",
8954 "crit",
8955 "err",
8956 "warning",
8957 "notice",
8958 "info",
8959 "debug",
8960 "nolog"
8961 ],
8962 "optional" : 1,
8963 "type" : "string"
8964 },
44660702 8965 "macro" : {
e94f0d56 8966 "description" : "Use predefined standard macro.",
44660702 8967 "maxLength" : 128,
56122987 8968 "optional" : 1,
013dc89f
DM
8969 "type" : "string",
8970 "typetext" : "<string>"
56122987 8971 },
44660702
DM
8972 "moveto" : {
8973 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
8974 "minimum" : 0,
56122987 8975 "optional" : 1,
4bd7df8b 8976 "type" : "integer",
013dc89f 8977 "typetext" : "<integer> (0 - N)"
56122987 8978 },
44660702
DM
8979 "node" : {
8980 "description" : "The cluster node name.",
8981 "format" : "pve-node",
013dc89f
DM
8982 "type" : "string",
8983 "typetext" : "<string>"
44660702
DM
8984 },
8985 "pos" : {
8986 "description" : "Update rule at position <pos>.",
8987 "minimum" : 0,
8988 "optional" : 1,
4bd7df8b 8989 "type" : "integer",
013dc89f 8990 "typetext" : "<integer> (0 - N)"
56122987 8991 },
44660702
DM
8992 "proto" : {
8993 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
8994 "format" : "pve-fw-protocol-spec",
8995 "optional" : 1,
013dc89f
DM
8996 "type" : "string",
8997 "typetext" : "<string>"
7aacca6f 8998 },
44660702
DM
8999 "source" : {
9000 "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.",
9001 "format" : "pve-fw-addr-spec",
56122987 9002 "optional" : 1,
013dc89f
DM
9003 "type" : "string",
9004 "typetext" : "<string>"
56122987
DM
9005 },
9006 "sport" : {
9007 "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
9008 "format" : "pve-fw-sport-spec",
9009 "optional" : 1,
013dc89f
DM
9010 "type" : "string",
9011 "typetext" : "<string>"
44660702
DM
9012 },
9013 "type" : {
e94f0d56 9014 "description" : "Rule type.",
44660702
DM
9015 "enum" : [
9016 "in",
9017 "out",
9018 "group"
9019 ],
56122987 9020 "optional" : 1,
56122987 9021 "type" : "string"
44660702
DM
9022 },
9023 "vmid" : {
9024 "description" : "The (unique) ID of the VM.",
9025 "format" : "pve-vmid",
9026 "minimum" : 1,
4bd7df8b 9027 "type" : "integer",
013dc89f 9028 "typetext" : "<integer> (1 - N)"
56122987 9029 }
44660702 9030 }
56122987 9031 },
56122987
DM
9032 "permissions" : {
9033 "check" : [
9034 "perm",
9035 "/vms/{vmid}",
9036 [
44660702 9037 "VM.Config.Network"
56122987
DM
9038 ]
9039 ]
7aacca6f 9040 },
44660702 9041 "protected" : 1,
7aacca6f 9042 "proxyto" : null,
7aacca6f 9043 "returns" : {
44660702
DM
9044 "type" : "null"
9045 }
56122987 9046 }
7aacca6f 9047 },
44660702 9048 "leaf" : 1,
7aacca6f 9049 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 9050 "text" : "{pos}"
56122987
DM
9051 }
9052 ],
56122987 9053 "info" : {
44660702 9054 "GET" : {
e9cd3bd4 9055 "allowtoken" : 1,
44660702
DM
9056 "description" : "List rules.",
9057 "method" : "GET",
9058 "name" : "get_rules",
9059 "parameters" : {
9060 "additionalProperties" : 0,
9061 "properties" : {
9062 "node" : {
9063 "description" : "The cluster node name.",
9064 "format" : "pve-node",
013dc89f
DM
9065 "type" : "string",
9066 "typetext" : "<string>"
44660702
DM
9067 },
9068 "vmid" : {
9069 "description" : "The (unique) ID of the VM.",
9070 "format" : "pve-vmid",
9071 "minimum" : 1,
4bd7df8b 9072 "type" : "integer",
013dc89f 9073 "typetext" : "<integer> (1 - N)"
44660702
DM
9074 }
9075 }
56122987 9076 },
56122987
DM
9077 "permissions" : {
9078 "check" : [
9079 "perm",
9080 "/vms/{vmid}",
9081 [
44660702 9082 "VM.Audit"
56122987
DM
9083 ]
9084 ]
7aacca6f 9085 },
44660702
DM
9086 "proxyto" : null,
9087 "returns" : {
9088 "items" : {
9089 "properties" : {
9090 "pos" : {
9091 "type" : "integer"
9092 }
9093 },
9094 "type" : "object"
9095 },
9096 "links" : [
9097 {
9098 "href" : "{pos}",
9099 "rel" : "child"
9100 }
9101 ],
9102 "type" : "array"
9103 }
9104 },
9105 "POST" : {
e9cd3bd4 9106 "allowtoken" : 1,
44660702 9107 "description" : "Create new rule.",
7aacca6f 9108 "method" : "POST",
44660702 9109 "name" : "create_rule",
56122987 9110 "parameters" : {
44660702 9111 "additionalProperties" : 0,
56122987 9112 "properties" : {
44660702
DM
9113 "action" : {
9114 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
9115 "maxLength" : 20,
9116 "minLength" : 2,
9117 "optional" : 0,
9118 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9119 "type" : "string"
56122987 9120 },
44660702 9121 "comment" : {
e94f0d56 9122 "description" : "Descriptive comment.",
56122987 9123 "optional" : 1,
013dc89f
DM
9124 "type" : "string",
9125 "typetext" : "<string>"
56122987 9126 },
44660702
DM
9127 "dest" : {
9128 "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.",
9129 "format" : "pve-fw-addr-spec",
9130 "optional" : 1,
013dc89f
DM
9131 "type" : "string",
9132 "typetext" : "<string>"
56122987 9133 },
44660702
DM
9134 "digest" : {
9135 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9136 "maxLength" : 40,
56122987 9137 "optional" : 1,
013dc89f
DM
9138 "type" : "string",
9139 "typetext" : "<string>"
56122987 9140 },
7aacca6f
DM
9141 "dport" : {
9142 "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 9143 "format" : "pve-fw-dport-spec",
7aacca6f 9144 "optional" : 1,
013dc89f
DM
9145 "type" : "string",
9146 "typetext" : "<string>"
56122987
DM
9147 },
9148 "enable" : {
e94f0d56 9149 "description" : "Flag to enable/disable a rule.",
56122987 9150 "minimum" : 0,
44660702 9151 "optional" : 1,
4bd7df8b 9152 "type" : "integer",
013dc89f 9153 "typetext" : "<integer> (0 - N)"
56122987 9154 },
4772952b
TL
9155 "icmp-type" : {
9156 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
9157 "format" : "pve-fw-icmp-type-spec",
9158 "optional" : 1,
9159 "type" : "string",
9160 "typetext" : "<string>"
9161 },
44660702
DM
9162 "iface" : {
9163 "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.",
9164 "format" : "pve-iface",
9165 "maxLength" : 20,
7aacca6f 9166 "minLength" : 2,
44660702 9167 "optional" : 1,
013dc89f
DM
9168 "type" : "string",
9169 "typetext" : "<string>"
56122987 9170 },
95895385
TL
9171 "log" : {
9172 "description" : "Log level for firewall rule.",
9173 "enum" : [
9174 "emerg",
9175 "alert",
9176 "crit",
9177 "err",
9178 "warning",
9179 "notice",
9180 "info",
9181 "debug",
9182 "nolog"
9183 ],
9184 "optional" : 1,
9185 "type" : "string"
9186 },
44660702 9187 "macro" : {
e94f0d56 9188 "description" : "Use predefined standard macro.",
44660702 9189 "maxLength" : 128,
56122987 9190 "optional" : 1,
013dc89f
DM
9191 "type" : "string",
9192 "typetext" : "<string>"
7aacca6f 9193 },
44660702
DM
9194 "node" : {
9195 "description" : "The cluster node name.",
9196 "format" : "pve-node",
013dc89f
DM
9197 "type" : "string",
9198 "typetext" : "<string>"
44660702
DM
9199 },
9200 "pos" : {
9201 "description" : "Update rule at position <pos>.",
9202 "minimum" : 0,
9203 "optional" : 1,
4bd7df8b 9204 "type" : "integer",
013dc89f 9205 "typetext" : "<integer> (0 - N)"
44660702
DM
9206 },
9207 "proto" : {
9208 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
9209 "format" : "pve-fw-protocol-spec",
7aacca6f 9210 "optional" : 1,
013dc89f
DM
9211 "type" : "string",
9212 "typetext" : "<string>"
7aacca6f
DM
9213 },
9214 "source" : {
9215 "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 9216 "format" : "pve-fw-addr-spec",
7aacca6f 9217 "optional" : 1,
013dc89f
DM
9218 "type" : "string",
9219 "typetext" : "<string>"
7aacca6f 9220 },
44660702
DM
9221 "sport" : {
9222 "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.",
9223 "format" : "pve-fw-sport-spec",
7aacca6f 9224 "optional" : 1,
013dc89f
DM
9225 "type" : "string",
9226 "typetext" : "<string>"
7aacca6f 9227 },
44660702 9228 "type" : {
e94f0d56 9229 "description" : "Rule type.",
44660702
DM
9230 "enum" : [
9231 "in",
9232 "out",
9233 "group"
9234 ],
9235 "optional" : 0,
9236 "type" : "string"
7aacca6f 9237 },
7aacca6f 9238 "vmid" : {
44660702 9239 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9240 "format" : "pve-vmid",
9241 "minimum" : 1,
4bd7df8b 9242 "type" : "integer",
013dc89f 9243 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9244 }
9245 }
9246 },
56122987
DM
9247 "permissions" : {
9248 "check" : [
9249 "perm",
9250 "/vms/{vmid}",
9251 [
44660702 9252 "VM.Config.Network"
56122987
DM
9253 ]
9254 ]
9255 },
44660702
DM
9256 "protected" : 1,
9257 "proxyto" : null,
56122987 9258 "returns" : {
44660702
DM
9259 "type" : "null"
9260 }
56122987
DM
9261 }
9262 },
44660702 9263 "leaf" : 0,
7aacca6f 9264 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 9265 "text" : "rules"
56122987
DM
9266 },
9267 {
9268 "children" : [
9269 {
56122987 9270 "info" : {
44660702 9271 "DELETE" : {
e9cd3bd4 9272 "allowtoken" : 1,
44660702
DM
9273 "description" : "Remove IP or Network alias.",
9274 "method" : "DELETE",
9275 "name" : "remove_alias",
56122987 9276 "parameters" : {
44660702 9277 "additionalProperties" : 0,
56122987 9278 "properties" : {
44660702
DM
9279 "digest" : {
9280 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9281 "maxLength" : 40,
9282 "optional" : 1,
013dc89f
DM
9283 "type" : "string",
9284 "typetext" : "<string>"
56122987
DM
9285 },
9286 "name" : {
56122987 9287 "description" : "Alias name.",
44660702 9288 "maxLength" : 64,
7aacca6f 9289 "minLength" : 2,
44660702 9290 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
9291 "type" : "string"
9292 },
7aacca6f 9293 "node" : {
44660702 9294 "description" : "The cluster node name.",
7aacca6f 9295 "format" : "pve-node",
013dc89f
DM
9296 "type" : "string",
9297 "typetext" : "<string>"
44660702
DM
9298 },
9299 "vmid" : {
9300 "description" : "The (unique) ID of the VM.",
9301 "format" : "pve-vmid",
9302 "minimum" : 1,
4bd7df8b 9303 "type" : "integer",
013dc89f 9304 "typetext" : "<integer> (1 - N)"
56122987 9305 }
44660702 9306 }
56122987 9307 },
7aacca6f
DM
9308 "permissions" : {
9309 "check" : [
9310 "perm",
9311 "/vms/{vmid}",
9312 [
9313 "VM.Config.Network"
9314 ]
9315 ]
56122987 9316 },
44660702
DM
9317 "protected" : 1,
9318 "returns" : {
9319 "type" : "null"
9320 }
9321 },
9322 "GET" : {
e9cd3bd4 9323 "allowtoken" : 1,
44660702
DM
9324 "description" : "Read alias.",
9325 "method" : "GET",
9326 "name" : "read_alias",
56122987 9327 "parameters" : {
44660702 9328 "additionalProperties" : 0,
56122987 9329 "properties" : {
56122987 9330 "name" : {
7aacca6f 9331 "description" : "Alias name.",
44660702 9332 "maxLength" : 64,
56122987 9333 "minLength" : 2,
44660702 9334 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 9335 "type" : "string"
7aacca6f
DM
9336 },
9337 "node" : {
9338 "description" : "The cluster node name.",
44660702 9339 "format" : "pve-node",
013dc89f
DM
9340 "type" : "string",
9341 "typetext" : "<string>"
44660702
DM
9342 },
9343 "vmid" : {
9344 "description" : "The (unique) ID of the VM.",
9345 "format" : "pve-vmid",
9346 "minimum" : 1,
4bd7df8b 9347 "type" : "integer",
013dc89f 9348 "typetext" : "<integer> (1 - N)"
56122987 9349 }
44660702 9350 }
56122987 9351 },
44660702
DM
9352 "permissions" : {
9353 "check" : [
9354 "perm",
9355 "/vms/{vmid}",
9356 [
9357 "VM.Audit"
9358 ]
9359 ]
56122987 9360 },
44660702
DM
9361 "returns" : {
9362 "type" : "object"
9363 }
7aacca6f 9364 },
44660702 9365 "PUT" : {
e9cd3bd4 9366 "allowtoken" : 1,
44660702
DM
9367 "description" : "Update IP or Network alias.",
9368 "method" : "PUT",
9369 "name" : "update_alias",
56122987
DM
9370 "parameters" : {
9371 "additionalProperties" : 0,
9372 "properties" : {
44660702
DM
9373 "cidr" : {
9374 "description" : "Network/IP specification in CIDR format.",
9375 "format" : "IPorCIDR",
013dc89f
DM
9376 "type" : "string",
9377 "typetext" : "<string>"
44660702
DM
9378 },
9379 "comment" : {
9380 "optional" : 1,
013dc89f
DM
9381 "type" : "string",
9382 "typetext" : "<string>"
56122987
DM
9383 },
9384 "digest" : {
44660702 9385 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
9386 "maxLength" : 40,
9387 "optional" : 1,
013dc89f
DM
9388 "type" : "string",
9389 "typetext" : "<string>"
56122987 9390 },
7aacca6f 9391 "name" : {
44660702 9392 "description" : "Alias name.",
56122987
DM
9393 "maxLength" : 64,
9394 "minLength" : 2,
9395 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 9396 "type" : "string"
7aacca6f
DM
9397 },
9398 "node" : {
7aacca6f 9399 "description" : "The cluster node name.",
44660702 9400 "format" : "pve-node",
013dc89f
DM
9401 "type" : "string",
9402 "typetext" : "<string>"
44660702
DM
9403 },
9404 "rename" : {
9405 "description" : "Rename an existing alias.",
9406 "maxLength" : 64,
9407 "minLength" : 2,
9408 "optional" : 1,
9409 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9410 "type" : "string"
9411 },
9412 "vmid" : {
9413 "description" : "The (unique) ID of the VM.",
9414 "format" : "pve-vmid",
9415 "minimum" : 1,
4bd7df8b 9416 "type" : "integer",
013dc89f 9417 "typetext" : "<integer> (1 - N)"
56122987
DM
9418 }
9419 }
9420 },
7aacca6f
DM
9421 "permissions" : {
9422 "check" : [
9423 "perm",
9424 "/vms/{vmid}",
9425 [
9426 "VM.Config.Network"
9427 ]
9428 ]
9429 },
9430 "protected" : 1,
7aacca6f
DM
9431 "returns" : {
9432 "type" : "null"
44660702 9433 }
56122987
DM
9434 }
9435 },
44660702 9436 "leaf" : 1,
7aacca6f 9437 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 9438 "text" : "{name}"
56122987
DM
9439 }
9440 ],
9441 "info" : {
44660702 9442 "GET" : {
e9cd3bd4 9443 "allowtoken" : 1,
44660702
DM
9444 "description" : "List aliases",
9445 "method" : "GET",
9446 "name" : "get_aliases",
56122987 9447 "parameters" : {
44660702 9448 "additionalProperties" : 0,
56122987 9449 "properties" : {
7aacca6f 9450 "node" : {
7aacca6f 9451 "description" : "The cluster node name.",
44660702 9452 "format" : "pve-node",
013dc89f
DM
9453 "type" : "string",
9454 "typetext" : "<string>"
56122987 9455 },
44660702
DM
9456 "vmid" : {
9457 "description" : "The (unique) ID of the VM.",
9458 "format" : "pve-vmid",
9459 "minimum" : 1,
4bd7df8b 9460 "type" : "integer",
013dc89f 9461 "typetext" : "<integer> (1 - N)"
56122987 9462 }
44660702 9463 }
56122987 9464 },
56122987
DM
9465 "permissions" : {
9466 "check" : [
9467 "perm",
9468 "/vms/{vmid}",
9469 [
44660702 9470 "VM.Audit"
56122987
DM
9471 ]
9472 ]
9473 },
56122987
DM
9474 "returns" : {
9475 "items" : {
9476 "properties" : {
44660702 9477 "cidr" : {
56122987
DM
9478 "type" : "string"
9479 },
44660702
DM
9480 "comment" : {
9481 "optional" : 1,
7aacca6f 9482 "type" : "string"
56122987
DM
9483 },
9484 "digest" : {
56122987 9485 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 9486 "maxLength" : 40,
56122987
DM
9487 "optional" : 0,
9488 "type" : "string"
9489 },
44660702 9490 "name" : {
56122987
DM
9491 "type" : "string"
9492 }
44660702
DM
9493 },
9494 "type" : "object"
56122987 9495 },
56122987
DM
9496 "links" : [
9497 {
9498 "href" : "{name}",
9499 "rel" : "child"
9500 }
44660702
DM
9501 ],
9502 "type" : "array"
9503 }
9504 },
9505 "POST" : {
e9cd3bd4 9506 "allowtoken" : 1,
44660702
DM
9507 "description" : "Create IP or Network Alias.",
9508 "method" : "POST",
9509 "name" : "create_alias",
56122987 9510 "parameters" : {
7aacca6f 9511 "additionalProperties" : 0,
56122987 9512 "properties" : {
44660702
DM
9513 "cidr" : {
9514 "description" : "Network/IP specification in CIDR format.",
9515 "format" : "IPorCIDR",
013dc89f
DM
9516 "type" : "string",
9517 "typetext" : "<string>"
44660702
DM
9518 },
9519 "comment" : {
9520 "optional" : 1,
013dc89f
DM
9521 "type" : "string",
9522 "typetext" : "<string>"
44660702
DM
9523 },
9524 "name" : {
9525 "description" : "Alias name.",
9526 "maxLength" : 64,
9527 "minLength" : 2,
9528 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9529 "type" : "string"
56122987
DM
9530 },
9531 "node" : {
7aacca6f 9532 "description" : "The cluster node name.",
44660702 9533 "format" : "pve-node",
013dc89f
DM
9534 "type" : "string",
9535 "typetext" : "<string>"
44660702
DM
9536 },
9537 "vmid" : {
9538 "description" : "The (unique) ID of the VM.",
9539 "format" : "pve-vmid",
9540 "minimum" : 1,
4bd7df8b 9541 "type" : "integer",
013dc89f 9542 "typetext" : "<integer> (1 - N)"
56122987 9543 }
7aacca6f 9544 }
56122987 9545 },
44660702
DM
9546 "permissions" : {
9547 "check" : [
9548 "perm",
9549 "/vms/{vmid}",
9550 [
9551 "VM.Config.Network"
9552 ]
9553 ]
9554 },
9555 "protected" : 1,
9556 "returns" : {
9557 "type" : "null"
9558 }
56122987 9559 }
44660702
DM
9560 },
9561 "leaf" : 0,
9562 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
9563 "text" : "aliases"
56122987
DM
9564 },
9565 {
56122987
DM
9566 "children" : [
9567 {
7aacca6f
DM
9568 "children" : [
9569 {
9570 "info" : {
9571 "DELETE" : {
e9cd3bd4 9572 "allowtoken" : 1,
44660702 9573 "description" : "Remove IP or Network from IPSet.",
7aacca6f 9574 "method" : "DELETE",
44660702 9575 "name" : "remove_ip",
7aacca6f 9576 "parameters" : {
44660702 9577 "additionalProperties" : 0,
7aacca6f 9578 "properties" : {
44660702
DM
9579 "cidr" : {
9580 "description" : "Network/IP specification in CIDR format.",
9581 "format" : "IPorCIDRorAlias",
013dc89f
DM
9582 "type" : "string",
9583 "typetext" : "<string>"
44660702
DM
9584 },
9585 "digest" : {
9586 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9587 "maxLength" : 40,
9588 "optional" : 1,
013dc89f
DM
9589 "type" : "string",
9590 "typetext" : "<string>"
44660702 9591 },
7aacca6f 9592 "name" : {
7aacca6f 9593 "description" : "IP set name.",
44660702
DM
9594 "maxLength" : 64,
9595 "minLength" : 2,
7aacca6f 9596 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 9597 "type" : "string"
7aacca6f
DM
9598 },
9599 "node" : {
9600 "description" : "The cluster node name.",
44660702 9601 "format" : "pve-node",
013dc89f
DM
9602 "type" : "string",
9603 "typetext" : "<string>"
7aacca6f
DM
9604 },
9605 "vmid" : {
44660702 9606 "description" : "The (unique) ID of the VM.",
7aacca6f 9607 "format" : "pve-vmid",
44660702 9608 "minimum" : 1,
4bd7df8b 9609 "type" : "integer",
013dc89f 9610 "typetext" : "<integer> (1 - N)"
7aacca6f 9611 }
44660702 9612 }
7aacca6f 9613 },
7aacca6f
DM
9614 "permissions" : {
9615 "check" : [
9616 "perm",
9617 "/vms/{vmid}",
9618 [
9619 "VM.Config.Network"
9620 ]
9621 ]
9622 },
9623 "protected" : 1,
44660702
DM
9624 "returns" : {
9625 "type" : "null"
9626 }
56122987 9627 },
44660702 9628 "GET" : {
e9cd3bd4 9629 "allowtoken" : 1,
44660702
DM
9630 "description" : "Read IP or Network settings from IPSet.",
9631 "method" : "GET",
9632 "name" : "read_ip",
7aacca6f 9633 "parameters" : {
44660702 9634 "additionalProperties" : 0,
7aacca6f 9635 "properties" : {
7aacca6f 9636 "cidr" : {
44660702 9637 "description" : "Network/IP specification in CIDR format.",
7aacca6f 9638 "format" : "IPorCIDRorAlias",
013dc89f
DM
9639 "type" : "string",
9640 "typetext" : "<string>"
7aacca6f
DM
9641 },
9642 "name" : {
7aacca6f 9643 "description" : "IP set name.",
44660702 9644 "maxLength" : 64,
7aacca6f 9645 "minLength" : 2,
44660702
DM
9646 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9647 "type" : "string"
7aacca6f 9648 },
44660702
DM
9649 "node" : {
9650 "description" : "The cluster node name.",
9651 "format" : "pve-node",
013dc89f
DM
9652 "type" : "string",
9653 "typetext" : "<string>"
7aacca6f 9654 },
44660702
DM
9655 "vmid" : {
9656 "description" : "The (unique) ID of the VM.",
9657 "format" : "pve-vmid",
9658 "minimum" : 1,
4bd7df8b 9659 "type" : "integer",
013dc89f 9660 "typetext" : "<integer> (1 - N)"
7aacca6f 9661 }
44660702 9662 }
7aacca6f 9663 },
44660702
DM
9664 "permissions" : {
9665 "check" : [
9666 "perm",
9667 "/vms/{vmid}",
9668 [
9669 "VM.Audit"
9670 ]
9671 ]
9672 },
9673 "protected" : 1,
7aacca6f 9674 "returns" : {
44660702 9675 "type" : "object"
7aacca6f 9676 }
56122987 9677 },
44660702 9678 "PUT" : {
e9cd3bd4 9679 "allowtoken" : 1,
44660702
DM
9680 "description" : "Update IP or Network settings",
9681 "method" : "PUT",
9682 "name" : "update_ip",
7aacca6f
DM
9683 "parameters" : {
9684 "additionalProperties" : 0,
9685 "properties" : {
44660702
DM
9686 "cidr" : {
9687 "description" : "Network/IP specification in CIDR format.",
9688 "format" : "IPorCIDRorAlias",
013dc89f
DM
9689 "type" : "string",
9690 "typetext" : "<string>"
44660702
DM
9691 },
9692 "comment" : {
9693 "optional" : 1,
013dc89f
DM
9694 "type" : "string",
9695 "typetext" : "<string>"
44660702
DM
9696 },
9697 "digest" : {
9698 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9699 "maxLength" : 40,
9700 "optional" : 1,
013dc89f
DM
9701 "type" : "string",
9702 "typetext" : "<string>"
44660702 9703 },
7aacca6f 9704 "name" : {
7aacca6f 9705 "description" : "IP set name.",
44660702 9706 "maxLength" : 64,
7aacca6f 9707 "minLength" : 2,
44660702
DM
9708 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9709 "type" : "string"
7aacca6f
DM
9710 },
9711 "node" : {
7aacca6f 9712 "description" : "The cluster node name.",
44660702 9713 "format" : "pve-node",
013dc89f
DM
9714 "type" : "string",
9715 "typetext" : "<string>"
7aacca6f 9716 },
44660702
DM
9717 "nomatch" : {
9718 "optional" : 1,
013dc89f
DM
9719 "type" : "boolean",
9720 "typetext" : "<boolean>"
7aacca6f
DM
9721 },
9722 "vmid" : {
9723 "description" : "The (unique) ID of the VM.",
44660702 9724 "format" : "pve-vmid",
7aacca6f 9725 "minimum" : 1,
4bd7df8b 9726 "type" : "integer",
013dc89f 9727 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9728 }
9729 }
9730 },
9731 "permissions" : {
9732 "check" : [
9733 "perm",
9734 "/vms/{vmid}",
9735 [
44660702 9736 "VM.Config.Network"
7aacca6f
DM
9737 ]
9738 ]
9739 },
7aacca6f 9740 "protected" : 1,
7aacca6f 9741 "returns" : {
44660702 9742 "type" : "null"
7aacca6f 9743 }
56122987 9744 }
7aacca6f 9745 },
7aacca6f 9746 "leaf" : 1,
44660702
DM
9747 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
9748 "text" : "{cidr}"
7aacca6f 9749 }
44660702
DM
9750 ],
9751 "info" : {
9752 "DELETE" : {
e9cd3bd4 9753 "allowtoken" : 1,
44660702
DM
9754 "description" : "Delete IPSet",
9755 "method" : "DELETE",
9756 "name" : "delete_ipset",
9757 "parameters" : {
9758 "additionalProperties" : 0,
9759 "properties" : {
9760 "name" : {
9761 "description" : "IP set name.",
9762 "maxLength" : 64,
9763 "minLength" : 2,
9764 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9765 "type" : "string"
9766 },
9767 "node" : {
9768 "description" : "The cluster node name.",
9769 "format" : "pve-node",
013dc89f
DM
9770 "type" : "string",
9771 "typetext" : "<string>"
44660702
DM
9772 },
9773 "vmid" : {
9774 "description" : "The (unique) ID of the VM.",
9775 "format" : "pve-vmid",
9776 "minimum" : 1,
4bd7df8b 9777 "type" : "integer",
013dc89f 9778 "typetext" : "<integer> (1 - N)"
44660702
DM
9779 }
9780 }
7aacca6f 9781 },
44660702
DM
9782 "permissions" : {
9783 "check" : [
9784 "perm",
9785 "/vms/{vmid}",
9786 [
9787 "VM.Config.Network"
9788 ]
9789 ]
7aacca6f 9790 },
44660702
DM
9791 "protected" : 1,
9792 "returns" : {
9793 "type" : "null"
9794 }
9795 },
9796 "GET" : {
e9cd3bd4 9797 "allowtoken" : 1,
44660702
DM
9798 "description" : "List IPSet content",
9799 "method" : "GET",
9800 "name" : "get_ipset",
9801 "parameters" : {
9802 "additionalProperties" : 0,
9803 "properties" : {
9804 "name" : {
9805 "description" : "IP set name.",
9806 "maxLength" : 64,
9807 "minLength" : 2,
9808 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9809 "type" : "string"
9810 },
9811 "node" : {
9812 "description" : "The cluster node name.",
9813 "format" : "pve-node",
013dc89f
DM
9814 "type" : "string",
9815 "typetext" : "<string>"
44660702
DM
9816 },
9817 "vmid" : {
9818 "description" : "The (unique) ID of the VM.",
9819 "format" : "pve-vmid",
9820 "minimum" : 1,
4bd7df8b 9821 "type" : "integer",
013dc89f 9822 "typetext" : "<integer> (1 - N)"
44660702
DM
9823 }
9824 }
7aacca6f 9825 },
44660702
DM
9826 "permissions" : {
9827 "check" : [
9828 "perm",
9829 "/vms/{vmid}",
9830 [
9831 "VM.Audit"
9832 ]
9833 ]
7aacca6f 9834 },
44660702
DM
9835 "returns" : {
9836 "items" : {
9837 "properties" : {
9838 "cidr" : {
9839 "type" : "string"
9840 },
9841 "comment" : {
9842 "optional" : 1,
9843 "type" : "string"
9844 },
9845 "digest" : {
9846 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9847 "maxLength" : 40,
9848 "optional" : 0,
9849 "type" : "string"
9850 },
9851 "nomatch" : {
9852 "optional" : 1,
9853 "type" : "boolean"
9854 }
9855 },
9856 "type" : "object"
9857 },
9858 "links" : [
9859 {
9860 "href" : "{cidr}",
9861 "rel" : "child"
9862 }
9863 ],
9864 "type" : "array"
56122987
DM
9865 }
9866 },
44660702 9867 "POST" : {
e9cd3bd4 9868 "allowtoken" : 1,
44660702
DM
9869 "description" : "Add IP or Network to IPSet.",
9870 "method" : "POST",
9871 "name" : "create_ip",
9872 "parameters" : {
9873 "additionalProperties" : 0,
9874 "properties" : {
9875 "cidr" : {
9876 "description" : "Network/IP specification in CIDR format.",
9877 "format" : "IPorCIDRorAlias",
013dc89f
DM
9878 "type" : "string",
9879 "typetext" : "<string>"
44660702
DM
9880 },
9881 "comment" : {
9882 "optional" : 1,
013dc89f
DM
9883 "type" : "string",
9884 "typetext" : "<string>"
44660702
DM
9885 },
9886 "name" : {
9887 "description" : "IP set name.",
9888 "maxLength" : 64,
9889 "minLength" : 2,
9890 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9891 "type" : "string"
9892 },
9893 "node" : {
9894 "description" : "The cluster node name.",
9895 "format" : "pve-node",
013dc89f
DM
9896 "type" : "string",
9897 "typetext" : "<string>"
44660702
DM
9898 },
9899 "nomatch" : {
9900 "optional" : 1,
013dc89f
DM
9901 "type" : "boolean",
9902 "typetext" : "<boolean>"
44660702
DM
9903 },
9904 "vmid" : {
9905 "description" : "The (unique) ID of the VM.",
9906 "format" : "pve-vmid",
9907 "minimum" : 1,
4bd7df8b 9908 "type" : "integer",
013dc89f 9909 "typetext" : "<integer> (1 - N)"
44660702
DM
9910 }
9911 }
9912 },
9913 "permissions" : {
9914 "check" : [
9915 "perm",
9916 "/vms/{vmid}",
9917 [
9918 "VM.Config.Network"
9919 ]
9920 ]
9921 },
9922 "protected" : 1,
9923 "returns" : {
9924 "type" : "null"
9925 }
9926 }
9927 },
9928 "leaf" : 0,
9929 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
9930 "text" : "{name}"
9931 }
9932 ],
9933 "info" : {
9934 "GET" : {
e9cd3bd4 9935 "allowtoken" : 1,
44660702
DM
9936 "description" : "List IPSets",
9937 "method" : "GET",
9938 "name" : "ipset_index",
9939 "parameters" : {
9940 "additionalProperties" : 0,
9941 "properties" : {
9942 "node" : {
9943 "description" : "The cluster node name.",
9944 "format" : "pve-node",
013dc89f
DM
9945 "type" : "string",
9946 "typetext" : "<string>"
44660702
DM
9947 },
9948 "vmid" : {
9949 "description" : "The (unique) ID of the VM.",
9950 "format" : "pve-vmid",
9951 "minimum" : 1,
4bd7df8b 9952 "type" : "integer",
013dc89f 9953 "typetext" : "<integer> (1 - N)"
44660702
DM
9954 }
9955 }
56122987
DM
9956 },
9957 "permissions" : {
9958 "check" : [
9959 "perm",
9960 "/vms/{vmid}",
9961 [
44660702 9962 "VM.Audit"
56122987
DM
9963 ]
9964 ]
9965 },
7aacca6f 9966 "returns" : {
7aacca6f
DM
9967 "items" : {
9968 "properties" : {
7aacca6f
DM
9969 "comment" : {
9970 "optional" : 1,
9971 "type" : "string"
9972 },
9973 "digest" : {
7aacca6f 9974 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
9975 "maxLength" : 40,
9976 "optional" : 0,
9977 "type" : "string"
9978 },
9979 "name" : {
9980 "description" : "IP set name.",
9981 "maxLength" : 64,
9982 "minLength" : 2,
9983 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
9984 "type" : "string"
7aacca6f
DM
9985 }
9986 },
9987 "type" : "object"
9988 },
9989 "links" : [
9990 {
44660702
DM
9991 "href" : "{name}",
9992 "rel" : "child"
7aacca6f 9993 }
44660702
DM
9994 ],
9995 "type" : "array"
9996 }
9997 },
9998 "POST" : {
e9cd3bd4 9999 "allowtoken" : 1,
44660702
DM
10000 "description" : "Create new IPSet",
10001 "method" : "POST",
10002 "name" : "create_ipset",
56122987
DM
10003 "parameters" : {
10004 "additionalProperties" : 0,
10005 "properties" : {
44660702
DM
10006 "comment" : {
10007 "optional" : 1,
013dc89f
DM
10008 "type" : "string",
10009 "typetext" : "<string>"
56122987 10010 },
44660702
DM
10011 "digest" : {
10012 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10013 "maxLength" : 40,
10014 "optional" : 1,
013dc89f
DM
10015 "type" : "string",
10016 "typetext" : "<string>"
44660702
DM
10017 },
10018 "name" : {
10019 "description" : "IP set name.",
10020 "maxLength" : 64,
10021 "minLength" : 2,
10022 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
10023 "type" : "string"
10024 },
10025 "node" : {
10026 "description" : "The cluster node name.",
10027 "format" : "pve-node",
013dc89f
DM
10028 "type" : "string",
10029 "typetext" : "<string>"
44660702
DM
10030 },
10031 "rename" : {
10032 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
10033 "maxLength" : 64,
10034 "minLength" : 2,
10035 "optional" : 1,
10036 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
10037 "type" : "string"
10038 },
10039 "vmid" : {
10040 "description" : "The (unique) ID of the VM.",
10041 "format" : "pve-vmid",
10042 "minimum" : 1,
4bd7df8b 10043 "type" : "integer",
013dc89f 10044 "typetext" : "<integer> (1 - N)"
44660702
DM
10045 }
10046 }
10047 },
7aacca6f
DM
10048 "permissions" : {
10049 "check" : [
10050 "perm",
10051 "/vms/{vmid}",
10052 [
10053 "VM.Config.Network"
10054 ]
10055 ]
10056 },
44660702 10057 "protected" : 1,
56122987 10058 "returns" : {
7aacca6f 10059 "type" : "null"
44660702
DM
10060 }
10061 }
10062 },
10063 "leaf" : 0,
10064 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
10065 "text" : "ipset"
10066 },
10067 {
10068 "info" : {
10069 "GET" : {
e9cd3bd4 10070 "allowtoken" : 1,
44660702
DM
10071 "description" : "Get VM firewall options.",
10072 "method" : "GET",
10073 "name" : "get_options",
7aacca6f
DM
10074 "parameters" : {
10075 "additionalProperties" : 0,
56122987 10076 "properties" : {
7aacca6f
DM
10077 "node" : {
10078 "description" : "The cluster node name.",
44660702 10079 "format" : "pve-node",
013dc89f
DM
10080 "type" : "string",
10081 "typetext" : "<string>"
7aacca6f 10082 },
44660702
DM
10083 "vmid" : {
10084 "description" : "The (unique) ID of the VM.",
10085 "format" : "pve-vmid",
10086 "minimum" : 1,
4bd7df8b 10087 "type" : "integer",
013dc89f 10088 "typetext" : "<integer> (1 - N)"
44660702
DM
10089 }
10090 }
10091 },
10092 "permissions" : {
10093 "check" : [
10094 "perm",
10095 "/vms/{vmid}",
10096 [
10097 "VM.Audit"
10098 ]
10099 ]
10100 },
10101 "proxyto" : "node",
10102 "returns" : {
10103 "properties" : {
10104 "dhcp" : {
5c1699e5 10105 "default" : 0,
44660702 10106 "description" : "Enable DHCP.",
56122987 10107 "optional" : 1,
44660702 10108 "type" : "boolean"
56122987 10109 },
44660702 10110 "enable" : {
5c1699e5 10111 "default" : 0,
44660702 10112 "description" : "Enable/disable firewall rules.",
7aacca6f 10113 "optional" : 1,
44660702 10114 "type" : "boolean"
56122987 10115 },
44660702
DM
10116 "ipfilter" : {
10117 "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 10118 "optional" : 1,
44660702 10119 "type" : "boolean"
7aacca6f 10120 },
56122987 10121 "log_level_in" : {
7aacca6f 10122 "description" : "Log level for incoming traffic.",
56122987
DM
10123 "enum" : [
10124 "emerg",
10125 "alert",
10126 "crit",
10127 "err",
10128 "warning",
10129 "notice",
10130 "info",
10131 "debug",
10132 "nolog"
10133 ],
56122987
DM
10134 "optional" : 1,
10135 "type" : "string"
10136 },
44660702
DM
10137 "log_level_out" : {
10138 "description" : "Log level for outgoing traffic.",
10139 "enum" : [
10140 "emerg",
10141 "alert",
10142 "crit",
10143 "err",
10144 "warning",
10145 "notice",
10146 "info",
10147 "debug",
10148 "nolog"
10149 ],
10150 "optional" : 1,
10151 "type" : "string"
10152 },
10153 "macfilter" : {
5c1699e5 10154 "default" : 0,
44660702 10155 "description" : "Enable/disable MAC address filter.",
56122987 10156 "optional" : 1,
7aacca6f 10157 "type" : "boolean"
56122987
DM
10158 },
10159 "ndp" : {
5c1699e5
TL
10160 "default" : 0,
10161 "description" : "Enable NDP (Neighbor Discovery Protocol).",
56122987 10162 "optional" : 1,
44660702 10163 "type" : "boolean"
56122987
DM
10164 },
10165 "policy_in" : {
56122987
DM
10166 "description" : "Input policy.",
10167 "enum" : [
10168 "ACCEPT",
10169 "REJECT",
10170 "DROP"
44660702
DM
10171 ],
10172 "optional" : 1,
10173 "type" : "string"
56122987 10174 },
44660702
DM
10175 "policy_out" : {
10176 "description" : "Output policy.",
10177 "enum" : [
10178 "ACCEPT",
10179 "REJECT",
10180 "DROP"
10181 ],
10182 "optional" : 1,
10183 "type" : "string"
10184 },
10185 "radv" : {
10186 "description" : "Allow sending Router Advertisement.",
10187 "optional" : 1,
10188 "type" : "boolean"
10189 }
10190 },
10191 "type" : "object"
10192 }
10193 },
10194 "PUT" : {
e9cd3bd4 10195 "allowtoken" : 1,
44660702
DM
10196 "description" : "Set Firewall options.",
10197 "method" : "PUT",
10198 "name" : "set_options",
10199 "parameters" : {
10200 "additionalProperties" : 0,
10201 "properties" : {
10202 "delete" : {
10203 "description" : "A list of settings you want to delete.",
10204 "format" : "pve-configid-list",
10205 "optional" : 1,
013dc89f
DM
10206 "type" : "string",
10207 "typetext" : "<string>"
44660702
DM
10208 },
10209 "dhcp" : {
5c1699e5 10210 "default" : 0,
44660702 10211 "description" : "Enable DHCP.",
7aacca6f 10212 "optional" : 1,
013dc89f
DM
10213 "type" : "boolean",
10214 "typetext" : "<boolean>"
7aacca6f
DM
10215 },
10216 "digest" : {
10217 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 10218 "maxLength" : 40,
7aacca6f 10219 "optional" : 1,
013dc89f
DM
10220 "type" : "string",
10221 "typetext" : "<string>"
7aacca6f
DM
10222 },
10223 "enable" : {
5c1699e5 10224 "default" : 0,
7aacca6f 10225 "description" : "Enable/disable firewall rules.",
56122987 10226 "optional" : 1,
013dc89f
DM
10227 "type" : "boolean",
10228 "typetext" : "<boolean>"
7aacca6f 10229 },
44660702
DM
10230 "ipfilter" : {
10231 "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.",
10232 "optional" : 1,
013dc89f
DM
10233 "type" : "boolean",
10234 "typetext" : "<boolean>"
44660702
DM
10235 },
10236 "log_level_in" : {
10237 "description" : "Log level for incoming traffic.",
56122987
DM
10238 "enum" : [
10239 "emerg",
10240 "alert",
10241 "crit",
10242 "err",
10243 "warning",
10244 "notice",
10245 "info",
10246 "debug",
10247 "nolog"
7aacca6f 10248 ],
7aacca6f 10249 "optional" : 1,
44660702 10250 "type" : "string"
7aacca6f 10251 },
44660702
DM
10252 "log_level_out" : {
10253 "description" : "Log level for outgoing traffic.",
56122987
DM
10254 "enum" : [
10255 "emerg",
10256 "alert",
10257 "crit",
10258 "err",
10259 "warning",
10260 "notice",
10261 "info",
10262 "debug",
10263 "nolog"
10264 ],
56122987 10265 "optional" : 1,
44660702 10266 "type" : "string"
56122987
DM
10267 },
10268 "macfilter" : {
5c1699e5 10269 "default" : 0,
56122987 10270 "description" : "Enable/disable MAC address filter.",
7aacca6f 10271 "optional" : 1,
013dc89f
DM
10272 "type" : "boolean",
10273 "typetext" : "<boolean>"
56122987 10274 },
44660702 10275 "ndp" : {
5c1699e5
TL
10276 "default" : 0,
10277 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702 10278 "optional" : 1,
013dc89f
DM
10279 "type" : "boolean",
10280 "typetext" : "<boolean>"
44660702
DM
10281 },
10282 "node" : {
10283 "description" : "The cluster node name.",
10284 "format" : "pve-node",
013dc89f
DM
10285 "type" : "string",
10286 "typetext" : "<string>"
44660702 10287 },
56122987 10288 "policy_in" : {
44660702 10289 "description" : "Input policy.",
56122987
DM
10290 "enum" : [
10291 "ACCEPT",
10292 "REJECT",
10293 "DROP"
7aacca6f 10294 ],
56122987 10295 "optional" : 1,
7aacca6f 10296 "type" : "string"
56122987 10297 },
44660702
DM
10298 "policy_out" : {
10299 "description" : "Output policy.",
10300 "enum" : [
10301 "ACCEPT",
10302 "REJECT",
10303 "DROP"
10304 ],
56122987 10305 "optional" : 1,
44660702 10306 "type" : "string"
56122987 10307 },
44660702
DM
10308 "radv" : {
10309 "description" : "Allow sending Router Advertisement.",
56122987 10310 "optional" : 1,
013dc89f
DM
10311 "type" : "boolean",
10312 "typetext" : "<boolean>"
7aacca6f
DM
10313 },
10314 "vmid" : {
10315 "description" : "The (unique) ID of the VM.",
44660702 10316 "format" : "pve-vmid",
7aacca6f 10317 "minimum" : 1,
4bd7df8b 10318 "type" : "integer",
013dc89f 10319 "typetext" : "<integer> (1 - N)"
56122987
DM
10320 }
10321 }
10322 },
56122987
DM
10323 "permissions" : {
10324 "check" : [
10325 "perm",
10326 "/vms/{vmid}",
10327 [
44660702 10328 "VM.Config.Network"
56122987
DM
10329 ]
10330 ]
7aacca6f 10331 },
44660702 10332 "protected" : 1,
7aacca6f 10333 "proxyto" : "node",
44660702
DM
10334 "returns" : {
10335 "type" : "null"
10336 }
56122987
DM
10337 }
10338 },
44660702 10339 "leaf" : 1,
7aacca6f 10340 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 10341 "text" : "options"
56122987
DM
10342 },
10343 {
56122987
DM
10344 "info" : {
10345 "GET" : {
e9cd3bd4 10346 "allowtoken" : 1,
44660702
DM
10347 "description" : "Read firewall log",
10348 "method" : "GET",
10349 "name" : "log",
10350 "parameters" : {
10351 "additionalProperties" : 0,
10352 "properties" : {
10353 "limit" : {
10354 "minimum" : 0,
10355 "optional" : 1,
4bd7df8b 10356 "type" : "integer",
013dc89f 10357 "typetext" : "<integer> (0 - N)"
56122987 10358 },
44660702
DM
10359 "node" : {
10360 "description" : "The cluster node name.",
10361 "format" : "pve-node",
013dc89f
DM
10362 "type" : "string",
10363 "typetext" : "<string>"
44660702
DM
10364 },
10365 "start" : {
10366 "minimum" : 0,
10367 "optional" : 1,
4bd7df8b 10368 "type" : "integer",
013dc89f 10369 "typetext" : "<integer> (0 - N)"
44660702
DM
10370 },
10371 "vmid" : {
10372 "description" : "The (unique) ID of the VM.",
10373 "format" : "pve-vmid",
10374 "minimum" : 1,
4bd7df8b 10375 "type" : "integer",
013dc89f 10376 "typetext" : "<integer> (1 - N)"
44660702
DM
10377 }
10378 }
7aacca6f 10379 },
7aacca6f
DM
10380 "permissions" : {
10381 "check" : [
10382 "perm",
10383 "/vms/{vmid}",
10384 [
10385 "VM.Console"
10386 ]
10387 ]
56122987 10388 },
7aacca6f 10389 "protected" : 1,
44660702
DM
10390 "proxyto" : "node",
10391 "returns" : {
10392 "items" : {
10393 "properties" : {
10394 "n" : {
10395 "description" : "Line number",
10396 "type" : "integer"
10397 },
10398 "t" : {
10399 "description" : "Line text",
10400 "type" : "string"
10401 }
56122987 10402 },
44660702 10403 "type" : "object"
7aacca6f 10404 },
44660702 10405 "type" : "array"
7aacca6f
DM
10406 }
10407 }
10408 },
44660702 10409 "leaf" : 1,
7aacca6f 10410 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 10411 "text" : "log"
7aacca6f
DM
10412 },
10413 {
7aacca6f
DM
10414 "info" : {
10415 "GET" : {
e9cd3bd4 10416 "allowtoken" : 1,
7aacca6f 10417 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
10418 "method" : "GET",
10419 "name" : "refs",
56122987 10420 "parameters" : {
44660702 10421 "additionalProperties" : 0,
56122987
DM
10422 "properties" : {
10423 "node" : {
7aacca6f 10424 "description" : "The cluster node name.",
44660702 10425 "format" : "pve-node",
013dc89f
DM
10426 "type" : "string",
10427 "typetext" : "<string>"
56122987
DM
10428 },
10429 "type" : {
56122987
DM
10430 "description" : "Only list references of specified type.",
10431 "enum" : [
10432 "alias",
10433 "ipset"
7aacca6f 10434 ],
44660702
DM
10435 "optional" : 1,
10436 "type" : "string"
10437 },
10438 "vmid" : {
10439 "description" : "The (unique) ID of the VM.",
10440 "format" : "pve-vmid",
10441 "minimum" : 1,
4bd7df8b 10442 "type" : "integer",
013dc89f 10443 "typetext" : "<integer> (1 - N)"
56122987 10444 }
44660702
DM
10445 }
10446 },
10447 "permissions" : {
10448 "check" : [
10449 "perm",
10450 "/vms/{vmid}",
10451 [
10452 "VM.Audit"
10453 ]
10454 ]
56122987
DM
10455 },
10456 "returns" : {
56122987
DM
10457 "items" : {
10458 "properties" : {
44660702
DM
10459 "comment" : {
10460 "optional" : 1,
56122987
DM
10461 "type" : "string"
10462 },
10463 "name" : {
10464 "type" : "string"
10465 },
44660702
DM
10466 "type" : {
10467 "enum" : [
10468 "alias",
10469 "ipset"
10470 ],
7aacca6f 10471 "type" : "string"
56122987
DM
10472 }
10473 },
10474 "type" : "object"
7aacca6f
DM
10475 },
10476 "type" : "array"
10477 }
56122987 10478 }
44660702
DM
10479 },
10480 "leaf" : 1,
10481 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
10482 "text" : "refs"
56122987
DM
10483 }
10484 ],
56122987
DM
10485 "info" : {
10486 "GET" : {
e9cd3bd4 10487 "allowtoken" : 1,
44660702 10488 "description" : "Directory index.",
56122987 10489 "method" : "GET",
44660702 10490 "name" : "index",
56122987 10491 "parameters" : {
44660702 10492 "additionalProperties" : 0,
56122987
DM
10493 "properties" : {
10494 "node" : {
10495 "description" : "The cluster node name.",
44660702 10496 "format" : "pve-node",
013dc89f
DM
10497 "type" : "string",
10498 "typetext" : "<string>"
56122987
DM
10499 },
10500 "vmid" : {
44660702 10501 "description" : "The (unique) ID of the VM.",
56122987
DM
10502 "format" : "pve-vmid",
10503 "minimum" : 1,
4bd7df8b 10504 "type" : "integer",
013dc89f 10505 "typetext" : "<integer> (1 - N)"
56122987 10506 }
44660702 10507 }
56122987 10508 },
56122987 10509 "permissions" : {
27a7acb2
DM
10510 "user" : "all"
10511 },
10512 "returns" : {
10513 "items" : {
10514 "properties" : {},
10515 "type" : "object"
10516 },
10517 "links" : [
10518 {
10519 "href" : "{name}",
10520 "rel" : "child"
10521 }
10522 ],
10523 "type" : "array"
10524 }
10525 }
10526 },
10527 "leaf" : 0,
10528 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
10529 "text" : "firewall"
10530 },
10531 {
10532 "children" : [
10533 {
10534 "info" : {
10535 "POST" : {
e9cd3bd4 10536 "allowtoken" : 1,
27a7acb2
DM
10537 "description" : "Execute fsfreeze-freeze.",
10538 "method" : "POST",
10539 "name" : "fsfreeze-freeze",
10540 "parameters" : {
10541 "additionalProperties" : 0,
10542 "properties" : {
10543 "node" : {
10544 "description" : "The cluster node name.",
10545 "format" : "pve-node",
10546 "type" : "string",
10547 "typetext" : "<string>"
10548 },
10549 "vmid" : {
10550 "description" : "The (unique) ID of the VM.",
10551 "format" : "pve-vmid",
10552 "minimum" : 1,
10553 "type" : "integer",
10554 "typetext" : "<integer> (1 - N)"
10555 }
10556 }
10557 },
10558 "permissions" : {
10559 "check" : [
10560 "perm",
10561 "/vms/{vmid}",
10562 [
10563 "VM.Monitor"
10564 ]
10565 ]
10566 },
10567 "protected" : 1,
10568 "proxyto" : "node",
10569 "returns" : {
10570 "description" : "Returns an object with a single `result` property.",
10571 "type" : "object"
10572 }
10573 }
10574 },
10575 "leaf" : 1,
10576 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
10577 "text" : "fsfreeze-freeze"
10578 },
10579 {
10580 "info" : {
10581 "POST" : {
e9cd3bd4 10582 "allowtoken" : 1,
27a7acb2
DM
10583 "description" : "Execute fsfreeze-status.",
10584 "method" : "POST",
10585 "name" : "fsfreeze-status",
10586 "parameters" : {
10587 "additionalProperties" : 0,
10588 "properties" : {
10589 "node" : {
10590 "description" : "The cluster node name.",
10591 "format" : "pve-node",
10592 "type" : "string",
10593 "typetext" : "<string>"
10594 },
10595 "vmid" : {
10596 "description" : "The (unique) ID of the VM.",
10597 "format" : "pve-vmid",
10598 "minimum" : 1,
10599 "type" : "integer",
10600 "typetext" : "<integer> (1 - N)"
10601 }
10602 }
10603 },
10604 "permissions" : {
10605 "check" : [
10606 "perm",
10607 "/vms/{vmid}",
10608 [
10609 "VM.Monitor"
10610 ]
10611 ]
10612 },
10613 "protected" : 1,
10614 "proxyto" : "node",
10615 "returns" : {
10616 "description" : "Returns an object with a single `result` property.",
10617 "type" : "object"
10618 }
10619 }
10620 },
10621 "leaf" : 1,
10622 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
10623 "text" : "fsfreeze-status"
10624 },
10625 {
10626 "info" : {
10627 "POST" : {
e9cd3bd4 10628 "allowtoken" : 1,
27a7acb2
DM
10629 "description" : "Execute fsfreeze-thaw.",
10630 "method" : "POST",
10631 "name" : "fsfreeze-thaw",
10632 "parameters" : {
10633 "additionalProperties" : 0,
10634 "properties" : {
10635 "node" : {
10636 "description" : "The cluster node name.",
10637 "format" : "pve-node",
10638 "type" : "string",
10639 "typetext" : "<string>"
10640 },
10641 "vmid" : {
10642 "description" : "The (unique) ID of the VM.",
10643 "format" : "pve-vmid",
10644 "minimum" : 1,
10645 "type" : "integer",
10646 "typetext" : "<integer> (1 - N)"
10647 }
10648 }
10649 },
10650 "permissions" : {
10651 "check" : [
10652 "perm",
10653 "/vms/{vmid}",
10654 [
10655 "VM.Monitor"
10656 ]
10657 ]
10658 },
10659 "protected" : 1,
10660 "proxyto" : "node",
10661 "returns" : {
10662 "description" : "Returns an object with a single `result` property.",
10663 "type" : "object"
10664 }
10665 }
10666 },
10667 "leaf" : 1,
10668 "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
10669 "text" : "fsfreeze-thaw"
10670 },
10671 {
10672 "info" : {
10673 "POST" : {
e9cd3bd4 10674 "allowtoken" : 1,
27a7acb2
DM
10675 "description" : "Execute fstrim.",
10676 "method" : "POST",
10677 "name" : "fstrim",
10678 "parameters" : {
10679 "additionalProperties" : 0,
10680 "properties" : {
10681 "node" : {
10682 "description" : "The cluster node name.",
10683 "format" : "pve-node",
10684 "type" : "string",
10685 "typetext" : "<string>"
10686 },
10687 "vmid" : {
10688 "description" : "The (unique) ID of the VM.",
10689 "format" : "pve-vmid",
10690 "minimum" : 1,
10691 "type" : "integer",
10692 "typetext" : "<integer> (1 - N)"
10693 }
10694 }
10695 },
10696 "permissions" : {
10697 "check" : [
10698 "perm",
10699 "/vms/{vmid}",
10700 [
10701 "VM.Monitor"
10702 ]
10703 ]
10704 },
10705 "protected" : 1,
10706 "proxyto" : "node",
10707 "returns" : {
10708 "description" : "Returns an object with a single `result` property.",
10709 "type" : "object"
10710 }
10711 }
10712 },
10713 "leaf" : 1,
10714 "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
10715 "text" : "fstrim"
10716 },
10717 {
10718 "info" : {
10719 "GET" : {
e9cd3bd4 10720 "allowtoken" : 1,
27a7acb2
DM
10721 "description" : "Execute get-fsinfo.",
10722 "method" : "GET",
10723 "name" : "get-fsinfo",
10724 "parameters" : {
10725 "additionalProperties" : 0,
10726 "properties" : {
10727 "node" : {
10728 "description" : "The cluster node name.",
10729 "format" : "pve-node",
10730 "type" : "string",
10731 "typetext" : "<string>"
10732 },
10733 "vmid" : {
10734 "description" : "The (unique) ID of the VM.",
10735 "format" : "pve-vmid",
10736 "minimum" : 1,
10737 "type" : "integer",
10738 "typetext" : "<integer> (1 - N)"
10739 }
10740 }
10741 },
10742 "permissions" : {
10743 "check" : [
10744 "perm",
10745 "/vms/{vmid}",
10746 [
10747 "VM.Monitor"
10748 ]
10749 ]
10750 },
10751 "protected" : 1,
10752 "proxyto" : "node",
10753 "returns" : {
10754 "description" : "Returns an object with a single `result` property.",
10755 "type" : "object"
10756 }
10757 }
10758 },
10759 "leaf" : 1,
10760 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
10761 "text" : "get-fsinfo"
10762 },
10763 {
10764 "info" : {
10765 "GET" : {
e9cd3bd4 10766 "allowtoken" : 1,
27a7acb2
DM
10767 "description" : "Execute get-host-name.",
10768 "method" : "GET",
10769 "name" : "get-host-name",
10770 "parameters" : {
10771 "additionalProperties" : 0,
10772 "properties" : {
10773 "node" : {
10774 "description" : "The cluster node name.",
10775 "format" : "pve-node",
10776 "type" : "string",
10777 "typetext" : "<string>"
10778 },
10779 "vmid" : {
10780 "description" : "The (unique) ID of the VM.",
10781 "format" : "pve-vmid",
10782 "minimum" : 1,
10783 "type" : "integer",
10784 "typetext" : "<integer> (1 - N)"
10785 }
10786 }
10787 },
10788 "permissions" : {
10789 "check" : [
10790 "perm",
10791 "/vms/{vmid}",
10792 [
10793 "VM.Monitor"
10794 ]
10795 ]
10796 },
10797 "protected" : 1,
10798 "proxyto" : "node",
10799 "returns" : {
10800 "description" : "Returns an object with a single `result` property.",
10801 "type" : "object"
10802 }
10803 }
10804 },
10805 "leaf" : 1,
10806 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
10807 "text" : "get-host-name"
10808 },
10809 {
10810 "info" : {
10811 "GET" : {
e9cd3bd4 10812 "allowtoken" : 1,
27a7acb2
DM
10813 "description" : "Execute get-memory-block-info.",
10814 "method" : "GET",
10815 "name" : "get-memory-block-info",
10816 "parameters" : {
10817 "additionalProperties" : 0,
10818 "properties" : {
10819 "node" : {
10820 "description" : "The cluster node name.",
10821 "format" : "pve-node",
10822 "type" : "string",
10823 "typetext" : "<string>"
10824 },
10825 "vmid" : {
10826 "description" : "The (unique) ID of the VM.",
10827 "format" : "pve-vmid",
10828 "minimum" : 1,
10829 "type" : "integer",
10830 "typetext" : "<integer> (1 - N)"
10831 }
10832 }
10833 },
10834 "permissions" : {
10835 "check" : [
10836 "perm",
10837 "/vms/{vmid}",
10838 [
10839 "VM.Monitor"
10840 ]
10841 ]
10842 },
10843 "protected" : 1,
10844 "proxyto" : "node",
10845 "returns" : {
10846 "description" : "Returns an object with a single `result` property.",
10847 "type" : "object"
10848 }
10849 }
10850 },
10851 "leaf" : 1,
10852 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
10853 "text" : "get-memory-block-info"
10854 },
10855 {
10856 "info" : {
10857 "GET" : {
e9cd3bd4 10858 "allowtoken" : 1,
27a7acb2
DM
10859 "description" : "Execute get-memory-blocks.",
10860 "method" : "GET",
10861 "name" : "get-memory-blocks",
10862 "parameters" : {
10863 "additionalProperties" : 0,
10864 "properties" : {
10865 "node" : {
10866 "description" : "The cluster node name.",
10867 "format" : "pve-node",
10868 "type" : "string",
10869 "typetext" : "<string>"
10870 },
10871 "vmid" : {
10872 "description" : "The (unique) ID of the VM.",
10873 "format" : "pve-vmid",
10874 "minimum" : 1,
10875 "type" : "integer",
10876 "typetext" : "<integer> (1 - N)"
10877 }
10878 }
10879 },
10880 "permissions" : {
10881 "check" : [
10882 "perm",
10883 "/vms/{vmid}",
10884 [
10885 "VM.Monitor"
10886 ]
10887 ]
10888 },
10889 "protected" : 1,
10890 "proxyto" : "node",
10891 "returns" : {
10892 "description" : "Returns an object with a single `result` property.",
10893 "type" : "object"
10894 }
10895 }
10896 },
10897 "leaf" : 1,
10898 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
10899 "text" : "get-memory-blocks"
10900 },
10901 {
10902 "info" : {
10903 "GET" : {
e9cd3bd4 10904 "allowtoken" : 1,
27a7acb2
DM
10905 "description" : "Execute get-osinfo.",
10906 "method" : "GET",
10907 "name" : "get-osinfo",
10908 "parameters" : {
10909 "additionalProperties" : 0,
10910 "properties" : {
10911 "node" : {
10912 "description" : "The cluster node name.",
10913 "format" : "pve-node",
10914 "type" : "string",
10915 "typetext" : "<string>"
10916 },
10917 "vmid" : {
10918 "description" : "The (unique) ID of the VM.",
10919 "format" : "pve-vmid",
10920 "minimum" : 1,
10921 "type" : "integer",
10922 "typetext" : "<integer> (1 - N)"
10923 }
10924 }
10925 },
10926 "permissions" : {
10927 "check" : [
10928 "perm",
10929 "/vms/{vmid}",
10930 [
10931 "VM.Monitor"
10932 ]
10933 ]
10934 },
10935 "protected" : 1,
10936 "proxyto" : "node",
10937 "returns" : {
10938 "description" : "Returns an object with a single `result` property.",
10939 "type" : "object"
10940 }
10941 }
10942 },
10943 "leaf" : 1,
10944 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
10945 "text" : "get-osinfo"
10946 },
10947 {
10948 "info" : {
10949 "GET" : {
e9cd3bd4 10950 "allowtoken" : 1,
27a7acb2
DM
10951 "description" : "Execute get-time.",
10952 "method" : "GET",
10953 "name" : "get-time",
10954 "parameters" : {
10955 "additionalProperties" : 0,
10956 "properties" : {
10957 "node" : {
10958 "description" : "The cluster node name.",
10959 "format" : "pve-node",
10960 "type" : "string",
10961 "typetext" : "<string>"
10962 },
10963 "vmid" : {
10964 "description" : "The (unique) ID of the VM.",
10965 "format" : "pve-vmid",
10966 "minimum" : 1,
10967 "type" : "integer",
10968 "typetext" : "<integer> (1 - N)"
10969 }
10970 }
10971 },
10972 "permissions" : {
10973 "check" : [
10974 "perm",
10975 "/vms/{vmid}",
10976 [
10977 "VM.Monitor"
10978 ]
10979 ]
10980 },
10981 "protected" : 1,
10982 "proxyto" : "node",
10983 "returns" : {
10984 "description" : "Returns an object with a single `result` property.",
10985 "type" : "object"
10986 }
10987 }
10988 },
10989 "leaf" : 1,
10990 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
10991 "text" : "get-time"
10992 },
10993 {
10994 "info" : {
10995 "GET" : {
e9cd3bd4 10996 "allowtoken" : 1,
27a7acb2
DM
10997 "description" : "Execute get-timezone.",
10998 "method" : "GET",
10999 "name" : "get-timezone",
11000 "parameters" : {
11001 "additionalProperties" : 0,
11002 "properties" : {
11003 "node" : {
11004 "description" : "The cluster node name.",
11005 "format" : "pve-node",
11006 "type" : "string",
11007 "typetext" : "<string>"
11008 },
11009 "vmid" : {
11010 "description" : "The (unique) ID of the VM.",
11011 "format" : "pve-vmid",
11012 "minimum" : 1,
11013 "type" : "integer",
11014 "typetext" : "<integer> (1 - N)"
11015 }
11016 }
11017 },
11018 "permissions" : {
11019 "check" : [
11020 "perm",
11021 "/vms/{vmid}",
11022 [
11023 "VM.Monitor"
11024 ]
11025 ]
11026 },
11027 "protected" : 1,
11028 "proxyto" : "node",
11029 "returns" : {
11030 "description" : "Returns an object with a single `result` property.",
11031 "type" : "object"
11032 }
11033 }
11034 },
11035 "leaf" : 1,
11036 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
11037 "text" : "get-timezone"
11038 },
11039 {
11040 "info" : {
11041 "GET" : {
e9cd3bd4 11042 "allowtoken" : 1,
27a7acb2
DM
11043 "description" : "Execute get-users.",
11044 "method" : "GET",
11045 "name" : "get-users",
11046 "parameters" : {
11047 "additionalProperties" : 0,
11048 "properties" : {
11049 "node" : {
11050 "description" : "The cluster node name.",
11051 "format" : "pve-node",
11052 "type" : "string",
11053 "typetext" : "<string>"
11054 },
11055 "vmid" : {
11056 "description" : "The (unique) ID of the VM.",
11057 "format" : "pve-vmid",
11058 "minimum" : 1,
11059 "type" : "integer",
11060 "typetext" : "<integer> (1 - N)"
11061 }
11062 }
11063 },
11064 "permissions" : {
11065 "check" : [
11066 "perm",
11067 "/vms/{vmid}",
11068 [
11069 "VM.Monitor"
11070 ]
11071 ]
11072 },
11073 "protected" : 1,
11074 "proxyto" : "node",
11075 "returns" : {
11076 "description" : "Returns an object with a single `result` property.",
11077 "type" : "object"
11078 }
11079 }
11080 },
11081 "leaf" : 1,
11082 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
11083 "text" : "get-users"
11084 },
11085 {
11086 "info" : {
11087 "GET" : {
e9cd3bd4 11088 "allowtoken" : 1,
27a7acb2
DM
11089 "description" : "Execute get-vcpus.",
11090 "method" : "GET",
11091 "name" : "get-vcpus",
11092 "parameters" : {
11093 "additionalProperties" : 0,
11094 "properties" : {
11095 "node" : {
11096 "description" : "The cluster node name.",
11097 "format" : "pve-node",
11098 "type" : "string",
11099 "typetext" : "<string>"
11100 },
11101 "vmid" : {
11102 "description" : "The (unique) ID of the VM.",
11103 "format" : "pve-vmid",
11104 "minimum" : 1,
11105 "type" : "integer",
11106 "typetext" : "<integer> (1 - N)"
11107 }
11108 }
11109 },
11110 "permissions" : {
11111 "check" : [
11112 "perm",
11113 "/vms/{vmid}",
11114 [
11115 "VM.Monitor"
11116 ]
11117 ]
11118 },
11119 "protected" : 1,
11120 "proxyto" : "node",
11121 "returns" : {
11122 "description" : "Returns an object with a single `result` property.",
11123 "type" : "object"
11124 }
11125 }
11126 },
11127 "leaf" : 1,
11128 "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
11129 "text" : "get-vcpus"
11130 },
11131 {
11132 "info" : {
11133 "GET" : {
e9cd3bd4 11134 "allowtoken" : 1,
27a7acb2
DM
11135 "description" : "Execute info.",
11136 "method" : "GET",
11137 "name" : "info",
11138 "parameters" : {
11139 "additionalProperties" : 0,
11140 "properties" : {
11141 "node" : {
11142 "description" : "The cluster node name.",
11143 "format" : "pve-node",
11144 "type" : "string",
11145 "typetext" : "<string>"
11146 },
11147 "vmid" : {
11148 "description" : "The (unique) ID of the VM.",
11149 "format" : "pve-vmid",
11150 "minimum" : 1,
11151 "type" : "integer",
11152 "typetext" : "<integer> (1 - N)"
11153 }
11154 }
11155 },
11156 "permissions" : {
11157 "check" : [
11158 "perm",
11159 "/vms/{vmid}",
11160 [
11161 "VM.Monitor"
11162 ]
11163 ]
11164 },
11165 "protected" : 1,
11166 "proxyto" : "node",
11167 "returns" : {
11168 "description" : "Returns an object with a single `result` property.",
11169 "type" : "object"
11170 }
11171 }
11172 },
11173 "leaf" : 1,
11174 "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
11175 "text" : "info"
11176 },
11177 {
11178 "info" : {
11179 "GET" : {
e9cd3bd4 11180 "allowtoken" : 1,
27a7acb2
DM
11181 "description" : "Execute network-get-interfaces.",
11182 "method" : "GET",
11183 "name" : "network-get-interfaces",
11184 "parameters" : {
11185 "additionalProperties" : 0,
11186 "properties" : {
11187 "node" : {
11188 "description" : "The cluster node name.",
11189 "format" : "pve-node",
11190 "type" : "string",
11191 "typetext" : "<string>"
11192 },
11193 "vmid" : {
11194 "description" : "The (unique) ID of the VM.",
11195 "format" : "pve-vmid",
11196 "minimum" : 1,
11197 "type" : "integer",
11198 "typetext" : "<integer> (1 - N)"
11199 }
11200 }
11201 },
11202 "permissions" : {
11203 "check" : [
11204 "perm",
11205 "/vms/{vmid}",
11206 [
11207 "VM.Monitor"
11208 ]
11209 ]
11210 },
11211 "protected" : 1,
11212 "proxyto" : "node",
11213 "returns" : {
11214 "description" : "Returns an object with a single `result` property.",
11215 "type" : "object"
11216 }
11217 }
11218 },
11219 "leaf" : 1,
11220 "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
11221 "text" : "network-get-interfaces"
11222 },
11223 {
11224 "info" : {
11225 "POST" : {
e9cd3bd4 11226 "allowtoken" : 1,
27a7acb2
DM
11227 "description" : "Execute ping.",
11228 "method" : "POST",
11229 "name" : "ping",
11230 "parameters" : {
11231 "additionalProperties" : 0,
11232 "properties" : {
11233 "node" : {
11234 "description" : "The cluster node name.",
11235 "format" : "pve-node",
11236 "type" : "string",
11237 "typetext" : "<string>"
11238 },
11239 "vmid" : {
11240 "description" : "The (unique) ID of the VM.",
11241 "format" : "pve-vmid",
11242 "minimum" : 1,
11243 "type" : "integer",
11244 "typetext" : "<integer> (1 - N)"
11245 }
11246 }
11247 },
11248 "permissions" : {
11249 "check" : [
11250 "perm",
11251 "/vms/{vmid}",
11252 [
11253 "VM.Monitor"
11254 ]
11255 ]
11256 },
11257 "protected" : 1,
11258 "proxyto" : "node",
11259 "returns" : {
11260 "description" : "Returns an object with a single `result` property.",
11261 "type" : "object"
11262 }
11263 }
11264 },
11265 "leaf" : 1,
11266 "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
11267 "text" : "ping"
11268 },
11269 {
11270 "info" : {
11271 "POST" : {
e9cd3bd4 11272 "allowtoken" : 1,
27a7acb2
DM
11273 "description" : "Execute shutdown.",
11274 "method" : "POST",
11275 "name" : "shutdown",
11276 "parameters" : {
11277 "additionalProperties" : 0,
11278 "properties" : {
11279 "node" : {
11280 "description" : "The cluster node name.",
11281 "format" : "pve-node",
11282 "type" : "string",
11283 "typetext" : "<string>"
11284 },
11285 "vmid" : {
11286 "description" : "The (unique) ID of the VM.",
11287 "format" : "pve-vmid",
11288 "minimum" : 1,
11289 "type" : "integer",
11290 "typetext" : "<integer> (1 - N)"
11291 }
11292 }
11293 },
11294 "permissions" : {
11295 "check" : [
11296 "perm",
11297 "/vms/{vmid}",
11298 [
11299 "VM.Monitor"
11300 ]
11301 ]
11302 },
11303 "protected" : 1,
11304 "proxyto" : "node",
11305 "returns" : {
11306 "description" : "Returns an object with a single `result` property.",
11307 "type" : "object"
11308 }
11309 }
11310 },
11311 "leaf" : 1,
11312 "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
11313 "text" : "shutdown"
11314 },
11315 {
11316 "info" : {
11317 "POST" : {
e9cd3bd4 11318 "allowtoken" : 1,
27a7acb2
DM
11319 "description" : "Execute suspend-disk.",
11320 "method" : "POST",
11321 "name" : "suspend-disk",
11322 "parameters" : {
11323 "additionalProperties" : 0,
11324 "properties" : {
11325 "node" : {
11326 "description" : "The cluster node name.",
11327 "format" : "pve-node",
11328 "type" : "string",
11329 "typetext" : "<string>"
11330 },
11331 "vmid" : {
11332 "description" : "The (unique) ID of the VM.",
11333 "format" : "pve-vmid",
11334 "minimum" : 1,
11335 "type" : "integer",
11336 "typetext" : "<integer> (1 - N)"
11337 }
11338 }
11339 },
11340 "permissions" : {
11341 "check" : [
11342 "perm",
11343 "/vms/{vmid}",
11344 [
11345 "VM.Monitor"
11346 ]
11347 ]
11348 },
11349 "protected" : 1,
11350 "proxyto" : "node",
11351 "returns" : {
11352 "description" : "Returns an object with a single `result` property.",
11353 "type" : "object"
11354 }
11355 }
11356 },
11357 "leaf" : 1,
11358 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
11359 "text" : "suspend-disk"
11360 },
11361 {
11362 "info" : {
11363 "POST" : {
e9cd3bd4 11364 "allowtoken" : 1,
27a7acb2
DM
11365 "description" : "Execute suspend-hybrid.",
11366 "method" : "POST",
11367 "name" : "suspend-hybrid",
11368 "parameters" : {
11369 "additionalProperties" : 0,
11370 "properties" : {
11371 "node" : {
11372 "description" : "The cluster node name.",
11373 "format" : "pve-node",
11374 "type" : "string",
11375 "typetext" : "<string>"
11376 },
11377 "vmid" : {
11378 "description" : "The (unique) ID of the VM.",
11379 "format" : "pve-vmid",
11380 "minimum" : 1,
11381 "type" : "integer",
11382 "typetext" : "<integer> (1 - N)"
11383 }
11384 }
11385 },
11386 "permissions" : {
11387 "check" : [
11388 "perm",
11389 "/vms/{vmid}",
11390 [
11391 "VM.Monitor"
11392 ]
11393 ]
11394 },
11395 "protected" : 1,
11396 "proxyto" : "node",
11397 "returns" : {
11398 "description" : "Returns an object with a single `result` property.",
11399 "type" : "object"
11400 }
11401 }
11402 },
11403 "leaf" : 1,
11404 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
11405 "text" : "suspend-hybrid"
11406 },
11407 {
11408 "info" : {
11409 "POST" : {
e9cd3bd4 11410 "allowtoken" : 1,
27a7acb2
DM
11411 "description" : "Execute suspend-ram.",
11412 "method" : "POST",
11413 "name" : "suspend-ram",
11414 "parameters" : {
11415 "additionalProperties" : 0,
11416 "properties" : {
11417 "node" : {
11418 "description" : "The cluster node name.",
11419 "format" : "pve-node",
11420 "type" : "string",
11421 "typetext" : "<string>"
11422 },
11423 "vmid" : {
11424 "description" : "The (unique) ID of the VM.",
11425 "format" : "pve-vmid",
11426 "minimum" : 1,
11427 "type" : "integer",
11428 "typetext" : "<integer> (1 - N)"
11429 }
11430 }
11431 },
11432 "permissions" : {
11433 "check" : [
11434 "perm",
11435 "/vms/{vmid}",
11436 [
11437 "VM.Monitor"
11438 ]
11439 ]
11440 },
11441 "protected" : 1,
11442 "proxyto" : "node",
11443 "returns" : {
11444 "description" : "Returns an object with a single `result` property.",
11445 "type" : "object"
11446 }
11447 }
11448 },
11449 "leaf" : 1,
11450 "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
11451 "text" : "suspend-ram"
4d47f125
TL
11452 },
11453 {
11454 "info" : {
11455 "POST" : {
e9cd3bd4 11456 "allowtoken" : 1,
4d47f125
TL
11457 "description" : "Sets the password for the given user to the given password",
11458 "method" : "POST",
11459 "name" : "set-user-password",
11460 "parameters" : {
11461 "additionalProperties" : 0,
11462 "properties" : {
11463 "crypted" : {
11464 "default" : 0,
11465 "description" : "set to 1 if the password has already been passed through crypt()",
11466 "optional" : 1,
11467 "type" : "boolean",
11468 "typetext" : "<boolean>"
11469 },
11470 "node" : {
11471 "description" : "The cluster node name.",
11472 "format" : "pve-node",
11473 "type" : "string",
11474 "typetext" : "<string>"
11475 },
11476 "password" : {
11477 "description" : "The new password.",
1c532546 11478 "maxLength" : 1024,
4d47f125
TL
11479 "minLength" : 5,
11480 "type" : "string",
11481 "typetext" : "<string>"
11482 },
11483 "username" : {
11484 "description" : "The user to set the password for.",
11485 "type" : "string",
11486 "typetext" : "<string>"
11487 },
11488 "vmid" : {
11489 "description" : "The (unique) ID of the VM.",
11490 "format" : "pve-vmid",
11491 "minimum" : 1,
11492 "type" : "integer",
11493 "typetext" : "<integer> (1 - N)"
11494 }
11495 }
27a7acb2 11496 },
4d47f125
TL
11497 "permissions" : {
11498 "check" : [
11499 "perm",
11500 "/vms/{vmid}",
11501 [
11502 "VM.Monitor"
11503 ]
11504 ]
11505 },
11506 "protected" : 1,
11507 "proxyto" : "node",
11508 "returns" : {
11509 "description" : "Returns an object with a single `result` property.",
11510 "type" : "object"
27a7acb2
DM
11511 }
11512 }
11513 },
4d47f125
TL
11514 "leaf" : 1,
11515 "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
11516 "text" : "set-user-password"
27a7acb2 11517 },
4d47f125
TL
11518 {
11519 "info" : {
11520 "POST" : {
e9cd3bd4 11521 "allowtoken" : 1,
4d47f125
TL
11522 "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
11523 "method" : "POST",
11524 "name" : "exec",
11525 "parameters" : {
11526 "additionalProperties" : 0,
11527 "properties" : {
11528 "command" : {
11529 "description" : "The command as a list of program + arguments",
11530 "format" : "string-alist",
c5aa7e14
TL
11531 "optional" : 1,
11532 "type" : "string",
11533 "typetext" : "<string>"
11534 },
11535 "input-data" : {
11536 "description" : "Data to pass as 'input-data' to the guest. Usually treated as STDIN to 'command'.",
11537 "maxLength" : 65536,
11538 "optional" : 1,
4d47f125
TL
11539 "type" : "string",
11540 "typetext" : "<string>"
11541 },
11542 "node" : {
11543 "description" : "The cluster node name.",
11544 "format" : "pve-node",
11545 "type" : "string",
11546 "typetext" : "<string>"
11547 },
11548 "vmid" : {
11549 "description" : "The (unique) ID of the VM.",
11550 "format" : "pve-vmid",
11551 "minimum" : 1,
11552 "type" : "integer",
11553 "typetext" : "<integer> (1 - N)"
11554 }
11555 }
27a7acb2 11556 },
4d47f125
TL
11557 "permissions" : {
11558 "check" : [
11559 "perm",
11560 "/vms/{vmid}",
11561 [
11562 "VM.Monitor"
11563 ]
11564 ]
27a7acb2 11565 },
4d47f125
TL
11566 "protected" : 1,
11567 "proxyto" : "node",
11568 "returns" : {
11569 "properties" : {
11570 "pid" : {
11571 "description" : "The PID of the process started by the guest-agent.",
11572 "type" : "integer"
11573 }
11574 },
11575 "type" : "object"
27a7acb2
DM
11576 }
11577 }
11578 },
4d47f125
TL
11579 "leaf" : 1,
11580 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
11581 "text" : "exec"
11582 },
11583 {
11584 "info" : {
11585 "GET" : {
e9cd3bd4 11586 "allowtoken" : 1,
4d47f125
TL
11587 "description" : "Gets the status of the given pid started by the guest-agent",
11588 "method" : "GET",
11589 "name" : "exec-status",
11590 "parameters" : {
11591 "additionalProperties" : 0,
11592 "properties" : {
11593 "node" : {
11594 "description" : "The cluster node name.",
11595 "format" : "pve-node",
11596 "type" : "string",
11597 "typetext" : "<string>"
11598 },
11599 "pid" : {
11600 "description" : "The PID to query",
11601 "type" : "integer",
11602 "typetext" : "<integer>"
11603 },
11604 "vmid" : {
11605 "description" : "The (unique) ID of the VM.",
11606 "format" : "pve-vmid",
11607 "minimum" : 1,
11608 "type" : "integer",
11609 "typetext" : "<integer> (1 - N)"
11610 }
11611 }
56122987 11612 },
4d47f125
TL
11613 "permissions" : {
11614 "check" : [
11615 "perm",
11616 "/vms/{vmid}",
11617 [
11618 "VM.Monitor"
11619 ]
11620 ]
56122987 11621 },
4d47f125
TL
11622 "protected" : 1,
11623 "proxyto" : "node",
11624 "returns" : {
11625 "properties" : {
11626 "err-data" : {
11627 "description" : "stderr of the process",
11628 "optional" : 1,
11629 "type" : "string"
11630 },
11631 "err-truncated" : {
11632 "description" : "true if stderr was not fully captured",
11633 "optional" : 1,
11634 "type" : "boolean"
11635 },
11636 "exitcode" : {
11637 "description" : "process exit code if it was normally terminated.",
11638 "optional" : 1,
11639 "type" : "integer"
11640 },
11641 "exited" : {
11642 "description" : "Tells if the given command has exited yet.",
11643 "type" : "boolean"
11644 },
11645 "out-data" : {
11646 "description" : "stdout of the process",
11647 "optional" : 1,
11648 "type" : "string"
11649 },
11650 "out-truncated" : {
11651 "description" : "true if stdout was not fully captured",
11652 "optional" : 1,
11653 "type" : "boolean"
11654 },
11655 "signal" : {
11656 "description" : "signal number or exception code if the process was abnormally terminated.",
11657 "optional" : 1,
11658 "type" : "integer"
11659 }
11660 },
11661 "type" : "object"
56122987
DM
11662 }
11663 }
11664 },
4d47f125
TL
11665 "leaf" : 1,
11666 "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
11667 "text" : "exec-status"
11668 },
11669 {
11670 "info" : {
11671 "GET" : {
e9cd3bd4 11672 "allowtoken" : 1,
4d47f125
TL
11673 "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
11674 "method" : "GET",
11675 "name" : "file-read",
11676 "parameters" : {
11677 "additionalProperties" : 0,
11678 "properties" : {
11679 "file" : {
11680 "description" : "The path to the file",
11681 "type" : "string",
11682 "typetext" : "<string>"
11683 },
11684 "node" : {
11685 "description" : "The cluster node name.",
11686 "format" : "pve-node",
11687 "type" : "string",
11688 "typetext" : "<string>"
11689 },
11690 "vmid" : {
11691 "description" : "The (unique) ID of the VM.",
11692 "format" : "pve-vmid",
11693 "minimum" : 1,
11694 "type" : "integer",
11695 "typetext" : "<integer> (1 - N)"
11696 }
11697 }
11698 },
11699 "permissions" : {
11700 "check" : [
11701 "perm",
11702 "/vms/{vmid}",
11703 [
11704 "VM.Monitor"
11705 ]
11706 ]
11707 },
11708 "protected" : 1,
11709 "proxyto" : "node",
11710 "returns" : {
11711 "description" : "Returns an object with a `content` property.",
11712 "properties" : {
11713 "content" : {
11714 "description" : "The content of the file, maximum 16777216",
11715 "type" : "string"
11716 },
11717 "truncated" : {
11718 "description" : "If set to 1, the output is truncated and not complete",
11719 "optional" : 1,
11720 "type" : "boolean"
11721 }
11722 },
11723 "type" : "object"
11724 }
11725 }
56122987 11726 },
4d47f125
TL
11727 "leaf" : 1,
11728 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
11729 "text" : "file-read"
11730 },
11731 {
11732 "info" : {
11733 "POST" : {
e9cd3bd4 11734 "allowtoken" : 1,
4d47f125
TL
11735 "description" : "Writes the given file via guest agent.",
11736 "method" : "POST",
11737 "name" : "file-write",
11738 "parameters" : {
11739 "additionalProperties" : 0,
11740 "properties" : {
11741 "content" : {
11742 "description" : "The content to write into the file.",
11743 "maxLength" : 61440,
11744 "type" : "string",
11745 "typetext" : "<string>"
11746 },
11747 "file" : {
11748 "description" : "The path to the file.",
11749 "type" : "string",
11750 "typetext" : "<string>"
11751 },
11752 "node" : {
11753 "description" : "The cluster node name.",
11754 "format" : "pve-node",
11755 "type" : "string",
11756 "typetext" : "<string>"
11757 },
11758 "vmid" : {
11759 "description" : "The (unique) ID of the VM.",
11760 "format" : "pve-vmid",
11761 "minimum" : 1,
11762 "type" : "integer",
11763 "typetext" : "<integer> (1 - N)"
11764 }
11765 }
11766 },
11767 "permissions" : {
11768 "check" : [
11769 "perm",
11770 "/vms/{vmid}",
11771 [
11772 "VM.Monitor"
11773 ]
11774 ]
11775 },
11776 "protected" : 1,
11777 "proxyto" : "node",
11778 "returns" : {
11779 "type" : "null"
7aacca6f 11780 }
4d47f125
TL
11781 }
11782 },
11783 "leaf" : 1,
11784 "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
11785 "text" : "file-write"
56122987 11786 }
4d47f125 11787 ],
7aacca6f 11788 "info" : {
56122987 11789 "GET" : {
e9cd3bd4 11790 "allowtoken" : 1,
4d47f125 11791 "description" : "Qemu Agent command index.",
44660702 11792 "method" : "GET",
4d47f125 11793 "name" : "index",
56122987 11794 "parameters" : {
4d47f125 11795 "additionalProperties" : 1,
56122987
DM
11796 "properties" : {
11797 "node" : {
44660702 11798 "description" : "The cluster node name.",
56122987 11799 "format" : "pve-node",
013dc89f
DM
11800 "type" : "string",
11801 "typetext" : "<string>"
56122987 11802 },
7aacca6f 11803 "vmid" : {
7aacca6f
DM
11804 "description" : "The (unique) ID of the VM.",
11805 "format" : "pve-vmid",
44660702 11806 "minimum" : 1,
4bd7df8b 11807 "type" : "integer",
013dc89f 11808 "typetext" : "<integer> (1 - N)"
56122987 11809 }
44660702 11810 }
56122987 11811 },
56122987 11812 "permissions" : {
4d47f125 11813 "user" : "all"
56122987 11814 },
4d47f125 11815 "proxyto" : "node",
7aacca6f 11816 "returns" : {
4d47f125 11817 "description" : "Returns the list of Qemu Agent commands",
7aacca6f 11818 "items" : {
44660702
DM
11819 "properties" : {},
11820 "type" : "object"
11821 },
4d47f125
TL
11822 "links" : [
11823 {
11824 "href" : "{name}",
11825 "rel" : "child"
11826 }
11827 ],
44660702 11828 "type" : "array"
7aacca6f 11829 }
4d47f125
TL
11830 },
11831 "POST" : {
e9cd3bd4 11832 "allowtoken" : 1,
4d47f125
TL
11833 "description" : "Execute Qemu Guest Agent commands.",
11834 "method" : "POST",
11835 "name" : "agent",
44660702
DM
11836 "parameters" : {
11837 "additionalProperties" : 0,
11838 "properties" : {
4d47f125
TL
11839 "command" : {
11840 "description" : "The QGA command.",
11841 "enum" : [
11842 "fsfreeze-freeze",
11843 "fsfreeze-status",
11844 "fsfreeze-thaw",
11845 "fstrim",
11846 "get-fsinfo",
11847 "get-host-name",
11848 "get-memory-block-info",
11849 "get-memory-blocks",
11850 "get-osinfo",
11851 "get-time",
11852 "get-timezone",
11853 "get-users",
11854 "get-vcpus",
11855 "info",
11856 "network-get-interfaces",
11857 "ping",
11858 "shutdown",
11859 "suspend-disk",
11860 "suspend-hybrid",
11861 "suspend-ram"
11862 ],
11863 "type" : "string"
11864 },
11865 "node" : {
11866 "description" : "The cluster node name.",
11867 "format" : "pve-node",
11868 "type" : "string",
11869 "typetext" : "<string>"
11870 },
11871 "vmid" : {
11872 "description" : "The (unique) ID of the VM.",
11873 "format" : "pve-vmid",
11874 "minimum" : 1,
11875 "type" : "integer",
11876 "typetext" : "<integer> (1 - N)"
11877 }
11878 }
11879 },
11880 "permissions" : {
11881 "check" : [
11882 "perm",
11883 "/vms/{vmid}",
11884 [
11885 "VM.Monitor"
11886 ]
11887 ]
11888 },
11889 "protected" : 1,
11890 "proxyto" : "node",
11891 "returns" : {
11892 "description" : "Returns an object with a single `result` property.",
11893 "type" : "object"
11894 }
11895 }
11896 },
11897 "leaf" : 0,
11898 "path" : "/nodes/{node}/qemu/{vmid}/agent",
11899 "text" : "agent"
11900 },
11901 {
11902 "info" : {
11903 "GET" : {
e9cd3bd4 11904 "allowtoken" : 1,
4d47f125
TL
11905 "description" : "Read VM RRD statistics (returns PNG)",
11906 "method" : "GET",
11907 "name" : "rrd",
11908 "parameters" : {
11909 "additionalProperties" : 0,
11910 "properties" : {
11911 "cf" : {
11912 "description" : "The RRD consolidation function",
11913 "enum" : [
11914 "AVERAGE",
11915 "MAX"
11916 ],
44660702 11917 "optional" : 1,
4d47f125
TL
11918 "type" : "string"
11919 },
11920 "ds" : {
11921 "description" : "The list of datasources you want to display.",
11922 "format" : "pve-configid-list",
11923 "type" : "string",
11924 "typetext" : "<string>"
44660702
DM
11925 },
11926 "node" : {
11927 "description" : "The cluster node name.",
11928 "format" : "pve-node",
013dc89f
DM
11929 "type" : "string",
11930 "typetext" : "<string>"
44660702 11931 },
4d47f125
TL
11932 "timeframe" : {
11933 "description" : "Specify the time frame you are interested in.",
11934 "enum" : [
11935 "hour",
11936 "day",
11937 "week",
11938 "month",
11939 "year"
11940 ],
11941 "type" : "string"
11942 },
44660702
DM
11943 "vmid" : {
11944 "description" : "The (unique) ID of the VM.",
11945 "format" : "pve-vmid",
11946 "minimum" : 1,
4bd7df8b 11947 "type" : "integer",
013dc89f 11948 "typetext" : "<integer> (1 - N)"
44660702
DM
11949 }
11950 }
7aacca6f 11951 },
56122987
DM
11952 "permissions" : {
11953 "check" : [
11954 "perm",
11955 "/vms/{vmid}",
11956 [
44660702
DM
11957 "VM.Audit"
11958 ]
56122987
DM
11959 ]
11960 },
4d47f125 11961 "protected" : 1,
44660702
DM
11962 "returns" : {
11963 "properties" : {
4d47f125 11964 "filename" : {
44660702
DM
11965 "type" : "string"
11966 }
11967 },
11968 "type" : "object"
11969 }
4d47f125
TL
11970 }
11971 },
11972 "leaf" : 1,
11973 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
11974 "text" : "rrd"
11975 },
11976 {
11977 "info" : {
11978 "GET" : {
e9cd3bd4 11979 "allowtoken" : 1,
4d47f125
TL
11980 "description" : "Read VM RRD statistics",
11981 "method" : "GET",
11982 "name" : "rrddata",
11983 "parameters" : {
11984 "additionalProperties" : 0,
11985 "properties" : {
11986 "cf" : {
11987 "description" : "The RRD consolidation function",
11988 "enum" : [
11989 "AVERAGE",
11990 "MAX"
11991 ],
11992 "optional" : 1,
11993 "type" : "string"
11994 },
11995 "node" : {
11996 "description" : "The cluster node name.",
11997 "format" : "pve-node",
11998 "type" : "string",
11999 "typetext" : "<string>"
12000 },
12001 "timeframe" : {
12002 "description" : "Specify the time frame you are interested in.",
12003 "enum" : [
12004 "hour",
12005 "day",
12006 "week",
12007 "month",
12008 "year"
12009 ],
12010 "type" : "string"
12011 },
12012 "vmid" : {
12013 "description" : "The (unique) ID of the VM.",
12014 "format" : "pve-vmid",
12015 "minimum" : 1,
12016 "type" : "integer",
12017 "typetext" : "<integer> (1 - N)"
12018 }
12019 }
12020 },
12021 "permissions" : {
12022 "check" : [
12023 "perm",
12024 "/vms/{vmid}",
12025 [
12026 "VM.Audit"
12027 ]
12028 ]
12029 },
12030 "protected" : 1,
12031 "returns" : {
12032 "items" : {
12033 "properties" : {},
12034 "type" : "object"
12035 },
12036 "type" : "array"
12037 }
12038 }
12039 },
12040 "leaf" : 1,
12041 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
12042 "text" : "rrddata"
12043 },
12044 {
12045 "info" : {
12046 "GET" : {
e9cd3bd4
TL
12047 "allowtoken" : 1,
12048 "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
4d47f125
TL
12049 "method" : "GET",
12050 "name" : "vm_config",
56122987 12051 "parameters" : {
44660702 12052 "additionalProperties" : 0,
4d47f125
TL
12053 "properties" : {
12054 "current" : {
12055 "default" : 0,
12056 "description" : "Get current values (instead of pending values).",
12057 "optional" : 1,
12058 "type" : "boolean",
12059 "typetext" : "<boolean>"
12060 },
12061 "node" : {
12062 "description" : "The cluster node name.",
12063 "format" : "pve-node",
12064 "type" : "string",
12065 "typetext" : "<string>"
12066 },
5f26e15b
TL
12067 "snapshot" : {
12068 "description" : "Fetch config values from given snapshot.",
12069 "format" : "pve-configid",
12070 "maxLength" : 40,
12071 "optional" : 1,
12072 "type" : "string",
12073 "typetext" : "<string>"
12074 },
4d47f125
TL
12075 "vmid" : {
12076 "description" : "The (unique) ID of the VM.",
12077 "format" : "pve-vmid",
12078 "minimum" : 1,
12079 "type" : "integer",
12080 "typetext" : "<integer> (1 - N)"
12081 }
12082 }
12083 },
12084 "permissions" : {
12085 "check" : [
12086 "perm",
12087 "/vms/{vmid}",
12088 [
12089 "VM.Audit"
12090 ]
12091 ]
12092 },
12093 "proxyto" : "node",
12094 "returns" : {
e9cd3bd4 12095 "description" : "The VM configuration.",
56122987 12096 "properties" : {
44660702
DM
12097 "acpi" : {
12098 "default" : 1,
12099 "description" : "Enable/disable ACPI.",
12100 "optional" : 1,
4d47f125 12101 "type" : "boolean"
44660702
DM
12102 },
12103 "agent" : {
4d47f125
TL
12104 "description" : "Enable/disable Qemu GuestAgent and its properties.",
12105 "format" : {
12106 "enabled" : {
12107 "default" : 0,
12108 "default_key" : 1,
12109 "description" : "Enable/disable Qemu GuestAgent.",
12110 "type" : "boolean"
12111 },
12112 "fstrim_cloned_disks" : {
12113 "default" : 0,
d2656385 12114 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
12115 "optional" : 1,
12116 "type" : "boolean"
5c1699e5
TL
12117 },
12118 "type" : {
12119 "default" : "virtio",
12120 "description" : "Select the agent type",
12121 "enum" : [
12122 "virtio",
12123 "isa"
12124 ],
12125 "optional" : 1,
12126 "type" : "string"
4d47f125
TL
12127 }
12128 },
7aacca6f 12129 "optional" : 1,
4d47f125 12130 "type" : "string"
7aacca6f 12131 },
e2d681b3
TL
12132 "arch" : {
12133 "description" : "Virtual processor architecture. Defaults to the host.",
12134 "enum" : [
12135 "x86_64",
12136 "aarch64"
12137 ],
12138 "optional" : 1,
12139 "type" : "string"
12140 },
44660702 12141 "args" : {
c2993fe5 12142 "description" : "Arbitrary arguments passed to kvm.",
44660702 12143 "optional" : 1,
c2993fe5
DM
12144 "type" : "string",
12145 "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 12146 },
1c532546
TL
12147 "audio0" : {
12148 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
12149 "format" : {
12150 "device" : {
12151 "description" : "Configure an audio device.",
12152 "enum" : [
12153 "ich9-intel-hda",
12154 "intel-hda",
12155 "AC97"
12156 ],
12157 "type" : "string"
12158 },
12159 "driver" : {
12160 "default" : "spice",
12161 "description" : "Driver backend for the audio device.",
12162 "enum" : [
d2656385
TL
12163 "spice",
12164 "none"
1c532546
TL
12165 ],
12166 "optional" : 1,
12167 "type" : "string"
12168 }
12169 },
12170 "optional" : 1,
12171 "type" : "string"
12172 },
44660702
DM
12173 "autostart" : {
12174 "default" : 0,
12175 "description" : "Automatic restart after crash (currently ignored).",
56122987 12176 "optional" : 1,
4d47f125 12177 "type" : "boolean"
56122987 12178 },
4d47f125
TL
12179 "balloon" : {
12180 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
12181 "minimum" : 0,
7aacca6f 12182 "optional" : 1,
4d47f125 12183 "type" : "integer"
7aacca6f 12184 },
44660702
DM
12185 "bios" : {
12186 "default" : "seabios",
12187 "description" : "Select BIOS implementation.",
12188 "enum" : [
12189 "seabios",
12190 "ovmf"
12191 ],
56122987 12192 "optional" : 1,
44660702 12193 "type" : "string"
7aacca6f 12194 },
44660702 12195 "boot" : {
4772952b
TL
12196 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
12197 "format" : "pve-qm-boot",
44660702 12198 "optional" : 1,
44660702
DM
12199 "type" : "string"
12200 },
12201 "bootdisk" : {
4772952b 12202 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
12203 "format" : "pve-qm-bootdisk",
12204 "optional" : 1,
12205 "pattern" : "(ide|sata|scsi|virtio)\\d+",
12206 "type" : "string"
12207 },
12208 "cdrom" : {
12209 "description" : "This is an alias for option -ide2",
de0983cb 12210 "format" : "pve-qm-ide",
44660702 12211 "optional" : 1,
7aacca6f 12212 "type" : "string",
013dc89f 12213 "typetext" : "<volume>"
44660702 12214 },
95895385
TL
12215 "cicustom" : {
12216 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
12217 "format" : "pve-qm-cicustom",
12218 "optional" : 1,
12219 "type" : "string"
12220 },
27a7acb2
DM
12221 "cipassword" : {
12222 "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.",
12223 "optional" : 1,
4d47f125 12224 "type" : "string"
27a7acb2
DM
12225 },
12226 "citype" : {
12227 "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.",
12228 "enum" : [
12229 "configdrive2",
d2656385
TL
12230 "nocloud",
12231 "opennebula"
27a7acb2
DM
12232 ],
12233 "optional" : 1,
12234 "type" : "string"
12235 },
12236 "ciuser" : {
12237 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
12238 "optional" : 1,
4d47f125 12239 "type" : "string"
27a7acb2 12240 },
44660702
DM
12241 "cores" : {
12242 "default" : 1,
12243 "description" : "The number of cores per socket.",
12244 "minimum" : 1,
7aacca6f 12245 "optional" : 1,
4d47f125 12246 "type" : "integer"
7aacca6f 12247 },
44660702
DM
12248 "cpu" : {
12249 "description" : "Emulated CPU type.",
c5aa7e14 12250 "format" : "pve-vm-cpu-conf",
44660702 12251 "optional" : 1,
4d47f125 12252 "type" : "string"
44660702
DM
12253 },
12254 "cpulimit" : {
12255 "default" : 0,
c2993fe5 12256 "description" : "Limit of CPU usage.",
44660702
DM
12257 "maximum" : 128,
12258 "minimum" : 0,
12259 "optional" : 1,
c2993fe5
DM
12260 "type" : "number",
12261 "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
12262 },
12263 "cpuunits" : {
de0983cb 12264 "default" : 1024,
c2993fe5 12265 "description" : "CPU weight for a VM.",
2489d6df
WB
12266 "maximum" : 262144,
12267 "minimum" : 2,
44660702 12268 "optional" : 1,
c2993fe5 12269 "type" : "integer",
2489d6df 12270 "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 12271 },
44660702
DM
12272 "description" : {
12273 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
12274 "optional" : 1,
4d47f125 12275 "type" : "string"
44660702
DM
12276 },
12277 "digest" : {
4d47f125
TL
12278 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
12279 "type" : "string"
44660702 12280 },
4d47f125 12281 "efidisk0" : {
d2656385 12282 "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
12283 "format" : {
12284 "file" : {
12285 "default_key" : 1,
12286 "description" : "The drive's backing volume.",
12287 "format" : "pve-volume-id-or-qm-path",
12288 "format_description" : "volume",
12289 "type" : "string"
12290 },
12291 "format" : {
12292 "description" : "The drive's backing file's data format.",
12293 "enum" : [
12294 "raw",
12295 "cow",
12296 "qcow",
12297 "qed",
12298 "qcow2",
12299 "vmdk",
12300 "cloop"
12301 ],
12302 "optional" : 1,
12303 "type" : "string"
12304 },
12305 "size" : {
12306 "description" : "Disk size. This is purely informational and has no effect.",
12307 "format" : "disk-size",
12308 "format_description" : "DiskSize",
12309 "optional" : 1,
12310 "type" : "string"
12311 },
12312 "volume" : {
12313 "alias" : "file"
12314 }
12315 },
44660702 12316 "optional" : 1,
4d47f125 12317 "type" : "string"
44660702
DM
12318 },
12319 "freeze" : {
12320 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12321 "optional" : 1,
4d47f125 12322 "type" : "boolean"
44660702 12323 },
5f26e15b
TL
12324 "hookscript" : {
12325 "description" : "Script that will be executed during various steps in the vms lifetime.",
12326 "format" : "pve-volume-id",
12327 "optional" : 1,
12328 "type" : "string"
12329 },
44660702 12330 "hostpci[n]" : {
c2993fe5 12331 "description" : "Map host PCI devices into guest.",
44660702
DM
12332 "format" : "pve-qm-hostpci",
12333 "optional" : 1,
57b78691 12334 "type" : "string",
bb4c8cf8 12335 "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
12336 },
12337 "hotplug" : {
12338 "default" : "network,disk,usb",
12339 "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'.",
12340 "format" : "pve-hotplug-features",
12341 "optional" : 1,
4d47f125 12342 "type" : "string"
44660702 12343 },
4bd7df8b
DM
12344 "hugepages" : {
12345 "description" : "Enable/disable hugepages memory.",
12346 "enum" : [
12347 "any",
12348 "2",
12349 "1024"
12350 ],
12351 "optional" : 1,
12352 "type" : "string"
12353 },
44660702 12354 "ide[n]" : {
d2656385 12355 "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
12356 "format" : {
12357 "aio" : {
12358 "description" : "AIO type to use.",
12359 "enum" : [
12360 "native",
12361 "threads"
56122987 12362 ],
56122987 12363 "optional" : 1,
44660702 12364 "type" : "string"
56122987 12365 },
44660702
DM
12366 "backup" : {
12367 "description" : "Whether the drive should be included when making backups.",
56122987 12368 "optional" : 1,
44660702 12369 "type" : "boolean"
56122987 12370 },
7aacca6f 12371 "bps" : {
de0983cb 12372 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12373 "format_description" : "bps",
12374 "optional" : 1,
12375 "type" : "integer"
12376 },
de0983cb
DM
12377 "bps_max_length" : {
12378 "description" : "Maximum length of I/O bursts in seconds.",
12379 "format_description" : "seconds",
12380 "minimum" : 1,
12381 "optional" : 1,
12382 "type" : "integer"
12383 },
44660702 12384 "bps_rd" : {
de0983cb 12385 "description" : "Maximum read speed in bytes per second.",
44660702 12386 "format_description" : "bps",
56122987 12387 "optional" : 1,
44660702 12388 "type" : "integer"
56122987 12389 },
de0983cb 12390 "bps_rd_length" : {
5d9c884c
DM
12391 "alias" : "bps_rd_max_length"
12392 },
12393 "bps_rd_max_length" : {
de0983cb
DM
12394 "description" : "Maximum length of read I/O bursts in seconds.",
12395 "format_description" : "seconds",
12396 "minimum" : 1,
12397 "optional" : 1,
12398 "type" : "integer"
12399 },
44660702 12400 "bps_wr" : {
de0983cb 12401 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12402 "format_description" : "bps",
12403 "optional" : 1,
12404 "type" : "integer"
12405 },
de0983cb 12406 "bps_wr_length" : {
5d9c884c
DM
12407 "alias" : "bps_wr_max_length"
12408 },
12409 "bps_wr_max_length" : {
de0983cb
DM
12410 "description" : "Maximum length of write I/O bursts in seconds.",
12411 "format_description" : "seconds",
12412 "minimum" : 1,
12413 "optional" : 1,
12414 "type" : "integer"
12415 },
44660702
DM
12416 "cache" : {
12417 "description" : "The drive's cache mode",
12418 "enum" : [
12419 "none",
12420 "writethrough",
12421 "writeback",
12422 "unsafe",
12423 "directsync"
12424 ],
44660702
DM
12425 "optional" : 1,
12426 "type" : "string"
12427 },
12428 "cyls" : {
12429 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12430 "optional" : 1,
12431 "type" : "integer"
12432 },
12433 "detect_zeroes" : {
12434 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12435 "optional" : 1,
12436 "type" : "boolean"
12437 },
12438 "discard" : {
12439 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12440 "enum" : [
12441 "ignore",
12442 "on"
12443 ],
56122987 12444 "optional" : 1,
44660702
DM
12445 "type" : "string"
12446 },
12447 "file" : {
12448 "default_key" : 1,
12449 "description" : "The drive's backing volume.",
12450 "format" : "pve-volume-id-or-qm-path",
12451 "format_description" : "volume",
12452 "type" : "string"
56122987 12453 },
7aacca6f 12454 "format" : {
7aacca6f 12455 "description" : "The drive's backing file's data format.",
56122987 12456 "enum" : [
7aacca6f
DM
12457 "raw",
12458 "cow",
12459 "qcow",
12460 "qed",
12461 "qcow2",
12462 "vmdk",
12463 "cloop"
56122987
DM
12464 ],
12465 "optional" : 1,
56122987
DM
12466 "type" : "string"
12467 },
44660702
DM
12468 "heads" : {
12469 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12470 "optional" : 1,
12471 "type" : "integer"
7aacca6f 12472 },
44660702 12473 "iops" : {
de0983cb 12474 "description" : "Maximum r/w I/O in operations per second.",
44660702 12475 "format_description" : "iops",
56122987 12476 "optional" : 1,
44660702 12477 "type" : "integer"
56122987 12478 },
44660702 12479 "iops_max" : {
de0983cb 12480 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12481 "format_description" : "iops",
56122987 12482 "optional" : 1,
44660702 12483 "type" : "integer"
56122987 12484 },
de0983cb
DM
12485 "iops_max_length" : {
12486 "description" : "Maximum length of I/O bursts in seconds.",
12487 "format_description" : "seconds",
12488 "minimum" : 1,
12489 "optional" : 1,
12490 "type" : "integer"
12491 },
44660702 12492 "iops_rd" : {
de0983cb 12493 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12494 "format_description" : "iops",
12495 "optional" : 1,
12496 "type" : "integer"
12497 },
de0983cb 12498 "iops_rd_length" : {
5d9c884c 12499 "alias" : "iops_rd_max_length"
de0983cb 12500 },
44660702 12501 "iops_rd_max" : {
de0983cb 12502 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12503 "format_description" : "iops",
44660702
DM
12504 "optional" : 1,
12505 "type" : "integer"
12506 },
5d9c884c
DM
12507 "iops_rd_max_length" : {
12508 "description" : "Maximum length of read I/O bursts in seconds.",
12509 "format_description" : "seconds",
12510 "minimum" : 1,
12511 "optional" : 1,
12512 "type" : "integer"
12513 },
44660702 12514 "iops_wr" : {
de0983cb 12515 "description" : "Maximum write I/O in operations per second.",
44660702 12516 "format_description" : "iops",
56122987 12517 "optional" : 1,
7aacca6f 12518 "type" : "integer"
56122987 12519 },
de0983cb 12520 "iops_wr_length" : {
5d9c884c 12521 "alias" : "iops_wr_max_length"
de0983cb 12522 },
44660702 12523 "iops_wr_max" : {
de0983cb 12524 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12525 "format_description" : "iops",
7aacca6f 12526 "optional" : 1,
44660702 12527 "type" : "integer"
56122987 12528 },
5d9c884c
DM
12529 "iops_wr_max_length" : {
12530 "description" : "Maximum length of write I/O bursts in seconds.",
12531 "format_description" : "seconds",
12532 "minimum" : 1,
12533 "optional" : 1,
12534 "type" : "integer"
12535 },
44660702 12536 "mbps" : {
de0983cb 12537 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12538 "format_description" : "mbps",
12539 "optional" : 1,
12540 "type" : "number"
12541 },
12542 "mbps_max" : {
de0983cb 12543 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12544 "format_description" : "mbps",
12545 "optional" : 1,
12546 "type" : "number"
12547 },
12548 "mbps_rd" : {
de0983cb 12549 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12550 "format_description" : "mbps",
12551 "optional" : 1,
12552 "type" : "number"
12553 },
12554 "mbps_rd_max" : {
de0983cb 12555 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12556 "format_description" : "mbps",
12557 "optional" : 1,
12558 "type" : "number"
12559 },
12560 "mbps_wr" : {
de0983cb 12561 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12562 "format_description" : "mbps",
12563 "optional" : 1,
12564 "type" : "number"
12565 },
12566 "mbps_wr_max" : {
de0983cb 12567 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12568 "format_description" : "mbps",
56122987 12569 "optional" : 1,
44660702 12570 "type" : "number"
56122987 12571 },
7aacca6f 12572 "media" : {
7aacca6f 12573 "default" : "disk",
7aacca6f
DM
12574 "description" : "The drive's media type.",
12575 "enum" : [
12576 "cdrom",
12577 "disk"
44660702 12578 ],
44660702
DM
12579 "optional" : 1,
12580 "type" : "string"
56122987 12581 },
44660702
DM
12582 "model" : {
12583 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12584 "format" : "urlencoded",
12585 "format_description" : "model",
12586 "maxLength" : 120,
56122987 12587 "optional" : 1,
44660702 12588 "type" : "string"
56122987 12589 },
5d9c884c
DM
12590 "replicate" : {
12591 "default" : 1,
12592 "description" : "Whether the drive should considered for replication jobs.",
12593 "optional" : 1,
12594 "type" : "boolean"
12595 },
44660702
DM
12596 "rerror" : {
12597 "description" : "Read error action.",
12598 "enum" : [
12599 "ignore",
12600 "report",
12601 "stop"
12602 ],
56122987 12603 "optional" : 1,
44660702
DM
12604 "type" : "string"
12605 },
12606 "secs" : {
12607 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12608 "optional" : 1,
12609 "type" : "integer"
12610 },
12611 "serial" : {
12612 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12613 "format" : "urlencoded",
12614 "format_description" : "serial",
12615 "maxLength" : 60,
12616 "optional" : 1,
12617 "type" : "string"
12618 },
27a7acb2
DM
12619 "shared" : {
12620 "default" : 0,
12621 "description" : "Mark this locally-managed volume as available on all nodes",
12622 "optional" : 1,
12623 "type" : "boolean",
12624 "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!"
12625 },
44660702
DM
12626 "size" : {
12627 "description" : "Disk size. This is purely informational and has no effect.",
12628 "format" : "disk-size",
f004f5b9 12629 "format_description" : "DiskSize",
44660702
DM
12630 "optional" : 1,
12631 "type" : "string"
12632 },
12633 "snapshot" : {
27a7acb2 12634 "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
12635 "optional" : 1,
12636 "type" : "boolean"
12637 },
25203dc1
NC
12638 "ssd" : {
12639 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
12640 "optional" : 1,
12641 "type" : "boolean"
12642 },
44660702
DM
12643 "trans" : {
12644 "description" : "Force disk geometry bios translation mode.",
12645 "enum" : [
12646 "none",
12647 "lba",
12648 "auto"
12649 ],
44660702
DM
12650 "optional" : 1,
12651 "type" : "string"
12652 },
12653 "volume" : {
12654 "alias" : "file"
12655 },
12656 "werror" : {
12657 "description" : "Write error action.",
12658 "enum" : [
12659 "enospc",
12660 "ignore",
12661 "report",
12662 "stop"
12663 ],
44660702
DM
12664 "optional" : 1,
12665 "type" : "string"
95895385
TL
12666 },
12667 "wwn" : {
12668 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
12669 "format_description" : "wwn",
12670 "optional" : 1,
12671 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
12672 "type" : "string"
56122987
DM
12673 }
12674 },
44660702 12675 "optional" : 1,
4d47f125 12676 "type" : "string"
27a7acb2
DM
12677 },
12678 "ipconfig[n]" : {
d2656385 12679 "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
12680 "format" : "pve-qm-ipconfig",
12681 "optional" : 1,
4d47f125 12682 "type" : "string"
56122987 12683 },
95895385
TL
12684 "ivshmem" : {
12685 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
12686 "format" : {
12687 "name" : {
12688 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
12689 "format_description" : "string",
12690 "optional" : 1,
12691 "pattern" : "[a-zA-Z0-9\\-]+",
12692 "type" : "string"
12693 },
12694 "size" : {
12695 "description" : "The size of the file in MB.",
12696 "minimum" : 1,
12697 "type" : "integer"
12698 }
12699 },
12700 "optional" : 1,
12701 "type" : "string"
12702 },
4772952b
TL
12703 "keephugepages" : {
12704 "default" : 0,
12705 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
12706 "optional" : 1,
12707 "type" : "boolean"
12708 },
44660702 12709 "keyboard" : {
35a75dd3 12710 "default" : null,
5da3d723 12711 "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
12712 "enum" : [
12713 "de",
12714 "de-ch",
12715 "da",
12716 "en-gb",
12717 "en-us",
12718 "es",
12719 "fi",
12720 "fr",
12721 "fr-be",
12722 "fr-ca",
12723 "fr-ch",
12724 "hu",
12725 "is",
12726 "it",
12727 "ja",
12728 "lt",
12729 "mk",
12730 "nl",
12731 "no",
12732 "pl",
12733 "pt",
12734 "pt-br",
12735 "sv",
12736 "sl",
12737 "tr"
12738 ],
56122987 12739 "optional" : 1,
44660702
DM
12740 "type" : "string"
12741 },
12742 "kvm" : {
7aacca6f 12743 "default" : 1,
44660702
DM
12744 "description" : "Enable/disable KVM hardware virtualization.",
12745 "optional" : 1,
4d47f125 12746 "type" : "boolean"
56122987 12747 },
44660702
DM
12748 "localtime" : {
12749 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 12750 "optional" : 1,
4d47f125 12751 "type" : "boolean"
56122987 12752 },
44660702
DM
12753 "lock" : {
12754 "description" : "Lock/unlock the VM.",
12755 "enum" : [
44660702 12756 "backup",
5f26e15b
TL
12757 "clone",
12758 "create",
12759 "migrate",
12760 "rollback",
44660702 12761 "snapshot",
95895385
TL
12762 "snapshot-delete",
12763 "suspending",
12764 "suspended"
44660702 12765 ],
7aacca6f 12766 "optional" : 1,
44660702
DM
12767 "type" : "string"
12768 },
12769 "machine" : {
4d47f125 12770 "description" : "Specifies the Qemu machine type.",
44660702
DM
12771 "maxLength" : 40,
12772 "optional" : 1,
5c1699e5 12773 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
12774 "type" : "string"
12775 },
12776 "memory" : {
12777 "default" : 512,
12778 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12779 "minimum" : 16,
12780 "optional" : 1,
4d47f125 12781 "type" : "integer"
44660702
DM
12782 },
12783 "migrate_downtime" : {
12784 "default" : 0.1,
12785 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12786 "minimum" : 0,
12787 "optional" : 1,
4d47f125 12788 "type" : "number"
44660702
DM
12789 },
12790 "migrate_speed" : {
12791 "default" : 0,
12792 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12793 "minimum" : 0,
12794 "optional" : 1,
4d47f125 12795 "type" : "integer"
44660702
DM
12796 },
12797 "name" : {
12798 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12799 "format" : "dns-name",
12800 "optional" : 1,
4d47f125 12801 "type" : "string"
44660702 12802 },
27a7acb2 12803 "nameserver" : {
4772952b 12804 "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
12805 "format" : "address-list",
12806 "optional" : 1,
4d47f125 12807 "type" : "string"
27a7acb2 12808 },
44660702 12809 "net[n]" : {
c2993fe5 12810 "description" : "Specify network devices.",
f004f5b9
DM
12811 "format" : {
12812 "bridge" : {
c2993fe5 12813 "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
12814 "format_description" : "bridge",
12815 "optional" : 1,
c5aa7e14 12816 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
12817 "type" : "string"
12818 },
12819 "e1000" : {
12820 "alias" : "macaddr",
12821 "keyAlias" : "model"
12822 },
12823 "e1000-82540em" : {
12824 "alias" : "macaddr",
12825 "keyAlias" : "model"
12826 },
12827 "e1000-82544gc" : {
12828 "alias" : "macaddr",
12829 "keyAlias" : "model"
12830 },
12831 "e1000-82545em" : {
12832 "alias" : "macaddr",
12833 "keyAlias" : "model"
12834 },
12835 "firewall" : {
12836 "description" : "Whether this interface should be protected by the firewall.",
12837 "optional" : 1,
12838 "type" : "boolean"
12839 },
12840 "i82551" : {
12841 "alias" : "macaddr",
12842 "keyAlias" : "model"
12843 },
12844 "i82557b" : {
12845 "alias" : "macaddr",
12846 "keyAlias" : "model"
12847 },
12848 "i82559er" : {
12849 "alias" : "macaddr",
12850 "keyAlias" : "model"
12851 },
12852 "link_down" : {
c2993fe5 12853 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
12854 "optional" : 1,
12855 "type" : "boolean"
12856 },
12857 "macaddr" : {
c2993fe5 12858 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 12859 "format" : "mac-addr",
f004f5b9 12860 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 12861 "optional" : 1,
95895385
TL
12862 "type" : "string",
12863 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
12864 },
12865 "model" : {
12866 "default_key" : 1,
c2993fe5 12867 "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
12868 "enum" : [
12869 "rtl8139",
12870 "ne2k_pci",
12871 "e1000",
12872 "pcnet",
12873 "virtio",
12874 "ne2k_isa",
12875 "i82551",
12876 "i82557b",
12877 "i82559er",
12878 "vmxnet3",
12879 "e1000-82540em",
12880 "e1000-82544gc",
12881 "e1000-82545em"
12882 ],
f004f5b9
DM
12883 "type" : "string"
12884 },
ac70d7d1
TL
12885 "mtu" : {
12886 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
12887 "maximum" : 65520,
12888 "minimum" : 1,
12889 "optional" : 1,
12890 "type" : "integer"
12891 },
f004f5b9
DM
12892 "ne2k_isa" : {
12893 "alias" : "macaddr",
12894 "keyAlias" : "model"
12895 },
12896 "ne2k_pci" : {
12897 "alias" : "macaddr",
12898 "keyAlias" : "model"
12899 },
12900 "pcnet" : {
12901 "alias" : "macaddr",
12902 "keyAlias" : "model"
12903 },
12904 "queues" : {
12905 "description" : "Number of packet queues to be used on the device.",
12906 "maximum" : 16,
12907 "minimum" : 0,
12908 "optional" : 1,
12909 "type" : "integer"
12910 },
12911 "rate" : {
c2993fe5 12912 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
12913 "minimum" : 0,
12914 "optional" : 1,
12915 "type" : "number"
12916 },
12917 "rtl8139" : {
12918 "alias" : "macaddr",
12919 "keyAlias" : "model"
12920 },
12921 "tag" : {
12922 "description" : "VLAN tag to apply to packets on this interface.",
12923 "maximum" : 4094,
c2993fe5 12924 "minimum" : 1,
f004f5b9
DM
12925 "optional" : 1,
12926 "type" : "integer"
12927 },
12928 "trunks" : {
12929 "description" : "VLAN trunks to pass through this interface.",
12930 "format_description" : "vlanid[;vlanid...]",
12931 "optional" : 1,
12932 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12933 "type" : "string"
12934 },
12935 "virtio" : {
12936 "alias" : "macaddr",
12937 "keyAlias" : "model"
12938 },
12939 "vmxnet3" : {
12940 "alias" : "macaddr",
12941 "keyAlias" : "model"
12942 }
12943 },
44660702 12944 "optional" : 1,
4d47f125 12945 "type" : "string"
44660702
DM
12946 },
12947 "numa" : {
12948 "default" : 0,
12949 "description" : "Enable/disable NUMA.",
12950 "optional" : 1,
4d47f125 12951 "type" : "boolean"
44660702
DM
12952 },
12953 "numa[n]" : {
c2993fe5 12954 "description" : "NUMA topology.",
56122987 12955 "format" : {
7aacca6f 12956 "cpus" : {
c2993fe5 12957 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12958 "format_description" : "id[-id];...",
12959 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12960 "type" : "string"
7aacca6f
DM
12961 },
12962 "hostnodes" : {
c2993fe5 12963 "description" : "Host NUMA nodes to use.",
44660702 12964 "format_description" : "id[-id];...",
7aacca6f 12965 "optional" : 1,
7aacca6f 12966 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 12967 "type" : "string"
7aacca6f 12968 },
44660702 12969 "memory" : {
c2993fe5 12970 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 12971 "optional" : 1,
44660702
DM
12972 "type" : "number"
12973 },
12974 "policy" : {
c2993fe5 12975 "description" : "NUMA allocation policy.",
7aacca6f
DM
12976 "enum" : [
12977 "preferred",
12978 "bind",
12979 "interleave"
12980 ],
44660702
DM
12981 "optional" : 1,
12982 "type" : "string"
56122987 12983 }
44660702 12984 },
56122987 12985 "optional" : 1,
4d47f125 12986 "type" : "string"
56122987 12987 },
44660702 12988 "onboot" : {
7aacca6f 12989 "default" : 0,
44660702
DM
12990 "description" : "Specifies whether a VM will be started during system bootup.",
12991 "optional" : 1,
4d47f125 12992 "type" : "boolean"
7aacca6f
DM
12993 },
12994 "ostype" : {
c2993fe5 12995 "description" : "Specify guest operating system.",
7aacca6f
DM
12996 "enum" : [
12997 "other",
12998 "wxp",
12999 "w2k",
13000 "w2k3",
13001 "w2k8",
13002 "wvista",
13003 "win7",
13004 "win8",
32d876b5 13005 "win10",
7aacca6f
DM
13006 "l24",
13007 "l26",
13008 "solaris"
13009 ],
7aacca6f 13010 "optional" : 1,
c2993fe5 13011 "type" : "string",
d2656385 13012 "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 13013 },
44660702 13014 "parallel[n]" : {
c2993fe5 13015 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 13016 "optional" : 1,
44660702 13017 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 13018 "type" : "string",
4772952b 13019 "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
13020 },
13021 "protection" : {
13022 "default" : 0,
c2993fe5 13023 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 13024 "optional" : 1,
4d47f125 13025 "type" : "boolean"
7aacca6f 13026 },
44660702
DM
13027 "reboot" : {
13028 "default" : 1,
13029 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 13030 "optional" : 1,
4d47f125 13031 "type" : "boolean"
44660702 13032 },
c5aa7e14
TL
13033 "rng0" : {
13034 "description" : "Configure a VirtIO-based Random Number Generator.",
13035 "format" : {
13036 "max_bytes" : {
13037 "default" : 1024,
13038 "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!).",
13039 "optional" : 1,
13040 "type" : "integer"
13041 },
13042 "period" : {
13043 "default" : 1000,
13044 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
13045 "optional" : 1,
13046 "type" : "integer"
13047 },
13048 "source" : {
13049 "default_key" : 1,
13050 "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.",
13051 "enum" : [
13052 "/dev/urandom",
13053 "/dev/random",
13054 "/dev/hwrng"
13055 ],
13056 "type" : "string"
13057 }
13058 },
13059 "optional" : 1,
13060 "type" : "string"
13061 },
44660702 13062 "sata[n]" : {
d2656385 13063 "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 13064 "format" : {
44660702
DM
13065 "aio" : {
13066 "description" : "AIO type to use.",
7aacca6f 13067 "enum" : [
44660702
DM
13068 "native",
13069 "threads"
7aacca6f 13070 ],
44660702
DM
13071 "optional" : 1,
13072 "type" : "string"
7aacca6f 13073 },
44660702
DM
13074 "backup" : {
13075 "description" : "Whether the drive should be included when making backups.",
56122987 13076 "optional" : 1,
7aacca6f 13077 "type" : "boolean"
44660702
DM
13078 },
13079 "bps" : {
de0983cb 13080 "description" : "Maximum r/w speed in bytes per second.",
44660702 13081 "format_description" : "bps",
7aacca6f 13082 "optional" : 1,
44660702 13083 "type" : "integer"
56122987 13084 },
de0983cb
DM
13085 "bps_max_length" : {
13086 "description" : "Maximum length of I/O bursts in seconds.",
13087 "format_description" : "seconds",
13088 "minimum" : 1,
13089 "optional" : 1,
13090 "type" : "integer"
13091 },
44660702 13092 "bps_rd" : {
de0983cb 13093 "description" : "Maximum read speed in bytes per second.",
44660702 13094 "format_description" : "bps",
56122987 13095 "optional" : 1,
44660702 13096 "type" : "integer"
56122987 13097 },
de0983cb 13098 "bps_rd_length" : {
5d9c884c
DM
13099 "alias" : "bps_rd_max_length"
13100 },
13101 "bps_rd_max_length" : {
de0983cb
DM
13102 "description" : "Maximum length of read I/O bursts in seconds.",
13103 "format_description" : "seconds",
13104 "minimum" : 1,
13105 "optional" : 1,
13106 "type" : "integer"
13107 },
44660702 13108 "bps_wr" : {
de0983cb 13109 "description" : "Maximum write speed in bytes per second.",
44660702 13110 "format_description" : "bps",
56122987 13111 "optional" : 1,
44660702 13112 "type" : "integer"
56122987 13113 },
de0983cb 13114 "bps_wr_length" : {
5d9c884c
DM
13115 "alias" : "bps_wr_max_length"
13116 },
13117 "bps_wr_max_length" : {
de0983cb
DM
13118 "description" : "Maximum length of write I/O bursts in seconds.",
13119 "format_description" : "seconds",
13120 "minimum" : 1,
13121 "optional" : 1,
13122 "type" : "integer"
13123 },
56122987 13124 "cache" : {
44660702 13125 "description" : "The drive's cache mode",
56122987
DM
13126 "enum" : [
13127 "none",
13128 "writethrough",
13129 "writeback",
13130 "unsafe",
13131 "directsync"
13132 ],
56122987 13133 "optional" : 1,
44660702 13134 "type" : "string"
56122987 13135 },
44660702
DM
13136 "cyls" : {
13137 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 13138 "optional" : 1,
44660702 13139 "type" : "integer"
7aacca6f
DM
13140 },
13141 "detect_zeroes" : {
13142 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13143 "optional" : 1,
44660702 13144 "type" : "boolean"
56122987 13145 },
44660702
DM
13146 "discard" : {
13147 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13148 "enum" : [
13149 "ignore",
13150 "on"
13151 ],
56122987 13152 "optional" : 1,
44660702 13153 "type" : "string"
7aacca6f 13154 },
44660702
DM
13155 "file" : {
13156 "default_key" : 1,
13157 "description" : "The drive's backing volume.",
13158 "format" : "pve-volume-id-or-qm-path",
13159 "format_description" : "volume",
13160 "type" : "string"
56122987 13161 },
7aacca6f 13162 "format" : {
44660702 13163 "description" : "The drive's backing file's data format.",
7aacca6f
DM
13164 "enum" : [
13165 "raw",
13166 "cow",
13167 "qcow",
13168 "qed",
13169 "qcow2",
13170 "vmdk",
13171 "cloop"
13172 ],
7aacca6f 13173 "optional" : 1,
44660702 13174 "type" : "string"
56122987 13175 },
7aacca6f 13176 "heads" : {
7aacca6f 13177 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 13178 "optional" : 1,
7aacca6f 13179 "type" : "integer"
56122987 13180 },
44660702 13181 "iops" : {
de0983cb 13182 "description" : "Maximum r/w I/O in operations per second.",
44660702 13183 "format_description" : "iops",
56122987 13184 "optional" : 1,
44660702 13185 "type" : "integer"
56122987 13186 },
44660702 13187 "iops_max" : {
de0983cb 13188 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13189 "format_description" : "iops",
56122987 13190 "optional" : 1,
44660702 13191 "type" : "integer"
56122987 13192 },
de0983cb
DM
13193 "iops_max_length" : {
13194 "description" : "Maximum length of I/O bursts in seconds.",
13195 "format_description" : "seconds",
13196 "minimum" : 1,
13197 "optional" : 1,
13198 "type" : "integer"
13199 },
44660702 13200 "iops_rd" : {
de0983cb 13201 "description" : "Maximum read I/O in operations per second.",
44660702 13202 "format_description" : "iops",
7aacca6f 13203 "optional" : 1,
44660702 13204 "type" : "integer"
56122987 13205 },
de0983cb 13206 "iops_rd_length" : {
5d9c884c 13207 "alias" : "iops_rd_max_length"
de0983cb 13208 },
44660702 13209 "iops_rd_max" : {
de0983cb 13210 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 13211 "format_description" : "iops",
56122987 13212 "optional" : 1,
44660702 13213 "type" : "integer"
7aacca6f 13214 },
5d9c884c
DM
13215 "iops_rd_max_length" : {
13216 "description" : "Maximum length of read I/O bursts in seconds.",
13217 "format_description" : "seconds",
13218 "minimum" : 1,
13219 "optional" : 1,
13220 "type" : "integer"
13221 },
44660702 13222 "iops_wr" : {
de0983cb 13223 "description" : "Maximum write I/O in operations per second.",
44660702 13224 "format_description" : "iops",
56122987 13225 "optional" : 1,
44660702 13226 "type" : "integer"
56122987 13227 },
de0983cb 13228 "iops_wr_length" : {
5d9c884c 13229 "alias" : "iops_wr_max_length"
de0983cb 13230 },
56122987 13231 "iops_wr_max" : {
de0983cb 13232 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13233 "format_description" : "iops",
56122987 13234 "optional" : 1,
44660702 13235 "type" : "integer"
56122987 13236 },
5d9c884c
DM
13237 "iops_wr_max_length" : {
13238 "description" : "Maximum length of write I/O bursts in seconds.",
13239 "format_description" : "seconds",
13240 "minimum" : 1,
13241 "optional" : 1,
13242 "type" : "integer"
13243 },
44660702 13244 "mbps" : {
de0983cb 13245 "description" : "Maximum r/w speed in megabytes per second.",
44660702 13246 "format_description" : "mbps",
56122987 13247 "optional" : 1,
44660702 13248 "type" : "number"
56122987 13249 },
44660702 13250 "mbps_max" : {
de0983cb 13251 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13252 "format_description" : "mbps",
13253 "optional" : 1,
13254 "type" : "number"
56122987 13255 },
44660702 13256 "mbps_rd" : {
de0983cb 13257 "description" : "Maximum read speed in megabytes per second.",
44660702 13258 "format_description" : "mbps",
56122987 13259 "optional" : 1,
44660702 13260 "type" : "number"
56122987 13261 },
44660702 13262 "mbps_rd_max" : {
de0983cb 13263 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13264 "format_description" : "mbps",
56122987 13265 "optional" : 1,
44660702 13266 "type" : "number"
56122987 13267 },
44660702 13268 "mbps_wr" : {
de0983cb 13269 "description" : "Maximum write speed in megabytes per second.",
56122987 13270 "format_description" : "mbps",
44660702
DM
13271 "optional" : 1,
13272 "type" : "number"
56122987 13273 },
44660702 13274 "mbps_wr_max" : {
de0983cb 13275 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13276 "format_description" : "mbps",
13277 "optional" : 1,
13278 "type" : "number"
7aacca6f 13279 },
44660702
DM
13280 "media" : {
13281 "default" : "disk",
13282 "description" : "The drive's media type.",
13283 "enum" : [
13284 "cdrom",
13285 "disk"
13286 ],
56122987 13287 "optional" : 1,
44660702
DM
13288 "type" : "string"
13289 },
5d9c884c
DM
13290 "replicate" : {
13291 "default" : 1,
13292 "description" : "Whether the drive should considered for replication jobs.",
13293 "optional" : 1,
13294 "type" : "boolean"
13295 },
44660702
DM
13296 "rerror" : {
13297 "description" : "Read error action.",
7aacca6f 13298 "enum" : [
44660702
DM
13299 "ignore",
13300 "report",
13301 "stop"
13302 ],
7aacca6f 13303 "optional" : 1,
44660702 13304 "type" : "string"
56122987 13305 },
44660702
DM
13306 "secs" : {
13307 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13308 "optional" : 1,
44660702 13309 "type" : "integer"
56122987 13310 },
44660702
DM
13311 "serial" : {
13312 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13313 "format" : "urlencoded",
13314 "format_description" : "serial",
13315 "maxLength" : 60,
56122987 13316 "optional" : 1,
44660702 13317 "type" : "string"
56122987 13318 },
27a7acb2
DM
13319 "shared" : {
13320 "default" : 0,
13321 "description" : "Mark this locally-managed volume as available on all nodes",
13322 "optional" : 1,
13323 "type" : "boolean",
13324 "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!"
13325 },
44660702
DM
13326 "size" : {
13327 "description" : "Disk size. This is purely informational and has no effect.",
13328 "format" : "disk-size",
f004f5b9 13329 "format_description" : "DiskSize",
44660702
DM
13330 "optional" : 1,
13331 "type" : "string"
13332 },
13333 "snapshot" : {
27a7acb2 13334 "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 13335 "optional" : 1,
44660702
DM
13336 "type" : "boolean"
13337 },
25203dc1
NC
13338 "ssd" : {
13339 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
13340 "optional" : 1,
13341 "type" : "boolean"
13342 },
44660702
DM
13343 "trans" : {
13344 "description" : "Force disk geometry bios translation mode.",
56122987 13345 "enum" : [
7aacca6f
DM
13346 "none",
13347 "lba",
13348 "auto"
56122987 13349 ],
44660702
DM
13350 "optional" : 1,
13351 "type" : "string"
56122987 13352 },
7aacca6f
DM
13353 "volume" : {
13354 "alias" : "file"
56122987 13355 },
44660702
DM
13356 "werror" : {
13357 "description" : "Write error action.",
13358 "enum" : [
13359 "enospc",
13360 "ignore",
13361 "report",
13362 "stop"
13363 ],
7aacca6f 13364 "optional" : 1,
44660702 13365 "type" : "string"
95895385
TL
13366 },
13367 "wwn" : {
13368 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
13369 "format_description" : "wwn",
13370 "optional" : 1,
13371 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
13372 "type" : "string"
44660702
DM
13373 }
13374 },
13375 "optional" : 1,
4d47f125 13376 "type" : "string"
44660702
DM
13377 },
13378 "scsi[n]" : {
d2656385 13379 "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 13380 "format" : {
56122987 13381 "aio" : {
56122987
DM
13382 "description" : "AIO type to use.",
13383 "enum" : [
13384 "native",
13385 "threads"
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
DM
13923 "native",
13924 "threads"
56122987 13925 ],
56122987
DM
13926 "optional" : 1,
13927 "type" : "string"
13928 },
44660702
DM
13929 "backup" : {
13930 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13931 "optional" : 1,
13932 "type" : "boolean"
7aacca6f 13933 },
44660702 13934 "bps" : {
de0983cb 13935 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
13936 "format_description" : "bps",
13937 "optional" : 1,
13938 "type" : "integer"
56122987 13939 },
de0983cb
DM
13940 "bps_max_length" : {
13941 "description" : "Maximum length of I/O bursts in seconds.",
13942 "format_description" : "seconds",
13943 "minimum" : 1,
13944 "optional" : 1,
13945 "type" : "integer"
13946 },
44660702 13947 "bps_rd" : {
de0983cb 13948 "description" : "Maximum read speed in bytes per second.",
44660702 13949 "format_description" : "bps",
56122987 13950 "optional" : 1,
44660702 13951 "type" : "integer"
56122987 13952 },
de0983cb 13953 "bps_rd_length" : {
5d9c884c
DM
13954 "alias" : "bps_rd_max_length"
13955 },
13956 "bps_rd_max_length" : {
de0983cb
DM
13957 "description" : "Maximum length of read I/O bursts in seconds.",
13958 "format_description" : "seconds",
13959 "minimum" : 1,
13960 "optional" : 1,
13961 "type" : "integer"
13962 },
44660702 13963 "bps_wr" : {
de0983cb 13964 "description" : "Maximum write speed in bytes per second.",
44660702 13965 "format_description" : "bps",
56122987 13966 "optional" : 1,
44660702
DM
13967 "type" : "integer"
13968 },
de0983cb 13969 "bps_wr_length" : {
5d9c884c
DM
13970 "alias" : "bps_wr_max_length"
13971 },
13972 "bps_wr_max_length" : {
de0983cb
DM
13973 "description" : "Maximum length of write I/O bursts in seconds.",
13974 "format_description" : "seconds",
13975 "minimum" : 1,
13976 "optional" : 1,
13977 "type" : "integer"
13978 },
44660702
DM
13979 "cache" : {
13980 "description" : "The drive's cache mode",
56122987 13981 "enum" : [
44660702
DM
13982 "none",
13983 "writethrough",
13984 "writeback",
13985 "unsafe",
13986 "directsync"
56122987 13987 ],
56122987 13988 "optional" : 1,
44660702 13989 "type" : "string"
56122987 13990 },
44660702
DM
13991 "cyls" : {
13992 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 13993 "optional" : 1,
44660702 13994 "type" : "integer"
7aacca6f 13995 },
44660702
DM
13996 "detect_zeroes" : {
13997 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13998 "optional" : 1,
13999 "type" : "boolean"
7aacca6f 14000 },
44660702
DM
14001 "discard" : {
14002 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
14003 "enum" : [
14004 "ignore",
14005 "on"
14006 ],
56122987 14007 "optional" : 1,
44660702 14008 "type" : "string"
56122987
DM
14009 },
14010 "file" : {
7aacca6f 14011 "default_key" : 1,
44660702 14012 "description" : "The drive's backing volume.",
7aacca6f 14013 "format" : "pve-volume-id-or-qm-path",
44660702
DM
14014 "format_description" : "volume",
14015 "type" : "string"
7aacca6f
DM
14016 },
14017 "format" : {
7aacca6f
DM
14018 "description" : "The drive's backing file's data format.",
14019 "enum" : [
14020 "raw",
14021 "cow",
14022 "qcow",
14023 "qed",
14024 "qcow2",
14025 "vmdk",
14026 "cloop"
56122987
DM
14027 ],
14028 "optional" : 1,
56122987
DM
14029 "type" : "string"
14030 },
44660702
DM
14031 "heads" : {
14032 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14033 "optional" : 1,
44660702 14034 "type" : "integer"
56122987 14035 },
44660702 14036 "iops" : {
de0983cb 14037 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 14038 "format_description" : "iops",
56122987 14039 "optional" : 1,
44660702 14040 "type" : "integer"
56122987 14041 },
44660702 14042 "iops_max" : {
de0983cb 14043 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14044 "format_description" : "iops",
56122987 14045 "optional" : 1,
56122987
DM
14046 "type" : "integer"
14047 },
de0983cb
DM
14048 "iops_max_length" : {
14049 "description" : "Maximum length of I/O bursts in seconds.",
14050 "format_description" : "seconds",
14051 "minimum" : 1,
14052 "optional" : 1,
14053 "type" : "integer"
14054 },
44660702 14055 "iops_rd" : {
de0983cb 14056 "description" : "Maximum read I/O in operations per second.",
44660702 14057 "format_description" : "iops",
56122987 14058 "optional" : 1,
44660702 14059 "type" : "integer"
56122987 14060 },
de0983cb 14061 "iops_rd_length" : {
5d9c884c 14062 "alias" : "iops_rd_max_length"
de0983cb 14063 },
44660702 14064 "iops_rd_max" : {
de0983cb 14065 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14066 "format_description" : "iops",
7aacca6f 14067 "optional" : 1,
44660702 14068 "type" : "integer"
56122987 14069 },
5d9c884c
DM
14070 "iops_rd_max_length" : {
14071 "description" : "Maximum length of read I/O bursts in seconds.",
14072 "format_description" : "seconds",
14073 "minimum" : 1,
14074 "optional" : 1,
14075 "type" : "integer"
14076 },
44660702 14077 "iops_wr" : {
de0983cb 14078 "description" : "Maximum write I/O in operations per second.",
44660702 14079 "format_description" : "iops",
7aacca6f 14080 "optional" : 1,
44660702 14081 "type" : "integer"
56122987 14082 },
de0983cb 14083 "iops_wr_length" : {
5d9c884c 14084 "alias" : "iops_wr_max_length"
de0983cb 14085 },
44660702 14086 "iops_wr_max" : {
de0983cb 14087 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14088 "format_description" : "iops",
56122987
DM
14089 "optional" : 1,
14090 "type" : "integer"
14091 },
5d9c884c
DM
14092 "iops_wr_max_length" : {
14093 "description" : "Maximum length of write I/O bursts in seconds.",
14094 "format_description" : "seconds",
14095 "minimum" : 1,
14096 "optional" : 1,
14097 "type" : "integer"
14098 },
44660702
DM
14099 "iothread" : {
14100 "description" : "Whether to use iothreads for this drive",
44660702
DM
14101 "optional" : 1,
14102 "type" : "boolean"
14103 },
14104 "mbps" : {
de0983cb 14105 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 14106 "format_description" : "mbps",
44660702
DM
14107 "optional" : 1,
14108 "type" : "number"
14109 },
14110 "mbps_max" : {
de0983cb 14111 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
14112 "format_description" : "mbps",
14113 "optional" : 1,
14114 "type" : "number"
7aacca6f 14115 },
44660702 14116 "mbps_rd" : {
de0983cb 14117 "description" : "Maximum read speed in megabytes per second.",
44660702 14118 "format_description" : "mbps",
56122987 14119 "optional" : 1,
44660702 14120 "type" : "number"
56122987 14121 },
44660702 14122 "mbps_rd_max" : {
de0983cb 14123 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 14124 "format_description" : "mbps",
7aacca6f 14125 "optional" : 1,
44660702 14126 "type" : "number"
56122987 14127 },
44660702 14128 "mbps_wr" : {
de0983cb 14129 "description" : "Maximum write speed in megabytes per second.",
44660702 14130 "format_description" : "mbps",
56122987 14131 "optional" : 1,
44660702 14132 "type" : "number"
56122987 14133 },
44660702 14134 "mbps_wr_max" : {
de0983cb 14135 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 14136 "format_description" : "mbps",
56122987 14137 "optional" : 1,
44660702 14138 "type" : "number"
56122987
DM
14139 },
14140 "media" : {
7aacca6f 14141 "default" : "disk",
44660702 14142 "description" : "The drive's media type.",
56122987
DM
14143 "enum" : [
14144 "cdrom",
14145 "disk"
14146 ],
44660702
DM
14147 "optional" : 1,
14148 "type" : "string"
56122987 14149 },
5d9c884c
DM
14150 "replicate" : {
14151 "default" : 1,
14152 "description" : "Whether the drive should considered for replication jobs.",
14153 "optional" : 1,
14154 "type" : "boolean"
14155 },
7aacca6f 14156 "rerror" : {
44660702 14157 "description" : "Read error action.",
56122987 14158 "enum" : [
7aacca6f
DM
14159 "ignore",
14160 "report",
14161 "stop"
56122987 14162 ],
56122987 14163 "optional" : 1,
44660702 14164 "type" : "string"
56122987 14165 },
44660702
DM
14166 "secs" : {
14167 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
14168 "optional" : 1,
14169 "type" : "integer"
14170 },
14171 "serial" : {
14172 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14173 "format" : "urlencoded",
14174 "format_description" : "serial",
14175 "maxLength" : 60,
56122987 14176 "optional" : 1,
7aacca6f 14177 "type" : "string"
56122987 14178 },
27a7acb2
DM
14179 "shared" : {
14180 "default" : 0,
14181 "description" : "Mark this locally-managed volume as available on all nodes",
14182 "optional" : 1,
14183 "type" : "boolean",
14184 "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!"
14185 },
44660702
DM
14186 "size" : {
14187 "description" : "Disk size. This is purely informational and has no effect.",
14188 "format" : "disk-size",
f004f5b9 14189 "format_description" : "DiskSize",
56122987 14190 "optional" : 1,
44660702 14191 "type" : "string"
56122987 14192 },
44660702 14193 "snapshot" : {
27a7acb2 14194 "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 14195 "optional" : 1,
44660702 14196 "type" : "boolean"
56122987 14197 },
44660702
DM
14198 "trans" : {
14199 "description" : "Force disk geometry bios translation mode.",
14200 "enum" : [
14201 "none",
14202 "lba",
14203 "auto"
14204 ],
44660702
DM
14205 "optional" : 1,
14206 "type" : "string"
14207 },
14208 "volume" : {
14209 "alias" : "file"
14210 },
14211 "werror" : {
14212 "description" : "Write error action.",
14213 "enum" : [
14214 "enospc",
14215 "ignore",
14216 "report",
14217 "stop"
14218 ],
56122987 14219 "optional" : 1,
44660702 14220 "type" : "string"
56122987 14221 }
44660702 14222 },
56122987 14223 "optional" : 1,
4d47f125 14224 "type" : "string"
56122987 14225 },
4d47f125
TL
14226 "vmgenid" : {
14227 "default" : "1 (autogenerated)",
14228 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
14229 "format_description" : "UUID",
14230 "optional" : 1,
14231 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
14232 "type" : "string",
4772952b 14233 "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 14234 },
2489d6df
WB
14235 "vmstatestorage" : {
14236 "description" : "Default storage for VM state volumes/files.",
14237 "format" : "pve-storage-id",
14238 "optional" : 1,
4d47f125 14239 "type" : "string"
2489d6df 14240 },
44660702 14241 "watchdog" : {
c2993fe5 14242 "description" : "Create a virtual hardware watchdog device.",
44660702 14243 "format" : "pve-qm-watchdog",
56122987 14244 "optional" : 1,
c2993fe5
DM
14245 "type" : "string",
14246 "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 14247 }
4d47f125
TL
14248 },
14249 "type" : "object"
44660702 14250 }
56122987 14251 },
4d47f125 14252 "POST" : {
e9cd3bd4 14253 "allowtoken" : 1,
4d47f125
TL
14254 "description" : "Set virtual machine options (asynchrounous API).",
14255 "method" : "POST",
14256 "name" : "update_vm_async",
56122987 14257 "parameters" : {
7aacca6f 14258 "additionalProperties" : 0,
56122987 14259 "properties" : {
44660702
DM
14260 "acpi" : {
14261 "default" : 1,
14262 "description" : "Enable/disable ACPI.",
7aacca6f 14263 "optional" : 1,
013dc89f
DM
14264 "type" : "boolean",
14265 "typetext" : "<boolean>"
7aacca6f 14266 },
44660702 14267 "agent" : {
4d47f125
TL
14268 "description" : "Enable/disable Qemu GuestAgent and its properties.",
14269 "format" : {
14270 "enabled" : {
14271 "default" : 0,
14272 "default_key" : 1,
14273 "description" : "Enable/disable Qemu GuestAgent.",
14274 "type" : "boolean"
14275 },
14276 "fstrim_cloned_disks" : {
14277 "default" : 0,
d2656385 14278 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
14279 "optional" : 1,
14280 "type" : "boolean"
5c1699e5
TL
14281 },
14282 "type" : {
14283 "default" : "virtio",
14284 "description" : "Select the agent type",
14285 "enum" : [
14286 "virtio",
14287 "isa"
14288 ],
14289 "optional" : 1,
14290 "type" : "string"
4d47f125
TL
14291 }
14292 },
7aacca6f 14293 "optional" : 1,
4d47f125 14294 "type" : "string",
5c1699e5 14295 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 14296 },
e2d681b3
TL
14297 "arch" : {
14298 "description" : "Virtual processor architecture. Defaults to the host.",
14299 "enum" : [
14300 "x86_64",
14301 "aarch64"
14302 ],
14303 "optional" : 1,
14304 "type" : "string"
14305 },
44660702 14306 "args" : {
c2993fe5 14307 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 14308 "optional" : 1,
c2993fe5 14309 "type" : "string",
013dc89f 14310 "typetext" : "<string>",
c2993fe5 14311 "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 14312 },
1c532546
TL
14313 "audio0" : {
14314 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
14315 "format" : {
14316 "device" : {
14317 "description" : "Configure an audio device.",
14318 "enum" : [
14319 "ich9-intel-hda",
14320 "intel-hda",
14321 "AC97"
14322 ],
14323 "type" : "string"
14324 },
14325 "driver" : {
14326 "default" : "spice",
14327 "description" : "Driver backend for the audio device.",
14328 "enum" : [
d2656385
TL
14329 "spice",
14330 "none"
1c532546
TL
14331 ],
14332 "optional" : 1,
14333 "type" : "string"
14334 }
14335 },
14336 "optional" : 1,
14337 "type" : "string",
d2656385 14338 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 14339 },
44660702
DM
14340 "autostart" : {
14341 "default" : 0,
14342 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 14343 "optional" : 1,
013dc89f
DM
14344 "type" : "boolean",
14345 "typetext" : "<boolean>"
7aacca6f 14346 },
4d47f125
TL
14347 "background_delay" : {
14348 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
14349 "maximum" : 30,
14350 "minimum" : 1,
14351 "optional" : 1,
14352 "type" : "integer",
14353 "typetext" : "<integer> (1 - 30)"
14354 },
44660702
DM
14355 "balloon" : {
14356 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
14357 "minimum" : 0,
14358 "optional" : 1,
4bd7df8b 14359 "type" : "integer",
013dc89f 14360 "typetext" : "<integer> (0 - N)"
44660702
DM
14361 },
14362 "bios" : {
14363 "default" : "seabios",
14364 "description" : "Select BIOS implementation.",
7aacca6f 14365 "enum" : [
44660702
DM
14366 "seabios",
14367 "ovmf"
7aacca6f 14368 ],
56122987 14369 "optional" : 1,
7aacca6f
DM
14370 "type" : "string"
14371 },
44660702 14372 "boot" : {
4772952b
TL
14373 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
14374 "format" : "pve-qm-boot",
7aacca6f 14375 "optional" : 1,
4772952b
TL
14376 "type" : "string",
14377 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 14378 },
44660702 14379 "bootdisk" : {
4772952b 14380 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
14381 "format" : "pve-qm-bootdisk",
14382 "optional" : 1,
14383 "pattern" : "(ide|sata|scsi|virtio)\\d+",
14384 "type" : "string"
14385 },
14386 "cdrom" : {
14387 "description" : "This is an alias for option -ide2",
de0983cb 14388 "format" : "pve-qm-ide",
56122987 14389 "optional" : 1,
7aacca6f 14390 "type" : "string",
013dc89f 14391 "typetext" : "<volume>"
44660702 14392 },
95895385
TL
14393 "cicustom" : {
14394 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
14395 "format" : "pve-qm-cicustom",
14396 "optional" : 1,
14397 "type" : "string",
14398 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
14399 },
27a7acb2
DM
14400 "cipassword" : {
14401 "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.",
14402 "optional" : 1,
14403 "type" : "string",
14404 "typetext" : "<string>"
14405 },
14406 "citype" : {
14407 "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.",
14408 "enum" : [
14409 "configdrive2",
d2656385
TL
14410 "nocloud",
14411 "opennebula"
27a7acb2
DM
14412 ],
14413 "optional" : 1,
14414 "type" : "string"
14415 },
14416 "ciuser" : {
14417 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
14418 "optional" : 1,
14419 "type" : "string",
14420 "typetext" : "<string>"
14421 },
44660702
DM
14422 "cores" : {
14423 "default" : 1,
14424 "description" : "The number of cores per socket.",
14425 "minimum" : 1,
14426 "optional" : 1,
4bd7df8b 14427 "type" : "integer",
013dc89f 14428 "typetext" : "<integer> (1 - N)"
44660702
DM
14429 },
14430 "cpu" : {
14431 "description" : "Emulated CPU type.",
c5aa7e14 14432 "format" : "pve-vm-cpu-conf",
44660702 14433 "optional" : 1,
4bd7df8b 14434 "type" : "string",
04d22a9f 14435 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702
DM
14436 },
14437 "cpulimit" : {
14438 "default" : 0,
c2993fe5 14439 "description" : "Limit of CPU usage.",
44660702
DM
14440 "maximum" : 128,
14441 "minimum" : 0,
14442 "optional" : 1,
c2993fe5 14443 "type" : "number",
013dc89f 14444 "typetext" : "<number> (0 - 128)",
c2993fe5 14445 "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
14446 },
14447 "cpuunits" : {
de0983cb 14448 "default" : 1024,
c2993fe5 14449 "description" : "CPU weight for a VM.",
2489d6df
WB
14450 "maximum" : 262144,
14451 "minimum" : 2,
44660702 14452 "optional" : 1,
c2993fe5 14453 "type" : "integer",
2489d6df
WB
14454 "typetext" : "<integer> (2 - 262144)",
14455 "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
14456 },
14457 "delete" : {
14458 "description" : "A list of settings you want to delete.",
14459 "format" : "pve-configid-list",
14460 "optional" : 1,
013dc89f
DM
14461 "type" : "string",
14462 "typetext" : "<string>"
44660702
DM
14463 },
14464 "description" : {
14465 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
14466 "optional" : 1,
013dc89f
DM
14467 "type" : "string",
14468 "typetext" : "<string>"
44660702
DM
14469 },
14470 "digest" : {
14471 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14472 "maxLength" : 40,
14473 "optional" : 1,
013dc89f
DM
14474 "type" : "string",
14475 "typetext" : "<string>"
44660702 14476 },
4d47f125 14477 "efidisk0" : {
d2656385 14478 "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
14479 "format" : {
14480 "file" : {
14481 "default_key" : 1,
14482 "description" : "The drive's backing volume.",
14483 "format" : "pve-volume-id-or-qm-path",
14484 "format_description" : "volume",
14485 "type" : "string"
14486 },
14487 "format" : {
14488 "description" : "The drive's backing file's data format.",
14489 "enum" : [
14490 "raw",
14491 "cow",
14492 "qcow",
14493 "qed",
14494 "qcow2",
14495 "vmdk",
14496 "cloop"
14497 ],
14498 "optional" : 1,
14499 "type" : "string"
14500 },
14501 "size" : {
14502 "description" : "Disk size. This is purely informational and has no effect.",
14503 "format" : "disk-size",
14504 "format_description" : "DiskSize",
14505 "optional" : 1,
14506 "type" : "string"
14507 },
14508 "volume" : {
14509 "alias" : "file"
14510 }
14511 },
14512 "optional" : 1,
14513 "type" : "string",
14514 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
14515 },
44660702
DM
14516 "force" : {
14517 "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.",
14518 "optional" : 1,
14519 "requires" : "delete",
013dc89f
DM
14520 "type" : "boolean",
14521 "typetext" : "<boolean>"
44660702
DM
14522 },
14523 "freeze" : {
14524 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
14525 "optional" : 1,
013dc89f
DM
14526 "type" : "boolean",
14527 "typetext" : "<boolean>"
44660702 14528 },
5f26e15b
TL
14529 "hookscript" : {
14530 "description" : "Script that will be executed during various steps in the vms lifetime.",
14531 "format" : "pve-volume-id",
14532 "optional" : 1,
14533 "type" : "string",
14534 "typetext" : "<string>"
14535 },
44660702 14536 "hostpci[n]" : {
c2993fe5 14537 "description" : "Map host PCI devices into guest.",
44660702
DM
14538 "format" : "pve-qm-hostpci",
14539 "optional" : 1,
57b78691 14540 "type" : "string",
ac70d7d1 14541 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 14542 "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 14543 },
7aacca6f 14544 "hotplug" : {
7aacca6f 14545 "default" : "network,disk,usb",
44660702
DM
14546 "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'.",
14547 "format" : "pve-hotplug-features",
56122987 14548 "optional" : 1,
013dc89f
DM
14549 "type" : "string",
14550 "typetext" : "<string>"
56122987 14551 },
4bd7df8b
DM
14552 "hugepages" : {
14553 "description" : "Enable/disable hugepages memory.",
14554 "enum" : [
14555 "any",
14556 "2",
14557 "1024"
14558 ],
14559 "optional" : 1,
14560 "type" : "string"
14561 },
56122987 14562 "ide[n]" : {
d2656385 14563 "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 14564 "format" : {
44660702
DM
14565 "aio" : {
14566 "description" : "AIO type to use.",
14567 "enum" : [
14568 "native",
14569 "threads"
14570 ],
56122987 14571 "optional" : 1,
44660702 14572 "type" : "string"
56122987 14573 },
44660702
DM
14574 "backup" : {
14575 "description" : "Whether the drive should be included when making backups.",
44660702
DM
14576 "optional" : 1,
14577 "type" : "boolean"
14578 },
14579 "bps" : {
de0983cb 14580 "description" : "Maximum r/w speed in bytes per second.",
44660702 14581 "format_description" : "bps",
56122987 14582 "optional" : 1,
44660702 14583 "type" : "integer"
56122987 14584 },
de0983cb
DM
14585 "bps_max_length" : {
14586 "description" : "Maximum length of I/O bursts in seconds.",
14587 "format_description" : "seconds",
14588 "minimum" : 1,
14589 "optional" : 1,
14590 "type" : "integer"
14591 },
44660702 14592 "bps_rd" : {
de0983cb 14593 "description" : "Maximum read speed in bytes per second.",
44660702 14594 "format_description" : "bps",
56122987 14595 "optional" : 1,
44660702 14596 "type" : "integer"
56122987 14597 },
de0983cb 14598 "bps_rd_length" : {
5d9c884c
DM
14599 "alias" : "bps_rd_max_length"
14600 },
14601 "bps_rd_max_length" : {
de0983cb
DM
14602 "description" : "Maximum length of read I/O bursts in seconds.",
14603 "format_description" : "seconds",
14604 "minimum" : 1,
14605 "optional" : 1,
14606 "type" : "integer"
14607 },
7aacca6f 14608 "bps_wr" : {
de0983cb 14609 "description" : "Maximum write speed in bytes per second.",
44660702
DM
14610 "format_description" : "bps",
14611 "optional" : 1,
14612 "type" : "integer"
7aacca6f 14613 },
de0983cb 14614 "bps_wr_length" : {
5d9c884c
DM
14615 "alias" : "bps_wr_max_length"
14616 },
14617 "bps_wr_max_length" : {
de0983cb
DM
14618 "description" : "Maximum length of write I/O bursts in seconds.",
14619 "format_description" : "seconds",
14620 "minimum" : 1,
14621 "optional" : 1,
14622 "type" : "integer"
14623 },
44660702
DM
14624 "cache" : {
14625 "description" : "The drive's cache mode",
14626 "enum" : [
14627 "none",
14628 "writethrough",
14629 "writeback",
14630 "unsafe",
14631 "directsync"
14632 ],
56122987 14633 "optional" : 1,
44660702
DM
14634 "type" : "string"
14635 },
14636 "cyls" : {
14637 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
14638 "optional" : 1,
14639 "type" : "integer"
14640 },
14641 "detect_zeroes" : {
14642 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
14643 "optional" : 1,
14644 "type" : "boolean"
56122987 14645 },
7aacca6f 14646 "discard" : {
7aacca6f 14647 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 14648 "enum" : [
7aacca6f
DM
14649 "ignore",
14650 "on"
56122987
DM
14651 ],
14652 "optional" : 1,
44660702 14653 "type" : "string"
7aacca6f 14654 },
44660702
DM
14655 "file" : {
14656 "default_key" : 1,
14657 "description" : "The drive's backing volume.",
14658 "format" : "pve-volume-id-or-qm-path",
14659 "format_description" : "volume",
14660 "type" : "string"
7aacca6f
DM
14661 },
14662 "format" : {
44660702 14663 "description" : "The drive's backing file's data format.",
7aacca6f
DM
14664 "enum" : [
14665 "raw",
14666 "cow",
14667 "qcow",
14668 "qed",
14669 "qcow2",
14670 "vmdk",
14671 "cloop"
14672 ],
7aacca6f 14673 "optional" : 1,
44660702 14674 "type" : "string"
56122987 14675 },
7aacca6f 14676 "heads" : {
44660702 14677 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 14678 "optional" : 1,
44660702 14679 "type" : "integer"
7aacca6f 14680 },
44660702 14681 "iops" : {
de0983cb 14682 "description" : "Maximum r/w I/O in operations per second.",
44660702 14683 "format_description" : "iops",
7aacca6f 14684 "optional" : 1,
44660702 14685 "type" : "integer"
56122987 14686 },
44660702 14687 "iops_max" : {
de0983cb 14688 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 14689 "format_description" : "iops",
56122987 14690 "optional" : 1,
44660702 14691 "type" : "integer"
56122987 14692 },
de0983cb
DM
14693 "iops_max_length" : {
14694 "description" : "Maximum length of I/O bursts in seconds.",
14695 "format_description" : "seconds",
14696 "minimum" : 1,
14697 "optional" : 1,
14698 "type" : "integer"
14699 },
44660702 14700 "iops_rd" : {
de0983cb 14701 "description" : "Maximum read I/O in operations per second.",
44660702 14702 "format_description" : "iops",
56122987 14703 "optional" : 1,
44660702 14704 "type" : "integer"
7aacca6f 14705 },
de0983cb 14706 "iops_rd_length" : {
5d9c884c 14707 "alias" : "iops_rd_max_length"
de0983cb 14708 },
44660702 14709 "iops_rd_max" : {
de0983cb 14710 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 14711 "format_description" : "iops",
7aacca6f 14712 "optional" : 1,
44660702 14713 "type" : "integer"
7aacca6f 14714 },
5d9c884c
DM
14715 "iops_rd_max_length" : {
14716 "description" : "Maximum length of read I/O bursts in seconds.",
14717 "format_description" : "seconds",
14718 "minimum" : 1,
14719 "optional" : 1,
14720 "type" : "integer"
14721 },
44660702 14722 "iops_wr" : {
de0983cb 14723 "description" : "Maximum write I/O in operations per second.",
44660702 14724 "format_description" : "iops",
7aacca6f 14725 "optional" : 1,
44660702 14726 "type" : "integer"
56122987 14727 },
de0983cb 14728 "iops_wr_length" : {
5d9c884c 14729 "alias" : "iops_wr_max_length"
de0983cb 14730 },
44660702 14731 "iops_wr_max" : {
de0983cb 14732 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 14733 "format_description" : "iops",
7aacca6f 14734 "optional" : 1,
44660702 14735 "type" : "integer"
7aacca6f 14736 },
5d9c884c
DM
14737 "iops_wr_max_length" : {
14738 "description" : "Maximum length of write I/O bursts in seconds.",
14739 "format_description" : "seconds",
14740 "minimum" : 1,
14741 "optional" : 1,
14742 "type" : "integer"
14743 },
7aacca6f 14744 "mbps" : {
de0983cb 14745 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 14746 "format_description" : "mbps",
7aacca6f 14747 "optional" : 1,
44660702 14748 "type" : "number"
7aacca6f 14749 },
44660702 14750 "mbps_max" : {
de0983cb 14751 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 14752 "format_description" : "mbps",
7aacca6f 14753 "optional" : 1,
44660702 14754 "type" : "number"
7aacca6f 14755 },
44660702 14756 "mbps_rd" : {
de0983cb 14757 "description" : "Maximum read speed in megabytes per second.",
44660702 14758 "format_description" : "mbps",
7aacca6f 14759 "optional" : 1,
44660702 14760 "type" : "number"
7aacca6f 14761 },
44660702 14762 "mbps_rd_max" : {
de0983cb 14763 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
14764 "format_description" : "mbps",
14765 "optional" : 1,
14766 "type" : "number"
7aacca6f 14767 },
44660702 14768 "mbps_wr" : {
de0983cb 14769 "description" : "Maximum write speed in megabytes per second.",
44660702 14770 "format_description" : "mbps",
7aacca6f 14771 "optional" : 1,
44660702
DM
14772 "type" : "number"
14773 },
14774 "mbps_wr_max" : {
de0983cb 14775 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
14776 "format_description" : "mbps",
14777 "optional" : 1,
14778 "type" : "number"
14779 },
14780 "media" : {
14781 "default" : "disk",
14782 "description" : "The drive's media type.",
56122987 14783 "enum" : [
44660702
DM
14784 "cdrom",
14785 "disk"
56122987 14786 ],
44660702
DM
14787 "optional" : 1,
14788 "type" : "string"
56122987 14789 },
7aacca6f 14790 "model" : {
44660702 14791 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 14792 "format" : "urlencoded",
7aacca6f 14793 "format_description" : "model",
44660702 14794 "maxLength" : 120,
56122987 14795 "optional" : 1,
44660702 14796 "type" : "string"
56122987 14797 },
5d9c884c
DM
14798 "replicate" : {
14799 "default" : 1,
14800 "description" : "Whether the drive should considered for replication jobs.",
14801 "optional" : 1,
14802 "type" : "boolean"
14803 },
44660702
DM
14804 "rerror" : {
14805 "description" : "Read error action.",
14806 "enum" : [
14807 "ignore",
14808 "report",
14809 "stop"
14810 ],
56122987 14811 "optional" : 1,
44660702 14812 "type" : "string"
56122987 14813 },
44660702
DM
14814 "secs" : {
14815 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
14816 "optional" : 1,
14817 "type" : "integer"
56122987 14818 },
44660702
DM
14819 "serial" : {
14820 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
14821 "format" : "urlencoded",
14822 "format_description" : "serial",
14823 "maxLength" : 60,
56122987 14824 "optional" : 1,
44660702 14825 "type" : "string"
56122987 14826 },
27a7acb2
DM
14827 "shared" : {
14828 "default" : 0,
14829 "description" : "Mark this locally-managed volume as available on all nodes",
14830 "optional" : 1,
14831 "type" : "boolean",
14832 "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!"
14833 },
44660702
DM
14834 "size" : {
14835 "description" : "Disk size. This is purely informational and has no effect.",
14836 "format" : "disk-size",
f004f5b9 14837 "format_description" : "DiskSize",
56122987 14838 "optional" : 1,
44660702 14839 "type" : "string"
56122987 14840 },
44660702 14841 "snapshot" : {
27a7acb2 14842 "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 14843 "optional" : 1,
44660702 14844 "type" : "boolean"
56122987 14845 },
25203dc1
NC
14846 "ssd" : {
14847 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
14848 "optional" : 1,
14849 "type" : "boolean"
14850 },
44660702
DM
14851 "trans" : {
14852 "description" : "Force disk geometry bios translation mode.",
14853 "enum" : [
14854 "none",
14855 "lba",
14856 "auto"
14857 ],
56122987 14858 "optional" : 1,
44660702
DM
14859 "type" : "string"
14860 },
14861 "volume" : {
14862 "alias" : "file"
56122987 14863 },
7aacca6f 14864 "werror" : {
44660702 14865 "description" : "Write error action.",
7aacca6f
DM
14866 "enum" : [
14867 "enospc",
14868 "ignore",
14869 "report",
14870 "stop"
14871 ],
56122987 14872 "optional" : 1,
44660702 14873 "type" : "string"
95895385
TL
14874 },
14875 "wwn" : {
14876 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
14877 "format_description" : "wwn",
14878 "optional" : 1,
14879 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
14880 "type" : "string"
7aacca6f 14881 }
44660702
DM
14882 },
14883 "optional" : 1,
4bd7df8b 14884 "type" : "string",
95895385 14885 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
14886 },
14887 "ipconfig[n]" : {
d2656385 14888 "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
14889 "format" : "pve-qm-ipconfig",
14890 "optional" : 1,
14891 "type" : "string",
14892 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
7aacca6f 14893 },
95895385
TL
14894 "ivshmem" : {
14895 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
14896 "format" : {
14897 "name" : {
14898 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
14899 "format_description" : "string",
14900 "optional" : 1,
14901 "pattern" : "[a-zA-Z0-9\\-]+",
14902 "type" : "string"
14903 },
14904 "size" : {
14905 "description" : "The size of the file in MB.",
14906 "minimum" : 1,
14907 "type" : "integer"
14908 }
14909 },
14910 "optional" : 1,
14911 "type" : "string",
14912 "typetext" : "size=<integer> [,name=<string>]"
14913 },
4772952b
TL
14914 "keephugepages" : {
14915 "default" : 0,
14916 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
14917 "optional" : 1,
14918 "type" : "boolean",
14919 "typetext" : "<boolean>"
14920 },
44660702 14921 "keyboard" : {
35a75dd3 14922 "default" : null,
5da3d723 14923 "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
14924 "enum" : [
14925 "de",
14926 "de-ch",
14927 "da",
14928 "en-gb",
14929 "en-us",
14930 "es",
14931 "fi",
14932 "fr",
14933 "fr-be",
14934 "fr-ca",
14935 "fr-ch",
14936 "hu",
14937 "is",
14938 "it",
14939 "ja",
14940 "lt",
14941 "mk",
14942 "nl",
14943 "no",
14944 "pl",
14945 "pt",
14946 "pt-br",
14947 "sv",
14948 "sl",
14949 "tr"
14950 ],
7aacca6f 14951 "optional" : 1,
44660702 14952 "type" : "string"
7aacca6f 14953 },
44660702 14954 "kvm" : {
7aacca6f 14955 "default" : 1,
44660702 14956 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 14957 "optional" : 1,
013dc89f
DM
14958 "type" : "boolean",
14959 "typetext" : "<boolean>"
7aacca6f 14960 },
44660702
DM
14961 "localtime" : {
14962 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 14963 "optional" : 1,
013dc89f
DM
14964 "type" : "boolean",
14965 "typetext" : "<boolean>"
7aacca6f 14966 },
44660702
DM
14967 "lock" : {
14968 "description" : "Lock/unlock the VM.",
14969 "enum" : [
44660702 14970 "backup",
5f26e15b
TL
14971 "clone",
14972 "create",
14973 "migrate",
14974 "rollback",
44660702 14975 "snapshot",
95895385
TL
14976 "snapshot-delete",
14977 "suspending",
14978 "suspended"
44660702 14979 ],
7aacca6f 14980 "optional" : 1,
44660702 14981 "type" : "string"
7aacca6f 14982 },
44660702 14983 "machine" : {
4d47f125 14984 "description" : "Specifies the Qemu machine type.",
44660702 14985 "maxLength" : 40,
7aacca6f 14986 "optional" : 1,
5c1699e5 14987 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702 14988 "type" : "string"
7aacca6f 14989 },
44660702
DM
14990 "memory" : {
14991 "default" : 512,
14992 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
14993 "minimum" : 16,
7aacca6f 14994 "optional" : 1,
4bd7df8b 14995 "type" : "integer",
013dc89f 14996 "typetext" : "<integer> (16 - N)"
7aacca6f 14997 },
44660702
DM
14998 "migrate_downtime" : {
14999 "default" : 0.1,
15000 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
15001 "minimum" : 0,
7aacca6f 15002 "optional" : 1,
4bd7df8b 15003 "type" : "number",
013dc89f 15004 "typetext" : "<number> (0 - N)"
7aacca6f 15005 },
44660702 15006 "migrate_speed" : {
7aacca6f 15007 "default" : 0,
44660702
DM
15008 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
15009 "minimum" : 0,
15010 "optional" : 1,
4bd7df8b 15011 "type" : "integer",
013dc89f 15012 "typetext" : "<integer> (0 - N)"
7aacca6f 15013 },
44660702
DM
15014 "name" : {
15015 "description" : "Set a name for the VM. Only used on the configuration web interface.",
15016 "format" : "dns-name",
7aacca6f 15017 "optional" : 1,
013dc89f
DM
15018 "type" : "string",
15019 "typetext" : "<string>"
7aacca6f 15020 },
27a7acb2 15021 "nameserver" : {
4772952b 15022 "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
15023 "format" : "address-list",
15024 "optional" : 1,
15025 "type" : "string",
15026 "typetext" : "<string>"
15027 },
44660702 15028 "net[n]" : {
c2993fe5 15029 "description" : "Specify network devices.",
f004f5b9
DM
15030 "format" : {
15031 "bridge" : {
c2993fe5 15032 "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
15033 "format_description" : "bridge",
15034 "optional" : 1,
c5aa7e14 15035 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
15036 "type" : "string"
15037 },
15038 "e1000" : {
15039 "alias" : "macaddr",
15040 "keyAlias" : "model"
15041 },
15042 "e1000-82540em" : {
15043 "alias" : "macaddr",
15044 "keyAlias" : "model"
15045 },
15046 "e1000-82544gc" : {
15047 "alias" : "macaddr",
15048 "keyAlias" : "model"
15049 },
15050 "e1000-82545em" : {
15051 "alias" : "macaddr",
15052 "keyAlias" : "model"
15053 },
15054 "firewall" : {
15055 "description" : "Whether this interface should be protected by the firewall.",
15056 "optional" : 1,
15057 "type" : "boolean"
15058 },
15059 "i82551" : {
15060 "alias" : "macaddr",
15061 "keyAlias" : "model"
15062 },
15063 "i82557b" : {
15064 "alias" : "macaddr",
15065 "keyAlias" : "model"
15066 },
15067 "i82559er" : {
15068 "alias" : "macaddr",
15069 "keyAlias" : "model"
15070 },
15071 "link_down" : {
c2993fe5 15072 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
15073 "optional" : 1,
15074 "type" : "boolean"
15075 },
15076 "macaddr" : {
c2993fe5 15077 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 15078 "format" : "mac-addr",
f004f5b9 15079 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 15080 "optional" : 1,
95895385
TL
15081 "type" : "string",
15082 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
15083 },
15084 "model" : {
15085 "default_key" : 1,
c2993fe5 15086 "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
15087 "enum" : [
15088 "rtl8139",
15089 "ne2k_pci",
15090 "e1000",
15091 "pcnet",
15092 "virtio",
15093 "ne2k_isa",
15094 "i82551",
15095 "i82557b",
15096 "i82559er",
15097 "vmxnet3",
15098 "e1000-82540em",
15099 "e1000-82544gc",
15100 "e1000-82545em"
15101 ],
f004f5b9
DM
15102 "type" : "string"
15103 },
ac70d7d1
TL
15104 "mtu" : {
15105 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
15106 "maximum" : 65520,
15107 "minimum" : 1,
15108 "optional" : 1,
15109 "type" : "integer"
15110 },
f004f5b9
DM
15111 "ne2k_isa" : {
15112 "alias" : "macaddr",
15113 "keyAlias" : "model"
15114 },
15115 "ne2k_pci" : {
15116 "alias" : "macaddr",
15117 "keyAlias" : "model"
15118 },
15119 "pcnet" : {
15120 "alias" : "macaddr",
15121 "keyAlias" : "model"
15122 },
15123 "queues" : {
15124 "description" : "Number of packet queues to be used on the device.",
15125 "maximum" : 16,
15126 "minimum" : 0,
15127 "optional" : 1,
15128 "type" : "integer"
15129 },
15130 "rate" : {
c2993fe5 15131 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
15132 "minimum" : 0,
15133 "optional" : 1,
15134 "type" : "number"
15135 },
15136 "rtl8139" : {
15137 "alias" : "macaddr",
15138 "keyAlias" : "model"
15139 },
15140 "tag" : {
15141 "description" : "VLAN tag to apply to packets on this interface.",
15142 "maximum" : 4094,
c2993fe5 15143 "minimum" : 1,
f004f5b9
DM
15144 "optional" : 1,
15145 "type" : "integer"
15146 },
15147 "trunks" : {
15148 "description" : "VLAN trunks to pass through this interface.",
15149 "format_description" : "vlanid[;vlanid...]",
15150 "optional" : 1,
15151 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15152 "type" : "string"
15153 },
15154 "virtio" : {
15155 "alias" : "macaddr",
15156 "keyAlias" : "model"
15157 },
15158 "vmxnet3" : {
15159 "alias" : "macaddr",
15160 "keyAlias" : "model"
15161 }
15162 },
7aacca6f 15163 "optional" : 1,
4bd7df8b 15164 "type" : "string",
ac70d7d1 15165 "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 15166 },
44660702
DM
15167 "node" : {
15168 "description" : "The cluster node name.",
15169 "format" : "pve-node",
013dc89f
DM
15170 "type" : "string",
15171 "typetext" : "<string>"
44660702
DM
15172 },
15173 "numa" : {
15174 "default" : 0,
15175 "description" : "Enable/disable NUMA.",
7aacca6f 15176 "optional" : 1,
013dc89f
DM
15177 "type" : "boolean",
15178 "typetext" : "<boolean>"
7aacca6f 15179 },
44660702 15180 "numa[n]" : {
c2993fe5 15181 "description" : "NUMA topology.",
44660702
DM
15182 "format" : {
15183 "cpus" : {
c2993fe5 15184 "description" : "CPUs accessing this NUMA node.",
44660702
DM
15185 "format_description" : "id[-id];...",
15186 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15187 "type" : "string"
15188 },
15189 "hostnodes" : {
c2993fe5 15190 "description" : "Host NUMA nodes to use.",
44660702
DM
15191 "format_description" : "id[-id];...",
15192 "optional" : 1,
15193 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
15194 "type" : "string"
15195 },
15196 "memory" : {
c2993fe5 15197 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
15198 "optional" : 1,
15199 "type" : "number"
15200 },
15201 "policy" : {
c2993fe5 15202 "description" : "NUMA allocation policy.",
44660702
DM
15203 "enum" : [
15204 "preferred",
15205 "bind",
15206 "interleave"
15207 ],
44660702
DM
15208 "optional" : 1,
15209 "type" : "string"
15210 }
15211 },
7aacca6f 15212 "optional" : 1,
4bd7df8b
DM
15213 "type" : "string",
15214 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 15215 },
44660702
DM
15216 "onboot" : {
15217 "default" : 0,
15218 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 15219 "optional" : 1,
013dc89f
DM
15220 "type" : "boolean",
15221 "typetext" : "<boolean>"
7aacca6f 15222 },
44660702 15223 "ostype" : {
c2993fe5 15224 "description" : "Specify guest operating system.",
44660702
DM
15225 "enum" : [
15226 "other",
15227 "wxp",
15228 "w2k",
15229 "w2k3",
15230 "w2k8",
15231 "wvista",
15232 "win7",
15233 "win8",
32d876b5 15234 "win10",
44660702
DM
15235 "l24",
15236 "l26",
15237 "solaris"
15238 ],
7aacca6f 15239 "optional" : 1,
c2993fe5 15240 "type" : "string",
d2656385 15241 "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 15242 },
44660702 15243 "parallel[n]" : {
c2993fe5 15244 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 15245 "optional" : 1,
44660702 15246 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 15247 "type" : "string",
4772952b 15248 "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 15249 },
44660702
DM
15250 "protection" : {
15251 "default" : 0,
c2993fe5 15252 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 15253 "optional" : 1,
013dc89f
DM
15254 "type" : "boolean",
15255 "typetext" : "<boolean>"
7aacca6f 15256 },
44660702
DM
15257 "reboot" : {
15258 "default" : 1,
15259 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 15260 "optional" : 1,
013dc89f
DM
15261 "type" : "boolean",
15262 "typetext" : "<boolean>"
7aacca6f 15263 },
44660702
DM
15264 "revert" : {
15265 "description" : "Revert a pending change.",
15266 "format" : "pve-configid-list",
7aacca6f 15267 "optional" : 1,
013dc89f
DM
15268 "type" : "string",
15269 "typetext" : "<string>"
7aacca6f 15270 },
c5aa7e14
TL
15271 "rng0" : {
15272 "description" : "Configure a VirtIO-based Random Number Generator.",
15273 "format" : {
15274 "max_bytes" : {
15275 "default" : 1024,
15276 "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!).",
15277 "optional" : 1,
15278 "type" : "integer"
15279 },
15280 "period" : {
15281 "default" : 1000,
15282 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
15283 "optional" : 1,
15284 "type" : "integer"
15285 },
15286 "source" : {
15287 "default_key" : 1,
15288 "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.",
15289 "enum" : [
15290 "/dev/urandom",
15291 "/dev/random",
15292 "/dev/hwrng"
15293 ],
15294 "type" : "string"
15295 }
15296 },
15297 "optional" : 1,
15298 "type" : "string",
15299 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
15300 },
44660702 15301 "sata[n]" : {
d2656385 15302 "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 15303 "format" : {
44660702
DM
15304 "aio" : {
15305 "description" : "AIO type to use.",
15306 "enum" : [
15307 "native",
15308 "threads"
15309 ],
44660702
DM
15310 "optional" : 1,
15311 "type" : "string"
15312 },
15313 "backup" : {
15314 "description" : "Whether the drive should be included when making backups.",
44660702
DM
15315 "optional" : 1,
15316 "type" : "boolean"
15317 },
15318 "bps" : {
de0983cb 15319 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 15320 "format_description" : "bps",
7aacca6f
DM
15321 "optional" : 1,
15322 "type" : "integer"
56122987 15323 },
de0983cb
DM
15324 "bps_max_length" : {
15325 "description" : "Maximum length of I/O bursts in seconds.",
15326 "format_description" : "seconds",
15327 "minimum" : 1,
15328 "optional" : 1,
15329 "type" : "integer"
15330 },
44660702 15331 "bps_rd" : {
de0983cb 15332 "description" : "Maximum read speed in bytes per second.",
44660702 15333 "format_description" : "bps",
7aacca6f 15334 "optional" : 1,
44660702 15335 "type" : "integer"
7aacca6f 15336 },
de0983cb 15337 "bps_rd_length" : {
5d9c884c
DM
15338 "alias" : "bps_rd_max_length"
15339 },
15340 "bps_rd_max_length" : {
de0983cb
DM
15341 "description" : "Maximum length of read I/O bursts in seconds.",
15342 "format_description" : "seconds",
15343 "minimum" : 1,
15344 "optional" : 1,
15345 "type" : "integer"
15346 },
44660702 15347 "bps_wr" : {
de0983cb 15348 "description" : "Maximum write speed in bytes per second.",
44660702 15349 "format_description" : "bps",
7aacca6f 15350 "optional" : 1,
44660702 15351 "type" : "integer"
7aacca6f 15352 },
de0983cb 15353 "bps_wr_length" : {
5d9c884c
DM
15354 "alias" : "bps_wr_max_length"
15355 },
15356 "bps_wr_max_length" : {
de0983cb
DM
15357 "description" : "Maximum length of write I/O bursts in seconds.",
15358 "format_description" : "seconds",
15359 "minimum" : 1,
15360 "optional" : 1,
15361 "type" : "integer"
15362 },
44660702
DM
15363 "cache" : {
15364 "description" : "The drive's cache mode",
15365 "enum" : [
15366 "none",
15367 "writethrough",
15368 "writeback",
15369 "unsafe",
15370 "directsync"
15371 ],
7aacca6f 15372 "optional" : 1,
44660702 15373 "type" : "string"
7aacca6f 15374 },
44660702
DM
15375 "cyls" : {
15376 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 15377 "optional" : 1,
44660702 15378 "type" : "integer"
7aacca6f 15379 },
44660702
DM
15380 "detect_zeroes" : {
15381 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 15382 "optional" : 1,
44660702 15383 "type" : "boolean"
7aacca6f 15384 },
44660702
DM
15385 "discard" : {
15386 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15387 "enum" : [
15388 "ignore",
15389 "on"
15390 ],
7aacca6f 15391 "optional" : 1,
44660702
DM
15392 "type" : "string"
15393 },
15394 "file" : {
15395 "default_key" : 1,
15396 "description" : "The drive's backing volume.",
15397 "format" : "pve-volume-id-or-qm-path",
15398 "format_description" : "volume",
15399 "type" : "string"
7aacca6f
DM
15400 },
15401 "format" : {
7aacca6f 15402 "description" : "The drive's backing file's data format.",
56122987
DM
15403 "enum" : [
15404 "raw",
15405 "cow",
15406 "qcow",
15407 "qed",
15408 "qcow2",
15409 "vmdk",
15410 "cloop"
15411 ],
15412 "optional" : 1,
7aacca6f 15413 "type" : "string"
56122987 15414 },
7aacca6f 15415 "heads" : {
7aacca6f 15416 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
15417 "optional" : 1,
15418 "type" : "integer"
56122987 15419 },
44660702 15420 "iops" : {
de0983cb 15421 "description" : "Maximum r/w I/O in operations per second.",
44660702 15422 "format_description" : "iops",
56122987 15423 "optional" : 1,
44660702 15424 "type" : "integer"
7aacca6f 15425 },
44660702 15426 "iops_max" : {
de0983cb 15427 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 15428 "format_description" : "iops",
7aacca6f 15429 "optional" : 1,
44660702 15430 "type" : "integer"
56122987 15431 },
de0983cb
DM
15432 "iops_max_length" : {
15433 "description" : "Maximum length of I/O bursts in seconds.",
15434 "format_description" : "seconds",
15435 "minimum" : 1,
15436 "optional" : 1,
15437 "type" : "integer"
15438 },
44660702 15439 "iops_rd" : {
de0983cb 15440 "description" : "Maximum read I/O in operations per second.",
44660702 15441 "format_description" : "iops",
56122987 15442 "optional" : 1,
44660702 15443 "type" : "integer"
7aacca6f 15444 },
de0983cb 15445 "iops_rd_length" : {
5d9c884c 15446 "alias" : "iops_rd_max_length"
de0983cb 15447 },
44660702 15448 "iops_rd_max" : {
de0983cb 15449 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 15450 "format_description" : "iops",
56122987 15451 "optional" : 1,
44660702 15452 "type" : "integer"
56122987 15453 },
5d9c884c
DM
15454 "iops_rd_max_length" : {
15455 "description" : "Maximum length of read I/O bursts in seconds.",
15456 "format_description" : "seconds",
15457 "minimum" : 1,
15458 "optional" : 1,
15459 "type" : "integer"
15460 },
44660702 15461 "iops_wr" : {
de0983cb 15462 "description" : "Maximum write I/O in operations per second.",
44660702
DM
15463 "format_description" : "iops",
15464 "optional" : 1,
15465 "type" : "integer"
56122987 15466 },
de0983cb 15467 "iops_wr_length" : {
5d9c884c 15468 "alias" : "iops_wr_max_length"
de0983cb 15469 },
44660702 15470 "iops_wr_max" : {
de0983cb 15471 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
15472 "format_description" : "iops",
15473 "optional" : 1,
15474 "type" : "integer"
15475 },
5d9c884c
DM
15476 "iops_wr_max_length" : {
15477 "description" : "Maximum length of write I/O bursts in seconds.",
15478 "format_description" : "seconds",
15479 "minimum" : 1,
15480 "optional" : 1,
15481 "type" : "integer"
15482 },
44660702 15483 "mbps" : {
de0983cb 15484 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
15485 "format_description" : "mbps",
15486 "optional" : 1,
15487 "type" : "number"
15488 },
15489 "mbps_max" : {
de0983cb 15490 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
15491 "format_description" : "mbps",
15492 "optional" : 1,
15493 "type" : "number"
15494 },
15495 "mbps_rd" : {
de0983cb 15496 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
15497 "format_description" : "mbps",
15498 "optional" : 1,
15499 "type" : "number"
15500 },
15501 "mbps_rd_max" : {
de0983cb 15502 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
15503 "format_description" : "mbps",
15504 "optional" : 1,
15505 "type" : "number"
15506 },
15507 "mbps_wr" : {
de0983cb 15508 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
15509 "format_description" : "mbps",
15510 "optional" : 1,
15511 "type" : "number"
15512 },
15513 "mbps_wr_max" : {
de0983cb 15514 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
15515 "format_description" : "mbps",
15516 "optional" : 1,
15517 "type" : "number"
15518 },
15519 "media" : {
15520 "default" : "disk",
15521 "description" : "The drive's media type.",
15522 "enum" : [
15523 "cdrom",
15524 "disk"
15525 ],
56122987 15526 "optional" : 1,
44660702
DM
15527 "type" : "string"
15528 },
5d9c884c
DM
15529 "replicate" : {
15530 "default" : 1,
15531 "description" : "Whether the drive should considered for replication jobs.",
15532 "optional" : 1,
15533 "type" : "boolean"
15534 },
44660702 15535 "rerror" : {
7aacca6f
DM
15536 "description" : "Read error action.",
15537 "enum" : [
15538 "ignore",
15539 "report",
15540 "stop"
44660702 15541 ],
56122987 15542 "optional" : 1,
44660702 15543 "type" : "string"
56122987 15544 },
7aacca6f 15545 "secs" : {
44660702 15546 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 15547 "optional" : 1,
44660702 15548 "type" : "integer"
56122987 15549 },
44660702
DM
15550 "serial" : {
15551 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15552 "format" : "urlencoded",
15553 "format_description" : "serial",
15554 "maxLength" : 60,
56122987 15555 "optional" : 1,
44660702 15556 "type" : "string"
56122987 15557 },
27a7acb2
DM
15558 "shared" : {
15559 "default" : 0,
15560 "description" : "Mark this locally-managed volume as available on all nodes",
15561 "optional" : 1,
15562 "type" : "boolean",
15563 "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!"
15564 },
44660702
DM
15565 "size" : {
15566 "description" : "Disk size. This is purely informational and has no effect.",
15567 "format" : "disk-size",
f004f5b9 15568 "format_description" : "DiskSize",
56122987 15569 "optional" : 1,
44660702 15570 "type" : "string"
56122987
DM
15571 },
15572 "snapshot" : {
27a7acb2 15573 "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 15574 "optional" : 1,
44660702 15575 "type" : "boolean"
56122987 15576 },
25203dc1
NC
15577 "ssd" : {
15578 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15579 "optional" : 1,
15580 "type" : "boolean"
15581 },
56122987 15582 "trans" : {
7aacca6f 15583 "description" : "Force disk geometry bios translation mode.",
56122987
DM
15584 "enum" : [
15585 "none",
15586 "lba",
15587 "auto"
15588 ],
15589 "optional" : 1,
44660702 15590 "type" : "string"
56122987 15591 },
44660702
DM
15592 "volume" : {
15593 "alias" : "file"
56122987 15594 },
7aacca6f 15595 "werror" : {
44660702 15596 "description" : "Write error action.",
56122987 15597 "enum" : [
7aacca6f 15598 "enospc",
56122987 15599 "ignore",
7aacca6f
DM
15600 "report",
15601 "stop"
15602 ],
7aacca6f 15603 "optional" : 1,
44660702 15604 "type" : "string"
95895385
TL
15605 },
15606 "wwn" : {
15607 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15608 "format_description" : "wwn",
15609 "optional" : 1,
15610 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15611 "type" : "string"
44660702
DM
15612 }
15613 },
15614 "optional" : 1,
4bd7df8b 15615 "type" : "string",
95895385 15616 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
15617 },
15618 "scsi[n]" : {
d2656385 15619 "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
15620 "format" : {
15621 "aio" : {
7aacca6f 15622 "description" : "AIO type to use.",
56122987
DM
15623 "enum" : [
15624 "native",
15625 "threads"
44660702 15626 ],
56122987 15627 "optional" : 1,
44660702 15628 "type" : "string"
56122987 15629 },
7aacca6f 15630 "backup" : {
7aacca6f 15631 "description" : "Whether the drive should be included when making backups.",
7aacca6f 15632 "optional" : 1,
44660702 15633 "type" : "boolean"
56122987 15634 },
44660702 15635 "bps" : {
de0983cb 15636 "description" : "Maximum r/w speed in bytes per second.",
44660702 15637 "format_description" : "bps",
7aacca6f 15638 "optional" : 1,
44660702 15639 "type" : "integer"
7aacca6f 15640 },
de0983cb
DM
15641 "bps_max_length" : {
15642 "description" : "Maximum length of I/O bursts in seconds.",
15643 "format_description" : "seconds",
15644 "minimum" : 1,
15645 "optional" : 1,
15646 "type" : "integer"
15647 },
44660702 15648 "bps_rd" : {
de0983cb 15649 "description" : "Maximum read speed in bytes per second.",
44660702 15650 "format_description" : "bps",
56122987 15651 "optional" : 1,
44660702 15652 "type" : "integer"
56122987 15653 },
de0983cb 15654 "bps_rd_length" : {
5d9c884c
DM
15655 "alias" : "bps_rd_max_length"
15656 },
15657 "bps_rd_max_length" : {
de0983cb
DM
15658 "description" : "Maximum length of read I/O bursts in seconds.",
15659 "format_description" : "seconds",
15660 "minimum" : 1,
15661 "optional" : 1,
15662 "type" : "integer"
15663 },
44660702 15664 "bps_wr" : {
de0983cb 15665 "description" : "Maximum write speed in bytes per second.",
44660702 15666 "format_description" : "bps",
56122987 15667 "optional" : 1,
44660702 15668 "type" : "integer"
56122987 15669 },
de0983cb 15670 "bps_wr_length" : {
5d9c884c
DM
15671 "alias" : "bps_wr_max_length"
15672 },
15673 "bps_wr_max_length" : {
de0983cb
DM
15674 "description" : "Maximum length of write I/O bursts in seconds.",
15675 "format_description" : "seconds",
15676 "minimum" : 1,
15677 "optional" : 1,
15678 "type" : "integer"
15679 },
44660702
DM
15680 "cache" : {
15681 "description" : "The drive's cache mode",
15682 "enum" : [
15683 "none",
15684 "writethrough",
15685 "writeback",
15686 "unsafe",
15687 "directsync"
15688 ],
56122987 15689 "optional" : 1,
44660702
DM
15690 "type" : "string"
15691 },
15692 "cyls" : {
15693 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
15694 "optional" : 1,
15695 "type" : "integer"
15696 },
15697 "detect_zeroes" : {
15698 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
15699 "optional" : 1,
15700 "type" : "boolean"
15701 },
15702 "discard" : {
15703 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
15704 "enum" : [
15705 "ignore",
15706 "on"
15707 ],
44660702
DM
15708 "optional" : 1,
15709 "type" : "string"
15710 },
15711 "file" : {
15712 "default_key" : 1,
15713 "description" : "The drive's backing volume.",
15714 "format" : "pve-volume-id-or-qm-path",
15715 "format_description" : "volume",
15716 "type" : "string"
56122987 15717 },
7aacca6f 15718 "format" : {
44660702 15719 "description" : "The drive's backing file's data format.",
7aacca6f
DM
15720 "enum" : [
15721 "raw",
15722 "cow",
15723 "qcow",
15724 "qed",
15725 "qcow2",
15726 "vmdk",
15727 "cloop"
15728 ],
56122987 15729 "optional" : 1,
44660702 15730 "type" : "string"
56122987 15731 },
44660702
DM
15732 "heads" : {
15733 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 15734 "optional" : 1,
44660702 15735 "type" : "integer"
56122987 15736 },
44660702 15737 "iops" : {
de0983cb 15738 "description" : "Maximum r/w I/O in operations per second.",
44660702 15739 "format_description" : "iops",
7aacca6f 15740 "optional" : 1,
44660702 15741 "type" : "integer"
56122987 15742 },
44660702 15743 "iops_max" : {
de0983cb 15744 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 15745 "format_description" : "iops",
7aacca6f 15746 "optional" : 1,
44660702 15747 "type" : "integer"
56122987 15748 },
de0983cb
DM
15749 "iops_max_length" : {
15750 "description" : "Maximum length of I/O bursts in seconds.",
15751 "format_description" : "seconds",
15752 "minimum" : 1,
15753 "optional" : 1,
15754 "type" : "integer"
15755 },
44660702 15756 "iops_rd" : {
de0983cb 15757 "description" : "Maximum read I/O in operations per second.",
44660702 15758 "format_description" : "iops",
56122987 15759 "optional" : 1,
44660702 15760 "type" : "integer"
56122987 15761 },
de0983cb 15762 "iops_rd_length" : {
5d9c884c 15763 "alias" : "iops_rd_max_length"
de0983cb 15764 },
44660702 15765 "iops_rd_max" : {
de0983cb 15766 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 15767 "format_description" : "iops",
56122987 15768 "optional" : 1,
44660702 15769 "type" : "integer"
56122987 15770 },
5d9c884c
DM
15771 "iops_rd_max_length" : {
15772 "description" : "Maximum length of read I/O bursts in seconds.",
15773 "format_description" : "seconds",
15774 "minimum" : 1,
15775 "optional" : 1,
15776 "type" : "integer"
15777 },
44660702 15778 "iops_wr" : {
de0983cb 15779 "description" : "Maximum write I/O in operations per second.",
44660702 15780 "format_description" : "iops",
56122987 15781 "optional" : 1,
44660702 15782 "type" : "integer"
56122987 15783 },
de0983cb 15784 "iops_wr_length" : {
5d9c884c 15785 "alias" : "iops_wr_max_length"
de0983cb 15786 },
44660702 15787 "iops_wr_max" : {
de0983cb 15788 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 15789 "format_description" : "iops",
44660702
DM
15790 "optional" : 1,
15791 "type" : "integer"
7aacca6f 15792 },
5d9c884c
DM
15793 "iops_wr_max_length" : {
15794 "description" : "Maximum length of write I/O bursts in seconds.",
15795 "format_description" : "seconds",
15796 "minimum" : 1,
15797 "optional" : 1,
15798 "type" : "integer"
15799 },
7aacca6f 15800 "iothread" : {
44660702 15801 "description" : "Whether to use iothreads for this drive",
56122987 15802 "optional" : 1,
44660702 15803 "type" : "boolean"
56122987 15804 },
44660702 15805 "mbps" : {
de0983cb 15806 "description" : "Maximum r/w speed in megabytes per second.",
44660702 15807 "format_description" : "mbps",
56122987 15808 "optional" : 1,
44660702 15809 "type" : "number"
56122987 15810 },
44660702 15811 "mbps_max" : {
de0983cb 15812 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 15813 "format_description" : "mbps",
56122987 15814 "optional" : 1,
44660702 15815 "type" : "number"
56122987 15816 },
44660702 15817 "mbps_rd" : {
de0983cb 15818 "description" : "Maximum read speed in megabytes per second.",
44660702 15819 "format_description" : "mbps",
7aacca6f 15820 "optional" : 1,
44660702 15821 "type" : "number"
56122987 15822 },
44660702 15823 "mbps_rd_max" : {
de0983cb 15824 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 15825 "format_description" : "mbps",
7aacca6f 15826 "optional" : 1,
44660702 15827 "type" : "number"
7aacca6f 15828 },
44660702 15829 "mbps_wr" : {
de0983cb 15830 "description" : "Maximum write speed in megabytes per second.",
44660702 15831 "format_description" : "mbps",
56122987 15832 "optional" : 1,
44660702 15833 "type" : "number"
56122987 15834 },
44660702 15835 "mbps_wr_max" : {
de0983cb 15836 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 15837 "format_description" : "mbps",
56122987 15838 "optional" : 1,
44660702
DM
15839 "type" : "number"
15840 },
15841 "media" : {
15842 "default" : "disk",
15843 "description" : "The drive's media type.",
7aacca6f 15844 "enum" : [
44660702
DM
15845 "cdrom",
15846 "disk"
7aacca6f 15847 ],
56122987 15848 "optional" : 1,
44660702 15849 "type" : "string"
56122987 15850 },
7aacca6f 15851 "queues" : {
44660702 15852 "description" : "Number of queues.",
7aacca6f 15853 "minimum" : 2,
7aacca6f
DM
15854 "optional" : 1,
15855 "type" : "integer"
56122987 15856 },
5d9c884c
DM
15857 "replicate" : {
15858 "default" : 1,
15859 "description" : "Whether the drive should considered for replication jobs.",
15860 "optional" : 1,
15861 "type" : "boolean"
15862 },
15863 "rerror" : {
15864 "description" : "Read error action.",
15865 "enum" : [
15866 "ignore",
15867 "report",
15868 "stop"
15869 ],
15870 "optional" : 1,
15871 "type" : "string"
15872 },
52e44c50
FG
15873 "scsiblock" : {
15874 "default" : 0,
15875 "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",
15876 "optional" : 1,
15877 "type" : "boolean"
15878 },
44660702
DM
15879 "secs" : {
15880 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 15881 "optional" : 1,
44660702 15882 "type" : "integer"
56122987 15883 },
44660702
DM
15884 "serial" : {
15885 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
15886 "format" : "urlencoded",
15887 "format_description" : "serial",
15888 "maxLength" : 60,
56122987 15889 "optional" : 1,
44660702 15890 "type" : "string"
56122987 15891 },
27a7acb2
DM
15892 "shared" : {
15893 "default" : 0,
15894 "description" : "Mark this locally-managed volume as available on all nodes",
15895 "optional" : 1,
15896 "type" : "boolean",
15897 "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!"
15898 },
44660702
DM
15899 "size" : {
15900 "description" : "Disk size. This is purely informational and has no effect.",
15901 "format" : "disk-size",
f004f5b9 15902 "format_description" : "DiskSize",
44660702
DM
15903 "optional" : 1,
15904 "type" : "string"
15905 },
15906 "snapshot" : {
27a7acb2 15907 "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 15908 "optional" : 1,
44660702
DM
15909 "type" : "boolean"
15910 },
25203dc1
NC
15911 "ssd" : {
15912 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
15913 "optional" : 1,
15914 "type" : "boolean"
15915 },
44660702
DM
15916 "trans" : {
15917 "description" : "Force disk geometry bios translation mode.",
56122987 15918 "enum" : [
44660702
DM
15919 "none",
15920 "lba",
15921 "auto"
56122987 15922 ],
44660702
DM
15923 "optional" : 1,
15924 "type" : "string"
15925 },
15926 "volume" : {
15927 "alias" : "file"
56122987 15928 },
7aacca6f 15929 "werror" : {
7aacca6f
DM
15930 "description" : "Write error action.",
15931 "enum" : [
15932 "enospc",
15933 "ignore",
15934 "report",
15935 "stop"
44660702 15936 ],
56122987 15937 "optional" : 1,
7aacca6f 15938 "type" : "string"
95895385
TL
15939 },
15940 "wwn" : {
15941 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
15942 "format_description" : "wwn",
15943 "optional" : 1,
15944 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
15945 "type" : "string"
56122987 15946 }
44660702 15947 },
56122987 15948 "optional" : 1,
4bd7df8b 15949 "type" : "string",
95895385 15950 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987
DM
15951 },
15952 "scsihw" : {
44660702 15953 "default" : "lsi",
c2993fe5 15954 "description" : "SCSI controller model",
56122987
DM
15955 "enum" : [
15956 "lsi",
15957 "lsi53c810",
15958 "virtio-scsi-pci",
15959 "virtio-scsi-single",
15960 "megasas",
15961 "pvscsi"
15962 ],
15963 "optional" : 1,
56122987
DM
15964 "type" : "string"
15965 },
27a7acb2 15966 "searchdomain" : {
4772952b 15967 "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
15968 "optional" : 1,
15969 "type" : "string",
15970 "typetext" : "<string>"
15971 },
44660702 15972 "serial[n]" : {
c2993fe5 15973 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 15974 "optional" : 1,
44660702 15975 "pattern" : "(/dev/.+|socket)",
c2993fe5 15976 "type" : "string",
4772952b 15977 "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 15978 },
44660702
DM
15979 "shares" : {
15980 "default" : 1000,
5da3d723 15981 "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
15982 "maximum" : 50000,
15983 "minimum" : 0,
7aacca6f 15984 "optional" : 1,
4bd7df8b 15985 "type" : "integer",
013dc89f 15986 "typetext" : "<integer> (0 - 50000)"
56122987 15987 },
7aacca6f
DM
15988 "skiplock" : {
15989 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 15990 "optional" : 1,
013dc89f
DM
15991 "type" : "boolean",
15992 "typetext" : "<boolean>"
56122987 15993 },
44660702
DM
15994 "smbios1" : {
15995 "description" : "Specify SMBIOS type 1 fields.",
15996 "format" : "pve-qm-smbios1",
1e3f8156 15997 "maxLength" : 512,
56122987 15998 "optional" : 1,
4bd7df8b 15999 "type" : "string",
1e3f8156 16000 "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 16001 },
44660702
DM
16002 "smp" : {
16003 "default" : 1,
16004 "description" : "The number of CPUs. Please use option -sockets instead.",
16005 "minimum" : 1,
56122987 16006 "optional" : 1,
4bd7df8b 16007 "type" : "integer",
013dc89f 16008 "typetext" : "<integer> (1 - N)"
56122987 16009 },
44660702
DM
16010 "sockets" : {
16011 "default" : 1,
16012 "description" : "The number of CPU sockets.",
16013 "minimum" : 1,
56122987 16014 "optional" : 1,
4bd7df8b 16015 "type" : "integer",
013dc89f 16016 "typetext" : "<integer> (1 - N)"
56122987 16017 },
1c532546
TL
16018 "spice_enhancements" : {
16019 "description" : "Configure additional enhancements for SPICE.",
16020 "format" : {
16021 "foldersharing" : {
16022 "default" : "0",
16023 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
16024 "optional" : 1,
16025 "type" : "boolean"
16026 },
16027 "videostreaming" : {
16028 "default" : "off",
16029 "description" : "Enable video streaming. Uses compression for detected video streams.",
16030 "enum" : [
16031 "off",
16032 "all",
16033 "filter"
16034 ],
16035 "optional" : 1,
16036 "type" : "string"
16037 }
16038 },
16039 "optional" : 1,
16040 "type" : "string",
16041 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
16042 },
27a7acb2
DM
16043 "sshkeys" : {
16044 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
16045 "format" : "urlencoded",
16046 "optional" : 1,
16047 "type" : "string",
16048 "typetext" : "<string>"
16049 },
44660702
DM
16050 "startdate" : {
16051 "default" : "now",
4772952b 16052 "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
16053 "optional" : 1,
16054 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 16055 "type" : "string",
44660702
DM
16056 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
16057 },
16058 "startup" : {
16059 "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.",
16060 "format" : "pve-startup-order",
7aacca6f 16061 "optional" : 1,
44660702
DM
16062 "type" : "string",
16063 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 16064 },
44660702
DM
16065 "tablet" : {
16066 "default" : 1,
c2993fe5 16067 "description" : "Enable/disable the USB tablet device.",
7aacca6f 16068 "optional" : 1,
c2993fe5 16069 "type" : "boolean",
013dc89f 16070 "typetext" : "<boolean>",
4772952b 16071 "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 16072 },
5c1699e5
TL
16073 "tags" : {
16074 "description" : "Tags of the VM. This is only meta information.",
16075 "format" : "pve-tag-list",
16076 "optional" : 1,
16077 "type" : "string",
16078 "typetext" : "<string>"
16079 },
44660702
DM
16080 "tdf" : {
16081 "default" : 0,
16082 "description" : "Enable/disable time drift fix.",
7aacca6f 16083 "optional" : 1,
013dc89f
DM
16084 "type" : "boolean",
16085 "typetext" : "<boolean>"
7aacca6f 16086 },
44660702
DM
16087 "template" : {
16088 "default" : 0,
16089 "description" : "Enable/disable Template.",
7aacca6f 16090 "optional" : 1,
013dc89f
DM
16091 "type" : "boolean",
16092 "typetext" : "<boolean>"
7aacca6f 16093 },
44660702 16094 "unused[n]" : {
c2993fe5 16095 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
16096 "format" : {
16097 "file" : {
16098 "default_key" : 1,
16099 "description" : "The drive's backing volume.",
16100 "format" : "pve-volume-id",
16101 "format_description" : "volume",
16102 "type" : "string"
16103 },
16104 "volume" : {
16105 "alias" : "file"
16106 }
16107 },
7aacca6f 16108 "optional" : 1,
013dc89f 16109 "type" : "string",
c5aa7e14 16110 "typetext" : "[file=]<volume>"
7aacca6f 16111 },
44660702 16112 "usb[n]" : {
c2993fe5 16113 "description" : "Configure an USB device (n is 0 to 4).",
56122987 16114 "format" : {
44660702
DM
16115 "host" : {
16116 "default_key" : 1,
4772952b 16117 "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
16118 "format" : "pve-qm-usb-device",
16119 "format_description" : "HOSTUSBDEVICE|spice",
16120 "type" : "string"
7aacca6f 16121 },
44660702 16122 "usb3" : {
c2993fe5 16123 "default" : 0,
1c532546 16124 "description" : "Specifies whether if given host option is a USB3 device or port.",
7aacca6f 16125 "optional" : 1,
44660702 16126 "type" : "boolean"
7aacca6f 16127 }
44660702 16128 },
7aacca6f 16129 "optional" : 1,
4bd7df8b
DM
16130 "type" : "string",
16131 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 16132 },
44660702 16133 "vcpus" : {
7aacca6f 16134 "default" : 0,
44660702
DM
16135 "description" : "Number of hotplugged vcpus.",
16136 "minimum" : 1,
7aacca6f 16137 "optional" : 1,
4bd7df8b 16138 "type" : "integer",
013dc89f 16139 "typetext" : "<integer> (1 - N)"
7aacca6f 16140 },
44660702 16141 "vga" : {
e2d681b3
TL
16142 "description" : "Configure the VGA hardware.",
16143 "format" : {
16144 "memory" : {
16145 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
16146 "maximum" : 512,
16147 "minimum" : 4,
16148 "optional" : 1,
16149 "type" : "integer"
16150 },
16151 "type" : {
16152 "default" : "std",
16153 "default_key" : 1,
16154 "description" : "Select the VGA type.",
16155 "enum" : [
16156 "cirrus",
16157 "qxl",
16158 "qxl2",
16159 "qxl3",
16160 "qxl4",
5f26e15b 16161 "none",
e2d681b3
TL
16162 "serial0",
16163 "serial1",
16164 "serial2",
16165 "serial3",
16166 "std",
16167 "virtio",
16168 "vmware"
16169 ],
16170 "optional" : 1,
16171 "type" : "string"
16172 }
16173 },
7aacca6f 16174 "optional" : 1,
c2993fe5 16175 "type" : "string",
e2d681b3
TL
16176 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
16177 "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 16178 },
44660702 16179 "virtio[n]" : {
d2656385 16180 "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 16181 "format" : {
7aacca6f 16182 "aio" : {
7aacca6f 16183 "description" : "AIO type to use.",
56122987 16184 "enum" : [
7aacca6f
DM
16185 "native",
16186 "threads"
7aacca6f 16187 ],
44660702
DM
16188 "optional" : 1,
16189 "type" : "string"
56122987 16190 },
44660702
DM
16191 "backup" : {
16192 "description" : "Whether the drive should be included when making backups.",
56122987 16193 "optional" : 1,
44660702 16194 "type" : "boolean"
7aacca6f 16195 },
44660702 16196 "bps" : {
de0983cb 16197 "description" : "Maximum r/w speed in bytes per second.",
44660702 16198 "format_description" : "bps",
7aacca6f 16199 "optional" : 1,
44660702 16200 "type" : "integer"
56122987 16201 },
de0983cb
DM
16202 "bps_max_length" : {
16203 "description" : "Maximum length of I/O bursts in seconds.",
16204 "format_description" : "seconds",
16205 "minimum" : 1,
16206 "optional" : 1,
16207 "type" : "integer"
16208 },
56122987 16209 "bps_rd" : {
de0983cb 16210 "description" : "Maximum read speed in bytes per second.",
44660702 16211 "format_description" : "bps",
56122987 16212 "optional" : 1,
7aacca6f 16213 "type" : "integer"
56122987 16214 },
de0983cb 16215 "bps_rd_length" : {
5d9c884c
DM
16216 "alias" : "bps_rd_max_length"
16217 },
16218 "bps_rd_max_length" : {
de0983cb
DM
16219 "description" : "Maximum length of read I/O bursts in seconds.",
16220 "format_description" : "seconds",
16221 "minimum" : 1,
16222 "optional" : 1,
16223 "type" : "integer"
16224 },
44660702 16225 "bps_wr" : {
de0983cb 16226 "description" : "Maximum write speed in bytes per second.",
44660702 16227 "format_description" : "bps",
56122987 16228 "optional" : 1,
7aacca6f 16229 "type" : "integer"
56122987 16230 },
de0983cb 16231 "bps_wr_length" : {
5d9c884c
DM
16232 "alias" : "bps_wr_max_length"
16233 },
16234 "bps_wr_max_length" : {
de0983cb
DM
16235 "description" : "Maximum length of write I/O bursts in seconds.",
16236 "format_description" : "seconds",
16237 "minimum" : 1,
16238 "optional" : 1,
16239 "type" : "integer"
16240 },
7aacca6f 16241 "cache" : {
44660702 16242 "description" : "The drive's cache mode",
7aacca6f
DM
16243 "enum" : [
16244 "none",
16245 "writethrough",
16246 "writeback",
16247 "unsafe",
16248 "directsync"
16249 ],
56122987 16250 "optional" : 1,
44660702 16251 "type" : "string"
7aacca6f 16252 },
44660702
DM
16253 "cyls" : {
16254 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
16255 "optional" : 1,
16256 "type" : "integer"
16257 },
16258 "detect_zeroes" : {
16259 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
16260 "optional" : 1,
16261 "type" : "boolean"
16262 },
16263 "discard" : {
16264 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 16265 "enum" : [
44660702
DM
16266 "ignore",
16267 "on"
56122987
DM
16268 ],
16269 "optional" : 1,
44660702 16270 "type" : "string"
56122987 16271 },
44660702
DM
16272 "file" : {
16273 "default_key" : 1,
16274 "description" : "The drive's backing volume.",
16275 "format" : "pve-volume-id-or-qm-path",
16276 "format_description" : "volume",
16277 "type" : "string"
16278 },
16279 "format" : {
16280 "description" : "The drive's backing file's data format.",
16281 "enum" : [
16282 "raw",
16283 "cow",
16284 "qcow",
16285 "qed",
16286 "qcow2",
16287 "vmdk",
16288 "cloop"
16289 ],
56122987 16290 "optional" : 1,
44660702 16291 "type" : "string"
56122987 16292 },
44660702
DM
16293 "heads" : {
16294 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
16295 "optional" : 1,
16296 "type" : "integer"
16297 },
16298 "iops" : {
de0983cb 16299 "description" : "Maximum r/w I/O in operations per second.",
44660702 16300 "format_description" : "iops",
56122987 16301 "optional" : 1,
44660702
DM
16302 "type" : "integer"
16303 },
16304 "iops_max" : {
de0983cb 16305 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
16306 "format_description" : "iops",
16307 "optional" : 1,
16308 "type" : "integer"
56122987 16309 },
de0983cb
DM
16310 "iops_max_length" : {
16311 "description" : "Maximum length of I/O bursts in seconds.",
16312 "format_description" : "seconds",
16313 "minimum" : 1,
16314 "optional" : 1,
16315 "type" : "integer"
16316 },
7aacca6f 16317 "iops_rd" : {
de0983cb 16318 "description" : "Maximum read I/O in operations per second.",
7aacca6f 16319 "format_description" : "iops",
7aacca6f 16320 "optional" : 1,
44660702 16321 "type" : "integer"
56122987 16322 },
de0983cb 16323 "iops_rd_length" : {
5d9c884c 16324 "alias" : "iops_rd_max_length"
de0983cb 16325 },
44660702 16326 "iops_rd_max" : {
de0983cb 16327 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
16328 "format_description" : "iops",
16329 "optional" : 1,
16330 "type" : "integer"
16331 },
5d9c884c
DM
16332 "iops_rd_max_length" : {
16333 "description" : "Maximum length of read I/O bursts in seconds.",
16334 "format_description" : "seconds",
16335 "minimum" : 1,
16336 "optional" : 1,
16337 "type" : "integer"
16338 },
44660702 16339 "iops_wr" : {
de0983cb 16340 "description" : "Maximum write I/O in operations per second.",
44660702
DM
16341 "format_description" : "iops",
16342 "optional" : 1,
16343 "type" : "integer"
16344 },
de0983cb 16345 "iops_wr_length" : {
5d9c884c 16346 "alias" : "iops_wr_max_length"
de0983cb 16347 },
44660702 16348 "iops_wr_max" : {
de0983cb 16349 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
16350 "format_description" : "iops",
16351 "optional" : 1,
16352 "type" : "integer"
16353 },
5d9c884c
DM
16354 "iops_wr_max_length" : {
16355 "description" : "Maximum length of write I/O bursts in seconds.",
16356 "format_description" : "seconds",
16357 "minimum" : 1,
16358 "optional" : 1,
16359 "type" : "integer"
16360 },
44660702
DM
16361 "iothread" : {
16362 "description" : "Whether to use iothreads for this drive",
44660702
DM
16363 "optional" : 1,
16364 "type" : "boolean"
16365 },
16366 "mbps" : {
de0983cb 16367 "description" : "Maximum r/w speed in megabytes per second.",
44660702 16368 "format_description" : "mbps",
7aacca6f 16369 "optional" : 1,
44660702 16370 "type" : "number"
7aacca6f
DM
16371 },
16372 "mbps_max" : {
de0983cb 16373 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 16374 "format_description" : "mbps",
56122987 16375 "optional" : 1,
44660702 16376 "type" : "number"
56122987 16377 },
44660702 16378 "mbps_rd" : {
de0983cb 16379 "description" : "Maximum read speed in megabytes per second.",
44660702 16380 "format_description" : "mbps",
56122987 16381 "optional" : 1,
44660702 16382 "type" : "number"
56122987 16383 },
44660702 16384 "mbps_rd_max" : {
de0983cb 16385 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
16386 "format_description" : "mbps",
16387 "optional" : 1,
16388 "type" : "number"
16389 },
16390 "mbps_wr" : {
de0983cb 16391 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
16392 "format_description" : "mbps",
16393 "optional" : 1,
16394 "type" : "number"
16395 },
16396 "mbps_wr_max" : {
de0983cb 16397 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
16398 "format_description" : "mbps",
16399 "optional" : 1,
16400 "type" : "number"
16401 },
16402 "media" : {
16403 "default" : "disk",
16404 "description" : "The drive's media type.",
56122987 16405 "enum" : [
44660702
DM
16406 "cdrom",
16407 "disk"
56122987
DM
16408 ],
16409 "optional" : 1,
44660702 16410 "type" : "string"
56122987 16411 },
5d9c884c
DM
16412 "replicate" : {
16413 "default" : 1,
16414 "description" : "Whether the drive should considered for replication jobs.",
16415 "optional" : 1,
16416 "type" : "boolean"
16417 },
44660702
DM
16418 "rerror" : {
16419 "description" : "Read error action.",
16420 "enum" : [
16421 "ignore",
16422 "report",
16423 "stop"
16424 ],
56122987 16425 "optional" : 1,
44660702 16426 "type" : "string"
56122987 16427 },
44660702
DM
16428 "secs" : {
16429 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 16430 "optional" : 1,
44660702 16431 "type" : "integer"
56122987 16432 },
7aacca6f
DM
16433 "serial" : {
16434 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 16435 "format" : "urlencoded",
44660702 16436 "format_description" : "serial",
7aacca6f 16437 "maxLength" : 60,
44660702
DM
16438 "optional" : 1,
16439 "type" : "string"
56122987 16440 },
27a7acb2
DM
16441 "shared" : {
16442 "default" : 0,
16443 "description" : "Mark this locally-managed volume as available on all nodes",
16444 "optional" : 1,
16445 "type" : "boolean",
16446 "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!"
16447 },
44660702
DM
16448 "size" : {
16449 "description" : "Disk size. This is purely informational and has no effect.",
16450 "format" : "disk-size",
f004f5b9 16451 "format_description" : "DiskSize",
44660702
DM
16452 "optional" : 1,
16453 "type" : "string"
56122987 16454 },
44660702 16455 "snapshot" : {
27a7acb2 16456 "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 16457 "optional" : 1,
44660702 16458 "type" : "boolean"
56122987 16459 },
44660702
DM
16460 "trans" : {
16461 "description" : "Force disk geometry bios translation mode.",
16462 "enum" : [
16463 "none",
16464 "lba",
16465 "auto"
16466 ],
7aacca6f 16467 "optional" : 1,
44660702 16468 "type" : "string"
7aacca6f 16469 },
44660702
DM
16470 "volume" : {
16471 "alias" : "file"
16472 },
16473 "werror" : {
16474 "description" : "Write error action.",
16475 "enum" : [
16476 "enospc",
16477 "ignore",
16478 "report",
16479 "stop"
16480 ],
7aacca6f 16481 "optional" : 1,
44660702 16482 "type" : "string"
56122987
DM
16483 }
16484 },
7aacca6f 16485 "optional" : 1,
4bd7df8b 16486 "type" : "string",
27a7acb2 16487 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 16488 },
4d47f125
TL
16489 "vmgenid" : {
16490 "default" : "1 (autogenerated)",
16491 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
16492 "format_description" : "UUID",
16493 "optional" : 1,
16494 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
16495 "type" : "string",
4772952b 16496 "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 16497 },
44660702
DM
16498 "vmid" : {
16499 "description" : "The (unique) ID of the VM.",
16500 "format" : "pve-vmid",
16501 "minimum" : 1,
4bd7df8b 16502 "type" : "integer",
013dc89f 16503 "typetext" : "<integer> (1 - N)"
56122987 16504 },
2489d6df
WB
16505 "vmstatestorage" : {
16506 "description" : "Default storage for VM state volumes/files.",
16507 "format" : "pve-storage-id",
16508 "optional" : 1,
16509 "type" : "string",
16510 "typetext" : "<string>"
16511 },
44660702 16512 "watchdog" : {
c2993fe5 16513 "description" : "Create a virtual hardware watchdog device.",
44660702 16514 "format" : "pve-qm-watchdog",
56122987 16515 "optional" : 1,
c2993fe5 16516 "type" : "string",
013dc89f 16517 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 16518 "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 16519 }
7aacca6f 16520 }
56122987 16521 },
56122987
DM
16522 "permissions" : {
16523 "check" : [
16524 "perm",
16525 "/vms/{vmid}",
16526 [
16527 "VM.Config.Disk",
16528 "VM.Config.CDROM",
16529 "VM.Config.CPU",
16530 "VM.Config.Memory",
16531 "VM.Config.Network",
16532 "VM.Config.HWType",
ac70d7d1
TL
16533 "VM.Config.Options",
16534 "VM.Config.Cloudinit"
56122987
DM
16535 ],
16536 "any",
16537 1
16538 ]
16539 },
44660702 16540 "protected" : 1,
7aacca6f 16541 "proxyto" : "node",
56122987 16542 "returns" : {
4d47f125
TL
16543 "optional" : 1,
16544 "type" : "string"
7aacca6f 16545 }
4d47f125
TL
16546 },
16547 "PUT" : {
e9cd3bd4 16548 "allowtoken" : 1,
4d47f125
TL
16549 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
16550 "method" : "PUT",
16551 "name" : "update_vm",
7aacca6f 16552 "parameters" : {
44660702 16553 "additionalProperties" : 0,
7aacca6f 16554 "properties" : {
4d47f125
TL
16555 "acpi" : {
16556 "default" : 1,
16557 "description" : "Enable/disable ACPI.",
16558 "optional" : 1,
16559 "type" : "boolean",
16560 "typetext" : "<boolean>"
7aacca6f 16561 },
4d47f125
TL
16562 "agent" : {
16563 "description" : "Enable/disable Qemu GuestAgent and its properties.",
16564 "format" : {
16565 "enabled" : {
16566 "default" : 0,
16567 "default_key" : 1,
16568 "description" : "Enable/disable Qemu GuestAgent.",
16569 "type" : "boolean"
16570 },
16571 "fstrim_cloned_disks" : {
16572 "default" : 0,
d2656385 16573 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
16574 "optional" : 1,
16575 "type" : "boolean"
5c1699e5
TL
16576 },
16577 "type" : {
16578 "default" : "virtio",
16579 "description" : "Select the agent type",
16580 "enum" : [
16581 "virtio",
16582 "isa"
16583 ],
16584 "optional" : 1,
16585 "type" : "string"
4d47f125 16586 }
44660702 16587 },
4d47f125
TL
16588 "optional" : 1,
16589 "type" : "string",
5c1699e5 16590 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
44660702 16591 },
e2d681b3
TL
16592 "arch" : {
16593 "description" : "Virtual processor architecture. Defaults to the host.",
16594 "enum" : [
16595 "x86_64",
16596 "aarch64"
16597 ],
16598 "optional" : 1,
16599 "type" : "string"
16600 },
4d47f125
TL
16601 "args" : {
16602 "description" : "Arbitrary arguments passed to kvm.",
16603 "optional" : 1,
16604 "type" : "string",
16605 "typetext" : "<string>",
16606 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
16607 },
1c532546
TL
16608 "audio0" : {
16609 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
16610 "format" : {
16611 "device" : {
16612 "description" : "Configure an audio device.",
16613 "enum" : [
16614 "ich9-intel-hda",
16615 "intel-hda",
16616 "AC97"
16617 ],
16618 "type" : "string"
16619 },
16620 "driver" : {
16621 "default" : "spice",
16622 "description" : "Driver backend for the audio device.",
16623 "enum" : [
d2656385
TL
16624 "spice",
16625 "none"
1c532546
TL
16626 ],
16627 "optional" : 1,
16628 "type" : "string"
16629 }
16630 },
16631 "optional" : 1,
16632 "type" : "string",
d2656385 16633 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 16634 },
4d47f125
TL
16635 "autostart" : {
16636 "default" : 0,
16637 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 16638 "optional" : 1,
013dc89f
DM
16639 "type" : "boolean",
16640 "typetext" : "<boolean>"
7aacca6f 16641 },
4d47f125
TL
16642 "balloon" : {
16643 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
16644 "minimum" : 0,
16645 "optional" : 1,
16646 "type" : "integer",
16647 "typetext" : "<integer> (0 - N)"
16648 },
16649 "bios" : {
16650 "default" : "seabios",
16651 "description" : "Select BIOS implementation.",
16652 "enum" : [
16653 "seabios",
16654 "ovmf"
16655 ],
16656 "optional" : 1,
16657 "type" : "string"
16658 },
16659 "boot" : {
4772952b
TL
16660 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
16661 "format" : "pve-qm-boot",
4d47f125 16662 "optional" : 1,
4772952b
TL
16663 "type" : "string",
16664 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
4d47f125
TL
16665 },
16666 "bootdisk" : {
4772952b 16667 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
4d47f125
TL
16668 "format" : "pve-qm-bootdisk",
16669 "optional" : 1,
16670 "pattern" : "(ide|sata|scsi|virtio)\\d+",
16671 "type" : "string"
16672 },
16673 "cdrom" : {
16674 "description" : "This is an alias for option -ide2",
16675 "format" : "pve-qm-ide",
16676 "optional" : 1,
16677 "type" : "string",
16678 "typetext" : "<volume>"
16679 },
95895385
TL
16680 "cicustom" : {
16681 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
16682 "format" : "pve-qm-cicustom",
16683 "optional" : 1,
16684 "type" : "string",
16685 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
16686 },
4d47f125
TL
16687 "cipassword" : {
16688 "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.",
16689 "optional" : 1,
013dc89f
DM
16690 "type" : "string",
16691 "typetext" : "<string>"
44660702 16692 },
4d47f125
TL
16693 "citype" : {
16694 "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.",
16695 "enum" : [
16696 "configdrive2",
d2656385
TL
16697 "nocloud",
16698 "opennebula"
4d47f125
TL
16699 ],
16700 "optional" : 1,
16701 "type" : "string"
16702 },
16703 "ciuser" : {
16704 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
16705 "optional" : 1,
013dc89f
DM
16706 "type" : "string",
16707 "typetext" : "<string>"
56122987 16708 },
4d47f125
TL
16709 "cores" : {
16710 "default" : 1,
16711 "description" : "The number of cores per socket.",
7aacca6f 16712 "minimum" : 1,
4d47f125 16713 "optional" : 1,
4bd7df8b 16714 "type" : "integer",
013dc89f 16715 "typetext" : "<integer> (1 - N)"
4d47f125
TL
16716 },
16717 "cpu" : {
16718 "description" : "Emulated CPU type.",
c5aa7e14 16719 "format" : "pve-vm-cpu-conf",
4d47f125 16720 "optional" : 1,
013dc89f 16721 "type" : "string",
04d22a9f 16722 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
44660702 16723 },
4d47f125
TL
16724 "cpulimit" : {
16725 "default" : 0,
16726 "description" : "Limit of CPU usage.",
16727 "maximum" : 128,
16728 "minimum" : 0,
16729 "optional" : 1,
16730 "type" : "number",
16731 "typetext" : "<number> (0 - 128)",
16732 "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."
16733 },
16734 "cpuunits" : {
16735 "default" : 1024,
16736 "description" : "CPU weight for a VM.",
16737 "maximum" : 262144,
16738 "minimum" : 2,
16739 "optional" : 1,
4bd7df8b 16740 "type" : "integer",
4d47f125
TL
16741 "typetext" : "<integer> (2 - 262144)",
16742 "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 16743 },
4d47f125
TL
16744 "delete" : {
16745 "description" : "A list of settings you want to delete.",
16746 "format" : "pve-configid-list",
16747 "optional" : 1,
16748 "type" : "string",
16749 "typetext" : "<string>"
16750 },
16751 "description" : {
16752 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
16753 "optional" : 1,
16754 "type" : "string",
16755 "typetext" : "<string>"
16756 },
16757 "digest" : {
16758 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16759 "maxLength" : 40,
44660702 16760 "optional" : 1,
4d47f125
TL
16761 "type" : "string",
16762 "typetext" : "<string>"
16763 },
16764 "efidisk0" : {
d2656385 16765 "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
16766 "format" : {
16767 "file" : {
16768 "default_key" : 1,
16769 "description" : "The drive's backing volume.",
16770 "format" : "pve-volume-id-or-qm-path",
16771 "format_description" : "volume",
16772 "type" : "string"
16773 },
16774 "format" : {
16775 "description" : "The drive's backing file's data format.",
16776 "enum" : [
16777 "raw",
16778 "cow",
16779 "qcow",
16780 "qed",
16781 "qcow2",
16782 "vmdk",
16783 "cloop"
16784 ],
16785 "optional" : 1,
16786 "type" : "string"
16787 },
16788 "size" : {
16789 "description" : "Disk size. This is purely informational and has no effect.",
16790 "format" : "disk-size",
16791 "format_description" : "DiskSize",
16792 "optional" : 1,
16793 "type" : "string"
16794 },
16795 "volume" : {
16796 "alias" : "file"
16797 }
16798 },
16799 "optional" : 1,
16800 "type" : "string",
16801 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
16802 },
16803 "force" : {
16804 "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.",
16805 "optional" : 1,
16806 "requires" : "delete",
013dc89f
DM
16807 "type" : "boolean",
16808 "typetext" : "<boolean>"
56122987 16809 },
4d47f125
TL
16810 "freeze" : {
16811 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
16812 "optional" : 1,
16813 "type" : "boolean",
16814 "typetext" : "<boolean>"
7aacca6f 16815 },
5f26e15b
TL
16816 "hookscript" : {
16817 "description" : "Script that will be executed during various steps in the vms lifetime.",
16818 "format" : "pve-volume-id",
16819 "optional" : 1,
16820 "type" : "string",
16821 "typetext" : "<string>"
16822 },
4d47f125
TL
16823 "hostpci[n]" : {
16824 "description" : "Map host PCI devices into guest.",
16825 "format" : "pve-qm-hostpci",
16826 "optional" : 1,
16827 "type" : "string",
ac70d7d1 16828 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 16829 "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 16830 },
4d47f125
TL
16831 "hotplug" : {
16832 "default" : "network,disk,usb",
16833 "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'.",
16834 "format" : "pve-hotplug-features",
16835 "optional" : 1,
35a75dd3
DM
16836 "type" : "string",
16837 "typetext" : "<string>"
16838 },
4d47f125
TL
16839 "hugepages" : {
16840 "description" : "Enable/disable hugepages memory.",
35a75dd3 16841 "enum" : [
4d47f125
TL
16842 "any",
16843 "2",
16844 "1024"
35a75dd3
DM
16845 ],
16846 "optional" : 1,
16847 "type" : "string"
16848 },
4d47f125 16849 "ide[n]" : {
d2656385 16850 "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
16851 "format" : {
16852 "aio" : {
16853 "description" : "AIO type to use.",
16854 "enum" : [
16855 "native",
16856 "threads"
16857 ],
44660702 16858 "optional" : 1,
44660702
DM
16859 "type" : "string"
16860 },
4d47f125
TL
16861 "backup" : {
16862 "description" : "Whether the drive should be included when making backups.",
56122987 16863 "optional" : 1,
4d47f125 16864 "type" : "boolean"
56122987 16865 },
4d47f125
TL
16866 "bps" : {
16867 "description" : "Maximum r/w speed in bytes per second.",
16868 "format_description" : "bps",
de0983cb 16869 "optional" : 1,
4d47f125 16870 "type" : "integer"
de0983cb 16871 },
4d47f125
TL
16872 "bps_max_length" : {
16873 "description" : "Maximum length of I/O bursts in seconds.",
16874 "format_description" : "seconds",
16875 "minimum" : 1,
de0983cb 16876 "optional" : 1,
4d47f125 16877 "type" : "integer"
7aacca6f 16878 },
4d47f125
TL
16879 "bps_rd" : {
16880 "description" : "Maximum read speed in bytes per second.",
16881 "format_description" : "bps",
7aacca6f 16882 "optional" : 1,
4d47f125 16883 "type" : "integer"
56122987 16884 },
4d47f125
TL
16885 "bps_rd_length" : {
16886 "alias" : "bps_rd_max_length"
16887 },
16888 "bps_rd_max_length" : {
16889 "description" : "Maximum length of read I/O bursts in seconds.",
16890 "format_description" : "seconds",
16891 "minimum" : 1,
56122987 16892 "optional" : 1,
4d47f125 16893 "type" : "integer"
56122987 16894 },
4d47f125
TL
16895 "bps_wr" : {
16896 "description" : "Maximum write speed in bytes per second.",
16897 "format_description" : "bps",
52e44c50 16898 "optional" : 1,
4d47f125 16899 "type" : "integer"
52e44c50 16900 },
4d47f125
TL
16901 "bps_wr_length" : {
16902 "alias" : "bps_wr_max_length"
16903 },
16904 "bps_wr_max_length" : {
16905 "description" : "Maximum length of write I/O bursts in seconds.",
16906 "format_description" : "seconds",
44660702 16907 "minimum" : 1,
56122987 16908 "optional" : 1,
4d47f125 16909 "type" : "integer"
56122987 16910 },
4d47f125
TL
16911 "cache" : {
16912 "description" : "The drive's cache mode",
16913 "enum" : [
16914 "none",
16915 "writethrough",
16916 "writeback",
16917 "unsafe",
16918 "directsync"
16919 ],
7aacca6f 16920 "optional" : 1,
4d47f125 16921 "type" : "string"
7aacca6f 16922 },
4d47f125
TL
16923 "cyls" : {
16924 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
16925 "optional" : 1,
16926 "type" : "integer"
56122987 16927 },
4d47f125
TL
16928 "detect_zeroes" : {
16929 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 16930 "optional" : 1,
4d47f125 16931 "type" : "boolean"
56122987 16932 },
4d47f125
TL
16933 "discard" : {
16934 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
16935 "enum" : [
16936 "ignore",
16937 "on"
16938 ],
56122987 16939 "optional" : 1,
4d47f125 16940 "type" : "string"
7aacca6f 16941 },
4d47f125
TL
16942 "file" : {
16943 "default_key" : 1,
16944 "description" : "The drive's backing volume.",
16945 "format" : "pve-volume-id-or-qm-path",
16946 "format_description" : "volume",
16947 "type" : "string"
56122987 16948 },
4d47f125
TL
16949 "format" : {
16950 "description" : "The drive's backing file's data format.",
16951 "enum" : [
16952 "raw",
16953 "cow",
16954 "qcow",
16955 "qed",
16956 "qcow2",
16957 "vmdk",
16958 "cloop"
16959 ],
7aacca6f 16960 "optional" : 1,
4d47f125 16961 "type" : "string"
7aacca6f 16962 },
4d47f125
TL
16963 "heads" : {
16964 "description" : "Force the drive's physical geometry to have a specific head count.",
7aacca6f 16965 "optional" : 1,
4d47f125 16966 "type" : "integer"
56122987 16967 },
4d47f125
TL
16968 "iops" : {
16969 "description" : "Maximum r/w I/O in operations per second.",
16970 "format_description" : "iops",
44660702 16971 "optional" : 1,
4d47f125 16972 "type" : "integer"
44660702 16973 },
4d47f125
TL
16974 "iops_max" : {
16975 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
16976 "format_description" : "iops",
44660702 16977 "optional" : 1,
4d47f125 16978 "type" : "integer"
56122987 16979 },
4d47f125
TL
16980 "iops_max_length" : {
16981 "description" : "Maximum length of I/O bursts in seconds.",
16982 "format_description" : "seconds",
16983 "minimum" : 1,
7aacca6f 16984 "optional" : 1,
4d47f125 16985 "type" : "integer"
7aacca6f 16986 },
4d47f125
TL
16987 "iops_rd" : {
16988 "description" : "Maximum read I/O in operations per second.",
16989 "format_description" : "iops",
16990 "optional" : 1,
16991 "type" : "integer"
16992 },
16993 "iops_rd_length" : {
16994 "alias" : "iops_rd_max_length"
16995 },
16996 "iops_rd_max" : {
16997 "description" : "Maximum unthrottled read I/O pool in operations per second.",
16998 "format_description" : "iops",
16999 "optional" : 1,
17000 "type" : "integer"
17001 },
17002 "iops_rd_max_length" : {
17003 "description" : "Maximum length of read I/O bursts in seconds.",
17004 "format_description" : "seconds",
44660702 17005 "minimum" : 1,
4d47f125
TL
17006 "optional" : 1,
17007 "type" : "integer"
7aacca6f 17008 },
4d47f125
TL
17009 "iops_wr" : {
17010 "description" : "Maximum write I/O in operations per second.",
17011 "format_description" : "iops",
44660702 17012 "optional" : 1,
4d47f125 17013 "type" : "integer"
44660702 17014 },
4d47f125
TL
17015 "iops_wr_length" : {
17016 "alias" : "iops_wr_max_length"
17017 },
17018 "iops_wr_max" : {
17019 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17020 "format_description" : "iops",
17021 "optional" : 1,
17022 "type" : "integer"
17023 },
17024 "iops_wr_max_length" : {
17025 "description" : "Maximum length of write I/O bursts in seconds.",
17026 "format_description" : "seconds",
44660702 17027 "minimum" : 1,
44660702 17028 "optional" : 1,
4d47f125 17029 "type" : "integer"
44660702 17030 },
4d47f125
TL
17031 "mbps" : {
17032 "description" : "Maximum r/w speed in megabytes per second.",
17033 "format_description" : "mbps",
17034 "optional" : 1,
17035 "type" : "number"
56122987 17036 },
4d47f125
TL
17037 "mbps_max" : {
17038 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17039 "format_description" : "mbps",
17040 "optional" : 1,
17041 "type" : "number"
17042 },
17043 "mbps_rd" : {
17044 "description" : "Maximum read speed in megabytes per second.",
17045 "format_description" : "mbps",
17046 "optional" : 1,
17047 "type" : "number"
17048 },
17049 "mbps_rd_max" : {
17050 "description" : "Maximum unthrottled read pool in megabytes per second.",
17051 "format_description" : "mbps",
17052 "optional" : 1,
17053 "type" : "number"
17054 },
17055 "mbps_wr" : {
17056 "description" : "Maximum write speed in megabytes per second.",
17057 "format_description" : "mbps",
17058 "optional" : 1,
17059 "type" : "number"
17060 },
17061 "mbps_wr_max" : {
17062 "description" : "Maximum unthrottled write pool in megabytes per second.",
17063 "format_description" : "mbps",
17064 "optional" : 1,
17065 "type" : "number"
17066 },
17067 "media" : {
17068 "default" : "disk",
17069 "description" : "The drive's media type.",
17070 "enum" : [
17071 "cdrom",
17072 "disk"
17073 ],
17074 "optional" : 1,
17075 "type" : "string"
17076 },
17077 "model" : {
17078 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
17079 "format" : "urlencoded",
17080 "format_description" : "model",
17081 "maxLength" : 120,
17082 "optional" : 1,
17083 "type" : "string"
17084 },
17085 "replicate" : {
17086 "default" : 1,
17087 "description" : "Whether the drive should considered for replication jobs.",
17088 "optional" : 1,
17089 "type" : "boolean"
17090 },
17091 "rerror" : {
17092 "description" : "Read error action.",
17093 "enum" : [
17094 "ignore",
17095 "report",
17096 "stop"
17097 ],
17098 "optional" : 1,
17099 "type" : "string"
17100 },
17101 "secs" : {
17102 "description" : "Force the drive's physical geometry to have a specific sector count.",
17103 "optional" : 1,
17104 "type" : "integer"
17105 },
17106 "serial" : {
17107 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17108 "format" : "urlencoded",
17109 "format_description" : "serial",
17110 "maxLength" : 60,
17111 "optional" : 1,
17112 "type" : "string"
17113 },
17114 "shared" : {
17115 "default" : 0,
17116 "description" : "Mark this locally-managed volume as available on all nodes",
44660702 17117 "optional" : 1,
013dc89f 17118 "type" : "boolean",
4d47f125 17119 "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 17120 },
4d47f125
TL
17121 "size" : {
17122 "description" : "Disk size. This is purely informational and has no effect.",
17123 "format" : "disk-size",
17124 "format_description" : "DiskSize",
17125 "optional" : 1,
17126 "type" : "string"
17127 },
17128 "snapshot" : {
17129 "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.",
17130 "optional" : 1,
17131 "type" : "boolean"
17132 },
25203dc1
NC
17133 "ssd" : {
17134 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17135 "optional" : 1,
17136 "type" : "boolean"
17137 },
4d47f125
TL
17138 "trans" : {
17139 "description" : "Force disk geometry bios translation mode.",
17140 "enum" : [
17141 "none",
17142 "lba",
17143 "auto"
17144 ],
17145 "optional" : 1,
17146 "type" : "string"
17147 },
17148 "volume" : {
17149 "alias" : "file"
17150 },
17151 "werror" : {
17152 "description" : "Write error action.",
17153 "enum" : [
17154 "enospc",
17155 "ignore",
17156 "report",
17157 "stop"
17158 ],
17159 "optional" : 1,
17160 "type" : "string"
95895385
TL
17161 },
17162 "wwn" : {
17163 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17164 "format_description" : "wwn",
17165 "optional" : 1,
17166 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17167 "type" : "string"
4d47f125
TL
17168 }
17169 },
17170 "optional" : 1,
013dc89f 17171 "type" : "string",
95895385 17172 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702 17173 },
4d47f125 17174 "ipconfig[n]" : {
d2656385 17175 "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
17176 "format" : "pve-qm-ipconfig",
17177 "optional" : 1,
013dc89f 17178 "type" : "string",
4d47f125 17179 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
44660702 17180 },
95895385
TL
17181 "ivshmem" : {
17182 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
17183 "format" : {
17184 "name" : {
17185 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
17186 "format_description" : "string",
17187 "optional" : 1,
17188 "pattern" : "[a-zA-Z0-9\\-]+",
17189 "type" : "string"
17190 },
17191 "size" : {
17192 "description" : "The size of the file in MB.",
17193 "minimum" : 1,
17194 "type" : "integer"
17195 }
17196 },
17197 "optional" : 1,
17198 "type" : "string",
17199 "typetext" : "size=<integer> [,name=<string>]"
17200 },
4772952b
TL
17201 "keephugepages" : {
17202 "default" : 0,
17203 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
17204 "optional" : 1,
17205 "type" : "boolean",
17206 "typetext" : "<boolean>"
17207 },
4d47f125
TL
17208 "keyboard" : {
17209 "default" : null,
17210 "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.",
17211 "enum" : [
17212 "de",
17213 "de-ch",
17214 "da",
17215 "en-gb",
17216 "en-us",
17217 "es",
17218 "fi",
17219 "fr",
17220 "fr-be",
17221 "fr-ca",
17222 "fr-ch",
17223 "hu",
17224 "is",
17225 "it",
17226 "ja",
17227 "lt",
17228 "mk",
17229 "nl",
17230 "no",
17231 "pl",
17232 "pt",
17233 "pt-br",
17234 "sv",
17235 "sl",
17236 "tr"
17237 ],
17238 "optional" : 1,
17239 "type" : "string"
44660702 17240 },
4d47f125
TL
17241 "kvm" : {
17242 "default" : 1,
17243 "description" : "Enable/disable KVM hardware virtualization.",
44660702 17244 "optional" : 1,
013dc89f
DM
17245 "type" : "boolean",
17246 "typetext" : "<boolean>"
7aacca6f 17247 },
4d47f125
TL
17248 "localtime" : {
17249 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
17250 "optional" : 1,
17251 "type" : "boolean",
17252 "typetext" : "<boolean>"
17253 },
17254 "lock" : {
17255 "description" : "Lock/unlock the VM.",
56122987 17256 "enum" : [
4d47f125 17257 "backup",
5f26e15b
TL
17258 "clone",
17259 "create",
17260 "migrate",
17261 "rollback",
56122987 17262 "snapshot",
95895385
TL
17263 "snapshot-delete",
17264 "suspending",
17265 "suspended"
56122987 17266 ],
4d47f125 17267 "optional" : 1,
44660702
DM
17268 "type" : "string"
17269 },
4d47f125
TL
17270 "machine" : {
17271 "description" : "Specifies the Qemu machine type.",
17272 "maxLength" : 40,
17273 "optional" : 1,
5c1699e5 17274 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
17275 "type" : "string"
17276 },
17277 "memory" : {
17278 "default" : 512,
17279 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
17280 "minimum" : 16,
17281 "optional" : 1,
17282 "type" : "integer",
17283 "typetext" : "<integer> (16 - N)"
17284 },
17285 "migrate_downtime" : {
17286 "default" : 0.1,
17287 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
17288 "minimum" : 0,
17289 "optional" : 1,
17290 "type" : "number",
17291 "typetext" : "<number> (0 - N)"
17292 },
17293 "migrate_speed" : {
17294 "default" : 0,
17295 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
17296 "minimum" : 0,
17297 "optional" : 1,
17298 "type" : "integer",
17299 "typetext" : "<integer> (0 - N)"
17300 },
17301 "name" : {
17302 "description" : "Set a name for the VM. Only used on the configuration web interface.",
17303 "format" : "dns-name",
17304 "optional" : 1,
013dc89f
DM
17305 "type" : "string",
17306 "typetext" : "<string>"
56122987 17307 },
4d47f125 17308 "nameserver" : {
4772952b 17309 "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 17310 "format" : "address-list",
7aacca6f 17311 "optional" : 1,
013dc89f
DM
17312 "type" : "string",
17313 "typetext" : "<string>"
7aacca6f 17314 },
4d47f125
TL
17315 "net[n]" : {
17316 "description" : "Specify network devices.",
17317 "format" : {
17318 "bridge" : {
17319 "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",
17320 "format_description" : "bridge",
17321 "optional" : 1,
c5aa7e14 17322 "pattern" : "[-_.\\w\\d]+",
4d47f125
TL
17323 "type" : "string"
17324 },
17325 "e1000" : {
17326 "alias" : "macaddr",
17327 "keyAlias" : "model"
17328 },
17329 "e1000-82540em" : {
17330 "alias" : "macaddr",
17331 "keyAlias" : "model"
17332 },
17333 "e1000-82544gc" : {
17334 "alias" : "macaddr",
17335 "keyAlias" : "model"
17336 },
17337 "e1000-82545em" : {
17338 "alias" : "macaddr",
17339 "keyAlias" : "model"
17340 },
17341 "firewall" : {
17342 "description" : "Whether this interface should be protected by the firewall.",
17343 "optional" : 1,
17344 "type" : "boolean"
17345 },
17346 "i82551" : {
17347 "alias" : "macaddr",
17348 "keyAlias" : "model"
17349 },
17350 "i82557b" : {
17351 "alias" : "macaddr",
17352 "keyAlias" : "model"
17353 },
17354 "i82559er" : {
17355 "alias" : "macaddr",
17356 "keyAlias" : "model"
17357 },
17358 "link_down" : {
17359 "description" : "Whether this interface should be disconnected (like pulling the plug).",
17360 "optional" : 1,
17361 "type" : "boolean"
17362 },
17363 "macaddr" : {
17364 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 17365 "format" : "mac-addr",
4d47f125
TL
17366 "format_description" : "XX:XX:XX:XX:XX:XX",
17367 "optional" : 1,
95895385
TL
17368 "type" : "string",
17369 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
17370 },
17371 "model" : {
17372 "default_key" : 1,
17373 "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'.",
17374 "enum" : [
17375 "rtl8139",
17376 "ne2k_pci",
17377 "e1000",
17378 "pcnet",
17379 "virtio",
17380 "ne2k_isa",
17381 "i82551",
17382 "i82557b",
17383 "i82559er",
17384 "vmxnet3",
17385 "e1000-82540em",
17386 "e1000-82544gc",
17387 "e1000-82545em"
17388 ],
17389 "type" : "string"
17390 },
ac70d7d1
TL
17391 "mtu" : {
17392 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
17393 "maximum" : 65520,
17394 "minimum" : 1,
17395 "optional" : 1,
17396 "type" : "integer"
17397 },
4d47f125
TL
17398 "ne2k_isa" : {
17399 "alias" : "macaddr",
17400 "keyAlias" : "model"
17401 },
17402 "ne2k_pci" : {
17403 "alias" : "macaddr",
17404 "keyAlias" : "model"
17405 },
17406 "pcnet" : {
17407 "alias" : "macaddr",
17408 "keyAlias" : "model"
17409 },
17410 "queues" : {
17411 "description" : "Number of packet queues to be used on the device.",
17412 "maximum" : 16,
17413 "minimum" : 0,
17414 "optional" : 1,
17415 "type" : "integer"
17416 },
17417 "rate" : {
17418 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
17419 "minimum" : 0,
17420 "optional" : 1,
17421 "type" : "number"
17422 },
17423 "rtl8139" : {
17424 "alias" : "macaddr",
17425 "keyAlias" : "model"
17426 },
17427 "tag" : {
17428 "description" : "VLAN tag to apply to packets on this interface.",
17429 "maximum" : 4094,
17430 "minimum" : 1,
17431 "optional" : 1,
17432 "type" : "integer"
17433 },
17434 "trunks" : {
17435 "description" : "VLAN trunks to pass through this interface.",
17436 "format_description" : "vlanid[;vlanid...]",
17437 "optional" : 1,
17438 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17439 "type" : "string"
17440 },
17441 "virtio" : {
17442 "alias" : "macaddr",
17443 "keyAlias" : "model"
17444 },
17445 "vmxnet3" : {
17446 "alias" : "macaddr",
17447 "keyAlias" : "model"
17448 }
44660702 17449 },
44660702 17450 "optional" : 1,
013dc89f 17451 "type" : "string",
ac70d7d1 17452 "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
17453 },
17454 "node" : {
17455 "description" : "The cluster node name.",
17456 "format" : "pve-node",
013dc89f
DM
17457 "type" : "string",
17458 "typetext" : "<string>"
7aacca6f 17459 },
4d47f125
TL
17460 "numa" : {
17461 "default" : 0,
17462 "description" : "Enable/disable NUMA.",
56122987 17463 "optional" : 1,
4d47f125
TL
17464 "type" : "boolean",
17465 "typetext" : "<boolean>"
56122987 17466 },
4d47f125
TL
17467 "numa[n]" : {
17468 "description" : "NUMA topology.",
17469 "format" : {
17470 "cpus" : {
17471 "description" : "CPUs accessing this NUMA node.",
17472 "format_description" : "id[-id];...",
17473 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17474 "type" : "string"
17475 },
17476 "hostnodes" : {
17477 "description" : "Host NUMA nodes to use.",
17478 "format_description" : "id[-id];...",
17479 "optional" : 1,
17480 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
17481 "type" : "string"
17482 },
17483 "memory" : {
17484 "description" : "Amount of memory this NUMA node provides.",
17485 "optional" : 1,
17486 "type" : "number"
17487 },
17488 "policy" : {
17489 "description" : "NUMA allocation policy.",
17490 "enum" : [
17491 "preferred",
17492 "bind",
17493 "interleave"
17494 ],
17495 "optional" : 1,
17496 "type" : "string"
17497 }
17498 },
7aacca6f 17499 "optional" : 1,
013dc89f 17500 "type" : "string",
4d47f125 17501 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 17502 },
4d47f125 17503 "onboot" : {
44660702 17504 "default" : 0,
4d47f125 17505 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 17506 "optional" : 1,
013dc89f
DM
17507 "type" : "boolean",
17508 "typetext" : "<boolean>"
56122987 17509 },
4d47f125
TL
17510 "ostype" : {
17511 "description" : "Specify guest operating system.",
7aacca6f 17512 "enum" : [
4d47f125
TL
17513 "other",
17514 "wxp",
17515 "w2k",
17516 "w2k3",
17517 "w2k8",
17518 "wvista",
17519 "win7",
17520 "win8",
17521 "win10",
17522 "l24",
17523 "l26",
17524 "solaris"
7aacca6f
DM
17525 ],
17526 "optional" : 1,
013dc89f 17527 "type" : "string",
d2656385 17528 "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 17529 },
4d47f125
TL
17530 "parallel[n]" : {
17531 "description" : "Map host parallel devices (n is 0 to 2).",
17532 "optional" : 1,
17533 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
013dc89f 17534 "type" : "string",
4772952b 17535 "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 17536 },
4d47f125
TL
17537 "protection" : {
17538 "default" : 0,
17539 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
44660702 17540 "optional" : 1,
013dc89f
DM
17541 "type" : "boolean",
17542 "typetext" : "<boolean>"
44660702 17543 },
4d47f125
TL
17544 "reboot" : {
17545 "default" : 1,
17546 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
56122987 17547 "optional" : 1,
013dc89f
DM
17548 "type" : "boolean",
17549 "typetext" : "<boolean>"
56122987 17550 },
4d47f125
TL
17551 "revert" : {
17552 "description" : "Revert a pending change.",
17553 "format" : "pve-configid-list",
17554 "optional" : 1,
013dc89f
DM
17555 "type" : "string",
17556 "typetext" : "<string>"
56122987 17557 },
c5aa7e14
TL
17558 "rng0" : {
17559 "description" : "Configure a VirtIO-based Random Number Generator.",
17560 "format" : {
17561 "max_bytes" : {
17562 "default" : 1024,
17563 "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!).",
17564 "optional" : 1,
17565 "type" : "integer"
17566 },
17567 "period" : {
17568 "default" : 1000,
17569 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
17570 "optional" : 1,
17571 "type" : "integer"
17572 },
17573 "source" : {
17574 "default_key" : 1,
17575 "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.",
17576 "enum" : [
17577 "/dev/urandom",
17578 "/dev/random",
17579 "/dev/hwrng"
17580 ],
17581 "type" : "string"
17582 }
17583 },
17584 "optional" : 1,
17585 "type" : "string",
17586 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
17587 },
4d47f125 17588 "sata[n]" : {
d2656385 17589 "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
17590 "format" : {
17591 "aio" : {
17592 "description" : "AIO type to use.",
17593 "enum" : [
17594 "native",
17595 "threads"
17596 ],
17597 "optional" : 1,
17598 "type" : "string"
17599 },
17600 "backup" : {
17601 "description" : "Whether the drive should be included when making backups.",
17602 "optional" : 1,
17603 "type" : "boolean"
17604 },
17605 "bps" : {
17606 "description" : "Maximum r/w speed in bytes per second.",
17607 "format_description" : "bps",
17608 "optional" : 1,
17609 "type" : "integer"
17610 },
17611 "bps_max_length" : {
17612 "description" : "Maximum length of I/O bursts in seconds.",
17613 "format_description" : "seconds",
17614 "minimum" : 1,
17615 "optional" : 1,
17616 "type" : "integer"
17617 },
17618 "bps_rd" : {
17619 "description" : "Maximum read speed in bytes per second.",
17620 "format_description" : "bps",
17621 "optional" : 1,
17622 "type" : "integer"
17623 },
17624 "bps_rd_length" : {
17625 "alias" : "bps_rd_max_length"
17626 },
17627 "bps_rd_max_length" : {
17628 "description" : "Maximum length of read I/O bursts in seconds.",
17629 "format_description" : "seconds",
17630 "minimum" : 1,
17631 "optional" : 1,
17632 "type" : "integer"
17633 },
17634 "bps_wr" : {
17635 "description" : "Maximum write speed in bytes per second.",
17636 "format_description" : "bps",
17637 "optional" : 1,
17638 "type" : "integer"
17639 },
17640 "bps_wr_length" : {
17641 "alias" : "bps_wr_max_length"
17642 },
17643 "bps_wr_max_length" : {
17644 "description" : "Maximum length of write I/O bursts in seconds.",
17645 "format_description" : "seconds",
17646 "minimum" : 1,
17647 "optional" : 1,
17648 "type" : "integer"
17649 },
17650 "cache" : {
17651 "description" : "The drive's cache mode",
17652 "enum" : [
17653 "none",
17654 "writethrough",
17655 "writeback",
17656 "unsafe",
17657 "directsync"
17658 ],
17659 "optional" : 1,
17660 "type" : "string"
17661 },
17662 "cyls" : {
17663 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17664 "optional" : 1,
17665 "type" : "integer"
17666 },
17667 "detect_zeroes" : {
17668 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17669 "optional" : 1,
17670 "type" : "boolean"
17671 },
17672 "discard" : {
17673 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17674 "enum" : [
17675 "ignore",
17676 "on"
17677 ],
17678 "optional" : 1,
17679 "type" : "string"
17680 },
17681 "file" : {
17682 "default_key" : 1,
17683 "description" : "The drive's backing volume.",
17684 "format" : "pve-volume-id-or-qm-path",
17685 "format_description" : "volume",
17686 "type" : "string"
17687 },
17688 "format" : {
17689 "description" : "The drive's backing file's data format.",
17690 "enum" : [
17691 "raw",
17692 "cow",
17693 "qcow",
17694 "qed",
17695 "qcow2",
17696 "vmdk",
17697 "cloop"
17698 ],
17699 "optional" : 1,
17700 "type" : "string"
17701 },
17702 "heads" : {
17703 "description" : "Force the drive's physical geometry to have a specific head count.",
17704 "optional" : 1,
17705 "type" : "integer"
17706 },
17707 "iops" : {
17708 "description" : "Maximum r/w I/O in operations per second.",
17709 "format_description" : "iops",
17710 "optional" : 1,
17711 "type" : "integer"
17712 },
17713 "iops_max" : {
17714 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
17715 "format_description" : "iops",
17716 "optional" : 1,
17717 "type" : "integer"
17718 },
17719 "iops_max_length" : {
17720 "description" : "Maximum length of I/O bursts in seconds.",
17721 "format_description" : "seconds",
17722 "minimum" : 1,
17723 "optional" : 1,
17724 "type" : "integer"
17725 },
17726 "iops_rd" : {
17727 "description" : "Maximum read I/O in operations per second.",
17728 "format_description" : "iops",
17729 "optional" : 1,
17730 "type" : "integer"
17731 },
17732 "iops_rd_length" : {
17733 "alias" : "iops_rd_max_length"
17734 },
17735 "iops_rd_max" : {
17736 "description" : "Maximum unthrottled read I/O pool in operations per second.",
17737 "format_description" : "iops",
17738 "optional" : 1,
17739 "type" : "integer"
17740 },
17741 "iops_rd_max_length" : {
17742 "description" : "Maximum length of read I/O bursts in seconds.",
17743 "format_description" : "seconds",
17744 "minimum" : 1,
17745 "optional" : 1,
17746 "type" : "integer"
17747 },
17748 "iops_wr" : {
17749 "description" : "Maximum write I/O in operations per second.",
17750 "format_description" : "iops",
17751 "optional" : 1,
17752 "type" : "integer"
17753 },
17754 "iops_wr_length" : {
17755 "alias" : "iops_wr_max_length"
17756 },
17757 "iops_wr_max" : {
17758 "description" : "Maximum unthrottled write I/O pool in operations per second.",
17759 "format_description" : "iops",
17760 "optional" : 1,
17761 "type" : "integer"
17762 },
17763 "iops_wr_max_length" : {
17764 "description" : "Maximum length of write I/O bursts in seconds.",
17765 "format_description" : "seconds",
17766 "minimum" : 1,
17767 "optional" : 1,
17768 "type" : "integer"
17769 },
17770 "mbps" : {
17771 "description" : "Maximum r/w speed in megabytes per second.",
17772 "format_description" : "mbps",
17773 "optional" : 1,
17774 "type" : "number"
17775 },
17776 "mbps_max" : {
17777 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
17778 "format_description" : "mbps",
17779 "optional" : 1,
17780 "type" : "number"
17781 },
17782 "mbps_rd" : {
17783 "description" : "Maximum read speed in megabytes per second.",
17784 "format_description" : "mbps",
17785 "optional" : 1,
17786 "type" : "number"
17787 },
17788 "mbps_rd_max" : {
17789 "description" : "Maximum unthrottled read pool in megabytes per second.",
17790 "format_description" : "mbps",
17791 "optional" : 1,
17792 "type" : "number"
17793 },
17794 "mbps_wr" : {
17795 "description" : "Maximum write speed in megabytes per second.",
17796 "format_description" : "mbps",
17797 "optional" : 1,
17798 "type" : "number"
17799 },
17800 "mbps_wr_max" : {
17801 "description" : "Maximum unthrottled write pool in megabytes per second.",
17802 "format_description" : "mbps",
17803 "optional" : 1,
17804 "type" : "number"
17805 },
17806 "media" : {
17807 "default" : "disk",
17808 "description" : "The drive's media type.",
17809 "enum" : [
17810 "cdrom",
17811 "disk"
17812 ],
17813 "optional" : 1,
17814 "type" : "string"
17815 },
17816 "replicate" : {
17817 "default" : 1,
17818 "description" : "Whether the drive should considered for replication jobs.",
17819 "optional" : 1,
17820 "type" : "boolean"
17821 },
17822 "rerror" : {
17823 "description" : "Read error action.",
17824 "enum" : [
17825 "ignore",
17826 "report",
17827 "stop"
17828 ],
17829 "optional" : 1,
17830 "type" : "string"
17831 },
17832 "secs" : {
17833 "description" : "Force the drive's physical geometry to have a specific sector count.",
17834 "optional" : 1,
17835 "type" : "integer"
17836 },
17837 "serial" : {
17838 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
17839 "format" : "urlencoded",
17840 "format_description" : "serial",
17841 "maxLength" : 60,
17842 "optional" : 1,
17843 "type" : "string"
17844 },
17845 "shared" : {
17846 "default" : 0,
17847 "description" : "Mark this locally-managed volume as available on all nodes",
17848 "optional" : 1,
17849 "type" : "boolean",
17850 "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!"
17851 },
17852 "size" : {
17853 "description" : "Disk size. This is purely informational and has no effect.",
17854 "format" : "disk-size",
17855 "format_description" : "DiskSize",
17856 "optional" : 1,
17857 "type" : "string"
17858 },
17859 "snapshot" : {
17860 "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.",
17861 "optional" : 1,
17862 "type" : "boolean"
17863 },
25203dc1
NC
17864 "ssd" : {
17865 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
17866 "optional" : 1,
17867 "type" : "boolean"
17868 },
4d47f125
TL
17869 "trans" : {
17870 "description" : "Force disk geometry bios translation mode.",
17871 "enum" : [
17872 "none",
17873 "lba",
17874 "auto"
17875 ],
17876 "optional" : 1,
17877 "type" : "string"
17878 },
17879 "volume" : {
17880 "alias" : "file"
17881 },
17882 "werror" : {
17883 "description" : "Write error action.",
17884 "enum" : [
17885 "enospc",
17886 "ignore",
17887 "report",
17888 "stop"
17889 ],
17890 "optional" : 1,
17891 "type" : "string"
95895385
TL
17892 },
17893 "wwn" : {
17894 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
17895 "format_description" : "wwn",
17896 "optional" : 1,
17897 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
17898 "type" : "string"
4d47f125
TL
17899 }
17900 },
17901 "optional" : 1,
17902 "type" : "string",
95895385 17903 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
17904 },
17905 "scsi[n]" : {
d2656385 17906 "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
17907 "format" : {
17908 "aio" : {
17909 "description" : "AIO type to use.",
17910 "enum" : [
17911 "native",
17912 "threads"
17913 ],
17914 "optional" : 1,
17915 "type" : "string"
17916 },
17917 "backup" : {
17918 "description" : "Whether the drive should be included when making backups.",
17919 "optional" : 1,
17920 "type" : "boolean"
17921 },
17922 "bps" : {
17923 "description" : "Maximum r/w speed in bytes per second.",
17924 "format_description" : "bps",
17925 "optional" : 1,
17926 "type" : "integer"
17927 },
17928 "bps_max_length" : {
17929 "description" : "Maximum length of I/O bursts in seconds.",
17930 "format_description" : "seconds",
17931 "minimum" : 1,
17932 "optional" : 1,
17933 "type" : "integer"
17934 },
17935 "bps_rd" : {
17936 "description" : "Maximum read speed in bytes per second.",
17937 "format_description" : "bps",
17938 "optional" : 1,
17939 "type" : "integer"
17940 },
17941 "bps_rd_length" : {
17942 "alias" : "bps_rd_max_length"
17943 },
17944 "bps_rd_max_length" : {
17945 "description" : "Maximum length of read I/O bursts in seconds.",
17946 "format_description" : "seconds",
17947 "minimum" : 1,
17948 "optional" : 1,
17949 "type" : "integer"
17950 },
17951 "bps_wr" : {
17952 "description" : "Maximum write speed in bytes per second.",
17953 "format_description" : "bps",
17954 "optional" : 1,
17955 "type" : "integer"
17956 },
17957 "bps_wr_length" : {
17958 "alias" : "bps_wr_max_length"
17959 },
17960 "bps_wr_max_length" : {
17961 "description" : "Maximum length of write I/O bursts in seconds.",
17962 "format_description" : "seconds",
17963 "minimum" : 1,
17964 "optional" : 1,
17965 "type" : "integer"
17966 },
17967 "cache" : {
17968 "description" : "The drive's cache mode",
17969 "enum" : [
17970 "none",
17971 "writethrough",
17972 "writeback",
17973 "unsafe",
17974 "directsync"
17975 ],
17976 "optional" : 1,
17977 "type" : "string"
17978 },
17979 "cyls" : {
17980 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
17981 "optional" : 1,
17982 "type" : "integer"
17983 },
17984 "detect_zeroes" : {
17985 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
17986 "optional" : 1,
17987 "type" : "boolean"
17988 },
17989 "discard" : {
17990 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
17991 "enum" : [
17992 "ignore",
17993 "on"
17994 ],
17995 "optional" : 1,
17996 "type" : "string"
17997 },
17998 "file" : {
17999 "default_key" : 1,
18000 "description" : "The drive's backing volume.",
18001 "format" : "pve-volume-id-or-qm-path",
18002 "format_description" : "volume",
18003 "type" : "string"
18004 },
18005 "format" : {
18006 "description" : "The drive's backing file's data format.",
18007 "enum" : [
18008 "raw",
18009 "cow",
18010 "qcow",
18011 "qed",
18012 "qcow2",
18013 "vmdk",
18014 "cloop"
18015 ],
18016 "optional" : 1,
18017 "type" : "string"
18018 },
18019 "heads" : {
18020 "description" : "Force the drive's physical geometry to have a specific head count.",
18021 "optional" : 1,
18022 "type" : "integer"
18023 },
18024 "iops" : {
18025 "description" : "Maximum r/w I/O in operations per second.",
18026 "format_description" : "iops",
18027 "optional" : 1,
18028 "type" : "integer"
18029 },
18030 "iops_max" : {
18031 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
18032 "format_description" : "iops",
18033 "optional" : 1,
18034 "type" : "integer"
18035 },
18036 "iops_max_length" : {
18037 "description" : "Maximum length of I/O bursts in seconds.",
18038 "format_description" : "seconds",
18039 "minimum" : 1,
18040 "optional" : 1,
18041 "type" : "integer"
18042 },
18043 "iops_rd" : {
18044 "description" : "Maximum read I/O in operations per second.",
18045 "format_description" : "iops",
18046 "optional" : 1,
18047 "type" : "integer"
18048 },
18049 "iops_rd_length" : {
18050 "alias" : "iops_rd_max_length"
18051 },
18052 "iops_rd_max" : {
18053 "description" : "Maximum unthrottled read I/O pool in operations per second.",
18054 "format_description" : "iops",
18055 "optional" : 1,
18056 "type" : "integer"
18057 },
18058 "iops_rd_max_length" : {
18059 "description" : "Maximum length of read I/O bursts in seconds.",
18060 "format_description" : "seconds",
18061 "minimum" : 1,
18062 "optional" : 1,
18063 "type" : "integer"
18064 },
18065 "iops_wr" : {
18066 "description" : "Maximum write I/O in operations per second.",
18067 "format_description" : "iops",
18068 "optional" : 1,
18069 "type" : "integer"
18070 },
18071 "iops_wr_length" : {
18072 "alias" : "iops_wr_max_length"
18073 },
18074 "iops_wr_max" : {
18075 "description" : "Maximum unthrottled write I/O pool in operations per second.",
18076 "format_description" : "iops",
18077 "optional" : 1,
18078 "type" : "integer"
18079 },
18080 "iops_wr_max_length" : {
18081 "description" : "Maximum length of write I/O bursts in seconds.",
18082 "format_description" : "seconds",
18083 "minimum" : 1,
18084 "optional" : 1,
18085 "type" : "integer"
18086 },
18087 "iothread" : {
18088 "description" : "Whether to use iothreads for this drive",
18089 "optional" : 1,
18090 "type" : "boolean"
18091 },
18092 "mbps" : {
18093 "description" : "Maximum r/w speed in megabytes per second.",
18094 "format_description" : "mbps",
18095 "optional" : 1,
18096 "type" : "number"
18097 },
18098 "mbps_max" : {
18099 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
18100 "format_description" : "mbps",
18101 "optional" : 1,
18102 "type" : "number"
18103 },
18104 "mbps_rd" : {
18105 "description" : "Maximum read speed in megabytes per second.",
18106 "format_description" : "mbps",
18107 "optional" : 1,
18108 "type" : "number"
18109 },
18110 "mbps_rd_max" : {
18111 "description" : "Maximum unthrottled read pool in megabytes per second.",
18112 "format_description" : "mbps",
18113 "optional" : 1,
18114 "type" : "number"
18115 },
18116 "mbps_wr" : {
18117 "description" : "Maximum write speed in megabytes per second.",
18118 "format_description" : "mbps",
18119 "optional" : 1,
18120 "type" : "number"
18121 },
18122 "mbps_wr_max" : {
18123 "description" : "Maximum unthrottled write pool in megabytes per second.",
18124 "format_description" : "mbps",
18125 "optional" : 1,
18126 "type" : "number"
18127 },
18128 "media" : {
18129 "default" : "disk",
18130 "description" : "The drive's media type.",
18131 "enum" : [
18132 "cdrom",
18133 "disk"
18134 ],
18135 "optional" : 1,
18136 "type" : "string"
18137 },
18138 "queues" : {
18139 "description" : "Number of queues.",
18140 "minimum" : 2,
18141 "optional" : 1,
18142 "type" : "integer"
18143 },
18144 "replicate" : {
18145 "default" : 1,
18146 "description" : "Whether the drive should considered for replication jobs.",
18147 "optional" : 1,
18148 "type" : "boolean"
18149 },
18150 "rerror" : {
18151 "description" : "Read error action.",
18152 "enum" : [
18153 "ignore",
18154 "report",
18155 "stop"
18156 ],
18157 "optional" : 1,
18158 "type" : "string"
18159 },
18160 "scsiblock" : {
18161 "default" : 0,
18162 "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",
18163 "optional" : 1,
18164 "type" : "boolean"
18165 },
18166 "secs" : {
18167 "description" : "Force the drive's physical geometry to have a specific sector count.",
18168 "optional" : 1,
18169 "type" : "integer"
18170 },
18171 "serial" : {
18172 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18173 "format" : "urlencoded",
18174 "format_description" : "serial",
18175 "maxLength" : 60,
18176 "optional" : 1,
18177 "type" : "string"
18178 },
18179 "shared" : {
18180 "default" : 0,
18181 "description" : "Mark this locally-managed volume as available on all nodes",
18182 "optional" : 1,
18183 "type" : "boolean",
18184 "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!"
18185 },
18186 "size" : {
18187 "description" : "Disk size. This is purely informational and has no effect.",
18188 "format" : "disk-size",
18189 "format_description" : "DiskSize",
18190 "optional" : 1,
18191 "type" : "string"
18192 },
18193 "snapshot" : {
18194 "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.",
18195 "optional" : 1,
18196 "type" : "boolean"
18197 },
25203dc1
NC
18198 "ssd" : {
18199 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
18200 "optional" : 1,
18201 "type" : "boolean"
18202 },
4d47f125
TL
18203 "trans" : {
18204 "description" : "Force disk geometry bios translation mode.",
18205 "enum" : [
18206 "none",
18207 "lba",
18208 "auto"
18209 ],
18210 "optional" : 1,
18211 "type" : "string"
18212 },
18213 "volume" : {
18214 "alias" : "file"
18215 },
18216 "werror" : {
18217 "description" : "Write error action.",
18218 "enum" : [
18219 "enospc",
18220 "ignore",
18221 "report",
18222 "stop"
18223 ],
18224 "optional" : 1,
18225 "type" : "string"
95895385
TL
18226 },
18227 "wwn" : {
18228 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
18229 "format_description" : "wwn",
18230 "optional" : 1,
18231 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
18232 "type" : "string"
4d47f125
TL
18233 }
18234 },
18235 "optional" : 1,
18236 "type" : "string",
95895385 18237 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
4d47f125
TL
18238 },
18239 "scsihw" : {
18240 "default" : "lsi",
18241 "description" : "SCSI controller model",
18242 "enum" : [
18243 "lsi",
18244 "lsi53c810",
18245 "virtio-scsi-pci",
18246 "virtio-scsi-single",
18247 "megasas",
18248 "pvscsi"
18249 ],
18250 "optional" : 1,
18251 "type" : "string"
18252 },
18253 "searchdomain" : {
4772952b 18254 "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
18255 "optional" : 1,
18256 "type" : "string",
18257 "typetext" : "<string>"
18258 },
18259 "serial[n]" : {
18260 "description" : "Create a serial device inside the VM (n is 0 to 3)",
18261 "optional" : 1,
18262 "pattern" : "(/dev/.+|socket)",
18263 "type" : "string",
4772952b 18264 "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
18265 },
18266 "shares" : {
18267 "default" : 1000,
18268 "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.",
18269 "maximum" : 50000,
18270 "minimum" : 0,
18271 "optional" : 1,
18272 "type" : "integer",
18273 "typetext" : "<integer> (0 - 50000)"
18274 },
18275 "skiplock" : {
18276 "description" : "Ignore locks - only root is allowed to use this option.",
18277 "optional" : 1,
18278 "type" : "boolean",
18279 "typetext" : "<boolean>"
18280 },
18281 "smbios1" : {
18282 "description" : "Specify SMBIOS type 1 fields.",
18283 "format" : "pve-qm-smbios1",
1e3f8156 18284 "maxLength" : 512,
4d47f125
TL
18285 "optional" : 1,
18286 "type" : "string",
1e3f8156 18287 "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
18288 },
18289 "smp" : {
18290 "default" : 1,
18291 "description" : "The number of CPUs. Please use option -sockets instead.",
18292 "minimum" : 1,
18293 "optional" : 1,
18294 "type" : "integer",
18295 "typetext" : "<integer> (1 - N)"
18296 },
18297 "sockets" : {
18298 "default" : 1,
18299 "description" : "The number of CPU sockets.",
18300 "minimum" : 1,
18301 "optional" : 1,
18302 "type" : "integer",
18303 "typetext" : "<integer> (1 - N)"
18304 },
1c532546
TL
18305 "spice_enhancements" : {
18306 "description" : "Configure additional enhancements for SPICE.",
18307 "format" : {
18308 "foldersharing" : {
18309 "default" : "0",
18310 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
18311 "optional" : 1,
18312 "type" : "boolean"
18313 },
18314 "videostreaming" : {
18315 "default" : "off",
18316 "description" : "Enable video streaming. Uses compression for detected video streams.",
18317 "enum" : [
18318 "off",
18319 "all",
18320 "filter"
18321 ],
18322 "optional" : 1,
18323 "type" : "string"
18324 }
18325 },
18326 "optional" : 1,
18327 "type" : "string",
18328 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
18329 },
4d47f125
TL
18330 "sshkeys" : {
18331 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
18332 "format" : "urlencoded",
18333 "optional" : 1,
18334 "type" : "string",
18335 "typetext" : "<string>"
18336 },
18337 "startdate" : {
18338 "default" : "now",
4772952b 18339 "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
18340 "optional" : 1,
18341 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
18342 "type" : "string",
18343 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
18344 },
18345 "startup" : {
18346 "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.",
18347 "format" : "pve-startup-order",
18348 "optional" : 1,
18349 "type" : "string",
18350 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
18351 },
18352 "tablet" : {
18353 "default" : 1,
18354 "description" : "Enable/disable the USB tablet device.",
18355 "optional" : 1,
18356 "type" : "boolean",
18357 "typetext" : "<boolean>",
4772952b 18358 "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 18359 },
5c1699e5
TL
18360 "tags" : {
18361 "description" : "Tags of the VM. This is only meta information.",
18362 "format" : "pve-tag-list",
18363 "optional" : 1,
18364 "type" : "string",
18365 "typetext" : "<string>"
18366 },
4d47f125
TL
18367 "tdf" : {
18368 "default" : 0,
18369 "description" : "Enable/disable time drift fix.",
18370 "optional" : 1,
18371 "type" : "boolean",
18372 "typetext" : "<boolean>"
18373 },
18374 "template" : {
18375 "default" : 0,
18376 "description" : "Enable/disable Template.",
18377 "optional" : 1,
18378 "type" : "boolean",
18379 "typetext" : "<boolean>"
18380 },
18381 "unused[n]" : {
18382 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
18383 "format" : {
18384 "file" : {
18385 "default_key" : 1,
18386 "description" : "The drive's backing volume.",
18387 "format" : "pve-volume-id",
18388 "format_description" : "volume",
18389 "type" : "string"
18390 },
18391 "volume" : {
18392 "alias" : "file"
18393 }
18394 },
4d47f125
TL
18395 "optional" : 1,
18396 "type" : "string",
c5aa7e14 18397 "typetext" : "[file=]<volume>"
4d47f125
TL
18398 },
18399 "usb[n]" : {
18400 "description" : "Configure an USB device (n is 0 to 4).",
18401 "format" : {
18402 "host" : {
18403 "default_key" : 1,
4772952b 18404 "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
18405 "format" : "pve-qm-usb-device",
18406 "format_description" : "HOSTUSBDEVICE|spice",
18407 "type" : "string"
18408 },
18409 "usb3" : {
18410 "default" : 0,
1c532546 18411 "description" : "Specifies whether if given host option is a USB3 device or port.",
4d47f125
TL
18412 "optional" : 1,
18413 "type" : "boolean"
18414 }
18415 },
18416 "optional" : 1,
18417 "type" : "string",
18418 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
18419 },
18420 "vcpus" : {
18421 "default" : 0,
18422 "description" : "Number of hotplugged vcpus.",
18423 "minimum" : 1,
18424 "optional" : 1,
18425 "type" : "integer",
18426 "typetext" : "<integer> (1 - N)"
18427 },
18428 "vga" : {
e2d681b3
TL
18429 "description" : "Configure the VGA hardware.",
18430 "format" : {
18431 "memory" : {
18432 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
18433 "maximum" : 512,
18434 "minimum" : 4,
18435 "optional" : 1,
18436 "type" : "integer"
18437 },
18438 "type" : {
18439 "default" : "std",
18440 "default_key" : 1,
18441 "description" : "Select the VGA type.",
18442 "enum" : [
18443 "cirrus",
18444 "qxl",
18445 "qxl2",
18446 "qxl3",
18447 "qxl4",
5f26e15b 18448 "none",
e2d681b3
TL
18449 "serial0",
18450 "serial1",
18451 "serial2",
18452 "serial3",
18453 "std",
18454 "virtio",
18455 "vmware"
18456 ],
18457 "optional" : 1,
18458 "type" : "string"
18459 }
18460 },
4d47f125
TL
18461 "optional" : 1,
18462 "type" : "string",
e2d681b3
TL
18463 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
18464 "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
18465 },
18466 "virtio[n]" : {
d2656385 18467 "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
18468 "format" : {
18469 "aio" : {
18470 "description" : "AIO type to use.",
18471 "enum" : [
18472 "native",
18473 "threads"
18474 ],
18475 "optional" : 1,
18476 "type" : "string"
18477 },
18478 "backup" : {
18479 "description" : "Whether the drive should be included when making backups.",
18480 "optional" : 1,
18481 "type" : "boolean"
18482 },
18483 "bps" : {
18484 "description" : "Maximum r/w speed in bytes per second.",
18485 "format_description" : "bps",
18486 "optional" : 1,
18487 "type" : "integer"
18488 },
18489 "bps_max_length" : {
18490 "description" : "Maximum length of I/O bursts in seconds.",
18491 "format_description" : "seconds",
18492 "minimum" : 1,
18493 "optional" : 1,
18494 "type" : "integer"
18495 },
18496 "bps_rd" : {
18497 "description" : "Maximum read speed in bytes per second.",
18498 "format_description" : "bps",
18499 "optional" : 1,
18500 "type" : "integer"
18501 },
18502 "bps_rd_length" : {
18503 "alias" : "bps_rd_max_length"
18504 },
18505 "bps_rd_max_length" : {
18506 "description" : "Maximum length of read I/O bursts in seconds.",
18507 "format_description" : "seconds",
18508 "minimum" : 1,
18509 "optional" : 1,
18510 "type" : "integer"
18511 },
18512 "bps_wr" : {
18513 "description" : "Maximum write speed in bytes per second.",
18514 "format_description" : "bps",
18515 "optional" : 1,
18516 "type" : "integer"
18517 },
18518 "bps_wr_length" : {
18519 "alias" : "bps_wr_max_length"
18520 },
18521 "bps_wr_max_length" : {
18522 "description" : "Maximum length of write I/O bursts in seconds.",
18523 "format_description" : "seconds",
18524 "minimum" : 1,
18525 "optional" : 1,
18526 "type" : "integer"
18527 },
18528 "cache" : {
18529 "description" : "The drive's cache mode",
18530 "enum" : [
18531 "none",
18532 "writethrough",
18533 "writeback",
18534 "unsafe",
18535 "directsync"
18536 ],
18537 "optional" : 1,
18538 "type" : "string"
18539 },
18540 "cyls" : {
18541 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
18542 "optional" : 1,
18543 "type" : "integer"
18544 },
18545 "detect_zeroes" : {
18546 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
18547 "optional" : 1,
18548 "type" : "boolean"
18549 },
18550 "discard" : {
18551 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
18552 "enum" : [
18553 "ignore",
18554 "on"
18555 ],
18556 "optional" : 1,
18557 "type" : "string"
18558 },
18559 "file" : {
18560 "default_key" : 1,
18561 "description" : "The drive's backing volume.",
18562 "format" : "pve-volume-id-or-qm-path",
18563 "format_description" : "volume",
18564 "type" : "string"
18565 },
18566 "format" : {
18567 "description" : "The drive's backing file's data format.",
18568 "enum" : [
18569 "raw",
18570 "cow",
18571 "qcow",
18572 "qed",
18573 "qcow2",
18574 "vmdk",
18575 "cloop"
18576 ],
18577 "optional" : 1,
18578 "type" : "string"
18579 },
18580 "heads" : {
18581 "description" : "Force the drive's physical geometry to have a specific head count.",
18582 "optional" : 1,
18583 "type" : "integer"
18584 },
18585 "iops" : {
18586 "description" : "Maximum r/w I/O in operations per second.",
18587 "format_description" : "iops",
18588 "optional" : 1,
18589 "type" : "integer"
18590 },
18591 "iops_max" : {
18592 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
18593 "format_description" : "iops",
18594 "optional" : 1,
18595 "type" : "integer"
18596 },
18597 "iops_max_length" : {
18598 "description" : "Maximum length of I/O bursts in seconds.",
18599 "format_description" : "seconds",
18600 "minimum" : 1,
18601 "optional" : 1,
18602 "type" : "integer"
18603 },
18604 "iops_rd" : {
18605 "description" : "Maximum read I/O in operations per second.",
18606 "format_description" : "iops",
18607 "optional" : 1,
18608 "type" : "integer"
18609 },
18610 "iops_rd_length" : {
18611 "alias" : "iops_rd_max_length"
18612 },
18613 "iops_rd_max" : {
18614 "description" : "Maximum unthrottled read I/O pool in operations per second.",
18615 "format_description" : "iops",
18616 "optional" : 1,
18617 "type" : "integer"
18618 },
18619 "iops_rd_max_length" : {
18620 "description" : "Maximum length of read I/O bursts in seconds.",
18621 "format_description" : "seconds",
18622 "minimum" : 1,
18623 "optional" : 1,
18624 "type" : "integer"
18625 },
18626 "iops_wr" : {
18627 "description" : "Maximum write I/O in operations per second.",
18628 "format_description" : "iops",
18629 "optional" : 1,
18630 "type" : "integer"
18631 },
18632 "iops_wr_length" : {
18633 "alias" : "iops_wr_max_length"
18634 },
18635 "iops_wr_max" : {
18636 "description" : "Maximum unthrottled write I/O pool in operations per second.",
18637 "format_description" : "iops",
18638 "optional" : 1,
18639 "type" : "integer"
18640 },
18641 "iops_wr_max_length" : {
18642 "description" : "Maximum length of write I/O bursts in seconds.",
18643 "format_description" : "seconds",
18644 "minimum" : 1,
18645 "optional" : 1,
18646 "type" : "integer"
18647 },
18648 "iothread" : {
18649 "description" : "Whether to use iothreads for this drive",
18650 "optional" : 1,
18651 "type" : "boolean"
18652 },
18653 "mbps" : {
18654 "description" : "Maximum r/w speed in megabytes per second.",
18655 "format_description" : "mbps",
18656 "optional" : 1,
18657 "type" : "number"
18658 },
18659 "mbps_max" : {
18660 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
18661 "format_description" : "mbps",
18662 "optional" : 1,
18663 "type" : "number"
18664 },
18665 "mbps_rd" : {
18666 "description" : "Maximum read speed in megabytes per second.",
18667 "format_description" : "mbps",
18668 "optional" : 1,
18669 "type" : "number"
18670 },
18671 "mbps_rd_max" : {
18672 "description" : "Maximum unthrottled read pool in megabytes per second.",
18673 "format_description" : "mbps",
18674 "optional" : 1,
18675 "type" : "number"
18676 },
18677 "mbps_wr" : {
18678 "description" : "Maximum write speed in megabytes per second.",
18679 "format_description" : "mbps",
18680 "optional" : 1,
18681 "type" : "number"
18682 },
18683 "mbps_wr_max" : {
18684 "description" : "Maximum unthrottled write pool in megabytes per second.",
18685 "format_description" : "mbps",
18686 "optional" : 1,
18687 "type" : "number"
18688 },
18689 "media" : {
18690 "default" : "disk",
18691 "description" : "The drive's media type.",
18692 "enum" : [
18693 "cdrom",
18694 "disk"
18695 ],
18696 "optional" : 1,
18697 "type" : "string"
18698 },
18699 "replicate" : {
18700 "default" : 1,
18701 "description" : "Whether the drive should considered for replication jobs.",
18702 "optional" : 1,
18703 "type" : "boolean"
18704 },
18705 "rerror" : {
18706 "description" : "Read error action.",
18707 "enum" : [
18708 "ignore",
18709 "report",
18710 "stop"
18711 ],
18712 "optional" : 1,
18713 "type" : "string"
18714 },
18715 "secs" : {
18716 "description" : "Force the drive's physical geometry to have a specific sector count.",
18717 "optional" : 1,
18718 "type" : "integer"
18719 },
18720 "serial" : {
18721 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
18722 "format" : "urlencoded",
18723 "format_description" : "serial",
18724 "maxLength" : 60,
18725 "optional" : 1,
18726 "type" : "string"
18727 },
18728 "shared" : {
18729 "default" : 0,
18730 "description" : "Mark this locally-managed volume as available on all nodes",
18731 "optional" : 1,
18732 "type" : "boolean",
18733 "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!"
18734 },
18735 "size" : {
18736 "description" : "Disk size. This is purely informational and has no effect.",
18737 "format" : "disk-size",
18738 "format_description" : "DiskSize",
18739 "optional" : 1,
18740 "type" : "string"
18741 },
18742 "snapshot" : {
18743 "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.",
18744 "optional" : 1,
18745 "type" : "boolean"
18746 },
18747 "trans" : {
18748 "description" : "Force disk geometry bios translation mode.",
18749 "enum" : [
18750 "none",
18751 "lba",
18752 "auto"
18753 ],
18754 "optional" : 1,
18755 "type" : "string"
18756 },
18757 "volume" : {
18758 "alias" : "file"
18759 },
18760 "werror" : {
18761 "description" : "Write error action.",
18762 "enum" : [
18763 "enospc",
18764 "ignore",
18765 "report",
18766 "stop"
18767 ],
18768 "optional" : 1,
18769 "type" : "string"
18770 }
18771 },
18772 "optional" : 1,
18773 "type" : "string",
18774 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
18775 },
18776 "vmgenid" : {
18777 "default" : "1 (autogenerated)",
18778 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
18779 "format_description" : "UUID",
18780 "optional" : 1,
18781 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
18782 "type" : "string",
4772952b 18783 "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
18784 },
18785 "vmid" : {
18786 "description" : "The (unique) ID of the VM.",
18787 "format" : "pve-vmid",
18788 "minimum" : 1,
18789 "type" : "integer",
18790 "typetext" : "<integer> (1 - N)"
18791 },
18792 "vmstatestorage" : {
18793 "description" : "Default storage for VM state volumes/files.",
18794 "format" : "pve-storage-id",
18795 "optional" : 1,
18796 "type" : "string",
18797 "typetext" : "<string>"
18798 },
18799 "watchdog" : {
18800 "description" : "Create a virtual hardware watchdog device.",
18801 "format" : "pve-qm-watchdog",
18802 "optional" : 1,
18803 "type" : "string",
18804 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
18805 "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)"
18806 }
18807 }
18808 },
18809 "permissions" : {
18810 "check" : [
18811 "perm",
18812 "/vms/{vmid}",
18813 [
18814 "VM.Config.Disk",
18815 "VM.Config.CDROM",
18816 "VM.Config.CPU",
18817 "VM.Config.Memory",
18818 "VM.Config.Network",
18819 "VM.Config.HWType",
ac70d7d1
TL
18820 "VM.Config.Options",
18821 "VM.Config.Cloudinit"
4d47f125
TL
18822 ],
18823 "any",
18824 1
18825 ]
18826 },
18827 "protected" : 1,
18828 "proxyto" : "node",
18829 "returns" : {
18830 "type" : "null"
18831 }
18832 }
18833 },
18834 "leaf" : 1,
18835 "path" : "/nodes/{node}/qemu/{vmid}/config",
18836 "text" : "config"
18837 },
18838 {
18839 "info" : {
18840 "GET" : {
e9cd3bd4
TL
18841 "allowtoken" : 1,
18842 "description" : "Get the virtual machine configuration with both current and pending values.",
4d47f125
TL
18843 "method" : "GET",
18844 "name" : "vm_pending",
18845 "parameters" : {
18846 "additionalProperties" : 0,
18847 "properties" : {
18848 "node" : {
18849 "description" : "The cluster node name.",
18850 "format" : "pve-node",
18851 "type" : "string",
18852 "typetext" : "<string>"
18853 },
18854 "vmid" : {
18855 "description" : "The (unique) ID of the VM.",
18856 "format" : "pve-vmid",
18857 "minimum" : 1,
18858 "type" : "integer",
18859 "typetext" : "<integer> (1 - N)"
18860 }
18861 }
18862 },
18863 "permissions" : {
18864 "check" : [
18865 "perm",
18866 "/vms/{vmid}",
18867 [
18868 "VM.Audit"
18869 ]
18870 ]
18871 },
18872 "proxyto" : "node",
18873 "returns" : {
18874 "items" : {
18875 "properties" : {
18876 "delete" : {
18877 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
18878 "maximum" : 2,
18879 "minimum" : 0,
18880 "optional" : 1,
18881 "type" : "integer"
18882 },
18883 "key" : {
18884 "description" : "Configuration option name.",
18885 "type" : "string"
18886 },
18887 "pending" : {
18888 "description" : "Pending value.",
18889 "optional" : 1,
18890 "type" : "string"
18891 },
18892 "value" : {
18893 "description" : "Current value.",
18894 "optional" : 1,
18895 "type" : "string"
18896 }
18897 },
18898 "type" : "object"
18899 },
18900 "type" : "array"
18901 }
18902 }
18903 },
18904 "leaf" : 1,
18905 "path" : "/nodes/{node}/qemu/{vmid}/pending",
18906 "text" : "pending"
18907 },
18908 {
18909 "info" : {
18910 "PUT" : {
e9cd3bd4 18911 "allowtoken" : 1,
4d47f125
TL
18912 "description" : "Unlink/delete disk images.",
18913 "method" : "PUT",
18914 "name" : "unlink",
18915 "parameters" : {
18916 "additionalProperties" : 0,
18917 "properties" : {
18918 "force" : {
18919 "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.",
18920 "optional" : 1,
18921 "type" : "boolean",
18922 "typetext" : "<boolean>"
18923 },
18924 "idlist" : {
18925 "description" : "A list of disk IDs you want to delete.",
18926 "format" : "pve-configid-list",
18927 "type" : "string",
18928 "typetext" : "<string>"
18929 },
18930 "node" : {
18931 "description" : "The cluster node name.",
18932 "format" : "pve-node",
18933 "type" : "string",
18934 "typetext" : "<string>"
18935 },
18936 "vmid" : {
18937 "description" : "The (unique) ID of the VM.",
18938 "format" : "pve-vmid",
18939 "minimum" : 1,
18940 "type" : "integer",
18941 "typetext" : "<integer> (1 - N)"
18942 }
18943 }
18944 },
18945 "permissions" : {
18946 "check" : [
18947 "perm",
18948 "/vms/{vmid}",
18949 [
18950 "VM.Config.Disk"
18951 ]
18952 ]
18953 },
18954 "protected" : 1,
18955 "proxyto" : "node",
18956 "returns" : {
18957 "type" : "null"
18958 }
18959 }
18960 },
18961 "leaf" : 1,
18962 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
18963 "text" : "unlink"
18964 },
18965 {
18966 "info" : {
18967 "POST" : {
e9cd3bd4 18968 "allowtoken" : 1,
4d47f125
TL
18969 "description" : "Creates a TCP VNC proxy connections.",
18970 "method" : "POST",
18971 "name" : "vncproxy",
18972 "parameters" : {
18973 "additionalProperties" : 0,
18974 "properties" : {
ac70d7d1
TL
18975 "generate-password" : {
18976 "default" : 0,
18977 "description" : "Generates a random password to be used as ticket instead of the API ticket.",
18978 "optional" : 1,
18979 "type" : "boolean",
18980 "typetext" : "<boolean>"
18981 },
4d47f125
TL
18982 "node" : {
18983 "description" : "The cluster node name.",
18984 "format" : "pve-node",
18985 "type" : "string",
18986 "typetext" : "<string>"
18987 },
18988 "vmid" : {
18989 "description" : "The (unique) ID of the VM.",
18990 "format" : "pve-vmid",
18991 "minimum" : 1,
18992 "type" : "integer",
18993 "typetext" : "<integer> (1 - N)"
18994 },
18995 "websocket" : {
18996 "description" : "starts websockify instead of vncproxy",
18997 "optional" : 1,
18998 "type" : "boolean",
18999 "typetext" : "<boolean>"
19000 }
19001 }
19002 },
19003 "permissions" : {
19004 "check" : [
19005 "perm",
19006 "/vms/{vmid}",
19007 [
19008 "VM.Console"
19009 ]
19010 ]
19011 },
19012 "protected" : 1,
19013 "returns" : {
19014 "additionalProperties" : 0,
19015 "properties" : {
19016 "cert" : {
19017 "type" : "string"
19018 },
ac70d7d1
TL
19019 "password" : {
19020 "description" : "Returned if requested with 'generate-password' param. Consists of printable ASCII characters ('!' .. '~').",
19021 "optional" : 1,
19022 "type" : "string"
19023 },
4d47f125
TL
19024 "port" : {
19025 "type" : "integer"
19026 },
19027 "ticket" : {
19028 "type" : "string"
19029 },
19030 "upid" : {
19031 "type" : "string"
19032 },
19033 "user" : {
19034 "type" : "string"
19035 }
19036 }
19037 }
19038 }
19039 },
19040 "leaf" : 1,
19041 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
19042 "text" : "vncproxy"
19043 },
19044 {
19045 "info" : {
19046 "POST" : {
e9cd3bd4 19047 "allowtoken" : 1,
4d47f125
TL
19048 "description" : "Creates a TCP proxy connections.",
19049 "method" : "POST",
19050 "name" : "termproxy",
19051 "parameters" : {
19052 "additionalProperties" : 0,
19053 "properties" : {
19054 "node" : {
19055 "description" : "The cluster node name.",
19056 "format" : "pve-node",
19057 "type" : "string",
19058 "typetext" : "<string>"
19059 },
19060 "serial" : {
19061 "description" : "opens a serial terminal (defaults to display)",
19062 "enum" : [
19063 "serial0",
19064 "serial1",
19065 "serial2",
19066 "serial3"
19067 ],
19068 "optional" : 1,
19069 "type" : "string"
19070 },
19071 "vmid" : {
19072 "description" : "The (unique) ID of the VM.",
19073 "format" : "pve-vmid",
19074 "minimum" : 1,
19075 "type" : "integer",
19076 "typetext" : "<integer> (1 - N)"
19077 }
19078 }
19079 },
19080 "permissions" : {
19081 "check" : [
19082 "perm",
19083 "/vms/{vmid}",
19084 [
19085 "VM.Console"
19086 ]
19087 ]
19088 },
19089 "protected" : 1,
19090 "returns" : {
19091 "additionalProperties" : 0,
19092 "properties" : {
19093 "port" : {
19094 "type" : "integer"
19095 },
19096 "ticket" : {
19097 "type" : "string"
19098 },
19099 "upid" : {
19100 "type" : "string"
19101 },
19102 "user" : {
19103 "type" : "string"
19104 }
19105 }
19106 }
19107 }
19108 },
19109 "leaf" : 1,
19110 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
19111 "text" : "termproxy"
19112 },
19113 {
19114 "info" : {
19115 "GET" : {
e9cd3bd4 19116 "allowtoken" : 1,
4d47f125
TL
19117 "description" : "Opens a weksocket for VNC traffic.",
19118 "method" : "GET",
19119 "name" : "vncwebsocket",
19120 "parameters" : {
19121 "additionalProperties" : 0,
19122 "properties" : {
19123 "node" : {
19124 "description" : "The cluster node name.",
19125 "format" : "pve-node",
19126 "type" : "string",
19127 "typetext" : "<string>"
19128 },
19129 "port" : {
19130 "description" : "Port number returned by previous vncproxy call.",
19131 "maximum" : 5999,
19132 "minimum" : 5900,
19133 "type" : "integer",
19134 "typetext" : "<integer> (5900 - 5999)"
19135 },
19136 "vmid" : {
19137 "description" : "The (unique) ID of the VM.",
19138 "format" : "pve-vmid",
19139 "minimum" : 1,
19140 "type" : "integer",
19141 "typetext" : "<integer> (1 - N)"
19142 },
19143 "vncticket" : {
19144 "description" : "Ticket from previous call to vncproxy.",
19145 "maxLength" : 512,
19146 "type" : "string",
19147 "typetext" : "<string>"
19148 }
19149 }
19150 },
19151 "permissions" : {
19152 "check" : [
19153 "perm",
19154 "/vms/{vmid}",
19155 [
19156 "VM.Console"
19157 ]
19158 ],
19159 "description" : "You also need to pass a valid ticket (vncticket)."
19160 },
19161 "returns" : {
19162 "properties" : {
19163 "port" : {
19164 "type" : "string"
19165 }
19166 },
19167 "type" : "object"
19168 }
19169 }
19170 },
19171 "leaf" : 1,
19172 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
19173 "text" : "vncwebsocket"
19174 },
19175 {
19176 "info" : {
19177 "POST" : {
e9cd3bd4 19178 "allowtoken" : 1,
4d47f125
TL
19179 "description" : "Returns a SPICE configuration to connect to the VM.",
19180 "method" : "POST",
19181 "name" : "spiceproxy",
19182 "parameters" : {
19183 "additionalProperties" : 0,
19184 "properties" : {
19185 "node" : {
19186 "description" : "The cluster node name.",
19187 "format" : "pve-node",
19188 "type" : "string",
19189 "typetext" : "<string>"
19190 },
19191 "proxy" : {
19192 "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).",
19193 "format" : "address",
19194 "optional" : 1,
19195 "type" : "string",
19196 "typetext" : "<string>"
19197 },
19198 "vmid" : {
19199 "description" : "The (unique) ID of the VM.",
19200 "format" : "pve-vmid",
19201 "minimum" : 1,
19202 "type" : "integer",
19203 "typetext" : "<integer> (1 - N)"
19204 }
19205 }
19206 },
19207 "permissions" : {
19208 "check" : [
19209 "perm",
19210 "/vms/{vmid}",
19211 [
19212 "VM.Console"
19213 ]
19214 ]
19215 },
19216 "protected" : 1,
19217 "proxyto" : "node",
19218 "returns" : {
19219 "additionalProperties" : 1,
19220 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
19221 "properties" : {
19222 "host" : {
19223 "type" : "string"
19224 },
19225 "password" : {
19226 "type" : "string"
19227 },
19228 "proxy" : {
19229 "type" : "string"
19230 },
19231 "tls-port" : {
19232 "type" : "integer"
19233 },
19234 "type" : {
19235 "type" : "string"
19236 }
19237 }
19238 }
19239 }
19240 },
19241 "leaf" : 1,
19242 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
19243 "text" : "spiceproxy"
19244 },
19245 {
19246 "children" : [
19247 {
19248 "info" : {
19249 "GET" : {
e9cd3bd4 19250 "allowtoken" : 1,
4d47f125
TL
19251 "description" : "Get virtual machine status.",
19252 "method" : "GET",
19253 "name" : "vm_status",
19254 "parameters" : {
19255 "additionalProperties" : 0,
19256 "properties" : {
19257 "node" : {
19258 "description" : "The cluster node name.",
19259 "format" : "pve-node",
19260 "type" : "string",
19261 "typetext" : "<string>"
19262 },
19263 "vmid" : {
19264 "description" : "The (unique) ID of the VM.",
19265 "format" : "pve-vmid",
19266 "minimum" : 1,
19267 "type" : "integer",
19268 "typetext" : "<integer> (1 - N)"
19269 }
19270 }
19271 },
19272 "permissions" : {
19273 "check" : [
19274 "perm",
19275 "/vms/{vmid}",
19276 [
19277 "VM.Audit"
19278 ]
19279 ]
19280 },
19281 "protected" : 1,
19282 "proxyto" : "node",
19283 "returns" : {
19284 "properties" : {
19285 "agent" : {
19286 "description" : "Qemu GuestAgent enabled in config.",
19287 "optional" : 1,
19288 "type" : "boolean"
19289 },
19290 "cpus" : {
19291 "description" : "Maximum usable CPUs.",
19292 "optional" : 1,
19293 "type" : "number"
19294 },
19295 "ha" : {
19296 "description" : "HA manager service status.",
19297 "type" : "object"
19298 },
95895385
TL
19299 "lock" : {
19300 "description" : "The current config lock, if any.",
19301 "optional" : 1,
19302 "type" : "string"
19303 },
4d47f125
TL
19304 "maxdisk" : {
19305 "description" : "Root disk size in bytes.",
19306 "optional" : 1,
19307 "renderer" : "bytes",
19308 "type" : "integer"
19309 },
19310 "maxmem" : {
19311 "description" : "Maximum memory in bytes.",
19312 "optional" : 1,
19313 "renderer" : "bytes",
19314 "type" : "integer"
19315 },
19316 "name" : {
19317 "description" : "VM name.",
19318 "optional" : 1,
19319 "type" : "string"
19320 },
19321 "pid" : {
19322 "description" : "PID of running qemu process.",
19323 "optional" : 1,
19324 "type" : "integer"
19325 },
19326 "qmpstatus" : {
19327 "description" : "Qemu QMP agent status.",
19328 "optional" : 1,
19329 "type" : "string"
19330 },
d2656385
TL
19331 "running-machine" : {
19332 "description" : "The currently running machine type (if running).",
19333 "optional" : 1,
19334 "type" : "string"
19335 },
19336 "running-qemu" : {
19337 "description" : "The currently running QEMU version (if running).",
19338 "optional" : 1,
19339 "type" : "string"
19340 },
4d47f125
TL
19341 "spice" : {
19342 "description" : "Qemu VGA configuration supports spice.",
19343 "optional" : 1,
19344 "type" : "boolean"
19345 },
19346 "status" : {
19347 "description" : "Qemu process status.",
19348 "enum" : [
19349 "stopped",
19350 "running"
19351 ],
19352 "type" : "string"
19353 },
5c1699e5
TL
19354 "tags" : {
19355 "description" : "The current configured tags, if any",
19356 "optional" : 1,
19357 "type" : "string"
19358 },
4d47f125
TL
19359 "uptime" : {
19360 "description" : "Uptime.",
19361 "optional" : 1,
19362 "renderer" : "duration",
19363 "type" : "integer"
19364 },
19365 "vmid" : {
19366 "description" : "The (unique) ID of the VM.",
19367 "format" : "pve-vmid",
19368 "minimum" : 1,
19369 "type" : "integer"
19370 }
19371 },
19372 "type" : "object"
19373 }
19374 }
19375 },
19376 "leaf" : 1,
19377 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
19378 "text" : "current"
19379 },
19380 {
19381 "info" : {
19382 "POST" : {
e9cd3bd4 19383 "allowtoken" : 1,
4d47f125
TL
19384 "description" : "Start virtual machine.",
19385 "method" : "POST",
19386 "name" : "vm_start",
19387 "parameters" : {
19388 "additionalProperties" : 0,
19389 "properties" : {
c5aa7e14
TL
19390 "force-cpu" : {
19391 "description" : "Override QEMU's -cpu argument with the given string.",
19392 "optional" : 1,
19393 "type" : "string",
19394 "typetext" : "<string>"
19395 },
4d47f125
TL
19396 "machine" : {
19397 "description" : "Specifies the Qemu machine type.",
19398 "maxLength" : 40,
19399 "optional" : 1,
5c1699e5 19400 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
4d47f125
TL
19401 "type" : "string"
19402 },
19403 "migratedfrom" : {
19404 "description" : "The cluster node name.",
19405 "format" : "pve-node",
19406 "optional" : 1,
19407 "type" : "string",
19408 "typetext" : "<string>"
19409 },
19410 "migration_network" : {
19411 "description" : "CIDR of the (sub) network that is used for migration.",
19412 "format" : "CIDR",
19413 "optional" : 1,
19414 "type" : "string",
19415 "typetext" : "<string>"
19416 },
19417 "migration_type" : {
19418 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
19419 "enum" : [
19420 "secure",
19421 "insecure"
19422 ],
19423 "optional" : 1,
19424 "type" : "string"
19425 },
19426 "node" : {
19427 "description" : "The cluster node name.",
19428 "format" : "pve-node",
19429 "type" : "string",
19430 "typetext" : "<string>"
19431 },
19432 "skiplock" : {
19433 "description" : "Ignore locks - only root is allowed to use this option.",
19434 "optional" : 1,
19435 "type" : "boolean",
19436 "typetext" : "<boolean>"
19437 },
19438 "stateuri" : {
19439 "description" : "Some command save/restore state from this location.",
19440 "maxLength" : 128,
19441 "optional" : 1,
19442 "type" : "string",
19443 "typetext" : "<string>"
19444 },
19445 "targetstorage" : {
c5aa7e14
TL
19446 "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.",
19447 "format" : "storagepair-list",
4d47f125
TL
19448 "optional" : 1,
19449 "type" : "string",
19450 "typetext" : "<string>"
19451 },
e9cd3bd4
TL
19452 "timeout" : {
19453 "default" : "max(30, vm memory in GiB)",
19454 "description" : "Wait maximal timeout seconds.",
19455 "minimum" : 0,
19456 "optional" : 1,
19457 "type" : "integer",
19458 "typetext" : "<integer> (0 - N)"
19459 },
4d47f125
TL
19460 "vmid" : {
19461 "description" : "The (unique) ID of the VM.",
19462 "format" : "pve-vmid",
19463 "minimum" : 1,
19464 "type" : "integer",
19465 "typetext" : "<integer> (1 - N)"
19466 }
19467 }
19468 },
19469 "permissions" : {
19470 "check" : [
19471 "perm",
19472 "/vms/{vmid}",
19473 [
19474 "VM.PowerMgmt"
19475 ]
19476 ]
19477 },
19478 "protected" : 1,
19479 "proxyto" : "node",
19480 "returns" : {
19481 "type" : "string"
19482 }
19483 }
19484 },
19485 "leaf" : 1,
19486 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
19487 "text" : "start"
19488 },
19489 {
19490 "info" : {
19491 "POST" : {
e9cd3bd4 19492 "allowtoken" : 1,
4d47f125
TL
19493 "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",
19494 "method" : "POST",
19495 "name" : "vm_stop",
19496 "parameters" : {
19497 "additionalProperties" : 0,
19498 "properties" : {
19499 "keepActive" : {
19500 "default" : 0,
19501 "description" : "Do not deactivate storage volumes.",
19502 "optional" : 1,
19503 "type" : "boolean",
19504 "typetext" : "<boolean>"
19505 },
19506 "migratedfrom" : {
19507 "description" : "The cluster node name.",
19508 "format" : "pve-node",
19509 "optional" : 1,
19510 "type" : "string",
19511 "typetext" : "<string>"
19512 },
19513 "node" : {
19514 "description" : "The cluster node name.",
19515 "format" : "pve-node",
19516 "type" : "string",
19517 "typetext" : "<string>"
19518 },
19519 "skiplock" : {
19520 "description" : "Ignore locks - only root is allowed to use this option.",
19521 "optional" : 1,
19522 "type" : "boolean",
19523 "typetext" : "<boolean>"
19524 },
19525 "timeout" : {
19526 "description" : "Wait maximal timeout seconds.",
19527 "minimum" : 0,
19528 "optional" : 1,
19529 "type" : "integer",
19530 "typetext" : "<integer> (0 - N)"
19531 },
19532 "vmid" : {
19533 "description" : "The (unique) ID of the VM.",
19534 "format" : "pve-vmid",
19535 "minimum" : 1,
19536 "type" : "integer",
19537 "typetext" : "<integer> (1 - N)"
19538 }
19539 }
19540 },
19541 "permissions" : {
19542 "check" : [
19543 "perm",
19544 "/vms/{vmid}",
19545 [
19546 "VM.PowerMgmt"
19547 ]
19548 ]
19549 },
19550 "protected" : 1,
19551 "proxyto" : "node",
19552 "returns" : {
19553 "type" : "string"
19554 }
19555 }
19556 },
19557 "leaf" : 1,
19558 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
19559 "text" : "stop"
19560 },
19561 {
19562 "info" : {
19563 "POST" : {
e9cd3bd4 19564 "allowtoken" : 1,
4d47f125
TL
19565 "description" : "Reset virtual machine.",
19566 "method" : "POST",
19567 "name" : "vm_reset",
19568 "parameters" : {
19569 "additionalProperties" : 0,
19570 "properties" : {
19571 "node" : {
19572 "description" : "The cluster node name.",
19573 "format" : "pve-node",
19574 "type" : "string",
19575 "typetext" : "<string>"
19576 },
19577 "skiplock" : {
19578 "description" : "Ignore locks - only root is allowed to use this option.",
19579 "optional" : 1,
19580 "type" : "boolean",
19581 "typetext" : "<boolean>"
19582 },
19583 "vmid" : {
19584 "description" : "The (unique) ID of the VM.",
19585 "format" : "pve-vmid",
19586 "minimum" : 1,
19587 "type" : "integer",
19588 "typetext" : "<integer> (1 - N)"
19589 }
19590 }
19591 },
19592 "permissions" : {
19593 "check" : [
19594 "perm",
19595 "/vms/{vmid}",
19596 [
19597 "VM.PowerMgmt"
19598 ]
19599 ]
19600 },
19601 "protected" : 1,
19602 "proxyto" : "node",
19603 "returns" : {
19604 "type" : "string"
19605 }
19606 }
19607 },
19608 "leaf" : 1,
19609 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
19610 "text" : "reset"
19611 },
19612 {
19613 "info" : {
19614 "POST" : {
e9cd3bd4 19615 "allowtoken" : 1,
4d47f125
TL
19616 "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.",
19617 "method" : "POST",
19618 "name" : "vm_shutdown",
19619 "parameters" : {
19620 "additionalProperties" : 0,
19621 "properties" : {
19622 "forceStop" : {
19623 "default" : 0,
19624 "description" : "Make sure the VM stops.",
19625 "optional" : 1,
19626 "type" : "boolean",
19627 "typetext" : "<boolean>"
19628 },
19629 "keepActive" : {
19630 "default" : 0,
19631 "description" : "Do not deactivate storage volumes.",
19632 "optional" : 1,
19633 "type" : "boolean",
19634 "typetext" : "<boolean>"
19635 },
19636 "node" : {
19637 "description" : "The cluster node name.",
19638 "format" : "pve-node",
19639 "type" : "string",
19640 "typetext" : "<string>"
19641 },
19642 "skiplock" : {
19643 "description" : "Ignore locks - only root is allowed to use this option.",
19644 "optional" : 1,
19645 "type" : "boolean",
19646 "typetext" : "<boolean>"
19647 },
19648 "timeout" : {
19649 "description" : "Wait maximal timeout seconds.",
19650 "minimum" : 0,
19651 "optional" : 1,
19652 "type" : "integer",
19653 "typetext" : "<integer> (0 - N)"
19654 },
19655 "vmid" : {
19656 "description" : "The (unique) ID of the VM.",
19657 "format" : "pve-vmid",
19658 "minimum" : 1,
19659 "type" : "integer",
19660 "typetext" : "<integer> (1 - N)"
19661 }
19662 }
19663 },
19664 "permissions" : {
19665 "check" : [
19666 "perm",
19667 "/vms/{vmid}",
19668 [
19669 "VM.PowerMgmt"
19670 ]
19671 ]
19672 },
19673 "protected" : 1,
19674 "proxyto" : "node",
19675 "returns" : {
19676 "type" : "string"
19677 }
19678 }
19679 },
19680 "leaf" : 1,
19681 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
19682 "text" : "shutdown"
19683 },
1c532546
TL
19684 {
19685 "info" : {
19686 "POST" : {
e9cd3bd4 19687 "allowtoken" : 1,
1c532546
TL
19688 "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
19689 "method" : "POST",
19690 "name" : "vm_reboot",
19691 "parameters" : {
19692 "additionalProperties" : 0,
19693 "properties" : {
19694 "node" : {
19695 "description" : "The cluster node name.",
19696 "format" : "pve-node",
19697 "type" : "string",
19698 "typetext" : "<string>"
19699 },
19700 "timeout" : {
19701 "description" : "Wait maximal timeout seconds for the shutdown.",
19702 "minimum" : 0,
19703 "optional" : 1,
19704 "type" : "integer",
19705 "typetext" : "<integer> (0 - N)"
19706 },
19707 "vmid" : {
19708 "description" : "The (unique) ID of the VM.",
19709 "format" : "pve-vmid",
19710 "minimum" : 1,
19711 "type" : "integer",
19712 "typetext" : "<integer> (1 - N)"
19713 }
19714 }
19715 },
19716 "permissions" : {
19717 "check" : [
19718 "perm",
19719 "/vms/{vmid}",
19720 [
19721 "VM.PowerMgmt"
19722 ]
19723 ]
19724 },
19725 "protected" : 1,
19726 "proxyto" : "node",
19727 "returns" : {
19728 "type" : "string"
19729 }
19730 }
19731 },
19732 "leaf" : 1,
19733 "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
19734 "text" : "reboot"
19735 },
4d47f125
TL
19736 {
19737 "info" : {
19738 "POST" : {
e9cd3bd4 19739 "allowtoken" : 1,
4d47f125
TL
19740 "description" : "Suspend virtual machine.",
19741 "method" : "POST",
19742 "name" : "vm_suspend",
19743 "parameters" : {
19744 "additionalProperties" : 0,
19745 "properties" : {
19746 "node" : {
19747 "description" : "The cluster node name.",
19748 "format" : "pve-node",
19749 "type" : "string",
19750 "typetext" : "<string>"
19751 },
19752 "skiplock" : {
19753 "description" : "Ignore locks - only root is allowed to use this option.",
19754 "optional" : 1,
19755 "type" : "boolean",
19756 "typetext" : "<boolean>"
19757 },
95895385
TL
19758 "statestorage" : {
19759 "description" : "The storage for the VM state",
19760 "format" : "pve-storage-id",
19761 "optional" : 1,
19762 "requires" : "todisk",
19763 "type" : "string",
19764 "typetext" : "<string>"
19765 },
19766 "todisk" : {
19767 "default" : 0,
19768 "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
19769 "optional" : 1,
19770 "type" : "boolean",
19771 "typetext" : "<boolean>"
19772 },
4d47f125
TL
19773 "vmid" : {
19774 "description" : "The (unique) ID of the VM.",
19775 "format" : "pve-vmid",
19776 "minimum" : 1,
19777 "type" : "integer",
19778 "typetext" : "<integer> (1 - N)"
19779 }
19780 }
19781 },
19782 "permissions" : {
19783 "check" : [
19784 "perm",
19785 "/vms/{vmid}",
19786 [
19787 "VM.PowerMgmt"
19788 ]
e9cd3bd4
TL
19789 ],
19790 "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
19791 },
19792 "protected" : 1,
19793 "proxyto" : "node",
19794 "returns" : {
19795 "type" : "string"
19796 }
19797 }
19798 },
19799 "leaf" : 1,
19800 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
19801 "text" : "suspend"
19802 },
19803 {
19804 "info" : {
19805 "POST" : {
e9cd3bd4 19806 "allowtoken" : 1,
4d47f125
TL
19807 "description" : "Resume virtual machine.",
19808 "method" : "POST",
19809 "name" : "vm_resume",
19810 "parameters" : {
19811 "additionalProperties" : 0,
19812 "properties" : {
19813 "nocheck" : {
19814 "optional" : 1,
19815 "type" : "boolean",
19816 "typetext" : "<boolean>"
19817 },
19818 "node" : {
19819 "description" : "The cluster node name.",
19820 "format" : "pve-node",
19821 "type" : "string",
19822 "typetext" : "<string>"
19823 },
19824 "skiplock" : {
19825 "description" : "Ignore locks - only root is allowed to use this option.",
19826 "optional" : 1,
19827 "type" : "boolean",
19828 "typetext" : "<boolean>"
19829 },
19830 "vmid" : {
19831 "description" : "The (unique) ID of the VM.",
19832 "format" : "pve-vmid",
19833 "minimum" : 1,
19834 "type" : "integer",
19835 "typetext" : "<integer> (1 - N)"
19836 }
19837 }
19838 },
19839 "permissions" : {
19840 "check" : [
19841 "perm",
19842 "/vms/{vmid}",
19843 [
19844 "VM.PowerMgmt"
19845 ]
19846 ]
19847 },
19848 "protected" : 1,
19849 "proxyto" : "node",
19850 "returns" : {
19851 "type" : "string"
19852 }
19853 }
19854 },
19855 "leaf" : 1,
19856 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
19857 "text" : "resume"
19858 }
19859 ],
19860 "info" : {
19861 "GET" : {
e9cd3bd4 19862 "allowtoken" : 1,
4d47f125
TL
19863 "description" : "Directory index",
19864 "method" : "GET",
19865 "name" : "vmcmdidx",
19866 "parameters" : {
19867 "additionalProperties" : 0,
19868 "properties" : {
19869 "node" : {
19870 "description" : "The cluster node name.",
19871 "format" : "pve-node",
19872 "type" : "string",
19873 "typetext" : "<string>"
19874 },
19875 "vmid" : {
19876 "description" : "The (unique) ID of the VM.",
19877 "format" : "pve-vmid",
19878 "minimum" : 1,
19879 "type" : "integer",
19880 "typetext" : "<integer> (1 - N)"
19881 }
19882 }
19883 },
19884 "permissions" : {
19885 "user" : "all"
19886 },
19887 "proxyto" : "node",
19888 "returns" : {
19889 "items" : {
19890 "properties" : {
19891 "subdir" : {
19892 "type" : "string"
19893 }
19894 },
19895 "type" : "object"
19896 },
19897 "links" : [
19898 {
19899 "href" : "{subdir}",
19900 "rel" : "child"
19901 }
19902 ],
19903 "type" : "array"
19904 }
19905 }
19906 },
19907 "leaf" : 0,
19908 "path" : "/nodes/{node}/qemu/{vmid}/status",
19909 "text" : "status"
19910 },
19911 {
19912 "info" : {
19913 "PUT" : {
e9cd3bd4 19914 "allowtoken" : 1,
4d47f125
TL
19915 "description" : "Send key event to virtual machine.",
19916 "method" : "PUT",
19917 "name" : "vm_sendkey",
19918 "parameters" : {
19919 "additionalProperties" : 0,
19920 "properties" : {
19921 "key" : {
19922 "description" : "The key (qemu monitor encoding).",
19923 "type" : "string",
19924 "typetext" : "<string>"
19925 },
19926 "node" : {
19927 "description" : "The cluster node name.",
19928 "format" : "pve-node",
19929 "type" : "string",
19930 "typetext" : "<string>"
19931 },
19932 "skiplock" : {
19933 "description" : "Ignore locks - only root is allowed to use this option.",
19934 "optional" : 1,
19935 "type" : "boolean",
19936 "typetext" : "<boolean>"
19937 },
19938 "vmid" : {
19939 "description" : "The (unique) ID of the VM.",
19940 "format" : "pve-vmid",
19941 "minimum" : 1,
19942 "type" : "integer",
19943 "typetext" : "<integer> (1 - N)"
19944 }
19945 }
19946 },
19947 "permissions" : {
19948 "check" : [
19949 "perm",
19950 "/vms/{vmid}",
19951 [
19952 "VM.Console"
19953 ]
19954 ]
19955 },
19956 "protected" : 1,
19957 "proxyto" : "node",
19958 "returns" : {
19959 "type" : "null"
19960 }
19961 }
19962 },
19963 "leaf" : 1,
19964 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
19965 "text" : "sendkey"
19966 },
19967 {
19968 "info" : {
19969 "GET" : {
e9cd3bd4 19970 "allowtoken" : 1,
4d47f125
TL
19971 "description" : "Check if feature for virtual machine is available.",
19972 "method" : "GET",
19973 "name" : "vm_feature",
19974 "parameters" : {
19975 "additionalProperties" : 0,
19976 "properties" : {
19977 "feature" : {
19978 "description" : "Feature to check.",
19979 "enum" : [
19980 "snapshot",
19981 "clone",
19982 "copy"
19983 ],
19984 "type" : "string"
19985 },
19986 "node" : {
19987 "description" : "The cluster node name.",
19988 "format" : "pve-node",
19989 "type" : "string",
19990 "typetext" : "<string>"
19991 },
19992 "snapname" : {
19993 "description" : "The name of the snapshot.",
19994 "format" : "pve-configid",
19995 "maxLength" : 40,
19996 "optional" : 1,
19997 "type" : "string",
19998 "typetext" : "<string>"
19999 },
20000 "vmid" : {
20001 "description" : "The (unique) ID of the VM.",
20002 "format" : "pve-vmid",
20003 "minimum" : 1,
20004 "type" : "integer",
20005 "typetext" : "<integer> (1 - N)"
20006 }
20007 }
20008 },
20009 "permissions" : {
20010 "check" : [
20011 "perm",
20012 "/vms/{vmid}",
20013 [
20014 "VM.Audit"
20015 ]
20016 ]
20017 },
20018 "protected" : 1,
20019 "proxyto" : "node",
20020 "returns" : {
20021 "properties" : {
20022 "hasFeature" : {
20023 "type" : "boolean"
20024 },
20025 "nodes" : {
20026 "items" : {
20027 "type" : "string"
20028 },
20029 "type" : "array"
20030 }
20031 },
20032 "type" : "object"
20033 }
20034 }
20035 },
20036 "leaf" : 1,
20037 "path" : "/nodes/{node}/qemu/{vmid}/feature",
20038 "text" : "feature"
20039 },
20040 {
20041 "info" : {
20042 "POST" : {
e9cd3bd4 20043 "allowtoken" : 1,
4d47f125
TL
20044 "description" : "Create a copy of virtual machine/template.",
20045 "method" : "POST",
20046 "name" : "clone_vm",
20047 "parameters" : {
20048 "additionalProperties" : 0,
20049 "properties" : {
95895385
TL
20050 "bwlimit" : {
20051 "default" : "clone limit from datacenter or storage config",
20052 "description" : "Override I/O bandwidth limit (in KiB/s).",
20053 "minimum" : "0",
20054 "optional" : 1,
20055 "type" : "integer",
20056 "typetext" : "<integer> (0 - N)"
20057 },
4d47f125
TL
20058 "description" : {
20059 "description" : "Description for the new VM.",
20060 "optional" : 1,
20061 "type" : "string",
20062 "typetext" : "<string>"
20063 },
20064 "format" : {
20065 "description" : "Target format for file storage. Only valid for full clone.",
20066 "enum" : [
20067 "raw",
20068 "qcow2",
20069 "vmdk"
20070 ],
20071 "optional" : 1,
20072 "type" : "string"
20073 },
20074 "full" : {
20075 "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.",
20076 "optional" : 1,
20077 "type" : "boolean",
20078 "typetext" : "<boolean>"
20079 },
20080 "name" : {
20081 "description" : "Set a name for the new VM.",
20082 "format" : "dns-name",
20083 "optional" : 1,
20084 "type" : "string",
20085 "typetext" : "<string>"
20086 },
20087 "newid" : {
20088 "description" : "VMID for the clone.",
20089 "format" : "pve-vmid",
20090 "minimum" : 1,
20091 "type" : "integer",
20092 "typetext" : "<integer> (1 - N)"
20093 },
20094 "node" : {
20095 "description" : "The cluster node name.",
20096 "format" : "pve-node",
20097 "type" : "string",
20098 "typetext" : "<string>"
20099 },
20100 "pool" : {
20101 "description" : "Add the new VM to the specified pool.",
20102 "format" : "pve-poolid",
20103 "optional" : 1,
20104 "type" : "string",
20105 "typetext" : "<string>"
20106 },
20107 "snapname" : {
20108 "description" : "The name of the snapshot.",
20109 "format" : "pve-configid",
20110 "maxLength" : 40,
20111 "optional" : 1,
20112 "type" : "string",
20113 "typetext" : "<string>"
20114 },
20115 "storage" : {
20116 "description" : "Target storage for full clone.",
20117 "format" : "pve-storage-id",
20118 "optional" : 1,
20119 "type" : "string",
20120 "typetext" : "<string>"
20121 },
20122 "target" : {
20123 "description" : "Target node. Only allowed if the original VM is on shared storage.",
20124 "format" : "pve-node",
20125 "optional" : 1,
20126 "type" : "string",
20127 "typetext" : "<string>"
20128 },
20129 "vmid" : {
20130 "description" : "The (unique) ID of the VM.",
20131 "format" : "pve-vmid",
20132 "minimum" : 1,
20133 "type" : "integer",
20134 "typetext" : "<integer> (1 - N)"
20135 }
20136 }
20137 },
20138 "permissions" : {
20139 "check" : [
20140 "and",
20141 [
20142 "perm",
20143 "/vms/{vmid}",
20144 [
20145 "VM.Clone"
20146 ]
20147 ],
20148 [
20149 "or",
20150 [
20151 "perm",
20152 "/vms/{newid}",
20153 [
20154 "VM.Allocate"
20155 ]
20156 ],
20157 [
20158 "perm",
20159 "/pool/{pool}",
20160 [
20161 "VM.Allocate"
20162 ],
20163 "require_param",
20164 "pool"
20165 ]
20166 ]
20167 ],
20168 "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."
20169 },
20170 "protected" : 1,
20171 "proxyto" : "node",
20172 "returns" : {
20173 "type" : "string"
20174 }
20175 }
20176 },
20177 "leaf" : 1,
20178 "path" : "/nodes/{node}/qemu/{vmid}/clone",
20179 "text" : "clone"
20180 },
20181 {
20182 "info" : {
20183 "POST" : {
e9cd3bd4 20184 "allowtoken" : 1,
4d47f125
TL
20185 "description" : "Move volume to different storage.",
20186 "method" : "POST",
20187 "name" : "move_vm_disk",
20188 "parameters" : {
20189 "additionalProperties" : 0,
20190 "properties" : {
95895385
TL
20191 "bwlimit" : {
20192 "default" : "move limit from datacenter or storage config",
20193 "description" : "Override I/O bandwidth limit (in KiB/s).",
20194 "minimum" : "0",
20195 "optional" : 1,
20196 "type" : "integer",
20197 "typetext" : "<integer> (0 - N)"
20198 },
4d47f125
TL
20199 "delete" : {
20200 "default" : 0,
20201 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
20202 "optional" : 1,
20203 "type" : "boolean",
20204 "typetext" : "<boolean>"
20205 },
20206 "digest" : {
20207 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20208 "maxLength" : 40,
20209 "optional" : 1,
20210 "type" : "string",
20211 "typetext" : "<string>"
20212 },
20213 "disk" : {
20214 "description" : "The disk you want to move.",
20215 "enum" : [
20216 "ide0",
20217 "ide1",
20218 "ide2",
20219 "ide3",
20220 "scsi0",
20221 "scsi1",
20222 "scsi2",
20223 "scsi3",
20224 "scsi4",
20225 "scsi5",
20226 "scsi6",
20227 "scsi7",
20228 "scsi8",
20229 "scsi9",
20230 "scsi10",
20231 "scsi11",
20232 "scsi12",
20233 "scsi13",
e9cd3bd4
TL
20234 "scsi14",
20235 "scsi15",
20236 "scsi16",
20237 "scsi17",
20238 "scsi18",
20239 "scsi19",
20240 "scsi20",
20241 "scsi21",
20242 "scsi22",
20243 "scsi23",
20244 "scsi24",
20245 "scsi25",
20246 "scsi26",
20247 "scsi27",
20248 "scsi28",
20249 "scsi29",
20250 "scsi30",
4d47f125
TL
20251 "virtio0",
20252 "virtio1",
20253 "virtio2",
20254 "virtio3",
20255 "virtio4",
20256 "virtio5",
20257 "virtio6",
20258 "virtio7",
20259 "virtio8",
20260 "virtio9",
20261 "virtio10",
20262 "virtio11",
20263 "virtio12",
20264 "virtio13",
20265 "virtio14",
20266 "virtio15",
20267 "sata0",
20268 "sata1",
20269 "sata2",
20270 "sata3",
20271 "sata4",
20272 "sata5",
20273 "efidisk0"
20274 ],
20275 "type" : "string"
20276 },
20277 "format" : {
20278 "description" : "Target Format.",
20279 "enum" : [
20280 "raw",
20281 "qcow2",
20282 "vmdk"
20283 ],
20284 "optional" : 1,
20285 "type" : "string"
20286 },
20287 "node" : {
20288 "description" : "The cluster node name.",
20289 "format" : "pve-node",
20290 "type" : "string",
20291 "typetext" : "<string>"
20292 },
20293 "storage" : {
20294 "description" : "Target storage.",
20295 "format" : "pve-storage-id",
20296 "type" : "string",
20297 "typetext" : "<string>"
20298 },
20299 "vmid" : {
20300 "description" : "The (unique) ID of the VM.",
20301 "format" : "pve-vmid",
20302 "minimum" : 1,
20303 "type" : "integer",
20304 "typetext" : "<integer> (1 - N)"
20305 }
20306 }
20307 },
20308 "permissions" : {
20309 "check" : [
20310 "and",
20311 [
20312 "perm",
20313 "/vms/{vmid}",
20314 [
20315 "VM.Config.Disk"
20316 ]
20317 ],
20318 [
20319 "perm",
20320 "/storage/{storage}",
20321 [
20322 "Datastore.AllocateSpace"
20323 ]
20324 ]
20325 ],
20326 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
20327 },
20328 "protected" : 1,
20329 "proxyto" : "node",
20330 "returns" : {
20331 "description" : "the task ID.",
20332 "type" : "string"
20333 }
20334 }
20335 },
20336 "leaf" : 1,
20337 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
20338 "text" : "move_disk"
20339 },
20340 {
20341 "info" : {
1e3f8156 20342 "GET" : {
e9cd3bd4 20343 "allowtoken" : 1,
1e3f8156
TL
20344 "description" : "Get preconditions for migration.",
20345 "method" : "GET",
20346 "name" : "migrate_vm_precondition",
20347 "parameters" : {
20348 "additionalProperties" : 0,
20349 "properties" : {
20350 "node" : {
20351 "description" : "The cluster node name.",
20352 "format" : "pve-node",
20353 "type" : "string",
20354 "typetext" : "<string>"
20355 },
20356 "target" : {
20357 "description" : "Target node.",
20358 "format" : "pve-node",
20359 "optional" : 1,
20360 "type" : "string",
20361 "typetext" : "<string>"
20362 },
20363 "vmid" : {
20364 "description" : "The (unique) ID of the VM.",
20365 "format" : "pve-vmid",
20366 "minimum" : 1,
20367 "type" : "integer",
20368 "typetext" : "<integer> (1 - N)"
20369 }
20370 }
20371 },
20372 "permissions" : {
20373 "check" : [
20374 "perm",
20375 "/vms/{vmid}",
20376 [
20377 "VM.Migrate"
20378 ]
20379 ]
20380 },
20381 "protected" : 1,
20382 "proxyto" : "node",
20383 "returns" : {
20384 "properties" : {
20385 "allowed_nodes" : {
9226ccbc 20386 "description" : "List nodes allowed for offline migration, only passed if VM is offline",
1e3f8156
TL
20387 "optional" : 1,
20388 "type" : "array"
20389 },
20390 "local_disks" : {
20391 "description" : "List local disks including CD-Rom, unsused and not referenced disks",
20392 "type" : "array"
20393 },
20394 "local_resources" : {
20395 "description" : "List local resources e.g. pci, usb",
20396 "type" : "array"
20397 },
9226ccbc
TL
20398 "not_allowed_nodes" : {
20399 "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
20400 "optional" : 1,
20401 "type" : "object"
20402 },
1e3f8156
TL
20403 "running" : {
20404 "type" : "boolean"
20405 }
20406 },
20407 "type" : "object"
20408 }
20409 },
4d47f125 20410 "POST" : {
e9cd3bd4 20411 "allowtoken" : 1,
4d47f125
TL
20412 "description" : "Migrate virtual machine. Creates a new migration task.",
20413 "method" : "POST",
20414 "name" : "migrate_vm",
20415 "parameters" : {
20416 "additionalProperties" : 0,
20417 "properties" : {
95895385
TL
20418 "bwlimit" : {
20419 "default" : "migrate limit from datacenter or storage config",
20420 "description" : "Override I/O bandwidth limit (in KiB/s).",
20421 "minimum" : "0",
20422 "optional" : 1,
20423 "type" : "integer",
20424 "typetext" : "<integer> (0 - N)"
20425 },
4d47f125
TL
20426 "force" : {
20427 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
20428 "optional" : 1,
20429 "type" : "boolean",
20430 "typetext" : "<boolean>"
20431 },
20432 "migration_network" : {
20433 "description" : "CIDR of the (sub) network that is used for migration.",
20434 "format" : "CIDR",
20435 "optional" : 1,
20436 "type" : "string",
20437 "typetext" : "<string>"
20438 },
20439 "migration_type" : {
20440 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
20441 "enum" : [
20442 "secure",
20443 "insecure"
20444 ],
20445 "optional" : 1,
20446 "type" : "string"
20447 },
20448 "node" : {
20449 "description" : "The cluster node name.",
20450 "format" : "pve-node",
20451 "type" : "string",
20452 "typetext" : "<string>"
20453 },
20454 "online" : {
1c532546 20455 "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
4d47f125
TL
20456 "optional" : 1,
20457 "type" : "boolean",
20458 "typetext" : "<boolean>"
20459 },
20460 "target" : {
20461 "description" : "Target node.",
20462 "format" : "pve-node",
20463 "type" : "string",
20464 "typetext" : "<string>"
20465 },
20466 "targetstorage" : {
c5aa7e14
TL
20467 "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.",
20468 "format" : "storagepair-list",
4d47f125 20469 "optional" : 1,
52e44c50
FG
20470 "type" : "string",
20471 "typetext" : "<string>"
20472 },
7aacca6f 20473 "vmid" : {
7aacca6f 20474 "description" : "The (unique) ID of the VM.",
44660702 20475 "format" : "pve-vmid",
7aacca6f 20476 "minimum" : 1,
4bd7df8b 20477 "type" : "integer",
013dc89f 20478 "typetext" : "<integer> (1 - N)"
52e44c50
FG
20479 },
20480 "with-local-disks" : {
20481 "description" : "Enable live storage migration for local disk",
20482 "optional" : 1,
20483 "type" : "boolean",
20484 "typetext" : "<boolean>"
56122987 20485 }
44660702
DM
20486 }
20487 },
20488 "permissions" : {
20489 "check" : [
20490 "perm",
20491 "/vms/{vmid}",
20492 [
20493 "VM.Migrate"
20494 ]
20495 ]
56122987
DM
20496 },
20497 "protected" : 1,
44660702
DM
20498 "proxyto" : "node",
20499 "returns" : {
20500 "description" : "the task ID.",
20501 "type" : "string"
20502 }
56122987 20503 }
7aacca6f 20504 },
44660702
DM
20505 "leaf" : 1,
20506 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 20507 "text" : "migrate"
56122987
DM
20508 },
20509 {
20510 "info" : {
20511 "POST" : {
e9cd3bd4 20512 "allowtoken" : 1,
44660702 20513 "description" : "Execute Qemu monitor commands.",
56122987 20514 "method" : "POST",
44660702 20515 "name" : "monitor",
56122987 20516 "parameters" : {
7aacca6f 20517 "additionalProperties" : 0,
56122987 20518 "properties" : {
44660702
DM
20519 "command" : {
20520 "description" : "The monitor command.",
013dc89f
DM
20521 "type" : "string",
20522 "typetext" : "<string>"
44660702 20523 },
56122987 20524 "node" : {
44660702 20525 "description" : "The cluster node name.",
7aacca6f 20526 "format" : "pve-node",
013dc89f
DM
20527 "type" : "string",
20528 "typetext" : "<string>"
56122987
DM
20529 },
20530 "vmid" : {
44660702 20531 "description" : "The (unique) ID of the VM.",
56122987 20532 "format" : "pve-vmid",
7aacca6f 20533 "minimum" : 1,
4bd7df8b 20534 "type" : "integer",
013dc89f 20535 "typetext" : "<integer> (1 - N)"
56122987 20536 }
7aacca6f 20537 }
56122987 20538 },
56122987
DM
20539 "permissions" : {
20540 "check" : [
20541 "perm",
20542 "/vms/{vmid}",
20543 [
20544 "VM.Monitor"
20545 ]
32d876b5
DM
20546 ],
20547 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 20548 },
44660702
DM
20549 "protected" : 1,
20550 "proxyto" : "node",
20551 "returns" : {
20552 "type" : "string"
20553 }
56122987 20554 }
44660702
DM
20555 },
20556 "leaf" : 1,
20557 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
20558 "text" : "monitor"
56122987
DM
20559 },
20560 {
56122987
DM
20561 "info" : {
20562 "PUT" : {
e9cd3bd4 20563 "allowtoken" : 1,
44660702
DM
20564 "description" : "Extend volume size.",
20565 "method" : "PUT",
20566 "name" : "resize_vm",
56122987 20567 "parameters" : {
44660702 20568 "additionalProperties" : 0,
56122987 20569 "properties" : {
44660702
DM
20570 "digest" : {
20571 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20572 "maxLength" : 40,
20573 "optional" : 1,
013dc89f
DM
20574 "type" : "string",
20575 "typetext" : "<string>"
56122987 20576 },
56122987
DM
20577 "disk" : {
20578 "description" : "The disk you want to resize.",
20579 "enum" : [
20580 "ide0",
20581 "ide1",
20582 "ide2",
20583 "ide3",
20584 "scsi0",
20585 "scsi1",
20586 "scsi2",
20587 "scsi3",
20588 "scsi4",
20589 "scsi5",
20590 "scsi6",
20591 "scsi7",
20592 "scsi8",
20593 "scsi9",
20594 "scsi10",
20595 "scsi11",
20596 "scsi12",
20597 "scsi13",
e9cd3bd4
TL
20598 "scsi14",
20599 "scsi15",
20600 "scsi16",
20601 "scsi17",
20602 "scsi18",
20603 "scsi19",
20604 "scsi20",
20605 "scsi21",
20606 "scsi22",
20607 "scsi23",
20608 "scsi24",
20609 "scsi25",
20610 "scsi26",
20611 "scsi27",
20612 "scsi28",
20613 "scsi29",
20614 "scsi30",
56122987
DM
20615 "virtio0",
20616 "virtio1",
20617 "virtio2",
20618 "virtio3",
20619 "virtio4",
20620 "virtio5",
20621 "virtio6",
20622 "virtio7",
20623 "virtio8",
20624 "virtio9",
20625 "virtio10",
20626 "virtio11",
20627 "virtio12",
20628 "virtio13",
20629 "virtio14",
20630 "virtio15",
20631 "sata0",
20632 "sata1",
20633 "sata2",
20634 "sata3",
20635 "sata4",
2c0dde61
DM
20636 "sata5",
20637 "efidisk0"
44660702
DM
20638 ],
20639 "type" : "string"
56122987 20640 },
44660702
DM
20641 "node" : {
20642 "description" : "The cluster node name.",
20643 "format" : "pve-node",
013dc89f
DM
20644 "type" : "string",
20645 "typetext" : "<string>"
7aacca6f 20646 },
44660702 20647 "size" : {
5d9c884c 20648 "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
20649 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
20650 "type" : "string"
56122987
DM
20651 },
20652 "skiplock" : {
20653 "description" : "Ignore locks - only root is allowed to use this option.",
20654 "optional" : 1,
013dc89f
DM
20655 "type" : "boolean",
20656 "typetext" : "<boolean>"
56122987
DM
20657 },
20658 "vmid" : {
7aacca6f 20659 "description" : "The (unique) ID of the VM.",
56122987 20660 "format" : "pve-vmid",
44660702 20661 "minimum" : 1,
4bd7df8b 20662 "type" : "integer",
013dc89f 20663 "typetext" : "<integer> (1 - N)"
56122987
DM
20664 }
20665 }
20666 },
20667 "permissions" : {
20668 "check" : [
20669 "perm",
20670 "/vms/{vmid}",
20671 [
44660702 20672 "VM.Config.Disk"
56122987
DM
20673 ]
20674 ]
20675 },
7aacca6f 20676 "protected" : 1,
7aacca6f 20677 "proxyto" : "node",
44660702
DM
20678 "returns" : {
20679 "type" : "null"
20680 }
7aacca6f
DM
20681 }
20682 },
44660702
DM
20683 "leaf" : 1,
20684 "path" : "/nodes/{node}/qemu/{vmid}/resize",
20685 "text" : "resize"
20686 },
20687 {
56122987
DM
20688 "children" : [
20689 {
20690 "children" : [
20691 {
56122987 20692 "info" : {
44660702 20693 "GET" : {
e9cd3bd4 20694 "allowtoken" : 1,
44660702
DM
20695 "description" : "Get snapshot configuration",
20696 "method" : "GET",
20697 "name" : "get_snapshot_config",
56122987 20698 "parameters" : {
44660702 20699 "additionalProperties" : 0,
56122987 20700 "properties" : {
56122987 20701 "node" : {
44660702 20702 "description" : "The cluster node name.",
56122987 20703 "format" : "pve-node",
013dc89f
DM
20704 "type" : "string",
20705 "typetext" : "<string>"
7aacca6f
DM
20706 },
20707 "snapname" : {
44660702 20708 "description" : "The name of the snapshot.",
7aacca6f 20709 "format" : "pve-configid",
44660702 20710 "maxLength" : 40,
013dc89f
DM
20711 "type" : "string",
20712 "typetext" : "<string>"
7aacca6f
DM
20713 },
20714 "vmid" : {
44660702 20715 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
20716 "format" : "pve-vmid",
20717 "minimum" : 1,
4bd7df8b 20718 "type" : "integer",
013dc89f 20719 "typetext" : "<integer> (1 - N)"
56122987 20720 }
44660702 20721 }
56122987
DM
20722 },
20723 "permissions" : {
20724 "check" : [
20725 "perm",
20726 "/vms/{vmid}",
20727 [
2489d6df 20728 "VM.Snapshot",
e9cd3bd4
TL
20729 "VM.Snapshot.Rollback",
20730 "VM.Audit"
2489d6df
WB
20731 ],
20732 "any",
20733 1
56122987
DM
20734 ]
20735 },
44660702 20736 "proxyto" : "node",
56122987 20737 "returns" : {
44660702 20738 "type" : "object"
7aacca6f
DM
20739 }
20740 },
44660702 20741 "PUT" : {
e9cd3bd4 20742 "allowtoken" : 1,
44660702
DM
20743 "description" : "Update snapshot metadata.",
20744 "method" : "PUT",
20745 "name" : "update_snapshot_config",
56122987 20746 "parameters" : {
44660702 20747 "additionalProperties" : 0,
56122987 20748 "properties" : {
44660702
DM
20749 "description" : {
20750 "description" : "A textual description or comment.",
20751 "optional" : 1,
013dc89f
DM
20752 "type" : "string",
20753 "typetext" : "<string>"
44660702 20754 },
56122987 20755 "node" : {
7aacca6f 20756 "description" : "The cluster node name.",
44660702 20757 "format" : "pve-node",
013dc89f
DM
20758 "type" : "string",
20759 "typetext" : "<string>"
56122987 20760 },
56122987
DM
20761 "snapname" : {
20762 "description" : "The name of the snapshot.",
44660702 20763 "format" : "pve-configid",
7aacca6f 20764 "maxLength" : 40,
013dc89f
DM
20765 "type" : "string",
20766 "typetext" : "<string>"
7aacca6f
DM
20767 },
20768 "vmid" : {
20769 "description" : "The (unique) ID of the VM.",
44660702 20770 "format" : "pve-vmid",
7aacca6f 20771 "minimum" : 1,
4bd7df8b 20772 "type" : "integer",
013dc89f 20773 "typetext" : "<integer> (1 - N)"
56122987 20774 }
44660702 20775 }
56122987 20776 },
7aacca6f
DM
20777 "permissions" : {
20778 "check" : [
20779 "perm",
20780 "/vms/{vmid}",
20781 [
20782 "VM.Snapshot"
20783 ]
20784 ]
44660702
DM
20785 },
20786 "protected" : 1,
20787 "proxyto" : "node",
20788 "returns" : {
20789 "type" : "null"
7aacca6f 20790 }
56122987
DM
20791 }
20792 },
44660702 20793 "leaf" : 1,
7aacca6f 20794 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 20795 "text" : "config"
56122987
DM
20796 },
20797 {
56122987
DM
20798 "info" : {
20799 "POST" : {
e9cd3bd4 20800 "allowtoken" : 1,
44660702 20801 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 20802 "method" : "POST",
44660702 20803 "name" : "rollback",
56122987
DM
20804 "parameters" : {
20805 "additionalProperties" : 0,
20806 "properties" : {
44660702
DM
20807 "node" : {
20808 "description" : "The cluster node name.",
20809 "format" : "pve-node",
013dc89f
DM
20810 "type" : "string",
20811 "typetext" : "<string>"
44660702 20812 },
56122987 20813 "snapname" : {
44660702 20814 "description" : "The name of the snapshot.",
56122987
DM
20815 "format" : "pve-configid",
20816 "maxLength" : 40,
013dc89f
DM
20817 "type" : "string",
20818 "typetext" : "<string>"
7aacca6f 20819 },
56122987 20820 "vmid" : {
7aacca6f 20821 "description" : "The (unique) ID of the VM.",
44660702 20822 "format" : "pve-vmid",
56122987 20823 "minimum" : 1,
4bd7df8b 20824 "type" : "integer",
013dc89f 20825 "typetext" : "<integer> (1 - N)"
56122987
DM
20826 }
20827 }
20828 },
7aacca6f 20829 "permissions" : {
56122987
DM
20830 "check" : [
20831 "perm",
20832 "/vms/{vmid}",
20833 [
2489d6df
WB
20834 "VM.Snapshot",
20835 "VM.Snapshot.Rollback"
20836 ],
20837 "any",
20838 1
56122987
DM
20839 ]
20840 },
44660702 20841 "protected" : 1,
7aacca6f 20842 "proxyto" : "node",
44660702
DM
20843 "returns" : {
20844 "description" : "the task ID.",
20845 "type" : "string"
20846 }
56122987
DM
20847 }
20848 },
44660702
DM
20849 "leaf" : 1,
20850 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 20851 "text" : "rollback"
56122987 20852 }
44660702
DM
20853 ],
20854 "info" : {
20855 "DELETE" : {
e9cd3bd4 20856 "allowtoken" : 1,
44660702
DM
20857 "description" : "Delete a VM snapshot.",
20858 "method" : "DELETE",
20859 "name" : "delsnapshot",
20860 "parameters" : {
20861 "additionalProperties" : 0,
20862 "properties" : {
20863 "force" : {
20864 "description" : "For removal from config file, even if removing disk snapshots fails.",
20865 "optional" : 1,
013dc89f
DM
20866 "type" : "boolean",
20867 "typetext" : "<boolean>"
44660702
DM
20868 },
20869 "node" : {
20870 "description" : "The cluster node name.",
20871 "format" : "pve-node",
013dc89f
DM
20872 "type" : "string",
20873 "typetext" : "<string>"
44660702
DM
20874 },
20875 "snapname" : {
20876 "description" : "The name of the snapshot.",
20877 "format" : "pve-configid",
20878 "maxLength" : 40,
013dc89f
DM
20879 "type" : "string",
20880 "typetext" : "<string>"
44660702
DM
20881 },
20882 "vmid" : {
20883 "description" : "The (unique) ID of the VM.",
20884 "format" : "pve-vmid",
20885 "minimum" : 1,
4bd7df8b 20886 "type" : "integer",
013dc89f 20887 "typetext" : "<integer> (1 - N)"
44660702
DM
20888 }
20889 }
20890 },
20891 "permissions" : {
20892 "check" : [
20893 "perm",
20894 "/vms/{vmid}",
20895 [
20896 "VM.Snapshot"
20897 ]
20898 ]
20899 },
20900 "protected" : 1,
20901 "proxyto" : "node",
20902 "returns" : {
20903 "description" : "the task ID.",
20904 "type" : "string"
20905 }
20906 },
20907 "GET" : {
e9cd3bd4 20908 "allowtoken" : 1,
44660702
DM
20909 "description" : "",
20910 "method" : "GET",
20911 "name" : "snapshot_cmd_idx",
20912 "parameters" : {
20913 "additionalProperties" : 0,
20914 "properties" : {
20915 "node" : {
20916 "description" : "The cluster node name.",
20917 "format" : "pve-node",
013dc89f
DM
20918 "type" : "string",
20919 "typetext" : "<string>"
44660702
DM
20920 },
20921 "snapname" : {
20922 "description" : "The name of the snapshot.",
20923 "format" : "pve-configid",
20924 "maxLength" : 40,
013dc89f
DM
20925 "type" : "string",
20926 "typetext" : "<string>"
44660702
DM
20927 },
20928 "vmid" : {
20929 "description" : "The (unique) ID of the VM.",
20930 "format" : "pve-vmid",
20931 "minimum" : 1,
4bd7df8b 20932 "type" : "integer",
013dc89f 20933 "typetext" : "<integer> (1 - N)"
44660702
DM
20934 }
20935 }
20936 },
20937 "permissions" : {
20938 "user" : "all"
20939 },
20940 "returns" : {
20941 "items" : {
20942 "properties" : {},
20943 "type" : "object"
20944 },
20945 "links" : [
20946 {
20947 "href" : "{cmd}",
20948 "rel" : "child"
20949 }
20950 ],
20951 "type" : "array"
20952 }
20953 }
20954 },
20955 "leaf" : 0,
20956 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
20957 "text" : "{snapname}"
56122987
DM
20958 }
20959 ],
44660702
DM
20960 "info" : {
20961 "GET" : {
e9cd3bd4 20962 "allowtoken" : 1,
44660702
DM
20963 "description" : "List all snapshots.",
20964 "method" : "GET",
20965 "name" : "snapshot_list",
20966 "parameters" : {
20967 "additionalProperties" : 0,
20968 "properties" : {
20969 "node" : {
20970 "description" : "The cluster node name.",
20971 "format" : "pve-node",
013dc89f
DM
20972 "type" : "string",
20973 "typetext" : "<string>"
44660702
DM
20974 },
20975 "vmid" : {
20976 "description" : "The (unique) ID of the VM.",
20977 "format" : "pve-vmid",
20978 "minimum" : 1,
4bd7df8b 20979 "type" : "integer",
013dc89f 20980 "typetext" : "<integer> (1 - N)"
44660702
DM
20981 }
20982 }
20983 },
20984 "permissions" : {
20985 "check" : [
20986 "perm",
20987 "/vms/{vmid}",
20988 [
20989 "VM.Audit"
20990 ]
20991 ]
20992 },
20993 "protected" : 1,
20994 "proxyto" : "node",
20995 "returns" : {
20996 "items" : {
4d47f125
TL
20997 "properties" : {
20998 "description" : {
20999 "description" : "Snapshot description.",
21000 "type" : "string"
21001 },
21002 "name" : {
21003 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
21004 "type" : "string"
21005 },
21006 "parent" : {
21007 "description" : "Parent snapshot identifier.",
21008 "optional" : 1,
21009 "type" : "string"
21010 },
21011 "snaptime" : {
21012 "description" : "Snapshot creation time",
21013 "optional" : 1,
21014 "renderer" : "timestamp",
21015 "type" : "integer"
21016 },
21017 "vmstate" : {
21018 "description" : "Snapshot includes RAM.",
21019 "optional" : 1,
21020 "type" : "boolean"
21021 }
21022 },
44660702
DM
21023 "type" : "object"
21024 },
21025 "links" : [
21026 {
21027 "href" : "{name}",
21028 "rel" : "child"
21029 }
21030 ],
21031 "type" : "array"
21032 }
21033 },
21034 "POST" : {
e9cd3bd4 21035 "allowtoken" : 1,
44660702
DM
21036 "description" : "Snapshot a VM.",
21037 "method" : "POST",
21038 "name" : "snapshot",
21039 "parameters" : {
21040 "additionalProperties" : 0,
21041 "properties" : {
21042 "description" : {
21043 "description" : "A textual description or comment.",
21044 "optional" : 1,
013dc89f
DM
21045 "type" : "string",
21046 "typetext" : "<string>"
44660702
DM
21047 },
21048 "node" : {
21049 "description" : "The cluster node name.",
21050 "format" : "pve-node",
013dc89f
DM
21051 "type" : "string",
21052 "typetext" : "<string>"
44660702
DM
21053 },
21054 "snapname" : {
21055 "description" : "The name of the snapshot.",
21056 "format" : "pve-configid",
21057 "maxLength" : 40,
013dc89f
DM
21058 "type" : "string",
21059 "typetext" : "<string>"
44660702
DM
21060 },
21061 "vmid" : {
21062 "description" : "The (unique) ID of the VM.",
21063 "format" : "pve-vmid",
21064 "minimum" : 1,
4bd7df8b 21065 "type" : "integer",
013dc89f 21066 "typetext" : "<integer> (1 - N)"
44660702
DM
21067 },
21068 "vmstate" : {
21069 "description" : "Save the vmstate",
21070 "optional" : 1,
013dc89f
DM
21071 "type" : "boolean",
21072 "typetext" : "<boolean>"
44660702
DM
21073 }
21074 }
21075 },
21076 "permissions" : {
21077 "check" : [
21078 "perm",
21079 "/vms/{vmid}",
21080 [
21081 "VM.Snapshot"
21082 ]
21083 ]
21084 },
21085 "protected" : 1,
21086 "proxyto" : "node",
21087 "returns" : {
21088 "description" : "the task ID.",
21089 "type" : "string"
21090 }
21091 }
21092 },
21093 "leaf" : 0,
21094 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 21095 "text" : "snapshot"
56122987
DM
21096 },
21097 {
56122987
DM
21098 "info" : {
21099 "POST" : {
e9cd3bd4 21100 "allowtoken" : 1,
44660702
DM
21101 "description" : "Create a Template.",
21102 "method" : "POST",
56122987 21103 "name" : "template",
56122987 21104 "parameters" : {
7aacca6f 21105 "additionalProperties" : 0,
56122987 21106 "properties" : {
56122987 21107 "disk" : {
56122987
DM
21108 "description" : "If you want to convert only 1 disk to base image.",
21109 "enum" : [
21110 "ide0",
21111 "ide1",
21112 "ide2",
21113 "ide3",
21114 "scsi0",
21115 "scsi1",
21116 "scsi2",
21117 "scsi3",
21118 "scsi4",
21119 "scsi5",
21120 "scsi6",
21121 "scsi7",
21122 "scsi8",
21123 "scsi9",
21124 "scsi10",
21125 "scsi11",
21126 "scsi12",
21127 "scsi13",
e9cd3bd4
TL
21128 "scsi14",
21129 "scsi15",
21130 "scsi16",
21131 "scsi17",
21132 "scsi18",
21133 "scsi19",
21134 "scsi20",
21135 "scsi21",
21136 "scsi22",
21137 "scsi23",
21138 "scsi24",
21139 "scsi25",
21140 "scsi26",
21141 "scsi27",
21142 "scsi28",
21143 "scsi29",
21144 "scsi30",
56122987
DM
21145 "virtio0",
21146 "virtio1",
21147 "virtio2",
21148 "virtio3",
21149 "virtio4",
21150 "virtio5",
21151 "virtio6",
21152 "virtio7",
21153 "virtio8",
21154 "virtio9",
21155 "virtio10",
21156 "virtio11",
21157 "virtio12",
21158 "virtio13",
21159 "virtio14",
21160 "virtio15",
21161 "sata0",
21162 "sata1",
21163 "sata2",
21164 "sata3",
21165 "sata4",
2c0dde61
DM
21166 "sata5",
21167 "efidisk0"
56122987 21168 ],
7aacca6f 21169 "optional" : 1,
56122987
DM
21170 "type" : "string"
21171 },
44660702
DM
21172 "node" : {
21173 "description" : "The cluster node name.",
21174 "format" : "pve-node",
013dc89f
DM
21175 "type" : "string",
21176 "typetext" : "<string>"
44660702
DM
21177 },
21178 "vmid" : {
21179 "description" : "The (unique) ID of the VM.",
7aacca6f 21180 "format" : "pve-vmid",
44660702 21181 "minimum" : 1,
4bd7df8b 21182 "type" : "integer",
013dc89f 21183 "typetext" : "<integer> (1 - N)"
56122987 21184 }
7aacca6f 21185 }
56122987 21186 },
7aacca6f
DM
21187 "permissions" : {
21188 "check" : [
21189 "perm",
21190 "/vms/{vmid}",
21191 [
21192 "VM.Allocate"
21193 ]
21194 ],
21195 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
21196 },
44660702 21197 "protected" : 1,
7aacca6f 21198 "proxyto" : "node",
7aacca6f
DM
21199 "returns" : {
21200 "type" : "null"
21201 }
56122987
DM
21202 }
21203 },
44660702 21204 "leaf" : 1,
7aacca6f 21205 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 21206 "text" : "template"
1e3f8156
TL
21207 },
21208 {
21209 "children" : [
21210 {
21211 "info" : {
21212 "GET" : {
e9cd3bd4 21213 "allowtoken" : 1,
1e3f8156
TL
21214 "description" : "Get automatically generated cloudinit config.",
21215 "method" : "GET",
21216 "name" : "cloudinit_generated_config_dump",
21217 "parameters" : {
21218 "additionalProperties" : 0,
21219 "properties" : {
21220 "node" : {
21221 "description" : "The cluster node name.",
21222 "format" : "pve-node",
21223 "type" : "string",
21224 "typetext" : "<string>"
21225 },
21226 "type" : {
21227 "description" : "Config type.",
21228 "enum" : [
21229 "user",
21230 "network",
21231 "meta"
21232 ],
21233 "type" : "string"
21234 },
21235 "vmid" : {
21236 "description" : "The (unique) ID of the VM.",
21237 "format" : "pve-vmid",
21238 "minimum" : 1,
21239 "type" : "integer",
21240 "typetext" : "<integer> (1 - N)"
21241 }
21242 }
21243 },
21244 "permissions" : {
21245 "check" : [
21246 "perm",
21247 "/vms/{vmid}",
21248 [
21249 "VM.Audit"
21250 ]
21251 ]
21252 },
21253 "proxyto" : "node",
21254 "returns" : {
21255 "type" : "string"
21256 }
21257 }
21258 },
21259 "leaf" : 1,
21260 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
21261 "text" : "dump"
21262 }
21263 ],
21264 "leaf" : 0,
21265 "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
21266 "text" : "cloudinit"
56122987
DM
21267 }
21268 ],
7aacca6f 21269 "info" : {
44660702 21270 "DELETE" : {
e9cd3bd4 21271 "allowtoken" : 1,
d2656385 21272 "description" : "Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules",
44660702
DM
21273 "method" : "DELETE",
21274 "name" : "destroy_vm",
7aacca6f 21275 "parameters" : {
44660702 21276 "additionalProperties" : 0,
7aacca6f 21277 "properties" : {
d2656385
TL
21278 "destroy-unreferenced-disks" : {
21279 "default" : 1,
21280 "description" : "If set, destroy additionally all disks not referenced in the config but with a matching VMID from all enabled storages.",
21281 "optional" : 1,
21282 "type" : "boolean",
21283 "typetext" : "<boolean>"
21284 },
7aacca6f 21285 "node" : {
44660702 21286 "description" : "The cluster node name.",
7aacca6f 21287 "format" : "pve-node",
013dc89f
DM
21288 "type" : "string",
21289 "typetext" : "<string>"
44660702 21290 },
1c532546 21291 "purge" : {
d2656385 21292 "description" : "Remove VMID from configurations, like backup & replication jobs and HA.",
1c532546
TL
21293 "optional" : 1,
21294 "type" : "boolean",
21295 "typetext" : "<boolean>"
21296 },
44660702
DM
21297 "skiplock" : {
21298 "description" : "Ignore locks - only root is allowed to use this option.",
21299 "optional" : 1,
013dc89f
DM
21300 "type" : "boolean",
21301 "typetext" : "<boolean>"
7aacca6f
DM
21302 },
21303 "vmid" : {
44660702 21304 "description" : "The (unique) ID of the VM.",
7aacca6f 21305 "format" : "pve-vmid",
44660702 21306 "minimum" : 1,
4bd7df8b 21307 "type" : "integer",
013dc89f 21308 "typetext" : "<integer> (1 - N)"
7aacca6f 21309 }
44660702 21310 }
7aacca6f 21311 },
7aacca6f
DM
21312 "permissions" : {
21313 "check" : [
21314 "perm",
21315 "/vms/{vmid}",
21316 [
21317 "VM.Allocate"
21318 ]
21319 ]
21320 },
44660702
DM
21321 "protected" : 1,
21322 "proxyto" : "node",
7aacca6f
DM
21323 "returns" : {
21324 "type" : "string"
44660702
DM
21325 }
21326 },
21327 "GET" : {
e9cd3bd4 21328 "allowtoken" : 1,
44660702
DM
21329 "description" : "Directory index",
21330 "method" : "GET",
21331 "name" : "vmdiridx",
7aacca6f 21332 "parameters" : {
44660702 21333 "additionalProperties" : 0,
7aacca6f 21334 "properties" : {
7aacca6f 21335 "node" : {
7aacca6f 21336 "description" : "The cluster node name.",
44660702 21337 "format" : "pve-node",
013dc89f
DM
21338 "type" : "string",
21339 "typetext" : "<string>"
44660702
DM
21340 },
21341 "vmid" : {
21342 "description" : "The (unique) ID of the VM.",
21343 "format" : "pve-vmid",
21344 "minimum" : 1,
4bd7df8b 21345 "type" : "integer",
013dc89f 21346 "typetext" : "<integer> (1 - N)"
7aacca6f 21347 }
44660702 21348 }
7aacca6f 21349 },
44660702
DM
21350 "permissions" : {
21351 "user" : "all"
21352 },
21353 "proxyto" : "node",
21354 "returns" : {
21355 "items" : {
21356 "properties" : {
21357 "subdir" : {
21358 "type" : "string"
21359 }
21360 },
21361 "type" : "object"
21362 },
21363 "links" : [
21364 {
21365 "href" : "{subdir}",
21366 "rel" : "child"
21367 }
21368 ],
21369 "type" : "array"
21370 }
7aacca6f 21371 }
44660702
DM
21372 },
21373 "leaf" : 0,
21374 "path" : "/nodes/{node}/qemu/{vmid}",
21375 "text" : "{vmid}"
56122987
DM
21376 }
21377 ],
21378 "info" : {
44660702 21379 "GET" : {
e9cd3bd4 21380 "allowtoken" : 1,
44660702
DM
21381 "description" : "Virtual machine index (per node).",
21382 "method" : "GET",
21383 "name" : "vmlist",
56122987 21384 "parameters" : {
44660702 21385 "additionalProperties" : 0,
56122987 21386 "properties" : {
44660702
DM
21387 "full" : {
21388 "description" : "Determine the full status of active VMs.",
56122987 21389 "optional" : 1,
013dc89f
DM
21390 "type" : "boolean",
21391 "typetext" : "<boolean>"
56122987 21392 },
44660702
DM
21393 "node" : {
21394 "description" : "The cluster node name.",
21395 "format" : "pve-node",
013dc89f
DM
21396 "type" : "string",
21397 "typetext" : "<string>"
44660702
DM
21398 }
21399 }
21400 },
21401 "permissions" : {
21402 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
21403 "user" : "all"
21404 },
21405 "protected" : 1,
21406 "proxyto" : "node",
21407 "returns" : {
21408 "items" : {
4d47f125
TL
21409 "properties" : {
21410 "cpus" : {
21411 "description" : "Maximum usable CPUs.",
21412 "optional" : 1,
21413 "type" : "number"
21414 },
95895385
TL
21415 "lock" : {
21416 "description" : "The current config lock, if any.",
21417 "optional" : 1,
21418 "type" : "string"
21419 },
4d47f125
TL
21420 "maxdisk" : {
21421 "description" : "Root disk size in bytes.",
21422 "optional" : 1,
21423 "renderer" : "bytes",
21424 "type" : "integer"
21425 },
21426 "maxmem" : {
21427 "description" : "Maximum memory in bytes.",
21428 "optional" : 1,
21429 "renderer" : "bytes",
21430 "type" : "integer"
21431 },
21432 "name" : {
21433 "description" : "VM name.",
21434 "optional" : 1,
21435 "type" : "string"
21436 },
21437 "pid" : {
21438 "description" : "PID of running qemu process.",
21439 "optional" : 1,
21440 "type" : "integer"
21441 },
21442 "qmpstatus" : {
21443 "description" : "Qemu QMP agent status.",
21444 "optional" : 1,
21445 "type" : "string"
21446 },
d2656385
TL
21447 "running-machine" : {
21448 "description" : "The currently running machine type (if running).",
21449 "optional" : 1,
21450 "type" : "string"
21451 },
21452 "running-qemu" : {
21453 "description" : "The currently running QEMU version (if running).",
21454 "optional" : 1,
21455 "type" : "string"
21456 },
4d47f125
TL
21457 "status" : {
21458 "description" : "Qemu process status.",
21459 "enum" : [
21460 "stopped",
21461 "running"
21462 ],
21463 "type" : "string"
21464 },
5c1699e5
TL
21465 "tags" : {
21466 "description" : "The current configured tags, if any",
21467 "optional" : 1,
21468 "type" : "string"
21469 },
4d47f125
TL
21470 "uptime" : {
21471 "description" : "Uptime.",
21472 "optional" : 1,
21473 "renderer" : "duration",
21474 "type" : "integer"
21475 },
21476 "vmid" : {
21477 "description" : "The (unique) ID of the VM.",
21478 "format" : "pve-vmid",
21479 "minimum" : 1,
21480 "type" : "integer"
21481 }
21482 },
44660702
DM
21483 "type" : "object"
21484 },
21485 "links" : [
21486 {
21487 "href" : "{vmid}",
21488 "rel" : "child"
21489 }
21490 ],
21491 "type" : "array"
21492 }
21493 },
21494 "POST" : {
e9cd3bd4 21495 "allowtoken" : 1,
44660702
DM
21496 "description" : "Create or restore a virtual machine.",
21497 "method" : "POST",
21498 "name" : "create_vm",
21499 "parameters" : {
21500 "additionalProperties" : 0,
21501 "properties" : {
7aacca6f 21502 "acpi" : {
7aacca6f 21503 "default" : 1,
44660702 21504 "description" : "Enable/disable ACPI.",
56122987 21505 "optional" : 1,
013dc89f
DM
21506 "type" : "boolean",
21507 "typetext" : "<boolean>"
56122987 21508 },
44660702 21509 "agent" : {
4d47f125
TL
21510 "description" : "Enable/disable Qemu GuestAgent and its properties.",
21511 "format" : {
21512 "enabled" : {
21513 "default" : 0,
21514 "default_key" : 1,
21515 "description" : "Enable/disable Qemu GuestAgent.",
21516 "type" : "boolean"
21517 },
21518 "fstrim_cloned_disks" : {
21519 "default" : 0,
d2656385 21520 "description" : "Run fstrim after moving a disk or migrating the VM.",
4d47f125
TL
21521 "optional" : 1,
21522 "type" : "boolean"
5c1699e5
TL
21523 },
21524 "type" : {
21525 "default" : "virtio",
21526 "description" : "Select the agent type",
21527 "enum" : [
21528 "virtio",
21529 "isa"
21530 ],
21531 "optional" : 1,
21532 "type" : "string"
4d47f125
TL
21533 }
21534 },
7aacca6f 21535 "optional" : 1,
4d47f125 21536 "type" : "string",
5c1699e5 21537 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
56122987 21538 },
e2d681b3
TL
21539 "arch" : {
21540 "description" : "Virtual processor architecture. Defaults to the host.",
21541 "enum" : [
21542 "x86_64",
21543 "aarch64"
21544 ],
21545 "optional" : 1,
21546 "type" : "string"
21547 },
44660702 21548 "archive" : {
c5aa7e14 21549 "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 21550 "maxLength" : 255,
56122987 21551 "optional" : 1,
013dc89f
DM
21552 "type" : "string",
21553 "typetext" : "<string>"
56122987 21554 },
44660702 21555 "args" : {
c2993fe5 21556 "description" : "Arbitrary arguments passed to kvm.",
56122987 21557 "optional" : 1,
c2993fe5 21558 "type" : "string",
013dc89f 21559 "typetext" : "<string>",
c2993fe5 21560 "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 21561 },
1c532546
TL
21562 "audio0" : {
21563 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
21564 "format" : {
21565 "device" : {
21566 "description" : "Configure an audio device.",
21567 "enum" : [
21568 "ich9-intel-hda",
21569 "intel-hda",
21570 "AC97"
21571 ],
21572 "type" : "string"
21573 },
21574 "driver" : {
21575 "default" : "spice",
21576 "description" : "Driver backend for the audio device.",
21577 "enum" : [
d2656385
TL
21578 "spice",
21579 "none"
1c532546
TL
21580 ],
21581 "optional" : 1,
21582 "type" : "string"
21583 }
21584 },
21585 "optional" : 1,
21586 "type" : "string",
d2656385 21587 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
1c532546 21588 },
44660702 21589 "autostart" : {
7aacca6f 21590 "default" : 0,
44660702
DM
21591 "description" : "Automatic restart after crash (currently ignored).",
21592 "optional" : 1,
013dc89f
DM
21593 "type" : "boolean",
21594 "typetext" : "<boolean>"
7aacca6f 21595 },
44660702
DM
21596 "balloon" : {
21597 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
21598 "minimum" : 0,
56122987 21599 "optional" : 1,
4bd7df8b 21600 "type" : "integer",
013dc89f 21601 "typetext" : "<integer> (0 - N)"
56122987 21602 },
44660702
DM
21603 "bios" : {
21604 "default" : "seabios",
21605 "description" : "Select BIOS implementation.",
21606 "enum" : [
21607 "seabios",
21608 "ovmf"
21609 ],
56122987 21610 "optional" : 1,
44660702 21611 "type" : "string"
56122987 21612 },
44660702 21613 "boot" : {
4772952b
TL
21614 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
21615 "format" : "pve-qm-boot",
56122987 21616 "optional" : 1,
4772952b
TL
21617 "type" : "string",
21618 "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
56122987 21619 },
7aacca6f 21620 "bootdisk" : {
4772952b 21621 "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
44660702
DM
21622 "format" : "pve-qm-bootdisk",
21623 "optional" : 1,
7aacca6f 21624 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
21625 "type" : "string"
21626 },
27a7acb2 21627 "bwlimit" : {
95895385
TL
21628 "default" : "restore limit from datacenter or storage config",
21629 "description" : "Override I/O bandwidth limit (in KiB/s).",
27a7acb2
DM
21630 "minimum" : "0",
21631 "optional" : 1,
21632 "type" : "integer",
21633 "typetext" : "<integer> (0 - N)"
21634 },
44660702
DM
21635 "cdrom" : {
21636 "description" : "This is an alias for option -ide2",
de0983cb 21637 "format" : "pve-qm-ide",
56122987 21638 "optional" : 1,
44660702 21639 "type" : "string",
013dc89f 21640 "typetext" : "<volume>"
56122987 21641 },
95895385
TL
21642 "cicustom" : {
21643 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
21644 "format" : "pve-qm-cicustom",
21645 "optional" : 1,
21646 "type" : "string",
21647 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
21648 },
27a7acb2
DM
21649 "cipassword" : {
21650 "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.",
21651 "optional" : 1,
21652 "type" : "string",
21653 "typetext" : "<string>"
21654 },
21655 "citype" : {
21656 "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.",
21657 "enum" : [
21658 "configdrive2",
d2656385
TL
21659 "nocloud",
21660 "opennebula"
27a7acb2
DM
21661 ],
21662 "optional" : 1,
21663 "type" : "string"
21664 },
21665 "ciuser" : {
21666 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
21667 "optional" : 1,
21668 "type" : "string",
21669 "typetext" : "<string>"
21670 },
44660702
DM
21671 "cores" : {
21672 "default" : 1,
21673 "description" : "The number of cores per socket.",
7aacca6f 21674 "minimum" : 1,
44660702 21675 "optional" : 1,
4bd7df8b 21676 "type" : "integer",
013dc89f 21677 "typetext" : "<integer> (1 - N)"
7aacca6f 21678 },
44660702
DM
21679 "cpu" : {
21680 "description" : "Emulated CPU type.",
c5aa7e14 21681 "format" : "pve-vm-cpu-conf",
56122987 21682 "optional" : 1,
4bd7df8b 21683 "type" : "string",
04d22a9f 21684 "typetext" : "[[cputype=]<string>] [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>] [,phys-bits=<8-64|host>] [,reported-model=<enum>]"
56122987 21685 },
44660702 21686 "cpulimit" : {
7aacca6f 21687 "default" : 0,
c2993fe5 21688 "description" : "Limit of CPU usage.",
44660702
DM
21689 "maximum" : 128,
21690 "minimum" : 0,
7aacca6f 21691 "optional" : 1,
c2993fe5 21692 "type" : "number",
013dc89f 21693 "typetext" : "<number> (0 - 128)",
c2993fe5 21694 "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
21695 },
21696 "cpuunits" : {
de0983cb 21697 "default" : 1024,
c2993fe5 21698 "description" : "CPU weight for a VM.",
2489d6df
WB
21699 "maximum" : 262144,
21700 "minimum" : 2,
44660702 21701 "optional" : 1,
c2993fe5 21702 "type" : "integer",
2489d6df
WB
21703 "typetext" : "<integer> (2 - 262144)",
21704 "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
21705 },
21706 "description" : {
21707 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 21708 "optional" : 1,
013dc89f
DM
21709 "type" : "string",
21710 "typetext" : "<string>"
44660702 21711 },
4d47f125 21712 "efidisk0" : {
d2656385 21713 "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
21714 "format" : {
21715 "file" : {
21716 "default_key" : 1,
21717 "description" : "The drive's backing volume.",
21718 "format" : "pve-volume-id-or-qm-path",
21719 "format_description" : "volume",
21720 "type" : "string"
21721 },
21722 "format" : {
21723 "description" : "The drive's backing file's data format.",
21724 "enum" : [
21725 "raw",
21726 "cow",
21727 "qcow",
21728 "qed",
21729 "qcow2",
21730 "vmdk",
21731 "cloop"
21732 ],
21733 "optional" : 1,
21734 "type" : "string"
21735 },
21736 "size" : {
21737 "description" : "Disk size. This is purely informational and has no effect.",
21738 "format" : "disk-size",
21739 "format_description" : "DiskSize",
21740 "optional" : 1,
21741 "type" : "string"
21742 },
21743 "volume" : {
21744 "alias" : "file"
21745 }
21746 },
21747 "optional" : 1,
21748 "type" : "string",
21749 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
21750 },
44660702
DM
21751 "force" : {
21752 "description" : "Allow to overwrite existing VM.",
21753 "optional" : 1,
21754 "requires" : "archive",
013dc89f
DM
21755 "type" : "boolean",
21756 "typetext" : "<boolean>"
44660702
DM
21757 },
21758 "freeze" : {
21759 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
21760 "optional" : 1,
013dc89f
DM
21761 "type" : "boolean",
21762 "typetext" : "<boolean>"
44660702 21763 },
5f26e15b
TL
21764 "hookscript" : {
21765 "description" : "Script that will be executed during various steps in the vms lifetime.",
21766 "format" : "pve-volume-id",
21767 "optional" : 1,
21768 "type" : "string",
21769 "typetext" : "<string>"
21770 },
44660702 21771 "hostpci[n]" : {
c2993fe5 21772 "description" : "Map host PCI devices into guest.",
44660702
DM
21773 "format" : "pve-qm-hostpci",
21774 "optional" : 1,
57b78691 21775 "type" : "string",
ac70d7d1 21776 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
bb4c8cf8 21777 "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
21778 },
21779 "hotplug" : {
21780 "default" : "network,disk,usb",
21781 "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'.",
21782 "format" : "pve-hotplug-features",
21783 "optional" : 1,
013dc89f
DM
21784 "type" : "string",
21785 "typetext" : "<string>"
7aacca6f 21786 },
4bd7df8b
DM
21787 "hugepages" : {
21788 "description" : "Enable/disable hugepages memory.",
21789 "enum" : [
21790 "any",
21791 "2",
21792 "1024"
21793 ],
21794 "optional" : 1,
21795 "type" : "string"
21796 },
7aacca6f 21797 "ide[n]" : {
d2656385 21798 "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 21799 "format" : {
44660702
DM
21800 "aio" : {
21801 "description" : "AIO type to use.",
21802 "enum" : [
21803 "native",
21804 "threads"
21805 ],
44660702
DM
21806 "optional" : 1,
21807 "type" : "string"
21808 },
21809 "backup" : {
21810 "description" : "Whether the drive should be included when making backups.",
44660702
DM
21811 "optional" : 1,
21812 "type" : "boolean"
21813 },
21814 "bps" : {
de0983cb 21815 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 21816 "format_description" : "bps",
56122987 21817 "optional" : 1,
44660702 21818 "type" : "integer"
56122987 21819 },
de0983cb
DM
21820 "bps_max_length" : {
21821 "description" : "Maximum length of I/O bursts in seconds.",
21822 "format_description" : "seconds",
21823 "minimum" : 1,
21824 "optional" : 1,
21825 "type" : "integer"
21826 },
44660702 21827 "bps_rd" : {
de0983cb 21828 "description" : "Maximum read speed in bytes per second.",
44660702 21829 "format_description" : "bps",
56122987 21830 "optional" : 1,
44660702 21831 "type" : "integer"
56122987 21832 },
de0983cb 21833 "bps_rd_length" : {
5d9c884c
DM
21834 "alias" : "bps_rd_max_length"
21835 },
21836 "bps_rd_max_length" : {
de0983cb
DM
21837 "description" : "Maximum length of read I/O bursts in seconds.",
21838 "format_description" : "seconds",
21839 "minimum" : 1,
21840 "optional" : 1,
21841 "type" : "integer"
21842 },
44660702 21843 "bps_wr" : {
de0983cb 21844 "description" : "Maximum write speed in bytes per second.",
44660702 21845 "format_description" : "bps",
56122987 21846 "optional" : 1,
44660702 21847 "type" : "integer"
56122987 21848 },
de0983cb 21849 "bps_wr_length" : {
5d9c884c
DM
21850 "alias" : "bps_wr_max_length"
21851 },
21852 "bps_wr_max_length" : {
de0983cb
DM
21853 "description" : "Maximum length of write I/O bursts in seconds.",
21854 "format_description" : "seconds",
21855 "minimum" : 1,
21856 "optional" : 1,
21857 "type" : "integer"
21858 },
44660702
DM
21859 "cache" : {
21860 "description" : "The drive's cache mode",
56122987 21861 "enum" : [
7aacca6f 21862 "none",
44660702
DM
21863 "writethrough",
21864 "writeback",
21865 "unsafe",
21866 "directsync"
56122987 21867 ],
56122987 21868 "optional" : 1,
44660702 21869 "type" : "string"
56122987 21870 },
44660702
DM
21871 "cyls" : {
21872 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
21873 "optional" : 1,
21874 "type" : "integer"
7aacca6f 21875 },
44660702
DM
21876 "detect_zeroes" : {
21877 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 21878 "optional" : 1,
44660702 21879 "type" : "boolean"
56122987 21880 },
44660702
DM
21881 "discard" : {
21882 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
21883 "enum" : [
21884 "ignore",
21885 "on"
21886 ],
56122987 21887 "optional" : 1,
44660702 21888 "type" : "string"
56122987 21889 },
7aacca6f 21890 "file" : {
44660702 21891 "default_key" : 1,
7aacca6f 21892 "description" : "The drive's backing volume.",
7aacca6f
DM
21893 "format" : "pve-volume-id-or-qm-path",
21894 "format_description" : "volume",
7aacca6f 21895 "type" : "string"
56122987 21896 },
44660702
DM
21897 "format" : {
21898 "description" : "The drive's backing file's data format.",
56122987 21899 "enum" : [
44660702
DM
21900 "raw",
21901 "cow",
21902 "qcow",
21903 "qed",
21904 "qcow2",
21905 "vmdk",
21906 "cloop"
7aacca6f 21907 ],
7aacca6f
DM
21908 "optional" : 1,
21909 "type" : "string"
56122987 21910 },
44660702
DM
21911 "heads" : {
21912 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 21913 "optional" : 1,
44660702 21914 "type" : "integer"
56122987 21915 },
44660702 21916 "iops" : {
de0983cb 21917 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 21918 "format_description" : "iops",
56122987 21919 "optional" : 1,
44660702 21920 "type" : "integer"
56122987 21921 },
44660702 21922 "iops_max" : {
de0983cb 21923 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 21924 "format_description" : "iops",
56122987 21925 "optional" : 1,
44660702 21926 "type" : "integer"
56122987 21927 },
de0983cb
DM
21928 "iops_max_length" : {
21929 "description" : "Maximum length of I/O bursts in seconds.",
21930 "format_description" : "seconds",
21931 "minimum" : 1,
21932 "optional" : 1,
21933 "type" : "integer"
21934 },
7aacca6f 21935 "iops_rd" : {
de0983cb 21936 "description" : "Maximum read I/O in operations per second.",
44660702
DM
21937 "format_description" : "iops",
21938 "optional" : 1,
21939 "type" : "integer"
7aacca6f 21940 },
de0983cb 21941 "iops_rd_length" : {
5d9c884c 21942 "alias" : "iops_rd_max_length"
de0983cb 21943 },
44660702 21944 "iops_rd_max" : {
de0983cb 21945 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 21946 "format_description" : "iops",
56122987 21947 "optional" : 1,
44660702 21948 "type" : "integer"
56122987 21949 },
5d9c884c
DM
21950 "iops_rd_max_length" : {
21951 "description" : "Maximum length of read I/O bursts in seconds.",
21952 "format_description" : "seconds",
21953 "minimum" : 1,
21954 "optional" : 1,
21955 "type" : "integer"
21956 },
44660702 21957 "iops_wr" : {
de0983cb 21958 "description" : "Maximum write I/O in operations per second.",
44660702 21959 "format_description" : "iops",
56122987 21960 "optional" : 1,
44660702 21961 "type" : "integer"
7aacca6f 21962 },
de0983cb 21963 "iops_wr_length" : {
5d9c884c 21964 "alias" : "iops_wr_max_length"
de0983cb 21965 },
44660702 21966 "iops_wr_max" : {
de0983cb 21967 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 21968 "format_description" : "iops",
7aacca6f 21969 "optional" : 1,
44660702 21970 "type" : "integer"
56122987 21971 },
5d9c884c
DM
21972 "iops_wr_max_length" : {
21973 "description" : "Maximum length of write I/O bursts in seconds.",
21974 "format_description" : "seconds",
21975 "minimum" : 1,
21976 "optional" : 1,
21977 "type" : "integer"
21978 },
44660702 21979 "mbps" : {
de0983cb 21980 "description" : "Maximum r/w speed in megabytes per second.",
44660702 21981 "format_description" : "mbps",
7aacca6f 21982 "optional" : 1,
44660702 21983 "type" : "number"
56122987 21984 },
44660702 21985 "mbps_max" : {
de0983cb 21986 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 21987 "format_description" : "mbps",
56122987 21988 "optional" : 1,
44660702 21989 "type" : "number"
56122987 21990 },
44660702 21991 "mbps_rd" : {
de0983cb 21992 "description" : "Maximum read speed in megabytes per second.",
44660702 21993 "format_description" : "mbps",
7aacca6f 21994 "optional" : 1,
44660702 21995 "type" : "number"
7aacca6f 21996 },
44660702 21997 "mbps_rd_max" : {
de0983cb 21998 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 21999 "format_description" : "mbps",
56122987 22000 "optional" : 1,
44660702 22001 "type" : "number"
56122987 22002 },
44660702 22003 "mbps_wr" : {
de0983cb 22004 "description" : "Maximum write speed in megabytes per second.",
44660702 22005 "format_description" : "mbps",
7aacca6f 22006 "optional" : 1,
44660702 22007 "type" : "number"
56122987 22008 },
44660702 22009 "mbps_wr_max" : {
de0983cb 22010 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 22011 "format_description" : "mbps",
56122987 22012 "optional" : 1,
44660702 22013 "type" : "number"
7aacca6f
DM
22014 },
22015 "media" : {
44660702
DM
22016 "default" : "disk",
22017 "description" : "The drive's media type.",
56122987 22018 "enum" : [
7aacca6f
DM
22019 "cdrom",
22020 "disk"
56122987 22021 ],
56122987 22022 "optional" : 1,
44660702 22023 "type" : "string"
56122987 22024 },
44660702
DM
22025 "model" : {
22026 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
22027 "format" : "urlencoded",
22028 "format_description" : "model",
22029 "maxLength" : 120,
56122987 22030 "optional" : 1,
44660702 22031 "type" : "string"
56122987 22032 },
5d9c884c
DM
22033 "replicate" : {
22034 "default" : 1,
22035 "description" : "Whether the drive should considered for replication jobs.",
22036 "optional" : 1,
22037 "type" : "boolean"
22038 },
7aacca6f 22039 "rerror" : {
7aacca6f
DM
22040 "description" : "Read error action.",
22041 "enum" : [
22042 "ignore",
22043 "report",
22044 "stop"
44660702 22045 ],
44660702
DM
22046 "optional" : 1,
22047 "type" : "string"
56122987 22048 },
44660702
DM
22049 "secs" : {
22050 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 22051 "optional" : 1,
44660702
DM
22052 "type" : "integer"
22053 },
22054 "serial" : {
22055 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22056 "format" : "urlencoded",
22057 "format_description" : "serial",
22058 "maxLength" : 60,
22059 "optional" : 1,
22060 "type" : "string"
22061 },
27a7acb2
DM
22062 "shared" : {
22063 "default" : 0,
22064 "description" : "Mark this locally-managed volume as available on all nodes",
22065 "optional" : 1,
22066 "type" : "boolean",
22067 "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!"
22068 },
44660702
DM
22069 "size" : {
22070 "description" : "Disk size. This is purely informational and has no effect.",
22071 "format" : "disk-size",
f004f5b9 22072 "format_description" : "DiskSize",
44660702
DM
22073 "optional" : 1,
22074 "type" : "string"
7aacca6f
DM
22075 },
22076 "snapshot" : {
27a7acb2 22077 "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 22078 "optional" : 1,
44660702 22079 "type" : "boolean"
7aacca6f 22080 },
25203dc1
NC
22081 "ssd" : {
22082 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
22083 "optional" : 1,
22084 "type" : "boolean"
22085 },
44660702
DM
22086 "trans" : {
22087 "description" : "Force disk geometry bios translation mode.",
22088 "enum" : [
22089 "none",
22090 "lba",
22091 "auto"
22092 ],
7aacca6f 22093 "optional" : 1,
44660702
DM
22094 "type" : "string"
22095 },
22096 "volume" : {
22097 "alias" : "file"
22098 },
22099 "werror" : {
22100 "description" : "Write error action.",
22101 "enum" : [
22102 "enospc",
22103 "ignore",
22104 "report",
22105 "stop"
22106 ],
44660702
DM
22107 "optional" : 1,
22108 "type" : "string"
95895385
TL
22109 },
22110 "wwn" : {
22111 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
22112 "format_description" : "wwn",
22113 "optional" : 1,
22114 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
22115 "type" : "string"
56122987
DM
22116 }
22117 },
56122987 22118 "optional" : 1,
4bd7df8b 22119 "type" : "string",
95895385 22120 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
27a7acb2
DM
22121 },
22122 "ipconfig[n]" : {
d2656385 22123 "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
22124 "format" : "pve-qm-ipconfig",
22125 "optional" : 1,
22126 "type" : "string",
22127 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
56122987 22128 },
95895385
TL
22129 "ivshmem" : {
22130 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
22131 "format" : {
22132 "name" : {
22133 "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
22134 "format_description" : "string",
22135 "optional" : 1,
22136 "pattern" : "[a-zA-Z0-9\\-]+",
22137 "type" : "string"
22138 },
22139 "size" : {
22140 "description" : "The size of the file in MB.",
22141 "minimum" : 1,
22142 "type" : "integer"
22143 }
22144 },
22145 "optional" : 1,
22146 "type" : "string",
22147 "typetext" : "size=<integer> [,name=<string>]"
22148 },
4772952b
TL
22149 "keephugepages" : {
22150 "default" : 0,
22151 "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
22152 "optional" : 1,
22153 "type" : "boolean",
22154 "typetext" : "<boolean>"
22155 },
56122987 22156 "keyboard" : {
35a75dd3 22157 "default" : null,
5da3d723 22158 "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 22159 "enum" : [
44660702
DM
22160 "de",
22161 "de-ch",
7aacca6f 22162 "da",
56122987 22163 "en-gb",
44660702
DM
22164 "en-us",
22165 "es",
22166 "fi",
22167 "fr",
22168 "fr-be",
22169 "fr-ca",
22170 "fr-ch",
22171 "hu",
7aacca6f 22172 "is",
44660702
DM
22173 "it",
22174 "ja",
22175 "lt",
56122987 22176 "mk",
7aacca6f 22177 "nl",
56122987 22178 "no",
44660702 22179 "pl",
7aacca6f 22180 "pt",
44660702
DM
22181 "pt-br",
22182 "sv",
22183 "sl",
22184 "tr"
56122987 22185 ],
44660702
DM
22186 "optional" : 1,
22187 "type" : "string"
56122987 22188 },
44660702
DM
22189 "kvm" : {
22190 "default" : 1,
22191 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 22192 "optional" : 1,
013dc89f
DM
22193 "type" : "boolean",
22194 "typetext" : "<boolean>"
7aacca6f 22195 },
d2656385
TL
22196 "live-restore" : {
22197 "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
22198 "optional" : 1,
22199 "requires" : "archive",
22200 "type" : "boolean",
22201 "typetext" : "<boolean>"
22202 },
44660702
DM
22203 "localtime" : {
22204 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 22205 "optional" : 1,
013dc89f
DM
22206 "type" : "boolean",
22207 "typetext" : "<boolean>"
44660702
DM
22208 },
22209 "lock" : {
22210 "description" : "Lock/unlock the VM.",
7aacca6f 22211 "enum" : [
7aacca6f 22212 "backup",
5f26e15b
TL
22213 "clone",
22214 "create",
22215 "migrate",
22216 "rollback",
7aacca6f 22217 "snapshot",
95895385
TL
22218 "snapshot-delete",
22219 "suspending",
22220 "suspended"
7aacca6f 22221 ],
44660702
DM
22222 "optional" : 1,
22223 "type" : "string"
56122987 22224 },
44660702 22225 "machine" : {
4d47f125 22226 "description" : "Specifies the Qemu machine type.",
44660702
DM
22227 "maxLength" : 40,
22228 "optional" : 1,
5c1699e5 22229 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
44660702
DM
22230 "type" : "string"
22231 },
22232 "memory" : {
22233 "default" : 512,
22234 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
22235 "minimum" : 16,
22236 "optional" : 1,
4bd7df8b 22237 "type" : "integer",
013dc89f 22238 "typetext" : "<integer> (16 - N)"
44660702
DM
22239 },
22240 "migrate_downtime" : {
22241 "default" : 0.1,
22242 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
22243 "minimum" : 0,
22244 "optional" : 1,
4bd7df8b 22245 "type" : "number",
013dc89f 22246 "typetext" : "<number> (0 - N)"
44660702
DM
22247 },
22248 "migrate_speed" : {
56122987 22249 "default" : 0,
44660702
DM
22250 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
22251 "minimum" : 0,
56122987 22252 "optional" : 1,
4bd7df8b 22253 "type" : "integer",
013dc89f 22254 "typetext" : "<integer> (0 - N)"
56122987 22255 },
27a7acb2
DM
22256 "name" : {
22257 "description" : "Set a name for the VM. Only used on the configuration web interface.",
22258 "format" : "dns-name",
22259 "optional" : 1,
22260 "type" : "string",
22261 "typetext" : "<string>"
22262 },
22263 "nameserver" : {
4772952b 22264 "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 22265 "format" : "address-list",
44660702 22266 "optional" : 1,
013dc89f
DM
22267 "type" : "string",
22268 "typetext" : "<string>"
44660702
DM
22269 },
22270 "net[n]" : {
c2993fe5 22271 "description" : "Specify network devices.",
f004f5b9
DM
22272 "format" : {
22273 "bridge" : {
c2993fe5 22274 "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
22275 "format_description" : "bridge",
22276 "optional" : 1,
c5aa7e14 22277 "pattern" : "[-_.\\w\\d]+",
f004f5b9
DM
22278 "type" : "string"
22279 },
22280 "e1000" : {
22281 "alias" : "macaddr",
22282 "keyAlias" : "model"
22283 },
22284 "e1000-82540em" : {
22285 "alias" : "macaddr",
22286 "keyAlias" : "model"
22287 },
22288 "e1000-82544gc" : {
22289 "alias" : "macaddr",
22290 "keyAlias" : "model"
22291 },
22292 "e1000-82545em" : {
22293 "alias" : "macaddr",
22294 "keyAlias" : "model"
22295 },
22296 "firewall" : {
22297 "description" : "Whether this interface should be protected by the firewall.",
22298 "optional" : 1,
22299 "type" : "boolean"
22300 },
22301 "i82551" : {
22302 "alias" : "macaddr",
22303 "keyAlias" : "model"
22304 },
22305 "i82557b" : {
22306 "alias" : "macaddr",
22307 "keyAlias" : "model"
22308 },
22309 "i82559er" : {
22310 "alias" : "macaddr",
22311 "keyAlias" : "model"
22312 },
22313 "link_down" : {
c2993fe5 22314 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
22315 "optional" : 1,
22316 "type" : "boolean"
22317 },
22318 "macaddr" : {
c2993fe5 22319 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
95895385 22320 "format" : "mac-addr",
f004f5b9 22321 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9 22322 "optional" : 1,
95895385
TL
22323 "type" : "string",
22324 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
f004f5b9
DM
22325 },
22326 "model" : {
22327 "default_key" : 1,
c2993fe5 22328 "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
22329 "enum" : [
22330 "rtl8139",
22331 "ne2k_pci",
22332 "e1000",
22333 "pcnet",
22334 "virtio",
22335 "ne2k_isa",
22336 "i82551",
22337 "i82557b",
22338 "i82559er",
22339 "vmxnet3",
22340 "e1000-82540em",
22341 "e1000-82544gc",
22342 "e1000-82545em"
22343 ],
f004f5b9
DM
22344 "type" : "string"
22345 },
ac70d7d1
TL
22346 "mtu" : {
22347 "description" : "Force MTU, for VirtIO only. Set to '1' to use the bridge MTU",
22348 "maximum" : 65520,
22349 "minimum" : 1,
22350 "optional" : 1,
22351 "type" : "integer"
22352 },
f004f5b9
DM
22353 "ne2k_isa" : {
22354 "alias" : "macaddr",
22355 "keyAlias" : "model"
22356 },
22357 "ne2k_pci" : {
22358 "alias" : "macaddr",
22359 "keyAlias" : "model"
22360 },
22361 "pcnet" : {
22362 "alias" : "macaddr",
22363 "keyAlias" : "model"
22364 },
22365 "queues" : {
22366 "description" : "Number of packet queues to be used on the device.",
22367 "maximum" : 16,
22368 "minimum" : 0,
22369 "optional" : 1,
22370 "type" : "integer"
22371 },
22372 "rate" : {
c2993fe5 22373 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
22374 "minimum" : 0,
22375 "optional" : 1,
22376 "type" : "number"
22377 },
22378 "rtl8139" : {
22379 "alias" : "macaddr",
22380 "keyAlias" : "model"
22381 },
22382 "tag" : {
22383 "description" : "VLAN tag to apply to packets on this interface.",
22384 "maximum" : 4094,
c2993fe5 22385 "minimum" : 1,
f004f5b9
DM
22386 "optional" : 1,
22387 "type" : "integer"
22388 },
22389 "trunks" : {
22390 "description" : "VLAN trunks to pass through this interface.",
22391 "format_description" : "vlanid[;vlanid...]",
22392 "optional" : 1,
22393 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22394 "type" : "string"
22395 },
22396 "virtio" : {
22397 "alias" : "macaddr",
22398 "keyAlias" : "model"
22399 },
22400 "vmxnet3" : {
22401 "alias" : "macaddr",
22402 "keyAlias" : "model"
22403 }
22404 },
44660702 22405 "optional" : 1,
4bd7df8b 22406 "type" : "string",
ac70d7d1 22407 "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
22408 },
22409 "node" : {
22410 "description" : "The cluster node name.",
22411 "format" : "pve-node",
013dc89f
DM
22412 "type" : "string",
22413 "typetext" : "<string>"
44660702
DM
22414 },
22415 "numa" : {
7aacca6f 22416 "default" : 0,
44660702
DM
22417 "description" : "Enable/disable NUMA.",
22418 "optional" : 1,
013dc89f
DM
22419 "type" : "boolean",
22420 "typetext" : "<boolean>"
56122987 22421 },
7aacca6f 22422 "numa[n]" : {
c2993fe5 22423 "description" : "NUMA topology.",
7aacca6f 22424 "format" : {
44660702 22425 "cpus" : {
c2993fe5 22426 "description" : "CPUs accessing this NUMA node.",
44660702
DM
22427 "format_description" : "id[-id];...",
22428 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22429 "type" : "string"
22430 },
7aacca6f 22431 "hostnodes" : {
c2993fe5 22432 "description" : "Host NUMA nodes to use.",
44660702 22433 "format_description" : "id[-id];...",
7aacca6f 22434 "optional" : 1,
44660702
DM
22435 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
22436 "type" : "string"
7aacca6f 22437 },
44660702 22438 "memory" : {
c2993fe5 22439 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
22440 "optional" : 1,
22441 "type" : "number"
7aacca6f
DM
22442 },
22443 "policy" : {
c2993fe5 22444 "description" : "NUMA allocation policy.",
7aacca6f
DM
22445 "enum" : [
22446 "preferred",
22447 "bind",
22448 "interleave"
22449 ],
7aacca6f 22450 "optional" : 1,
44660702 22451 "type" : "string"
7aacca6f
DM
22452 }
22453 },
56122987 22454 "optional" : 1,
4bd7df8b
DM
22455 "type" : "string",
22456 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 22457 },
44660702
DM
22458 "onboot" : {
22459 "default" : 0,
22460 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 22461 "optional" : 1,
013dc89f
DM
22462 "type" : "boolean",
22463 "typetext" : "<boolean>"
56122987
DM
22464 },
22465 "ostype" : {
c2993fe5 22466 "description" : "Specify guest operating system.",
56122987
DM
22467 "enum" : [
22468 "other",
22469 "wxp",
22470 "w2k",
22471 "w2k3",
22472 "w2k8",
22473 "wvista",
22474 "win7",
22475 "win8",
32d876b5 22476 "win10",
56122987
DM
22477 "l24",
22478 "l26",
22479 "solaris"
44660702 22480 ],
56122987 22481 "optional" : 1,
c2993fe5 22482 "type" : "string",
d2656385 22483 "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 22484 },
44660702 22485 "parallel[n]" : {
c2993fe5 22486 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 22487 "optional" : 1,
44660702 22488 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5 22489 "type" : "string",
4772952b 22490 "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 22491 },
44660702
DM
22492 "pool" : {
22493 "description" : "Add the VM to the specified pool.",
22494 "format" : "pve-poolid",
56122987 22495 "optional" : 1,
013dc89f
DM
22496 "type" : "string",
22497 "typetext" : "<string>"
56122987 22498 },
44660702
DM
22499 "protection" : {
22500 "default" : 0,
c2993fe5 22501 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 22502 "optional" : 1,
013dc89f
DM
22503 "type" : "boolean",
22504 "typetext" : "<boolean>"
56122987 22505 },
44660702 22506 "reboot" : {
7aacca6f 22507 "default" : 1,
44660702
DM
22508 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
22509 "optional" : 1,
013dc89f
DM
22510 "type" : "boolean",
22511 "typetext" : "<boolean>"
56122987 22512 },
c5aa7e14
TL
22513 "rng0" : {
22514 "description" : "Configure a VirtIO-based Random Number Generator.",
22515 "format" : {
22516 "max_bytes" : {
22517 "default" : 1024,
22518 "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!).",
22519 "optional" : 1,
22520 "type" : "integer"
22521 },
22522 "period" : {
22523 "default" : 1000,
22524 "description" : "Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.",
22525 "optional" : 1,
22526 "type" : "integer"
22527 },
22528 "source" : {
22529 "default_key" : 1,
22530 "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.",
22531 "enum" : [
22532 "/dev/urandom",
22533 "/dev/random",
22534 "/dev/hwrng"
22535 ],
22536 "type" : "string"
22537 }
22538 },
22539 "optional" : 1,
22540 "type" : "string",
22541 "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
22542 },
56122987 22543 "sata[n]" : {
d2656385 22544 "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 22545 "format" : {
7aacca6f 22546 "aio" : {
44660702 22547 "description" : "AIO type to use.",
56122987 22548 "enum" : [
7aacca6f
DM
22549 "native",
22550 "threads"
56122987 22551 ],
7aacca6f 22552 "optional" : 1,
44660702 22553 "type" : "string"
7aacca6f
DM
22554 },
22555 "backup" : {
7aacca6f 22556 "description" : "Whether the drive should be included when making backups.",
7aacca6f 22557 "optional" : 1,
44660702 22558 "type" : "boolean"
56122987 22559 },
44660702 22560 "bps" : {
de0983cb 22561 "description" : "Maximum r/w speed in bytes per second.",
44660702 22562 "format_description" : "bps",
7aacca6f 22563 "optional" : 1,
44660702 22564 "type" : "integer"
56122987 22565 },
de0983cb
DM
22566 "bps_max_length" : {
22567 "description" : "Maximum length of I/O bursts in seconds.",
22568 "format_description" : "seconds",
22569 "minimum" : 1,
22570 "optional" : 1,
22571 "type" : "integer"
22572 },
44660702 22573 "bps_rd" : {
de0983cb 22574 "description" : "Maximum read speed in bytes per second.",
44660702 22575 "format_description" : "bps",
56122987 22576 "optional" : 1,
44660702 22577 "type" : "integer"
7aacca6f 22578 },
de0983cb 22579 "bps_rd_length" : {
5d9c884c
DM
22580 "alias" : "bps_rd_max_length"
22581 },
22582 "bps_rd_max_length" : {
de0983cb
DM
22583 "description" : "Maximum length of read I/O bursts in seconds.",
22584 "format_description" : "seconds",
22585 "minimum" : 1,
22586 "optional" : 1,
22587 "type" : "integer"
22588 },
44660702 22589 "bps_wr" : {
de0983cb 22590 "description" : "Maximum write speed in bytes per second.",
44660702 22591 "format_description" : "bps",
56122987 22592 "optional" : 1,
44660702 22593 "type" : "integer"
56122987 22594 },
de0983cb 22595 "bps_wr_length" : {
5d9c884c
DM
22596 "alias" : "bps_wr_max_length"
22597 },
22598 "bps_wr_max_length" : {
de0983cb
DM
22599 "description" : "Maximum length of write I/O bursts in seconds.",
22600 "format_description" : "seconds",
22601 "minimum" : 1,
22602 "optional" : 1,
22603 "type" : "integer"
22604 },
7aacca6f 22605 "cache" : {
7aacca6f
DM
22606 "description" : "The drive's cache mode",
22607 "enum" : [
22608 "none",
22609 "writethrough",
22610 "writeback",
22611 "unsafe",
22612 "directsync"
22613 ],
44660702
DM
22614 "optional" : 1,
22615 "type" : "string"
56122987 22616 },
44660702
DM
22617 "cyls" : {
22618 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 22619 "optional" : 1,
7aacca6f 22620 "type" : "integer"
56122987 22621 },
7aacca6f
DM
22622 "detect_zeroes" : {
22623 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 22624 "optional" : 1,
7aacca6f 22625 "type" : "boolean"
56122987 22626 },
44660702
DM
22627 "discard" : {
22628 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
22629 "enum" : [
22630 "ignore",
22631 "on"
22632 ],
56122987 22633 "optional" : 1,
44660702 22634 "type" : "string"
56122987 22635 },
44660702
DM
22636 "file" : {
22637 "default_key" : 1,
22638 "description" : "The drive's backing volume.",
22639 "format" : "pve-volume-id-or-qm-path",
22640 "format_description" : "volume",
22641 "type" : "string"
56122987
DM
22642 },
22643 "format" : {
44660702 22644 "description" : "The drive's backing file's data format.",
56122987
DM
22645 "enum" : [
22646 "raw",
22647 "cow",
22648 "qcow",
22649 "qed",
22650 "qcow2",
22651 "vmdk",
22652 "cloop"
22653 ],
56122987 22654 "optional" : 1,
44660702 22655 "type" : "string"
56122987 22656 },
7aacca6f 22657 "heads" : {
7aacca6f 22658 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22659 "optional" : 1,
22660 "type" : "integer"
56122987 22661 },
44660702 22662 "iops" : {
de0983cb 22663 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
22664 "format_description" : "iops",
22665 "optional" : 1,
22666 "type" : "integer"
56122987 22667 },
44660702 22668 "iops_max" : {
de0983cb 22669 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 22670 "format_description" : "iops",
56122987 22671 "optional" : 1,
44660702 22672 "type" : "integer"
56122987 22673 },
de0983cb
DM
22674 "iops_max_length" : {
22675 "description" : "Maximum length of I/O bursts in seconds.",
22676 "format_description" : "seconds",
22677 "minimum" : 1,
22678 "optional" : 1,
22679 "type" : "integer"
22680 },
44660702 22681 "iops_rd" : {
de0983cb 22682 "description" : "Maximum read I/O in operations per second.",
44660702 22683 "format_description" : "iops",
56122987 22684 "optional" : 1,
44660702 22685 "type" : "integer"
56122987 22686 },
de0983cb 22687 "iops_rd_length" : {
5d9c884c 22688 "alias" : "iops_rd_max_length"
de0983cb 22689 },
44660702 22690 "iops_rd_max" : {
de0983cb 22691 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 22692 "format_description" : "iops",
56122987 22693 "optional" : 1,
44660702 22694 "type" : "integer"
56122987 22695 },
5d9c884c
DM
22696 "iops_rd_max_length" : {
22697 "description" : "Maximum length of read I/O bursts in seconds.",
22698 "format_description" : "seconds",
22699 "minimum" : 1,
22700 "optional" : 1,
22701 "type" : "integer"
22702 },
44660702 22703 "iops_wr" : {
de0983cb 22704 "description" : "Maximum write I/O in operations per second.",
44660702 22705 "format_description" : "iops",
7aacca6f 22706 "optional" : 1,
44660702 22707 "type" : "integer"
7aacca6f 22708 },
de0983cb 22709 "iops_wr_length" : {
5d9c884c 22710 "alias" : "iops_wr_max_length"
de0983cb 22711 },
44660702 22712 "iops_wr_max" : {
de0983cb 22713 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 22714 "format_description" : "iops",
56122987 22715 "optional" : 1,
7aacca6f 22716 "type" : "integer"
56122987 22717 },
5d9c884c
DM
22718 "iops_wr_max_length" : {
22719 "description" : "Maximum length of write I/O bursts in seconds.",
22720 "format_description" : "seconds",
22721 "minimum" : 1,
22722 "optional" : 1,
22723 "type" : "integer"
22724 },
44660702 22725 "mbps" : {
de0983cb 22726 "description" : "Maximum r/w speed in megabytes per second.",
44660702 22727 "format_description" : "mbps",
56122987 22728 "optional" : 1,
44660702 22729 "type" : "number"
56122987 22730 },
44660702 22731 "mbps_max" : {
de0983cb 22732 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 22733 "format_description" : "mbps",
7aacca6f 22734 "optional" : 1,
44660702 22735 "type" : "number"
7aacca6f 22736 },
44660702 22737 "mbps_rd" : {
de0983cb 22738 "description" : "Maximum read speed in megabytes per second.",
44660702 22739 "format_description" : "mbps",
7aacca6f 22740 "optional" : 1,
44660702 22741 "type" : "number"
7aacca6f 22742 },
44660702 22743 "mbps_rd_max" : {
de0983cb 22744 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 22745 "format_description" : "mbps",
7aacca6f 22746 "optional" : 1,
44660702 22747 "type" : "number"
7aacca6f 22748 },
44660702 22749 "mbps_wr" : {
de0983cb 22750 "description" : "Maximum write speed in megabytes per second.",
44660702 22751 "format_description" : "mbps",
7aacca6f 22752 "optional" : 1,
44660702 22753 "type" : "number"
7aacca6f
DM
22754 },
22755 "mbps_wr_max" : {
de0983cb 22756 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 22757 "format_description" : "mbps",
7aacca6f 22758 "optional" : 1,
44660702 22759 "type" : "number"
7aacca6f 22760 },
44660702
DM
22761 "media" : {
22762 "default" : "disk",
22763 "description" : "The drive's media type.",
56122987 22764 "enum" : [
44660702
DM
22765 "cdrom",
22766 "disk"
56122987 22767 ],
56122987 22768 "optional" : 1,
44660702 22769 "type" : "string"
56122987 22770 },
5d9c884c
DM
22771 "replicate" : {
22772 "default" : 1,
22773 "description" : "Whether the drive should considered for replication jobs.",
22774 "optional" : 1,
22775 "type" : "boolean"
22776 },
44660702
DM
22777 "rerror" : {
22778 "description" : "Read error action.",
7aacca6f
DM
22779 "enum" : [
22780 "ignore",
44660702
DM
22781 "report",
22782 "stop"
7aacca6f 22783 ],
56122987 22784 "optional" : 1,
44660702 22785 "type" : "string"
56122987 22786 },
44660702
DM
22787 "secs" : {
22788 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 22789 "optional" : 1,
44660702 22790 "type" : "integer"
56122987 22791 },
44660702
DM
22792 "serial" : {
22793 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
22794 "format" : "urlencoded",
22795 "format_description" : "serial",
22796 "maxLength" : 60,
22797 "optional" : 1,
22798 "type" : "string"
7aacca6f 22799 },
27a7acb2
DM
22800 "shared" : {
22801 "default" : 0,
22802 "description" : "Mark this locally-managed volume as available on all nodes",
22803 "optional" : 1,
22804 "type" : "boolean",
22805 "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!"
22806 },
7aacca6f
DM
22807 "size" : {
22808 "description" : "Disk size. This is purely informational and has no effect.",
44660702 22809 "format" : "disk-size",
f004f5b9 22810 "format_description" : "DiskSize",
56122987 22811 "optional" : 1,
44660702 22812 "type" : "string"
56122987 22813 },
44660702 22814 "snapshot" : {
27a7acb2 22815 "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 22816 "optional" : 1,
44660702 22817 "type" : "boolean"
56122987 22818 },
25203dc1
NC
22819 "ssd" : {
22820 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
22821 "optional" : 1,
22822 "type" : "boolean"
22823 },
44660702
DM
22824 "trans" : {
22825 "description" : "Force disk geometry bios translation mode.",
56122987 22826 "enum" : [
44660702
DM
22827 "none",
22828 "lba",
22829 "auto"
7aacca6f 22830 ],
44660702
DM
22831 "optional" : 1,
22832 "type" : "string"
22833 },
22834 "volume" : {
22835 "alias" : "file"
56122987
DM
22836 },
22837 "werror" : {
56122987
DM
22838 "description" : "Write error action.",
22839 "enum" : [
22840 "enospc",
22841 "ignore",
22842 "report",
22843 "stop"
22844 ],
56122987 22845 "optional" : 1,
44660702 22846 "type" : "string"
95895385
TL
22847 },
22848 "wwn" : {
22849 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
22850 "format_description" : "wwn",
22851 "optional" : 1,
22852 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
22853 "type" : "string"
44660702
DM
22854 }
22855 },
22856 "optional" : 1,
4bd7df8b 22857 "type" : "string",
95895385 22858 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
44660702
DM
22859 },
22860 "scsi[n]" : {
d2656385 22861 "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
22862 "format" : {
22863 "aio" : {
22864 "description" : "AIO type to use.",
22865 "enum" : [
22866 "native",
22867 "threads"
22868 ],
44660702
DM
22869 "optional" : 1,
22870 "type" : "string"
56122987 22871 },
7aacca6f 22872 "backup" : {
44660702 22873 "description" : "Whether the drive should be included when making backups.",
7aacca6f 22874 "optional" : 1,
44660702 22875 "type" : "boolean"
7aacca6f 22876 },
44660702 22877 "bps" : {
de0983cb 22878 "description" : "Maximum r/w speed in bytes per second.",
44660702 22879 "format_description" : "bps",
7aacca6f 22880 "optional" : 1,
44660702 22881 "type" : "integer"
7aacca6f 22882 },
de0983cb
DM
22883 "bps_max_length" : {
22884 "description" : "Maximum length of I/O bursts in seconds.",
22885 "format_description" : "seconds",
22886 "minimum" : 1,
22887 "optional" : 1,
22888 "type" : "integer"
22889 },
44660702 22890 "bps_rd" : {
de0983cb 22891 "description" : "Maximum read speed in bytes per second.",
44660702 22892 "format_description" : "bps",
56122987 22893 "optional" : 1,
44660702 22894 "type" : "integer"
56122987 22895 },
de0983cb 22896 "bps_rd_length" : {
5d9c884c
DM
22897 "alias" : "bps_rd_max_length"
22898 },
22899 "bps_rd_max_length" : {
de0983cb
DM
22900 "description" : "Maximum length of read I/O bursts in seconds.",
22901 "format_description" : "seconds",
22902 "minimum" : 1,
22903 "optional" : 1,
22904 "type" : "integer"
22905 },
44660702 22906 "bps_wr" : {
de0983cb 22907 "description" : "Maximum write speed in bytes per second.",
44660702 22908 "format_description" : "bps",
7aacca6f 22909 "optional" : 1,
44660702 22910 "type" : "integer"
56122987 22911 },
de0983cb 22912 "bps_wr_length" : {
5d9c884c
DM
22913 "alias" : "bps_wr_max_length"
22914 },
22915 "bps_wr_max_length" : {
de0983cb
DM
22916 "description" : "Maximum length of write I/O bursts in seconds.",
22917 "format_description" : "seconds",
22918 "minimum" : 1,
22919 "optional" : 1,
22920 "type" : "integer"
22921 },
44660702
DM
22922 "cache" : {
22923 "description" : "The drive's cache mode",
7aacca6f
DM
22924 "enum" : [
22925 "none",
44660702
DM
22926 "writethrough",
22927 "writeback",
22928 "unsafe",
22929 "directsync"
7aacca6f 22930 ],
56122987 22931 "optional" : 1,
44660702 22932 "type" : "string"
56122987 22933 },
7aacca6f
DM
22934 "cyls" : {
22935 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
22936 "optional" : 1,
44660702 22937 "type" : "integer"
7aacca6f 22938 },
44660702
DM
22939 "detect_zeroes" : {
22940 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 22941 "optional" : 1,
44660702 22942 "type" : "boolean"
56122987 22943 },
44660702
DM
22944 "discard" : {
22945 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 22946 "enum" : [
44660702
DM
22947 "ignore",
22948 "on"
7aacca6f 22949 ],
7aacca6f 22950 "optional" : 1,
44660702 22951 "type" : "string"
56122987
DM
22952 },
22953 "file" : {
7aacca6f
DM
22954 "default_key" : 1,
22955 "description" : "The drive's backing volume.",
44660702
DM
22956 "format" : "pve-volume-id-or-qm-path",
22957 "format_description" : "volume",
7aacca6f 22958 "type" : "string"
56122987 22959 },
7aacca6f 22960 "format" : {
44660702 22961 "description" : "The drive's backing file's data format.",
56122987 22962 "enum" : [
7aacca6f
DM
22963 "raw",
22964 "cow",
22965 "qcow",
22966 "qed",
22967 "qcow2",
22968 "vmdk",
22969 "cloop"
56122987 22970 ],
44660702
DM
22971 "optional" : 1,
22972 "type" : "string"
56122987 22973 },
44660702
DM
22974 "heads" : {
22975 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
22976 "optional" : 1,
22977 "type" : "integer"
22978 },
22979 "iops" : {
de0983cb 22980 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 22981 "format_description" : "iops",
56122987 22982 "optional" : 1,
44660702 22983 "type" : "integer"
56122987 22984 },
44660702 22985 "iops_max" : {
de0983cb 22986 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 22987 "format_description" : "iops",
7aacca6f 22988 "optional" : 1,
44660702 22989 "type" : "integer"
56122987 22990 },
de0983cb
DM
22991 "iops_max_length" : {
22992 "description" : "Maximum length of I/O bursts in seconds.",
22993 "format_description" : "seconds",
22994 "minimum" : 1,
22995 "optional" : 1,
22996 "type" : "integer"
22997 },
44660702 22998 "iops_rd" : {
de0983cb 22999 "description" : "Maximum read I/O in operations per second.",
44660702 23000 "format_description" : "iops",
56122987 23001 "optional" : 1,
44660702 23002 "type" : "integer"
56122987 23003 },
de0983cb 23004 "iops_rd_length" : {
5d9c884c 23005 "alias" : "iops_rd_max_length"
de0983cb 23006 },
44660702 23007 "iops_rd_max" : {
de0983cb 23008 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
23009 "format_description" : "iops",
23010 "optional" : 1,
23011 "type" : "integer"
56122987 23012 },
5d9c884c
DM
23013 "iops_rd_max_length" : {
23014 "description" : "Maximum length of read I/O bursts in seconds.",
23015 "format_description" : "seconds",
23016 "minimum" : 1,
23017 "optional" : 1,
23018 "type" : "integer"
23019 },
44660702 23020 "iops_wr" : {
de0983cb 23021 "description" : "Maximum write I/O in operations per second.",
44660702 23022 "format_description" : "iops",
56122987 23023 "optional" : 1,
44660702 23024 "type" : "integer"
56122987 23025 },
de0983cb 23026 "iops_wr_length" : {
5d9c884c 23027 "alias" : "iops_wr_max_length"
de0983cb 23028 },
44660702 23029 "iops_wr_max" : {
de0983cb 23030 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 23031 "format_description" : "iops",
56122987 23032 "optional" : 1,
56122987
DM
23033 "type" : "integer"
23034 },
5d9c884c
DM
23035 "iops_wr_max_length" : {
23036 "description" : "Maximum length of write I/O bursts in seconds.",
23037 "format_description" : "seconds",
23038 "minimum" : 1,
23039 "optional" : 1,
23040 "type" : "integer"
23041 },
44660702
DM
23042 "iothread" : {
23043 "description" : "Whether to use iothreads for this drive",
44660702
DM
23044 "optional" : 1,
23045 "type" : "boolean"
23046 },
23047 "mbps" : {
de0983cb 23048 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
23049 "format_description" : "mbps",
23050 "optional" : 1,
23051 "type" : "number"
23052 },
7aacca6f 23053 "mbps_max" : {
de0983cb 23054 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 23055 "format_description" : "mbps",
56122987 23056 "optional" : 1,
44660702 23057 "type" : "number"
56122987 23058 },
44660702 23059 "mbps_rd" : {
de0983cb 23060 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
23061 "format_description" : "mbps",
23062 "optional" : 1,
23063 "type" : "number"
56122987 23064 },
44660702 23065 "mbps_rd_max" : {
de0983cb 23066 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 23067 "format_description" : "mbps",
56122987 23068 "optional" : 1,
44660702 23069 "type" : "number"
56122987 23070 },
44660702 23071 "mbps_wr" : {
de0983cb 23072 "description" : "Maximum write speed in megabytes per second.",
44660702 23073 "format_description" : "mbps",
56122987 23074 "optional" : 1,
44660702 23075 "type" : "number"
56122987 23076 },
44660702 23077 "mbps_wr_max" : {
de0983cb 23078 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 23079 "format_description" : "mbps",
7aacca6f 23080 "optional" : 1,
44660702 23081 "type" : "number"
56122987 23082 },
7aacca6f 23083 "media" : {
44660702 23084 "default" : "disk",
7aacca6f
DM
23085 "description" : "The drive's media type.",
23086 "enum" : [
23087 "cdrom",
23088 "disk"
23089 ],
56122987 23090 "optional" : 1,
44660702 23091 "type" : "string"
56122987 23092 },
44660702
DM
23093 "queues" : {
23094 "description" : "Number of queues.",
44660702
DM
23095 "minimum" : 2,
23096 "optional" : 1,
23097 "type" : "integer"
56122987 23098 },
5d9c884c
DM
23099 "replicate" : {
23100 "default" : 1,
23101 "description" : "Whether the drive should considered for replication jobs.",
23102 "optional" : 1,
23103 "type" : "boolean"
23104 },
23105 "rerror" : {
23106 "description" : "Read error action.",
23107 "enum" : [
23108 "ignore",
23109 "report",
23110 "stop"
23111 ],
23112 "optional" : 1,
23113 "type" : "string"
23114 },
52e44c50
FG
23115 "scsiblock" : {
23116 "default" : 0,
23117 "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",
23118 "optional" : 1,
23119 "type" : "boolean"
23120 },
7aacca6f 23121 "secs" : {
7aacca6f 23122 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
23123 "optional" : 1,
23124 "type" : "integer"
23125 },
23126 "serial" : {
23127 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
23128 "format" : "urlencoded",
23129 "format_description" : "serial",
23130 "maxLength" : 60,
23131 "optional" : 1,
23132 "type" : "string"
23133 },
27a7acb2
DM
23134 "shared" : {
23135 "default" : 0,
23136 "description" : "Mark this locally-managed volume as available on all nodes",
23137 "optional" : 1,
23138 "type" : "boolean",
23139 "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!"
23140 },
44660702
DM
23141 "size" : {
23142 "description" : "Disk size. This is purely informational and has no effect.",
23143 "format" : "disk-size",
f004f5b9 23144 "format_description" : "DiskSize",
44660702
DM
23145 "optional" : 1,
23146 "type" : "string"
23147 },
23148 "snapshot" : {
27a7acb2 23149 "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
23150 "optional" : 1,
23151 "type" : "boolean"
23152 },
25203dc1
NC
23153 "ssd" : {
23154 "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
23155 "optional" : 1,
23156 "type" : "boolean"
23157 },
44660702
DM
23158 "trans" : {
23159 "description" : "Force disk geometry bios translation mode.",
23160 "enum" : [
23161 "none",
23162 "lba",
23163 "auto"
23164 ],
44660702
DM
23165 "optional" : 1,
23166 "type" : "string"
23167 },
23168 "volume" : {
23169 "alias" : "file"
23170 },
23171 "werror" : {
23172 "description" : "Write error action.",
23173 "enum" : [
23174 "enospc",
23175 "ignore",
23176 "report",
23177 "stop"
23178 ],
44660702
DM
23179 "optional" : 1,
23180 "type" : "string"
95895385
TL
23181 },
23182 "wwn" : {
23183 "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
23184 "format_description" : "wwn",
23185 "optional" : 1,
23186 "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
23187 "type" : "string"
56122987
DM
23188 }
23189 },
7aacca6f 23190 "optional" : 1,
4bd7df8b 23191 "type" : "string",
95895385 23192 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
56122987 23193 },
44660702
DM
23194 "scsihw" : {
23195 "default" : "lsi",
c2993fe5 23196 "description" : "SCSI controller model",
44660702
DM
23197 "enum" : [
23198 "lsi",
23199 "lsi53c810",
23200 "virtio-scsi-pci",
23201 "virtio-scsi-single",
23202 "megasas",
23203 "pvscsi"
23204 ],
7aacca6f 23205 "optional" : 1,
44660702 23206 "type" : "string"
7aacca6f 23207 },
27a7acb2 23208 "searchdomain" : {
4772952b 23209 "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
23210 "optional" : 1,
23211 "type" : "string",
23212 "typetext" : "<string>"
23213 },
44660702 23214 "serial[n]" : {
c2993fe5 23215 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
23216 "optional" : 1,
23217 "pattern" : "(/dev/.+|socket)",
c2993fe5 23218 "type" : "string",
4772952b 23219 "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
23220 },
23221 "shares" : {
23222 "default" : 1000,
5da3d723 23223 "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
23224 "maximum" : 50000,
23225 "minimum" : 0,
23226 "optional" : 1,
4bd7df8b 23227 "type" : "integer",
013dc89f 23228 "typetext" : "<integer> (0 - 50000)"
44660702
DM
23229 },
23230 "smbios1" : {
23231 "description" : "Specify SMBIOS type 1 fields.",
23232 "format" : "pve-qm-smbios1",
1e3f8156 23233 "maxLength" : 512,
7aacca6f 23234 "optional" : 1,
4bd7df8b 23235 "type" : "string",
1e3f8156 23236 "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
23237 },
23238 "smp" : {
44660702 23239 "default" : 1,
7aacca6f 23240 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 23241 "minimum" : 1,
56122987 23242 "optional" : 1,
4bd7df8b 23243 "type" : "integer",
013dc89f 23244 "typetext" : "<integer> (1 - N)"
44660702
DM
23245 },
23246 "sockets" : {
7aacca6f 23247 "default" : 1,
44660702
DM
23248 "description" : "The number of CPU sockets.",
23249 "minimum" : 1,
23250 "optional" : 1,
4bd7df8b 23251 "type" : "integer",
013dc89f 23252 "typetext" : "<integer> (1 - N)"
7aacca6f 23253 },
1c532546
TL
23254 "spice_enhancements" : {
23255 "description" : "Configure additional enhancements for SPICE.",
23256 "format" : {
23257 "foldersharing" : {
23258 "default" : "0",
23259 "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
23260 "optional" : 1,
23261 "type" : "boolean"
23262 },
23263 "videostreaming" : {
23264 "default" : "off",
23265 "description" : "Enable video streaming. Uses compression for detected video streams.",
23266 "enum" : [
23267 "off",
23268 "all",
23269 "filter"
23270 ],
23271 "optional" : 1,
23272 "type" : "string"
23273 }
23274 },
23275 "optional" : 1,
23276 "type" : "string",
23277 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
23278 },
27a7acb2
DM
23279 "sshkeys" : {
23280 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
23281 "format" : "urlencoded",
23282 "optional" : 1,
23283 "type" : "string",
23284 "typetext" : "<string>"
23285 },
5da3d723
TL
23286 "start" : {
23287 "default" : 0,
23288 "description" : "Start VM after it was created successfully.",
23289 "optional" : 1,
23290 "type" : "boolean",
23291 "typetext" : "<boolean>"
23292 },
44660702
DM
23293 "startdate" : {
23294 "default" : "now",
4772952b 23295 "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
23296 "optional" : 1,
23297 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
23298 "type" : "string",
23299 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
23300 },
23301 "startup" : {
23302 "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.",
23303 "format" : "pve-startup-order",
23304 "optional" : 1,
23305 "type" : "string",
23306 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
23307 },
23308 "storage" : {
23309 "description" : "Default storage.",
23310 "format" : "pve-storage-id",
7aacca6f 23311 "optional" : 1,
013dc89f
DM
23312 "type" : "string",
23313 "typetext" : "<string>"
56122987 23314 },
44660702
DM
23315 "tablet" : {
23316 "default" : 1,
c2993fe5 23317 "description" : "Enable/disable the USB tablet device.",
56122987 23318 "optional" : 1,
c2993fe5 23319 "type" : "boolean",
013dc89f 23320 "typetext" : "<boolean>",
4772952b 23321 "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 23322 },
5c1699e5
TL
23323 "tags" : {
23324 "description" : "Tags of the VM. This is only meta information.",
23325 "format" : "pve-tag-list",
23326 "optional" : 1,
23327 "type" : "string",
23328 "typetext" : "<string>"
23329 },
44660702
DM
23330 "tdf" : {
23331 "default" : 0,
23332 "description" : "Enable/disable time drift fix.",
23333 "optional" : 1,
013dc89f
DM
23334 "type" : "boolean",
23335 "typetext" : "<boolean>"
7aacca6f
DM
23336 },
23337 "template" : {
7aacca6f 23338 "default" : 0,
44660702 23339 "description" : "Enable/disable Template.",
7aacca6f 23340 "optional" : 1,
013dc89f
DM
23341 "type" : "boolean",
23342 "typetext" : "<boolean>"
7aacca6f 23343 },
44660702
DM
23344 "unique" : {
23345 "description" : "Assign a unique random ethernet address.",
7aacca6f 23346 "optional" : 1,
44660702 23347 "requires" : "archive",
013dc89f
DM
23348 "type" : "boolean",
23349 "typetext" : "<boolean>"
56122987 23350 },
44660702 23351 "unused[n]" : {
c2993fe5 23352 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
23353 "format" : {
23354 "file" : {
23355 "default_key" : 1,
23356 "description" : "The drive's backing volume.",
23357 "format" : "pve-volume-id",
23358 "format_description" : "volume",
23359 "type" : "string"
23360 },
23361 "volume" : {
23362 "alias" : "file"
23363 }
23364 },
7aacca6f 23365 "optional" : 1,
013dc89f 23366 "type" : "string",
c5aa7e14 23367 "typetext" : "[file=]<volume>"
44660702
DM
23368 },
23369 "usb[n]" : {
c2993fe5 23370 "description" : "Configure an USB device (n is 0 to 4).",
56122987 23371 "format" : {
7aacca6f
DM
23372 "host" : {
23373 "default_key" : 1,
4772952b 23374 "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 23375 "format" : "pve-qm-usb-device",
44660702
DM
23376 "format_description" : "HOSTUSBDEVICE|spice",
23377 "type" : "string"
7aacca6f 23378 },
56122987 23379 "usb3" : {
c2993fe5 23380 "default" : 0,
1c532546 23381 "description" : "Specifies whether if given host option is a USB3 device or port.",
56122987 23382 "optional" : 1,
56122987 23383 "type" : "boolean"
7aacca6f 23384 }
56122987 23385 },
56122987 23386 "optional" : 1,
4bd7df8b
DM
23387 "type" : "string",
23388 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 23389 },
44660702
DM
23390 "vcpus" : {
23391 "default" : 0,
23392 "description" : "Number of hotplugged vcpus.",
23393 "minimum" : 1,
56122987 23394 "optional" : 1,
4bd7df8b 23395 "type" : "integer",
013dc89f 23396 "typetext" : "<integer> (1 - N)"
7aacca6f 23397 },
44660702 23398 "vga" : {
e2d681b3
TL
23399 "description" : "Configure the VGA hardware.",
23400 "format" : {
23401 "memory" : {
23402 "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
23403 "maximum" : 512,
23404 "minimum" : 4,
23405 "optional" : 1,
23406 "type" : "integer"
23407 },
23408 "type" : {
23409 "default" : "std",
23410 "default_key" : 1,
23411 "description" : "Select the VGA type.",
23412 "enum" : [
23413 "cirrus",
23414 "qxl",
23415 "qxl2",
23416 "qxl3",
23417 "qxl4",
5f26e15b 23418 "none",
e2d681b3
TL
23419 "serial0",
23420 "serial1",
23421 "serial2",
23422 "serial3",
23423 "std",
23424 "virtio",
23425 "vmware"
23426 ],
23427 "optional" : 1,
23428 "type" : "string"
23429 }
23430 },
44660702 23431 "optional" : 1,
c2993fe5 23432 "type" : "string",
e2d681b3
TL
23433 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
23434 "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 23435 },
44660702 23436 "virtio[n]" : {
d2656385 23437 "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
23438 "format" : {
23439 "aio" : {
23440 "description" : "AIO type to use.",
23441 "enum" : [
23442 "native",
23443 "threads"
23444 ],
44660702
DM
23445 "optional" : 1,
23446 "type" : "string"
23447 },
23448 "backup" : {
23449 "description" : "Whether the drive should be included when making backups.",
44660702
DM
23450 "optional" : 1,
23451 "type" : "boolean"
23452 },
23453 "bps" : {
de0983cb 23454 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
23455 "format_description" : "bps",
23456 "optional" : 1,
23457 "type" : "integer"
23458 },
de0983cb
DM
23459 "bps_max_length" : {
23460 "description" : "Maximum length of I/O bursts in seconds.",
23461 "format_description" : "seconds",
23462 "minimum" : 1,
23463 "optional" : 1,
23464 "type" : "integer"
23465 },
44660702 23466 "bps_rd" : {
de0983cb 23467 "description" : "Maximum read speed in bytes per second.",
44660702
DM
23468 "format_description" : "bps",
23469 "optional" : 1,
23470 "type" : "integer"
23471 },
de0983cb 23472 "bps_rd_length" : {
5d9c884c
DM
23473 "alias" : "bps_rd_max_length"
23474 },
23475 "bps_rd_max_length" : {
de0983cb
DM
23476 "description" : "Maximum length of read I/O bursts in seconds.",
23477 "format_description" : "seconds",
23478 "minimum" : 1,
23479 "optional" : 1,
23480 "type" : "integer"
23481 },
44660702 23482 "bps_wr" : {
de0983cb 23483 "description" : "Maximum write speed in bytes per second.",
44660702
DM
23484 "format_description" : "bps",
23485 "optional" : 1,
23486 "type" : "integer"
23487 },
de0983cb 23488 "bps_wr_length" : {
5d9c884c
DM
23489 "alias" : "bps_wr_max_length"
23490 },
23491 "bps_wr_max_length" : {
de0983cb
DM
23492 "description" : "Maximum length of write I/O bursts in seconds.",
23493 "format_description" : "seconds",
23494 "minimum" : 1,
23495 "optional" : 1,
23496 "type" : "integer"
23497 },
44660702
DM
23498 "cache" : {
23499 "description" : "The drive's cache mode",
23500 "enum" : [
23501 "none",
23502 "writethrough",
23503 "writeback",
23504 "unsafe",
23505 "directsync"
23506 ],
44660702
DM
23507 "optional" : 1,
23508 "type" : "string"
23509 },
23510 "cyls" : {
23511 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
23512 "optional" : 1,
23513 "type" : "integer"
23514 },
23515 "detect_zeroes" : {
23516 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
23517 "optional" : 1,
23518 "type" : "boolean"
23519 },
23520 "discard" : {
23521 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
23522 "enum" : [
23523 "ignore",
23524 "on"
23525 ],
44660702
DM
23526 "optional" : 1,
23527 "type" : "string"
23528 },
23529 "file" : {
23530 "default_key" : 1,
23531 "description" : "The drive's backing volume.",
23532 "format" : "pve-volume-id-or-qm-path",
23533 "format_description" : "volume",
23534 "type" : "string"
23535 },
23536 "format" : {
23537 "description" : "The drive's backing file's data format.",
23538 "enum" : [
23539 "raw",
23540 "cow",
23541 "qcow",
23542 "qed",
23543 "qcow2",
23544 "vmdk",
23545 "cloop"
23546 ],
44660702
DM
23547 "optional" : 1,
23548 "type" : "string"
23549 },
23550 "heads" : {
23551 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
23552 "optional" : 1,
23553 "type" : "integer"
23554 },
23555 "iops" : {
de0983cb 23556 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
23557 "format_description" : "iops",
23558 "optional" : 1,
23559 "type" : "integer"
23560 },
23561 "iops_max" : {
de0983cb 23562 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
23563 "format_description" : "iops",
23564 "optional" : 1,
23565 "type" : "integer"
23566 },
de0983cb
DM
23567 "iops_max_length" : {
23568 "description" : "Maximum length of I/O bursts in seconds.",
23569 "format_description" : "seconds",
23570 "minimum" : 1,
23571 "optional" : 1,
23572 "type" : "integer"
23573 },
44660702 23574 "iops_rd" : {
de0983cb 23575 "description" : "Maximum read I/O in operations per second.",
44660702
DM
23576 "format_description" : "iops",
23577 "optional" : 1,
23578 "type" : "integer"
23579 },
de0983cb 23580 "iops_rd_length" : {
5d9c884c 23581 "alias" : "iops_rd_max_length"
de0983cb 23582 },
44660702 23583 "iops_rd_max" : {
de0983cb 23584 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
23585 "format_description" : "iops",
23586 "optional" : 1,
23587 "type" : "integer"
23588 },
5d9c884c
DM
23589 "iops_rd_max_length" : {
23590 "description" : "Maximum length of read I/O bursts in seconds.",
23591 "format_description" : "seconds",
23592 "minimum" : 1,
23593 "optional" : 1,
23594 "type" : "integer"
23595 },
44660702 23596 "iops_wr" : {
de0983cb 23597 "description" : "Maximum write I/O in operations per second.",
44660702
DM
23598 "format_description" : "iops",
23599 "optional" : 1,
23600 "type" : "integer"
23601 },
de0983cb 23602 "iops_wr_length" : {
5d9c884c 23603 "alias" : "iops_wr_max_length"
de0983cb 23604 },
44660702 23605 "iops_wr_max" : {
de0983cb 23606 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
23607 "format_description" : "iops",
23608 "optional" : 1,
23609 "type" : "integer"
23610 },
5d9c884c
DM
23611 "iops_wr_max_length" : {
23612 "description" : "Maximum length of write I/O bursts in seconds.",
23613 "format_description" : "seconds",
23614 "minimum" : 1,
23615 "optional" : 1,
23616 "type" : "integer"
23617 },
44660702
DM
23618 "iothread" : {
23619 "description" : "Whether to use iothreads for this drive",
44660702
DM
23620 "optional" : 1,
23621 "type" : "boolean"
23622 },
23623 "mbps" : {
de0983cb 23624 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
23625 "format_description" : "mbps",
23626 "optional" : 1,
23627 "type" : "number"
23628 },
23629 "mbps_max" : {
de0983cb 23630 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
23631 "format_description" : "mbps",
23632 "optional" : 1,
23633 "type" : "number"
23634 },
23635 "mbps_rd" : {
de0983cb 23636 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
23637 "format_description" : "mbps",
23638 "optional" : 1,
23639 "type" : "number"
23640 },
23641 "mbps_rd_max" : {
de0983cb 23642 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
23643 "format_description" : "mbps",
23644 "optional" : 1,
23645 "type" : "number"
23646 },
23647 "mbps_wr" : {
de0983cb 23648 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
23649 "format_description" : "mbps",
23650 "optional" : 1,
23651 "type" : "number"
23652 },
23653 "mbps_wr_max" : {
de0983cb 23654 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
23655 "format_description" : "mbps",
23656 "optional" : 1,
23657 "type" : "number"
23658 },
23659 "media" : {
23660 "default" : "disk",
23661 "description" : "The drive's media type.",
23662 "enum" : [
23663 "cdrom",
23664 "disk"
23665 ],
44660702
DM
23666 "optional" : 1,
23667 "type" : "string"
23668 },
5d9c884c
DM
23669 "replicate" : {
23670 "default" : 1,
23671 "description" : "Whether the drive should considered for replication jobs.",
23672 "optional" : 1,
23673 "type" : "boolean"
23674 },
44660702
DM
23675 "rerror" : {
23676 "description" : "Read error action.",
23677 "enum" : [
23678 "ignore",
23679 "report",
23680 "stop"
23681 ],
44660702
DM
23682 "optional" : 1,
23683 "type" : "string"
23684 },
23685 "secs" : {
23686 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
23687 "optional" : 1,
23688 "type" : "integer"
23689 },
23690 "serial" : {
23691 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
23692 "format" : "urlencoded",
23693 "format_description" : "serial",
23694 "maxLength" : 60,
23695 "optional" : 1,
23696 "type" : "string"
23697 },
27a7acb2
DM
23698 "shared" : {
23699 "default" : 0,
23700 "description" : "Mark this locally-managed volume as available on all nodes",
23701 "optional" : 1,
23702 "type" : "boolean",
23703 "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!"
23704 },
44660702
DM
23705 "size" : {
23706 "description" : "Disk size. This is purely informational and has no effect.",
23707 "format" : "disk-size",
f004f5b9 23708 "format_description" : "DiskSize",
44660702
DM
23709 "optional" : 1,
23710 "type" : "string"
23711 },
23712 "snapshot" : {
27a7acb2 23713 "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
23714 "optional" : 1,
23715 "type" : "boolean"
23716 },
23717 "trans" : {
23718 "description" : "Force disk geometry bios translation mode.",
23719 "enum" : [
23720 "none",
23721 "lba",
23722 "auto"
23723 ],
44660702
DM
23724 "optional" : 1,
23725 "type" : "string"
23726 },
23727 "volume" : {
23728 "alias" : "file"
23729 },
23730 "werror" : {
23731 "description" : "Write error action.",
23732 "enum" : [
23733 "enospc",
23734 "ignore",
23735 "report",
23736 "stop"
23737 ],
44660702
DM
23738 "optional" : 1,
23739 "type" : "string"
23740 }
23741 },
23742 "optional" : 1,
4bd7df8b 23743 "type" : "string",
27a7acb2 23744 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 23745 },
4d47f125
TL
23746 "vmgenid" : {
23747 "default" : "1 (autogenerated)",
23748 "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
23749 "format_description" : "UUID",
23750 "optional" : 1,
23751 "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
23752 "type" : "string",
4772952b 23753 "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 23754 },
44660702
DM
23755 "vmid" : {
23756 "description" : "The (unique) ID of the VM.",
23757 "format" : "pve-vmid",
23758 "minimum" : 1,
4bd7df8b 23759 "type" : "integer",
013dc89f 23760 "typetext" : "<integer> (1 - N)"
44660702 23761 },
2489d6df
WB
23762 "vmstatestorage" : {
23763 "description" : "Default storage for VM state volumes/files.",
23764 "format" : "pve-storage-id",
23765 "optional" : 1,
23766 "type" : "string",
23767 "typetext" : "<string>"
23768 },
44660702 23769 "watchdog" : {
c2993fe5 23770 "description" : "Create a virtual hardware watchdog device.",
44660702 23771 "format" : "pve-qm-watchdog",
7aacca6f 23772 "optional" : 1,
c2993fe5 23773 "type" : "string",
013dc89f 23774 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 23775 "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 23776 }
44660702 23777 }
56122987 23778 },
56122987 23779 "permissions" : {
44660702
DM
23780 "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.",
23781 "user" : "all"
56122987 23782 },
44660702
DM
23783 "protected" : 1,
23784 "proxyto" : "node",
56122987 23785 "returns" : {
44660702 23786 "type" : "string"
7aacca6f 23787 }
56122987 23788 }
7aacca6f 23789 },
44660702 23790 "leaf" : 0,
7aacca6f 23791 "path" : "/nodes/{node}/qemu",
44660702 23792 "text" : "qemu"
56122987 23793 },
ac70d7d1
TL
23794 {
23795 "info" : {
23796 "GET" : {
23797 "allowtoken" : 1,
23798 "description" : "List all custom and default CPU models.",
23799 "method" : "GET",
23800 "name" : "index",
23801 "parameters" : {
23802 "additionalProperties" : 0,
23803 "properties" : {
23804 "node" : {
23805 "description" : "The cluster node name.",
23806 "format" : "pve-node",
23807 "type" : "string",
23808 "typetext" : "<string>"
23809 }
23810 }
23811 },
23812 "permissions" : {
23813 "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
23814 "user" : "all"
23815 },
23816 "returns" : {
23817 "items" : {
23818 "properties" : {
23819 "custom" : {
23820 "description" : "True if this is a custom CPU model.",
23821 "type" : "boolean"
23822 },
23823 "name" : {
23824 "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
23825 "type" : "string"
23826 },
23827 "vendor" : {
23828 "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
23829 "type" : "string"
23830 }
23831 },
23832 "type" : "object"
23833 },
23834 "links" : [
23835 {
23836 "href" : "{name}",
23837 "rel" : "child"
23838 }
23839 ],
23840 "type" : "array"
23841 }
23842 }
23843 },
23844 "leaf" : 1,
23845 "path" : "/nodes/{node}/cpu",
23846 "text" : "cpu"
23847 },
56122987
DM
23848 {
23849 "children" : [
23850 {
56122987
DM
23851 "children" : [
23852 {
56122987 23853 "info" : {
44660702 23854 "GET" : {
e9cd3bd4 23855 "allowtoken" : 1,
44660702
DM
23856 "description" : "Get container configuration.",
23857 "method" : "GET",
23858 "name" : "vm_config",
23859 "parameters" : {
23860 "additionalProperties" : 0,
23861 "properties" : {
1c532546
TL
23862 "current" : {
23863 "default" : 0,
23864 "description" : "Get current values (instead of pending values).",
23865 "optional" : 1,
23866 "type" : "boolean",
23867 "typetext" : "<boolean>"
23868 },
44660702
DM
23869 "node" : {
23870 "description" : "The cluster node name.",
23871 "format" : "pve-node",
013dc89f 23872 "type" : "string",
4d47f125
TL
23873 "typetext" : "<string>"
23874 },
5f26e15b
TL
23875 "snapshot" : {
23876 "description" : "Fetch config values from given snapshot.",
23877 "format" : "pve-configid",
23878 "maxLength" : 40,
23879 "optional" : 1,
23880 "type" : "string",
23881 "typetext" : "<string>"
23882 },
4d47f125
TL
23883 "vmid" : {
23884 "description" : "The (unique) ID of the VM.",
23885 "format" : "pve-vmid",
23886 "minimum" : 1,
23887 "type" : "integer",
23888 "typetext" : "<integer> (1 - N)"
23889 }
23890 }
23891 },
23892 "permissions" : {
23893 "check" : [
23894 "perm",
23895 "/vms/{vmid}",
23896 [
23897 "VM.Audit"
23898 ]
23899 ]
23900 },
23901 "proxyto" : "node",
23902 "returns" : {
23903 "properties" : {
23904 "arch" : {
23905 "default" : "amd64",
23906 "description" : "OS architecture type.",
23907 "enum" : [
23908 "amd64",
23909 "i386",
23910 "arm64",
23911 "armhf"
23912 ],
23913 "optional" : 1,
23914 "type" : "string"
23915 },
23916 "cmode" : {
23917 "default" : "tty",
23918 "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).",
23919 "enum" : [
23920 "shell",
23921 "console",
23922 "tty"
23923 ],
23924 "optional" : 1,
23925 "type" : "string"
23926 },
23927 "console" : {
23928 "default" : 1,
23929 "description" : "Attach a console device (/dev/console) to the container.",
23930 "optional" : 1,
23931 "type" : "boolean"
23932 },
23933 "cores" : {
23934 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 23935 "maximum" : 8192,
4d47f125
TL
23936 "minimum" : 1,
23937 "optional" : 1,
23938 "type" : "integer"
23939 },
23940 "cpulimit" : {
23941 "default" : 0,
23942 "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 23943 "maximum" : 8192,
4d47f125
TL
23944 "minimum" : 0,
23945 "optional" : 1,
23946 "type" : "number"
23947 },
23948 "cpuunits" : {
23949 "default" : 1024,
23950 "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.",
23951 "maximum" : 500000,
23952 "minimum" : 0,
23953 "optional" : 1,
23954 "type" : "integer"
23955 },
739d4d64
TL
23956 "debug" : {
23957 "default" : 0,
23958 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
23959 "optional" : 1,
23960 "type" : "boolean"
23961 },
4d47f125
TL
23962 "description" : {
23963 "description" : "Container description. Only used on the configuration web interface.",
23964 "optional" : 1,
23965 "type" : "string"
23966 },
23967 "digest" : {
23968 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
23969 "type" : "string"
23970 },
23971 "features" : {
23972 "description" : "Allow containers access to advanced features.",
23973 "format" : {
c5aa7e14
TL
23974 "force_rw_sys" : {
23975 "default" : 0,
23976 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
23977 "optional" : 1,
23978 "type" : "boolean"
23979 },
e2d681b3
TL
23980 "fuse" : {
23981 "default" : 0,
23982 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
23983 "optional" : 1,
23984 "type" : "boolean"
23985 },
4d47f125
TL
23986 "keyctl" : {
23987 "default" : 0,
23988 "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.",
23989 "optional" : 1,
23990 "type" : "boolean"
23991 },
c5aa7e14
TL
23992 "mknod" : {
23993 "default" : 0,
23994 "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.",
23995 "optional" : 1,
23996 "type" : "boolean"
23997 },
4d47f125
TL
23998 "mount" : {
23999 "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.",
24000 "format_description" : "fstype;fstype;...",
24001 "optional" : 1,
95895385 24002 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
24003 "type" : "string"
24004 },
24005 "nesting" : {
24006 "default" : 0,
24007 "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.",
24008 "optional" : 1,
24009 "type" : "boolean"
24010 }
24011 },
24012 "optional" : 1,
24013 "type" : "string"
24014 },
5f26e15b
TL
24015 "hookscript" : {
24016 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24017 "format" : "pve-volume-id",
24018 "optional" : 1,
24019 "type" : "string"
24020 },
4d47f125
TL
24021 "hostname" : {
24022 "description" : "Set a host name for the container.",
24023 "format" : "dns-name",
24024 "maxLength" : 255,
24025 "optional" : 1,
24026 "type" : "string"
24027 },
24028 "lock" : {
24029 "description" : "Lock/unlock the VM.",
24030 "enum" : [
24031 "backup",
bb4c8cf8 24032 "create",
1c532546 24033 "destroyed",
4d47f125 24034 "disk",
bb4c8cf8 24035 "fstrim",
4d47f125
TL
24036 "migrate",
24037 "mounted",
24038 "rollback",
24039 "snapshot",
24040 "snapshot-delete"
24041 ],
24042 "optional" : 1,
24043 "type" : "string"
24044 },
24045 "lxc" : {
24046 "description" : "Array of lxc low-level configurations ([[key1, value1], [key2, value2] ...]).",
24047 "items" : {
24048 "items" : {
24049 "type" : "string"
24050 },
24051 "type" : "array"
24052 },
24053 "optional" : 1,
24054 "type" : "array"
24055 },
24056 "memory" : {
24057 "default" : 512,
24058 "description" : "Amount of RAM for the VM in MB.",
24059 "minimum" : 16,
24060 "optional" : 1,
24061 "type" : "integer"
24062 },
24063 "mp[n]" : {
d2656385 24064 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
24065 "format" : {
24066 "acl" : {
24067 "description" : "Explicitly enable or disable ACL support.",
24068 "optional" : 1,
24069 "type" : "boolean"
24070 },
24071 "backup" : {
24072 "description" : "Whether to include the mount point in backups.",
24073 "optional" : 1,
24074 "type" : "boolean",
24075 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
24076 },
7cbed89a
TL
24077 "mountoptions" : {
24078 "description" : "Extra mount options for rootfs/mps.",
24079 "format_description" : "opt[;opt...]",
24080 "optional" : 1,
24081 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24082 "type" : "string"
24083 },
4d47f125
TL
24084 "mp" : {
24085 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
24086 "format" : "pve-lxc-mp-string",
24087 "format_description" : "Path",
24088 "type" : "string",
24089 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
24090 },
24091 "quota" : {
24092 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24093 "optional" : 1,
24094 "type" : "boolean"
24095 },
24096 "replicate" : {
24097 "default" : 1,
24098 "description" : "Will include this volume to a storage replica job.",
24099 "optional" : 1,
24100 "type" : "boolean"
24101 },
24102 "ro" : {
24103 "description" : "Read-only mount point",
24104 "optional" : 1,
24105 "type" : "boolean"
24106 },
24107 "shared" : {
24108 "default" : 0,
24109 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24110 "optional" : 1,
24111 "type" : "boolean",
24112 "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!"
24113 },
24114 "size" : {
24115 "description" : "Volume size (read only value).",
24116 "format" : "disk-size",
24117 "format_description" : "DiskSize",
24118 "optional" : 1,
24119 "type" : "string"
24120 },
24121 "volume" : {
24122 "default_key" : 1,
24123 "description" : "Volume, device or directory to mount into the container.",
24124 "format" : "pve-lxc-mp-string",
24125 "format_description" : "volume",
24126 "type" : "string"
24127 }
24128 },
24129 "optional" : 1,
24130 "type" : "string"
24131 },
24132 "nameserver" : {
24133 "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 24134 "format" : "lxc-ip-with-ll-iface-list",
4d47f125
TL
24135 "optional" : 1,
24136 "type" : "string"
24137 },
24138 "net[n]" : {
24139 "description" : "Specifies network interfaces for the container.",
24140 "format" : {
24141 "bridge" : {
24142 "description" : "Bridge to attach the network device to.",
24143 "format_description" : "bridge",
24144 "optional" : 1,
24145 "pattern" : "[-_.\\w\\d]+",
24146 "type" : "string"
24147 },
24148 "firewall" : {
24149 "description" : "Controls whether this interface's firewall rules should be used.",
24150 "optional" : 1,
24151 "type" : "boolean"
24152 },
24153 "gw" : {
24154 "description" : "Default gateway for IPv4 traffic.",
24155 "format" : "ipv4",
24156 "format_description" : "GatewayIPv4",
24157 "optional" : 1,
24158 "type" : "string"
24159 },
24160 "gw6" : {
24161 "description" : "Default gateway for IPv6 traffic.",
24162 "format" : "ipv6",
24163 "format_description" : "GatewayIPv6",
24164 "optional" : 1,
24165 "type" : "string"
24166 },
24167 "hwaddr" : {
24168 "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 24169 "format" : "mac-addr",
4d47f125
TL
24170 "format_description" : "XX:XX:XX:XX:XX:XX",
24171 "optional" : 1,
95895385
TL
24172 "type" : "string",
24173 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
24174 },
24175 "ip" : {
24176 "description" : "IPv4 address in CIDR format.",
24177 "format" : "pve-ipv4-config",
24178 "format_description" : "(IPv4/CIDR|dhcp|manual)",
24179 "optional" : 1,
24180 "type" : "string"
24181 },
24182 "ip6" : {
24183 "description" : "IPv6 address in CIDR format.",
24184 "format" : "pve-ipv6-config",
24185 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
24186 "optional" : 1,
24187 "type" : "string"
24188 },
24189 "mtu" : {
24190 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
24191 "minimum" : 64,
24192 "optional" : 1,
24193 "type" : "integer"
24194 },
24195 "name" : {
24196 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
24197 "format_description" : "string",
24198 "pattern" : "[-_.\\w\\d]+",
24199 "type" : "string"
24200 },
24201 "rate" : {
24202 "description" : "Apply rate limiting to the interface",
24203 "format_description" : "mbps",
24204 "optional" : 1,
24205 "type" : "number"
24206 },
24207 "tag" : {
24208 "description" : "VLAN tag for this interface.",
24209 "maximum" : 4094,
24210 "minimum" : 1,
24211 "optional" : 1,
24212 "type" : "integer"
24213 },
24214 "trunks" : {
24215 "description" : "VLAN ids to pass through the interface",
24216 "format_description" : "vlanid[;vlanid...]",
24217 "optional" : 1,
24218 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24219 "type" : "string"
24220 },
24221 "type" : {
24222 "description" : "Network interface type.",
24223 "enum" : [
24224 "veth"
24225 ],
24226 "optional" : 1,
24227 "type" : "string"
24228 }
24229 },
24230 "optional" : 1,
24231 "type" : "string"
24232 },
24233 "onboot" : {
24234 "default" : 0,
24235 "description" : "Specifies whether a VM will be started during system bootup.",
24236 "optional" : 1,
24237 "type" : "boolean"
24238 },
24239 "ostype" : {
24240 "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.",
24241 "enum" : [
24242 "debian",
d2656385 24243 "devuan",
4d47f125
TL
24244 "ubuntu",
24245 "centos",
24246 "fedora",
24247 "opensuse",
24248 "archlinux",
24249 "alpine",
24250 "gentoo",
24251 "unmanaged"
24252 ],
24253 "optional" : 1,
24254 "type" : "string"
24255 },
24256 "protection" : {
24257 "default" : 0,
24258 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
24259 "optional" : 1,
24260 "type" : "boolean"
24261 },
24262 "rootfs" : {
24263 "description" : "Use volume as container root.",
24264 "format" : {
24265 "acl" : {
24266 "description" : "Explicitly enable or disable ACL support.",
24267 "optional" : 1,
24268 "type" : "boolean"
24269 },
7cbed89a
TL
24270 "mountoptions" : {
24271 "description" : "Extra mount options for rootfs/mps.",
24272 "format_description" : "opt[;opt...]",
24273 "optional" : 1,
24274 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24275 "type" : "string"
24276 },
4d47f125
TL
24277 "quota" : {
24278 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24279 "optional" : 1,
24280 "type" : "boolean"
24281 },
24282 "replicate" : {
24283 "default" : 1,
24284 "description" : "Will include this volume to a storage replica job.",
24285 "optional" : 1,
24286 "type" : "boolean"
24287 },
24288 "ro" : {
24289 "description" : "Read-only mount point",
24290 "optional" : 1,
24291 "type" : "boolean"
24292 },
24293 "shared" : {
24294 "default" : 0,
24295 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24296 "optional" : 1,
24297 "type" : "boolean",
24298 "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!"
24299 },
24300 "size" : {
24301 "description" : "Volume size (read only value).",
24302 "format" : "disk-size",
24303 "format_description" : "DiskSize",
24304 "optional" : 1,
24305 "type" : "string"
24306 },
24307 "volume" : {
24308 "default_key" : 1,
24309 "description" : "Volume, device or directory to mount into the container.",
24310 "format" : "pve-lxc-mp-string",
24311 "format_description" : "volume",
24312 "type" : "string"
24313 }
24314 },
24315 "optional" : 1,
24316 "type" : "string"
24317 },
24318 "searchdomain" : {
24319 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24320 "format" : "dns-name-list",
24321 "optional" : 1,
24322 "type" : "string"
24323 },
24324 "startup" : {
24325 "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.",
24326 "format" : "pve-startup-order",
24327 "optional" : 1,
24328 "type" : "string",
24329 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24330 },
24331 "swap" : {
24332 "default" : 512,
24333 "description" : "Amount of SWAP for the VM in MB.",
24334 "minimum" : 0,
24335 "optional" : 1,
24336 "type" : "integer"
24337 },
5c1699e5
TL
24338 "tags" : {
24339 "description" : "Tags of the Container. This is only meta information.",
24340 "format" : "pve-tag-list",
24341 "optional" : 1,
24342 "type" : "string"
24343 },
4d47f125
TL
24344 "template" : {
24345 "default" : 0,
24346 "description" : "Enable/disable Template.",
24347 "optional" : 1,
24348 "type" : "boolean"
44660702 24349 },
04d22a9f
TL
24350 "timezone" : {
24351 "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",
24352 "format" : "pve-ct-timezone",
24353 "optional" : 1,
24354 "type" : "string"
24355 },
4d47f125
TL
24356 "tty" : {
24357 "default" : 2,
24358 "description" : "Specify the number of tty available to the container",
24359 "maximum" : 6,
24360 "minimum" : 0,
24361 "optional" : 1,
24362 "type" : "integer"
24363 },
24364 "unprivileged" : {
24365 "default" : 0,
24366 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
24367 "optional" : 1,
24368 "type" : "boolean"
24369 },
24370 "unused[n]" : {
24371 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
24372 "format" : {
24373 "volume" : {
24374 "default_key" : 1,
24375 "description" : "The volume that is not used currently.",
24376 "format" : "pve-volume-id",
24377 "format_description" : "volume",
24378 "type" : "string"
24379 }
24380 },
4d47f125 24381 "optional" : 1,
44660702
DM
24382 "type" : "string"
24383 }
24384 },
24385 "type" : "object"
24386 }
24387 },
56122987 24388 "PUT" : {
e9cd3bd4 24389 "allowtoken" : 1,
44660702
DM
24390 "description" : "Set container options.",
24391 "method" : "PUT",
24392 "name" : "update_vm",
56122987 24393 "parameters" : {
44660702 24394 "additionalProperties" : 0,
56122987 24395 "properties" : {
44660702
DM
24396 "arch" : {
24397 "default" : "amd64",
24398 "description" : "OS architecture type.",
24399 "enum" : [
24400 "amd64",
4d47f125
TL
24401 "i386",
24402 "arm64",
24403 "armhf"
44660702 24404 ],
7aacca6f 24405 "optional" : 1,
44660702
DM
24406 "type" : "string"
24407 },
24408 "cmode" : {
7aacca6f 24409 "default" : "tty",
44660702 24410 "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
24411 "enum" : [
24412 "shell",
24413 "console",
24414 "tty"
24415 ],
44660702
DM
24416 "optional" : 1,
24417 "type" : "string"
7aacca6f 24418 },
44660702
DM
24419 "console" : {
24420 "default" : 1,
24421 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 24422 "optional" : 1,
013dc89f
DM
24423 "type" : "boolean",
24424 "typetext" : "<boolean>"
7aacca6f 24425 },
de0983cb
DM
24426 "cores" : {
24427 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 24428 "maximum" : 8192,
de0983cb
DM
24429 "minimum" : 1,
24430 "optional" : 1,
24431 "type" : "integer",
4772952b 24432 "typetext" : "<integer> (1 - 8192)"
de0983cb 24433 },
44660702
DM
24434 "cpulimit" : {
24435 "default" : 0,
24436 "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 24437 "maximum" : 8192,
7aacca6f 24438 "minimum" : 0,
7aacca6f 24439 "optional" : 1,
4bd7df8b 24440 "type" : "number",
4772952b 24441 "typetext" : "<number> (0 - 8192)"
7aacca6f 24442 },
44660702
DM
24443 "cpuunits" : {
24444 "default" : 1024,
24445 "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.",
24446 "maximum" : 500000,
24447 "minimum" : 0,
24448 "optional" : 1,
4bd7df8b 24449 "type" : "integer",
013dc89f 24450 "typetext" : "<integer> (0 - 500000)"
7aacca6f 24451 },
739d4d64
TL
24452 "debug" : {
24453 "default" : 0,
24454 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
24455 "optional" : 1,
24456 "type" : "boolean",
24457 "typetext" : "<boolean>"
24458 },
44660702
DM
24459 "delete" : {
24460 "description" : "A list of settings you want to delete.",
24461 "format" : "pve-configid-list",
7aacca6f 24462 "optional" : 1,
013dc89f
DM
24463 "type" : "string",
24464 "typetext" : "<string>"
7aacca6f 24465 },
44660702
DM
24466 "description" : {
24467 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 24468 "optional" : 1,
013dc89f
DM
24469 "type" : "string",
24470 "typetext" : "<string>"
7aacca6f 24471 },
44660702
DM
24472 "digest" : {
24473 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24474 "maxLength" : 40,
7aacca6f 24475 "optional" : 1,
013dc89f
DM
24476 "type" : "string",
24477 "typetext" : "<string>"
7aacca6f 24478 },
4d47f125
TL
24479 "features" : {
24480 "description" : "Allow containers access to advanced features.",
24481 "format" : {
c5aa7e14
TL
24482 "force_rw_sys" : {
24483 "default" : 0,
24484 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
24485 "optional" : 1,
24486 "type" : "boolean"
24487 },
e2d681b3
TL
24488 "fuse" : {
24489 "default" : 0,
24490 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
24491 "optional" : 1,
24492 "type" : "boolean"
24493 },
4d47f125
TL
24494 "keyctl" : {
24495 "default" : 0,
24496 "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.",
24497 "optional" : 1,
24498 "type" : "boolean"
24499 },
c5aa7e14
TL
24500 "mknod" : {
24501 "default" : 0,
24502 "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.",
24503 "optional" : 1,
24504 "type" : "boolean"
24505 },
4d47f125
TL
24506 "mount" : {
24507 "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.",
24508 "format_description" : "fstype;fstype;...",
24509 "optional" : 1,
95895385 24510 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125
TL
24511 "type" : "string"
24512 },
24513 "nesting" : {
24514 "default" : 0,
24515 "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.",
24516 "optional" : 1,
24517 "type" : "boolean"
24518 }
24519 },
24520 "optional" : 1,
24521 "type" : "string",
c5aa7e14 24522 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
4d47f125 24523 },
5f26e15b
TL
24524 "hookscript" : {
24525 "description" : "Script that will be exectued during various steps in the containers lifetime.",
24526 "format" : "pve-volume-id",
24527 "optional" : 1,
24528 "type" : "string",
24529 "typetext" : "<string>"
24530 },
44660702
DM
24531 "hostname" : {
24532 "description" : "Set a host name for the container.",
24533 "format" : "dns-name",
24534 "maxLength" : 255,
56122987 24535 "optional" : 1,
013dc89f
DM
24536 "type" : "string",
24537 "typetext" : "<string>"
44660702
DM
24538 },
24539 "lock" : {
24540 "description" : "Lock/unlock the VM.",
24541 "enum" : [
44660702 24542 "backup",
bb4c8cf8 24543 "create",
1c532546 24544 "destroyed",
4d47f125 24545 "disk",
bb4c8cf8 24546 "fstrim",
4d47f125
TL
24547 "migrate",
24548 "mounted",
24549 "rollback",
44660702 24550 "snapshot",
4d47f125 24551 "snapshot-delete"
44660702
DM
24552 ],
24553 "optional" : 1,
24554 "type" : "string"
24555 },
24556 "memory" : {
24557 "default" : 512,
24558 "description" : "Amount of RAM for the VM in MB.",
24559 "minimum" : 16,
24560 "optional" : 1,
4bd7df8b 24561 "type" : "integer",
013dc89f 24562 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
24563 },
24564 "mp[n]" : {
d2656385 24565 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
7aacca6f 24566 "format" : {
7aacca6f
DM
24567 "acl" : {
24568 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 24569 "optional" : 1,
44660702 24570 "type" : "boolean"
7aacca6f
DM
24571 },
24572 "backup" : {
de0983cb 24573 "description" : "Whether to include the mount point in backups.",
7aacca6f 24574 "optional" : 1,
4bd7df8b 24575 "type" : "boolean",
de0983cb 24576 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f 24577 },
7cbed89a
TL
24578 "mountoptions" : {
24579 "description" : "Extra mount options for rootfs/mps.",
24580 "format_description" : "opt[;opt...]",
24581 "optional" : 1,
24582 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24583 "type" : "string"
24584 },
7aacca6f 24585 "mp" : {
de0983cb 24586 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 24587 "format" : "pve-lxc-mp-string",
44660702 24588 "format_description" : "Path",
4bd7df8b 24589 "type" : "string",
de0983cb 24590 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 24591 },
5d9c884c
DM
24592 "quota" : {
24593 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
24594 "optional" : 1,
24595 "type" : "boolean"
24596 },
24597 "replicate" : {
24598 "default" : 1,
24599 "description" : "Will include this volume to a storage replica job.",
44660702
DM
24600 "optional" : 1,
24601 "type" : "boolean"
24602 },
24603 "ro" : {
de0983cb 24604 "description" : "Read-only mount point",
44660702
DM
24605 "optional" : 1,
24606 "type" : "boolean"
24607 },
de0983cb
DM
24608 "shared" : {
24609 "default" : 0,
24610 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24611 "optional" : 1,
24612 "type" : "boolean",
24613 "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!"
24614 },
44660702
DM
24615 "size" : {
24616 "description" : "Volume size (read only value).",
24617 "format" : "disk-size",
24618 "format_description" : "DiskSize",
24619 "optional" : 1,
24620 "type" : "string"
24621 },
24622 "volume" : {
24623 "default_key" : 1,
24624 "description" : "Volume, device or directory to mount into the container.",
24625 "format" : "pve-lxc-mp-string",
24626 "format_description" : "volume",
24627 "type" : "string"
24628 }
24629 },
7aacca6f 24630 "optional" : 1,
4bd7df8b 24631 "type" : "string",
7cbed89a 24632 "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 24633 },
44660702
DM
24634 "nameserver" : {
24635 "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 24636 "format" : "lxc-ip-with-ll-iface-list",
56122987 24637 "optional" : 1,
013dc89f
DM
24638 "type" : "string",
24639 "typetext" : "<string>"
56122987
DM
24640 },
24641 "net[n]" : {
44660702 24642 "description" : "Specifies network interfaces for the container.",
56122987 24643 "format" : {
44660702
DM
24644 "bridge" : {
24645 "description" : "Bridge to attach the network device to.",
f004f5b9 24646 "format_description" : "bridge",
56122987 24647 "optional" : 1,
44660702
DM
24648 "pattern" : "[-_.\\w\\d]+",
24649 "type" : "string"
56122987 24650 },
44660702
DM
24651 "firewall" : {
24652 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 24653 "optional" : 1,
44660702 24654 "type" : "boolean"
56122987 24655 },
44660702
DM
24656 "gw" : {
24657 "description" : "Default gateway for IPv4 traffic.",
24658 "format" : "ipv4",
24659 "format_description" : "GatewayIPv4",
56122987 24660 "optional" : 1,
44660702 24661 "type" : "string"
56122987
DM
24662 },
24663 "gw6" : {
7aacca6f 24664 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
24665 "format" : "ipv6",
24666 "format_description" : "GatewayIPv6",
7aacca6f 24667 "optional" : 1,
56122987
DM
24668 "type" : "string"
24669 },
44660702 24670 "hwaddr" : {
f004f5b9 24671 "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 24672 "format" : "mac-addr",
f004f5b9 24673 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702 24674 "optional" : 1,
95895385
TL
24675 "type" : "string",
24676 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
44660702
DM
24677 },
24678 "ip" : {
24679 "description" : "IPv4 address in CIDR format.",
24680 "format" : "pve-ipv4-config",
2489d6df 24681 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 24682 "optional" : 1,
44660702 24683 "type" : "string"
56122987 24684 },
7aacca6f 24685 "ip6" : {
7aacca6f
DM
24686 "description" : "IPv6 address in CIDR format.",
24687 "format" : "pve-ipv6-config",
2489d6df 24688 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 24689 "optional" : 1,
44660702 24690 "type" : "string"
56122987 24691 },
44660702
DM
24692 "mtu" : {
24693 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 24694 "minimum" : 64,
56122987 24695 "optional" : 1,
44660702 24696 "type" : "integer"
56122987
DM
24697 },
24698 "name" : {
44660702 24699 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 24700 "format_description" : "string",
56122987 24701 "pattern" : "[-_.\\w\\d]+",
44660702 24702 "type" : "string"
56122987 24703 },
44660702
DM
24704 "rate" : {
24705 "description" : "Apply rate limiting to the interface",
24706 "format_description" : "mbps",
56122987 24707 "optional" : 1,
44660702 24708 "type" : "number"
7aacca6f 24709 },
44660702
DM
24710 "tag" : {
24711 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
24712 "maximum" : 4094,
24713 "minimum" : 1,
56122987 24714 "optional" : 1,
7aacca6f 24715 "type" : "integer"
56122987 24716 },
44660702
DM
24717 "trunks" : {
24718 "description" : "VLAN ids to pass through the interface",
24719 "format_description" : "vlanid[;vlanid...]",
24720 "optional" : 1,
24721 "pattern" : "(?^:\\d+(?:;\\d+)*)",
24722 "type" : "string"
24723 },
24724 "type" : {
24725 "description" : "Network interface type.",
24726 "enum" : [
24727 "veth"
24728 ],
56122987 24729 "optional" : 1,
44660702 24730 "type" : "string"
56122987
DM
24731 }
24732 },
7aacca6f 24733 "optional" : 1,
4bd7df8b 24734 "type" : "string",
2489d6df 24735 "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 24736 },
44660702
DM
24737 "node" : {
24738 "description" : "The cluster node name.",
24739 "format" : "pve-node",
013dc89f
DM
24740 "type" : "string",
24741 "typetext" : "<string>"
56122987 24742 },
44660702
DM
24743 "onboot" : {
24744 "default" : 0,
24745 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 24746 "optional" : 1,
013dc89f
DM
24747 "type" : "boolean",
24748 "typetext" : "<boolean>"
56122987 24749 },
44660702
DM
24750 "ostype" : {
24751 "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.",
24752 "enum" : [
24753 "debian",
d2656385 24754 "devuan",
44660702
DM
24755 "ubuntu",
24756 "centos",
24757 "fedora",
24758 "opensuse",
24759 "archlinux",
24760 "alpine",
57b78691 24761 "gentoo",
44660702
DM
24762 "unmanaged"
24763 ],
56122987 24764 "optional" : 1,
44660702 24765 "type" : "string"
56122987 24766 },
44660702
DM
24767 "protection" : {
24768 "default" : 0,
24769 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 24770 "optional" : 1,
013dc89f
DM
24771 "type" : "boolean",
24772 "typetext" : "<boolean>"
56122987 24773 },
1c532546
TL
24774 "revert" : {
24775 "description" : "Revert a pending change.",
24776 "format" : "pve-configid-list",
24777 "optional" : 1,
24778 "type" : "string",
24779 "typetext" : "<string>"
24780 },
7aacca6f
DM
24781 "rootfs" : {
24782 "description" : "Use volume as container root.",
56122987
DM
24783 "format" : {
24784 "acl" : {
44660702 24785 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
24786 "optional" : 1,
24787 "type" : "boolean"
56122987 24788 },
7cbed89a
TL
24789 "mountoptions" : {
24790 "description" : "Extra mount options for rootfs/mps.",
24791 "format_description" : "opt[;opt...]",
24792 "optional" : 1,
24793 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
24794 "type" : "string"
24795 },
44660702
DM
24796 "quota" : {
24797 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
24798 "optional" : 1,
24799 "type" : "boolean"
24800 },
5d9c884c
DM
24801 "replicate" : {
24802 "default" : 1,
24803 "description" : "Will include this volume to a storage replica job.",
24804 "optional" : 1,
24805 "type" : "boolean"
24806 },
44660702 24807 "ro" : {
de0983cb 24808 "description" : "Read-only mount point",
56122987 24809 "optional" : 1,
44660702
DM
24810 "type" : "boolean"
24811 },
de0983cb
DM
24812 "shared" : {
24813 "default" : 0,
24814 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
24815 "optional" : 1,
24816 "type" : "boolean",
24817 "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!"
24818 },
44660702 24819 "size" : {
7aacca6f 24820 "description" : "Volume size (read only value).",
44660702 24821 "format" : "disk-size",
56122987 24822 "format_description" : "DiskSize",
56122987 24823 "optional" : 1,
44660702 24824 "type" : "string"
7aacca6f
DM
24825 },
24826 "volume" : {
7aacca6f
DM
24827 "default_key" : 1,
24828 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
24829 "format" : "pve-lxc-mp-string",
24830 "format_description" : "volume",
7aacca6f 24831 "type" : "string"
56122987 24832 }
44660702
DM
24833 },
24834 "optional" : 1,
4bd7df8b 24835 "type" : "string",
7cbed89a 24836 "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
24837 },
24838 "searchdomain" : {
24839 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
24840 "format" : "dns-name-list",
24841 "optional" : 1,
013dc89f
DM
24842 "type" : "string",
24843 "typetext" : "<string>"
44660702
DM
24844 },
24845 "startup" : {
24846 "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.",
24847 "format" : "pve-startup-order",
24848 "optional" : 1,
24849 "type" : "string",
24850 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
24851 },
24852 "swap" : {
24853 "default" : 512,
24854 "description" : "Amount of SWAP for the VM in MB.",
24855 "minimum" : 0,
24856 "optional" : 1,
4bd7df8b 24857 "type" : "integer",
013dc89f 24858 "typetext" : "<integer> (0 - N)"
56122987 24859 },
5c1699e5
TL
24860 "tags" : {
24861 "description" : "Tags of the Container. This is only meta information.",
24862 "format" : "pve-tag-list",
24863 "optional" : 1,
24864 "type" : "string",
24865 "typetext" : "<string>"
24866 },
56122987 24867 "template" : {
44660702 24868 "default" : 0,
7aacca6f 24869 "description" : "Enable/disable Template.",
56122987 24870 "optional" : 1,
013dc89f
DM
24871 "type" : "boolean",
24872 "typetext" : "<boolean>"
56122987 24873 },
04d22a9f
TL
24874 "timezone" : {
24875 "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",
24876 "format" : "pve-ct-timezone",
24877 "optional" : 1,
24878 "type" : "string",
24879 "typetext" : "<string>"
24880 },
44660702
DM
24881 "tty" : {
24882 "default" : 2,
24883 "description" : "Specify the number of tty available to the container",
24884 "maximum" : 6,
24885 "minimum" : 0,
24886 "optional" : 1,
4bd7df8b 24887 "type" : "integer",
013dc89f 24888 "typetext" : "<integer> (0 - 6)"
56122987 24889 },
44660702
DM
24890 "unprivileged" : {
24891 "default" : 0,
24892 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 24893 "optional" : 1,
013dc89f
DM
24894 "type" : "boolean",
24895 "typetext" : "<boolean>"
56122987 24896 },
44660702 24897 "unused[n]" : {
c2993fe5 24898 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
24899 "format" : {
24900 "volume" : {
24901 "default_key" : 1,
24902 "description" : "The volume that is not used currently.",
24903 "format" : "pve-volume-id",
24904 "format_description" : "volume",
24905 "type" : "string"
24906 }
24907 },
56122987 24908 "optional" : 1,
013dc89f 24909 "type" : "string",
c5aa7e14 24910 "typetext" : "[volume=]<volume>"
44660702
DM
24911 },
24912 "vmid" : {
24913 "description" : "The (unique) ID of the VM.",
24914 "format" : "pve-vmid",
24915 "minimum" : 1,
4bd7df8b 24916 "type" : "integer",
013dc89f 24917 "typetext" : "<integer> (1 - N)"
56122987 24918 }
44660702 24919 }
56122987 24920 },
56122987
DM
24921 "permissions" : {
24922 "check" : [
24923 "perm",
24924 "/vms/{vmid}",
24925 [
24926 "VM.Config.Disk",
24927 "VM.Config.CPU",
24928 "VM.Config.Memory",
24929 "VM.Config.Network",
24930 "VM.Config.Options"
24931 ],
24932 "any",
24933 1
52e44c50
FG
24934 ],
24935 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 24936 },
44660702
DM
24937 "protected" : 1,
24938 "proxyto" : "node",
56122987
DM
24939 "returns" : {
24940 "type" : "null"
7aacca6f 24941 }
56122987 24942 }
7aacca6f 24943 },
44660702 24944 "leaf" : 1,
7aacca6f 24945 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 24946 "text" : "config"
56122987
DM
24947 },
24948 {
56122987
DM
24949 "children" : [
24950 {
24951 "info" : {
24952 "GET" : {
e9cd3bd4 24953 "allowtoken" : 1,
44660702 24954 "description" : "Get virtual machine status.",
7aacca6f 24955 "method" : "GET",
44660702 24956 "name" : "vm_status",
56122987 24957 "parameters" : {
44660702 24958 "additionalProperties" : 0,
56122987 24959 "properties" : {
56122987 24960 "node" : {
44660702 24961 "description" : "The cluster node name.",
56122987 24962 "format" : "pve-node",
013dc89f
DM
24963 "type" : "string",
24964 "typetext" : "<string>"
7aacca6f
DM
24965 },
24966 "vmid" : {
24967 "description" : "The (unique) ID of the VM.",
44660702 24968 "format" : "pve-vmid",
7aacca6f 24969 "minimum" : 1,
4bd7df8b 24970 "type" : "integer",
013dc89f 24971 "typetext" : "<integer> (1 - N)"
56122987 24972 }
44660702 24973 }
7aacca6f
DM
24974 },
24975 "permissions" : {
24976 "check" : [
24977 "perm",
24978 "/vms/{vmid}",
24979 [
4d47f125
TL
24980 "VM.Audit"
24981 ]
24982 ]
24983 },
24984 "protected" : 1,
24985 "proxyto" : "node",
24986 "returns" : {
24987 "properties" : {
24988 "cpus" : {
24989 "description" : "Maximum usable CPUs.",
24990 "optional" : 1,
24991 "type" : "number"
24992 },
24993 "ha" : {
24994 "description" : "HA manager service status.",
24995 "type" : "object"
24996 },
95895385
TL
24997 "lock" : {
24998 "description" : "The current config lock, if any.",
24999 "optional" : 1,
25000 "type" : "string"
25001 },
4d47f125
TL
25002 "maxdisk" : {
25003 "description" : "Root disk size in bytes.",
25004 "optional" : 1,
25005 "renderer" : "bytes",
25006 "type" : "integer"
25007 },
25008 "maxmem" : {
25009 "description" : "Maximum memory in bytes.",
25010 "optional" : 1,
25011 "renderer" : "bytes",
25012 "type" : "integer"
25013 },
25014 "maxswap" : {
25015 "description" : "Maximum SWAP memory in bytes.",
25016 "optional" : 1,
25017 "renderer" : "bytes",
25018 "type" : "integer"
25019 },
25020 "name" : {
25021 "description" : "Container name.",
25022 "optional" : 1,
25023 "type" : "string"
25024 },
25025 "status" : {
25026 "description" : "LXC Container status.",
25027 "enum" : [
25028 "stopped",
25029 "running"
25030 ],
25031 "type" : "string"
25032 },
5c1699e5
TL
25033 "tags" : {
25034 "description" : "The current configured tags, if any.",
25035 "optional" : 1,
25036 "type" : "string"
25037 },
4d47f125
TL
25038 "uptime" : {
25039 "description" : "Uptime.",
25040 "optional" : 1,
25041 "renderer" : "duration",
25042 "type" : "integer"
25043 },
25044 "vmid" : {
25045 "description" : "The (unique) ID of the VM.",
25046 "format" : "pve-vmid",
25047 "minimum" : 1,
25048 "type" : "integer"
25049 }
25050 },
25051 "type" : "object"
25052 }
25053 }
25054 },
25055 "leaf" : 1,
25056 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
25057 "text" : "current"
25058 },
25059 {
25060 "info" : {
25061 "POST" : {
e9cd3bd4 25062 "allowtoken" : 1,
4d47f125
TL
25063 "description" : "Start the container.",
25064 "method" : "POST",
25065 "name" : "vm_start",
25066 "parameters" : {
25067 "additionalProperties" : 0,
25068 "properties" : {
739d4d64
TL
25069 "debug" : {
25070 "default" : 0,
25071 "description" : "If set, enables very verbose debug log-level on start.",
25072 "optional" : 1,
25073 "type" : "boolean",
25074 "typetext" : "<boolean>"
25075 },
4d47f125
TL
25076 "node" : {
25077 "description" : "The cluster node name.",
25078 "format" : "pve-node",
25079 "type" : "string",
25080 "typetext" : "<string>"
25081 },
25082 "skiplock" : {
25083 "description" : "Ignore locks - only root is allowed to use this option.",
25084 "optional" : 1,
25085 "type" : "boolean",
25086 "typetext" : "<boolean>"
25087 },
25088 "vmid" : {
25089 "description" : "The (unique) ID of the VM.",
25090 "format" : "pve-vmid",
25091 "minimum" : 1,
25092 "type" : "integer",
25093 "typetext" : "<integer> (1 - N)"
25094 }
25095 }
25096 },
25097 "permissions" : {
25098 "check" : [
25099 "perm",
25100 "/vms/{vmid}",
25101 [
25102 "VM.PowerMgmt"
25103 ]
25104 ]
25105 },
25106 "protected" : 1,
25107 "proxyto" : "node",
25108 "returns" : {
25109 "type" : "string"
25110 }
25111 }
25112 },
25113 "leaf" : 1,
25114 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
25115 "text" : "start"
25116 },
25117 {
25118 "info" : {
25119 "POST" : {
e9cd3bd4 25120 "allowtoken" : 1,
4d47f125
TL
25121 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
25122 "method" : "POST",
25123 "name" : "vm_stop",
25124 "parameters" : {
25125 "additionalProperties" : 0,
25126 "properties" : {
25127 "node" : {
25128 "description" : "The cluster node name.",
25129 "format" : "pve-node",
25130 "type" : "string",
25131 "typetext" : "<string>"
25132 },
25133 "skiplock" : {
25134 "description" : "Ignore locks - only root is allowed to use this option.",
25135 "optional" : 1,
25136 "type" : "boolean",
25137 "typetext" : "<boolean>"
25138 },
25139 "vmid" : {
25140 "description" : "The (unique) ID of the VM.",
25141 "format" : "pve-vmid",
25142 "minimum" : 1,
25143 "type" : "integer",
25144 "typetext" : "<integer> (1 - N)"
25145 }
25146 }
25147 },
25148 "permissions" : {
25149 "check" : [
25150 "perm",
25151 "/vms/{vmid}",
25152 [
25153 "VM.PowerMgmt"
25154 ]
25155 ]
25156 },
25157 "protected" : 1,
25158 "proxyto" : "node",
25159 "returns" : {
25160 "type" : "string"
25161 }
25162 }
25163 },
25164 "leaf" : 1,
25165 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
25166 "text" : "stop"
25167 },
25168 {
25169 "info" : {
25170 "POST" : {
e9cd3bd4 25171 "allowtoken" : 1,
4d47f125
TL
25172 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
25173 "method" : "POST",
25174 "name" : "vm_shutdown",
25175 "parameters" : {
25176 "additionalProperties" : 0,
25177 "properties" : {
25178 "forceStop" : {
25179 "default" : 0,
25180 "description" : "Make sure the Container stops.",
25181 "optional" : 1,
25182 "type" : "boolean",
25183 "typetext" : "<boolean>"
25184 },
25185 "node" : {
25186 "description" : "The cluster node name.",
25187 "format" : "pve-node",
25188 "type" : "string",
25189 "typetext" : "<string>"
25190 },
25191 "timeout" : {
25192 "default" : 60,
25193 "description" : "Wait maximal timeout seconds.",
25194 "minimum" : 0,
25195 "optional" : 1,
25196 "type" : "integer",
25197 "typetext" : "<integer> (0 - N)"
25198 },
25199 "vmid" : {
25200 "description" : "The (unique) ID of the VM.",
25201 "format" : "pve-vmid",
25202 "minimum" : 1,
25203 "type" : "integer",
25204 "typetext" : "<integer> (1 - N)"
25205 }
25206 }
25207 },
25208 "permissions" : {
25209 "check" : [
25210 "perm",
25211 "/vms/{vmid}",
25212 [
25213 "VM.PowerMgmt"
7aacca6f
DM
25214 ]
25215 ]
25216 },
44660702 25217 "protected" : 1,
7aacca6f 25218 "proxyto" : "node",
44660702 25219 "returns" : {
4d47f125 25220 "type" : "string"
44660702 25221 }
56122987
DM
25222 }
25223 },
44660702 25224 "leaf" : 1,
4d47f125
TL
25225 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
25226 "text" : "shutdown"
56122987
DM
25227 },
25228 {
56122987
DM
25229 "info" : {
25230 "POST" : {
e9cd3bd4 25231 "allowtoken" : 1,
4d47f125 25232 "description" : "Suspend the container.",
44660702 25233 "method" : "POST",
4d47f125 25234 "name" : "vm_suspend",
56122987
DM
25235 "parameters" : {
25236 "additionalProperties" : 0,
25237 "properties" : {
56122987 25238 "node" : {
7aacca6f 25239 "description" : "The cluster node name.",
44660702 25240 "format" : "pve-node",
013dc89f
DM
25241 "type" : "string",
25242 "typetext" : "<string>"
56122987
DM
25243 },
25244 "vmid" : {
7aacca6f 25245 "description" : "The (unique) ID of the VM.",
44660702 25246 "format" : "pve-vmid",
56122987 25247 "minimum" : 1,
4bd7df8b 25248 "type" : "integer",
013dc89f 25249 "typetext" : "<integer> (1 - N)"
56122987
DM
25250 }
25251 }
25252 },
25253 "permissions" : {
25254 "check" : [
25255 "perm",
25256 "/vms/{vmid}",
25257 [
25258 "VM.PowerMgmt"
25259 ]
25260 ]
25261 },
44660702 25262 "protected" : 1,
7aacca6f 25263 "proxyto" : "node",
44660702
DM
25264 "returns" : {
25265 "type" : "string"
25266 }
25267 }
25268 },
25269 "leaf" : 1,
4d47f125
TL
25270 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
25271 "text" : "suspend"
44660702
DM
25272 },
25273 {
25274 "info" : {
25275 "POST" : {
e9cd3bd4 25276 "allowtoken" : 1,
4d47f125 25277 "description" : "Resume the container.",
7aacca6f 25278 "method" : "POST",
4d47f125 25279 "name" : "vm_resume",
7aacca6f 25280 "parameters" : {
44660702 25281 "additionalProperties" : 0,
7aacca6f 25282 "properties" : {
44660702
DM
25283 "node" : {
25284 "description" : "The cluster node name.",
25285 "format" : "pve-node",
013dc89f
DM
25286 "type" : "string",
25287 "typetext" : "<string>"
44660702 25288 },
7aacca6f 25289 "vmid" : {
44660702 25290 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25291 "format" : "pve-vmid",
25292 "minimum" : 1,
4bd7df8b 25293 "type" : "integer",
013dc89f 25294 "typetext" : "<integer> (1 - N)"
7aacca6f 25295 }
44660702
DM
25296 }
25297 },
25298 "permissions" : {
25299 "check" : [
25300 "perm",
25301 "/vms/{vmid}",
25302 [
25303 "VM.PowerMgmt"
25304 ]
25305 ]
7aacca6f 25306 },
44660702
DM
25307 "protected" : 1,
25308 "proxyto" : "node",
25309 "returns" : {
25310 "type" : "string"
25311 }
56122987 25312 }
7aacca6f 25313 },
7aacca6f 25314 "leaf" : 1,
4d47f125
TL
25315 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
25316 "text" : "resume"
5c1699e5
TL
25317 },
25318 {
25319 "info" : {
25320 "POST" : {
e9cd3bd4 25321 "allowtoken" : 1,
5c1699e5
TL
25322 "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
25323 "method" : "POST",
25324 "name" : "vm_reboot",
25325 "parameters" : {
25326 "additionalProperties" : 0,
25327 "properties" : {
25328 "node" : {
25329 "description" : "The cluster node name.",
25330 "format" : "pve-node",
25331 "type" : "string",
25332 "typetext" : "<string>"
25333 },
25334 "timeout" : {
25335 "description" : "Wait maximal timeout seconds for the shutdown.",
25336 "minimum" : 0,
25337 "optional" : 1,
25338 "type" : "integer",
25339 "typetext" : "<integer> (0 - N)"
25340 },
25341 "vmid" : {
25342 "description" : "The (unique) ID of the VM.",
25343 "format" : "pve-vmid",
25344 "minimum" : 1,
25345 "type" : "integer",
25346 "typetext" : "<integer> (1 - N)"
25347 }
25348 }
25349 },
25350 "permissions" : {
25351 "check" : [
25352 "perm",
25353 "/vms/{vmid}",
25354 [
25355 "VM.PowerMgmt"
25356 ]
25357 ]
25358 },
25359 "protected" : 1,
25360 "proxyto" : "node",
25361 "returns" : {
25362 "type" : "string"
25363 }
25364 }
25365 },
25366 "leaf" : 1,
25367 "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
25368 "text" : "reboot"
4d47f125
TL
25369 }
25370 ],
25371 "info" : {
25372 "GET" : {
e9cd3bd4 25373 "allowtoken" : 1,
4d47f125
TL
25374 "description" : "Directory index",
25375 "method" : "GET",
25376 "name" : "vmcmdidx",
25377 "parameters" : {
25378 "additionalProperties" : 0,
25379 "properties" : {
25380 "node" : {
25381 "description" : "The cluster node name.",
25382 "format" : "pve-node",
25383 "type" : "string",
25384 "typetext" : "<string>"
25385 },
25386 "vmid" : {
25387 "description" : "The (unique) ID of the VM.",
25388 "format" : "pve-vmid",
25389 "minimum" : 1,
25390 "type" : "integer",
25391 "typetext" : "<integer> (1 - N)"
25392 }
25393 }
25394 },
25395 "permissions" : {
25396 "user" : "all"
25397 },
25398 "proxyto" : "node",
25399 "returns" : {
25400 "items" : {
25401 "properties" : {
25402 "subdir" : {
25403 "type" : "string"
25404 }
25405 },
25406 "type" : "object"
25407 },
25408 "links" : [
25409 {
25410 "href" : "{subdir}",
25411 "rel" : "child"
25412 }
25413 ],
25414 "type" : "array"
25415 }
25416 }
25417 },
25418 "leaf" : 0,
25419 "path" : "/nodes/{node}/lxc/{vmid}/status",
25420 "text" : "status"
25421 },
25422 {
25423 "children" : [
56122987 25424 {
4d47f125
TL
25425 "children" : [
25426 {
25427 "info" : {
25428 "POST" : {
e9cd3bd4 25429 "allowtoken" : 1,
4d47f125
TL
25430 "description" : "Rollback LXC state to specified snapshot.",
25431 "method" : "POST",
25432 "name" : "rollback",
25433 "parameters" : {
25434 "additionalProperties" : 0,
25435 "properties" : {
25436 "node" : {
25437 "description" : "The cluster node name.",
25438 "format" : "pve-node",
25439 "type" : "string",
25440 "typetext" : "<string>"
25441 },
25442 "snapname" : {
25443 "description" : "The name of the snapshot.",
25444 "format" : "pve-configid",
25445 "maxLength" : 40,
25446 "type" : "string",
25447 "typetext" : "<string>"
25448 },
25449 "vmid" : {
25450 "description" : "The (unique) ID of the VM.",
25451 "format" : "pve-vmid",
25452 "minimum" : 1,
25453 "type" : "integer",
25454 "typetext" : "<integer> (1 - N)"
25455 }
25456 }
25457 },
25458 "permissions" : {
25459 "check" : [
25460 "perm",
25461 "/vms/{vmid}",
25462 [
25463 "VM.Snapshot",
25464 "VM.Snapshot.Rollback"
25465 ],
25466 "any",
25467 1
25468 ]
25469 },
25470 "protected" : 1,
25471 "proxyto" : "node",
25472 "returns" : {
25473 "description" : "the task ID.",
25474 "type" : "string"
25475 }
25476 }
25477 },
25478 "leaf" : 1,
25479 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
25480 "text" : "rollback"
25481 },
25482 {
25483 "info" : {
25484 "GET" : {
e9cd3bd4 25485 "allowtoken" : 1,
4d47f125
TL
25486 "description" : "Get snapshot configuration",
25487 "method" : "GET",
25488 "name" : "get_snapshot_config",
25489 "parameters" : {
25490 "additionalProperties" : 0,
25491 "properties" : {
25492 "node" : {
25493 "description" : "The cluster node name.",
25494 "format" : "pve-node",
25495 "type" : "string",
25496 "typetext" : "<string>"
25497 },
25498 "snapname" : {
25499 "description" : "The name of the snapshot.",
25500 "format" : "pve-configid",
25501 "maxLength" : 40,
25502 "type" : "string",
25503 "typetext" : "<string>"
25504 },
25505 "vmid" : {
25506 "description" : "The (unique) ID of the VM.",
25507 "format" : "pve-vmid",
25508 "minimum" : 1,
25509 "type" : "integer",
25510 "typetext" : "<integer> (1 - N)"
25511 }
25512 }
25513 },
25514 "permissions" : {
25515 "check" : [
25516 "perm",
25517 "/vms/{vmid}",
25518 [
25519 "VM.Snapshot",
c5aa7e14
TL
25520 "VM.Snapshot.Rollback",
25521 "VM.Audit"
4d47f125
TL
25522 ],
25523 "any",
25524 1
25525 ]
25526 },
25527 "proxyto" : "node",
25528 "returns" : {
25529 "type" : "object"
25530 }
25531 },
25532 "PUT" : {
e9cd3bd4 25533 "allowtoken" : 1,
4d47f125
TL
25534 "description" : "Update snapshot metadata.",
25535 "method" : "PUT",
25536 "name" : "update_snapshot_config",
25537 "parameters" : {
25538 "additionalProperties" : 0,
25539 "properties" : {
25540 "description" : {
25541 "description" : "A textual description or comment.",
25542 "optional" : 1,
25543 "type" : "string",
25544 "typetext" : "<string>"
25545 },
25546 "node" : {
25547 "description" : "The cluster node name.",
25548 "format" : "pve-node",
25549 "type" : "string",
25550 "typetext" : "<string>"
25551 },
25552 "snapname" : {
25553 "description" : "The name of the snapshot.",
25554 "format" : "pve-configid",
25555 "maxLength" : 40,
25556 "type" : "string",
25557 "typetext" : "<string>"
25558 },
25559 "vmid" : {
25560 "description" : "The (unique) ID of the VM.",
25561 "format" : "pve-vmid",
25562 "minimum" : 1,
25563 "type" : "integer",
25564 "typetext" : "<integer> (1 - N)"
25565 }
25566 }
25567 },
25568 "permissions" : {
25569 "check" : [
25570 "perm",
25571 "/vms/{vmid}",
25572 [
25573 "VM.Snapshot"
25574 ]
25575 ]
25576 },
25577 "protected" : 1,
25578 "proxyto" : "node",
25579 "returns" : {
25580 "type" : "null"
25581 }
25582 }
25583 },
25584 "leaf" : 1,
25585 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
25586 "text" : "config"
25587 }
25588 ],
56122987 25589 "info" : {
4d47f125 25590 "DELETE" : {
e9cd3bd4 25591 "allowtoken" : 1,
4d47f125
TL
25592 "description" : "Delete a LXC snapshot.",
25593 "method" : "DELETE",
25594 "name" : "delsnapshot",
56122987 25595 "parameters" : {
44660702 25596 "additionalProperties" : 0,
56122987 25597 "properties" : {
4d47f125
TL
25598 "force" : {
25599 "description" : "For removal from config file, even if removing disk snapshots fails.",
7aacca6f 25600 "optional" : 1,
013dc89f
DM
25601 "type" : "boolean",
25602 "typetext" : "<boolean>"
44660702
DM
25603 },
25604 "node" : {
25605 "description" : "The cluster node name.",
25606 "format" : "pve-node",
013dc89f
DM
25607 "type" : "string",
25608 "typetext" : "<string>"
7aacca6f 25609 },
4d47f125
TL
25610 "snapname" : {
25611 "description" : "The name of the snapshot.",
25612 "format" : "pve-configid",
25613 "maxLength" : 40,
25614 "type" : "string",
25615 "typetext" : "<string>"
56122987
DM
25616 },
25617 "vmid" : {
7aacca6f 25618 "description" : "The (unique) ID of the VM.",
44660702
DM
25619 "format" : "pve-vmid",
25620 "minimum" : 1,
4bd7df8b 25621 "type" : "integer",
013dc89f 25622 "typetext" : "<integer> (1 - N)"
56122987 25623 }
44660702 25624 }
56122987
DM
25625 },
25626 "permissions" : {
25627 "check" : [
25628 "perm",
25629 "/vms/{vmid}",
25630 [
4d47f125 25631 "VM.Snapshot"
56122987
DM
25632 ]
25633 ]
25634 },
44660702
DM
25635 "protected" : 1,
25636 "proxyto" : "node",
7aacca6f 25637 "returns" : {
4d47f125 25638 "description" : "the task ID.",
7aacca6f
DM
25639 "type" : "string"
25640 }
4d47f125
TL
25641 },
25642 "GET" : {
e9cd3bd4 25643 "allowtoken" : 1,
4d47f125
TL
25644 "description" : "",
25645 "method" : "GET",
25646 "name" : "snapshot_cmd_idx",
56122987
DM
25647 "parameters" : {
25648 "additionalProperties" : 0,
25649 "properties" : {
44660702
DM
25650 "node" : {
25651 "description" : "The cluster node name.",
25652 "format" : "pve-node",
013dc89f
DM
25653 "type" : "string",
25654 "typetext" : "<string>"
44660702 25655 },
4d47f125
TL
25656 "snapname" : {
25657 "description" : "The name of the snapshot.",
25658 "format" : "pve-configid",
25659 "maxLength" : 40,
013dc89f
DM
25660 "type" : "string",
25661 "typetext" : "<string>"
56122987
DM
25662 },
25663 "vmid" : {
7aacca6f 25664 "description" : "The (unique) ID of the VM.",
56122987 25665 "format" : "pve-vmid",
44660702 25666 "minimum" : 1,
4bd7df8b 25667 "type" : "integer",
013dc89f 25668 "typetext" : "<integer> (1 - N)"
56122987 25669 }
44660702
DM
25670 }
25671 },
25672 "permissions" : {
4d47f125 25673 "user" : "all"
56122987 25674 },
44660702 25675 "returns" : {
4d47f125
TL
25676 "items" : {
25677 "properties" : {},
25678 "type" : "object"
25679 },
25680 "links" : [
25681 {
25682 "href" : "{cmd}",
25683 "rel" : "child"
25684 }
25685 ],
25686 "type" : "array"
44660702 25687 }
7aacca6f
DM
25688 }
25689 },
4d47f125
TL
25690 "leaf" : 0,
25691 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
25692 "text" : "{snapname}"
7aacca6f
DM
25693 }
25694 ],
25695 "info" : {
25696 "GET" : {
e9cd3bd4 25697 "allowtoken" : 1,
4d47f125 25698 "description" : "List all snapshots.",
44660702 25699 "method" : "GET",
4d47f125 25700 "name" : "list",
7aacca6f
DM
25701 "parameters" : {
25702 "additionalProperties" : 0,
25703 "properties" : {
25704 "node" : {
25705 "description" : "The cluster node name.",
44660702 25706 "format" : "pve-node",
013dc89f
DM
25707 "type" : "string",
25708 "typetext" : "<string>"
56122987 25709 },
7aacca6f 25710 "vmid" : {
44660702 25711 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
25712 "format" : "pve-vmid",
25713 "minimum" : 1,
4bd7df8b 25714 "type" : "integer",
013dc89f 25715 "typetext" : "<integer> (1 - N)"
7aacca6f 25716 }
56122987
DM
25717 }
25718 },
44660702 25719 "permissions" : {
4d47f125
TL
25720 "check" : [
25721 "perm",
25722 "/vms/{vmid}",
25723 [
25724 "VM.Audit"
25725 ]
25726 ]
44660702 25727 },
4d47f125 25728 "protected" : 1,
44660702 25729 "proxyto" : "node",
7aacca6f 25730 "returns" : {
7aacca6f
DM
25731 "items" : {
25732 "properties" : {
4d47f125
TL
25733 "description" : {
25734 "description" : "Snapshot description.",
7aacca6f 25735 "type" : "string"
4d47f125
TL
25736 },
25737 "name" : {
25738 "description" : "Snapshot identifier. Value 'current' identifies the current VM.",
25739 "type" : "string"
25740 },
25741 "parent" : {
25742 "description" : "Parent snapshot identifier.",
25743 "optional" : 1,
25744 "type" : "string"
25745 },
25746 "snaptime" : {
25747 "description" : "Snapshot creation time",
25748 "optional" : 1,
25749 "renderer" : "timestamp",
25750 "type" : "integer"
7aacca6f
DM
25751 }
25752 },
25753 "type" : "object"
25754 },
25755 "links" : [
25756 {
4d47f125 25757 "href" : "{name}",
44660702 25758 "rel" : "child"
7aacca6f 25759 }
44660702
DM
25760 ],
25761 "type" : "array"
7aacca6f 25762 }
4d47f125
TL
25763 },
25764 "POST" : {
e9cd3bd4 25765 "allowtoken" : 1,
4d47f125
TL
25766 "description" : "Snapshot a container.",
25767 "method" : "POST",
25768 "name" : "snapshot",
25769 "parameters" : {
25770 "additionalProperties" : 0,
25771 "properties" : {
25772 "description" : {
25773 "description" : "A textual description or comment.",
25774 "optional" : 1,
25775 "type" : "string",
25776 "typetext" : "<string>"
25777 },
25778 "node" : {
25779 "description" : "The cluster node name.",
25780 "format" : "pve-node",
25781 "type" : "string",
25782 "typetext" : "<string>"
25783 },
25784 "snapname" : {
25785 "description" : "The name of the snapshot.",
25786 "format" : "pve-configid",
25787 "maxLength" : 40,
25788 "type" : "string",
25789 "typetext" : "<string>"
25790 },
25791 "vmid" : {
25792 "description" : "The (unique) ID of the VM.",
25793 "format" : "pve-vmid",
25794 "minimum" : 1,
25795 "type" : "integer",
25796 "typetext" : "<integer> (1 - N)"
25797 }
25798 }
25799 },
25800 "permissions" : {
25801 "check" : [
25802 "perm",
25803 "/vms/{vmid}",
25804 [
25805 "VM.Snapshot"
25806 ]
25807 ]
25808 },
25809 "protected" : 1,
25810 "proxyto" : "node",
25811 "returns" : {
25812 "description" : "the task ID.",
25813 "type" : "string"
25814 }
7aacca6f 25815 }
44660702
DM
25816 },
25817 "leaf" : 0,
4d47f125
TL
25818 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
25819 "text" : "snapshot"
7aacca6f
DM
25820 },
25821 {
7aacca6f 25822 "children" : [
56122987 25823 {
7aacca6f
DM
25824 "children" : [
25825 {
25826 "info" : {
4d47f125 25827 "DELETE" : {
e9cd3bd4 25828 "allowtoken" : 1,
4d47f125
TL
25829 "description" : "Delete rule.",
25830 "method" : "DELETE",
25831 "name" : "delete_rule",
7aacca6f 25832 "parameters" : {
44660702 25833 "additionalProperties" : 0,
7aacca6f 25834 "properties" : {
4d47f125
TL
25835 "digest" : {
25836 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25837 "maxLength" : 40,
25838 "optional" : 1,
25839 "type" : "string",
25840 "typetext" : "<string>"
25841 },
44660702
DM
25842 "node" : {
25843 "description" : "The cluster node name.",
25844 "format" : "pve-node",
013dc89f
DM
25845 "type" : "string",
25846 "typetext" : "<string>"
44660702 25847 },
4d47f125
TL
25848 "pos" : {
25849 "description" : "Update rule at position <pos>.",
25850 "minimum" : 0,
25851 "optional" : 1,
25852 "type" : "integer",
25853 "typetext" : "<integer> (0 - N)"
7aacca6f 25854 },
7aacca6f 25855 "vmid" : {
44660702 25856 "description" : "The (unique) ID of the VM.",
7aacca6f 25857 "format" : "pve-vmid",
44660702 25858 "minimum" : 1,
4bd7df8b 25859 "type" : "integer",
013dc89f 25860 "typetext" : "<integer> (1 - N)"
7aacca6f 25861 }
44660702
DM
25862 }
25863 },
25864 "permissions" : {
25865 "check" : [
25866 "perm",
25867 "/vms/{vmid}",
25868 [
4d47f125
TL
25869 "VM.Config.Network"
25870 ]
44660702 25871 ]
7aacca6f 25872 },
44660702 25873 "protected" : 1,
4d47f125 25874 "proxyto" : null,
44660702 25875 "returns" : {
4d47f125 25876 "type" : "null"
44660702 25877 }
4d47f125 25878 },
7aacca6f 25879 "GET" : {
e9cd3bd4 25880 "allowtoken" : 1,
4d47f125 25881 "description" : "Get single rule data.",
44660702 25882 "method" : "GET",
4d47f125 25883 "name" : "get_rule",
7aacca6f
DM
25884 "parameters" : {
25885 "additionalProperties" : 0,
4d47f125
TL
25886 "properties" : {
25887 "node" : {
25888 "description" : "The cluster node name.",
25889 "format" : "pve-node",
013dc89f
DM
25890 "type" : "string",
25891 "typetext" : "<string>"
44660702 25892 },
4d47f125
TL
25893 "pos" : {
25894 "description" : "Update rule at position <pos>.",
25895 "minimum" : 0,
25896 "optional" : 1,
25897 "type" : "integer",
25898 "typetext" : "<integer> (0 - N)"
25899 },
44660702
DM
25900 "vmid" : {
25901 "description" : "The (unique) ID of the VM.",
25902 "format" : "pve-vmid",
25903 "minimum" : 1,
4bd7df8b 25904 "type" : "integer",
013dc89f 25905 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
25906 }
25907 }
25908 },
25909 "permissions" : {
25910 "check" : [
25911 "perm",
25912 "/vms/{vmid}",
25913 [
4d47f125
TL
25914 "VM.Audit"
25915 ]
7aacca6f
DM
25916 ]
25917 },
4d47f125 25918 "proxyto" : null,
44660702 25919 "returns" : {
4d47f125 25920 "properties" : {
e2d681b3
TL
25921 "action" : {
25922 "type" : "string"
25923 },
25924 "comment" : {
25925 "optional" : 1,
25926 "type" : "string"
25927 },
25928 "dest" : {
25929 "optional" : 1,
25930 "type" : "string"
25931 },
25932 "dport" : {
25933 "optional" : 1,
25934 "type" : "string"
25935 },
25936 "enable" : {
25937 "optional" : 1,
25938 "type" : "integer"
25939 },
4772952b
TL
25940 "icmp-type" : {
25941 "optional" : 1,
25942 "type" : "string"
25943 },
e2d681b3
TL
25944 "iface" : {
25945 "optional" : 1,
25946 "type" : "string"
25947 },
25948 "ipversion" : {
25949 "optional" : 1,
25950 "type" : "integer"
25951 },
95895385
TL
25952 "log" : {
25953 "description" : "Log level for firewall rule",
25954 "enum" : [
25955 "emerg",
25956 "alert",
25957 "crit",
25958 "err",
25959 "warning",
25960 "notice",
25961 "info",
25962 "debug",
25963 "nolog"
25964 ],
25965 "optional" : 1,
25966 "type" : "string"
25967 },
e2d681b3
TL
25968 "macro" : {
25969 "optional" : 1,
5f26e15b 25970 "type" : "string"
e2d681b3 25971 },
4d47f125
TL
25972 "pos" : {
25973 "type" : "integer"
e2d681b3
TL
25974 },
25975 "proto" : {
25976 "optional" : 1,
25977 "type" : "string"
25978 },
25979 "source" : {
25980 "optional" : 1,
25981 "type" : "string"
25982 },
25983 "sport" : {
25984 "optional" : 1,
25985 "type" : "string"
25986 },
25987 "type" : {
25988 "type" : "string"
4d47f125
TL
25989 }
25990 },
44660702
DM
25991 "type" : "object"
25992 }
7aacca6f
DM
25993 },
25994 "PUT" : {
e9cd3bd4 25995 "allowtoken" : 1,
4d47f125 25996 "description" : "Modify rule data.",
44660702 25997 "method" : "PUT",
4d47f125 25998 "name" : "update_rule",
7aacca6f
DM
25999 "parameters" : {
26000 "additionalProperties" : 0,
26001 "properties" : {
4d47f125
TL
26002 "action" : {
26003 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
26004 "maxLength" : 20,
26005 "minLength" : 2,
26006 "optional" : 1,
26007 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26008 "type" : "string"
26009 },
26010 "comment" : {
26011 "description" : "Descriptive comment.",
26012 "optional" : 1,
26013 "type" : "string",
26014 "typetext" : "<string>"
26015 },
26016 "delete" : {
26017 "description" : "A list of settings you want to delete.",
26018 "format" : "pve-configid-list",
26019 "optional" : 1,
26020 "type" : "string",
26021 "typetext" : "<string>"
26022 },
26023 "dest" : {
26024 "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.",
26025 "format" : "pve-fw-addr-spec",
26026 "optional" : 1,
26027 "type" : "string",
26028 "typetext" : "<string>"
26029 },
26030 "digest" : {
26031 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26032 "maxLength" : 40,
26033 "optional" : 1,
26034 "type" : "string",
26035 "typetext" : "<string>"
26036 },
26037 "dport" : {
26038 "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.",
26039 "format" : "pve-fw-dport-spec",
26040 "optional" : 1,
26041 "type" : "string",
26042 "typetext" : "<string>"
26043 },
26044 "enable" : {
26045 "description" : "Flag to enable/disable a rule.",
26046 "minimum" : 0,
26047 "optional" : 1,
26048 "type" : "integer",
26049 "typetext" : "<integer> (0 - N)"
26050 },
4772952b
TL
26051 "icmp-type" : {
26052 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
26053 "format" : "pve-fw-icmp-type-spec",
26054 "optional" : 1,
26055 "type" : "string",
26056 "typetext" : "<string>"
26057 },
4d47f125
TL
26058 "iface" : {
26059 "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.",
26060 "format" : "pve-iface",
26061 "maxLength" : 20,
26062 "minLength" : 2,
26063 "optional" : 1,
26064 "type" : "string",
26065 "typetext" : "<string>"
26066 },
95895385
TL
26067 "log" : {
26068 "description" : "Log level for firewall rule.",
26069 "enum" : [
26070 "emerg",
26071 "alert",
26072 "crit",
26073 "err",
26074 "warning",
26075 "notice",
26076 "info",
26077 "debug",
26078 "nolog"
26079 ],
26080 "optional" : 1,
26081 "type" : "string"
26082 },
4d47f125
TL
26083 "macro" : {
26084 "description" : "Use predefined standard macro.",
26085 "maxLength" : 128,
44660702 26086 "optional" : 1,
013dc89f
DM
26087 "type" : "string",
26088 "typetext" : "<string>"
44660702 26089 },
4d47f125
TL
26090 "moveto" : {
26091 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
26092 "minimum" : 0,
26093 "optional" : 1,
26094 "type" : "integer",
26095 "typetext" : "<integer> (0 - N)"
26096 },
7aacca6f 26097 "node" : {
7aacca6f 26098 "description" : "The cluster node name.",
44660702 26099 "format" : "pve-node",
013dc89f
DM
26100 "type" : "string",
26101 "typetext" : "<string>"
7aacca6f 26102 },
4d47f125
TL
26103 "pos" : {
26104 "description" : "Update rule at position <pos>.",
26105 "minimum" : 0,
26106 "optional" : 1,
26107 "type" : "integer",
26108 "typetext" : "<integer> (0 - N)"
26109 },
26110 "proto" : {
26111 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
26112 "format" : "pve-fw-protocol-spec",
26113 "optional" : 1,
26114 "type" : "string",
26115 "typetext" : "<string>"
26116 },
26117 "source" : {
26118 "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.",
26119 "format" : "pve-fw-addr-spec",
26120 "optional" : 1,
26121 "type" : "string",
26122 "typetext" : "<string>"
26123 },
26124 "sport" : {
26125 "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.",
26126 "format" : "pve-fw-sport-spec",
26127 "optional" : 1,
013dc89f
DM
26128 "type" : "string",
26129 "typetext" : "<string>"
7aacca6f 26130 },
4d47f125
TL
26131 "type" : {
26132 "description" : "Rule type.",
26133 "enum" : [
26134 "in",
26135 "out",
26136 "group"
26137 ],
26138 "optional" : 1,
26139 "type" : "string"
26140 },
7aacca6f 26141 "vmid" : {
44660702 26142 "description" : "The (unique) ID of the VM.",
7aacca6f 26143 "format" : "pve-vmid",
44660702 26144 "minimum" : 1,
4bd7df8b 26145 "type" : "integer",
013dc89f 26146 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
26147 }
26148 }
26149 },
7aacca6f
DM
26150 "permissions" : {
26151 "check" : [
26152 "perm",
26153 "/vms/{vmid}",
26154 [
4d47f125 26155 "VM.Config.Network"
7aacca6f
DM
26156 ]
26157 ]
26158 },
4d47f125
TL
26159 "protected" : 1,
26160 "proxyto" : null,
26161 "returns" : {
26162 "type" : "null"
26163 }
26164 }
26165 },
26166 "leaf" : 1,
26167 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
26168 "text" : "{pos}"
26169 }
26170 ],
26171 "info" : {
26172 "GET" : {
e9cd3bd4 26173 "allowtoken" : 1,
4d47f125
TL
26174 "description" : "List rules.",
26175 "method" : "GET",
26176 "name" : "get_rules",
26177 "parameters" : {
26178 "additionalProperties" : 0,
26179 "properties" : {
26180 "node" : {
26181 "description" : "The cluster node name.",
26182 "format" : "pve-node",
26183 "type" : "string",
26184 "typetext" : "<string>"
26185 },
26186 "vmid" : {
26187 "description" : "The (unique) ID of the VM.",
26188 "format" : "pve-vmid",
26189 "minimum" : 1,
26190 "type" : "integer",
26191 "typetext" : "<integer> (1 - N)"
26192 }
26193 }
26194 },
26195 "permissions" : {
26196 "check" : [
26197 "perm",
26198 "/vms/{vmid}",
26199 [
26200 "VM.Audit"
26201 ]
26202 ]
26203 },
26204 "proxyto" : null,
26205 "returns" : {
26206 "items" : {
26207 "properties" : {
26208 "pos" : {
26209 "type" : "integer"
26210 }
26211 },
26212 "type" : "object"
26213 },
26214 "links" : [
26215 {
26216 "href" : "{pos}",
26217 "rel" : "child"
26218 }
26219 ],
26220 "type" : "array"
26221 }
26222 },
26223 "POST" : {
e9cd3bd4 26224 "allowtoken" : 1,
4d47f125
TL
26225 "description" : "Create new rule.",
26226 "method" : "POST",
26227 "name" : "create_rule",
26228 "parameters" : {
26229 "additionalProperties" : 0,
26230 "properties" : {
26231 "action" : {
26232 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
26233 "maxLength" : 20,
26234 "minLength" : 2,
26235 "optional" : 0,
26236 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26237 "type" : "string"
26238 },
26239 "comment" : {
26240 "description" : "Descriptive comment.",
26241 "optional" : 1,
26242 "type" : "string",
26243 "typetext" : "<string>"
26244 },
26245 "dest" : {
26246 "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.",
26247 "format" : "pve-fw-addr-spec",
26248 "optional" : 1,
26249 "type" : "string",
26250 "typetext" : "<string>"
26251 },
26252 "digest" : {
26253 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26254 "maxLength" : 40,
26255 "optional" : 1,
26256 "type" : "string",
26257 "typetext" : "<string>"
26258 },
26259 "dport" : {
26260 "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.",
26261 "format" : "pve-fw-dport-spec",
26262 "optional" : 1,
26263 "type" : "string",
26264 "typetext" : "<string>"
26265 },
26266 "enable" : {
26267 "description" : "Flag to enable/disable a rule.",
26268 "minimum" : 0,
26269 "optional" : 1,
26270 "type" : "integer",
26271 "typetext" : "<integer> (0 - N)"
26272 },
4772952b
TL
26273 "icmp-type" : {
26274 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
26275 "format" : "pve-fw-icmp-type-spec",
26276 "optional" : 1,
26277 "type" : "string",
26278 "typetext" : "<string>"
26279 },
4d47f125
TL
26280 "iface" : {
26281 "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.",
26282 "format" : "pve-iface",
26283 "maxLength" : 20,
26284 "minLength" : 2,
26285 "optional" : 1,
26286 "type" : "string",
26287 "typetext" : "<string>"
26288 },
95895385
TL
26289 "log" : {
26290 "description" : "Log level for firewall rule.",
26291 "enum" : [
26292 "emerg",
26293 "alert",
26294 "crit",
26295 "err",
26296 "warning",
26297 "notice",
26298 "info",
26299 "debug",
26300 "nolog"
26301 ],
26302 "optional" : 1,
26303 "type" : "string"
26304 },
4d47f125
TL
26305 "macro" : {
26306 "description" : "Use predefined standard macro.",
26307 "maxLength" : 128,
44660702 26308 "optional" : 1,
4d47f125
TL
26309 "type" : "string",
26310 "typetext" : "<string>"
44660702
DM
26311 },
26312 "node" : {
26313 "description" : "The cluster node name.",
26314 "format" : "pve-node",
013dc89f
DM
26315 "type" : "string",
26316 "typetext" : "<string>"
7aacca6f 26317 },
4d47f125
TL
26318 "pos" : {
26319 "description" : "Update rule at position <pos>.",
26320 "minimum" : 0,
26321 "optional" : 1,
26322 "type" : "integer",
26323 "typetext" : "<integer> (0 - N)"
26324 },
26325 "proto" : {
26326 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
26327 "format" : "pve-fw-protocol-spec",
26328 "optional" : 1,
26329 "type" : "string",
26330 "typetext" : "<string>"
26331 },
26332 "source" : {
26333 "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.",
26334 "format" : "pve-fw-addr-spec",
26335 "optional" : 1,
013dc89f
DM
26336 "type" : "string",
26337 "typetext" : "<string>"
44660702 26338 },
4d47f125
TL
26339 "sport" : {
26340 "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.",
26341 "format" : "pve-fw-sport-spec",
26342 "optional" : 1,
26343 "type" : "string",
26344 "typetext" : "<string>"
26345 },
26346 "type" : {
26347 "description" : "Rule type.",
26348 "enum" : [
26349 "in",
26350 "out",
26351 "group"
26352 ],
26353 "optional" : 0,
26354 "type" : "string"
26355 },
44660702
DM
26356 "vmid" : {
26357 "description" : "The (unique) ID of the VM.",
26358 "format" : "pve-vmid",
26359 "minimum" : 1,
4bd7df8b 26360 "type" : "integer",
013dc89f 26361 "typetext" : "<integer> (1 - N)"
56122987 26362 }
44660702 26363 }
7aacca6f 26364 },
56122987
DM
26365 "permissions" : {
26366 "check" : [
26367 "perm",
26368 "/vms/{vmid}",
26369 [
4d47f125 26370 "VM.Config.Network"
56122987
DM
26371 ]
26372 ]
26373 },
44660702 26374 "protected" : 1,
4d47f125 26375 "proxyto" : null,
44660702 26376 "returns" : {
4d47f125 26377 "type" : "null"
44660702
DM
26378 }
26379 }
26380 },
26381 "leaf" : 0,
4d47f125
TL
26382 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
26383 "text" : "rules"
7aacca6f 26384 },
56122987 26385 {
56122987
DM
26386 "children" : [
26387 {
56122987 26388 "info" : {
44660702 26389 "DELETE" : {
e9cd3bd4 26390 "allowtoken" : 1,
4d47f125 26391 "description" : "Remove IP or Network alias.",
44660702 26392 "method" : "DELETE",
4d47f125 26393 "name" : "remove_alias",
56122987 26394 "parameters" : {
44660702 26395 "additionalProperties" : 0,
56122987 26396 "properties" : {
44660702
DM
26397 "digest" : {
26398 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26399 "maxLength" : 40,
7aacca6f 26400 "optional" : 1,
013dc89f
DM
26401 "type" : "string",
26402 "typetext" : "<string>"
7aacca6f 26403 },
4d47f125
TL
26404 "name" : {
26405 "description" : "Alias name.",
26406 "maxLength" : 64,
26407 "minLength" : 2,
26408 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26409 "type" : "string"
26410 },
7aacca6f 26411 "node" : {
44660702 26412 "description" : "The cluster node name.",
7aacca6f 26413 "format" : "pve-node",
013dc89f
DM
26414 "type" : "string",
26415 "typetext" : "<string>"
44660702 26416 },
44660702
DM
26417 "vmid" : {
26418 "description" : "The (unique) ID of the VM.",
26419 "format" : "pve-vmid",
26420 "minimum" : 1,
4bd7df8b 26421 "type" : "integer",
013dc89f 26422 "typetext" : "<integer> (1 - N)"
56122987 26423 }
44660702 26424 }
56122987 26425 },
56122987
DM
26426 "permissions" : {
26427 "check" : [
26428 "perm",
26429 "/vms/{vmid}",
26430 [
44660702 26431 "VM.Config.Network"
56122987
DM
26432 ]
26433 ]
26434 },
44660702 26435 "protected" : 1,
44660702
DM
26436 "returns" : {
26437 "type" : "null"
26438 }
7aacca6f 26439 },
44660702 26440 "GET" : {
e9cd3bd4 26441 "allowtoken" : 1,
4d47f125 26442 "description" : "Read alias.",
44660702 26443 "method" : "GET",
4d47f125 26444 "name" : "read_alias",
56122987 26445 "parameters" : {
44660702 26446 "additionalProperties" : 0,
56122987 26447 "properties" : {
4d47f125
TL
26448 "name" : {
26449 "description" : "Alias name.",
26450 "maxLength" : 64,
26451 "minLength" : 2,
26452 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26453 "type" : "string"
26454 },
7aacca6f 26455 "node" : {
7aacca6f 26456 "description" : "The cluster node name.",
44660702 26457 "format" : "pve-node",
013dc89f
DM
26458 "type" : "string",
26459 "typetext" : "<string>"
56122987 26460 },
7aacca6f 26461 "vmid" : {
44660702 26462 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
26463 "format" : "pve-vmid",
26464 "minimum" : 1,
4bd7df8b 26465 "type" : "integer",
013dc89f 26466 "typetext" : "<integer> (1 - N)"
56122987 26467 }
44660702 26468 }
56122987 26469 },
7aacca6f
DM
26470 "permissions" : {
26471 "check" : [
26472 "perm",
26473 "/vms/{vmid}",
26474 [
44660702 26475 "VM.Audit"
7aacca6f
DM
26476 ]
26477 ]
26478 },
7aacca6f 26479 "returns" : {
44660702 26480 "type" : "object"
7aacca6f 26481 }
56122987 26482 },
44660702 26483 "PUT" : {
e9cd3bd4 26484 "allowtoken" : 1,
4d47f125 26485 "description" : "Update IP or Network alias.",
44660702 26486 "method" : "PUT",
4d47f125 26487 "name" : "update_alias",
56122987
DM
26488 "parameters" : {
26489 "additionalProperties" : 0,
26490 "properties" : {
4d47f125
TL
26491 "cidr" : {
26492 "description" : "Network/IP specification in CIDR format.",
26493 "format" : "IPorCIDR",
013dc89f
DM
26494 "type" : "string",
26495 "typetext" : "<string>"
44660702 26496 },
4d47f125 26497 "comment" : {
44660702 26498 "optional" : 1,
013dc89f
DM
26499 "type" : "string",
26500 "typetext" : "<string>"
44660702
DM
26501 },
26502 "digest" : {
26503 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26504 "maxLength" : 40,
26505 "optional" : 1,
013dc89f
DM
26506 "type" : "string",
26507 "typetext" : "<string>"
44660702 26508 },
4d47f125
TL
26509 "name" : {
26510 "description" : "Alias name.",
26511 "maxLength" : 64,
44660702 26512 "minLength" : 2,
4d47f125
TL
26513 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26514 "type" : "string"
44660702 26515 },
7aacca6f
DM
26516 "node" : {
26517 "description" : "The cluster node name.",
44660702 26518 "format" : "pve-node",
013dc89f
DM
26519 "type" : "string",
26520 "typetext" : "<string>"
56122987 26521 },
4d47f125
TL
26522 "rename" : {
26523 "description" : "Rename an existing alias.",
26524 "maxLength" : 64,
26525 "minLength" : 2,
7aacca6f 26526 "optional" : 1,
4d47f125 26527 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
26528 "type" : "string"
26529 },
26530 "vmid" : {
26531 "description" : "The (unique) ID of the VM.",
26532 "format" : "pve-vmid",
26533 "minimum" : 1,
4bd7df8b 26534 "type" : "integer",
013dc89f 26535 "typetext" : "<integer> (1 - N)"
56122987
DM
26536 }
26537 }
26538 },
56122987
DM
26539 "permissions" : {
26540 "check" : [
26541 "perm",
26542 "/vms/{vmid}",
26543 [
7aacca6f 26544 "VM.Config.Network"
56122987
DM
26545 ]
26546 ]
26547 },
44660702 26548 "protected" : 1,
56122987 26549 "returns" : {
7aacca6f
DM
26550 "type" : "null"
26551 }
56122987 26552 }
44660702
DM
26553 },
26554 "leaf" : 1,
4d47f125
TL
26555 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
26556 "text" : "{name}"
56122987
DM
26557 }
26558 ],
26559 "info" : {
7aacca6f 26560 "GET" : {
e9cd3bd4 26561 "allowtoken" : 1,
4d47f125 26562 "description" : "List aliases",
44660702 26563 "method" : "GET",
4d47f125 26564 "name" : "get_aliases",
7aacca6f 26565 "parameters" : {
44660702 26566 "additionalProperties" : 0,
7aacca6f
DM
26567 "properties" : {
26568 "node" : {
7aacca6f 26569 "description" : "The cluster node name.",
44660702 26570 "format" : "pve-node",
013dc89f
DM
26571 "type" : "string",
26572 "typetext" : "<string>"
7aacca6f
DM
26573 },
26574 "vmid" : {
26575 "description" : "The (unique) ID of the VM.",
44660702 26576 "format" : "pve-vmid",
7aacca6f 26577 "minimum" : 1,
4bd7df8b 26578 "type" : "integer",
013dc89f 26579 "typetext" : "<integer> (1 - N)"
7aacca6f 26580 }
44660702 26581 }
56122987 26582 },
56122987
DM
26583 "permissions" : {
26584 "check" : [
26585 "perm",
26586 "/vms/{vmid}",
26587 [
7aacca6f 26588 "VM.Audit"
56122987
DM
26589 ]
26590 ]
26591 },
7aacca6f 26592 "returns" : {
7aacca6f
DM
26593 "items" : {
26594 "properties" : {
4d47f125
TL
26595 "cidr" : {
26596 "type" : "string"
26597 },
26598 "comment" : {
26599 "optional" : 1,
26600 "type" : "string"
26601 },
26602 "digest" : {
26603 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26604 "maxLength" : 40,
26605 "optional" : 0,
26606 "type" : "string"
26607 },
26608 "name" : {
26609 "type" : "string"
7aacca6f
DM
26610 }
26611 },
26612 "type" : "object"
26613 },
26614 "links" : [
26615 {
4d47f125 26616 "href" : "{name}",
44660702 26617 "rel" : "child"
7aacca6f 26618 }
44660702
DM
26619 ],
26620 "type" : "array"
26621 }
7aacca6f
DM
26622 },
26623 "POST" : {
e9cd3bd4 26624 "allowtoken" : 1,
4d47f125 26625 "description" : "Create IP or Network Alias.",
44660702 26626 "method" : "POST",
4d47f125 26627 "name" : "create_alias",
56122987 26628 "parameters" : {
44660702 26629 "additionalProperties" : 0,
56122987 26630 "properties" : {
4d47f125
TL
26631 "cidr" : {
26632 "description" : "Network/IP specification in CIDR format.",
26633 "format" : "IPorCIDR",
013dc89f 26634 "type" : "string",
4d47f125
TL
26635 "typetext" : "<string>"
26636 },
26637 "comment" : {
44660702 26638 "optional" : 1,
013dc89f
DM
26639 "type" : "string",
26640 "typetext" : "<string>"
7aacca6f 26641 },
4d47f125
TL
26642 "name" : {
26643 "description" : "Alias name.",
26644 "maxLength" : 64,
26645 "minLength" : 2,
26646 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
26647 "type" : "string"
26648 },
4d47f125
TL
26649 "node" : {
26650 "description" : "The cluster node name.",
26651 "format" : "pve-node",
26652 "type" : "string",
26653 "typetext" : "<string>"
26654 },
44660702
DM
26655 "vmid" : {
26656 "description" : "The (unique) ID of the VM.",
26657 "format" : "pve-vmid",
26658 "minimum" : 1,
4bd7df8b 26659 "type" : "integer",
013dc89f 26660 "typetext" : "<integer> (1 - N)"
44660702
DM
26661 }
26662 }
26663 },
26664 "permissions" : {
26665 "check" : [
26666 "perm",
26667 "/vms/{vmid}",
26668 [
26669 "VM.Config.Network"
26670 ]
26671 ]
26672 },
26673 "protected" : 1,
44660702
DM
26674 "returns" : {
26675 "type" : "null"
26676 }
26677 }
26678 },
26679 "leaf" : 0,
4d47f125
TL
26680 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
26681 "text" : "aliases"
44660702
DM
26682 },
26683 {
26684 "children" : [
26685 {
4d47f125
TL
26686 "children" : [
26687 {
26688 "info" : {
26689 "DELETE" : {
e9cd3bd4 26690 "allowtoken" : 1,
4d47f125
TL
26691 "description" : "Remove IP or Network from IPSet.",
26692 "method" : "DELETE",
26693 "name" : "remove_ip",
26694 "parameters" : {
26695 "additionalProperties" : 0,
26696 "properties" : {
26697 "cidr" : {
26698 "description" : "Network/IP specification in CIDR format.",
26699 "format" : "IPorCIDRorAlias",
26700 "type" : "string",
26701 "typetext" : "<string>"
26702 },
26703 "digest" : {
26704 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26705 "maxLength" : 40,
26706 "optional" : 1,
26707 "type" : "string",
26708 "typetext" : "<string>"
26709 },
26710 "name" : {
26711 "description" : "IP set name.",
26712 "maxLength" : 64,
26713 "minLength" : 2,
26714 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26715 "type" : "string"
26716 },
26717 "node" : {
26718 "description" : "The cluster node name.",
26719 "format" : "pve-node",
26720 "type" : "string",
26721 "typetext" : "<string>"
26722 },
26723 "vmid" : {
26724 "description" : "The (unique) ID of the VM.",
26725 "format" : "pve-vmid",
26726 "minimum" : 1,
26727 "type" : "integer",
26728 "typetext" : "<integer> (1 - N)"
26729 }
26730 }
26731 },
26732 "permissions" : {
26733 "check" : [
26734 "perm",
26735 "/vms/{vmid}",
26736 [
26737 "VM.Config.Network"
26738 ]
26739 ]
26740 },
26741 "protected" : 1,
26742 "returns" : {
26743 "type" : "null"
26744 }
26745 },
26746 "GET" : {
e9cd3bd4 26747 "allowtoken" : 1,
4d47f125
TL
26748 "description" : "Read IP or Network settings from IPSet.",
26749 "method" : "GET",
26750 "name" : "read_ip",
26751 "parameters" : {
26752 "additionalProperties" : 0,
26753 "properties" : {
26754 "cidr" : {
26755 "description" : "Network/IP specification in CIDR format.",
26756 "format" : "IPorCIDRorAlias",
26757 "type" : "string",
26758 "typetext" : "<string>"
26759 },
26760 "name" : {
26761 "description" : "IP set name.",
26762 "maxLength" : 64,
26763 "minLength" : 2,
26764 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26765 "type" : "string"
26766 },
26767 "node" : {
26768 "description" : "The cluster node name.",
26769 "format" : "pve-node",
26770 "type" : "string",
26771 "typetext" : "<string>"
26772 },
26773 "vmid" : {
26774 "description" : "The (unique) ID of the VM.",
26775 "format" : "pve-vmid",
26776 "minimum" : 1,
26777 "type" : "integer",
26778 "typetext" : "<integer> (1 - N)"
26779 }
26780 }
26781 },
26782 "permissions" : {
26783 "check" : [
26784 "perm",
26785 "/vms/{vmid}",
26786 [
26787 "VM.Audit"
26788 ]
26789 ]
26790 },
26791 "protected" : 1,
26792 "returns" : {
26793 "type" : "object"
26794 }
26795 },
26796 "PUT" : {
e9cd3bd4 26797 "allowtoken" : 1,
4d47f125
TL
26798 "description" : "Update IP or Network settings",
26799 "method" : "PUT",
26800 "name" : "update_ip",
26801 "parameters" : {
26802 "additionalProperties" : 0,
26803 "properties" : {
26804 "cidr" : {
26805 "description" : "Network/IP specification in CIDR format.",
26806 "format" : "IPorCIDRorAlias",
26807 "type" : "string",
26808 "typetext" : "<string>"
26809 },
26810 "comment" : {
26811 "optional" : 1,
26812 "type" : "string",
26813 "typetext" : "<string>"
26814 },
26815 "digest" : {
26816 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26817 "maxLength" : 40,
26818 "optional" : 1,
26819 "type" : "string",
26820 "typetext" : "<string>"
26821 },
26822 "name" : {
26823 "description" : "IP set name.",
26824 "maxLength" : 64,
26825 "minLength" : 2,
26826 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26827 "type" : "string"
26828 },
26829 "node" : {
26830 "description" : "The cluster node name.",
26831 "format" : "pve-node",
26832 "type" : "string",
26833 "typetext" : "<string>"
26834 },
26835 "nomatch" : {
26836 "optional" : 1,
26837 "type" : "boolean",
26838 "typetext" : "<boolean>"
26839 },
26840 "vmid" : {
26841 "description" : "The (unique) ID of the VM.",
26842 "format" : "pve-vmid",
26843 "minimum" : 1,
26844 "type" : "integer",
26845 "typetext" : "<integer> (1 - N)"
26846 }
26847 }
26848 },
26849 "permissions" : {
26850 "check" : [
26851 "perm",
26852 "/vms/{vmid}",
26853 [
26854 "VM.Config.Network"
26855 ]
26856 ]
26857 },
26858 "protected" : 1,
26859 "returns" : {
26860 "type" : "null"
26861 }
26862 }
26863 },
26864 "leaf" : 1,
26865 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
26866 "text" : "{cidr}"
26867 }
26868 ],
44660702
DM
26869 "info" : {
26870 "DELETE" : {
e9cd3bd4 26871 "allowtoken" : 1,
4d47f125 26872 "description" : "Delete IPSet",
44660702 26873 "method" : "DELETE",
4d47f125 26874 "name" : "delete_ipset",
56122987 26875 "parameters" : {
44660702 26876 "additionalProperties" : 0,
56122987 26877 "properties" : {
7aacca6f 26878 "name" : {
4d47f125 26879 "description" : "IP set name.",
7aacca6f 26880 "maxLength" : 64,
7aacca6f
DM
26881 "minLength" : 2,
26882 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 26883 "type" : "string"
7aacca6f
DM
26884 },
26885 "node" : {
44660702 26886 "description" : "The cluster node name.",
56122987 26887 "format" : "pve-node",
013dc89f
DM
26888 "type" : "string",
26889 "typetext" : "<string>"
7aacca6f 26890 },
56122987 26891 "vmid" : {
44660702 26892 "description" : "The (unique) ID of the VM.",
56122987 26893 "format" : "pve-vmid",
44660702 26894 "minimum" : 1,
4bd7df8b 26895 "type" : "integer",
013dc89f 26896 "typetext" : "<integer> (1 - N)"
56122987 26897 }
44660702 26898 }
56122987 26899 },
56122987
DM
26900 "permissions" : {
26901 "check" : [
26902 "perm",
26903 "/vms/{vmid}",
26904 [
7aacca6f 26905 "VM.Config.Network"
56122987
DM
26906 ]
26907 ]
26908 },
44660702 26909 "protected" : 1,
56122987 26910 "returns" : {
7aacca6f 26911 "type" : "null"
44660702 26912 }
56122987 26913 },
44660702 26914 "GET" : {
e9cd3bd4 26915 "allowtoken" : 1,
4d47f125 26916 "description" : "List IPSet content",
44660702 26917 "method" : "GET",
4d47f125 26918 "name" : "get_ipset",
44660702
DM
26919 "parameters" : {
26920 "additionalProperties" : 0,
26921 "properties" : {
26922 "name" : {
4d47f125 26923 "description" : "IP set name.",
44660702
DM
26924 "maxLength" : 64,
26925 "minLength" : 2,
26926 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
26927 "type" : "string"
26928 },
26929 "node" : {
26930 "description" : "The cluster node name.",
26931 "format" : "pve-node",
013dc89f
DM
26932 "type" : "string",
26933 "typetext" : "<string>"
44660702
DM
26934 },
26935 "vmid" : {
26936 "description" : "The (unique) ID of the VM.",
26937 "format" : "pve-vmid",
26938 "minimum" : 1,
4bd7df8b 26939 "type" : "integer",
013dc89f 26940 "typetext" : "<integer> (1 - N)"
44660702 26941 }
4d47f125
TL
26942 }
26943 },
26944 "permissions" : {
26945 "check" : [
26946 "perm",
26947 "/vms/{vmid}",
26948 [
26949 "VM.Audit"
26950 ]
26951 ]
26952 },
26953 "returns" : {
26954 "items" : {
26955 "properties" : {
26956 "cidr" : {
26957 "type" : "string"
26958 },
26959 "comment" : {
26960 "optional" : 1,
26961 "type" : "string"
26962 },
26963 "digest" : {
26964 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26965 "maxLength" : 40,
26966 "optional" : 0,
26967 "type" : "string"
26968 },
26969 "nomatch" : {
26970 "optional" : 1,
26971 "type" : "boolean"
26972 }
26973 },
26974 "type" : "object"
26975 },
26976 "links" : [
26977 {
26978 "href" : "{cidr}",
26979 "rel" : "child"
26980 }
26981 ],
26982 "type" : "array"
44660702
DM
26983 }
26984 },
4d47f125 26985 "POST" : {
e9cd3bd4 26986 "allowtoken" : 1,
4d47f125
TL
26987 "description" : "Add IP or Network to IPSet.",
26988 "method" : "POST",
26989 "name" : "create_ip",
56122987
DM
26990 "parameters" : {
26991 "additionalProperties" : 0,
26992 "properties" : {
44660702
DM
26993 "cidr" : {
26994 "description" : "Network/IP specification in CIDR format.",
4d47f125 26995 "format" : "IPorCIDRorAlias",
013dc89f
DM
26996 "type" : "string",
26997 "typetext" : "<string>"
44660702
DM
26998 },
26999 "comment" : {
27000 "optional" : 1,
013dc89f
DM
27001 "type" : "string",
27002 "typetext" : "<string>"
44660702 27003 },
56122987 27004 "name" : {
4d47f125 27005 "description" : "IP set name.",
44660702
DM
27006 "maxLength" : 64,
27007 "minLength" : 2,
7aacca6f 27008 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 27009 "type" : "string"
56122987
DM
27010 },
27011 "node" : {
27012 "description" : "The cluster node name.",
44660702 27013 "format" : "pve-node",
013dc89f
DM
27014 "type" : "string",
27015 "typetext" : "<string>"
44660702 27016 },
4d47f125 27017 "nomatch" : {
44660702 27018 "optional" : 1,
4d47f125
TL
27019 "type" : "boolean",
27020 "typetext" : "<boolean>"
56122987 27021 },
7aacca6f 27022 "vmid" : {
7aacca6f 27023 "description" : "The (unique) ID of the VM.",
44660702 27024 "format" : "pve-vmid",
7aacca6f 27025 "minimum" : 1,
4bd7df8b 27026 "type" : "integer",
013dc89f 27027 "typetext" : "<integer> (1 - N)"
56122987
DM
27028 }
27029 }
27030 },
44660702
DM
27031 "permissions" : {
27032 "check" : [
27033 "perm",
27034 "/vms/{vmid}",
27035 [
27036 "VM.Config.Network"
27037 ]
27038 ]
7aacca6f 27039 },
44660702
DM
27040 "protected" : 1,
27041 "returns" : {
27042 "type" : "null"
7aacca6f
DM
27043 }
27044 }
27045 },
4d47f125
TL
27046 "leaf" : 0,
27047 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
44660702
DM
27048 "text" : "{name}"
27049 }
27050 ],
27051 "info" : {
27052 "GET" : {
e9cd3bd4 27053 "allowtoken" : 1,
4d47f125 27054 "description" : "List IPSets",
44660702 27055 "method" : "GET",
4d47f125 27056 "name" : "ipset_index",
56122987
DM
27057 "parameters" : {
27058 "additionalProperties" : 0,
27059 "properties" : {
27060 "node" : {
44660702 27061 "description" : "The cluster node name.",
56122987 27062 "format" : "pve-node",
013dc89f
DM
27063 "type" : "string",
27064 "typetext" : "<string>"
56122987
DM
27065 },
27066 "vmid" : {
7aacca6f 27067 "description" : "The (unique) ID of the VM.",
44660702 27068 "format" : "pve-vmid",
7aacca6f 27069 "minimum" : 1,
4bd7df8b 27070 "type" : "integer",
013dc89f 27071 "typetext" : "<integer> (1 - N)"
56122987
DM
27072 }
27073 }
27074 },
44660702
DM
27075 "permissions" : {
27076 "check" : [
27077 "perm",
27078 "/vms/{vmid}",
27079 [
27080 "VM.Audit"
27081 ]
27082 ]
27083 },
56122987
DM
27084 "returns" : {
27085 "items" : {
56122987 27086 "properties" : {
44660702
DM
27087 "comment" : {
27088 "optional" : 1,
56122987
DM
27089 "type" : "string"
27090 },
56122987 27091 "digest" : {
56122987 27092 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
27093 "maxLength" : 40,
27094 "optional" : 0,
27095 "type" : "string"
27096 },
27097 "name" : {
4d47f125
TL
27098 "description" : "IP set name.",
27099 "maxLength" : 64,
27100 "minLength" : 2,
27101 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 27102 "type" : "string"
56122987 27103 }
44660702
DM
27104 },
27105 "type" : "object"
27106 },
27107 "links" : [
27108 {
27109 "href" : "{name}",
27110 "rel" : "child"
56122987 27111 }
4d47f125
TL
27112 ],
27113 "type" : "array"
27114 }
27115 },
27116 "POST" : {
e9cd3bd4 27117 "allowtoken" : 1,
4d47f125
TL
27118 "description" : "Create new IPSet",
27119 "method" : "POST",
27120 "name" : "create_ipset",
27121 "parameters" : {
27122 "additionalProperties" : 0,
27123 "properties" : {
27124 "comment" : {
27125 "optional" : 1,
27126 "type" : "string",
27127 "typetext" : "<string>"
27128 },
27129 "digest" : {
27130 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27131 "maxLength" : 40,
27132 "optional" : 1,
27133 "type" : "string",
27134 "typetext" : "<string>"
27135 },
27136 "name" : {
27137 "description" : "IP set name.",
27138 "maxLength" : 64,
27139 "minLength" : 2,
27140 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
27141 "type" : "string"
27142 },
27143 "node" : {
27144 "description" : "The cluster node name.",
27145 "format" : "pve-node",
27146 "type" : "string",
27147 "typetext" : "<string>"
27148 },
27149 "rename" : {
27150 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
27151 "maxLength" : 64,
27152 "minLength" : 2,
27153 "optional" : 1,
27154 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
27155 "type" : "string"
27156 },
27157 "vmid" : {
27158 "description" : "The (unique) ID of the VM.",
27159 "format" : "pve-vmid",
27160 "minimum" : 1,
27161 "type" : "integer",
27162 "typetext" : "<integer> (1 - N)"
27163 }
27164 }
27165 },
27166 "permissions" : {
27167 "check" : [
27168 "perm",
27169 "/vms/{vmid}",
27170 [
27171 "VM.Config.Network"
27172 ]
27173 ]
27174 },
27175 "protected" : 1,
27176 "returns" : {
27177 "type" : "null"
27178 }
27179 }
27180 },
27181 "leaf" : 0,
27182 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
27183 "text" : "ipset"
27184 },
27185 {
27186 "info" : {
27187 "GET" : {
e9cd3bd4 27188 "allowtoken" : 1,
4d47f125
TL
27189 "description" : "Get VM firewall options.",
27190 "method" : "GET",
27191 "name" : "get_options",
27192 "parameters" : {
27193 "additionalProperties" : 0,
27194 "properties" : {
27195 "node" : {
27196 "description" : "The cluster node name.",
27197 "format" : "pve-node",
27198 "type" : "string",
27199 "typetext" : "<string>"
27200 },
27201 "vmid" : {
27202 "description" : "The (unique) ID of the VM.",
27203 "format" : "pve-vmid",
27204 "minimum" : 1,
27205 "type" : "integer",
27206 "typetext" : "<integer> (1 - N)"
27207 }
27208 }
27209 },
27210 "permissions" : {
27211 "check" : [
27212 "perm",
27213 "/vms/{vmid}",
27214 [
27215 "VM.Audit"
27216 ]
27217 ]
27218 },
27219 "proxyto" : "node",
27220 "returns" : {
27221 "properties" : {
27222 "dhcp" : {
5c1699e5 27223 "default" : 0,
4d47f125
TL
27224 "description" : "Enable DHCP.",
27225 "optional" : 1,
27226 "type" : "boolean"
27227 },
27228 "enable" : {
5c1699e5 27229 "default" : 0,
4d47f125
TL
27230 "description" : "Enable/disable firewall rules.",
27231 "optional" : 1,
27232 "type" : "boolean"
27233 },
27234 "ipfilter" : {
27235 "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.",
27236 "optional" : 1,
27237 "type" : "boolean"
27238 },
27239 "log_level_in" : {
27240 "description" : "Log level for incoming traffic.",
27241 "enum" : [
27242 "emerg",
27243 "alert",
27244 "crit",
27245 "err",
27246 "warning",
27247 "notice",
27248 "info",
27249 "debug",
27250 "nolog"
27251 ],
27252 "optional" : 1,
27253 "type" : "string"
27254 },
27255 "log_level_out" : {
27256 "description" : "Log level for outgoing traffic.",
27257 "enum" : [
27258 "emerg",
27259 "alert",
27260 "crit",
27261 "err",
27262 "warning",
27263 "notice",
27264 "info",
27265 "debug",
27266 "nolog"
27267 ],
27268 "optional" : 1,
27269 "type" : "string"
27270 },
27271 "macfilter" : {
5c1699e5 27272 "default" : 0,
4d47f125
TL
27273 "description" : "Enable/disable MAC address filter.",
27274 "optional" : 1,
27275 "type" : "boolean"
27276 },
27277 "ndp" : {
5c1699e5
TL
27278 "default" : 0,
27279 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
27280 "optional" : 1,
27281 "type" : "boolean"
27282 },
27283 "policy_in" : {
27284 "description" : "Input policy.",
27285 "enum" : [
27286 "ACCEPT",
27287 "REJECT",
27288 "DROP"
27289 ],
27290 "optional" : 1,
27291 "type" : "string"
27292 },
27293 "policy_out" : {
27294 "description" : "Output policy.",
27295 "enum" : [
27296 "ACCEPT",
27297 "REJECT",
27298 "DROP"
27299 ],
27300 "optional" : 1,
27301 "type" : "string"
27302 },
27303 "radv" : {
27304 "description" : "Allow sending Router Advertisement.",
27305 "optional" : 1,
27306 "type" : "boolean"
27307 }
27308 },
27309 "type" : "object"
7aacca6f
DM
27310 }
27311 },
4d47f125 27312 "PUT" : {
e9cd3bd4 27313 "allowtoken" : 1,
4d47f125
TL
27314 "description" : "Set Firewall options.",
27315 "method" : "PUT",
27316 "name" : "set_options",
7aacca6f
DM
27317 "parameters" : {
27318 "additionalProperties" : 0,
27319 "properties" : {
4d47f125
TL
27320 "delete" : {
27321 "description" : "A list of settings you want to delete.",
27322 "format" : "pve-configid-list",
7aacca6f 27323 "optional" : 1,
013dc89f
DM
27324 "type" : "string",
27325 "typetext" : "<string>"
7aacca6f 27326 },
4d47f125 27327 "dhcp" : {
5c1699e5 27328 "default" : 0,
4d47f125
TL
27329 "description" : "Enable DHCP.",
27330 "optional" : 1,
27331 "type" : "boolean",
27332 "typetext" : "<boolean>"
7aacca6f 27333 },
4d47f125
TL
27334 "digest" : {
27335 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
27336 "maxLength" : 40,
27337 "optional" : 1,
013dc89f
DM
27338 "type" : "string",
27339 "typetext" : "<string>"
7aacca6f 27340 },
4d47f125 27341 "enable" : {
5c1699e5 27342 "default" : 0,
4d47f125
TL
27343 "description" : "Enable/disable firewall rules.",
27344 "optional" : 1,
27345 "type" : "boolean",
27346 "typetext" : "<boolean>"
27347 },
27348 "ipfilter" : {
27349 "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.",
27350 "optional" : 1,
27351 "type" : "boolean",
27352 "typetext" : "<boolean>"
56122987 27353 },
4d47f125
TL
27354 "log_level_in" : {
27355 "description" : "Log level for incoming traffic.",
27356 "enum" : [
27357 "emerg",
27358 "alert",
27359 "crit",
27360 "err",
27361 "warning",
27362 "notice",
27363 "info",
27364 "debug",
27365 "nolog"
27366 ],
27367 "optional" : 1,
27368 "type" : "string"
44660702 27369 },
4d47f125
TL
27370 "log_level_out" : {
27371 "description" : "Log level for outgoing traffic.",
27372 "enum" : [
27373 "emerg",
27374 "alert",
27375 "crit",
27376 "err",
27377 "warning",
27378 "notice",
27379 "info",
27380 "debug",
27381 "nolog"
27382 ],
27383 "optional" : 1,
27384 "type" : "string"
44660702 27385 },
4d47f125 27386 "macfilter" : {
5c1699e5 27387 "default" : 0,
4d47f125
TL
27388 "description" : "Enable/disable MAC address filter.",
27389 "optional" : 1,
27390 "type" : "boolean",
27391 "typetext" : "<boolean>"
7aacca6f 27392 },
4d47f125 27393 "ndp" : {
5c1699e5
TL
27394 "default" : 0,
27395 "description" : "Enable NDP (Neighbor Discovery Protocol).",
4d47f125
TL
27396 "optional" : 1,
27397 "type" : "boolean",
27398 "typetext" : "<boolean>"
7aacca6f 27399 },
4d47f125
TL
27400 "node" : {
27401 "description" : "The cluster node name.",
27402 "format" : "pve-node",
27403 "type" : "string",
27404 "typetext" : "<string>"
27405 },
27406 "policy_in" : {
27407 "description" : "Input policy.",
27408 "enum" : [
27409 "ACCEPT",
27410 "REJECT",
27411 "DROP"
44660702 27412 ],
4d47f125
TL
27413 "optional" : 1,
27414 "type" : "string"
27415 },
27416 "policy_out" : {
27417 "description" : "Output policy.",
27418 "enum" : [
27419 "ACCEPT",
27420 "REJECT",
27421 "DROP"
27422 ],
27423 "optional" : 1,
27424 "type" : "string"
27425 },
27426 "radv" : {
27427 "description" : "Allow sending Router Advertisement.",
27428 "optional" : 1,
27429 "type" : "boolean",
27430 "typetext" : "<boolean>"
27431 },
27432 "vmid" : {
27433 "description" : "The (unique) ID of the VM.",
27434 "format" : "pve-vmid",
27435 "minimum" : 1,
27436 "type" : "integer",
27437 "typetext" : "<integer> (1 - N)"
44660702 27438 }
4d47f125
TL
27439 }
27440 },
27441 "permissions" : {
27442 "check" : [
27443 "perm",
27444 "/vms/{vmid}",
27445 [
27446 "VM.Config.Network"
27447 ]
27448 ]
27449 },
27450 "protected" : 1,
27451 "proxyto" : "node",
27452 "returns" : {
27453 "type" : "null"
27454 }
27455 }
27456 },
27457 "leaf" : 1,
27458 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
27459 "text" : "options"
27460 },
27461 {
27462 "info" : {
27463 "GET" : {
e9cd3bd4 27464 "allowtoken" : 1,
4d47f125
TL
27465 "description" : "Read firewall log",
27466 "method" : "GET",
27467 "name" : "log",
27468 "parameters" : {
27469 "additionalProperties" : 0,
27470 "properties" : {
27471 "limit" : {
27472 "minimum" : 0,
27473 "optional" : 1,
27474 "type" : "integer",
27475 "typetext" : "<integer> (0 - N)"
44660702 27476 },
4d47f125
TL
27477 "node" : {
27478 "description" : "The cluster node name.",
27479 "format" : "pve-node",
27480 "type" : "string",
27481 "typetext" : "<string>"
44660702 27482 },
4d47f125
TL
27483 "start" : {
27484 "minimum" : 0,
27485 "optional" : 1,
27486 "type" : "integer",
27487 "typetext" : "<integer> (0 - N)"
27488 },
27489 "vmid" : {
27490 "description" : "The (unique) ID of the VM.",
27491 "format" : "pve-vmid",
27492 "minimum" : 1,
27493 "type" : "integer",
27494 "typetext" : "<integer> (1 - N)"
44660702
DM
27495 }
27496 }
27497 },
4d47f125
TL
27498 "permissions" : {
27499 "check" : [
27500 "perm",
27501 "/vms/{vmid}",
27502 [
27503 "VM.Console"
27504 ]
27505 ]
27506 },
27507 "protected" : 1,
27508 "proxyto" : "node",
27509 "returns" : {
27510 "items" : {
27511 "properties" : {
27512 "n" : {
27513 "description" : "Line number",
27514 "type" : "integer"
27515 },
27516 "t" : {
27517 "description" : "Line text",
27518 "type" : "string"
27519 }
27520 },
27521 "type" : "object"
27522 },
27523 "type" : "array"
27524 }
44660702 27525 }
4d47f125
TL
27526 },
27527 "leaf" : 1,
27528 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
27529 "text" : "log"
27530 },
27531 {
44660702
DM
27532 "info" : {
27533 "GET" : {
e9cd3bd4 27534 "allowtoken" : 1,
4d47f125 27535 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702 27536 "method" : "GET",
4d47f125 27537 "name" : "refs",
44660702
DM
27538 "parameters" : {
27539 "additionalProperties" : 0,
27540 "properties" : {
27541 "node" : {
27542 "description" : "The cluster node name.",
27543 "format" : "pve-node",
013dc89f
DM
27544 "type" : "string",
27545 "typetext" : "<string>"
44660702 27546 },
4d47f125
TL
27547 "type" : {
27548 "description" : "Only list references of specified type.",
27549 "enum" : [
27550 "alias",
27551 "ipset"
27552 ],
27553 "optional" : 1,
27554 "type" : "string"
27555 },
44660702
DM
27556 "vmid" : {
27557 "description" : "The (unique) ID of the VM.",
27558 "format" : "pve-vmid",
27559 "minimum" : 1,
4bd7df8b 27560 "type" : "integer",
013dc89f 27561 "typetext" : "<integer> (1 - N)"
44660702
DM
27562 }
27563 }
27564 },
4d47f125
TL
27565 "permissions" : {
27566 "check" : [
27567 "perm",
27568 "/vms/{vmid}",
27569 [
27570 "VM.Audit"
27571 ]
27572 ]
27573 },
27574 "returns" : {
27575 "items" : {
27576 "properties" : {
27577 "comment" : {
27578 "optional" : 1,
27579 "type" : "string"
27580 },
27581 "name" : {
27582 "type" : "string"
27583 },
27584 "type" : {
27585 "enum" : [
27586 "alias",
27587 "ipset"
27588 ],
27589 "type" : "string"
27590 }
27591 },
27592 "type" : "object"
27593 },
27594 "type" : "array"
27595 }
27596 }
27597 },
27598 "leaf" : 1,
27599 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
27600 "text" : "refs"
27601 }
27602 ],
27603 "info" : {
27604 "GET" : {
e9cd3bd4 27605 "allowtoken" : 1,
4d47f125
TL
27606 "description" : "Directory index.",
27607 "method" : "GET",
27608 "name" : "index",
27609 "parameters" : {
27610 "additionalProperties" : 0,
27611 "properties" : {
27612 "node" : {
27613 "description" : "The cluster node name.",
27614 "format" : "pve-node",
27615 "type" : "string",
27616 "typetext" : "<string>"
27617 },
27618 "vmid" : {
27619 "description" : "The (unique) ID of the VM.",
27620 "format" : "pve-vmid",
27621 "minimum" : 1,
27622 "type" : "integer",
27623 "typetext" : "<integer> (1 - N)"
27624 }
27625 }
27626 },
27627 "permissions" : {
27628 "user" : "all"
27629 },
27630 "returns" : {
27631 "items" : {
27632 "properties" : {},
27633 "type" : "object"
27634 },
27635 "links" : [
27636 {
27637 "href" : "{name}",
27638 "rel" : "child"
27639 }
27640 ],
27641 "type" : "array"
27642 }
27643 }
27644 },
27645 "leaf" : 0,
27646 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
27647 "text" : "firewall"
27648 },
27649 {
27650 "info" : {
27651 "GET" : {
e9cd3bd4 27652 "allowtoken" : 1,
4d47f125
TL
27653 "description" : "Read VM RRD statistics (returns PNG)",
27654 "method" : "GET",
27655 "name" : "rrd",
27656 "parameters" : {
27657 "additionalProperties" : 0,
27658 "properties" : {
27659 "cf" : {
27660 "description" : "The RRD consolidation function",
27661 "enum" : [
27662 "AVERAGE",
27663 "MAX"
27664 ],
27665 "optional" : 1,
27666 "type" : "string"
27667 },
27668 "ds" : {
27669 "description" : "The list of datasources you want to display.",
27670 "format" : "pve-configid-list",
27671 "type" : "string",
27672 "typetext" : "<string>"
27673 },
27674 "node" : {
27675 "description" : "The cluster node name.",
27676 "format" : "pve-node",
27677 "type" : "string",
27678 "typetext" : "<string>"
27679 },
27680 "timeframe" : {
27681 "description" : "Specify the time frame you are interested in.",
27682 "enum" : [
27683 "hour",
27684 "day",
27685 "week",
27686 "month",
27687 "year"
27688 ],
27689 "type" : "string"
27690 },
27691 "vmid" : {
27692 "description" : "The (unique) ID of the VM.",
27693 "format" : "pve-vmid",
27694 "minimum" : 1,
27695 "type" : "integer",
27696 "typetext" : "<integer> (1 - N)"
27697 }
27698 }
27699 },
27700 "permissions" : {
27701 "check" : [
27702 "perm",
27703 "/vms/{vmid}",
27704 [
27705 "VM.Audit"
27706 ]
27707 ]
27708 },
27709 "protected" : 1,
27710 "returns" : {
27711 "properties" : {
27712 "filename" : {
27713 "type" : "string"
27714 }
27715 },
27716 "type" : "object"
27717 }
27718 }
27719 },
27720 "leaf" : 1,
27721 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
27722 "text" : "rrd"
27723 },
27724 {
27725 "info" : {
27726 "GET" : {
e9cd3bd4 27727 "allowtoken" : 1,
4d47f125
TL
27728 "description" : "Read VM RRD statistics",
27729 "method" : "GET",
27730 "name" : "rrddata",
27731 "parameters" : {
27732 "additionalProperties" : 0,
27733 "properties" : {
27734 "cf" : {
27735 "description" : "The RRD consolidation function",
27736 "enum" : [
27737 "AVERAGE",
27738 "MAX"
27739 ],
27740 "optional" : 1,
27741 "type" : "string"
27742 },
27743 "node" : {
27744 "description" : "The cluster node name.",
27745 "format" : "pve-node",
27746 "type" : "string",
27747 "typetext" : "<string>"
44660702 27748 },
4d47f125
TL
27749 "timeframe" : {
27750 "description" : "Specify the time frame you are interested in.",
27751 "enum" : [
27752 "hour",
27753 "day",
27754 "week",
27755 "month",
27756 "year"
44660702 27757 ],
4d47f125
TL
27758 "type" : "string"
27759 },
27760 "vmid" : {
27761 "description" : "The (unique) ID of the VM.",
27762 "format" : "pve-vmid",
27763 "minimum" : 1,
27764 "type" : "integer",
27765 "typetext" : "<integer> (1 - N)"
44660702 27766 }
4d47f125
TL
27767 }
27768 },
27769 "permissions" : {
27770 "check" : [
27771 "perm",
27772 "/vms/{vmid}",
27773 [
27774 "VM.Audit"
27775 ]
27776 ]
27777 },
27778 "protected" : 1,
27779 "returns" : {
27780 "items" : {
27781 "properties" : {},
27782 "type" : "object"
44660702 27783 },
4d47f125
TL
27784 "type" : "array"
27785 }
27786 }
27787 },
27788 "leaf" : 1,
27789 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
27790 "text" : "rrddata"
27791 },
27792 {
27793 "info" : {
27794 "POST" : {
e9cd3bd4 27795 "allowtoken" : 1,
4d47f125
TL
27796 "description" : "Creates a TCP VNC proxy connections.",
27797 "method" : "POST",
27798 "name" : "vncproxy",
27799 "parameters" : {
27800 "additionalProperties" : 0,
27801 "properties" : {
27802 "height" : {
27803 "description" : "sets the height of the console in pixels.",
27804 "maximum" : 2160,
27805 "minimum" : 16,
27806 "optional" : 1,
27807 "type" : "integer",
27808 "typetext" : "<integer> (16 - 2160)"
44660702 27809 },
4d47f125
TL
27810 "node" : {
27811 "description" : "The cluster node name.",
27812 "format" : "pve-node",
27813 "type" : "string",
27814 "typetext" : "<string>"
44660702 27815 },
4d47f125
TL
27816 "vmid" : {
27817 "description" : "The (unique) ID of the VM.",
27818 "format" : "pve-vmid",
27819 "minimum" : 1,
27820 "type" : "integer",
27821 "typetext" : "<integer> (1 - N)"
27822 },
27823 "websocket" : {
27824 "description" : "use websocket instead of standard VNC.",
27825 "optional" : 1,
27826 "type" : "boolean",
27827 "typetext" : "<boolean>"
27828 },
27829 "width" : {
27830 "description" : "sets the width of the console in pixels.",
27831 "maximum" : 4096,
27832 "minimum" : 16,
27833 "optional" : 1,
27834 "type" : "integer",
27835 "typetext" : "<integer> (16 - 4096)"
56122987
DM
27836 }
27837 }
44660702 27838 },
4d47f125
TL
27839 "permissions" : {
27840 "check" : [
27841 "perm",
27842 "/vms/{vmid}",
27843 [
27844 "VM.Console"
27845 ]
27846 ]
27847 },
27848 "protected" : 1,
27849 "returns" : {
27850 "additionalProperties" : 0,
27851 "properties" : {
27852 "cert" : {
27853 "type" : "string"
44660702 27854 },
4d47f125
TL
27855 "port" : {
27856 "type" : "integer"
27857 },
27858 "ticket" : {
27859 "type" : "string"
27860 },
27861 "upid" : {
27862 "type" : "string"
27863 },
27864 "user" : {
27865 "type" : "string"
27866 }
27867 }
27868 }
27869 }
27870 },
27871 "leaf" : 1,
27872 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
27873 "text" : "vncproxy"
27874 },
27875 {
27876 "info" : {
27877 "POST" : {
e9cd3bd4 27878 "allowtoken" : 1,
4d47f125
TL
27879 "description" : "Creates a TCP proxy connection.",
27880 "method" : "POST",
27881 "name" : "termproxy",
27882 "parameters" : {
27883 "additionalProperties" : 0,
27884 "properties" : {
27885 "node" : {
27886 "description" : "The cluster node name.",
27887 "format" : "pve-node",
27888 "type" : "string",
27889 "typetext" : "<string>"
44660702 27890 },
4d47f125
TL
27891 "vmid" : {
27892 "description" : "The (unique) ID of the VM.",
27893 "format" : "pve-vmid",
27894 "minimum" : 1,
27895 "type" : "integer",
27896 "typetext" : "<integer> (1 - N)"
44660702 27897 }
4d47f125
TL
27898 }
27899 },
27900 "permissions" : {
27901 "check" : [
27902 "perm",
27903 "/vms/{vmid}",
27904 [
27905 "VM.Console"
27906 ]
27907 ]
27908 },
27909 "protected" : 1,
27910 "returns" : {
27911 "additionalProperties" : 0,
27912 "properties" : {
27913 "port" : {
27914 "type" : "integer"
56122987 27915 },
4d47f125
TL
27916 "ticket" : {
27917 "type" : "string"
7aacca6f 27918 },
4d47f125
TL
27919 "upid" : {
27920 "type" : "string"
27921 },
27922 "user" : {
27923 "type" : "string"
27924 }
27925 }
27926 }
27927 }
27928 },
27929 "leaf" : 1,
27930 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
27931 "text" : "termproxy"
27932 },
27933 {
27934 "info" : {
27935 "GET" : {
e9cd3bd4 27936 "allowtoken" : 1,
4d47f125
TL
27937 "description" : "Opens a weksocket for VNC traffic.",
27938 "method" : "GET",
27939 "name" : "vncwebsocket",
27940 "parameters" : {
27941 "additionalProperties" : 0,
27942 "properties" : {
27943 "node" : {
27944 "description" : "The cluster node name.",
27945 "format" : "pve-node",
27946 "type" : "string",
27947 "typetext" : "<string>"
27948 },
27949 "port" : {
27950 "description" : "Port number returned by previous vncproxy call.",
27951 "maximum" : 5999,
27952 "minimum" : 5900,
27953 "type" : "integer",
27954 "typetext" : "<integer> (5900 - 5999)"
27955 },
27956 "vmid" : {
27957 "description" : "The (unique) ID of the VM.",
27958 "format" : "pve-vmid",
27959 "minimum" : 1,
27960 "type" : "integer",
27961 "typetext" : "<integer> (1 - N)"
27962 },
27963 "vncticket" : {
27964 "description" : "Ticket from previous call to vncproxy.",
27965 "maxLength" : 512,
27966 "type" : "string",
27967 "typetext" : "<string>"
56122987
DM
27968 }
27969 }
27970 },
4d47f125
TL
27971 "permissions" : {
27972 "check" : [
27973 "perm",
27974 "/vms/{vmid}",
27975 [
27976 "VM.Console"
27977 ]
27978 ],
27979 "description" : "You also need to pass a valid ticket (vncticket)."
27980 },
27981 "returns" : {
27982 "properties" : {
27983 "port" : {
27984 "type" : "string"
27985 }
27986 },
27987 "type" : "object"
27988 }
27989 }
27990 },
27991 "leaf" : 1,
27992 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
27993 "text" : "vncwebsocket"
27994 },
27995 {
27996 "info" : {
27997 "POST" : {
e9cd3bd4 27998 "allowtoken" : 1,
4d47f125
TL
27999 "description" : "Returns a SPICE configuration to connect to the CT.",
28000 "method" : "POST",
28001 "name" : "spiceproxy",
28002 "parameters" : {
28003 "additionalProperties" : 0,
28004 "properties" : {
28005 "node" : {
28006 "description" : "The cluster node name.",
28007 "format" : "pve-node",
28008 "type" : "string",
28009 "typetext" : "<string>"
56122987 28010 },
4d47f125
TL
28011 "proxy" : {
28012 "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).",
28013 "format" : "address",
28014 "optional" : 1,
28015 "type" : "string",
28016 "typetext" : "<string>"
44660702 28017 },
4d47f125
TL
28018 "vmid" : {
28019 "description" : "The (unique) ID of the VM.",
28020 "format" : "pve-vmid",
28021 "minimum" : 1,
28022 "type" : "integer",
28023 "typetext" : "<integer> (1 - N)"
44660702 28024 }
56122987
DM
28025 }
28026 },
4d47f125
TL
28027 "permissions" : {
28028 "check" : [
28029 "perm",
28030 "/vms/{vmid}",
28031 [
28032 "VM.Console"
28033 ]
28034 ]
28035 },
28036 "protected" : 1,
28037 "proxyto" : "node",
28038 "returns" : {
28039 "additionalProperties" : 1,
28040 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
28041 "properties" : {
28042 "host" : {
28043 "type" : "string"
28044 },
28045 "password" : {
28046 "type" : "string"
28047 },
28048 "proxy" : {
28049 "type" : "string"
28050 },
28051 "tls-port" : {
28052 "type" : "integer"
28053 },
28054 "type" : {
28055 "type" : "string"
28056 }
28057 }
28058 }
28059 }
28060 },
28061 "leaf" : 1,
28062 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
28063 "text" : "spiceproxy"
28064 },
28065 {
28066 "info" : {
28067 "POST" : {
e9cd3bd4 28068 "allowtoken" : 1,
4d47f125
TL
28069 "description" : "Migrate the container to another node. Creates a new migration task.",
28070 "method" : "POST",
28071 "name" : "migrate_vm",
28072 "parameters" : {
28073 "additionalProperties" : 0,
28074 "properties" : {
95895385
TL
28075 "bwlimit" : {
28076 "default" : "migrate limit from datacenter or storage config",
28077 "description" : "Override I/O bandwidth limit (in KiB/s).",
28078 "minimum" : "0",
28079 "optional" : 1,
28080 "type" : "number",
28081 "typetext" : "<number> (0 - N)"
28082 },
4d47f125
TL
28083 "force" : {
28084 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
28085 "optional" : 1,
28086 "type" : "boolean",
28087 "typetext" : "<boolean>"
56122987 28088 },
4d47f125
TL
28089 "node" : {
28090 "description" : "The cluster node name.",
28091 "format" : "pve-node",
28092 "type" : "string",
28093 "typetext" : "<string>"
44660702 28094 },
4d47f125
TL
28095 "online" : {
28096 "description" : "Use online/live migration.",
28097 "optional" : 1,
28098 "type" : "boolean",
28099 "typetext" : "<boolean>"
28100 },
28101 "restart" : {
28102 "description" : "Use restart migration",
28103 "optional" : 1,
28104 "type" : "boolean",
28105 "typetext" : "<boolean>"
28106 },
28107 "target" : {
28108 "description" : "Target node.",
28109 "format" : "pve-node",
28110 "type" : "string",
28111 "typetext" : "<string>"
28112 },
28113 "timeout" : {
28114 "default" : 180,
28115 "description" : "Timeout in seconds for shutdown for restart migration",
28116 "optional" : 1,
28117 "type" : "integer",
28118 "typetext" : "<integer>"
28119 },
28120 "vmid" : {
28121 "description" : "The (unique) ID of the VM.",
28122 "format" : "pve-vmid",
28123 "minimum" : 1,
28124 "type" : "integer",
28125 "typetext" : "<integer> (1 - N)"
56122987
DM
28126 }
28127 }
28128 },
4d47f125
TL
28129 "permissions" : {
28130 "check" : [
28131 "perm",
28132 "/vms/{vmid}",
28133 [
28134 "VM.Migrate"
28135 ]
28136 ]
28137 },
28138 "protected" : 1,
28139 "proxyto" : "node",
28140 "returns" : {
28141 "description" : "the task ID.",
28142 "type" : "string"
28143 }
56122987 28144 }
4d47f125
TL
28145 },
28146 "leaf" : 1,
28147 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
28148 "text" : "migrate"
28149 },
28150 {
56122987
DM
28151 "info" : {
28152 "GET" : {
e9cd3bd4 28153 "allowtoken" : 1,
4d47f125 28154 "description" : "Check if feature for virtual machine is available.",
44660702 28155 "method" : "GET",
4d47f125 28156 "name" : "vm_feature",
56122987 28157 "parameters" : {
44660702 28158 "additionalProperties" : 0,
56122987 28159 "properties" : {
4d47f125
TL
28160 "feature" : {
28161 "description" : "Feature to check.",
28162 "enum" : [
28163 "snapshot",
28164 "clone",
28165 "copy"
28166 ],
28167 "type" : "string"
28168 },
56122987 28169 "node" : {
44660702 28170 "description" : "The cluster node name.",
56122987 28171 "format" : "pve-node",
013dc89f
DM
28172 "type" : "string",
28173 "typetext" : "<string>"
44660702 28174 },
4d47f125
TL
28175 "snapname" : {
28176 "description" : "The name of the snapshot.",
28177 "format" : "pve-configid",
28178 "maxLength" : 40,
28179 "optional" : 1,
28180 "type" : "string",
28181 "typetext" : "<string>"
28182 },
44660702
DM
28183 "vmid" : {
28184 "description" : "The (unique) ID of the VM.",
28185 "format" : "pve-vmid",
28186 "minimum" : 1,
4bd7df8b 28187 "type" : "integer",
013dc89f 28188 "typetext" : "<integer> (1 - N)"
56122987 28189 }
44660702
DM
28190 }
28191 },
28192 "permissions" : {
4d47f125
TL
28193 "check" : [
28194 "perm",
28195 "/vms/{vmid}",
28196 [
28197 "VM.Audit"
28198 ]
28199 ]
56122987 28200 },
4d47f125
TL
28201 "protected" : 1,
28202 "proxyto" : "node",
56122987 28203 "returns" : {
4d47f125
TL
28204 "properties" : {
28205 "hasFeature" : {
28206 "type" : "boolean"
28207 }
7aacca6f 28208 },
4d47f125
TL
28209 "type" : "object"
28210 }
28211 }
28212 },
28213 "leaf" : 1,
28214 "path" : "/nodes/{node}/lxc/{vmid}/feature",
28215 "text" : "feature"
28216 },
28217 {
28218 "info" : {
28219 "POST" : {
e9cd3bd4 28220 "allowtoken" : 1,
4d47f125
TL
28221 "description" : "Create a Template.",
28222 "method" : "POST",
28223 "name" : "template",
28224 "parameters" : {
28225 "additionalProperties" : 0,
28226 "properties" : {
28227 "node" : {
28228 "description" : "The cluster node name.",
28229 "format" : "pve-node",
28230 "type" : "string",
28231 "typetext" : "<string>"
28232 },
28233 "vmid" : {
28234 "description" : "The (unique) ID of the VM.",
28235 "format" : "pve-vmid",
28236 "minimum" : 1,
28237 "type" : "integer",
28238 "typetext" : "<integer> (1 - N)"
56122987 28239 }
4d47f125
TL
28240 }
28241 },
28242 "permissions" : {
28243 "check" : [
28244 "perm",
28245 "/vms/{vmid}",
28246 [
28247 "VM.Allocate"
28248 ]
44660702 28249 ],
4d47f125
TL
28250 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
28251 },
28252 "protected" : 1,
28253 "proxyto" : "node",
28254 "returns" : {
28255 "type" : "null"
56122987
DM
28256 }
28257 }
28258 },
4d47f125
TL
28259 "leaf" : 1,
28260 "path" : "/nodes/{node}/lxc/{vmid}/template",
28261 "text" : "template"
56122987
DM
28262 },
28263 {
56122987 28264 "info" : {
4d47f125 28265 "POST" : {
e9cd3bd4 28266 "allowtoken" : 1,
4d47f125
TL
28267 "description" : "Create a container clone/copy",
28268 "method" : "POST",
28269 "name" : "clone_vm",
56122987 28270 "parameters" : {
7aacca6f 28271 "additionalProperties" : 0,
56122987 28272 "properties" : {
95895385
TL
28273 "bwlimit" : {
28274 "default" : "clone limit from datacenter or storage config",
28275 "description" : "Override I/O bandwidth limit (in KiB/s).",
28276 "minimum" : "0",
28277 "optional" : 1,
28278 "type" : "number",
28279 "typetext" : "<number> (0 - N)"
28280 },
4d47f125
TL
28281 "description" : {
28282 "description" : "Description for the new CT.",
44660702 28283 "optional" : 1,
4d47f125
TL
28284 "type" : "string",
28285 "typetext" : "<string>"
44660702 28286 },
4d47f125
TL
28287 "full" : {
28288 "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.",
28289 "optional" : 1,
28290 "type" : "boolean",
28291 "typetext" : "<boolean>"
28292 },
28293 "hostname" : {
28294 "description" : "Set a hostname for the new CT.",
28295 "format" : "dns-name",
28296 "optional" : 1,
013dc89f
DM
28297 "type" : "string",
28298 "typetext" : "<string>"
44660702 28299 },
4d47f125
TL
28300 "newid" : {
28301 "description" : "VMID for the clone.",
28302 "format" : "pve-vmid",
28303 "minimum" : 1,
28304 "type" : "integer",
28305 "typetext" : "<integer> (1 - N)"
28306 },
7aacca6f
DM
28307 "node" : {
28308 "description" : "The cluster node name.",
44660702 28309 "format" : "pve-node",
013dc89f
DM
28310 "type" : "string",
28311 "typetext" : "<string>"
56122987 28312 },
4d47f125
TL
28313 "pool" : {
28314 "description" : "Add the new CT to the specified pool.",
28315 "format" : "pve-poolid",
28316 "optional" : 1,
28317 "type" : "string",
28318 "typetext" : "<string>"
28319 },
28320 "snapname" : {
28321 "description" : "The name of the snapshot.",
28322 "format" : "pve-configid",
28323 "maxLength" : 40,
28324 "optional" : 1,
28325 "type" : "string",
28326 "typetext" : "<string>"
28327 },
28328 "storage" : {
28329 "description" : "Target storage for full clone.",
28330 "format" : "pve-storage-id",
28331 "optional" : 1,
28332 "type" : "string",
28333 "typetext" : "<string>"
28334 },
28335 "target" : {
28336 "description" : "Target node. Only allowed if the original VM is on shared storage.",
28337 "format" : "pve-node",
28338 "optional" : 1,
28339 "type" : "string",
28340 "typetext" : "<string>"
28341 },
7aacca6f 28342 "vmid" : {
44660702 28343 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
28344 "format" : "pve-vmid",
28345 "minimum" : 1,
4bd7df8b 28346 "type" : "integer",
013dc89f 28347 "typetext" : "<integer> (1 - N)"
56122987 28348 }
7aacca6f
DM
28349 }
28350 },
28351 "permissions" : {
28352 "check" : [
4d47f125 28353 "and",
7aacca6f 28354 [
4d47f125
TL
28355 "perm",
28356 "/vms/{vmid}",
28357 [
28358 "VM.Clone"
28359 ]
28360 ],
28361 [
28362 "or",
28363 [
28364 "perm",
28365 "/vms/{newid}",
28366 [
28367 "VM.Allocate"
28368 ]
28369 ],
28370 [
28371 "perm",
28372 "/pool/{pool}",
28373 [
28374 "VM.Allocate"
28375 ],
28376 "require_param",
28377 "pool"
28378 ]
7aacca6f 28379 ]
4d47f125
TL
28380 ],
28381 "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 28382 },
44660702 28383 "protected" : 1,
4d47f125 28384 "proxyto" : "node",
7aacca6f 28385 "returns" : {
4d47f125 28386 "type" : "string"
7aacca6f 28387 }
56122987 28388 }
7aacca6f 28389 },
44660702 28390 "leaf" : 1,
4d47f125
TL
28391 "path" : "/nodes/{node}/lxc/{vmid}/clone",
28392 "text" : "clone"
56122987
DM
28393 },
28394 {
56122987 28395 "info" : {
4d47f125 28396 "PUT" : {
e9cd3bd4 28397 "allowtoken" : 1,
4d47f125
TL
28398 "description" : "Resize a container mount point.",
28399 "method" : "PUT",
28400 "name" : "resize_vm",
56122987 28401 "parameters" : {
7aacca6f 28402 "additionalProperties" : 0,
56122987 28403 "properties" : {
4d47f125
TL
28404 "digest" : {
28405 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
28406 "maxLength" : 40,
28407 "optional" : 1,
28408 "type" : "string",
28409 "typetext" : "<string>"
28410 },
28411 "disk" : {
28412 "description" : "The disk you want to resize.",
44660702 28413 "enum" : [
4d47f125
TL
28414 "rootfs",
28415 "mp0",
28416 "mp1",
28417 "mp2",
28418 "mp3",
28419 "mp4",
28420 "mp5",
28421 "mp6",
28422 "mp7",
28423 "mp8",
28424 "mp9",
28425 "mp10",
28426 "mp11",
28427 "mp12",
28428 "mp13",
28429 "mp14",
28430 "mp15",
28431 "mp16",
28432 "mp17",
28433 "mp18",
28434 "mp19",
28435 "mp20",
28436 "mp21",
28437 "mp22",
28438 "mp23",
28439 "mp24",
28440 "mp25",
28441 "mp26",
28442 "mp27",
28443 "mp28",
28444 "mp29",
28445 "mp30",
28446 "mp31",
28447 "mp32",
28448 "mp33",
28449 "mp34",
28450 "mp35",
28451 "mp36",
28452 "mp37",
28453 "mp38",
28454 "mp39",
28455 "mp40",
28456 "mp41",
28457 "mp42",
28458 "mp43",
28459 "mp44",
28460 "mp45",
28461 "mp46",
28462 "mp47",
28463 "mp48",
28464 "mp49",
28465 "mp50",
28466 "mp51",
28467 "mp52",
28468 "mp53",
28469 "mp54",
28470 "mp55",
28471 "mp56",
28472 "mp57",
28473 "mp58",
28474 "mp59",
28475 "mp60",
28476 "mp61",
28477 "mp62",
28478 "mp63",
28479 "mp64",
28480 "mp65",
28481 "mp66",
28482 "mp67",
28483 "mp68",
28484 "mp69",
28485 "mp70",
28486 "mp71",
28487 "mp72",
28488 "mp73",
28489 "mp74",
28490 "mp75",
28491 "mp76",
28492 "mp77",
28493 "mp78",
28494 "mp79",
28495 "mp80",
28496 "mp81",
28497 "mp82",
28498 "mp83",
28499 "mp84",
28500 "mp85",
28501 "mp86",
28502 "mp87",
28503 "mp88",
28504 "mp89",
28505 "mp90",
28506 "mp91",
28507 "mp92",
28508 "mp93",
28509 "mp94",
28510 "mp95",
28511 "mp96",
28512 "mp97",
28513 "mp98",
28514 "mp99",
28515 "mp100",
28516 "mp101",
28517 "mp102",
28518 "mp103",
28519 "mp104",
28520 "mp105",
28521 "mp106",
28522 "mp107",
28523 "mp108",
28524 "mp109",
28525 "mp110",
28526 "mp111",
28527 "mp112",
28528 "mp113",
28529 "mp114",
28530 "mp115",
28531 "mp116",
28532 "mp117",
28533 "mp118",
28534 "mp119",
28535 "mp120",
28536 "mp121",
28537 "mp122",
28538 "mp123",
28539 "mp124",
28540 "mp125",
28541 "mp126",
28542 "mp127",
28543 "mp128",
28544 "mp129",
28545 "mp130",
28546 "mp131",
28547 "mp132",
28548 "mp133",
28549 "mp134",
28550 "mp135",
28551 "mp136",
28552 "mp137",
28553 "mp138",
28554 "mp139",
28555 "mp140",
28556 "mp141",
28557 "mp142",
28558 "mp143",
28559 "mp144",
28560 "mp145",
28561 "mp146",
28562 "mp147",
28563 "mp148",
28564 "mp149",
28565 "mp150",
28566 "mp151",
28567 "mp152",
28568 "mp153",
28569 "mp154",
28570 "mp155",
28571 "mp156",
28572 "mp157",
28573 "mp158",
28574 "mp159",
28575 "mp160",
28576 "mp161",
28577 "mp162",
28578 "mp163",
28579 "mp164",
28580 "mp165",
28581 "mp166",
28582 "mp167",
28583 "mp168",
28584 "mp169",
28585 "mp170",
28586 "mp171",
28587 "mp172",
28588 "mp173",
28589 "mp174",
28590 "mp175",
28591 "mp176",
28592 "mp177",
28593 "mp178",
28594 "mp179",
28595 "mp180",
28596 "mp181",
28597 "mp182",
28598 "mp183",
28599 "mp184",
28600 "mp185",
28601 "mp186",
28602 "mp187",
28603 "mp188",
28604 "mp189",
28605 "mp190",
28606 "mp191",
28607 "mp192",
28608 "mp193",
28609 "mp194",
28610 "mp195",
28611 "mp196",
28612 "mp197",
28613 "mp198",
28614 "mp199",
28615 "mp200",
28616 "mp201",
28617 "mp202",
28618 "mp203",
28619 "mp204",
28620 "mp205",
28621 "mp206",
28622 "mp207",
28623 "mp208",
28624 "mp209",
28625 "mp210",
28626 "mp211",
28627 "mp212",
28628 "mp213",
28629 "mp214",
28630 "mp215",
28631 "mp216",
28632 "mp217",
28633 "mp218",
28634 "mp219",
28635 "mp220",
28636 "mp221",
28637 "mp222",
28638 "mp223",
28639 "mp224",
28640 "mp225",
28641 "mp226",
28642 "mp227",
28643 "mp228",
28644 "mp229",
28645 "mp230",
28646 "mp231",
28647 "mp232",
28648 "mp233",
28649 "mp234",
28650 "mp235",
28651 "mp236",
28652 "mp237",
28653 "mp238",
28654 "mp239",
28655 "mp240",
28656 "mp241",
28657 "mp242",
28658 "mp243",
28659 "mp244",
28660 "mp245",
28661 "mp246",
28662 "mp247",
28663 "mp248",
28664 "mp249",
28665 "mp250",
28666 "mp251",
28667 "mp252",
28668 "mp253",
28669 "mp254",
28670 "mp255"
44660702 28671 ],
44660702
DM
28672 "type" : "string"
28673 },
7aacca6f 28674 "node" : {
44660702 28675 "description" : "The cluster node name.",
7aacca6f 28676 "format" : "pve-node",
013dc89f
DM
28677 "type" : "string",
28678 "typetext" : "<string>"
7aacca6f 28679 },
4d47f125
TL
28680 "size" : {
28681 "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.",
28682 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
44660702 28683 "type" : "string"
7aacca6f
DM
28684 },
28685 "vmid" : {
28686 "description" : "The (unique) ID of the VM.",
44660702 28687 "format" : "pve-vmid",
7aacca6f 28688 "minimum" : 1,
4bd7df8b 28689 "type" : "integer",
013dc89f 28690 "typetext" : "<integer> (1 - N)"
56122987 28691 }
56122987
DM
28692 }
28693 },
56122987
DM
28694 "permissions" : {
28695 "check" : [
28696 "perm",
28697 "/vms/{vmid}",
28698 [
4d47f125
TL
28699 "VM.Config.Disk"
28700 ],
28701 "any",
28702 1
56122987
DM
28703 ]
28704 },
7aacca6f 28705 "protected" : 1,
4d47f125 28706 "proxyto" : "node",
7aacca6f 28707 "returns" : {
4d47f125
TL
28708 "description" : "the task ID.",
28709 "type" : "string"
44660702 28710 }
56122987
DM
28711 }
28712 },
44660702 28713 "leaf" : 1,
4d47f125
TL
28714 "path" : "/nodes/{node}/lxc/{vmid}/resize",
28715 "text" : "resize"
56122987
DM
28716 },
28717 {
28718 "info" : {
28719 "POST" : {
e9cd3bd4 28720 "allowtoken" : 1,
4d47f125 28721 "description" : "Move a rootfs-/mp-volume to a different storage",
44660702 28722 "method" : "POST",
4d47f125 28723 "name" : "move_volume",
7aacca6f 28724 "parameters" : {
44660702 28725 "additionalProperties" : 0,
7aacca6f 28726 "properties" : {
95895385
TL
28727 "bwlimit" : {
28728 "default" : "clone limit from datacenter or storage config",
28729 "description" : "Override I/O bandwidth limit (in KiB/s).",
28730 "minimum" : "0",
28731 "optional" : 1,
28732 "type" : "number",
28733 "typetext" : "<number> (0 - N)"
28734 },
4d47f125
TL
28735 "delete" : {
28736 "default" : 0,
28737 "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
5d9c884c 28738 "optional" : 1,
4d47f125
TL
28739 "type" : "boolean",
28740 "typetext" : "<boolean>"
28741 },
28742 "digest" : {
28743 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
28744 "maxLength" : 40,
28745 "optional" : 1,
28746 "type" : "string",
28747 "typetext" : "<string>"
5d9c884c 28748 },
44660702
DM
28749 "node" : {
28750 "description" : "The cluster node name.",
28751 "format" : "pve-node",
013dc89f
DM
28752 "type" : "string",
28753 "typetext" : "<string>"
44660702 28754 },
4d47f125
TL
28755 "storage" : {
28756 "description" : "Target Storage.",
28757 "format" : "pve-storage-id",
28758 "type" : "string",
28759 "typetext" : "<string>"
28760 },
7aacca6f 28761 "vmid" : {
44660702 28762 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
28763 "format" : "pve-vmid",
28764 "minimum" : 1,
4bd7df8b 28765 "type" : "integer",
013dc89f 28766 "typetext" : "<integer> (1 - N)"
7aacca6f 28767 },
4d47f125
TL
28768 "volume" : {
28769 "description" : "Volume which will be moved.",
28770 "enum" : [
28771 "rootfs",
28772 "mp0",
28773 "mp1",
28774 "mp2",
28775 "mp3",
28776 "mp4",
28777 "mp5",
28778 "mp6",
28779 "mp7",
28780 "mp8",
28781 "mp9",
28782 "mp10",
28783 "mp11",
28784 "mp12",
28785 "mp13",
28786 "mp14",
28787 "mp15",
28788 "mp16",
28789 "mp17",
28790 "mp18",
28791 "mp19",
28792 "mp20",
28793 "mp21",
28794 "mp22",
28795 "mp23",
28796 "mp24",
28797 "mp25",
28798 "mp26",
28799 "mp27",
28800 "mp28",
28801 "mp29",
28802 "mp30",
28803 "mp31",
28804 "mp32",
28805 "mp33",
28806 "mp34",
28807 "mp35",
28808 "mp36",
28809 "mp37",
28810 "mp38",
28811 "mp39",
28812 "mp40",
28813 "mp41",
28814 "mp42",
28815 "mp43",
28816 "mp44",
28817 "mp45",
28818 "mp46",
28819 "mp47",
28820 "mp48",
28821 "mp49",
28822 "mp50",
28823 "mp51",
28824 "mp52",
28825 "mp53",
28826 "mp54",
28827 "mp55",
28828 "mp56",
28829 "mp57",
28830 "mp58",
28831 "mp59",
28832 "mp60",
28833 "mp61",
28834 "mp62",
28835 "mp63",
28836 "mp64",
28837 "mp65",
28838 "mp66",
28839 "mp67",
28840 "mp68",
28841 "mp69",
28842 "mp70",
28843 "mp71",
28844 "mp72",
28845 "mp73",
28846 "mp74",
28847 "mp75",
28848 "mp76",
28849 "mp77",
28850 "mp78",
28851 "mp79",
28852 "mp80",
28853 "mp81",
28854 "mp82",
28855 "mp83",
28856 "mp84",
28857 "mp85",
28858 "mp86",
28859 "mp87",
28860 "mp88",
28861 "mp89",
28862 "mp90",
28863 "mp91",
28864 "mp92",
28865 "mp93",
28866 "mp94",
28867 "mp95",
28868 "mp96",
28869 "mp97",
28870 "mp98",
28871 "mp99",
28872 "mp100",
28873 "mp101",
28874 "mp102",
28875 "mp103",
28876 "mp104",
28877 "mp105",
28878 "mp106",
28879 "mp107",
28880 "mp108",
28881 "mp109",
28882 "mp110",
28883 "mp111",
28884 "mp112",
28885 "mp113",
28886 "mp114",
28887 "mp115",
28888 "mp116",
28889 "mp117",
28890 "mp118",
28891 "mp119",
28892 "mp120",
28893 "mp121",
28894 "mp122",
28895 "mp123",
28896 "mp124",
28897 "mp125",
28898 "mp126",
28899 "mp127",
28900 "mp128",
28901 "mp129",
28902 "mp130",
28903 "mp131",
28904 "mp132",
28905 "mp133",
28906 "mp134",
28907 "mp135",
28908 "mp136",
28909 "mp137",
28910 "mp138",
28911 "mp139",
28912 "mp140",
28913 "mp141",
28914 "mp142",
28915 "mp143",
28916 "mp144",
28917 "mp145",
28918 "mp146",
28919 "mp147",
28920 "mp148",
28921 "mp149",
28922 "mp150",
28923 "mp151",
28924 "mp152",
28925 "mp153",
28926 "mp154",
28927 "mp155",
28928 "mp156",
28929 "mp157",
28930 "mp158",
28931 "mp159",
28932 "mp160",
28933 "mp161",
28934 "mp162",
28935 "mp163",
28936 "mp164",
28937 "mp165",
28938 "mp166",
28939 "mp167",
28940 "mp168",
28941 "mp169",
28942 "mp170",
28943 "mp171",
28944 "mp172",
28945 "mp173",
28946 "mp174",
28947 "mp175",
28948 "mp176",
28949 "mp177",
28950 "mp178",
28951 "mp179",
28952 "mp180",
28953 "mp181",
28954 "mp182",
28955 "mp183",
28956 "mp184",
28957 "mp185",
28958 "mp186",
28959 "mp187",
28960 "mp188",
28961 "mp189",
28962 "mp190",
28963 "mp191",
28964 "mp192",
28965 "mp193",
28966 "mp194",
28967 "mp195",
28968 "mp196",
28969 "mp197",
28970 "mp198",
28971 "mp199",
28972 "mp200",
28973 "mp201",
28974 "mp202",
28975 "mp203",
28976 "mp204",
28977 "mp205",
28978 "mp206",
28979 "mp207",
28980 "mp208",
28981 "mp209",
28982 "mp210",
28983 "mp211",
28984 "mp212",
28985 "mp213",
28986 "mp214",
28987 "mp215",
28988 "mp216",
28989 "mp217",
28990 "mp218",
28991 "mp219",
28992 "mp220",
28993 "mp221",
28994 "mp222",
28995 "mp223",
28996 "mp224",
28997 "mp225",
28998 "mp226",
28999 "mp227",
29000 "mp228",
29001 "mp229",
29002 "mp230",
29003 "mp231",
29004 "mp232",
29005 "mp233",
29006 "mp234",
29007 "mp235",
29008 "mp236",
29009 "mp237",
29010 "mp238",
29011 "mp239",
29012 "mp240",
29013 "mp241",
29014 "mp242",
29015 "mp243",
29016 "mp244",
29017 "mp245",
29018 "mp246",
29019 "mp247",
29020 "mp248",
29021 "mp249",
29022 "mp250",
29023 "mp251",
29024 "mp252",
29025 "mp253",
29026 "mp254",
29027 "mp255"
29028 ],
29029 "type" : "string"
7aacca6f 29030 }
44660702 29031 }
7aacca6f 29032 },
56122987
DM
29033 "permissions" : {
29034 "check" : [
4d47f125 29035 "and",
56122987 29036 [
4d47f125
TL
29037 "perm",
29038 "/vms/{vmid}",
29039 [
29040 "VM.Config.Disk"
29041 ]
29042 ],
29043 [
29044 "perm",
29045 "/storage/{storage}",
29046 [
29047 "Datastore.AllocateSpace"
29048 ]
56122987 29049 ]
4d47f125
TL
29050 ],
29051 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
29052 },
29053 "protected" : 1,
29054 "proxyto" : "node",
29055 "returns" : {
29056 "type" : "string"
29057 }
29058 }
29059 },
29060 "leaf" : 1,
29061 "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
29062 "text" : "move_volume"
1c532546
TL
29063 },
29064 {
29065 "info" : {
29066 "GET" : {
e9cd3bd4 29067 "allowtoken" : 1,
1c532546
TL
29068 "description" : "Get container configuration, including pending changes.",
29069 "method" : "GET",
29070 "name" : "vm_pending",
29071 "parameters" : {
29072 "additionalProperties" : 0,
29073 "properties" : {
29074 "node" : {
29075 "description" : "The cluster node name.",
29076 "format" : "pve-node",
29077 "type" : "string",
29078 "typetext" : "<string>"
29079 },
29080 "vmid" : {
29081 "description" : "The (unique) ID of the VM.",
29082 "format" : "pve-vmid",
29083 "minimum" : 1,
29084 "type" : "integer",
29085 "typetext" : "<integer> (1 - N)"
29086 }
29087 }
29088 },
29089 "permissions" : {
29090 "check" : [
29091 "perm",
29092 "/vms/{vmid}",
29093 [
29094 "VM.Audit"
29095 ]
29096 ]
29097 },
29098 "proxyto" : "node",
29099 "returns" : {
29100 "items" : {
29101 "properties" : {
29102 "delete" : {
29103 "description" : "Indicates a pending delete request if present and not 0.",
29104 "maximum" : 2,
29105 "minimum" : 0,
29106 "optional" : 1,
29107 "type" : "integer"
29108 },
29109 "key" : {
29110 "description" : "Configuration option name.",
29111 "type" : "string"
29112 },
29113 "pending" : {
29114 "description" : "Pending value.",
29115 "optional" : 1,
29116 "type" : "string"
29117 },
29118 "value" : {
29119 "description" : "Current value.",
29120 "optional" : 1,
29121 "type" : "string"
29122 }
29123 },
29124 "type" : "object"
29125 },
29126 "type" : "array"
29127 }
29128 }
29129 },
29130 "leaf" : 1,
29131 "path" : "/nodes/{node}/lxc/{vmid}/pending",
29132 "text" : "pending"
4d47f125
TL
29133 }
29134 ],
29135 "info" : {
29136 "DELETE" : {
e9cd3bd4 29137 "allowtoken" : 1,
4d47f125
TL
29138 "description" : "Destroy the container (also delete all uses files).",
29139 "method" : "DELETE",
29140 "name" : "destroy_vm",
29141 "parameters" : {
29142 "additionalProperties" : 0,
29143 "properties" : {
d2656385
TL
29144 "destroy-unreferenced-disks" : {
29145 "description" : "If set, destroy additionally all disks with the VMID from all enabled storages which are not referenced in the config.",
29146 "optional" : 1,
29147 "type" : "boolean",
29148 "typetext" : "<boolean>"
29149 },
c5aa7e14
TL
29150 "force" : {
29151 "default" : 0,
29152 "description" : "Force destroy, even if running.",
29153 "optional" : 1,
29154 "type" : "boolean",
29155 "typetext" : "<boolean>"
29156 },
4d47f125
TL
29157 "node" : {
29158 "description" : "The cluster node name.",
29159 "format" : "pve-node",
29160 "type" : "string",
29161 "typetext" : "<string>"
29162 },
1c532546 29163 "purge" : {
c5aa7e14
TL
29164 "default" : 0,
29165 "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
29166 "optional" : 1,
29167 "type" : "boolean",
29168 "typetext" : "<boolean>"
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)"
29176 }
29177 }
29178 },
29179 "permissions" : {
29180 "check" : [
29181 "perm",
29182 "/vms/{vmid}",
29183 [
29184 "VM.Allocate"
29185 ]
29186 ]
29187 },
29188 "protected" : 1,
29189 "proxyto" : "node",
29190 "returns" : {
29191 "type" : "string"
29192 }
29193 },
29194 "GET" : {
e9cd3bd4 29195 "allowtoken" : 1,
4d47f125
TL
29196 "description" : "Directory index",
29197 "method" : "GET",
29198 "name" : "vmdiridx",
29199 "parameters" : {
29200 "additionalProperties" : 0,
29201 "properties" : {
29202 "node" : {
29203 "description" : "The cluster node name.",
29204 "format" : "pve-node",
29205 "type" : "string",
29206 "typetext" : "<string>"
56122987 29207 },
4d47f125
TL
29208 "vmid" : {
29209 "description" : "The (unique) ID of the VM.",
29210 "format" : "pve-vmid",
29211 "minimum" : 1,
29212 "type" : "integer",
29213 "typetext" : "<integer> (1 - N)"
56122987
DM
29214 }
29215 }
29216 },
4d47f125
TL
29217 "permissions" : {
29218 "user" : "all"
29219 },
29220 "proxyto" : "node",
29221 "returns" : {
29222 "items" : {
29223 "properties" : {
29224 "subdir" : {
29225 "type" : "string"
35a75dd3
DM
29226 }
29227 },
4d47f125
TL
29228 "type" : "object"
29229 },
29230 "links" : [
29231 {
29232 "href" : "{subdir}",
29233 "rel" : "child"
35a75dd3 29234 }
4d47f125
TL
29235 ],
29236 "type" : "array"
29237 }
29238 }
29239 },
29240 "leaf" : 0,
29241 "path" : "/nodes/{node}/lxc/{vmid}",
29242 "text" : "{vmid}"
29243 }
29244 ],
29245 "info" : {
29246 "GET" : {
e9cd3bd4 29247 "allowtoken" : 1,
4d47f125
TL
29248 "description" : "LXC container index (per node).",
29249 "method" : "GET",
29250 "name" : "vmlist",
29251 "parameters" : {
29252 "additionalProperties" : 0,
29253 "properties" : {
29254 "node" : {
29255 "description" : "The cluster node name.",
29256 "format" : "pve-node",
29257 "type" : "string",
29258 "typetext" : "<string>"
29259 }
29260 }
29261 },
29262 "permissions" : {
29263 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
29264 "user" : "all"
29265 },
29266 "protected" : 1,
29267 "proxyto" : "node",
29268 "returns" : {
29269 "items" : {
29270 "properties" : {
29271 "cpus" : {
29272 "description" : "Maximum usable CPUs.",
29273 "optional" : 1,
29274 "type" : "number"
29275 },
95895385
TL
29276 "lock" : {
29277 "description" : "The current config lock, if any.",
29278 "optional" : 1,
29279 "type" : "string"
29280 },
4d47f125
TL
29281 "maxdisk" : {
29282 "description" : "Root disk size in bytes.",
29283 "optional" : 1,
29284 "renderer" : "bytes",
29285 "type" : "integer"
29286 },
29287 "maxmem" : {
29288 "description" : "Maximum memory in bytes.",
29289 "optional" : 1,
29290 "renderer" : "bytes",
29291 "type" : "integer"
29292 },
29293 "maxswap" : {
29294 "description" : "Maximum SWAP memory in bytes.",
29295 "optional" : 1,
29296 "renderer" : "bytes",
29297 "type" : "integer"
29298 },
29299 "name" : {
29300 "description" : "Container name.",
29301 "optional" : 1,
29302 "type" : "string"
29303 },
29304 "status" : {
29305 "description" : "LXC Container status.",
29306 "enum" : [
29307 "stopped",
29308 "running"
29309 ],
29310 "type" : "string"
29311 },
5c1699e5
TL
29312 "tags" : {
29313 "description" : "The current configured tags, if any.",
29314 "optional" : 1,
29315 "type" : "string"
29316 },
4d47f125
TL
29317 "uptime" : {
29318 "description" : "Uptime.",
29319 "optional" : 1,
29320 "renderer" : "duration",
29321 "type" : "integer"
29322 },
29323 "vmid" : {
29324 "description" : "The (unique) ID of the VM.",
29325 "format" : "pve-vmid",
29326 "minimum" : 1,
29327 "type" : "integer"
35a75dd3
DM
29328 }
29329 },
4d47f125 29330 "type" : "object"
35a75dd3 29331 },
4d47f125
TL
29332 "links" : [
29333 {
29334 "href" : "{vmid}",
29335 "rel" : "child"
29336 }
29337 ],
29338 "type" : "array"
29339 }
29340 },
29341 "POST" : {
e9cd3bd4 29342 "allowtoken" : 1,
4d47f125
TL
29343 "description" : "Create or restore a container.",
29344 "method" : "POST",
29345 "name" : "create_vm",
29346 "parameters" : {
29347 "additionalProperties" : 0,
29348 "properties" : {
29349 "arch" : {
29350 "default" : "amd64",
29351 "description" : "OS architecture type.",
29352 "enum" : [
29353 "amd64",
29354 "i386",
29355 "arm64",
29356 "armhf"
29357 ],
29358 "optional" : 1,
29359 "type" : "string"
29360 },
29361 "bwlimit" : {
95895385
TL
29362 "default" : "restore limit from datacenter or storage config",
29363 "description" : "Override I/O bandwidth limit (in KiB/s).",
4d47f125
TL
29364 "minimum" : "0",
29365 "optional" : 1,
29366 "type" : "number",
29367 "typetext" : "<number> (0 - N)"
29368 },
29369 "cmode" : {
29370 "default" : "tty",
29371 "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).",
29372 "enum" : [
29373 "shell",
29374 "console",
29375 "tty"
29376 ],
29377 "optional" : 1,
29378 "type" : "string"
29379 },
29380 "console" : {
29381 "default" : 1,
29382 "description" : "Attach a console device (/dev/console) to the container.",
29383 "optional" : 1,
29384 "type" : "boolean",
29385 "typetext" : "<boolean>"
29386 },
29387 "cores" : {
29388 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
4772952b 29389 "maximum" : 8192,
4d47f125
TL
29390 "minimum" : 1,
29391 "optional" : 1,
29392 "type" : "integer",
4772952b 29393 "typetext" : "<integer> (1 - 8192)"
4d47f125
TL
29394 },
29395 "cpulimit" : {
29396 "default" : 0,
29397 "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 29398 "maximum" : 8192,
4d47f125
TL
29399 "minimum" : 0,
29400 "optional" : 1,
29401 "type" : "number",
4772952b 29402 "typetext" : "<number> (0 - 8192)"
4d47f125
TL
29403 },
29404 "cpuunits" : {
29405 "default" : 1024,
29406 "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.",
29407 "maximum" : 500000,
29408 "minimum" : 0,
29409 "optional" : 1,
29410 "type" : "integer",
29411 "typetext" : "<integer> (0 - 500000)"
29412 },
739d4d64
TL
29413 "debug" : {
29414 "default" : 0,
29415 "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
29416 "optional" : 1,
29417 "type" : "boolean",
29418 "typetext" : "<boolean>"
29419 },
4d47f125
TL
29420 "description" : {
29421 "description" : "Container description. Only used on the configuration web interface.",
29422 "optional" : 1,
29423 "type" : "string",
29424 "typetext" : "<string>"
29425 },
29426 "features" : {
29427 "description" : "Allow containers access to advanced features.",
29428 "format" : {
c5aa7e14
TL
29429 "force_rw_sys" : {
29430 "default" : 0,
29431 "description" : "Mount /sys in unprivileged containers as `rw` instead of `mixed`. This can break networking under newer (>= v245) systemd-network use.",
29432 "optional" : 1,
29433 "type" : "boolean"
29434 },
e2d681b3
TL
29435 "fuse" : {
29436 "default" : 0,
29437 "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
29438 "optional" : 1,
29439 "type" : "boolean"
29440 },
4d47f125
TL
29441 "keyctl" : {
29442 "default" : 0,
29443 "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.",
29444 "optional" : 1,
29445 "type" : "boolean"
7aacca6f 29446 },
c5aa7e14
TL
29447 "mknod" : {
29448 "default" : 0,
29449 "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.",
29450 "optional" : 1,
29451 "type" : "boolean"
29452 },
4d47f125
TL
29453 "mount" : {
29454 "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.",
29455 "format_description" : "fstype;fstype;...",
29456 "optional" : 1,
95895385 29457 "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
4d47f125 29458 "type" : "string"
56122987 29459 },
4d47f125
TL
29460 "nesting" : {
29461 "default" : 0,
29462 "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.",
29463 "optional" : 1,
29464 "type" : "boolean"
44660702 29465 }
4d47f125
TL
29466 },
29467 "optional" : 1,
29468 "type" : "string",
c5aa7e14 29469 "typetext" : "[force_rw_sys=<1|0>] [,fuse=<1|0>] [,keyctl=<1|0>] [,mknod=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
56122987 29470 },
4d47f125
TL
29471 "force" : {
29472 "description" : "Allow to overwrite existing container.",
29473 "optional" : 1,
29474 "type" : "boolean",
29475 "typetext" : "<boolean>"
29476 },
5f26e15b
TL
29477 "hookscript" : {
29478 "description" : "Script that will be exectued during various steps in the containers lifetime.",
29479 "format" : "pve-volume-id",
29480 "optional" : 1,
29481 "type" : "string",
29482 "typetext" : "<string>"
29483 },
4d47f125
TL
29484 "hostname" : {
29485 "description" : "Set a host name for the container.",
29486 "format" : "dns-name",
29487 "maxLength" : 255,
29488 "optional" : 1,
29489 "type" : "string",
29490 "typetext" : "<string>"
29491 },
29492 "ignore-unpack-errors" : {
29493 "description" : "Ignore errors when extracting the template.",
29494 "optional" : 1,
29495 "type" : "boolean",
29496 "typetext" : "<boolean>"
29497 },
29498 "lock" : {
29499 "description" : "Lock/unlock the VM.",
29500 "enum" : [
29501 "backup",
bb4c8cf8 29502 "create",
1c532546 29503 "destroyed",
4d47f125 29504 "disk",
bb4c8cf8 29505 "fstrim",
4d47f125
TL
29506 "migrate",
29507 "mounted",
29508 "rollback",
29509 "snapshot",
29510 "snapshot-delete"
29511 ],
29512 "optional" : 1,
29513 "type" : "string"
29514 },
29515 "memory" : {
29516 "default" : 512,
29517 "description" : "Amount of RAM for the VM in MB.",
29518 "minimum" : 16,
29519 "optional" : 1,
29520 "type" : "integer",
29521 "typetext" : "<integer> (16 - N)"
29522 },
29523 "mp[n]" : {
d2656385 29524 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
4d47f125
TL
29525 "format" : {
29526 "acl" : {
29527 "description" : "Explicitly enable or disable ACL support.",
29528 "optional" : 1,
29529 "type" : "boolean"
56122987 29530 },
4d47f125
TL
29531 "backup" : {
29532 "description" : "Whether to include the mount point in backups.",
29533 "optional" : 1,
29534 "type" : "boolean",
29535 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
56122987 29536 },
7cbed89a
TL
29537 "mountoptions" : {
29538 "description" : "Extra mount options for rootfs/mps.",
29539 "format_description" : "opt[;opt...]",
29540 "optional" : 1,
29541 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
29542 "type" : "string"
29543 },
4d47f125
TL
29544 "mp" : {
29545 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
29546 "format" : "pve-lxc-mp-string",
29547 "format_description" : "Path",
29548 "type" : "string",
29549 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
7aacca6f 29550 },
4d47f125
TL
29551 "quota" : {
29552 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
29553 "optional" : 1,
29554 "type" : "boolean"
29555 },
29556 "replicate" : {
29557 "default" : 1,
29558 "description" : "Will include this volume to a storage replica job.",
29559 "optional" : 1,
29560 "type" : "boolean"
29561 },
29562 "ro" : {
29563 "description" : "Read-only mount point",
29564 "optional" : 1,
29565 "type" : "boolean"
29566 },
29567 "shared" : {
29568 "default" : 0,
29569 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
29570 "optional" : 1,
29571 "type" : "boolean",
29572 "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 29573 },
4d47f125
TL
29574 "size" : {
29575 "description" : "Volume size (read only value).",
29576 "format" : "disk-size",
29577 "format_description" : "DiskSize",
29578 "optional" : 1,
29579 "type" : "string"
29580 },
29581 "volume" : {
29582 "default_key" : 1,
29583 "description" : "Volume, device or directory to mount into the container.",
29584 "format" : "pve-lxc-mp-string",
29585 "format_description" : "volume",
44660702
DM
29586 "type" : "string"
29587 }
4d47f125
TL
29588 },
29589 "optional" : 1,
29590 "type" : "string",
7cbed89a 29591 "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 29592 },
4d47f125
TL
29593 "nameserver" : {
29594 "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 29595 "format" : "lxc-ip-with-ll-iface-list",
4d47f125
TL
29596 "optional" : 1,
29597 "type" : "string",
29598 "typetext" : "<string>"
29599 },
29600 "net[n]" : {
29601 "description" : "Specifies network interfaces for the container.",
29602 "format" : {
29603 "bridge" : {
29604 "description" : "Bridge to attach the network device to.",
29605 "format_description" : "bridge",
29606 "optional" : 1,
29607 "pattern" : "[-_.\\w\\d]+",
29608 "type" : "string"
56122987 29609 },
4d47f125
TL
29610 "firewall" : {
29611 "description" : "Controls whether this interface's firewall rules should be used.",
29612 "optional" : 1,
29613 "type" : "boolean"
56122987 29614 },
4d47f125
TL
29615 "gw" : {
29616 "description" : "Default gateway for IPv4 traffic.",
29617 "format" : "ipv4",
29618 "format_description" : "GatewayIPv4",
29619 "optional" : 1,
29620 "type" : "string"
29621 },
29622 "gw6" : {
29623 "description" : "Default gateway for IPv6 traffic.",
29624 "format" : "ipv6",
29625 "format_description" : "GatewayIPv6",
29626 "optional" : 1,
29627 "type" : "string"
29628 },
29629 "hwaddr" : {
29630 "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 29631 "format" : "mac-addr",
4d47f125
TL
29632 "format_description" : "XX:XX:XX:XX:XX:XX",
29633 "optional" : 1,
95895385
TL
29634 "type" : "string",
29635 "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
4d47f125
TL
29636 },
29637 "ip" : {
29638 "description" : "IPv4 address in CIDR format.",
29639 "format" : "pve-ipv4-config",
29640 "format_description" : "(IPv4/CIDR|dhcp|manual)",
29641 "optional" : 1,
29642 "type" : "string"
29643 },
29644 "ip6" : {
29645 "description" : "IPv6 address in CIDR format.",
29646 "format" : "pve-ipv6-config",
29647 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
29648 "optional" : 1,
29649 "type" : "string"
29650 },
29651 "mtu" : {
29652 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
29653 "minimum" : 64,
29654 "optional" : 1,
29655 "type" : "integer"
29656 },
29657 "name" : {
29658 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
29659 "format_description" : "string",
29660 "pattern" : "[-_.\\w\\d]+",
29661 "type" : "string"
29662 },
29663 "rate" : {
29664 "description" : "Apply rate limiting to the interface",
29665 "format_description" : "mbps",
29666 "optional" : 1,
29667 "type" : "number"
29668 },
29669 "tag" : {
29670 "description" : "VLAN tag for this interface.",
29671 "maximum" : 4094,
29672 "minimum" : 1,
29673 "optional" : 1,
29674 "type" : "integer"
29675 },
29676 "trunks" : {
29677 "description" : "VLAN ids to pass through the interface",
29678 "format_description" : "vlanid[;vlanid...]",
29679 "optional" : 1,
29680 "pattern" : "(?^:\\d+(?:;\\d+)*)",
29681 "type" : "string"
29682 },
29683 "type" : {
29684 "description" : "Network interface type.",
29685 "enum" : [
29686 "veth"
29687 ],
29688 "optional" : 1,
29689 "type" : "string"
7aacca6f 29690 }
4d47f125
TL
29691 },
29692 "optional" : 1,
29693 "type" : "string",
29694 "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 29695 },
4d47f125
TL
29696 "node" : {
29697 "description" : "The cluster node name.",
29698 "format" : "pve-node",
29699 "type" : "string",
29700 "typetext" : "<string>"
29701 },
29702 "onboot" : {
29703 "default" : 0,
29704 "description" : "Specifies whether a VM will be started during system bootup.",
29705 "optional" : 1,
29706 "type" : "boolean",
29707 "typetext" : "<boolean>"
29708 },
29709 "ostemplate" : {
29710 "description" : "The OS template or backup file.",
29711 "maxLength" : 255,
29712 "type" : "string",
29713 "typetext" : "<string>"
29714 },
29715 "ostype" : {
29716 "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.",
29717 "enum" : [
29718 "debian",
d2656385 29719 "devuan",
4d47f125
TL
29720 "ubuntu",
29721 "centos",
29722 "fedora",
29723 "opensuse",
29724 "archlinux",
29725 "alpine",
29726 "gentoo",
29727 "unmanaged"
29728 ],
29729 "optional" : 1,
29730 "type" : "string"
29731 },
29732 "password" : {
29733 "description" : "Sets root password inside container.",
29734 "minLength" : 5,
29735 "optional" : 1,
29736 "type" : "string",
29737 "typetext" : "<string>"
29738 },
29739 "pool" : {
29740 "description" : "Add the VM to the specified pool.",
29741 "format" : "pve-poolid",
29742 "optional" : 1,
29743 "type" : "string",
29744 "typetext" : "<string>"
29745 },
29746 "protection" : {
29747 "default" : 0,
29748 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
29749 "optional" : 1,
29750 "type" : "boolean",
29751 "typetext" : "<boolean>"
29752 },
29753 "restore" : {
29754 "description" : "Mark this as restore task.",
29755 "optional" : 1,
29756 "type" : "boolean",
29757 "typetext" : "<boolean>"
29758 },
29759 "rootfs" : {
29760 "description" : "Use volume as container root.",
29761 "format" : {
29762 "acl" : {
29763 "description" : "Explicitly enable or disable ACL support.",
29764 "optional" : 1,
29765 "type" : "boolean"
56122987 29766 },
7cbed89a
TL
29767 "mountoptions" : {
29768 "description" : "Extra mount options for rootfs/mps.",
29769 "format_description" : "opt[;opt...]",
29770 "optional" : 1,
29771 "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
29772 "type" : "string"
29773 },
4d47f125
TL
29774 "quota" : {
29775 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
29776 "optional" : 1,
29777 "type" : "boolean"
7aacca6f 29778 },
4d47f125
TL
29779 "replicate" : {
29780 "default" : 1,
29781 "description" : "Will include this volume to a storage replica job.",
29782 "optional" : 1,
29783 "type" : "boolean"
29784 },
29785 "ro" : {
29786 "description" : "Read-only mount point",
29787 "optional" : 1,
29788 "type" : "boolean"
29789 },
29790 "shared" : {
29791 "default" : 0,
29792 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
29793 "optional" : 1,
29794 "type" : "boolean",
29795 "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!"
29796 },
29797 "size" : {
29798 "description" : "Volume size (read only value).",
29799 "format" : "disk-size",
29800 "format_description" : "DiskSize",
29801 "optional" : 1,
29802 "type" : "string"
29803 },
29804 "volume" : {
29805 "default_key" : 1,
29806 "description" : "Volume, device or directory to mount into the container.",
29807 "format" : "pve-lxc-mp-string",
29808 "format_description" : "volume",
29809 "type" : "string"
56122987 29810 }
4d47f125
TL
29811 },
29812 "optional" : 1,
29813 "type" : "string",
7cbed89a 29814 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 29815 },
4d47f125
TL
29816 "searchdomain" : {
29817 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
29818 "format" : "dns-name-list",
29819 "optional" : 1,
29820 "type" : "string",
29821 "typetext" : "<string>"
29822 },
29823 "ssh-public-keys" : {
29824 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
29825 "optional" : 1,
29826 "type" : "string",
29827 "typetext" : "<string>"
29828 },
29829 "start" : {
29830 "default" : 0,
29831 "description" : "Start the CT after its creation finished successfully.",
29832 "optional" : 1,
29833 "type" : "boolean",
29834 "typetext" : "<boolean>"
29835 },
29836 "startup" : {
29837 "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.",
29838 "format" : "pve-startup-order",
29839 "optional" : 1,
29840 "type" : "string",
29841 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
29842 },
29843 "storage" : {
29844 "default" : "local",
29845 "description" : "Default Storage.",
29846 "format" : "pve-storage-id",
29847 "optional" : 1,
29848 "type" : "string",
29849 "typetext" : "<string>"
29850 },
29851 "swap" : {
29852 "default" : 512,
29853 "description" : "Amount of SWAP for the VM in MB.",
29854 "minimum" : 0,
29855 "optional" : 1,
29856 "type" : "integer",
29857 "typetext" : "<integer> (0 - N)"
29858 },
5c1699e5
TL
29859 "tags" : {
29860 "description" : "Tags of the Container. This is only meta information.",
29861 "format" : "pve-tag-list",
29862 "optional" : 1,
29863 "type" : "string",
29864 "typetext" : "<string>"
29865 },
4d47f125
TL
29866 "template" : {
29867 "default" : 0,
29868 "description" : "Enable/disable Template.",
29869 "optional" : 1,
29870 "type" : "boolean",
29871 "typetext" : "<boolean>"
29872 },
04d22a9f
TL
29873 "timezone" : {
29874 "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",
29875 "format" : "pve-ct-timezone",
29876 "optional" : 1,
29877 "type" : "string",
29878 "typetext" : "<string>"
29879 },
4d47f125
TL
29880 "tty" : {
29881 "default" : 2,
29882 "description" : "Specify the number of tty available to the container",
29883 "maximum" : 6,
29884 "minimum" : 0,
29885 "optional" : 1,
29886 "type" : "integer",
29887 "typetext" : "<integer> (0 - 6)"
29888 },
95895385
TL
29889 "unique" : {
29890 "description" : "Assign a unique random ethernet address.",
29891 "optional" : 1,
29892 "requires" : "restore",
29893 "type" : "boolean",
29894 "typetext" : "<boolean>"
29895 },
4d47f125
TL
29896 "unprivileged" : {
29897 "default" : 0,
29898 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
29899 "optional" : 1,
29900 "type" : "boolean",
29901 "typetext" : "<boolean>"
29902 },
29903 "unused[n]" : {
29904 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
c5aa7e14
TL
29905 "format" : {
29906 "volume" : {
29907 "default_key" : 1,
29908 "description" : "The volume that is not used currently.",
29909 "format" : "pve-volume-id",
29910 "format_description" : "volume",
29911 "type" : "string"
29912 }
29913 },
4d47f125
TL
29914 "optional" : 1,
29915 "type" : "string",
c5aa7e14 29916 "typetext" : "[volume=]<volume>"
4d47f125
TL
29917 },
29918 "vmid" : {
29919 "description" : "The (unique) ID of the VM.",
29920 "format" : "pve-vmid",
29921 "minimum" : 1,
29922 "type" : "integer",
29923 "typetext" : "<integer> (1 - N)"
29924 }
29925 }
29926 },
29927 "permissions" : {
29928 "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.",
29929 "user" : "all"
29930 },
29931 "protected" : 1,
29932 "proxyto" : "node",
29933 "returns" : {
29934 "type" : "string"
29935 }
29936 }
29937 },
29938 "leaf" : 0,
29939 "path" : "/nodes/{node}/lxc",
29940 "text" : "lxc"
29941 },
29942 {
29943 "children" : [
29944 {
29945 "children" : [
56122987 29946 {
4d47f125
TL
29947 "children" : [
29948 {
29949 "info" : {
29950 "POST" : {
e9cd3bd4 29951 "allowtoken" : 1,
4d47f125
TL
29952 "description" : "ceph osd in",
29953 "method" : "POST",
29954 "name" : "in",
29955 "parameters" : {
29956 "additionalProperties" : 0,
29957 "properties" : {
29958 "node" : {
29959 "description" : "The cluster node name.",
29960 "format" : "pve-node",
29961 "type" : "string",
29962 "typetext" : "<string>"
29963 },
29964 "osdid" : {
29965 "description" : "OSD ID",
29966 "type" : "integer",
29967 "typetext" : "<integer>"
29968 }
29969 }
27a7acb2 29970 },
4d47f125
TL
29971 "permissions" : {
29972 "check" : [
29973 "perm",
29974 "/",
29975 [
29976 "Sys.Modify"
29977 ]
29978 ]
44660702 29979 },
4d47f125
TL
29980 "protected" : 1,
29981 "proxyto" : "node",
29982 "returns" : {
29983 "type" : "null"
7aacca6f
DM
29984 }
29985 }
56122987 29986 },
4d47f125
TL
29987 "leaf" : 1,
29988 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
29989 "text" : "in"
29990 },
29991 {
29992 "info" : {
29993 "POST" : {
e9cd3bd4 29994 "allowtoken" : 1,
4d47f125
TL
29995 "description" : "ceph osd out",
29996 "method" : "POST",
29997 "name" : "out",
29998 "parameters" : {
29999 "additionalProperties" : 0,
30000 "properties" : {
30001 "node" : {
30002 "description" : "The cluster node name.",
30003 "format" : "pve-node",
30004 "type" : "string",
30005 "typetext" : "<string>"
30006 },
30007 "osdid" : {
30008 "description" : "OSD ID",
30009 "type" : "integer",
30010 "typetext" : "<integer>"
30011 }
30012 }
30013 },
30014 "permissions" : {
30015 "check" : [
56122987 30016 "perm",
4d47f125 30017 "/",
56122987 30018 [
4d47f125 30019 "Sys.Modify"
56122987 30020 ]
56122987 30021 ]
44660702 30022 },
4d47f125
TL
30023 "protected" : 1,
30024 "proxyto" : "node",
30025 "returns" : {
30026 "type" : "null"
56122987 30027 }
44660702 30028 }
56122987 30029 },
4d47f125
TL
30030 "leaf" : 1,
30031 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
30032 "text" : "out"
7cbed89a
TL
30033 },
30034 {
30035 "info" : {
30036 "POST" : {
e9cd3bd4 30037 "allowtoken" : 1,
7cbed89a
TL
30038 "description" : "Instruct the OSD to scrub.",
30039 "method" : "POST",
30040 "name" : "scrub",
30041 "parameters" : {
30042 "additionalProperties" : 0,
30043 "properties" : {
30044 "deep" : {
30045 "default" : 0,
30046 "description" : "If set, instructs a deep scrub instead of a normal one.",
30047 "optional" : 1,
30048 "type" : "boolean",
30049 "typetext" : "<boolean>"
30050 },
30051 "node" : {
30052 "description" : "The cluster node name.",
30053 "format" : "pve-node",
30054 "type" : "string",
30055 "typetext" : "<string>"
30056 },
30057 "osdid" : {
30058 "description" : "OSD ID",
30059 "type" : "integer",
30060 "typetext" : "<integer>"
30061 }
30062 }
30063 },
30064 "permissions" : {
30065 "check" : [
30066 "perm",
30067 "/",
30068 [
30069 "Sys.Modify"
30070 ]
30071 ]
30072 },
30073 "protected" : 1,
30074 "proxyto" : "node",
30075 "returns" : {
30076 "type" : "null"
30077 }
30078 }
30079 },
30080 "leaf" : 1,
30081 "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
30082 "text" : "scrub"
56122987 30083 }
4d47f125 30084 ],
27a7acb2 30085 "info" : {
4d47f125 30086 "DELETE" : {
e9cd3bd4 30087 "allowtoken" : 1,
4d47f125
TL
30088 "description" : "Destroy OSD",
30089 "method" : "DELETE",
30090 "name" : "destroyosd",
27a7acb2
DM
30091 "parameters" : {
30092 "additionalProperties" : 0,
30093 "properties" : {
4d47f125 30094 "cleanup" : {
27a7acb2 30095 "default" : 0,
4d47f125 30096 "description" : "If set, we remove partition table entries.",
27a7acb2 30097 "optional" : 1,
4d47f125
TL
30098 "type" : "boolean",
30099 "typetext" : "<boolean>"
30100 },
30101 "node" : {
30102 "description" : "The cluster node name.",
30103 "format" : "pve-node",
30104 "type" : "string",
30105 "typetext" : "<string>"
30106 },
30107 "osdid" : {
30108 "description" : "OSD ID",
30109 "type" : "integer",
30110 "typetext" : "<integer>"
30111 }
30112 }
27a7acb2
DM
30113 },
30114 "protected" : 1,
30115 "proxyto" : "node",
30116 "returns" : {
30117 "type" : "string"
30118 }
30119 }
30120 },
4d47f125
TL
30121 "leaf" : 0,
30122 "path" : "/nodes/{node}/ceph/osd/{osdid}",
30123 "text" : "{osdid}"
56122987
DM
30124 }
30125 ],
30126 "info" : {
4d47f125 30127 "GET" : {
e9cd3bd4 30128 "allowtoken" : 1,
4d47f125
TL
30129 "description" : "Get Ceph osd list/tree.",
30130 "method" : "GET",
30131 "name" : "index",
44660702
DM
30132 "parameters" : {
30133 "additionalProperties" : 0,
30134 "properties" : {
30135 "node" : {
30136 "description" : "The cluster node name.",
30137 "format" : "pve-node",
013dc89f
DM
30138 "type" : "string",
30139 "typetext" : "<string>"
44660702
DM
30140 }
30141 }
30142 },
7aacca6f
DM
30143 "permissions" : {
30144 "check" : [
30145 "perm",
4d47f125 30146 "/",
7aacca6f 30147 [
4d47f125
TL
30148 "Sys.Audit",
30149 "Datastore.Audit"
30150 ],
30151 "any",
30152 1
30153 ]
30154 },
30155 "protected" : 1,
30156 "proxyto" : "node",
30157 "returns" : {
30158 "type" : "object"
30159 }
30160 },
30161 "POST" : {
e9cd3bd4 30162 "allowtoken" : 1,
4d47f125
TL
30163 "description" : "Create OSD",
30164 "method" : "POST",
30165 "name" : "createosd",
30166 "parameters" : {
30167 "additionalProperties" : 0,
30168 "properties" : {
739d4d64
TL
30169 "crush-device-class" : {
30170 "description" : "Set the device class of the OSD in crush.",
30171 "optional" : 1,
30172 "type" : "string",
30173 "typetext" : "<string>"
30174 },
1e3f8156
TL
30175 "db_dev" : {
30176 "description" : "Block device name for block.db.",
44660702 30177 "optional" : 1,
4bd7df8b 30178 "type" : "string",
4d47f125 30179 "typetext" : "<string>"
44660702 30180 },
1e3f8156
TL
30181 "db_size" : {
30182 "default" : "bluestore_block_db_size or 10% of OSD size",
30183 "description" : "Size in GiB for block.db.",
30184 "minimum" : 1,
7aacca6f 30185 "optional" : 1,
1e3f8156
TL
30186 "requires" : "db_dev",
30187 "type" : "number",
30188 "typetext" : "<number> (1 - N)",
30189 "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 30190 },
1e3f8156
TL
30191 "dev" : {
30192 "description" : "Block device name.",
4d47f125
TL
30193 "type" : "string",
30194 "typetext" : "<string>"
5d9c884c 30195 },
1e3f8156
TL
30196 "encrypted" : {
30197 "default" : 0,
30198 "description" : "Enables encryption of the OSD.",
30199 "optional" : 1,
30200 "type" : "boolean",
30201 "typetext" : "<boolean>"
30202 },
4d47f125
TL
30203 "node" : {
30204 "description" : "The cluster node name.",
30205 "format" : "pve-node",
30206 "type" : "string",
30207 "typetext" : "<string>"
7aacca6f 30208 },
4d47f125 30209 "wal_dev" : {
1e3f8156 30210 "description" : "Block device name for block.wal.",
de0983cb 30211 "optional" : 1,
4d47f125
TL
30212 "type" : "string",
30213 "typetext" : "<string>"
1e3f8156
TL
30214 },
30215 "wal_size" : {
30216 "default" : "bluestore_block_wal_size or 1% of OSD size",
30217 "description" : "Size in GiB for block.wal.",
30218 "minimum" : 0.5,
30219 "optional" : 1,
30220 "requires" : "wal_dev",
30221 "type" : "number",
30222 "typetext" : "<number> (0.5 - N)",
30223 "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
30224 }
30225 }
30226 },
30227 "protected" : 1,
30228 "proxyto" : "node",
30229 "returns" : {
30230 "type" : "string"
30231 }
30232 }
30233 },
30234 "leaf" : 0,
30235 "path" : "/nodes/{node}/ceph/osd",
30236 "text" : "osd"
30237 },
e2d681b3
TL
30238 {
30239 "children" : [
30240 {
30241 "info" : {
30242 "DELETE" : {
e9cd3bd4 30243 "allowtoken" : 1,
e2d681b3
TL
30244 "description" : "Destroy Ceph Metadata Server",
30245 "method" : "DELETE",
30246 "name" : "destroymds",
30247 "parameters" : {
30248 "additionalProperties" : 0,
30249 "properties" : {
30250 "name" : {
30251 "description" : "The name (ID) of the mds",
30252 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30253 "type" : "string"
30254 },
30255 "node" : {
30256 "description" : "The cluster node name.",
30257 "format" : "pve-node",
30258 "type" : "string",
30259 "typetext" : "<string>"
30260 }
30261 }
30262 },
30263 "permissions" : {
30264 "check" : [
30265 "perm",
30266 "/",
30267 [
30268 "Sys.Modify"
30269 ]
30270 ]
30271 },
30272 "protected" : 1,
30273 "proxyto" : "node",
30274 "returns" : {
30275 "type" : "string"
30276 }
30277 },
30278 "POST" : {
e9cd3bd4 30279 "allowtoken" : 1,
e2d681b3
TL
30280 "description" : "Create Ceph Metadata Server (MDS)",
30281 "method" : "POST",
30282 "name" : "createmds",
30283 "parameters" : {
30284 "additionalProperties" : 0,
30285 "properties" : {
30286 "hotstandby" : {
30287 "default" : "0",
30288 "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.",
30289 "optional" : 1,
30290 "type" : "boolean",
30291 "typetext" : "<boolean>"
30292 },
30293 "name" : {
30294 "default" : "nodename",
30295 "description" : "The ID for the mds, when omitted the same as the nodename",
c5aa7e14 30296 "maxLength" : 200,
e2d681b3
TL
30297 "optional" : 1,
30298 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30299 "type" : "string"
30300 },
30301 "node" : {
30302 "description" : "The cluster node name.",
30303 "format" : "pve-node",
30304 "type" : "string",
30305 "typetext" : "<string>"
30306 }
30307 }
30308 },
30309 "permissions" : {
30310 "check" : [
30311 "perm",
30312 "/",
30313 [
30314 "Sys.Modify"
30315 ]
30316 ]
30317 },
30318 "protected" : 1,
30319 "proxyto" : "node",
30320 "returns" : {
30321 "type" : "string"
30322 }
30323 }
30324 },
30325 "leaf" : 1,
30326 "path" : "/nodes/{node}/ceph/mds/{name}",
30327 "text" : "{name}"
30328 }
30329 ],
30330 "info" : {
30331 "GET" : {
e9cd3bd4 30332 "allowtoken" : 1,
e2d681b3
TL
30333 "description" : "MDS directory index.",
30334 "method" : "GET",
30335 "name" : "index",
30336 "parameters" : {
30337 "additionalProperties" : 0,
30338 "properties" : {
30339 "node" : {
30340 "description" : "The cluster node name.",
30341 "format" : "pve-node",
30342 "type" : "string",
30343 "typetext" : "<string>"
30344 }
30345 }
30346 },
30347 "permissions" : {
30348 "check" : [
30349 "perm",
30350 "/",
30351 [
30352 "Sys.Audit",
30353 "Datastore.Audit"
30354 ],
30355 "any",
30356 1
30357 ]
30358 },
30359 "protected" : 1,
30360 "proxyto" : "node",
30361 "returns" : {
30362 "items" : {
30363 "properties" : {
30364 "addr" : {
30365 "optional" : 1,
30366 "type" : "string"
30367 },
30368 "host" : {
30369 "optional" : 1,
30370 "type" : "string"
30371 },
30372 "name" : {
30373 "description" : "The name (ID) for the MDS"
30374 },
30375 "rank" : {
30376 "optional" : 1,
30377 "type" : "integer"
30378 },
30379 "standby_replay" : {
30380 "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
30381 "optional" : 1,
30382 "type" : "boolean"
30383 },
30384 "state" : {
30385 "description" : "State of the MDS",
30386 "type" : "string"
30387 }
30388 },
30389 "type" : "object"
30390 },
30391 "links" : [
30392 {
30393 "href" : "{name}",
30394 "rel" : "child"
30395 }
30396 ],
30397 "type" : "array"
30398 }
30399 }
30400 },
30401 "leaf" : 0,
30402 "path" : "/nodes/{node}/ceph/mds",
30403 "text" : "mds"
30404 },
30405 {
30406 "children" : [
30407 {
30408 "info" : {
5f26e15b 30409 "DELETE" : {
e9cd3bd4 30410 "allowtoken" : 1,
5f26e15b
TL
30411 "description" : "Destroy Ceph Manager.",
30412 "method" : "DELETE",
30413 "name" : "destroymgr",
e2d681b3
TL
30414 "parameters" : {
30415 "additionalProperties" : 0,
30416 "properties" : {
5f26e15b
TL
30417 "id" : {
30418 "description" : "The ID of the manager",
30419 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30420 "type" : "string"
e2d681b3
TL
30421 },
30422 "node" : {
30423 "description" : "The cluster node name.",
30424 "format" : "pve-node",
30425 "type" : "string",
30426 "typetext" : "<string>"
e2d681b3
TL
30427 }
30428 }
30429 },
30430 "permissions" : {
30431 "check" : [
30432 "perm",
30433 "/",
30434 [
30435 "Sys.Modify"
30436 ]
30437 ]
30438 },
30439 "protected" : 1,
30440 "proxyto" : "node",
30441 "returns" : {
30442 "type" : "string"
30443 }
1e3f8156
TL
30444 },
30445 "POST" : {
e9cd3bd4 30446 "allowtoken" : 1,
1e3f8156
TL
30447 "description" : "Create Ceph Manager",
30448 "method" : "POST",
30449 "name" : "createmgr",
30450 "parameters" : {
30451 "additionalProperties" : 0,
30452 "properties" : {
30453 "id" : {
30454 "description" : "The ID for the manager, when omitted the same as the nodename",
c5aa7e14 30455 "maxLength" : 200,
1e3f8156
TL
30456 "optional" : 1,
30457 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30458 "type" : "string"
30459 },
30460 "node" : {
30461 "description" : "The cluster node name.",
30462 "format" : "pve-node",
30463 "type" : "string",
30464 "typetext" : "<string>"
30465 }
30466 }
30467 },
30468 "permissions" : {
30469 "check" : [
30470 "perm",
30471 "/",
30472 [
30473 "Sys.Modify"
30474 ]
30475 ]
30476 },
30477 "protected" : 1,
30478 "proxyto" : "node",
30479 "returns" : {
30480 "type" : "string"
30481 }
e2d681b3
TL
30482 }
30483 },
30484 "leaf" : 1,
5f26e15b
TL
30485 "path" : "/nodes/{node}/ceph/mgr/{id}",
30486 "text" : "{id}"
e2d681b3
TL
30487 }
30488 ],
30489 "info" : {
1e3f8156 30490 "GET" : {
e9cd3bd4 30491 "allowtoken" : 1,
1e3f8156
TL
30492 "description" : "MGR directory index.",
30493 "method" : "GET",
30494 "name" : "index",
e2d681b3
TL
30495 "parameters" : {
30496 "additionalProperties" : 0,
30497 "properties" : {
30498 "node" : {
30499 "description" : "The cluster node name.",
30500 "format" : "pve-node",
30501 "type" : "string",
30502 "typetext" : "<string>"
30503 }
30504 }
30505 },
30506 "permissions" : {
30507 "check" : [
30508 "perm",
30509 "/",
30510 [
1e3f8156
TL
30511 "Sys.Audit",
30512 "Datastore.Audit"
30513 ],
30514 "any",
30515 1
e2d681b3
TL
30516 ]
30517 },
30518 "protected" : 1,
5f26e15b 30519 "proxyto" : "node",
e2d681b3 30520 "returns" : {
1e3f8156
TL
30521 "items" : {
30522 "properties" : {
30523 "addr" : {
30524 "optional" : 1,
30525 "type" : "string"
30526 },
30527 "host" : {
30528 "optional" : 1,
30529 "type" : "string"
30530 },
30531 "name" : {
30532 "description" : "The name (ID) for the MGR"
30533 },
30534 "state" : {
30535 "description" : "State of the MGR",
30536 "type" : "string"
30537 }
30538 },
30539 "type" : "object"
30540 },
30541 "links" : [
30542 {
30543 "href" : "{name}",
30544 "rel" : "child"
30545 }
30546 ],
30547 "type" : "array"
e2d681b3
TL
30548 }
30549 }
30550 },
30551 "leaf" : 0,
5f26e15b
TL
30552 "path" : "/nodes/{node}/ceph/mgr",
30553 "text" : "mgr"
e2d681b3 30554 },
4d47f125 30555 {
5f26e15b
TL
30556 "children" : [
30557 {
30558 "info" : {
30559 "DELETE" : {
e9cd3bd4 30560 "allowtoken" : 1,
5f26e15b
TL
30561 "description" : "Destroy Ceph Monitor and Manager.",
30562 "method" : "DELETE",
30563 "name" : "destroymon",
30564 "parameters" : {
30565 "additionalProperties" : 0,
30566 "properties" : {
1e3f8156
TL
30567 "monid" : {
30568 "description" : "Monitor ID",
30569 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30570 "type" : "string"
30571 },
30572 "node" : {
30573 "description" : "The cluster node name.",
30574 "format" : "pve-node",
30575 "type" : "string",
30576 "typetext" : "<string>"
30577 }
30578 }
30579 },
30580 "permissions" : {
30581 "check" : [
30582 "perm",
30583 "/",
30584 [
30585 "Sys.Modify"
30586 ]
30587 ]
30588 },
30589 "protected" : 1,
30590 "proxyto" : "node",
30591 "returns" : {
30592 "type" : "string"
30593 }
30594 },
30595 "POST" : {
e9cd3bd4 30596 "allowtoken" : 1,
1e3f8156
TL
30597 "description" : "Create Ceph Monitor and Manager",
30598 "method" : "POST",
30599 "name" : "createmon",
30600 "parameters" : {
30601 "additionalProperties" : 0,
30602 "properties" : {
30603 "mon-address" : {
30604 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
30605 "format" : "ip",
5f26e15b 30606 "optional" : 1,
1e3f8156
TL
30607 "type" : "string",
30608 "typetext" : "<string>"
5f26e15b
TL
30609 },
30610 "monid" : {
1e3f8156 30611 "description" : "The ID for the monitor, when omitted the same as the nodename",
c5aa7e14 30612 "maxLength" : 200,
1e3f8156 30613 "optional" : 1,
5f26e15b
TL
30614 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
30615 "type" : "string"
30616 },
30617 "node" : {
30618 "description" : "The cluster node name.",
30619 "format" : "pve-node",
30620 "type" : "string",
30621 "typetext" : "<string>"
30622 }
30623 }
30624 },
30625 "permissions" : {
30626 "check" : [
30627 "perm",
30628 "/",
30629 [
30630 "Sys.Modify"
30631 ]
30632 ]
30633 },
30634 "protected" : 1,
30635 "proxyto" : "node",
30636 "returns" : {
7aacca6f 30637 "type" : "string"
56122987 30638 }
4d47f125 30639 }
56122987 30640 },
5f26e15b
TL
30641 "leaf" : 1,
30642 "path" : "/nodes/{node}/ceph/mon/{monid}",
30643 "text" : "{monid}"
30644 }
30645 ],
30646 "info" : {
30647 "GET" : {
e9cd3bd4 30648 "allowtoken" : 1,
5f26e15b
TL
30649 "description" : "Get Ceph monitor list.",
30650 "method" : "GET",
30651 "name" : "listmon",
30652 "parameters" : {
30653 "additionalProperties" : 0,
30654 "properties" : {
30655 "node" : {
30656 "description" : "The cluster node name.",
30657 "format" : "pve-node",
30658 "type" : "string",
30659 "typetext" : "<string>"
30660 }
30661 }
30662 },
4d47f125
TL
30663 "permissions" : {
30664 "check" : [
30665 "perm",
30666 "/",
30667 [
30668 "Sys.Audit",
30669 "Datastore.Audit"
30670 ],
30671 "any",
30672 1
30673 ]
56122987 30674 },
4d47f125
TL
30675 "protected" : 1,
30676 "proxyto" : "node",
30677 "returns" : {
30678 "items" : {
30679 "properties" : {
5f26e15b 30680 "addr" : {
1e3f8156
TL
30681 "optional" : 1,
30682 "type" : "string"
30683 },
30684 "host" : {
30685 "optional" : 1,
4d47f125
TL
30686 "type" : "string"
30687 },
5f26e15b 30688 "name" : {
4d47f125
TL
30689 "type" : "string"
30690 }
7aacca6f 30691 },
4d47f125
TL
30692 "type" : "object"
30693 },
5f26e15b
TL
30694 "links" : [
30695 {
30696 "href" : "{name}",
30697 "rel" : "child"
30698 }
30699 ],
4d47f125
TL
30700 "type" : "array"
30701 }
4d47f125
TL
30702 }
30703 },
5f26e15b
TL
30704 "leaf" : 0,
30705 "path" : "/nodes/{node}/ceph/mon",
30706 "text" : "mon"
4d47f125
TL
30707 },
30708 {
30709 "children" : [
30710 {
30711 "info" : {
5f26e15b 30712 "POST" : {
e9cd3bd4 30713 "allowtoken" : 1,
5f26e15b
TL
30714 "description" : "Create a Ceph filesystem",
30715 "method" : "POST",
30716 "name" : "createfs",
4d47f125
TL
30717 "parameters" : {
30718 "additionalProperties" : 0,
30719 "properties" : {
5f26e15b 30720 "add-storage" : {
4d47f125 30721 "default" : 0,
5f26e15b 30722 "description" : "Configure the created CephFS as storage for this cluster.",
4d47f125
TL
30723 "optional" : 1,
30724 "type" : "boolean",
30725 "typetext" : "<boolean>"
30726 },
5f26e15b
TL
30727 "name" : {
30728 "default" : "cephfs",
30729 "description" : "The ceph filesystem name.",
30730 "optional" : 1,
30731 "type" : "string",
30732 "typetext" : "<string>"
4d47f125
TL
30733 },
30734 "node" : {
30735 "description" : "The cluster node name.",
30736 "format" : "pve-node",
30737 "type" : "string",
30738 "typetext" : "<string>"
5f26e15b
TL
30739 },
30740 "pg_num" : {
30741 "default" : 128,
30742 "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
30743 "maximum" : 32768,
30744 "minimum" : 8,
30745 "optional" : 1,
30746 "type" : "integer",
30747 "typetext" : "<integer> (8 - 32768)"
4d47f125
TL
30748 }
30749 }
7aacca6f 30750 },
4d47f125
TL
30751 "permissions" : {
30752 "check" : [
30753 "perm",
30754 "/",
30755 [
30756 "Sys.Modify"
30757 ]
30758 ]
7aacca6f 30759 },
4d47f125
TL
30760 "protected" : 1,
30761 "proxyto" : "node",
30762 "returns" : {
44660702 30763 "type" : "string"
4d47f125
TL
30764 }
30765 }
30766 },
30767 "leaf" : 1,
5f26e15b
TL
30768 "path" : "/nodes/{node}/ceph/fs/{name}",
30769 "text" : "{name}"
4d47f125
TL
30770 }
30771 ],
30772 "info" : {
30773 "GET" : {
e9cd3bd4 30774 "allowtoken" : 1,
5f26e15b 30775 "description" : "Directory index.",
4d47f125 30776 "method" : "GET",
5f26e15b 30777 "name" : "index",
4d47f125
TL
30778 "parameters" : {
30779 "additionalProperties" : 0,
30780 "properties" : {
30781 "node" : {
30782 "description" : "The cluster node name.",
30783 "format" : "pve-node",
30784 "type" : "string",
30785 "typetext" : "<string>"
30786 }
30787 }
30788 },
30789 "permissions" : {
30790 "check" : [
30791 "perm",
30792 "/",
30793 [
30794 "Sys.Audit",
30795 "Datastore.Audit"
30796 ],
30797 "any",
30798 1
30799 ]
30800 },
30801 "protected" : 1,
95895385 30802 "proxyto" : "node",
4d47f125
TL
30803 "returns" : {
30804 "items" : {
30805 "properties" : {
5f26e15b
TL
30806 "data_pool" : {
30807 "description" : "The name of the data pool.",
30808 "type" : "string"
30809 },
30810 "metadata_pool" : {
30811 "description" : "The name of the metadata pool.",
4d47f125
TL
30812 "type" : "string"
30813 },
30814 "name" : {
5f26e15b 30815 "description" : "The ceph filesystem name.",
4d47f125
TL
30816 "type" : "string"
30817 }
7aacca6f 30818 },
4d47f125
TL
30819 "type" : "object"
30820 },
30821 "links" : [
30822 {
30823 "href" : "{name}",
30824 "rel" : "child"
30825 }
30826 ],
30827 "type" : "array"
30828 }
5f26e15b
TL
30829 }
30830 },
30831 "leaf" : 0,
30832 "path" : "/nodes/{node}/ceph/fs",
30833 "text" : "fs"
30834 },
d2656385
TL
30835 {
30836 "children" : [
30837 {
30838 "info" : {
30839 "DELETE" : {
30840 "allowtoken" : 1,
30841 "description" : "Destroy pool",
30842 "method" : "DELETE",
30843 "name" : "destroypool",
30844 "parameters" : {
30845 "additionalProperties" : 0,
30846 "properties" : {
30847 "force" : {
30848 "default" : 0,
30849 "description" : "If true, destroys pool even if in use",
30850 "optional" : 1,
30851 "type" : "boolean",
30852 "typetext" : "<boolean>"
30853 },
30854 "name" : {
30855 "description" : "The name of the pool. It must be unique.",
30856 "type" : "string",
30857 "typetext" : "<string>"
30858 },
30859 "node" : {
30860 "description" : "The cluster node name.",
30861 "format" : "pve-node",
30862 "type" : "string",
30863 "typetext" : "<string>"
30864 },
30865 "remove_storages" : {
30866 "default" : 0,
30867 "description" : "Remove all pveceph-managed storages configured for this pool",
30868 "optional" : 1,
30869 "type" : "boolean",
30870 "typetext" : "<boolean>"
30871 }
30872 }
30873 },
30874 "permissions" : {
30875 "check" : [
30876 "perm",
30877 "/",
30878 [
30879 "Sys.Modify"
30880 ]
30881 ]
30882 },
30883 "protected" : 1,
30884 "proxyto" : "node",
30885 "returns" : {
30886 "type" : "string"
30887 }
30888 },
30889 "GET" : {
30890 "allowtoken" : 1,
30891 "description" : "List pool settings.",
30892 "method" : "GET",
30893 "name" : "getpool",
30894 "parameters" : {
30895 "additionalProperties" : 0,
30896 "properties" : {
30897 "name" : {
30898 "description" : "The name of the pool. It must be unique.",
30899 "type" : "string",
30900 "typetext" : "<string>"
30901 },
30902 "node" : {
30903 "description" : "The cluster node name.",
30904 "format" : "pve-node",
30905 "type" : "string",
30906 "typetext" : "<string>"
30907 },
30908 "verbose" : {
30909 "default" : 0,
30910 "description" : "If enabled, will display additional data(eg. statistics).",
30911 "optional" : 1,
30912 "type" : "boolean",
30913 "typetext" : "<boolean>"
30914 }
30915 }
30916 },
30917 "permissions" : {
30918 "check" : [
30919 "perm",
30920 "/",
30921 [
30922 "Sys.Audit",
30923 "Datastore.Audit"
30924 ],
30925 "any",
30926 1
30927 ]
30928 },
30929 "protected" : 1,
30930 "proxyto" : "node",
30931 "returns" : {
30932 "properties" : {
30933 "application" : {
30934 "default" : "rbd",
30935 "description" : "The application of the pool.",
30936 "enum" : [
30937 "rbd",
30938 "cephfs",
30939 "rgw"
30940 ],
30941 "optional" : 1,
30942 "title" : "Application",
30943 "type" : "string"
30944 },
30945 "application_list" : {
30946 "optional" : 1,
30947 "title" : "Application",
30948 "type" : "array"
30949 },
30950 "autoscale_status" : {
30951 "optional" : 1,
30952 "title" : "Autoscale Status",
30953 "type" : "object"
30954 },
30955 "crush_rule" : {
30956 "description" : "The rule to use for mapping object placement in the cluster.",
30957 "optional" : 1,
30958 "title" : "Crush Rule Name",
30959 "type" : "string"
30960 },
30961 "fast_read" : {
30962 "title" : "Fast Read",
30963 "type" : "boolean"
30964 },
30965 "hashpspool" : {
30966 "title" : "hashpspool",
30967 "type" : "boolean"
30968 },
30969 "id" : {
30970 "title" : "ID",
30971 "type" : "integer"
30972 },
30973 "min_size" : {
30974 "default" : 2,
30975 "description" : "Minimum number of replicas per object",
30976 "maximum" : 7,
30977 "minimum" : 1,
30978 "optional" : 1,
30979 "title" : "Min Size",
30980 "type" : "integer"
30981 },
30982 "name" : {
30983 "description" : "The name of the pool. It must be unique.",
30984 "title" : "Name",
30985 "type" : "string"
30986 },
30987 "nodeep-scrub" : {
30988 "title" : "nodeep-scrub",
30989 "type" : "boolean"
30990 },
30991 "nodelete" : {
30992 "title" : "nodelete",
30993 "type" : "boolean"
30994 },
30995 "nopgchange" : {
30996 "title" : "nopgchange",
30997 "type" : "boolean"
30998 },
30999 "noscrub" : {
31000 "title" : "noscrub",
31001 "type" : "boolean"
31002 },
31003 "nosizechange" : {
31004 "title" : "nosizechange",
31005 "type" : "boolean"
31006 },
31007 "pg_autoscale_mode" : {
31008 "default" : "warn",
31009 "description" : "The automatic PG scaling mode of the pool.",
31010 "enum" : [
31011 "on",
31012 "off",
31013 "warn"
31014 ],
31015 "optional" : 1,
31016 "title" : "PG Autoscale Mode",
31017 "type" : "string"
31018 },
31019 "pg_num" : {
31020 "default" : 128,
31021 "description" : "Number of placement groups.",
31022 "maximum" : 32768,
31023 "minimum" : 1,
31024 "optional" : 1,
31025 "title" : "PG Num",
31026 "type" : "integer"
31027 },
31028 "pg_num_min" : {
31029 "description" : "Minimal number of placement groups.",
31030 "maximum" : 32768,
31031 "optional" : 1,
31032 "title" : "min. PG Num",
31033 "type" : "integer"
31034 },
31035 "pgp_num" : {
31036 "title" : "PGP num",
31037 "type" : "integer"
31038 },
31039 "size" : {
31040 "default" : 3,
31041 "description" : "Number of replicas per object",
31042 "maximum" : 7,
31043 "minimum" : 1,
31044 "optional" : 1,
31045 "title" : "Size",
31046 "type" : "integer"
31047 },
31048 "statistics" : {
31049 "optional" : 1,
31050 "title" : "Statistics",
31051 "type" : "object"
31052 },
31053 "target_size" : {
31054 "description" : "The estimated target size of the pool for the PG autoscaler.",
31055 "optional" : 1,
31056 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31057 "title" : "PG Autoscale Target Size",
31058 "type" : "string"
31059 },
31060 "target_size_ratio" : {
31061 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31062 "optional" : 1,
31063 "title" : "PG Autoscale Target Ratio",
31064 "type" : "number"
31065 },
31066 "use_gmt_hitset" : {
31067 "title" : "use_gmt_hitset",
31068 "type" : "boolean"
31069 },
31070 "write_fadvise_dontneed" : {
31071 "title" : "write_fadvise_dontneed",
31072 "type" : "boolean"
31073 }
31074 },
31075 "type" : "object"
31076 }
31077 },
31078 "PUT" : {
31079 "allowtoken" : 1,
31080 "description" : "Change POOL settings",
31081 "method" : "PUT",
31082 "name" : "setpool",
31083 "parameters" : {
31084 "additionalProperties" : 0,
31085 "properties" : {
31086 "application" : {
31087 "description" : "The application of the pool.",
31088 "enum" : [
31089 "rbd",
31090 "cephfs",
31091 "rgw"
31092 ],
31093 "optional" : 1,
31094 "title" : "Application",
31095 "type" : "string"
31096 },
31097 "crush_rule" : {
31098 "description" : "The rule to use for mapping object placement in the cluster.",
31099 "optional" : 1,
31100 "title" : "Crush Rule Name",
31101 "type" : "string",
31102 "typetext" : "<string>"
31103 },
31104 "min_size" : {
31105 "description" : "Minimum number of replicas per object",
31106 "maximum" : 7,
31107 "minimum" : 1,
31108 "optional" : 1,
31109 "title" : "Min Size",
31110 "type" : "integer",
31111 "typetext" : "<integer> (1 - 7)"
31112 },
31113 "name" : {
31114 "description" : "The name of the pool. It must be unique.",
31115 "title" : "Name",
31116 "type" : "string",
31117 "typetext" : "<string>"
31118 },
31119 "node" : {
31120 "description" : "The cluster node name.",
31121 "format" : "pve-node",
31122 "type" : "string",
31123 "typetext" : "<string>"
31124 },
31125 "pg_autoscale_mode" : {
31126 "description" : "The automatic PG scaling mode of the pool.",
31127 "enum" : [
31128 "on",
31129 "off",
31130 "warn"
31131 ],
31132 "optional" : 1,
31133 "title" : "PG Autoscale Mode",
31134 "type" : "string"
31135 },
31136 "pg_num" : {
31137 "description" : "Number of placement groups.",
31138 "maximum" : 32768,
31139 "minimum" : 1,
31140 "optional" : 1,
31141 "title" : "PG Num",
31142 "type" : "integer",
31143 "typetext" : "<integer> (1 - 32768)"
31144 },
31145 "pg_num_min" : {
31146 "description" : "Minimal number of placement groups.",
31147 "maximum" : 32768,
31148 "optional" : 1,
31149 "title" : "min. PG Num",
31150 "type" : "integer",
31151 "typetext" : "<integer> (-N - 32768)"
31152 },
31153 "size" : {
31154 "description" : "Number of replicas per object",
31155 "maximum" : 7,
31156 "minimum" : 1,
31157 "optional" : 1,
31158 "title" : "Size",
31159 "type" : "integer",
31160 "typetext" : "<integer> (1 - 7)"
31161 },
31162 "target_size" : {
31163 "description" : "The estimated target size of the pool for the PG autoscaler.",
31164 "optional" : 1,
31165 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31166 "title" : "PG Autoscale Target Size",
31167 "type" : "string"
31168 },
31169 "target_size_ratio" : {
31170 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31171 "optional" : 1,
31172 "title" : "PG Autoscale Target Ratio",
31173 "type" : "number",
31174 "typetext" : "<number>"
31175 }
31176 }
31177 },
31178 "permissions" : {
31179 "check" : [
31180 "perm",
31181 "/",
31182 [
31183 "Sys.Modify"
31184 ]
31185 ]
31186 },
31187 "protected" : 1,
31188 "proxyto" : "node",
31189 "returns" : {
31190 "type" : "string"
31191 }
31192 }
31193 },
31194 "leaf" : 1,
31195 "path" : "/nodes/{node}/ceph/pools/{name}",
31196 "text" : "{name}"
31197 }
31198 ],
31199 "info" : {
31200 "GET" : {
31201 "allowtoken" : 1,
31202 "description" : "List all pools.",
31203 "method" : "GET",
31204 "name" : "lspools",
31205 "parameters" : {
31206 "additionalProperties" : 0,
31207 "properties" : {
31208 "node" : {
31209 "description" : "The cluster node name.",
31210 "format" : "pve-node",
31211 "type" : "string",
31212 "typetext" : "<string>"
31213 }
31214 }
31215 },
31216 "permissions" : {
31217 "check" : [
31218 "perm",
31219 "/",
31220 [
31221 "Sys.Audit",
31222 "Datastore.Audit"
31223 ],
31224 "any",
31225 1
31226 ]
31227 },
31228 "protected" : 1,
31229 "proxyto" : "node",
31230 "returns" : {
31231 "items" : {
31232 "properties" : {
31233 "autoscale_status" : {
31234 "optional" : 1,
31235 "title" : "Autoscale Status",
31236 "type" : "object"
31237 },
31238 "bytes_used" : {
31239 "title" : "Used",
31240 "type" : "integer"
31241 },
31242 "crush_rule" : {
31243 "title" : "Crush Rule",
31244 "type" : "integer"
31245 },
31246 "crush_rule_name" : {
31247 "title" : "Crush Rule Name",
31248 "type" : "string"
31249 },
31250 "min_size" : {
31251 "title" : "Min Size",
31252 "type" : "integer"
31253 },
31254 "percent_used" : {
31255 "title" : "%-Used",
31256 "type" : "number"
31257 },
31258 "pg_autoscale_mode" : {
31259 "optional" : 1,
31260 "title" : "PG Autoscale Mode",
31261 "type" : "string"
31262 },
31263 "pg_num" : {
31264 "title" : "PG Num",
31265 "type" : "integer"
31266 },
31267 "pg_num_final" : {
31268 "optional" : 1,
31269 "title" : "Optimal PG Num",
31270 "type" : "integer"
31271 },
31272 "pg_num_min" : {
31273 "optional" : 1,
31274 "title" : "min. PG Num",
31275 "type" : "integer"
31276 },
31277 "pool" : {
31278 "title" : "ID",
31279 "type" : "integer"
31280 },
31281 "pool_name" : {
31282 "title" : "Name",
31283 "type" : "string"
31284 },
31285 "size" : {
31286 "title" : "Size",
31287 "type" : "integer"
31288 },
31289 "target_size" : {
31290 "optional" : 1,
31291 "title" : "PG Autoscale Target Size",
31292 "type" : "integer"
31293 },
31294 "target_size_ratio" : {
31295 "optional" : 1,
31296 "title" : "PG Autoscale Target Ratio",
31297 "type" : "number"
31298 }
31299 },
31300 "type" : "object"
31301 },
31302 "links" : [
31303 {
31304 "href" : "{pool_name}",
31305 "rel" : "child"
31306 }
31307 ],
31308 "type" : "array"
31309 }
31310 },
31311 "POST" : {
31312 "allowtoken" : 1,
31313 "description" : "Create POOL",
31314 "method" : "POST",
31315 "name" : "createpool",
31316 "parameters" : {
31317 "additionalProperties" : 0,
31318 "properties" : {
31319 "add_storages" : {
31320 "description" : "Configure VM and CT storage using the new pool.",
31321 "optional" : 1,
31322 "type" : "boolean",
31323 "typetext" : "<boolean>"
31324 },
31325 "application" : {
31326 "default" : "rbd",
31327 "description" : "The application of the pool.",
31328 "enum" : [
31329 "rbd",
31330 "cephfs",
31331 "rgw"
31332 ],
31333 "optional" : 1,
31334 "title" : "Application",
31335 "type" : "string"
31336 },
31337 "crush_rule" : {
31338 "description" : "The rule to use for mapping object placement in the cluster.",
31339 "optional" : 1,
31340 "title" : "Crush Rule Name",
31341 "type" : "string",
31342 "typetext" : "<string>"
31343 },
31344 "min_size" : {
31345 "default" : 2,
31346 "description" : "Minimum number of replicas per object",
31347 "maximum" : 7,
31348 "minimum" : 1,
31349 "optional" : 1,
31350 "title" : "Min Size",
31351 "type" : "integer",
31352 "typetext" : "<integer> (1 - 7)"
31353 },
31354 "name" : {
31355 "description" : "The name of the pool. It must be unique.",
31356 "title" : "Name",
31357 "type" : "string",
31358 "typetext" : "<string>"
31359 },
31360 "node" : {
31361 "description" : "The cluster node name.",
31362 "format" : "pve-node",
31363 "type" : "string",
31364 "typetext" : "<string>"
31365 },
31366 "pg_autoscale_mode" : {
31367 "default" : "warn",
31368 "description" : "The automatic PG scaling mode of the pool.",
31369 "enum" : [
31370 "on",
31371 "off",
31372 "warn"
31373 ],
31374 "optional" : 1,
31375 "title" : "PG Autoscale Mode",
31376 "type" : "string"
31377 },
31378 "pg_num" : {
31379 "default" : 128,
31380 "description" : "Number of placement groups.",
31381 "maximum" : 32768,
31382 "minimum" : 1,
31383 "optional" : 1,
31384 "title" : "PG Num",
31385 "type" : "integer",
31386 "typetext" : "<integer> (1 - 32768)"
31387 },
31388 "pg_num_min" : {
31389 "description" : "Minimal number of placement groups.",
31390 "maximum" : 32768,
31391 "optional" : 1,
31392 "title" : "min. PG Num",
31393 "type" : "integer",
31394 "typetext" : "<integer> (-N - 32768)"
31395 },
31396 "size" : {
31397 "default" : 3,
31398 "description" : "Number of replicas per object",
31399 "maximum" : 7,
31400 "minimum" : 1,
31401 "optional" : 1,
31402 "title" : "Size",
31403 "type" : "integer",
31404 "typetext" : "<integer> (1 - 7)"
31405 },
31406 "target_size" : {
31407 "description" : "The estimated target size of the pool for the PG autoscaler.",
31408 "optional" : 1,
31409 "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
31410 "title" : "PG Autoscale Target Size",
31411 "type" : "string"
31412 },
31413 "target_size_ratio" : {
31414 "description" : "The estimated target ratio of the pool for the PG autoscaler.",
31415 "optional" : 1,
31416 "title" : "PG Autoscale Target Ratio",
31417 "type" : "number",
31418 "typetext" : "<number>"
31419 }
31420 }
31421 },
31422 "permissions" : {
31423 "check" : [
31424 "perm",
31425 "/",
31426 [
31427 "Sys.Modify"
31428 ]
31429 ]
31430 },
31431 "protected" : 1,
31432 "proxyto" : "node",
31433 "returns" : {
31434 "type" : "string"
31435 }
31436 }
31437 },
31438 "leaf" : 0,
31439 "path" : "/nodes/{node}/ceph/pools",
31440 "text" : "pools"
31441 },
5f26e15b
TL
31442 {
31443 "info" : {
31444 "GET" : {
e9cd3bd4 31445 "allowtoken" : 1,
5f26e15b
TL
31446 "description" : "List local disks.",
31447 "method" : "GET",
31448 "name" : "disks",
4d47f125
TL
31449 "parameters" : {
31450 "additionalProperties" : 0,
31451 "properties" : {
5f26e15b
TL
31452 "node" : {
31453 "description" : "The cluster node name.",
31454 "format" : "pve-node",
31455 "type" : "string",
31456 "typetext" : "<string>"
44660702 31457 },
5f26e15b
TL
31458 "type" : {
31459 "description" : "Only list specific types of disks.",
31460 "enum" : [
31461 "unused",
31462 "journal_disks"
31463 ],
44660702 31464 "optional" : 1,
44660702 31465 "type" : "string"
5f26e15b
TL
31466 }
31467 }
31468 },
31469 "permissions" : {
31470 "check" : [
31471 "perm",
31472 "/",
31473 [
31474 "Sys.Audit",
31475 "Datastore.Audit"
31476 ],
31477 "any",
31478 1
31479 ]
31480 },
31481 "protected" : 1,
31482 "proxyto" : "node",
31483 "returns" : {
31484 "items" : {
31485 "properties" : {
31486 "dev" : {
31487 "type" : "string"
31488 },
31489 "gpt" : {
31490 "type" : "boolean"
31491 },
31492 "model" : {
31493 "optional" : 1,
31494 "type" : "string"
31495 },
31496 "osdid" : {
31497 "type" : "integer"
31498 },
31499 "serial" : {
31500 "optional" : 1,
31501 "type" : "string"
31502 },
31503 "size" : {
31504 "type" : "integer"
31505 },
31506 "used" : {
31507 "optional" : 1,
31508 "type" : "string"
31509 },
31510 "vendor" : {
31511 "optional" : 1,
31512 "type" : "string"
31513 }
44660702 31514 },
5f26e15b
TL
31515 "type" : "object"
31516 },
31517 "type" : "array"
31518 }
31519 }
31520 },
31521 "leaf" : 1,
31522 "path" : "/nodes/{node}/ceph/disks",
31523 "text" : "disks"
31524 },
31525 {
31526 "info" : {
31527 "GET" : {
e9cd3bd4 31528 "allowtoken" : 1,
5f26e15b
TL
31529 "description" : "Get Ceph configuration.",
31530 "method" : "GET",
31531 "name" : "config",
31532 "parameters" : {
31533 "additionalProperties" : 0,
31534 "properties" : {
4d47f125
TL
31535 "node" : {
31536 "description" : "The cluster node name.",
31537 "format" : "pve-node",
31538 "type" : "string",
31539 "typetext" : "<string>"
7aacca6f 31540 }
4d47f125 31541 }
44660702 31542 },
4d47f125
TL
31543 "permissions" : {
31544 "check" : [
31545 "perm",
31546 "/",
31547 [
5f26e15b
TL
31548 "Sys.Audit",
31549 "Datastore.Audit"
31550 ],
31551 "any",
31552 1
4d47f125 31553 ]
56122987 31554 },
95895385 31555 "proxyto" : "node",
4d47f125 31556 "returns" : {
7aacca6f 31557 "type" : "string"
4d47f125
TL
31558 }
31559 }
31560 },
5f26e15b
TL
31561 "leaf" : 1,
31562 "path" : "/nodes/{node}/ceph/config",
31563 "text" : "config"
4d47f125 31564 },
7cbed89a
TL
31565 {
31566 "info" : {
31567 "GET" : {
e9cd3bd4 31568 "allowtoken" : 1,
7cbed89a
TL
31569 "description" : "Get Ceph configuration database.",
31570 "method" : "GET",
31571 "name" : "configdb",
31572 "parameters" : {
31573 "additionalProperties" : 0,
31574 "properties" : {
31575 "node" : {
31576 "description" : "The cluster node name.",
31577 "format" : "pve-node",
31578 "type" : "string",
31579 "typetext" : "<string>"
31580 }
31581 }
31582 },
31583 "permissions" : {
31584 "check" : [
31585 "perm",
31586 "/",
31587 [
31588 "Sys.Audit",
31589 "Datastore.Audit"
31590 ],
31591 "any",
31592 1
31593 ]
31594 },
31595 "protected" : 1,
31596 "proxyto" : "node",
31597 "returns" : {
31598 "items" : {
31599 "properties" : {
31600 "can_update_at_runtime" : {
31601 "type" : "boolean"
31602 },
31603 "level" : {
31604 "type" : "string"
31605 },
31606 "mask" : {
31607 "type" : "string"
31608 },
31609 "name" : {
31610 "type" : "string"
31611 },
31612 "section" : {
31613 "type" : "string"
31614 },
31615 "value" : {
31616 "type" : "string"
31617 }
31618 },
31619 "type" : "object"
31620 },
31621 "type" : "array"
31622 }
31623 }
31624 },
31625 "leaf" : 1,
31626 "path" : "/nodes/{node}/ceph/configdb",
31627 "text" : "configdb"
31628 },
4d47f125
TL
31629 {
31630 "info" : {
31631 "POST" : {
e9cd3bd4 31632 "allowtoken" : 1,
4d47f125
TL
31633 "description" : "Create initial ceph default configuration and setup symlinks.",
31634 "method" : "POST",
31635 "name" : "init",
31636 "parameters" : {
31637 "additionalProperties" : 0,
31638 "properties" : {
e2d681b3
TL
31639 "cluster-network" : {
31640 "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
31641 "format" : "CIDR",
31642 "maxLength" : 128,
31643 "optional" : 1,
31644 "requires" : "network",
31645 "type" : "string",
31646 "typetext" : "<string>"
31647 },
4d47f125
TL
31648 "disable_cephx" : {
31649 "default" : 0,
1e3f8156 31650 "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 31651 "optional" : 1,
4d47f125
TL
31652 "type" : "boolean",
31653 "typetext" : "<boolean>"
56122987 31654 },
4d47f125
TL
31655 "min_size" : {
31656 "default" : 2,
31657 "description" : "Minimum number of available replicas per object to allow I/O",
31658 "maximum" : 7,
31659 "minimum" : 1,
7aacca6f 31660 "optional" : 1,
4d47f125
TL
31661 "type" : "integer",
31662 "typetext" : "<integer> (1 - 7)"
7aacca6f 31663 },
4d47f125
TL
31664 "network" : {
31665 "description" : "Use specific network for all ceph related traffic",
31666 "format" : "CIDR",
31667 "maxLength" : 128,
5d9c884c 31668 "optional" : 1,
4d47f125
TL
31669 "type" : "string",
31670 "typetext" : "<string>"
5d9c884c 31671 },
4d47f125
TL
31672 "node" : {
31673 "description" : "The cluster node name.",
31674 "format" : "pve-node",
31675 "type" : "string",
31676 "typetext" : "<string>"
7aacca6f 31677 },
4d47f125
TL
31678 "pg_bits" : {
31679 "default" : 6,
31680 "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.",
31681 "maximum" : 14,
31682 "minimum" : 6,
de0983cb 31683 "optional" : 1,
4d47f125
TL
31684 "type" : "integer",
31685 "typetext" : "<integer> (6 - 14)"
de0983cb 31686 },
44660702 31687 "size" : {
4d47f125
TL
31688 "default" : 3,
31689 "description" : "Targeted number of replicas per object",
31690 "maximum" : 7,
31691 "minimum" : 1,
7aacca6f 31692 "optional" : 1,
4d47f125
TL
31693 "type" : "integer",
31694 "typetext" : "<integer> (1 - 7)"
56122987 31695 }
4d47f125 31696 }
44660702 31697 },
4d47f125
TL
31698 "permissions" : {
31699 "check" : [
31700 "perm",
31701 "/",
31702 [
31703 "Sys.Modify"
31704 ]
31705 ]
5da3d723 31706 },
4d47f125
TL
31707 "protected" : 1,
31708 "proxyto" : "node",
31709 "returns" : {
31710 "type" : "null"
31711 }
31712 }
31713 },
31714 "leaf" : 1,
31715 "path" : "/nodes/{node}/ceph/init",
31716 "text" : "init"
31717 },
4d47f125
TL
31718 {
31719 "info" : {
31720 "POST" : {
e9cd3bd4 31721 "allowtoken" : 1,
4d47f125
TL
31722 "description" : "Stop ceph services.",
31723 "method" : "POST",
31724 "name" : "stop",
31725 "parameters" : {
31726 "additionalProperties" : 0,
31727 "properties" : {
31728 "node" : {
31729 "description" : "The cluster node name.",
31730 "format" : "pve-node",
31731 "type" : "string",
31732 "typetext" : "<string>"
31733 },
31734 "service" : {
e2d681b3 31735 "default" : "ceph.target",
4d47f125
TL
31736 "description" : "Ceph service name.",
31737 "optional" : 1,
c5aa7e14 31738 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
31739 "type" : "string"
31740 }
31741 }
7aacca6f 31742 },
4d47f125
TL
31743 "permissions" : {
31744 "check" : [
31745 "perm",
31746 "/",
31747 [
31748 "Sys.Modify"
31749 ]
31750 ]
7aacca6f 31751 },
4d47f125
TL
31752 "protected" : 1,
31753 "proxyto" : "node",
31754 "returns" : {
31755 "type" : "string"
31756 }
31757 }
31758 },
31759 "leaf" : 1,
31760 "path" : "/nodes/{node}/ceph/stop",
31761 "text" : "stop"
31762 },
31763 {
31764 "info" : {
31765 "POST" : {
e9cd3bd4 31766 "allowtoken" : 1,
4d47f125
TL
31767 "description" : "Start ceph services.",
31768 "method" : "POST",
31769 "name" : "start",
31770 "parameters" : {
31771 "additionalProperties" : 0,
31772 "properties" : {
31773 "node" : {
31774 "description" : "The cluster node name.",
31775 "format" : "pve-node",
31776 "type" : "string",
31777 "typetext" : "<string>"
31778 },
31779 "service" : {
e2d681b3 31780 "default" : "ceph.target",
4d47f125
TL
31781 "description" : "Ceph service name.",
31782 "optional" : 1,
c5aa7e14 31783 "pattern" : "(ceph|mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
4d47f125
TL
31784 "type" : "string"
31785 }
31786 }
44660702 31787 },
4d47f125
TL
31788 "permissions" : {
31789 "check" : [
31790 "perm",
31791 "/",
31792 [
31793 "Sys.Modify"
31794 ]
31795 ]
44660702 31796 },
4d47f125
TL
31797 "protected" : 1,
31798 "proxyto" : "node",
31799 "returns" : {
31800 "type" : "string"
44660702 31801 }
7aacca6f
DM
31802 }
31803 },
4d47f125
TL
31804 "leaf" : 1,
31805 "path" : "/nodes/{node}/ceph/start",
31806 "text" : "start"
31807 },
e2d681b3
TL
31808 {
31809 "info" : {
31810 "POST" : {
e9cd3bd4 31811 "allowtoken" : 1,
e2d681b3
TL
31812 "description" : "Restart ceph services.",
31813 "method" : "POST",
31814 "name" : "restart",
31815 "parameters" : {
31816 "additionalProperties" : 0,
31817 "properties" : {
31818 "node" : {
31819 "description" : "The cluster node name.",
31820 "format" : "pve-node",
31821 "type" : "string",
31822 "typetext" : "<string>"
31823 },
31824 "service" : {
31825 "default" : "ceph.target",
31826 "description" : "Ceph service name.",
31827 "optional" : 1,
c5aa7e14 31828 "pattern" : "(mon|mds|osd|mgr)(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)?",
e2d681b3
TL
31829 "type" : "string"
31830 }
31831 }
31832 },
31833 "permissions" : {
31834 "check" : [
31835 "perm",
31836 "/",
31837 [
31838 "Sys.Modify"
31839 ]
31840 ]
31841 },
31842 "protected" : 1,
31843 "proxyto" : "node",
31844 "returns" : {
31845 "type" : "string"
31846 }
31847 }
31848 },
31849 "leaf" : 1,
31850 "path" : "/nodes/{node}/ceph/restart",
31851 "text" : "restart"
31852 },
4d47f125
TL
31853 {
31854 "info" : {
31855 "GET" : {
e9cd3bd4 31856 "allowtoken" : 1,
4d47f125
TL
31857 "description" : "Get ceph status.",
31858 "method" : "GET",
31859 "name" : "status",
31860 "parameters" : {
31861 "additionalProperties" : 0,
31862 "properties" : {
31863 "node" : {
31864 "description" : "The cluster node name.",
31865 "format" : "pve-node",
31866 "type" : "string",
31867 "typetext" : "<string>"
31868 }
31869 }
31870 },
31871 "permissions" : {
31872 "check" : [
31873 "perm",
31874 "/",
31875 [
31876 "Sys.Audit",
31877 "Datastore.Audit"
31878 ],
31879 "any",
31880 1
31881 ]
31882 },
31883 "protected" : 1,
31884 "proxyto" : "node",
31885 "returns" : {
d2656385 31886 "type" : "object"
44660702 31887 }
56122987 31888 }
44660702 31889 },
d2656385
TL
31890 "leaf" : 1,
31891 "path" : "/nodes/{node}/ceph/status",
31892 "text" : "status"
7aacca6f
DM
31893 },
31894 {
4d47f125
TL
31895 "children" : [
31896 {
31897 "info" : {
31898 "DELETE" : {
e9cd3bd4 31899 "allowtoken" : 1,
4d47f125
TL
31900 "description" : "Unset a ceph flag",
31901 "method" : "DELETE",
31902 "name" : "unset_flag",
31903 "parameters" : {
31904 "additionalProperties" : 0,
31905 "properties" : {
31906 "flag" : {
1c532546 31907 "description" : "The ceph flag to unset",
4d47f125 31908 "enum" : [
1c532546
TL
31909 "nobackfill",
31910 "nodeep-scrub",
4d47f125 31911 "nodown",
4d47f125 31912 "noin",
1c532546 31913 "noout",
4d47f125
TL
31914 "norebalance",
31915 "norecover",
31916 "noscrub",
1c532546
TL
31917 "notieragent",
31918 "noup",
31919 "pause"
4d47f125
TL
31920 ],
31921 "type" : "string"
31922 },
31923 "node" : {
31924 "description" : "The cluster node name.",
31925 "format" : "pve-node",
31926 "type" : "string",
31927 "typetext" : "<string>"
31928 }
31929 }
31930 },
31931 "permissions" : {
31932 "check" : [
31933 "perm",
31934 "/",
31935 [
31936 "Sys.Modify"
31937 ]
31938 ]
31939 },
31940 "protected" : 1,
31941 "proxyto" : "node",
31942 "returns" : {
31943 "type" : "null"
31944 }
31945 },
31946 "POST" : {
e9cd3bd4 31947 "allowtoken" : 1,
1c532546 31948 "description" : "Set a specific ceph flag",
4d47f125
TL
31949 "method" : "POST",
31950 "name" : "set_flag",
31951 "parameters" : {
31952 "additionalProperties" : 0,
31953 "properties" : {
31954 "flag" : {
1c532546 31955 "description" : "The ceph flag to set",
4d47f125 31956 "enum" : [
1c532546
TL
31957 "nobackfill",
31958 "nodeep-scrub",
4d47f125 31959 "nodown",
4d47f125 31960 "noin",
1c532546 31961 "noout",
4d47f125
TL
31962 "norebalance",
31963 "norecover",
31964 "noscrub",
1c532546
TL
31965 "notieragent",
31966 "noup",
31967 "pause"
4d47f125
TL
31968 ],
31969 "type" : "string"
31970 },
31971 "node" : {
31972 "description" : "The cluster node name.",
31973 "format" : "pve-node",
31974 "type" : "string",
31975 "typetext" : "<string>"
31976 }
31977 }
31978 },
31979 "permissions" : {
31980 "check" : [
31981 "perm",
31982 "/",
31983 [
31984 "Sys.Modify"
31985 ]
31986 ]
31987 },
31988 "protected" : 1,
31989 "proxyto" : "node",
31990 "returns" : {
31991 "type" : "null"
31992 }
31993 }
31994 },
31995 "leaf" : 1,
31996 "path" : "/nodes/{node}/ceph/flags/{flag}",
31997 "text" : "{flag}"
31998 }
31999 ],
56122987
DM
32000 "info" : {
32001 "GET" : {
e9cd3bd4 32002 "allowtoken" : 1,
4d47f125 32003 "description" : "get all set ceph flags",
44660702 32004 "method" : "GET",
4d47f125 32005 "name" : "get_flags",
44660702
DM
32006 "parameters" : {
32007 "additionalProperties" : 0,
32008 "properties" : {
32009 "node" : {
32010 "description" : "The cluster node name.",
32011 "format" : "pve-node",
013dc89f
DM
32012 "type" : "string",
32013 "typetext" : "<string>"
44660702
DM
32014 }
32015 }
32016 },
56122987
DM
32017 "permissions" : {
32018 "check" : [
32019 "perm",
32020 "/",
32021 [
4d47f125
TL
32022 "Sys.Audit"
32023 ]
56122987 32024 ]
4d47f125
TL
32025 },
32026 "protected" : 1,
32027 "proxyto" : "node",
32028 "returns" : {
32029 "type" : "string"
44660702 32030 }
56122987 32031 }
44660702 32032 },
4d47f125
TL
32033 "leaf" : 0,
32034 "path" : "/nodes/{node}/ceph/flags",
32035 "text" : "flags"
56122987
DM
32036 },
32037 {
56122987
DM
32038 "info" : {
32039 "GET" : {
e9cd3bd4 32040 "allowtoken" : 1,
4d47f125 32041 "description" : "Get OSD crush map",
44660702 32042 "method" : "GET",
4d47f125 32043 "name" : "crush",
56122987 32044 "parameters" : {
7aacca6f 32045 "additionalProperties" : 0,
56122987 32046 "properties" : {
56122987 32047 "node" : {
7aacca6f 32048 "description" : "The cluster node name.",
44660702 32049 "format" : "pve-node",
013dc89f
DM
32050 "type" : "string",
32051 "typetext" : "<string>"
56122987 32052 }
7aacca6f 32053 }
56122987 32054 },
56122987
DM
32055 "permissions" : {
32056 "check" : [
32057 "perm",
32058 "/",
32059 [
32060 "Sys.Audit",
32061 "Datastore.Audit"
32062 ],
32063 "any",
32064 1
32065 ]
44660702 32066 },
4d47f125
TL
32067 "protected" : 1,
32068 "proxyto" : "node",
44660702
DM
32069 "returns" : {
32070 "type" : "string"
7aacca6f
DM
32071 }
32072 }
44660702
DM
32073 },
32074 "leaf" : 1,
4d47f125
TL
32075 "path" : "/nodes/{node}/ceph/crush",
32076 "text" : "crush"
7aacca6f
DM
32077 },
32078 {
7aacca6f
DM
32079 "info" : {
32080 "GET" : {
e9cd3bd4 32081 "allowtoken" : 1,
4d47f125 32082 "description" : "Read ceph log",
7aacca6f 32083 "method" : "GET",
4d47f125 32084 "name" : "log",
7aacca6f
DM
32085 "parameters" : {
32086 "additionalProperties" : 0,
32087 "properties" : {
4d47f125
TL
32088 "limit" : {
32089 "minimum" : 0,
32090 "optional" : 1,
32091 "type" : "integer",
32092 "typetext" : "<integer> (0 - N)"
32093 },
7aacca6f 32094 "node" : {
7aacca6f 32095 "description" : "The cluster node name.",
44660702 32096 "format" : "pve-node",
013dc89f
DM
32097 "type" : "string",
32098 "typetext" : "<string>"
4d47f125
TL
32099 },
32100 "start" : {
32101 "minimum" : 0,
32102 "optional" : 1,
32103 "type" : "integer",
32104 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
32105 }
32106 }
32107 },
44660702
DM
32108 "permissions" : {
32109 "check" : [
32110 "perm",
4d47f125 32111 "/nodes/{node}",
44660702 32112 [
4d47f125
TL
32113 "Sys.Syslog"
32114 ]
44660702
DM
32115 ]
32116 },
7aacca6f 32117 "protected" : 1,
44660702 32118 "proxyto" : "node",
7aacca6f
DM
32119 "returns" : {
32120 "items" : {
32121 "properties" : {
4d47f125
TL
32122 "n" : {
32123 "description" : "Line number",
32124 "type" : "integer"
56122987 32125 },
4d47f125
TL
32126 "t" : {
32127 "description" : "Line text",
56122987
DM
32128 "type" : "string"
32129 }
7aacca6f
DM
32130 },
32131 "type" : "object"
56122987
DM
32132 },
32133 "type" : "array"
44660702 32134 }
4d47f125
TL
32135 }
32136 },
32137 "leaf" : 1,
32138 "path" : "/nodes/{node}/ceph/log",
32139 "text" : "log"
32140 },
32141 {
32142 "info" : {
32143 "GET" : {
e9cd3bd4 32144 "allowtoken" : 1,
4d47f125
TL
32145 "description" : "List ceph rules.",
32146 "method" : "GET",
32147 "name" : "rules",
44660702
DM
32148 "parameters" : {
32149 "additionalProperties" : 0,
32150 "properties" : {
32151 "node" : {
32152 "description" : "The cluster node name.",
32153 "format" : "pve-node",
013dc89f
DM
32154 "type" : "string",
32155 "typetext" : "<string>"
44660702
DM
32156 }
32157 }
32158 },
7aacca6f
DM
32159 "permissions" : {
32160 "check" : [
32161 "perm",
32162 "/",
32163 [
4d47f125
TL
32164 "Sys.Audit",
32165 "Datastore.Audit"
32166 ],
32167 "any",
32168 1
7aacca6f
DM
32169 ]
32170 },
44660702 32171 "protected" : 1,
7aacca6f 32172 "proxyto" : "node",
56122987 32173 "returns" : {
4d47f125
TL
32174 "items" : {
32175 "properties" : {},
32176 "type" : "object"
32177 },
32178 "links" : [
32179 {
32180 "href" : "{name}",
32181 "rel" : "child"
32182 }
32183 ],
32184 "type" : "array"
44660702 32185 }
56122987 32186 }
44660702 32187 },
4d47f125
TL
32188 "leaf" : 1,
32189 "path" : "/nodes/{node}/ceph/rules",
32190 "text" : "rules"
32191 }
32192 ],
32193 "info" : {
32194 "GET" : {
e9cd3bd4 32195 "allowtoken" : 1,
4d47f125
TL
32196 "description" : "Directory index.",
32197 "method" : "GET",
32198 "name" : "index",
32199 "parameters" : {
32200 "additionalProperties" : 0,
32201 "properties" : {
32202 "node" : {
32203 "description" : "The cluster node name.",
32204 "format" : "pve-node",
32205 "type" : "string",
32206 "typetext" : "<string>"
32207 }
32208 }
32209 },
32210 "permissions" : {
32211 "check" : [
32212 "perm",
32213 "/",
32214 [
32215 "Sys.Audit",
32216 "Datastore.Audit"
32217 ],
32218 "any",
32219 1
32220 ]
32221 },
32222 "returns" : {
32223 "items" : {
32224 "properties" : {},
32225 "type" : "object"
32226 },
32227 "links" : [
32228 {
32229 "href" : "{name}",
32230 "rel" : "child"
32231 }
32232 ],
32233 "type" : "array"
32234 }
32235 }
32236 },
32237 "leaf" : 0,
32238 "path" : "/nodes/{node}/ceph",
32239 "text" : "ceph"
32240 },
32241 {
32242 "children" : [
e7084ef7
TL
32243 {
32244 "info" : {
32245 "GET" : {
32246 "allowtoken" : 1,
32247 "description" : "Get the currently configured vzdump defaults.",
32248 "method" : "GET",
32249 "name" : "defaults",
32250 "parameters" : {
32251 "additionalProperties" : 0,
32252 "properties" : {
32253 "node" : {
32254 "description" : "The cluster node name.",
32255 "format" : "pve-node",
32256 "type" : "string",
32257 "typetext" : "<string>"
32258 },
32259 "storage" : {
32260 "description" : "The storage identifier.",
32261 "format" : "pve-storage-id",
32262 "optional" : 1,
32263 "type" : "string",
32264 "typetext" : "<string>"
32265 }
32266 }
32267 },
32268 "permissions" : {
32269 "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.",
32270 "user" : "all"
32271 },
32272 "proxyto" : "node",
32273 "returns" : {
32274 "additionalProperties" : 0,
32275 "properties" : {
32276 "all" : {
32277 "default" : 0,
32278 "description" : "Backup all known guest systems on this host.",
32279 "optional" : 1,
32280 "type" : "boolean"
32281 },
32282 "bwlimit" : {
32283 "default" : 0,
32284 "description" : "Limit I/O bandwidth (KBytes per second).",
32285 "minimum" : 0,
32286 "optional" : 1,
32287 "type" : "integer"
32288 },
32289 "compress" : {
32290 "default" : "0",
32291 "description" : "Compress dump file.",
32292 "enum" : [
32293 "0",
32294 "1",
32295 "gzip",
32296 "lzo",
32297 "zstd"
32298 ],
32299 "optional" : 1,
32300 "type" : "string"
32301 },
32302 "dumpdir" : {
32303 "description" : "Store resulting files to specified directory.",
32304 "optional" : 1,
32305 "type" : "string"
32306 },
32307 "exclude" : {
32308 "description" : "Exclude specified guest systems (assumes --all)",
32309 "format" : "pve-vmid-list",
32310 "optional" : 1,
32311 "type" : "string"
32312 },
32313 "exclude-path" : {
32314 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
32315 "format" : "string-alist",
32316 "optional" : 1,
32317 "type" : "string"
32318 },
32319 "ionice" : {
32320 "default" : 7,
32321 "description" : "Set CFQ ionice priority.",
32322 "maximum" : 8,
32323 "minimum" : 0,
32324 "optional" : 1,
32325 "type" : "integer"
32326 },
32327 "lockwait" : {
32328 "default" : 180,
32329 "description" : "Maximal time to wait for the global lock (minutes).",
32330 "minimum" : 0,
32331 "optional" : 1,
32332 "type" : "integer"
32333 },
32334 "mailnotification" : {
32335 "default" : "always",
32336 "description" : "Specify when to send an email",
32337 "enum" : [
32338 "always",
32339 "failure"
32340 ],
32341 "optional" : 1,
32342 "type" : "string"
32343 },
32344 "mailto" : {
32345 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
32346 "format" : "email-or-username-list",
32347 "optional" : 1,
32348 "type" : "string"
32349 },
32350 "maxfiles" : {
32351 "default" : 1,
32352 "description" : "Maximal number of backup files per guest system.",
32353 "minimum" : 1,
32354 "optional" : 1,
32355 "type" : "integer"
32356 },
32357 "mode" : {
32358 "default" : "snapshot",
32359 "description" : "Backup mode.",
32360 "enum" : [
32361 "snapshot",
32362 "suspend",
32363 "stop"
32364 ],
32365 "optional" : 1,
32366 "type" : "string"
32367 },
32368 "node" : {
32369 "description" : "Only run if executed on this node.",
32370 "format" : "pve-node",
32371 "optional" : 1,
32372 "type" : "string"
32373 },
32374 "pigz" : {
32375 "default" : 0,
32376 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
32377 "optional" : 1,
32378 "type" : "integer"
32379 },
32380 "pool" : {
32381 "description" : "Backup all known guest systems included in the specified pool.",
32382 "optional" : 1,
32383 "type" : "string"
32384 },
32385 "prune-backups" : {
32386 "description" : "Use these retention options instead of those from the storage configuration.",
32387 "format" : "prune-backups",
32388 "optional" : 1,
32389 "type" : "string"
32390 },
32391 "quiet" : {
32392 "default" : 0,
32393 "description" : "Be quiet.",
32394 "optional" : 1,
32395 "type" : "boolean"
32396 },
32397 "remove" : {
32398 "default" : 1,
32399 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
32400 "optional" : 1,
32401 "type" : "boolean"
32402 },
32403 "script" : {
32404 "description" : "Use specified hook script.",
32405 "optional" : 1,
32406 "type" : "string"
32407 },
32408 "size" : {
32409 "default" : 1024,
32410 "description" : "Unused, will be removed in a future release.",
32411 "minimum" : 500,
32412 "optional" : 1,
32413 "type" : "integer"
32414 },
32415 "stdexcludes" : {
32416 "default" : 1,
32417 "description" : "Exclude temporary files and logs.",
32418 "optional" : 1,
32419 "type" : "boolean"
32420 },
32421 "stop" : {
32422 "default" : 0,
32423 "description" : "Stop running backup jobs on this host.",
32424 "optional" : 1,
32425 "type" : "boolean"
32426 },
32427 "stopwait" : {
32428 "default" : 10,
32429 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
32430 "minimum" : 0,
32431 "optional" : 1,
32432 "type" : "integer"
32433 },
32434 "storage" : {
32435 "description" : "Store resulting file to this storage.",
32436 "format" : "pve-storage-id",
32437 "optional" : 1,
32438 "type" : "string"
32439 },
32440 "tmpdir" : {
32441 "description" : "Store temporary files to specified directory.",
32442 "optional" : 1,
32443 "type" : "string"
32444 },
32445 "vmid" : {
32446 "description" : "The ID of the guest system you want to backup.",
32447 "format" : "pve-vmid-list",
32448 "optional" : 1,
32449 "type" : "string"
32450 },
32451 "zstd" : {
32452 "default" : 1,
32453 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
32454 "optional" : 1,
32455 "type" : "integer"
32456 }
32457 },
32458 "type" : "object"
32459 }
32460 }
32461 },
32462 "leaf" : 1,
32463 "path" : "/nodes/{node}/vzdump/defaults",
32464 "text" : "defaults"
32465 },
56122987
DM
32466 {
32467 "info" : {
4d47f125 32468 "GET" : {
e9cd3bd4 32469 "allowtoken" : 1,
4d47f125
TL
32470 "description" : "Extract configuration from vzdump backup archive.",
32471 "method" : "GET",
32472 "name" : "extractconfig",
32473 "parameters" : {
32474 "additionalProperties" : 0,
32475 "properties" : {
44660702
DM
32476 "node" : {
32477 "description" : "The cluster node name.",
32478 "format" : "pve-node",
013dc89f
DM
32479 "type" : "string",
32480 "typetext" : "<string>"
44660702 32481 },
4d47f125
TL
32482 "volume" : {
32483 "description" : "Volume identifier",
32484 "type" : "string",
32485 "typetext" : "<string>"
44660702
DM
32486 }
32487 }
7aacca6f 32488 },
56122987 32489 "permissions" : {
4d47f125
TL
32490 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
32491 "user" : "all"
56122987 32492 },
7aacca6f 32493 "protected" : 1,
44660702
DM
32494 "proxyto" : "node",
32495 "returns" : {
4d47f125 32496 "type" : "string"
7aacca6f
DM
32497 }
32498 }
32499 },
7aacca6f 32500 "leaf" : 1,
4d47f125
TL
32501 "path" : "/nodes/{node}/vzdump/extractconfig",
32502 "text" : "extractconfig"
32503 }
32504 ],
32505 "info" : {
32506 "POST" : {
e9cd3bd4 32507 "allowtoken" : 1,
4d47f125
TL
32508 "description" : "Create backup.",
32509 "method" : "POST",
32510 "name" : "vzdump",
32511 "parameters" : {
32512 "additionalProperties" : 0,
32513 "properties" : {
32514 "all" : {
32515 "default" : 0,
32516 "description" : "Backup all known guest systems on this host.",
32517 "optional" : 1,
32518 "type" : "boolean",
32519 "typetext" : "<boolean>"
32520 },
32521 "bwlimit" : {
32522 "default" : 0,
32523 "description" : "Limit I/O bandwidth (KBytes per second).",
32524 "minimum" : 0,
32525 "optional" : 1,
32526 "type" : "integer",
32527 "typetext" : "<integer> (0 - N)"
32528 },
32529 "compress" : {
32530 "default" : "0",
32531 "description" : "Compress dump file.",
32532 "enum" : [
32533 "0",
32534 "1",
32535 "gzip",
c5aa7e14
TL
32536 "lzo",
32537 "zstd"
4d47f125
TL
32538 ],
32539 "optional" : 1,
32540 "type" : "string"
32541 },
32542 "dumpdir" : {
32543 "description" : "Store resulting files to specified directory.",
32544 "optional" : 1,
32545 "type" : "string",
32546 "typetext" : "<string>"
32547 },
32548 "exclude" : {
32549 "description" : "Exclude specified guest systems (assumes --all)",
32550 "format" : "pve-vmid-list",
32551 "optional" : 1,
32552 "type" : "string",
32553 "typetext" : "<string>"
32554 },
32555 "exclude-path" : {
d2656385 32556 "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
32557 "format" : "string-alist",
32558 "optional" : 1,
32559 "type" : "string",
32560 "typetext" : "<string>"
32561 },
32562 "ionice" : {
32563 "default" : 7,
32564 "description" : "Set CFQ ionice priority.",
32565 "maximum" : 8,
32566 "minimum" : 0,
32567 "optional" : 1,
32568 "type" : "integer",
32569 "typetext" : "<integer> (0 - 8)"
32570 },
32571 "lockwait" : {
32572 "default" : 180,
32573 "description" : "Maximal time to wait for the global lock (minutes).",
32574 "minimum" : 0,
32575 "optional" : 1,
32576 "type" : "integer",
32577 "typetext" : "<integer> (0 - N)"
32578 },
32579 "mailnotification" : {
32580 "default" : "always",
32581 "description" : "Specify when to send an email",
32582 "enum" : [
32583 "always",
32584 "failure"
32585 ],
32586 "optional" : 1,
32587 "type" : "string"
32588 },
32589 "mailto" : {
d2656385
TL
32590 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
32591 "format" : "email-or-username-list",
4d47f125
TL
32592 "optional" : 1,
32593 "type" : "string",
32594 "typetext" : "<string>"
32595 },
32596 "maxfiles" : {
32597 "default" : 1,
32598 "description" : "Maximal number of backup files per guest system.",
32599 "minimum" : 1,
32600 "optional" : 1,
32601 "type" : "integer",
32602 "typetext" : "<integer> (1 - N)"
32603 },
32604 "mode" : {
32605 "default" : "snapshot",
32606 "description" : "Backup mode.",
32607 "enum" : [
32608 "snapshot",
32609 "suspend",
32610 "stop"
32611 ],
32612 "optional" : 1,
32613 "type" : "string"
32614 },
32615 "node" : {
32616 "description" : "Only run if executed on this node.",
32617 "format" : "pve-node",
32618 "optional" : 1,
32619 "type" : "string",
32620 "typetext" : "<string>"
32621 },
32622 "pigz" : {
32623 "default" : 0,
32624 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
32625 "optional" : 1,
32626 "type" : "integer",
32627 "typetext" : "<integer>"
32628 },
9226ccbc
TL
32629 "pool" : {
32630 "description" : "Backup all known guest systems included in the specified pool.",
32631 "optional" : 1,
32632 "type" : "string",
32633 "typetext" : "<string>"
32634 },
739d4d64
TL
32635 "prune-backups" : {
32636 "description" : "Use these retention options instead of those from the storage configuration.",
32637 "format" : "prune-backups",
32638 "optional" : 1,
32639 "type" : "string",
4772952b 32640 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 32641 },
4d47f125
TL
32642 "quiet" : {
32643 "default" : 0,
32644 "description" : "Be quiet.",
32645 "optional" : 1,
32646 "type" : "boolean",
32647 "typetext" : "<boolean>"
32648 },
32649 "remove" : {
32650 "default" : 1,
32651 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
32652 "optional" : 1,
32653 "type" : "boolean",
32654 "typetext" : "<boolean>"
32655 },
32656 "script" : {
32657 "description" : "Use specified hook script.",
32658 "optional" : 1,
32659 "type" : "string",
32660 "typetext" : "<string>"
32661 },
32662 "size" : {
32663 "default" : 1024,
32664 "description" : "Unused, will be removed in a future release.",
32665 "minimum" : 500,
32666 "optional" : 1,
32667 "type" : "integer",
32668 "typetext" : "<integer> (500 - N)"
32669 },
32670 "stdexcludes" : {
32671 "default" : 1,
32672 "description" : "Exclude temporary files and logs.",
32673 "optional" : 1,
32674 "type" : "boolean",
32675 "typetext" : "<boolean>"
32676 },
32677 "stdout" : {
32678 "description" : "Write tar to stdout, not to a file.",
32679 "optional" : 1,
32680 "type" : "boolean",
32681 "typetext" : "<boolean>"
32682 },
32683 "stop" : {
32684 "default" : 0,
1e3f8156 32685 "description" : "Stop running backup jobs on this host.",
4d47f125
TL
32686 "optional" : 1,
32687 "type" : "boolean",
32688 "typetext" : "<boolean>"
32689 },
32690 "stopwait" : {
32691 "default" : 10,
32692 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
32693 "minimum" : 0,
32694 "optional" : 1,
32695 "type" : "integer",
32696 "typetext" : "<integer> (0 - N)"
32697 },
32698 "storage" : {
32699 "description" : "Store resulting file to this storage.",
32700 "format" : "pve-storage-id",
32701 "optional" : 1,
32702 "type" : "string",
32703 "typetext" : "<string>"
32704 },
32705 "tmpdir" : {
32706 "description" : "Store temporary files to specified directory.",
32707 "optional" : 1,
32708 "type" : "string",
32709 "typetext" : "<string>"
32710 },
32711 "vmid" : {
32712 "description" : "The ID of the guest system you want to backup.",
32713 "format" : "pve-vmid-list",
32714 "optional" : 1,
32715 "type" : "string",
32716 "typetext" : "<string>"
c5aa7e14
TL
32717 },
32718 "zstd" : {
32719 "default" : 1,
32720 "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
32721 "optional" : 1,
32722 "type" : "integer",
32723 "typetext" : "<integer>"
4d47f125
TL
32724 }
32725 }
32726 },
32727 "permissions" : {
4772952b 32728 "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
32729 "user" : "all"
32730 },
32731 "protected" : 1,
32732 "proxyto" : "node",
32733 "returns" : {
32734 "type" : "string"
32735 }
32736 }
32737 },
32738 "leaf" : 0,
32739 "path" : "/nodes/{node}/vzdump",
32740 "text" : "vzdump"
32741 },
32742 {
32743 "children" : [
2489d6df
WB
32744 {
32745 "children" : [
32746 {
32747 "info" : {
4d47f125 32748 "GET" : {
e9cd3bd4 32749 "allowtoken" : 1,
4d47f125
TL
32750 "description" : "Read service properties",
32751 "method" : "GET",
32752 "name" : "service_state",
2489d6df
WB
32753 "parameters" : {
32754 "additionalProperties" : 0,
32755 "properties" : {
2489d6df
WB
32756 "node" : {
32757 "description" : "The cluster node name.",
32758 "format" : "pve-node",
32759 "type" : "string",
32760 "typetext" : "<string>"
4d47f125
TL
32761 },
32762 "service" : {
32763 "description" : "Service ID",
32764 "enum" : [
32765 "pveproxy",
32766 "pvedaemon",
32767 "spiceproxy",
32768 "pvestatd",
32769 "pve-cluster",
32770 "corosync",
32771 "pve-firewall",
32772 "pvefw-logger",
32773 "pve-ha-crm",
32774 "pve-ha-lrm",
32775 "sshd",
32776 "syslog",
32777 "cron",
32778 "postfix",
32779 "ksmtuned",
32780 "systemd-timesyncd"
32781 ],
32782 "type" : "string"
2489d6df
WB
32783 }
32784 }
32785 },
32786 "permissions" : {
32787 "check" : [
32788 "perm",
4d47f125 32789 "/nodes/{node}",
2489d6df 32790 [
4d47f125 32791 "Sys.Audit"
2489d6df
WB
32792 ]
32793 ]
32794 },
32795 "protected" : 1,
32796 "proxyto" : "node",
32797 "returns" : {
4d47f125 32798 "type" : "object"
2489d6df
WB
32799 }
32800 }
32801 },
32802 "leaf" : 1,
4d47f125
TL
32803 "path" : "/nodes/{node}/services/{service}/state",
32804 "text" : "state"
32805 },
32806 {
32807 "info" : {
32808 "POST" : {
e9cd3bd4 32809 "allowtoken" : 1,
4d47f125
TL
32810 "description" : "Start service.",
32811 "method" : "POST",
32812 "name" : "service_start",
32813 "parameters" : {
32814 "additionalProperties" : 0,
32815 "properties" : {
32816 "node" : {
32817 "description" : "The cluster node name.",
32818 "format" : "pve-node",
32819 "type" : "string",
32820 "typetext" : "<string>"
32821 },
32822 "service" : {
32823 "description" : "Service ID",
32824 "enum" : [
32825 "pveproxy",
32826 "pvedaemon",
32827 "spiceproxy",
32828 "pvestatd",
32829 "pve-cluster",
32830 "corosync",
32831 "pve-firewall",
32832 "pvefw-logger",
32833 "pve-ha-crm",
32834 "pve-ha-lrm",
32835 "sshd",
32836 "syslog",
32837 "cron",
32838 "postfix",
32839 "ksmtuned",
32840 "systemd-timesyncd"
32841 ],
32842 "type" : "string"
32843 }
32844 }
7aacca6f 32845 },
4d47f125
TL
32846 "permissions" : {
32847 "check" : [
32848 "perm",
32849 "/nodes/{node}",
32850 [
32851 "Sys.Modify"
32852 ]
32853 ]
7aacca6f 32854 },
4d47f125
TL
32855 "protected" : 1,
32856 "proxyto" : "node",
32857 "returns" : {
32858 "type" : "string"
32859 }
32860 }
56122987 32861 },
4d47f125
TL
32862 "leaf" : 1,
32863 "path" : "/nodes/{node}/services/{service}/start",
32864 "text" : "start"
32865 },
44660702
DM
32866 {
32867 "info" : {
4d47f125 32868 "POST" : {
e9cd3bd4 32869 "allowtoken" : 1,
4d47f125
TL
32870 "description" : "Stop service.",
32871 "method" : "POST",
32872 "name" : "service_stop",
44660702
DM
32873 "parameters" : {
32874 "additionalProperties" : 0,
32875 "properties" : {
44660702
DM
32876 "node" : {
32877 "description" : "The cluster node name.",
32878 "format" : "pve-node",
013dc89f
DM
32879 "type" : "string",
32880 "typetext" : "<string>"
2489d6df 32881 },
4d47f125
TL
32882 "service" : {
32883 "description" : "Service ID",
32884 "enum" : [
32885 "pveproxy",
32886 "pvedaemon",
32887 "spiceproxy",
32888 "pvestatd",
32889 "pve-cluster",
32890 "corosync",
32891 "pve-firewall",
32892 "pvefw-logger",
32893 "pve-ha-crm",
32894 "pve-ha-lrm",
32895 "sshd",
32896 "syslog",
32897 "cron",
32898 "postfix",
32899 "ksmtuned",
32900 "systemd-timesyncd"
32901 ],
32902 "type" : "string"
44660702
DM
32903 }
32904 }
32905 },
32906 "permissions" : {
32907 "check" : [
32908 "perm",
4d47f125 32909 "/nodes/{node}",
44660702
DM
32910 [
32911 "Sys.Modify"
32912 ]
32913 ]
32914 },
32915 "protected" : 1,
32916 "proxyto" : "node",
32917 "returns" : {
2489d6df 32918 "type" : "string"
44660702
DM
32919 }
32920 }
32921 },
32922 "leaf" : 1,
4d47f125
TL
32923 "path" : "/nodes/{node}/services/{service}/stop",
32924 "text" : "stop"
7aacca6f 32925 },
32d876b5
DM
32926 {
32927 "info" : {
4d47f125 32928 "POST" : {
e9cd3bd4 32929 "allowtoken" : 1,
739d4d64 32930 "description" : "Hard restart service. Use reload if you want to reduce interruptions.",
4d47f125
TL
32931 "method" : "POST",
32932 "name" : "service_restart",
32d876b5
DM
32933 "parameters" : {
32934 "additionalProperties" : 0,
32935 "properties" : {
4d47f125
TL
32936 "node" : {
32937 "description" : "The cluster node name.",
32938 "format" : "pve-node",
32939 "type" : "string",
32940 "typetext" : "<string>"
32941 },
32942 "service" : {
32943 "description" : "Service ID",
32d876b5 32944 "enum" : [
4d47f125
TL
32945 "pveproxy",
32946 "pvedaemon",
32947 "spiceproxy",
32948 "pvestatd",
32949 "pve-cluster",
32950 "corosync",
32951 "pve-firewall",
32952 "pvefw-logger",
32953 "pve-ha-crm",
32954 "pve-ha-lrm",
32955 "sshd",
32956 "syslog",
32957 "cron",
32958 "postfix",
32959 "ksmtuned",
32960 "systemd-timesyncd"
32d876b5
DM
32961 ],
32962 "type" : "string"
32d876b5
DM
32963 }
32964 }
32965 },
32966 "permissions" : {
32967 "check" : [
32968 "perm",
4d47f125 32969 "/nodes/{node}",
32d876b5
DM
32970 [
32971 "Sys.Modify"
32972 ]
32973 ]
32974 },
32975 "protected" : 1,
32976 "proxyto" : "node",
32977 "returns" : {
4d47f125 32978 "type" : "string"
32d876b5 32979 }
4d47f125
TL
32980 }
32981 },
32982 "leaf" : 1,
32983 "path" : "/nodes/{node}/services/{service}/restart",
32984 "text" : "restart"
32985 },
32986 {
32987 "info" : {
32d876b5 32988 "POST" : {
e9cd3bd4 32989 "allowtoken" : 1,
739d4d64 32990 "description" : "Reload service. Falls back to restart if service cannot be reloaded.",
32d876b5 32991 "method" : "POST",
4d47f125 32992 "name" : "service_reload",
32d876b5
DM
32993 "parameters" : {
32994 "additionalProperties" : 0,
32995 "properties" : {
32d876b5
DM
32996 "node" : {
32997 "description" : "The cluster node name.",
32998 "format" : "pve-node",
32999 "type" : "string",
33000 "typetext" : "<string>"
4d47f125
TL
33001 },
33002 "service" : {
33003 "description" : "Service ID",
33004 "enum" : [
33005 "pveproxy",
33006 "pvedaemon",
33007 "spiceproxy",
33008 "pvestatd",
33009 "pve-cluster",
33010 "corosync",
33011 "pve-firewall",
33012 "pvefw-logger",
33013 "pve-ha-crm",
33014 "pve-ha-lrm",
33015 "sshd",
33016 "syslog",
33017 "cron",
33018 "postfix",
33019 "ksmtuned",
33020 "systemd-timesyncd"
33021 ],
33022 "type" : "string"
32d876b5
DM
33023 }
33024 }
33025 },
33026 "permissions" : {
33027 "check" : [
33028 "perm",
4d47f125 33029 "/nodes/{node}",
32d876b5
DM
33030 [
33031 "Sys.Modify"
33032 ]
33033 ]
33034 },
33035 "protected" : 1,
33036 "proxyto" : "node",
33037 "returns" : {
4d47f125 33038 "type" : "string"
32d876b5
DM
33039 }
33040 }
33041 },
33042 "leaf" : 1,
4d47f125
TL
33043 "path" : "/nodes/{node}/services/{service}/reload",
33044 "text" : "reload"
32d876b5
DM
33045 }
33046 ],
33047 "info" : {
33048 "GET" : {
e9cd3bd4 33049 "allowtoken" : 1,
4d47f125 33050 "description" : "Directory index",
44660702 33051 "method" : "GET",
4d47f125 33052 "name" : "srvcmdidx",
44660702
DM
33053 "parameters" : {
33054 "additionalProperties" : 0,
33055 "properties" : {
44660702
DM
33056 "node" : {
33057 "description" : "The cluster node name.",
33058 "format" : "pve-node",
013dc89f
DM
33059 "type" : "string",
33060 "typetext" : "<string>"
44660702 33061 },
4d47f125
TL
33062 "service" : {
33063 "description" : "Service ID",
33064 "enum" : [
33065 "pveproxy",
33066 "pvedaemon",
33067 "spiceproxy",
33068 "pvestatd",
33069 "pve-cluster",
33070 "corosync",
33071 "pve-firewall",
33072 "pvefw-logger",
33073 "pve-ha-crm",
33074 "pve-ha-lrm",
33075 "sshd",
33076 "syslog",
33077 "cron",
33078 "postfix",
33079 "ksmtuned",
33080 "systemd-timesyncd"
33081 ],
33082 "type" : "string"
44660702 33083 }
7aacca6f 33084 }
56122987 33085 },
56122987
DM
33086 "permissions" : {
33087 "check" : [
33088 "perm",
7aacca6f 33089 "/nodes/{node}",
56122987 33090 [
4d47f125 33091 "Sys.Audit"
56122987
DM
33092 ]
33093 ]
33094 },
44660702
DM
33095 "returns" : {
33096 "items" : {
33097 "properties" : {
4d47f125 33098 "subdir" : {
44660702
DM
33099 "type" : "string"
33100 }
56122987 33101 },
44660702 33102 "type" : "object"
56122987 33103 },
2489d6df
WB
33104 "links" : [
33105 {
4d47f125 33106 "href" : "{subdir}",
2489d6df
WB
33107 "rel" : "child"
33108 }
33109 ],
33110 "type" : "array"
33111 }
33112 }
4d47f125
TL
33113 },
33114 "leaf" : 0,
33115 "path" : "/nodes/{node}/services/{service}",
33116 "text" : "{service}"
7aacca6f
DM
33117 }
33118 ],
44660702
DM
33119 "info" : {
33120 "GET" : {
e9cd3bd4 33121 "allowtoken" : 1,
4d47f125 33122 "description" : "Service list.",
44660702
DM
33123 "method" : "GET",
33124 "name" : "index",
33125 "parameters" : {
33126 "additionalProperties" : 0,
33127 "properties" : {
33128 "node" : {
33129 "description" : "The cluster node name.",
33130 "format" : "pve-node",
013dc89f
DM
33131 "type" : "string",
33132 "typetext" : "<string>"
44660702
DM
33133 }
33134 }
33135 },
33136 "permissions" : {
33137 "check" : [
33138 "perm",
4d47f125 33139 "/nodes/{node}",
44660702 33140 [
4d47f125
TL
33141 "Sys.Audit"
33142 ]
44660702
DM
33143 ]
33144 },
4d47f125
TL
33145 "protected" : 1,
33146 "proxyto" : "node",
44660702
DM
33147 "returns" : {
33148 "items" : {
33149 "properties" : {},
33150 "type" : "object"
33151 },
33152 "links" : [
33153 {
4d47f125 33154 "href" : "{service}",
44660702
DM
33155 "rel" : "child"
33156 }
33157 ],
33158 "type" : "array"
33159 }
33160 }
33161 },
7aacca6f 33162 "leaf" : 0,
4d47f125
TL
33163 "path" : "/nodes/{node}/services",
33164 "text" : "services"
7aacca6f
DM
33165 },
33166 {
7aacca6f 33167 "info" : {
ac70d7d1
TL
33168 "DELETE" : {
33169 "allowtoken" : 1,
33170 "description" : "Delete subscription key of this node.",
33171 "method" : "DELETE",
33172 "name" : "delete",
33173 "parameters" : {
33174 "additionalProperties" : 0,
33175 "properties" : {
33176 "node" : {
33177 "description" : "The cluster node name.",
33178 "format" : "pve-node",
33179 "type" : "string",
33180 "typetext" : "<string>"
33181 }
33182 }
33183 },
33184 "permissions" : {
33185 "check" : [
33186 "perm",
33187 "/nodes/{node}",
33188 [
33189 "Sys.Modify"
33190 ]
33191 ]
33192 },
33193 "protected" : 1,
33194 "proxyto" : "node",
33195 "returns" : {
33196 "type" : "null"
33197 }
33198 },
4d47f125 33199 "GET" : {
e9cd3bd4 33200 "allowtoken" : 1,
4d47f125
TL
33201 "description" : "Read subscription info.",
33202 "method" : "GET",
33203 "name" : "get",
7aacca6f 33204 "parameters" : {
44660702 33205 "additionalProperties" : 0,
7aacca6f 33206 "properties" : {
44660702 33207 "node" : {
4d47f125 33208 "description" : "The cluster node name.",
44660702 33209 "format" : "pve-node",
013dc89f
DM
33210 "type" : "string",
33211 "typetext" : "<string>"
4d47f125
TL
33212 }
33213 }
33214 },
33215 "permissions" : {
33216 "user" : "all"
33217 },
33218 "proxyto" : "node",
33219 "returns" : {
33220 "type" : "object"
33221 }
33222 },
33223 "POST" : {
e9cd3bd4 33224 "allowtoken" : 1,
4d47f125
TL
33225 "description" : "Update subscription info.",
33226 "method" : "POST",
33227 "name" : "update",
33228 "parameters" : {
33229 "additionalProperties" : 0,
33230 "properties" : {
33231 "force" : {
33232 "default" : 0,
33233 "description" : "Always connect to server, even if we have up to date info inside local cache.",
7aacca6f 33234 "optional" : 1,
4d47f125
TL
33235 "type" : "boolean",
33236 "typetext" : "<boolean>"
44660702 33237 },
4d47f125
TL
33238 "node" : {
33239 "description" : "The cluster node name.",
33240 "format" : "pve-node",
013dc89f
DM
33241 "type" : "string",
33242 "typetext" : "<string>"
4d47f125
TL
33243 }
33244 }
33245 },
33246 "permissions" : {
33247 "check" : [
33248 "perm",
33249 "/nodes/{node}",
33250 [
33251 "Sys.Modify"
33252 ]
33253 ]
33254 },
33255 "protected" : 1,
33256 "proxyto" : "node",
33257 "returns" : {
33258 "type" : "null"
33259 }
33260 },
33261 "PUT" : {
e9cd3bd4 33262 "allowtoken" : 1,
4d47f125
TL
33263 "description" : "Set subscription key.",
33264 "method" : "PUT",
33265 "name" : "set",
33266 "parameters" : {
33267 "additionalProperties" : 0,
33268 "properties" : {
33269 "key" : {
33270 "description" : "Proxmox VE subscription key",
33271 "maxLength" : 32,
5f26e15b 33272 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
4d47f125 33273 "type" : "string"
7aacca6f 33274 },
4d47f125
TL
33275 "node" : {
33276 "description" : "The cluster node name.",
33277 "format" : "pve-node",
013dc89f
DM
33278 "type" : "string",
33279 "typetext" : "<string>"
7aacca6f 33280 }
7aacca6f
DM
33281 }
33282 },
7aacca6f 33283 "permissions" : {
4d47f125
TL
33284 "check" : [
33285 "perm",
33286 "/nodes/{node}",
33287 [
33288 "Sys.Modify"
33289 ]
33290 ]
7aacca6f 33291 },
44660702 33292 "protected" : 1,
7aacca6f 33293 "proxyto" : "node",
7aacca6f 33294 "returns" : {
4d47f125 33295 "type" : "null"
7aacca6f
DM
33296 }
33297 }
33298 },
4d47f125
TL
33299 "leaf" : 1,
33300 "path" : "/nodes/{node}/subscription",
33301 "text" : "subscription"
44660702
DM
33302 },
33303 {
7aacca6f
DM
33304 "children" : [
33305 {
4d47f125
TL
33306 "info" : {
33307 "DELETE" : {
e9cd3bd4 33308 "allowtoken" : 1,
4d47f125
TL
33309 "description" : "Delete network device configuration",
33310 "method" : "DELETE",
33311 "name" : "delete_network",
33312 "parameters" : {
33313 "additionalProperties" : 0,
33314 "properties" : {
33315 "iface" : {
33316 "description" : "Network interface name.",
33317 "format" : "pve-iface",
33318 "maxLength" : 20,
33319 "minLength" : 2,
33320 "type" : "string",
33321 "typetext" : "<string>"
7aacca6f 33322 },
4d47f125
TL
33323 "node" : {
33324 "description" : "The cluster node name.",
33325 "format" : "pve-node",
33326 "type" : "string",
33327 "typetext" : "<string>"
44660702
DM
33328 }
33329 }
33330 },
4d47f125
TL
33331 "permissions" : {
33332 "check" : [
33333 "perm",
33334 "/nodes/{node}",
33335 [
33336 "Sys.Modify"
33337 ]
33338 ]
33339 },
33340 "protected" : 1,
33341 "proxyto" : "node",
33342 "returns" : {
33343 "type" : "null"
33344 }
33345 },
33346 "GET" : {
e9cd3bd4 33347 "allowtoken" : 1,
4d47f125
TL
33348 "description" : "Read network device configuration",
33349 "method" : "GET",
33350 "name" : "network_config",
33351 "parameters" : {
33352 "additionalProperties" : 0,
33353 "properties" : {
33354 "iface" : {
33355 "description" : "Network interface name.",
33356 "format" : "pve-iface",
33357 "maxLength" : 20,
33358 "minLength" : 2,
33359 "type" : "string",
33360 "typetext" : "<string>"
56122987 33361 },
4d47f125
TL
33362 "node" : {
33363 "description" : "The cluster node name.",
33364 "format" : "pve-node",
33365 "type" : "string",
33366 "typetext" : "<string>"
44660702
DM
33367 }
33368 }
33369 },
4d47f125
TL
33370 "permissions" : {
33371 "check" : [
33372 "perm",
33373 "/nodes/{node}",
33374 [
33375 "Sys.Audit"
33376 ]
33377 ]
33378 },
33379 "proxyto" : "node",
33380 "returns" : {
33381 "properties" : {
33382 "method" : {
33383 "type" : "string"
44660702 33384 },
4d47f125 33385 "type" : {
44660702
DM
33386 "type" : "string"
33387 }
4d47f125
TL
33388 },
33389 "type" : "object"
33390 }
56122987 33391 },
4d47f125 33392 "PUT" : {
e9cd3bd4 33393 "allowtoken" : 1,
4d47f125
TL
33394 "description" : "Update network device configuration",
33395 "method" : "PUT",
33396 "name" : "update_network",
33397 "parameters" : {
33398 "additionalProperties" : 0,
33399 "properties" : {
33400 "address" : {
33401 "description" : "IP address.",
33402 "format" : "ipv4",
33403 "optional" : 1,
33404 "requires" : "netmask",
33405 "type" : "string",
33406 "typetext" : "<string>"
33407 },
33408 "address6" : {
33409 "description" : "IP address.",
33410 "format" : "ipv6",
33411 "optional" : 1,
33412 "requires" : "netmask6",
33413 "type" : "string",
33414 "typetext" : "<string>"
33415 },
33416 "autostart" : {
33417 "description" : "Automatically start interface on boot.",
33418 "optional" : 1,
33419 "type" : "boolean",
33420 "typetext" : "<boolean>"
33421 },
e9cd3bd4
TL
33422 "bond-primary" : {
33423 "description" : "Specify the primary interface for active-backup bond.",
33424 "format" : "pve-iface",
33425 "optional" : 1,
33426 "type" : "string",
33427 "typetext" : "<string>"
33428 },
4d47f125
TL
33429 "bond_mode" : {
33430 "description" : "Bonding mode.",
33431 "enum" : [
33432 "balance-rr",
33433 "active-backup",
33434 "balance-xor",
33435 "broadcast",
33436 "802.3ad",
33437 "balance-tlb",
33438 "balance-alb",
33439 "balance-slb",
33440 "lacp-balance-slb",
33441 "lacp-balance-tcp"
33442 ],
33443 "optional" : 1,
33444 "type" : "string"
33445 },
33446 "bond_xmit_hash_policy" : {
33447 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
33448 "enum" : [
33449 "layer2",
33450 "layer2+3",
33451 "layer3+4"
33452 ],
33453 "optional" : 1,
33454 "type" : "string"
33455 },
33456 "bridge_ports" : {
1e3f8156 33457 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33458 "format" : "pve-iface-list",
33459 "optional" : 1,
33460 "type" : "string",
33461 "typetext" : "<string>"
33462 },
33463 "bridge_vlan_aware" : {
33464 "description" : "Enable bridge vlan support.",
33465 "optional" : 1,
33466 "type" : "boolean",
33467 "typetext" : "<boolean>"
33468 },
bb4c8cf8
TL
33469 "cidr" : {
33470 "description" : "IPv4 CIDR.",
33471 "format" : "CIDRv4",
33472 "optional" : 1,
33473 "type" : "string",
33474 "typetext" : "<string>"
33475 },
33476 "cidr6" : {
33477 "description" : "IPv6 CIDR.",
33478 "format" : "CIDRv6",
33479 "optional" : 1,
33480 "type" : "string",
33481 "typetext" : "<string>"
33482 },
4d47f125
TL
33483 "comments" : {
33484 "description" : "Comments",
33485 "optional" : 1,
33486 "type" : "string",
33487 "typetext" : "<string>"
33488 },
33489 "comments6" : {
33490 "description" : "Comments",
33491 "optional" : 1,
33492 "type" : "string",
33493 "typetext" : "<string>"
33494 },
33495 "delete" : {
33496 "description" : "A list of settings you want to delete.",
33497 "format" : "pve-configid-list",
33498 "optional" : 1,
33499 "type" : "string",
33500 "typetext" : "<string>"
33501 },
33502 "gateway" : {
33503 "description" : "Default gateway address.",
33504 "format" : "ipv4",
33505 "optional" : 1,
33506 "type" : "string",
33507 "typetext" : "<string>"
33508 },
33509 "gateway6" : {
33510 "description" : "Default ipv6 gateway address.",
33511 "format" : "ipv6",
33512 "optional" : 1,
33513 "type" : "string",
33514 "typetext" : "<string>"
33515 },
33516 "iface" : {
33517 "description" : "Network interface name.",
33518 "format" : "pve-iface",
33519 "maxLength" : 20,
33520 "minLength" : 2,
33521 "type" : "string",
33522 "typetext" : "<string>"
56122987 33523 },
e9cd3bd4
TL
33524 "mtu" : {
33525 "description" : "MTU.",
33526 "maximum" : 65520,
33527 "minimum" : 1280,
33528 "optional" : 1,
33529 "type" : "integer",
33530 "typetext" : "<integer> (1280 - 65520)"
33531 },
4d47f125
TL
33532 "netmask" : {
33533 "description" : "Network mask.",
33534 "format" : "ipv4mask",
33535 "optional" : 1,
33536 "requires" : "address",
33537 "type" : "string",
33538 "typetext" : "<string>"
33539 },
33540 "netmask6" : {
33541 "description" : "Network mask.",
33542 "maximum" : 128,
33543 "minimum" : 0,
33544 "optional" : 1,
33545 "requires" : "address6",
33546 "type" : "integer",
33547 "typetext" : "<integer> (0 - 128)"
56122987 33548 },
44660702
DM
33549 "node" : {
33550 "description" : "The cluster node name.",
33551 "format" : "pve-node",
013dc89f
DM
33552 "type" : "string",
33553 "typetext" : "<string>"
44660702 33554 },
4d47f125
TL
33555 "ovs_bonds" : {
33556 "description" : "Specify the interfaces used by the bonding device.",
33557 "format" : "pve-iface-list",
33558 "optional" : 1,
33559 "type" : "string",
33560 "typetext" : "<string>"
33561 },
33562 "ovs_bridge" : {
33563 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
33564 "format" : "pve-iface",
33565 "optional" : 1,
33566 "type" : "string",
33567 "typetext" : "<string>"
33568 },
33569 "ovs_options" : {
33570 "description" : "OVS interface options.",
33571 "maxLength" : 1024,
33572 "optional" : 1,
33573 "type" : "string",
33574 "typetext" : "<string>"
33575 },
33576 "ovs_ports" : {
1e3f8156 33577 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33578 "format" : "pve-iface-list",
33579 "optional" : 1,
33580 "type" : "string",
33581 "typetext" : "<string>"
33582 },
33583 "ovs_tag" : {
33584 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
33585 "maximum" : 4094,
33586 "minimum" : 1,
33587 "optional" : 1,
33588 "type" : "integer",
33589 "typetext" : "<integer> (1 - 4094)"
33590 },
33591 "slaves" : {
33592 "description" : "Specify the interfaces used by the bonding device.",
33593 "format" : "pve-iface-list",
33594 "optional" : 1,
33595 "type" : "string",
33596 "typetext" : "<string>"
33597 },
33598 "type" : {
33599 "description" : "Network interface type",
44660702 33600 "enum" : [
4d47f125
TL
33601 "bridge",
33602 "bond",
33603 "eth",
33604 "alias",
33605 "vlan",
33606 "OVSBridge",
33607 "OVSBond",
33608 "OVSPort",
33609 "OVSIntPort",
33610 "unknown"
44660702
DM
33611 ],
33612 "type" : "string"
e9cd3bd4
TL
33613 },
33614 "vlan-id" : {
33615 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
33616 "maximum" : 4094,
33617 "minimum" : 1,
33618 "optional" : 1,
33619 "type" : "integer",
33620 "typetext" : "<integer> (1 - 4094)"
33621 },
33622 "vlan-raw-device" : {
33623 "description" : "Specify the raw interface for the vlan interface.",
33624 "format" : "pve-iface",
33625 "optional" : 1,
33626 "type" : "string",
33627 "typetext" : "<string>"
44660702
DM
33628 }
33629 }
33630 },
33631 "permissions" : {
33632 "check" : [
33633 "perm",
33634 "/nodes/{node}",
33635 [
4d47f125 33636 "Sys.Modify"
44660702
DM
33637 ]
33638 ]
33639 },
4d47f125
TL
33640 "protected" : 1,
33641 "proxyto" : "node",
44660702 33642 "returns" : {
4d47f125 33643 "type" : "null"
44660702
DM
33644 }
33645 }
33646 },
4d47f125
TL
33647 "leaf" : 1,
33648 "path" : "/nodes/{node}/network/{iface}",
33649 "text" : "{iface}"
44660702
DM
33650 }
33651 ],
33652 "info" : {
4d47f125 33653 "DELETE" : {
e9cd3bd4 33654 "allowtoken" : 1,
4d47f125
TL
33655 "description" : "Revert network configuration changes.",
33656 "method" : "DELETE",
33657 "name" : "revert_network_changes",
44660702
DM
33658 "parameters" : {
33659 "additionalProperties" : 0,
33660 "properties" : {
33661 "node" : {
33662 "description" : "The cluster node name.",
33663 "format" : "pve-node",
013dc89f
DM
33664 "type" : "string",
33665 "typetext" : "<string>"
44660702
DM
33666 }
33667 }
33668 },
33669 "permissions" : {
33670 "check" : [
33671 "perm",
33672 "/nodes/{node}",
33673 [
4d47f125 33674 "Sys.Modify"
44660702
DM
33675 ]
33676 ]
33677 },
33678 "protected" : 1,
33679 "proxyto" : "node",
4d47f125
TL
33680 "returns" : {
33681 "type" : "null"
33682 }
33683 },
33684 "GET" : {
e9cd3bd4 33685 "allowtoken" : 1,
4d47f125
TL
33686 "description" : "List available networks",
33687 "method" : "GET",
33688 "name" : "index",
33689 "parameters" : {
33690 "additionalProperties" : 0,
33691 "properties" : {
33692 "node" : {
33693 "description" : "The cluster node name.",
33694 "format" : "pve-node",
33695 "type" : "string",
33696 "typetext" : "<string>"
33697 },
33698 "type" : {
33699 "description" : "Only list specific interface types.",
33700 "enum" : [
33701 "bridge",
33702 "bond",
33703 "eth",
33704 "alias",
33705 "vlan",
33706 "OVSBridge",
33707 "OVSBond",
33708 "OVSPort",
33709 "OVSIntPort",
33710 "any_bridge"
33711 ],
33712 "optional" : 1,
33713 "type" : "string"
33714 }
33715 }
33716 },
33717 "permissions" : {
33718 "user" : "all"
33719 },
33720 "proxyto" : "node",
44660702
DM
33721 "returns" : {
33722 "items" : {
33723 "properties" : {},
33724 "type" : "object"
33725 },
33726 "links" : [
33727 {
4d47f125 33728 "href" : "{iface}",
44660702 33729 "rel" : "child"
56122987 33730 }
44660702
DM
33731 ],
33732 "type" : "array"
33733 }
4d47f125
TL
33734 },
33735 "POST" : {
e9cd3bd4 33736 "allowtoken" : 1,
4d47f125
TL
33737 "description" : "Create network device configuration",
33738 "method" : "POST",
33739 "name" : "create_network",
7aacca6f 33740 "parameters" : {
44660702 33741 "additionalProperties" : 0,
7aacca6f 33742 "properties" : {
4d47f125
TL
33743 "address" : {
33744 "description" : "IP address.",
33745 "format" : "ipv4",
33746 "optional" : 1,
33747 "requires" : "netmask",
33748 "type" : "string",
33749 "typetext" : "<string>"
33750 },
33751 "address6" : {
33752 "description" : "IP address.",
33753 "format" : "ipv6",
33754 "optional" : 1,
33755 "requires" : "netmask6",
33756 "type" : "string",
33757 "typetext" : "<string>"
33758 },
33759 "autostart" : {
33760 "description" : "Automatically start interface on boot.",
33761 "optional" : 1,
33762 "type" : "boolean",
33763 "typetext" : "<boolean>"
33764 },
e9cd3bd4
TL
33765 "bond-primary" : {
33766 "description" : "Specify the primary interface for active-backup bond.",
33767 "format" : "pve-iface",
33768 "optional" : 1,
33769 "type" : "string",
33770 "typetext" : "<string>"
33771 },
4d47f125
TL
33772 "bond_mode" : {
33773 "description" : "Bonding mode.",
33774 "enum" : [
33775 "balance-rr",
33776 "active-backup",
33777 "balance-xor",
33778 "broadcast",
33779 "802.3ad",
33780 "balance-tlb",
33781 "balance-alb",
33782 "balance-slb",
33783 "lacp-balance-slb",
33784 "lacp-balance-tcp"
33785 ],
33786 "optional" : 1,
33787 "type" : "string"
33788 },
33789 "bond_xmit_hash_policy" : {
33790 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
33791 "enum" : [
33792 "layer2",
33793 "layer2+3",
33794 "layer3+4"
33795 ],
33796 "optional" : 1,
33797 "type" : "string"
33798 },
33799 "bridge_ports" : {
1e3f8156 33800 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33801 "format" : "pve-iface-list",
33802 "optional" : 1,
013dc89f
DM
33803 "type" : "string",
33804 "typetext" : "<string>"
4d47f125
TL
33805 },
33806 "bridge_vlan_aware" : {
33807 "description" : "Enable bridge vlan support.",
44660702 33808 "optional" : 1,
013dc89f
DM
33809 "type" : "boolean",
33810 "typetext" : "<boolean>"
44660702 33811 },
bb4c8cf8
TL
33812 "cidr" : {
33813 "description" : "IPv4 CIDR.",
33814 "format" : "CIDRv4",
33815 "optional" : 1,
33816 "type" : "string",
33817 "typetext" : "<string>"
33818 },
33819 "cidr6" : {
33820 "description" : "IPv6 CIDR.",
33821 "format" : "CIDRv6",
33822 "optional" : 1,
33823 "type" : "string",
33824 "typetext" : "<string>"
33825 },
4d47f125
TL
33826 "comments" : {
33827 "description" : "Comments",
33828 "optional" : 1,
33829 "type" : "string",
33830 "typetext" : "<string>"
33831 },
33832 "comments6" : {
33833 "description" : "Comments",
33834 "optional" : 1,
33835 "type" : "string",
33836 "typetext" : "<string>"
33837 },
33838 "gateway" : {
33839 "description" : "Default gateway address.",
33840 "format" : "ipv4",
33841 "optional" : 1,
33842 "type" : "string",
33843 "typetext" : "<string>"
33844 },
33845 "gateway6" : {
33846 "description" : "Default ipv6 gateway address.",
33847 "format" : "ipv6",
33848 "optional" : 1,
33849 "type" : "string",
33850 "typetext" : "<string>"
33851 },
33852 "iface" : {
33853 "description" : "Network interface name.",
33854 "format" : "pve-iface",
33855 "maxLength" : 20,
33856 "minLength" : 2,
33857 "type" : "string",
33858 "typetext" : "<string>"
33859 },
e9cd3bd4
TL
33860 "mtu" : {
33861 "description" : "MTU.",
33862 "maximum" : 65520,
33863 "minimum" : 1280,
33864 "optional" : 1,
33865 "type" : "integer",
33866 "typetext" : "<integer> (1280 - 65520)"
33867 },
4d47f125
TL
33868 "netmask" : {
33869 "description" : "Network mask.",
33870 "format" : "ipv4mask",
33871 "optional" : 1,
33872 "requires" : "address",
33873 "type" : "string",
33874 "typetext" : "<string>"
33875 },
33876 "netmask6" : {
33877 "description" : "Network mask.",
33878 "maximum" : 128,
33879 "minimum" : 0,
33880 "optional" : 1,
33881 "requires" : "address6",
33882 "type" : "integer",
33883 "typetext" : "<integer> (0 - 128)"
33884 },
7aacca6f 33885 "node" : {
7aacca6f 33886 "description" : "The cluster node name.",
44660702 33887 "format" : "pve-node",
013dc89f
DM
33888 "type" : "string",
33889 "typetext" : "<string>"
4d47f125
TL
33890 },
33891 "ovs_bonds" : {
33892 "description" : "Specify the interfaces used by the bonding device.",
33893 "format" : "pve-iface-list",
33894 "optional" : 1,
33895 "type" : "string",
33896 "typetext" : "<string>"
33897 },
33898 "ovs_bridge" : {
33899 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
33900 "format" : "pve-iface",
33901 "optional" : 1,
33902 "type" : "string",
33903 "typetext" : "<string>"
33904 },
33905 "ovs_options" : {
33906 "description" : "OVS interface options.",
33907 "maxLength" : 1024,
33908 "optional" : 1,
33909 "type" : "string",
33910 "typetext" : "<string>"
33911 },
33912 "ovs_ports" : {
1e3f8156 33913 "description" : "Specify the interfaces you want to add to your bridge.",
4d47f125
TL
33914 "format" : "pve-iface-list",
33915 "optional" : 1,
33916 "type" : "string",
33917 "typetext" : "<string>"
33918 },
33919 "ovs_tag" : {
33920 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
33921 "maximum" : 4094,
33922 "minimum" : 1,
33923 "optional" : 1,
33924 "type" : "integer",
33925 "typetext" : "<integer> (1 - 4094)"
33926 },
33927 "slaves" : {
33928 "description" : "Specify the interfaces used by the bonding device.",
33929 "format" : "pve-iface-list",
33930 "optional" : 1,
33931 "type" : "string",
33932 "typetext" : "<string>"
33933 },
33934 "type" : {
33935 "description" : "Network interface type",
33936 "enum" : [
33937 "bridge",
33938 "bond",
33939 "eth",
33940 "alias",
33941 "vlan",
33942 "OVSBridge",
33943 "OVSBond",
33944 "OVSPort",
33945 "OVSIntPort",
33946 "unknown"
33947 ],
33948 "type" : "string"
e9cd3bd4
TL
33949 },
33950 "vlan-id" : {
33951 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
33952 "maximum" : 4094,
33953 "minimum" : 1,
33954 "optional" : 1,
33955 "type" : "integer",
33956 "typetext" : "<integer> (1 - 4094)"
33957 },
33958 "vlan-raw-device" : {
33959 "description" : "Specify the raw interface for the vlan interface.",
33960 "format" : "pve-iface",
33961 "optional" : 1,
33962 "type" : "string",
33963 "typetext" : "<string>"
7aacca6f
DM
33964 }
33965 }
33966 },
35a75dd3
DM
33967 "permissions" : {
33968 "check" : [
33969 "perm",
33970 "/nodes/{node}",
33971 [
33972 "Sys.Modify"
33973 ]
33974 ]
33975 },
7aacca6f 33976 "protected" : 1,
7aacca6f 33977 "proxyto" : "node",
44660702
DM
33978 "returns" : {
33979 "type" : "null"
33980 }
33981 },
33982 "PUT" : {
e9cd3bd4 33983 "allowtoken" : 1,
4d47f125 33984 "description" : "Reload network configuration",
44660702 33985 "method" : "PUT",
4d47f125 33986 "name" : "reload_network_config",
7aacca6f
DM
33987 "parameters" : {
33988 "additionalProperties" : 0,
33989 "properties" : {
7aacca6f 33990 "node" : {
7aacca6f 33991 "description" : "The cluster node name.",
44660702 33992 "format" : "pve-node",
013dc89f
DM
33993 "type" : "string",
33994 "typetext" : "<string>"
7aacca6f
DM
33995 }
33996 }
33997 },
35a75dd3
DM
33998 "permissions" : {
33999 "check" : [
34000 "perm",
34001 "/nodes/{node}",
34002 [
34003 "Sys.Modify"
34004 ]
34005 ]
34006 },
44660702
DM
34007 "protected" : 1,
34008 "proxyto" : "node",
7aacca6f 34009 "returns" : {
4d47f125 34010 "type" : "string"
44660702 34011 }
7aacca6f
DM
34012 }
34013 },
4d47f125
TL
34014 "leaf" : 0,
34015 "path" : "/nodes/{node}/network",
34016 "text" : "network"
7aacca6f
DM
34017 },
34018 {
7aacca6f
DM
34019 "children" : [
34020 {
4d47f125
TL
34021 "children" : [
34022 {
34023 "info" : {
34024 "GET" : {
e9cd3bd4 34025 "allowtoken" : 1,
4d47f125
TL
34026 "description" : "Read task log.",
34027 "method" : "GET",
34028 "name" : "read_task_log",
34029 "parameters" : {
34030 "additionalProperties" : 0,
34031 "properties" : {
34032 "limit" : {
34033 "default" : 50,
34034 "minimum" : 0,
34035 "optional" : 1,
34036 "type" : "integer",
34037 "typetext" : "<integer> (0 - N)"
34038 },
34039 "node" : {
34040 "description" : "The cluster node name.",
34041 "format" : "pve-node",
34042 "type" : "string",
34043 "typetext" : "<string>"
34044 },
34045 "start" : {
34046 "default" : 0,
34047 "minimum" : 0,
34048 "optional" : 1,
34049 "type" : "integer",
34050 "typetext" : "<integer> (0 - N)"
34051 },
34052 "upid" : {
34053 "type" : "string",
34054 "typetext" : "<string>"
34055 }
34056 }
34057 },
34058 "permissions" : {
34059 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
34060 "user" : "all"
34061 },
34062 "protected" : 1,
34063 "proxyto" : "node",
34064 "returns" : {
34065 "items" : {
34066 "properties" : {
34067 "n" : {
34068 "description" : "Line number",
34069 "type" : "integer"
34070 },
34071 "t" : {
34072 "description" : "Line text",
34073 "type" : "string"
34074 }
34075 },
34076 "type" : "object"
34077 },
34078 "type" : "array"
34079 }
34080 }
34081 },
34082 "leaf" : 1,
34083 "path" : "/nodes/{node}/tasks/{upid}/log",
34084 "text" : "log"
34085 },
34086 {
34087 "info" : {
34088 "GET" : {
e9cd3bd4 34089 "allowtoken" : 1,
4d47f125
TL
34090 "description" : "Read task status.",
34091 "method" : "GET",
34092 "name" : "read_task_status",
34093 "parameters" : {
34094 "additionalProperties" : 0,
34095 "properties" : {
34096 "node" : {
34097 "description" : "The cluster node name.",
34098 "format" : "pve-node",
34099 "type" : "string",
34100 "typetext" : "<string>"
34101 },
34102 "upid" : {
34103 "type" : "string",
34104 "typetext" : "<string>"
34105 }
34106 }
34107 },
34108 "permissions" : {
34109 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
34110 "user" : "all"
34111 },
34112 "protected" : 1,
34113 "proxyto" : "node",
34114 "returns" : {
34115 "properties" : {
34116 "pid" : {
34117 "type" : "integer"
34118 },
34119 "status" : {
34120 "enum" : [
34121 "running",
34122 "stopped"
34123 ],
34124 "type" : "string"
34125 }
34126 },
34127 "type" : "object"
34128 }
34129 }
34130 },
34131 "leaf" : 1,
34132 "path" : "/nodes/{node}/tasks/{upid}/status",
34133 "text" : "status"
34134 }
34135 ],
56122987 34136 "info" : {
7aacca6f 34137 "DELETE" : {
e9cd3bd4 34138 "allowtoken" : 1,
4d47f125 34139 "description" : "Stop a task.",
44660702 34140 "method" : "DELETE",
4d47f125 34141 "name" : "stop_task",
44660702
DM
34142 "parameters" : {
34143 "additionalProperties" : 0,
34144 "properties" : {
44660702
DM
34145 "node" : {
34146 "description" : "The cluster node name.",
34147 "format" : "pve-node",
013dc89f
DM
34148 "type" : "string",
34149 "typetext" : "<string>"
4d47f125
TL
34150 },
34151 "upid" : {
34152 "type" : "string",
34153 "typetext" : "<string>"
44660702
DM
34154 }
34155 }
7aacca6f
DM
34156 },
34157 "permissions" : {
4d47f125
TL
34158 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
34159 "user" : "all"
7aacca6f 34160 },
44660702 34161 "protected" : 1,
7aacca6f 34162 "proxyto" : "node",
44660702
DM
34163 "returns" : {
34164 "type" : "null"
34165 }
34166 },
34167 "GET" : {
e9cd3bd4 34168 "allowtoken" : 1,
4d47f125 34169 "description" : "",
44660702 34170 "method" : "GET",
4d47f125 34171 "name" : "upid_index",
7aacca6f
DM
34172 "parameters" : {
34173 "additionalProperties" : 0,
34174 "properties" : {
7aacca6f 34175 "node" : {
44660702 34176 "description" : "The cluster node name.",
7aacca6f 34177 "format" : "pve-node",
013dc89f
DM
34178 "type" : "string",
34179 "typetext" : "<string>"
7aacca6f 34180 },
4d47f125
TL
34181 "upid" : {
34182 "type" : "string",
34183 "typetext" : "<string>"
7aacca6f
DM
34184 }
34185 }
34186 },
7aacca6f 34187 "permissions" : {
4d47f125 34188 "user" : "all"
7aacca6f
DM
34189 },
34190 "returns" : {
4d47f125
TL
34191 "items" : {
34192 "properties" : {},
34193 "type" : "object"
34194 },
34195 "links" : [
34196 {
34197 "href" : "{name}",
34198 "rel" : "child"
34199 }
34200 ],
34201 "type" : "array"
44660702 34202 }
7aacca6f
DM
34203 }
34204 },
4d47f125
TL
34205 "leaf" : 0,
34206 "path" : "/nodes/{node}/tasks/{upid}",
34207 "text" : "{upid}"
7aacca6f
DM
34208 }
34209 ],
7aacca6f 34210 "info" : {
44660702 34211 "GET" : {
e9cd3bd4 34212 "allowtoken" : 1,
4d47f125 34213 "description" : "Read task list for one node (finished tasks).",
44660702 34214 "method" : "GET",
4d47f125 34215 "name" : "node_tasks",
44660702
DM
34216 "parameters" : {
34217 "additionalProperties" : 0,
34218 "properties" : {
4d47f125
TL
34219 "errors" : {
34220 "default" : 0,
7aacca6f 34221 "optional" : 1,
4d47f125
TL
34222 "type" : "boolean",
34223 "typetext" : "<boolean>"
7aacca6f 34224 },
4d47f125
TL
34225 "limit" : {
34226 "default" : 50,
34227 "description" : "Only list this amount of tasks.",
34228 "minimum" : 0,
44660702 34229 "optional" : 1,
4d47f125
TL
34230 "type" : "integer",
34231 "typetext" : "<integer> (0 - N)"
34232 },
34233 "node" : {
34234 "description" : "The cluster node name.",
34235 "format" : "pve-node",
013dc89f
DM
34236 "type" : "string",
34237 "typetext" : "<string>"
44660702 34238 },
5f26e15b
TL
34239 "source" : {
34240 "default" : "archive",
34241 "description" : "List archived, active or all tasks.",
34242 "enum" : [
34243 "archive",
34244 "active",
34245 "all"
34246 ],
34247 "optional" : 1,
34248 "type" : "string"
34249 },
4d47f125
TL
34250 "start" : {
34251 "default" : 0,
34252 "description" : "List tasks beginning from this offset.",
34253 "minimum" : 0,
44660702 34254 "optional" : 1,
4d47f125
TL
34255 "type" : "integer",
34256 "typetext" : "<integer> (0 - N)"
44660702 34257 },
5f26e15b
TL
34258 "typefilter" : {
34259 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
34260 "optional" : 1,
34261 "type" : "string",
34262 "typetext" : "<string>"
34263 },
4d47f125
TL
34264 "userfilter" : {
34265 "description" : "Only list tasks from this user.",
44660702 34266 "optional" : 1,
013dc89f
DM
34267 "type" : "string",
34268 "typetext" : "<string>"
44660702 34269 },
4d47f125
TL
34270 "vmid" : {
34271 "description" : "Only list tasks for this VM.",
34272 "format" : "pve-vmid",
44660702
DM
34273 "minimum" : 1,
34274 "optional" : 1,
4bd7df8b 34275 "type" : "integer",
4d47f125
TL
34276 "typetext" : "<integer> (1 - N)"
34277 }
34278 }
34279 },
34280 "permissions" : {
34281 "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).",
34282 "user" : "all"
34283 },
34284 "proxyto" : "node",
34285 "returns" : {
34286 "items" : {
34287 "properties" : {
34288 "endtime" : {
34289 "optional" : 1,
34290 "title" : "Endtime",
34291 "type" : "integer"
34292 },
34293 "id" : {
4d47f125
TL
34294 "title" : "ID",
34295 "type" : "string"
34296 },
34297 "node" : {
4d47f125
TL
34298 "title" : "Node",
34299 "type" : "string"
34300 },
34301 "pid" : {
4d47f125
TL
34302 "title" : "PID",
34303 "type" : "integer"
34304 },
34305 "pstart" : {
4d47f125
TL
34306 "type" : "integer"
34307 },
34308 "starttime" : {
4d47f125
TL
34309 "title" : "Starttime",
34310 "type" : "integer"
34311 },
34312 "status" : {
34313 "optional" : 1,
34314 "title" : "Status",
34315 "type" : "string"
34316 },
34317 "type" : {
4d47f125
TL
34318 "title" : "Type",
34319 "type" : "string"
34320 },
34321 "upid" : {
34322 "title" : "UPID",
34323 "type" : "string"
34324 },
34325 "user" : {
4d47f125
TL
34326 "title" : "User",
34327 "type" : "string"
34328 }
44660702 34329 },
4d47f125
TL
34330 "type" : "object"
34331 },
34332 "links" : [
34333 {
34334 "href" : "{upid}",
34335 "rel" : "child"
34336 }
34337 ],
34338 "type" : "array"
34339 }
34340 }
34341 },
34342 "leaf" : 0,
34343 "path" : "/nodes/{node}/tasks",
34344 "text" : "tasks"
34345 },
34346 {
34347 "children" : [
34348 {
34349 "info" : {
34350 "GET" : {
e9cd3bd4 34351 "allowtoken" : 1,
d2656385 34352 "description" : "Scan remote NFS server.",
4d47f125 34353 "method" : "GET",
d2656385 34354 "name" : "nfsscan",
4d47f125
TL
34355 "parameters" : {
34356 "additionalProperties" : 0,
34357 "properties" : {
34358 "node" : {
34359 "description" : "The cluster node name.",
34360 "format" : "pve-node",
34361 "type" : "string",
34362 "typetext" : "<string>"
d2656385
TL
34363 },
34364 "server" : {
34365 "description" : "The server address (name or IP).",
34366 "format" : "pve-storage-server",
34367 "type" : "string",
34368 "typetext" : "<string>"
4d47f125
TL
34369 }
34370 }
44660702 34371 },
4d47f125
TL
34372 "permissions" : {
34373 "check" : [
34374 "perm",
34375 "/storage",
34376 [
34377 "Datastore.Allocate"
34378 ]
34379 ]
34380 },
34381 "protected" : 1,
34382 "proxyto" : "node",
34383 "returns" : {
34384 "items" : {
34385 "properties" : {
d2656385
TL
34386 "options" : {
34387 "description" : "NFS export options.",
34388 "type" : "string"
34389 },
34390 "path" : {
34391 "description" : "The exported path.",
4d47f125
TL
34392 "type" : "string"
34393 }
34394 },
34395 "type" : "object"
34396 },
34397 "type" : "array"
34398 }
34399 }
34400 },
34401 "leaf" : 1,
d2656385
TL
34402 "path" : "/nodes/{node}/scan/nfs",
34403 "text" : "nfs"
4d47f125
TL
34404 },
34405 {
34406 "info" : {
34407 "GET" : {
e9cd3bd4 34408 "allowtoken" : 1,
d2656385 34409 "description" : "Scan remote CIFS server.",
4d47f125 34410 "method" : "GET",
d2656385 34411 "name" : "cifsscan",
4d47f125
TL
34412 "parameters" : {
34413 "additionalProperties" : 0,
34414 "properties" : {
d2656385
TL
34415 "domain" : {
34416 "description" : "SMB domain (Workgroup).",
34417 "optional" : 1,
34418 "type" : "string",
34419 "typetext" : "<string>"
34420 },
4d47f125
TL
34421 "node" : {
34422 "description" : "The cluster node name.",
34423 "format" : "pve-node",
34424 "type" : "string",
34425 "typetext" : "<string>"
34426 },
d2656385
TL
34427 "password" : {
34428 "description" : "User password.",
34429 "optional" : 1,
34430 "type" : "string",
34431 "typetext" : "<string>"
34432 },
4d47f125
TL
34433 "server" : {
34434 "description" : "The server address (name or IP).",
34435 "format" : "pve-storage-server",
34436 "type" : "string",
34437 "typetext" : "<string>"
d2656385
TL
34438 },
34439 "username" : {
34440 "description" : "User name.",
34441 "optional" : 1,
34442 "type" : "string",
34443 "typetext" : "<string>"
4d47f125
TL
34444 }
34445 }
34446 },
34447 "permissions" : {
34448 "check" : [
34449 "perm",
34450 "/storage",
34451 [
34452 "Datastore.Allocate"
34453 ]
34454 ]
34455 },
34456 "protected" : 1,
34457 "proxyto" : "node",
34458 "returns" : {
34459 "items" : {
34460 "properties" : {
d2656385
TL
34461 "description" : {
34462 "description" : "Descriptive text from server.",
4d47f125
TL
34463 "type" : "string"
34464 },
d2656385
TL
34465 "share" : {
34466 "description" : "The cifs share name.",
4d47f125
TL
34467 "type" : "string"
34468 }
34469 },
34470 "type" : "object"
34471 },
34472 "type" : "array"
34473 }
34474 }
34475 },
34476 "leaf" : 1,
d2656385
TL
34477 "path" : "/nodes/{node}/scan/cifs",
34478 "text" : "cifs"
4d47f125
TL
34479 },
34480 {
34481 "info" : {
34482 "GET" : {
e9cd3bd4 34483 "allowtoken" : 1,
d2656385 34484 "description" : "Scan remote Proxmox Backup Server.",
4d47f125 34485 "method" : "GET",
d2656385 34486 "name" : "pbsscan",
4d47f125
TL
34487 "parameters" : {
34488 "additionalProperties" : 0,
34489 "properties" : {
d2656385
TL
34490 "fingerprint" : {
34491 "description" : "Certificate SHA 256 fingerprint.",
4d47f125 34492 "optional" : 1,
d2656385
TL
34493 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
34494 "type" : "string"
4d47f125
TL
34495 },
34496 "node" : {
34497 "description" : "The cluster node name.",
34498 "format" : "pve-node",
34499 "type" : "string",
34500 "typetext" : "<string>"
34501 },
34502 "password" : {
d2656385 34503 "description" : "User password or API token secret.",
4d47f125
TL
34504 "type" : "string",
34505 "typetext" : "<string>"
34506 },
d2656385
TL
34507 "port" : {
34508 "default" : 8007,
34509 "description" : "Optional port.",
34510 "maximum" : 65535,
34511 "minimum" : 1,
34512 "optional" : 1,
34513 "type" : "integer",
34514 "typetext" : "<integer> (1 - 65535)"
34515 },
4d47f125
TL
34516 "server" : {
34517 "description" : "The server address (name or IP).",
34518 "format" : "pve-storage-server",
34519 "type" : "string",
34520 "typetext" : "<string>"
34521 },
34522 "username" : {
d2656385 34523 "description" : "User-name or API token-ID.",
4d47f125
TL
34524 "type" : "string",
34525 "typetext" : "<string>"
34526 }
34527 }
34528 },
34529 "permissions" : {
34530 "check" : [
34531 "perm",
34532 "/storage",
34533 [
34534 "Datastore.Allocate"
34535 ]
34536 ]
34537 },
34538 "protected" : 1,
34539 "proxyto" : "node",
34540 "returns" : {
34541 "items" : {
34542 "properties" : {
d2656385
TL
34543 "comment" : {
34544 "description" : "Comment from server.",
34545 "optional" : 1,
4d47f125
TL
34546 "type" : "string"
34547 },
d2656385
TL
34548 "store" : {
34549 "description" : "The datastore name.",
4d47f125
TL
34550 "type" : "string"
34551 }
34552 },
34553 "type" : "object"
34554 },
34555 "type" : "array"
56122987 34556 }
44660702 34557 }
56122987 34558 },
4d47f125 34559 "leaf" : 1,
d2656385
TL
34560 "path" : "/nodes/{node}/scan/pbs",
34561 "text" : "pbs"
4d47f125 34562 },
44660702 34563 {
4d47f125
TL
34564 "info" : {
34565 "GET" : {
e9cd3bd4 34566 "allowtoken" : 1,
4d47f125
TL
34567 "description" : "Scan remote GlusterFS server.",
34568 "method" : "GET",
34569 "name" : "glusterfsscan",
34570 "parameters" : {
34571 "additionalProperties" : 0,
34572 "properties" : {
34573 "node" : {
34574 "description" : "The cluster node name.",
34575 "format" : "pve-node",
34576 "type" : "string",
34577 "typetext" : "<string>"
7aacca6f 34578 },
4d47f125
TL
34579 "server" : {
34580 "description" : "The server address (name or IP).",
34581 "format" : "pve-storage-server",
34582 "type" : "string",
34583 "typetext" : "<string>"
44660702 34584 }
7aacca6f 34585 }
56122987 34586 },
4d47f125
TL
34587 "permissions" : {
34588 "check" : [
34589 "perm",
34590 "/storage",
34591 [
34592 "Datastore.Allocate"
34593 ]
34594 ]
34595 },
34596 "protected" : 1,
34597 "proxyto" : "node",
34598 "returns" : {
34599 "items" : {
34600 "properties" : {
34601 "volname" : {
34602 "description" : "The volume name.",
34603 "type" : "string"
7aacca6f
DM
34604 }
34605 },
4d47f125
TL
34606 "type" : "object"
34607 },
34608 "type" : "array"
34609 }
34610 }
34611 },
34612 "leaf" : 1,
34613 "path" : "/nodes/{node}/scan/glusterfs",
34614 "text" : "glusterfs"
34615 },
34616 {
34617 "info" : {
34618 "GET" : {
e9cd3bd4 34619 "allowtoken" : 1,
4d47f125
TL
34620 "description" : "Scan remote iSCSI server.",
34621 "method" : "GET",
34622 "name" : "iscsiscan",
34623 "parameters" : {
34624 "additionalProperties" : 0,
34625 "properties" : {
34626 "node" : {
34627 "description" : "The cluster node name.",
34628 "format" : "pve-node",
34629 "type" : "string",
34630 "typetext" : "<string>"
56122987 34631 },
4d47f125
TL
34632 "portal" : {
34633 "description" : "The iSCSI portal (IP or DNS name with optional port).",
34634 "format" : "pve-storage-portal-dns",
34635 "type" : "string",
34636 "typetext" : "<string>"
34637 }
34638 }
34639 },
34640 "permissions" : {
34641 "check" : [
34642 "perm",
34643 "/storage",
34644 [
34645 "Datastore.Allocate"
34646 ]
34647 ]
34648 },
34649 "protected" : 1,
34650 "proxyto" : "node",
34651 "returns" : {
34652 "items" : {
34653 "properties" : {
34654 "portal" : {
34655 "description" : "The iSCSI portal name.",
34656 "type" : "string"
7aacca6f 34657 },
4d47f125
TL
34658 "target" : {
34659 "description" : "The iSCSI target name.",
34660 "type" : "string"
34661 }
34662 },
34663 "type" : "object"
34664 },
34665 "type" : "array"
34666 }
34667 }
34668 },
34669 "leaf" : 1,
34670 "path" : "/nodes/{node}/scan/iscsi",
34671 "text" : "iscsi"
34672 },
34673 {
34674 "info" : {
34675 "GET" : {
e9cd3bd4 34676 "allowtoken" : 1,
4d47f125
TL
34677 "description" : "List local LVM volume groups.",
34678 "method" : "GET",
34679 "name" : "lvmscan",
34680 "parameters" : {
34681 "additionalProperties" : 0,
34682 "properties" : {
34683 "node" : {
34684 "description" : "The cluster node name.",
34685 "format" : "pve-node",
34686 "type" : "string",
34687 "typetext" : "<string>"
56122987 34688 }
7aacca6f 34689 }
44660702 34690 },
4d47f125
TL
34691 "permissions" : {
34692 "check" : [
34693 "perm",
34694 "/storage",
34695 [
34696 "Datastore.Allocate"
34697 ]
34698 ]
34699 },
34700 "protected" : 1,
34701 "proxyto" : "node",
34702 "returns" : {
34703 "items" : {
34704 "properties" : {
34705 "vg" : {
34706 "description" : "The LVM logical volume group name.",
34707 "type" : "string"
34708 }
34709 },
34710 "type" : "object"
34711 },
34712 "type" : "array"
34713 }
56122987 34714 }
4d47f125
TL
34715 },
34716 "leaf" : 1,
34717 "path" : "/nodes/{node}/scan/lvm",
34718 "text" : "lvm"
34719 },
34720 {
44660702 34721 "info" : {
4d47f125 34722 "GET" : {
e9cd3bd4 34723 "allowtoken" : 1,
4d47f125
TL
34724 "description" : "List local LVM Thin Pools.",
34725 "method" : "GET",
34726 "name" : "lvmthinscan",
44660702
DM
34727 "parameters" : {
34728 "additionalProperties" : 0,
34729 "properties" : {
34730 "node" : {
34731 "description" : "The cluster node name.",
34732 "format" : "pve-node",
013dc89f
DM
34733 "type" : "string",
34734 "typetext" : "<string>"
44660702 34735 },
4d47f125
TL
34736 "vg" : {
34737 "maxLength" : 100,
34738 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
34739 "type" : "string"
44660702 34740 }
7aacca6f 34741 }
44660702
DM
34742 },
34743 "permissions" : {
4d47f125
TL
34744 "check" : [
34745 "perm",
34746 "/storage",
34747 [
34748 "Datastore.Allocate"
34749 ]
34750 ]
44660702
DM
34751 },
34752 "protected" : 1,
34753 "proxyto" : "node",
34754 "returns" : {
4d47f125
TL
34755 "items" : {
34756 "properties" : {
34757 "lv" : {
34758 "description" : "The LVM Thin Pool name (LVM logical volume).",
34759 "type" : "string"
34760 }
34761 },
34762 "type" : "object"
34763 },
34764 "type" : "array"
7aacca6f 34765 }
4d47f125
TL
34766 }
34767 },
34768 "leaf" : 1,
34769 "path" : "/nodes/{node}/scan/lvmthin",
34770 "text" : "lvmthin"
34771 },
d2656385
TL
34772 {
34773 "info" : {
34774 "GET" : {
34775 "allowtoken" : 1,
34776 "description" : "Scan zfs pool list on local node.",
34777 "method" : "GET",
34778 "name" : "zfsscan",
34779 "parameters" : {
34780 "additionalProperties" : 0,
34781 "properties" : {
34782 "node" : {
34783 "description" : "The cluster node name.",
34784 "format" : "pve-node",
34785 "type" : "string",
34786 "typetext" : "<string>"
34787 }
34788 }
34789 },
34790 "permissions" : {
34791 "check" : [
34792 "perm",
34793 "/storage",
34794 [
34795 "Datastore.Allocate"
34796 ]
34797 ]
34798 },
34799 "protected" : 1,
34800 "proxyto" : "node",
34801 "returns" : {
34802 "items" : {
34803 "properties" : {
34804 "pool" : {
34805 "description" : "ZFS pool name.",
34806 "type" : "string"
34807 }
34808 },
34809 "type" : "object"
34810 },
34811 "type" : "array"
34812 }
34813 }
34814 },
34815 "leaf" : 1,
34816 "path" : "/nodes/{node}/scan/zfs",
34817 "text" : "zfs"
34818 },
4d47f125
TL
34819 {
34820 "info" : {
44660702 34821 "GET" : {
e9cd3bd4 34822 "allowtoken" : 1,
4d47f125 34823 "description" : "List local USB devices.",
44660702 34824 "method" : "GET",
4d47f125 34825 "name" : "usbscan",
44660702
DM
34826 "parameters" : {
34827 "additionalProperties" : 0,
34828 "properties" : {
34829 "node" : {
34830 "description" : "The cluster node name.",
34831 "format" : "pve-node",
013dc89f
DM
34832 "type" : "string",
34833 "typetext" : "<string>"
44660702
DM
34834 }
34835 }
34836 },
34837 "permissions" : {
4d47f125
TL
34838 "check" : [
34839 "perm",
34840 "/",
34841 [
34842 "Sys.Modify"
34843 ]
34844 ]
44660702 34845 },
4d47f125
TL
34846 "protected" : 1,
34847 "proxyto" : "node",
44660702
DM
34848 "returns" : {
34849 "items" : {
4d47f125
TL
34850 "properties" : {
34851 "busnum" : {
34852 "type" : "integer"
34853 },
34854 "class" : {
34855 "type" : "integer"
34856 },
34857 "devnum" : {
34858 "type" : "integer"
34859 },
34860 "level" : {
34861 "type" : "integer"
34862 },
34863 "manufacturer" : {
34864 "optional" : 1,
34865 "type" : "string"
34866 },
34867 "port" : {
34868 "type" : "integer"
34869 },
34870 "prodid" : {
34871 "type" : "string"
34872 },
34873 "product" : {
34874 "optional" : 1,
34875 "type" : "string"
34876 },
34877 "serial" : {
34878 "optional" : 1,
34879 "type" : "string"
34880 },
34881 "speed" : {
34882 "type" : "string"
34883 },
34884 "usbpath" : {
34885 "optional" : 1,
34886 "type" : "string"
34887 },
34888 "vendid" : {
34889 "type" : "string"
34890 }
34891 },
44660702
DM
34892 "type" : "object"
34893 },
44660702 34894 "type" : "array"
56122987 34895 }
44660702 34896 }
56122987 34897 },
4d47f125
TL
34898 "leaf" : 1,
34899 "path" : "/nodes/{node}/scan/usb",
34900 "text" : "usb"
44660702
DM
34901 }
34902 ],
34903 "info" : {
34904 "GET" : {
e9cd3bd4 34905 "allowtoken" : 1,
4d47f125 34906 "description" : "Index of available scan methods",
44660702 34907 "method" : "GET",
4d47f125 34908 "name" : "index",
56122987 34909 "parameters" : {
7aacca6f 34910 "additionalProperties" : 0,
56122987 34911 "properties" : {
56122987
DM
34912 "node" : {
34913 "description" : "The cluster node name.",
44660702 34914 "format" : "pve-node",
013dc89f
DM
34915 "type" : "string",
34916 "typetext" : "<string>"
56122987
DM
34917 }
34918 }
34919 },
7aacca6f
DM
34920 "permissions" : {
34921 "user" : "all"
34922 },
56122987
DM
34923 "returns" : {
34924 "items" : {
34925 "properties" : {
4d47f125 34926 "method" : {
56122987
DM
34927 "type" : "string"
34928 }
34929 },
34930 "type" : "object"
34931 },
56122987
DM
34932 "links" : [
34933 {
4d47f125 34934 "href" : "{method}",
44660702 34935 "rel" : "child"
56122987 34936 }
44660702
DM
34937 ],
34938 "type" : "array"
56122987
DM
34939 }
34940 }
34941 },
44660702 34942 "leaf" : 0,
4d47f125
TL
34943 "path" : "/nodes/{node}/scan",
34944 "text" : "scan"
44660702 34945 },
e2d681b3
TL
34946 {
34947 "children" : [
34948 {
34949 "children" : [
34950 {
34951 "children" : [
34952 {
34953 "info" : {
34954 "GET" : {
e9cd3bd4 34955 "allowtoken" : 1,
e2d681b3
TL
34956 "description" : "List mediated device types for given PCI device.",
34957 "method" : "GET",
34958 "name" : "mdevscan",
34959 "parameters" : {
34960 "additionalProperties" : 0,
34961 "properties" : {
34962 "node" : {
34963 "description" : "The cluster node name.",
34964 "format" : "pve-node",
34965 "type" : "string",
34966 "typetext" : "<string>"
34967 },
34968 "pciid" : {
34969 "description" : "The PCI ID to list the mdev types for.",
34970 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
34971 "type" : "string"
34972 }
34973 }
34974 },
34975 "permissions" : {
34976 "check" : [
34977 "perm",
34978 "/",
34979 [
34980 "Sys.Modify"
34981 ]
34982 ]
34983 },
34984 "protected" : 1,
34985 "proxyto" : "node",
34986 "returns" : {
34987 "items" : {
34988 "properties" : {
34989 "available" : {
34990 "description" : "The number of still available instances of this type.",
34991 "type" : "integer"
34992 },
34993 "description" : {
34994 "type" : "string"
34995 },
34996 "type" : {
34997 "description" : "The name of the mdev type.",
34998 "type" : "string"
34999 }
35000 },
35001 "type" : "object"
35002 },
35003 "type" : "array"
35004 }
35005 }
35006 },
35007 "leaf" : 1,
35008 "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
35009 "text" : "mdev"
35010 }
35011 ],
35012 "info" : {
35013 "GET" : {
e9cd3bd4 35014 "allowtoken" : 1,
e2d681b3
TL
35015 "description" : "Index of available pci methods",
35016 "method" : "GET",
35017 "name" : "pciindex",
35018 "parameters" : {
35019 "additionalProperties" : 0,
35020 "properties" : {
35021 "node" : {
35022 "description" : "The cluster node name.",
35023 "format" : "pve-node",
35024 "type" : "string",
35025 "typetext" : "<string>"
35026 },
35027 "pciid" : {
35028 "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
35029 "type" : "string"
35030 }
35031 }
35032 },
35033 "permissions" : {
35034 "user" : "all"
35035 },
35036 "returns" : {
35037 "items" : {
35038 "properties" : {
35039 "method" : {
35040 "type" : "string"
35041 }
35042 },
35043 "type" : "object"
35044 },
35045 "links" : [
35046 {
35047 "href" : "{method}",
35048 "rel" : "child"
35049 }
35050 ],
35051 "type" : "array"
35052 }
35053 }
35054 },
35055 "leaf" : 0,
35056 "path" : "/nodes/{node}/hardware/pci/{pciid}",
35057 "text" : "{pciid}"
35058 }
35059 ],
35060 "info" : {
35061 "GET" : {
e9cd3bd4 35062 "allowtoken" : 1,
e2d681b3
TL
35063 "description" : "List local PCI devices.",
35064 "method" : "GET",
35065 "name" : "pciscan",
35066 "parameters" : {
35067 "additionalProperties" : 0,
35068 "properties" : {
35069 "node" : {
35070 "description" : "The cluster node name.",
35071 "format" : "pve-node",
35072 "type" : "string",
35073 "typetext" : "<string>"
35074 },
35075 "pci-class-blacklist" : {
35076 "default" : "05;06;08;0b",
35077 "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).",
35078 "format" : "string-list",
35079 "optional" : 1,
35080 "type" : "string",
35081 "typetext" : "<string>"
35082 },
35083 "verbose" : {
35084 "default" : 1,
35085 "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
35086 "optional" : 1,
35087 "type" : "boolean",
35088 "typetext" : "<boolean>"
35089 }
35090 }
35091 },
35092 "permissions" : {
35093 "check" : [
35094 "perm",
35095 "/",
35096 [
35097 "Sys.Modify"
35098 ]
35099 ]
35100 },
35101 "protected" : 1,
35102 "proxyto" : "node",
35103 "returns" : {
35104 "items" : {
35105 "properties" : {
35106 "class" : {
35107 "description" : "The PCI Class of the device.",
35108 "type" : "string"
35109 },
35110 "device" : {
35111 "description" : "The Device ID.",
35112 "type" : "string"
35113 },
35114 "device_name" : {
35115 "optional" : 1,
35116 "type" : "string"
35117 },
35118 "id" : {
35119 "description" : "The PCI ID.",
35120 "type" : "string"
35121 },
35122 "iommugroup" : {
35123 "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
35124 "type" : "integer"
35125 },
35126 "mdev" : {
35127 "description" : "If set, marks that the device is capable of creating mediated devices.",
35128 "optional" : 1,
35129 "type" : "boolean"
35130 },
35131 "subsystem_device" : {
35132 "description" : "The Subsystem Device ID.",
35133 "optional" : 1,
35134 "type" : "string"
35135 },
35136 "subsystem_device_name" : {
35137 "optional" : 1,
35138 "type" : "string"
35139 },
35140 "subsystem_vendor" : {
35141 "description" : "The Subsystem Vendor ID.",
35142 "optional" : 1,
35143 "type" : "string"
35144 },
35145 "subsystem_vendor_name" : {
35146 "optional" : 1,
35147 "type" : "string"
35148 },
35149 "vendor" : {
35150 "description" : "The Vendor ID.",
35151 "type" : "string"
35152 },
35153 "vendor_name" : {
35154 "optional" : 1,
35155 "type" : "string"
35156 }
35157 },
35158 "type" : "object"
35159 },
35160 "links" : [
35161 {
35162 "href" : "{id}",
35163 "rel" : "child"
35164 }
35165 ],
35166 "type" : "array"
35167 }
35168 }
35169 },
35170 "leaf" : 0,
35171 "path" : "/nodes/{node}/hardware/pci",
35172 "text" : "pci"
d2656385
TL
35173 },
35174 {
35175 "info" : {
35176 "GET" : {
35177 "allowtoken" : 1,
35178 "description" : "List local USB devices.",
35179 "method" : "GET",
35180 "name" : "usbscan",
35181 "parameters" : {
35182 "additionalProperties" : 0,
35183 "properties" : {
35184 "node" : {
35185 "description" : "The cluster node name.",
35186 "format" : "pve-node",
35187 "type" : "string",
35188 "typetext" : "<string>"
35189 }
35190 }
35191 },
35192 "permissions" : {
35193 "check" : [
35194 "perm",
35195 "/",
35196 [
35197 "Sys.Modify"
35198 ]
35199 ]
35200 },
35201 "protected" : 1,
35202 "proxyto" : "node",
35203 "returns" : {
35204 "items" : {
35205 "properties" : {
35206 "busnum" : {
35207 "type" : "integer"
35208 },
35209 "class" : {
35210 "type" : "integer"
35211 },
35212 "devnum" : {
35213 "type" : "integer"
35214 },
35215 "level" : {
35216 "type" : "integer"
35217 },
35218 "manufacturer" : {
35219 "optional" : 1,
35220 "type" : "string"
35221 },
35222 "port" : {
35223 "type" : "integer"
35224 },
35225 "prodid" : {
35226 "type" : "string"
35227 },
35228 "product" : {
35229 "optional" : 1,
35230 "type" : "string"
35231 },
35232 "serial" : {
35233 "optional" : 1,
35234 "type" : "string"
35235 },
35236 "speed" : {
35237 "type" : "string"
35238 },
35239 "usbpath" : {
35240 "optional" : 1,
35241 "type" : "string"
35242 },
35243 "vendid" : {
35244 "type" : "string"
35245 }
35246 },
35247 "type" : "object"
35248 },
35249 "type" : "array"
35250 }
35251 }
35252 },
35253 "leaf" : 1,
35254 "path" : "/nodes/{node}/hardware/usb",
35255 "text" : "usb"
e2d681b3
TL
35256 }
35257 ],
35258 "info" : {
35259 "GET" : {
e9cd3bd4 35260 "allowtoken" : 1,
e2d681b3
TL
35261 "description" : "Index of hardware types",
35262 "method" : "GET",
35263 "name" : "index",
35264 "parameters" : {
35265 "additionalProperties" : 0,
35266 "properties" : {
35267 "node" : {
35268 "description" : "The cluster node name.",
35269 "format" : "pve-node",
35270 "type" : "string",
35271 "typetext" : "<string>"
35272 }
35273 }
35274 },
35275 "permissions" : {
35276 "user" : "all"
35277 },
35278 "returns" : {
35279 "items" : {
35280 "properties" : {
35281 "type" : {
35282 "type" : "string"
35283 }
35284 },
35285 "type" : "object"
35286 },
35287 "links" : [
35288 {
35289 "href" : "{type}",
35290 "rel" : "child"
35291 }
35292 ],
35293 "type" : "array"
35294 }
35295 }
35296 },
35297 "leaf" : 0,
35298 "path" : "/nodes/{node}/hardware",
35299 "text" : "hardware"
35300 },
d2656385
TL
35301 {
35302 "children" : [
35303 {
35304 "children" : [
35305 {
35306 "info" : {
35307 "GET" : {
35308 "allowtoken" : 1,
35309 "description" : "Get available QEMU/KVM machine types.",
35310 "method" : "GET",
35311 "name" : "types",
35312 "parameters" : {
35313 "additionalProperties" : 0,
35314 "properties" : {
35315 "node" : {
35316 "description" : "The cluster node name.",
35317 "format" : "pve-node",
35318 "type" : "string",
35319 "typetext" : "<string>"
35320 }
35321 }
35322 },
35323 "permissions" : {
35324 "user" : "all"
35325 },
35326 "proxyto" : "node",
35327 "returns" : {
35328 "items" : {
35329 "additionalProperties" : 1,
35330 "properties" : {
35331 "id" : {
35332 "description" : "Full name of machine type and version.",
35333 "type" : "string"
35334 },
35335 "type" : {
35336 "description" : "The machine type.",
35337 "enum" : [
35338 "q35",
35339 "i440fx"
35340 ],
35341 "type" : "string"
35342 },
35343 "version" : {
35344 "description" : "The machine version.",
35345 "type" : "string"
35346 }
35347 },
35348 "type" : "object"
35349 },
35350 "type" : "array"
35351 }
35352 }
35353 },
35354 "leaf" : 1,
35355 "path" : "/nodes/{node}/capabilities/qemu/machines",
35356 "text" : "machines"
35357 }
35358 ],
35359 "info" : {
35360 "GET" : {
35361 "allowtoken" : 1,
35362 "description" : "QEMU capabilities index.",
35363 "method" : "GET",
35364 "name" : "qemu_caps_index",
35365 "parameters" : {
35366 "additionalProperties" : 0,
35367 "properties" : {
35368 "node" : {
35369 "description" : "The cluster node name.",
35370 "format" : "pve-node",
35371 "type" : "string",
35372 "typetext" : "<string>"
35373 }
35374 }
35375 },
35376 "permissions" : {
35377 "user" : "all"
35378 },
35379 "returns" : {
35380 "items" : {
35381 "properties" : {},
35382 "type" : "object"
35383 },
35384 "links" : [
35385 {
35386 "href" : "{name}",
35387 "rel" : "child"
35388 }
35389 ],
35390 "type" : "array"
35391 }
35392 }
35393 },
35394 "leaf" : 0,
35395 "path" : "/nodes/{node}/capabilities/qemu",
35396 "text" : "qemu"
35397 }
35398 ],
35399 "info" : {
35400 "GET" : {
35401 "allowtoken" : 1,
35402 "description" : "Node capabilities index.",
35403 "method" : "GET",
35404 "name" : "index",
35405 "parameters" : {
35406 "additionalProperties" : 0,
35407 "properties" : {
35408 "node" : {
35409 "description" : "The cluster node name.",
35410 "format" : "pve-node",
35411 "type" : "string",
35412 "typetext" : "<string>"
35413 }
35414 }
35415 },
35416 "permissions" : {
35417 "user" : "all"
35418 },
35419 "returns" : {
35420 "items" : {
35421 "properties" : {},
35422 "type" : "object"
35423 },
35424 "links" : [
35425 {
35426 "href" : "{name}",
35427 "rel" : "child"
35428 }
35429 ],
35430 "type" : "array"
35431 }
35432 }
35433 },
35434 "leaf" : 0,
35435 "path" : "/nodes/{node}/capabilities",
35436 "text" : "capabilities"
35437 },
44660702 35438 {
56122987
DM
35439 "children" : [
35440 {
4d47f125 35441 "children" : [
739d4d64
TL
35442 {
35443 "info" : {
35444 "DELETE" : {
35445 "allowtoken" : 1,
35446 "description" : "Prune backups. Only those using the standard naming scheme are considered.",
35447 "method" : "DELETE",
35448 "name" : "delete",
35449 "parameters" : {
35450 "additionalProperties" : 0,
35451 "properties" : {
35452 "node" : {
35453 "description" : "The cluster node name.",
35454 "format" : "pve-node",
35455 "type" : "string",
35456 "typetext" : "<string>"
35457 },
35458 "prune-backups" : {
35459 "description" : "Use these retention options instead of those from the storage configuration.",
35460 "format" : "prune-backups",
35461 "optional" : 1,
35462 "type" : "string",
4772952b 35463 "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
35464 },
35465 "storage" : {
35466 "description" : "The storage identifier.",
35467 "format" : "pve-storage-id",
35468 "type" : "string",
35469 "typetext" : "<string>"
35470 },
35471 "type" : {
35472 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
35473 "enum" : [
35474 "qemu",
35475 "lxc"
35476 ],
35477 "optional" : 1,
35478 "type" : "string"
35479 },
35480 "vmid" : {
35481 "description" : "Only prune backups for this VM.",
35482 "format" : "pve-vmid",
35483 "minimum" : 1,
35484 "optional" : 1,
35485 "type" : "integer",
35486 "typetext" : "<integer> (1 - N)"
35487 }
35488 }
35489 },
35490 "permissions" : {
35491 "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).",
35492 "user" : "all"
35493 },
35494 "protected" : 1,
35495 "proxyto" : "node",
35496 "returns" : {
35497 "type" : "string"
35498 }
35499 },
35500 "GET" : {
35501 "allowtoken" : 1,
4772952b 35502 "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
35503 "method" : "GET",
35504 "name" : "dryrun",
35505 "parameters" : {
35506 "additionalProperties" : 0,
35507 "properties" : {
35508 "node" : {
35509 "description" : "The cluster node name.",
35510 "format" : "pve-node",
35511 "type" : "string",
35512 "typetext" : "<string>"
35513 },
35514 "prune-backups" : {
35515 "description" : "Use these retention options instead of those from the storage configuration.",
35516 "format" : "prune-backups",
35517 "optional" : 1,
35518 "type" : "string",
4772952b 35519 "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
35520 },
35521 "storage" : {
35522 "description" : "The storage identifier.",
35523 "format" : "pve-storage-id",
35524 "type" : "string",
35525 "typetext" : "<string>"
35526 },
35527 "type" : {
35528 "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
35529 "enum" : [
35530 "qemu",
35531 "lxc"
35532 ],
35533 "optional" : 1,
35534 "type" : "string"
35535 },
35536 "vmid" : {
35537 "description" : "Only consider backups for this guest.",
35538 "format" : "pve-vmid",
35539 "minimum" : 1,
35540 "optional" : 1,
35541 "type" : "integer",
35542 "typetext" : "<integer> (1 - N)"
35543 }
35544 }
35545 },
35546 "permissions" : {
35547 "check" : [
35548 "perm",
35549 "/storage/{storage}",
35550 [
35551 "Datastore.Audit",
35552 "Datastore.AllocateSpace"
35553 ],
35554 "any",
35555 1
35556 ]
35557 },
35558 "protected" : 1,
35559 "proxyto" : "node",
35560 "returns" : {
35561 "items" : {
35562 "properties" : {
35563 "ctime" : {
35564 "description" : "Creation time of the backup (seconds since the UNIX epoch).",
35565 "type" : "integer"
35566 },
35567 "mark" : {
35568 "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
35569 "type" : "string"
35570 },
35571 "type" : {
35572 "description" : "One of 'qemu', 'lxc', 'openvz' or 'unknown'.",
35573 "type" : "string"
35574 },
35575 "vmid" : {
35576 "description" : "The VM the backup belongs to.",
35577 "optional" : 1,
35578 "type" : "integer"
35579 },
35580 "volid" : {
35581 "description" : "Backup volume ID.",
35582 "type" : "string"
35583 }
35584 },
35585 "type" : "object"
35586 },
35587 "type" : "array"
35588 }
35589 }
35590 },
35591 "leaf" : 1,
35592 "path" : "/nodes/{node}/storage/{storage}/prunebackups",
35593 "text" : "prunebackups"
35594 },
4d47f125
TL
35595 {
35596 "children" : [
35597 {
35598 "info" : {
35599 "DELETE" : {
e9cd3bd4 35600 "allowtoken" : 1,
4d47f125
TL
35601 "description" : "Delete volume",
35602 "method" : "DELETE",
35603 "name" : "delete",
35604 "parameters" : {
35605 "additionalProperties" : 0,
35606 "properties" : {
1c532546
TL
35607 "delay" : {
35608 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
35609 "maximum" : 30,
35610 "minimum" : 1,
35611 "optional" : 1,
35612 "type" : "integer",
35613 "typetext" : "<integer> (1 - 30)"
35614 },
4d47f125
TL
35615 "node" : {
35616 "description" : "The cluster node name.",
35617 "format" : "pve-node",
35618 "type" : "string",
35619 "typetext" : "<string>"
35620 },
35621 "storage" : {
35622 "description" : "The storage identifier.",
35623 "format" : "pve-storage-id",
35624 "optional" : 1,
35625 "type" : "string",
35626 "typetext" : "<string>"
35627 },
35628 "volume" : {
35629 "description" : "Volume identifier",
35630 "type" : "string",
35631 "typetext" : "<string>"
35632 }
35633 }
35634 },
35635 "permissions" : {
35636 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
35637 "user" : "all"
35638 },
35639 "protected" : 1,
35640 "proxyto" : "node",
35641 "returns" : {
1c532546
TL
35642 "optional" : 1,
35643 "type" : "string"
4d47f125
TL
35644 }
35645 },
35646 "GET" : {
e9cd3bd4 35647 "allowtoken" : 1,
4d47f125
TL
35648 "description" : "Get volume attributes",
35649 "method" : "GET",
35650 "name" : "info",
35651 "parameters" : {
35652 "additionalProperties" : 0,
35653 "properties" : {
35654 "node" : {
35655 "description" : "The cluster node name.",
35656 "format" : "pve-node",
35657 "type" : "string",
35658 "typetext" : "<string>"
35659 },
35660 "storage" : {
35661 "description" : "The storage identifier.",
35662 "format" : "pve-storage-id",
35663 "optional" : 1,
35664 "type" : "string",
35665 "typetext" : "<string>"
35666 },
35667 "volume" : {
35668 "description" : "Volume identifier",
35669 "type" : "string",
35670 "typetext" : "<string>"
35671 }
35672 }
35673 },
35674 "permissions" : {
35675 "description" : "You need read access for the volume.",
35676 "user" : "all"
35677 },
35678 "protected" : 1,
35679 "proxyto" : "node",
35680 "returns" : {
4772952b
TL
35681 "properties" : {
35682 "format" : {
35683 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
35684 "type" : "string"
35685 },
35686 "notes" : {
35687 "description" : "Optional notes.",
35688 "optional" : 1,
35689 "type" : "string"
35690 },
35691 "path" : {
35692 "description" : "The Path",
35693 "type" : "string"
35694 },
35695 "size" : {
35696 "description" : "Volume size in bytes.",
35697 "renderer" : "bytes",
35698 "type" : "integer"
35699 },
35700 "used" : {
35701 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
35702 "renderer" : "bytes",
35703 "type" : "integer"
35704 }
35705 },
4d47f125
TL
35706 "type" : "object"
35707 }
35708 },
35709 "POST" : {
e9cd3bd4 35710 "allowtoken" : 1,
4d47f125
TL
35711 "description" : "Copy a volume. This is experimental code - do not use.",
35712 "method" : "POST",
35713 "name" : "copy",
35714 "parameters" : {
35715 "additionalProperties" : 0,
35716 "properties" : {
35717 "node" : {
35718 "description" : "The cluster node name.",
35719 "format" : "pve-node",
35720 "type" : "string",
35721 "typetext" : "<string>"
35722 },
35723 "storage" : {
35724 "description" : "The storage identifier.",
35725 "format" : "pve-storage-id",
35726 "optional" : 1,
35727 "type" : "string",
35728 "typetext" : "<string>"
35729 },
35730 "target" : {
35731 "description" : "Target volume identifier",
35732 "type" : "string",
35733 "typetext" : "<string>"
35734 },
35735 "target_node" : {
35736 "description" : "Target node. Default is local node.",
35737 "format" : "pve-node",
35738 "optional" : 1,
35739 "type" : "string",
35740 "typetext" : "<string>"
35741 },
35742 "volume" : {
35743 "description" : "Source volume identifier",
35744 "type" : "string",
35745 "typetext" : "<string>"
35746 }
35747 }
35748 },
35749 "protected" : 1,
35750 "proxyto" : "node",
35751 "returns" : {
35752 "type" : "string"
35753 }
4772952b
TL
35754 },
35755 "PUT" : {
35756 "allowtoken" : 1,
35757 "description" : "Update volume attributes",
35758 "method" : "PUT",
35759 "name" : "updateattributes",
35760 "parameters" : {
35761 "additionalProperties" : 0,
35762 "properties" : {
35763 "node" : {
35764 "description" : "The cluster node name.",
35765 "format" : "pve-node",
35766 "type" : "string",
35767 "typetext" : "<string>"
35768 },
35769 "notes" : {
35770 "description" : "The new notes.",
35771 "optional" : 1,
35772 "type" : "string",
35773 "typetext" : "<string>"
35774 },
35775 "storage" : {
35776 "description" : "The storage identifier.",
35777 "format" : "pve-storage-id",
35778 "optional" : 1,
35779 "type" : "string",
35780 "typetext" : "<string>"
35781 },
35782 "volume" : {
35783 "description" : "Volume identifier",
35784 "type" : "string",
35785 "typetext" : "<string>"
35786 }
35787 }
35788 },
35789 "permissions" : {
35790 "description" : "You need read access for the volume.",
35791 "user" : "all"
35792 },
35793 "protected" : 1,
35794 "proxyto" : "node",
35795 "returns" : {
35796 "type" : "null"
35797 }
4d47f125
TL
35798 }
35799 },
35800 "leaf" : 1,
35801 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
35802 "text" : "{volume}"
44660702 35803 }
4d47f125
TL
35804 ],
35805 "info" : {
35806 "GET" : {
e9cd3bd4 35807 "allowtoken" : 1,
4d47f125
TL
35808 "description" : "List storage content.",
35809 "method" : "GET",
35810 "name" : "index",
35811 "parameters" : {
35812 "additionalProperties" : 0,
35813 "properties" : {
35814 "content" : {
35815 "description" : "Only list content of this type.",
35816 "format" : "pve-storage-content",
35817 "optional" : 1,
35818 "type" : "string",
35819 "typetext" : "<string>"
35820 },
35821 "node" : {
35822 "description" : "The cluster node name.",
35823 "format" : "pve-node",
35824 "type" : "string",
35825 "typetext" : "<string>"
35826 },
35827 "storage" : {
35828 "description" : "The storage identifier.",
35829 "format" : "pve-storage-id",
35830 "type" : "string",
35831 "typetext" : "<string>"
35832 },
35833 "vmid" : {
35834 "description" : "Only list images for this VM",
35835 "format" : "pve-vmid",
35836 "minimum" : 1,
35837 "optional" : 1,
35838 "type" : "integer",
35839 "typetext" : "<integer> (1 - N)"
35840 }
56122987 35841 }
44660702 35842 },
4d47f125
TL
35843 "permissions" : {
35844 "check" : [
35845 "perm",
35846 "/storage/{storage}",
35847 [
35848 "Datastore.Audit",
35849 "Datastore.AllocateSpace"
35850 ],
35851 "any",
35852 1
35853 ]
7aacca6f 35854 },
4d47f125
TL
35855 "protected" : 1,
35856 "proxyto" : "node",
35857 "returns" : {
35858 "items" : {
35859 "properties" : {
c5aa7e14
TL
35860 "ctime" : {
35861 "description" : "Creation time (seconds since the UNIX Epoch).",
35862 "minimum" : 0,
35863 "optional" : 1,
35864 "type" : "integer"
35865 },
d2656385
TL
35866 "encrypted" : {
35867 "description" : "If whole backup is encrypted, value is the fingerprint or '1' if encrypted. Only useful for the Proxmox Backup Server storage type.",
35868 "optional" : 1,
35869 "type" : "string"
35870 },
4d47f125
TL
35871 "format" : {
35872 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
35873 "type" : "string"
35874 },
4772952b
TL
35875 "notes" : {
35876 "description" : "Optional notes. If they contain multiple lines, only the first one is returned here.",
35877 "optional" : 1,
35878 "type" : "string"
35879 },
4d47f125
TL
35880 "parent" : {
35881 "description" : "Volume identifier of parent (for linked cloned).",
35882 "optional" : 1,
35883 "type" : "string"
35884 },
35885 "size" : {
35886 "description" : "Volume size in bytes.",
35887 "renderer" : "bytes",
35888 "type" : "integer"
35889 },
35890 "used" : {
c5aa7e14 35891 "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
4d47f125
TL
35892 "optional" : 1,
35893 "renderer" : "bytes",
35894 "type" : "integer"
35895 },
4772952b
TL
35896 "verification" : {
35897 "description" : "Last backup verification result, only useful for PBS storages.",
35898 "optional" : 1,
35899 "properties" : {
35900 "state" : {
35901 "description" : "Last backup verification state.",
35902 "type" : "string"
35903 },
35904 "upid" : {
35905 "description" : "Last backup verification UPID.",
35906 "type" : "string"
35907 }
35908 },
35909 "type" : "object"
35910 },
4d47f125
TL
35911 "vmid" : {
35912 "description" : "Associated Owner VMID.",
35913 "optional" : 1,
35914 "type" : "integer"
35915 },
35916 "volid" : {
35917 "description" : "Volume identifier.",
35918 "type" : "string"
35919 }
35920 },
35921 "type" : "object"
44660702 35922 },
4d47f125
TL
35923 "links" : [
35924 {
35925 "href" : "{volid}",
35926 "rel" : "child"
35927 }
35928 ],
35929 "type" : "array"
35930 }
35931 },
35932 "POST" : {
e9cd3bd4 35933 "allowtoken" : 1,
4d47f125
TL
35934 "description" : "Allocate disk images.",
35935 "method" : "POST",
35936 "name" : "create",
35937 "parameters" : {
35938 "additionalProperties" : 0,
35939 "properties" : {
35940 "filename" : {
35941 "description" : "The name of the file to create.",
35942 "type" : "string",
35943 "typetext" : "<string>"
35944 },
35945 "format" : {
35946 "enum" : [
35947 "raw",
35948 "qcow2",
35949 "subvol"
35950 ],
35951 "optional" : 1,
35952 "requires" : "size",
35953 "type" : "string"
35954 },
35955 "node" : {
35956 "description" : "The cluster node name.",
35957 "format" : "pve-node",
35958 "type" : "string",
35959 "typetext" : "<string>"
35960 },
35961 "size" : {
35962 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
35963 "pattern" : "\\d+[MG]?",
35964 "type" : "string"
35965 },
35966 "storage" : {
35967 "description" : "The storage identifier.",
35968 "format" : "pve-storage-id",
35969 "type" : "string",
35970 "typetext" : "<string>"
35971 },
35972 "vmid" : {
35973 "description" : "Specify owner VM",
35974 "format" : "pve-vmid",
35975 "minimum" : 1,
35976 "type" : "integer",
35977 "typetext" : "<integer> (1 - N)"
35978 }
44660702
DM
35979 }
35980 },
4d47f125
TL
35981 "permissions" : {
35982 "check" : [
35983 "perm",
35984 "/storage/{storage}",
35985 [
35986 "Datastore.AllocateSpace"
35987 ]
35988 ]
27a7acb2 35989 },
4d47f125
TL
35990 "protected" : 1,
35991 "proxyto" : "node",
35992 "returns" : {
35993 "description" : "Volume identifier",
35994 "type" : "string"
27a7acb2
DM
35995 }
35996 }
35997 },
4d47f125
TL
35998 "leaf" : 0,
35999 "path" : "/nodes/{node}/storage/{storage}/content",
36000 "text" : "content"
36001 },
d2656385
TL
36002 {
36003 "children" : [
36004 {
36005 "info" : {
36006 "GET" : {
36007 "allowtoken" : 1,
36008 "description" : "List files and directories for single file restore under the given path.",
36009 "method" : "GET",
36010 "name" : "list",
36011 "parameters" : {
36012 "additionalProperties" : 0,
36013 "properties" : {
36014 "filepath" : {
36015 "description" : "base64-path to the directory or file being listed, or \"/\".",
36016 "type" : "string",
36017 "typetext" : "<string>"
36018 },
36019 "node" : {
36020 "description" : "The cluster node name.",
36021 "format" : "pve-node",
36022 "type" : "string",
36023 "typetext" : "<string>"
36024 },
36025 "storage" : {
36026 "description" : "The storage identifier.",
36027 "format" : "pve-storage-id",
36028 "type" : "string",
36029 "typetext" : "<string>"
36030 },
36031 "volume" : {
36032 "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
36033 "type" : "string",
36034 "typetext" : "<string>"
36035 }
36036 }
36037 },
36038 "permissions" : {
36039 "description" : "You need read access for the volume.",
36040 "user" : "all"
36041 },
36042 "protected" : 1,
36043 "proxyto" : "node",
36044 "returns" : {
36045 "items" : {
36046 "properties" : {
36047 "filepath" : {
36048 "description" : "base64 path of the current entry",
36049 "type" : "string"
36050 },
36051 "leaf" : {
36052 "description" : "If this entry is a leaf in the directory graph.",
36053 "type" : "boolean"
36054 },
36055 "mtime" : {
36056 "description" : "Entry last-modified time (unix timestamp).",
36057 "optional" : 1,
36058 "type" : "integer"
36059 },
36060 "size" : {
36061 "description" : "Entry file size.",
36062 "optional" : 1,
36063 "type" : "integer"
36064 },
36065 "text" : {
36066 "description" : "Entry display text.",
36067 "type" : "string"
36068 },
36069 "type" : {
36070 "description" : "Entry type.",
36071 "type" : "string"
36072 }
36073 },
36074 "type" : "object"
36075 },
36076 "type" : "array"
36077 }
36078 }
36079 },
36080 "leaf" : 1,
36081 "path" : "/nodes/{node}/storage/{storage}/file-restore/list",
36082 "text" : "list"
36083 },
36084 {
36085 "info" : {
36086 "GET" : {
36087 "allowtoken" : 1,
36088 "description" : "Extract a file or directory (as zip archive) from a PBS backup.",
36089 "method" : "GET",
36090 "name" : "download",
36091 "parameters" : {
36092 "additionalProperties" : 0,
36093 "properties" : {
36094 "filepath" : {
36095 "description" : "base64-path to the directory or file to download.",
36096 "type" : "string",
36097 "typetext" : "<string>"
36098 },
36099 "node" : {
36100 "description" : "The cluster node name.",
36101 "format" : "pve-node",
36102 "type" : "string",
36103 "typetext" : "<string>"
36104 },
36105 "storage" : {
36106 "description" : "The storage identifier.",
36107 "format" : "pve-storage-id",
36108 "type" : "string",
36109 "typetext" : "<string>"
36110 },
36111 "volume" : {
36112 "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
36113 "type" : "string",
36114 "typetext" : "<string>"
36115 }
36116 }
36117 },
36118 "permissions" : {
36119 "description" : "You need read access for the volume.",
36120 "user" : "all"
36121 },
36122 "protected" : 1,
36123 "proxyto" : "node",
36124 "returns" : {
36125 "type" : "any"
36126 }
36127 }
36128 },
36129 "leaf" : 1,
36130 "path" : "/nodes/{node}/storage/{storage}/file-restore/download",
36131 "text" : "download"
36132 }
36133 ],
36134 "leaf" : 0,
36135 "path" : "/nodes/{node}/storage/{storage}/file-restore",
36136 "text" : "file-restore"
36137 },
4d47f125
TL
36138 {
36139 "info" : {
36140 "GET" : {
e9cd3bd4 36141 "allowtoken" : 1,
4d47f125
TL
36142 "description" : "Read storage status.",
36143 "method" : "GET",
36144 "name" : "read_status",
36145 "parameters" : {
36146 "additionalProperties" : 0,
36147 "properties" : {
36148 "node" : {
36149 "description" : "The cluster node name.",
36150 "format" : "pve-node",
36151 "type" : "string",
36152 "typetext" : "<string>"
36153 },
36154 "storage" : {
36155 "description" : "The storage identifier.",
36156 "format" : "pve-storage-id",
36157 "type" : "string",
36158 "typetext" : "<string>"
36159 }
27a7acb2
DM
36160 }
36161 },
4d47f125
TL
36162 "permissions" : {
36163 "check" : [
36164 "perm",
36165 "/storage/{storage}",
36166 [
36167 "Datastore.Audit",
36168 "Datastore.AllocateSpace"
36169 ],
36170 "any",
36171 1
36172 ]
7aacca6f 36173 },
4d47f125
TL
36174 "protected" : 1,
36175 "proxyto" : "node",
36176 "returns" : {
36177 "type" : "object"
56122987 36178 }
44660702
DM
36179 }
36180 },
4d47f125
TL
36181 "leaf" : 1,
36182 "path" : "/nodes/{node}/storage/{storage}/status",
36183 "text" : "status"
36184 },
36185 {
36186 "info" : {
36187 "GET" : {
e9cd3bd4 36188 "allowtoken" : 1,
4d47f125
TL
36189 "description" : "Read storage RRD statistics (returns PNG).",
36190 "method" : "GET",
36191 "name" : "rrd",
36192 "parameters" : {
36193 "additionalProperties" : 0,
36194 "properties" : {
36195 "cf" : {
36196 "description" : "The RRD consolidation function",
36197 "enum" : [
36198 "AVERAGE",
36199 "MAX"
36200 ],
36201 "optional" : 1,
36202 "type" : "string"
36203 },
36204 "ds" : {
36205 "description" : "The list of datasources you want to display.",
36206 "format" : "pve-configid-list",
36207 "type" : "string",
36208 "typetext" : "<string>"
36209 },
36210 "node" : {
36211 "description" : "The cluster node name.",
36212 "format" : "pve-node",
36213 "type" : "string",
36214 "typetext" : "<string>"
36215 },
36216 "storage" : {
36217 "description" : "The storage identifier.",
36218 "format" : "pve-storage-id",
36219 "type" : "string",
36220 "typetext" : "<string>"
36221 },
36222 "timeframe" : {
36223 "description" : "Specify the time frame you are interested in.",
36224 "enum" : [
36225 "hour",
36226 "day",
36227 "week",
36228 "month",
36229 "year"
36230 ],
36231 "type" : "string"
36232 }
44660702
DM
36233 }
36234 },
4d47f125
TL
36235 "permissions" : {
36236 "check" : [
36237 "perm",
36238 "/storage/{storage}",
36239 [
36240 "Datastore.Audit",
36241 "Datastore.AllocateSpace"
36242 ],
36243 "any",
36244 1
36245 ]
36246 },
36247 "protected" : 1,
36248 "proxyto" : "node",
36249 "returns" : {
36250 "properties" : {
36251 "filename" : {
36252 "type" : "string"
36253 }
36254 },
36255 "type" : "object"
44660702
DM
36256 }
36257 }
36258 },
4d47f125
TL
36259 "leaf" : 1,
36260 "path" : "/nodes/{node}/storage/{storage}/rrd",
36261 "text" : "rrd"
36262 },
36263 {
36264 "info" : {
36265 "GET" : {
e9cd3bd4 36266 "allowtoken" : 1,
4d47f125
TL
36267 "description" : "Read storage RRD statistics.",
36268 "method" : "GET",
36269 "name" : "rrddata",
36270 "parameters" : {
36271 "additionalProperties" : 0,
36272 "properties" : {
36273 "cf" : {
36274 "description" : "The RRD consolidation function",
36275 "enum" : [
36276 "AVERAGE",
36277 "MAX"
36278 ],
36279 "optional" : 1,
36280 "type" : "string"
36281 },
36282 "node" : {
36283 "description" : "The cluster node name.",
36284 "format" : "pve-node",
36285 "type" : "string",
36286 "typetext" : "<string>"
36287 },
36288 "storage" : {
36289 "description" : "The storage identifier.",
36290 "format" : "pve-storage-id",
36291 "type" : "string",
36292 "typetext" : "<string>"
36293 },
36294 "timeframe" : {
36295 "description" : "Specify the time frame you are interested in.",
36296 "enum" : [
36297 "hour",
36298 "day",
36299 "week",
36300 "month",
36301 "year"
36302 ],
36303 "type" : "string"
36304 }
56122987
DM
36305 }
36306 },
4d47f125
TL
36307 "permissions" : {
36308 "check" : [
36309 "perm",
36310 "/storage/{storage}",
36311 [
36312 "Datastore.Audit",
36313 "Datastore.AllocateSpace"
36314 ],
36315 "any",
36316 1
36317 ]
36318 },
36319 "protected" : 1,
36320 "proxyto" : "node",
36321 "returns" : {
36322 "items" : {
36323 "properties" : {},
36324 "type" : "object"
36325 },
36326 "type" : "array"
56122987 36327 }
7aacca6f 36328 }
56122987 36329 },
4d47f125
TL
36330 "leaf" : 1,
36331 "path" : "/nodes/{node}/storage/{storage}/rrddata",
36332 "text" : "rrddata"
36333 },
36334 {
36335 "info" : {
36336 "POST" : {
e9cd3bd4 36337 "allowtoken" : 1,
4d47f125
TL
36338 "description" : "Upload templates and ISO images.",
36339 "method" : "POST",
36340 "name" : "upload",
36341 "parameters" : {
36342 "additionalProperties" : 0,
36343 "properties" : {
36344 "content" : {
36345 "description" : "Content type.",
36346 "format" : "pve-storage-content",
36347 "type" : "string",
36348 "typetext" : "<string>"
36349 },
36350 "filename" : {
36351 "description" : "The name of the file to create.",
36352 "type" : "string",
36353 "typetext" : "<string>"
36354 },
36355 "node" : {
36356 "description" : "The cluster node name.",
36357 "format" : "pve-node",
36358 "type" : "string",
36359 "typetext" : "<string>"
36360 },
36361 "storage" : {
36362 "description" : "The storage identifier.",
36363 "format" : "pve-storage-id",
36364 "type" : "string",
36365 "typetext" : "<string>"
36366 },
36367 "tmpfilename" : {
1e3f8156 36368 "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
36369 "optional" : 1,
36370 "type" : "string",
36371 "typetext" : "<string>"
36372 }
44660702
DM
36373 }
36374 },
4d47f125
TL
36375 "permissions" : {
36376 "check" : [
36377 "perm",
36378 "/storage/{storage}",
36379 [
36380 "Datastore.AllocateTemplate"
36381 ]
36382 ]
56122987 36383 },
4d47f125
TL
36384 "protected" : 1,
36385 "returns" : {
44660702 36386 "type" : "string"
56122987 36387 }
44660702 36388 }
56122987 36389 },
4d47f125
TL
36390 "leaf" : 1,
36391 "path" : "/nodes/{node}/storage/{storage}/upload",
36392 "text" : "upload"
56122987 36393 }
4d47f125 36394 ],
56122987
DM
36395 "info" : {
36396 "GET" : {
e9cd3bd4 36397 "allowtoken" : 1,
4d47f125 36398 "description" : "",
44660702 36399 "method" : "GET",
4d47f125 36400 "name" : "diridx",
44660702
DM
36401 "parameters" : {
36402 "additionalProperties" : 0,
36403 "properties" : {
36404 "node" : {
36405 "description" : "The cluster node name.",
36406 "format" : "pve-node",
013dc89f
DM
36407 "type" : "string",
36408 "typetext" : "<string>"
4d47f125
TL
36409 },
36410 "storage" : {
36411 "description" : "The storage identifier.",
36412 "format" : "pve-storage-id",
36413 "type" : "string",
36414 "typetext" : "<string>"
44660702
DM
36415 }
36416 }
36417 },
7aacca6f
DM
36418 "permissions" : {
36419 "check" : [
36420 "perm",
4d47f125 36421 "/storage/{storage}",
7aacca6f 36422 [
4d47f125
TL
36423 "Datastore.Audit",
36424 "Datastore.AllocateSpace"
36425 ],
36426 "any",
36427 1
7aacca6f
DM
36428 ]
36429 },
56122987
DM
36430 "returns" : {
36431 "items" : {
36432 "properties" : {
4d47f125 36433 "subdir" : {
44660702 36434 "type" : "string"
56122987
DM
36435 }
36436 },
36437 "type" : "object"
7aacca6f 36438 },
4d47f125
TL
36439 "links" : [
36440 {
36441 "href" : "{subdir}",
36442 "rel" : "child"
36443 }
36444 ],
7aacca6f 36445 "type" : "array"
44660702
DM
36446 }
36447 }
36448 },
4d47f125
TL
36449 "leaf" : 0,
36450 "path" : "/nodes/{node}/storage/{storage}",
36451 "text" : "{storage}"
44660702
DM
36452 }
36453 ],
36454 "info" : {
36455 "GET" : {
e9cd3bd4 36456 "allowtoken" : 1,
4d47f125 36457 "description" : "Get status for all datastores.",
44660702
DM
36458 "method" : "GET",
36459 "name" : "index",
36460 "parameters" : {
36461 "additionalProperties" : 0,
36462 "properties" : {
4d47f125
TL
36463 "content" : {
36464 "description" : "Only list stores which support this content type.",
36465 "format" : "pve-storage-content-list",
36466 "optional" : 1,
36467 "type" : "string",
36468 "typetext" : "<string>"
36469 },
36470 "enabled" : {
36471 "default" : 0,
36472 "description" : "Only list stores which are enabled (not disabled in config).",
36473 "optional" : 1,
36474 "type" : "boolean",
36475 "typetext" : "<boolean>"
36476 },
36477 "format" : {
36478 "default" : 0,
36479 "description" : "Include information about formats",
36480 "optional" : 1,
36481 "type" : "boolean",
36482 "typetext" : "<boolean>"
36483 },
44660702
DM
36484 "node" : {
36485 "description" : "The cluster node name.",
36486 "format" : "pve-node",
013dc89f
DM
36487 "type" : "string",
36488 "typetext" : "<string>"
4d47f125
TL
36489 },
36490 "storage" : {
36491 "description" : "Only list status for specified storage",
36492 "format" : "pve-storage-id",
36493 "optional" : 1,
36494 "type" : "string",
36495 "typetext" : "<string>"
36496 },
36497 "target" : {
36498 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
36499 "format" : "pve-node",
36500 "optional" : 1,
36501 "type" : "string",
36502 "typetext" : "<string>"
44660702
DM
36503 }
36504 }
36505 },
4d47f125
TL
36506 "permissions" : {
36507 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
36508 "user" : "all"
36509 },
36510 "protected" : 1,
36511 "proxyto" : "node",
36512 "returns" : {
36513 "items" : {
36514 "properties" : {
36515 "active" : {
36516 "description" : "Set when storage is accessible.",
36517 "optional" : 1,
36518 "type" : "boolean"
36519 },
36520 "avail" : {
36521 "description" : "Available storage space in bytes.",
36522 "optional" : 1,
36523 "renderer" : "bytes",
36524 "type" : "integer"
36525 },
36526 "content" : {
36527 "description" : "Allowed storage content types.",
36528 "format" : "pve-storage-content-list",
36529 "type" : "string"
36530 },
36531 "enabled" : {
36532 "description" : "Set when storage is enabled (not disabled).",
36533 "optional" : 1,
36534 "type" : "boolean"
36535 },
36536 "shared" : {
36537 "description" : "Shared flag from storage configuration.",
36538 "optional" : 1,
36539 "type" : "boolean"
36540 },
36541 "storage" : {
36542 "description" : "The storage identifier.",
36543 "format" : "pve-storage-id",
36544 "type" : "string"
36545 },
36546 "total" : {
36547 "description" : "Total storage space in bytes.",
36548 "optional" : 1,
36549 "renderer" : "bytes",
36550 "type" : "integer"
36551 },
36552 "type" : {
36553 "description" : "Storage type.",
36554 "type" : "string"
36555 },
36556 "used" : {
36557 "description" : "Used storage space in bytes.",
36558 "optional" : 1,
36559 "renderer" : "bytes",
36560 "type" : "integer"
36561 },
36562 "used_fraction" : {
36563 "description" : "Used fraction (used/total).",
36564 "optional" : 1,
36565 "renderer" : "fraction_as_percentage",
36566 "type" : "number"
7aacca6f 36567 }
4d47f125
TL
36568 },
36569 "type" : "object"
36570 },
36571 "links" : [
36572 {
36573 "href" : "{storage}",
36574 "rel" : "child"
36575 }
36576 ],
36577 "type" : "array"
36578 }
36579 }
36580 },
36581 "leaf" : 0,
36582 "path" : "/nodes/{node}/storage",
36583 "text" : "storage"
36584 },
36585 {
36586 "children" : [
36587 {
36588 "info" : {
36589 "GET" : {
e9cd3bd4 36590 "allowtoken" : 1,
4d47f125
TL
36591 "description" : "List LVM Volume Groups",
36592 "method" : "GET",
36593 "name" : "index",
36594 "parameters" : {
36595 "additionalProperties" : 0,
36596 "properties" : {
36597 "node" : {
36598 "description" : "The cluster node name.",
36599 "format" : "pve-node",
36600 "type" : "string",
36601 "typetext" : "<string>"
36602 }
36603 }
36604 },
36605 "permissions" : {
36606 "check" : [
36607 "perm",
36608 "/",
36609 [
36610 "Sys.Audit",
36611 "Datastore.Audit"
36612 ],
36613 "any",
36614 1
36615 ]
36616 },
36617 "protected" : 1,
36618 "proxyto" : "node",
36619 "returns" : {
36620 "properties" : {
36621 "children" : {
44660702
DM
36622 "items" : {
36623 "properties" : {
4d47f125
TL
36624 "children" : {
36625 "description" : "The underlying physical volumes",
36626 "items" : {
36627 "properties" : {
36628 "free" : {
36629 "description" : "The free bytes in the physical volume",
36630 "type" : "integer"
36631 },
36632 "leaf" : {
36633 "type" : "boolean"
36634 },
36635 "name" : {
36636 "description" : "The name of the physical volume",
36637 "type" : "string"
36638 },
36639 "size" : {
36640 "description" : "The size of the physical volume in bytes",
36641 "type" : "integer"
36642 }
36643 },
36644 "type" : "object"
36645 },
36646 "optional" : 1,
36647 "type" : "array"
36648 },
36649 "free" : {
36650 "description" : "The free bytes in the volume group",
36651 "type" : "integer"
36652 },
36653 "leaf" : {
36654 "type" : "boolean"
36655 },
36656 "name" : {
36657 "description" : "The name of the volume group",
44660702 36658 "type" : "string"
4d47f125
TL
36659 },
36660 "size" : {
36661 "description" : "The size of the volume group in bytes",
36662 "type" : "integer"
44660702
DM
36663 }
36664 },
36665 "type" : "object"
36666 },
44660702 36667 "type" : "array"
4d47f125
TL
36668 },
36669 "leaf" : {
36670 "type" : "boolean"
44660702
DM
36671 }
36672 },
4d47f125
TL
36673 "type" : "object"
36674 }
36675 },
36676 "POST" : {
e9cd3bd4 36677 "allowtoken" : 1,
4d47f125
TL
36678 "description" : "Create an LVM Volume Group",
36679 "method" : "POST",
36680 "name" : "create",
36681 "parameters" : {
36682 "additionalProperties" : 0,
36683 "properties" : {
36684 "add_storage" : {
36685 "default" : 0,
36686 "description" : "Configure storage using the Volume Group",
36687 "optional" : 1,
36688 "type" : "boolean",
36689 "typetext" : "<boolean>"
44660702 36690 },
4d47f125
TL
36691 "device" : {
36692 "description" : "The block device you want to create the volume group on",
36693 "type" : "string",
36694 "typetext" : "<string>"
44660702 36695 },
4d47f125
TL
36696 "name" : {
36697 "description" : "The storage identifier.",
36698 "format" : "pve-storage-id",
36699 "type" : "string",
36700 "typetext" : "<string>"
36701 },
36702 "node" : {
36703 "description" : "The cluster node name.",
36704 "format" : "pve-node",
36705 "type" : "string",
36706 "typetext" : "<string>"
36707 }
36708 }
36709 },
36710 "permissions" : {
36711 "check" : [
36712 "perm",
36713 "/",
36714 [
36715 "Sys.Modify",
36716 "Datastore.Allocate"
36717 ]
36718 ]
36719 },
36720 "protected" : 1,
36721 "proxyto" : "node",
36722 "returns" : {
36723 "type" : "string"
36724 }
36725 }
36726 },
36727 "leaf" : 1,
36728 "path" : "/nodes/{node}/disks/lvm",
36729 "text" : "lvm"
36730 },
36731 {
36732 "info" : {
36733 "GET" : {
e9cd3bd4 36734 "allowtoken" : 1,
4d47f125
TL
36735 "description" : "List LVM thinpools",
36736 "method" : "GET",
36737 "name" : "index",
36738 "parameters" : {
36739 "additionalProperties" : 0,
36740 "properties" : {
36741 "node" : {
36742 "description" : "The cluster node name.",
36743 "format" : "pve-node",
36744 "type" : "string",
36745 "typetext" : "<string>"
44660702
DM
36746 }
36747 }
36748 },
4d47f125
TL
36749 "permissions" : {
36750 "check" : [
36751 "perm",
36752 "/",
36753 [
36754 "Sys.Audit",
36755 "Datastore.Audit"
36756 ],
36757 "any",
36758 1
36759 ]
36760 },
36761 "protected" : 1,
36762 "proxyto" : "node",
36763 "returns" : {
36764 "items" : {
36765 "properties" : {
36766 "lv" : {
36767 "description" : "The name of the thinpool.",
36768 "type" : "string"
36769 },
36770 "lv_size" : {
36771 "description" : "The size of the thinpool in bytes.",
36772 "type" : "integer"
36773 },
36774 "metadata_size" : {
36775 "description" : "The size of the metadata lv in bytes.",
36776 "type" : "integer"
36777 },
36778 "metadata_used" : {
36779 "description" : "The used bytes of the metadata lv.",
36780 "type" : "integer"
36781 },
36782 "used" : {
36783 "description" : "The used bytes of the thinpool.",
36784 "type" : "integer"
44660702
DM
36785 }
36786 },
4d47f125
TL
36787 "type" : "object"
36788 },
36789 "type" : "array"
36790 }
36791 },
36792 "POST" : {
e9cd3bd4 36793 "allowtoken" : 1,
4d47f125
TL
36794 "description" : "Create an LVM thinpool",
36795 "method" : "POST",
36796 "name" : "create",
36797 "parameters" : {
36798 "additionalProperties" : 0,
36799 "properties" : {
36800 "add_storage" : {
36801 "default" : 0,
36802 "description" : "Configure storage using the thinpool.",
36803 "optional" : 1,
36804 "type" : "boolean",
36805 "typetext" : "<boolean>"
56122987 36806 },
4d47f125
TL
36807 "device" : {
36808 "description" : "The block device you want to create the thinpool on.",
36809 "type" : "string",
36810 "typetext" : "<string>"
36811 },
36812 "name" : {
36813 "description" : "The storage identifier.",
36814 "format" : "pve-storage-id",
36815 "type" : "string",
36816 "typetext" : "<string>"
36817 },
36818 "node" : {
36819 "description" : "The cluster node name.",
36820 "format" : "pve-node",
36821 "type" : "string",
36822 "typetext" : "<string>"
44660702 36823 }
56122987
DM
36824 }
36825 },
4d47f125
TL
36826 "permissions" : {
36827 "check" : [
36828 "perm",
36829 "/",
36830 [
36831 "Sys.Modify",
36832 "Datastore.Allocate"
36833 ]
36834 ]
36835 },
36836 "protected" : 1,
36837 "proxyto" : "node",
36838 "returns" : {
36839 "type" : "string"
36840 }
36841 }
36842 },
36843 "leaf" : 1,
36844 "path" : "/nodes/{node}/disks/lvmthin",
36845 "text" : "lvmthin"
36846 },
36847 {
36848 "info" : {
36849 "GET" : {
e9cd3bd4 36850 "allowtoken" : 1,
4d47f125
TL
36851 "description" : "PVE Managed Directory storages.",
36852 "method" : "GET",
36853 "name" : "index",
36854 "parameters" : {
36855 "additionalProperties" : 0,
36856 "properties" : {
36857 "node" : {
36858 "description" : "The cluster node name.",
36859 "format" : "pve-node",
36860 "type" : "string",
36861 "typetext" : "<string>"
36862 }
36863 }
36864 },
36865 "permissions" : {
36866 "check" : [
36867 "perm",
36868 "/",
36869 [
36870 "Sys.Audit",
36871 "Datastore.Audit"
36872 ],
36873 "any",
36874 1
36875 ]
36876 },
36877 "protected" : 1,
36878 "proxyto" : "node",
36879 "returns" : {
36880 "items" : {
36881 "properties" : {
36882 "device" : {
36883 "description" : "The mounted device.",
36884 "type" : "string"
36885 },
36886 "options" : {
36887 "description" : "The mount options.",
36888 "type" : "string"
36889 },
36890 "path" : {
36891 "description" : "The mount path.",
36892 "type" : "string"
36893 },
36894 "type" : {
36895 "description" : "The filesystem type.",
36896 "type" : "string"
36897 },
36898 "unitfile" : {
36899 "description" : "The path of the mount unit.",
36900 "type" : "string"
44660702 36901 }
56122987 36902 },
4d47f125
TL
36903 "type" : "object"
36904 },
36905 "type" : "array"
36906 }
36907 },
36908 "POST" : {
e9cd3bd4 36909 "allowtoken" : 1,
4d47f125
TL
36910 "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
36911 "method" : "POST",
36912 "name" : "create",
36913 "parameters" : {
36914 "additionalProperties" : 0,
36915 "properties" : {
36916 "add_storage" : {
36917 "default" : 0,
36918 "description" : "Configure storage using the directory.",
36919 "optional" : 1,
36920 "type" : "boolean",
36921 "typetext" : "<boolean>"
36922 },
36923 "device" : {
36924 "description" : "The block device you want to create the filesystem on.",
36925 "type" : "string",
36926 "typetext" : "<string>"
36927 },
36928 "filesystem" : {
36929 "default" : "ext4",
36930 "description" : "The desired filesystem.",
36931 "enum" : [
36932 "ext4",
36933 "xfs"
36934 ],
36935 "optional" : 1,
36936 "type" : "string"
56122987 36937 },
4d47f125
TL
36938 "name" : {
36939 "description" : "The storage identifier.",
36940 "format" : "pve-storage-id",
36941 "type" : "string",
36942 "typetext" : "<string>"
36943 },
36944 "node" : {
36945 "description" : "The cluster node name.",
36946 "format" : "pve-node",
36947 "type" : "string",
36948 "typetext" : "<string>"
7aacca6f 36949 }
56122987
DM
36950 }
36951 },
4d47f125
TL
36952 "permissions" : {
36953 "check" : [
36954 "perm",
36955 "/",
36956 [
36957 "Sys.Modify",
36958 "Datastore.Allocate"
36959 ]
36960 ]
36961 },
36962 "protected" : 1,
36963 "proxyto" : "node",
36964 "returns" : {
36965 "type" : "string"
36966 }
36967 }
36968 },
36969 "leaf" : 1,
36970 "path" : "/nodes/{node}/disks/directory",
36971 "text" : "directory"
36972 },
36973 {
36974 "children" : [
56122987 36975 {
56122987
DM
36976 "info" : {
36977 "GET" : {
e9cd3bd4 36978 "allowtoken" : 1,
4d47f125 36979 "description" : "Get details about a zpool.",
44660702 36980 "method" : "GET",
4d47f125 36981 "name" : "detail",
56122987 36982 "parameters" : {
44660702 36983 "additionalProperties" : 0,
56122987 36984 "properties" : {
4d47f125
TL
36985 "name" : {
36986 "description" : "The storage identifier.",
36987 "format" : "pve-storage-id",
36988 "type" : "string",
36989 "typetext" : "<string>"
44660702 36990 },
7aacca6f 36991 "node" : {
7aacca6f 36992 "description" : "The cluster node name.",
44660702 36993 "format" : "pve-node",
013dc89f
DM
36994 "type" : "string",
36995 "typetext" : "<string>"
56122987 36996 }
44660702 36997 }
7aacca6f 36998 },
7aacca6f
DM
36999 "permissions" : {
37000 "check" : [
37001 "perm",
4d47f125 37002 "/",
7aacca6f 37003 [
4d47f125
TL
37004 "Sys.Audit",
37005 "Datastore.Audit"
7aacca6f
DM
37006 ],
37007 "any",
37008 1
37009 ]
37010 },
44660702
DM
37011 "protected" : 1,
37012 "proxyto" : "node",
7aacca6f 37013 "returns" : {
56122987 37014 "properties" : {
4d47f125
TL
37015 "action" : {
37016 "description" : "Information about the recommended action to fix the state.",
37017 "optional" : 1,
37018 "type" : "string"
56122987 37019 },
4d47f125 37020 "children" : {
e2d681b3 37021 "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
4d47f125
TL
37022 "items" : {
37023 "properties" : {
37024 "cksum" : {
e2d681b3 37025 "optional" : 1,
4d47f125
TL
37026 "type" : "number"
37027 },
37028 "msg" : {
37029 "description" : "An optional message about the vdev.",
37030 "type" : "string"
37031 },
37032 "name" : {
e2d681b3 37033 "description" : "The name of the vdev or section.",
4d47f125
TL
37034 "type" : "string"
37035 },
37036 "read" : {
e2d681b3 37037 "optional" : 1,
4d47f125
TL
37038 "type" : "number"
37039 },
37040 "state" : {
37041 "description" : "The state of the vdev.",
e2d681b3 37042 "optional" : 1,
4d47f125
TL
37043 "type" : "string"
37044 },
37045 "write" : {
e2d681b3 37046 "optional" : 1,
4d47f125
TL
37047 "type" : "number"
37048 }
37049 },
37050 "type" : "object"
37051 },
37052 "type" : "array"
56122987 37053 },
e2d681b3
TL
37054 "errors" : {
37055 "description" : "Information about the errors on the zpool.",
37056 "type" : "string"
37057 },
4d47f125
TL
37058 "name" : {
37059 "description" : "The name of the zpool.",
37060 "type" : "string"
44660702 37061 },
4d47f125 37062 "scan" : {
e2d681b3 37063 "description" : "Information about the last/current scrub.",
d2656385 37064 "optional" : 1,
4d47f125 37065 "type" : "string"
44660702 37066 },
4d47f125
TL
37067 "state" : {
37068 "description" : "The state of the zpool.",
37069 "type" : "string"
37070 },
37071 "status" : {
37072 "description" : "Information about the state of the zpool.",
44660702 37073 "optional" : 1,
4d47f125 37074 "type" : "string"
56122987 37075 }
4d47f125
TL
37076 },
37077 "type" : "object"
44660702
DM
37078 }
37079 }
37080 },
37081 "leaf" : 1,
4d47f125
TL
37082 "path" : "/nodes/{node}/disks/zfs/{name}",
37083 "text" : "{name}"
44660702
DM
37084 }
37085 ],
37086 "info" : {
37087 "GET" : {
e9cd3bd4 37088 "allowtoken" : 1,
4d47f125 37089 "description" : "List Zpools.",
44660702 37090 "method" : "GET",
4d47f125 37091 "name" : "index",
44660702
DM
37092 "parameters" : {
37093 "additionalProperties" : 0,
37094 "properties" : {
37095 "node" : {
37096 "description" : "The cluster node name.",
37097 "format" : "pve-node",
013dc89f
DM
37098 "type" : "string",
37099 "typetext" : "<string>"
4d47f125
TL
37100 }
37101 }
37102 },
37103 "permissions" : {
37104 "check" : [
37105 "perm",
37106 "/",
37107 [
37108 "Sys.Audit",
37109 "Datastore.Audit"
37110 ],
37111 "any",
37112 1
37113 ]
37114 },
37115 "protected" : 1,
37116 "proxyto" : "node",
37117 "returns" : {
37118 "items" : {
37119 "properties" : {
37120 "alloc" : {
37121 "description" : "",
37122 "type" : "integer"
37123 },
37124 "dedup" : {
37125 "description" : "",
37126 "type" : "number"
37127 },
37128 "frag" : {
37129 "description" : "",
37130 "type" : "integer"
37131 },
37132 "free" : {
37133 "description" : "",
37134 "type" : "integer"
37135 },
37136 "health" : {
37137 "description" : "",
37138 "type" : "string"
37139 },
37140 "name" : {
37141 "description" : "",
37142 "type" : "string"
37143 },
37144 "size" : {
37145 "description" : "",
37146 "type" : "integer"
37147 }
37148 },
37149 "type" : "object"
37150 },
37151 "links" : [
37152 {
37153 "href" : "{name}",
37154 "rel" : "child"
37155 }
37156 ],
37157 "type" : "array"
37158 }
37159 },
37160 "POST" : {
e9cd3bd4 37161 "allowtoken" : 1,
4d47f125
TL
37162 "description" : "Create a ZFS pool.",
37163 "method" : "POST",
37164 "name" : "create",
37165 "parameters" : {
37166 "additionalProperties" : 0,
37167 "properties" : {
37168 "add_storage" : {
37169 "default" : 0,
37170 "description" : "Configure storage using the zpool.",
37171 "optional" : 1,
37172 "type" : "boolean",
37173 "typetext" : "<boolean>"
37174 },
37175 "ashift" : {
37176 "default" : 12,
37177 "description" : "Pool sector size exponent.",
37178 "maximum" : 16,
37179 "minimum" : 9,
37180 "optional" : 1,
37181 "type" : "integer",
37182 "typetext" : "<integer> (9 - 16)"
37183 },
37184 "compression" : {
37185 "default" : "on",
37186 "description" : "The compression algorithm to use.",
37187 "enum" : [
37188 "on",
37189 "off",
37190 "gzip",
37191 "lz4",
37192 "lzjb",
37193 "zle"
37194 ],
37195 "optional" : 1,
37196 "type" : "string"
37197 },
37198 "devices" : {
37199 "description" : "The block devices you want to create the zpool on.",
37200 "format" : "string-list",
37201 "type" : "string",
37202 "typetext" : "<string>"
44660702 37203 },
4d47f125 37204 "name" : {
44660702
DM
37205 "description" : "The storage identifier.",
37206 "format" : "pve-storage-id",
013dc89f
DM
37207 "type" : "string",
37208 "typetext" : "<string>"
4d47f125
TL
37209 },
37210 "node" : {
37211 "description" : "The cluster node name.",
37212 "format" : "pve-node",
37213 "type" : "string",
37214 "typetext" : "<string>"
37215 },
37216 "raidlevel" : {
37217 "description" : "The RAID level to use.",
37218 "enum" : [
37219 "single",
37220 "mirror",
37221 "raid10",
37222 "raidz",
37223 "raidz2",
37224 "raidz3"
37225 ],
37226 "type" : "string"
56122987
DM
37227 }
37228 }
44660702
DM
37229 },
37230 "permissions" : {
37231 "check" : [
37232 "perm",
4d47f125 37233 "/",
44660702 37234 [
4d47f125
TL
37235 "Sys.Modify",
37236 "Datastore.Allocate"
37237 ]
44660702
DM
37238 ]
37239 },
4d47f125
TL
37240 "protected" : 1,
37241 "proxyto" : "node",
44660702 37242 "returns" : {
4d47f125 37243 "type" : "string"
56122987
DM
37244 }
37245 }
44660702
DM
37246 },
37247 "leaf" : 0,
4d47f125
TL
37248 "path" : "/nodes/{node}/disks/zfs",
37249 "text" : "zfs"
37250 },
2c0dde61
DM
37251 {
37252 "info" : {
37253 "GET" : {
e9cd3bd4 37254 "allowtoken" : 1,
2c0dde61
DM
37255 "description" : "List local disks.",
37256 "method" : "GET",
37257 "name" : "list",
37258 "parameters" : {
37259 "additionalProperties" : 0,
37260 "properties" : {
d2656385
TL
37261 "include-partitions" : {
37262 "default" : 0,
37263 "description" : "Also include partitions.",
37264 "optional" : 1,
37265 "type" : "boolean",
37266 "typetext" : "<boolean>"
37267 },
2c0dde61
DM
37268 "node" : {
37269 "description" : "The cluster node name.",
37270 "format" : "pve-node",
013dc89f
DM
37271 "type" : "string",
37272 "typetext" : "<string>"
4d47f125
TL
37273 },
37274 "skipsmart" : {
37275 "default" : 0,
37276 "description" : "Skip smart checks.",
37277 "optional" : 1,
37278 "type" : "boolean",
37279 "typetext" : "<boolean>"
37280 },
37281 "type" : {
37282 "description" : "Only list specific types of disks.",
37283 "enum" : [
37284 "unused",
37285 "journal_disks"
37286 ],
37287 "optional" : 1,
37288 "type" : "string"
2c0dde61
DM
37289 }
37290 }
37291 },
37292 "permissions" : {
37293 "check" : [
d2656385 37294 "or",
2c0dde61 37295 [
d2656385
TL
37296 "perm",
37297 "/",
37298 [
37299 "Sys.Audit",
37300 "Datastore.Audit"
37301 ],
37302 "any",
37303 1
2c0dde61 37304 ],
d2656385
TL
37305 [
37306 "perm",
37307 "/nodes/{node}",
37308 [
37309 "Sys.Audit",
37310 "Datastore.Audit"
37311 ],
37312 "any",
37313 1
37314 ]
2c0dde61
DM
37315 ]
37316 },
37317 "protected" : 1,
37318 "proxyto" : "node",
37319 "returns" : {
37320 "items" : {
37321 "properties" : {
37322 "devpath" : {
37323 "description" : "The device path",
37324 "type" : "string"
37325 },
37326 "gpt" : {
37327 "type" : "boolean"
37328 },
37329 "health" : {
37330 "optional" : 1,
37331 "type" : "string"
37332 },
37333 "model" : {
37334 "optional" : 1,
37335 "type" : "string"
37336 },
37337 "osdid" : {
37338 "type" : "integer"
37339 },
d2656385
TL
37340 "parent" : {
37341 "description" : "For partitions only. The device path of the disk the partition resides on.",
37342 "optional" : 1,
37343 "type" : "string"
37344 },
2c0dde61
DM
37345 "serial" : {
37346 "optional" : 1,
37347 "type" : "string"
37348 },
37349 "size" : {
37350 "type" : "integer"
37351 },
37352 "used" : {
37353 "optional" : 1,
37354 "type" : "string"
37355 },
37356 "vendor" : {
37357 "optional" : 1,
37358 "type" : "string"
37359 },
37360 "wwn" : {
37361 "optional" : 1,
37362 "type" : "string"
37363 }
37364 },
37365 "type" : "object"
37366 },
37367 "type" : "array"
37368 }
37369 }
37370 },
37371 "leaf" : 1,
37372 "path" : "/nodes/{node}/disks/list",
37373 "text" : "list"
37374 },
37375 {
37376 "info" : {
37377 "GET" : {
e9cd3bd4 37378 "allowtoken" : 1,
2c0dde61
DM
37379 "description" : "Get SMART Health of a disk.",
37380 "method" : "GET",
37381 "name" : "smart",
37382 "parameters" : {
37383 "additionalProperties" : 0,
37384 "properties" : {
37385 "disk" : {
37386 "description" : "Block device name",
37387 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
37388 "type" : "string"
37389 },
37390 "healthonly" : {
37391 "description" : "If true returns only the health status",
37392 "optional" : 1,
013dc89f
DM
37393 "type" : "boolean",
37394 "typetext" : "<boolean>"
2c0dde61
DM
37395 },
37396 "node" : {
37397 "description" : "The cluster node name.",
37398 "format" : "pve-node",
013dc89f
DM
37399 "type" : "string",
37400 "typetext" : "<string>"
2c0dde61
DM
37401 }
37402 }
37403 },
37404 "permissions" : {
37405 "check" : [
37406 "perm",
37407 "/",
37408 [
37409 "Sys.Audit",
37410 "Datastore.Audit"
37411 ],
37412 "any",
37413 1
37414 ]
37415 },
37416 "protected" : 1,
37417 "proxyto" : "node",
37418 "returns" : {
de0983cb
DM
37419 "properties" : {
37420 "attributes" : {
37421 "optional" : 1,
37422 "type" : "array"
37423 },
37424 "health" : {
37425 "type" : "string"
37426 },
37427 "text" : {
37428 "optional" : 1,
37429 "type" : "string"
37430 },
37431 "type" : {
37432 "optional" : 1,
37433 "type" : "string"
37434 }
37435 },
2c0dde61
DM
37436 "type" : "object"
37437 }
37438 }
37439 },
37440 "leaf" : 1,
37441 "path" : "/nodes/{node}/disks/smart",
37442 "text" : "smart"
37443 },
37444 {
37445 "info" : {
37446 "POST" : {
e9cd3bd4 37447 "allowtoken" : 1,
2c0dde61
DM
37448 "description" : "Initialize Disk with GPT",
37449 "method" : "POST",
37450 "name" : "initgpt",
37451 "parameters" : {
37452 "additionalProperties" : 0,
37453 "properties" : {
37454 "disk" : {
37455 "description" : "Block device name",
37456 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
37457 "type" : "string"
37458 },
37459 "node" : {
37460 "description" : "The cluster node name.",
37461 "format" : "pve-node",
013dc89f
DM
37462 "type" : "string",
37463 "typetext" : "<string>"
2c0dde61
DM
37464 },
37465 "uuid" : {
37466 "description" : "UUID for the GPT table",
37467 "maxLength" : 36,
37468 "optional" : 1,
37469 "pattern" : "[a-fA-F0-9\\-]+",
37470 "type" : "string"
37471 }
37472 }
37473 },
37474 "permissions" : {
37475 "check" : [
37476 "perm",
37477 "/",
37478 [
37479 "Sys.Modify"
37480 ]
37481 ]
37482 },
37483 "protected" : 1,
37484 "proxyto" : "node",
37485 "returns" : {
37486 "type" : "string"
37487 }
37488 }
37489 },
37490 "leaf" : 1,
37491 "path" : "/nodes/{node}/disks/initgpt",
37492 "text" : "initgpt"
37493 }
37494 ],
37495 "info" : {
37496 "GET" : {
e9cd3bd4 37497 "allowtoken" : 1,
2c0dde61
DM
37498 "description" : "Node index.",
37499 "method" : "GET",
37500 "name" : "index",
37501 "parameters" : {
37502 "additionalProperties" : 0,
37503 "properties" : {
37504 "node" : {
37505 "description" : "The cluster node name.",
37506 "format" : "pve-node",
013dc89f
DM
37507 "type" : "string",
37508 "typetext" : "<string>"
2c0dde61
DM
37509 }
37510 }
37511 },
37512 "permissions" : {
37513 "user" : "all"
37514 },
37515 "proxyto" : "node",
37516 "returns" : {
37517 "items" : {
37518 "properties" : {},
37519 "type" : "object"
37520 },
37521 "links" : [
37522 {
37523 "href" : "{name}",
37524 "rel" : "child"
37525 }
37526 ],
37527 "type" : "array"
37528 }
37529 }
37530 },
37531 "leaf" : 0,
37532 "path" : "/nodes/{node}/disks",
37533 "text" : "disks"
37534 },
56122987 37535 {
56122987
DM
37536 "children" : [
37537 {
37538 "info" : {
44660702 37539 "GET" : {
e9cd3bd4 37540 "allowtoken" : 1,
44660702
DM
37541 "description" : "List available updates.",
37542 "method" : "GET",
37543 "name" : "list_updates",
37544 "parameters" : {
37545 "additionalProperties" : 0,
37546 "properties" : {
37547 "node" : {
37548 "description" : "The cluster node name.",
37549 "format" : "pve-node",
013dc89f
DM
37550 "type" : "string",
37551 "typetext" : "<string>"
44660702
DM
37552 }
37553 }
7aacca6f
DM
37554 },
37555 "permissions" : {
37556 "check" : [
37557 "perm",
37558 "/nodes/{node}",
37559 [
37560 "Sys.Modify"
37561 ]
37562 ]
37563 },
44660702 37564 "protected" : 1,
56122987 37565 "proxyto" : "node",
44660702
DM
37566 "returns" : {
37567 "items" : {
37568 "properties" : {},
37569 "type" : "object"
37570 },
37571 "type" : "array"
37572 }
37573 },
37574 "POST" : {
e9cd3bd4 37575 "allowtoken" : 1,
44660702 37576 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
37577 "method" : "POST",
37578 "name" : "update_database",
56122987
DM
37579 "parameters" : {
37580 "additionalProperties" : 0,
37581 "properties" : {
44660702
DM
37582 "node" : {
37583 "description" : "The cluster node name.",
37584 "format" : "pve-node",
013dc89f
DM
37585 "type" : "string",
37586 "typetext" : "<string>"
44660702 37587 },
56122987 37588 "notify" : {
56122987 37589 "default" : 0,
44660702
DM
37590 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
37591 "optional" : 1,
013dc89f
DM
37592 "type" : "boolean",
37593 "typetext" : "<boolean>"
56122987
DM
37594 },
37595 "quiet" : {
56122987 37596 "default" : 0,
44660702 37597 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 37598 "optional" : 1,
013dc89f
DM
37599 "type" : "boolean",
37600 "typetext" : "<boolean>"
56122987 37601 }
7aacca6f
DM
37602 }
37603 },
37604 "permissions" : {
37605 "check" : [
37606 "perm",
37607 "/nodes/{node}",
37608 [
37609 "Sys.Modify"
37610 ]
37611 ]
37612 },
44660702
DM
37613 "protected" : 1,
37614 "proxyto" : "node",
37615 "returns" : {
37616 "type" : "string"
37617 }
56122987
DM
37618 }
37619 },
7aacca6f 37620 "leaf" : 1,
44660702
DM
37621 "path" : "/nodes/{node}/apt/update",
37622 "text" : "update"
56122987
DM
37623 },
37624 {
56122987
DM
37625 "info" : {
37626 "GET" : {
e9cd3bd4 37627 "allowtoken" : 1,
44660702 37628 "description" : "Get package changelogs.",
56122987 37629 "method" : "GET",
7aacca6f 37630 "name" : "changelog",
56122987 37631 "parameters" : {
44660702 37632 "additionalProperties" : 0,
56122987
DM
37633 "properties" : {
37634 "name" : {
37635 "description" : "Package name.",
013dc89f
DM
37636 "type" : "string",
37637 "typetext" : "<string>"
56122987 37638 },
44660702
DM
37639 "node" : {
37640 "description" : "The cluster node name.",
37641 "format" : "pve-node",
013dc89f
DM
37642 "type" : "string",
37643 "typetext" : "<string>"
44660702 37644 },
56122987 37645 "version" : {
7aacca6f 37646 "description" : "Package version.",
44660702 37647 "optional" : 1,
013dc89f
DM
37648 "type" : "string",
37649 "typetext" : "<string>"
56122987 37650 }
44660702 37651 }
56122987 37652 },
44660702
DM
37653 "permissions" : {
37654 "check" : [
37655 "perm",
37656 "/nodes/{node}",
37657 [
37658 "Sys.Modify"
37659 ]
37660 ]
37661 },
37662 "proxyto" : "node",
37663 "returns" : {
37664 "type" : "string"
37665 }
56122987
DM
37666 }
37667 },
44660702
DM
37668 "leaf" : 1,
37669 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 37670 "text" : "changelog"
56122987
DM
37671 },
37672 {
56122987
DM
37673 "info" : {
37674 "GET" : {
e9cd3bd4 37675 "allowtoken" : 1,
44660702
DM
37676 "description" : "Get package information for important Proxmox packages.",
37677 "method" : "GET",
7aacca6f
DM
37678 "name" : "versions",
37679 "parameters" : {
44660702 37680 "additionalProperties" : 0,
7aacca6f
DM
37681 "properties" : {
37682 "node" : {
44660702 37683 "description" : "The cluster node name.",
7aacca6f 37684 "format" : "pve-node",
013dc89f
DM
37685 "type" : "string",
37686 "typetext" : "<string>"
7aacca6f 37687 }
44660702 37688 }
7aacca6f 37689 },
56122987
DM
37690 "permissions" : {
37691 "check" : [
37692 "perm",
37693 "/nodes/{node}",
37694 [
37695 "Sys.Audit"
37696 ]
37697 ]
37698 },
7aacca6f 37699 "proxyto" : "node",
56122987
DM
37700 "returns" : {
37701 "items" : {
7aacca6f
DM
37702 "properties" : {},
37703 "type" : "object"
44660702
DM
37704 },
37705 "type" : "array"
56122987
DM
37706 }
37707 }
37708 },
44660702 37709 "leaf" : 1,
7aacca6f 37710 "path" : "/nodes/{node}/apt/versions",
44660702 37711 "text" : "versions"
56122987
DM
37712 }
37713 ],
56122987
DM
37714 "info" : {
37715 "GET" : {
e9cd3bd4 37716 "allowtoken" : 1,
44660702 37717 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 37718 "method" : "GET",
44660702 37719 "name" : "index",
7aacca6f
DM
37720 "parameters" : {
37721 "additionalProperties" : 0,
37722 "properties" : {
37723 "node" : {
44660702 37724 "description" : "The cluster node name.",
7aacca6f 37725 "format" : "pve-node",
013dc89f
DM
37726 "type" : "string",
37727 "typetext" : "<string>"
7aacca6f
DM
37728 }
37729 }
37730 },
7aacca6f
DM
37731 "permissions" : {
37732 "user" : "all"
37733 },
44660702
DM
37734 "returns" : {
37735 "items" : {
37736 "properties" : {
37737 "id" : {
37738 "type" : "string"
37739 }
37740 },
37741 "type" : "object"
37742 },
37743 "links" : [
37744 {
37745 "href" : "{id}",
37746 "rel" : "child"
37747 }
37748 ],
37749 "type" : "array"
37750 }
56122987 37751 }
7aacca6f 37752 },
44660702 37753 "leaf" : 0,
7aacca6f 37754 "path" : "/nodes/{node}/apt",
44660702 37755 "text" : "apt"
56122987
DM
37756 },
37757 {
56122987
DM
37758 "children" : [
37759 {
37760 "children" : [
37761 {
56122987
DM
37762 "info" : {
37763 "DELETE" : {
e9cd3bd4 37764 "allowtoken" : 1,
44660702 37765 "description" : "Delete rule.",
7aacca6f 37766 "method" : "DELETE",
44660702 37767 "name" : "delete_rule",
56122987
DM
37768 "parameters" : {
37769 "additionalProperties" : 0,
37770 "properties" : {
56122987
DM
37771 "digest" : {
37772 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 37773 "maxLength" : 40,
56122987 37774 "optional" : 1,
013dc89f
DM
37775 "type" : "string",
37776 "typetext" : "<string>"
56122987 37777 },
44660702
DM
37778 "node" : {
37779 "description" : "The cluster node name.",
37780 "format" : "pve-node",
013dc89f
DM
37781 "type" : "string",
37782 "typetext" : "<string>"
44660702 37783 },
7aacca6f 37784 "pos" : {
7aacca6f 37785 "description" : "Update rule at position <pos>.",
44660702
DM
37786 "minimum" : 0,
37787 "optional" : 1,
4bd7df8b 37788 "type" : "integer",
013dc89f 37789 "typetext" : "<integer> (0 - N)"
56122987
DM
37790 }
37791 }
37792 },
44660702
DM
37793 "permissions" : {
37794 "check" : [
37795 "perm",
37796 "/nodes/{node}",
37797 [
37798 "Sys.Modify"
37799 ]
37800 ]
37801 },
37802 "protected" : 1,
37803 "proxyto" : "node",
56122987
DM
37804 "returns" : {
37805 "type" : "null"
44660702
DM
37806 }
37807 },
37808 "GET" : {
e9cd3bd4 37809 "allowtoken" : 1,
44660702
DM
37810 "description" : "Get single rule data.",
37811 "method" : "GET",
37812 "name" : "get_rule",
37813 "parameters" : {
37814 "additionalProperties" : 0,
37815 "properties" : {
37816 "node" : {
37817 "description" : "The cluster node name.",
37818 "format" : "pve-node",
013dc89f
DM
37819 "type" : "string",
37820 "typetext" : "<string>"
44660702
DM
37821 },
37822 "pos" : {
37823 "description" : "Update rule at position <pos>.",
37824 "minimum" : 0,
37825 "optional" : 1,
4bd7df8b 37826 "type" : "integer",
013dc89f 37827 "typetext" : "<integer> (0 - N)"
44660702
DM
37828 }
37829 }
56122987 37830 },
56122987
DM
37831 "permissions" : {
37832 "check" : [
37833 "perm",
37834 "/nodes/{node}",
37835 [
44660702 37836 "Sys.Audit"
56122987
DM
37837 ]
37838 ]
44660702
DM
37839 },
37840 "proxyto" : "node",
37841 "returns" : {
37842 "properties" : {
e2d681b3
TL
37843 "action" : {
37844 "type" : "string"
37845 },
37846 "comment" : {
37847 "optional" : 1,
37848 "type" : "string"
37849 },
37850 "dest" : {
37851 "optional" : 1,
37852 "type" : "string"
37853 },
37854 "dport" : {
37855 "optional" : 1,
37856 "type" : "string"
37857 },
37858 "enable" : {
37859 "optional" : 1,
37860 "type" : "integer"
37861 },
4772952b
TL
37862 "icmp-type" : {
37863 "optional" : 1,
37864 "type" : "string"
37865 },
e2d681b3
TL
37866 "iface" : {
37867 "optional" : 1,
37868 "type" : "string"
37869 },
37870 "ipversion" : {
37871 "optional" : 1,
37872 "type" : "integer"
37873 },
95895385
TL
37874 "log" : {
37875 "description" : "Log level for firewall rule",
37876 "enum" : [
37877 "emerg",
37878 "alert",
37879 "crit",
37880 "err",
37881 "warning",
37882 "notice",
37883 "info",
37884 "debug",
37885 "nolog"
37886 ],
37887 "optional" : 1,
37888 "type" : "string"
37889 },
e2d681b3
TL
37890 "macro" : {
37891 "optional" : 1,
5f26e15b 37892 "type" : "string"
e2d681b3 37893 },
44660702
DM
37894 "pos" : {
37895 "type" : "integer"
e2d681b3
TL
37896 },
37897 "proto" : {
37898 "optional" : 1,
37899 "type" : "string"
37900 },
37901 "source" : {
37902 "optional" : 1,
37903 "type" : "string"
37904 },
37905 "sport" : {
37906 "optional" : 1,
37907 "type" : "string"
37908 },
37909 "type" : {
37910 "type" : "string"
44660702
DM
37911 }
37912 },
37913 "type" : "object"
7aacca6f 37914 }
56122987
DM
37915 },
37916 "PUT" : {
e9cd3bd4 37917 "allowtoken" : 1,
44660702
DM
37918 "description" : "Modify rule data.",
37919 "method" : "PUT",
56122987 37920 "name" : "update_rule",
56122987 37921 "parameters" : {
44660702 37922 "additionalProperties" : 0,
56122987 37923 "properties" : {
44660702
DM
37924 "action" : {
37925 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
37926 "maxLength" : 20,
37927 "minLength" : 2,
56122987 37928 "optional" : 1,
44660702
DM
37929 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
37930 "type" : "string"
56122987 37931 },
7aacca6f 37932 "comment" : {
e94f0d56 37933 "description" : "Descriptive comment.",
56122987 37934 "optional" : 1,
013dc89f
DM
37935 "type" : "string",
37936 "typetext" : "<string>"
56122987 37937 },
44660702
DM
37938 "delete" : {
37939 "description" : "A list of settings you want to delete.",
37940 "format" : "pve-configid-list",
56122987 37941 "optional" : 1,
013dc89f
DM
37942 "type" : "string",
37943 "typetext" : "<string>"
56122987 37944 },
44660702
DM
37945 "dest" : {
37946 "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.",
37947 "format" : "pve-fw-addr-spec",
56122987 37948 "optional" : 1,
013dc89f
DM
37949 "type" : "string",
37950 "typetext" : "<string>"
56122987 37951 },
44660702
DM
37952 "digest" : {
37953 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
37954 "maxLength" : 40,
56122987 37955 "optional" : 1,
013dc89f
DM
37956 "type" : "string",
37957 "typetext" : "<string>"
56122987 37958 },
7aacca6f 37959 "dport" : {
7aacca6f 37960 "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
37961 "format" : "pve-fw-dport-spec",
37962 "optional" : 1,
013dc89f
DM
37963 "type" : "string",
37964 "typetext" : "<string>"
7aacca6f 37965 },
44660702 37966 "enable" : {
e94f0d56 37967 "description" : "Flag to enable/disable a rule.",
44660702 37968 "minimum" : 0,
56122987 37969 "optional" : 1,
4bd7df8b 37970 "type" : "integer",
013dc89f 37971 "typetext" : "<integer> (0 - N)"
56122987 37972 },
4772952b
TL
37973 "icmp-type" : {
37974 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
37975 "format" : "pve-fw-icmp-type-spec",
37976 "optional" : 1,
37977 "type" : "string",
37978 "typetext" : "<string>"
37979 },
7aacca6f 37980 "iface" : {
44660702 37981 "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 37982 "format" : "pve-iface",
44660702 37983 "maxLength" : 20,
56122987 37984 "minLength" : 2,
44660702 37985 "optional" : 1,
013dc89f
DM
37986 "type" : "string",
37987 "typetext" : "<string>"
56122987 37988 },
95895385
TL
37989 "log" : {
37990 "description" : "Log level for firewall rule.",
37991 "enum" : [
37992 "emerg",
37993 "alert",
37994 "crit",
37995 "err",
37996 "warning",
37997 "notice",
37998 "info",
37999 "debug",
38000 "nolog"
38001 ],
38002 "optional" : 1,
38003 "type" : "string"
38004 },
44660702 38005 "macro" : {
e94f0d56 38006 "description" : "Use predefined standard macro.",
44660702
DM
38007 "maxLength" : 128,
38008 "optional" : 1,
013dc89f
DM
38009 "type" : "string",
38010 "typetext" : "<string>"
44660702
DM
38011 },
38012 "moveto" : {
38013 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
38014 "minimum" : 0,
7aacca6f 38015 "optional" : 1,
4bd7df8b 38016 "type" : "integer",
013dc89f 38017 "typetext" : "<integer> (0 - N)"
44660702
DM
38018 },
38019 "node" : {
38020 "description" : "The cluster node name.",
38021 "format" : "pve-node",
013dc89f
DM
38022 "type" : "string",
38023 "typetext" : "<string>"
56122987
DM
38024 },
38025 "pos" : {
44660702 38026 "description" : "Update rule at position <pos>.",
7aacca6f 38027 "minimum" : 0,
7aacca6f 38028 "optional" : 1,
4bd7df8b 38029 "type" : "integer",
013dc89f 38030 "typetext" : "<integer> (0 - N)"
7aacca6f 38031 },
44660702
DM
38032 "proto" : {
38033 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
38034 "format" : "pve-fw-protocol-spec",
7aacca6f 38035 "optional" : 1,
013dc89f
DM
38036 "type" : "string",
38037 "typetext" : "<string>"
7aacca6f 38038 },
44660702
DM
38039 "source" : {
38040 "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.",
38041 "format" : "pve-fw-addr-spec",
56122987 38042 "optional" : 1,
013dc89f
DM
38043 "type" : "string",
38044 "typetext" : "<string>"
7aacca6f 38045 },
44660702
DM
38046 "sport" : {
38047 "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.",
38048 "format" : "pve-fw-sport-spec",
38049 "optional" : 1,
013dc89f
DM
38050 "type" : "string",
38051 "typetext" : "<string>"
44660702
DM
38052 },
38053 "type" : {
e94f0d56 38054 "description" : "Rule type.",
44660702
DM
38055 "enum" : [
38056 "in",
38057 "out",
38058 "group"
38059 ],
38060 "optional" : 1,
38061 "type" : "string"
56122987 38062 }
44660702 38063 }
56122987 38064 },
56122987
DM
38065 "permissions" : {
38066 "check" : [
38067 "perm",
38068 "/nodes/{node}",
38069 [
38070 "Sys.Modify"
38071 ]
38072 ]
7aacca6f 38073 },
44660702 38074 "protected" : 1,
7aacca6f 38075 "proxyto" : "node",
7aacca6f
DM
38076 "returns" : {
38077 "type" : "null"
56122987
DM
38078 }
38079 }
7aacca6f 38080 },
44660702 38081 "leaf" : 1,
7aacca6f 38082 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 38083 "text" : "{pos}"
56122987
DM
38084 }
38085 ],
56122987
DM
38086 "info" : {
38087 "GET" : {
e9cd3bd4 38088 "allowtoken" : 1,
44660702
DM
38089 "description" : "List rules.",
38090 "method" : "GET",
38091 "name" : "get_rules",
38092 "parameters" : {
38093 "additionalProperties" : 0,
38094 "properties" : {
38095 "node" : {
38096 "description" : "The cluster node name.",
38097 "format" : "pve-node",
013dc89f
DM
38098 "type" : "string",
38099 "typetext" : "<string>"
44660702
DM
38100 }
38101 }
38102 },
38103 "permissions" : {
38104 "check" : [
38105 "perm",
38106 "/nodes/{node}",
38107 [
38108 "Sys.Audit"
38109 ]
38110 ]
38111 },
38112 "proxyto" : "node",
56122987 38113 "returns" : {
56122987
DM
38114 "items" : {
38115 "properties" : {
38116 "pos" : {
38117 "type" : "integer"
38118 }
44660702
DM
38119 },
38120 "type" : "object"
56122987 38121 },
7aacca6f
DM
38122 "links" : [
38123 {
38124 "href" : "{pos}",
38125 "rel" : "child"
38126 }
38127 ],
38128 "type" : "array"
44660702 38129 }
56122987
DM
38130 },
38131 "POST" : {
e9cd3bd4 38132 "allowtoken" : 1,
44660702 38133 "description" : "Create new rule.",
7aacca6f
DM
38134 "method" : "POST",
38135 "name" : "create_rule",
56122987 38136 "parameters" : {
44660702 38137 "additionalProperties" : 0,
56122987 38138 "properties" : {
7aacca6f 38139 "action" : {
7aacca6f 38140 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 38141 "maxLength" : 20,
7aacca6f
DM
38142 "minLength" : 2,
38143 "optional" : 0,
44660702
DM
38144 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
38145 "type" : "string"
56122987 38146 },
44660702 38147 "comment" : {
e94f0d56 38148 "description" : "Descriptive comment.",
56122987 38149 "optional" : 1,
013dc89f
DM
38150 "type" : "string",
38151 "typetext" : "<string>"
56122987 38152 },
44660702
DM
38153 "dest" : {
38154 "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.",
38155 "format" : "pve-fw-addr-spec",
7aacca6f 38156 "optional" : 1,
013dc89f
DM
38157 "type" : "string",
38158 "typetext" : "<string>"
56122987 38159 },
44660702
DM
38160 "digest" : {
38161 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38162 "maxLength" : 40,
38163 "optional" : 1,
013dc89f
DM
38164 "type" : "string",
38165 "typetext" : "<string>"
56122987 38166 },
44660702
DM
38167 "dport" : {
38168 "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.",
38169 "format" : "pve-fw-dport-spec",
7aacca6f 38170 "optional" : 1,
013dc89f
DM
38171 "type" : "string",
38172 "typetext" : "<string>"
56122987 38173 },
44660702 38174 "enable" : {
e94f0d56 38175 "description" : "Flag to enable/disable a rule.",
44660702
DM
38176 "minimum" : 0,
38177 "optional" : 1,
4bd7df8b 38178 "type" : "integer",
013dc89f 38179 "typetext" : "<integer> (0 - N)"
44660702 38180 },
4772952b
TL
38181 "icmp-type" : {
38182 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
38183 "format" : "pve-fw-icmp-type-spec",
38184 "optional" : 1,
38185 "type" : "string",
38186 "typetext" : "<string>"
38187 },
7aacca6f 38188 "iface" : {
44660702 38189 "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 38190 "format" : "pve-iface",
56122987 38191 "maxLength" : 20,
7aacca6f 38192 "minLength" : 2,
7aacca6f 38193 "optional" : 1,
013dc89f
DM
38194 "type" : "string",
38195 "typetext" : "<string>"
56122987 38196 },
95895385
TL
38197 "log" : {
38198 "description" : "Log level for firewall rule.",
38199 "enum" : [
38200 "emerg",
38201 "alert",
38202 "crit",
38203 "err",
38204 "warning",
38205 "notice",
38206 "info",
38207 "debug",
38208 "nolog"
38209 ],
38210 "optional" : 1,
38211 "type" : "string"
38212 },
44660702 38213 "macro" : {
e94f0d56 38214 "description" : "Use predefined standard macro.",
44660702 38215 "maxLength" : 128,
7aacca6f 38216 "optional" : 1,
013dc89f
DM
38217 "type" : "string",
38218 "typetext" : "<string>"
56122987 38219 },
44660702
DM
38220 "node" : {
38221 "description" : "The cluster node name.",
38222 "format" : "pve-node",
013dc89f
DM
38223 "type" : "string",
38224 "typetext" : "<string>"
44660702
DM
38225 },
38226 "pos" : {
38227 "description" : "Update rule at position <pos>.",
38228 "minimum" : 0,
38229 "optional" : 1,
4bd7df8b 38230 "type" : "integer",
013dc89f 38231 "typetext" : "<integer> (0 - N)"
44660702
DM
38232 },
38233 "proto" : {
38234 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
38235 "format" : "pve-fw-protocol-spec",
56122987 38236 "optional" : 1,
013dc89f
DM
38237 "type" : "string",
38238 "typetext" : "<string>"
56122987 38239 },
7aacca6f 38240 "source" : {
7aacca6f 38241 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
44660702
DM
38242 "format" : "pve-fw-addr-spec",
38243 "optional" : 1,
013dc89f
DM
38244 "type" : "string",
38245 "typetext" : "<string>"
7aacca6f 38246 },
44660702
DM
38247 "sport" : {
38248 "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.",
38249 "format" : "pve-fw-sport-spec",
7aacca6f 38250 "optional" : 1,
013dc89f
DM
38251 "type" : "string",
38252 "typetext" : "<string>"
44660702
DM
38253 },
38254 "type" : {
e94f0d56 38255 "description" : "Rule type.",
44660702
DM
38256 "enum" : [
38257 "in",
38258 "out",
38259 "group"
38260 ],
38261 "optional" : 0,
38262 "type" : "string"
56122987 38263 }
44660702 38264 }
7aacca6f 38265 },
56122987
DM
38266 "permissions" : {
38267 "check" : [
38268 "perm",
38269 "/nodes/{node}",
38270 [
38271 "Sys.Modify"
38272 ]
38273 ]
38274 },
44660702
DM
38275 "protected" : 1,
38276 "proxyto" : "node",
38277 "returns" : {
38278 "type" : "null"
38279 }
56122987
DM
38280 }
38281 },
44660702 38282 "leaf" : 0,
7aacca6f 38283 "path" : "/nodes/{node}/firewall/rules",
44660702 38284 "text" : "rules"
56122987
DM
38285 },
38286 {
56122987 38287 "info" : {
44660702 38288 "GET" : {
e9cd3bd4 38289 "allowtoken" : 1,
44660702
DM
38290 "description" : "Get host firewall options.",
38291 "method" : "GET",
38292 "name" : "get_options",
56122987 38293 "parameters" : {
7aacca6f 38294 "additionalProperties" : 0,
56122987 38295 "properties" : {
44660702
DM
38296 "node" : {
38297 "description" : "The cluster node name.",
38298 "format" : "pve-node",
013dc89f
DM
38299 "type" : "string",
38300 "typetext" : "<string>"
44660702
DM
38301 }
38302 }
38303 },
38304 "permissions" : {
38305 "check" : [
38306 "perm",
38307 "/nodes/{node}",
38308 [
38309 "Sys.Audit"
38310 ]
38311 ]
38312 },
38313 "proxyto" : "node",
38314 "returns" : {
38315 "properties" : {
38316 "enable" : {
38317 "description" : "Enable host firewall rules.",
7aacca6f 38318 "optional" : 1,
44660702 38319 "type" : "boolean"
7aacca6f 38320 },
44660702
DM
38321 "log_level_in" : {
38322 "description" : "Log level for incoming traffic.",
56122987
DM
38323 "enum" : [
38324 "emerg",
38325 "alert",
38326 "crit",
38327 "err",
38328 "warning",
38329 "notice",
38330 "info",
38331 "debug",
38332 "nolog"
38333 ],
56122987 38334 "optional" : 1,
44660702
DM
38335 "type" : "string"
38336 },
38337 "log_level_out" : {
38338 "description" : "Log level for outgoing traffic.",
56122987
DM
38339 "enum" : [
38340 "emerg",
38341 "alert",
38342 "crit",
38343 "err",
38344 "warning",
38345 "notice",
38346 "info",
38347 "debug",
38348 "nolog"
38349 ],
44660702
DM
38350 "optional" : 1,
38351 "type" : "string"
38352 },
95895385
TL
38353 "log_nf_conntrack" : {
38354 "default" : 0,
38355 "description" : "Enable logging of conntrack information.",
38356 "optional" : 1,
38357 "type" : "boolean"
38358 },
44660702 38359 "ndp" : {
5c1699e5
TL
38360 "default" : 0,
38361 "description" : "Enable NDP (Neighbor Discovery Protocol).",
44660702
DM
38362 "optional" : 1,
38363 "type" : "boolean"
38364 },
5f26e15b
TL
38365 "nf_conntrack_allow_invalid" : {
38366 "default" : 0,
38367 "description" : "Allow invalid packets on connection tracking.",
38368 "optional" : 1,
38369 "type" : "boolean"
38370 },
44660702 38371 "nf_conntrack_max" : {
5c1699e5 38372 "default" : 262144,
44660702
DM
38373 "description" : "Maximum number of tracked connections.",
38374 "minimum" : 32768,
38375 "optional" : 1,
38376 "type" : "integer"
38377 },
38378 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 38379 "default" : 432000,
44660702
DM
38380 "description" : "Conntrack established timeout.",
38381 "minimum" : 7875,
38382 "optional" : 1,
38383 "type" : "integer"
38384 },
5c1699e5
TL
38385 "nf_conntrack_tcp_timeout_syn_recv" : {
38386 "default" : 60,
38387 "description" : "Conntrack syn recv timeout.",
38388 "maximum" : 60,
38389 "minimum" : 30,
38390 "optional" : 1,
38391 "type" : "integer"
38392 },
44660702
DM
38393 "nosmurfs" : {
38394 "description" : "Enable SMURFS filter.",
38395 "optional" : 1,
38396 "type" : "boolean"
56122987 38397 },
5c1699e5
TL
38398 "protection_synflood" : {
38399 "default" : 0,
38400 "description" : "Enable synflood protection",
38401 "optional" : 1,
38402 "type" : "boolean"
38403 },
38404 "protection_synflood_burst" : {
38405 "default" : 1000,
38406 "description" : "Synflood protection rate burst by ip src.",
38407 "optional" : 1,
38408 "type" : "integer"
38409 },
38410 "protection_synflood_rate" : {
38411 "default" : 200,
38412 "description" : "Synflood protection rate syn/sec by ip src.",
38413 "optional" : 1,
38414 "type" : "integer"
38415 },
7aacca6f 38416 "smurf_log_level" : {
44660702 38417 "description" : "Log level for SMURFS filter.",
56122987
DM
38418 "enum" : [
38419 "emerg",
38420 "alert",
38421 "crit",
38422 "err",
38423 "warning",
38424 "notice",
38425 "info",
38426 "debug",
38427 "nolog"
7aacca6f 38428 ],
7aacca6f
DM
38429 "optional" : 1,
38430 "type" : "string"
56122987 38431 },
44660702
DM
38432 "tcp_flags_log_level" : {
38433 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
38434 "enum" : [
38435 "emerg",
38436 "alert",
38437 "crit",
38438 "err",
38439 "warning",
38440 "notice",
38441 "info",
38442 "debug",
38443 "nolog"
38444 ],
44660702
DM
38445 "optional" : 1,
38446 "type" : "string"
7aacca6f 38447 },
44660702 38448 "tcpflags" : {
5c1699e5 38449 "default" : 0,
44660702 38450 "description" : "Filter illegal combinations of TCP flags.",
56122987 38451 "optional" : 1,
44660702 38452 "type" : "boolean"
56122987 38453 }
44660702
DM
38454 },
38455 "type" : "object"
7aacca6f 38456 }
56122987 38457 },
44660702 38458 "PUT" : {
e9cd3bd4 38459 "allowtoken" : 1,
44660702
DM
38460 "description" : "Set Firewall options.",
38461 "method" : "PUT",
38462 "name" : "set_options",
7aacca6f 38463 "parameters" : {
44660702 38464 "additionalProperties" : 0,
7aacca6f 38465 "properties" : {
44660702
DM
38466 "delete" : {
38467 "description" : "A list of settings you want to delete.",
38468 "format" : "pve-configid-list",
7aacca6f 38469 "optional" : 1,
013dc89f
DM
38470 "type" : "string",
38471 "typetext" : "<string>"
56122987 38472 },
44660702
DM
38473 "digest" : {
38474 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
38475 "maxLength" : 40,
38476 "optional" : 1,
013dc89f
DM
38477 "type" : "string",
38478 "typetext" : "<string>"
56122987 38479 },
44660702
DM
38480 "enable" : {
38481 "description" : "Enable host firewall rules.",
7aacca6f 38482 "optional" : 1,
013dc89f
DM
38483 "type" : "boolean",
38484 "typetext" : "<boolean>"
44660702
DM
38485 },
38486 "log_level_in" : {
38487 "description" : "Log level for incoming traffic.",
56122987
DM
38488 "enum" : [
38489 "emerg",
38490 "alert",
38491 "crit",
38492 "err",
38493 "warning",
38494 "notice",
38495 "info",
38496 "debug",
38497 "nolog"
44660702 38498 ],
7aacca6f 38499 "optional" : 1,
44660702 38500 "type" : "string"
7aacca6f 38501 },
44660702
DM
38502 "log_level_out" : {
38503 "description" : "Log level for outgoing traffic.",
56122987
DM
38504 "enum" : [
38505 "emerg",
38506 "alert",
38507 "crit",
38508 "err",
38509 "warning",
38510 "notice",
38511 "info",
38512 "debug",
38513 "nolog"
38514 ],
38515 "optional" : 1,
7aacca6f 38516 "type" : "string"
56122987 38517 },
95895385
TL
38518 "log_nf_conntrack" : {
38519 "default" : 0,
38520 "description" : "Enable logging of conntrack information.",
38521 "optional" : 1,
38522 "type" : "boolean",
38523 "typetext" : "<boolean>"
38524 },
44660702 38525 "ndp" : {
5c1699e5
TL
38526 "default" : 0,
38527 "description" : "Enable NDP (Neighbor Discovery Protocol).",
7aacca6f 38528 "optional" : 1,
013dc89f
DM
38529 "type" : "boolean",
38530 "typetext" : "<boolean>"
44660702 38531 },
5f26e15b
TL
38532 "nf_conntrack_allow_invalid" : {
38533 "default" : 0,
38534 "description" : "Allow invalid packets on connection tracking.",
38535 "optional" : 1,
38536 "type" : "boolean",
38537 "typetext" : "<boolean>"
38538 },
44660702 38539 "nf_conntrack_max" : {
5c1699e5 38540 "default" : 262144,
44660702
DM
38541 "description" : "Maximum number of tracked connections.",
38542 "minimum" : 32768,
38543 "optional" : 1,
4bd7df8b 38544 "type" : "integer",
013dc89f 38545 "typetext" : "<integer> (32768 - N)"
44660702
DM
38546 },
38547 "nf_conntrack_tcp_timeout_established" : {
5c1699e5 38548 "default" : 432000,
44660702
DM
38549 "description" : "Conntrack established timeout.",
38550 "minimum" : 7875,
38551 "optional" : 1,
4bd7df8b 38552 "type" : "integer",
013dc89f 38553 "typetext" : "<integer> (7875 - N)"
44660702 38554 },
5c1699e5
TL
38555 "nf_conntrack_tcp_timeout_syn_recv" : {
38556 "default" : 60,
38557 "description" : "Conntrack syn recv timeout.",
38558 "maximum" : 60,
38559 "minimum" : 30,
38560 "optional" : 1,
38561 "type" : "integer",
38562 "typetext" : "<integer> (30 - 60)"
38563 },
44660702
DM
38564 "node" : {
38565 "description" : "The cluster node name.",
38566 "format" : "pve-node",
013dc89f
DM
38567 "type" : "string",
38568 "typetext" : "<string>"
44660702
DM
38569 },
38570 "nosmurfs" : {
38571 "description" : "Enable SMURFS filter.",
38572 "optional" : 1,
013dc89f
DM
38573 "type" : "boolean",
38574 "typetext" : "<boolean>"
44660702 38575 },
5c1699e5
TL
38576 "protection_synflood" : {
38577 "default" : 0,
38578 "description" : "Enable synflood protection",
38579 "optional" : 1,
38580 "type" : "boolean",
38581 "typetext" : "<boolean>"
38582 },
38583 "protection_synflood_burst" : {
38584 "default" : 1000,
38585 "description" : "Synflood protection rate burst by ip src.",
38586 "optional" : 1,
38587 "type" : "integer",
38588 "typetext" : "<integer>"
38589 },
38590 "protection_synflood_rate" : {
38591 "default" : 200,
38592 "description" : "Synflood protection rate syn/sec by ip src.",
38593 "optional" : 1,
38594 "type" : "integer",
38595 "typetext" : "<integer>"
38596 },
44660702
DM
38597 "smurf_log_level" : {
38598 "description" : "Log level for SMURFS filter.",
56122987
DM
38599 "enum" : [
38600 "emerg",
38601 "alert",
38602 "crit",
38603 "err",
38604 "warning",
38605 "notice",
38606 "info",
38607 "debug",
38608 "nolog"
44660702
DM
38609 ],
38610 "optional" : 1,
38611 "type" : "string"
56122987 38612 },
44660702
DM
38613 "tcp_flags_log_level" : {
38614 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
38615 "enum" : [
38616 "emerg",
38617 "alert",
38618 "crit",
38619 "err",
38620 "warning",
38621 "notice",
38622 "info",
38623 "debug",
38624 "nolog"
38625 ],
44660702
DM
38626 "optional" : 1,
38627 "type" : "string"
7aacca6f 38628 },
44660702 38629 "tcpflags" : {
5c1699e5 38630 "default" : 0,
44660702 38631 "description" : "Filter illegal combinations of TCP flags.",
56122987 38632 "optional" : 1,
013dc89f
DM
38633 "type" : "boolean",
38634 "typetext" : "<boolean>"
56122987 38635 }
7aacca6f 38636 }
56122987 38637 },
44660702
DM
38638 "permissions" : {
38639 "check" : [
38640 "perm",
38641 "/nodes/{node}",
38642 [
38643 "Sys.Modify"
38644 ]
38645 ]
38646 },
38647 "protected" : 1,
38648 "proxyto" : "node",
38649 "returns" : {
38650 "type" : "null"
38651 }
7aacca6f
DM
38652 }
38653 },
44660702
DM
38654 "leaf" : 1,
38655 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
38656 "text" : "options"
38657 },
38658 {
7aacca6f
DM
38659 "info" : {
38660 "GET" : {
e9cd3bd4 38661 "allowtoken" : 1,
44660702
DM
38662 "description" : "Read firewall log",
38663 "method" : "GET",
7aacca6f 38664 "name" : "log",
56122987 38665 "parameters" : {
44660702 38666 "additionalProperties" : 0,
56122987 38667 "properties" : {
7aacca6f 38668 "limit" : {
44660702 38669 "minimum" : 0,
7aacca6f 38670 "optional" : 1,
4bd7df8b 38671 "type" : "integer",
013dc89f 38672 "typetext" : "<integer> (0 - N)"
7aacca6f 38673 },
56122987 38674 "node" : {
7aacca6f 38675 "description" : "The cluster node name.",
44660702 38676 "format" : "pve-node",
013dc89f
DM
38677 "type" : "string",
38678 "typetext" : "<string>"
44660702
DM
38679 },
38680 "start" : {
38681 "minimum" : 0,
38682 "optional" : 1,
4bd7df8b 38683 "type" : "integer",
013dc89f 38684 "typetext" : "<integer> (0 - N)"
56122987 38685 }
44660702 38686 }
7aacca6f 38687 },
56122987
DM
38688 "permissions" : {
38689 "check" : [
38690 "perm",
38691 "/nodes/{node}",
38692 [
38693 "Sys.Syslog"
38694 ]
38695 ]
38696 },
44660702
DM
38697 "protected" : 1,
38698 "proxyto" : "node",
56122987
DM
38699 "returns" : {
38700 "items" : {
56122987 38701 "properties" : {
56122987 38702 "n" : {
44660702
DM
38703 "description" : "Line number",
38704 "type" : "integer"
7aacca6f
DM
38705 },
38706 "t" : {
44660702
DM
38707 "description" : "Line text",
38708 "type" : "string"
56122987 38709 }
44660702
DM
38710 },
38711 "type" : "object"
56122987
DM
38712 },
38713 "type" : "array"
7aacca6f 38714 }
56122987
DM
38715 }
38716 },
44660702
DM
38717 "leaf" : 1,
38718 "path" : "/nodes/{node}/firewall/log",
7aacca6f 38719 "text" : "log"
56122987
DM
38720 }
38721 ],
38722 "info" : {
38723 "GET" : {
e9cd3bd4 38724 "allowtoken" : 1,
44660702
DM
38725 "description" : "Directory index.",
38726 "method" : "GET",
38727 "name" : "index",
56122987 38728 "parameters" : {
44660702 38729 "additionalProperties" : 0,
56122987
DM
38730 "properties" : {
38731 "node" : {
38732 "description" : "The cluster node name.",
44660702 38733 "format" : "pve-node",
013dc89f
DM
38734 "type" : "string",
38735 "typetext" : "<string>"
56122987 38736 }
44660702 38737 }
56122987 38738 },
7aacca6f
DM
38739 "permissions" : {
38740 "user" : "all"
38741 },
56122987
DM
38742 "returns" : {
38743 "items" : {
38744 "properties" : {},
38745 "type" : "object"
38746 },
56122987
DM
38747 "links" : [
38748 {
44660702
DM
38749 "href" : "{name}",
38750 "rel" : "child"
56122987 38751 }
44660702
DM
38752 ],
38753 "type" : "array"
38754 }
56122987 38755 }
7aacca6f 38756 },
44660702 38757 "leaf" : 0,
7aacca6f 38758 "path" : "/nodes/{node}/firewall",
44660702 38759 "text" : "firewall"
56122987 38760 },
5d9c884c
DM
38761 {
38762 "children" : [
38763 {
38764 "children" : [
38765 {
38766 "info" : {
38767 "GET" : {
e9cd3bd4 38768 "allowtoken" : 1,
5d9c884c
DM
38769 "description" : "Get replication job status.",
38770 "method" : "GET",
38771 "name" : "job_status",
38772 "parameters" : {
38773 "additionalProperties" : 0,
38774 "properties" : {
38775 "id" : {
38776 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38777 "format" : "pve-replication-job-id",
38778 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38779 "type" : "string"
38780 },
38781 "node" : {
38782 "description" : "The cluster node name.",
38783 "format" : "pve-node",
38784 "type" : "string",
38785 "typetext" : "<string>"
38786 }
38787 }
38788 },
38789 "permissions" : {
38790 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
38791 "user" : "all"
38792 },
38793 "protected" : 1,
38794 "proxyto" : "node",
38795 "returns" : {
5d9c884c
DM
38796 "type" : "object"
38797 }
38798 }
38799 },
38800 "leaf" : 1,
38801 "path" : "/nodes/{node}/replication/{id}/status",
38802 "text" : "status"
38803 },
38804 {
38805 "info" : {
38806 "GET" : {
e9cd3bd4 38807 "allowtoken" : 1,
5d9c884c
DM
38808 "description" : "Read replication job log.",
38809 "method" : "GET",
38810 "name" : "read_job_log",
38811 "parameters" : {
38812 "additionalProperties" : 0,
38813 "properties" : {
38814 "id" : {
38815 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38816 "format" : "pve-replication-job-id",
38817 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38818 "type" : "string"
38819 },
38820 "limit" : {
38821 "minimum" : 0,
38822 "optional" : 1,
38823 "type" : "integer",
38824 "typetext" : "<integer> (0 - N)"
38825 },
38826 "node" : {
38827 "description" : "The cluster node name.",
38828 "format" : "pve-node",
38829 "type" : "string",
38830 "typetext" : "<string>"
38831 },
38832 "start" : {
38833 "minimum" : 0,
38834 "optional" : 1,
38835 "type" : "integer",
38836 "typetext" : "<integer> (0 - N)"
38837 }
38838 }
38839 },
38840 "permissions" : {
38841 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
38842 "user" : "all"
38843 },
38844 "protected" : 1,
38845 "proxyto" : "node",
38846 "returns" : {
38847 "items" : {
38848 "properties" : {
38849 "n" : {
38850 "description" : "Line number",
38851 "type" : "integer"
38852 },
38853 "t" : {
38854 "description" : "Line text",
38855 "type" : "string"
38856 }
38857 },
38858 "type" : "object"
38859 },
38860 "type" : "array"
38861 }
38862 }
38863 },
38864 "leaf" : 1,
38865 "path" : "/nodes/{node}/replication/{id}/log",
38866 "text" : "log"
38867 },
38868 {
38869 "info" : {
38870 "POST" : {
e9cd3bd4 38871 "allowtoken" : 1,
5d9c884c
DM
38872 "description" : "Schedule replication job to start as soon as possible.",
38873 "method" : "POST",
38874 "name" : "schedule_now",
38875 "parameters" : {
38876 "additionalProperties" : 0,
38877 "properties" : {
38878 "id" : {
38879 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38880 "format" : "pve-replication-job-id",
38881 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38882 "type" : "string"
38883 },
38884 "node" : {
38885 "description" : "The cluster node name.",
38886 "format" : "pve-node",
38887 "type" : "string",
38888 "typetext" : "<string>"
38889 }
38890 }
38891 },
38892 "permissions" : {
38893 "check" : [
38894 "perm",
38895 "/storage",
38896 [
38897 "Datastore.Allocate"
38898 ]
38899 ]
38900 },
38901 "protected" : 1,
38902 "proxyto" : "node",
38903 "returns" : {
38904 "type" : "string"
38905 }
38906 }
38907 },
38908 "leaf" : 1,
38909 "path" : "/nodes/{node}/replication/{id}/schedule_now",
38910 "text" : "schedule_now"
38911 }
38912 ],
38913 "info" : {
38914 "GET" : {
e9cd3bd4 38915 "allowtoken" : 1,
5d9c884c
DM
38916 "description" : "Directory index.",
38917 "method" : "GET",
38918 "name" : "index",
38919 "parameters" : {
38920 "additionalProperties" : 0,
38921 "properties" : {
38922 "id" : {
38923 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
38924 "format" : "pve-replication-job-id",
38925 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
38926 "type" : "string"
38927 },
38928 "node" : {
38929 "description" : "The cluster node name.",
38930 "format" : "pve-node",
38931 "type" : "string",
38932 "typetext" : "<string>"
38933 }
38934 }
38935 },
38936 "permissions" : {
38937 "user" : "all"
38938 },
38939 "returns" : {
38940 "items" : {
38941 "properties" : {},
38942 "type" : "object"
38943 },
38944 "links" : [
38945 {
38946 "href" : "{name}",
38947 "rel" : "child"
38948 }
38949 ],
38950 "type" : "array"
38951 }
38952 }
38953 },
38954 "leaf" : 0,
38955 "path" : "/nodes/{node}/replication/{id}",
38956 "text" : "{id}"
38957 }
38958 ],
38959 "info" : {
38960 "GET" : {
e9cd3bd4 38961 "allowtoken" : 1,
5d9c884c
DM
38962 "description" : "List status of all replication jobs on this node.",
38963 "method" : "GET",
38964 "name" : "status",
38965 "parameters" : {
38966 "additionalProperties" : 0,
38967 "properties" : {
38968 "guest" : {
38969 "description" : "Only list replication jobs for this guest.",
38970 "format" : "pve-vmid",
38971 "minimum" : 1,
38972 "optional" : 1,
38973 "type" : "integer",
38974 "typetext" : "<integer> (1 - N)"
38975 },
38976 "node" : {
38977 "description" : "The cluster node name.",
38978 "format" : "pve-node",
38979 "type" : "string",
38980 "typetext" : "<string>"
38981 }
38982 }
38983 },
38984 "permissions" : {
38985 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
38986 "user" : "all"
38987 },
38988 "protected" : 1,
38989 "proxyto" : "node",
38990 "returns" : {
38991 "items" : {
38992 "properties" : {
38993 "id" : {
38994 "type" : "string"
38995 }
38996 },
38997 "type" : "object"
38998 },
38999 "links" : [
39000 {
39001 "href" : "{id}",
39002 "rel" : "child"
39003 }
39004 ],
39005 "type" : "array"
39006 }
39007 }
39008 },
39009 "leaf" : 0,
39010 "path" : "/nodes/{node}/replication",
39011 "text" : "replication"
39012 },
a9a8e3d1
DM
39013 {
39014 "children" : [
39015 {
39016 "children" : [
39017 {
39018 "info" : {
39019 "DELETE" : {
e9cd3bd4 39020 "allowtoken" : 1,
a9a8e3d1
DM
39021 "description" : "Revoke existing certificate from CA.",
39022 "method" : "DELETE",
39023 "name" : "revoke_certificate",
39024 "parameters" : {
39025 "additionalProperties" : 0,
39026 "properties" : {
39027 "node" : {
39028 "description" : "The cluster node name.",
39029 "format" : "pve-node",
39030 "type" : "string",
39031 "typetext" : "<string>"
39032 }
39033 }
39034 },
ac70d7d1
TL
39035 "permissions" : {
39036 "check" : [
39037 "perm",
39038 "/nodes/{node}",
39039 [
39040 "Sys.Modify"
39041 ]
39042 ]
39043 },
a9a8e3d1
DM
39044 "protected" : 1,
39045 "proxyto" : "node",
39046 "returns" : {
39047 "type" : "string"
39048 }
39049 },
39050 "POST" : {
e9cd3bd4 39051 "allowtoken" : 1,
a9a8e3d1
DM
39052 "description" : "Order a new certificate from ACME-compatible CA.",
39053 "method" : "POST",
39054 "name" : "new_certificate",
39055 "parameters" : {
39056 "additionalProperties" : 0,
39057 "properties" : {
39058 "force" : {
39059 "default" : 0,
39060 "description" : "Overwrite existing custom certificate.",
39061 "optional" : 1,
39062 "type" : "boolean",
39063 "typetext" : "<boolean>"
39064 },
39065 "node" : {
39066 "description" : "The cluster node name.",
39067 "format" : "pve-node",
39068 "type" : "string",
39069 "typetext" : "<string>"
39070 }
39071 }
39072 },
ac70d7d1
TL
39073 "permissions" : {
39074 "check" : [
39075 "perm",
39076 "/nodes/{node}",
39077 [
39078 "Sys.Modify"
39079 ]
39080 ]
39081 },
a9a8e3d1
DM
39082 "protected" : 1,
39083 "proxyto" : "node",
39084 "returns" : {
39085 "type" : "string"
39086 }
39087 },
39088 "PUT" : {
e9cd3bd4 39089 "allowtoken" : 1,
a9a8e3d1
DM
39090 "description" : "Renew existing certificate from CA.",
39091 "method" : "PUT",
39092 "name" : "renew_certificate",
39093 "parameters" : {
39094 "additionalProperties" : 0,
39095 "properties" : {
39096 "force" : {
39097 "default" : 0,
39098 "description" : "Force renewal even if expiry is more than 30 days away.",
39099 "optional" : 1,
39100 "type" : "boolean",
39101 "typetext" : "<boolean>"
39102 },
39103 "node" : {
39104 "description" : "The cluster node name.",
39105 "format" : "pve-node",
39106 "type" : "string",
39107 "typetext" : "<string>"
39108 }
39109 }
39110 },
ac70d7d1
TL
39111 "permissions" : {
39112 "check" : [
39113 "perm",
39114 "/nodes/{node}",
39115 [
39116 "Sys.Modify"
39117 ]
39118 ]
39119 },
a9a8e3d1
DM
39120 "protected" : 1,
39121 "proxyto" : "node",
39122 "returns" : {
39123 "type" : "string"
39124 }
39125 }
39126 },
39127 "leaf" : 1,
39128 "path" : "/nodes/{node}/certificates/acme/certificate",
39129 "text" : "certificate"
39130 }
39131 ],
39132 "info" : {
39133 "GET" : {
e9cd3bd4 39134 "allowtoken" : 1,
a9a8e3d1
DM
39135 "description" : "ACME index.",
39136 "method" : "GET",
39137 "name" : "index",
39138 "parameters" : {
39139 "additionalProperties" : 0,
39140 "properties" : {
39141 "node" : {
39142 "description" : "The cluster node name.",
39143 "format" : "pve-node",
39144 "type" : "string",
39145 "typetext" : "<string>"
39146 }
39147 }
39148 },
39149 "permissions" : {
39150 "user" : "all"
39151 },
39152 "returns" : {
39153 "items" : {
39154 "properties" : {},
39155 "type" : "object"
39156 },
39157 "links" : [
39158 {
39159 "href" : "{name}",
39160 "rel" : "child"
39161 }
39162 ],
39163 "type" : "array"
39164 }
39165 }
39166 },
39167 "leaf" : 0,
39168 "path" : "/nodes/{node}/certificates/acme",
39169 "text" : "acme"
39170 },
39171 {
39172 "info" : {
39173 "GET" : {
e9cd3bd4 39174 "allowtoken" : 1,
a9a8e3d1
DM
39175 "description" : "Get information about node's certificates.",
39176 "method" : "GET",
39177 "name" : "info",
39178 "parameters" : {
39179 "additionalProperties" : 0,
39180 "properties" : {
39181 "node" : {
39182 "description" : "The cluster node name.",
39183 "format" : "pve-node",
39184 "type" : "string",
39185 "typetext" : "<string>"
39186 }
39187 }
39188 },
39189 "permissions" : {
39190 "user" : "all"
39191 },
39192 "proxyto" : "node",
39193 "returns" : {
39194 "items" : {
39195 "properties" : {
39196 "filename" : {
39197 "optional" : 1,
39198 "type" : "string"
39199 },
39200 "fingerprint" : {
39201 "description" : "Certificate SHA 256 fingerprint.",
39202 "optional" : 1,
39203 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39204 "type" : "string"
39205 },
39206 "issuer" : {
39207 "description" : "Certificate issuer name.",
39208 "optional" : 1,
39209 "type" : "string"
39210 },
39211 "notafter" : {
39212 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
39213 "optional" : 1,
4d47f125 39214 "renderer" : "timestamp",
a9a8e3d1
DM
39215 "type" : "integer"
39216 },
39217 "notbefore" : {
39218 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
39219 "optional" : 1,
4d47f125 39220 "renderer" : "timestamp",
a9a8e3d1
DM
39221 "type" : "integer"
39222 },
39223 "pem" : {
39224 "description" : "Certificate in PEM format",
39225 "format" : "pem-certificate",
39226 "optional" : 1,
39227 "type" : "string"
39228 },
1c532546
TL
39229 "public-key-bits" : {
39230 "description" : "Certificate's public key size",
39231 "optional" : 1,
39232 "type" : "integer"
39233 },
39234 "public-key-type" : {
39235 "description" : "Certificate's public key algorithm",
39236 "optional" : 1,
39237 "type" : "string"
39238 },
a9a8e3d1
DM
39239 "san" : {
39240 "description" : "List of Certificate's SubjectAlternativeName entries.",
39241 "items" : {
39242 "type" : "string"
39243 },
39244 "optional" : 1,
4d47f125 39245 "renderer" : "yaml",
a9a8e3d1
DM
39246 "type" : "array"
39247 },
39248 "subject" : {
39249 "description" : "Certificate subject name.",
39250 "optional" : 1,
39251 "type" : "string"
39252 }
39253 },
39254 "type" : "object"
39255 },
39256 "type" : "array"
39257 }
39258 }
39259 },
39260 "leaf" : 1,
39261 "path" : "/nodes/{node}/certificates/info",
39262 "text" : "info"
39263 },
39264 {
39265 "info" : {
39266 "DELETE" : {
e9cd3bd4 39267 "allowtoken" : 1,
a9a8e3d1
DM
39268 "description" : "DELETE custom certificate chain and key.",
39269 "method" : "DELETE",
39270 "name" : "remove_custom_cert",
39271 "parameters" : {
39272 "additionalProperties" : 0,
39273 "properties" : {
39274 "node" : {
39275 "description" : "The cluster node name.",
39276 "format" : "pve-node",
39277 "type" : "string",
39278 "typetext" : "<string>"
39279 },
39280 "restart" : {
39281 "default" : 0,
39282 "description" : "Restart pveproxy.",
39283 "optional" : 1,
39284 "type" : "boolean",
39285 "typetext" : "<boolean>"
39286 }
39287 }
39288 },
ac70d7d1
TL
39289 "permissions" : {
39290 "check" : [
39291 "perm",
39292 "/nodes/{node}",
39293 [
39294 "Sys.Modify"
39295 ]
39296 ]
39297 },
a9a8e3d1
DM
39298 "protected" : 1,
39299 "proxyto" : "node",
39300 "returns" : {
39301 "type" : "null"
39302 }
39303 },
39304 "POST" : {
e9cd3bd4 39305 "allowtoken" : 1,
a9a8e3d1
DM
39306 "description" : "Upload or update custom certificate chain and key.",
39307 "method" : "POST",
39308 "name" : "upload_custom_cert",
39309 "parameters" : {
39310 "additionalProperties" : 0,
39311 "properties" : {
39312 "certificates" : {
39313 "description" : "PEM encoded certificate (chain).",
39314 "format" : "pem-certificate-chain",
39315 "type" : "string",
39316 "typetext" : "<string>"
39317 },
39318 "force" : {
39319 "default" : 0,
39320 "description" : "Overwrite existing custom or ACME certificate files.",
39321 "optional" : 1,
39322 "type" : "boolean",
39323 "typetext" : "<boolean>"
39324 },
39325 "key" : {
39326 "description" : "PEM encoded private key.",
39327 "format" : "pem-string",
39328 "optional" : 1,
39329 "type" : "string",
39330 "typetext" : "<string>"
39331 },
39332 "node" : {
39333 "description" : "The cluster node name.",
39334 "format" : "pve-node",
39335 "type" : "string",
39336 "typetext" : "<string>"
39337 },
39338 "restart" : {
39339 "default" : 0,
39340 "description" : "Restart pveproxy.",
39341 "optional" : 1,
39342 "type" : "boolean",
39343 "typetext" : "<boolean>"
39344 }
39345 }
39346 },
ac70d7d1
TL
39347 "permissions" : {
39348 "check" : [
39349 "perm",
39350 "/nodes/{node}",
39351 [
39352 "Sys.Modify"
39353 ]
39354 ]
39355 },
a9a8e3d1
DM
39356 "protected" : 1,
39357 "proxyto" : "node",
39358 "returns" : {
39359 "properties" : {
39360 "filename" : {
39361 "optional" : 1,
39362 "type" : "string"
39363 },
39364 "fingerprint" : {
39365 "description" : "Certificate SHA 256 fingerprint.",
39366 "optional" : 1,
39367 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
39368 "type" : "string"
39369 },
39370 "issuer" : {
39371 "description" : "Certificate issuer name.",
39372 "optional" : 1,
39373 "type" : "string"
39374 },
39375 "notafter" : {
39376 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
39377 "optional" : 1,
4d47f125 39378 "renderer" : "timestamp",
a9a8e3d1
DM
39379 "type" : "integer"
39380 },
39381 "notbefore" : {
39382 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
39383 "optional" : 1,
4d47f125 39384 "renderer" : "timestamp",
a9a8e3d1
DM
39385 "type" : "integer"
39386 },
39387 "pem" : {
39388 "description" : "Certificate in PEM format",
39389 "format" : "pem-certificate",
39390 "optional" : 1,
39391 "type" : "string"
39392 },
1c532546
TL
39393 "public-key-bits" : {
39394 "description" : "Certificate's public key size",
39395 "optional" : 1,
39396 "type" : "integer"
39397 },
39398 "public-key-type" : {
39399 "description" : "Certificate's public key algorithm",
39400 "optional" : 1,
39401 "type" : "string"
39402 },
a9a8e3d1
DM
39403 "san" : {
39404 "description" : "List of Certificate's SubjectAlternativeName entries.",
39405 "items" : {
39406 "type" : "string"
39407 },
39408 "optional" : 1,
4d47f125 39409 "renderer" : "yaml",
a9a8e3d1
DM
39410 "type" : "array"
39411 },
39412 "subject" : {
39413 "description" : "Certificate subject name.",
39414 "optional" : 1,
39415 "type" : "string"
39416 }
39417 },
39418 "type" : "object"
39419 }
39420 }
39421 },
39422 "leaf" : 1,
39423 "path" : "/nodes/{node}/certificates/custom",
39424 "text" : "custom"
39425 }
39426 ],
39427 "info" : {
39428 "GET" : {
e9cd3bd4 39429 "allowtoken" : 1,
a9a8e3d1
DM
39430 "description" : "Node index.",
39431 "method" : "GET",
39432 "name" : "index",
39433 "parameters" : {
39434 "additionalProperties" : 0,
39435 "properties" : {
39436 "node" : {
39437 "description" : "The cluster node name.",
39438 "format" : "pve-node",
39439 "type" : "string",
39440 "typetext" : "<string>"
39441 }
39442 }
39443 },
39444 "permissions" : {
39445 "user" : "all"
39446 },
39447 "returns" : {
39448 "items" : {
39449 "properties" : {},
39450 "type" : "object"
39451 },
39452 "links" : [
39453 {
39454 "href" : "{name}",
39455 "rel" : "child"
39456 }
39457 ],
39458 "type" : "array"
39459 }
39460 }
39461 },
39462 "leaf" : 0,
c5aa7e14
TL
39463 "path" : "/nodes/{node}/certificates",
39464 "text" : "certificates"
39465 },
39466 {
39467 "info" : {
39468 "GET" : {
39469 "allowtoken" : 1,
39470 "description" : "Get node configuration options.",
39471 "method" : "GET",
39472 "name" : "get_config",
39473 "parameters" : {
39474 "additionalProperties" : 0,
39475 "properties" : {
39476 "node" : {
39477 "description" : "The cluster node name.",
39478 "format" : "pve-node",
39479 "type" : "string",
39480 "typetext" : "<string>"
39481 },
39482 "property" : {
39483 "default" : "all",
39484 "description" : "Return only a specific property from the node configuration.",
39485 "enum" : [
39486 "acme",
39487 "acmedomain0",
39488 "acmedomain1",
39489 "acmedomain2",
39490 "acmedomain3",
39491 "acmedomain4",
39492 "acmedomain5",
39493 "description",
39494 "startall-onboot-delay",
39495 "wakeonlan"
39496 ],
39497 "optional" : 1,
39498 "type" : "string"
39499 }
39500 }
39501 },
39502 "permissions" : {
39503 "check" : [
39504 "perm",
39505 "/",
39506 [
39507 "Sys.Audit"
39508 ]
39509 ]
39510 },
39511 "proxyto" : "node",
39512 "returns" : {
39513 "type" : "object"
39514 }
39515 },
39516 "PUT" : {
39517 "allowtoken" : 1,
39518 "description" : "Set node configuration options.",
39519 "method" : "PUT",
39520 "name" : "set_options",
39521 "parameters" : {
39522 "additionalProperties" : 0,
39523 "properties" : {
39524 "acme" : {
39525 "description" : "Node specific ACME settings.",
39526 "format" : {
39527 "account" : {
39528 "default" : "default",
39529 "description" : "ACME account config file name.",
39530 "format" : "pve-configid",
39531 "format_description" : "name",
39532 "optional" : 1,
39533 "type" : "string"
39534 },
39535 "domains" : {
39536 "description" : "List of domains for this node's ACME certificate",
39537 "format" : "pve-acme-domain-list",
39538 "format_description" : "domain[;domain;...]",
39539 "optional" : 1,
39540 "type" : "string"
39541 }
39542 },
39543 "optional" : 1,
39544 "type" : "string",
39545 "typetext" : "[account=<name>] [,domains=<domain[;domain;...]>]"
39546 },
39547 "acmedomain[n]" : {
39548 "description" : "ACME domain and validation plugin",
39549 "format" : {
39550 "alias" : {
39551 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
ac70d7d1 39552 "format" : "pve-acme-alias",
c5aa7e14
TL
39553 "format_description" : "domain",
39554 "optional" : 1,
39555 "type" : "string"
39556 },
39557 "domain" : {
39558 "default_key" : 1,
39559 "description" : "domain for this node's ACME certificate",
39560 "format" : "pve-acme-domain",
39561 "format_description" : "domain",
39562 "type" : "string"
39563 },
39564 "plugin" : {
39565 "default" : "standalone",
39566 "description" : "The ACME plugin ID",
39567 "format" : "pve-configid",
39568 "format_description" : "name of the plugin configuration",
39569 "optional" : 1,
39570 "type" : "string"
39571 }
39572 },
39573 "optional" : 1,
39574 "type" : "string",
39575 "typetext" : "[domain=]<domain> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
39576 },
39577 "delete" : {
39578 "description" : "A list of settings you want to delete.",
39579 "format" : "pve-configid-list",
39580 "optional" : 1,
39581 "type" : "string",
39582 "typetext" : "<string>"
39583 },
39584 "description" : {
39585 "description" : "Node description/comment.",
39586 "optional" : 1,
39587 "type" : "string",
39588 "typetext" : "<string>"
39589 },
39590 "digest" : {
39591 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
39592 "maxLength" : 40,
39593 "optional" : 1,
39594 "type" : "string",
39595 "typetext" : "<string>"
39596 },
39597 "node" : {
39598 "description" : "The cluster node name.",
39599 "format" : "pve-node",
39600 "type" : "string",
39601 "typetext" : "<string>"
39602 },
39603 "startall-onboot-delay" : {
39604 "default" : 0,
39605 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
39606 "maximum" : 300,
39607 "minimum" : 0,
39608 "optional" : 1,
39609 "type" : "integer",
39610 "typetext" : "<integer> (0 - 300)"
39611 },
39612 "wakeonlan" : {
39613 "description" : "MAC address for wake on LAN",
39614 "format" : "mac-addr",
39615 "optional" : 1,
39616 "type" : "string",
39617 "typetext" : "<string>"
39618 }
39619 }
39620 },
39621 "permissions" : {
39622 "check" : [
39623 "perm",
39624 "/",
39625 [
39626 "Sys.Modify"
39627 ]
39628 ]
39629 },
39630 "protected" : 1,
39631 "proxyto" : "node",
39632 "returns" : {
39633 "type" : "null"
39634 }
39635 }
39636 },
39637 "leaf" : 1,
39638 "path" : "/nodes/{node}/config",
39639 "text" : "config"
39640 },
39641 {
39642 "children" : [
39643 {
39644 "children" : [
39645 {
39646 "children" : [
39647 {
39648 "info" : {
39649 "GET" : {
39650 "allowtoken" : 1,
39651 "description" : "List zone content.",
39652 "method" : "GET",
39653 "name" : "index",
39654 "parameters" : {
39655 "additionalProperties" : 0,
39656 "properties" : {
39657 "node" : {
39658 "description" : "The cluster node name.",
39659 "format" : "pve-node",
39660 "type" : "string",
39661 "typetext" : "<string>"
39662 },
39663 "zone" : {
39664 "description" : "The SDN zone object identifier.",
39665 "format" : "pve-sdn-zone-id",
39666 "type" : "string",
39667 "typetext" : "<string>"
39668 }
39669 }
39670 },
39671 "permissions" : {
39672 "check" : [
39673 "perm",
39674 "/sdn/zones/{zone}",
39675 [
39676 "SDN.Audit"
39677 ],
39678 "any",
39679 1
39680 ]
39681 },
39682 "protected" : 1,
39683 "proxyto" : "node",
39684 "returns" : {
39685 "items" : {
39686 "properties" : {
39687 "status" : {
39688 "description" : "Status.",
39689 "optional" : 1,
39690 "type" : "string"
39691 },
39692 "statusmsg" : {
39693 "description" : "Status details",
39694 "optional" : 1,
39695 "type" : "string"
39696 },
39697 "vnet" : {
39698 "description" : "Vnet identifier.",
39699 "type" : "string"
39700 }
39701 },
39702 "type" : "object"
39703 },
39704 "links" : [
39705 {
39706 "href" : "{vnet}",
39707 "rel" : "child"
39708 }
39709 ],
39710 "type" : "array"
39711 }
39712 }
39713 },
39714 "leaf" : 1,
39715 "path" : "/nodes/{node}/sdn/zones/{zone}/content",
39716 "text" : "content"
39717 }
39718 ],
39719 "info" : {
39720 "GET" : {
39721 "allowtoken" : 1,
39722 "description" : "",
39723 "method" : "GET",
39724 "name" : "diridx",
39725 "parameters" : {
39726 "additionalProperties" : 0,
39727 "properties" : {
39728 "node" : {
39729 "description" : "The cluster node name.",
39730 "format" : "pve-node",
39731 "type" : "string",
39732 "typetext" : "<string>"
39733 },
39734 "zone" : {
39735 "description" : "The SDN zone object identifier.",
39736 "format" : "pve-sdn-zone-id",
39737 "type" : "string",
39738 "typetext" : "<string>"
39739 }
39740 }
39741 },
39742 "permissions" : {
39743 "check" : [
39744 "perm",
39745 "/sdn/zones/{zone}",
39746 [
39747 "SDN.Audit"
39748 ],
39749 "any",
39750 1
39751 ]
39752 },
39753 "returns" : {
39754 "items" : {
39755 "properties" : {
39756 "subdir" : {
39757 "type" : "string"
39758 }
39759 },
39760 "type" : "object"
39761 },
39762 "links" : [
39763 {
39764 "href" : "{subdir}",
39765 "rel" : "child"
39766 }
39767 ],
39768 "type" : "array"
39769 }
39770 }
39771 },
39772 "leaf" : 0,
39773 "path" : "/nodes/{node}/sdn/zones/{zone}",
39774 "text" : "{zone}"
39775 }
39776 ],
39777 "info" : {
39778 "GET" : {
39779 "allowtoken" : 1,
39780 "description" : "Get status for all zones.",
39781 "method" : "GET",
39782 "name" : "index",
39783 "parameters" : {
39784 "additionalProperties" : 0,
39785 "properties" : {
39786 "node" : {
39787 "description" : "The cluster node name.",
39788 "format" : "pve-node",
39789 "type" : "string",
39790 "typetext" : "<string>"
39791 }
39792 }
39793 },
39794 "permissions" : {
39795 "description" : "Only list entries where you have 'SDN.Audit'",
39796 "user" : "all"
39797 },
39798 "protected" : 1,
39799 "proxyto" : "node",
39800 "returns" : {
39801 "items" : {
39802 "properties" : {
39803 "status" : {
39804 "description" : "Status of zone",
ac70d7d1
TL
39805 "enum" : [
39806 "available",
39807 "pending",
39808 "error"
39809 ],
c5aa7e14
TL
39810 "type" : "string"
39811 },
39812 "zone" : {
39813 "description" : "The SDN zone object identifier.",
39814 "format" : "pve-sdn-zone-id",
39815 "type" : "string"
39816 }
39817 },
39818 "type" : "object"
39819 },
39820 "links" : [
39821 {
39822 "href" : "{zone}",
39823 "rel" : "child"
39824 }
39825 ],
39826 "type" : "array"
39827 }
39828 }
39829 },
39830 "leaf" : 0,
39831 "path" : "/nodes/{node}/sdn/zones",
39832 "text" : "zones"
39833 }
39834 ],
39835 "info" : {
39836 "GET" : {
39837 "allowtoken" : 1,
39838 "description" : "SDN index.",
39839 "method" : "GET",
39840 "name" : "sdnindex",
39841 "parameters" : {
39842 "additionalProperties" : 0,
39843 "properties" : {
39844 "node" : {
39845 "description" : "The cluster node name.",
39846 "format" : "pve-node",
39847 "type" : "string",
39848 "typetext" : "<string>"
39849 }
39850 }
39851 },
39852 "permissions" : {
39853 "user" : "all"
39854 },
39855 "returns" : {
39856 "items" : {
39857 "properties" : {},
39858 "type" : "object"
39859 },
39860 "links" : [
39861 {
39862 "href" : "{name}",
39863 "rel" : "child"
39864 }
39865 ],
39866 "type" : "array"
39867 }
39868 }
39869 },
39870 "leaf" : 0,
39871 "path" : "/nodes/{node}/sdn",
39872 "text" : "sdn"
a9a8e3d1 39873 },
56122987 39874 {
56122987
DM
39875 "info" : {
39876 "GET" : {
e9cd3bd4 39877 "allowtoken" : 1,
44660702
DM
39878 "description" : "API version details",
39879 "method" : "GET",
39880 "name" : "version",
56122987 39881 "parameters" : {
44660702 39882 "additionalProperties" : 0,
56122987
DM
39883 "properties" : {
39884 "node" : {
56122987 39885 "description" : "The cluster node name.",
44660702 39886 "format" : "pve-node",
013dc89f
DM
39887 "type" : "string",
39888 "typetext" : "<string>"
56122987 39889 }
44660702 39890 }
56122987 39891 },
56122987 39892 "permissions" : {
7aacca6f 39893 "user" : "all"
56122987 39894 },
56122987 39895 "proxyto" : "node",
56122987 39896 "returns" : {
56122987 39897 "properties" : {
44660702 39898 "release" : {
1e3f8156 39899 "description" : "The current installed Proxmox VE Release",
56122987
DM
39900 "type" : "string"
39901 },
44660702 39902 "repoid" : {
1e3f8156 39903 "description" : "The short git commit hash ID from which this version was build",
7aacca6f
DM
39904 "type" : "string"
39905 },
39906 "version" : {
1e3f8156 39907 "description" : "The current installed pve-manager package version",
7aacca6f
DM
39908 "type" : "string"
39909 }
44660702
DM
39910 },
39911 "type" : "object"
7aacca6f 39912 }
56122987
DM
39913 }
39914 },
56122987 39915 "leaf" : 1,
44660702
DM
39916 "path" : "/nodes/{node}/version",
39917 "text" : "version"
56122987
DM
39918 },
39919 {
56122987
DM
39920 "info" : {
39921 "GET" : {
e9cd3bd4 39922 "allowtoken" : 1,
7aacca6f 39923 "description" : "Read node status",
44660702 39924 "method" : "GET",
7aacca6f 39925 "name" : "status",
56122987 39926 "parameters" : {
44660702 39927 "additionalProperties" : 0,
56122987
DM
39928 "properties" : {
39929 "node" : {
7aacca6f 39930 "description" : "The cluster node name.",
44660702 39931 "format" : "pve-node",
013dc89f
DM
39932 "type" : "string",
39933 "typetext" : "<string>"
56122987 39934 }
44660702 39935 }
56122987 39936 },
56122987
DM
39937 "permissions" : {
39938 "check" : [
39939 "perm",
39940 "/nodes/{node}",
39941 [
39942 "Sys.Audit"
39943 ]
39944 ]
44660702
DM
39945 },
39946 "proxyto" : "node",
39947 "returns" : {
44660702 39948 "type" : "object"
7aacca6f
DM
39949 }
39950 },
39951 "POST" : {
e9cd3bd4 39952 "allowtoken" : 1,
44660702
DM
39953 "description" : "Reboot or shutdown a node.",
39954 "method" : "POST",
7aacca6f 39955 "name" : "node_cmd",
56122987 39956 "parameters" : {
44660702 39957 "additionalProperties" : 0,
56122987 39958 "properties" : {
7aacca6f
DM
39959 "command" : {
39960 "description" : "Specify the command.",
56122987 39961 "enum" : [
7aacca6f
DM
39962 "reboot",
39963 "shutdown"
56122987
DM
39964 ],
39965 "type" : "string"
44660702
DM
39966 },
39967 "node" : {
39968 "description" : "The cluster node name.",
39969 "format" : "pve-node",
013dc89f
DM
39970 "type" : "string",
39971 "typetext" : "<string>"
56122987 39972 }
44660702 39973 }
7aacca6f 39974 },
7aacca6f
DM
39975 "permissions" : {
39976 "check" : [
39977 "perm",
39978 "/nodes/{node}",
39979 [
39980 "Sys.PowerMgmt"
39981 ]
39982 ]
39983 },
44660702 39984 "protected" : 1,
7aacca6f 39985 "proxyto" : "node",
7aacca6f
DM
39986 "returns" : {
39987 "type" : "null"
56122987
DM
39988 }
39989 }
39990 },
7aacca6f 39991 "leaf" : 1,
44660702
DM
39992 "path" : "/nodes/{node}/status",
39993 "text" : "status"
56122987
DM
39994 },
39995 {
56122987
DM
39996 "info" : {
39997 "GET" : {
e9cd3bd4 39998 "allowtoken" : 1,
44660702
DM
39999 "description" : "Read tap/vm network device interface counters",
40000 "method" : "GET",
40001 "name" : "netstat",
40002 "parameters" : {
40003 "additionalProperties" : 0,
40004 "properties" : {
40005 "node" : {
40006 "description" : "The cluster node name.",
40007 "format" : "pve-node",
013dc89f
DM
40008 "type" : "string",
40009 "typetext" : "<string>"
44660702 40010 }
56122987
DM
40011 }
40012 },
40013 "permissions" : {
40014 "check" : [
40015 "perm",
40016 "/nodes/{node}",
40017 [
7aacca6f 40018 "Sys.Audit"
56122987
DM
40019 ]
40020 ]
40021 },
7aacca6f 40022 "proxyto" : "node",
44660702
DM
40023 "returns" : {
40024 "items" : {
40025 "properties" : {},
40026 "type" : "object"
40027 },
40028 "type" : "array"
40029 }
7aacca6f
DM
40030 }
40031 },
44660702
DM
40032 "leaf" : 1,
40033 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
40034 "text" : "netstat"
40035 },
40036 {
40037 "info" : {
40038 "POST" : {
e9cd3bd4 40039 "allowtoken" : 1,
7aacca6f 40040 "description" : "Execute multiple commands in order.",
7aacca6f 40041 "method" : "POST",
7aacca6f 40042 "name" : "execute",
56122987
DM
40043 "parameters" : {
40044 "additionalProperties" : 0,
40045 "properties" : {
7aacca6f
DM
40046 "commands" : {
40047 "description" : "JSON encoded array of commands.",
013dc89f
DM
40048 "type" : "string",
40049 "typetext" : "<string>"
56122987
DM
40050 },
40051 "node" : {
44660702 40052 "description" : "The cluster node name.",
56122987 40053 "format" : "pve-node",
013dc89f
DM
40054 "type" : "string",
40055 "typetext" : "<string>"
56122987
DM
40056 }
40057 }
44660702
DM
40058 },
40059 "permissions" : {
40060 "check" : [
40061 "perm",
40062 "/nodes/{node}",
40063 [
40064 "Sys.Audit"
40065 ]
40066 ]
40067 },
40068 "protected" : 1,
40069 "proxyto" : "node",
40070 "returns" : {
44660702 40071 "type" : "array"
56122987
DM
40072 }
40073 }
40074 },
56122987 40075 "leaf" : 1,
44660702
DM
40076 "path" : "/nodes/{node}/execute",
40077 "text" : "execute"
56122987 40078 },
5f26e15b
TL
40079 {
40080 "info" : {
40081 "POST" : {
e9cd3bd4 40082 "allowtoken" : 1,
5f26e15b
TL
40083 "description" : "Try to wake a node via 'wake on LAN' network packet.",
40084 "method" : "POST",
40085 "name" : "wakeonlan",
40086 "parameters" : {
40087 "additionalProperties" : 0,
40088 "properties" : {
40089 "node" : {
40090 "description" : "target node for wake on LAN packet",
40091 "format" : "pve-node",
40092 "type" : "string",
40093 "typetext" : "<string>"
40094 }
40095 }
40096 },
40097 "permissions" : {
40098 "check" : [
40099 "perm",
40100 "/nodes/{node}",
40101 [
40102 "Sys.PowerMgmt"
40103 ]
40104 ]
40105 },
40106 "protected" : 1,
40107 "returns" : {
40108 "description" : "MAC address used to assemble the WoL magic packet.",
40109 "format" : "mac-addr",
40110 "type" : "string"
40111 }
40112 }
40113 },
40114 "leaf" : 1,
40115 "path" : "/nodes/{node}/wakeonlan",
40116 "text" : "wakeonlan"
40117 },
56122987
DM
40118 {
40119 "info" : {
7aacca6f 40120 "GET" : {
e9cd3bd4 40121 "allowtoken" : 1,
44660702
DM
40122 "description" : "Read node RRD statistics (returns PNG)",
40123 "method" : "GET",
7aacca6f 40124 "name" : "rrd",
56122987 40125 "parameters" : {
7aacca6f 40126 "additionalProperties" : 0,
56122987 40127 "properties" : {
44660702
DM
40128 "cf" : {
40129 "description" : "The RRD consolidation function",
40130 "enum" : [
40131 "AVERAGE",
40132 "MAX"
40133 ],
40134 "optional" : 1,
40135 "type" : "string"
40136 },
7aacca6f 40137 "ds" : {
7aacca6f 40138 "description" : "The list of datasources you want to display.",
44660702 40139 "format" : "pve-configid-list",
013dc89f
DM
40140 "type" : "string",
40141 "typetext" : "<string>"
44660702
DM
40142 },
40143 "node" : {
40144 "description" : "The cluster node name.",
40145 "format" : "pve-node",
013dc89f
DM
40146 "type" : "string",
40147 "typetext" : "<string>"
7aacca6f
DM
40148 },
40149 "timeframe" : {
40150 "description" : "Specify the time frame you are interested in.",
40151 "enum" : [
40152 "hour",
40153 "day",
40154 "week",
40155 "month",
40156 "year"
40157 ],
40158 "type" : "string"
56122987 40159 }
7aacca6f 40160 }
56122987 40161 },
56122987 40162 "permissions" : {
56122987
DM
40163 "check" : [
40164 "perm",
40165 "/nodes/{node}",
40166 [
7aacca6f 40167 "Sys.Audit"
56122987
DM
40168 ]
40169 ]
40170 },
7aacca6f 40171 "protected" : 1,
56122987 40172 "returns" : {
56122987 40173 "properties" : {
7aacca6f 40174 "filename" : {
56122987
DM
40175 "type" : "string"
40176 }
44660702
DM
40177 },
40178 "type" : "object"
40179 }
56122987
DM
40180 }
40181 },
44660702 40182 "leaf" : 1,
7aacca6f 40183 "path" : "/nodes/{node}/rrd",
44660702 40184 "text" : "rrd"
56122987
DM
40185 },
40186 {
40187 "info" : {
7aacca6f 40188 "GET" : {
e9cd3bd4 40189 "allowtoken" : 1,
44660702
DM
40190 "description" : "Read node RRD statistics",
40191 "method" : "GET",
7aacca6f 40192 "name" : "rrddata",
56122987 40193 "parameters" : {
44660702 40194 "additionalProperties" : 0,
56122987 40195 "properties" : {
7aacca6f 40196 "cf" : {
7aacca6f
DM
40197 "description" : "The RRD consolidation function",
40198 "enum" : [
40199 "AVERAGE",
40200 "MAX"
44660702
DM
40201 ],
40202 "optional" : 1,
40203 "type" : "string"
56122987
DM
40204 },
40205 "node" : {
44660702 40206 "description" : "The cluster node name.",
56122987 40207 "format" : "pve-node",
013dc89f
DM
40208 "type" : "string",
40209 "typetext" : "<string>"
56122987 40210 },
7aacca6f 40211 "timeframe" : {
7aacca6f
DM
40212 "description" : "Specify the time frame you are interested in.",
40213 "enum" : [
40214 "hour",
40215 "day",
40216 "week",
40217 "month",
40218 "year"
44660702
DM
40219 ],
40220 "type" : "string"
56122987 40221 }
56122987
DM
40222 }
40223 },
56122987
DM
40224 "permissions" : {
40225 "check" : [
40226 "perm",
40227 "/nodes/{node}",
40228 [
44660702 40229 "Sys.Audit"
56122987
DM
40230 ]
40231 ]
7aacca6f 40232 },
44660702 40233 "protected" : 1,
56122987 40234 "returns" : {
7aacca6f 40235 "items" : {
44660702 40236 "properties" : {},
7aacca6f
DM
40237 "type" : "object"
40238 },
40239 "type" : "array"
44660702
DM
40240 }
40241 }
40242 },
40243 "leaf" : 1,
40244 "path" : "/nodes/{node}/rrddata",
40245 "text" : "rrddata"
40246 },
40247 {
40248 "info" : {
40249 "GET" : {
e9cd3bd4 40250 "allowtoken" : 1,
44660702
DM
40251 "description" : "Read system log",
40252 "method" : "GET",
40253 "name" : "syslog",
56122987 40254 "parameters" : {
44660702 40255 "additionalProperties" : 0,
56122987 40256 "properties" : {
44660702
DM
40257 "limit" : {
40258 "minimum" : 0,
7aacca6f 40259 "optional" : 1,
4bd7df8b 40260 "type" : "integer",
013dc89f 40261 "typetext" : "<integer> (0 - N)"
7aacca6f 40262 },
56122987 40263 "node" : {
7aacca6f 40264 "description" : "The cluster node name.",
44660702 40265 "format" : "pve-node",
013dc89f
DM
40266 "type" : "string",
40267 "typetext" : "<string>"
56122987 40268 },
35a75dd3
DM
40269 "service" : {
40270 "description" : "Service ID",
40271 "maxLength" : 128,
40272 "optional" : 1,
40273 "type" : "string",
40274 "typetext" : "<string>"
40275 },
44660702
DM
40276 "since" : {
40277 "description" : "Display all log since this date-time string.",
40278 "optional" : 1,
40279 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
40280 "type" : "string"
40281 },
40282 "start" : {
7aacca6f
DM
40283 "minimum" : 0,
40284 "optional" : 1,
4bd7df8b 40285 "type" : "integer",
013dc89f 40286 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
40287 },
40288 "until" : {
40289 "description" : "Display all log until this date-time string.",
7aacca6f 40290 "optional" : 1,
44660702 40291 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
40292 "type" : "string"
40293 }
44660702 40294 }
56122987 40295 },
44660702
DM
40296 "permissions" : {
40297 "check" : [
40298 "perm",
40299 "/nodes/{node}",
40300 [
40301 "Sys.Syslog"
40302 ]
40303 ]
40304 },
40305 "protected" : 1,
40306 "proxyto" : "node",
40307 "returns" : {
40308 "items" : {
40309 "properties" : {
40310 "n" : {
40311 "description" : "Line number",
40312 "type" : "integer"
40313 },
40314 "t" : {
40315 "description" : "Line text",
40316 "type" : "string"
40317 }
40318 },
40319 "type" : "object"
40320 },
40321 "type" : "array"
40322 }
56122987
DM
40323 }
40324 },
44660702
DM
40325 "leaf" : 1,
40326 "path" : "/nodes/{node}/syslog",
7aacca6f 40327 "text" : "syslog"
56122987 40328 },
bb4c8cf8
TL
40329 {
40330 "info" : {
40331 "GET" : {
e9cd3bd4 40332 "allowtoken" : 1,
bb4c8cf8
TL
40333 "description" : "Read Journal",
40334 "method" : "GET",
40335 "name" : "journal",
40336 "parameters" : {
40337 "additionalProperties" : 0,
40338 "properties" : {
40339 "endcursor" : {
40340 "description" : "End before the given Cursor. Conflicts with 'until'",
40341 "optional" : 1,
40342 "type" : "string",
40343 "typetext" : "<string>"
40344 },
40345 "lastentries" : {
40346 "description" : "Limit to the last X lines. Conflicts with a range.",
40347 "minimum" : 0,
40348 "optional" : 1,
40349 "type" : "integer",
40350 "typetext" : "<integer> (0 - N)"
40351 },
40352 "node" : {
40353 "description" : "The cluster node name.",
40354 "format" : "pve-node",
40355 "type" : "string",
40356 "typetext" : "<string>"
40357 },
40358 "since" : {
40359 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
40360 "minimum" : 0,
40361 "optional" : 1,
40362 "type" : "integer",
40363 "typetext" : "<integer> (0 - N)"
40364 },
40365 "startcursor" : {
40366 "description" : "Start after the given Cursor. Conflicts with 'since'",
40367 "optional" : 1,
40368 "type" : "string",
40369 "typetext" : "<string>"
40370 },
40371 "until" : {
40372 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
40373 "minimum" : 0,
40374 "optional" : 1,
40375 "type" : "integer",
40376 "typetext" : "<integer> (0 - N)"
40377 }
40378 }
40379 },
40380 "permissions" : {
40381 "check" : [
40382 "perm",
40383 "/nodes/{node}",
40384 [
40385 "Sys.Syslog"
40386 ]
40387 ]
40388 },
40389 "protected" : 1,
40390 "proxyto" : "node",
40391 "returns" : {
40392 "items" : {
40393 "type" : "string"
40394 },
40395 "type" : "array"
40396 }
40397 }
40398 },
40399 "leaf" : 1,
40400 "path" : "/nodes/{node}/journal",
40401 "text" : "journal"
40402 },
56122987 40403 {
56122987
DM
40404 "info" : {
40405 "POST" : {
e9cd3bd4 40406 "allowtoken" : 1,
44660702
DM
40407 "description" : "Creates a VNC Shell proxy.",
40408 "method" : "POST",
40409 "name" : "vncshell",
40410 "parameters" : {
40411 "additionalProperties" : 0,
56122987 40412 "properties" : {
95895385
TL
40413 "cmd" : {
40414 "default" : "login",
40415 "description" : "Run specific command or default to login.",
40416 "enum" : [
4772952b 40417 "upgrade",
e7084ef7 40418 "ceph_install",
d2656385 40419 "login"
95895385
TL
40420 ],
40421 "optional" : 1,
40422 "type" : "string"
40423 },
4772952b
TL
40424 "cmd-opts" : {
40425 "default" : "",
40426 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40427 "optional" : 1,
40428 "requires" : "cmd",
40429 "type" : "string",
40430 "typetext" : "<string>"
40431 },
5d9c884c
DM
40432 "height" : {
40433 "description" : "sets the height of the console in pixels.",
40434 "maximum" : 2160,
40435 "minimum" : 16,
40436 "optional" : 1,
40437 "type" : "integer",
40438 "typetext" : "<integer> (16 - 2160)"
40439 },
44660702
DM
40440 "node" : {
40441 "description" : "The cluster node name.",
40442 "format" : "pve-node",
013dc89f
DM
40443 "type" : "string",
40444 "typetext" : "<string>"
7aacca6f 40445 },
44660702
DM
40446 "upgrade" : {
40447 "default" : 0,
95895385 40448 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 40449 "optional" : 1,
013dc89f
DM
40450 "type" : "boolean",
40451 "typetext" : "<boolean>"
7aacca6f 40452 },
44660702
DM
40453 "websocket" : {
40454 "description" : "use websocket instead of standard vnc.",
40455 "optional" : 1,
013dc89f
DM
40456 "type" : "boolean",
40457 "typetext" : "<boolean>"
5d9c884c
DM
40458 },
40459 "width" : {
40460 "description" : "sets the width of the console in pixels.",
40461 "maximum" : 4096,
40462 "minimum" : 16,
40463 "optional" : 1,
40464 "type" : "integer",
40465 "typetext" : "<integer> (16 - 4096)"
56122987 40466 }
44660702 40467 }
56122987 40468 },
56122987
DM
40469 "permissions" : {
40470 "check" : [
40471 "perm",
7aacca6f 40472 "/nodes/{node}",
56122987 40473 [
7aacca6f 40474 "Sys.Console"
56122987 40475 ]
44660702
DM
40476 ],
40477 "description" : "Restricted to users on realm 'pam'"
56122987 40478 },
44660702
DM
40479 "protected" : 1,
40480 "returns" : {
40481 "additionalProperties" : 0,
56122987 40482 "properties" : {
44660702
DM
40483 "cert" : {
40484 "type" : "string"
7aacca6f 40485 },
44660702
DM
40486 "port" : {
40487 "type" : "integer"
7aacca6f 40488 },
44660702
DM
40489 "ticket" : {
40490 "type" : "string"
40491 },
40492 "upid" : {
40493 "type" : "string"
40494 },
40495 "user" : {
40496 "type" : "string"
56122987 40497 }
44660702
DM
40498 }
40499 }
56122987
DM
40500 }
40501 },
7aacca6f 40502 "leaf" : 1,
44660702
DM
40503 "path" : "/nodes/{node}/vncshell",
40504 "text" : "vncshell"
56122987 40505 },
35a75dd3
DM
40506 {
40507 "info" : {
40508 "POST" : {
e9cd3bd4 40509 "allowtoken" : 1,
35a75dd3
DM
40510 "description" : "Creates a VNC Shell proxy.",
40511 "method" : "POST",
40512 "name" : "termproxy",
40513 "parameters" : {
40514 "additionalProperties" : 0,
40515 "properties" : {
95895385
TL
40516 "cmd" : {
40517 "default" : "login",
40518 "description" : "Run specific command or default to login.",
40519 "enum" : [
4772952b 40520 "upgrade",
e7084ef7 40521 "ceph_install",
d2656385 40522 "login"
95895385
TL
40523 ],
40524 "optional" : 1,
40525 "type" : "string"
40526 },
4772952b
TL
40527 "cmd-opts" : {
40528 "default" : "",
40529 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40530 "optional" : 1,
40531 "requires" : "cmd",
40532 "type" : "string",
40533 "typetext" : "<string>"
40534 },
35a75dd3
DM
40535 "node" : {
40536 "description" : "The cluster node name.",
40537 "format" : "pve-node",
40538 "type" : "string",
40539 "typetext" : "<string>"
40540 },
40541 "upgrade" : {
40542 "default" : 0,
95895385 40543 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
35a75dd3
DM
40544 "optional" : 1,
40545 "type" : "boolean",
40546 "typetext" : "<boolean>"
40547 }
40548 }
40549 },
40550 "permissions" : {
40551 "check" : [
40552 "perm",
40553 "/nodes/{node}",
40554 [
40555 "Sys.Console"
40556 ]
40557 ],
40558 "description" : "Restricted to users on realm 'pam'"
40559 },
40560 "protected" : 1,
40561 "returns" : {
40562 "additionalProperties" : 0,
40563 "properties" : {
40564 "port" : {
40565 "type" : "integer"
40566 },
40567 "ticket" : {
40568 "type" : "string"
40569 },
40570 "upid" : {
40571 "type" : "string"
40572 },
40573 "user" : {
40574 "type" : "string"
40575 }
40576 }
40577 }
40578 }
40579 },
40580 "leaf" : 1,
40581 "path" : "/nodes/{node}/termproxy",
40582 "text" : "termproxy"
40583 },
56122987
DM
40584 {
40585 "info" : {
40586 "GET" : {
e9cd3bd4 40587 "allowtoken" : 1,
7aacca6f 40588 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
40589 "method" : "GET",
40590 "name" : "vncwebsocket",
56122987 40591 "parameters" : {
44660702 40592 "additionalProperties" : 0,
56122987
DM
40593 "properties" : {
40594 "node" : {
40595 "description" : "The cluster node name.",
44660702 40596 "format" : "pve-node",
013dc89f
DM
40597 "type" : "string",
40598 "typetext" : "<string>"
7aacca6f
DM
40599 },
40600 "port" : {
7aacca6f
DM
40601 "description" : "Port number returned by previous vncproxy call.",
40602 "maximum" : 5999,
44660702 40603 "minimum" : 5900,
4bd7df8b 40604 "type" : "integer",
013dc89f 40605 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
40606 },
40607 "vncticket" : {
40608 "description" : "Ticket from previous call to vncproxy.",
40609 "maxLength" : 512,
013dc89f
DM
40610 "type" : "string",
40611 "typetext" : "<string>"
56122987 40612 }
44660702 40613 }
56122987 40614 },
56122987
DM
40615 "permissions" : {
40616 "check" : [
40617 "perm",
40618 "/nodes/{node}",
40619 [
7aacca6f 40620 "Sys.Console"
56122987 40621 ]
44660702
DM
40622 ],
40623 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
40624 },
40625 "returns" : {
40626 "properties" : {
40627 "port" : {
40628 "type" : "string"
40629 }
40630 },
40631 "type" : "object"
7aacca6f 40632 }
56122987
DM
40633 }
40634 },
44660702 40635 "leaf" : 1,
7aacca6f 40636 "path" : "/nodes/{node}/vncwebsocket",
44660702 40637 "text" : "vncwebsocket"
56122987
DM
40638 },
40639 {
40640 "info" : {
40641 "POST" : {
e9cd3bd4 40642 "allowtoken" : 1,
44660702 40643 "description" : "Creates a SPICE shell.",
7aacca6f 40644 "method" : "POST",
44660702 40645 "name" : "spiceshell",
56122987 40646 "parameters" : {
7aacca6f 40647 "additionalProperties" : 0,
56122987 40648 "properties" : {
95895385
TL
40649 "cmd" : {
40650 "default" : "login",
40651 "description" : "Run specific command or default to login.",
40652 "enum" : [
4772952b 40653 "upgrade",
e7084ef7 40654 "ceph_install",
d2656385 40655 "login"
95895385
TL
40656 ],
40657 "optional" : 1,
40658 "type" : "string"
40659 },
4772952b
TL
40660 "cmd-opts" : {
40661 "default" : "",
40662 "description" : "Add parameters to a command. Encoded as null terminated strings.",
40663 "optional" : 1,
40664 "requires" : "cmd",
40665 "type" : "string",
40666 "typetext" : "<string>"
40667 },
7aacca6f 40668 "node" : {
44660702 40669 "description" : "The cluster node name.",
56122987 40670 "format" : "pve-node",
013dc89f
DM
40671 "type" : "string",
40672 "typetext" : "<string>"
7aacca6f 40673 },
44660702 40674 "proxy" : {
4d47f125 40675 "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
40676 "format" : "address",
40677 "optional" : 1,
013dc89f
DM
40678 "type" : "string",
40679 "typetext" : "<string>"
7aacca6f 40680 },
44660702
DM
40681 "upgrade" : {
40682 "default" : 0,
95895385 40683 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
44660702 40684 "optional" : 1,
013dc89f
DM
40685 "type" : "boolean",
40686 "typetext" : "<boolean>"
56122987 40687 }
7aacca6f 40688 }
56122987 40689 },
56122987
DM
40690 "permissions" : {
40691 "check" : [
40692 "perm",
7aacca6f 40693 "/nodes/{node}",
56122987 40694 [
7aacca6f 40695 "Sys.Console"
56122987 40696 ]
7aacca6f
DM
40697 ],
40698 "description" : "Restricted to users on realm 'pam'"
44660702
DM
40699 },
40700 "protected" : 1,
40701 "proxyto" : "node",
40702 "returns" : {
40703 "additionalProperties" : 1,
40704 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
40705 "properties" : {
40706 "host" : {
40707 "type" : "string"
40708 },
40709 "password" : {
40710 "type" : "string"
40711 },
40712 "proxy" : {
40713 "type" : "string"
40714 },
40715 "tls-port" : {
40716 "type" : "integer"
40717 },
40718 "type" : {
40719 "type" : "string"
40720 }
40721 }
7aacca6f 40722 }
56122987
DM
40723 }
40724 },
56122987 40725 "leaf" : 1,
44660702
DM
40726 "path" : "/nodes/{node}/spiceshell",
40727 "text" : "spiceshell"
56122987
DM
40728 },
40729 {
56122987 40730 "info" : {
7aacca6f 40731 "GET" : {
e9cd3bd4 40732 "allowtoken" : 1,
44660702 40733 "description" : "Read DNS settings.",
7aacca6f 40734 "method" : "GET",
44660702
DM
40735 "name" : "dns",
40736 "parameters" : {
7aacca6f
DM
40737 "additionalProperties" : 0,
40738 "properties" : {
44660702
DM
40739 "node" : {
40740 "description" : "The cluster node name.",
40741 "format" : "pve-node",
013dc89f
DM
40742 "type" : "string",
40743 "typetext" : "<string>"
7aacca6f
DM
40744 }
40745 }
40746 },
7aacca6f
DM
40747 "permissions" : {
40748 "check" : [
40749 "perm",
40750 "/nodes/{node}",
40751 [
40752 "Sys.Audit"
40753 ]
40754 ]
40755 },
44660702
DM
40756 "proxyto" : "node",
40757 "returns" : {
56122987
DM
40758 "additionalProperties" : 0,
40759 "properties" : {
44660702
DM
40760 "dns1" : {
40761 "description" : "First name server IP address.",
40762 "optional" : 1,
40763 "type" : "string"
40764 },
40765 "dns2" : {
40766 "description" : "Second name server IP address.",
40767 "optional" : 1,
40768 "type" : "string"
40769 },
40770 "dns3" : {
40771 "description" : "Third name server IP address.",
40772 "optional" : 1,
40773 "type" : "string"
40774 },
40775 "search" : {
40776 "description" : "Search domain for host-name lookup.",
40777 "optional" : 1,
40778 "type" : "string"
7aacca6f 40779 }
44660702
DM
40780 },
40781 "type" : "object"
40782 }
7aacca6f
DM
40783 },
40784 "PUT" : {
e9cd3bd4 40785 "allowtoken" : 1,
44660702
DM
40786 "description" : "Write DNS settings.",
40787 "method" : "PUT",
7aacca6f
DM
40788 "name" : "update_dns",
40789 "parameters" : {
40790 "additionalProperties" : 0,
40791 "properties" : {
44660702
DM
40792 "dns1" : {
40793 "description" : "First name server IP address.",
40794 "format" : "ip",
40795 "optional" : 1,
013dc89f
DM
40796 "type" : "string",
40797 "typetext" : "<string>"
7aacca6f 40798 },
44660702
DM
40799 "dns2" : {
40800 "description" : "Second name server IP address.",
40801 "format" : "ip",
7aacca6f 40802 "optional" : 1,
013dc89f
DM
40803 "type" : "string",
40804 "typetext" : "<string>"
7aacca6f 40805 },
44660702
DM
40806 "dns3" : {
40807 "description" : "Third name server IP address.",
40808 "format" : "ip",
7aacca6f 40809 "optional" : 1,
013dc89f
DM
40810 "type" : "string",
40811 "typetext" : "<string>"
7aacca6f
DM
40812 },
40813 "node" : {
44660702 40814 "description" : "The cluster node name.",
56122987 40815 "format" : "pve-node",
013dc89f
DM
40816 "type" : "string",
40817 "typetext" : "<string>"
7aacca6f 40818 },
44660702
DM
40819 "search" : {
40820 "description" : "Search domain for host-name lookup.",
013dc89f
DM
40821 "type" : "string",
40822 "typetext" : "<string>"
56122987
DM
40823 }
40824 }
40825 },
40826 "permissions" : {
40827 "check" : [
40828 "perm",
7aacca6f 40829 "/nodes/{node}",
56122987 40830 [
7aacca6f 40831 "Sys.Modify"
56122987
DM
40832 ]
40833 ]
40834 },
44660702 40835 "protected" : 1,
7aacca6f 40836 "proxyto" : "node",
56122987 40837 "returns" : {
7aacca6f
DM
40838 "type" : "null"
40839 }
56122987 40840 }
44660702
DM
40841 },
40842 "leaf" : 1,
40843 "path" : "/nodes/{node}/dns",
40844 "text" : "dns"
56122987
DM
40845 },
40846 {
40847 "info" : {
7aacca6f 40848 "GET" : {
e9cd3bd4 40849 "allowtoken" : 1,
7aacca6f 40850 "description" : "Read server time and time zone settings.",
44660702
DM
40851 "method" : "GET",
40852 "name" : "time",
56122987 40853 "parameters" : {
44660702 40854 "additionalProperties" : 0,
56122987
DM
40855 "properties" : {
40856 "node" : {
44660702 40857 "description" : "The cluster node name.",
56122987 40858 "format" : "pve-node",
013dc89f
DM
40859 "type" : "string",
40860 "typetext" : "<string>"
56122987 40861 }
44660702 40862 }
56122987
DM
40863 },
40864 "permissions" : {
40865 "check" : [
40866 "perm",
7aacca6f 40867 "/nodes/{node}",
56122987 40868 [
7aacca6f 40869 "Sys.Audit"
56122987
DM
40870 ]
40871 ]
44660702
DM
40872 },
40873 "proxyto" : "node",
40874 "returns" : {
40875 "additionalProperties" : 0,
40876 "properties" : {
40877 "localtime" : {
40878 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
40879 "minimum" : 1297163644,
4d47f125 40880 "renderer" : "timestamp_gmt",
44660702
DM
40881 "type" : "integer"
40882 },
40883 "time" : {
40884 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
40885 "minimum" : 1297163644,
4d47f125 40886 "renderer" : "timestamp",
44660702
DM
40887 "type" : "integer"
40888 },
40889 "timezone" : {
40890 "description" : "Time zone",
40891 "type" : "string"
40892 }
40893 },
40894 "type" : "object"
7aacca6f
DM
40895 }
40896 },
40897 "PUT" : {
e9cd3bd4 40898 "allowtoken" : 1,
7aacca6f 40899 "description" : "Set time zone.",
44660702
DM
40900 "method" : "PUT",
40901 "name" : "set_timezone",
40902 "parameters" : {
40903 "additionalProperties" : 0,
40904 "properties" : {
40905 "node" : {
40906 "description" : "The cluster node name.",
40907 "format" : "pve-node",
013dc89f
DM
40908 "type" : "string",
40909 "typetext" : "<string>"
44660702
DM
40910 },
40911 "timezone" : {
40912 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
40913 "type" : "string",
40914 "typetext" : "<string>"
44660702
DM
40915 }
40916 }
40917 },
7aacca6f
DM
40918 "permissions" : {
40919 "check" : [
40920 "perm",
40921 "/nodes/{node}",
40922 [
40923 "Sys.Modify"
40924 ]
40925 ]
56122987 40926 },
7aacca6f 40927 "protected" : 1,
44660702
DM
40928 "proxyto" : "node",
40929 "returns" : {
40930 "type" : "null"
40931 }
7aacca6f
DM
40932 }
40933 },
7aacca6f 40934 "leaf" : 1,
44660702
DM
40935 "path" : "/nodes/{node}/time",
40936 "text" : "time"
7aacca6f
DM
40937 },
40938 {
40939 "info" : {
44660702 40940 "GET" : {
e9cd3bd4 40941 "allowtoken" : 1,
44660702
DM
40942 "description" : "Get list of appliances.",
40943 "method" : "GET",
40944 "name" : "aplinfo",
7aacca6f
DM
40945 "parameters" : {
40946 "additionalProperties" : 0,
40947 "properties" : {
7aacca6f 40948 "node" : {
44660702 40949 "description" : "The cluster node name.",
7aacca6f 40950 "format" : "pve-node",
013dc89f
DM
40951 "type" : "string",
40952 "typetext" : "<string>"
7aacca6f
DM
40953 }
40954 }
56122987 40955 },
7aacca6f 40956 "permissions" : {
44660702 40957 "user" : "all"
56122987 40958 },
44660702 40959 "proxyto" : "node",
7aacca6f
DM
40960 "returns" : {
40961 "items" : {
44660702
DM
40962 "properties" : {},
40963 "type" : "object"
7aacca6f
DM
40964 },
40965 "type" : "array"
44660702
DM
40966 }
40967 },
40968 "POST" : {
e9cd3bd4 40969 "allowtoken" : 1,
44660702
DM
40970 "description" : "Download appliance templates.",
40971 "method" : "POST",
40972 "name" : "apl_download",
7aacca6f
DM
40973 "parameters" : {
40974 "additionalProperties" : 0,
40975 "properties" : {
40976 "node" : {
7aacca6f 40977 "description" : "The cluster node name.",
44660702 40978 "format" : "pve-node",
013dc89f
DM
40979 "type" : "string",
40980 "typetext" : "<string>"
44660702
DM
40981 },
40982 "storage" : {
4bd7df8b 40983 "description" : "The storage where the template will be stored",
44660702 40984 "format" : "pve-storage-id",
013dc89f
DM
40985 "type" : "string",
40986 "typetext" : "<string>"
44660702
DM
40987 },
40988 "template" : {
1e3f8156 40989 "description" : "The template which will downloaded",
44660702 40990 "maxLength" : 255,
013dc89f
DM
40991 "type" : "string",
40992 "typetext" : "<string>"
7aacca6f
DM
40993 }
40994 }
56122987 40995 },
7aacca6f 40996 "permissions" : {
44660702
DM
40997 "check" : [
40998 "perm",
40999 "/storage/{storage}",
41000 [
41001 "Datastore.AllocateTemplate"
41002 ]
41003 ]
41004 },
41005 "protected" : 1,
41006 "proxyto" : "node",
41007 "returns" : {
41008 "type" : "string"
7aacca6f
DM
41009 }
41010 }
41011 },
7aacca6f 41012 "leaf" : 1,
44660702
DM
41013 "path" : "/nodes/{node}/aplinfo",
41014 "text" : "aplinfo"
7aacca6f
DM
41015 },
41016 {
41017 "info" : {
41018 "GET" : {
e9cd3bd4 41019 "allowtoken" : 1,
44660702
DM
41020 "description" : "Gather various systems information about a node",
41021 "method" : "GET",
41022 "name" : "report",
7aacca6f 41023 "parameters" : {
44660702 41024 "additionalProperties" : 0,
7aacca6f
DM
41025 "properties" : {
41026 "node" : {
7aacca6f 41027 "description" : "The cluster node name.",
44660702 41028 "format" : "pve-node",
013dc89f
DM
41029 "type" : "string",
41030 "typetext" : "<string>"
7aacca6f 41031 }
44660702 41032 }
56122987 41033 },
7aacca6f
DM
41034 "permissions" : {
41035 "check" : [
41036 "perm",
41037 "/nodes/{node}",
41038 [
41039 "Sys.Audit"
41040 ]
41041 ]
56122987 41042 },
44660702 41043 "protected" : 1,
7aacca6f
DM
41044 "proxyto" : "node",
41045 "returns" : {
56122987 41046 "type" : "string"
7aacca6f
DM
41047 }
41048 }
41049 },
7aacca6f 41050 "leaf" : 1,
44660702
DM
41051 "path" : "/nodes/{node}/report",
41052 "text" : "report"
7aacca6f
DM
41053 },
41054 {
7aacca6f
DM
41055 "info" : {
41056 "POST" : {
e9cd3bd4 41057 "allowtoken" : 1,
1c532546 41058 "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
7aacca6f 41059 "method" : "POST",
44660702 41060 "name" : "startall",
7aacca6f 41061 "parameters" : {
44660702 41062 "additionalProperties" : 0,
7aacca6f
DM
41063 "properties" : {
41064 "force" : {
1c532546
TL
41065 "default" : "off",
41066 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
7aacca6f 41067 "optional" : 1,
013dc89f
DM
41068 "type" : "boolean",
41069 "typetext" : "<boolean>"
7aacca6f
DM
41070 },
41071 "node" : {
7aacca6f 41072 "description" : "The cluster node name.",
44660702 41073 "format" : "pve-node",
013dc89f
DM
41074 "type" : "string",
41075 "typetext" : "<string>"
52e44c50
FG
41076 },
41077 "vms" : {
1c532546 41078 "description" : "Only consider guests from this comma separated list of VMIDs.",
52e44c50
FG
41079 "format" : "pve-vmid-list",
41080 "optional" : 1,
41081 "type" : "string",
41082 "typetext" : "<string>"
7aacca6f 41083 }
44660702 41084 }
56122987 41085 },
7aacca6f
DM
41086 "permissions" : {
41087 "check" : [
41088 "perm",
41089 "/",
41090 [
41091 "VM.PowerMgmt"
41092 ]
41093 ]
44660702
DM
41094 },
41095 "protected" : 1,
41096 "proxyto" : "node",
41097 "returns" : {
41098 "type" : "string"
7aacca6f
DM
41099 }
41100 }
41101 },
44660702 41102 "leaf" : 1,
7aacca6f 41103 "path" : "/nodes/{node}/startall",
44660702 41104 "text" : "startall"
7aacca6f
DM
41105 },
41106 {
7aacca6f
DM
41107 "info" : {
41108 "POST" : {
e9cd3bd4 41109 "allowtoken" : 1,
7aacca6f 41110 "description" : "Stop all VMs and Containers.",
44660702
DM
41111 "method" : "POST",
41112 "name" : "stopall",
7aacca6f 41113 "parameters" : {
44660702 41114 "additionalProperties" : 0,
7aacca6f
DM
41115 "properties" : {
41116 "node" : {
44660702 41117 "description" : "The cluster node name.",
7aacca6f 41118 "format" : "pve-node",
013dc89f
DM
41119 "type" : "string",
41120 "typetext" : "<string>"
52e44c50
FG
41121 },
41122 "vms" : {
41123 "description" : "Only consider Guests with these IDs.",
41124 "format" : "pve-vmid-list",
41125 "optional" : 1,
41126 "type" : "string",
41127 "typetext" : "<string>"
7aacca6f 41128 }
44660702 41129 }
56122987 41130 },
7aacca6f
DM
41131 "permissions" : {
41132 "check" : [
41133 "perm",
41134 "/",
41135 [
44660702 41136 "VM.PowerMgmt"
7aacca6f
DM
41137 ]
41138 ]
56122987 41139 },
44660702 41140 "protected" : 1,
7aacca6f 41141 "proxyto" : "node",
44660702
DM
41142 "returns" : {
41143 "type" : "string"
41144 }
41145 }
56122987 41146 },
44660702
DM
41147 "leaf" : 1,
41148 "path" : "/nodes/{node}/stopall",
41149 "text" : "stopall"
41150 },
41151 {
41152 "info" : {
41153 "POST" : {
e9cd3bd4 41154 "allowtoken" : 1,
44660702
DM
41155 "description" : "Migrate all VMs and Containers.",
41156 "method" : "POST",
41157 "name" : "migrateall",
41158 "parameters" : {
41159 "additionalProperties" : 0,
41160 "properties" : {
41161 "maxworkers" : {
41162 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
41163 "minimum" : 1,
41164 "optional" : 1,
4bd7df8b 41165 "type" : "integer",
013dc89f 41166 "typetext" : "<integer> (1 - N)"
44660702
DM
41167 },
41168 "node" : {
41169 "description" : "The cluster node name.",
41170 "format" : "pve-node",
013dc89f
DM
41171 "type" : "string",
41172 "typetext" : "<string>"
44660702
DM
41173 },
41174 "target" : {
41175 "description" : "Target node.",
41176 "format" : "pve-node",
013dc89f
DM
41177 "type" : "string",
41178 "typetext" : "<string>"
52e44c50
FG
41179 },
41180 "vms" : {
41181 "description" : "Only consider Guests with these IDs.",
41182 "format" : "pve-vmid-list",
41183 "optional" : 1,
41184 "type" : "string",
41185 "typetext" : "<string>"
e9cd3bd4
TL
41186 },
41187 "with-local-disks" : {
41188 "description" : "Enable live storage migration for local disk",
41189 "optional" : 1,
41190 "type" : "boolean",
41191 "typetext" : "<boolean>"
44660702
DM
41192 }
41193 }
41194 },
41195 "permissions" : {
41196 "check" : [
41197 "perm",
41198 "/",
41199 [
41200 "VM.Migrate"
41201 ]
41202 ]
41203 },
41204 "protected" : 1,
41205 "proxyto" : "node",
41206 "returns" : {
41207 "type" : "string"
41208 }
41209 }
56122987 41210 },
44660702
DM
41211 "leaf" : 1,
41212 "path" : "/nodes/{node}/migrateall",
41213 "text" : "migrateall"
4d47f125
TL
41214 },
41215 {
41216 "info" : {
41217 "GET" : {
e9cd3bd4 41218 "allowtoken" : 1,
4d47f125
TL
41219 "description" : "Get the content of /etc/hosts.",
41220 "method" : "GET",
41221 "name" : "get_etc_hosts",
41222 "parameters" : {
41223 "additionalProperties" : 0,
41224 "properties" : {
41225 "node" : {
41226 "description" : "The cluster node name.",
41227 "format" : "pve-node",
41228 "type" : "string",
41229 "typetext" : "<string>"
41230 }
41231 }
41232 },
41233 "permissions" : {
41234 "check" : [
41235 "perm",
41236 "/",
41237 [
41238 "Sys.Audit"
41239 ]
41240 ]
41241 },
41242 "protected" : 1,
41243 "proxyto" : "node",
41244 "returns" : {
41245 "properties" : {
41246 "data" : {
41247 "description" : "The content of /etc/hosts.",
41248 "type" : "string"
41249 },
41250 "digest" : {
41251 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
41252 "maxLength" : 40,
41253 "optional" : 1,
41254 "type" : "string"
41255 }
41256 },
41257 "type" : "object"
41258 }
41259 },
41260 "POST" : {
e9cd3bd4 41261 "allowtoken" : 1,
4d47f125
TL
41262 "description" : "Write /etc/hosts.",
41263 "method" : "POST",
41264 "name" : "write_etc_hosts",
41265 "parameters" : {
41266 "additionalProperties" : 0,
41267 "properties" : {
41268 "data" : {
41269 "description" : "The target content of /etc/hosts.",
41270 "type" : "string",
41271 "typetext" : "<string>"
41272 },
41273 "digest" : {
41274 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
41275 "maxLength" : 40,
41276 "optional" : 1,
41277 "type" : "string",
41278 "typetext" : "<string>"
41279 },
41280 "node" : {
41281 "description" : "The cluster node name.",
41282 "format" : "pve-node",
41283 "type" : "string",
41284 "typetext" : "<string>"
41285 }
41286 }
41287 },
41288 "permissions" : {
41289 "check" : [
41290 "perm",
41291 "/nodes/{node}",
41292 [
41293 "Sys.Modify"
41294 ]
41295 ]
41296 },
41297 "protected" : 1,
41298 "proxyto" : "node",
41299 "returns" : {
41300 "type" : "null"
41301 }
41302 }
41303 },
41304 "leaf" : 1,
41305 "path" : "/nodes/{node}/hosts",
41306 "text" : "hosts"
44660702
DM
41307 }
41308 ],
41309 "info" : {
41310 "GET" : {
e9cd3bd4 41311 "allowtoken" : 1,
44660702
DM
41312 "description" : "Node index.",
41313 "method" : "GET",
41314 "name" : "index",
41315 "parameters" : {
41316 "additionalProperties" : 0,
41317 "properties" : {
41318 "node" : {
41319 "description" : "The cluster node name.",
41320 "format" : "pve-node",
013dc89f
DM
41321 "type" : "string",
41322 "typetext" : "<string>"
44660702
DM
41323 }
41324 }
56122987 41325 },
44660702
DM
41326 "permissions" : {
41327 "user" : "all"
56122987 41328 },
44660702
DM
41329 "returns" : {
41330 "items" : {
41331 "properties" : {},
41332 "type" : "object"
41333 },
41334 "links" : [
41335 {
41336 "href" : "{name}",
41337 "rel" : "child"
41338 }
56122987 41339 ],
44660702 41340 "type" : "array"
7aacca6f
DM
41341 }
41342 }
41343 },
44660702
DM
41344 "leaf" : 0,
41345 "path" : "/nodes/{node}",
41346 "text" : "{node}"
41347 }
41348 ],
41349 "info" : {
7aacca6f 41350 "GET" : {
e9cd3bd4 41351 "allowtoken" : 1,
44660702 41352 "description" : "Cluster node index.",
7aacca6f 41353 "method" : "GET",
44660702 41354 "name" : "index",
7aacca6f 41355 "parameters" : {
7aacca6f
DM
41356 "additionalProperties" : 0
41357 },
41358 "permissions" : {
7aacca6f
DM
41359 "user" : "all"
41360 },
44660702
DM
41361 "returns" : {
41362 "items" : {
4d47f125
TL
41363 "properties" : {
41364 "cpu" : {
41365 "description" : "CPU utilization.",
41366 "optional" : 1,
41367 "renderer" : "fraction_as_percentage",
41368 "type" : "number"
41369 },
41370 "level" : {
41371 "description" : "Support level.",
41372 "optional" : 1,
41373 "type" : "string"
41374 },
41375 "maxcpu" : {
41376 "description" : "Number of available CPUs.",
41377 "optional" : 1,
41378 "type" : "integer"
41379 },
41380 "maxmem" : {
41381 "description" : "Number of available memory in bytes.",
41382 "optional" : 1,
41383 "renderer" : "bytes",
41384 "type" : "integer"
41385 },
41386 "mem" : {
41387 "description" : "Used memory in bytes.",
41388 "optional" : 1,
41389 "renderer" : "bytes",
1c532546 41390 "type" : "integer"
4d47f125
TL
41391 },
41392 "node" : {
41393 "description" : "The cluster node name.",
41394 "format" : "pve-node",
41395 "type" : "string"
41396 },
41397 "ssl_fingerprint" : {
41398 "description" : "The SSL fingerprint for the node certificate.",
41399 "optional" : 1,
41400 "type" : "string"
41401 },
41402 "status" : {
41403 "description" : "Node status.",
41404 "enum" : [
41405 "unknown",
41406 "online",
41407 "offline"
41408 ],
41409 "type" : "string"
41410 },
41411 "uptime" : {
41412 "description" : "Node uptime in seconds.",
41413 "optional" : 1,
41414 "renderer" : "duration",
41415 "type" : "integer"
41416 }
41417 },
44660702
DM
41418 "type" : "object"
41419 },
41420 "links" : [
41421 {
41422 "href" : "{node}",
41423 "rel" : "child"
41424 }
41425 ],
41426 "type" : "array"
41427 }
7aacca6f
DM
41428 }
41429 },
44660702
DM
41430 "leaf" : 0,
41431 "path" : "/nodes",
41432 "text" : "nodes"
41433 },
41434 {
7aacca6f
DM
41435 "children" : [
41436 {
7aacca6f 41437 "info" : {
44660702 41438 "DELETE" : {
e9cd3bd4 41439 "allowtoken" : 1,
44660702
DM
41440 "description" : "Delete storage configuration.",
41441 "method" : "DELETE",
41442 "name" : "delete",
7aacca6f
DM
41443 "parameters" : {
41444 "additionalProperties" : 0,
41445 "properties" : {
41446 "storage" : {
7aacca6f 41447 "description" : "The storage identifier.",
44660702 41448 "format" : "pve-storage-id",
013dc89f
DM
41449 "type" : "string",
41450 "typetext" : "<string>"
7aacca6f
DM
41451 }
41452 }
56122987 41453 },
7aacca6f
DM
41454 "permissions" : {
41455 "check" : [
41456 "perm",
41457 "/storage",
41458 [
41459 "Datastore.Allocate"
41460 ]
41461 ]
56122987 41462 },
44660702
DM
41463 "protected" : 1,
41464 "returns" : {
41465 "type" : "null"
41466 }
41467 },
41468 "GET" : {
e9cd3bd4 41469 "allowtoken" : 1,
44660702
DM
41470 "description" : "Read storage configuration.",
41471 "method" : "GET",
41472 "name" : "read",
7aacca6f
DM
41473 "parameters" : {
41474 "additionalProperties" : 0,
41475 "properties" : {
41476 "storage" : {
44660702 41477 "description" : "The storage identifier.",
7aacca6f 41478 "format" : "pve-storage-id",
013dc89f
DM
41479 "type" : "string",
41480 "typetext" : "<string>"
7aacca6f
DM
41481 }
41482 }
41483 },
44660702
DM
41484 "permissions" : {
41485 "check" : [
41486 "perm",
41487 "/storage/{storage}",
41488 [
41489 "Datastore.Allocate"
41490 ]
41491 ]
41492 },
5da3d723
TL
41493 "returns" : {
41494 "type" : "object"
41495 }
7aacca6f
DM
41496 },
41497 "PUT" : {
e9cd3bd4 41498 "allowtoken" : 1,
44660702
DM
41499 "description" : "Update storage configuration.",
41500 "method" : "PUT",
41501 "name" : "update",
41502 "parameters" : {
41503 "additionalProperties" : 0,
41504 "properties" : {
41505 "blocksize" : {
41506 "description" : "block size",
7aacca6f 41507 "optional" : 1,
013dc89f
DM
41508 "type" : "string",
41509 "typetext" : "<string>"
7aacca6f 41510 },
27a7acb2
DM
41511 "bwlimit" : {
41512 "description" : "Set bandwidth/io limits various operations.",
41513 "format" : {
41514 "clone" : {
95895385 41515 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
41516 "format_description" : "LIMIT",
41517 "minimum" : "0",
41518 "optional" : 1,
41519 "type" : "number"
41520 },
41521 "default" : {
95895385 41522 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
41523 "format_description" : "LIMIT",
41524 "minimum" : "0",
41525 "optional" : 1,
41526 "type" : "number"
41527 },
41528 "migration" : {
95895385 41529 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
41530 "format_description" : "LIMIT",
41531 "minimum" : "0",
41532 "optional" : 1,
41533 "type" : "number"
41534 },
41535 "move" : {
95895385 41536 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
41537 "format_description" : "LIMIT",
41538 "minimum" : "0",
41539 "optional" : 1,
41540 "type" : "number"
41541 },
41542 "restore" : {
95895385 41543 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
41544 "format_description" : "LIMIT",
41545 "minimum" : "0",
41546 "optional" : 1,
41547 "type" : "number"
41548 }
41549 },
41550 "optional" : 1,
41551 "type" : "string",
41552 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
41553 },
44660702
DM
41554 "comstar_hg" : {
41555 "description" : "host group for comstar views",
41556 "optional" : 1,
013dc89f
DM
41557 "type" : "string",
41558 "typetext" : "<string>"
7aacca6f 41559 },
44660702
DM
41560 "comstar_tg" : {
41561 "description" : "target group for comstar views",
7aacca6f 41562 "optional" : 1,
013dc89f
DM
41563 "type" : "string",
41564 "typetext" : "<string>"
7aacca6f 41565 },
44660702
DM
41566 "content" : {
41567 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
41568 "format" : "pve-storage-content-list",
7aacca6f 41569 "optional" : 1,
013dc89f
DM
41570 "type" : "string",
41571 "typetext" : "<string>"
7aacca6f 41572 },
44660702
DM
41573 "delete" : {
41574 "description" : "A list of settings you want to delete.",
41575 "format" : "pve-configid-list",
41576 "maxLength" : 4096,
7aacca6f 41577 "optional" : 1,
013dc89f
DM
41578 "type" : "string",
41579 "typetext" : "<string>"
7aacca6f
DM
41580 },
41581 "digest" : {
44660702 41582 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 41583 "maxLength" : 40,
7aacca6f 41584 "optional" : 1,
013dc89f
DM
41585 "type" : "string",
41586 "typetext" : "<string>"
7aacca6f 41587 },
44660702
DM
41588 "disable" : {
41589 "description" : "Flag to disable the storage.",
41590 "optional" : 1,
013dc89f
DM
41591 "type" : "boolean",
41592 "typetext" : "<boolean>"
7aacca6f 41593 },
27a7acb2
DM
41594 "domain" : {
41595 "description" : "CIFS domain.",
41596 "maxLength" : 256,
41597 "optional" : 1,
41598 "type" : "string",
41599 "typetext" : "<string>"
41600 },
04d22a9f
TL
41601 "encryption-key" : {
41602 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
41603 "optional" : 1,
41604 "type" : "string",
41605 "typetext" : "<string>"
41606 },
c5aa7e14
TL
41607 "fingerprint" : {
41608 "description" : "Certificate SHA 256 fingerprint.",
41609 "optional" : 1,
41610 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
41611 "type" : "string"
41612 },
7aacca6f
DM
41613 "format" : {
41614 "description" : "Default image format.",
44660702 41615 "format" : "pve-storage-format",
7aacca6f 41616 "optional" : 1,
013dc89f
DM
41617 "type" : "string",
41618 "typetext" : "<string>"
7aacca6f 41619 },
5da3d723
TL
41620 "fuse" : {
41621 "description" : "Mount CephFS through FUSE.",
41622 "optional" : 1,
41623 "type" : "boolean",
41624 "typetext" : "<boolean>"
41625 },
2c0dde61
DM
41626 "is_mountpoint" : {
41627 "default" : "no",
2489d6df 41628 "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 41629 "optional" : 1,
2489d6df
WB
41630 "type" : "string",
41631 "typetext" : "<string>"
2c0dde61 41632 },
44660702 41633 "krbd" : {
e2d681b3 41634 "description" : "Always access rbd through krbd kernel module.",
7aacca6f 41635 "optional" : 1,
013dc89f
DM
41636 "type" : "boolean",
41637 "typetext" : "<boolean>"
7aacca6f 41638 },
4d47f125
TL
41639 "lio_tpg" : {
41640 "description" : "target portal group for Linux LIO targets",
41641 "optional" : 1,
41642 "type" : "string",
41643 "typetext" : "<string>"
41644 },
d2656385
TL
41645 "master-pubkey" : {
41646 "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.",
41647 "optional" : 1,
41648 "type" : "string",
41649 "typetext" : "<string>"
41650 },
44660702
DM
41651 "maxfiles" : {
41652 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
41653 "minimum" : 0,
41654 "optional" : 1,
4bd7df8b 41655 "type" : "integer",
013dc89f 41656 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
41657 },
41658 "mkdir" : {
41659 "default" : "yes",
41660 "description" : "Create the directory if it doesn't exist.",
41661 "optional" : 1,
013dc89f
DM
41662 "type" : "boolean",
41663 "typetext" : "<boolean>"
7aacca6f 41664 },
2489d6df
WB
41665 "monhost" : {
41666 "description" : "IP addresses of monitors (for external clusters).",
41667 "format" : "pve-storage-portal-dns-list",
41668 "optional" : 1,
41669 "type" : "string",
41670 "typetext" : "<string>"
41671 },
5c1699e5
TL
41672 "mountpoint" : {
41673 "description" : "mount point",
41674 "format" : "pve-storage-path",
41675 "optional" : 1,
41676 "type" : "string",
41677 "typetext" : "<string>"
41678 },
d2656385
TL
41679 "namespace" : {
41680 "description" : "RBD Namespace.",
41681 "optional" : 1,
41682 "type" : "string",
41683 "typetext" : "<string>"
41684 },
7aacca6f 41685 "nodes" : {
44660702 41686 "description" : "List of cluster node names.",
7aacca6f
DM
41687 "format" : "pve-node-list",
41688 "optional" : 1,
013dc89f
DM
41689 "type" : "string",
41690 "typetext" : "<string>"
7aacca6f 41691 },
44660702
DM
41692 "nowritecache" : {
41693 "description" : "disable write caching on the target",
7aacca6f 41694 "optional" : 1,
013dc89f
DM
41695 "type" : "boolean",
41696 "typetext" : "<boolean>"
7aacca6f
DM
41697 },
41698 "options" : {
7aacca6f 41699 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
41700 "format" : "pve-storage-options",
41701 "optional" : 1,
013dc89f
DM
41702 "type" : "string",
41703 "typetext" : "<string>"
44660702 41704 },
27a7acb2 41705 "password" : {
04d22a9f 41706 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
41707 "maxLength" : 256,
41708 "optional" : 1,
41709 "type" : "string",
41710 "typetext" : "<string>"
41711 },
44660702
DM
41712 "pool" : {
41713 "description" : "Pool.",
41714 "optional" : 1,
013dc89f
DM
41715 "type" : "string",
41716 "typetext" : "<string>"
44660702 41717 },
4772952b
TL
41718 "port" : {
41719 "default" : 8007,
41720 "description" : "For non default port.",
41721 "maximum" : 65535,
41722 "minimum" : 1,
41723 "optional" : 1,
41724 "type" : "integer",
41725 "typetext" : "<integer> (1 - 65535)"
41726 },
739d4d64
TL
41727 "prune-backups" : {
41728 "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.",
41729 "format" : "prune-backups",
41730 "optional" : 1,
41731 "type" : "string",
4772952b 41732 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 41733 },
44660702
DM
41734 "redundancy" : {
41735 "default" : 2,
41736 "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
41737 "maximum" : 16,
41738 "minimum" : 1,
41739 "optional" : 1,
4bd7df8b 41740 "type" : "integer",
013dc89f 41741 "typetext" : "<integer> (1 - 16)"
44660702
DM
41742 },
41743 "saferemove" : {
41744 "description" : "Zero-out data when removing LVs.",
41745 "optional" : 1,
013dc89f
DM
41746 "type" : "boolean",
41747 "typetext" : "<boolean>"
7aacca6f
DM
41748 },
41749 "saferemove_throughput" : {
44660702 41750 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 41751 "optional" : 1,
013dc89f
DM
41752 "type" : "string",
41753 "typetext" : "<string>"
7aacca6f 41754 },
44660702
DM
41755 "server" : {
41756 "description" : "Server IP or DNS name.",
41757 "format" : "pve-storage-server",
7aacca6f 41758 "optional" : 1,
013dc89f
DM
41759 "type" : "string",
41760 "typetext" : "<string>"
7aacca6f 41761 },
44660702
DM
41762 "server2" : {
41763 "description" : "Backup volfile server IP or DNS name.",
41764 "format" : "pve-storage-server",
7aacca6f 41765 "optional" : 1,
44660702 41766 "requires" : "server",
013dc89f
DM
41767 "type" : "string",
41768 "typetext" : "<string>"
44660702
DM
41769 },
41770 "shared" : {
41771 "description" : "Mark storage as shared.",
41772 "optional" : 1,
013dc89f
DM
41773 "type" : "boolean",
41774 "typetext" : "<boolean>"
44660702 41775 },
27a7acb2 41776 "smbversion" : {
5da3d723
TL
41777 "description" : "SMB protocol version",
41778 "enum" : [
41779 "2.0",
41780 "2.1",
41781 "3.0"
41782 ],
27a7acb2 41783 "optional" : 1,
5da3d723 41784 "type" : "string"
27a7acb2 41785 },
44660702
DM
41786 "sparse" : {
41787 "description" : "use sparse volumes",
41788 "optional" : 1,
013dc89f
DM
41789 "type" : "boolean",
41790 "typetext" : "<boolean>"
44660702
DM
41791 },
41792 "storage" : {
41793 "description" : "The storage identifier.",
41794 "format" : "pve-storage-id",
013dc89f
DM
41795 "type" : "string",
41796 "typetext" : "<string>"
44660702 41797 },
5da3d723
TL
41798 "subdir" : {
41799 "description" : "Subdir to mount.",
41800 "format" : "pve-storage-path",
41801 "optional" : 1,
41802 "type" : "string",
41803 "typetext" : "<string>"
41804 },
4bd7df8b
DM
41805 "tagged_only" : {
41806 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
41807 "optional" : 1,
013dc89f
DM
41808 "type" : "boolean",
41809 "typetext" : "<boolean>"
4bd7df8b 41810 },
44660702
DM
41811 "transport" : {
41812 "description" : "Gluster transport: tcp or rdma",
41813 "enum" : [
41814 "tcp",
41815 "rdma",
41816 "unix"
41817 ],
41818 "optional" : 1,
41819 "type" : "string"
7aacca6f
DM
41820 },
41821 "username" : {
41822 "description" : "RBD Id.",
44660702 41823 "optional" : 1,
013dc89f
DM
41824 "type" : "string",
41825 "typetext" : "<string>"
7aacca6f 41826 }
44660702
DM
41827 },
41828 "type" : "object"
41829 },
41830 "permissions" : {
41831 "check" : [
41832 "perm",
41833 "/storage",
41834 [
41835 "Datastore.Allocate"
41836 ]
41837 ]
41838 },
41839 "protected" : 1,
41840 "returns" : {
4772952b
TL
41841 "properties" : {
41842 "config" : {
41843 "additionalProperties" : 1,
41844 "description" : "Partial, possible server generated, configuration properties.",
41845 "optional" : 1,
41846 "properties" : {
41847 "encryption-key" : {
41848 "description" : "The, possible auto-generated, encryption-key.",
41849 "optional" : 1,
41850 "type" : "string"
41851 }
41852 },
41853 "type" : "object"
41854 },
41855 "storage" : {
41856 "description" : "The ID of the created storage.",
41857 "type" : "string"
41858 },
41859 "type" : {
41860 "description" : "The type of the created storage.",
41861 "enum" : [
41862 "cephfs",
41863 "cifs",
41864 "dir",
41865 "drbd",
41866 "glusterfs",
41867 "iscsi",
41868 "iscsidirect",
41869 "lvm",
41870 "lvmthin",
41871 "nfs",
41872 "pbs",
41873 "rbd",
41874 "zfs",
41875 "zfspool"
41876 ],
41877 "type" : "string"
41878 }
41879 },
41880 "type" : "object"
44660702
DM
41881 }
41882 }
41883 },
41884 "leaf" : 1,
41885 "path" : "/storage/{storage}",
41886 "text" : "{storage}"
41887 }
41888 ],
41889 "info" : {
41890 "GET" : {
e9cd3bd4 41891 "allowtoken" : 1,
44660702
DM
41892 "description" : "Storage index.",
41893 "method" : "GET",
41894 "name" : "index",
41895 "parameters" : {
41896 "additionalProperties" : 0,
41897 "properties" : {
41898 "type" : {
41899 "description" : "Only list storage of specific type",
41900 "enum" : [
5da3d723 41901 "cephfs",
27a7acb2 41902 "cifs",
44660702
DM
41903 "dir",
41904 "drbd",
41905 "glusterfs",
41906 "iscsi",
41907 "iscsidirect",
41908 "lvm",
41909 "lvmthin",
41910 "nfs",
c5aa7e14 41911 "pbs",
44660702 41912 "rbd",
44660702
DM
41913 "zfs",
41914 "zfspool"
41915 ],
41916 "optional" : 1,
41917 "type" : "string"
41918 }
41919 }
41920 },
41921 "permissions" : {
41922 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
41923 "user" : "all"
41924 },
41925 "returns" : {
41926 "items" : {
41927 "properties" : {
41928 "storage" : {
41929 "type" : "string"
7aacca6f 41930 }
56122987 41931 },
44660702
DM
41932 "type" : "object"
41933 },
41934 "links" : [
41935 {
41936 "href" : "{storage}",
41937 "rel" : "child"
41938 }
41939 ],
41940 "type" : "array"
41941 }
41942 },
41943 "POST" : {
e9cd3bd4 41944 "allowtoken" : 1,
44660702
DM
41945 "description" : "Create a new storage.",
41946 "method" : "POST",
41947 "name" : "create",
41948 "parameters" : {
41949 "additionalProperties" : 0,
41950 "properties" : {
41951 "authsupported" : {
41952 "description" : "Authsupported.",
41953 "optional" : 1,
013dc89f
DM
41954 "type" : "string",
41955 "typetext" : "<string>"
44660702
DM
41956 },
41957 "base" : {
41958 "description" : "Base volume. This volume is automatically activated.",
41959 "format" : "pve-volume-id",
41960 "optional" : 1,
013dc89f
DM
41961 "type" : "string",
41962 "typetext" : "<string>"
44660702
DM
41963 },
41964 "blocksize" : {
41965 "description" : "block size",
41966 "optional" : 1,
013dc89f
DM
41967 "type" : "string",
41968 "typetext" : "<string>"
44660702 41969 },
27a7acb2
DM
41970 "bwlimit" : {
41971 "description" : "Set bandwidth/io limits various operations.",
41972 "format" : {
41973 "clone" : {
95895385 41974 "description" : "bandwidth limit in KiB/s for cloning disks",
27a7acb2
DM
41975 "format_description" : "LIMIT",
41976 "minimum" : "0",
41977 "optional" : 1,
41978 "type" : "number"
41979 },
41980 "default" : {
95895385 41981 "description" : "default bandwidth limit in KiB/s",
27a7acb2
DM
41982 "format_description" : "LIMIT",
41983 "minimum" : "0",
41984 "optional" : 1,
41985 "type" : "number"
41986 },
41987 "migration" : {
95895385 41988 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
27a7acb2
DM
41989 "format_description" : "LIMIT",
41990 "minimum" : "0",
41991 "optional" : 1,
41992 "type" : "number"
41993 },
41994 "move" : {
95895385 41995 "description" : "bandwidth limit in KiB/s for moving disks",
27a7acb2
DM
41996 "format_description" : "LIMIT",
41997 "minimum" : "0",
41998 "optional" : 1,
41999 "type" : "number"
42000 },
42001 "restore" : {
95895385 42002 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
27a7acb2
DM
42003 "format_description" : "LIMIT",
42004 "minimum" : "0",
42005 "optional" : 1,
42006 "type" : "number"
42007 }
42008 },
42009 "optional" : 1,
42010 "type" : "string",
42011 "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
42012 },
44660702
DM
42013 "comstar_hg" : {
42014 "description" : "host group for comstar views",
42015 "optional" : 1,
013dc89f
DM
42016 "type" : "string",
42017 "typetext" : "<string>"
44660702
DM
42018 },
42019 "comstar_tg" : {
42020 "description" : "target group for comstar views",
42021 "optional" : 1,
013dc89f
DM
42022 "type" : "string",
42023 "typetext" : "<string>"
44660702
DM
42024 },
42025 "content" : {
42026 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
42027 "format" : "pve-storage-content-list",
42028 "optional" : 1,
013dc89f
DM
42029 "type" : "string",
42030 "typetext" : "<string>"
44660702 42031 },
c5aa7e14 42032 "datastore" : {
4772952b 42033 "description" : "Proxmox Backup Server datastore name.",
c5aa7e14
TL
42034 "optional" : 1,
42035 "type" : "string",
42036 "typetext" : "<string>"
42037 },
44660702
DM
42038 "disable" : {
42039 "description" : "Flag to disable the storage.",
42040 "optional" : 1,
013dc89f
DM
42041 "type" : "boolean",
42042 "typetext" : "<boolean>"
44660702 42043 },
27a7acb2
DM
42044 "domain" : {
42045 "description" : "CIFS domain.",
42046 "maxLength" : 256,
42047 "optional" : 1,
42048 "type" : "string",
42049 "typetext" : "<string>"
42050 },
04d22a9f
TL
42051 "encryption-key" : {
42052 "description" : "Encryption key. Use 'autogen' to generate one automatically without passphrase.",
42053 "optional" : 1,
42054 "type" : "string",
42055 "typetext" : "<string>"
42056 },
44660702
DM
42057 "export" : {
42058 "description" : "NFS export path.",
42059 "format" : "pve-storage-path",
42060 "optional" : 1,
013dc89f
DM
42061 "type" : "string",
42062 "typetext" : "<string>"
44660702 42063 },
c5aa7e14
TL
42064 "fingerprint" : {
42065 "description" : "Certificate SHA 256 fingerprint.",
42066 "optional" : 1,
42067 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
42068 "type" : "string"
42069 },
44660702
DM
42070 "format" : {
42071 "description" : "Default image format.",
42072 "format" : "pve-storage-format",
42073 "optional" : 1,
013dc89f
DM
42074 "type" : "string",
42075 "typetext" : "<string>"
44660702 42076 },
5da3d723
TL
42077 "fuse" : {
42078 "description" : "Mount CephFS through FUSE.",
42079 "optional" : 1,
42080 "type" : "boolean",
42081 "typetext" : "<boolean>"
42082 },
2c0dde61
DM
42083 "is_mountpoint" : {
42084 "default" : "no",
2489d6df 42085 "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 42086 "optional" : 1,
2489d6df
WB
42087 "type" : "string",
42088 "typetext" : "<string>"
2c0dde61 42089 },
44660702
DM
42090 "iscsiprovider" : {
42091 "description" : "iscsi provider",
42092 "optional" : 1,
013dc89f
DM
42093 "type" : "string",
42094 "typetext" : "<string>"
44660702
DM
42095 },
42096 "krbd" : {
e2d681b3 42097 "description" : "Always access rbd through krbd kernel module.",
44660702 42098 "optional" : 1,
013dc89f
DM
42099 "type" : "boolean",
42100 "typetext" : "<boolean>"
56122987 42101 },
4d47f125
TL
42102 "lio_tpg" : {
42103 "description" : "target portal group for Linux LIO targets",
42104 "optional" : 1,
42105 "type" : "string",
42106 "typetext" : "<string>"
42107 },
d2656385
TL
42108 "master-pubkey" : {
42109 "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.",
42110 "optional" : 1,
42111 "type" : "string",
42112 "typetext" : "<string>"
42113 },
44660702
DM
42114 "maxfiles" : {
42115 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
42116 "minimum" : 0,
42117 "optional" : 1,
4bd7df8b 42118 "type" : "integer",
013dc89f 42119 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
42120 },
42121 "mkdir" : {
42122 "default" : "yes",
42123 "description" : "Create the directory if it doesn't exist.",
42124 "optional" : 1,
013dc89f
DM
42125 "type" : "boolean",
42126 "typetext" : "<boolean>"
7aacca6f 42127 },
44660702 42128 "monhost" : {
2489d6df 42129 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 42130 "format" : "pve-storage-portal-dns-list",
44660702 42131 "optional" : 1,
013dc89f
DM
42132 "type" : "string",
42133 "typetext" : "<string>"
7aacca6f 42134 },
5c1699e5
TL
42135 "mountpoint" : {
42136 "description" : "mount point",
42137 "format" : "pve-storage-path",
42138 "optional" : 1,
42139 "type" : "string",
42140 "typetext" : "<string>"
42141 },
d2656385
TL
42142 "namespace" : {
42143 "description" : "RBD Namespace.",
42144 "optional" : 1,
42145 "type" : "string",
42146 "typetext" : "<string>"
42147 },
44660702
DM
42148 "nodes" : {
42149 "description" : "List of cluster node names.",
42150 "format" : "pve-node-list",
42151 "optional" : 1,
013dc89f
DM
42152 "type" : "string",
42153 "typetext" : "<string>"
7aacca6f 42154 },
44660702
DM
42155 "nowritecache" : {
42156 "description" : "disable write caching on the target",
42157 "optional" : 1,
013dc89f
DM
42158 "type" : "boolean",
42159 "typetext" : "<boolean>"
44660702
DM
42160 },
42161 "options" : {
42162 "description" : "NFS mount options (see 'man nfs')",
42163 "format" : "pve-storage-options",
42164 "optional" : 1,
013dc89f
DM
42165 "type" : "string",
42166 "typetext" : "<string>"
44660702 42167 },
27a7acb2 42168 "password" : {
04d22a9f 42169 "description" : "Password for accessing the share/datastore.",
27a7acb2
DM
42170 "maxLength" : 256,
42171 "optional" : 1,
42172 "type" : "string",
42173 "typetext" : "<string>"
42174 },
44660702
DM
42175 "path" : {
42176 "description" : "File system path.",
42177 "format" : "pve-storage-path",
42178 "optional" : 1,
013dc89f
DM
42179 "type" : "string",
42180 "typetext" : "<string>"
44660702
DM
42181 },
42182 "pool" : {
42183 "description" : "Pool.",
42184 "optional" : 1,
013dc89f
DM
42185 "type" : "string",
42186 "typetext" : "<string>"
44660702 42187 },
4772952b
TL
42188 "port" : {
42189 "default" : 8007,
42190 "description" : "For non default port.",
42191 "maximum" : 65535,
42192 "minimum" : 1,
42193 "optional" : 1,
42194 "type" : "integer",
42195 "typetext" : "<integer> (1 - 65535)"
42196 },
44660702
DM
42197 "portal" : {
42198 "description" : "iSCSI portal (IP or DNS name with optional port).",
42199 "format" : "pve-storage-portal-dns",
42200 "optional" : 1,
013dc89f
DM
42201 "type" : "string",
42202 "typetext" : "<string>"
44660702 42203 },
739d4d64
TL
42204 "prune-backups" : {
42205 "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.",
42206 "format" : "prune-backups",
42207 "optional" : 1,
42208 "type" : "string",
4772952b 42209 "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
739d4d64 42210 },
44660702
DM
42211 "redundancy" : {
42212 "default" : 2,
42213 "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
42214 "maximum" : 16,
42215 "minimum" : 1,
42216 "optional" : 1,
4bd7df8b 42217 "type" : "integer",
013dc89f 42218 "typetext" : "<integer> (1 - 16)"
44660702
DM
42219 },
42220 "saferemove" : {
42221 "description" : "Zero-out data when removing LVs.",
42222 "optional" : 1,
013dc89f
DM
42223 "type" : "boolean",
42224 "typetext" : "<boolean>"
44660702
DM
42225 },
42226 "saferemove_throughput" : {
42227 "description" : "Wipe throughput (cstream -t parameter value).",
42228 "optional" : 1,
013dc89f
DM
42229 "type" : "string",
42230 "typetext" : "<string>"
44660702
DM
42231 },
42232 "server" : {
42233 "description" : "Server IP or DNS name.",
42234 "format" : "pve-storage-server",
42235 "optional" : 1,
013dc89f
DM
42236 "type" : "string",
42237 "typetext" : "<string>"
44660702
DM
42238 },
42239 "server2" : {
42240 "description" : "Backup volfile server IP or DNS name.",
42241 "format" : "pve-storage-server",
42242 "optional" : 1,
42243 "requires" : "server",
013dc89f
DM
42244 "type" : "string",
42245 "typetext" : "<string>"
44660702 42246 },
27a7acb2
DM
42247 "share" : {
42248 "description" : "CIFS share.",
42249 "optional" : 1,
42250 "type" : "string",
42251 "typetext" : "<string>"
42252 },
44660702
DM
42253 "shared" : {
42254 "description" : "Mark storage as shared.",
42255 "optional" : 1,
013dc89f
DM
42256 "type" : "boolean",
42257 "typetext" : "<boolean>"
44660702 42258 },
27a7acb2 42259 "smbversion" : {
5da3d723
TL
42260 "description" : "SMB protocol version",
42261 "enum" : [
42262 "2.0",
42263 "2.1",
42264 "3.0"
42265 ],
27a7acb2 42266 "optional" : 1,
5da3d723 42267 "type" : "string"
27a7acb2 42268 },
44660702
DM
42269 "sparse" : {
42270 "description" : "use sparse volumes",
42271 "optional" : 1,
013dc89f
DM
42272 "type" : "boolean",
42273 "typetext" : "<boolean>"
44660702
DM
42274 },
42275 "storage" : {
42276 "description" : "The storage identifier.",
42277 "format" : "pve-storage-id",
013dc89f
DM
42278 "type" : "string",
42279 "typetext" : "<string>"
44660702 42280 },
5da3d723
TL
42281 "subdir" : {
42282 "description" : "Subdir to mount.",
42283 "format" : "pve-storage-path",
42284 "optional" : 1,
42285 "type" : "string",
42286 "typetext" : "<string>"
42287 },
4bd7df8b
DM
42288 "tagged_only" : {
42289 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
42290 "optional" : 1,
013dc89f
DM
42291 "type" : "boolean",
42292 "typetext" : "<boolean>"
4bd7df8b 42293 },
44660702
DM
42294 "target" : {
42295 "description" : "iSCSI target.",
42296 "optional" : 1,
013dc89f
DM
42297 "type" : "string",
42298 "typetext" : "<string>"
44660702
DM
42299 },
42300 "thinpool" : {
42301 "description" : "LVM thin pool LV name.",
42302 "format" : "pve-storage-vgname",
42303 "optional" : 1,
013dc89f
DM
42304 "type" : "string",
42305 "typetext" : "<string>"
44660702
DM
42306 },
42307 "transport" : {
42308 "description" : "Gluster transport: tcp or rdma",
42309 "enum" : [
42310 "tcp",
42311 "rdma",
42312 "unix"
7aacca6f 42313 ],
44660702
DM
42314 "optional" : 1,
42315 "type" : "string"
56122987 42316 },
44660702
DM
42317 "type" : {
42318 "description" : "Storage type.",
42319 "enum" : [
5da3d723 42320 "cephfs",
27a7acb2 42321 "cifs",
44660702
DM
42322 "dir",
42323 "drbd",
42324 "glusterfs",
42325 "iscsi",
42326 "iscsidirect",
42327 "lvm",
42328 "lvmthin",
42329 "nfs",
c5aa7e14 42330 "pbs",
44660702 42331 "rbd",
44660702
DM
42332 "zfs",
42333 "zfspool"
42334 ],
42335 "type" : "string"
56122987 42336 },
44660702
DM
42337 "username" : {
42338 "description" : "RBD Id.",
42339 "optional" : 1,
013dc89f
DM
42340 "type" : "string",
42341 "typetext" : "<string>"
7aacca6f 42342 },
44660702
DM
42343 "vgname" : {
42344 "description" : "Volume group name.",
42345 "format" : "pve-storage-vgname",
42346 "optional" : 1,
013dc89f
DM
42347 "type" : "string",
42348 "typetext" : "<string>"
44660702
DM
42349 },
42350 "volume" : {
42351 "description" : "Glusterfs Volume.",
42352 "optional" : 1,
013dc89f
DM
42353 "type" : "string",
42354 "typetext" : "<string>"
44660702
DM
42355 }
42356 },
42357 "type" : "object"
42358 },
42359 "permissions" : {
42360 "check" : [
42361 "perm",
42362 "/storage",
42363 [
42364 "Datastore.Allocate"
42365 ]
42366 ]
56122987 42367 },
44660702
DM
42368 "protected" : 1,
42369 "returns" : {
4772952b
TL
42370 "properties" : {
42371 "config" : {
42372 "additionalProperties" : 1,
42373 "description" : "Partial, possible server generated, configuration properties.",
42374 "optional" : 1,
42375 "properties" : {
42376 "encryption-key" : {
42377 "description" : "The, possible auto-generated, encryption-key.",
42378 "optional" : 1,
42379 "type" : "string"
42380 }
42381 },
42382 "type" : "object"
42383 },
42384 "storage" : {
42385 "description" : "The ID of the created storage.",
42386 "type" : "string"
42387 },
42388 "type" : {
42389 "description" : "The type of the created storage.",
42390 "enum" : [
42391 "cephfs",
42392 "cifs",
42393 "dir",
42394 "drbd",
42395 "glusterfs",
42396 "iscsi",
42397 "iscsidirect",
42398 "lvm",
42399 "lvmthin",
42400 "nfs",
42401 "pbs",
42402 "rbd",
42403 "zfs",
42404 "zfspool"
42405 ],
42406 "type" : "string"
42407 }
42408 },
42409 "type" : "object"
44660702
DM
42410 }
42411 }
42412 },
42413 "leaf" : 0,
42414 "path" : "/storage",
42415 "text" : "storage"
42416 },
42417 {
42418 "children" : [
42419 {
56122987
DM
42420 "children" : [
42421 {
bb4c8cf8
TL
42422 "children" : [
42423 {
42424 "info" : {
42425 "GET" : {
e9cd3bd4 42426 "allowtoken" : 1,
bb4c8cf8
TL
42427 "description" : "Get user TFA types (Personal and Realm).",
42428 "method" : "GET",
42429 "name" : "read_user_tfa_type",
42430 "parameters" : {
42431 "additionalProperties" : 0,
42432 "properties" : {
42433 "userid" : {
42434 "description" : "User ID",
42435 "format" : "pve-userid",
42436 "maxLength" : 64,
42437 "type" : "string",
42438 "typetext" : "<string>"
42439 }
42440 }
42441 },
42442 "permissions" : {
42443 "check" : [
42444 "or",
42445 [
42446 "userid-param",
42447 "self"
42448 ],
42449 [
42450 "userid-group",
42451 [
42452 "User.Modify",
42453 "Sys.Audit"
42454 ]
42455 ]
42456 ]
42457 },
42458 "protected" : 1,
42459 "returns" : {
42460 "additionalProperties" : 0,
42461 "properties" : {
42462 "realm" : {
42463 "description" : "The type of TFA the users realm has set, if any.",
42464 "enum" : [
42465 "oath",
42466 "yubico"
42467 ],
42468 "optional" : 1,
42469 "type" : "string"
42470 },
42471 "user" : {
42472 "description" : "The type of TFA the user has set, if any.",
42473 "enum" : [
42474 "oath",
42475 "u2f"
42476 ],
42477 "optional" : 1,
42478 "type" : "string"
42479 }
42480 },
42481 "type" : "object"
42482 }
42483 }
42484 },
42485 "leaf" : 1,
42486 "path" : "/access/users/{userid}/tfa",
42487 "text" : "tfa"
e9cd3bd4
TL
42488 },
42489 {
42490 "children" : [
42491 {
42492 "info" : {
42493 "DELETE" : {
42494 "allowtoken" : 1,
42495 "description" : "Remove API token for a specific user.",
42496 "method" : "DELETE",
42497 "name" : "remove_token",
42498 "parameters" : {
42499 "additionalProperties" : 0,
42500 "properties" : {
42501 "tokenid" : {
42502 "description" : "User-specific token identifier.",
42503 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42504 "type" : "string"
42505 },
42506 "userid" : {
42507 "description" : "User ID",
42508 "format" : "pve-userid",
42509 "maxLength" : 64,
42510 "type" : "string",
42511 "typetext" : "<string>"
42512 }
42513 }
42514 },
42515 "permissions" : {
42516 "check" : [
42517 "or",
42518 [
42519 "userid-param",
42520 "self"
42521 ],
42522 [
42523 "perm",
42524 "/access/users/{userid}",
42525 [
42526 "User.Modify"
42527 ]
42528 ]
42529 ]
42530 },
42531 "protected" : 1,
42532 "returns" : {
c5aa7e14
TL
42533 "type" : "null"
42534 }
42535 },
42536 "GET" : {
42537 "allowtoken" : 1,
42538 "description" : "Get specific API token information.",
42539 "method" : "GET",
42540 "name" : "read_token",
42541 "parameters" : {
42542 "additionalProperties" : 0,
42543 "properties" : {
42544 "tokenid" : {
42545 "description" : "User-specific token identifier.",
42546 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42547 "type" : "string"
42548 },
42549 "userid" : {
42550 "description" : "User ID",
42551 "format" : "pve-userid",
42552 "maxLength" : 64,
42553 "type" : "string",
42554 "typetext" : "<string>"
42555 }
42556 }
42557 },
42558 "permissions" : {
42559 "check" : [
42560 "or",
42561 [
42562 "userid-param",
42563 "self"
42564 ],
42565 [
42566 "perm",
42567 "/access/users/{userid}",
42568 [
42569 "User.Modify"
42570 ]
42571 ]
42572 ]
42573 },
42574 "returns" : {
42575 "properties" : {
42576 "comment" : {
42577 "optional" : 1,
42578 "type" : "string"
42579 },
42580 "expire" : {
42581 "default" : "same as user",
42582 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42583 "minimum" : 0,
42584 "optional" : 1,
42585 "type" : "integer"
42586 },
42587 "privsep" : {
42588 "default" : 1,
42589 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42590 "optional" : 1,
42591 "type" : "boolean"
42592 }
42593 },
42594 "type" : "object"
42595 }
42596 },
42597 "POST" : {
42598 "allowtoken" : 1,
42599 "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!",
42600 "method" : "POST",
42601 "name" : "generate_token",
42602 "parameters" : {
42603 "additionalProperties" : 0,
42604 "properties" : {
42605 "comment" : {
42606 "optional" : 1,
42607 "type" : "string",
42608 "typetext" : "<string>"
42609 },
42610 "expire" : {
42611 "default" : "same as user",
42612 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42613 "minimum" : 0,
42614 "optional" : 1,
42615 "type" : "integer",
42616 "typetext" : "<integer> (0 - N)"
42617 },
42618 "privsep" : {
42619 "default" : 1,
42620 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42621 "optional" : 1,
42622 "type" : "boolean",
42623 "typetext" : "<boolean>"
42624 },
42625 "tokenid" : {
42626 "description" : "User-specific token identifier.",
42627 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42628 "type" : "string"
42629 },
42630 "userid" : {
42631 "description" : "User ID",
42632 "format" : "pve-userid",
42633 "maxLength" : 64,
42634 "type" : "string",
42635 "typetext" : "<string>"
42636 }
42637 }
42638 },
42639 "permissions" : {
42640 "check" : [
42641 "or",
42642 [
42643 "userid-param",
42644 "self"
42645 ],
42646 [
42647 "perm",
42648 "/access/users/{userid}",
42649 [
42650 "User.Modify"
42651 ]
42652 ]
42653 ]
42654 },
42655 "protected" : 1,
42656 "returns" : {
e9cd3bd4
TL
42657 "additionalProperties" : 0,
42658 "properties" : {
c5aa7e14
TL
42659 "full-tokenid" : {
42660 "description" : "The full token id.",
42661 "format_description" : "<userid>!<tokenid>",
e9cd3bd4
TL
42662 "type" : "string"
42663 },
e9cd3bd4
TL
42664 "info" : {
42665 "properties" : {
42666 "comment" : {
42667 "optional" : 1,
42668 "type" : "string"
42669 },
42670 "expire" : {
42671 "default" : "same as user",
42672 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42673 "minimum" : 0,
42674 "optional" : 1,
42675 "type" : "integer"
42676 },
42677 "privsep" : {
42678 "default" : 1,
42679 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42680 "optional" : 1,
42681 "type" : "boolean"
42682 }
42683 },
42684 "type" : "object"
42685 },
42686 "value" : {
42687 "description" : "API token value used for authentication.",
42688 "type" : "string"
42689 }
42690 },
42691 "type" : "object"
42692 }
42693 },
42694 "PUT" : {
42695 "allowtoken" : 1,
42696 "description" : "Update API token for a specific user.",
42697 "method" : "PUT",
42698 "name" : "update_token_info",
42699 "parameters" : {
42700 "additionalProperties" : 0,
42701 "properties" : {
42702 "comment" : {
42703 "optional" : 1,
42704 "type" : "string",
42705 "typetext" : "<string>"
42706 },
42707 "expire" : {
42708 "default" : "same as user",
42709 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42710 "minimum" : 0,
42711 "optional" : 1,
42712 "type" : "integer",
42713 "typetext" : "<integer> (0 - N)"
42714 },
42715 "privsep" : {
42716 "default" : 1,
42717 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42718 "optional" : 1,
42719 "type" : "boolean",
42720 "typetext" : "<boolean>"
42721 },
42722 "tokenid" : {
42723 "description" : "User-specific token identifier.",
42724 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42725 "type" : "string"
42726 },
42727 "userid" : {
42728 "description" : "User ID",
42729 "format" : "pve-userid",
42730 "maxLength" : 64,
42731 "type" : "string",
42732 "typetext" : "<string>"
42733 }
42734 }
42735 },
42736 "permissions" : {
42737 "check" : [
42738 "or",
42739 [
42740 "userid-param",
42741 "self"
42742 ],
42743 [
42744 "perm",
42745 "/access/users/{userid}",
42746 [
42747 "User.Modify"
42748 ]
42749 ]
42750 ]
42751 },
42752 "protected" : 1,
42753 "returns" : {
42754 "description" : "Updated token information.",
42755 "properties" : {
42756 "comment" : {
42757 "optional" : 1,
42758 "type" : "string"
42759 },
42760 "expire" : {
42761 "default" : "same as user",
42762 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42763 "minimum" : 0,
42764 "optional" : 1,
42765 "type" : "integer"
42766 },
42767 "privsep" : {
42768 "default" : 1,
42769 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42770 "optional" : 1,
42771 "type" : "boolean"
42772 }
42773 },
42774 "type" : "object"
42775 }
42776 }
42777 },
42778 "leaf" : 1,
42779 "path" : "/access/users/{userid}/token/{tokenid}",
42780 "text" : "{tokenid}"
42781 }
42782 ],
42783 "info" : {
42784 "GET" : {
42785 "allowtoken" : 1,
42786 "description" : "Get user API tokens.",
42787 "method" : "GET",
42788 "name" : "token_index",
42789 "parameters" : {
42790 "additionalProperties" : 0,
42791 "properties" : {
42792 "userid" : {
42793 "description" : "User ID",
42794 "format" : "pve-userid",
42795 "maxLength" : 64,
42796 "type" : "string",
42797 "typetext" : "<string>"
42798 }
42799 }
42800 },
42801 "permissions" : {
42802 "check" : [
42803 "or",
42804 [
42805 "userid-param",
42806 "self"
42807 ],
42808 [
42809 "perm",
42810 "/access/users/{userid}",
42811 [
42812 "User.Modify"
42813 ]
42814 ]
42815 ]
42816 },
42817 "returns" : {
42818 "items" : {
42819 "properties" : {
42820 "comment" : {
42821 "optional" : 1,
42822 "type" : "string"
42823 },
42824 "expire" : {
42825 "default" : "same as user",
42826 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
42827 "minimum" : 0,
42828 "optional" : 1,
42829 "type" : "integer"
42830 },
42831 "privsep" : {
42832 "default" : 1,
42833 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
42834 "optional" : 1,
42835 "type" : "boolean"
42836 },
42837 "tokenid" : {
42838 "description" : "User-specific token identifier.",
42839 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
42840 "type" : "string"
42841 }
42842 },
42843 "type" : "object"
42844 },
42845 "links" : [
42846 {
42847 "href" : "{tokenid}",
42848 "rel" : "child"
42849 }
42850 ],
42851 "type" : "array"
42852 }
42853 }
42854 },
42855 "leaf" : 0,
42856 "path" : "/access/users/{userid}/token",
42857 "text" : "token"
bb4c8cf8
TL
42858 }
42859 ],
56122987 42860 "info" : {
44660702 42861 "DELETE" : {
e9cd3bd4 42862 "allowtoken" : 1,
44660702
DM
42863 "description" : "Delete user.",
42864 "method" : "DELETE",
42865 "name" : "delete_user",
56122987 42866 "parameters" : {
7aacca6f 42867 "additionalProperties" : 0,
56122987 42868 "properties" : {
56122987 42869 "userid" : {
56122987
DM
42870 "description" : "User ID",
42871 "format" : "pve-userid",
44660702 42872 "maxLength" : 64,
013dc89f
DM
42873 "type" : "string",
42874 "typetext" : "<string>"
56122987 42875 }
7aacca6f 42876 }
56122987 42877 },
56122987
DM
42878 "permissions" : {
42879 "check" : [
44660702 42880 "and",
56122987 42881 [
44660702
DM
42882 "userid-param",
42883 "Realm.AllocateUser"
56122987 42884 ],
44660702
DM
42885 [
42886 "userid-group",
42887 [
42888 "User.Modify"
42889 ]
42890 ]
56122987 42891 ]
7aacca6f 42892 },
44660702 42893 "protected" : 1,
56122987
DM
42894 "returns" : {
42895 "type" : "null"
44660702 42896 }
7aacca6f 42897 },
44660702 42898 "GET" : {
e9cd3bd4 42899 "allowtoken" : 1,
44660702
DM
42900 "description" : "Get user configuration.",
42901 "method" : "GET",
42902 "name" : "read_user",
56122987
DM
42903 "parameters" : {
42904 "additionalProperties" : 0,
42905 "properties" : {
42906 "userid" : {
44660702 42907 "description" : "User ID",
56122987 42908 "format" : "pve-userid",
44660702 42909 "maxLength" : 64,
013dc89f
DM
42910 "type" : "string",
42911 "typetext" : "<string>"
56122987
DM
42912 }
42913 }
42914 },
56122987
DM
42915 "permissions" : {
42916 "check" : [
44660702 42917 "userid-group",
56122987 42918 [
44660702
DM
42919 "User.Modify",
42920 "Sys.Audit"
56122987
DM
42921 ]
42922 ]
42923 },
56122987 42924 "returns" : {
7aacca6f 42925 "additionalProperties" : 0,
56122987 42926 "properties" : {
44660702
DM
42927 "comment" : {
42928 "optional" : 1,
42929 "type" : "string"
56122987 42930 },
44660702 42931 "email" : {
e2d681b3 42932 "format" : "email-opt",
44660702
DM
42933 "optional" : 1,
42934 "type" : "string"
7aacca6f
DM
42935 },
42936 "enable" : {
e2d681b3
TL
42937 "default" : 1,
42938 "description" : "Enable the account (default). You can set this to '0' to disable the account",
42939 "optional" : 1,
7aacca6f
DM
42940 "type" : "boolean"
42941 },
44660702 42942 "expire" : {
e2d681b3
TL
42943 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
42944 "minimum" : 0,
44660702
DM
42945 "optional" : 1,
42946 "type" : "integer"
42947 },
42948 "firstname" : {
56122987
DM
42949 "optional" : 1,
42950 "type" : "string"
42951 },
44660702 42952 "groups" : {
e9cd3bd4
TL
42953 "items" : {
42954 "format" : "pve-groupid",
42955 "type" : "string"
42956 },
42957 "optional" : 1,
44660702 42958 "type" : "array"
56122987 42959 },
44660702 42960 "keys" : {
e2d681b3 42961 "description" : "Keys for two factor auth (yubico).",
44660702
DM
42962 "optional" : 1,
42963 "type" : "string"
7aacca6f 42964 },
44660702
DM
42965 "lastname" : {
42966 "optional" : 1,
42967 "type" : "string"
e9cd3bd4
TL
42968 },
42969 "tokens" : {
42970 "optional" : 1,
42971 "type" : "object"
56122987 42972 }
e2d681b3
TL
42973 },
42974 "type" : "object"
44660702
DM
42975 }
42976 },
42977 "PUT" : {
e9cd3bd4 42978 "allowtoken" : 1,
44660702
DM
42979 "description" : "Update user configuration.",
42980 "method" : "PUT",
42981 "name" : "update_user",
56122987 42982 "parameters" : {
44660702 42983 "additionalProperties" : 0,
56122987 42984 "properties" : {
44660702
DM
42985 "append" : {
42986 "optional" : 1,
42987 "requires" : "groups",
013dc89f
DM
42988 "type" : "boolean",
42989 "typetext" : "<boolean>"
44660702
DM
42990 },
42991 "comment" : {
42992 "optional" : 1,
013dc89f
DM
42993 "type" : "string",
42994 "typetext" : "<string>"
44660702
DM
42995 },
42996 "email" : {
42997 "format" : "email-opt",
42998 "optional" : 1,
013dc89f
DM
42999 "type" : "string",
43000 "typetext" : "<string>"
44660702
DM
43001 },
43002 "enable" : {
e2d681b3
TL
43003 "default" : 1,
43004 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 43005 "optional" : 1,
013dc89f
DM
43006 "type" : "boolean",
43007 "typetext" : "<boolean>"
44660702
DM
43008 },
43009 "expire" : {
43010 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
43011 "minimum" : 0,
43012 "optional" : 1,
4bd7df8b 43013 "type" : "integer",
013dc89f 43014 "typetext" : "<integer> (0 - N)"
44660702
DM
43015 },
43016 "firstname" : {
43017 "optional" : 1,
013dc89f
DM
43018 "type" : "string",
43019 "typetext" : "<string>"
44660702
DM
43020 },
43021 "groups" : {
43022 "format" : "pve-groupid-list",
43023 "optional" : 1,
013dc89f
DM
43024 "type" : "string",
43025 "typetext" : "<string>"
44660702
DM
43026 },
43027 "keys" : {
43028 "description" : "Keys for two factor auth (yubico).",
43029 "optional" : 1,
013dc89f
DM
43030 "type" : "string",
43031 "typetext" : "<string>"
44660702
DM
43032 },
43033 "lastname" : {
43034 "optional" : 1,
013dc89f
DM
43035 "type" : "string",
43036 "typetext" : "<string>"
44660702 43037 },
56122987 43038 "userid" : {
56122987
DM
43039 "description" : "User ID",
43040 "format" : "pve-userid",
44660702 43041 "maxLength" : 64,
013dc89f
DM
43042 "type" : "string",
43043 "typetext" : "<string>"
56122987 43044 }
44660702 43045 }
56122987 43046 },
56122987
DM
43047 "permissions" : {
43048 "check" : [
43049 "userid-group",
43050 [
44660702
DM
43051 "User.Modify"
43052 ],
43053 "groups_param",
43054 1
56122987
DM
43055 ]
43056 },
44660702
DM
43057 "protected" : 1,
43058 "returns" : {
43059 "type" : "null"
43060 }
56122987
DM
43061 }
43062 },
bb4c8cf8 43063 "leaf" : 0,
44660702 43064 "path" : "/access/users/{userid}",
7aacca6f 43065 "text" : "{userid}"
56122987 43066 }
7aacca6f 43067 ],
56122987 43068 "info" : {
7aacca6f 43069 "GET" : {
e9cd3bd4 43070 "allowtoken" : 1,
44660702
DM
43071 "description" : "User index.",
43072 "method" : "GET",
7aacca6f 43073 "name" : "index",
56122987 43074 "parameters" : {
44660702
DM
43075 "additionalProperties" : 0,
43076 "properties" : {
43077 "enabled" : {
43078 "description" : "Optional filter for enable property.",
43079 "optional" : 1,
013dc89f
DM
43080 "type" : "boolean",
43081 "typetext" : "<boolean>"
e9cd3bd4
TL
43082 },
43083 "full" : {
43084 "default" : 0,
43085 "description" : "Include group and token information.",
43086 "optional" : 1,
43087 "type" : "boolean",
43088 "typetext" : "<boolean>"
44660702
DM
43089 }
43090 }
43091 },
43092 "permissions" : {
43093 "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.",
43094 "user" : "all"
56122987 43095 },
7aacca6f 43096 "returns" : {
7aacca6f
DM
43097 "items" : {
43098 "properties" : {
e2d681b3
TL
43099 "comment" : {
43100 "optional" : 1,
43101 "type" : "string"
43102 },
43103 "email" : {
43104 "format" : "email-opt",
43105 "optional" : 1,
43106 "type" : "string"
43107 },
43108 "enable" : {
43109 "default" : 1,
43110 "description" : "Enable the account (default). You can set this to '0' to disable the account",
43111 "optional" : 1,
43112 "type" : "boolean"
43113 },
43114 "expire" : {
43115 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
43116 "minimum" : 0,
43117 "optional" : 1,
43118 "type" : "integer"
43119 },
43120 "firstname" : {
43121 "optional" : 1,
43122 "type" : "string"
43123 },
e9cd3bd4
TL
43124 "groups" : {
43125 "format" : "pve-groupid-list",
43126 "optional" : 1,
43127 "type" : "string"
43128 },
e2d681b3
TL
43129 "keys" : {
43130 "description" : "Keys for two factor auth (yubico).",
43131 "optional" : 1,
43132 "type" : "string"
43133 },
43134 "lastname" : {
43135 "optional" : 1,
43136 "type" : "string"
43137 },
e9cd3bd4
TL
43138 "tokens" : {
43139 "items" : {
43140 "properties" : {
43141 "comment" : {
43142 "optional" : 1,
43143 "type" : "string"
43144 },
43145 "expire" : {
43146 "default" : "same as user",
43147 "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
43148 "minimum" : 0,
43149 "optional" : 1,
43150 "type" : "integer"
43151 },
43152 "privsep" : {
43153 "default" : 1,
43154 "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
43155 "optional" : 1,
43156 "type" : "boolean"
43157 },
43158 "tokenid" : {
43159 "description" : "User-specific token identifier.",
43160 "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
43161 "type" : "string"
43162 }
43163 },
43164 "type" : "object"
43165 },
43166 "optional" : 1,
43167 "type" : "array"
43168 },
44660702 43169 "userid" : {
e2d681b3
TL
43170 "description" : "User ID",
43171 "format" : "pve-userid",
43172 "maxLength" : 64,
7aacca6f
DM
43173 "type" : "string"
43174 }
43175 },
43176 "type" : "object"
43177 },
44660702
DM
43178 "links" : [
43179 {
43180 "href" : "{userid}",
43181 "rel" : "child"
43182 }
43183 ],
7aacca6f
DM
43184 "type" : "array"
43185 }
43186 },
43187 "POST" : {
e9cd3bd4 43188 "allowtoken" : 1,
44660702 43189 "description" : "Create new user.",
7aacca6f 43190 "method" : "POST",
44660702 43191 "name" : "create_user",
56122987 43192 "parameters" : {
7aacca6f
DM
43193 "additionalProperties" : 0,
43194 "properties" : {
44660702
DM
43195 "comment" : {
43196 "optional" : 1,
013dc89f
DM
43197 "type" : "string",
43198 "typetext" : "<string>"
7aacca6f 43199 },
44660702
DM
43200 "email" : {
43201 "format" : "email-opt",
43202 "optional" : 1,
013dc89f
DM
43203 "type" : "string",
43204 "typetext" : "<string>"
44660702
DM
43205 },
43206 "enable" : {
43207 "default" : 1,
e2d681b3 43208 "description" : "Enable the account (default). You can set this to '0' to disable the account",
44660702 43209 "optional" : 1,
013dc89f
DM
43210 "type" : "boolean",
43211 "typetext" : "<boolean>"
44660702
DM
43212 },
43213 "expire" : {
43214 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
43215 "minimum" : 0,
43216 "optional" : 1,
4bd7df8b 43217 "type" : "integer",
013dc89f 43218 "typetext" : "<integer> (0 - N)"
44660702
DM
43219 },
43220 "firstname" : {
43221 "optional" : 1,
013dc89f
DM
43222 "type" : "string",
43223 "typetext" : "<string>"
44660702
DM
43224 },
43225 "groups" : {
43226 "format" : "pve-groupid-list",
43227 "optional" : 1,
013dc89f
DM
43228 "type" : "string",
43229 "typetext" : "<string>"
44660702
DM
43230 },
43231 "keys" : {
43232 "description" : "Keys for two factor auth (yubico).",
43233 "optional" : 1,
013dc89f
DM
43234 "type" : "string",
43235 "typetext" : "<string>"
44660702
DM
43236 },
43237 "lastname" : {
7aacca6f 43238 "optional" : 1,
013dc89f
DM
43239 "type" : "string",
43240 "typetext" : "<string>"
44660702
DM
43241 },
43242 "password" : {
43243 "description" : "Initial password.",
43244 "maxLength" : 64,
43245 "minLength" : 5,
43246 "optional" : 1,
013dc89f
DM
43247 "type" : "string",
43248 "typetext" : "<string>"
44660702
DM
43249 },
43250 "userid" : {
43251 "description" : "User ID",
43252 "format" : "pve-userid",
43253 "maxLength" : 64,
013dc89f
DM
43254 "type" : "string",
43255 "typetext" : "<string>"
56122987 43256 }
7aacca6f 43257 }
56122987 43258 },
44660702
DM
43259 "permissions" : {
43260 "check" : [
43261 "and",
43262 [
43263 "userid-param",
43264 "Realm.AllocateUser"
43265 ],
43266 [
43267 "userid-group",
43268 [
43269 "User.Modify"
43270 ],
43271 "groups_param",
43272 1
43273 ]
43274 ],
43275 "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."
43276 },
43277 "protected" : 1,
43278 "returns" : {
43279 "type" : "null"
43280 }
56122987
DM
43281 }
43282 },
44660702
DM
43283 "leaf" : 0,
43284 "path" : "/access/users",
43285 "text" : "users"
43286 },
43287 {
56122987
DM
43288 "children" : [
43289 {
56122987
DM
43290 "info" : {
43291 "DELETE" : {
e9cd3bd4 43292 "allowtoken" : 1,
44660702
DM
43293 "description" : "Delete group.",
43294 "method" : "DELETE",
43295 "name" : "delete_group",
43296 "parameters" : {
43297 "additionalProperties" : 0,
43298 "properties" : {
43299 "groupid" : {
43300 "format" : "pve-groupid",
013dc89f
DM
43301 "type" : "string",
43302 "typetext" : "<string>"
44660702
DM
43303 }
43304 }
43305 },
7aacca6f
DM
43306 "permissions" : {
43307 "check" : [
43308 "perm",
43309 "/access/groups",
43310 [
43311 "Group.Allocate"
43312 ]
43313 ]
43314 },
7aacca6f 43315 "protected" : 1,
7aacca6f
DM
43316 "returns" : {
43317 "type" : "null"
44660702 43318 }
7aacca6f 43319 },
44660702 43320 "GET" : {
e9cd3bd4 43321 "allowtoken" : 1,
44660702
DM
43322 "description" : "Get group configuration.",
43323 "method" : "GET",
43324 "name" : "read_group",
43325 "parameters" : {
43326 "additionalProperties" : 0,
43327 "properties" : {
43328 "groupid" : {
43329 "format" : "pve-groupid",
013dc89f
DM
43330 "type" : "string",
43331 "typetext" : "<string>"
44660702
DM
43332 }
43333 }
56122987 43334 },
7aacca6f
DM
43335 "permissions" : {
43336 "check" : [
43337 "perm",
43338 "/access/groups",
43339 [
44660702 43340 "Sys.Audit",
7aacca6f 43341 "Group.Allocate"
44660702
DM
43342 ],
43343 "any",
43344 1
7aacca6f
DM
43345 ]
43346 },
7aacca6f 43347 "returns" : {
44660702 43348 "additionalProperties" : 0,
7aacca6f
DM
43349 "properties" : {
43350 "comment" : {
44660702
DM
43351 "optional" : 1,
43352 "type" : "string"
7aacca6f
DM
43353 },
43354 "members" : {
43355 "items" : {
e2d681b3
TL
43356 "description" : "User ID",
43357 "format" : "pve-userid",
43358 "maxLength" : 64,
7aacca6f
DM
43359 "type" : "string"
43360 },
43361 "type" : "array"
43362 }
43363 },
44660702
DM
43364 "type" : "object"
43365 }
43366 },
43367 "PUT" : {
e9cd3bd4 43368 "allowtoken" : 1,
44660702
DM
43369 "description" : "Update group data.",
43370 "method" : "PUT",
43371 "name" : "update_group",
56122987 43372 "parameters" : {
44660702 43373 "additionalProperties" : 0,
56122987 43374 "properties" : {
44660702
DM
43375 "comment" : {
43376 "optional" : 1,
013dc89f
DM
43377 "type" : "string",
43378 "typetext" : "<string>"
44660702 43379 },
56122987
DM
43380 "groupid" : {
43381 "format" : "pve-groupid",
013dc89f
DM
43382 "type" : "string",
43383 "typetext" : "<string>"
56122987 43384 }
44660702 43385 }
56122987 43386 },
56122987
DM
43387 "permissions" : {
43388 "check" : [
43389 "perm",
43390 "/access/groups",
43391 [
43392 "Group.Allocate"
44660702 43393 ]
56122987
DM
43394 ]
43395 },
44660702
DM
43396 "protected" : 1,
43397 "returns" : {
43398 "type" : "null"
43399 }
7aacca6f
DM
43400 }
43401 },
7aacca6f 43402 "leaf" : 1,
44660702
DM
43403 "path" : "/access/groups/{groupid}",
43404 "text" : "{groupid}"
43405 }
43406 ],
43407 "info" : {
43408 "GET" : {
e9cd3bd4 43409 "allowtoken" : 1,
44660702
DM
43410 "description" : "Group index.",
43411 "method" : "GET",
43412 "name" : "index",
43413 "parameters" : {
43414 "additionalProperties" : 0
43415 },
43416 "permissions" : {
43417 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
43418 "user" : "all"
43419 },
43420 "returns" : {
43421 "items" : {
43422 "properties" : {
e2d681b3
TL
43423 "comment" : {
43424 "optional" : 1,
43425 "type" : "string"
43426 },
44660702 43427 "groupid" : {
e2d681b3 43428 "format" : "pve-groupid",
44660702 43429 "type" : "string"
e9cd3bd4
TL
43430 },
43431 "users" : {
43432 "description" : "list of users which form this group",
43433 "format" : "pve-userid-list",
43434 "optional" : 1,
43435 "type" : "string"
44660702
DM
43436 }
43437 },
43438 "type" : "object"
43439 },
43440 "links" : [
43441 {
43442 "href" : "{groupid}",
43443 "rel" : "child"
43444 }
43445 ],
43446 "type" : "array"
43447 }
43448 },
43449 "POST" : {
e9cd3bd4 43450 "allowtoken" : 1,
44660702
DM
43451 "description" : "Create new group.",
43452 "method" : "POST",
43453 "name" : "create_group",
43454 "parameters" : {
43455 "additionalProperties" : 0,
43456 "properties" : {
43457 "comment" : {
43458 "optional" : 1,
013dc89f
DM
43459 "type" : "string",
43460 "typetext" : "<string>"
44660702
DM
43461 },
43462 "groupid" : {
43463 "format" : "pve-groupid",
013dc89f
DM
43464 "type" : "string",
43465 "typetext" : "<string>"
44660702
DM
43466 }
43467 }
43468 },
43469 "permissions" : {
43470 "check" : [
43471 "perm",
43472 "/access/groups",
43473 [
43474 "Group.Allocate"
43475 ]
43476 ]
43477 },
43478 "protected" : 1,
43479 "returns" : {
43480 "type" : "null"
43481 }
7aacca6f 43482 }
44660702 43483 },
7aacca6f 43484 "leaf" : 0,
44660702
DM
43485 "path" : "/access/groups",
43486 "text" : "groups"
7aacca6f
DM
43487 },
43488 {
43489 "children" : [
43490 {
7aacca6f 43491 "info" : {
7aacca6f 43492 "DELETE" : {
e9cd3bd4 43493 "allowtoken" : 1,
7aacca6f 43494 "description" : "Delete role.",
44660702 43495 "method" : "DELETE",
7aacca6f 43496 "name" : "delete_role",
56122987
DM
43497 "parameters" : {
43498 "additionalProperties" : 0,
43499 "properties" : {
7aacca6f
DM
43500 "roleid" : {
43501 "format" : "pve-roleid",
013dc89f
DM
43502 "type" : "string",
43503 "typetext" : "<string>"
56122987
DM
43504 }
43505 }
43506 },
56122987
DM
43507 "permissions" : {
43508 "check" : [
43509 "perm",
7aacca6f 43510 "/access",
56122987 43511 [
7aacca6f
DM
43512 "Sys.Modify"
43513 ]
56122987 43514 ]
44660702
DM
43515 },
43516 "protected" : 1,
43517 "returns" : {
43518 "type" : "null"
56122987
DM
43519 }
43520 },
44660702 43521 "GET" : {
e9cd3bd4 43522 "allowtoken" : 1,
44660702
DM
43523 "description" : "Get role configuration.",
43524 "method" : "GET",
43525 "name" : "read_role",
43526 "parameters" : {
43527 "additionalProperties" : 0,
43528 "properties" : {
43529 "roleid" : {
43530 "format" : "pve-roleid",
013dc89f
DM
43531 "type" : "string",
43532 "typetext" : "<string>"
44660702
DM
43533 }
43534 }
43535 },
7aacca6f 43536 "permissions" : {
44660702 43537 "user" : "all"
56122987 43538 },
e2d681b3
TL
43539 "returns" : {
43540 "additionalProperties" : 0,
43541 "properties" : {
43542 "Datastore.Allocate" : {
43543 "optional" : 1,
43544 "type" : "boolean"
43545 },
43546 "Datastore.AllocateSpace" : {
43547 "optional" : 1,
43548 "type" : "boolean"
43549 },
43550 "Datastore.AllocateTemplate" : {
43551 "optional" : 1,
43552 "type" : "boolean"
43553 },
43554 "Datastore.Audit" : {
43555 "optional" : 1,
43556 "type" : "boolean"
43557 },
43558 "Group.Allocate" : {
43559 "optional" : 1,
43560 "type" : "boolean"
43561 },
43562 "Permissions.Modify" : {
43563 "optional" : 1,
43564 "type" : "boolean"
43565 },
43566 "Pool.Allocate" : {
43567 "optional" : 1,
43568 "type" : "boolean"
43569 },
43570 "Realm.Allocate" : {
43571 "optional" : 1,
43572 "type" : "boolean"
43573 },
43574 "Realm.AllocateUser" : {
43575 "optional" : 1,
43576 "type" : "boolean"
43577 },
5c1699e5
TL
43578 "SDN.Allocate" : {
43579 "optional" : 1,
43580 "type" : "boolean"
43581 },
43582 "SDN.Audit" : {
43583 "optional" : 1,
43584 "type" : "boolean"
43585 },
e2d681b3
TL
43586 "Sys.Audit" : {
43587 "optional" : 1,
43588 "type" : "boolean"
43589 },
43590 "Sys.Console" : {
43591 "optional" : 1,
43592 "type" : "boolean"
43593 },
43594 "Sys.Modify" : {
43595 "optional" : 1,
43596 "type" : "boolean"
43597 },
43598 "Sys.PowerMgmt" : {
43599 "optional" : 1,
43600 "type" : "boolean"
43601 },
43602 "Sys.Syslog" : {
43603 "optional" : 1,
43604 "type" : "boolean"
43605 },
43606 "User.Modify" : {
43607 "optional" : 1,
43608 "type" : "boolean"
43609 },
43610 "VM.Allocate" : {
43611 "optional" : 1,
43612 "type" : "boolean"
43613 },
43614 "VM.Audit" : {
43615 "optional" : 1,
43616 "type" : "boolean"
43617 },
43618 "VM.Backup" : {
43619 "optional" : 1,
43620 "type" : "boolean"
43621 },
43622 "VM.Clone" : {
43623 "optional" : 1,
43624 "type" : "boolean"
43625 },
43626 "VM.Config.CDROM" : {
43627 "optional" : 1,
43628 "type" : "boolean"
43629 },
43630 "VM.Config.CPU" : {
43631 "optional" : 1,
43632 "type" : "boolean"
43633 },
ac70d7d1
TL
43634 "VM.Config.Cloudinit" : {
43635 "optional" : 1,
43636 "type" : "boolean"
43637 },
e2d681b3
TL
43638 "VM.Config.Disk" : {
43639 "optional" : 1,
43640 "type" : "boolean"
43641 },
43642 "VM.Config.HWType" : {
43643 "optional" : 1,
43644 "type" : "boolean"
43645 },
43646 "VM.Config.Memory" : {
43647 "optional" : 1,
43648 "type" : "boolean"
43649 },
43650 "VM.Config.Network" : {
43651 "optional" : 1,
43652 "type" : "boolean"
43653 },
43654 "VM.Config.Options" : {
43655 "optional" : 1,
43656 "type" : "boolean"
43657 },
43658 "VM.Console" : {
43659 "optional" : 1,
43660 "type" : "boolean"
43661 },
43662 "VM.Migrate" : {
43663 "optional" : 1,
43664 "type" : "boolean"
43665 },
43666 "VM.Monitor" : {
43667 "optional" : 1,
43668 "type" : "boolean"
43669 },
43670 "VM.PowerMgmt" : {
43671 "optional" : 1,
43672 "type" : "boolean"
43673 },
43674 "VM.Snapshot" : {
43675 "optional" : 1,
43676 "type" : "boolean"
43677 },
43678 "VM.Snapshot.Rollback" : {
43679 "optional" : 1,
43680 "type" : "boolean"
43681 }
43682 },
43683 "type" : "object"
43684 }
44660702
DM
43685 },
43686 "PUT" : {
e9cd3bd4 43687 "allowtoken" : 1,
e2d681b3 43688 "description" : "Update an existing role.",
44660702
DM
43689 "method" : "PUT",
43690 "name" : "update_role",
56122987
DM
43691 "parameters" : {
43692 "additionalProperties" : 0,
43693 "properties" : {
7aacca6f 43694 "append" : {
44660702 43695 "optional" : 1,
7aacca6f 43696 "requires" : "privs",
013dc89f
DM
43697 "type" : "boolean",
43698 "typetext" : "<boolean>"
7aacca6f
DM
43699 },
43700 "privs" : {
43701 "format" : "pve-priv-list",
e2d681b3 43702 "optional" : 1,
013dc89f
DM
43703 "type" : "string",
43704 "typetext" : "<string>"
44660702
DM
43705 },
43706 "roleid" : {
43707 "format" : "pve-roleid",
013dc89f
DM
43708 "type" : "string",
43709 "typetext" : "<string>"
56122987
DM
43710 }
43711 }
43712 },
44660702
DM
43713 "permissions" : {
43714 "check" : [
43715 "perm",
43716 "/access",
43717 [
43718 "Sys.Modify"
43719 ]
43720 ]
43721 },
56122987 43722 "protected" : 1,
7aacca6f
DM
43723 "returns" : {
43724 "type" : "null"
56122987
DM
43725 }
43726 }
43727 },
44660702 43728 "leaf" : 1,
7aacca6f 43729 "path" : "/access/roles/{roleid}",
44660702 43730 "text" : "{roleid}"
56122987
DM
43731 }
43732 ],
56122987 43733 "info" : {
7aacca6f 43734 "GET" : {
e9cd3bd4 43735 "allowtoken" : 1,
7aacca6f 43736 "description" : "Role index.",
44660702 43737 "method" : "GET",
7aacca6f 43738 "name" : "index",
56122987 43739 "parameters" : {
56122987
DM
43740 "additionalProperties" : 0
43741 },
7aacca6f
DM
43742 "permissions" : {
43743 "user" : "all"
43744 },
56122987 43745 "returns" : {
7aacca6f 43746 "items" : {
7aacca6f 43747 "properties" : {
e2d681b3
TL
43748 "privs" : {
43749 "format" : "pve-priv-list",
43750 "optional" : 1,
43751 "type" : "string"
43752 },
7aacca6f 43753 "roleid" : {
e2d681b3 43754 "format" : "pve-roleid",
7aacca6f 43755 "type" : "string"
e2d681b3
TL
43756 },
43757 "special" : {
43758 "default" : 0,
43759 "optional" : 1,
43760 "type" : "boolean"
7aacca6f 43761 }
44660702
DM
43762 },
43763 "type" : "object"
43764 },
43765 "links" : [
43766 {
43767 "href" : "{roleid}",
43768 "rel" : "child"
7aacca6f 43769 }
44660702
DM
43770 ],
43771 "type" : "array"
43772 }
7aacca6f
DM
43773 },
43774 "POST" : {
e9cd3bd4 43775 "allowtoken" : 1,
7aacca6f 43776 "description" : "Create new role.",
44660702
DM
43777 "method" : "POST",
43778 "name" : "create_role",
7aacca6f
DM
43779 "parameters" : {
43780 "additionalProperties" : 0,
43781 "properties" : {
7aacca6f
DM
43782 "privs" : {
43783 "format" : "pve-priv-list",
43784 "optional" : 1,
013dc89f
DM
43785 "type" : "string",
43786 "typetext" : "<string>"
44660702
DM
43787 },
43788 "roleid" : {
43789 "format" : "pve-roleid",
013dc89f
DM
43790 "type" : "string",
43791 "typetext" : "<string>"
7aacca6f
DM
43792 }
43793 }
43794 },
44660702
DM
43795 "permissions" : {
43796 "check" : [
43797 "perm",
43798 "/access",
43799 [
43800 "Sys.Modify"
43801 ]
43802 ]
43803 },
43804 "protected" : 1,
7aacca6f
DM
43805 "returns" : {
43806 "type" : "null"
43807 }
43808 }
43809 },
44660702 43810 "leaf" : 0,
7aacca6f 43811 "path" : "/access/roles",
44660702 43812 "text" : "roles"
7aacca6f
DM
43813 },
43814 {
43815 "info" : {
56122987 43816 "GET" : {
e9cd3bd4 43817 "allowtoken" : 1,
44660702
DM
43818 "description" : "Get Access Control List (ACLs).",
43819 "method" : "GET",
43820 "name" : "read_acl",
7aacca6f
DM
43821 "parameters" : {
43822 "additionalProperties" : 0
43823 },
44660702
DM
43824 "permissions" : {
43825 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
43826 "user" : "all"
43827 },
56122987 43828 "returns" : {
56122987 43829 "items" : {
44660702 43830 "additionalProperties" : 0,
56122987 43831 "properties" : {
7aacca6f 43832 "path" : {
e2d681b3 43833 "description" : "Access control path",
7aacca6f
DM
43834 "type" : "string"
43835 },
44660702 43836 "propagate" : {
e2d681b3
TL
43837 "default" : 1,
43838 "description" : "Allow to propagate (inherit) permissions.",
43839 "optional" : 1,
44660702
DM
43840 "type" : "boolean"
43841 },
43842 "roleid" : {
43843 "type" : "string"
43844 },
7aacca6f
DM
43845 "type" : {
43846 "enum" : [
43847 "user",
e9cd3bd4
TL
43848 "group",
43849 "token"
7aacca6f
DM
43850 ],
43851 "type" : "string"
43852 },
7aacca6f
DM
43853 "ugid" : {
43854 "type" : "string"
56122987 43855 }
7aacca6f 43856 },
44660702 43857 "type" : "object"
7aacca6f
DM
43858 },
43859 "type" : "array"
44660702 43860 }
7aacca6f
DM
43861 },
43862 "PUT" : {
e9cd3bd4 43863 "allowtoken" : 1,
44660702
DM
43864 "description" : "Update Access Control List (add or remove permissions).",
43865 "method" : "PUT",
7aacca6f
DM
43866 "name" : "update_acl",
43867 "parameters" : {
43868 "additionalProperties" : 0,
43869 "properties" : {
43870 "delete" : {
44660702 43871 "description" : "Remove permissions (instead of adding it).",
7aacca6f 43872 "optional" : 1,
013dc89f
DM
43873 "type" : "boolean",
43874 "typetext" : "<boolean>"
7aacca6f 43875 },
44660702
DM
43876 "groups" : {
43877 "description" : "List of groups.",
43878 "format" : "pve-groupid-list",
7aacca6f 43879 "optional" : 1,
013dc89f
DM
43880 "type" : "string",
43881 "typetext" : "<string>"
7aacca6f
DM
43882 },
43883 "path" : {
43884 "description" : "Access control path",
013dc89f
DM
43885 "type" : "string",
43886 "typetext" : "<string>"
7aacca6f 43887 },
7aacca6f 43888 "propagate" : {
44660702 43889 "default" : 1,
7aacca6f 43890 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 43891 "optional" : 1,
013dc89f
DM
43892 "type" : "boolean",
43893 "typetext" : "<boolean>"
7aacca6f 43894 },
44660702
DM
43895 "roles" : {
43896 "description" : "List of roles.",
43897 "format" : "pve-roleid-list",
013dc89f
DM
43898 "type" : "string",
43899 "typetext" : "<string>"
44660702 43900 },
e9cd3bd4
TL
43901 "tokens" : {
43902 "description" : "List of API tokens.",
43903 "format" : "pve-tokenid-list",
43904 "optional" : 1,
43905 "type" : "string",
43906 "typetext" : "<string>"
43907 },
44660702
DM
43908 "users" : {
43909 "description" : "List of users.",
43910 "format" : "pve-userid-list",
7aacca6f 43911 "optional" : 1,
013dc89f
DM
43912 "type" : "string",
43913 "typetext" : "<string>"
56122987
DM
43914 }
43915 }
43916 },
56122987 43917 "permissions" : {
7aacca6f
DM
43918 "check" : [
43919 "perm-modify",
43920 "{path}"
43921 ]
43922 },
7aacca6f
DM
43923 "protected" : 1,
43924 "returns" : {
43925 "type" : "null"
44660702 43926 }
56122987
DM
43927 }
43928 },
7aacca6f 43929 "leaf" : 1,
44660702
DM
43930 "path" : "/access/acl",
43931 "text" : "acl"
7aacca6f
DM
43932 },
43933 {
56122987
DM
43934 "children" : [
43935 {
c5aa7e14
TL
43936 "children" : [
43937 {
43938 "info" : {
43939 "POST" : {
43940 "allowtoken" : 1,
43941 "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.",
43942 "method" : "POST",
43943 "name" : "sync",
43944 "parameters" : {
43945 "additionalProperties" : 0,
43946 "properties" : {
43947 "dry-run" : {
43948 "default" : 0,
43949 "description" : "If set, does not write anything.",
43950 "optional" : 1,
43951 "type" : "boolean",
43952 "typetext" : "<boolean>"
43953 },
43954 "enable-new" : {
43955 "default" : "1",
43956 "description" : "Enable newly synced users immediately.",
43957 "optional" : "1",
43958 "type" : "boolean",
43959 "typetext" : "<boolean>"
43960 },
43961 "full" : {
43962 "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.",
43963 "optional" : "1",
43964 "type" : "boolean",
43965 "typetext" : "<boolean>"
43966 },
43967 "purge" : {
43968 "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
43969 "optional" : "1",
43970 "type" : "boolean",
43971 "typetext" : "<boolean>"
43972 },
43973 "realm" : {
43974 "description" : "Authentication domain ID",
43975 "format" : "pve-realm",
43976 "maxLength" : 32,
43977 "type" : "string",
43978 "typetext" : "<string>"
43979 },
43980 "scope" : {
43981 "description" : "Select what to sync.",
43982 "enum" : [
43983 "users",
43984 "groups",
43985 "both"
43986 ],
43987 "optional" : "1",
43988 "type" : "string"
43989 }
43990 }
43991 },
43992 "permissions" : {
43993 "check" : [
43994 "and",
43995 [
43996 "userid-param",
43997 "Realm.AllocateUser"
43998 ],
43999 [
44000 "userid-group",
44001 [
44002 "User.Modify"
44003 ]
44004 ]
44005 ],
44006 "description" : "'Realm.AllocateUser' on '/access/realm/<realm>' and 'User.Modify' permissions to '/access/groups/'."
44007 },
44008 "protected" : 1,
44009 "returns" : {
44010 "description" : "Worker Task-UPID",
44011 "type" : "string"
44012 }
44013 }
44014 },
44015 "leaf" : 1,
44016 "path" : "/access/domains/{realm}/sync",
44017 "text" : "sync"
44018 }
44019 ],
56122987 44020 "info" : {
44660702 44021 "DELETE" : {
e9cd3bd4 44022 "allowtoken" : 1,
44660702
DM
44023 "description" : "Delete an authentication server.",
44024 "method" : "DELETE",
44025 "name" : "delete",
44026 "parameters" : {
44027 "additionalProperties" : 0,
44028 "properties" : {
44029 "realm" : {
44030 "description" : "Authentication domain ID",
44031 "format" : "pve-realm",
44032 "maxLength" : 32,
013dc89f
DM
44033 "type" : "string",
44034 "typetext" : "<string>"
56122987 44035 }
44660702 44036 }
56122987 44037 },
56122987
DM
44038 "permissions" : {
44039 "check" : [
44040 "perm",
7aacca6f 44041 "/access/realm",
56122987 44042 [
7aacca6f 44043 "Realm.Allocate"
56122987
DM
44044 ]
44045 ]
44046 },
7aacca6f 44047 "protected" : 1,
7aacca6f
DM
44048 "returns" : {
44049 "type" : "null"
44660702 44050 }
7aacca6f 44051 },
44660702 44052 "GET" : {
e9cd3bd4 44053 "allowtoken" : 1,
44660702
DM
44054 "description" : "Get auth server configuration.",
44055 "method" : "GET",
44056 "name" : "read",
56122987 44057 "parameters" : {
44660702 44058 "additionalProperties" : 0,
56122987 44059 "properties" : {
7aacca6f 44060 "realm" : {
44660702 44061 "description" : "Authentication domain ID",
7aacca6f
DM
44062 "format" : "pve-realm",
44063 "maxLength" : 32,
013dc89f
DM
44064 "type" : "string",
44065 "typetext" : "<string>"
56122987 44066 }
44660702 44067 }
7aacca6f 44068 },
7aacca6f
DM
44069 "permissions" : {
44070 "check" : [
44071 "perm",
44072 "/access/realm",
44073 [
44660702
DM
44074 "Realm.Allocate",
44075 "Sys.Audit"
44076 ],
44077 "any",
44078 1
7aacca6f 44079 ]
44660702
DM
44080 },
44081 "returns" : {}
7aacca6f 44082 },
44660702 44083 "PUT" : {
e9cd3bd4 44084 "allowtoken" : 1,
44660702
DM
44085 "description" : "Update authentication server settings.",
44086 "method" : "PUT",
44087 "name" : "update",
7aacca6f 44088 "parameters" : {
44660702 44089 "additionalProperties" : 0,
7aacca6f 44090 "properties" : {
44660702
DM
44091 "base_dn" : {
44092 "description" : "LDAP base domain name",
44093 "maxLength" : 256,
44094 "optional" : 1,
44095 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44096 "type" : "string"
44097 },
4bd7df8b
DM
44098 "bind_dn" : {
44099 "description" : "LDAP bind domain name",
44100 "maxLength" : 256,
44101 "optional" : 1,
44102 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44103 "type" : "string"
44104 },
2489d6df
WB
44105 "capath" : {
44106 "default" : "/etc/ssl/certs",
44107 "description" : "Path to the CA certificate store",
44108 "optional" : 1,
44109 "type" : "string",
44110 "typetext" : "<string>"
44111 },
4772952b
TL
44112 "case-sensitive" : {
44113 "default" : 1,
44114 "description" : "username is case-sensitive",
44115 "optional" : 1,
44116 "type" : "boolean",
44117 "typetext" : "<boolean>"
44118 },
2489d6df
WB
44119 "cert" : {
44120 "description" : "Path to the client certificate",
44121 "optional" : 1,
44122 "type" : "string",
44123 "typetext" : "<string>"
44124 },
44125 "certkey" : {
44126 "description" : "Path to the client certificate key",
44127 "optional" : 1,
44128 "type" : "string",
44129 "typetext" : "<string>"
44130 },
44660702
DM
44131 "comment" : {
44132 "description" : "Description.",
44133 "maxLength" : 4096,
44134 "optional" : 1,
013dc89f
DM
44135 "type" : "string",
44136 "typetext" : "<string>"
44660702
DM
44137 },
44138 "default" : {
44139 "description" : "Use this as default realm",
44140 "optional" : 1,
013dc89f
DM
44141 "type" : "boolean",
44142 "typetext" : "<boolean>"
44660702
DM
44143 },
44144 "delete" : {
44145 "description" : "A list of settings you want to delete.",
44146 "format" : "pve-configid-list",
44147 "maxLength" : 4096,
44148 "optional" : 1,
013dc89f
DM
44149 "type" : "string",
44150 "typetext" : "<string>"
44660702
DM
44151 },
44152 "digest" : {
44153 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44154 "maxLength" : 40,
44155 "optional" : 1,
013dc89f
DM
44156 "type" : "string",
44157 "typetext" : "<string>"
44660702
DM
44158 },
44159 "domain" : {
44160 "description" : "AD domain name",
44161 "maxLength" : 256,
44162 "optional" : 1,
44163 "pattern" : "\\S+",
44164 "type" : "string"
44165 },
c5aa7e14
TL
44166 "filter" : {
44167 "description" : "LDAP filter for user sync.",
44168 "maxLength" : 2048,
44169 "optional" : 1,
44170 "type" : "string",
44171 "typetext" : "<string>"
44172 },
44173 "group_classes" : {
44174 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
44175 "description" : "The objectclasses for groups.",
44176 "format" : "ldap-simple-attr-list",
44177 "optional" : 1,
44178 "type" : "string",
44179 "typetext" : "<string>"
44180 },
44181 "group_dn" : {
44182 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
44183 "maxLength" : 256,
44184 "optional" : 1,
44185 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44186 "type" : "string"
44187 },
44188 "group_filter" : {
44189 "description" : "LDAP filter for group sync.",
44190 "maxLength" : 2048,
44191 "optional" : 1,
44192 "type" : "string",
44193 "typetext" : "<string>"
44194 },
44195 "group_name_attr" : {
44196 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
44197 "format" : "ldap-simple-attr",
44198 "maxLength" : 256,
44199 "optional" : 1,
44200 "type" : "string",
44201 "typetext" : "<string>"
44202 },
44203 "mode" : {
44204 "default" : "ldap",
44205 "description" : "LDAP protocol mode.",
44206 "enum" : [
44207 "ldap",
44208 "ldaps",
44209 "ldap+starttls"
44210 ],
44211 "optional" : 1,
44212 "type" : "string"
44213 },
44214 "password" : {
44215 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
44216 "optional" : 1,
44217 "type" : "string",
44218 "typetext" : "<string>"
44219 },
44660702
DM
44220 "port" : {
44221 "description" : "Server port.",
44222 "maximum" : 65535,
44223 "minimum" : 1,
44224 "optional" : 1,
4bd7df8b 44225 "type" : "integer",
013dc89f 44226 "typetext" : "<integer> (1 - 65535)"
44660702 44227 },
7aacca6f 44228 "realm" : {
7aacca6f
DM
44229 "description" : "Authentication domain ID",
44230 "format" : "pve-realm",
44660702 44231 "maxLength" : 32,
013dc89f
DM
44232 "type" : "string",
44233 "typetext" : "<string>"
44660702
DM
44234 },
44235 "secure" : {
c5aa7e14 44236 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
44660702 44237 "optional" : 1,
013dc89f
DM
44238 "type" : "boolean",
44239 "typetext" : "<boolean>"
44660702
DM
44240 },
44241 "server1" : {
44242 "description" : "Server IP address (or DNS name)",
44243 "format" : "address",
44244 "maxLength" : 256,
44245 "optional" : 1,
013dc89f
DM
44246 "type" : "string",
44247 "typetext" : "<string>"
44660702
DM
44248 },
44249 "server2" : {
44250 "description" : "Fallback Server IP address (or DNS name)",
44251 "format" : "address",
44252 "maxLength" : 256,
44253 "optional" : 1,
013dc89f
DM
44254 "type" : "string",
44255 "typetext" : "<string>"
44660702 44256 },
1c532546
TL
44257 "sslversion" : {
44258 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
44259 "enum" : [
44260 "tlsv1",
44261 "tlsv1_1",
44262 "tlsv1_2",
44263 "tlsv1_3"
44264 ],
44265 "optional" : 1,
44266 "type" : "string"
44267 },
c5aa7e14
TL
44268 "sync-defaults-options" : {
44269 "description" : "The default options for behavior of synchronizations.",
44270 "format" : "realm-sync-options",
44271 "optional" : 1,
44272 "type" : "string",
44273 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
44274 },
44275 "sync_attributes" : {
44276 "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.",
44277 "optional" : 1,
44278 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44279 "type" : "string"
44280 },
44660702
DM
44281 "tfa" : {
44282 "description" : "Use Two-factor authentication.",
44283 "format" : "pve-tfa-config",
44284 "maxLength" : 128,
44285 "optional" : 1,
013dc89f 44286 "type" : "string",
95895385 44287 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
44288 },
44289 "user_attr" : {
44290 "description" : "LDAP user attribute name",
44291 "maxLength" : 256,
44292 "optional" : 1,
44293 "pattern" : "\\S{2,}",
44294 "type" : "string"
2489d6df 44295 },
c5aa7e14
TL
44296 "user_classes" : {
44297 "default" : "inetorgperson, posixaccount, person, user",
44298 "description" : "The objectclasses for users.",
44299 "format" : "ldap-simple-attr-list",
44300 "optional" : 1,
44301 "type" : "string",
44302 "typetext" : "<string>"
44303 },
2489d6df
WB
44304 "verify" : {
44305 "default" : 0,
44306 "description" : "Verify the server's SSL certificate",
44307 "optional" : 1,
44308 "type" : "boolean",
44309 "typetext" : "<boolean>"
7aacca6f 44310 }
56122987 44311 },
44660702 44312 "type" : "object"
56122987 44313 },
7aacca6f
DM
44314 "permissions" : {
44315 "check" : [
44316 "perm",
44317 "/access/realm",
44318 [
44660702
DM
44319 "Realm.Allocate"
44320 ]
7aacca6f
DM
44321 ]
44322 },
44660702
DM
44323 "protected" : 1,
44324 "returns" : {
44325 "type" : "null"
44326 }
56122987 44327 }
44660702 44328 },
c5aa7e14 44329 "leaf" : 0,
44660702
DM
44330 "path" : "/access/domains/{realm}",
44331 "text" : "{realm}"
56122987 44332 }
7aacca6f 44333 ],
56122987
DM
44334 "info" : {
44335 "GET" : {
e9cd3bd4 44336 "allowtoken" : 1,
44660702
DM
44337 "description" : "Authentication domain index.",
44338 "method" : "GET",
44339 "name" : "index",
44340 "parameters" : {
44341 "additionalProperties" : 0
44342 },
44343 "permissions" : {
44344 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
44345 "user" : "world"
44346 },
56122987 44347 "returns" : {
56122987
DM
44348 "items" : {
44349 "properties" : {
7aacca6f 44350 "comment" : {
52e44c50 44351 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
44352 "optional" : 1,
44353 "type" : "string"
44354 },
56122987
DM
44355 "realm" : {
44356 "type" : "string"
44357 },
44358 "tfa" : {
7aacca6f 44359 "description" : "Two-factor authentication provider.",
56122987
DM
44360 "enum" : [
44361 "yubico",
44362 "oath"
44363 ],
44660702
DM
44364 "optional" : 1,
44365 "type" : "string"
c5aa7e14
TL
44366 },
44367 "type" : {
44368 "type" : "string"
56122987
DM
44369 }
44370 },
44371 "type" : "object"
44660702
DM
44372 },
44373 "links" : [
44374 {
44375 "href" : "{realm}",
44376 "rel" : "child"
44377 }
44378 ],
44379 "type" : "array"
44380 }
56122987
DM
44381 },
44382 "POST" : {
e9cd3bd4 44383 "allowtoken" : 1,
7aacca6f 44384 "description" : "Add an authentication server.",
44660702 44385 "method" : "POST",
7aacca6f 44386 "name" : "create",
56122987 44387 "parameters" : {
44660702 44388 "additionalProperties" : 0,
56122987 44389 "properties" : {
44660702
DM
44390 "base_dn" : {
44391 "description" : "LDAP base domain name",
56122987 44392 "maxLength" : 256,
44660702
DM
44393 "optional" : 1,
44394 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 44395 "type" : "string"
56122987 44396 },
4bd7df8b
DM
44397 "bind_dn" : {
44398 "description" : "LDAP bind domain name",
44399 "maxLength" : 256,
44400 "optional" : 1,
44401 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44402 "type" : "string"
44403 },
2489d6df
WB
44404 "capath" : {
44405 "default" : "/etc/ssl/certs",
44406 "description" : "Path to the CA certificate store",
44407 "optional" : 1,
44408 "type" : "string",
44409 "typetext" : "<string>"
44410 },
4772952b
TL
44411 "case-sensitive" : {
44412 "default" : 1,
44413 "description" : "username is case-sensitive",
44414 "optional" : 1,
44415 "type" : "boolean",
44416 "typetext" : "<boolean>"
44417 },
2489d6df
WB
44418 "cert" : {
44419 "description" : "Path to the client certificate",
44420 "optional" : 1,
44421 "type" : "string",
44422 "typetext" : "<string>"
44423 },
44424 "certkey" : {
44425 "description" : "Path to the client certificate key",
44426 "optional" : 1,
44427 "type" : "string",
44428 "typetext" : "<string>"
44429 },
44660702
DM
44430 "comment" : {
44431 "description" : "Description.",
44432 "maxLength" : 4096,
56122987 44433 "optional" : 1,
013dc89f
DM
44434 "type" : "string",
44435 "typetext" : "<string>"
56122987 44436 },
44660702
DM
44437 "default" : {
44438 "description" : "Use this as default realm",
7aacca6f 44439 "optional" : 1,
013dc89f
DM
44440 "type" : "boolean",
44441 "typetext" : "<boolean>"
56122987 44442 },
44660702
DM
44443 "domain" : {
44444 "description" : "AD domain name",
44445 "maxLength" : 256,
7aacca6f 44446 "optional" : 1,
44660702
DM
44447 "pattern" : "\\S+",
44448 "type" : "string"
56122987 44449 },
c5aa7e14
TL
44450 "filter" : {
44451 "description" : "LDAP filter for user sync.",
44452 "maxLength" : 2048,
44453 "optional" : 1,
44454 "type" : "string",
44455 "typetext" : "<string>"
44456 },
44457 "group_classes" : {
44458 "default" : "groupOfNames, group, univentionGroup, ipausergroup",
44459 "description" : "The objectclasses for groups.",
44460 "format" : "ldap-simple-attr-list",
44461 "optional" : 1,
44462 "type" : "string",
44463 "typetext" : "<string>"
44464 },
44465 "group_dn" : {
44466 "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
44467 "maxLength" : 256,
44468 "optional" : 1,
44469 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44470 "type" : "string"
44471 },
44472 "group_filter" : {
44473 "description" : "LDAP filter for group sync.",
44474 "maxLength" : 2048,
44475 "optional" : 1,
44476 "type" : "string",
44477 "typetext" : "<string>"
44478 },
44479 "group_name_attr" : {
44480 "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
44481 "format" : "ldap-simple-attr",
44482 "maxLength" : 256,
44483 "optional" : 1,
44484 "type" : "string",
44485 "typetext" : "<string>"
44486 },
44487 "mode" : {
44488 "default" : "ldap",
44489 "description" : "LDAP protocol mode.",
44490 "enum" : [
44491 "ldap",
44492 "ldaps",
44493 "ldap+starttls"
44494 ],
44495 "optional" : 1,
44496 "type" : "string"
44497 },
44498 "password" : {
44499 "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
44500 "optional" : 1,
44501 "type" : "string",
44502 "typetext" : "<string>"
44503 },
7aacca6f 44504 "port" : {
44660702 44505 "description" : "Server port.",
7aacca6f 44506 "maximum" : 65535,
44660702 44507 "minimum" : 1,
7aacca6f 44508 "optional" : 1,
4bd7df8b 44509 "type" : "integer",
013dc89f 44510 "typetext" : "<integer> (1 - 65535)"
56122987 44511 },
44660702
DM
44512 "realm" : {
44513 "description" : "Authentication domain ID",
44514 "format" : "pve-realm",
44515 "maxLength" : 32,
013dc89f
DM
44516 "type" : "string",
44517 "typetext" : "<string>"
44660702
DM
44518 },
44519 "secure" : {
c5aa7e14 44520 "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
7aacca6f 44521 "optional" : 1,
013dc89f
DM
44522 "type" : "boolean",
44523 "typetext" : "<boolean>"
56122987 44524 },
44660702
DM
44525 "server1" : {
44526 "description" : "Server IP address (or DNS name)",
44527 "format" : "address",
44528 "maxLength" : 256,
44529 "optional" : 1,
013dc89f
DM
44530 "type" : "string",
44531 "typetext" : "<string>"
56122987 44532 },
44660702
DM
44533 "server2" : {
44534 "description" : "Fallback Server IP address (or DNS name)",
44535 "format" : "address",
7aacca6f 44536 "maxLength" : 256,
7aacca6f 44537 "optional" : 1,
013dc89f
DM
44538 "type" : "string",
44539 "typetext" : "<string>"
7aacca6f 44540 },
1c532546
TL
44541 "sslversion" : {
44542 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
44543 "enum" : [
44544 "tlsv1",
44545 "tlsv1_1",
44546 "tlsv1_2",
44547 "tlsv1_3"
44548 ],
44549 "optional" : 1,
44550 "type" : "string"
44551 },
c5aa7e14
TL
44552 "sync-defaults-options" : {
44553 "description" : "The default options for behavior of synchronizations.",
44554 "format" : "realm-sync-options",
44555 "optional" : 1,
44556 "type" : "string",
44557 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
44558 },
44559 "sync_attributes" : {
44560 "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.",
44561 "optional" : 1,
44562 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
44563 "type" : "string"
44564 },
44660702
DM
44565 "tfa" : {
44566 "description" : "Use Two-factor authentication.",
44567 "format" : "pve-tfa-config",
44568 "maxLength" : 128,
44569 "optional" : 1,
013dc89f 44570 "type" : "string",
95895385 44571 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44660702
DM
44572 },
44573 "type" : {
44574 "description" : "Realm type.",
44575 "enum" : [
44576 "ad",
44577 "ldap",
44578 "pam",
44579 "pve"
44580 ],
44581 "type" : "string"
44582 },
44583 "user_attr" : {
44584 "description" : "LDAP user attribute name",
7aacca6f 44585 "maxLength" : 256,
7aacca6f 44586 "optional" : 1,
44660702
DM
44587 "pattern" : "\\S{2,}",
44588 "type" : "string"
2489d6df 44589 },
c5aa7e14
TL
44590 "user_classes" : {
44591 "default" : "inetorgperson, posixaccount, person, user",
44592 "description" : "The objectclasses for users.",
44593 "format" : "ldap-simple-attr-list",
44594 "optional" : 1,
44595 "type" : "string",
44596 "typetext" : "<string>"
44597 },
2489d6df
WB
44598 "verify" : {
44599 "default" : 0,
44600 "description" : "Verify the server's SSL certificate",
44601 "optional" : 1,
44602 "type" : "boolean",
44603 "typetext" : "<boolean>"
7aacca6f
DM
44604 }
44605 },
7aacca6f 44606 "type" : "object"
56122987 44607 },
7aacca6f
DM
44608 "permissions" : {
44609 "check" : [
44610 "perm",
44611 "/access/realm",
44612 [
44613 "Realm.Allocate"
44614 ]
44615 ]
44660702
DM
44616 },
44617 "protected" : 1,
44618 "returns" : {
44619 "type" : "null"
7aacca6f 44620 }
56122987 44621 }
7aacca6f 44622 },
44660702 44623 "leaf" : 0,
56122987 44624 "path" : "/access/domains",
44660702 44625 "text" : "domains"
56122987
DM
44626 },
44627 {
56122987 44628 "info" : {
44660702 44629 "GET" : {
e9cd3bd4 44630 "allowtoken" : 1,
2489d6df 44631 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
44632 "method" : "GET",
44633 "name" : "get_ticket",
44634 "parameters" : {
44635 "additionalProperties" : 0
44636 },
44637 "permissions" : {
44638 "user" : "world"
44639 },
44640 "returns" : {
44641 "type" : "null"
44642 }
44643 },
56122987 44644 "POST" : {
e9cd3bd4 44645 "allowtoken" : 0,
44660702 44646 "description" : "Create or verify authentication ticket.",
56122987 44647 "method" : "POST",
44660702
DM
44648 "name" : "create_ticket",
44649 "parameters" : {
44650 "additionalProperties" : 0,
56122987 44651 "properties" : {
44660702
DM
44652 "otp" : {
44653 "description" : "One-time password for Two-factor authentication.",
7aacca6f 44654 "optional" : 1,
013dc89f
DM
44655 "type" : "string",
44656 "typetext" : "<string>"
56122987 44657 },
7aacca6f
DM
44658 "password" : {
44659 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
44660 "type" : "string",
44661 "typetext" : "<string>"
7aacca6f 44662 },
44660702
DM
44663 "path" : {
44664 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 44665 "maxLength" : 64,
56122987 44666 "optional" : 1,
56122987 44667 "requires" : "privs",
013dc89f
DM
44668 "type" : "string",
44669 "typetext" : "<string>"
44660702
DM
44670 },
44671 "privs" : {
7aacca6f 44672 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
44673 "format" : "pve-priv-list",
44674 "maxLength" : 64,
56122987 44675 "optional" : 1,
44660702 44676 "requires" : "path",
013dc89f
DM
44677 "type" : "string",
44678 "typetext" : "<string>"
56122987
DM
44679 },
44680 "realm" : {
56122987 44681 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 44682 "format" : "pve-realm",
7aacca6f 44683 "maxLength" : 32,
44660702 44684 "optional" : 1,
013dc89f
DM
44685 "type" : "string",
44686 "typetext" : "<string>"
56122987
DM
44687 },
44688 "username" : {
44689 "description" : "User name",
44660702 44690 "maxLength" : 64,
013dc89f
DM
44691 "type" : "string",
44692 "typetext" : "<string>"
56122987 44693 }
44660702 44694 }
7aacca6f 44695 },
56122987 44696 "permissions" : {
44660702 44697 "description" : "You need to pass valid credientials.",
56122987
DM
44698 "user" : "world"
44699 },
44660702 44700 "protected" : 1,
7aacca6f 44701 "returns" : {
56122987 44702 "properties" : {
44660702
DM
44703 "CSRFPreventionToken" : {
44704 "optional" : 1,
44705 "type" : "string"
56122987 44706 },
e2d681b3
TL
44707 "clustername" : {
44708 "optional" : 1,
44709 "type" : "string"
44710 },
44660702
DM
44711 "ticket" : {
44712 "optional" : 1,
44713 "type" : "string"
44714 },
44715 "username" : {
56122987
DM
44716 "type" : "string"
44717 }
44718 },
44660702 44719 "type" : "object"
7aacca6f 44720 }
7aacca6f
DM
44721 }
44722 },
44660702
DM
44723 "leaf" : 1,
44724 "path" : "/access/ticket",
44725 "text" : "ticket"
7aacca6f 44726 },
56122987 44727 {
56122987 44728 "info" : {
7aacca6f 44729 "PUT" : {
e9cd3bd4 44730 "allowtoken" : 0,
44660702 44731 "description" : "Change user password.",
7aacca6f 44732 "method" : "PUT",
e2d681b3 44733 "name" : "change_password",
56122987
DM
44734 "parameters" : {
44735 "additionalProperties" : 0,
44736 "properties" : {
44660702
DM
44737 "password" : {
44738 "description" : "The new password.",
44739 "maxLength" : 64,
44740 "minLength" : 5,
013dc89f
DM
44741 "type" : "string",
44742 "typetext" : "<string>"
7aacca6f 44743 },
44660702
DM
44744 "userid" : {
44745 "description" : "User ID",
44746 "format" : "pve-userid",
44747 "maxLength" : 64,
013dc89f
DM
44748 "type" : "string",
44749 "typetext" : "<string>"
56122987 44750 }
7aacca6f 44751 }
56122987
DM
44752 },
44753 "permissions" : {
44754 "check" : [
44660702 44755 "or",
56122987 44756 [
44660702
DM
44757 "userid-param",
44758 "self"
44759 ],
44760 [
44761 "and",
44762 [
44763 "userid-param",
44764 "Realm.AllocateUser"
44765 ],
44766 [
44767 "userid-group",
44768 [
44769 "User.Modify"
44770 ]
44771 ]
56122987 44772 ]
7aacca6f 44773 ],
44660702 44774 "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 44775 },
44660702 44776 "protected" : 1,
7aacca6f
DM
44777 "returns" : {
44778 "type" : "null"
44660702
DM
44779 }
44780 }
44781 },
44782 "leaf" : 1,
44783 "path" : "/access/password",
44784 "text" : "password"
95895385
TL
44785 },
44786 {
44787 "info" : {
44788 "POST" : {
e9cd3bd4 44789 "allowtoken" : 0,
95895385
TL
44790 "description" : "Finish a u2f challenge.",
44791 "method" : "POST",
44792 "name" : "verify_tfa",
44793 "parameters" : {
44794 "additionalProperties" : 0,
44795 "properties" : {
44796 "response" : {
44797 "description" : "The response to the current authentication challenge.",
44798 "type" : "string",
44799 "typetext" : "<string>"
44800 }
44801 }
44802 },
44803 "permissions" : {
44804 "user" : "all"
44805 },
44806 "protected" : 1,
44807 "returns" : {
44808 "properties" : {
44809 "ticket" : {
44810 "type" : "string"
44811 }
44812 },
44813 "type" : "object"
44814 }
44815 },
44816 "PUT" : {
e9cd3bd4 44817 "allowtoken" : 0,
95895385
TL
44818 "description" : "Change user u2f authentication.",
44819 "method" : "PUT",
44820 "name" : "change_tfa",
44821 "parameters" : {
44822 "additionalProperties" : 0,
44823 "properties" : {
44824 "action" : {
44825 "description" : "The action to perform",
44826 "enum" : [
44827 "delete",
44828 "new",
44829 "confirm"
44830 ],
44831 "type" : "string"
44832 },
44833 "config" : {
44834 "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
44835 "format" : "pve-tfa-config",
44836 "maxLength" : 128,
44837 "optional" : 1,
44838 "type" : "string",
44839 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
44840 },
44841 "key" : {
44842 "description" : "When adding TOTP, the shared secret value.",
1c532546 44843 "format" : "pve-tfa-secret",
95895385 44844 "optional" : 1,
1c532546
TL
44845 "type" : "string",
44846 "typetext" : "<string>"
95895385
TL
44847 },
44848 "password" : {
44849 "description" : "The current password.",
44850 "maxLength" : 64,
44851 "minLength" : 5,
44852 "optional" : 1,
44853 "type" : "string",
44854 "typetext" : "<string>"
44855 },
44856 "response" : {
44857 "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
44858 "optional" : 1,
44859 "type" : "string",
44860 "typetext" : "<string>"
44861 },
44862 "userid" : {
44863 "description" : "User ID",
44864 "format" : "pve-userid",
44865 "maxLength" : 64,
44866 "type" : "string",
44867 "typetext" : "<string>"
44868 }
44869 }
44870 },
44871 "permissions" : {
44872 "check" : [
44873 "or",
44874 [
44875 "userid-param",
44876 "self"
44877 ],
44878 [
44879 "and",
44880 [
44881 "userid-param",
44882 "Realm.AllocateUser"
44883 ],
44884 [
44885 "userid-group",
44886 [
44887 "User.Modify"
44888 ]
44889 ]
44890 ]
44891 ],
44892 "description" : "A user can change their own u2f or totp token."
44893 },
44894 "protected" : 1,
44895 "returns" : {
44896 "type" : "object"
44897 }
44898 }
44899 },
44900 "leaf" : 1,
44901 "path" : "/access/tfa",
44902 "text" : "tfa"
e9cd3bd4
TL
44903 },
44904 {
44905 "info" : {
44906 "GET" : {
44907 "allowtoken" : 1,
44908 "description" : "Retrieve effective permissions of given user/token.",
44909 "method" : "GET",
44910 "name" : "permissions",
44911 "parameters" : {
44912 "additionalProperties" : 0,
44913 "properties" : {
44914 "path" : {
44915 "description" : "Only dump this specific path, not the whole tree.",
44916 "optional" : 1,
44917 "type" : "string",
44918 "typetext" : "<string>"
44919 },
44920 "userid" : {
44921 "description" : "User ID or full API token ID",
44922 "optional" : 1,
44923 "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
44924 "type" : "string"
44925 }
44926 }
44927 },
44928 "permissions" : {
44929 "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.",
44930 "user" : "all"
44931 },
44932 "returns" : {
44933 "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
44934 "type" : "object"
44935 }
44936 }
44937 },
44938 "leaf" : 1,
44939 "path" : "/access/permissions",
44940 "text" : "permissions"
44660702
DM
44941 }
44942 ],
44943 "info" : {
44944 "GET" : {
e9cd3bd4 44945 "allowtoken" : 1,
44660702
DM
44946 "description" : "Directory index.",
44947 "method" : "GET",
44948 "name" : "index",
44949 "parameters" : {
44950 "additionalProperties" : 0
44951 },
44952 "permissions" : {
44953 "user" : "all"
44954 },
44955 "returns" : {
44956 "items" : {
44957 "properties" : {
44958 "subdir" : {
44959 "type" : "string"
44960 }
7aacca6f 44961 },
44660702
DM
44962 "type" : "object"
44963 },
44964 "links" : [
44965 {
44966 "href" : "{subdir}",
44967 "rel" : "child"
44968 }
44969 ],
44970 "type" : "array"
44971 }
44972 }
44973 },
44974 "leaf" : 0,
44975 "path" : "/access",
44976 "text" : "access"
44977 },
44978 {
44979 "children" : [
44980 {
44981 "info" : {
44982 "DELETE" : {
e9cd3bd4 44983 "allowtoken" : 1,
7aacca6f 44984 "description" : "Delete pool.",
44660702
DM
44985 "method" : "DELETE",
44986 "name" : "delete_pool",
7aacca6f
DM
44987 "parameters" : {
44988 "additionalProperties" : 0,
44989 "properties" : {
44990 "poolid" : {
44991 "format" : "pve-poolid",
013dc89f
DM
44992 "type" : "string",
44993 "typetext" : "<string>"
7aacca6f
DM
44994 }
44995 }
44996 },
56122987
DM
44997 "permissions" : {
44998 "check" : [
44999 "perm",
45000 "/pool/{poolid}",
45001 [
45002 "Pool.Allocate"
45003 ]
44660702
DM
45004 ],
45005 "description" : "You can only delete empty pools (no members)."
45006 },
45007 "protected" : 1,
45008 "returns" : {
45009 "type" : "null"
7aacca6f
DM
45010 }
45011 },
45012 "GET" : {
e9cd3bd4 45013 "allowtoken" : 1,
7aacca6f 45014 "description" : "Get pool configuration.",
44660702 45015 "method" : "GET",
7aacca6f 45016 "name" : "read_pool",
56122987 45017 "parameters" : {
44660702 45018 "additionalProperties" : 0,
56122987
DM
45019 "properties" : {
45020 "poolid" : {
44660702 45021 "format" : "pve-poolid",
013dc89f
DM
45022 "type" : "string",
45023 "typetext" : "<string>"
56122987 45024 }
44660702 45025 }
56122987 45026 },
56122987 45027 "permissions" : {
56122987
DM
45028 "check" : [
45029 "perm",
45030 "/pool/{poolid}",
45031 [
45032 "Pool.Allocate"
45033 ]
45034 ]
45035 },
7aacca6f 45036 "returns" : {
44660702 45037 "additionalProperties" : 0,
56122987 45038 "properties" : {
44660702
DM
45039 "comment" : {
45040 "optional" : 1,
45041 "type" : "string"
45042 },
7aacca6f 45043 "members" : {
7aacca6f
DM
45044 "items" : {
45045 "additionalProperties" : 1,
7aacca6f 45046 "properties" : {
7aacca6f
DM
45047 "id" : {
45048 "type" : "string"
45049 },
45050 "node" : {
45051 "type" : "string"
45052 },
44660702
DM
45053 "storage" : {
45054 "optional" : 1,
45055 "type" : "string"
45056 },
7aacca6f 45057 "type" : {
7aacca6f
DM
45058 "enum" : [
45059 "qemu",
45060 "lxc",
45061 "openvz",
45062 "storage"
44660702
DM
45063 ],
45064 "type" : "string"
45065 },
45066 "vmid" : {
45067 "optional" : 1,
45068 "type" : "integer"
7aacca6f 45069 }
44660702
DM
45070 },
45071 "type" : "object"
45072 },
45073 "type" : "array"
45074 }
45075 },
45076 "type" : "object"
45077 }
45078 },
45079 "PUT" : {
e9cd3bd4 45080 "allowtoken" : 1,
44660702
DM
45081 "description" : "Update pool data.",
45082 "method" : "PUT",
45083 "name" : "update_pool",
45084 "parameters" : {
45085 "additionalProperties" : 0,
45086 "properties" : {
56122987
DM
45087 "comment" : {
45088 "optional" : 1,
013dc89f
DM
45089 "type" : "string",
45090 "typetext" : "<string>"
44660702
DM
45091 },
45092 "delete" : {
45093 "description" : "Remove vms/storage (instead of adding it).",
45094 "optional" : 1,
013dc89f
DM
45095 "type" : "boolean",
45096 "typetext" : "<boolean>"
44660702
DM
45097 },
45098 "poolid" : {
45099 "format" : "pve-poolid",
013dc89f
DM
45100 "type" : "string",
45101 "typetext" : "<string>"
44660702
DM
45102 },
45103 "storage" : {
45104 "description" : "List of storage IDs.",
45105 "format" : "pve-storage-id-list",
45106 "optional" : 1,
013dc89f
DM
45107 "type" : "string",
45108 "typetext" : "<string>"
44660702
DM
45109 },
45110 "vms" : {
45111 "description" : "List of virtual machines.",
45112 "format" : "pve-vmid-list",
45113 "optional" : 1,
013dc89f
DM
45114 "type" : "string",
45115 "typetext" : "<string>"
56122987 45116 }
44660702
DM
45117 }
45118 },
45119 "permissions" : {
45120 "check" : [
45121 "perm",
45122 "/pool/{poolid}",
45123 [
45124 "Pool.Allocate"
45125 ]
45126 ],
45127 "description" : "You also need the right to modify permissions on any object you add/delete."
45128 },
45129 "protected" : 1,
45130 "returns" : {
45131 "type" : "null"
56122987
DM
45132 }
45133 }
45134 },
44660702
DM
45135 "leaf" : 1,
45136 "path" : "/pools/{poolid}",
7aacca6f 45137 "text" : "{poolid}"
56122987 45138 }
7aacca6f 45139 ],
56122987
DM
45140 "info" : {
45141 "GET" : {
e9cd3bd4 45142 "allowtoken" : 1,
44660702
DM
45143 "description" : "Pool index.",
45144 "method" : "GET",
45145 "name" : "index",
45146 "parameters" : {
45147 "additionalProperties" : 0
45148 },
45149 "permissions" : {
45150 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
45151 "user" : "all"
45152 },
56122987 45153 "returns" : {
44660702
DM
45154 "items" : {
45155 "properties" : {
45156 "poolid" : {
45157 "type" : "string"
45158 }
56122987 45159 },
44660702
DM
45160 "type" : "object"
45161 },
45162 "links" : [
45163 {
45164 "href" : "{poolid}",
45165 "rel" : "child"
45166 }
45167 ],
45168 "type" : "array"
45169 }
45170 },
45171 "POST" : {
e9cd3bd4 45172 "allowtoken" : 1,
44660702
DM
45173 "description" : "Create new pool.",
45174 "method" : "POST",
45175 "name" : "create_pool",
45176 "parameters" : {
45177 "additionalProperties" : 0,
45178 "properties" : {
45179 "comment" : {
45180 "optional" : 1,
013dc89f
DM
45181 "type" : "string",
45182 "typetext" : "<string>"
7aacca6f 45183 },
44660702
DM
45184 "poolid" : {
45185 "format" : "pve-poolid",
013dc89f
DM
45186 "type" : "string",
45187 "typetext" : "<string>"
56122987
DM
45188 }
45189 }
45190 },
56122987 45191 "permissions" : {
44660702
DM
45192 "check" : [
45193 "perm",
45194 "/pool/{poolid}",
45195 [
45196 "Pool.Allocate"
45197 ]
45198 ]
56122987 45199 },
44660702
DM
45200 "protected" : 1,
45201 "returns" : {
45202 "type" : "null"
45203 }
45204 }
45205 },
45206 "leaf" : 0,
45207 "path" : "/pools",
45208 "text" : "pools"
45209 },
45210 {
45211 "info" : {
45212 "GET" : {
e9cd3bd4 45213 "allowtoken" : 1,
44660702
DM
45214 "description" : "API version details. The result also includes the global datacenter confguration.",
45215 "method" : "GET",
45216 "name" : "version",
7aacca6f
DM
45217 "parameters" : {
45218 "additionalProperties" : 0
45219 },
44660702
DM
45220 "permissions" : {
45221 "user" : "all"
45222 },
45223 "returns" : {
45224 "properties" : {
45225 "release" : {
45226 "type" : "string"
45227 },
45228 "repoid" : {
45229 "type" : "string"
45230 },
45231 "version" : {
45232 "type" : "string"
45233 }
45234 },
45235 "type" : "object"
45236 }
56122987
DM
45237 }
45238 },
44660702
DM
45239 "leaf" : 1,
45240 "path" : "/version",
56122987
DM
45241 "text" : "version"
45242 }
45243]
45244;
45245